safecheck-client 3.0.33-99 → 3.0.34-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/android.html +18 -18
  4. package/build/css-loaders.js +34 -34
  5. package/build/dev-android.js +151 -151
  6. package/build/dev-client.js +8 -8
  7. package/build/release.sh +28 -28
  8. package/build/utils.js +71 -71
  9. package/build/webpack.baseandroid.conf.js +83 -83
  10. package/build/webpack.devandroid.conf.js +33 -33
  11. package/build/webpack.hanwei.conf.js +57 -57
  12. package/build/webpack.hwbase.conf.js +78 -78
  13. package/build/webpack.prodandroid.conf.js +60 -60
  14. package/build/webpack.test.conf.js +31 -31
  15. package/config/dev.env.js +6 -6
  16. package/config/index.js +38 -38
  17. package/config/prod.env.js +3 -3
  18. package/config/test.env.js +6 -6
  19. package/docs/AppBase.md +22 -22
  20. package/docs/Busy.md +14 -14
  21. package/docs/Criteria.md +47 -47
  22. package/docs/CriteriaPaged.md +47 -47
  23. package/docs/DataGrid.md +54 -54
  24. package/docs/DataModel.md +22 -22
  25. package/docs/Dynamic.md +42 -42
  26. package/docs/FormPrint.md +18 -18
  27. package/docs/GetParams.md +11 -11
  28. package/docs/GridTree.md +47 -47
  29. package/docs/HttpBusy.md +13 -13
  30. package/docs/HttpStore.md +29 -29
  31. package/docs/MessageBox.md +28 -28
  32. package/docs/PagedList.md +29 -29
  33. package/docs/Pager.md +21 -21
  34. package/docs/PrintFile.md +38 -38
  35. package/docs/Project.md +23 -23
  36. package/docs/Route.md +105 -105
  37. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  38. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  39. package/docs/Task.md +46 -46
  40. package/docs/TreeList.md +28 -28
  41. package/docs/TreeMixin.md +18 -18
  42. package/docs/all.md +10 -10
  43. package/docs/list.md +42 -42
  44. package/docs/partial.md +75 -75
  45. package/docs/selector.md +82 -82
  46. package/docs/tree.md +40 -40
  47. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  48. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  49. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  50. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  51. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  52. package/examples/AddressList/App.vue +13 -13
  53. package/examples/AddressList/index.html +11 -11
  54. package/examples/DispatchList/App.vue +10 -10
  55. package/examples/DispatchList/BaseTree.vue +13 -13
  56. package/examples/DispatchList/Init.vue +22 -22
  57. package/examples/DispatchList/Test.vue +20 -20
  58. package/examples/DispatchList/index.html +11 -11
  59. package/examples/DispatchList/main.js +18 -18
  60. package/home.html +16 -16
  61. package/package.json +3 -4
  62. package/publish.bat +7 -7
  63. package/release.bat +5 -5
  64. package/src/Widget.vue +13 -13
  65. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  66. package/src/android-bootstrap/less/.csscomb.json +304 -304
  67. package/src/android-bootstrap/less/.csslintrc +19 -19
  68. package/src/android-bootstrap/less/alerts.less +73 -73
  69. package/src/android-bootstrap/less/badges.less +66 -66
  70. package/src/android-bootstrap/less/bootstrap.less +56 -56
  71. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  72. package/src/android-bootstrap/less/button-groups.less +247 -247
  73. package/src/android-bootstrap/less/buttons.less +173 -173
  74. package/src/android-bootstrap/less/carousel.less +269 -269
  75. package/src/android-bootstrap/less/close.less +34 -34
  76. package/src/android-bootstrap/less/code.less +69 -69
  77. package/src/android-bootstrap/less/component-animations.less +33 -33
  78. package/src/android-bootstrap/less/grid.less +84 -84
  79. package/src/android-bootstrap/less/input-groups.less +167 -167
  80. package/src/android-bootstrap/less/jumbotron.less +52 -52
  81. package/src/android-bootstrap/less/labels.less +64 -64
  82. package/src/android-bootstrap/less/list-group.less +141 -141
  83. package/src/android-bootstrap/less/media.less +66 -66
  84. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  85. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  86. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  87. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  88. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  89. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  90. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  91. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  92. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  93. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  94. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  95. package/src/android-bootstrap/less/mixins/image.less +33 -33
  96. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  97. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  98. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  99. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  100. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  101. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  102. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  103. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  104. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  105. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  106. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  107. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  108. package/src/android-bootstrap/less/mixins/size.less +10 -10
  109. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  110. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  111. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  112. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  113. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  114. package/src/android-bootstrap/less/mixins.less +40 -40
  115. package/src/android-bootstrap/less/modals.less +151 -151
  116. package/src/android-bootstrap/less/navbar.less +660 -660
  117. package/src/android-bootstrap/less/navs.less +290 -290
  118. package/src/android-bootstrap/less/normalize.less +424 -424
  119. package/src/android-bootstrap/less/pager.less +76 -76
  120. package/src/android-bootstrap/less/pagination.less +89 -89
  121. package/src/android-bootstrap/less/panels.less +274 -274
  122. package/src/android-bootstrap/less/popovers.less +131 -131
  123. package/src/android-bootstrap/less/print.less +101 -101
  124. package/src/android-bootstrap/less/progress-bars.less +87 -87
  125. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  126. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  127. package/src/android-bootstrap/less/scaffolding.less +161 -161
  128. package/src/android-bootstrap/less/tables.less +262 -262
  129. package/src/android-bootstrap/less/theme.less +291 -291
  130. package/src/android-bootstrap/less/thumbnails.less +36 -36
  131. package/src/android-bootstrap/less/tooltip.less +102 -102
  132. package/src/android-bootstrap/less/type.less +303 -303
  133. package/src/android-bootstrap/less/utilities.less +55 -55
  134. package/src/android-bootstrap/less/variables.less +896 -896
  135. package/src/android-bootstrap/less/wells.less +29 -29
  136. package/src/androidTest.js +20 -20
  137. package/src/bootstrap/less/.csscomb.json +304 -304
  138. package/src/bootstrap/less/.csslintrc +19 -19
  139. package/src/bootstrap/less/alerts.less +73 -73
  140. package/src/bootstrap/less/badges.less +66 -66
  141. package/src/bootstrap/less/breadcrumbs.less +26 -26
  142. package/src/bootstrap/less/button-groups.less +247 -247
  143. package/src/bootstrap/less/buttons.less +172 -172
  144. package/src/bootstrap/less/carousel.less +269 -269
  145. package/src/bootstrap/less/close.less +34 -34
  146. package/src/bootstrap/less/code.less +69 -69
  147. package/src/bootstrap/less/component-animations.less +33 -33
  148. package/src/bootstrap/less/dropdowns.less +216 -216
  149. package/src/bootstrap/less/forms.less +626 -626
  150. package/src/bootstrap/less/grid.less +84 -84
  151. package/src/bootstrap/less/input-groups.less +167 -167
  152. package/src/bootstrap/less/jumbotron.less +52 -52
  153. package/src/bootstrap/less/labels.less +64 -64
  154. package/src/bootstrap/less/list-group.less +141 -141
  155. package/src/bootstrap/less/media.less +66 -66
  156. package/src/bootstrap/less/mixins/alerts.less +14 -14
  157. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  158. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  159. package/src/bootstrap/less/mixins/buttons.less +69 -69
  160. package/src/bootstrap/less/mixins/center-block.less +7 -7
  161. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  162. package/src/bootstrap/less/mixins/forms.less +90 -90
  163. package/src/bootstrap/less/mixins/gradients.less +59 -59
  164. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  165. package/src/bootstrap/less/mixins/grid.less +122 -122
  166. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  167. package/src/bootstrap/less/mixins/image.less +33 -33
  168. package/src/bootstrap/less/mixins/labels.less +12 -12
  169. package/src/bootstrap/less/mixins/list-group.less +30 -30
  170. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  171. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  172. package/src/bootstrap/less/mixins/opacity.less +8 -8
  173. package/src/bootstrap/less/mixins/pagination.less +24 -24
  174. package/src/bootstrap/less/mixins/panels.less +24 -24
  175. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  176. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  177. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  178. package/src/bootstrap/less/mixins/resize.less +6 -6
  179. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  180. package/src/bootstrap/less/mixins/size.less +10 -10
  181. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  182. package/src/bootstrap/less/mixins/table-row.less +44 -44
  183. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  184. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  185. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  186. package/src/bootstrap/less/mixins.less +40 -40
  187. package/src/bootstrap/less/modals.less +151 -151
  188. package/src/bootstrap/less/navbar.less +660 -660
  189. package/src/bootstrap/less/normalize.less +424 -424
  190. package/src/bootstrap/less/pager.less +76 -76
  191. package/src/bootstrap/less/pagination.less +89 -89
  192. package/src/bootstrap/less/panels.less +275 -275
  193. package/src/bootstrap/less/popovers.less +131 -131
  194. package/src/bootstrap/less/print.less +101 -101
  195. package/src/bootstrap/less/progress-bars.less +87 -87
  196. package/src/bootstrap/less/responsive-embed.less +35 -35
  197. package/src/bootstrap/less/responsive-utilities.less +194 -194
  198. package/src/bootstrap/less/scaffolding.less +161 -161
  199. package/src/bootstrap/less/theme.less +291 -291
  200. package/src/bootstrap/less/thumbnails.less +36 -36
  201. package/src/bootstrap/less/tooltip.less +102 -102
  202. package/src/bootstrap/less/type.less +303 -303
  203. package/src/bootstrap/less/utilities.less +55 -55
  204. package/src/bootstrap/less/wells.less +29 -29
  205. package/src/components/FileUpload.vue +696 -696
  206. package/src/components/Hello.vue +39 -39
  207. package/src/components/LeftTree.vue +27 -27
  208. package/src/components/Util/ImgSelfSafePlus.vue +7 -0
  209. package/src/components/Util.js +7 -0
  210. package/src/components/android/AddGas.vue +147 -147
  211. package/src/components/android/AddressList.vue +61 -61
  212. package/src/components/android/AreaPlan.vue +2 -1
  213. package/src/components/android/AttendanceTally.vue +116 -116
  214. package/src/components/android/Blank.vue +10 -10
  215. package/src/components/android/CheckUnplanPage.vue +56 -56
  216. package/src/components/android/Checker.vue +12 -12
  217. package/src/components/android/CheckerAnnual.vue +81 -81
  218. package/src/components/android/CheckerAvarta.vue +82 -82
  219. package/src/components/android/CheckerMonthly.vue +84 -84
  220. package/src/components/android/EquipmentInspection.vue +348 -348
  221. package/src/components/android/FootprintMap.vue +120 -120
  222. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  223. package/src/components/android/ImgSelfAndroid.vue +181 -181
  224. package/src/components/android/LcheckUnplan.vue +108 -108
  225. package/src/components/android/MasterMain.vue +77 -77
  226. package/src/components/android/Menu.vue +132 -132
  227. package/src/components/android/NavBottom.vue +157 -157
  228. package/src/components/android/PaperAlarm.vue +85 -85
  229. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  230. package/src/components/android/PlumberAnnual.vue +83 -83
  231. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  232. package/src/components/android/PlumberMonthly.vue +84 -84
  233. package/src/components/android/PostMap.vue +83 -83
  234. package/src/components/android/QueryCheckHistory.vue +122 -122
  235. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  236. package/src/components/android/RepairMain.vue +60 -60
  237. package/src/components/android/Repairman.vue +12 -12
  238. package/src/components/android/SafePlanItem.vue +14 -2
  239. package/src/components/android/SafecheckDevices.vue +3 -1
  240. package/src/components/android/SafecheckOrderV.vue +18 -12
  241. package/src/components/android/StationMaster.vue +12 -12
  242. package/src/components/android/SwitchValve.vue +1 -1
  243. package/src/components/checkerphonestate/Checker.vue +32 -32
  244. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  245. package/src/components/defects/AddDefectModal.vue +120 -120
  246. package/src/components/defects/AddDevice.vue +95 -95
  247. package/src/components/defects/DefectModal.vue +101 -101
  248. package/src/components/defects/DevicesAndItem.vue +39 -39
  249. package/src/components/defects/DevicesSeting.vue +106 -106
  250. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  251. package/src/components/map/checkScreen.vue +27 -21
  252. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  253. package/src/components/metterfiles/MetterFiles.vue +104 -104
  254. package/src/components/notice/NoticeForm.vue +100 -100
  255. package/src/components/notice/NoticeIssue.vue +20 -20
  256. package/src/components/notice/NoticeQuery.vue +76 -76
  257. package/src/components/paper/PicViewer.vue +18 -18
  258. package/src/components/paper/PlanChooser.vue +167 -167
  259. package/src/components/paper/RepairVerifyForm.vue +76 -76
  260. package/src/components/pc/NewCheckpaper.vue +11 -8
  261. package/src/components/phonestate/DailyTraffic.vue +57 -57
  262. package/src/components/phonestate/LastKnownState.vue +74 -74
  263. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  264. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  265. package/src/components/phonestate/PostMap.vue +82 -82
  266. package/src/components/planmanage/PlanManage.vue +843 -836
  267. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  268. package/src/components/rongcheng/AspiratedPaperFeedbackm.vue +2 -3
  269. package/src/components/rongcheng/PaperListNPSQ.vue +6 -5
  270. package/src/components/rongcheng/PaperListSQ.vue +1 -1
  271. package/src/components/safecheckNew/PaperList.vue +785 -0
  272. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -0
  273. package/src/components/safecheckNew/android/AreaPlan.vue +561 -0
  274. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -0
  275. package/src/components/safecheckNew/android/Recheck.vue +379 -0
  276. package/src/components/safecheckNew/android/SafecheckDevices.vue +1400 -0
  277. package/src/components/safecheckNew/android/SafecheckOrderV.vue +2731 -0
  278. package/src/components/task/RepairAnnual.vue +79 -79
  279. package/src/components/task/RepairAnnualDetail.vue +49 -49
  280. package/src/components/task/RepairMonthly.vue +91 -91
  281. package/src/components/task/TaskAnnual.vue +77 -77
  282. package/src/components/task/TaskAnnualDetail.vue +47 -47
  283. package/src/components/task/TaskMonthly.vue +89 -89
  284. package/src/components/userfile/MeterFile.vue +145 -145
  285. package/src/components/userfile/MeterModify.vue +46 -46
  286. package/src/components/userfile/UserFile.vue +118 -118
  287. package/src/components/userfile/UserfileChange.vue +277 -277
  288. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  289. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +633 -0
  290. package/src/filiale/baiyin/android.js +10 -0
  291. package/src/filiale/baiyin/pc/CheckPlanAreaList.vue +485 -0
  292. package/src/filiale/baiyin/pc/CheckSearchUser.vue +1067 -0
  293. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -0
  294. package/src/filiale/baiyin/pc/DefectMainNew.vue +63 -0
  295. package/src/filiale/baiyin/pc/DefectPaperNew.vue +1052 -0
  296. package/src/filiale/baiyin/pc/PaperList.vue +790 -0
  297. package/src/filiale/baiyin/pc/PlanChooser.vue +167 -0
  298. package/src/filiale/baiyin/pc/PlanManage.vue +834 -0
  299. package/src/filiale/baiyin/pc/RightTreeSafe.vue +348 -0
  300. package/src/filiale/baiyin/pc/RoleSelector.vue +160 -0
  301. package/src/filiale/baiyin/pc/checkUserList.vue +771 -0
  302. package/src/filiale/baiyin/pc.js +21 -0
  303. package/src/filiale/bayan/android/CheckPlanDown.vue +249 -0
  304. package/src/filiale/bayan/android/SafecheckOrderV.vue +15 -3
  305. package/src/filiale/bayan/android/SafecheckUserInfo.vue +34 -6
  306. package/src/filiale/bayan/android.js +1 -0
  307. package/src/filiale/bayan/pc/CheckDetail.vue +205 -0
  308. package/src/filiale/bayan/pc/CheckPlan.vue +59 -0
  309. package/src/filiale/bayan/pc/CheckPlanAreaList.vue +565 -0
  310. package/src/filiale/bayan/pc/CheckSearchUser.vue +1110 -0
  311. package/src/filiale/bayan/pc/DefectListNew.vue +597 -0
  312. package/src/filiale/bayan/pc/DefectMainNew.vue +63 -0
  313. package/src/filiale/bayan/pc/DefectPaperNew.vue +1218 -0
  314. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -0
  315. package/src/filiale/bayan/pc/HiddenSituation.vue +256 -0
  316. package/src/filiale/bayan/pc/NewCheckpaper.vue +31 -1
  317. package/src/filiale/bayan/pc/PaperList.vue +119 -12
  318. package/src/filiale/bayan/pc/PlanManage.vue +29 -8
  319. package/src/filiale/bayan/pc/SelectCheckPlan.vue +333 -0
  320. package/src/filiale/bayan/pc.js +7 -0
  321. package/src/filiale/dexin/android/SafecheckOrderV.vue +123 -24
  322. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +4 -4
  323. package/src/filiale/jiaxian/android/SafecheckDevices.vue +1298 -0
  324. package/src/filiale/jiaxian/android.js +10 -0
  325. package/src/filiale/jiaxian/pc.js +12 -0
  326. package/src/filiale/liaoyuan/pc/checkPlanList.vue +373 -373
  327. package/src/filiale/liaoyuan/pc.js +18 -18
  328. package/src/filiale/qianneng/pc/PaperList.vue +31 -1
  329. package/src/filiale/qingjian/android/PhoneUpUserinfo.vue +1270 -1268
  330. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2779
  331. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +5 -1
  332. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -0
  333. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -0
  334. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -0
  335. package/src/filiale/siyang/android.js +11 -0
  336. package/src/filiale/siyang/pc/NewCheckpaper.vue +1938 -0
  337. package/src/filiale/siyang/pc/PaperDefectMain.vue +864 -0
  338. package/src/filiale/siyang/pc/PaperList.vue +834 -0
  339. package/src/filiale/siyang/pc/PlanManage.vue +839 -0
  340. package/src/filiale/siyang/pc/checkUserList.vue +786 -0
  341. package/src/filiale/siyang/pc.js +16 -0
  342. package/src/filiale/tianke/pc/checkScreen.vue +27 -21
  343. package/src/filiale/tongchuan/android/PhoneUpUserinfo.vue +60 -2
  344. package/src/filiale/tongchuan/android/SafecheckOrderV.vue +2 -3
  345. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +1 -1
  346. package/src/filiale/weinan/android/SafecheckDevices.vue +2 -2
  347. package/src/filiale/weinan/android/SafecheckOrderV.vue +10 -0
  348. package/src/filiale/weinan/android/SafecheckUserInfo.vue +7 -2
  349. package/src/filiale/weinan/pc/DefectListNew.vue +617 -0
  350. package/src/filiale/weinan/pc/DefectMainNew.vue +1 -1
  351. package/src/filiale/weinan/pc.js +1 -0
  352. package/src/filiale/wenxi/android/CurrentCreate.vue +1 -1
  353. package/src/filiale/wenxi/android/PhoneUpUserinfo.vue +1 -1
  354. package/src/filiale/wenxi/android/SafecheckOrderV.vue +14 -0
  355. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +85 -63
  356. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1 -1
  357. package/src/filiale/yangchunboneng/android/CurrentCreate.vue +6 -2
  358. package/src/filiale/yangchunboneng/android/DailyworkloadQuery.vue +2 -2
  359. package/src/filiale/yangchunboneng/android/NewCheckpaperAndroid.vue +1362 -1362
  360. package/src/filiale/yangchunboneng/android/PaperFeedback.vue +1731 -1731
  361. package/src/filiale/yangchunboneng/android/PhoneUpUserinfo.vue +1235 -1235
  362. package/src/filiale/yangchunboneng/android/SafecheckDevices.vue +1332 -1332
  363. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2845 -2843
  364. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -879
  365. package/src/filiale/yangchunboneng/android/safeHistoryLook.vue +2 -1
  366. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +1192 -1192
  367. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +944 -849
  368. package/src/filiale/yongzhou/android/PaperFeedback.vue +1 -1
  369. package/src/filiale/yuansheng/android/AndroidDefectDeal.vue +652 -0
  370. package/src/filiale/yuansheng/android/SwitchValve.vue +322 -0
  371. package/src/filiale/yuansheng/android.js +2 -0
  372. package/src/main.js +33 -33
  373. package/src/plugins/LoadData.js +10 -10
  374. package/src/plugins/LoadParams.js +24 -24
  375. package/src/safecheck-android.js +6 -0
  376. package/src/safecheck.js +3 -0
  377. package/src/stores/wxconfig.js +10 -10
  378. package/src/utils/getNowDate.js +33 -33
  379. package/test/e2e/custom-assertions/elementCount.js +26 -26
  380. package/test/e2e/nightwatch.conf.js +40 -40
  381. package/test/e2e/runner.js +30 -30
  382. package/test/e2e/specs/test.js +13 -13
  383. package/test/unit/.eslintrc +5 -5
  384. package/test/unit/TestUtil.js +62 -62
  385. package/test/unit/context.html +20 -20
  386. package/test/unit/index.js +13 -13
@@ -0,0 +1,1110 @@
1
+ <template>
2
+ <div class="flex">
3
+ <criteria-paged v-ref:paged :model="model">
4
+ <criteria v-ref:criteria partial='criteria' @condition-changed='$parent.search'>
5
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
6
+ <div v-show="!$parent.$parent.$parent.showItem" class="row">
7
+ <div :class="$parent.$parent.style">
8
+ <label class="font_normal_body">用户编号</label>
9
+ <input id="f_userinfo_code" v-model="model.f_userinfo_code" class="input_search"
10
+ condition="f_userinfo_code like '%{}%'" placeholder="用户编号" style="width: 60%" type="text">
11
+ </div>
12
+ <div :class="$parent.$parent.style">
13
+ <label class="font_normal_body">用户姓名</label>
14
+ <input id="f_user_name" v-model="model.f_user_name" class="input_search"
15
+ condition="f_user_name like '%{}%'" placeholder="用户姓名" style="width: 60%" type="text">
16
+ </div>
17
+ <div :class="$parent.$parent.style">
18
+ <label class="font_normal_body">小&emsp;&emsp;区</label>
19
+ <input id="f_residential_area" v-model="model.f_residential_area" class="input_search"
20
+ condition="f_residential_area like '%{}%'" placeholder="小区" style="width: 60%" type="text">
21
+ </div>
22
+ <div :class="$parent.$parent.style">
23
+ <label class="font_normal_body">地&emsp;&emsp;址</label>
24
+ <input id="f_address" v-model="model.f_address" class="input_search" condition="f_address like '%{}%'"
25
+ placeholder="地址" style="width: 60%" type="text">
26
+ </div>
27
+ <div :class="$parent.$parent.style" style="width: auto;margin-top:8px;float: right">
28
+ <export-excel-safe :choose-col="true" :data="$parent.$parent.searchData"
29
+ :field="$parent.$parent.excelHeaders" sql-name="根据安检员查询用户档案" sqlurl="rs/logic/SafeExportExcel"
30
+ template-name='用户安检情况'></export-excel-safe>
31
+ <button class="button_search button_spacing" type="button" @click="search()">查询</button>
32
+ <div
33
+ :class="{ 'button_shrink_left': $parent.$parent.$parent.showItem, 'button_shrink_right': !$parent.$parent.$parent.showItem }"
34
+ class="button_spacing" style="float: right" @click="$parent.$parent.hiddenr()"></div>
35
+ <div
36
+ :class="{ 'button_shrink_top': $parent.$parent.criteriaShow, 'button_shrink_bottom': !$parent.$parent.criteriaShow }"
37
+ class="button_spacing" style="float: right" @click="$parent.$parent.hidden()">
38
+
39
+ </div>
40
+ </div>
41
+
42
+
43
+ </div>
44
+ <div v-show="!$parent.$parent.$parent.showItem" class="row">
45
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
46
+ <label class="font_normal_body">用户类型</label>
47
+ <v-select id="f_usertype" v-model="model.f_usertype" :options='$parent.$parent.usertypes'
48
+ :value-single="true" :value.sync="model.f_usertype" class="select select_list" clear-button
49
+ close-on-select condition="f_user_type = '{}'" placeholder='用户类型'></v-select>
50
+ </div>
51
+ <!-- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow && !$parent.$parent.$parent.showItem"></div>-->
52
+
53
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
54
+ <label class="font_normal_body" style="color: red;">安检筛选</label>
55
+ <v-select v-model="$parent.$parent.SafeCheckXZ" :options='$parent.$parent.SafeCheckXZs'
56
+ :value-single="true" :value.sync="$parent.$parent.SafeCheckXZ" class="select select_list" clear-button
57
+ close-on-select placeholder='安检筛选'></v-select>
58
+ </div>
59
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
60
+ <label class="font_normal_body">安检起始</label>
61
+ <datepicker v-model="model.f_check_start" :format="'yyyy-MM-dd 00:00:00'" :show-rest-button="reset"
62
+ :value.sync="model.f_check_start" placeholder='最后安检时间起始' style="width: 60%">
63
+ </datepicker>
64
+ </div>
65
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
66
+ <label class="font_normal_body">安检结束</label>
67
+ <datepicker v-model="model.f_check_end" :format="'yyyy-MM-dd 23:59:59'" :show-rest-button="reset"
68
+ :value.sync="model.f_check_end" placeholder='最后安检时间结束' style="width: 60%">
69
+ </datepicker>
70
+ </div>
71
+
72
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
73
+ <label class="font_normal_body">安检状态</label>
74
+ <v-select id="f_entry" :multiple="true" :options='$parent.$parent.checkstatus'
75
+ :value.sync="$parent.$parent.checkStates" class="select select_list" placeholder='安检状态'></v-select>
76
+ </div>
77
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
78
+ <label class="font_normal_body">隐患情况</label>
79
+ <v-select v-model='model.f_check_result' :options='$parent.$parent.f_check_results' :value-single="true"
80
+ :value.sync="model.f_check_result" class="select select_list" clear-button close-on-select
81
+ condition="f_defect_content like '%{}%'" placeholder='隐患情况'></v-select>
82
+ </div>
83
+ <!-- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow && !$parent.$parent.$parent.showItem"></div>-->
84
+ </div>
85
+ <div v-show="!$parent.$parent.$parent.showItem" class="row">
86
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
87
+ <label class="font_normal_body">区&emsp;&emsp;域</label>
88
+ <v-select v-model="model.f_quyu" :options='$parent.$parent.quyus' :value-single="true"
89
+ :value.sync="model.f_quyu" class="select_list select" close-on-select placeholder='区域'
90
+ style="width: 60%" @change="$parent.$parent.quyuChange">
91
+ </v-select>
92
+ </div>
93
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
94
+ <label class="font_normal_body">营&ensp;业&ensp;厅</label>
95
+ <v-select v-model="model.f_bumen" :options='$parent.$parent.bumens' :value-single="true"
96
+ :value.sync="model.f_bumen" class="select_list select" close-on-select placeholder='营业厅'
97
+ style="width: 60%" @change="$parent.$parent.bumenChange">
98
+ </v-select>
99
+ </div>
100
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
101
+ <label class="font_normal_body">小&emsp;&emsp;组</label>
102
+ <v-select v-model="model.f_team" :options='$parent.$parent.teams' :value-single="true"
103
+ :value.sync="model.f_team" class="select_list select" close-on-select placeholder='小组'
104
+ style="width: 60%" @change="$parent.$parent.teamChange">
105
+ </v-select>
106
+ </div>
107
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
108
+ <label class="font_normal_body">安&ensp;检&ensp;员</label>
109
+ <v-select v-model="model.f_checker_id" :multiple="true" :options='$parent.$parent.checkers'
110
+ :value.sync="model.f_checker_id" class="select_list select" close-on-select
111
+ condition="f_checker_name in {}" placeholder='安检员' style="width: 60%">
112
+ </v-select>
113
+ </div>
114
+ <!-- <div class="col-sm-4 form-group" v-show="$parent.$parent.criteriaShow" style="margin: 0">-->
115
+ <!-- <role-selector-safe-->
116
+ <!-- role-name="安检员"-->
117
+ <!-- role-lable="安&nbsp;检&nbsp;员&nbsp;"-->
118
+ <!-- @re-res="$parent.$parent.getRes"-->
119
+ <!-- :value.sync="model.f_checker_id"-->
120
+ <!-- v-model="model.f_checker_id"-->
121
+ <!-- :value-multiple="true"-->
122
+ <!-- condition=" f_checker_name in {}">-->
123
+ <!-- </role-selector-safe>-->
124
+ <!-- </div>-->
125
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
126
+ <label class="font_normal_body">片&emsp;&emsp;区</label>
127
+ <v-select v-model="model.f_slice_area" :options='$parent.$parent.sliceArea' :value-single="true"
128
+ :value.sync="model.f_slice_area" class="select_list select" clear-button close-on-select
129
+ condition="f_slice_area='{}'" filer-key="name" placeholder='片区/管理站' style="width: 60%"
130
+ @change="$parent.$parent.getmeterbook(model.f_slice_area)">
131
+ </v-select>
132
+ </div>
133
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
134
+ <label class="font_normal_body">抄&ensp;表&ensp;册</label>
135
+ <v-select v-model="model.f_meter_book_num" :options='$parent.$parent.cbc' :value-single="true"
136
+ :value.sync="model.f_meter_book_num" class="select_list select" clear-button close-on-select
137
+ condition="f_meter_book_num={}" filer-key="name" placeholder='抄表册' style="width: 60%">
138
+ </v-select>
139
+ </div>
140
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
141
+ <label class="font_normal_body">省&ensp;市&ensp;区</label>
142
+ <v-select v-model="model.f_pcd" :options='$parent.$parent.pcds' :value-single="true"
143
+ :value.sync="model.f_pcd" class="select_list select" clear-button close-on-select condition="f_pcd='{}'"
144
+ filer-key="name" placeholder='请选择' style="width: 60%">
145
+ </v-select>
146
+ </div>
147
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
148
+ <label class="font_normal_body">用户状态</label>
149
+ <v-select v-model="model.f_user_state" :options='$parent.$parent.userstates' :value-single="true"
150
+ :value.sync="model.f_user_state" class="select_list select" clear-button close-on-select
151
+ condition="f_user_state = '{}'" placeholder='用户状态' style="width: 60%">
152
+ </v-select>
153
+ </div>
154
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
155
+ <label class="font_normal_body">距上次安检天数</label>
156
+ <input v-model="model.f_check_date" class="input_search" placeholder="距上次安检天数" style="width: 60%"
157
+ type="number">
158
+ </div>
159
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
160
+ <label class="font_normal_body">到访不遇次数</label>
161
+ <input v-model="model.f_check_version" class="input_search" placeholder="到访不遇次数" style="width: 60%"
162
+ type="number">
163
+ </div>
164
+ <div :class="$parent.$parent.style" v-show="$parent.$parent.criteriaShow" >
165
+ <label class="font_normal_body">连续时间</label>
166
+ <datepicker
167
+ :value.sync="model.f_last_start"
168
+ placeholder='连续时间开始' style="width: 60%"
169
+ :disabled-days-of-week="[]"
170
+ :format="'yyyy-MM-dd'"
171
+ :show-rest-button="reset"
172
+ v-model="model.f_last_start"
173
+ >
174
+ </datepicker>
175
+ </div>
176
+ <div :class="$parent.$parent.style" v-show="$parent.$parent.criteriaShow" >
177
+ <label class="font_normal_body">连续时间</label>
178
+ <datepicker
179
+ :value.sync="model.f_last_end"
180
+ placeholder='连续时间结束' style="width: 60%"
181
+ :disabled-days-of-week="[]"
182
+ :format="'yyyy-MM-dd'"
183
+ :show-rest-button="reset"
184
+ v-model="model.f_last_end"
185
+ >
186
+ </datepicker>
187
+ </div>
188
+ </div>
189
+ <!-- <div v-show="!$parent.$parent.$parent.showItem" class="row">-->
190
+ <!-- <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">-->
191
+ <!-- <label class="font_normal_body">状态</label>-->
192
+ <!-- <v-select v-model="model.f_last_check_state"-->
193
+ <!-- :options='$parent.$parent.checkstatus'-->
194
+ <!-- :multiple="true"-->
195
+ <!-- :value.sync="model.f_last_check_state"-->
196
+ <!-- class="select_list select" clear-button-->
197
+ <!-- condition="f_last_check_state in {}"-->
198
+ <!-- placeholder='连续安检状态' style="width: 60%">-->
199
+ <!-- </v-select>-->
200
+ <!-- </div>-->
201
+ <!-- </div>-->
202
+
203
+ <div v-show="$parent.$parent.$parent.showItem" class="row">
204
+ <div :class="$parent.$parent.style">
205
+ <label class="font_normal_body">用户编号</label>
206
+ <input v-model="model.f_userinfo_code" class="input_search" condition="f_userinfo_code like '%{}%'"
207
+ placeholder="用户编号" style="width: 60%" type="text">
208
+ </div>
209
+ <div :class="$parent.$parent.style">
210
+ <label class="font_normal_body">用户姓名</label>
211
+ <input v-model="model.f_user_name" class="input_search" condition="f_user_name like '%{}%'"
212
+ placeholder="用户姓名" style="width: 60%" type="text">
213
+ </div>
214
+ <div :class="$parent.$parent.style" style="width: auto;margin-top:8px;float: right">
215
+ <export-excel-safe :data="$parent.$parent.searchData" :field="$parent.$parent.excelHeaders"
216
+ sql-name="根据安检员查询用户档案" sqlurl="rs/logic/SafeExportExcel" template-name='用户安检情况'></export-excel-safe>
217
+ <button class="button_search button_spacing" type="button" @click="search()">查询</button>
218
+ <div
219
+ :class="{ 'button_shrink_left': $parent.$parent.$parent.showItem, 'button_shrink_right': !$parent.$parent.$parent.showItem }"
220
+ class="button_spacing" style="float: right" @click="$parent.$parent.hiddenr()"></div>
221
+ <div
222
+ :class="{ 'button_shrink_top': $parent.$parent.criteriaShow, 'button_shrink_bottom': !$parent.$parent.criteriaShow }"
223
+ class="button_spacing" style="float: right" @click="$parent.$parent.hidden()">
224
+
225
+ </div>
226
+ </div>
227
+
228
+ </div>
229
+ <div v-show="$parent.$parent.$parent.showItem" class="row">
230
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
231
+ <label class="font_normal_body">小&emsp;&emsp;区</label>
232
+ <input v-model="model.f_residential_area" class="input_search" condition="f_residential_area like '%{}%'"
233
+ placeholder="小区" style="width: 60%" type="text">
234
+ </div>
235
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
236
+ <label class="font_normal_body">地&emsp;&emsp;址</label>
237
+ <input v-model="model.f_address" class="input_search" condition="f_address like '%{}%'" placeholder="地址"
238
+ style="width: 60%" type="text">
239
+ </div>
240
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
241
+ <label class="font_normal_body">用户类型</label>
242
+ <v-select v-model="model.f_usertype" :options='$parent.$parent.usertypes' :value-single="true"
243
+ :value.sync="model.f_usertype" class="select select_list" clear-button close-on-select
244
+ condition="f_user_type = '{}'" placeholder='用户类型'></v-select>
245
+ </div>
246
+ <!-- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow && !$parent.$parent.$parent.showItem"></div>-->
247
+
248
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
249
+ <label class="font_normal_body" style="color: red;">安检筛选</label>
250
+ <v-select v-model="$parent.$parent.SafeCheckXZ" :options='$parent.$parent.SafeCheckXZs'
251
+ :value-single="true" :value.sync="$parent.$parent.SafeCheckXZ" class="select select_list" clear-button
252
+ close-on-select placeholder='安检筛选'></v-select>
253
+ </div>
254
+
255
+ </div>
256
+ <div v-show="$parent.$parent.$parent.showItem" class="row">
257
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
258
+ <label class="font_normal_body">安检起始</label>
259
+ <datepicker v-model="model.f_check_start" :disabled-days-of-week="[]" :format="'yyyy-MM-dd'"
260
+ :show-rest-button="reset" :value.sync="model.f_check_start" placeholder='最后安检时间起始' style="width: 60%">
261
+ </datepicker>
262
+ </div>
263
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
264
+ <label class="font_normal_body">安检结束</label>
265
+ <datepicker v-model="model.f_check_end" :disabled-days-of-week="[]" :format="'yyyy-MM-dd'"
266
+ :show-rest-button="reset" :value.sync="model.f_check_end" placeholder='最后安检时间结束' style="width: 60%">
267
+ </datepicker>
268
+ </div>
269
+
270
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
271
+ <label class="font_normal_body">安检状态</label>
272
+ <v-select :multiple="true" :options='$parent.$parent.checkstatus'
273
+ :value.sync="$parent.$parent.checkStates" class="select select_list" clear-button close-on-select
274
+ placeholder='安检状态'></v-select>
275
+ </div>
276
+ <div v-show="$parent.$parent.criteriaShow" :class="$parent.$parent.style">
277
+ <label class="font_normal_body">隐患情况</label>
278
+ <v-select v-model='model.f_check_result' :options='$parent.$parent.f_check_results' :value-single="true"
279
+ :value.sync="model.f_check_result" class="select select_list" clear-button close-on-select
280
+ condition="f_defect_content like '%{}%'" placeholder='隐患情况'></v-select>
281
+ </div>
282
+ </div>
283
+ <!--<div class="row" v-show="$parent.$parent.$parent.showItem">
284
+ <div :class="$parent.$parent.style" v-show="$parent.$parent.criteriaShow">
285
+ <label class="font_normal_body">公&emsp;&emsp;司</label>
286
+ <right-tree @re-res="$parent.$parent.getRes" :initresid="$parent.$parent.$login.f.orgid">
287
+ </right-tree>
288
+ </div>
289
+
290
+ </div>-->
291
+ </div>
292
+ </criteria>
293
+ <data-grid v-ref:grid :model="model" class="list_area table_sy" partial="list">
294
+ <template partial='head'>
295
+ <tr>
296
+ <th>
297
+ <nobr>用户编号</nobr>
298
+ </th>
299
+ <th>
300
+ <nobr>用户名称</nobr>
301
+ </th>
302
+ <th>
303
+ <nobr>已安检天数</nobr>
304
+ </th>
305
+ <th>
306
+ <nobr>用户电话</nobr>
307
+ </th>
308
+ <th>
309
+ <nobr>用户表号</nobr>
310
+ </th>
311
+ <!-- <th>-->
312
+ <!-- <nobr>气表品牌</nobr>-->
313
+ <!-- </th>-->
314
+ <th>
315
+ <nobr>用户类型</nobr>
316
+ </th>
317
+ <!-- <th>-->
318
+ <!-- <nobr>壁挂炉</nobr>-->
319
+ <!-- </th>-->
320
+ <!-- <th>-->
321
+ <!-- <nobr>灶具</nobr>-->
322
+ <!-- </th>-->
323
+ <th>
324
+ <nobr>小区名称</nobr>
325
+ </th>
326
+ <th style="padding: 0 40px">
327
+ <nobr>地址</nobr>
328
+ </th>
329
+ <th>
330
+ <nobr>安检员</nobr>
331
+ </th>
332
+ <!-- <th>-->
333
+ <!-- <nobr>安检员备注</nobr>-->
334
+ <!-- </th>-->
335
+ <th>
336
+ <nobr>安检日期</nobr>
337
+ </th>
338
+ <th>
339
+ <nobr>安检状态</nobr>
340
+ </th>
341
+ <th>
342
+ <nobr>安检结果</nobr>
343
+ </th>
344
+ <th>
345
+ <nobr>建档日期</nobr>
346
+ </th>
347
+ <th>
348
+ <nobr>通气日期</nobr>
349
+ </th>
350
+ <th v-show="$parent.$parent.$parent.showcode">
351
+ <nobr>二维码</nobr>
352
+ </th>
353
+ </tr>
354
+ </template>
355
+ <template partial='body'>
356
+ <td style="text-align: center;" v-bind:class="{ newcolor: row.code == 1 }">{{ row.f_userinfo_code }}</td>
357
+ <td style="text-align: center;" v-bind:class="{ newcolor: row.code == 1 }">{{ row.f_user_name }}</td>
358
+ <td style="text-align: center;" v-bind:class="{ newcolor: row.code == 1 }">
359
+ {{ $parent.$parent.$parent.dateDiff(row.f_last_check_date) }}
360
+ </td>
361
+ <td style="text-align: center;" v-bind:class="{ newcolor: row.code == 1 }">{{ row.f_user_phone }}</td>
362
+ <td style="text-align: center;" v-bind:class="{ newcolor: row.code == 1 }">{{ row.f_meternumber }}</td>
363
+ <!-- <td v-bind:class="{newcolor:row.code==1}" style="text-align: center;">{{row.f_meter_brand}}</td>-->
364
+ <td style="text-align: center" v-bind:class="{ newcolor: row.code == 1 }">{{ row.f_user_type }}</td>
365
+ <!-- <td v-bind:class="{newcolor:row.code==1}" style="text-align: center">{{ row.f_safe_hasfurnace }}</td>-->
366
+ <!-- <td v-bind:class="{newcolor:row.code==1}" style="text-align: center">{{ row.f_safe_haskitchen }}</td>-->
367
+ <td style="text-align: center" v-bind:class="{ newcolor: row.code == 1 }">{{ row.f_residential_area }}</td>
368
+ <td style="text-align: center" v-bind:class="{ newcolor: row.code == 1 }">{{ row.f_address }}</td>
369
+ <td style="text-align: center" v-bind:class="{ newcolor: row.code == 1 }">{{ row.f_checker_name }}</td>
370
+ <td style="text-align: center" v-bind:class="{ newcolor: row.code == 1 }">{{ row.f_last_check_date }}</td>
371
+ <td style="text-align: center" v-bind:class="{ newcolor: row.code == 1 }">{{ row.f_last_check_state }}</td>
372
+ <td style="text-align: center" v-bind:class="{ newcolor: row.code == 1 }">
373
+ {{
374
+ row.f_last_check_state != '入户' ? '' : (row.f_last_check_result == '无隐患' ? '无问题' : row.f_last_check_result)
375
+ }}
376
+ </td>
377
+ <td style="text-align: center" v-bind:class="{ newcolor: row.code == 1 }">{{ row.f_createfile_date }}</td>
378
+ <td style="text-align: center" v-bind:class="{ newcolor: row.code == 1 }">{{ row.f_gas_date }}</td>
379
+ <td v-show="$parent.$parent.$parent.showcode" style="text-align: center"
380
+ v-bind:class="{ newcolor: row.code == 1 }">
381
+ <button class="button_spacing button_search-1"
382
+ @click.stop='$parent.$parent.$parent.searchInfo(row.f_userinfo_code)'>点击
383
+ </button>
384
+ </td>
385
+ </template>
386
+ </data-grid>
387
+ </criteria-paged>
388
+ <modal v-if="dialogVisible" v-ref:modal :show.sync="dialogVisible" destroyOnClose={true} style="text-align: center">
389
+ <div slot="modal-header" class="modal-header">
390
+ <h4 class="modal-title">
391
+ 二维码
392
+ </h4>
393
+ </div>
394
+ <div slot="modal-body" class="modal-body">
395
+ <div id="dd"></div>
396
+ </div>
397
+ <div slot="modal-footer" class="modal-footer">
398
+ <print-element id="dd" v-ref:printelement class="btn btn-success width-80" height='100%' left='60'
399
+ styleid='style1' top='40' width='100%'>打印
400
+ </print-element>
401
+ <button class="btn btn-success width-80" type="button" @click="dialogVisible = false">确认</button>
402
+ <button class="btn btn-success width-80" type="button" @click="dialogVisible = false">取消</button>
403
+ </div>
404
+ </modal>
405
+ </div>
406
+
407
+ </template>
408
+
409
+ <script>
410
+ import { PagedList } from 'vue-client'
411
+ import { HttpResetClass } from 'vue-client'
412
+ import co from 'co'
413
+ import * as Util from './../../Util'
414
+ import Vue from 'vue'
415
+
416
+ // let select = function * (self,userid) {
417
+ // let http = new HttpResetClass()
418
+ // let getGasman = yield http.load('POST','/rs/search', {
419
+ // source: 'this.getChildByName($安检员$).getUsers()',
420
+ // userid: userid
421
+ // }, {resolveMsg: null, rejectMsg: null})
422
+ // //tag
423
+ // getGasman.data.forEach((checker)=>{
424
+ // self.checkersid.push({label:checker.name,value:checker.id})
425
+ // })
426
+ // self.checkersid.push({label:'全部',value:''})
427
+ // }
428
+
429
+
430
+ export default {
431
+ title: '用户安检情况',
432
+ data() {
433
+ let options = []
434
+ let year = (new Date()).getFullYear()
435
+ for (let i = year; i <= year + 3; i++)
436
+ options.push({ label: i + '', value: i + '' })
437
+ let moptions = []
438
+ for (let i = 1; i <= 12; i++)
439
+ moptions.push({ label: i + '', value: i + '' })
440
+
441
+ return {
442
+ allCheckers: [{ label: '请选择', value: '' }],
443
+ quyus: [{ label: '请选择', value: '' }, ...this.$appdata.getParam('区域')],
444
+ bumens: [{ label: '请选择', value: '' }],
445
+ teams: [{ label: '请选择', value: '' }],
446
+ dialogVisible: false,
447
+ searchData: {
448
+ condition: '1=1',
449
+ orderitem: "f_last_check_date",
450
+ timetype: "dd",
451
+ f_defect_content: "CASE WHEN CHARINDEX( '\"result\":\"正常\"', tp.f_defect_content ) > 0 THEN '正常' ELSE replace(replace(replace( replace( RIGHT ( tp.f_defect_content, len( tp.f_defect_content ) - 26 ), substring('{}',2,1), '' ), substring('{}',1,1), '' ),']',''),'\"','') END"
452
+ },
453
+ excelHeaders: {
454
+ //用户编号 用户名称 用户电话 安检次数 用户类型 小区名称 地址 安检日期 安检状态 安检结果
455
+
456
+ 'f_userinfo_code': '用户编号',
457
+ 'f_user_name': '用户名称',
458
+ 'f_user_phone': '用户电话',
459
+ 'f_meternumber': '用户表号',
460
+ 'f_user_type': '用户类型',
461
+ 'f_checker_name': '安检员',
462
+ 'f_residential_area': '小区名称',
463
+ 'f_address': '地址',
464
+ 'f_last_check_date': '安检日期',
465
+ 'f_last_check_state': '安检状态',
466
+ 'f_last_check_result': '安检结果',
467
+ 'f_createfile_date': '建档日期',
468
+ 'f_gas_date': '通气日期'
469
+ },
470
+ model: new PagedList('rs/sql/根据安检员查询用户档案', 20, {
471
+ orderitem: "'f_last_check_date'",
472
+ timetype: "'dd'",
473
+ f_defect_content: 'this.f_defect_content'
474
+ }),
475
+ f_defect_content: "CASE WHEN CHARINDEX( '\"result\":\"正常\"', tp.f_defect_content ) > 0 THEN '无隐患' ELSE replace(replace(replace( replace( RIGHT ( tp.f_defect_content, len( tp.f_defect_content ) - 26 ), substring('{}',2,1), '' ), substring('{}',1,1), '' ),']',''),'\"','') END",
476
+ orgstrs: [{ label: '全部', value: '' }],
477
+ checkersid: [],
478
+ checkStates: [],
479
+ SafeCheckXZ: '',
480
+ civil: '', //民用安检周期
481
+ civilian: '', //非民用安检周期
482
+ SafeCheckXZs: [{ label: '全部', value: '' }, { label: '未安检', value: '未安检' }, {
483
+ label: '已安检',
484
+ value: '已安检'
485
+ }], // 安检筛选选项
486
+ SafeCheckSXs: [{ label: '是', value: '是' }, { label: '否', value: '否' }, { label: '全部', value: '' }],
487
+ // user_states:[{label: '全部', value: ''}, ...this.$appdata.getParam('用户状态')],
488
+ IsShares: [{ label: '是', value: '是' }, { label: '否', value: '否' }],
489
+ IsShare: '否',
490
+ checker: {},
491
+ NoBuys: [{ label: '是', value: '是' }, { label: '否', value: '否' }],
492
+ criteriaShow: false,
493
+ checkers: [],
494
+ showcode: false,
495
+ chosenOrg: { id: 0 },
496
+ showModal: false,
497
+ checkedAll: false,
498
+ checkrows: [],
499
+ adjustables: [],
500
+ f_plan_year: year + '',
501
+ f_plan_month: moptions[new Date().getMonth()].value,
502
+ f_effective_start_time: '', //计划有效起始时间
503
+ f_effective_end_time: '', //计划有效结束时间
504
+ checkboxModel: {},
505
+ c_year_list: options,
506
+ c_month_list: moptions,
507
+ // areas: this.areas(),
508
+ checkstatus: this.checkstatus(),
509
+ usertypes: this.usertypes(),
510
+ userstates: this.userstates(),
511
+ sqlname: '',
512
+ f_check_results: [{ label: '全部', value: '' }, { label: '正常', value: '正常' }, { label: '有隐患', value: '有隐患' }],
513
+ creatPlanWay: '',
514
+ sliceArea: [],
515
+ cbcs: [],
516
+ cbc: [],
517
+ pcds: []
518
+ }
519
+ },
520
+ props: {
521
+ style: {
522
+ type: String,
523
+ default: 'col-sm-2 form-group'
524
+ },
525
+ style2: {
526
+ type: String,
527
+ default: 'col-sm-4 form-group'
528
+ },
529
+ checkplan: { // 传入一条安检计划信息
530
+ type: Object
531
+ },
532
+ additemshow: {
533
+ type: Boolean,
534
+ default: false
535
+ }
536
+ },
537
+ ready() {
538
+ // 获取分公司信息
539
+ this.model.f_defect_content = this.f_defect_content
540
+ this.showcode = this.$appdata.getSingleValue('用户安检情况二维码')
541
+ //this.getfengongsi()
542
+ this.model.chosenOrg = { id: 0 }
543
+ this.model.f_filialeids = this.$login.f.f_orgids
544
+ this.model.f_filiale = this.$login.f.f_fengongsi
545
+ this.model.f_OrgStr = this.$login.f.orgpathstr
546
+ this.Mreadibook(`('${this.$login.f.orgid}')`)
547
+ this.getAllMeterBook(`('${this.$login.f.orgid}')`)
548
+ this.getAllChecker()
549
+ },
550
+ methods: {
551
+ getAllChecker() {
552
+ new HttpResetClass().load('POST', `/rs/sql/tel_singleTable_OrderBy`, {
553
+ data: {
554
+ items: 'name',
555
+ tablename: 't_user',
556
+ condition: `state = '在职' and rolestr like '%安检员%'`,
557
+ orderitem: 'id'
558
+ }
559
+ }, { resolveMsg: null, rejectMsg: null }).then((res) => {
560
+ res.data.forEach(ress => {
561
+ this.allCheckers.push({
562
+ label: ress.name,
563
+ value: ress.name
564
+ })
565
+ })
566
+ this.checkers = this.allCheckers
567
+ })
568
+ },
569
+ bumenChange(val) {
570
+ if (val) {
571
+ this.teams = this.$appdata.getParam(`工单-` + val) ? [{
572
+ label: '请选择',
573
+ value: ''
574
+ }, ...this.$appdata.getParam(`工单-` + val)] : [{ label: '请选择', value: '' }]
575
+ } else {
576
+ this.checkers = this.allCheckers
577
+ }
578
+ },
579
+ teamChange(val) {
580
+ if (val) {
581
+ this.checkers = this.$appdata.getParam(val) ? [...this.$appdata.getParam(val)] : [{ label: '请选择', value: '' }]
582
+ } else {
583
+ this.checkers = this.allCheckers
584
+ }
585
+ },
586
+ quyuChange(val) {
587
+ if (val) {
588
+ this.bumens = this.$appdata.getParam(val) ? [{
589
+ label: '请选择',
590
+ value: ''
591
+ }, ...this.$appdata.getParam(val)] : [{ label: '请选择', value: '' }]
592
+ } else {
593
+ this.checkers = this.allCheckers
594
+ }
595
+ },
596
+
597
+ dateDiff(date1Str) {
598
+ // 确保传入的date1Str是有效的字符串格式
599
+ if (typeof date1Str !== 'string' || !/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(date1Str)) {
600
+ throw new Error('Invalid date format. Expected format: yyyy-mm-dd hh:mm:ss');
601
+ }
602
+ // 将date1Str格式化为Date对象,并提取日期部分
603
+ const date1 = new Date(date1Str);
604
+ const year = date1.getFullYear();
605
+ const month = String(date1.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以需要加1
606
+ const day = String(date1.getDate()).padStart(2, '0');
607
+ const formattedDate1 = `${year}-${month}-${day}`;
608
+ // 获取当前日期,并同样格式化为yyyy-mm-dd
609
+ const date2 = new Date();
610
+ const currentYear = date2.getFullYear();
611
+ const currentMonth = String(date2.getMonth() + 1).padStart(2, '0');
612
+ const currentDay = String(date2.getDate()).padStart(2, '0');
613
+ const formattedDate2 = `${currentYear}-${currentMonth}-${currentDay}`;
614
+ // 将格式化后的日期字符串转换为Date对象,以便比较
615
+ const formattedDate1Obj = new Date(`${formattedDate1}T00:00:00`); // 添加时间部分以确保比较准确
616
+ const formattedDate2Obj = new Date(`${formattedDate2}T00:00:00`);
617
+ // 计算两个日期之间的差值(以毫秒为单位),然后转换为天数
618
+ const diffInMilliseconds = Math.abs(formattedDate2Obj - formattedDate1Obj);
619
+ const diffInDays = Math.ceil(diffInMilliseconds / (1000 * 60 * 60 * 24));
620
+ // 返回天数差
621
+ return diffInDays;
622
+ },
623
+ //查询二维码
624
+ searchInfo(val) {
625
+ this.dialogVisible = true
626
+ //tag
627
+ new HttpResetClass().load('POST', 'rs/logic/QrcodeUtil', {
628
+ data: {
629
+ id: val
630
+ }
631
+ }, { resolveMsg: null, rejectMsg: null }).then(res => {
632
+ //tag
633
+ //tag
634
+ let imageer = new Image()
635
+ imageer.src = "data:image/jpg;base64," + res.data.result
636
+ document.getElementById("dd").appendChild(imageer);
637
+ //tag
638
+ })
639
+
640
+ },
641
+ //获取省市区列表
642
+ getPcd(val) {
643
+ this.pcds = [{ label: '全部', value: '' }]
644
+ new HttpResetClass().load("POST", `/rs/sql/safe_singleTable_OrderBy`,
645
+ { data: { items: "*", tablename: "t_pcd", orderitem: "id", condition: `f_orgid in ${val}` } },
646
+ { resolveMsg: null, rejectMsg: null }).then((pcdlist) => {
647
+ pcdlist.data.forEach((result) => {
648
+ this.pcds.push({ label: result.f_pcd, value: result.f_pcd })
649
+ })
650
+ })
651
+ },
652
+ getmeterbook(val) {
653
+
654
+ //tag
655
+ this.cbc = []
656
+ this.cbc.push({
657
+ label: '全部',
658
+ value: ''
659
+ })
660
+ if (val == '') {
661
+
662
+ this.cbcs.forEach(res => {
663
+ this.cbc.push({
664
+ label: res.f_book_name,
665
+ value: res.id
666
+ })
667
+ })
668
+ } else {
669
+ this.cbcs.forEach(res => {
670
+ if (res.f_book_slice_area == val) {
671
+ this.cbc.push({
672
+ label: res.f_book_name,
673
+ value: res.id
674
+ })
675
+ }
676
+ })
677
+ }
678
+ },
679
+ Mreadibook(val) {
680
+ ////tag
681
+ ////tag
682
+ if (val) {
683
+ new HttpResetClass().load('POST', `/rs/sql/tel_singleTable_OrderBy`, {
684
+ data: {
685
+ items: 'name',
686
+ tablename: 't_zone',
687
+ condition: `parentid in ${val}`,
688
+ orderitem: 'id'
689
+ }
690
+ }, { resolveMsg: null, rejectMsg: null }).then((res) => {
691
+ this.sliceArea = []
692
+ this.sliceArea.push({
693
+ label: '全部',
694
+ value: ''
695
+ })
696
+ res.data.forEach(ress => {
697
+ this.sliceArea.push({
698
+ label: ress.name,
699
+ value: ress.name
700
+ })
701
+ })
702
+
703
+ })
704
+ }
705
+ },
706
+ // 获取县域分公司内容
707
+ getfengongsi() {
708
+ let val = {
709
+ source: 'this.getParentByType($organization$).getSpecialResByType($organization$)',
710
+ userid: `${this.$login.f.id}`
711
+ }
712
+ let http = new HttpResetClass()
713
+ http.load('POST', '/rs/search', { data: val }, { resolveMsg: null, rejectMsg: null }).then((res) => {
714
+ res.data.forEach((item) => {
715
+ this.orgstrs.push({ label: item.name, value: item.id })
716
+ })
717
+ //tag
718
+ })
719
+ },
720
+ // 县域分公司发生改变
721
+ // orgstrchange(val){
722
+ // if(val == undefined || val == ''){
723
+ // return
724
+ // }else {
725
+ // this.checkersid = []
726
+ // let gen = select(this,val)
727
+ // return co(gen)
728
+ // }
729
+ // },
730
+ getDefect(val) {
731
+ if (val) {
732
+ try {
733
+ var defect = JSON.parse(val)
734
+ return defect.result
735
+ } catch (e) {
736
+ //tag
737
+ return '正常'
738
+ }
739
+ }
740
+ return '正常'
741
+ },
742
+ checkerchange(val) {
743
+ this.checkboxModel.f_checker = val.name
744
+ this.checkboxModel.f_checker_id = val.id
745
+ },
746
+ search(args) {
747
+ if (this.SafeCheckXZ && (args.model.f_check_start == '' || args.model.f_check_end == '')) {
748
+ this.$showMessage('如果选择 已安检/未安检 选项,需要选择 安检起始时间!')
749
+ return
750
+ }
751
+ if ((args.model.f_check_start || args.model.f_check_end) && !this.SafeCheckXZ) {
752
+ this.$showMessage('如果录入 安检起始时间,需要选择 安检筛选条件!')
753
+ return
754
+ }
755
+ /*if (this.SafeCheckXZ == '未安检') {
756
+ args.condition += " and ( f_last_check_date >= '" + args.model.f_check_start + "' or f_last_check_date <= '" + args.model.f_check_end + "' or f_last_check_date is null)"
757
+ } else {
758
+ if (args.model.f_check_start) {
759
+ args.condition += " and f_last_check_date >= '" + args.model.f_check_start + "'"
760
+ }
761
+ if (args.model.f_check_end) {
762
+ args.condition += " and f_last_check_date <= '" + args.model.f_check_end + "'"
763
+ }
764
+ }*/
765
+ args.condition += " and f_filialeid in " + (this.model.f_filialeids ? this.model.f_filialeids : `('${this.$login.f.orgid}')`)
766
+ let con = ' f_filialeid in ' + (this.model.f_filialeids ? this.model.f_filialeids : `('${this.$login.f.orgid}')`)
767
+ con += args.model.f_userinfo_code ? ` and f_userinfo_code like '%${args.model.f_userinfo_code}%'` : ''
768
+ /*con += args.model.f_user_name ? ` and f_user_name like '%${args.model.f_user_name}%'` : ''
769
+ con += args.model.f_residential_area ? ` and f_residential_area like '%${args.model.f_residential_area}%'` : ''
770
+ con += args.model.f_address ? ` and f_address like '%${args.model.f_address}%'` : ''
771
+ con += args.model.f_usertype ? ` and f_check_type = '${args.model.f_usertype}'` : ''*/
772
+ if (this.SafeCheckXZ) {
773
+ con += ` and f_offsite_time >= '${args.model.f_check_start}' and f_offsite_time <= '${args.model.f_check_end}' `
774
+ if (this.SafeCheckXZ == '未安检') {
775
+ args.condition += ' and ruhuid is null'
776
+ } else {
777
+ args.condition += ' and ruhuid is not null'
778
+ }
779
+ }
780
+ let states = ` (`
781
+ if (this.checkStates.length > 0) {
782
+ for (let i = 0; i < this.checkStates.length; i++) {
783
+ if (this.checkStates[i]) {
784
+ states += `'${this.checkStates[i]}',`
785
+ } else {
786
+ states = ''
787
+ break
788
+ }
789
+ }
790
+ if (states) {
791
+ states = states.substring(0, states.length - 1)
792
+ states += `) `
793
+ args.condition += ` and f_last_check_state in ${states}`
794
+ }
795
+ } else {
796
+ states = ''
797
+ }
798
+ if (args.model.f_check_date) {
799
+ const daysBefore = Number(args.model.f_check_date);
800
+ if (daysBefore > 0) {
801
+ // 获取当前日期
802
+ const now = new Date();
803
+ // 计算三天前的日期
804
+ const threeDaysBefore = new Date(now.getTime() - (daysBefore * 24 * 60 * 60 * 1000));
805
+ // 如果需要格式化日期,可以使用Date对象的方法
806
+ var formattedDate = threeDaysBefore.toISOString().split('T')[0];
807
+ args.condition += ` and f_last_check_date<='${formattedDate} 23:59:59'`;
808
+ } else {
809
+ console.error('f_check_date不是一个有效的正整数');
810
+ }
811
+ }
812
+ if (args.model.f_check_version) {
813
+ con += ` and f_check_version = '${args.model.f_check_version}'`
814
+ }
815
+ con += args.model.f_checker_id.length > 0 ? ` and f_checker_name in (${args.model.f_checker_id.map(item=>{return `'${item}'`}).join()})` : ' and 1=1'
816
+ if(args.model.f_last_start!=''){
817
+ if(args.model.f_last_end==''){
818
+ this.$showMessage('请输入连续安检结束时间!')
819
+ return
820
+ }else{
821
+ args.condition +=` and ( f_last_check_date<='${args.model.f_last_start} 00:00:00' or f_last_check_date>='${args.model.f_last_end} 23:59:59' )`
822
+ }
823
+ }
824
+ let condition = {
825
+ condition1: args.condition,
826
+ condition2: con
827
+ }
828
+ this.searchData.condition = condition
829
+ return this.model.search(condition, args.model)
830
+ },
831
+ checkstatus() {
832
+ return this.$appdata.getParam('安检状态') ? [{
833
+ label: '全部',
834
+ value: ''
835
+ }, ...this.$appdata.getParam('安检状态')] : [{ label: '全部', value: '' }]
836
+ },
837
+ usertypes() {
838
+ return this.$appdata.getParam('用户类型') ? [{
839
+ label: '全部',
840
+ value: ''
841
+ }, ...this.$appdata.getParam('用户类型')] : [{ label: '全部', value: '' }]
842
+ },
843
+ userstates() {
844
+ return this.$appdata.getParam('用户状态') ? [{
845
+ label: '全部',
846
+ value: ''
847
+ }, ...this.$appdata.getParam('用户状态')] : [{ label: '全部', value: '' }]
848
+ },
849
+ hiddenr() {
850
+ this.$parent.showItem = !this.$parent.showItem
851
+ },
852
+ hidden() {
853
+ this.criteriaShow = !this.criteriaShow
854
+ },
855
+ confirm() {
856
+ if (!this.checkboxModel.f_plan_name) {
857
+ this.$showMessage('请填写安检计划名称!')
858
+ return
859
+ }
860
+ // if(this.f_effective_start_time == ''){
861
+ // this.$showMessage('请选择有效起始日期!')
862
+ // return
863
+ // }
864
+ // if(this.f_effective_end_time == ''){
865
+ // this.$showMessage('请选择有效结束日期!')
866
+ // return
867
+ // }
868
+ if (this.IsShare == '否') {
869
+ if (!this.checkboxModel.f_checker_id) {
870
+ this.$showMessage('请选择安检员!')
871
+ return
872
+ }
873
+ }
874
+ let gen = saveGen(this)
875
+ return co(gen)
876
+ },
877
+ changeStates() {
878
+ if (this.checkedAll) {//实现反选/
879
+ this.checkrows = [];
880
+ for (let i = 0; i < this.$refs.paged.model.rows.length; i++) {
881
+ this.$set('$refs.paged.model.rows[' + i + '].checked', false)
882
+ }
883
+ } else {//实现全选
884
+ for (let i = 0; i < this.$refs.paged.model.rows.length; i++) {
885
+ this.$set('$refs.paged.model.rows[' + i + '].checked', true)
886
+ }
887
+ let _this = this
888
+ let condition = this.$refs.paged.$refs.criteria.condition
889
+ let url = this.model.url
890
+ this.$resetpost(`${url}?pageSize=9999999`, {
891
+ data: {
892
+ condition: condition,
893
+ groupitem: '',
894
+ orderitem: 'f_residential_area',
895
+ f_usertype: this.model.f_usertype,
896
+ f_filialeids: this.model.f_filialeids,
897
+ month: this.model.month,
898
+ safeCycle: this.model.safeCycle,
899
+ f_checktime_start: this.model.f_checktime_start,
900
+ f_checktime_end: this.model.f_checktime_end,
901
+ SafeCheckSX: this.model.SafeCheckSX,
902
+ f_last_check_state: this.model.f_last_check_state
903
+ },
904
+ }, { resolveMsg: null, rejectMsg: null }, -1).then(
905
+ (respanse) => {
906
+ if (respanse.data.length >= 5000) {
907
+ this.$showMessage("数据量太大,请重新选择")
908
+ } else {
909
+ _this.checkrows = []
910
+ for (let j = 0; j < respanse.data.length; j++) {
911
+ _this.checkrows.push(respanse.data[j])
912
+ }
913
+ //tag;
914
+ }
915
+ })
916
+ }
917
+ },
918
+ addChecked(item) {
919
+ //tag;
920
+ if (!item.checked) {
921
+ this.checkrows.push(item);
922
+ //tag;
923
+ } else {
924
+ for (let i = 0; i < this.checkrows.length; i++) {
925
+ if (item.f_userinfo_id == this.checkrows[i].f_userinfo_id) {
926
+ this.checkrows.splice(i, 1)
927
+ }
928
+ }
929
+ }
930
+ },
931
+ ToshowModal() {
932
+ this.creatPlanWay = 'single'
933
+ if (this.checkrows.length > 0) {
934
+ this.showModal = true
935
+ } else {
936
+ this.$showMessage("请选择需要安检的用户!")
937
+ }
938
+ },
939
+ FiltrationPlan() {
940
+ if (this.model.rows.length == 0) {
941
+ this.$showMessage("暂无可生成的计划!")
942
+ return
943
+ }
944
+ this.creatPlanWay = 'filtration'
945
+ this.showModal = true
946
+ },
947
+ AllPlan() {
948
+ if (this.model.rows.length == 0) {
949
+ this.$showMessage("暂无可生成的计划!")
950
+ return
951
+ }
952
+ this.creatPlanWay = 'all'
953
+ this.showModal = true
954
+ },
955
+ cancel() {
956
+ this.showModal = false
957
+ },
958
+ /*areas() {
959
+ let rs = []
960
+ for (let i = 0; i < this.$login.f.f_allArea.length; i++) {
961
+ let temp = {
962
+ label: this.$login.f.f_allArea[i].label,
963
+ value: this.$login.f.f_allArea[i].label
964
+ }
965
+ rs.push(temp)
966
+ }
967
+ return [{label: '全部', value: ''}, ...rs]
968
+ },*/
969
+ initAdjustables() {
970
+ //tag
971
+ let arr = []
972
+ let filter = this.$login.f.f_orgids
973
+ this.$GetSaleParam.getAdjustable(filter).forEach((item) => {
974
+ let temp = {}
975
+ temp.label = `[${item.value.f_adjustable_id}]-${item.label}`
976
+ temp.value = `${item.value.id}`
977
+ arr.push(temp)
978
+ })
979
+ this.adjustables = [{ label: '全部', value: '' }, ...arr]
980
+ },
981
+ getAllMeterBook(val) {
982
+ ////tag
983
+ ////tag
984
+ this.cbcs = []
985
+ if (val) {
986
+ new HttpResetClass().load('POST', `/rs/sql/tel_singleTable_OrderBy`, {
987
+ data: {
988
+ items: 'f_book_name,f_book_slice_area,id',
989
+ tablename: 't_meter_book',
990
+ condition: `f_filiale_id in ${val}`,
991
+ orderitem: 'id'
992
+ }
993
+ }, { resolveMsg: null, rejectMsg: null }).then((res) => {
994
+ res.data.forEach(ress => {
995
+ this.cbcs.push({
996
+ id: ress.id,
997
+ f_book_name: ress.f_book_name,
998
+ f_book_slice_area: ress.f_book_slice_area
999
+ })
1000
+ })
1001
+ this.cbc = []
1002
+ this.cbc.push({
1003
+ label: '全部',
1004
+ value: ''
1005
+ })
1006
+ this.cbcs.forEach(res => {
1007
+ this.cbc.push({
1008
+ label: res.f_book_name,
1009
+ value: res.id
1010
+ })
1011
+ })
1012
+ })
1013
+ }
1014
+ },
1015
+ getRes(obj) {
1016
+ this.model.f_filialeids = this.$login.convertToIn(obj.resids);
1017
+ this.Mreadibook(this.model.f_filialeids)
1018
+ this.getAllMeterBook(this.model.f_filialeids)
1019
+ this.getPcd(this.model.f_filialeids)
1020
+ }
1021
+ },
1022
+
1023
+ watch: {
1024
+ 'model.f_usertype'(val) {
1025
+ if (val == '民用') {
1026
+ this.model.safeCycle = this.civil
1027
+ } else if (val == '非民用') {
1028
+ this.model.safeCycle = this.civilian
1029
+ }
1030
+ },
1031
+ 'model.SafeCheckXZ'(val) {
1032
+ this.model.SafeCheckSC = ''
1033
+ if (val == '已安检') {
1034
+ this.model.SafeCheckCQ = ''
1035
+ this.model.SafeCheckSX = {
1036
+ f_check_end: '', // 安检时间 查询起始条件
1037
+ f_check_start: ''// 安检时间 查询终止条件
1038
+ }
1039
+ } else {
1040
+ // 当使用筛选条件时,清空不需要的条件选项
1041
+ this.model.f_issue_start = ''
1042
+ this.model.f_issue_end = ''
1043
+ this.$refs.paged.$refs.criteria.model.f_check_start = ''
1044
+ this.$refs.paged.$refs.criteria.model.f_check_end = ''
1045
+ this.$refs.paged.$refs.criteria.model.f_last_check_state = ''
1046
+ this.model.month = ''
1047
+ if (val == '应安检') {
1048
+ this.model.SafeCheckSC = '否'
1049
+
1050
+ this.model.f_issue_start = Util.toStartDateString()
1051
+ this.model.f_issue_end = Util.toStandardDateString()
1052
+ }
1053
+ // this.model.f_checktime_start = ''
1054
+ // this.model.f_checktime_end = ''
1055
+ }
1056
+ },
1057
+ 'model.SafeCheckSC'(val) {
1058
+ if (val == '') {
1059
+ this.model.f_issue_start = ''
1060
+ this.model.f_issue_end = ''
1061
+ }
1062
+ },
1063
+ // 'checker'(val){
1064
+ // //tag
1065
+ // if(val){
1066
+ // this.checkboxModel.f_checker = this.checker[0].name
1067
+ // this.checkboxModel.f_checker_id = this.checker[0].id
1068
+ // }
1069
+ // },
1070
+ 'model.rows'() {
1071
+ // if (!this.checkedAll) {//实现反选/
1072
+ // this.checkrows = [];
1073
+ for (let i = 0; i < this.$refs.paged.model.rows.length; i++) {
1074
+ var k = false
1075
+ for (let j = 0; j < this.checkrows.length; j++) {
1076
+ if (this.$refs.paged.model.rows[i].f_userinfo_id == this.checkrows[j].f_userinfo_id) {
1077
+ this.$set('$refs.paged.model.rows[' + i + '].checked', true)
1078
+ k = true
1079
+
1080
+ }
1081
+ }
1082
+ if (!k) {
1083
+ this.$set('$refs.paged.model.rows[' + i + '].checked', false)
1084
+ }
1085
+ }
1086
+ // } else {//实现全选
1087
+ // // this.checkboxModel = {};
1088
+ // for (let i = 0; i < this.$refs.paged.model.rows.length; i++) {
1089
+ // this.$set('$refs.paged.model.rows[' + i + '].checked', true)
1090
+ // }
1091
+ // }
1092
+ }
1093
+ },
1094
+ computed: {
1095
+ selected() {
1096
+ return this.$refs.paged.$refs.grid.selected
1097
+ }
1098
+ }
1099
+ }
1100
+ </script>
1101
+ <style scoped>
1102
+ .newcolor {
1103
+ color: red;
1104
+ }
1105
+
1106
+ .table th {
1107
+ background-color: #f2f6fa;
1108
+ color: black;
1109
+ }
1110
+ </style>