safecheck-client 4.0.1-7 → 4.0.1-71

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 (524) 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 +5 -5
  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/assets//350/255/246/345/221/212 (3).png +0 -0
  122. package/src/assets//350/255/246/345/221/212 (4).png +0 -0
  123. package/src/assets//350/255/246/345/221/212 (5).png +0 -0
  124. package/src/bootstrap/less/.csscomb.json +304 -304
  125. package/src/bootstrap/less/.csslintrc +19 -19
  126. package/src/bootstrap/less/alerts.less +73 -73
  127. package/src/bootstrap/less/badges.less +66 -66
  128. package/src/bootstrap/less/breadcrumbs.less +26 -26
  129. package/src/bootstrap/less/button-groups.less +247 -247
  130. package/src/bootstrap/less/buttons.less +172 -172
  131. package/src/bootstrap/less/carousel.less +269 -269
  132. package/src/bootstrap/less/close.less +34 -34
  133. package/src/bootstrap/less/code.less +69 -69
  134. package/src/bootstrap/less/component-animations.less +33 -33
  135. package/src/bootstrap/less/dropdowns.less +216 -216
  136. package/src/bootstrap/less/grid.less +84 -84
  137. package/src/bootstrap/less/input-groups.less +167 -167
  138. package/src/bootstrap/less/jumbotron.less +52 -52
  139. package/src/bootstrap/less/labels.less +64 -64
  140. package/src/bootstrap/less/list-group.less +141 -141
  141. package/src/bootstrap/less/media.less +66 -66
  142. package/src/bootstrap/less/mixins/alerts.less +14 -14
  143. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  144. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  145. package/src/bootstrap/less/mixins/buttons.less +69 -69
  146. package/src/bootstrap/less/mixins/center-block.less +7 -7
  147. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  148. package/src/bootstrap/less/mixins/forms.less +90 -90
  149. package/src/bootstrap/less/mixins/gradients.less +59 -59
  150. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  151. package/src/bootstrap/less/mixins/grid.less +122 -122
  152. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  153. package/src/bootstrap/less/mixins/image.less +33 -33
  154. package/src/bootstrap/less/mixins/labels.less +12 -12
  155. package/src/bootstrap/less/mixins/list-group.less +30 -30
  156. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  157. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  158. package/src/bootstrap/less/mixins/opacity.less +8 -8
  159. package/src/bootstrap/less/mixins/pagination.less +24 -24
  160. package/src/bootstrap/less/mixins/panels.less +24 -24
  161. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  162. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  163. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  164. package/src/bootstrap/less/mixins/resize.less +6 -6
  165. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  166. package/src/bootstrap/less/mixins/size.less +10 -10
  167. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  168. package/src/bootstrap/less/mixins/table-row.less +44 -44
  169. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  170. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  171. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  172. package/src/bootstrap/less/mixins.less +40 -40
  173. package/src/bootstrap/less/modals.less +151 -151
  174. package/src/bootstrap/less/navbar.less +660 -660
  175. package/src/bootstrap/less/normalize.less +424 -424
  176. package/src/bootstrap/less/pagination.less +89 -89
  177. package/src/bootstrap/less/panels.less +275 -275
  178. package/src/bootstrap/less/popovers.less +131 -131
  179. package/src/bootstrap/less/print.less +101 -101
  180. package/src/bootstrap/less/progress-bars.less +87 -87
  181. package/src/bootstrap/less/responsive-embed.less +35 -35
  182. package/src/bootstrap/less/responsive-utilities.less +194 -194
  183. package/src/bootstrap/less/scaffolding.less +161 -161
  184. package/src/bootstrap/less/theme.less +291 -291
  185. package/src/bootstrap/less/thumbnails.less +36 -36
  186. package/src/bootstrap/less/tooltip.less +102 -102
  187. package/src/bootstrap/less/type.less +303 -303
  188. package/src/bootstrap/less/utilities.less +55 -55
  189. package/src/bootstrap/less/wells.less +29 -29
  190. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  191. package/src/components/DefectDealMain/DefectListNew.vue +642 -642
  192. package/src/components/FileUpload.vue +696 -696
  193. package/src/components/Hello.vue +39 -39
  194. package/src/components/LeftTree.vue +27 -27
  195. package/src/components/NewDefectList/DefectListNew.vue +682 -663
  196. package/src/components/android/AddPlanItem.vue +447 -447
  197. package/src/components/android/AddPlanItemYy.vue +451 -451
  198. package/src/components/android/AddSpecialPlanItem.vue +426 -426
  199. package/src/components/android/AndroidDefectDeal.vue +667 -634
  200. package/src/components/android/AndroidDefectDetails.vue +3 -3
  201. package/src/components/android/AppInstallationMaterial.vue +865 -0
  202. package/src/components/android/AttendanceTally.vue +116 -116
  203. package/src/components/android/Blank.vue +10 -10
  204. package/src/components/android/CheckUnplanPage.vue +56 -56
  205. package/src/components/android/Checker.vue +12 -12
  206. package/src/components/android/CheckerAnnual.vue +81 -81
  207. package/src/components/android/CheckerAvarta.vue +82 -82
  208. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  209. package/src/components/android/DailyworkloadQuery.vue +473 -472
  210. package/src/components/android/Devices.vue +327 -327
  211. package/src/components/android/Devicesm.vue +327 -327
  212. package/src/components/android/EquipmentInspection.vue +348 -348
  213. package/src/components/android/FootprintMap.vue +120 -120
  214. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  215. package/src/components/android/MasterMain.vue +77 -77
  216. package/src/components/android/Menu.vue +132 -132
  217. package/src/components/android/NewCheckpaperAndroid.vue +1343 -1369
  218. package/src/components/android/PaperAlarm.vue +85 -85
  219. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  220. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  221. package/src/components/android/PhoneRecordInfo.vue +113 -113
  222. package/src/components/android/PhoneSellInfo.vue +113 -113
  223. package/src/components/android/PhoneUpDetail.vue +1040 -1040
  224. package/src/components/android/PlumberAnnual.vue +83 -83
  225. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  226. package/src/components/android/PlumberMonthly.vue +84 -84
  227. package/src/components/android/PostMap.vue +83 -83
  228. package/src/components/android/QRCode/QRCodeBinding.vue +300 -300
  229. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  230. package/src/components/android/QueryCheckHistory.vue +122 -122
  231. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  232. package/src/components/android/RepairMain.vue +60 -60
  233. package/src/components/android/Repairman.vue +12 -12
  234. package/src/components/android/SafePlanItem.vue +509 -509
  235. package/src/components/android/StationMaster.vue +12 -12
  236. package/src/components/android/SwitchValve.vue +1 -1
  237. package/src/components/android/examples/SafeListExamples.vue +296 -296
  238. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  239. package/src/components/android/recheck/Recheck.vue +402 -402
  240. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  241. package/src/components/checkplan/CheckDetail.vue +1 -1
  242. package/src/components/checkplan/checkmsg.vue +459 -459
  243. package/src/components/defect/DefectList.vue +507 -507
  244. package/src/components/defect/DefectListWeixiu.vue +484 -484
  245. package/src/components/defects/DefectModal.vue +101 -101
  246. package/src/components/defects/DevicesAndItem.vue +39 -39
  247. package/src/components/filialCircle/CircleList.vue +139 -139
  248. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  249. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  250. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  251. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  252. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  253. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  254. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  255. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  256. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  257. package/src/components/map/PersonTrack.vue +226 -226
  258. package/src/components/map/SecurityCheckCoordinates.vue +361 -0
  259. package/src/components/notice/NoticeForm.vue +100 -100
  260. package/src/components/notice/NoticeIssue.vue +20 -20
  261. package/src/components/paper/PicViewer.vue +18 -18
  262. package/src/components/paper/RegionalList.vue +220 -220
  263. package/src/components/pc/AnnouncementPC.vue +524 -524
  264. package/src/components/pc/CheckBookUser.vue +337 -337
  265. package/src/components/pc/DefectDeal.vue +1 -0
  266. package/src/components/pc/DefectList.vue +742 -742
  267. package/src/components/pc/DefectMaterialLook.vue +98 -0
  268. package/src/components/pc/DeviceChange.vue +1068 -1068
  269. package/src/components/pc/PaperDefectMain.vue +905 -880
  270. package/src/components/pc/SafeVisitInfo.vue +261 -261
  271. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  272. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  273. package/src/components/phonestate/PostMap.vue +82 -82
  274. package/src/components/planmanage/PlanManage.vue +1 -0
  275. package/src/components/querycheckpaper/CheckPaperList.vue +6 -4
  276. package/src/components/querycheckpaper/CheckPaperSearchUser.vue +30 -4
  277. package/src/components/querycheckpaper/CheckSearchUser.vue +6 -1
  278. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  279. package/src/components/report/HiddenSituation.vue +165 -165
  280. package/src/components/rongcheng/AspiratedOrderV.vue +2377 -2377
  281. package/src/components/rongcheng/CurrentCreateOnline.vue +906 -906
  282. package/src/components/rongcheng/DefectList.vue +560 -560
  283. package/src/components/rongcheng/SafecheckOrderVCli.vue +2641 -2641
  284. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -419
  285. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -1050
  286. package/src/components/safecheckNew/android/Recheck.vue +379 -379
  287. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  288. package/src/components/shaoguan/DefectList.vue +473 -473
  289. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  290. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  291. package/src/components/userfile/MeterFile.vue +145 -145
  292. package/src/components/userfile/MeterModify.vue +46 -46
  293. package/src/components/userfile/SecurityAudit.vue +243 -243
  294. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  295. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +476 -476
  296. package/src/filiale/ancheng/android/SafecheckOrderV.vue +2703 -2703
  297. package/src/filiale/ancheng/android/SafecheckUserInfo.vue +737 -737
  298. package/src/filiale/ancheng/pc/checkScreen.vue +923 -923
  299. package/src/filiale/ankangyihua/android/AddPlanItem.vue +446 -446
  300. package/src/filiale/ankangyihua/android/SafecheckOrderV.vue +2908 -2908
  301. package/src/filiale/ankangyihua/pc/DefectListWeixiu.vue +491 -491
  302. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  303. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  304. package/src/filiale/bayan/android/Edit.vue +132 -132
  305. package/src/filiale/bayan/pc/DefectListNew.vue +597 -597
  306. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -1838
  307. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  308. package/src/filiale/dexin/android/CasualSave.vue +1050 -1050
  309. package/src/filiale/dexin/android/SafecheckOrderV.vue +2950 -2950
  310. package/src/filiale/fugou/android/AddPlanItem.vue +413 -413
  311. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -2796
  312. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +830 -830
  313. package/src/filiale/fugu/android/SafecheckOrderV.vue +2484 -2484
  314. package/src/filiale/fugu/pc/NewCheckpaper.vue +1287 -1287
  315. package/src/filiale/ganquan/android/AddPlanItem.vue +444 -444
  316. package/src/filiale/ganquan/android/SafecheckOrderV.vue +2485 -2485
  317. package/src/filiale/ganquan/pc/NewCheckpaper.vue +1354 -1354
  318. package/src/filiale/guangxi/pc/DefectListNew.vue +518 -518
  319. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  320. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  321. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  322. package/src/filiale/huatong/android/SafecheckOrderV.vue +2426 -2426
  323. package/src/filiale/huatong/android/SafecheckUserInfo.vue +749 -749
  324. package/src/filiale/huayin/pc/NewCheckpaper.vue +1307 -1307
  325. package/src/filiale/jiaocheng/android/AddPlanItem.vue +435 -435
  326. package/src/filiale/jiaocheng/android/SafecheckUserInfo.vue +737 -737
  327. package/src/filiale/jiaocheng/pc/DefectListNew.vue +576 -576
  328. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  329. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  330. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  331. package/src/filiale/jinbin/pc/DefectListWeixiu.vue +478 -478
  332. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  333. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  334. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  335. package/src/filiale/jinhong/android/CurrentCreate.vue +66 -22
  336. package/src/filiale/jinhong/pc/CheckBookList.vue +10 -7
  337. package/src/filiale/jinhong/pc/DefectPaperNew.vue +10 -10
  338. package/src/filiale/jinhong/pc/PaperList.vue +850 -844
  339. package/src/filiale/jinhong/pc/PlanManage.vue +927 -925
  340. package/src/filiale/jinhong/pc/checkUserList.vue +30 -6
  341. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  342. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  343. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  344. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  345. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  346. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  347. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  348. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  349. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  350. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  351. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  352. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  353. package/src/filiale/libo/android/PaperFeedback.vue +1579 -0
  354. package/src/filiale/libo/android/PhoneUpUserinfo.vue +1249 -0
  355. package/src/filiale/libo/android/SafecheckOrderV.vue +2302 -0
  356. package/src/filiale/libo/android.js +14 -0
  357. package/src/filiale/libo/pc/NewCheckpaper.vue +1987 -0
  358. package/src/filiale/libo/pc.js +12 -0
  359. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  360. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  361. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  362. package/src/filiale/meihekou/android/AreaPlan.vue +577 -577
  363. package/src/filiale/meihekou/android/CurrentCreate.vue +1 -1
  364. package/src/filiale/meihekou/android/MeterReading.vue +110 -106
  365. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1307 -1306
  366. package/src/filiale/meihekou/android/SafecheckDevices.vue +5 -5
  367. package/src/filiale/meihekou/android/SafecheckOrderV.vue +324 -311
  368. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +785 -785
  369. package/src/filiale/meihekou/pc/NewCheckpaper.vue +2 -2
  370. package/src/filiale/meihekou/pc/NewCheckpaperNew.vue +2050 -0
  371. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1288 -1288
  372. package/src/filiale/meihekou/pc/PaperList.vue +1205 -0
  373. package/src/filiale/meihekou/pc.js +2 -0
  374. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  375. package/src/filiale/minsheng/android/SwitchValve.vue +1 -1
  376. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  377. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  378. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  379. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  380. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  381. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  382. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  383. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  384. package/src/filiale/qianneng/android/SwitchValve.vue +1 -1
  385. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  386. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  387. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  388. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  389. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1871 -1871
  390. package/src/filiale/qingjian/pc/checkUserList.vue +35 -0
  391. package/src/filiale/qingjian/pc.js +15 -15
  392. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  393. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  394. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  395. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  396. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  397. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  398. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  399. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  400. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  401. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  402. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  403. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  404. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  405. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  406. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  407. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  408. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  409. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  410. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  411. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  412. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  413. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  414. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  415. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  416. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  417. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  418. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  419. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  420. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  421. package/src/filiale/taiyuan/android/CurrentCreate.vue +1016 -0
  422. package/src/filiale/taiyuan/android/PhoneUpUserinfo.vue +1259 -0
  423. package/src/filiale/taiyuan/android/SafecheckOrderV.vue +2341 -0
  424. package/src/filiale/taiyuan/android/SafecheckUserInfo.vue +776 -0
  425. package/src/filiale/taiyuan/android.js +13 -0
  426. package/src/filiale/taiyuan/pc/DefectDeal.vue +1034 -0
  427. package/src/filiale/taiyuan/pc/NewCheckpaper.vue +1976 -0
  428. package/src/filiale/taiyuan/pc/PlanManage.vue +891 -0
  429. package/src/filiale/taiyuan/pc/checkUserList.vue +798 -0
  430. package/src/filiale/taiyuan/pc.js +15 -0
  431. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  432. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  433. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  434. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  435. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  436. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  437. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  438. package/src/filiale/tongchuan/android/SwitchValve.vue +1 -1
  439. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  440. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  441. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  442. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  443. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  444. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  445. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  446. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  447. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  448. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  449. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  450. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  451. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  452. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  453. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  454. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  455. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  456. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  457. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  458. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  459. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  460. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  461. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  462. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  463. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  464. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  465. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  466. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  467. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  468. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  469. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  470. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  471. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +1251 -1251
  472. package/src/filiale/xinkang/android/AddPlanItem.vue +244 -196
  473. package/src/filiale/xinkang/android/AndroidDefectDeal.vue +1 -0
  474. package/src/filiale/xinkang/android/SafecheckDevices.vue +52 -22
  475. package/src/filiale/xinkang/android/SafecheckOrderV.vue +24 -80
  476. package/src/filiale/xinkang/android/SafecheckUserInfo.vue +1 -1
  477. package/src/filiale/xinkang/pc/CheckSearchUser.vue +1026 -1026
  478. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  479. package/src/filiale/xinkang/pc/NewCheckpaper.vue +20 -44
  480. package/src/filiale/xinkang/pc/PaperList.vue +2 -9
  481. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  482. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  483. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  484. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  485. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  486. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  487. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  488. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  489. package/src/filiale/yuansheng/android/SwitchValve.vue +1 -1
  490. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  491. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  492. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  493. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +491 -491
  494. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1509 -1509
  495. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -113
  496. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +1270 -1270
  497. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +785 -785
  498. package/src/filiale/yunchengminsheng/android.js +15 -15
  499. package/src/filiale/yunchengminsheng/pc/PaperList.vue +811 -0
  500. package/src/filiale/yunchengminsheng/pc.js +15 -14
  501. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  502. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  503. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  504. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  505. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  506. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  507. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  508. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  509. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  510. package/src/main.js +32 -33
  511. package/src/plugins/LoadData.js +10 -10
  512. package/src/plugins/LoadParams.js +24 -24
  513. package/src/safecheck-android.js +4 -0
  514. package/src/safecheck.js +924 -918
  515. package/src/stores/wxconfig.js +10 -10
  516. package/src/utils/getNowDate.js +33 -33
  517. package/test/e2e/custom-assertions/elementCount.js +26 -26
  518. package/test/e2e/nightwatch.conf.js +40 -40
  519. package/test/e2e/runner.js +30 -30
  520. package/test/e2e/specs/test.js +13 -13
  521. package/test/unit/.eslintrc +5 -5
  522. package/test/unit/TestUtil.js +62 -62
  523. package/test/unit/context.html +20 -20
  524. 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>