safecheck-client 3.0.33-99 → 3.0.34-1

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