safecheck-client 4.0.1-64 → 4.0.1-65

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 (476) 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 +1 -1
  46. package/publish.bat +7 -7
  47. package/release.bat +5 -5
  48. package/src/App.vue +31 -31
  49. package/src/Widget.vue +13 -13
  50. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  51. package/src/android-bootstrap/less/.csscomb.json +304 -304
  52. package/src/android-bootstrap/less/.csslintrc +19 -19
  53. package/src/android-bootstrap/less/alerts.less +73 -73
  54. package/src/android-bootstrap/less/badges.less +66 -66
  55. package/src/android-bootstrap/less/bootstrap.less +56 -56
  56. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  57. package/src/android-bootstrap/less/button-groups.less +247 -247
  58. package/src/android-bootstrap/less/buttons.less +173 -173
  59. package/src/android-bootstrap/less/carousel.less +269 -269
  60. package/src/android-bootstrap/less/close.less +34 -34
  61. package/src/android-bootstrap/less/code.less +69 -69
  62. package/src/android-bootstrap/less/component-animations.less +33 -33
  63. package/src/android-bootstrap/less/grid.less +84 -84
  64. package/src/android-bootstrap/less/input-groups.less +167 -167
  65. package/src/android-bootstrap/less/jumbotron.less +52 -52
  66. package/src/android-bootstrap/less/labels.less +64 -64
  67. package/src/android-bootstrap/less/list-group.less +141 -141
  68. package/src/android-bootstrap/less/media.less +66 -66
  69. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  70. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  71. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  72. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  73. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  74. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  75. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  76. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  77. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  78. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  79. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  80. package/src/android-bootstrap/less/mixins/image.less +33 -33
  81. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  82. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  83. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  84. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  85. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  86. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  87. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  88. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  89. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  90. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  91. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  92. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  93. package/src/android-bootstrap/less/mixins/size.less +10 -10
  94. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  95. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  96. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  97. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  98. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  99. package/src/android-bootstrap/less/mixins.less +40 -40
  100. package/src/android-bootstrap/less/modals.less +151 -151
  101. package/src/android-bootstrap/less/navbar.less +660 -660
  102. package/src/android-bootstrap/less/navs.less +290 -290
  103. package/src/android-bootstrap/less/normalize.less +424 -424
  104. package/src/android-bootstrap/less/pager.less +76 -76
  105. package/src/android-bootstrap/less/pagination.less +89 -89
  106. package/src/android-bootstrap/less/panels.less +274 -274
  107. package/src/android-bootstrap/less/popovers.less +131 -131
  108. package/src/android-bootstrap/less/print.less +101 -101
  109. package/src/android-bootstrap/less/progress-bars.less +87 -87
  110. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  111. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  112. package/src/android-bootstrap/less/scaffolding.less +161 -161
  113. package/src/android-bootstrap/less/tables.less +262 -262
  114. package/src/android-bootstrap/less/theme.less +291 -291
  115. package/src/android-bootstrap/less/thumbnails.less +36 -36
  116. package/src/android-bootstrap/less/tooltip.less +102 -102
  117. package/src/android-bootstrap/less/type.less +303 -303
  118. package/src/android-bootstrap/less/utilities.less +55 -55
  119. package/src/android-bootstrap/less/variables.less +896 -896
  120. package/src/android-bootstrap/less/wells.less +29 -29
  121. package/src/bootstrap/less/.csscomb.json +304 -304
  122. package/src/bootstrap/less/.csslintrc +19 -19
  123. package/src/bootstrap/less/alerts.less +73 -73
  124. package/src/bootstrap/less/badges.less +66 -66
  125. package/src/bootstrap/less/breadcrumbs.less +26 -26
  126. package/src/bootstrap/less/button-groups.less +247 -247
  127. package/src/bootstrap/less/buttons.less +172 -172
  128. package/src/bootstrap/less/carousel.less +269 -269
  129. package/src/bootstrap/less/close.less +34 -34
  130. package/src/bootstrap/less/code.less +69 -69
  131. package/src/bootstrap/less/component-animations.less +33 -33
  132. package/src/bootstrap/less/dropdowns.less +216 -216
  133. package/src/bootstrap/less/grid.less +84 -84
  134. package/src/bootstrap/less/input-groups.less +167 -167
  135. package/src/bootstrap/less/jumbotron.less +52 -52
  136. package/src/bootstrap/less/labels.less +64 -64
  137. package/src/bootstrap/less/list-group.less +141 -141
  138. package/src/bootstrap/less/media.less +66 -66
  139. package/src/bootstrap/less/mixins/alerts.less +14 -14
  140. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  141. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  142. package/src/bootstrap/less/mixins/buttons.less +69 -69
  143. package/src/bootstrap/less/mixins/center-block.less +7 -7
  144. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  145. package/src/bootstrap/less/mixins/forms.less +90 -90
  146. package/src/bootstrap/less/mixins/gradients.less +59 -59
  147. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  148. package/src/bootstrap/less/mixins/grid.less +122 -122
  149. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  150. package/src/bootstrap/less/mixins/image.less +33 -33
  151. package/src/bootstrap/less/mixins/labels.less +12 -12
  152. package/src/bootstrap/less/mixins/list-group.less +30 -30
  153. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  154. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  155. package/src/bootstrap/less/mixins/opacity.less +8 -8
  156. package/src/bootstrap/less/mixins/pagination.less +24 -24
  157. package/src/bootstrap/less/mixins/panels.less +24 -24
  158. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  159. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  160. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  161. package/src/bootstrap/less/mixins/resize.less +6 -6
  162. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  163. package/src/bootstrap/less/mixins/size.less +10 -10
  164. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  165. package/src/bootstrap/less/mixins/table-row.less +44 -44
  166. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  167. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  168. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  169. package/src/bootstrap/less/mixins.less +40 -40
  170. package/src/bootstrap/less/modals.less +151 -151
  171. package/src/bootstrap/less/navbar.less +660 -660
  172. package/src/bootstrap/less/normalize.less +424 -424
  173. package/src/bootstrap/less/pagination.less +89 -89
  174. package/src/bootstrap/less/panels.less +275 -275
  175. package/src/bootstrap/less/popovers.less +131 -131
  176. package/src/bootstrap/less/print.less +101 -101
  177. package/src/bootstrap/less/progress-bars.less +87 -87
  178. package/src/bootstrap/less/responsive-embed.less +35 -35
  179. package/src/bootstrap/less/responsive-utilities.less +194 -194
  180. package/src/bootstrap/less/scaffolding.less +161 -161
  181. package/src/bootstrap/less/theme.less +291 -291
  182. package/src/bootstrap/less/thumbnails.less +36 -36
  183. package/src/bootstrap/less/tooltip.less +102 -102
  184. package/src/bootstrap/less/type.less +303 -303
  185. package/src/bootstrap/less/utilities.less +55 -55
  186. package/src/bootstrap/less/wells.less +29 -29
  187. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  188. package/src/components/DefectDealMain/DefectListNew.vue +642 -642
  189. package/src/components/FileUpload.vue +696 -696
  190. package/src/components/Hello.vue +39 -39
  191. package/src/components/LeftTree.vue +27 -27
  192. package/src/components/NewDefectList/DefectListNew.vue +682 -682
  193. package/src/components/android/AddPlanItem.vue +447 -447
  194. package/src/components/android/AddPlanItemYy.vue +451 -451
  195. package/src/components/android/AddSpecialPlanItem.vue +426 -426
  196. package/src/components/android/AndroidDefectDeal.vue +667 -667
  197. package/src/components/android/AttendanceTally.vue +116 -116
  198. package/src/components/android/Blank.vue +10 -10
  199. package/src/components/android/CheckUnplanPage.vue +56 -56
  200. package/src/components/android/Checker.vue +12 -12
  201. package/src/components/android/CheckerAnnual.vue +81 -81
  202. package/src/components/android/CheckerAvarta.vue +82 -82
  203. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  204. package/src/components/android/DailyworkloadQuery.vue +473 -473
  205. package/src/components/android/Devices.vue +327 -327
  206. package/src/components/android/Devicesm.vue +327 -327
  207. package/src/components/android/EquipmentInspection.vue +348 -348
  208. package/src/components/android/FootprintMap.vue +120 -120
  209. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  210. package/src/components/android/MasterMain.vue +77 -77
  211. package/src/components/android/Menu.vue +132 -132
  212. package/src/components/android/NewCheckpaperAndroid.vue +1343 -1343
  213. package/src/components/android/PaperAlarm.vue +85 -85
  214. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  215. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  216. package/src/components/android/PhoneRecordInfo.vue +113 -113
  217. package/src/components/android/PhoneSellInfo.vue +113 -113
  218. package/src/components/android/PhoneUpDetail.vue +1040 -1040
  219. package/src/components/android/PlumberAnnual.vue +83 -83
  220. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  221. package/src/components/android/PlumberMonthly.vue +84 -84
  222. package/src/components/android/PostMap.vue +83 -83
  223. package/src/components/android/QRCode/QRCodeBinding.vue +300 -300
  224. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  225. package/src/components/android/QueryCheckHistory.vue +122 -122
  226. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  227. package/src/components/android/RepairMain.vue +60 -60
  228. package/src/components/android/Repairman.vue +12 -12
  229. package/src/components/android/SafePlanItem.vue +509 -509
  230. package/src/components/android/StationMaster.vue +12 -12
  231. package/src/components/android/examples/SafeListExamples.vue +296 -296
  232. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  233. package/src/components/android/recheck/Recheck.vue +402 -402
  234. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  235. package/src/components/checkplan/checkmsg.vue +459 -459
  236. package/src/components/defect/DefectList.vue +507 -507
  237. package/src/components/defect/DefectListWeixiu.vue +484 -484
  238. package/src/components/defects/DefectModal.vue +101 -101
  239. package/src/components/defects/DevicesAndItem.vue +39 -39
  240. package/src/components/filialCircle/CircleList.vue +139 -139
  241. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  242. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  243. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  244. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  245. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  246. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  247. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  248. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  249. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  250. package/src/components/map/PersonTrack.vue +226 -226
  251. package/src/components/map/SecurityCheckCoordinates.vue +361 -350
  252. package/src/components/notice/NoticeForm.vue +100 -100
  253. package/src/components/notice/NoticeIssue.vue +20 -20
  254. package/src/components/paper/PicViewer.vue +18 -18
  255. package/src/components/paper/RegionalList.vue +220 -220
  256. package/src/components/pc/AnnouncementPC.vue +524 -524
  257. package/src/components/pc/DefectDeal.vue +1008 -1008
  258. package/src/components/pc/DefectList.vue +742 -742
  259. package/src/components/pc/DefectMaterialLook.vue +98 -98
  260. package/src/components/pc/DeviceChange.vue +1068 -1068
  261. package/src/components/pc/PaperDefectMain.vue +905 -905
  262. package/src/components/pc/SafeVisitInfo.vue +261 -261
  263. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  264. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  265. package/src/components/phonestate/PostMap.vue +82 -82
  266. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  267. package/src/components/report/HiddenSituation.vue +165 -165
  268. package/src/components/rongcheng/AspiratedOrderV.vue +2377 -2377
  269. package/src/components/rongcheng/CurrentCreateOnline.vue +906 -906
  270. package/src/components/rongcheng/DefectList.vue +560 -560
  271. package/src/components/rongcheng/SafecheckOrderVCli.vue +2641 -2641
  272. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -419
  273. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -1050
  274. package/src/components/safecheckNew/android/Recheck.vue +379 -379
  275. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  276. package/src/components/shaoguan/DefectList.vue +473 -473
  277. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  278. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  279. package/src/components/userfile/MeterFile.vue +145 -145
  280. package/src/components/userfile/MeterModify.vue +46 -46
  281. package/src/components/userfile/SecurityAudit.vue +243 -243
  282. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  283. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +476 -476
  284. package/src/filiale/ancheng/android/SafecheckOrderV.vue +2703 -2703
  285. package/src/filiale/ancheng/android/SafecheckUserInfo.vue +737 -737
  286. package/src/filiale/ancheng/pc/checkScreen.vue +923 -923
  287. package/src/filiale/ankangyihua/android/AddPlanItem.vue +446 -446
  288. package/src/filiale/ankangyihua/android/SafecheckOrderV.vue +2908 -2908
  289. package/src/filiale/ankangyihua/pc/DefectListWeixiu.vue +491 -491
  290. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  291. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  292. package/src/filiale/bayan/android/Edit.vue +132 -132
  293. package/src/filiale/bayan/pc/DefectListNew.vue +597 -597
  294. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -1838
  295. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  296. package/src/filiale/dexin/android/CasualSave.vue +1050 -1050
  297. package/src/filiale/dexin/android/SafecheckOrderV.vue +2950 -2950
  298. package/src/filiale/fugou/android/AddPlanItem.vue +413 -413
  299. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -2796
  300. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +830 -830
  301. package/src/filiale/fugu/android/SafecheckOrderV.vue +2484 -2484
  302. package/src/filiale/fugu/pc/NewCheckpaper.vue +1287 -1287
  303. package/src/filiale/ganquan/android/AddPlanItem.vue +444 -444
  304. package/src/filiale/ganquan/android/SafecheckOrderV.vue +2485 -2485
  305. package/src/filiale/ganquan/pc/NewCheckpaper.vue +1354 -1354
  306. package/src/filiale/guangxi/pc/DefectListNew.vue +518 -518
  307. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  308. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  309. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  310. package/src/filiale/huatong/android/SafecheckOrderV.vue +2426 -2426
  311. package/src/filiale/huatong/android/SafecheckUserInfo.vue +749 -749
  312. package/src/filiale/huayin/pc/NewCheckpaper.vue +1307 -1307
  313. package/src/filiale/jiaocheng/android/AddPlanItem.vue +435 -435
  314. package/src/filiale/jiaocheng/android/SafecheckUserInfo.vue +737 -737
  315. package/src/filiale/jiaocheng/pc/DefectListNew.vue +576 -576
  316. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  317. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  318. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  319. package/src/filiale/jinbin/pc/DefectListWeixiu.vue +478 -478
  320. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  321. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  322. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  323. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  324. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  325. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  326. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  327. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  328. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  329. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  330. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  331. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  332. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  333. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  334. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  335. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  336. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  337. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  338. package/src/filiale/meihekou/android/AreaPlan.vue +577 -577
  339. package/src/filiale/meihekou/android/MeterReading.vue +110 -110
  340. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1307 -1307
  341. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +785 -785
  342. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1288 -1288
  343. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  344. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  345. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  346. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  347. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  348. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  349. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  350. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  351. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  352. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  353. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  354. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  355. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  356. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1871 -1871
  357. package/src/filiale/qingjian/pc.js +15 -15
  358. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  359. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  360. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  361. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  362. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  363. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  364. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  365. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  366. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  367. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  368. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  369. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  370. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  371. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  372. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  373. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  374. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  375. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  376. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  377. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  378. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  379. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  380. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  381. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  382. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  383. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  384. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  385. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  386. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  387. package/src/filiale/taiyuan/pc/DefectDeal.vue +1034 -1034
  388. package/src/filiale/taiyuan/pc/NewCheckpaper.vue +1976 -1976
  389. package/src/filiale/taiyuan/pc/PlanManage.vue +891 -891
  390. package/src/filiale/taiyuan/pc/checkUserList.vue +798 -798
  391. package/src/filiale/taiyuan/pc.js +15 -15
  392. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  393. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  394. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  395. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  396. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  397. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  398. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  399. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  400. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  401. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  402. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  403. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  404. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  405. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  406. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  407. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  408. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  409. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  410. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  411. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  412. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  413. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  414. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  415. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  416. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  417. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  418. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  419. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  420. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  421. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  422. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  423. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  424. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  425. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  426. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  427. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  428. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  429. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  430. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  431. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +1251 -1251
  432. package/src/filiale/xinkang/android/AddPlanItem.vue +447 -447
  433. package/src/filiale/xinkang/pc/CheckSearchUser.vue +1026 -1026
  434. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  435. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  436. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  437. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  438. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  439. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  440. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  441. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  442. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  443. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  444. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  445. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  446. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +491 -491
  447. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1509 -1509
  448. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -113
  449. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +1270 -1270
  450. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +785 -785
  451. package/src/filiale/yunchengminsheng/android.js +15 -15
  452. package/src/filiale/yunchengminsheng/pc/PaperList.vue +811 -811
  453. package/src/filiale/yunchengminsheng/pc.js +15 -15
  454. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  455. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  456. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  457. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  458. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  459. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  460. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  461. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  462. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  463. package/src/main.js +32 -33
  464. package/src/plugins/LoadData.js +10 -10
  465. package/src/plugins/LoadParams.js +24 -24
  466. package/src/safecheck.js +924 -924
  467. package/src/stores/wxconfig.js +10 -10
  468. package/src/utils/getNowDate.js +33 -33
  469. package/test/e2e/custom-assertions/elementCount.js +26 -26
  470. package/test/e2e/nightwatch.conf.js +40 -40
  471. package/test/e2e/runner.js +30 -30
  472. package/test/e2e/specs/test.js +13 -13
  473. package/test/unit/.eslintrc +5 -5
  474. package/test/unit/TestUtil.js +62 -62
  475. package/test/unit/context.html +20 -20
  476. package/test/unit/index.js +13 -13
@@ -1,830 +1,830 @@
1
- <template>
2
- <div id='MbpeopleList' class="flex">
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
5
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
- <div class="row">
7
- <div class="col-sm-3 form-group">
8
- <label class="font_normal_body">用户编号</label>
9
- <input type="text" class="input_search" style="width:60%" v-model="model.f_userinfo_code"
10
- condition="f_userinfo_code like '%{}%'" placeholder='用户编号'>
11
- </div>
12
- <div class="col-sm-3 form-group">
13
- <label class="font_normal_body">用户姓名</label>
14
- <input type="text" class="input_search" style="width:60%" v-model="model.f_user_name"
15
- condition="f_user_name like '%{}%'" placeholder='用户姓名'>
16
- </div>
17
-
18
- <div class="form-group button-range" style="float: right">
19
- <button class="button_search button_spacing" @click="$parent.$parent.search()">查询</button>
20
- <button class="button_clear button_spacing" @click="clear">清空</button>
21
- <!-- <button class="button_export button_spacing" @click="$parent.$parent.importFile">导入</button>-->
22
- <!-- <export-excel-->
23
- <!-- :data="{condition:$parent.$parent.condition}"-->
24
- <!-- :field="$parent.$parent.getfield"-->
25
- <!-- sqlurl="api/af-revenue/logic/exportfile" sql-name="salembPeopleList" template-name='表册用户导出'-->
26
- <!-- :choose-col="true"></export-excel>-->
27
- <div style="float: right" class="button_spacing"
28
- :class="{'button_shrink_top': $parent.$parent.criteriaShow,'button_shrink_bottom': !$parent.$parent.criteriaShow}"
29
- @click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"></div>
30
- </div>
31
- </div>
32
- <div class="row" v-show="$parent.$parent.criteriaShow">
33
- <div class="col-sm-3 form-group">
34
- <label class="font_normal_body">&nbsp;小&nbsp;区&nbsp;域</label>
35
- <v-select :value.sync="model.f_small_area" v-model="model.f_small_area"
36
- :options='$parent.$parent.smallareas' placeholder='小区域'
37
- close-on-select :search='true'
38
- condition="f_small_area = '{}'"></v-select>
39
- </div>
40
- <div class="form-group col-sm-3">
41
- <label class="font_normal_body">用户电话</label>
42
- <input type="text" class="form-control" v-model="model.f_user_phone" placeholder='用户电话'
43
- condition="f_user_phone like '%{}%'" v-next-el='yhxm' style="width: 60%"
44
- >
45
- </div>
46
- <div class="form-group col-sm-3" title="参数名称:【用气类型】">
47
- <label class="font_normal_body" >用气类型</label>
48
- <v-select :value.sync="model.f_user_gas_type"
49
- v-model="model.f_user_gas_type"
50
- :multiple="true"
51
- :options='$parent.$parent.usergastype' placeholder='请选择'
52
- condition="f_user_gas_type in {}"
53
- ></v-select>
54
- </div>
55
- <div class="form-group col-sm-3" title="参数名称:【用户标签】">
56
- <label class="font_normal_body" >用户标签</label>
57
- <v-select :value.sync="model.f_user_tags"
58
- v-model="model.f_user_tags"
59
- :multiple="true"
60
- :options='$parent.$parent.usertags' placeholder='请选择'
61
- condition="f_user_tags in {}"
62
- ></v-select>
63
- </div>
64
- <div class="form-group col-sm-3">
65
- <label class="font_normal_body">客户类型</label>
66
- <v-select :options='$parent.$parent.user_type' :value.sync="model.f_user_type"
67
- close-on-select condition="f_user_type='{}'"
68
- placeholder='用户类型' v-model="model.f_user_type"></v-select>
69
- </div>
70
- <div class="form-group col-sm-3">
71
- <label class="font_normal_body">客户状态</label>
72
- <v-select :options='$parent.$parent.user_state' :value.sync="model.f_user_state"
73
- close-on-select condition="f_user_state = '{}'"
74
- placeholder='客户状态' v-model="model.f_user_state"></v-select>
75
- </div>
76
- <div class="col-sm-3 form-group">
77
- <label class="font_normal_body">所属表册</label>
78
- <v-select :value.sync="model.f_check_book_num" v-model="model.f_check_book_num"
79
- :options='$parent.$parent.meterbooks' placeholder='安检册'
80
- :value-single="true"
81
- condition="f_check_book_name='{}'"
82
- style="width:60%"
83
- close-on-select></v-select>
84
- </div>
85
- <div class="col-sm-3 form-group">
86
- <label class="font_normal_body">抄&nbsp;表&nbsp;员&nbsp;</label>
87
- <v-select :value.sync="model.f_inputtor" v-model='model.f_inputtor'
88
- style="width:60%"
89
- condition="f_inputtor in {}"
90
- :options='$parent.$parent.inputtores' placeholder='抄表员'
91
- close-on-select
92
- v-el:cc></v-select>
93
- </div>
94
- <div class="col-sm-3 form-group">
95
- <label class="font_normal_body">表箱号&emsp;</label>
96
- <input style="width:60%" type="text" class="form-control" v-model="model.f_metertitles"
97
- condition="f_metertitles like '%{}%'" placeholder='表箱号'
98
- >
99
- </div>
100
- <div class="form-group col-sm-3">
101
- <label class="font_normal_body">用气性质</label>
102
- <v-select :options='$parent.$parent.gasproperties' :value.sync="model.f_gasproperties"
103
- close-on-select condition="f_gasproperties='{}'"
104
- placeholder='用气性质' v-model="model.f_gasproperties"></v-select>
105
- </div>
106
- <div class="form-group col-sm-3">
107
- <label class="font_normal_body">气表类型</label>
108
- <v-select :options='$parent.$parent.meter_classify' :value.sync="model.f_meter_classify"
109
- close-on-select condition="f_meter_classify='{}'"
110
- placeholder='气表类型' v-model="model.f_meter_classify"></v-select>
111
- </div>
112
- <div class="col-sm-3 form-group">
113
- <label class="font_normal_body">气表品牌</label>
114
- <v-select :value.sync="model.f_meter_brand"
115
- v-model="model.f_meter_brand"
116
- :options='$parent.$parent.meterbrands' placeholder='请选择'
117
- condition="f_meter_brand in {}"
118
- close-on-select></v-select>
119
- </div>
120
- <div class="form-group col-sm-3">
121
- <label class="font_normal_body">气表状态</label>
122
- <v-select :options='$parent.$parent.table_state' :value.sync="model.f_table_state"
123
- close-on-select condition="f_table_state = '{}'"
124
- placeholder='气表状态' v-model="model.f_table_state"></v-select>
125
- </div>
126
- <div class="col-sm-3 form-group">
127
- <label class="font_normal_body">小&emsp;区&emsp;</label>
128
- <input type="text" class="input_search" v-model="model.f_residential_area" style="width: 60%"
129
- condition=" f_residential_area like '{}%'" placeholder="输入小区">
130
- </div>
131
- <div class="form-group col-sm-3">
132
- <label class="font_normal_body">客户地址</label>
133
- <input type="text" class="input_search" style="width:60%" v-model="model.f_address"
134
- condition="f_address like '%{}%'" placeholder='客户地址'>
135
- </div>
136
- <div class="col-sm-3 form-group">
137
- <label class="font_normal_body">楼&emsp;号&emsp;</label>
138
- <input type="text" class="input_search" style="width:60%" v-model="model.f_building"
139
- condition="f_building = '{}'" placeholder='楼号'>
140
- </div>
141
- <div class="form-group col-sm-3">
142
- <label class="font_normal_body">组织机构</label>
143
- <res-select :initresid='$parent.$parent.curorgid'
144
- @res-select="$parent.$parent.getorg"
145
- class="select select_list"
146
- restype='organization' :is-mul="false"
147
- style="width: 60%">
148
- </res-select>
149
- </div>
150
- <div class="form-group col-sm-3">
151
- <label class="font_normal_body">是否在册</label>
152
- <v-select :options='$parent.$parent.whether_list'
153
- :value.sync="model.f_book_name"
154
- v-model="model.f_book_name"
155
- close-on-select condition="f_check_book_name {}"
156
- placeholder='是否在册' ></v-select>
157
- </div>
158
- <div class="col-sm-3 form-group">
159
- <label class="font_normal_body">入户证号</label>
160
- <input style="width:60%" type="text" class="form-control" v-model="model.f_book_no"
161
- condition="f_book_no like '%{}%'" placeholder='入户证号'
162
- >
163
- </div>
164
- <div class="col-sm-3 form-group">
165
- <label class="font_normal_body">表&emsp;号&emsp;</label>
166
- <input style="width:60%" type="text" class="form-control" v-model="model.f_meternumber"
167
- condition="f_meternumber like '%{}%'" placeholder='表号'
168
- >
169
- </div>
170
-
171
- <div class="col-sm-3 form-group">
172
- <label class="font_normal_body">街道/乡镇</label>
173
- <v-select :value.sync="model.f_street_id"
174
- :multiple="true"
175
- :options='$parent.$parent.streetslist' placeholder='请选择'
176
- condition="f_street_id in {}"
177
- v-model='model.f_street_id'
178
- @change="$parent.$parent.streetChange"
179
- :search="true" >
180
- </v-select>
181
- </div>
182
- <div class="col-sm-3 form-group">
183
- <label class="font_normal_body">片区/行政村</label>
184
- <v-select :value.sync="model.f_community_id"
185
- :multiple="true"
186
- v-model='model.f_community_id'
187
- :options='$parent.$parent.communitylist'
188
- placeholder='片区/管理站' filer-key="name"
189
- condition="f_community_id in {}"
190
- @change="$parent.$parent.communityChange"
191
- v-ref:slice>
192
- </v-select>
193
- </div>
194
- <div class="col-sm-3 form-group">
195
- <label class="font_normal_body">小区/自然村</label>
196
- <v-select :value.sync="model.f_residential_area_id"
197
- :multiple="true"
198
- :options='$parent.$parent.areaslist' placeholder='请选择'
199
- condition="f_residential_area_id in {}"
200
- v-model='model.f_residential_area_id'
201
- >
202
- </v-select>
203
- </div>
204
- <div class="col-sm-3 form-group">
205
- <label class="font_normal_body">开户时间</label>
206
- <datepicker
207
- :value.sync="model.f_open_date"
208
- placeholder='开户时间' style="width:60%"
209
- :disabled-days-of-week="[]"
210
- :format="'yyyy-MM-dd'"
211
- :select-month="true"
212
- v-model='model.f_open_date'
213
- :show-rest-button="reset">
214
- </datepicker>
215
- </div>
216
- </div>
217
- </div>
218
- </criteria>
219
- <data-grid class="list_area table_sy" :model="model" partial='list' v-ref:grid :optional="true">
220
- <template partial='head'>
221
- <!--<th>-->
222
- <!--<input type="checkbox" id="f_operator" v-model="$parent.$parent.$parent.all[model.pageIndex-1]"-->
223
- <!--@change="$parent.$parent.$parent.select()"/>-->
224
- <!--</th>-->
225
- <th><nobr>序号</nobr></th>
226
- <th><nobr>客户编号</nobr></th>
227
- <th><nobr>客户名称</nobr></th>
228
- <th><nobr>客户状态</nobr></th>
229
-
230
- <th><nobr>区/县</nobr></th>
231
- <th><nobr>街道/乡镇</nobr></th>
232
- <th><nobr>片区/行政村</nobr></th>
233
- <th><nobr>小区/自然村</nobr></th>
234
- <th><nobr>客户地址</nobr></th>
235
- <th><nobr>表号</nobr></th>
236
- <th><nobr>气表状态</nobr></th>
237
- <th><nobr>所属表册</nobr></th>
238
- <!-- <th><nobr>册内排序</nobr></th>-->
239
- <th><nobr>表箱号</nobr></th>
240
- <th><nobr>入户证号</nobr></th>
241
- <th><nobr>表底数</nobr></th>
242
- </template>
243
- <template partial='body'>
244
- <!--<td>-->
245
- <!--<input :id="'body'+model.pageIndex" type='checkbox' @change="$parent.$parent.$parent.selectOne($event,row,$index)"-->
246
- <!--:checked="$parent.$parent.$parent.ischecked(model.pageIndex-1,$index)"/>-->
247
- <!--</td>-->
248
- <td>{{$index+1}}</td>
249
- <td>{{row.f_userinfo_code}}</td>
250
- <td>{{row.f_user_name}}</td>
251
- <td>{{row.f_user_state}}</td>
252
-
253
- <td>{{row.f_pcd}}</td>
254
- <td>{{row.f_street}}</td>
255
- <td>{{row.f_community}}</td>
256
- <td>{{row.f_residential_area}}</td>
257
- <td>{{row.f_address}}</td>
258
- <td>{{row.f_meternumber}}</td>
259
- <td>{{row.f_table_state}}</td>
260
- <td>{{row.f_check_book_name}}</td>
261
- <!-- <td>{{row.f_meter_book_sort}}</td>-->
262
- <!-- <td>{{row.f_adjustable_id}}</td>-->
263
- <td style="text-align:center">{{row.f_metertitles}}</td>
264
- <td style="text-align:center"><nobr>{{row.f_book_no}}</nobr></td>
265
- <td style="text-align:center">{{row.f_meter_base}}</td>
266
- </template>
267
- </data-grid>
268
- </criteria-paged>
269
- </div>
270
- <modal :show.sync="show" width="500px" title="文件导入" v-ref:modal large backdrop="false">
271
- <article slot="modal-body" class="modal-body">
272
- <file-upload class="my-file-uploader " name="UploadFile" style="border-radius: 2px;"
273
- action="api/af-revenue/file/uploadFile" tagname="导入表册用户" v-ref:file multiple></file-upload>
274
- </article>
275
- <footer slot="modal-footer" class="modal-footer">
276
- </footer>
277
- </modal>
278
- </template>
279
-
280
- <script>
281
- import {HttpResetClass, PagedList} from 'vue-client'
282
- import Vue from 'vue'
283
-
284
- let getAreaConfig = async function (self) {
285
- // 获取气价里面的配置
286
- await self.$getConfig(self, 'UserAddress')
287
- Object.assign(self.model, self.config)
288
- self.initdata()
289
- }
290
- let loadParamGem = async function (self) {
291
- await self.$LoadParams.loadParam()
292
- self.getfield = self.config.excelHeaders
293
- // self.$refs.paged.$refs.cri.model.f_meter_classify = ['机表']
294
- await self.initAdjustables()
295
- // await self.search()
296
- }
297
- export default {
298
- name: 'MbpeopleList',
299
- data () {
300
- return {
301
- f_filialeids: this.$login.f.orgid,
302
- // 初始化省市区数据
303
- pcdslist: [],
304
- //初始化街道数据
305
- streetslist:[],
306
- communitylist:[],
307
- areaslist: [],
308
- // 选中所有地址
309
- addresslist: [],
310
- sliceArea: [],
311
- orgCondtionStr: '',
312
- f_filialeid: this.$login.f.orgid,
313
- f_orgid: '',
314
- invoiceuse: [{label: '是', value: 'is not null'}, {label: '否', value: 'is null'}],
315
- model: new PagedList('api/af-safecheck/sql/mb_peopleList', 20),
316
- f_orgstr: this.$login.f.orgid,
317
- // 要操作的用户
318
- rowsdata: [],
319
- aaa: '',
320
- // 控制全选
321
- all: [],
322
- // 控制单选
323
- radio: [],
324
- show: false,
325
- meterbooks: [{label: '全部', value: ''}],
326
- criteriaShow: false,
327
- gasproperties: this.$appdata.getParam('用气性质') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')] : [],
328
- user_type: this.$appdata.getParam('用户类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')] : [],
329
- meter_classify: this.$appdata.getParam('气表类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')] : [],
330
- table_state: this.$appdata.getParam('气表状态') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('气表状态')] : [],
331
- f_small_areas: this.$appdata.getParam('小区域') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('小区域')] : [],
332
- user_state: [{label: '正常', value: '正常'}, {label: '预备', value: '预备'}, {label: '销户', value: '销户'}],
333
- whether_list: [{label: '全部', value: ''},{label: '已在册内', value: 'is not null'}, {label: '不在册内', value: 'is null'}],
334
- meterbrands: [],
335
- condition: '',
336
- adjustables: [],
337
- unnullrowdata: [],
338
- getfield: {},
339
- config: {
340
- // 导出列要和查询列相同
341
- excelHeaders: {
342
- 'f_userfiles_id': '系统识别号',
343
- 'f_userinfo_code': '用户编号',
344
- 'f_user_name': '用户姓名',
345
- 'f_address': '用户地址'
346
- }
347
- },
348
- curorgid: [this.$login.f.orgid]
349
- }
350
- },
351
- created () {
352
- },
353
- ready () {
354
- getAreaConfig(this)
355
- loadParamGem(this)
356
- this.getmeterbook()
357
- },
358
- methods: {
359
- async meterbook(){
360
- this.meterbooks=[]
361
- if(this.f_orgid==''){
362
- this.f_orgid=this.$login.f.orgid
363
- }
364
- let res=await this.$resetpost('api/af-safecheck/sql/safe_singleTable_OrderBy',{data:{items:' * ',tablename:'t_check_book',condition:` 1=1 `,orderitem:' id desc'}},{resolveMsg:null,rejectMsg:null})
365
- for(let i=0;i<res.data.length;i++){
366
- console.log("res",res.data[i])
367
- let temp=[]
368
- temp.label=res.data[i].f_check_book_name
369
- temp.value=res.data[i].id
370
- this.meterbooks.push(temp)
371
- }
372
-
373
- },
374
- invoiceuseChange (val) {
375
- // 查询已开票记录清空选项
376
- if (val == 'is not null') {
377
- this.rowsdata = []
378
- this.radio = []
379
- }
380
- },
381
-
382
- select () {
383
- let index = this.model.pageIndex - 1
384
- console.log('全选', this.all[index])
385
- if (!this.radio[index]) {
386
- this.radio.$set(index, [])
387
- }
388
- if (this.all[index]) {
389
- // 数据
390
- this.rowsdata[index] = Object.assign([], this.model.rows)
391
- // 勾选
392
- for (var i = 0; i < this.model.rows.length; i++) {
393
- this.radio[index].$set(i, true)
394
- }
395
- } else {
396
- // 数据
397
- this.rowsdata[index] = []
398
- // 不勾选
399
- for (var i = 0; i < this.model.rows.length; i++) {
400
- this.radio[index].$set(i, false)
401
- }
402
- }
403
- this.mergeRowData()
404
- },
405
- importFile () {
406
- this.show = true
407
- },
408
- async initAdjustables () {
409
- let arr = []
410
- let filter = this.$login.f.orgid
411
- this.$GetSaleParam.getAdjustable(filter).forEach((item) => {
412
- let temp = {}
413
- temp.label = '[' + item.value.f_adjustable_id + ']-' + item.label
414
- temp.value = item.value.id
415
- arr.push(temp)
416
- })
417
- this.adjustables = [{label: '全部', value: ''}, ...arr]
418
- // 初始化气表品牌
419
- let brandArr = []
420
- this.$GetSaleParam.getGasbrand().forEach((item) => {
421
- let temp1 = {}
422
- temp1.label = item.label
423
- temp1.value = item.value.f_meter_brand
424
- brandArr.push(temp1)
425
- })
426
- this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
427
- //
428
- // // 加载安检册
429
- // console.log("------------------this.$GetSaleParam.getMeterBooks()",this.$GetSaleParam.getMeterBooks())
430
- // this.meterbooks = [{label: '全部', value: ''}, ...this.$GetSaleParam.getMeterBooks()]
431
- },
432
- search () {
433
- this.$refs.paged.$refs.cri.search()
434
- console.log('mbpeople this = ', this)
435
- },
436
- selfSearch (args) {
437
- let f_orgstr = this.orgCondtionStr ? this.orgCondtionStr : "and f_orgid in ('" + this.f_orgid + "')"
438
- args.condition = `${args.condition} ` + f_orgstr
439
- // args.condition += ` and f_orgid = ${this.f_orgstr}`
440
- if(args.model.f_open_date){
441
- args.condition += ` and f_open_date <='${args.model.f_open_date}' `
442
- }
443
- this.condition = args.condition
444
- this.$parent.condition = this.condition
445
- this.model.search(args.condition, args.model)
446
- },
447
- // 合并二维数组并去空
448
- mergeRowData () {
449
- console.log('!!!!!!!!!!!!!数组去空', this.rowsdata)
450
- let data = []
451
- // 合并
452
- for (let array of this.rowsdata) {
453
- data.push.apply(data, array)
454
- }
455
- // 去空
456
- // 拓展数组去空值的方法
457
- Array.prototype.removeEmpty = function () {
458
- for (var i = 0; i < this.length; i++) {
459
- if (this[i] == '' || typeof (this[i]) == 'undefined') {
460
- this.splice(i, 1)
461
- i--
462
- }
463
- }
464
- return this
465
- }
466
- data = data.removeEmpty()
467
- this.unnullrowdata = []
468
- data.forEach((row) => {
469
- this.unnullrowdata.push(row.f_userfiles_id + '')
470
- })
471
- this.$parent.rowsdata = this.unnullrowdata
472
- // this.$parent.rowsdata = this.rowsdata
473
- },
474
- selectOne (event, row, i) {
475
- console.log('单选', event.target.checked)
476
- let index = this.model.pageIndex - 1
477
- if (!this.rowsdata[index]) {
478
- this.rowsdata[index] = []
479
- }
480
- if (!this.radio[index]) {
481
- this.radio.$set(index, [])
482
- }
483
- if (event.target.checked) {
484
- // 数据
485
- this.rowsdata[index][i] = row
486
- // 勾选
487
- this.radio[index].$set(i, true)
488
- // 判断是否全部选中
489
- var allState = true
490
- if (this.model.rows.length != this.radio[index].length) {
491
- allState = false
492
- }
493
- for (var state of this.radio[index]) {
494
- if (!state) {
495
- allState = false
496
- }
497
- }
498
- if (allState) {
499
- this.all.$set(index, true)
500
- } else {
501
- this.all.$set(index, false)
502
- }
503
- } else {
504
- // 数据
505
- this.rowsdata[index][i] = []
506
- // 不勾选
507
- this.radio[index].$set(i, false)
508
- // 任意取消一个则全选状态设为false
509
- this.all.$set(index, false)
510
- }
511
- this.mergeRowData()
512
- },
513
- getorg (val) {
514
- console.log('getorg:val=', val)
515
- console.log('getorg:this.f_orgid=', this.f_orgid)
516
- this.f_orgid = val
517
- this.f_filialeid = val[0]
518
- },
519
- async getmeterbook(){
520
- await this.meterbook()
521
- this.$emit('childre',this.meterbooks)
522
- },
523
- async initdata () {
524
- this.initAreas(this.f_filialeids)
525
- // 添加特殊地址选省市区
526
-
527
- this.initpcds(` f_orgid = '${this.f_filialeids}'`)
528
- this.initstreets(` f_orgid = '${this.f_filialeids}' `)
529
- this.initareas(` f_orgid = '${this.f_filialeids}'`)
530
- },
531
- // 初始化片区
532
- async initAreas (val) {
533
- if (val) {
534
- let getAllArea = await this.$resetpost('/rs/search', {
535
- source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
536
- userid: this.$login.f.id
537
- }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
538
-
539
- let arr = getAllArea.data.filter((res) => {
540
- return res.parentid == val
541
- })
542
- console.log('过滤之后的片区', arr)
543
- this.sliceArea = []
544
- arr.forEach((res) => {
545
- this.sliceArea.push({label: res.name, value: res.name})
546
- })
547
- }
548
- },
549
- initModel () {
550
- if (this.row) {
551
- this.cleardata()
552
- this.model = Object.assign({}, this.model, this.row)
553
- // 处理片区代码
554
- this.model.slice_area = [{
555
- name: this.model.f_slice_area,
556
- code: this.model.f_area_code
557
- }]
558
- }
559
- },
560
- // 初始化省市区,添加街道
561
- async initpcds (pconditon) {
562
- this.pcdslist = []
563
- let HttpReset = new HttpResetClass()
564
- let req = await HttpReset.load('POST', 'api/af-revenue/sql/address_singleTableOrderBy?pageNo=1&pageSize=9999999', {
565
- data: {
566
- items: '*',
567
- tablename: 't_pcd',
568
- orderitem: 'id',
569
- condition: pconditon
570
- }
571
- }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
572
- let redata = []
573
- req.data.forEach((row, n) => {
574
- redata[n] = {
575
- label: row.f_pcd,
576
- value: row.id,
577
- data: row,
578
- id: row.id
579
- }
580
- })
581
- this.pcdslist = redata
582
- console.log("xxxxxxxxxxxxxx")
583
- console.log(this.pcdslist)
584
- console.log("redataxxxxxxxx")
585
- },
586
- // 初始化街道 添加小区
587
- async initstreets (pconditon) {
588
- this.streetslist = []
589
- let HttpReset = new HttpResetClass()
590
- let req = await HttpReset.load('POST', 'api/af-revenue/sql/address_singleTableOrderBy', {
591
- data: {
592
- items: '*',
593
- tablename: 't_street',
594
- orderitem: 'id',
595
- condition: pconditon
596
- }
597
- }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
598
- let redata = []
599
- req.data.forEach((row, n) => {
600
- redata[n] = {
601
- label: row.f_street,
602
- value: row.id,
603
- data: row,
604
- id: row.id
605
- }
606
- })
607
- this.streetslist = redata
608
- console.log("xxxxxxxxxxxxxx")
609
- console.log(this.streetslist)
610
- console.log("redataxxxxxxxx")
611
- },
612
- // 初始化小区添加小区
613
- async initareas (pconditon) {
614
- // if(this.usertype){
615
- // pconditon=pconditon+` and f_special='1' `
616
- // }
617
- this.areaslist = []
618
- let HttpReset = new HttpResetClass()
619
- let req = await HttpReset.load('POST', 'api/af-revenue/sql/address_singleTableOrderBy?pageNo=1&pageSize=9999999', {
620
- data: {
621
- items: '*',
622
- tablename: 't_area',
623
- orderitem: 'id',
624
- condition: pconditon
625
- }
626
- }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
627
- let redata = []
628
- req.data.forEach((row) => {
629
- redata.push({
630
- label: row.f_residential_area,
631
- value: row.id,
632
- data: row,
633
- id: row.id
634
- })
635
- })
636
- this.areaslist = redata
637
- },
638
- //小区变化
639
- areaChange(val){
640
- console.log("小区变化",val)
641
- // 选择小区后级联出省市区和街道
642
- let selectArea // 选中的小区数据
643
- for (let row of this.areaslist) {
644
- if (val == row.value) {
645
- selectArea = row.data
646
- break
647
- }
648
- }
649
- if (selectArea) {
650
- this.model.f_street_id = selectArea.f_street_id
651
- this.model.f_pcd_id = selectArea.f_pcd_id
652
- this.model.f_community_id = selectArea.f_community_id
653
- console.log( this.model.f_community_id)
654
-
655
- this.initstreets(` f_filialeid = '${this.f_filialeids}' and id ='${selectArea.f_street_id}' `)
656
- this.initpcds(` f_filialeid = '${this.f_filialeids}' and id ='${selectArea.f_pcd_id}' `)
657
- if(selectArea.f_community_id){
658
- this.initcommunity(` f_filialeid = '${this.f_filialeids}' and id ='${selectArea.f_community_id}' `)
659
- }
660
- // this.model.f_slice_area = selectArea.f_slice_area
661
- // 拼接地址
662
- this.model.f_address = `${selectArea.f_street}${selectArea.f_community}${selectArea.f_residential_area}`
663
- console.log( this.model.f_community_id)
664
- }
665
- this.$nextTick(() => {
666
- this.$resetValidation()
667
- })
668
- },
669
- // 片区变化 f_area_code
670
- async areasChange (val) {
671
- console.log('街道变化', val)
672
- if (this.streetslist[0]) {
673
- var street = ''
674
- this.streetslist.forEach((item) => {
675
- if (item.id === val) {
676
- street = item.label
677
- }
678
- })
679
- // this.model.f_address = street
680
- }
681
- if (val) {
682
- // 那就把[小区]重新组织一下
683
- await this.initareas(` f_area_code ='${val}' `)
684
- if (this.$refs.paged.$refs.criteria.model.f_residential_area_id) {
685
- if (this.findbyid(this.areaslist, this.$refs.paged.$refs.criteria.model.f_residential_area_id)) {
686
- let street_id = this.findbyid(this.areaslist,this.$refs.paged.$refs.criteria.model.f_residential_area_id).f_street_id
687
- if (street_id != val) {
688
- this.$refs.paged.$refs.criteria.model.f_residential_area_id = ''
689
- }
690
- } else {
691
- this.$refs.paged.$refs.criteria.model.f_residential_area_id = ''
692
- }
693
- }
694
- }
695
- },
696
- //街道变化
697
- //初始化街道 添加小区
698
- async initcommunity(pconditon){
699
- this.communitylist = []
700
- let HttpReset = new HttpResetClass()
701
- let req = await HttpReset.load('POST', 'api/af-revenue/sql/address_singleTableOrderBy', {
702
- data: {
703
- items: '*',
704
- tablename: 't_community',
705
- orderitem: 'id',
706
- condition: pconditon
707
- }
708
- }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
709
- let redata = []
710
- req.data.forEach((row, n) => {
711
- redata[n] = {
712
- label: row.f_community_name,
713
- value: row.id,
714
- data:row,
715
- id:row.id
716
- }
717
- })
718
- this.communitylist=redata
719
- },
720
- async streetChange(val) {
721
- if (val.length > 0) {
722
- // 使用数组来收集值
723
- const ids = [];
724
- for (let i = 0; i < val.length; i++) {
725
- ids.push(val[i]);
726
- }
727
- // 将数组转换为逗号分隔的字符串
728
- const strs = ids.join(',');
729
- // 调用 initcommunity 方法时确保 SQL 语法正确
730
- await this.initcommunity(`f_filialeid = '${this.f_filialeids}' and f_street_id in (${strs})`);
731
- }
732
- },
733
- async communityChange(val){
734
- console.log(val)
735
- if(val.length > 0){
736
- // 使用数组来收集值
737
- const ids = [];
738
- for (let i = 0; i < val.length; i++) {
739
- ids.push(val[i]);
740
- }
741
- // 将数组转换为逗号分隔的字符串
742
- const strs = ids.join(',');
743
- await this.initareas(` f_filialeid = '${this.f_filialeids}' and f_community_id in (${strs}) `)
744
- }
745
- }
746
- },
747
- computed: {
748
- usergastype () {
749
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气类型')]
750
- },
751
- usertags () {
752
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户标签')]
753
- },
754
- ischecked () {
755
- return function (index, i) {
756
- if (!this.radio[index]) {
757
- return false
758
- }
759
- return this.radio[index][i]
760
- }
761
- },
762
- smallareas () {
763
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('小区域')]
764
- },
765
- inputtores () {
766
- // 获取抄表员
767
- console.log('获取抄表员', this.$login.f)
768
- let rs = []
769
- if (this.$login.f.f_gasman.length > 0) {
770
- for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
771
- let temp = {
772
- label: this.$login.f.f_gasman[i].name,
773
- value: this.$login.f.f_gasman[i].name
774
- }
775
- rs.push(temp)
776
- }
777
- }
778
- this.inputtores2 = rs
779
- return [ ...rs]
780
- }
781
- },
782
- watch: {
783
- async 'f_orgid'(){
784
- this.meterbooks=[]
785
- await this.meterbook()
786
- this.$emit('childre',this.meterbooks)
787
- },
788
- batchMeterShow () {
789
- if (this.batchMeterShow == false) {
790
- // 将选的文件清空
791
- this.$refs.file.$el.querySelector('input').value = ''
792
- }
793
- },
794
- 'f_filialeid' (val) {
795
- loadParamGem(this)
796
- }
797
- },
798
- events: {
799
- onFileUpload: function (file, res) {
800
- // let URL = res.f_downloadpath.substring(res.f_downloadpath.lastIndexOf(":\\") + 2)
801
- // res.f_downloadpath = "http://" + location.host + "/" + URL
802
- // res.f_downloadpath.replace('\\','/')
803
- this.$resetpost('api/af-revenue/logic/upLoadBookFile',
804
- {data: {
805
- condition: this.condition,
806
- filepath: res.f_downloadpath
807
- }
808
- },
809
- {resolveMsg: null, rejectMsg: '上传失败'}).then((res) => {
810
- this.show = false
811
- this.$showAlert(`导入成功`, 'success', 2000)
812
- this.search()
813
- })
814
- }
815
- }
816
- }
817
- </script>
818
-
819
- <style lang="less">
820
- #MbpeopleList {
821
- tr {
822
- th {
823
- text-align: center;
824
- }
825
- td {
826
- text-align: center;
827
- }
828
- }
829
- }
830
- </style>
1
+ <template>
2
+ <div id='MbpeopleList' class="flex">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row">
7
+ <div class="col-sm-3 form-group">
8
+ <label class="font_normal_body">用户编号</label>
9
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_userinfo_code"
10
+ condition="f_userinfo_code like '%{}%'" placeholder='用户编号'>
11
+ </div>
12
+ <div class="col-sm-3 form-group">
13
+ <label class="font_normal_body">用户姓名</label>
14
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_user_name"
15
+ condition="f_user_name like '%{}%'" placeholder='用户姓名'>
16
+ </div>
17
+
18
+ <div class="form-group button-range" style="float: right">
19
+ <button class="button_search button_spacing" @click="$parent.$parent.search()">查询</button>
20
+ <button class="button_clear button_spacing" @click="clear">清空</button>
21
+ <!-- <button class="button_export button_spacing" @click="$parent.$parent.importFile">导入</button>-->
22
+ <!-- <export-excel-->
23
+ <!-- :data="{condition:$parent.$parent.condition}"-->
24
+ <!-- :field="$parent.$parent.getfield"-->
25
+ <!-- sqlurl="api/af-revenue/logic/exportfile" sql-name="salembPeopleList" template-name='表册用户导出'-->
26
+ <!-- :choose-col="true"></export-excel>-->
27
+ <div style="float: right" class="button_spacing"
28
+ :class="{'button_shrink_top': $parent.$parent.criteriaShow,'button_shrink_bottom': !$parent.$parent.criteriaShow}"
29
+ @click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"></div>
30
+ </div>
31
+ </div>
32
+ <div class="row" v-show="$parent.$parent.criteriaShow">
33
+ <div class="col-sm-3 form-group">
34
+ <label class="font_normal_body">&nbsp;小&nbsp;区&nbsp;域</label>
35
+ <v-select :value.sync="model.f_small_area" v-model="model.f_small_area"
36
+ :options='$parent.$parent.smallareas' placeholder='小区域'
37
+ close-on-select :search='true'
38
+ condition="f_small_area = '{}'"></v-select>
39
+ </div>
40
+ <div class="form-group col-sm-3">
41
+ <label class="font_normal_body">用户电话</label>
42
+ <input type="text" class="form-control" v-model="model.f_user_phone" placeholder='用户电话'
43
+ condition="f_user_phone like '%{}%'" v-next-el='yhxm' style="width: 60%"
44
+ >
45
+ </div>
46
+ <div class="form-group col-sm-3" title="参数名称:【用气类型】">
47
+ <label class="font_normal_body" >用气类型</label>
48
+ <v-select :value.sync="model.f_user_gas_type"
49
+ v-model="model.f_user_gas_type"
50
+ :multiple="true"
51
+ :options='$parent.$parent.usergastype' placeholder='请选择'
52
+ condition="f_user_gas_type in {}"
53
+ ></v-select>
54
+ </div>
55
+ <div class="form-group col-sm-3" title="参数名称:【用户标签】">
56
+ <label class="font_normal_body" >用户标签</label>
57
+ <v-select :value.sync="model.f_user_tags"
58
+ v-model="model.f_user_tags"
59
+ :multiple="true"
60
+ :options='$parent.$parent.usertags' placeholder='请选择'
61
+ condition="f_user_tags in {}"
62
+ ></v-select>
63
+ </div>
64
+ <div class="form-group col-sm-3">
65
+ <label class="font_normal_body">客户类型</label>
66
+ <v-select :options='$parent.$parent.user_type' :value.sync="model.f_user_type"
67
+ close-on-select condition="f_user_type='{}'"
68
+ placeholder='用户类型' v-model="model.f_user_type"></v-select>
69
+ </div>
70
+ <div class="form-group col-sm-3">
71
+ <label class="font_normal_body">客户状态</label>
72
+ <v-select :options='$parent.$parent.user_state' :value.sync="model.f_user_state"
73
+ close-on-select condition="f_user_state = '{}'"
74
+ placeholder='客户状态' v-model="model.f_user_state"></v-select>
75
+ </div>
76
+ <div class="col-sm-3 form-group">
77
+ <label class="font_normal_body">所属表册</label>
78
+ <v-select :value.sync="model.f_check_book_num" v-model="model.f_check_book_num"
79
+ :options='$parent.$parent.meterbooks' placeholder='安检册'
80
+ :value-single="true"
81
+ condition="f_check_book_name='{}'"
82
+ style="width:60%"
83
+ close-on-select></v-select>
84
+ </div>
85
+ <div class="col-sm-3 form-group">
86
+ <label class="font_normal_body">抄&nbsp;表&nbsp;员&nbsp;</label>
87
+ <v-select :value.sync="model.f_inputtor" v-model='model.f_inputtor'
88
+ style="width:60%"
89
+ condition="f_inputtor in {}"
90
+ :options='$parent.$parent.inputtores' placeholder='抄表员'
91
+ close-on-select
92
+ v-el:cc></v-select>
93
+ </div>
94
+ <div class="col-sm-3 form-group">
95
+ <label class="font_normal_body">表箱号&emsp;</label>
96
+ <input style="width:60%" type="text" class="form-control" v-model="model.f_metertitles"
97
+ condition="f_metertitles like '%{}%'" placeholder='表箱号'
98
+ >
99
+ </div>
100
+ <div class="form-group col-sm-3">
101
+ <label class="font_normal_body">用气性质</label>
102
+ <v-select :options='$parent.$parent.gasproperties' :value.sync="model.f_gasproperties"
103
+ close-on-select condition="f_gasproperties='{}'"
104
+ placeholder='用气性质' v-model="model.f_gasproperties"></v-select>
105
+ </div>
106
+ <div class="form-group col-sm-3">
107
+ <label class="font_normal_body">气表类型</label>
108
+ <v-select :options='$parent.$parent.meter_classify' :value.sync="model.f_meter_classify"
109
+ close-on-select condition="f_meter_classify='{}'"
110
+ placeholder='气表类型' v-model="model.f_meter_classify"></v-select>
111
+ </div>
112
+ <div class="col-sm-3 form-group">
113
+ <label class="font_normal_body">气表品牌</label>
114
+ <v-select :value.sync="model.f_meter_brand"
115
+ v-model="model.f_meter_brand"
116
+ :options='$parent.$parent.meterbrands' placeholder='请选择'
117
+ condition="f_meter_brand in {}"
118
+ close-on-select></v-select>
119
+ </div>
120
+ <div class="form-group col-sm-3">
121
+ <label class="font_normal_body">气表状态</label>
122
+ <v-select :options='$parent.$parent.table_state' :value.sync="model.f_table_state"
123
+ close-on-select condition="f_table_state = '{}'"
124
+ placeholder='气表状态' v-model="model.f_table_state"></v-select>
125
+ </div>
126
+ <div class="col-sm-3 form-group">
127
+ <label class="font_normal_body">小&emsp;区&emsp;</label>
128
+ <input type="text" class="input_search" v-model="model.f_residential_area" style="width: 60%"
129
+ condition=" f_residential_area like '{}%'" placeholder="输入小区">
130
+ </div>
131
+ <div class="form-group col-sm-3">
132
+ <label class="font_normal_body">客户地址</label>
133
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_address"
134
+ condition="f_address like '%{}%'" placeholder='客户地址'>
135
+ </div>
136
+ <div class="col-sm-3 form-group">
137
+ <label class="font_normal_body">楼&emsp;号&emsp;</label>
138
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_building"
139
+ condition="f_building = '{}'" placeholder='楼号'>
140
+ </div>
141
+ <div class="form-group col-sm-3">
142
+ <label class="font_normal_body">组织机构</label>
143
+ <res-select :initresid='$parent.$parent.curorgid'
144
+ @res-select="$parent.$parent.getorg"
145
+ class="select select_list"
146
+ restype='organization' :is-mul="false"
147
+ style="width: 60%">
148
+ </res-select>
149
+ </div>
150
+ <div class="form-group col-sm-3">
151
+ <label class="font_normal_body">是否在册</label>
152
+ <v-select :options='$parent.$parent.whether_list'
153
+ :value.sync="model.f_book_name"
154
+ v-model="model.f_book_name"
155
+ close-on-select condition="f_check_book_name {}"
156
+ placeholder='是否在册' ></v-select>
157
+ </div>
158
+ <div class="col-sm-3 form-group">
159
+ <label class="font_normal_body">入户证号</label>
160
+ <input style="width:60%" type="text" class="form-control" v-model="model.f_book_no"
161
+ condition="f_book_no like '%{}%'" placeholder='入户证号'
162
+ >
163
+ </div>
164
+ <div class="col-sm-3 form-group">
165
+ <label class="font_normal_body">表&emsp;号&emsp;</label>
166
+ <input style="width:60%" type="text" class="form-control" v-model="model.f_meternumber"
167
+ condition="f_meternumber like '%{}%'" placeholder='表号'
168
+ >
169
+ </div>
170
+
171
+ <div class="col-sm-3 form-group">
172
+ <label class="font_normal_body">街道/乡镇</label>
173
+ <v-select :value.sync="model.f_street_id"
174
+ :multiple="true"
175
+ :options='$parent.$parent.streetslist' placeholder='请选择'
176
+ condition="f_street_id in {}"
177
+ v-model='model.f_street_id'
178
+ @change="$parent.$parent.streetChange"
179
+ :search="true" >
180
+ </v-select>
181
+ </div>
182
+ <div class="col-sm-3 form-group">
183
+ <label class="font_normal_body">片区/行政村</label>
184
+ <v-select :value.sync="model.f_community_id"
185
+ :multiple="true"
186
+ v-model='model.f_community_id'
187
+ :options='$parent.$parent.communitylist'
188
+ placeholder='片区/管理站' filer-key="name"
189
+ condition="f_community_id in {}"
190
+ @change="$parent.$parent.communityChange"
191
+ v-ref:slice>
192
+ </v-select>
193
+ </div>
194
+ <div class="col-sm-3 form-group">
195
+ <label class="font_normal_body">小区/自然村</label>
196
+ <v-select :value.sync="model.f_residential_area_id"
197
+ :multiple="true"
198
+ :options='$parent.$parent.areaslist' placeholder='请选择'
199
+ condition="f_residential_area_id in {}"
200
+ v-model='model.f_residential_area_id'
201
+ >
202
+ </v-select>
203
+ </div>
204
+ <div class="col-sm-3 form-group">
205
+ <label class="font_normal_body">开户时间</label>
206
+ <datepicker
207
+ :value.sync="model.f_open_date"
208
+ placeholder='开户时间' style="width:60%"
209
+ :disabled-days-of-week="[]"
210
+ :format="'yyyy-MM-dd'"
211
+ :select-month="true"
212
+ v-model='model.f_open_date'
213
+ :show-rest-button="reset">
214
+ </datepicker>
215
+ </div>
216
+ </div>
217
+ </div>
218
+ </criteria>
219
+ <data-grid class="list_area table_sy" :model="model" partial='list' v-ref:grid :optional="true">
220
+ <template partial='head'>
221
+ <!--<th>-->
222
+ <!--<input type="checkbox" id="f_operator" v-model="$parent.$parent.$parent.all[model.pageIndex-1]"-->
223
+ <!--@change="$parent.$parent.$parent.select()"/>-->
224
+ <!--</th>-->
225
+ <th><nobr>序号</nobr></th>
226
+ <th><nobr>客户编号</nobr></th>
227
+ <th><nobr>客户名称</nobr></th>
228
+ <th><nobr>客户状态</nobr></th>
229
+
230
+ <th><nobr>区/县</nobr></th>
231
+ <th><nobr>街道/乡镇</nobr></th>
232
+ <th><nobr>片区/行政村</nobr></th>
233
+ <th><nobr>小区/自然村</nobr></th>
234
+ <th><nobr>客户地址</nobr></th>
235
+ <th><nobr>表号</nobr></th>
236
+ <th><nobr>气表状态</nobr></th>
237
+ <th><nobr>所属表册</nobr></th>
238
+ <!-- <th><nobr>册内排序</nobr></th>-->
239
+ <th><nobr>表箱号</nobr></th>
240
+ <th><nobr>入户证号</nobr></th>
241
+ <th><nobr>表底数</nobr></th>
242
+ </template>
243
+ <template partial='body'>
244
+ <!--<td>-->
245
+ <!--<input :id="'body'+model.pageIndex" type='checkbox' @change="$parent.$parent.$parent.selectOne($event,row,$index)"-->
246
+ <!--:checked="$parent.$parent.$parent.ischecked(model.pageIndex-1,$index)"/>-->
247
+ <!--</td>-->
248
+ <td>{{$index+1}}</td>
249
+ <td>{{row.f_userinfo_code}}</td>
250
+ <td>{{row.f_user_name}}</td>
251
+ <td>{{row.f_user_state}}</td>
252
+
253
+ <td>{{row.f_pcd}}</td>
254
+ <td>{{row.f_street}}</td>
255
+ <td>{{row.f_community}}</td>
256
+ <td>{{row.f_residential_area}}</td>
257
+ <td>{{row.f_address}}</td>
258
+ <td>{{row.f_meternumber}}</td>
259
+ <td>{{row.f_table_state}}</td>
260
+ <td>{{row.f_check_book_name}}</td>
261
+ <!-- <td>{{row.f_meter_book_sort}}</td>-->
262
+ <!-- <td>{{row.f_adjustable_id}}</td>-->
263
+ <td style="text-align:center">{{row.f_metertitles}}</td>
264
+ <td style="text-align:center"><nobr>{{row.f_book_no}}</nobr></td>
265
+ <td style="text-align:center">{{row.f_meter_base}}</td>
266
+ </template>
267
+ </data-grid>
268
+ </criteria-paged>
269
+ </div>
270
+ <modal :show.sync="show" width="500px" title="文件导入" v-ref:modal large backdrop="false">
271
+ <article slot="modal-body" class="modal-body">
272
+ <file-upload class="my-file-uploader " name="UploadFile" style="border-radius: 2px;"
273
+ action="api/af-revenue/file/uploadFile" tagname="导入表册用户" v-ref:file multiple></file-upload>
274
+ </article>
275
+ <footer slot="modal-footer" class="modal-footer">
276
+ </footer>
277
+ </modal>
278
+ </template>
279
+
280
+ <script>
281
+ import {HttpResetClass, PagedList} from 'vue-client'
282
+ import Vue from 'vue'
283
+
284
+ let getAreaConfig = async function (self) {
285
+ // 获取气价里面的配置
286
+ await self.$getConfig(self, 'UserAddress')
287
+ Object.assign(self.model, self.config)
288
+ self.initdata()
289
+ }
290
+ let loadParamGem = async function (self) {
291
+ await self.$LoadParams.loadParam()
292
+ self.getfield = self.config.excelHeaders
293
+ // self.$refs.paged.$refs.cri.model.f_meter_classify = ['机表']
294
+ await self.initAdjustables()
295
+ // await self.search()
296
+ }
297
+ export default {
298
+ name: 'MbpeopleList',
299
+ data () {
300
+ return {
301
+ f_filialeids: this.$login.f.orgid,
302
+ // 初始化省市区数据
303
+ pcdslist: [],
304
+ //初始化街道数据
305
+ streetslist:[],
306
+ communitylist:[],
307
+ areaslist: [],
308
+ // 选中所有地址
309
+ addresslist: [],
310
+ sliceArea: [],
311
+ orgCondtionStr: '',
312
+ f_filialeid: this.$login.f.orgid,
313
+ f_orgid: '',
314
+ invoiceuse: [{label: '是', value: 'is not null'}, {label: '否', value: 'is null'}],
315
+ model: new PagedList('api/af-safecheck/sql/mb_peopleList', 20),
316
+ f_orgstr: this.$login.f.orgid,
317
+ // 要操作的用户
318
+ rowsdata: [],
319
+ aaa: '',
320
+ // 控制全选
321
+ all: [],
322
+ // 控制单选
323
+ radio: [],
324
+ show: false,
325
+ meterbooks: [{label: '全部', value: ''}],
326
+ criteriaShow: false,
327
+ gasproperties: this.$appdata.getParam('用气性质') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')] : [],
328
+ user_type: this.$appdata.getParam('用户类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')] : [],
329
+ meter_classify: this.$appdata.getParam('气表类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')] : [],
330
+ table_state: this.$appdata.getParam('气表状态') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('气表状态')] : [],
331
+ f_small_areas: this.$appdata.getParam('小区域') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('小区域')] : [],
332
+ user_state: [{label: '正常', value: '正常'}, {label: '预备', value: '预备'}, {label: '销户', value: '销户'}],
333
+ whether_list: [{label: '全部', value: ''},{label: '已在册内', value: 'is not null'}, {label: '不在册内', value: 'is null'}],
334
+ meterbrands: [],
335
+ condition: '',
336
+ adjustables: [],
337
+ unnullrowdata: [],
338
+ getfield: {},
339
+ config: {
340
+ // 导出列要和查询列相同
341
+ excelHeaders: {
342
+ 'f_userfiles_id': '系统识别号',
343
+ 'f_userinfo_code': '用户编号',
344
+ 'f_user_name': '用户姓名',
345
+ 'f_address': '用户地址'
346
+ }
347
+ },
348
+ curorgid: [this.$login.f.orgid]
349
+ }
350
+ },
351
+ created () {
352
+ },
353
+ ready () {
354
+ getAreaConfig(this)
355
+ loadParamGem(this)
356
+ this.getmeterbook()
357
+ },
358
+ methods: {
359
+ async meterbook(){
360
+ this.meterbooks=[]
361
+ if(this.f_orgid==''){
362
+ this.f_orgid=this.$login.f.orgid
363
+ }
364
+ let res=await this.$resetpost('api/af-safecheck/sql/safe_singleTable_OrderBy',{data:{items:' * ',tablename:'t_check_book',condition:` 1=1 `,orderitem:' id desc'}},{resolveMsg:null,rejectMsg:null})
365
+ for(let i=0;i<res.data.length;i++){
366
+ console.log("res",res.data[i])
367
+ let temp=[]
368
+ temp.label=res.data[i].f_check_book_name
369
+ temp.value=res.data[i].id
370
+ this.meterbooks.push(temp)
371
+ }
372
+
373
+ },
374
+ invoiceuseChange (val) {
375
+ // 查询已开票记录清空选项
376
+ if (val == 'is not null') {
377
+ this.rowsdata = []
378
+ this.radio = []
379
+ }
380
+ },
381
+
382
+ select () {
383
+ let index = this.model.pageIndex - 1
384
+ console.log('全选', this.all[index])
385
+ if (!this.radio[index]) {
386
+ this.radio.$set(index, [])
387
+ }
388
+ if (this.all[index]) {
389
+ // 数据
390
+ this.rowsdata[index] = Object.assign([], this.model.rows)
391
+ // 勾选
392
+ for (var i = 0; i < this.model.rows.length; i++) {
393
+ this.radio[index].$set(i, true)
394
+ }
395
+ } else {
396
+ // 数据
397
+ this.rowsdata[index] = []
398
+ // 不勾选
399
+ for (var i = 0; i < this.model.rows.length; i++) {
400
+ this.radio[index].$set(i, false)
401
+ }
402
+ }
403
+ this.mergeRowData()
404
+ },
405
+ importFile () {
406
+ this.show = true
407
+ },
408
+ async initAdjustables () {
409
+ let arr = []
410
+ let filter = this.$login.f.orgid
411
+ this.$GetSaleParam.getAdjustable(filter).forEach((item) => {
412
+ let temp = {}
413
+ temp.label = '[' + item.value.f_adjustable_id + ']-' + item.label
414
+ temp.value = item.value.id
415
+ arr.push(temp)
416
+ })
417
+ this.adjustables = [{label: '全部', value: ''}, ...arr]
418
+ // 初始化气表品牌
419
+ let brandArr = []
420
+ this.$GetSaleParam.getGasbrand().forEach((item) => {
421
+ let temp1 = {}
422
+ temp1.label = item.label
423
+ temp1.value = item.value.f_meter_brand
424
+ brandArr.push(temp1)
425
+ })
426
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
427
+ //
428
+ // // 加载安检册
429
+ // console.log("------------------this.$GetSaleParam.getMeterBooks()",this.$GetSaleParam.getMeterBooks())
430
+ // this.meterbooks = [{label: '全部', value: ''}, ...this.$GetSaleParam.getMeterBooks()]
431
+ },
432
+ search () {
433
+ this.$refs.paged.$refs.cri.search()
434
+ console.log('mbpeople this = ', this)
435
+ },
436
+ selfSearch (args) {
437
+ let f_orgstr = this.orgCondtionStr ? this.orgCondtionStr : "and f_orgid in ('" + this.f_orgid + "')"
438
+ args.condition = `${args.condition} ` + f_orgstr
439
+ // args.condition += ` and f_orgid = ${this.f_orgstr}`
440
+ if(args.model.f_open_date){
441
+ args.condition += ` and f_open_date <='${args.model.f_open_date}' `
442
+ }
443
+ this.condition = args.condition
444
+ this.$parent.condition = this.condition
445
+ this.model.search(args.condition, args.model)
446
+ },
447
+ // 合并二维数组并去空
448
+ mergeRowData () {
449
+ console.log('!!!!!!!!!!!!!数组去空', this.rowsdata)
450
+ let data = []
451
+ // 合并
452
+ for (let array of this.rowsdata) {
453
+ data.push.apply(data, array)
454
+ }
455
+ // 去空
456
+ // 拓展数组去空值的方法
457
+ Array.prototype.removeEmpty = function () {
458
+ for (var i = 0; i < this.length; i++) {
459
+ if (this[i] == '' || typeof (this[i]) == 'undefined') {
460
+ this.splice(i, 1)
461
+ i--
462
+ }
463
+ }
464
+ return this
465
+ }
466
+ data = data.removeEmpty()
467
+ this.unnullrowdata = []
468
+ data.forEach((row) => {
469
+ this.unnullrowdata.push(row.f_userfiles_id + '')
470
+ })
471
+ this.$parent.rowsdata = this.unnullrowdata
472
+ // this.$parent.rowsdata = this.rowsdata
473
+ },
474
+ selectOne (event, row, i) {
475
+ console.log('单选', event.target.checked)
476
+ let index = this.model.pageIndex - 1
477
+ if (!this.rowsdata[index]) {
478
+ this.rowsdata[index] = []
479
+ }
480
+ if (!this.radio[index]) {
481
+ this.radio.$set(index, [])
482
+ }
483
+ if (event.target.checked) {
484
+ // 数据
485
+ this.rowsdata[index][i] = row
486
+ // 勾选
487
+ this.radio[index].$set(i, true)
488
+ // 判断是否全部选中
489
+ var allState = true
490
+ if (this.model.rows.length != this.radio[index].length) {
491
+ allState = false
492
+ }
493
+ for (var state of this.radio[index]) {
494
+ if (!state) {
495
+ allState = false
496
+ }
497
+ }
498
+ if (allState) {
499
+ this.all.$set(index, true)
500
+ } else {
501
+ this.all.$set(index, false)
502
+ }
503
+ } else {
504
+ // 数据
505
+ this.rowsdata[index][i] = []
506
+ // 不勾选
507
+ this.radio[index].$set(i, false)
508
+ // 任意取消一个则全选状态设为false
509
+ this.all.$set(index, false)
510
+ }
511
+ this.mergeRowData()
512
+ },
513
+ getorg (val) {
514
+ console.log('getorg:val=', val)
515
+ console.log('getorg:this.f_orgid=', this.f_orgid)
516
+ this.f_orgid = val
517
+ this.f_filialeid = val[0]
518
+ },
519
+ async getmeterbook(){
520
+ await this.meterbook()
521
+ this.$emit('childre',this.meterbooks)
522
+ },
523
+ async initdata () {
524
+ this.initAreas(this.f_filialeids)
525
+ // 添加特殊地址选省市区
526
+
527
+ this.initpcds(` f_orgid = '${this.f_filialeids}'`)
528
+ this.initstreets(` f_orgid = '${this.f_filialeids}' `)
529
+ this.initareas(` f_orgid = '${this.f_filialeids}'`)
530
+ },
531
+ // 初始化片区
532
+ async initAreas (val) {
533
+ if (val) {
534
+ let getAllArea = await this.$resetpost('/rs/search', {
535
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
536
+ userid: this.$login.f.id
537
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
538
+
539
+ let arr = getAllArea.data.filter((res) => {
540
+ return res.parentid == val
541
+ })
542
+ console.log('过滤之后的片区', arr)
543
+ this.sliceArea = []
544
+ arr.forEach((res) => {
545
+ this.sliceArea.push({label: res.name, value: res.name})
546
+ })
547
+ }
548
+ },
549
+ initModel () {
550
+ if (this.row) {
551
+ this.cleardata()
552
+ this.model = Object.assign({}, this.model, this.row)
553
+ // 处理片区代码
554
+ this.model.slice_area = [{
555
+ name: this.model.f_slice_area,
556
+ code: this.model.f_area_code
557
+ }]
558
+ }
559
+ },
560
+ // 初始化省市区,添加街道
561
+ async initpcds (pconditon) {
562
+ this.pcdslist = []
563
+ let HttpReset = new HttpResetClass()
564
+ let req = await HttpReset.load('POST', 'api/af-revenue/sql/address_singleTableOrderBy?pageNo=1&pageSize=9999999', {
565
+ data: {
566
+ items: '*',
567
+ tablename: 't_pcd',
568
+ orderitem: 'id',
569
+ condition: pconditon
570
+ }
571
+ }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
572
+ let redata = []
573
+ req.data.forEach((row, n) => {
574
+ redata[n] = {
575
+ label: row.f_pcd,
576
+ value: row.id,
577
+ data: row,
578
+ id: row.id
579
+ }
580
+ })
581
+ this.pcdslist = redata
582
+ console.log("xxxxxxxxxxxxxx")
583
+ console.log(this.pcdslist)
584
+ console.log("redataxxxxxxxx")
585
+ },
586
+ // 初始化街道 添加小区
587
+ async initstreets (pconditon) {
588
+ this.streetslist = []
589
+ let HttpReset = new HttpResetClass()
590
+ let req = await HttpReset.load('POST', 'api/af-revenue/sql/address_singleTableOrderBy', {
591
+ data: {
592
+ items: '*',
593
+ tablename: 't_street',
594
+ orderitem: 'id',
595
+ condition: pconditon
596
+ }
597
+ }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
598
+ let redata = []
599
+ req.data.forEach((row, n) => {
600
+ redata[n] = {
601
+ label: row.f_street,
602
+ value: row.id,
603
+ data: row,
604
+ id: row.id
605
+ }
606
+ })
607
+ this.streetslist = redata
608
+ console.log("xxxxxxxxxxxxxx")
609
+ console.log(this.streetslist)
610
+ console.log("redataxxxxxxxx")
611
+ },
612
+ // 初始化小区添加小区
613
+ async initareas (pconditon) {
614
+ // if(this.usertype){
615
+ // pconditon=pconditon+` and f_special='1' `
616
+ // }
617
+ this.areaslist = []
618
+ let HttpReset = new HttpResetClass()
619
+ let req = await HttpReset.load('POST', 'api/af-revenue/sql/address_singleTableOrderBy?pageNo=1&pageSize=9999999', {
620
+ data: {
621
+ items: '*',
622
+ tablename: 't_area',
623
+ orderitem: 'id',
624
+ condition: pconditon
625
+ }
626
+ }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
627
+ let redata = []
628
+ req.data.forEach((row) => {
629
+ redata.push({
630
+ label: row.f_residential_area,
631
+ value: row.id,
632
+ data: row,
633
+ id: row.id
634
+ })
635
+ })
636
+ this.areaslist = redata
637
+ },
638
+ //小区变化
639
+ areaChange(val){
640
+ console.log("小区变化",val)
641
+ // 选择小区后级联出省市区和街道
642
+ let selectArea // 选中的小区数据
643
+ for (let row of this.areaslist) {
644
+ if (val == row.value) {
645
+ selectArea = row.data
646
+ break
647
+ }
648
+ }
649
+ if (selectArea) {
650
+ this.model.f_street_id = selectArea.f_street_id
651
+ this.model.f_pcd_id = selectArea.f_pcd_id
652
+ this.model.f_community_id = selectArea.f_community_id
653
+ console.log( this.model.f_community_id)
654
+
655
+ this.initstreets(` f_filialeid = '${this.f_filialeids}' and id ='${selectArea.f_street_id}' `)
656
+ this.initpcds(` f_filialeid = '${this.f_filialeids}' and id ='${selectArea.f_pcd_id}' `)
657
+ if(selectArea.f_community_id){
658
+ this.initcommunity(` f_filialeid = '${this.f_filialeids}' and id ='${selectArea.f_community_id}' `)
659
+ }
660
+ // this.model.f_slice_area = selectArea.f_slice_area
661
+ // 拼接地址
662
+ this.model.f_address = `${selectArea.f_street}${selectArea.f_community}${selectArea.f_residential_area}`
663
+ console.log( this.model.f_community_id)
664
+ }
665
+ this.$nextTick(() => {
666
+ this.$resetValidation()
667
+ })
668
+ },
669
+ // 片区变化 f_area_code
670
+ async areasChange (val) {
671
+ console.log('街道变化', val)
672
+ if (this.streetslist[0]) {
673
+ var street = ''
674
+ this.streetslist.forEach((item) => {
675
+ if (item.id === val) {
676
+ street = item.label
677
+ }
678
+ })
679
+ // this.model.f_address = street
680
+ }
681
+ if (val) {
682
+ // 那就把[小区]重新组织一下
683
+ await this.initareas(` f_area_code ='${val}' `)
684
+ if (this.$refs.paged.$refs.criteria.model.f_residential_area_id) {
685
+ if (this.findbyid(this.areaslist, this.$refs.paged.$refs.criteria.model.f_residential_area_id)) {
686
+ let street_id = this.findbyid(this.areaslist,this.$refs.paged.$refs.criteria.model.f_residential_area_id).f_street_id
687
+ if (street_id != val) {
688
+ this.$refs.paged.$refs.criteria.model.f_residential_area_id = ''
689
+ }
690
+ } else {
691
+ this.$refs.paged.$refs.criteria.model.f_residential_area_id = ''
692
+ }
693
+ }
694
+ }
695
+ },
696
+ //街道变化
697
+ //初始化街道 添加小区
698
+ async initcommunity(pconditon){
699
+ this.communitylist = []
700
+ let HttpReset = new HttpResetClass()
701
+ let req = await HttpReset.load('POST', 'api/af-revenue/sql/address_singleTableOrderBy', {
702
+ data: {
703
+ items: '*',
704
+ tablename: 't_community',
705
+ orderitem: 'id',
706
+ condition: pconditon
707
+ }
708
+ }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
709
+ let redata = []
710
+ req.data.forEach((row, n) => {
711
+ redata[n] = {
712
+ label: row.f_community_name,
713
+ value: row.id,
714
+ data:row,
715
+ id:row.id
716
+ }
717
+ })
718
+ this.communitylist=redata
719
+ },
720
+ async streetChange(val) {
721
+ if (val.length > 0) {
722
+ // 使用数组来收集值
723
+ const ids = [];
724
+ for (let i = 0; i < val.length; i++) {
725
+ ids.push(val[i]);
726
+ }
727
+ // 将数组转换为逗号分隔的字符串
728
+ const strs = ids.join(',');
729
+ // 调用 initcommunity 方法时确保 SQL 语法正确
730
+ await this.initcommunity(`f_filialeid = '${this.f_filialeids}' and f_street_id in (${strs})`);
731
+ }
732
+ },
733
+ async communityChange(val){
734
+ console.log(val)
735
+ if(val.length > 0){
736
+ // 使用数组来收集值
737
+ const ids = [];
738
+ for (let i = 0; i < val.length; i++) {
739
+ ids.push(val[i]);
740
+ }
741
+ // 将数组转换为逗号分隔的字符串
742
+ const strs = ids.join(',');
743
+ await this.initareas(` f_filialeid = '${this.f_filialeids}' and f_community_id in (${strs}) `)
744
+ }
745
+ }
746
+ },
747
+ computed: {
748
+ usergastype () {
749
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气类型')]
750
+ },
751
+ usertags () {
752
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户标签')]
753
+ },
754
+ ischecked () {
755
+ return function (index, i) {
756
+ if (!this.radio[index]) {
757
+ return false
758
+ }
759
+ return this.radio[index][i]
760
+ }
761
+ },
762
+ smallareas () {
763
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('小区域')]
764
+ },
765
+ inputtores () {
766
+ // 获取抄表员
767
+ console.log('获取抄表员', this.$login.f)
768
+ let rs = []
769
+ if (this.$login.f.f_gasman.length > 0) {
770
+ for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
771
+ let temp = {
772
+ label: this.$login.f.f_gasman[i].name,
773
+ value: this.$login.f.f_gasman[i].name
774
+ }
775
+ rs.push(temp)
776
+ }
777
+ }
778
+ this.inputtores2 = rs
779
+ return [ ...rs]
780
+ }
781
+ },
782
+ watch: {
783
+ async 'f_orgid'(){
784
+ this.meterbooks=[]
785
+ await this.meterbook()
786
+ this.$emit('childre',this.meterbooks)
787
+ },
788
+ batchMeterShow () {
789
+ if (this.batchMeterShow == false) {
790
+ // 将选的文件清空
791
+ this.$refs.file.$el.querySelector('input').value = ''
792
+ }
793
+ },
794
+ 'f_filialeid' (val) {
795
+ loadParamGem(this)
796
+ }
797
+ },
798
+ events: {
799
+ onFileUpload: function (file, res) {
800
+ // let URL = res.f_downloadpath.substring(res.f_downloadpath.lastIndexOf(":\\") + 2)
801
+ // res.f_downloadpath = "http://" + location.host + "/" + URL
802
+ // res.f_downloadpath.replace('\\','/')
803
+ this.$resetpost('api/af-revenue/logic/upLoadBookFile',
804
+ {data: {
805
+ condition: this.condition,
806
+ filepath: res.f_downloadpath
807
+ }
808
+ },
809
+ {resolveMsg: null, rejectMsg: '上传失败'}).then((res) => {
810
+ this.show = false
811
+ this.$showAlert(`导入成功`, 'success', 2000)
812
+ this.search()
813
+ })
814
+ }
815
+ }
816
+ }
817
+ </script>
818
+
819
+ <style lang="less">
820
+ #MbpeopleList {
821
+ tr {
822
+ th {
823
+ text-align: center;
824
+ }
825
+ td {
826
+ text-align: center;
827
+ }
828
+ }
829
+ }
830
+ </style>