safecheck-client 4.0.0-9 → 4.0.0-91

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