safecheck-client 3.0.35-4 → 3.0.35-6

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