safecheck-client 3.0.34-5 → 3.0.34-50

Sign up to get free protection for your applications and to get access to all the features.
Files changed (378) 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/FormPrint.md +18 -18
  15. package/docs/GetParams.md +11 -11
  16. package/docs/GridTree.md +47 -47
  17. package/docs/HttpBusy.md +13 -13
  18. package/docs/HttpStore.md +29 -29
  19. package/docs/MessageBox.md +28 -28
  20. package/docs/PagedList.md +29 -29
  21. package/docs/Pager.md +21 -21
  22. package/docs/PrintFile.md +38 -38
  23. package/docs/Project.md +23 -23
  24. package/docs/Route.md +105 -105
  25. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  26. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  27. package/docs/Task.md +46 -46
  28. package/docs/TreeList.md +28 -28
  29. package/docs/TreeMixin.md +18 -18
  30. package/docs/all.md +10 -10
  31. package/docs/list.md +42 -42
  32. package/docs/partial.md +75 -75
  33. package/docs/selector.md +82 -82
  34. package/docs/tree.md +40 -40
  35. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  36. 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
  37. 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
  38. 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
  39. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  40. package/examples/AddressList/App.vue +13 -13
  41. package/examples/AddressList/index.html +11 -11
  42. package/examples/DispatchList/App.vue +10 -10
  43. package/examples/DispatchList/BaseTree.vue +13 -13
  44. package/examples/DispatchList/Init.vue +22 -22
  45. package/examples/DispatchList/Test.vue +20 -20
  46. package/examples/DispatchList/index.html +11 -11
  47. package/examples/DispatchList/main.js +18 -18
  48. package/home.html +16 -16
  49. package/package.json +1 -1
  50. package/publish.bat +7 -7
  51. package/release.bat +5 -5
  52. package/src/App-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.vue +55 -0
  53. package/src/Widget.vue +13 -13
  54. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  55. package/src/android-bootstrap/less/.csscomb.json +304 -304
  56. package/src/android-bootstrap/less/.csslintrc +19 -19
  57. package/src/android-bootstrap/less/alerts.less +73 -73
  58. package/src/android-bootstrap/less/badges.less +66 -66
  59. package/src/android-bootstrap/less/bootstrap.less +56 -56
  60. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  61. package/src/android-bootstrap/less/button-groups.less +247 -247
  62. package/src/android-bootstrap/less/buttons.less +173 -173
  63. package/src/android-bootstrap/less/carousel.less +269 -269
  64. package/src/android-bootstrap/less/close.less +34 -34
  65. package/src/android-bootstrap/less/code.less +69 -69
  66. package/src/android-bootstrap/less/component-animations.less +33 -33
  67. package/src/android-bootstrap/less/grid.less +84 -84
  68. package/src/android-bootstrap/less/input-groups.less +167 -167
  69. package/src/android-bootstrap/less/jumbotron.less +52 -52
  70. package/src/android-bootstrap/less/labels.less +64 -64
  71. package/src/android-bootstrap/less/list-group.less +141 -141
  72. package/src/android-bootstrap/less/media.less +66 -66
  73. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  74. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  75. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  76. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  77. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  78. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  79. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  80. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  81. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  82. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  83. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  84. package/src/android-bootstrap/less/mixins/image.less +33 -33
  85. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  86. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  87. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  88. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  89. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  90. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  91. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  92. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  93. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  94. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  95. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  96. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  97. package/src/android-bootstrap/less/mixins/size.less +10 -10
  98. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  99. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  100. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  101. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  102. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  103. package/src/android-bootstrap/less/mixins.less +40 -40
  104. package/src/android-bootstrap/less/modals.less +151 -151
  105. package/src/android-bootstrap/less/navbar.less +660 -660
  106. package/src/android-bootstrap/less/navs.less +290 -290
  107. package/src/android-bootstrap/less/normalize.less +424 -424
  108. package/src/android-bootstrap/less/pager.less +76 -76
  109. package/src/android-bootstrap/less/pagination.less +89 -89
  110. package/src/android-bootstrap/less/panels.less +274 -274
  111. package/src/android-bootstrap/less/popovers.less +131 -131
  112. package/src/android-bootstrap/less/print.less +101 -101
  113. package/src/android-bootstrap/less/progress-bars.less +87 -87
  114. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  115. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  116. package/src/android-bootstrap/less/scaffolding.less +161 -161
  117. package/src/android-bootstrap/less/tables.less +262 -262
  118. package/src/android-bootstrap/less/theme.less +291 -291
  119. package/src/android-bootstrap/less/thumbnails.less +36 -36
  120. package/src/android-bootstrap/less/tooltip.less +102 -102
  121. package/src/android-bootstrap/less/type.less +303 -303
  122. package/src/android-bootstrap/less/utilities.less +55 -55
  123. package/src/android-bootstrap/less/variables.less +896 -896
  124. package/src/android-bootstrap/less/wells.less +29 -29
  125. package/src/androidTest.js +20 -20
  126. package/src/assets/123.png +0 -0
  127. package/src/assets/f8632d3c8c4c1cb68e99da754cab1a7.png +0 -0
  128. package/src/bootstrap/less/.csscomb.json +304 -304
  129. package/src/bootstrap/less/.csslintrc +19 -19
  130. package/src/bootstrap/less/alerts.less +73 -73
  131. package/src/bootstrap/less/badges.less +66 -66
  132. package/src/bootstrap/less/breadcrumbs.less +26 -26
  133. package/src/bootstrap/less/button-groups.less +247 -247
  134. package/src/bootstrap/less/buttons.less +172 -172
  135. package/src/bootstrap/less/carousel.less +269 -269
  136. package/src/bootstrap/less/close.less +34 -34
  137. package/src/bootstrap/less/code.less +69 -69
  138. package/src/bootstrap/less/component-animations.less +33 -33
  139. package/src/bootstrap/less/dropdowns.less +216 -216
  140. package/src/bootstrap/less/forms.less +626 -626
  141. package/src/bootstrap/less/grid.less +84 -84
  142. package/src/bootstrap/less/input-groups.less +167 -167
  143. package/src/bootstrap/less/jumbotron.less +52 -52
  144. package/src/bootstrap/less/labels.less +64 -64
  145. package/src/bootstrap/less/list-group.less +141 -141
  146. package/src/bootstrap/less/media.less +66 -66
  147. package/src/bootstrap/less/mixins/alerts.less +14 -14
  148. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  149. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  150. package/src/bootstrap/less/mixins/buttons.less +69 -69
  151. package/src/bootstrap/less/mixins/center-block.less +7 -7
  152. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  153. package/src/bootstrap/less/mixins/forms.less +90 -90
  154. package/src/bootstrap/less/mixins/gradients.less +59 -59
  155. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  156. package/src/bootstrap/less/mixins/grid.less +122 -122
  157. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  158. package/src/bootstrap/less/mixins/image.less +33 -33
  159. package/src/bootstrap/less/mixins/labels.less +12 -12
  160. package/src/bootstrap/less/mixins/list-group.less +30 -30
  161. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  162. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  163. package/src/bootstrap/less/mixins/opacity.less +8 -8
  164. package/src/bootstrap/less/mixins/pagination.less +24 -24
  165. package/src/bootstrap/less/mixins/panels.less +24 -24
  166. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  167. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  168. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  169. package/src/bootstrap/less/mixins/resize.less +6 -6
  170. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  171. package/src/bootstrap/less/mixins/size.less +10 -10
  172. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  173. package/src/bootstrap/less/mixins/table-row.less +44 -44
  174. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  175. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  176. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  177. package/src/bootstrap/less/mixins.less +40 -40
  178. package/src/bootstrap/less/modals.less +151 -151
  179. package/src/bootstrap/less/navbar.less +660 -660
  180. package/src/bootstrap/less/normalize.less +424 -424
  181. package/src/bootstrap/less/pager.less +76 -76
  182. package/src/bootstrap/less/pagination.less +89 -89
  183. package/src/bootstrap/less/panels.less +275 -275
  184. package/src/bootstrap/less/popovers.less +131 -131
  185. package/src/bootstrap/less/print.less +101 -101
  186. package/src/bootstrap/less/progress-bars.less +87 -87
  187. package/src/bootstrap/less/responsive-embed.less +35 -35
  188. package/src/bootstrap/less/responsive-utilities.less +194 -194
  189. package/src/bootstrap/less/scaffolding.less +161 -161
  190. package/src/bootstrap/less/theme.less +291 -291
  191. package/src/bootstrap/less/thumbnails.less +36 -36
  192. package/src/bootstrap/less/tooltip.less +102 -102
  193. package/src/bootstrap/less/type.less +303 -303
  194. package/src/bootstrap/less/utilities.less +55 -55
  195. package/src/bootstrap/less/wells.less +29 -29
  196. package/src/components/FileUpload.vue +696 -696
  197. package/src/components/Hello.vue +39 -39
  198. package/src/components/LeftTree.vue +27 -27
  199. package/src/components/LoadData.vue +62 -0
  200. package/src/components/android/AddGas.vue +147 -147
  201. package/src/components/android/AddressList.vue +61 -61
  202. package/src/components/android/AndroidDefectDeal.vue +1 -0
  203. package/src/components/android/AreaPlan.vue +566 -572
  204. package/src/components/android/AttendanceTally.vue +116 -116
  205. package/src/components/android/Blank.vue +10 -10
  206. package/src/components/android/CheckPlanSelect.vue +704 -0
  207. package/src/components/android/CheckUnplanPage.vue +56 -56
  208. package/src/components/android/Checker.vue +12 -12
  209. package/src/components/android/CheckerAnnual.vue +81 -81
  210. package/src/components/android/CheckerAvarta.vue +82 -82
  211. package/src/components/android/CheckerMonthly.vue +84 -84
  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/LcheckUnplan.vue +108 -108
  216. package/src/components/android/MasterMain.vue +77 -77
  217. package/src/components/android/Menu.vue +132 -132
  218. package/src/components/android/NavBottom.vue +157 -157
  219. package/src/components/android/PaperAlarm.vue +85 -85
  220. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  221. package/src/components/android/PaperFeedback.vue +1 -1
  222. package/src/components/android/PaperFeedbackTemp.vue +1 -1
  223. package/src/components/android/PlumberAnnual.vue +83 -83
  224. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  225. package/src/components/android/PlumberMonthly.vue +84 -84
  226. package/src/components/android/PostMap.vue +83 -83
  227. package/src/components/android/QRCode/QRCodeBinding.vue +294 -0
  228. package/src/components/android/QRCode/QRCodePage.vue +212 -0
  229. package/src/components/android/QueryCheckHistory.vue +122 -122
  230. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  231. package/src/components/android/RepairMain.vue +60 -60
  232. package/src/components/android/Repairman.vue +12 -12
  233. package/src/components/android/SafecheckDevices.vue +1298 -1298
  234. package/src/components/android/SafecheckDevicesTemp.vue +1 -1
  235. package/src/components/android/SafecheckOrderV.vue +2809 -2809
  236. package/src/components/android/StationMaster.vue +12 -12
  237. package/src/components/android/SwitchValve.vue +323 -323
  238. package/src/components/android/examples/SafeListExamples.vue +96 -0
  239. package/src/components/android/examples/UserExamples.vue +126 -0
  240. package/src/components/android/userinfo/SafecheckUserInfo.vue +1 -1
  241. package/src/components/checkerphonestate/Checker.vue +32 -32
  242. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  243. package/src/components/defects/AddDefectModal.vue +120 -120
  244. package/src/components/defects/AddDevice.vue +95 -95
  245. package/src/components/defects/DefectModal.vue +101 -101
  246. package/src/components/defects/DevicesAndItem.vue +39 -39
  247. package/src/components/defects/DevicesSeting.vue +106 -106
  248. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  249. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  250. package/src/components/metterfiles/MetterFiles.vue +104 -104
  251. package/src/components/notice/NoticeForm.vue +100 -100
  252. package/src/components/notice/NoticeIssue.vue +20 -20
  253. package/src/components/notice/NoticeQuery.vue +76 -76
  254. package/src/components/paper/PicViewer.vue +18 -18
  255. package/src/components/paper/RepairVerifyForm.vue +76 -76
  256. package/src/components/phonestate/DailyTraffic.vue +57 -57
  257. package/src/components/phonestate/LastKnownState.vue +74 -74
  258. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  259. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  260. package/src/components/phonestate/PostMap.vue +82 -82
  261. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  262. package/src/components/rongcheng/AddPlanItem.vue +4 -0
  263. package/src/components/rongcheng/AspiratedUserInfo.vue +1 -1
  264. package/src/components/rongcheng/CheckSearchUser.vue +40 -14
  265. package/src/components/rongcheng/PaperStatem.vue +6 -1
  266. package/src/components/rongcheng/PhoneDevicesInfo.vue +16 -1
  267. package/src/components/rongcheng/SafecheckOrderV.vue +12 -3
  268. package/src/components/rongcheng/SafecheckOrderVCli.vue +9 -0
  269. package/src/components/task/RepairAnnual.vue +79 -79
  270. package/src/components/task/RepairAnnualDetail.vue +49 -49
  271. package/src/components/task/RepairMonthly.vue +91 -91
  272. package/src/components/task/TaskAnnual.vue +77 -77
  273. package/src/components/task/TaskAnnualDetail.vue +47 -47
  274. package/src/components/task/TaskMonthly.vue +89 -89
  275. package/src/components/userfile/MeterFile.vue +145 -145
  276. package/src/components/userfile/MeterModify.vue +46 -46
  277. package/src/components/userfile/UserfileChange.vue +277 -277
  278. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  279. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2798 -0
  280. package/src/filiale/baiyin/android.js +1 -0
  281. package/src/filiale/baiyin/pc/checkUserList.vue +771 -771
  282. package/src/filiale/baiyin/pc.js +21 -21
  283. package/src/filiale/bayan/android/PaperFeedback.vue +1 -1
  284. package/src/filiale/bayan/android/SafecheckDevices.vue +1 -1
  285. package/src/filiale/bayan/android/SafecheckOrderV.vue +52 -29
  286. package/src/filiale/bayan/android/SafecheckUserInfo.vue +1 -1
  287. package/src/filiale/dexin/android/SafecheckDevices.vue +1 -1
  288. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +35 -15
  289. package/src/filiale/hanzhong/android/PaperFeedback.vue +1 -1
  290. package/src/filiale/hanzhong/android/SafecheckDevices.vue +1 -1
  291. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +1 -1
  292. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -0
  293. package/src/filiale/huaran/android.js +12 -0
  294. package/src/filiale/huaran/pc/CheckBook.vue +313 -0
  295. package/src/filiale/huaran/pc/CheckBookAll.vue +69 -0
  296. package/src/filiale/huaran/pc/CheckBookArea.vue +170 -0
  297. package/src/filiale/huaran/pc/CheckBookCompany.vue +166 -0
  298. package/src/filiale/huaran/pc/CheckBookDetails.vue +196 -0
  299. package/src/filiale/huaran/pc/CheckBookEntry.vue +61 -0
  300. package/src/filiale/huaran/pc/CheckBookList.vue +386 -0
  301. package/src/filiale/huaran/pc/CheckBookSearchArea.vue +564 -0
  302. package/src/filiale/huaran/pc/CheckBookSearchUnit.vue +229 -0
  303. package/src/filiale/huaran/pc/CheckBookSearchUser.vue +604 -0
  304. package/src/filiale/huaran/pc/CheckBookUser.vue +112 -0
  305. package/src/filiale/huaran/pc/PaperList.vue +822 -0
  306. package/src/filiale/huaran/pc/PlanManage.vue +887 -0
  307. package/src/filiale/huaran/pc/checkPlanList.vue +419 -0
  308. package/src/filiale/huaran/pc/checkUserList.vue +867 -0
  309. package/src/filiale/huaran/pc.js +27 -0
  310. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -0
  311. package/src/filiale/jiaxian/android/PhoneUpUserinfo.vue +1229 -0
  312. package/src/filiale/jiaxian/android/SafecheckDevices.vue +4 -4
  313. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2811 -0
  314. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -0
  315. package/src/filiale/jiaxian/android.js +4 -0
  316. package/src/filiale/jingyang/android/PaperFeedback.vue +1 -1
  317. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +1 -1
  318. package/src/filiale/kelai/pc/CheckPlanAreaList.vue +15 -7
  319. package/src/filiale/pingxiang/android/PaperFeedback.vue +1 -1
  320. package/src/filiale/qingjian/android/SafecheckDevices.vue +1 -1
  321. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +1 -1
  322. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -0
  323. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -0
  324. package/src/filiale/ruihua/android.js +11 -0
  325. package/src/filiale/shiquan/android/SafecheckDevices.vue +1 -1
  326. package/src/filiale/siyang/android/SafecheckUserInfo.vue +1 -1
  327. package/src/filiale/siyang/pc/CheckBookSearchArea.vue +645 -0
  328. package/src/filiale/siyang/pc/CheckPlanAreaList.vue +512 -0
  329. package/src/filiale/siyang/pc/CheckSearchUser.vue +982 -0
  330. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -0
  331. package/src/filiale/siyang/pc/checkPlanList.vue +367 -0
  332. package/src/filiale/siyang/pc/checkUserList.vue +22 -18
  333. package/src/filiale/siyang/pc.js +21 -16
  334. package/src/filiale/tongchuan/android/Select.vue +421 -0
  335. package/src/filiale/tongchuan/android.js +1 -0
  336. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1 -1
  337. package/src/filiale/tongchuan/utils/EventListener.js +29 -0
  338. package/src/filiale/tongchuan/utils/coerceBoolean.js +7 -0
  339. package/src/filiale/weinan/android/SafecheckDevices.vue +1 -1
  340. package/src/filiale/weinan/android/SafecheckOrderV.vue +1 -1
  341. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +57 -59
  342. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  343. package/src/filiale/weinan/pc/DefectMainNew.vue +63 -63
  344. package/src/filiale/weinan/pc/DefectPaperNew.vue +31 -0
  345. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -0
  346. package/src/filiale/weinan/pc/checkUserList.vue +34 -113
  347. package/src/filiale/weinan/pc.js +47 -46
  348. package/src/filiale/wuan/android/SafecheckOrderV.vue +1 -0
  349. package/src/filiale/wuan/android/SafecheckUserInfo.vue +4 -0
  350. package/src/filiale/yangchunboneng/android/CurrentCreate.vue +1192 -1200
  351. package/src/filiale/yangchunboneng/android/DailyworkloadQuery.vue +472 -480
  352. package/src/filiale/yangchunboneng/android/PaperFeedback.vue +1 -1
  353. package/src/filiale/yangchunboneng/android/SafecheckDevices.vue +1332 -1332
  354. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +1 -1
  355. package/src/filiale/yangchunboneng/android/safeHistoryLook.vue +473 -481
  356. package/src/filiale/yangchunboneng/pc/CheckBookSearchUser.vue +9 -7
  357. package/src/filiale/yongzhou/android/PaperFeedback.vue +1 -1
  358. package/src/filiale/yongzhou/android/SafecheckDevices.vue +1 -1
  359. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +1 -1
  360. package/src/filiale/yuansheng/android/SafecheckDevices.vue +11 -1
  361. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +10 -2
  362. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1 -1
  363. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +1 -1
  364. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +1 -1
  365. package/src/main-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.js +24 -0
  366. package/src/plugins/LoadData.js +10 -10
  367. package/src/plugins/LoadParams.js +24 -24
  368. package/src/safecheck-android.js +301 -296
  369. package/src/stores/wxconfig.js +10 -10
  370. package/src/utils/getNowDate.js +33 -33
  371. package/test/e2e/custom-assertions/elementCount.js +26 -26
  372. package/test/e2e/nightwatch.conf.js +40 -40
  373. package/test/e2e/runner.js +30 -30
  374. package/test/e2e/specs/test.js +13 -13
  375. package/test/unit/.eslintrc +5 -5
  376. package/test/unit/TestUtil.js +62 -62
  377. package/test/unit/context.html +20 -20
  378. package/test/unit/index.js +13 -13
@@ -0,0 +1,1229 @@
1
+ <template>
2
+ <work-busy :is-busy="excessive"></work-busy>
3
+ <div style="height: 100%">
4
+ <div class="panel auto">
5
+ <div class="panel-heading" @click="selectVal('基本信息')" style="background-color: #ffffff">
6
+ <span class="spanboder">
7
+ <img src="../../../assets/person.png" style="width: 22px;margin-right: 8px;">基本信息
8
+ <img class="butt3" :src="imgback('基本信息')">
9
+ </span>
10
+ </div>
11
+ <div class="panel-body " id="upuserinfo_sel" v-show="headername=='基本信息'">
12
+ <div class="row auto" style="margin: 5px 0">
13
+ <label class="righttxt">用户编号:</label>
14
+ <input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_userinfo_code" readonly/>
15
+ </div>
16
+ <div class="row auto" style="margin: 5px 0">
17
+ <label class="righttxt">用户名称:</label><input type="text" class="form-control rightipt"
18
+ v-model="userinfo.baseinfo.base.f_user_name" />
19
+ </div>
20
+ <div class="row auto" style="margin: 5px 0">
21
+ <label class="righttxt">身份证号:</label><input type="text" class="form-control rightipt"
22
+ v-model="userinfo.baseinfo.base.f_idnumber" />
23
+ </div>
24
+ <div class="row auto" style="margin: 5px 0">
25
+ <label class="righttxt">用户状态:</label><input type="text" class="form-control rightipt" readonly
26
+ v-model="userinfo.baseinfo.base.f_user_state"/>
27
+ </div>
28
+ <div class="row auto" style="margin: 5px 0">
29
+ <label class="righttxt">用户电话:</label><input type="text" class="form-control rightipt"
30
+ v-model="userinfo.baseinfo.base.f_user_phone"/>
31
+ </div>
32
+ <div class="row auto" style="margin: 5px 0">
33
+ <label class="righttxt">租户姓名:</label><input type="text" class="form-control rightipt"
34
+ v-model="userinfo.baseinfo.base.f_rent_name"/>
35
+ </div>
36
+ <div class="row auto" style="margin: 5px 0">
37
+ <label class="righttxt">租户电话:</label><input type="text" class="form-control rightipt"
38
+ v-model="userinfo.baseinfo.base.f_zuhu_phone"/>
39
+ </div>
40
+ <div class="row auto" style="margin: 5px 0">
41
+ <label class="righttxt">建档日期:</label><input type="text" class="form-control rightipt"
42
+ v-model="userinfo.baseinfo.base.f_createfile_date" readonly/>
43
+ </div>
44
+ <!-- <div class="row auto" style="margin: 5px 0">
45
+ <label class="righttxt">开户日期:</label><input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_open_date" readonly />
46
+ </div>-->
47
+ <div class="row auto" style="margin: 5px 0">
48
+ <label class="righttxt">地址类型:</label>
49
+ <div class="rightipt" style="display: flex;justify-content: space-around;margin-top: 5px">
50
+ <div><input type="radio" v-model="addressType" name="addressType" @change="changeAddressType"
51
+ id="phone_addressType1" value="普通地址"/><label style="font-weight: normal;padding-left: 2px"
52
+ for="phone_addressType1">普通地址</label></div>
53
+ <div><input type="radio" v-model="addressType" name="addressType" @change="changeAddressType"
54
+ id="phone_addressType2" value="特殊地址"/><label style="font-weight: normal;padding-left: 2px"
55
+ for="phone_addressType2">特殊地址</label></div>
56
+ </div>
57
+ <!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
58
+ <!--<input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_pcd" />-->
59
+ <!--<v-select :value.sync="userinfo.addressinfo.f_iscity" class="input-font" style="margin-left: 5%;"
60
+ :width="'60%'"
61
+ v-model="userinfo.addressinfo.f_iscity"
62
+ :options='cityTypes' placeholder='地区类型' close-on-select clear-button value-single @change="area_change()"></v-select>-->
63
+ </div>
64
+ <div class="row auto" style="margin: 5px 0">
65
+ <label class="righttxt">地区类型:</label>
66
+ <!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
67
+ <input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_iscity"/>
68
+ <!--<v-select :value.sync="userinfo.addressinfo.f_iscity" class="input-font" style="margin-left: 5%;"
69
+ :width="'60%'"
70
+ :disabled="true"
71
+ v-model="userinfo.addressinfo.f_iscity"
72
+ :options='cityTypes' placeholder='地区类型' close-on-select clear-button value-single ></v-select>-->
73
+ </div>
74
+ <div class="row auto" style="margin: 5px 0">
75
+ <label class="righttxt">省&ensp;市&ensp;区:</label>
76
+ <!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
77
+ <!--<input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_pcd" />-->
78
+ <v-select :value.sync="selectPcd" class="input-font" style="margin-left: 5%;"
79
+ :width="'60%'"
80
+ v-model="selectPcd"
81
+ :options='pcds' placeholder='请选择省市区' close-on-select clear-button value-single
82
+ @change="pcd_change()"></v-select>
83
+ </div>
84
+ <div class="row auto" style="margin: 5px 0">
85
+ <label class="righttxt">街道名称:</label>
86
+ <!--<input type="text" readonly class="form-control rightipt" v-model="userinfo.addressinfo.f_street" />-->
87
+ <v-select :value.sync="selectStreet" class="input-font" style="margin-left: 5%;"
88
+ :width="'60%'"
89
+ v-model="selectStreet"
90
+ :options='streets' placeholder='请选择街道' close-on-select clear-button value-single
91
+ @change="street_change()"></v-select>
92
+ </div>
93
+ <div class="row auto" style="margin: 5px 0">
94
+ <label class="righttxt">集收单位:</label>
95
+ <!--<input type="text" readonly class="form-control rightipt" v-model="userinfo.addressinfo.f_residential_area" />-->
96
+ <v-select :value.sync="selectArea" class="input-font" style="margin-left: 5%;"
97
+ :width="'60%'"
98
+ v-model="selectArea"
99
+ :timeout="500"
100
+ @select-search="select_search"
101
+ :options='area' placeholder='请选择集收单位' close-on-select clear-button value-single
102
+ @change="area_change()"></v-select>
103
+ </div>
104
+ <!--<div class="row auto" style="margin: 5px 0" v-show="addressType=='特殊地址'">
105
+ <label class="righttxt">集收单位:</label>
106
+ &lt;!&ndash;<input type="text" readonly class="form-control rightipt" v-model="userinfo.addressinfo.f_residential_area" />&ndash;&gt;
107
+ <v-select :value.sync="selectArea" class="input-font" style="margin-left: 5%;"
108
+ :width="'60%'"
109
+ v-model="selectArea"
110
+ @select-search="select_search"
111
+ :options='area' placeholder='请选择集收单位' close-on-select clear-button value-single @change="area_changeTC()"></v-select>
112
+ </div>-->
113
+ <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
114
+ <label class="righttxt">楼&ensp;&ensp;&ensp;&ensp;号:</label><input type="text" @change="changeNewAddress"
115
+ class="form-control rightipt"
116
+ v-model="userinfo.addressinfo.f_building"/>
117
+ </div>
118
+ <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
119
+ <label class="righttxt">单&ensp;&ensp;&ensp;&ensp;元:</label><input type="text" @change="changeNewAddress"
120
+ class="form-control rightipt"
121
+ v-model="userinfo.addressinfo.f_unit"/>
122
+ </div>
123
+ <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
124
+ <label class="righttxt">楼&ensp;&ensp;&ensp;&ensp;层:</label><input type="text" @change="changeNewAddress"
125
+ class="form-control rightipt"
126
+ v-model="userinfo.addressinfo.f_floor"/>
127
+ </div>
128
+ <div class="row auto" style="margin: 5px 0" v-show="addressType=='普通地址'">
129
+ <label class="righttxt">门&ensp;牌&ensp;号:</label><input type="text" @change="changeNewAddress"
130
+ class="form-control rightipt"
131
+ v-model="userinfo.addressinfo.f_room"/>
132
+ </div>
133
+ <div class="row auto" style="margin: 5px 0">
134
+ <label class="righttxt">详细地址:</label><input type="text" class="form-control rightipt" readonly
135
+ v-model="userinfo_old.addressinfo.f_address"/>
136
+ </div>
137
+ <div class="row auto" style="margin: 5px 0">
138
+ <label class="righttxt">新&ensp;地&ensp;址:</label>
139
+ <!--<input type="text" class="form-control rightipt" readonly v-model="getaddress()" />-->
140
+ <textarea :readonly="addressType=='普通地址'" class="form-control rightipt" : style="height: 80px"
141
+ v-model="userinfo.addressinfo.f_address"></textarea>
142
+ </div>
143
+
144
+ <!--<div class="row auto" style="margin: 5px 0" v-show="addressType=='特殊地址'">
145
+ <label class="righttxt">新&ensp;地&ensp;址:</label>&lt;!&ndash;<input type="text" class="form-control rightipt" v-model="userinfo.addressinfo.f_address" />&ndash;&gt;
146
+ <textarea class="form-control rightipt" style="height: 80px" v-model="getAddressTS"></textarea>
147
+ </div>-->
148
+
149
+ <div class="row auto" style="margin: 5px 0">
150
+ <label class="righttxt">备&ensp;&ensp;&ensp;&ensp;注:</label><textarea class="form-control rightipt"
151
+ style="height: 150px"
152
+ v-model="userinfo.baseinfo.base.f_remark"></textarea>
153
+ <!--<input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_remark" />-->
154
+ </div>
155
+ </div>
156
+ </div>
157
+ <div class="panel auto">
158
+ <div class="panel-heading" @click="selectVal('表具信息')" style="background-color: #ffffff">
159
+ <span class="spanboder">
160
+ <img src="../../../assets/person.png" style="width: 22px;margin-right: 8px;">表具信息
161
+ <img class="butt3" :src="imgback('表具信息')">
162
+ </span>
163
+ </div>
164
+ <div class="panel-body " v-show="headername=='表具信息'">
165
+ <div class="row auto" style="margin: 5px 0">
166
+ <label class="righttxt">表&ensp;&ensp;&ensp;&ensp;号:</label>
167
+ <input type="text" :readonly="userinfo.meterinfo[0].f_meter_classify=='物联网表'" class="form-control rightipt"
168
+ v-model="userinfo.meterinfo[0].f_meternumber"/>
169
+ <!-- <button type="button"
170
+ :disabled="!(userinfo.meterinfo[0].f_meter_classify=='机表' || userinfo.meterinfo[0].f_meter_classify=='金额卡表' || userinfo.meterinfo[0].f_meter_classify=='气量卡表')"
171
+ name="button" class="btn btn-primary" style="width: 15%" @click="scan">扫码
172
+ </button>-->
173
+ </div>
174
+
175
+ <!--<div class="row auto" style="margin: 5px 0" v-if="userinfo.meterinfo[0].f_meter_classify=='机表'">
176
+ <div class="auto">
177
+ <div class="panel" style="padding: 0px 15px 5px 10px;">
178
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
179
+ <div class="row" style="height: 240px;">
180
+ <div class="col-sm-4">
181
+ <img-self :src="f_meterno_path" alt="表号照片" width="150" height="200"></img-self>
182
+ </div>
183
+ </div>
184
+ <div class="row text-right div-photo" :class="style__">
185
+ <button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_meterno_path', '表号照片')">拍照</button>
186
+ <img src="../../../assets/remove.png" :class="style__" @click="delfile('f_meterno_path', this.f_meterno_path)" style="width: 25%;"></img>
187
+ </div>
188
+ </div>
189
+ </div>
190
+ </div>
191
+ </div>-->
192
+ <div class="row auto" style="margin: 5px 0">
193
+ <label class="righttxt">通&ensp;气&ensp;人:</label>
194
+ <input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_gas_person"/>
195
+ </div>
196
+ <div class="row auto" style="margin: 5px 0">
197
+ <label class="righttxt">通气时间:</label>
198
+ <datepicker class="rightipt"
199
+ :value.sync="userinfo.meterinfo[0].f_gas_date"
200
+ v-model="userinfo.meterinfo[0].f_gas_date"
201
+ :disabled-days-of-Week="[]"
202
+ :format="'yyyy-MM-dd'"
203
+ :show-reset-button="reset">
204
+ </datepicker>
205
+ </div>
206
+ <div class="row auto" style="margin: 5px 0" v-show="showBox">
207
+ <label class="righttxt">调&ensp;压&ensp;箱:</label>
208
+ <v-select class="rightipt"
209
+ :value.sync="userinfo.meterinfo[0].f_adjustable_id"
210
+ v-model="userinfo.meterinfo[0].f_adjustable_id"
211
+ placeholder='请选择'
212
+ :width='wid'
213
+ readonly
214
+ :options="boxOptions"
215
+ close-on-select value-single></v-select>
216
+ </div>
217
+ <div class="row auto" style="margin: 5px 0">
218
+ <label class="righttxt">是否直通:</label>
219
+ <v-select
220
+ :value.sync="userinfo.meterinfo[0].f_if_direct"
221
+ class="input-font"
222
+ style="margin-left: 5%;"
223
+ :width="'60%'"
224
+ v-model="userinfo.meterinfo[0].f_if_direct"
225
+ :options='directOptions'
226
+ placeholder='是否直通'
227
+ close-on-select
228
+ clear-button
229
+ value-single>
230
+ </v-select>
231
+ </div>
232
+ <div class="row auto" style="margin: 5px 0">
233
+ <label class="righttxt">表&ensp;封&ensp;号:</label>
234
+ <input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_metertitles"/>
235
+ </div>
236
+ <div class="row auto" style="margin: 5px 0">
237
+ <label class="righttxt">表&ensp;位&ensp;置:</label>
238
+ <!--<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_position" readonly/>-->
239
+ <v-select class="rightipt" :value.sync="userinfo.meterinfo[0].f_position"
240
+ v-model="userinfo.meterinfo[0].f_position"
241
+ placeholder='请选择'
242
+ :width='wid'
243
+ readonly
244
+ :options="wz_types"
245
+ close-on-select value-single></v-select>
246
+ </div>
247
+ <div class="row auto" style="margin: 5px 0">
248
+ <label class="righttxt">表&ensp;&ensp;&ensp;&ensp;向:</label>
249
+ <!--<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_position" readonly/>-->
250
+ <v-select class="rightipt" :value.sync="userinfo.meterinfo[0].f_aroundmeter"
251
+ v-model="userinfo.meterinfo[0].f_aroundmeter"
252
+ placeholder='请选择'
253
+ :width='wid'
254
+ readonly
255
+ :options="aroundmeters"
256
+ close-on-select value-single></v-select>
257
+ </div>
258
+ <div class="row auto" style="margin: 5px 0">
259
+ <label class="righttxt">气表类型:</label>
260
+ <input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_meter_classify" readonly/>
261
+ </div>
262
+ <div class="row auto" style="margin: 5px 0">
263
+ <label class="righttxt">表前阀状态:</label>
264
+ <!--<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_position" readonly/>-->
265
+ <v-select class="rightipt" :value.sync="userinfo.meterinfo[0].f_bqf_state"
266
+ v-model="userinfo.meterinfo[0].f_bqf_state"
267
+ placeholder='请选择'
268
+ :width='wid'
269
+ readonly
270
+ :options="bqf_states"
271
+ close-on-select value-single></v-select>
272
+ </div>
273
+ <!-- <div class="row auto" style="margin: 5px 0">
274
+ <div style="display: flex;justify-content: center;">
275
+ <button v-if="userinfo.meterinfo[0].f_meter_classify=='机表'" class="col-sm-3 btn btn-primary" @click="upUserState()">机表关阀停用</button>
276
+ </div>
277
+ </div>-->
278
+ </div>
279
+ </div>
280
+ <div class="panel auto">
281
+ <div class="panel-heading" @click="selectVal('设备信息')" style="background-color: #ffffff">
282
+
283
+ <span class="spanboder"><img src="../../../assets/list.png" style="width: 22px;margin-right: 8px;">设备信息<img
284
+ class="butt3" :src="imgback('设备信息')"></span>
285
+ </div>
286
+ <div class="panel-body" v-show="headername=='设备信息'">
287
+ <div class="row" v-for="row in model"
288
+ style="border:2px solid #A2C2EB; border-top:10px solid #A2C2EB; box-shadow: #00b3ee;margin-bottom: 10px">
289
+ <div class="row auto" style="margin: 5px 0">
290
+ <label class="righttxt">设备类型:</label>
291
+ <!--<input type="text" class="form-control rightipt" readonly v-model="row.f_devices_type" />-->
292
+ <v-select class="rightipt" :value.sync="row.f_devices_type"
293
+ v-model="row.f_devices_type"
294
+ placeholder='请选择'
295
+ :width='wid'
296
+ @change="row.f_brand=''"
297
+ readonly
298
+ :options="devices_types"
299
+ close-on-select value-single></v-select>
300
+ </div>
301
+ <div class="row auto" style="margin: 5px 0">
302
+ <label class="righttxt">设备品牌:</label>
303
+ <v-select class="rightipt" :value.sync="row.f_brand"
304
+ v-model="row.f_brand"
305
+ placeholder='请选择'
306
+ :width='wid'
307
+ readonly
308
+ :options="deviceBrandOption[row.f_devices_type]"
309
+ close-on-select value-single></v-select>
310
+ </div>
311
+ <div class="row auto" style="margin: 5px 0">
312
+ <label class="righttxt">设备型号:</label><input type="text" class="form-control rightipt"
313
+ v-model="row.f_devices_model"/>
314
+ </div>
315
+ <div class="row auto" style="margin: 5px 0">
316
+ <label class="righttxt">生产日期:</label>
317
+ <!--<input type="text" class="form-control rightipt" v-model="row.f_make_date" />-->
318
+ <datepicker class="rightipt"
319
+ :value.sync="row.f_make_date"
320
+ v-model="row.f_make_date"
321
+ :disabled-days-of-Week="[]"
322
+ :format="'yyyy-MM-dd'"
323
+ :show-reset-button="reset" readonly="readonly">
324
+ </datepicker>
325
+ </div>
326
+ <div class="row auto" style="margin: 5px 0">
327
+ <label class="righttxt">使用年限:</label><input type="number" class="form-control rightipt"
328
+ v-model="row.f_service_life"/>
329
+ </div>
330
+ <!-- <div class="row auto" style="margin: 5px 0">
331
+ <label class="righttxt">到期日期:</label>
332
+ &lt;!&ndash;<input type="text" class="form-control rightipt" v-model="row.f_expire_date" />&ndash;&gt;
333
+ <datepicker class="rightipt"
334
+ :value.sync="row.f_expire_date"
335
+ v-model="row.f_expire_date"
336
+ :disabled-days-of-Week="[]"
337
+ :format="'yyyy-MM-dd'"
338
+ :show-reset-button="reset" readonly="readonly">
339
+ </datepicker>
340
+ </div>-->
341
+ <div class="row auto" style="margin: 5px 0">
342
+ <label class="righttxt">安&ensp;装&ensp;人:</label><input type="text" class="form-control rightipt"
343
+ v-model="row.f_input_person"/>
344
+ </div>
345
+ <div class="row auto" style="margin: 5px 0">
346
+ <label class="righttxt">安装日期:</label>
347
+ <!--<input type="text" class="form-control rightipt" v-model="row.f_input_date" />-->
348
+ <datepicker class="rightipt"
349
+ :value.sync="row.f_input_date"
350
+ v-model="row.f_input_date"
351
+ :disabled-days-of-Week="[]"
352
+ :format="'yyyy-MM-dd'"
353
+ :show-reset-button="reset" readonly="readonly">
354
+ </datepicker>
355
+ </div>
356
+ <div class="row auto" style="margin: 5px 0">
357
+ <label class="righttxt">设备数量:</label><input type="number" class="form-control rightipt"
358
+ v-model="row.f_devices_num"/>
359
+ </div>
360
+ <!--<div class="row auto" style="margin: 5px 0">
361
+ <label class="righttxt">管道类型:</label><input type="text" class="form-control rightipt" readonly v-model="row.f_pipe_type" />
362
+ </div>-->
363
+ <!--<div class="row auto" style="margin: 5px 0">
364
+ <label class="righttxt">设备状态:</label><input type="text" class="form-control rightipt" readonly v-model="row.f_userinfodevices_state" />
365
+ </div>-->
366
+ <!--<div class="row auto" style="margin: 5px 0">
367
+ <label class="righttxt">购买方式:</label><input type="text" class="form-control rightipt" readonly v-model="row.watchpurchase" />
368
+ </div>-->
369
+ <div style="display: flex;justify-content: center;margin-bottom: 3px"
370
+ v-if="$index>this.userinfo_old.devicesinfo.length-1 || this.userinfo_old.devicesinfo.length==0">
371
+ <button class="btn btn-warning" @click="delDevices($index)">删除设备</button>
372
+ </div>
373
+ </div>
374
+ <div style="display: flex;justify-content: space-around;">
375
+ <button class="col-sm-3 btn btn-primary" @click="addDevices($index)">新增设备</button>
376
+ </div>
377
+ </div>
378
+ </div>
379
+ <div class="panel auto">
380
+ <div class="panel-body">
381
+ <div style="display: flex;justify-content: center;">
382
+ <button class="col-sm-3 btn btn-primary" :disabled="enable" @click="isNeedAudit ? editUserInfo() : editUserInfoNoAudit()">{{isNeedAudit ? '上传审核' : '上传'}}</button>
383
+ </div>
384
+ </div>
385
+ </div>
386
+ </div>
387
+ </template>
388
+
389
+ <script>
390
+ import {HttpResetClass} from 'vue-client'
391
+ import * as Util from "../../Util";
392
+ import Vue from 'vue'
393
+
394
+ export default {
395
+ title: '设备查看',
396
+ data() {
397
+ return {
398
+ model: [],
399
+ show: false,
400
+ row: Object,
401
+ userinfo: Object,
402
+ userinfo_old: Object,
403
+ wid: "60%",
404
+ aroundmeters: [],
405
+ devices_types: [],
406
+ pipe_types: [{label: '橡胶管', value: '橡胶管'}, {label: '波纹管', value: '波纹管'}, {label: '钢管', value: '钢管'}],
407
+ wz_types: [],
408
+ cityTypes: [{label: '市区', value: '市区'}, {label: '城镇', value: '城镇'}],
409
+ bqf_states: [{label: '开阀', value: '开阀'}, {label: '关阀', value: '关阀'}],
410
+ pcds: [],
411
+ streets: [],
412
+ update: false,
413
+ headername: '基本信息',
414
+ excessive: false,
415
+ area: [],
416
+ enable: false,
417
+ f_meterno_path: Vue.nopic,
418
+ selectArea: {id: ''},
419
+ selectPcd: {id: ''},
420
+ selectStreet: {id: ''},
421
+ changemeterno: false,//是否修改了机表表号
422
+ approveChange: false,//是否需要进行信息变更审核
423
+ newAddress: '',
424
+ addressType: '',
425
+ //需要审核的字段
426
+ checkField: {
427
+ checkUserinfoField: [
428
+ 'f_user_name'
429
+ ],
430
+ checkUserFilesField: [
431
+ 'f_meternumber'
432
+ ],
433
+ checkAddressField: [
434
+ 'f_pcd_id',
435
+ 'f_street_id',
436
+ 'f_residential_area_id',
437
+ 'f_building',
438
+ 'f_unit',
439
+ 'f_floor',
440
+ 'f_room',
441
+ 'f_slice_area',
442
+ 'f_special',
443
+ 'f_address'
444
+ ],
445
+ },
446
+ boxOptions: [],
447
+ showBox: false,
448
+ directOptions: [{label: '是', value: '是'}, {label: '否', value: '否'}],
449
+ deviceBrandOption: {},
450
+ isNeedAudit: this.$appdata.getSingleValue('信息变更是否需要审核') == 'false' ? false : true
451
+ }
452
+ },
453
+ props: {
454
+ user: {
455
+ type: Object
456
+ },
457
+ f_userinfo_id: '',
458
+ f_source: ''
459
+ },
460
+ methods: {
461
+ scan() {
462
+ HostApp.__this__ = this,
463
+ HostApp.scanCode({callback: "javascript:HostApp.__this__.getCode();"})
464
+ },
465
+ getCode() {
466
+ var datapa = HostApp.getCode().data;
467
+ //tag
468
+ this.userinfo.meterinfo[0].f_meternumber = datapa
469
+ },
470
+ //数据检查
471
+ checkVal() {
472
+ //检查一些必要信息是否未填
473
+ this.approveChange = false
474
+ this.changemeterno = false
475
+ let checked = {ischeck: true, msg: ''}
476
+ //tag
477
+ //tag
478
+ //tag
479
+ if (!this.userinfo.baseinfo.base.f_user_name) {
480
+ checked = {ischeck: false, msg: '请输入用户名称!'}
481
+ }
482
+ /*if (!this.selectPcd.id) {
483
+ checked = {ischeck: false, msg: '请选择省市区!'}
484
+ }
485
+ if (!this.selectStreet.id) {
486
+ checked = {ischeck: false, msg: '请选择街道!'}
487
+ }
488
+ if (!this.userinfo.addressinfo.f_address) {
489
+ checked = {ischeck: false, msg: '新地址不能为空!'}
490
+ }*/
491
+ /*if (this.addressType == '普通地址') {
492
+ if (!this.selectArea.id) {
493
+ checked = {ischeck: false, msg: '请选择集收单位!'}
494
+ }
495
+ if (!this.userinfo.addressinfo.f_room) {
496
+ checked = {ischeck: false, msg: '新输入门牌号!'}
497
+ }
498
+ }*/
499
+ if (this.userinfo.meterinfo[0].f_meter_classify == '机表' && this.userinfo_old.meterinfo[0].f_meternumber) {
500
+
501
+ //tag
502
+ //tag
503
+ if (this.userinfo.meterinfo[0].f_meternumber) {
504
+ if (this.userinfo.meterinfo[0].f_meternumber != this.userinfo_old.meterinfo[0].f_meternumber) {
505
+ if (!this.f_meterno_path || this.f_meterno_path == Vue.nopic) {
506
+ checked = {ischeck: false, msg: '请拍摄表号照片!'}
507
+ } else {
508
+ //用来标识当前有修改机表表号,后台需要进行照片上传
509
+ this.changemeterno = true
510
+ }
511
+ }
512
+ } else {
513
+ checked = {ischeck: false, msg: '请输入表号!'}
514
+ }
515
+ }
516
+ //检查本次修改信息中是否包含需要审核的内容
517
+ for (let check in this.checkField) {
518
+ //tag
519
+ if (typeof check != 'function') {
520
+ for (let i = 0; i < this.checkField[check].length; i++) {
521
+ //tag
522
+ if (check == 'checkUserinfoField') {
523
+ //tag
524
+ //tag
525
+ if (this.userinfo.baseinfo.base[this.checkField[check][i]] != this.userinfo_old.baseinfo.base[this.checkField[check][i]]) {
526
+ //tag
527
+ this.approveChange = true
528
+ }
529
+ } else if (check == 'checkUserFilesField') {
530
+ //tag
531
+ //tag
532
+ if (this.userinfo.meterinfo[0][this.checkField[check][i]] != this.userinfo_old.meterinfo[0][this.checkField[check][i]]) {
533
+ //tag
534
+ this.approveChange = true
535
+ }
536
+ } else if (check == 'checkAddressField') {
537
+ //tag
538
+ //tag
539
+ if (this.userinfo.addressinfo[this.checkField[check][i]] != this.userinfo_old.addressinfo[this.checkField[check][i]]) {
540
+ //tag
541
+ this.approveChange = true
542
+ }
543
+ }
544
+ }
545
+ }
546
+ }
547
+ //tag
548
+ return checked
549
+ },
550
+ select_search(text) {
551
+ //tag
552
+ if (this.selectStreet.id) {
553
+ let pcdText = text ? `and f_street_id=${this.selectStreet.id} and f_residential_area like '%${text}%'` : `and f_street_id=${this.selectStreet.id}`
554
+ new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
555
+ data: {
556
+ items: "*",
557
+ tablename: "t_area",
558
+ orderitem: "id",
559
+ condition: `f_orgid = '${Vue.user.orgid}' ${pcdText} `
560
+ }
561
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
562
+ //tag)
563
+ if (res.data.length > 0) {
564
+ this.area = []
565
+ res.data.forEach((result) => {
566
+ this.area.push({label: result.f_residential_area, value: result})
567
+ })
568
+ }
569
+ })
570
+ } else {
571
+ this.area = []
572
+ }
573
+ },
574
+ cameraCallBack(prop, fileName) {
575
+ HostApp.__this__.$set(prop, fileName + '?' + Math.random())
576
+ //tag
577
+ HostApp.__callback__ = null
578
+ HostApp.__this__ = null
579
+ },
580
+ takePic(prop, title) {
581
+ HostApp.__callback__ = this.cameraCallBack
582
+ HostApp.__this__ = this
583
+ //tag
584
+ let fileName
585
+ if (!this[prop] || this[prop].includes("nopic.png")) {
586
+ fileName = Util.guid() + '-' + prop + '.jpg'
587
+ } else {
588
+ fileName = Util.getFileName(this[prop])
589
+ }
590
+ HostApp._open_a_page({
591
+ type: 'boomerang',
592
+ page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
593
+ param: {
594
+ file: fileName,
595
+ requestCode: 111,
596
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
597
+ watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
598
+ }
599
+ })
600
+ },
601
+ delfile(prop, fileName) {
602
+ if (fileName == Vue.nopic)
603
+ return
604
+ else {
605
+ HostApp.delfile(fileName)
606
+ this[prop] = Vue.nopic
607
+ }
608
+ },
609
+ editUserInfoNoAudit() {
610
+ let checked = this.checkVal()
611
+ if (!checked.ischeck) {
612
+ this.$showMessage(checked.msg)
613
+ return
614
+ }
615
+ for (let i = 0; i < this.model.length; i++) {
616
+ this.model[i].f_user_id = this.userinfo.meterinfo[0].f_user_id
617
+ }
618
+ this.$showMessage('确定是否修改上传用户信息?', ['confirm', 'cancel']).then((res) => {
619
+ if (res === 'confirm') {
620
+ this.excessive = true
621
+ let userinfoms = Object.assign({}, this.userinfo_old.baseinfo.base)
622
+ userinfoms.f_user_phone = this.userinfo.baseinfo.base.f_user_phone
623
+ userinfoms.f_idnumber = this.userinfo.baseinfo.base.f_idnumber
624
+ userinfoms.f_rent_name = this.userinfo.baseinfo.base.f_rent_name
625
+ userinfoms.f_zuhu_phone = this.userinfo.baseinfo.base.f_zuhu_phone
626
+ userinfoms.f_operator_record = Vue.user.name
627
+ userinfoms.f_operatorid_record = Vue.user.id
628
+ userinfoms.f_remark = this.userinfo.baseinfo.base.f_remark
629
+ userinfoms.f_orgid_record = Vue.user.orgid
630
+ userinfoms.f_orgname_record = Vue.user.orgs
631
+ userinfoms.f_depid_record = Vue.user.depids
632
+ userinfoms.f_depname_record = Vue.user.deps
633
+ this.userinfo_old.meterinfo[0].f_gas_person = this.userinfo.meterinfo[0].f_gas_person
634
+ this.userinfo_old.meterinfo[0].f_gas_date = this.userinfo.meterinfo[0].f_gas_date
635
+ this.userinfo_old.meterinfo[0].f_adjustable_id = this.userinfo.meterinfo[0].f_adjustable_id
636
+ this.userinfo_old.meterinfo[0].f_metertitles = this.userinfo.meterinfo[0].f_metertitles
637
+ this.userinfo_old.meterinfo[0].f_position = this.userinfo.meterinfo[0].f_position
638
+ this.userinfo_old.meterinfo[0].f_aroundmeter = this.userinfo.meterinfo[0].f_aroundmeter
639
+ this.userinfo_old.meterinfo[0].f_bqf_state = this.userinfo.meterinfo[0].f_bqf_state
640
+ this.userinfo_old.meterinfo[0].f_if_direct = this.userinfo.meterinfo[0].f_if_direct
641
+ userinfoms.userfiles = []
642
+ this.userinfo_old.meterinfo[0].devicesinfo = this.model
643
+ userinfoms.userfiles.push(this.userinfo_old.meterinfo[0])
644
+ new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/filemanage_fileSave`, {
645
+ data: {
646
+ userinfo: userinfoms,
647
+ modifyReason: this.f_source ? `${this.f_source}维护档案信息` : '',
648
+ address: {
649
+ id: this.userinfo_old.addressinfo.id,
650
+ oldid: this.userinfo_old.addressinfo.id,
651
+ f_address: this.userinfo.addressinfo.f_address ? this.userinfo.addressinfo.f_address : this.userinfo_old.addressinfo.f_address
652
+ }
653
+ }
654
+ }, {resolveMsg: null, rejectMsg: null}).then((res1) => {
655
+ if (res1.data.status == 200) {
656
+ let data = this.userinfo.addressinfo
657
+ data.f_address = this.userinfo.addressinfo.f_address? this.userinfo.addressinfo.f_address : this.userinfo_old.addressinfo.f_address
658
+ //
659
+ data.f_operator = Vue.user.name
660
+ new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/address_updateuseraddress`, {data: data}).then((res2) => {
661
+ this.$showMessage("修改用户地址信息成功!")
662
+ }).catch(error => {
663
+ this.$showMessage("修改用户地址信息!")
664
+ })
665
+ this.$showMessage("修改用户信息成功!")
666
+ this.enable = true
667
+ this.excessive = false
668
+ }
669
+ }).catch((msg) => {
670
+ this.$showMessage("修改用户信息失败,请检查手机网络状况!")
671
+ this.excessive = false
672
+ })
673
+ }
674
+ })
675
+ },
676
+ editUserInfo() {
677
+ let checked = this.checkVal()
678
+ if (!checked.ischeck) {
679
+ this.$showMessage(checked.msg)
680
+ return
681
+ }
682
+ this.$showMessage('确定是否修改上传审核用户信息?', ['confirm', 'cancel']).then((res) => {
683
+ if (res === 'confirm') {
684
+ this.excessive = true
685
+ let userinfoms = Object.assign({}, this.userinfo_old.baseinfo.base)
686
+ userinfoms.f_user_phone = this.userinfo.baseinfo.base.f_user_phone
687
+ userinfoms.f_idnumber = this.userinfo.baseinfo.base.f_idnumber
688
+ userinfoms.f_rent_name = this.userinfo.baseinfo.base.f_rent_name
689
+ userinfoms.f_zuhu_phone = this.userinfo.baseinfo.base.f_zuhu_phone
690
+ userinfoms.f_operator_record = Vue.user.name
691
+ userinfoms.f_operatorid_record = Vue.user.id
692
+ userinfoms.f_remark = this.userinfo.baseinfo.base.f_remark
693
+ userinfoms.f_orgid_record = Vue.user.orgid
694
+ userinfoms.f_orgname_record = Vue.user.orgs
695
+ userinfoms.f_depid_record = Vue.user.depids
696
+ userinfoms.f_depname_record = Vue.user.deps
697
+ this.userinfo_old.meterinfo[0].f_gas_person = this.userinfo.meterinfo[0].f_gas_person
698
+ this.userinfo_old.meterinfo[0].f_gas_date = this.userinfo.meterinfo[0].f_gas_date
699
+ this.userinfo_old.meterinfo[0].f_adjustable_id = this.userinfo.meterinfo[0].f_adjustable_id
700
+ this.userinfo_old.meterinfo[0].f_metertitles = this.userinfo.meterinfo[0].f_metertitles
701
+ this.userinfo_old.meterinfo[0].f_position = this.userinfo.meterinfo[0].f_position
702
+ this.userinfo_old.meterinfo[0].f_aroundmeter = this.userinfo.meterinfo[0].f_aroundmeter
703
+ this.userinfo_old.meterinfo[0].f_bqf_state = this.userinfo.meterinfo[0].f_bqf_state
704
+ this.userinfo_old.meterinfo[0].f_if_direct = this.userinfo.meterinfo[0].f_if_direct
705
+ this.userinfo_old.meterinfo[0].f_meternumber = this.userinfo.meterinfo[0].f_meternumber
706
+ userinfoms.userfiles = []
707
+ this.userinfo_old.meterinfo[0].devicesinfo = this.model
708
+ userinfoms.userfiles.push(this.userinfo_old.meterinfo[0])
709
+ //tag)
710
+ new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/filemanage_fileSave`, {
711
+ data: {
712
+ userinfo: userinfoms,
713
+ modifyReason: this.f_source ? `${this.f_source}维护档案信息` : '',
714
+ address: {id: this.userinfo_old.addressinfo.id, oldid: this.userinfo_old.addressinfo.id}
715
+ }
716
+ }, {resolveMsg: null, rejectMsg: null}).then((res1) => {
717
+ //tag+res1.data.status)
718
+ if (res1.data.status == 200) {
719
+ //本次修改信息包含需要审核信息
720
+ if (this.approveChange) {
721
+ //tag
722
+ let res2 = this.$androidUtil.bzLogic('safe_upUserinfoApprove', {
723
+ row: {
724
+ f_time: Util.toStandardTimeString(),
725
+ f_modifier: Vue.user.name,//Vue.user.name
726
+ f_modifier_id: Vue.user.id,//Vue.user.id
727
+ f_modify_type: '用户档案',
728
+ f_userinfoid: this.userinfo.baseinfo.base.f_userinfo_id,
729
+ f_userinfo_code: this.userinfo.baseinfo.base.f_userinfo_code,
730
+ f_approved: '未审核',
731
+ filialestr: Vue.user.orgid,//Vue.user.orgid
732
+ version: 1,
733
+ f_user_name: this.userinfo.baseinfo.base.f_user_name,
734
+ f_user_phone: this.userinfo.baseinfo.base.f_user_phone,
735
+ f_street: this.userinfo.addressinfo.f_street,
736
+ f_building: this.userinfo.addressinfo.f_building,
737
+ f_unit: this.userinfo.addressinfo.f_unit,
738
+ f_floor: this.userinfo.addressinfo.f_floor,
739
+ f_room: this.userinfo.addressinfo.f_room,
740
+ f_building_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_building_suffix,
741
+ f_unit_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_unit_suffix,
742
+ f_floor_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_floor_suffix,
743
+ f_room_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_room_suffix,
744
+ f_residential_area: this.userinfo.addressinfo.f_residential_area,
745
+ f_address: this.userinfo.addressinfo.f_address,
746
+ f_pcd: this.userinfo.addressinfo.f_pcd,
747
+ f_pcd_id: this.userinfo.addressinfo.f_pcd_id,
748
+ f_street_id: this.userinfo.addressinfo.f_street_id,
749
+ f_residential_area_id: this.userinfo.addressinfo.f_residential_area_id,
750
+ f_used_name: this.userinfo.baseinfo.base.f_used_name,
751
+ f_rent_phone: this.userinfo.baseinfo.base.f_rent_phone,
752
+ f_slice_area: this.userinfo.addressinfo.f_slice_area,
753
+ f_remark: this.userinfo.baseinfo.base.f_remark,
754
+ f_source: this.f_source,
755
+ f_meterno_path: this.f_meterno_path,
756
+ f_iscity: this.userinfo.addressinfo.f_iscity,
757
+ f_special: this.userinfo.addressinfo.f_special,
758
+ f_meternumber: this.userinfo.meterinfo[0].f_meternumber,
759
+ changemeterno: this.changemeterno
760
+ },
761
+ tablename: 't_modify_userinfo'
762
+ })
763
+ //tag)
764
+ if (res2.code == 200) {
765
+ this.$showMessage("变更用户信息成功,需要审核的信息已提交审核,等待管理员处理!")
766
+ this.enable = true
767
+ this.excessive = false
768
+ } else {
769
+ this.$showMessage("上传审核信息失败,请检查图片和网络状况是否正常!")
770
+ this.excessive = false
771
+ }
772
+ } else {
773
+ this.$showMessage("修改用户信息成功!")
774
+ this.enable = true
775
+ this.excessive = false
776
+ }
777
+
778
+ }
779
+ }).catch((msg) => {
780
+ this.$showMessage("修改用户信息失败,请检查手机网络状况!")
781
+ this.excessive = false
782
+ })
783
+
784
+ }
785
+ })
786
+ },
787
+ imgback(header) {
788
+ if (this.headername == header) {
789
+ return require('../../../assets/xiangxia1.png')
790
+ } else {
791
+ return require('../../../assets/xiangyou1.png')
792
+ }
793
+ this.headername = header
794
+ },
795
+ selectVal(header) {
796
+ if (this.headername == header) {
797
+ this.headername = ''
798
+ } else {
799
+ this.headername = header
800
+ }
801
+
802
+ },
803
+ changeNewAddress() {
804
+ this.userinfo.addressinfo.f_address = this.addressType == '普通地址' ? this.getAddress : this.getAddressTS
805
+ },
806
+ area_change() {
807
+ //tag
808
+ this.userinfo.addressinfo.f_residential_area = this.selectArea.f_residential_area
809
+ this.userinfo.addressinfo.f_residential_area_id = this.selectArea.id
810
+ this.userinfo.addressinfo.f_slice_area = this.selectArea.f_slice_area
811
+ this.changeNewAddress()
812
+ //this.userinfo.addressinfo.f_residential_area=this.f_residential_area.f_residential_area
813
+ },
814
+ async street_change() {
815
+ //tag
816
+ if (this.selectStreet.id) {
817
+ //如果街道改变--给街道赋值!
818
+ this.userinfo.addressinfo.f_street = this.selectStreet.f_street
819
+ this.userinfo.addressinfo.f_street_id = this.selectStreet.id
820
+ this.userinfo.addressinfo.f_iscity = this.selectStreet.f_iscity
821
+ //清空当前选中小区的值
822
+ this.userinfo.addressinfo.f_residential_area = ''
823
+ this.userinfo.addressinfo.f_residential_area_id = ''
824
+ this.userinfo.addressinfo.f_slice_area = ''
825
+ this.selectArea = {id: ''}
826
+ this.area = []
827
+ let pcdText = ` and f_street_id=${this.selectStreet.id}`
828
+ let res = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
829
+ data: {
830
+ items: "*",
831
+ tablename: "t_area",
832
+ orderitem: "id",
833
+ condition: `f_orgid = '${Vue.user.orgid}' ${pcdText} `
834
+ }
835
+ }, {resolveMsg: null, rejectMsg: null})
836
+ ////tag)
837
+ res.data.forEach((result) => {
838
+ this.area.push({label: result.f_residential_area, value: result})
839
+ })
840
+ } else {
841
+ this.area = []
842
+ }
843
+
844
+ this.changeNewAddress()
845
+ },
846
+ async pcd_change() {
847
+ //tag
848
+ if (this.selectPcd.id) {
849
+ //tag
850
+ //如果省市区改变-重新赋值
851
+ this.userinfo.addressinfo.f_pcd = this.selectPcd.f_pcd
852
+ this.userinfo.addressinfo.f_pcd_id = this.selectPcd.id
853
+ //清空 选中的街道和集收单位
854
+ this.selectStreet = {id: ''}
855
+ this.userinfo.addressinfo.f_street = ''
856
+ this.userinfo.addressinfo.f_street_id = ''
857
+ this.userinfo.addressinfo.f_iscity = ''
858
+ this.selectArea = {id: ''}
859
+ this.userinfo.addressinfo.f_residential_area = ''
860
+ this.userinfo.addressinfo.f_residential_area_id = ''
861
+ this.userinfo.addressinfo.f_slice_area = ''
862
+ this.streets = []
863
+ let pcdText = `and f_pcd_id=${this.selectPcd.id}`
864
+ let streetlist = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
865
+ data: {
866
+ items: "*",
867
+ tablename: "t_street",
868
+ orderitem: "id",
869
+ condition: `f_orgid = '${Vue.user.orgid}' ${pcdText}`
870
+ }
871
+ }, {resolveMsg: null, rejectMsg: null})
872
+ streetlist.data.forEach((result) => {
873
+ this.streets.push({label: result.f_street, value: result})
874
+ })
875
+ } else {
876
+ this.streets = []
877
+ }
878
+ this.changeNewAddress()
879
+ },
880
+ upUserState() {
881
+ //tag)
882
+ if (this.userinfo.meterinfo[0].f_table_state == '正常') {
883
+ let data = {
884
+ f_userfiles_id: {
885
+ f_userfiles_id: this.userinfo.meterinfo[0].f_userfiles_id,
886
+ f_table_state: '停用',
887
+ version: this.userinfo.meterinfo[0].version
888
+ },
889
+ f_userfile_id: this.userinfo.meterinfo[0].f_userfiles_id,
890
+ f_user_id: this.userinfo.meterinfo[0].f_user_id,
891
+ f_userinfo_id: this.userinfo.meterinfo[0].f_userinfo_id,
892
+ f_user_name: this.userinfo.baseinfo.base.f_user_name,
893
+ f_comments: '安检时发现问题关闭阀门',
894
+ f_othereason: '',
895
+ f_operat_type: '停用',
896
+ f_describe: `${Vue.user.name}对客户${this.userinfo.baseinfo.base.f_user_name}进行表具停用操作`,
897
+ f_state: '有效',
898
+ f_operator: Vue.user.name,//${Vue.$login.f.name}
899
+ f_operatorid: Vue.user.id,
900
+ f_orgid: Vue.user.orgid,
901
+ f_orgname: Vue.user.orgs,
902
+ f_depid: Vue.user.depids,
903
+ f_depname: Vue.user.deps,
904
+ f_zoneid: Vue.user.zoneid,
905
+ f_zones: Vue.user.zones
906
+ }
907
+ new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/entity/t_disable`,
908
+ data, {resolveMsg: null, rejectMsg: null}).then((row) => {
909
+ this.$showMessage('已成功关阀停气!')
910
+ this.userinfo.meterinfo[0].f_table_state = '停用'
911
+ })
912
+ } else {
913
+ this.$showMessage('该用户已被关阀停用,请勿重复操作!')
914
+ }
915
+
916
+ },
917
+ addDevices() {
918
+ //Vue.user.name
919
+ let obj = {
920
+ "f_operator": Vue.user.name,
921
+ "f_picture": null,
922
+ "f_pipe_type": null,
923
+ "f_pipeinstall_date": null,
924
+ "f_pipe_connection": null,
925
+ "f_expire_date": null,
926
+ "f_pipeexpire_date": null,
927
+ "f_comments": null,
928
+ "f_operate_date": Util.toStandardTimeString(),
929
+ "f_operatorid": Vue.user.id,
930
+ "f_devices_num": null,
931
+ "f_process_id": null,
932
+ "f_devices_type": null,
933
+ "f_make_date": null,
934
+ "f_input_date": null,
935
+ "f_state": "有效",
936
+ "f_brand": null,
937
+ "f_devices_model": null,
938
+ "f_devices_no": null,
939
+ "img": {"content": null, "filename": null}
940
+ }
941
+ this.model.push(obj)
942
+ },
943
+ delDevices(idx) {
944
+ //tag
945
+ this.$showMessage('删除后不可恢复,确认删除吗?', ['confirm', 'cancel']).then((res) => {
946
+ if (res === 'confirm') {
947
+ this.model.splice(idx, 1)
948
+ }
949
+ })
950
+ },
951
+ async getAreaList(text) {
952
+ if (this.selectStreet.id) {
953
+ this.area = []
954
+ let pcdText = text ? `and f_street_id=${this.selectStreet.id} and f_residential_area like '%${text}%'` : `and f_street_id=${this.selectStreet.id}`
955
+ let res = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
956
+ data: {
957
+ items: "*",
958
+ tablename: "t_area",
959
+ orderitem: "id",
960
+ condition: `f_orgid = '${Vue.user.orgid}' ${pcdText}`
961
+ }
962
+ }, {resolveMsg: null, rejectMsg: null})
963
+ ////tag)
964
+ res.data.forEach((result) => {
965
+ this.area.push({label: result.f_residential_area, value: result})
966
+ })
967
+ //tag
968
+ this.area.push({
969
+ label: this.userinfo.addressinfo.f_residential_area,
970
+ value: {
971
+ id: this.userinfo.addressinfo.f_residential_area_id,
972
+ f_residential_area: this.userinfo.addressinfo.f_residential_area
973
+ }
974
+ })
975
+ } else {
976
+ this.area = []
977
+ }
978
+
979
+ },
980
+ async getStreetList() {
981
+ if (this.selectPcd.id) {
982
+ //tag
983
+ this.streets = []
984
+ let pcdText = `and f_pcd_id=${this.selectPcd.id}`
985
+ let streetlist = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
986
+ data: {
987
+ items: "*",
988
+ tablename: "t_street",
989
+ orderitem: "id",
990
+ condition: `f_orgid = '${Vue.user.orgid}' ${pcdText}`
991
+ }
992
+ }, {resolveMsg: null, rejectMsg: null})
993
+ streetlist.data.forEach((result) => {
994
+ //如果第一次进来有地址id 就拿下地址区域
995
+ if (this.selectStreet.id && this.selectStreet.id == result.id) {
996
+ //tag)
997
+ this.userinfo.addressinfo.f_iscity = result.f_iscity
998
+ }
999
+ this.streets.push({label: result.f_street, value: result})
1000
+ })
1001
+ } else {
1002
+ this.streets = []
1003
+ }
1004
+ },
1005
+ changeAddressType(val) {
1006
+ //tag
1007
+ if (this.addressType == '普通地址') {
1008
+ this.userinfo.addressinfo.f_special = null
1009
+ } else if (this.addressType == '特殊地址') {
1010
+ this.userinfo.addressinfo.f_special = 1
1011
+ this.userinfo.addressinfo.f_building = null
1012
+ this.userinfo.addressinfo.f_unit = null
1013
+ this.userinfo.addressinfo.f_floor = null
1014
+ this.userinfo.addressinfo.f_room = null
1015
+ }
1016
+ this.changeNewAddress()
1017
+ }
1018
+
1019
+ },
1020
+ computed: {
1021
+ getAddress() {
1022
+ return (this.userinfo.addressinfo.f_pcd ? this.userinfo.addressinfo.f_pcd : '') +
1023
+ (this.userinfo.addressinfo.f_street ? this.userinfo.addressinfo.f_street : '') +
1024
+ (this.userinfo.addressinfo.f_residential_area ? this.userinfo.addressinfo.f_residential_area : '') +
1025
+ (this.userinfo.addressinfo.f_building ? this.userinfo.addressinfo.f_building + (this.userinfo.addressinfo.f_building_suffix ? this.userinfo.addressinfo.f_building_suffix : '') : '') +
1026
+ (this.userinfo.addressinfo.f_unit ? this.userinfo.addressinfo.f_unit + (this.userinfo.addressinfo.f_unit_suffix ? this.userinfo.addressinfo.f_unit_suffix : '') : '') +
1027
+ (this.userinfo.addressinfo.f_floor ? this.userinfo.addressinfo.f_floor + (this.userinfo.addressinfo.f_floor_suffix ? this.userinfo.addressinfo.f_floor_suffix : '') : '') +
1028
+ (this.userinfo.addressinfo.f_room ? this.userinfo.addressinfo.f_room + (this.userinfo.addressinfo.f_room_suffix ? this.userinfo.addressinfo.f_room_suffix : '') : '')
1029
+ },
1030
+ getAddressTS() {
1031
+ return (this.userinfo.addressinfo.f_pcd ? this.userinfo.addressinfo.f_pcd : '') +
1032
+ (this.userinfo.addressinfo.f_street ? this.userinfo.addressinfo.f_street : '') +
1033
+ (this.userinfo.addressinfo.f_residential_area ? this.userinfo.addressinfo.f_residential_area : '')
1034
+ }
1035
+ },
1036
+ watch: {
1037
+
1038
+ /*'selectPcd.id' (val) {
1039
+ //tag
1040
+ if(this.selectPcd.id){
1041
+ this.getStreetList()
1042
+ }
1043
+ },
1044
+ 'selectStreet.id' (val) {
1045
+ //tag
1046
+ if(this.selectStreet.id){
1047
+ this.getAreaList()
1048
+ }
1049
+ }*/
1050
+ },
1051
+ async ready() {
1052
+ /*//tag)
1053
+
1054
+ //tag)
1055
+ //tag)*/
1056
+ //this.f_userinfo_id=1102260
1057
+ //this.f_userinfo_id=1997541
1058
+ if (!this.f_userinfo_id) {
1059
+ this.$showMessage("未检测到用户!")
1060
+ this.enable = true
1061
+ return
1062
+ }
1063
+ try {
1064
+
1065
+ this.devices_types = Vue.$appdata.getParam('设备类型')
1066
+ console.log('this.devices_types=', JSON.stringify(this.devices_types))
1067
+ if (this.devices_types){
1068
+ for (const devices_type of this.devices_types) {
1069
+ console.log('Vue.$appdata.getParam(`档案设备信息-${devices_type.label}品牌`)=', JSON.stringify(Vue.$appdata.getParam(`档案设备信息-${devices_type.label}品牌`)))
1070
+ this.deviceBrandOption[devices_type.label] = Vue.$appdata.getParam(`档案设备信息-${devices_type.label}品牌`) || []
1071
+ }
1072
+ }
1073
+ console.log('this.deviceBrandOption=', JSON.stringify(this.deviceBrandOption))
1074
+ this.wz_types = Vue.$appdata.getParam('安装位置')
1075
+ this.aroundmeters = Vue.$appdata.getParam('左右表')
1076
+
1077
+ ////tag)
1078
+ this.excessive = true
1079
+ //Vue.user.orgid ${this.f_userinfo_id} 10101 ${Vue.user.orgid}
1080
+
1081
+ let pcdlist = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
1082
+ data: {
1083
+ items: "*",
1084
+ tablename: "t_pcd",
1085
+ orderitem: "id",
1086
+ condition: `f_orgid = '${Vue.user.orgid}'`
1087
+ }
1088
+ }, {resolveMsg: null, rejectMsg: null})
1089
+ //tag)
1090
+ pcdlist.data.forEach((result) => {
1091
+ this.pcds.push({label: result.f_pcd, value: result})
1092
+ })
1093
+ ////tag)
1094
+ let res = await new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/logic/filemanage_getFilesDetail`, {
1095
+ //f_userinfo_code:'12381344',
1096
+ f_userinfo_id: this.f_userinfo_id
1097
+ }, {resolveMsg: null, rejectMsg: null})
1098
+ //tag
1099
+ //tag
1100
+ this.userinfo = res.data
1101
+ this.userinfo_old = JSON.parse(JSON.stringify(res.data))
1102
+ this.model = this.userinfo.meterinfo[0].devicesinfo
1103
+ this.selectArea.id = this.userinfo.addressinfo.f_residential_area_id
1104
+ this.selectPcd.id = this.userinfo.addressinfo.f_pcd_id
1105
+ this.selectPcd.f_pcd = this.userinfo.addressinfo.f_pcd
1106
+ this.selectStreet.id = this.userinfo.addressinfo.f_street_id
1107
+ this.selectStreet.f_street = this.userinfo.addressinfo.f_street
1108
+ await this.getStreetList()
1109
+ await this.getAreaList()
1110
+ this.excessive = false
1111
+ this.addressType = this.userinfo.addressinfo.f_special == 1 ? '特殊地址' : '普通地址'
1112
+ //this.userinfo.addressinfo.f_special=1
1113
+ //tag
1114
+ } catch (e) {
1115
+ this.excessive = false
1116
+ this.enable = true
1117
+ this.$showMessage('获取用户信息出错,请检查网络状况!')
1118
+ }
1119
+ new HttpResetClass().load('get', `${this.$androidUtil.getProxyUrl()}/rs/vue/UserAddress.json`, {data: {}}, {
1120
+ resolveMsg: null,
1121
+ rejectMsg: null
1122
+ }).then((addressUnit) => {
1123
+ //tag
1124
+ //tag
1125
+ //tag
1126
+ //tag
1127
+ this.userinfo.addressinfo.f_building_suffix = addressUnit.data.f_building_suffix
1128
+ this.userinfo.addressinfo.f_unit_suffix = addressUnit.data.f_unit_suffix
1129
+ this.userinfo.addressinfo.f_floor_suffix = addressUnit.data.f_floor_suffix
1130
+ this.userinfo.addressinfo.f_room_suffix = addressUnit.data.f_room_suffix
1131
+ }).catch((msg) => {
1132
+ //tag)
1133
+ })
1134
+ this.showBox = this.$appdata.getSingleValue('档案审核是否显示调压箱') == '是'? true : false
1135
+ console.log(this.showBox)
1136
+ if (this.showBox) {
1137
+ // 获取调压箱
1138
+ new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/sql/adjustableboxQuery`, {data: {condition: '1 = 1'}}, {
1139
+ resolveMsg: null,
1140
+ rejectMsg: null
1141
+ }).then((res) => {
1142
+ const boxOptions = []
1143
+ for (const data of res.data) {
1144
+ const one = {
1145
+ label: data.f_adjustable_id + data.f_adjustable_name,
1146
+ value: Number(data.f_adjustable_id)
1147
+ }
1148
+ boxOptions.push(one)
1149
+ }
1150
+ this.boxOptions = JSON.parse(JSON.stringify(boxOptions))
1151
+ console.log(this.boxOptions)
1152
+ }).catch((msg) => {
1153
+ //tag)
1154
+ })
1155
+ }
1156
+ }
1157
+ }
1158
+ </script>
1159
+ <style lang="less" scoped>
1160
+ .butt3 {
1161
+ float: right;
1162
+ width: 12px;
1163
+ margin: 1% 2% 0 0;
1164
+ }
1165
+
1166
+ .rightipt {
1167
+ width: 60%;
1168
+ float: left;
1169
+ margin-left: 5%;
1170
+ }
1171
+
1172
+ .righttxt {
1173
+ border: none;
1174
+ margin-left: 5px;
1175
+ /*border-left: 5px solid #A2C2EB;*/
1176
+ float: left;
1177
+ width: 25%;
1178
+ margin-bottom: 3px;
1179
+ text-align: left;
1180
+ word-wrap: break-word;
1181
+ white-space: normal;
1182
+ }
1183
+
1184
+ .tit1 {
1185
+ /*background: #ffffff url('../../../assets/用户姓名.png') no-repeat fixed center;*/
1186
+ background-image: url('../../../assets/用户姓名.png');
1187
+ background-repeat: no-repeat;
1188
+ background-position: center;
1189
+ }
1190
+
1191
+ .spanboder {
1192
+ border-bottom: 2px solid #499edf;
1193
+ padding-bottom: 8px
1194
+ }
1195
+
1196
+ #upuserinfo_sel /deep/ ul {
1197
+ width: 100% !important;
1198
+ left: 0 !important;
1199
+ }
1200
+
1201
+ .btn-photo {
1202
+ border: 0;
1203
+ border-radius: 7px;
1204
+ background-color: #7dc1f4;
1205
+ font: 15px PingFang-SC-Bold;
1206
+ height: 20%;
1207
+ }
1208
+
1209
+ .panel-self {
1210
+ border-radius: 10px;
1211
+ border: 1px solid #499EDF;
1212
+ background-color: #F8F8F8;
1213
+ }
1214
+
1215
+ .div-photo {
1216
+ width: auto;
1217
+ height: auto;
1218
+ /* margin-top: 10px; */
1219
+ position: absolute;
1220
+ bottom: 10px;
1221
+ right: 10px;
1222
+ }
1223
+ </style>
1224
+ <style lang="less">
1225
+ #upuserinfo_sel ul {
1226
+ width: 100% !important;
1227
+ left: 0 !important;
1228
+ }
1229
+ </style>