safecheck-client 4.0.0-99 → 4.0.1-10

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 (493) 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 +2 -2
  46. package/publish.bat +7 -7
  47. package/release.bat +5 -5
  48. package/src/App.vue +31 -31
  49. package/src/Widget.vue +13 -13
  50. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  51. package/src/android-bootstrap/less/.csscomb.json +304 -304
  52. package/src/android-bootstrap/less/.csslintrc +19 -19
  53. package/src/android-bootstrap/less/alerts.less +73 -73
  54. package/src/android-bootstrap/less/badges.less +66 -66
  55. package/src/android-bootstrap/less/bootstrap.less +56 -56
  56. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  57. package/src/android-bootstrap/less/button-groups.less +247 -247
  58. package/src/android-bootstrap/less/buttons.less +173 -173
  59. package/src/android-bootstrap/less/carousel.less +269 -269
  60. package/src/android-bootstrap/less/close.less +34 -34
  61. package/src/android-bootstrap/less/code.less +69 -69
  62. package/src/android-bootstrap/less/component-animations.less +33 -33
  63. package/src/android-bootstrap/less/grid.less +84 -84
  64. package/src/android-bootstrap/less/input-groups.less +167 -167
  65. package/src/android-bootstrap/less/jumbotron.less +52 -52
  66. package/src/android-bootstrap/less/labels.less +64 -64
  67. package/src/android-bootstrap/less/list-group.less +141 -141
  68. package/src/android-bootstrap/less/media.less +66 -66
  69. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  70. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  71. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  72. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  73. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  74. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  75. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  76. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  77. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  78. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  79. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  80. package/src/android-bootstrap/less/mixins/image.less +33 -33
  81. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  82. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  83. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  84. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  85. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  86. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  87. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  88. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  89. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  90. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  91. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  92. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  93. package/src/android-bootstrap/less/mixins/size.less +10 -10
  94. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  95. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  96. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  97. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  98. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  99. package/src/android-bootstrap/less/mixins.less +40 -40
  100. package/src/android-bootstrap/less/modals.less +151 -151
  101. package/src/android-bootstrap/less/navbar.less +660 -660
  102. package/src/android-bootstrap/less/navs.less +290 -290
  103. package/src/android-bootstrap/less/normalize.less +424 -424
  104. package/src/android-bootstrap/less/pager.less +76 -76
  105. package/src/android-bootstrap/less/pagination.less +89 -89
  106. package/src/android-bootstrap/less/panels.less +274 -274
  107. package/src/android-bootstrap/less/popovers.less +131 -131
  108. package/src/android-bootstrap/less/print.less +101 -101
  109. package/src/android-bootstrap/less/progress-bars.less +87 -87
  110. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  111. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  112. package/src/android-bootstrap/less/scaffolding.less +161 -161
  113. package/src/android-bootstrap/less/tables.less +262 -262
  114. package/src/android-bootstrap/less/theme.less +291 -291
  115. package/src/android-bootstrap/less/thumbnails.less +36 -36
  116. package/src/android-bootstrap/less/tooltip.less +102 -102
  117. package/src/android-bootstrap/less/type.less +303 -303
  118. package/src/android-bootstrap/less/utilities.less +55 -55
  119. package/src/android-bootstrap/less/variables.less +896 -896
  120. package/src/android-bootstrap/less/wells.less +29 -29
  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/grid.less +84 -84
  134. package/src/bootstrap/less/input-groups.less +167 -167
  135. package/src/bootstrap/less/jumbotron.less +52 -52
  136. package/src/bootstrap/less/labels.less +64 -64
  137. package/src/bootstrap/less/list-group.less +141 -141
  138. package/src/bootstrap/less/media.less +66 -66
  139. package/src/bootstrap/less/mixins/alerts.less +14 -14
  140. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  141. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  142. package/src/bootstrap/less/mixins/buttons.less +69 -69
  143. package/src/bootstrap/less/mixins/center-block.less +7 -7
  144. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  145. package/src/bootstrap/less/mixins/forms.less +90 -90
  146. package/src/bootstrap/less/mixins/gradients.less +59 -59
  147. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  148. package/src/bootstrap/less/mixins/grid.less +122 -122
  149. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  150. package/src/bootstrap/less/mixins/image.less +33 -33
  151. package/src/bootstrap/less/mixins/labels.less +12 -12
  152. package/src/bootstrap/less/mixins/list-group.less +30 -30
  153. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  154. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  155. package/src/bootstrap/less/mixins/opacity.less +8 -8
  156. package/src/bootstrap/less/mixins/pagination.less +24 -24
  157. package/src/bootstrap/less/mixins/panels.less +24 -24
  158. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  159. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  160. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  161. package/src/bootstrap/less/mixins/resize.less +6 -6
  162. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  163. package/src/bootstrap/less/mixins/size.less +10 -10
  164. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  165. package/src/bootstrap/less/mixins/table-row.less +44 -44
  166. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  167. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  168. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  169. package/src/bootstrap/less/mixins.less +40 -40
  170. package/src/bootstrap/less/modals.less +151 -151
  171. package/src/bootstrap/less/navbar.less +660 -660
  172. package/src/bootstrap/less/normalize.less +424 -424
  173. package/src/bootstrap/less/pagination.less +89 -89
  174. package/src/bootstrap/less/panels.less +275 -275
  175. package/src/bootstrap/less/popovers.less +131 -131
  176. package/src/bootstrap/less/print.less +101 -101
  177. package/src/bootstrap/less/progress-bars.less +87 -87
  178. package/src/bootstrap/less/responsive-embed.less +35 -35
  179. package/src/bootstrap/less/responsive-utilities.less +194 -194
  180. package/src/bootstrap/less/scaffolding.less +161 -161
  181. package/src/bootstrap/less/theme.less +291 -291
  182. package/src/bootstrap/less/thumbnails.less +36 -36
  183. package/src/bootstrap/less/tooltip.less +102 -102
  184. package/src/bootstrap/less/type.less +303 -303
  185. package/src/bootstrap/less/utilities.less +55 -55
  186. package/src/bootstrap/less/wells.less +29 -29
  187. package/src/components/CheckerCount/CheckCountAreaManage.vue +1 -1
  188. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  189. package/src/components/DefectDealMain/DefectListNew.vue +642 -642
  190. package/src/components/FileUpload.vue +696 -696
  191. package/src/components/Hello.vue +39 -39
  192. package/src/components/LeftTree.vue +27 -27
  193. package/src/components/NewDefectList/DefectListNew.vue +3 -0
  194. package/src/components/NewDefectList/DefectPaperNew.vue +108 -3
  195. package/src/components/android/AddPlanItem.vue +447 -447
  196. package/src/components/android/AddPlanItemYy.vue +451 -451
  197. package/src/components/android/AddSpecialPlanItem.vue +426 -426
  198. package/src/components/android/AndroidDefectDetails.vue +769 -769
  199. package/src/components/android/AttendanceTally.vue +116 -116
  200. package/src/components/android/Blank.vue +10 -10
  201. package/src/components/android/CheckUnplanPage.vue +56 -56
  202. package/src/components/android/Checker.vue +12 -12
  203. package/src/components/android/CheckerAnnual.vue +81 -81
  204. package/src/components/android/CheckerAvarta.vue +82 -82
  205. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  206. package/src/components/android/Devices.vue +327 -327
  207. package/src/components/android/Devicesm.vue +327 -327
  208. package/src/components/android/EquipmentInspection.vue +348 -348
  209. package/src/components/android/FootprintMap.vue +120 -120
  210. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  211. package/src/components/android/MasterMain.vue +77 -77
  212. package/src/components/android/Menu.vue +132 -132
  213. package/src/components/android/PaperAlarm.vue +85 -85
  214. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  215. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  216. package/src/components/android/PhoneRecordInfo.vue +113 -113
  217. package/src/components/android/PhoneSellInfo.vue +113 -113
  218. package/src/components/android/PhoneUpDetail.vue +1040 -1040
  219. package/src/components/android/PlumberAnnual.vue +83 -83
  220. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  221. package/src/components/android/PlumberMonthly.vue +84 -84
  222. package/src/components/android/PostMap.vue +83 -83
  223. package/src/components/android/QRCode/QRCodeBinding.vue +300 -300
  224. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  225. package/src/components/android/QueryCheckHistory.vue +122 -122
  226. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  227. package/src/components/android/RepairMain.vue +60 -60
  228. package/src/components/android/Repairman.vue +12 -12
  229. package/src/components/android/SafePlanItem.vue +509 -509
  230. package/src/components/android/SafeRightTree.vue +218 -0
  231. package/src/components/android/StationMaster.vue +12 -12
  232. package/src/components/android/SwitchValve.vue +2 -2
  233. package/src/components/android/examples/SafeListExamples.vue +296 -296
  234. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  235. package/src/components/android/recheck/Recheck.vue +402 -402
  236. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  237. package/src/components/checkplan/checkmsg.vue +459 -459
  238. package/src/components/defect/DefectList.vue +507 -507
  239. package/src/components/defect/DefectListWeixiu.vue +484 -484
  240. package/src/components/defects/DefectModal.vue +101 -101
  241. package/src/components/defects/DevicesAndItem.vue +39 -39
  242. package/src/components/filialCircle/CircleList.vue +139 -139
  243. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  244. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  245. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  246. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  247. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  248. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  249. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  250. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  251. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  252. package/src/components/map/PersonTrack.vue +3 -1
  253. package/src/components/map/checkScreen.vue +47 -13
  254. package/src/components/notice/NoticeForm.vue +100 -100
  255. package/src/components/notice/NoticeIssue.vue +20 -20
  256. package/src/components/paper/PaperList.vue +7 -6
  257. package/src/components/paper/PicViewer.vue +18 -18
  258. package/src/components/paper/RegionalList.vue +9 -6
  259. package/src/components/pc/AddToCheckBook.vue +1 -1
  260. package/src/components/pc/AnnouncementPC.vue +524 -524
  261. package/src/components/pc/CheckBookUser.vue +8 -4
  262. package/src/components/pc/DefectDeal.vue +1 -1
  263. package/src/components/pc/DefectList.vue +742 -742
  264. package/src/components/pc/DeviceChange.vue +1068 -1068
  265. package/src/components/pc/SafeVisitInfo.vue +261 -261
  266. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  267. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  268. package/src/components/phonestate/PostMap.vue +82 -82
  269. package/src/components/querycheckpaper/CheckPaperList.vue +130 -130
  270. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  271. package/src/components/report/CheckPlanAreaManage.vue +1 -1
  272. package/src/components/report/HiddenSituation.vue +165 -165
  273. package/src/components/report/HiddenSituationNoSubtotal.vue +165 -0
  274. package/src/components/report/communityTypeDetailM.vue +113 -0
  275. package/src/components/rongcheng/AspiratedOrderV.vue +2377 -2377
  276. package/src/components/rongcheng/CurrentCreateOnline.vue +906 -906
  277. package/src/components/rongcheng/DefectList.vue +560 -560
  278. package/src/components/rongcheng/SafecheckOrderVCli.vue +2641 -2641
  279. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -419
  280. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -1050
  281. package/src/components/safecheckNew/android/Recheck.vue +379 -379
  282. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  283. package/src/components/shaoguan/DefectList.vue +473 -473
  284. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  285. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  286. package/src/components/userfile/MeterFile.vue +145 -145
  287. package/src/components/userfile/MeterModify.vue +46 -46
  288. package/src/components/userfile/SecurityAudit.vue +243 -243
  289. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  290. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +476 -476
  291. package/src/filiale/ancheng/android/SafecheckOrderV.vue +2703 -2703
  292. package/src/filiale/ancheng/android/SafecheckUserInfo.vue +737 -737
  293. package/src/filiale/ancheng/pc/checkScreen.vue +923 -923
  294. package/src/filiale/ankangyihua/android/AddPlanItem.vue +446 -446
  295. package/src/filiale/ankangyihua/android/SafecheckOrderV.vue +2908 -2908
  296. package/src/filiale/ankangyihua/pc/DefectListWeixiu.vue +491 -491
  297. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  298. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  299. package/src/filiale/bayan/android/Edit.vue +132 -132
  300. package/src/filiale/bayan/pc/DefectListNew.vue +597 -597
  301. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -1838
  302. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  303. package/src/filiale/dexin/android/CasualSave.vue +1050 -1050
  304. package/src/filiale/dexin/android/SafecheckOrderV.vue +2950 -2950
  305. package/src/filiale/fugou/android/AddPlanItem.vue +413 -413
  306. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -2796
  307. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +830 -830
  308. package/src/filiale/fugu/android/SafecheckOrderV.vue +2484 -2484
  309. package/src/filiale/fugu/pc/NewCheckpaper.vue +1287 -1287
  310. package/src/filiale/ganquan/android/AddPlanItem.vue +444 -444
  311. package/src/filiale/ganquan/android/SafecheckOrderV.vue +2485 -2485
  312. package/src/filiale/ganquan/pc/NewCheckpaper.vue +1354 -1354
  313. package/src/filiale/guangxi/pc/DefectListNew.vue +518 -518
  314. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  315. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  316. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  317. package/src/filiale/huatong/android/SafecheckOrderV.vue +2426 -2426
  318. package/src/filiale/huatong/android/SafecheckUserInfo.vue +749 -749
  319. package/src/filiale/huayin/pc/NewCheckpaper.vue +1307 -1307
  320. package/src/filiale/jiaocheng/android/AddPlanItem.vue +435 -435
  321. package/src/filiale/jiaocheng/android/SafecheckUserInfo.vue +737 -737
  322. package/src/filiale/jiaocheng/pc/DefectListNew.vue +576 -576
  323. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  324. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  325. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  326. package/src/filiale/jinbin/pc/DefectListWeixiu.vue +478 -478
  327. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  328. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  329. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  330. package/src/filiale/jinhong/android/PhoneInsuranceRecordList.vue +3 -3
  331. package/src/filiale/jinhong/pc/CheckBookList.vue +388 -388
  332. package/src/filiale/jinhong/pc/CheckPlanAreaList.vue +9 -2
  333. package/src/filiale/jinhong/pc/DefectPaperNew.vue +1100 -1100
  334. package/src/filiale/jinhong/pc/PlanManage.vue +5 -5
  335. package/src/filiale/jinhong/pc/checkPlanList.vue +418 -0
  336. package/src/filiale/jinhong/pc/checkUserList.vue +18 -21
  337. package/src/filiale/jinhong/pc.js +1 -0
  338. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  339. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  340. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  341. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  342. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  343. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  344. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  345. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  346. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  347. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  348. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  349. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  350. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  351. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  352. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  353. package/src/filiale/meihekou/android/AreaPlan.vue +577 -577
  354. package/src/filiale/meihekou/android/CurrentCreate.vue +33 -91
  355. package/src/filiale/meihekou/android/PaperFeedback.vue +15 -11
  356. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1306 -1306
  357. package/src/filiale/meihekou/android/SafecheckDevices.vue +1340 -0
  358. package/src/filiale/meihekou/android/SafecheckOrderV.vue +2431 -2413
  359. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +785 -785
  360. package/src/filiale/meihekou/android.js +1 -0
  361. package/src/filiale/meihekou/pc/NewCheckpaper.vue +2027 -1959
  362. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1288 -1288
  363. package/src/filiale/meihekou/pc.js +13 -13
  364. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  365. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  366. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  367. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  368. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  369. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  370. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  371. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  372. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  373. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  374. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  375. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  376. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  377. package/src/filiale/qingjian/pc/NewCheckpaper.vue +5 -4
  378. package/src/filiale/qingjian/pc/checkUserList.vue +835 -0
  379. package/src/filiale/qingjian/pc.js +1 -1
  380. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  381. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  382. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  383. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  384. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  385. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  386. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  387. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  388. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  389. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  390. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  391. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  392. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  393. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  394. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  395. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  396. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  397. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  398. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  399. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  400. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  401. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  402. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  403. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  404. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  405. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  406. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  407. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  408. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  409. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  410. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  411. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  412. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  413. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  414. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  415. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  416. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  417. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  418. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  419. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  420. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  421. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  422. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  423. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  424. package/src/filiale/weinan/pc/CheckPlanAreaManage.vue +1 -1
  425. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  426. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  427. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  428. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  429. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  430. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  431. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  432. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  433. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  434. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  435. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  436. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  437. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  438. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  439. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  440. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  441. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  442. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  443. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  444. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  445. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  446. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  447. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  448. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  449. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +1251 -1251
  450. package/src/filiale/xinkang/android/SafecheckUserInfo.vue +747 -747
  451. package/src/filiale/xinkang/pc/CheckPlanAreaManage.vue +1 -1
  452. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  453. package/src/filiale/xinkang/pc/NewCheckpaper.vue +1498 -1498
  454. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  455. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  456. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  457. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  458. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  459. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  460. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  461. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  462. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  463. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  464. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  465. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +491 -491
  466. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -113
  467. package/src/filiale/yunchengminsheng/android/SafecheckOrderV.vue +2 -0
  468. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +785 -785
  469. package/src/filiale/yunchengminsheng/android.js +15 -15
  470. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  471. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  472. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  473. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  474. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  475. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  476. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  477. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  478. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  479. package/src/main.js +33 -32
  480. package/src/plugins/LoadData.js +10 -10
  481. package/src/plugins/LoadParams.js +24 -24
  482. package/src/safecheck-android.js +1 -0
  483. package/src/safecheck.js +918 -912
  484. package/src/stores/wxconfig.js +10 -10
  485. package/src/utils/getNowDate.js +33 -33
  486. package/test/e2e/custom-assertions/elementCount.js +26 -26
  487. package/test/e2e/nightwatch.conf.js +40 -40
  488. package/test/e2e/runner.js +30 -30
  489. package/test/e2e/specs/test.js +13 -13
  490. package/test/unit/.eslintrc +5 -5
  491. package/test/unit/TestUtil.js +62 -62
  492. package/test/unit/context.html +20 -20
  493. package/test/unit/index.js +13 -13
@@ -1,1171 +1,1171 @@
1
- <style scoped>
2
- .bg {
3
- background-color: blue;
4
- height: 1px;
5
- border: 0;
6
- }
7
-
8
- .app-row {
9
- background-color: white;
10
- padding: 10px 10px 0 10px;
11
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
12
- }
13
-
14
- .search_input {
15
- border: 0;
16
- outline: none;
17
- }
18
-
19
- .font {
20
- font: 15px PingFang-SC-Medium;
21
- color: #666666;
22
- }
23
-
24
- .input-font {
25
- font: 15px PingFang-SC-Medium;
26
- color: #333333;
27
- }
28
-
29
- .btn-font {
30
- font: 600 16px PingFang-SC-Bold;
31
- color: #499EDF;
32
- }
33
-
34
- .btn-color {
35
- background-color: #FFFFFF;
36
- border-radius: 10px;
37
- border: 1px solid #499EDF;
38
- }
39
-
40
- .app-text {
41
- font-size: 12px;
42
- }
43
-
44
- .panel-self {
45
- border-radius: 10px;
46
- border: 1px solid #499EDF;
47
- background-color: #F8F8F8;
48
- }
49
-
50
- .yybtn-color {
51
- background-color: #499edf;
52
- border-radius: 4px;
53
- border: 1px solid #499EDF;
54
- color: #FFFFFF;
55
- font: 14px PingFang-SC-Bold;
56
- }
57
-
58
- .qxbtn-color {
59
- background-color: #FFFFFF;
60
- border-radius: 4px;
61
- color: #499edf;
62
- font: 14px PingFang-SC-Bold;
63
- border: 1px solid #499EDF;
64
- }
65
-
66
- .button_shrink_top {
67
- width: 35px;
68
- height: 35px;
69
- background-size: 100%;
70
- background-image: url("../../../../static/newStyle/stretch_top.png")
71
- }
72
-
73
- .button_shrink_bottom {
74
- width: 35px;
75
- height: 35px;
76
- background-size: 100%;
77
- background-image: url("../../../../static/newStyle/stretch_bottom.png")
78
- }
79
-
80
- .button_shrink_left {
81
- width: 35px;
82
- height: 35px;
83
- background-size: 100%;
84
- background-image: url("../../../../static/newStyle/stretch_left.png")
85
- }
86
-
87
- .button_shrink_right {
88
- width: 35px;
89
- height: 35px;
90
- background-size: 100%;
91
- background-image: url("../../../../static/newStyle/stretch_right.png")
92
- }
93
- </style>
94
- <style>
95
- .clear-select-with .dropdown-menu {
96
- left: 0px !important;
97
- width: 200% !important;
98
- }
99
- </style>
100
- <template>
101
- <div style="height: auto;width: 100%">
102
- <criteria-paged :model="model" v-ref:paged>
103
- <criteria partial='criteria' @condition-changed='search' v-ref:cri>
104
- <div partial>
105
- <form>
106
- <div class="row app-row">
107
- <!--小区名称-->
108
- <v-select :value.sync="model.f_residential_area"
109
- class="input-font clear-select-with"
110
- :options='$parent.$parent.residentialAreaOptions'
111
- placeholder='小区名称'
112
- :width="'46.5%'"
113
- v-model="model.f_residential_area"
114
- condition="ti.f_residential_area = '{}'"
115
- @change="$parent.$parent.getbuilds"
116
- close-on-select clear-button>
117
- </v-select>
118
- <!--楼栋-->
119
- <v-select :value.sync="model.f_building"
120
- class="input-font"
121
- :options='$parent.$parent.buildOptions'
122
- placeholder='楼栋'
123
- :width="'46.5%'"
124
- v-model="model.f_building"
125
- condition="ti.f_building = '{}'"
126
- @change="$parent.$parent.getUnits"
127
- close-on-select clear-button>
128
- </v-select>
129
- </div>
130
- <div class="row app-row">
131
- <!--单元-->
132
- <v-select :value.sync="model.f_unit"
133
- class="input-font"
134
- :options='$parent.$parent.unitOptions'
135
- placeholder='单元'
136
- :width="'46.5%'"
137
- @change="$parent.$parent.getfloors"
138
- v-model="model.f_unit"
139
- condition="ti.f_unit = '{}'"
140
- close-on-select clear-button>
141
- </v-select>
142
- <!--楼层-->
143
- <v-select :value.sync="model.floor"
144
- class="input-font"
145
- :options='$parent.$parent.floors'
146
- placeholder='楼层'
147
- :width="'46.5%'"
148
- v-model="model.floor"
149
- condition="ti.f_floor = '{}'"
150
- close-on-select clear-button>
151
- </v-select>
152
- </div>
153
- <div class="row app-row">
154
- <div class="col-xs-4">
155
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
156
- <label for="f_userinfo_code" class="font text-left">用户编号:</label>
157
- </div>
158
- <div class="col-xs-8">
159
- <input id="f_userinfo_code" class="search_input input-font"
160
- v-model=model.f_userinfo_code condition="f_userinfo_code like '%{}%'"/>
161
- </div>
162
- </div>
163
- <div class="row app-row">
164
- <div class="col-xs-4">
165
- <img src="../../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
166
- <label class="font text-left">用户姓名:</label>
167
- </div>
168
- <div class="col-xs-8">
169
- <input class="search_input input-font" v-model=model.f_user_name condition="f_user_name like '%{}%'"/>
170
- </div>
171
- </div>
172
-
173
- <!-- <div class="row app-row">-->
174
- <!-- <div class="col-xs-4">-->
175
- <!-- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">-->
176
- <!-- <label class="font text-left">用户证号:</label>-->
177
- <!-- </div>-->
178
- <!-- <div class="col-xs-8" >-->
179
- <!-- <input class="search_input input-font" v-model=model.f_enter_number condition="f_enter_number like '%{}%'" />-->
180
- <!-- </div>-->
181
- <!-- </div>-->
182
-
183
- <div class="row app-row" v-if="$parent.$parent.criteriaShow && !$parent.$parent.planName">
184
- <div class="col-xs-4">
185
- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
186
- <label for="f_plan_name" class="font text-left">计划名称:</label>
187
- </div>
188
- <v-select
189
- id="f_plan_name"
190
- :value.sync="model.f_plan_name"
191
- class="input-font"
192
- :options='$parent.$parent.planNameOptions'
193
- placeholder='计划名称'
194
- :width="'60%'"
195
- v-model="model.f_plan_name"
196
- condition="f_plan_name like '%{}%'"
197
- close-on-select clear-button>
198
- </v-select>
199
- </div>
200
-
201
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
202
- <div class="col-xs-4">
203
- <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
204
- <label for="f_state" class="font text-left">是否已检:</label>
205
- </div>
206
- <v-select id="f_state"
207
- :value.sync="model.f_state"
208
- class="input-font"
209
- :options='$parent.$parent.check_states'
210
- placeholder='是否已检'
211
- :width="'60%'"
212
- v-model="model.f_state"
213
- condition="f_state='{}'"
214
- close-on-select clear-button>
215
- </v-select>
216
- </div>
217
-
218
-
219
- <!--<div class="row app-row">-->
220
- <!--<div class="col-xs-4">-->
221
- <!--<img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">-->
222
- <!--<label for="f_plan_year" class="font text-left">计划年份:</label>-->
223
- <!--</div>-->
224
- <!--<div class="col-xs-8" >-->
225
- <!--<input id="f_plan_year" class="search_input input-font"-->
226
- <!--v-model="model.f_plan_year" condition="f_plan_year = '{}'" />-->
227
- <!--</div>-->
228
- <!--</div>-->
229
- <!--<div class="row app-row">-->
230
- <!--<div class="col-xs-4">-->
231
- <!--<img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">-->
232
- <!--<label for="f_plan_month" class="font text-left">计划月份:</label>-->
233
- <!--</div>-->
234
- <!--<div class="col-xs-8" >-->
235
- <!--<input id="f_plan_month" class="search_input input-font"-->
236
- <!--v-model="model.f_plan_month" condition="f_plan_month = '{}'" />-->
237
- <!--</div>-->
238
- <!--</div>-->
239
-
240
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
241
- <div class="col-xs-4">
242
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
243
- <label class="font text-left">气表编号:</label>
244
- </div>
245
- <div class="col-xs-5">
246
- <input class="search_input input-font"
247
- v-model=model.f_meter_no condition="f_meter_no like '%{}%'"/>
248
- </div>
249
- <div class="col-xs-3">
250
- <button type="button" class="btn btn-lg btn-font btn-color" @click="$parent.$parent.scan()">扫码</button>
251
- </div>
252
- </div>
253
-
254
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
255
- <div class="col-xs-4">
256
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
257
- <label class="font text-left">用户地址:</label>
258
- </div>
259
- <div class="col-xs-8">
260
- <input class="search_input input-font"
261
- v-model=model.f_keyword condition="f_address like '%{}%'"/>
262
- </div>
263
- </div>
264
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
265
- <div class="col-xs-4">
266
- <img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
267
- <label for="f_user_type" class="font text-left">用户类型:</label>
268
- </div>
269
- <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
270
- :width="'60%'"
271
- :options='$parent.$parent.user_types' placeholder='请选择用户类型'
272
- v-model="model.f_user_type" condition="f_user_type='{}'" close-on-select
273
- clear-button></v-select>
274
- </div>
275
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
276
- <div class="col-xs-6" style="text-align: center">
277
- <span class="font text-left">待办{{ $parent.$parent.upcomingCount }}条</span>
278
- </div>
279
- <div class="col-xs-6" style="text-align: center">
280
- <span class="font text-left">已办{{ $parent.$parent.doneCount }}条</span>
281
- </div>
282
- <div class="col-xs-6" style="text-align: center">
283
- <span class="font text-left">临时保存{{ $parent.$parent.tempSaveCount }}条</span>
284
- </div>
285
- <div class="col-xs-6" style="text-align: center">
286
- <span class="font text-left">总共{{ $parent.$parent.allPlanCount }}条</span>
287
- </div>
288
- </div>
289
-
290
- <div class="row text-center" style="margin-top: 20px;">
291
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;"
292
- @click="$parent.$parent.selfSearch">查询
293
- </button>
294
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%; margin-left: 10px"
295
- @click="$parent.$parent.queryplanmany">重置
296
- </button>
297
- <div style="float: right;margin-right: 3% " class="button_spacing"
298
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
299
- @click="$parent.$parent.hidden()"></div>
300
- <img v-if="!$parent.$parent.planName" style="float: right;margin-right: 3% "
301
- @click="$parent.$parent.getNewOrder" src="../../../assets/shuaxindaiban1.png"
302
- style="width: 40px;padding: 5px; float:right">
303
- </div>
304
- <div class="col-sm-12">
305
-
306
- </div>
307
- <!--<div class="row app-btn">-->
308
- <!--<button class="btn btn-primary col-xs-6" type="button" @click="search"><span class="glyphicon glyphicon-search" style="margin-right: 20px;">查询</span></button>-->
309
- <!--</div>-->
310
- <div style="height:30px;"></div>
311
- </form>
312
- </div>
313
- </criteria>
314
- <list :model="model" partial='list'>
315
- <div partial>
316
- <div class="auto app-text" style="margin-top: 5px;">
317
- <div class="panel" style="padding: 10px 10px 5px 10px;">
318
- <div class="panel-body panel-self">
319
-
320
- <div class="col-xs-12">
321
- <p class="panel-title col-xs-5 text-left font" style="width: 25%;float: left"><b>用户编号:</b></p>
322
- <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{ row.f_userinfo_code }}</p>
323
- <p class="panel-title col-xs-2 text-left input-font" style="width: 5%;float:right">
324
- <input type="checkbox" @click="$parent.$parent.$parent.setPlanParam(row.id, $event)"/>
325
- </p>
326
- </div>
327
- <div class="col-xs-12">
328
- <p class="panel-title col-xs-5 text-left font" style="width: 25%;float: left"><b>用户名称:</b></p>
329
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_name }}</p>
330
- </div>
331
- <div class="col-xs-12">
332
- <p class="panel-title col-xs-5 text-left font" style="width: 25%;"><b>用户类型:</b></p>
333
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
334
- </p>
335
- </div>
336
- <div class="col-xs-12">
337
- <p class="panel-title col-xs-5 text-left font" style="width: 25%;"><b>计划名称:</b></p>
338
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
339
- </div>
340
- <!-- <div class="col-xs-6">-->
341
- <!-- <p class="panel-title col-xs-5 text-left font"><b>小区名称:</b></p>-->
342
- <!-- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_residential_area }}</p>-->
343
- <!-- </div>-->
344
- <div class="col-xs-12">
345
- <p class="panel-title text-left font" style="width: 25%;float: left"><b>用户电话:</b></p>
346
- <p class="panel-title text-left input-font" style="width: 77%">
347
- {{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}
348
- <img src="../../../assets/phone.png" style="width: 6%"
349
- v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone)'></img>
350
- </p>
351
- </div>
352
-
353
- <div class="col-xs-12">
354
- <p class="panel-title text-left font" style="width: 25%;float: left"><b>用户地址:</b></p>
355
- <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
356
- </div>
357
-
358
- <!-- <div class="row">-->
359
- <!-- <p class="panel-title col-xs-4 text-left font">计划年份</p>-->
360
- <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_year }}</p>-->
361
- <!-- </div>-->
362
- <!-- <div class="row">-->
363
- <!-- <p class="panel-title col-xs-4 text-left font">计划月份</p>-->
364
- <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_month }}</p>-->
365
- <!-- </div>-->
366
- <!-- <div class="row">-->
367
- <!-- <p class="panel-title col-xs-4 text-left font">预约时间</p>-->
368
- <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_prearranged_date }}</p>-->
369
- <!-- </div>-->
370
- <!--<div class="row">-->
371
- <!--<p class="panel-title col-xs-4 text-left font">上次安检状态</p>-->
372
- <!--<p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_state }}</p>-->
373
- <!--</div>-->
374
- <div class="col-xs-12">
375
- <p class="panel-title col-xs-5 text-left font" style="width: 25%;"><b>安检状态:</b></p>
376
- <p class="panel-title col-xs-7 text-left input-font">
377
- {{ row.f_state == '已检' ? row.f_last_check_state : row.f_state }}</p>
378
- </div>
379
- <div class="col-xs-12">
380
- <p class="panel-title col-xs-5 text-left font" style="width: 25%;"><b>上传状态:</b></p>
381
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
382
- </div>
383
- <div class="col-xs-12" v-if="row.f_prearranged_date !=null">
384
- <p class="panel-title col-xs-5 text-left font" style="width: 25%;float: left"><b>预约时间:</b></p>
385
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{
386
- row.f_prearranged_date
387
- }}</p>
388
- </div>
389
- <div class="col-xs-12">
390
- <p class="panel-title col-xs-5 text-left font" style="width: 25%;"><b>安检类型:</b></p>
391
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_safecheck_type }}</p>
392
- </div>
393
- <div class="col-xs-12">
394
- <p class="panel-title col-xs-5 text-left font" style="width: 25%;float: left"><b>开户日期:</b></p>
395
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_open_date }}</p>
396
- </div>
397
- <!--<div class="col-xs-12">-->
398
- <!--<p class="panel-title col-xs-5 text-left font"><b>送气期限:</b></p>-->
399
- <!--<p class="panel-title col-xs-7 text-left input-font">{{timeSet(row.f_issue_time)}}</p>-->
400
- <!--</div>-->
401
- <div class="col-xs-12">
402
- <button type="button" name="button" class="btn btn-primary"
403
- style="background-color:#499edf;float: right" @click="$parent.$parent.$parent.inspect(row)">处理
404
- </button>
405
- <!-- <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right;margin-right:10px;" @click="$parent.$parent.$parent.queryplan(row.id)">转发</button>-->
406
- <!--<button type="button" class="btn btn-default" @click="$parent.$parent.$parent.ceshi">确认2</button>-->
407
- </div>
408
- <!-- <div class="row text-right" v-show="row.f_upload_state != '已传'" >-->
409
- <!-- <button type="button" class="btn yybtn-color" v-on:click.stop.prevent='$parent.$parent.$parent.reserve($index)'>预约</button>&nbsp;-->
410
- <!-- <button type="button" class="btn qxbtn-color" v-if ='row.f_prearranged_date'-->
411
- <!-- v-on:click.stop.prevent='$parent.$parent.$parent.cancelReserve($index, row.id)'>取消预约</button>-->
412
- <!-- </div>-->
413
- </div>
414
- </div>
415
- </div>
416
- </div>
417
- </list>
418
- </criteria-paged>
419
- <div style="height: 50px">
420
-
421
- </div>
422
- <modal :show.sync="showModal">
423
- <div slot="modal-header" class="modal-header">
424
- <h4 class="modal-title">
425
- 选择预约时间
426
- </h4>
427
- </div>
428
- <div slot="modal-body" class="modal-body">
429
- <input type="datetime-local" v-model="f_preset_dt">
430
- </div>
431
- <div slot="modal-footer" class="modal-footer">
432
- <button type="button" class="btn btn-default" @click="genuineReserve">确认</button>
433
- </div>
434
- </modal>
435
- <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
436
- <modal :show.sync="showModal2" v-ref:modal>
437
- <div slot="modal-header" class="modal-header">
438
- <h4 class="modal-title">
439
- 选择计划
440
- </h4>
441
- </div>
442
- <div slot="modal-body" class="modal-body">
443
- <div class="col-xs-12">
444
-
445
- <div class="col-xs-4">
446
- <v-select :value.sync="check" v-model='check'
447
- :value-single="true"
448
- class="select_list select"
449
- :options='checkers' placeholder='安检员'
450
- close-on-select width="100%"></v-select>
451
- </div>
452
-
453
- <div class="col-xs-1">
454
- <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
455
- </div>
456
- <div class="col-xs-4" style="padding-left: 2px">
457
- <input class="select-style" placeholder="计划名称" type="text" v-model="plan"
458
- style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
459
- </div>
460
- <div class="col-xs-1">
461
- <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
462
- </div>
463
- <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
464
- <div class="col-xs-2" style="float: right">
465
- <button type="button" class="btn btn-primary" @click="plansearch"
466
- style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">
467
- 查询
468
- </button>
469
- </div>
470
- </div>
471
- <table class="table table_sy">
472
- <thead>
473
- <tr>
474
- <th style="width: 30px"></th>
475
- <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
476
- </tr>
477
- </thead>
478
- <tbody>
479
- <tr v-for="row in planoption">
480
- <td @click="select(row, $index)">{{ row.selected == true ? '☆' : '&nbsp;&nbsp;&nbsp;&nbsp;' }}</td>
481
- <td @click="select(row, $index)" style="text-align: center">{{ row.label }}</td>
482
-
483
-
484
- </tr>
485
- </tbody>
486
- </table>
487
- </div>
488
- <div slot="modal-footer" class="modal-footer">
489
- <button class="btn btn-default" @click="isok()">确认</button>
490
- <button class="btn btn-default" @click="iscancel()">取消</button>
491
- </div>
492
- </modal>
493
- <modal :show.sync="showModal3" v-ref:modal>
494
- <div slot="modal-header" class="modal-header">
495
- <h4 class="modal-title">
496
- 选择计划
497
- </h4>
498
- </div>
499
- <div slot="modal-body" class="modal-body">
500
- <div class="col-xs-12">
501
-
502
- <div class="col-xs-4">
503
- <v-select :value.sync="check" v-model='check'
504
- :value-single="true"
505
- class="select_list select"
506
- :options='checkers' placeholder='安检员'
507
- close-on-select width="100%"></v-select>
508
- </div>
509
-
510
- <div class="col-xs-1">
511
- <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
512
- </div>
513
- <div class="col-xs-4" style="padding-left: 2px">
514
- <input class="select-style" placeholder="计划名称" type="text" v-model="plan"
515
- style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
516
- </div>
517
- <div class="col-xs-1">
518
- <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
519
- </div>
520
- <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
521
- <div class="col-xs-2" style="float: right">
522
- <button type="button" class="btn btn-primary" @click="plansearch"
523
- style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">
524
- 查询
525
- </button>
526
- </div>
527
- </div>
528
- <table class="table table_sy">
529
- <thead>
530
- <tr>
531
- <th style="width: 30px"></th>
532
- <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
533
- </tr>
534
- </thead>
535
- <tbody>
536
- <tr v-for="row in planoption">
537
- <td @click="select(row, $index)">{{ row.selected == true ? '☆' : '&nbsp;&nbsp;&nbsp;&nbsp;' }}</td>
538
- <td @click="select(row, $index)" style="text-align: center">{{ row.label }}</td>
539
-
540
-
541
- </tr>
542
- </tbody>
543
- </table>
544
- </div>
545
- <div slot="modal-footer" class="modal-footer">
546
- <button class="btn btn-default" @click="manyisok()">确认</button>
547
- <button class="btn btn-default" @click="iscancel()">取消</button>
548
- </div>
549
- </modal>
550
- </div>
551
-
552
- </template>
553
-
554
- <script>
555
- import LocalPagedList from '../../../plugins/LocalPagedList'
556
- import Vue from 'vue'
557
- import {HttpResetClass, PagedList} from 'vue-client'
558
- import * as Util from '../../Util'
559
- import co from 'co'
560
-
561
- let select = function* (self) {
562
- let http = new HttpResetClass()
563
- http.load('POST', `${self.$androidUtil.getProxyUrl()}/rs/search`, {
564
- source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
565
- userid: Vue.user.id
566
- }, {resolveMsg: null, rejectMsg: null}).then((res) => {
567
- //tag
568
- self.checkers.push({label: '全部', value: ''})
569
- res.data.forEach((checker) => {
570
- self.checkers.push({label: checker.name, value: checker.id})
571
- })
572
- })
573
- }
574
- export default {
575
- title: '无计划安检查询',
576
- props: ['planName'],
577
- data() {
578
- return {
579
- f_filialeids: '(' + Vue.user.orgid + ')',
580
- //f_filialeids:'(305)',
581
- planparam: [],
582
- check: '',
583
- plan: '',
584
- planid: '',
585
- model: Vue.android ? new LocalPagedList('androidGetuserinfo', 20, {condition: 'this.condition'}) : new PagedList('AndroidRest/api/af-safecheck/sql/androidGetuserinfo', 20, {condition: 'this.condition'}),
586
- showModal: false,
587
- showModal2: false,
588
- showModal3: false,
589
- needid: '',
590
- criteriaShow: false,
591
- planoption: [],
592
- condition: '',
593
- checkers: [],
594
- param: null,
595
- f_preset_dt: Util.to3339TimeString(),
596
- flow_direction: [
597
- {label: '请选择挂表方式', value: ''},
598
- {label: '左表', value: '左表'},
599
- {label: '右表', value: '右表'}
600
- ],
601
- check_states: [
602
- {label: '请选择安检状态', value: ''},
603
- {label: '未检', value: '未检'},
604
- {label: '临时保存', value: '已检'},
605
- ],
606
- last_check_states: [
607
- {label: '请选择上次安检状态', value: ''},
608
- {label: '入户', value: '入户'},
609
- {label: '拒检', value: '拒检'},
610
- {label: '到访不遇', value: '到访不遇'},
611
- {label: '未使用天然气', value: '未使用天然气'}
612
- ],
613
- upload_states: [
614
- {label: '请选择上传状态', value: ''},
615
- {label: '未传', value: '未传'},
616
- {label: '已传', value: '已传'}
617
- ],
618
- user_types: [
619
- {label: '请选择用户类型', value: ''},
620
- {label: '民用', value: '民用'},
621
- {label: '非民用', value: '非民用'},
622
- ],
623
- verify_state: [
624
- {label: '请选择审核状态', value: ''},
625
- {label: '未审核', value: '未审核'},
626
- {label: '打回', value: '打回'}
627
- ],
628
- residentialAreaOptions: [],
629
- buildOptions: [],
630
- unitOptions: [],
631
- floors: [],
632
- planNameOptions: [],
633
- upcomingCount: 0,
634
- doneCount: 0,
635
- tempSaveCount: 0,
636
- allPlanCount: 0
637
- }
638
- },
639
- ready() {
640
- this.$refs.paged.$refs.cri.model.f_residential_area = ''
641
- this.$refs.paged.$refs.cri.model.f_building = ''
642
- this.$refs.paged.$refs.cri.model.f_unit = ''
643
- this.getAllArea()
644
- this.getAllPlanName()
645
- this.selfSearch()
646
- let gen = select(this)
647
- co(gen)
648
- },
649
- mounted() {
650
- //tag
651
- if (window.history && window.history.pushState) {
652
- history.pushState(null, null, document.URL);
653
- window.addEventListener('popstate', this.fun, false);//false阻止默认事件
654
- }
655
- },
656
- destroyed() {
657
- //tag
658
- window.removeEventListener('popstate', this.fun, false);//false阻止默认事件
659
- },
660
- methods: {
661
- scan() {
662
- HostApp.__this__ = this,
663
- HostApp.scanCode({callback: "javascript:HostApp.__this__.getCode();"})
664
- },
665
- getCode() {
666
- const datapa = HostApp.getCode().data;
667
- //tag
668
- this.$refs.paged.$refs.cri.model.f_meter_no = datapa
669
-
670
- },
671
- fun() {
672
- //tag
673
- //tag
674
- },
675
- iscancel() {
676
- this.showModal2 = false
677
- this.showModal3 = false
678
- this.planoption = []
679
- },
680
- timeSet(val) {
681
- return val
682
- },
683
- async isok() {
684
- if (this.planoption.length == 0) {
685
- this.$showMessage("请选择计划")
686
- return false
687
- }
688
- for (let i = 0; i < this.planoption.length; i++) {
689
- if (this.planoption[i]["selected"] == true) {
690
- this.planid = this.planoption[i].value
691
- break
692
- }
693
- }
694
- if (this.planid == '') {
695
- this.$showMessage("请选择计划")
696
- return false
697
- }
698
- await this.okput()
699
- },
700
- async manyisok() {
701
- if (this.planoption.length == 0) {
702
- this.$showMessage("请选择计划")
703
- return false
704
- }
705
- for (let i = 0; i < this.planoption.length; i++) {
706
- if (this.planoption[i]["selected"] == true) {
707
- this.planid = this.planoption[i].value
708
- break
709
- }
710
- }
711
- if (this.planid == '') {
712
- this.$showMessage("请选择计划")
713
- return false
714
- }
715
- await this.manyokput()
716
- },
717
- changenull() {
718
- this.showModal2 = false
719
- this.showModal3 = false
720
- this.planoption = []
721
- this.plan = ''
722
- this.check = ''
723
- },
724
- async okput() {
725
- let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/UpCheckPlanItem`, {
726
- data: {
727
-
728
- condition: `i.id='` + this.needid + `'`,
729
- f_plan_id: this.planid,
730
- switchCheckAll: false,
731
- checkAll: false,
732
- f_operator: Vue.user.name
733
- }
734
- })
735
- await this.changenull()
736
- await this.getNewOrder()
737
- },
738
- async manyokput() {
739
- let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/UpCheckPlanItem`, {
740
- data: {
741
- columnName: "i.id",
742
- condition: "1=1",
743
- f_plan_id: this.planid,
744
- switchCheckAll: true,
745
- param: this.planparam,
746
- checkAll: false,
747
- f_operator: Vue.user.name
748
- }
749
- })
750
- await this.changenull()
751
- await this.getNewOrder()
752
- },
753
- async plansearch() {
754
- this.planoption = []
755
- let condition = `f_checker_id=` + this.check + ` and f_plan_name like '%` + this.plan + `%'`
756
- if (!this.check) {
757
- condition = `f_plan_name like '%` + this.plan + `%'`
758
- }
759
- let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/预约计划下发`, {
760
- data: {
761
- condition: condition,
762
- f_filialeids: this.f_filialeids,
763
- groupitem: '',
764
- orderitem: 'id'
765
- }
766
- })
767
- let resoult = res.data
768
- for (let i = 0; i < resoult.length; i++) {
769
- this.planoption.push({label: resoult[i].f_plan_name, selected: false, value: resoult[i].id})
770
- }
771
- },
772
-
773
- select(row, idx) {
774
- this.$set('planoption[' + idx + '].selected', true)
775
- for (let i = 0; i < this.planoption.length; i++) {
776
- if (i != idx) {
777
- this.planoption[i]["selected"] = false
778
- }
779
- }
780
- },
781
- planclose() {
782
- this.showModal2 = false
783
- this.showModal3 = false
784
- },
785
- queryplan(val) {
786
- this.needid = val
787
- this.showModal2 = true
788
- },
789
- queryplanmany() {
790
- this.$refs.paged.$refs.cri.model.f_residential_area = ''
791
- this.$refs.paged.$refs.cri.model.f_building = ''
792
- this.$refs.paged.$refs.cri.model.f_unit = ''
793
- this.$refs.paged.$refs.cri.model.f_userinfo_code = ''
794
- this.$refs.paged.$refs.cri.model.f_user_name = ''
795
- this.$refs.paged.$refs.cri.model.f_enter_number = ''
796
- this.$refs.paged.$refs.cri.model.f_plan_name = ''
797
- this.$refs.paged.$refs.cri.model.f_state = ''
798
- this.$refs.paged.$refs.cri.model.f_meter_no = ''
799
- this.$refs.paged.$refs.cri.model.f_address = ''
800
- this.$refs.paged.$refs.cri.model.f_user_type = ''
801
- },
802
- reload() {
803
- // this.getAllArea()
804
- // this.getAllPlanName()
805
- this.selfSearch()
806
- },
807
- cancelReserve(idx, id) {
808
- if (Vue.android) {
809
- let res = this.$androidUtil.bzLogic('BookingCheck', {dt: '', id: id})
810
- this.$set('model.rows[' + idx + '].f_prearranged_date', null)
811
- if (res.code == 200) {
812
- this.$showMessage("取消预约成功")
813
- }
814
- } else {
815
- this.$androidUtil.bzLogic('PCbookingCheck', {dt: '', id: id}).then((repanse) => {
816
- this.$set('model.rows[' + idx + '].f_prearranged_date', null)
817
- if (repanse.data.code == 200) {
818
- alert("取消预约成功!")
819
- }
820
- })
821
- }
822
- },
823
- genuineReserve() {
824
- if (Vue.android) {
825
- if (!this.f_preset_dt) {
826
- this.$showMessage('请选择一个日期')
827
- return
828
- }
829
- let pdt = this.f_preset_dt.replace('T', ' ')
830
- let respanse = this.$androidUtil.bzLogic('BookingCheck', {id: this.model.rows[this.param].id, dt: pdt})
831
- this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
832
- if (respanse.code == 200) {
833
- this.$showMessage("预约成功!")
834
- }
835
- this.showModal = false
836
- } else {
837
- if (!this.f_preset_dt) {
838
- alert('请选择一个日期')
839
- return
840
- }
841
- let pdt = this.f_preset_dt.replace('T', ' ')
842
- this.$androidUtil.bzLogic('PCbookingCheck', {id: this.model.rows[this.param].id, dt: pdt}).then((res) => {
843
- this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
844
- if (res.data.code == 200) {
845
- alert("预约成功!")
846
- }
847
- this.showModal = false
848
- })
849
- }
850
- },
851
- inspect(row) {
852
- var _this = this
853
- if (row.f_upload_state == '未传' || (row.f_upload_state == '已传' && (row.f_state == '未检' || (row.f_state == '已检' && (row.f_last_check_state == '到访不遇' || row.f_last_check_state == '拒检'))) && row.f_no_checkplan != '无计划安检')) {
854
- new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/safe_singleTable_OrderBy`, {
855
- data: {
856
- items: '*',
857
- tablename: 't_check_plan',
858
- condition: `id = '${row.f_plan_id}'`,
859
- orderitem: 'id'
860
- }
861
- }).then(resp => {
862
- let myDate = new Date()
863
- // if (resp.data[0].f_end_time > myDate.getFullYear() + '-' + (myDate.getMonth() + 1) + '-' + myDate.getDay() || !resp.data[0].f_end_time) {
864
- _this.$resetpost(`${_this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/查询计划项表信息`, {data: {f_userid: row.f_userinfoid}}, {
865
- resolveMsg: null,
866
- rejectMsg: null
867
- }).then((response) => {
868
- if(response.data.length!=1){
869
- this.$showMessage("当前用户有多条表信息,请联系管理员核实进行处理!")
870
- }else{
871
- row['f_plan_meters'] = response.data
872
- var pardate = {
873
- _this: _this,
874
- title: '安全检查',
875
- safe: true
876
- }
877
- _this.$dispatch('gotoson', pardate)
878
- _this.$goto('safecheck-order-v', {
879
- f_plan_id: row.f_plan_id,
880
- item: row,
881
- role: 'inspect',
882
- parentPage: 'CurrentCreate'
883
- }, 'self', _this.reload)
884
- }
885
- }).catch((msg) => {
886
- this.$showMessage("网络异常,请检查网络后再试!")
887
- })
888
- // } else {
889
- // this.getNewOrder()
890
- // this.$showMessage("计划超期,请联系管理员")
891
- // }
892
- }).catch(error => {
893
-
894
- })
895
- } else {
896
- this.$showMessage("该安检单已被上传!")
897
- }
898
- },
899
- makeAPhoneCall(phoneNumber) {
900
- this.$androidUtil.makeAPhoneCall(phoneNumber)
901
- },
902
- reserve(idx) {
903
- this.param = idx
904
- this.showModal = true
905
- },
906
- search(args) {
907
- this.model.rows = []
908
- this.model.search(args.condition, args.model)
909
- },
910
- selfSearch() {
911
- this.getPlanCount()
912
- let condition = "and f_checker_id =" + Vue.user.id
913
- if (this.$refs.paged.$refs.cri.model.f_residential_area)
914
- condition += " and ti.f_residential_area like '%" + this.$refs.paged.$refs.cri.model.f_residential_area + "%'"
915
- if (this.$refs.paged.$refs.cri.model.f_building)
916
- condition += " and ti.f_building = '" + this.$refs.paged.$refs.cri.model.f_building + "'"
917
- if (this.$refs.paged.$refs.cri.model.f_unit)
918
- condition += " and ti.f_unit = '" + this.$refs.paged.$refs.cri.model.f_unit + "'"
919
- if (this.$refs.paged.$refs.cri.model.floor)
920
- condition += " and ti.f_floor = '" + this.$refs.paged.$refs.cri.model.floor + "'"
921
- if (this.planName) {
922
- condition += " and f_plan_name like '%" + this.planName + "%'"
923
- } else {
924
- if (this.$refs.paged.$refs.cri.model.f_plan_name && this.$refs.paged.$refs.cri.model.f_plan_name.length > 0)
925
- condition += " and f_plan_name like '%" + this.$refs.paged.$refs.cri.model.f_plan_name + "%'"
926
- }
927
- // if(this.$refs.paged.$refs.cri.model.f_plan_year)
928
- // condition += " and f_plan_year = '"+this.$refs.paged.$refs.cri.model.f_plan_year +"'"
929
- // if(this.$refs.paged.$refs.cri.model.f_plan_month)
930
- // condition += " and f_plan_month = '"+this.$refs.paged.$refs.cri.model.f_plan_month +"'"
931
- if (this.$refs.paged.$refs.cri.model.f_userinfo_code)
932
- condition += " and ti.f_userinfo_code like '%" + this.$refs.paged.$refs.cri.model.f_userinfo_code + "%'"
933
- if (this.$refs.paged.$refs.cri.model.f_keyword)
934
- condition += " and ti.f_address like '%" + this.$refs.paged.$refs.cri.model.f_keyword + "%'"
935
- if (this.$refs.paged.$refs.cri.model.f_user_name)
936
- condition += " and ti.f_user_name like '%" + this.$refs.paged.$refs.cri.model.f_user_name + "%'"
937
- if (this.$refs.paged.$refs.cri.model.f_state[0])
938
- condition += " and ti.f_state='" + this.$refs.paged.$refs.cri.model.f_state[0] + "' and (f_complete = '' or f_complete is null or f_complete = '未完成')"
939
- // if(this.$refs.paged.$refs.cri.model.f_last_state[0])
940
- // condition += " and ti.f_last_check_state='"+this.$refs.paged.$refs.cri.model.f_last_state[0]+"'"
941
- if (this.$refs.paged.$refs.cri.model.f_user_type[0])
942
- condition += " and ti.f_user_type='" + this.$refs.paged.$refs.cri.model.f_user_type[0] + "'"
943
- if (this.$refs.paged.$refs.cri.model.f_meter_no)
944
- condition += " and tm.f_meter_no like '%" + this.$refs.paged.$refs.cri.model.f_meter_no + "%'"
945
- // if(this.$refs.paged.$refs.cri.model.f_flow_direction[0])
946
- // condition += " and tm.f_flow_direction = '"+this.$refs.paged.$refs.cri.model.f_flow_direction[0]+"'"
947
-
948
- if (this.$refs.paged.$refs.cri.model.f_enter_number)
949
- condition += " and ti.f_enter_number like '%" + this.$refs.paged.$refs.cri.model.f_enter_number + "%'"
950
-
951
- const searchCondition = "((f_complete = '' or f_complete is null or f_complete = '未完成') or (f_state = '未检') or (f_state = '已检' and (f_last_check_state='到访不遇' or f_last_check_state='拒检') )) and ti.f_no_checkplan = '有计划安检'" + condition
952
- //tag
953
- this.model.search(searchCondition)
954
- },
955
- getNewOrder() {
956
- HostApp.__this__ = this
957
- HostApp.logicWithHint({
958
- // logic别名,key必须为logic
959
- 'logic': 'SafeCheckServiceTimeOut',
960
- // 回调执行方法名,key必须为callback
961
- 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
962
- // logic执行需要的业务参数
963
- 'data': {params: ''},
964
- // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
965
- // 执行回调方法传入key为backresult
966
- // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
967
- 'backresult': 1
968
- })
969
- },
970
- getNewOrderCallBack() {
971
- this.selfSearch()
972
- this.getAllArea()
973
- this.getAllPlanName()
974
- },
975
- hidden() {
976
- this.criteriaShow = !this.criteriaShow
977
- },
978
- getAllArea() {
979
- this.residentialAreaOptions = []
980
- this.buildOptions = []
981
- this.unitOptions = []
982
- // this.$refs.paged.$refs.cri.model.f_residential_area = ''
983
- // this.$refs.paged.$refs.cri.model.f_building = ''
984
- // this.$refs.paged.$refs.cri.model.f_unit = ''
985
- let criteria = {
986
- items: 'f_residential_area',
987
- tablename: 't_check_plan_item',
988
- condition: `f_residential_area IS NOT NULL AND f_residential_area != '' AND (f_state <> '已检' or (f_state = '已检' and (f_last_check_state='到访不遇' or f_last_check_state='拒检')))`,
989
- groupitem: 'f_residential_area'
990
- }
991
- let result = HostApp._executeTask({
992
- 'type': 'sql',
993
- 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
994
- })
995
- //tag)
996
- if (result.code == 200) {
997
- result.data.rows.forEach(item => this.residentialAreaOptions.push({
998
- label: item.f_residential_area,
999
- value: item.f_residential_area
1000
- }))
1001
- }
1002
- //tag)
1003
- },
1004
- getbuilds(f_residential_area) {
1005
- //tag)
1006
- this.buildOptions = []
1007
- this.unitOptions = []
1008
- this.$refs.paged.$refs.cri.model.f_building = ''
1009
- this.$refs.paged.$refs.cri.model.f_unit = ''
1010
- if (!f_residential_area) {
1011
- return
1012
- }
1013
- let criteria = {
1014
- items: 'f_building',
1015
- tablename: 't_check_plan_item',
1016
- condition: `f_building IS NOT NULL AND f_building != '' AND (f_state <> '已检' or (f_state = '已检' and (f_last_check_state='到访不遇' or f_last_check_state='拒检'))) AND f_residential_area = '${f_residential_area}'`,
1017
- groupitem: 'f_building'
1018
- }
1019
- let result = HostApp._executeTask({
1020
- 'type': 'sql',
1021
- 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1022
- })
1023
- if (result.code == 200) {
1024
- result.data.rows.forEach(item => this.buildOptions.push({label: item.f_building, value: item.f_building}))
1025
- }
1026
- //tag)
1027
- },
1028
- getUnits(f_building) {
1029
- f_building = f_building[0]
1030
- //tag)
1031
- this.unitOptions = []
1032
- this.$refs.paged.$refs.cri.model.f_unit = ''
1033
- if (!f_building) {
1034
- return
1035
- }
1036
- let criteria = {
1037
- items: 'f_unit',
1038
- tablename: 't_check_plan_item',
1039
- condition: `f_unit IS NOT NULL AND f_unit != '' AND (f_state <> '已检' or (f_state = '已检' and (f_last_check_state='到访不遇' or f_last_check_state='拒检'))) AND f_residential_area = '${this.$refs.paged.$refs.cri.model.f_residential_area}' AND f_building = '${f_building}'`,
1040
- groupitem: 'f_unit'
1041
- }
1042
- let result = HostApp._executeTask({
1043
- 'type': 'sql',
1044
- 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1045
- })
1046
- if (result.code == 200) {
1047
- result.data.rows.forEach(item => this.unitOptions.push({label: item.f_unit, value: item.f_unit}))
1048
- }
1049
- //tag)
1050
- },
1051
- getfloors(f_unit) {
1052
- f_unit = f_unit[0]
1053
- //tag)
1054
- this.floors = []
1055
- this.$refs.paged.$refs.cri.model.floor = ''
1056
- if (!f_unit) {
1057
- return
1058
- }
1059
- let criteria = {
1060
- items: 'f_floor',
1061
- tablename: 't_check_plan_item',
1062
- condition: `f_floor IS NOT NULL AND f_floor != '' AND (f_state <> '已检' or (f_state = '已检' and (f_last_check_state='到访不遇' or f_last_check_state='拒检'))) AND f_residential_area = '${this.$refs.paged.$refs.cri.model.f_residential_area}' AND f_building = '${this.$refs.paged.$refs.cri.model.f_building}' AND f_unit = '${f_unit}'`,
1063
- groupitem: 'f_floor'
1064
- }
1065
- let result = HostApp._executeTask({
1066
- 'type': 'sql',
1067
- 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1068
- })
1069
- if (result.code == 200) {
1070
- result.data.rows.forEach(item => this.floors.push({label: item.f_floor, value: item.f_floor}))
1071
- }
1072
- //tag)
1073
- },
1074
- getPlanCount() {
1075
- this.upcomingCount = 0
1076
- this.tempSaveCount = 0
1077
- this.doneCount = 0
1078
- this.allPlanCount = 0
1079
- let criteria = {
1080
- items: 'count(id) count',
1081
- tablename: 't_check_plan_item',
1082
- condition: `f_state = '未检'`,
1083
- groupitem: 'f_state'
1084
- }
1085
- let result = HostApp._executeTask({
1086
- 'type': 'sql',
1087
- 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1088
- })
1089
- if (result.code && result.code == 200) {
1090
- if (result.data.rows[0] && !isNaN(result.data.rows[0].count)) {
1091
- this.upcomingCount = result.data.rows[0].count
1092
- }
1093
- }
1094
- criteria = {
1095
- items: 'count(id) count',
1096
- tablename: 't_check_plan_item',
1097
- condition: `(f_complete = '' or f_complete = null or f_complete = '未完成') AND f_state = '已检'`,
1098
- groupitem: 'f_state'
1099
- }
1100
- result = HostApp._executeTask({
1101
- 'type': 'sql',
1102
- 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1103
- })
1104
- if (result.code && result.code == 200) {
1105
- if (result.data.rows[0] && !isNaN(result.data.rows[0].count)) {
1106
- this.tempSaveCount = result.data.rows[0].count
1107
- }
1108
- }
1109
- criteria = {
1110
- items: 'count(id) count',
1111
- tablename: 't_check_plan_item',
1112
- condition: `f_complete = '已完成' AND f_state = '已检'`,
1113
- groupitem: 'f_state'
1114
- }
1115
- result = HostApp._executeTask({
1116
- 'type': 'sql',
1117
- 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1118
- })
1119
- if (result.code && result.code == 200) {
1120
- if (result.data.rows[0] && !isNaN(result.data.rows[0].count)) {
1121
- this.doneCount = result.data.rows[0].count
1122
- }
1123
- }
1124
- this.allPlanCount = this.upcomingCount + this.tempSaveCount + this.doneCount
1125
-
1126
- //tag
1127
- //tag
1128
- //tag
1129
- //tag
1130
- },
1131
- getAllPlanName() {
1132
- this.planNameOptions = []
1133
- this.$refs.paged.$refs.cri.model.f_plan_name = ''
1134
- let criteria = {
1135
- items: 'f_plan_name',
1136
- tablename: 't_check_plan',
1137
- condition: `f_plan_name IS NOT NULL AND f_plan_name != ''`,
1138
- groupitem: 'f_plan_name'
1139
- }
1140
- let result = HostApp._executeTask({
1141
- 'type': 'sql',
1142
- 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1143
- })
1144
- //tag)
1145
- if (result.code == 200) {
1146
- result.data.rows.forEach(item => this.planNameOptions.push({
1147
- label: item.f_plan_name,
1148
- value: item.f_plan_name
1149
- }))
1150
- }
1151
- //tag)
1152
- },
1153
- setPlanParam(detailsType, event) {
1154
- if (event.srcElement.checked) {
1155
- this.planparam.push(detailsType)
1156
- //tag
1157
- } else {
1158
- if (this.planparam.length > 0) {
1159
- let planid = this.planparam.findIndex((value) => {
1160
- return value === detailsType
1161
- })
1162
- this.planparam.splice(planid, 1)
1163
- //tag
1164
-
1165
- }
1166
-
1167
- }
1168
- }
1169
- }
1170
- }
1171
- </script>
1
+ <style scoped>
2
+ .bg {
3
+ background-color: blue;
4
+ height: 1px;
5
+ border: 0;
6
+ }
7
+
8
+ .app-row {
9
+ background-color: white;
10
+ padding: 10px 10px 0 10px;
11
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
12
+ }
13
+
14
+ .search_input {
15
+ border: 0;
16
+ outline: none;
17
+ }
18
+
19
+ .font {
20
+ font: 15px PingFang-SC-Medium;
21
+ color: #666666;
22
+ }
23
+
24
+ .input-font {
25
+ font: 15px PingFang-SC-Medium;
26
+ color: #333333;
27
+ }
28
+
29
+ .btn-font {
30
+ font: 600 16px PingFang-SC-Bold;
31
+ color: #499EDF;
32
+ }
33
+
34
+ .btn-color {
35
+ background-color: #FFFFFF;
36
+ border-radius: 10px;
37
+ border: 1px solid #499EDF;
38
+ }
39
+
40
+ .app-text {
41
+ font-size: 12px;
42
+ }
43
+
44
+ .panel-self {
45
+ border-radius: 10px;
46
+ border: 1px solid #499EDF;
47
+ background-color: #F8F8F8;
48
+ }
49
+
50
+ .yybtn-color {
51
+ background-color: #499edf;
52
+ border-radius: 4px;
53
+ border: 1px solid #499EDF;
54
+ color: #FFFFFF;
55
+ font: 14px PingFang-SC-Bold;
56
+ }
57
+
58
+ .qxbtn-color {
59
+ background-color: #FFFFFF;
60
+ border-radius: 4px;
61
+ color: #499edf;
62
+ font: 14px PingFang-SC-Bold;
63
+ border: 1px solid #499EDF;
64
+ }
65
+
66
+ .button_shrink_top {
67
+ width: 35px;
68
+ height: 35px;
69
+ background-size: 100%;
70
+ background-image: url("../../../../static/newStyle/stretch_top.png")
71
+ }
72
+
73
+ .button_shrink_bottom {
74
+ width: 35px;
75
+ height: 35px;
76
+ background-size: 100%;
77
+ background-image: url("../../../../static/newStyle/stretch_bottom.png")
78
+ }
79
+
80
+ .button_shrink_left {
81
+ width: 35px;
82
+ height: 35px;
83
+ background-size: 100%;
84
+ background-image: url("../../../../static/newStyle/stretch_left.png")
85
+ }
86
+
87
+ .button_shrink_right {
88
+ width: 35px;
89
+ height: 35px;
90
+ background-size: 100%;
91
+ background-image: url("../../../../static/newStyle/stretch_right.png")
92
+ }
93
+ </style>
94
+ <style>
95
+ .clear-select-with .dropdown-menu {
96
+ left: 0px !important;
97
+ width: 200% !important;
98
+ }
99
+ </style>
100
+ <template>
101
+ <div style="height: auto;width: 100%">
102
+ <criteria-paged :model="model" v-ref:paged>
103
+ <criteria partial='criteria' @condition-changed='search' v-ref:cri>
104
+ <div partial>
105
+ <form>
106
+ <div class="row app-row">
107
+ <!--小区名称-->
108
+ <v-select :value.sync="model.f_residential_area"
109
+ class="input-font clear-select-with"
110
+ :options='$parent.$parent.residentialAreaOptions'
111
+ placeholder='小区名称'
112
+ :width="'46.5%'"
113
+ v-model="model.f_residential_area"
114
+ condition="ti.f_residential_area = '{}'"
115
+ @change="$parent.$parent.getbuilds"
116
+ close-on-select clear-button>
117
+ </v-select>
118
+ <!--楼栋-->
119
+ <v-select :value.sync="model.f_building"
120
+ class="input-font"
121
+ :options='$parent.$parent.buildOptions'
122
+ placeholder='楼栋'
123
+ :width="'46.5%'"
124
+ v-model="model.f_building"
125
+ condition="ti.f_building = '{}'"
126
+ @change="$parent.$parent.getUnits"
127
+ close-on-select clear-button>
128
+ </v-select>
129
+ </div>
130
+ <div class="row app-row">
131
+ <!--单元-->
132
+ <v-select :value.sync="model.f_unit"
133
+ class="input-font"
134
+ :options='$parent.$parent.unitOptions'
135
+ placeholder='单元'
136
+ :width="'46.5%'"
137
+ @change="$parent.$parent.getfloors"
138
+ v-model="model.f_unit"
139
+ condition="ti.f_unit = '{}'"
140
+ close-on-select clear-button>
141
+ </v-select>
142
+ <!--楼层-->
143
+ <v-select :value.sync="model.floor"
144
+ class="input-font"
145
+ :options='$parent.$parent.floors'
146
+ placeholder='楼层'
147
+ :width="'46.5%'"
148
+ v-model="model.floor"
149
+ condition="ti.f_floor = '{}'"
150
+ close-on-select clear-button>
151
+ </v-select>
152
+ </div>
153
+ <div class="row app-row">
154
+ <div class="col-xs-4">
155
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
156
+ <label for="f_userinfo_code" class="font text-left">用户编号:</label>
157
+ </div>
158
+ <div class="col-xs-8">
159
+ <input id="f_userinfo_code" class="search_input input-font"
160
+ v-model=model.f_userinfo_code condition="f_userinfo_code like '%{}%'"/>
161
+ </div>
162
+ </div>
163
+ <div class="row app-row">
164
+ <div class="col-xs-4">
165
+ <img src="../../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
166
+ <label class="font text-left">用户姓名:</label>
167
+ </div>
168
+ <div class="col-xs-8">
169
+ <input class="search_input input-font" v-model=model.f_user_name condition="f_user_name like '%{}%'"/>
170
+ </div>
171
+ </div>
172
+
173
+ <!-- <div class="row app-row">-->
174
+ <!-- <div class="col-xs-4">-->
175
+ <!-- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">-->
176
+ <!-- <label class="font text-left">用户证号:</label>-->
177
+ <!-- </div>-->
178
+ <!-- <div class="col-xs-8" >-->
179
+ <!-- <input class="search_input input-font" v-model=model.f_enter_number condition="f_enter_number like '%{}%'" />-->
180
+ <!-- </div>-->
181
+ <!-- </div>-->
182
+
183
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow && !$parent.$parent.planName">
184
+ <div class="col-xs-4">
185
+ <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
186
+ <label for="f_plan_name" class="font text-left">计划名称:</label>
187
+ </div>
188
+ <v-select
189
+ id="f_plan_name"
190
+ :value.sync="model.f_plan_name"
191
+ class="input-font"
192
+ :options='$parent.$parent.planNameOptions'
193
+ placeholder='计划名称'
194
+ :width="'60%'"
195
+ v-model="model.f_plan_name"
196
+ condition="f_plan_name like '%{}%'"
197
+ close-on-select clear-button>
198
+ </v-select>
199
+ </div>
200
+
201
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
202
+ <div class="col-xs-4">
203
+ <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
204
+ <label for="f_state" class="font text-left">是否已检:</label>
205
+ </div>
206
+ <v-select id="f_state"
207
+ :value.sync="model.f_state"
208
+ class="input-font"
209
+ :options='$parent.$parent.check_states'
210
+ placeholder='是否已检'
211
+ :width="'60%'"
212
+ v-model="model.f_state"
213
+ condition="f_state='{}'"
214
+ close-on-select clear-button>
215
+ </v-select>
216
+ </div>
217
+
218
+
219
+ <!--<div class="row app-row">-->
220
+ <!--<div class="col-xs-4">-->
221
+ <!--<img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">-->
222
+ <!--<label for="f_plan_year" class="font text-left">计划年份:</label>-->
223
+ <!--</div>-->
224
+ <!--<div class="col-xs-8" >-->
225
+ <!--<input id="f_plan_year" class="search_input input-font"-->
226
+ <!--v-model="model.f_plan_year" condition="f_plan_year = '{}'" />-->
227
+ <!--</div>-->
228
+ <!--</div>-->
229
+ <!--<div class="row app-row">-->
230
+ <!--<div class="col-xs-4">-->
231
+ <!--<img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">-->
232
+ <!--<label for="f_plan_month" class="font text-left">计划月份:</label>-->
233
+ <!--</div>-->
234
+ <!--<div class="col-xs-8" >-->
235
+ <!--<input id="f_plan_month" class="search_input input-font"-->
236
+ <!--v-model="model.f_plan_month" condition="f_plan_month = '{}'" />-->
237
+ <!--</div>-->
238
+ <!--</div>-->
239
+
240
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
241
+ <div class="col-xs-4">
242
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
243
+ <label class="font text-left">气表编号:</label>
244
+ </div>
245
+ <div class="col-xs-5">
246
+ <input class="search_input input-font"
247
+ v-model=model.f_meter_no condition="f_meter_no like '%{}%'"/>
248
+ </div>
249
+ <div class="col-xs-3">
250
+ <button type="button" class="btn btn-lg btn-font btn-color" @click="$parent.$parent.scan()">扫码</button>
251
+ </div>
252
+ </div>
253
+
254
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
255
+ <div class="col-xs-4">
256
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
257
+ <label class="font text-left">用户地址:</label>
258
+ </div>
259
+ <div class="col-xs-8">
260
+ <input class="search_input input-font"
261
+ v-model=model.f_keyword condition="f_address like '%{}%'"/>
262
+ </div>
263
+ </div>
264
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
265
+ <div class="col-xs-4">
266
+ <img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
267
+ <label for="f_user_type" class="font text-left">用户类型:</label>
268
+ </div>
269
+ <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
270
+ :width="'60%'"
271
+ :options='$parent.$parent.user_types' placeholder='请选择用户类型'
272
+ v-model="model.f_user_type" condition="f_user_type='{}'" close-on-select
273
+ clear-button></v-select>
274
+ </div>
275
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
276
+ <div class="col-xs-6" style="text-align: center">
277
+ <span class="font text-left">待办{{ $parent.$parent.upcomingCount }}条</span>
278
+ </div>
279
+ <div class="col-xs-6" style="text-align: center">
280
+ <span class="font text-left">已办{{ $parent.$parent.doneCount }}条</span>
281
+ </div>
282
+ <div class="col-xs-6" style="text-align: center">
283
+ <span class="font text-left">临时保存{{ $parent.$parent.tempSaveCount }}条</span>
284
+ </div>
285
+ <div class="col-xs-6" style="text-align: center">
286
+ <span class="font text-left">总共{{ $parent.$parent.allPlanCount }}条</span>
287
+ </div>
288
+ </div>
289
+
290
+ <div class="row text-center" style="margin-top: 20px;">
291
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;"
292
+ @click="$parent.$parent.selfSearch">查询
293
+ </button>
294
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%; margin-left: 10px"
295
+ @click="$parent.$parent.queryplanmany">重置
296
+ </button>
297
+ <div style="float: right;margin-right: 3% " class="button_spacing"
298
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
299
+ @click="$parent.$parent.hidden()"></div>
300
+ <img v-if="!$parent.$parent.planName" style="float: right;margin-right: 3% "
301
+ @click="$parent.$parent.getNewOrder" src="../../../assets/shuaxindaiban1.png"
302
+ style="width: 40px;padding: 5px; float:right">
303
+ </div>
304
+ <div class="col-sm-12">
305
+
306
+ </div>
307
+ <!--<div class="row app-btn">-->
308
+ <!--<button class="btn btn-primary col-xs-6" type="button" @click="search"><span class="glyphicon glyphicon-search" style="margin-right: 20px;">查询</span></button>-->
309
+ <!--</div>-->
310
+ <div style="height:30px;"></div>
311
+ </form>
312
+ </div>
313
+ </criteria>
314
+ <list :model="model" partial='list'>
315
+ <div partial>
316
+ <div class="auto app-text" style="margin-top: 5px;">
317
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
318
+ <div class="panel-body panel-self">
319
+
320
+ <div class="col-xs-12">
321
+ <p class="panel-title col-xs-5 text-left font" style="width: 25%;float: left"><b>用户编号:</b></p>
322
+ <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{ row.f_userinfo_code }}</p>
323
+ <p class="panel-title col-xs-2 text-left input-font" style="width: 5%;float:right">
324
+ <input type="checkbox" @click="$parent.$parent.$parent.setPlanParam(row.id, $event)"/>
325
+ </p>
326
+ </div>
327
+ <div class="col-xs-12">
328
+ <p class="panel-title col-xs-5 text-left font" style="width: 25%;float: left"><b>用户名称:</b></p>
329
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_name }}</p>
330
+ </div>
331
+ <div class="col-xs-12">
332
+ <p class="panel-title col-xs-5 text-left font" style="width: 25%;"><b>用户类型:</b></p>
333
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
334
+ </p>
335
+ </div>
336
+ <div class="col-xs-12">
337
+ <p class="panel-title col-xs-5 text-left font" style="width: 25%;"><b>计划名称:</b></p>
338
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
339
+ </div>
340
+ <!-- <div class="col-xs-6">-->
341
+ <!-- <p class="panel-title col-xs-5 text-left font"><b>小区名称:</b></p>-->
342
+ <!-- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_residential_area }}</p>-->
343
+ <!-- </div>-->
344
+ <div class="col-xs-12">
345
+ <p class="panel-title text-left font" style="width: 25%;float: left"><b>用户电话:</b></p>
346
+ <p class="panel-title text-left input-font" style="width: 77%">
347
+ {{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}
348
+ <img src="../../../assets/phone.png" style="width: 6%"
349
+ v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone)'></img>
350
+ </p>
351
+ </div>
352
+
353
+ <div class="col-xs-12">
354
+ <p class="panel-title text-left font" style="width: 25%;float: left"><b>用户地址:</b></p>
355
+ <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
356
+ </div>
357
+
358
+ <!-- <div class="row">-->
359
+ <!-- <p class="panel-title col-xs-4 text-left font">计划年份</p>-->
360
+ <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_year }}</p>-->
361
+ <!-- </div>-->
362
+ <!-- <div class="row">-->
363
+ <!-- <p class="panel-title col-xs-4 text-left font">计划月份</p>-->
364
+ <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_month }}</p>-->
365
+ <!-- </div>-->
366
+ <!-- <div class="row">-->
367
+ <!-- <p class="panel-title col-xs-4 text-left font">预约时间</p>-->
368
+ <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_prearranged_date }}</p>-->
369
+ <!-- </div>-->
370
+ <!--<div class="row">-->
371
+ <!--<p class="panel-title col-xs-4 text-left font">上次安检状态</p>-->
372
+ <!--<p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_state }}</p>-->
373
+ <!--</div>-->
374
+ <div class="col-xs-12">
375
+ <p class="panel-title col-xs-5 text-left font" style="width: 25%;"><b>安检状态:</b></p>
376
+ <p class="panel-title col-xs-7 text-left input-font">
377
+ {{ row.f_state == '已检' ? row.f_last_check_state : row.f_state }}</p>
378
+ </div>
379
+ <div class="col-xs-12">
380
+ <p class="panel-title col-xs-5 text-left font" style="width: 25%;"><b>上传状态:</b></p>
381
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
382
+ </div>
383
+ <div class="col-xs-12" v-if="row.f_prearranged_date !=null">
384
+ <p class="panel-title col-xs-5 text-left font" style="width: 25%;float: left"><b>预约时间:</b></p>
385
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{
386
+ row.f_prearranged_date
387
+ }}</p>
388
+ </div>
389
+ <div class="col-xs-12">
390
+ <p class="panel-title col-xs-5 text-left font" style="width: 25%;"><b>安检类型:</b></p>
391
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_safecheck_type }}</p>
392
+ </div>
393
+ <div class="col-xs-12">
394
+ <p class="panel-title col-xs-5 text-left font" style="width: 25%;float: left"><b>开户日期:</b></p>
395
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_open_date }}</p>
396
+ </div>
397
+ <!--<div class="col-xs-12">-->
398
+ <!--<p class="panel-title col-xs-5 text-left font"><b>送气期限:</b></p>-->
399
+ <!--<p class="panel-title col-xs-7 text-left input-font">{{timeSet(row.f_issue_time)}}</p>-->
400
+ <!--</div>-->
401
+ <div class="col-xs-12">
402
+ <button type="button" name="button" class="btn btn-primary"
403
+ style="background-color:#499edf;float: right" @click="$parent.$parent.$parent.inspect(row)">处理
404
+ </button>
405
+ <!-- <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right;margin-right:10px;" @click="$parent.$parent.$parent.queryplan(row.id)">转发</button>-->
406
+ <!--<button type="button" class="btn btn-default" @click="$parent.$parent.$parent.ceshi">确认2</button>-->
407
+ </div>
408
+ <!-- <div class="row text-right" v-show="row.f_upload_state != '已传'" >-->
409
+ <!-- <button type="button" class="btn yybtn-color" v-on:click.stop.prevent='$parent.$parent.$parent.reserve($index)'>预约</button>&nbsp;-->
410
+ <!-- <button type="button" class="btn qxbtn-color" v-if ='row.f_prearranged_date'-->
411
+ <!-- v-on:click.stop.prevent='$parent.$parent.$parent.cancelReserve($index, row.id)'>取消预约</button>-->
412
+ <!-- </div>-->
413
+ </div>
414
+ </div>
415
+ </div>
416
+ </div>
417
+ </list>
418
+ </criteria-paged>
419
+ <div style="height: 50px">
420
+
421
+ </div>
422
+ <modal :show.sync="showModal">
423
+ <div slot="modal-header" class="modal-header">
424
+ <h4 class="modal-title">
425
+ 选择预约时间
426
+ </h4>
427
+ </div>
428
+ <div slot="modal-body" class="modal-body">
429
+ <input type="datetime-local" v-model="f_preset_dt">
430
+ </div>
431
+ <div slot="modal-footer" class="modal-footer">
432
+ <button type="button" class="btn btn-default" @click="genuineReserve">确认</button>
433
+ </div>
434
+ </modal>
435
+ <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
436
+ <modal :show.sync="showModal2" v-ref:modal>
437
+ <div slot="modal-header" class="modal-header">
438
+ <h4 class="modal-title">
439
+ 选择计划
440
+ </h4>
441
+ </div>
442
+ <div slot="modal-body" class="modal-body">
443
+ <div class="col-xs-12">
444
+
445
+ <div class="col-xs-4">
446
+ <v-select :value.sync="check" v-model='check'
447
+ :value-single="true"
448
+ class="select_list select"
449
+ :options='checkers' placeholder='安检员'
450
+ close-on-select width="100%"></v-select>
451
+ </div>
452
+
453
+ <div class="col-xs-1">
454
+ <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
455
+ </div>
456
+ <div class="col-xs-4" style="padding-left: 2px">
457
+ <input class="select-style" placeholder="计划名称" type="text" v-model="plan"
458
+ style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
459
+ </div>
460
+ <div class="col-xs-1">
461
+ <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
462
+ </div>
463
+ <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
464
+ <div class="col-xs-2" style="float: right">
465
+ <button type="button" class="btn btn-primary" @click="plansearch"
466
+ style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">
467
+ 查询
468
+ </button>
469
+ </div>
470
+ </div>
471
+ <table class="table table_sy">
472
+ <thead>
473
+ <tr>
474
+ <th style="width: 30px"></th>
475
+ <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
476
+ </tr>
477
+ </thead>
478
+ <tbody>
479
+ <tr v-for="row in planoption">
480
+ <td @click="select(row, $index)">{{ row.selected == true ? '☆' : '&nbsp;&nbsp;&nbsp;&nbsp;' }}</td>
481
+ <td @click="select(row, $index)" style="text-align: center">{{ row.label }}</td>
482
+
483
+
484
+ </tr>
485
+ </tbody>
486
+ </table>
487
+ </div>
488
+ <div slot="modal-footer" class="modal-footer">
489
+ <button class="btn btn-default" @click="isok()">确认</button>
490
+ <button class="btn btn-default" @click="iscancel()">取消</button>
491
+ </div>
492
+ </modal>
493
+ <modal :show.sync="showModal3" v-ref:modal>
494
+ <div slot="modal-header" class="modal-header">
495
+ <h4 class="modal-title">
496
+ 选择计划
497
+ </h4>
498
+ </div>
499
+ <div slot="modal-body" class="modal-body">
500
+ <div class="col-xs-12">
501
+
502
+ <div class="col-xs-4">
503
+ <v-select :value.sync="check" v-model='check'
504
+ :value-single="true"
505
+ class="select_list select"
506
+ :options='checkers' placeholder='安检员'
507
+ close-on-select width="100%"></v-select>
508
+ </div>
509
+
510
+ <div class="col-xs-1">
511
+ <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
512
+ </div>
513
+ <div class="col-xs-4" style="padding-left: 2px">
514
+ <input class="select-style" placeholder="计划名称" type="text" v-model="plan"
515
+ style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
516
+ </div>
517
+ <div class="col-xs-1">
518
+ <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
519
+ </div>
520
+ <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
521
+ <div class="col-xs-2" style="float: right">
522
+ <button type="button" class="btn btn-primary" @click="plansearch"
523
+ style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">
524
+ 查询
525
+ </button>
526
+ </div>
527
+ </div>
528
+ <table class="table table_sy">
529
+ <thead>
530
+ <tr>
531
+ <th style="width: 30px"></th>
532
+ <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
533
+ </tr>
534
+ </thead>
535
+ <tbody>
536
+ <tr v-for="row in planoption">
537
+ <td @click="select(row, $index)">{{ row.selected == true ? '☆' : '&nbsp;&nbsp;&nbsp;&nbsp;' }}</td>
538
+ <td @click="select(row, $index)" style="text-align: center">{{ row.label }}</td>
539
+
540
+
541
+ </tr>
542
+ </tbody>
543
+ </table>
544
+ </div>
545
+ <div slot="modal-footer" class="modal-footer">
546
+ <button class="btn btn-default" @click="manyisok()">确认</button>
547
+ <button class="btn btn-default" @click="iscancel()">取消</button>
548
+ </div>
549
+ </modal>
550
+ </div>
551
+
552
+ </template>
553
+
554
+ <script>
555
+ import LocalPagedList from '../../../plugins/LocalPagedList'
556
+ import Vue from 'vue'
557
+ import {HttpResetClass, PagedList} from 'vue-client'
558
+ import * as Util from '../../Util'
559
+ import co from 'co'
560
+
561
+ let select = function* (self) {
562
+ let http = new HttpResetClass()
563
+ http.load('POST', `${self.$androidUtil.getProxyUrl()}/rs/search`, {
564
+ source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
565
+ userid: Vue.user.id
566
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
567
+ //tag
568
+ self.checkers.push({label: '全部', value: ''})
569
+ res.data.forEach((checker) => {
570
+ self.checkers.push({label: checker.name, value: checker.id})
571
+ })
572
+ })
573
+ }
574
+ export default {
575
+ title: '无计划安检查询',
576
+ props: ['planName'],
577
+ data() {
578
+ return {
579
+ f_filialeids: '(' + Vue.user.orgid + ')',
580
+ //f_filialeids:'(305)',
581
+ planparam: [],
582
+ check: '',
583
+ plan: '',
584
+ planid: '',
585
+ model: Vue.android ? new LocalPagedList('androidGetuserinfo', 20, {condition: 'this.condition'}) : new PagedList('AndroidRest/api/af-safecheck/sql/androidGetuserinfo', 20, {condition: 'this.condition'}),
586
+ showModal: false,
587
+ showModal2: false,
588
+ showModal3: false,
589
+ needid: '',
590
+ criteriaShow: false,
591
+ planoption: [],
592
+ condition: '',
593
+ checkers: [],
594
+ param: null,
595
+ f_preset_dt: Util.to3339TimeString(),
596
+ flow_direction: [
597
+ {label: '请选择挂表方式', value: ''},
598
+ {label: '左表', value: '左表'},
599
+ {label: '右表', value: '右表'}
600
+ ],
601
+ check_states: [
602
+ {label: '请选择安检状态', value: ''},
603
+ {label: '未检', value: '未检'},
604
+ {label: '临时保存', value: '已检'},
605
+ ],
606
+ last_check_states: [
607
+ {label: '请选择上次安检状态', value: ''},
608
+ {label: '入户', value: '入户'},
609
+ {label: '拒检', value: '拒检'},
610
+ {label: '到访不遇', value: '到访不遇'},
611
+ {label: '未使用天然气', value: '未使用天然气'}
612
+ ],
613
+ upload_states: [
614
+ {label: '请选择上传状态', value: ''},
615
+ {label: '未传', value: '未传'},
616
+ {label: '已传', value: '已传'}
617
+ ],
618
+ user_types: [
619
+ {label: '请选择用户类型', value: ''},
620
+ {label: '民用', value: '民用'},
621
+ {label: '非民用', value: '非民用'},
622
+ ],
623
+ verify_state: [
624
+ {label: '请选择审核状态', value: ''},
625
+ {label: '未审核', value: '未审核'},
626
+ {label: '打回', value: '打回'}
627
+ ],
628
+ residentialAreaOptions: [],
629
+ buildOptions: [],
630
+ unitOptions: [],
631
+ floors: [],
632
+ planNameOptions: [],
633
+ upcomingCount: 0,
634
+ doneCount: 0,
635
+ tempSaveCount: 0,
636
+ allPlanCount: 0
637
+ }
638
+ },
639
+ ready() {
640
+ this.$refs.paged.$refs.cri.model.f_residential_area = ''
641
+ this.$refs.paged.$refs.cri.model.f_building = ''
642
+ this.$refs.paged.$refs.cri.model.f_unit = ''
643
+ this.getAllArea()
644
+ this.getAllPlanName()
645
+ this.selfSearch()
646
+ let gen = select(this)
647
+ co(gen)
648
+ },
649
+ mounted() {
650
+ //tag
651
+ if (window.history && window.history.pushState) {
652
+ history.pushState(null, null, document.URL);
653
+ window.addEventListener('popstate', this.fun, false);//false阻止默认事件
654
+ }
655
+ },
656
+ destroyed() {
657
+ //tag
658
+ window.removeEventListener('popstate', this.fun, false);//false阻止默认事件
659
+ },
660
+ methods: {
661
+ scan() {
662
+ HostApp.__this__ = this,
663
+ HostApp.scanCode({callback: "javascript:HostApp.__this__.getCode();"})
664
+ },
665
+ getCode() {
666
+ const datapa = HostApp.getCode().data;
667
+ //tag
668
+ this.$refs.paged.$refs.cri.model.f_meter_no = datapa
669
+
670
+ },
671
+ fun() {
672
+ //tag
673
+ //tag
674
+ },
675
+ iscancel() {
676
+ this.showModal2 = false
677
+ this.showModal3 = false
678
+ this.planoption = []
679
+ },
680
+ timeSet(val) {
681
+ return val
682
+ },
683
+ async isok() {
684
+ if (this.planoption.length == 0) {
685
+ this.$showMessage("请选择计划")
686
+ return false
687
+ }
688
+ for (let i = 0; i < this.planoption.length; i++) {
689
+ if (this.planoption[i]["selected"] == true) {
690
+ this.planid = this.planoption[i].value
691
+ break
692
+ }
693
+ }
694
+ if (this.planid == '') {
695
+ this.$showMessage("请选择计划")
696
+ return false
697
+ }
698
+ await this.okput()
699
+ },
700
+ async manyisok() {
701
+ if (this.planoption.length == 0) {
702
+ this.$showMessage("请选择计划")
703
+ return false
704
+ }
705
+ for (let i = 0; i < this.planoption.length; i++) {
706
+ if (this.planoption[i]["selected"] == true) {
707
+ this.planid = this.planoption[i].value
708
+ break
709
+ }
710
+ }
711
+ if (this.planid == '') {
712
+ this.$showMessage("请选择计划")
713
+ return false
714
+ }
715
+ await this.manyokput()
716
+ },
717
+ changenull() {
718
+ this.showModal2 = false
719
+ this.showModal3 = false
720
+ this.planoption = []
721
+ this.plan = ''
722
+ this.check = ''
723
+ },
724
+ async okput() {
725
+ let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/UpCheckPlanItem`, {
726
+ data: {
727
+
728
+ condition: `i.id='` + this.needid + `'`,
729
+ f_plan_id: this.planid,
730
+ switchCheckAll: false,
731
+ checkAll: false,
732
+ f_operator: Vue.user.name
733
+ }
734
+ })
735
+ await this.changenull()
736
+ await this.getNewOrder()
737
+ },
738
+ async manyokput() {
739
+ let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/UpCheckPlanItem`, {
740
+ data: {
741
+ columnName: "i.id",
742
+ condition: "1=1",
743
+ f_plan_id: this.planid,
744
+ switchCheckAll: true,
745
+ param: this.planparam,
746
+ checkAll: false,
747
+ f_operator: Vue.user.name
748
+ }
749
+ })
750
+ await this.changenull()
751
+ await this.getNewOrder()
752
+ },
753
+ async plansearch() {
754
+ this.planoption = []
755
+ let condition = `f_checker_id=` + this.check + ` and f_plan_name like '%` + this.plan + `%'`
756
+ if (!this.check) {
757
+ condition = `f_plan_name like '%` + this.plan + `%'`
758
+ }
759
+ let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/预约计划下发`, {
760
+ data: {
761
+ condition: condition,
762
+ f_filialeids: this.f_filialeids,
763
+ groupitem: '',
764
+ orderitem: 'id'
765
+ }
766
+ })
767
+ let resoult = res.data
768
+ for (let i = 0; i < resoult.length; i++) {
769
+ this.planoption.push({label: resoult[i].f_plan_name, selected: false, value: resoult[i].id})
770
+ }
771
+ },
772
+
773
+ select(row, idx) {
774
+ this.$set('planoption[' + idx + '].selected', true)
775
+ for (let i = 0; i < this.planoption.length; i++) {
776
+ if (i != idx) {
777
+ this.planoption[i]["selected"] = false
778
+ }
779
+ }
780
+ },
781
+ planclose() {
782
+ this.showModal2 = false
783
+ this.showModal3 = false
784
+ },
785
+ queryplan(val) {
786
+ this.needid = val
787
+ this.showModal2 = true
788
+ },
789
+ queryplanmany() {
790
+ this.$refs.paged.$refs.cri.model.f_residential_area = ''
791
+ this.$refs.paged.$refs.cri.model.f_building = ''
792
+ this.$refs.paged.$refs.cri.model.f_unit = ''
793
+ this.$refs.paged.$refs.cri.model.f_userinfo_code = ''
794
+ this.$refs.paged.$refs.cri.model.f_user_name = ''
795
+ this.$refs.paged.$refs.cri.model.f_enter_number = ''
796
+ this.$refs.paged.$refs.cri.model.f_plan_name = ''
797
+ this.$refs.paged.$refs.cri.model.f_state = ''
798
+ this.$refs.paged.$refs.cri.model.f_meter_no = ''
799
+ this.$refs.paged.$refs.cri.model.f_address = ''
800
+ this.$refs.paged.$refs.cri.model.f_user_type = ''
801
+ },
802
+ reload() {
803
+ // this.getAllArea()
804
+ // this.getAllPlanName()
805
+ this.selfSearch()
806
+ },
807
+ cancelReserve(idx, id) {
808
+ if (Vue.android) {
809
+ let res = this.$androidUtil.bzLogic('BookingCheck', {dt: '', id: id})
810
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
811
+ if (res.code == 200) {
812
+ this.$showMessage("取消预约成功")
813
+ }
814
+ } else {
815
+ this.$androidUtil.bzLogic('PCbookingCheck', {dt: '', id: id}).then((repanse) => {
816
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
817
+ if (repanse.data.code == 200) {
818
+ alert("取消预约成功!")
819
+ }
820
+ })
821
+ }
822
+ },
823
+ genuineReserve() {
824
+ if (Vue.android) {
825
+ if (!this.f_preset_dt) {
826
+ this.$showMessage('请选择一个日期')
827
+ return
828
+ }
829
+ let pdt = this.f_preset_dt.replace('T', ' ')
830
+ let respanse = this.$androidUtil.bzLogic('BookingCheck', {id: this.model.rows[this.param].id, dt: pdt})
831
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
832
+ if (respanse.code == 200) {
833
+ this.$showMessage("预约成功!")
834
+ }
835
+ this.showModal = false
836
+ } else {
837
+ if (!this.f_preset_dt) {
838
+ alert('请选择一个日期')
839
+ return
840
+ }
841
+ let pdt = this.f_preset_dt.replace('T', ' ')
842
+ this.$androidUtil.bzLogic('PCbookingCheck', {id: this.model.rows[this.param].id, dt: pdt}).then((res) => {
843
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
844
+ if (res.data.code == 200) {
845
+ alert("预约成功!")
846
+ }
847
+ this.showModal = false
848
+ })
849
+ }
850
+ },
851
+ inspect(row) {
852
+ var _this = this
853
+ if (row.f_upload_state == '未传' || (row.f_upload_state == '已传' && (row.f_state == '未检' || (row.f_state == '已检' && (row.f_last_check_state == '到访不遇' || row.f_last_check_state == '拒检'))) && row.f_no_checkplan != '无计划安检')) {
854
+ new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/safe_singleTable_OrderBy`, {
855
+ data: {
856
+ items: '*',
857
+ tablename: 't_check_plan',
858
+ condition: `id = '${row.f_plan_id}'`,
859
+ orderitem: 'id'
860
+ }
861
+ }).then(resp => {
862
+ let myDate = new Date()
863
+ // if (resp.data[0].f_end_time > myDate.getFullYear() + '-' + (myDate.getMonth() + 1) + '-' + myDate.getDay() || !resp.data[0].f_end_time) {
864
+ _this.$resetpost(`${_this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/查询计划项表信息`, {data: {f_userid: row.f_userinfoid}}, {
865
+ resolveMsg: null,
866
+ rejectMsg: null
867
+ }).then((response) => {
868
+ if(response.data.length!=1){
869
+ this.$showMessage("当前用户有多条表信息,请联系管理员核实进行处理!")
870
+ }else{
871
+ row['f_plan_meters'] = response.data
872
+ var pardate = {
873
+ _this: _this,
874
+ title: '安全检查',
875
+ safe: true
876
+ }
877
+ _this.$dispatch('gotoson', pardate)
878
+ _this.$goto('safecheck-order-v', {
879
+ f_plan_id: row.f_plan_id,
880
+ item: row,
881
+ role: 'inspect',
882
+ parentPage: 'CurrentCreate'
883
+ }, 'self', _this.reload)
884
+ }
885
+ }).catch((msg) => {
886
+ this.$showMessage("网络异常,请检查网络后再试!")
887
+ })
888
+ // } else {
889
+ // this.getNewOrder()
890
+ // this.$showMessage("计划超期,请联系管理员")
891
+ // }
892
+ }).catch(error => {
893
+
894
+ })
895
+ } else {
896
+ this.$showMessage("该安检单已被上传!")
897
+ }
898
+ },
899
+ makeAPhoneCall(phoneNumber) {
900
+ this.$androidUtil.makeAPhoneCall(phoneNumber)
901
+ },
902
+ reserve(idx) {
903
+ this.param = idx
904
+ this.showModal = true
905
+ },
906
+ search(args) {
907
+ this.model.rows = []
908
+ this.model.search(args.condition, args.model)
909
+ },
910
+ selfSearch() {
911
+ this.getPlanCount()
912
+ let condition = "and f_checker_id =" + Vue.user.id
913
+ if (this.$refs.paged.$refs.cri.model.f_residential_area)
914
+ condition += " and ti.f_residential_area like '%" + this.$refs.paged.$refs.cri.model.f_residential_area + "%'"
915
+ if (this.$refs.paged.$refs.cri.model.f_building)
916
+ condition += " and ti.f_building = '" + this.$refs.paged.$refs.cri.model.f_building + "'"
917
+ if (this.$refs.paged.$refs.cri.model.f_unit)
918
+ condition += " and ti.f_unit = '" + this.$refs.paged.$refs.cri.model.f_unit + "'"
919
+ if (this.$refs.paged.$refs.cri.model.floor)
920
+ condition += " and ti.f_floor = '" + this.$refs.paged.$refs.cri.model.floor + "'"
921
+ if (this.planName) {
922
+ condition += " and f_plan_name like '%" + this.planName + "%'"
923
+ } else {
924
+ if (this.$refs.paged.$refs.cri.model.f_plan_name && this.$refs.paged.$refs.cri.model.f_plan_name.length > 0)
925
+ condition += " and f_plan_name like '%" + this.$refs.paged.$refs.cri.model.f_plan_name + "%'"
926
+ }
927
+ // if(this.$refs.paged.$refs.cri.model.f_plan_year)
928
+ // condition += " and f_plan_year = '"+this.$refs.paged.$refs.cri.model.f_plan_year +"'"
929
+ // if(this.$refs.paged.$refs.cri.model.f_plan_month)
930
+ // condition += " and f_plan_month = '"+this.$refs.paged.$refs.cri.model.f_plan_month +"'"
931
+ if (this.$refs.paged.$refs.cri.model.f_userinfo_code)
932
+ condition += " and ti.f_userinfo_code like '%" + this.$refs.paged.$refs.cri.model.f_userinfo_code + "%'"
933
+ if (this.$refs.paged.$refs.cri.model.f_keyword)
934
+ condition += " and ti.f_address like '%" + this.$refs.paged.$refs.cri.model.f_keyword + "%'"
935
+ if (this.$refs.paged.$refs.cri.model.f_user_name)
936
+ condition += " and ti.f_user_name like '%" + this.$refs.paged.$refs.cri.model.f_user_name + "%'"
937
+ if (this.$refs.paged.$refs.cri.model.f_state[0])
938
+ condition += " and ti.f_state='" + this.$refs.paged.$refs.cri.model.f_state[0] + "' and (f_complete = '' or f_complete is null or f_complete = '未完成')"
939
+ // if(this.$refs.paged.$refs.cri.model.f_last_state[0])
940
+ // condition += " and ti.f_last_check_state='"+this.$refs.paged.$refs.cri.model.f_last_state[0]+"'"
941
+ if (this.$refs.paged.$refs.cri.model.f_user_type[0])
942
+ condition += " and ti.f_user_type='" + this.$refs.paged.$refs.cri.model.f_user_type[0] + "'"
943
+ if (this.$refs.paged.$refs.cri.model.f_meter_no)
944
+ condition += " and tm.f_meter_no like '%" + this.$refs.paged.$refs.cri.model.f_meter_no + "%'"
945
+ // if(this.$refs.paged.$refs.cri.model.f_flow_direction[0])
946
+ // condition += " and tm.f_flow_direction = '"+this.$refs.paged.$refs.cri.model.f_flow_direction[0]+"'"
947
+
948
+ if (this.$refs.paged.$refs.cri.model.f_enter_number)
949
+ condition += " and ti.f_enter_number like '%" + this.$refs.paged.$refs.cri.model.f_enter_number + "%'"
950
+
951
+ const searchCondition = "((f_complete = '' or f_complete is null or f_complete = '未完成') or (f_state = '未检') or (f_state = '已检' and (f_last_check_state='到访不遇' or f_last_check_state='拒检') )) and ti.f_no_checkplan = '有计划安检'" + condition
952
+ //tag
953
+ this.model.search(searchCondition)
954
+ },
955
+ getNewOrder() {
956
+ HostApp.__this__ = this
957
+ HostApp.logicWithHint({
958
+ // logic别名,key必须为logic
959
+ 'logic': 'SafeCheckServiceTimeOut',
960
+ // 回调执行方法名,key必须为callback
961
+ 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
962
+ // logic执行需要的业务参数
963
+ 'data': {params: ''},
964
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
965
+ // 执行回调方法传入key为backresult
966
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
967
+ 'backresult': 1
968
+ })
969
+ },
970
+ getNewOrderCallBack() {
971
+ this.selfSearch()
972
+ this.getAllArea()
973
+ this.getAllPlanName()
974
+ },
975
+ hidden() {
976
+ this.criteriaShow = !this.criteriaShow
977
+ },
978
+ getAllArea() {
979
+ this.residentialAreaOptions = []
980
+ this.buildOptions = []
981
+ this.unitOptions = []
982
+ // this.$refs.paged.$refs.cri.model.f_residential_area = ''
983
+ // this.$refs.paged.$refs.cri.model.f_building = ''
984
+ // this.$refs.paged.$refs.cri.model.f_unit = ''
985
+ let criteria = {
986
+ items: 'f_residential_area',
987
+ tablename: 't_check_plan_item',
988
+ condition: `f_residential_area IS NOT NULL AND f_residential_area != '' AND (f_state <> '已检' or (f_state = '已检' and (f_last_check_state='到访不遇' or f_last_check_state='拒检')))`,
989
+ groupitem: 'f_residential_area'
990
+ }
991
+ let result = HostApp._executeTask({
992
+ 'type': 'sql',
993
+ 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
994
+ })
995
+ //tag)
996
+ if (result.code == 200) {
997
+ result.data.rows.forEach(item => this.residentialAreaOptions.push({
998
+ label: item.f_residential_area,
999
+ value: item.f_residential_area
1000
+ }))
1001
+ }
1002
+ //tag)
1003
+ },
1004
+ getbuilds(f_residential_area) {
1005
+ //tag)
1006
+ this.buildOptions = []
1007
+ this.unitOptions = []
1008
+ this.$refs.paged.$refs.cri.model.f_building = ''
1009
+ this.$refs.paged.$refs.cri.model.f_unit = ''
1010
+ if (!f_residential_area) {
1011
+ return
1012
+ }
1013
+ let criteria = {
1014
+ items: 'f_building',
1015
+ tablename: 't_check_plan_item',
1016
+ condition: `f_building IS NOT NULL AND f_building != '' AND (f_state <> '已检' or (f_state = '已检' and (f_last_check_state='到访不遇' or f_last_check_state='拒检'))) AND f_residential_area = '${f_residential_area}'`,
1017
+ groupitem: 'f_building'
1018
+ }
1019
+ let result = HostApp._executeTask({
1020
+ 'type': 'sql',
1021
+ 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1022
+ })
1023
+ if (result.code == 200) {
1024
+ result.data.rows.forEach(item => this.buildOptions.push({label: item.f_building, value: item.f_building}))
1025
+ }
1026
+ //tag)
1027
+ },
1028
+ getUnits(f_building) {
1029
+ f_building = f_building[0]
1030
+ //tag)
1031
+ this.unitOptions = []
1032
+ this.$refs.paged.$refs.cri.model.f_unit = ''
1033
+ if (!f_building) {
1034
+ return
1035
+ }
1036
+ let criteria = {
1037
+ items: 'f_unit',
1038
+ tablename: 't_check_plan_item',
1039
+ condition: `f_unit IS NOT NULL AND f_unit != '' AND (f_state <> '已检' or (f_state = '已检' and (f_last_check_state='到访不遇' or f_last_check_state='拒检'))) AND f_residential_area = '${this.$refs.paged.$refs.cri.model.f_residential_area}' AND f_building = '${f_building}'`,
1040
+ groupitem: 'f_unit'
1041
+ }
1042
+ let result = HostApp._executeTask({
1043
+ 'type': 'sql',
1044
+ 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1045
+ })
1046
+ if (result.code == 200) {
1047
+ result.data.rows.forEach(item => this.unitOptions.push({label: item.f_unit, value: item.f_unit}))
1048
+ }
1049
+ //tag)
1050
+ },
1051
+ getfloors(f_unit) {
1052
+ f_unit = f_unit[0]
1053
+ //tag)
1054
+ this.floors = []
1055
+ this.$refs.paged.$refs.cri.model.floor = ''
1056
+ if (!f_unit) {
1057
+ return
1058
+ }
1059
+ let criteria = {
1060
+ items: 'f_floor',
1061
+ tablename: 't_check_plan_item',
1062
+ condition: `f_floor IS NOT NULL AND f_floor != '' AND (f_state <> '已检' or (f_state = '已检' and (f_last_check_state='到访不遇' or f_last_check_state='拒检'))) AND f_residential_area = '${this.$refs.paged.$refs.cri.model.f_residential_area}' AND f_building = '${this.$refs.paged.$refs.cri.model.f_building}' AND f_unit = '${f_unit}'`,
1063
+ groupitem: 'f_floor'
1064
+ }
1065
+ let result = HostApp._executeTask({
1066
+ 'type': 'sql',
1067
+ 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1068
+ })
1069
+ if (result.code == 200) {
1070
+ result.data.rows.forEach(item => this.floors.push({label: item.f_floor, value: item.f_floor}))
1071
+ }
1072
+ //tag)
1073
+ },
1074
+ getPlanCount() {
1075
+ this.upcomingCount = 0
1076
+ this.tempSaveCount = 0
1077
+ this.doneCount = 0
1078
+ this.allPlanCount = 0
1079
+ let criteria = {
1080
+ items: 'count(id) count',
1081
+ tablename: 't_check_plan_item',
1082
+ condition: `f_state = '未检'`,
1083
+ groupitem: 'f_state'
1084
+ }
1085
+ let result = HostApp._executeTask({
1086
+ 'type': 'sql',
1087
+ 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1088
+ })
1089
+ if (result.code && result.code == 200) {
1090
+ if (result.data.rows[0] && !isNaN(result.data.rows[0].count)) {
1091
+ this.upcomingCount = result.data.rows[0].count
1092
+ }
1093
+ }
1094
+ criteria = {
1095
+ items: 'count(id) count',
1096
+ tablename: 't_check_plan_item',
1097
+ condition: `(f_complete = '' or f_complete = null or f_complete = '未完成') AND f_state = '已检'`,
1098
+ groupitem: 'f_state'
1099
+ }
1100
+ result = HostApp._executeTask({
1101
+ 'type': 'sql',
1102
+ 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1103
+ })
1104
+ if (result.code && result.code == 200) {
1105
+ if (result.data.rows[0] && !isNaN(result.data.rows[0].count)) {
1106
+ this.tempSaveCount = result.data.rows[0].count
1107
+ }
1108
+ }
1109
+ criteria = {
1110
+ items: 'count(id) count',
1111
+ tablename: 't_check_plan_item',
1112
+ condition: `f_complete = '已完成' AND f_state = '已检'`,
1113
+ groupitem: 'f_state'
1114
+ }
1115
+ result = HostApp._executeTask({
1116
+ 'type': 'sql',
1117
+ 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1118
+ })
1119
+ if (result.code && result.code == 200) {
1120
+ if (result.data.rows[0] && !isNaN(result.data.rows[0].count)) {
1121
+ this.doneCount = result.data.rows[0].count
1122
+ }
1123
+ }
1124
+ this.allPlanCount = this.upcomingCount + this.tempSaveCount + this.doneCount
1125
+
1126
+ //tag
1127
+ //tag
1128
+ //tag
1129
+ //tag
1130
+ },
1131
+ getAllPlanName() {
1132
+ this.planNameOptions = []
1133
+ this.$refs.paged.$refs.cri.model.f_plan_name = ''
1134
+ let criteria = {
1135
+ items: 'f_plan_name',
1136
+ tablename: 't_check_plan',
1137
+ condition: `f_plan_name IS NOT NULL AND f_plan_name != ''`,
1138
+ groupitem: 'f_plan_name'
1139
+ }
1140
+ let result = HostApp._executeTask({
1141
+ 'type': 'sql',
1142
+ 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1143
+ })
1144
+ //tag)
1145
+ if (result.code == 200) {
1146
+ result.data.rows.forEach(item => this.planNameOptions.push({
1147
+ label: item.f_plan_name,
1148
+ value: item.f_plan_name
1149
+ }))
1150
+ }
1151
+ //tag)
1152
+ },
1153
+ setPlanParam(detailsType, event) {
1154
+ if (event.srcElement.checked) {
1155
+ this.planparam.push(detailsType)
1156
+ //tag
1157
+ } else {
1158
+ if (this.planparam.length > 0) {
1159
+ let planid = this.planparam.findIndex((value) => {
1160
+ return value === detailsType
1161
+ })
1162
+ this.planparam.splice(planid, 1)
1163
+ //tag
1164
+
1165
+ }
1166
+
1167
+ }
1168
+ }
1169
+ }
1170
+ }
1171
+ </script>