apply-clients 7.1.34 → 7.1.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/dist-android/static/0.50054aa998577d450157.js +2 -0
  2. package/dist-android/static/1.0b685d8dcbf4f3a8a5b2.js +1 -0
  3. package/dist-android/static/10.2a698c421c0ff5f57336.js +2 -0
  4. package/dist-android/static/11.75a39568e320abbddcc2.js +2 -0
  5. package/dist-android/static/12.4ac0c584da492acc599d.js +1 -0
  6. package/dist-android/static/13.5471bac3b39798923a79.js +1 -0
  7. package/dist-android/static/14.ee274728fdeb5107c357.js +1 -0
  8. package/dist-android/static/15.a1dc233c1804ede2ba87.js +1 -0
  9. package/dist-android/static/16.5081ea8a90d0dacbc748.js +1 -0
  10. package/dist-android/static/17.5b5184c9a9337a88d4f9.js +1 -0
  11. package/dist-android/static/18.0c99e5cb0de0f76008f6.js +1 -0
  12. package/dist-android/static/19.b50c8bf85b8e7fb27e2a.js +1 -0
  13. package/dist-android/static/2.16718caad0da13b463a3.js +1 -0
  14. package/dist-android/static/20.8f6767f58df1fde18784.js +1 -0
  15. package/dist-android/static/21.026f5cbfd90d70d8dd3a.js +1 -0
  16. package/dist-android/static/22.4631f8885615e9b6ad6e.js +1 -0
  17. package/dist-android/static/23.437b569f91863452daeb.js +1 -0
  18. package/dist-android/static/24.f1310985a29496bc5fd8.js +1 -0
  19. package/dist-android/static/25.b6dcf8c6d26f44035506.js +1 -0
  20. package/dist-android/static/27.2185c9e2e7116302e1e1.js +13 -0
  21. package/dist-android/static/28.b429eaf351968226c395.js +3 -0
  22. package/dist-android/static/29.aed6b18ccda9ca3748ce.js +3 -0
  23. package/dist-android/static/3.761de5413a2ed045ab10.js +1 -0
  24. package/dist-android/static/30.567f5fbffc0601227294.js +2 -0
  25. package/dist-android/static/31.179f87c71c11fd562feb.js +1 -0
  26. package/dist-android/static/32.8d45d3f6c5e874582cff.js +1 -0
  27. package/dist-android/static/33.32fd8d2f4e6e7b065a5c.js +1 -0
  28. package/dist-android/static/34.df47f9984baec20bdf5b.js +1 -0
  29. package/dist-android/static/35.5883200f073b546cb1a3.js +1 -0
  30. package/dist-android/static/36.477f89087e507526163f.js +1 -0
  31. package/dist-android/static/37.b82438692bca848519f6.js +1 -0
  32. package/dist-android/static/38.83c950bebdb997be2ef8.js +1 -0
  33. package/dist-android/static/39.333e42c6dbabf1bf2706.js +1 -0
  34. package/dist-android/static/4.eb190515d001a4e1bebd.js +13 -0
  35. package/dist-android/static/40.f6807724af2482375d7c.js +1 -0
  36. package/dist-android/static/41.92f39c44002772179f48.js +1 -0
  37. package/dist-android/static/42.662a0643f36dc759abc0.js +1 -0
  38. package/dist-android/static/43.5b55816aa2ca7b510d72.js +1 -0
  39. package/dist-android/static/44.4a6af5dd359e3973dea4.js +1 -0
  40. package/dist-android/static/45.d5992c604ad9eb4f40d2.js +1 -0
  41. package/dist-android/static/46.aa87912e9361ab053234.js +1 -0
  42. package/dist-android/static/47.b9efca55c1ea582c59e7.js +2 -0
  43. package/dist-android/static/48.8902ce91c715d61c63ef.js +1 -0
  44. package/dist-android/static/49.dd2591b071fe1901d2f2.js +2 -0
  45. package/dist-android/static/5.304b463f21c8253aa514.js +13 -0
  46. package/dist-android/static/50.e49f64d967a7f7350105.js +1 -0
  47. package/dist-android/static/51.0d311b6815373c5a3b1b.js +1 -0
  48. package/dist-android/static/52.344f9d59bb5cb156380d.js +1 -0
  49. package/dist-android/static/53.289984b9a04a7d11ffef.js +1 -0
  50. package/dist-android/static/54.5808cc57ddb689577efe.js +1 -0
  51. package/dist-android/static/55.9874aac28d0d80b55860.js +1 -0
  52. package/dist-android/static/56.babac04ffcc93c5573ed.js +1 -0
  53. package/dist-android/static/57.ca9993d9b0137ec93a81.js +1 -0
  54. package/dist-android/static/58.be8a5ac661eb638aff79.js +1 -0
  55. package/dist-android/static/59.2d0116e8a66e13cbabe2.js +1 -0
  56. package/dist-android/static/6.3f10426d99466042d079.js +13 -0
  57. package/dist-android/static/60.e60b562292633421a3d7.js +1 -0
  58. package/dist-android/static/61.492b25e8e1b66366329b.js +1 -0
  59. package/dist-android/static/62.24924f3f6fd5f97975d1.js +1 -0
  60. package/dist-android/static/63.7628250218be54b5c52f.js +1 -0
  61. package/dist-android/static/64.0c2d7593ebede3d30dc8.js +1 -0
  62. package/dist-android/static/65.220dfd6b1dd8e75c9d08.js +1 -0
  63. package/dist-android/static/66.da91b8ed2181ced4a4de.js +1 -0
  64. package/dist-android/static/67.75a3f13bea3c0ac4bbbe.js +1 -0
  65. package/dist-android/static/68.37aa2fd75666d1461dac.js +1 -0
  66. package/dist-android/static/69.e6a3e52929239e08b8d3.js +1 -0
  67. package/dist-android/static/7.57945431c1f505e425c1.js +13 -0
  68. package/dist-android/static/70.945cf028761bd66a2302.js +1 -0
  69. package/dist-android/static/71.0ae45dcfc105541b051d.js +1 -0
  70. package/dist-android/static/72.d89a35482e9c434d0bd0.js +1 -0
  71. package/dist-android/static/8.830a99f33590aeb637a3.js +13 -0
  72. package/dist-android/static/9.2432be88a7316649f45b.js +12 -0
  73. package/dist-android/static/appca71cf7af0c441a6b6ff.js +135 -0
  74. package/dist-android/static/doc.jpg +0 -0
  75. package/dist-android/static/images/lefticon//345/215/241/346/234/215/345/212/241/347/256/241/347/220/206.png +0 -0
  76. package/dist-android/static/images/lefticon//345/221/274/345/217/253/347/263/273/347/273/237.png +0 -0
  77. package/dist-android/static/images/lefticon//345/224/256/346/260/224/346/224/266/350/264/271.png +0 -0
  78. package/dist-android/static/images/lefticon//345/233/276/345/261/2023/346/213/267/350/264/2354.png +0 -0
  79. package/dist-android/static/images/lefticon//345/233/276/345/261/202577.png +0 -0
  80. package/dist-android/static/images/lefticon//345/233/276/345/261/2028/346/213/267/350/264/23513.png +0 -0
  81. package/dist-android/static/images/lefticon//345/256/211/346/243/200/346/237/245/347/234/213.png +0 -0
  82. package/dist-android/static/images/lefticon//345/256/211/346/243/200/350/256/241/345/210/222.png +0 -0
  83. package/dist-android/static/images/lefticon//345/276/256/344/277/241/346/234/215/345/212/241.png +0 -0
  84. package/dist-android/static/images/lefticon//346/212/245/345/273/272/347/263/273/347/273/237.png +0 -0
  85. package/dist-android/static/images/lefticon//346/212/245/350/241/250/346/237/245/350/257/242.png +0 -0
  86. package/dist-android/static/images/lefticon//346/227/245/345/270/270/347/256/241/347/220/206.png +0 -0
  87. package/dist-android/static/images/lefticon//346/234/272/350/241/250/347/256/241/347/220/206.png +0 -0
  88. package/dist-android/static/images/lefticon//346/237/245/350/257/242/345/210/227/350/241/250.png +0 -0
  89. package/dist-android/static/images/lefticon//346/241/243/346/241/210/347/256/241/347/220/206.png +0 -0
  90. package/dist-android/static/images/lefticon//347/211/251/350/201/224/347/275/221/350/241/250.png +0 -0
  91. package/dist-android/static/images/lefticon//347/263/273/347/273/237/347/256/241/347/220/206.png +0 -0
  92. package/dist-android/static/images/lefticon//347/263/273/347/273/237/350/256/276/347/275/256.png +0 -0
  93. package/dist-android/static/images/lefticon//347/273/217/350/220/245/347/256/241/346/216/247.png +0 -0
  94. package/dist-android/static/images/lefticon//347/273/274/345/220/210/344/270/232/345/212/241.png +0 -0
  95. package/dist-android/static/images/lefticon//347/273/274/345/220/210/346/237/245/350/257/242.png +0 -0
  96. package/dist-android/static/images/lefticon//350/217/234/345/215/225/344/274/270/347/274/251.png +0 -0
  97. package/dist-android/static/images/lefticon//351/200/200/345/207/272/347/263/273/347/273/237.png +0 -0
  98. package/dist-android/static/imgerror.jpg +0 -0
  99. package/dist-android/static/jsoneditor-icons.svg +893 -0
  100. package/dist-android/static/newStyle/clear.png +0 -0
  101. package/dist-android/static/newStyle/fife.png +0 -0
  102. package/dist-android/static/newStyle/hidden.png +0 -0
  103. package/dist-android/static/newStyle/label-clear.png +0 -0
  104. package/dist-android/static/newStyle/left-img.png +0 -0
  105. package/dist-android/static/newStyle/list_ok.png +0 -0
  106. package/dist-android/static/newStyle/login-check.png +0 -0
  107. package/dist-android/static/newStyle/login-con.png +0 -0
  108. package/dist-android/static/newStyle/login-do.gif +0 -0
  109. package/dist-android/static/newStyle/login-f.png +0 -0
  110. package/dist-android/static/newStyle/login-info.png +0 -0
  111. package/dist-android/static/newStyle/login-left.png +0 -0
  112. package/dist-android/static/newStyle/login-org.png +0 -0
  113. package/dist-android/static/newStyle/login-pwd.png +0 -0
  114. package/dist-android/static/newStyle/login-user.png +0 -0
  115. package/dist-android/static/newStyle/loginbg.gif +0 -0
  116. package/dist-android/static/newStyle/loginbg1280.gif +0 -0
  117. package/dist-android/static/newStyle/loginbg1366.gif +0 -0
  118. package/dist-android/static/newStyle/setting.png +0 -0
  119. package/dist-android/static/newStyle/setting1.png +0 -0
  120. package/dist-android/static/newStyle/shirk.png +0 -0
  121. package/dist-android/static/newStyle/stretch_bottom.png +0 -0
  122. package/dist-android/static/newStyle/stretch_left.png +0 -0
  123. package/dist-android/static/newStyle/stretch_right.png +0 -0
  124. package/dist-android/static/newStyle/stretch_top.png +0 -0
  125. package/dist-android/static/newStyle/system-off.png +0 -0
  126. package/dist-android/static/pdf.jpg +0 -0
  127. package/dist-android/static//344/270/213/350/275/275/350/256/241/345/210/222.png +0 -0
  128. package/dist-android/static//344/273/273/345/212/241/346/237/245/350/257/242.png +0 -0
  129. package/dist-android/static//344/277/241/346/201/257/345/205/254/345/221/212.png +0 -0
  130. package/dist-android/static//345/205/254/345/221/212/346/237/245/347/234/213.png +0 -0
  131. package/dist-android/static//345/206/214/345/206/205/351/241/272/345/272/217/344/277/256/346/224/271.png +0 -0
  132. package/dist-android/static//345/215/241/350/241/250/345/234/250/347/272/277/346/212/204/350/241/250.png +0 -0
  133. package/dist-android/static//345/234/250/347/272/277/345/256/211/346/243/200.png +0 -0
  134. package/dist-android/static//345/234/250/347/272/277/345/267/241/346/243/200.png +0 -0
  135. package/dist-android/static//345/234/250/347/272/277/346/212/204/350/241/250.png +0 -0
  136. package/dist-android/static//345/234/250/347/272/277/346/212/242/344/277/256.png +0 -0
  137. package/dist-android/static//345/234/250/347/272/277/346/212/245/350/243/205.png +0 -0
  138. package/dist-android/static//345/234/250/347/272/277/346/223/215/344/275/234.png +0 -0
  139. package/dist-android/static//345/234/250/347/272/277/347/273/264/344/277/256.png +0 -0
  140. package/dist-android/static//345/234/250/347/272/277/347/274/264/350/264/271.png +0 -0
  141. package/dist-android/static//345/234/250/347/272/277/351/200/232/346/260/224.png +0 -0
  142. package/dist-android/static//345/256/211/346/243/200/345/267/262/345/212/236.png +0 -0
  143. package/dist-android/static//345/256/211/346/243/200/345/276/205/345/212/236.png +0 -0
  144. package/dist-android/static//345/256/211/346/243/200/346/212/275/345/215/225.png +0 -0
  145. package/dist-android/static//345/256/211/350/243/205/344/270/212/344/274/240.png +0 -0
  146. package/dist-android/static//345/256/211/350/243/205/345/267/262/345/212/236.png +0 -0
  147. package/dist-android/static//345/256/211/350/243/205/345/276/205/345/212/236.png +0 -0
  148. package/dist-android/static//345/267/241/346/243/200/344/270/212/344/274/240.png +0 -0
  149. package/dist-android/static//345/267/241/346/243/200/345/267/262/345/212/236.png +0 -0
  150. package/dist-android/static//345/274/200/345/205/263/351/230/200.png +0 -0
  151. package/dist-android/static//345/275/242/347/212/2664.png +0 -0
  152. package/dist-android/static//346/211/271/351/207/217/346/212/204/350/241/250.png +0 -0
  153. package/dist-android/static//346/212/204/350/241/250/344/270/212/344/274/240.png +0 -0
  154. package/dist-android/static//346/212/204/350/241/250/345/267/262/345/212/236.png +0 -0
  155. package/dist-android/static//346/212/204/350/241/250/345/276/205/345/212/236.png +0 -0
  156. package/dist-android/static//346/212/204/350/241/250/350/256/260/345/275/225.png +0 -0
  157. package/dist-android/static//346/212/245/345/273/272/346/234/215/345/212/241.png +0 -0
  158. package/dist-android/static//346/224/266/350/264/271/346/261/207/346/200/273/350/241/250.png +0 -0
  159. package/dist-android/static//346/224/266/350/264/271/350/256/260/345/275/225.png +0 -0
  160. package/dist-android/static//346/227/245/346/212/245/346/237/245/350/257/242.png +0 -0
  161. package/dist-android/static//346/241/243/346/241/210/344/277/256/346/224/271.png +0 -0
  162. package/dist-android/static//346/265/201/347/250/213/344/270/232/345/212/241.png +0 -0
  163. package/dist-android/static//346/265/201/347/250/213/347/233/221/346/216/247.png +0 -0
  164. package/dist-android/static//347/247/273/345/212/250/346/212/204/350/241/250.png +0 -0
  165. package/dist-android/static//347/247/273/345/212/250/346/212/204/350/241/250/345/267/262/345/212/236.png +0 -0
  166. package/dist-android/static//347/273/237/350/256/241/346/212/245/350/241/250.png +0 -0
  167. package/dist-android/static//347/273/264/344/277/256/346/264/276/345/217/221.png +0 -0
  168. package/dist-android/static//350/220/245/344/270/232/345/233/276/350/241/250.png +0 -0
  169. package/dist-android/static//350/241/250/345/206/214/351/241/272/345/272/217.png +0 -0
  170. package/dist-android/static//350/260/203/344/273/267/350/241/245/345/267/256/347/274/264/350/264/271.png +0 -0
  171. package/dist-android/static//350/277/233/345/272/246/345/210/227/350/241/250.png +0 -0
  172. package/dist-android/static//351/200/200/345/207/272/347/231/273/345/275/225.png +0 -0
  173. package/dist-android/static//351/200/201/346/260/224/344/270/212/344/274/240.png +0 -0
  174. package/dist-android/static//351/200/201/346/260/224/345/267/262/345/212/236.png +0 -0
  175. package/dist-android/static//351/200/201/346/260/224/345/276/205/345/212/236.png +0 -0
  176. package/dist-android/static//351/232/220/346/202/243/345/244/204/347/220/206.png +0 -0
  177. package/dist-android/static//351/233/206/344/270/255/345/256/211/346/243/200.png +0 -0
  178. package/dist-android/static//351/253/230/345/257/206/345/205/254/345/221/212.png +0 -0
  179. package/index.html +30 -30
  180. package/package.json +1 -1
  181. package/src/apply.js +69 -69
  182. package/src/components/image/TXT.png +0 -0
  183. package/src/components/image/dwg.png +0 -0
  184. package/src/components/image/dxf.png +0 -0
  185. package/src/components/product/Function/InstallFunction.vue +1 -1
  186. package/src/components/product/Function/InstallInfoSelect.vue +281 -281
  187. package/src/components/product/Process/ExplorationSelect.vue +347 -347
  188. package/src/components/product/Process/ExplorationUser.vue +1 -1
  189. package/src/components/product/Process/Processes/InstallationDetails.vue +45 -9
  190. package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +261 -249
  191. package/src/components/product/Process/Processes/chargeManagement.vue +562 -562
  192. package/src/components/product/Process/Service/ServiceControl.vue +46 -154
  193. package/src/components/product/ReportForm/GasIgnitionSummary.vue +352 -352
  194. package/src/components/product/ServiceView.vue +755 -755
  195. package/src/components/product/Supervisory/SupervisoryControl.vue +1 -1
  196. package/src/components/product/Supervisory/SupervisoryList.vue +208 -208
  197. package/src/components/product/Supervisory/SupervisoryhCart.vue +103 -103
  198. package/src/components/product/VueUtils/ApplyUpload.vue +266 -261
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="flex-row">
3
- <div class="basic-main">
3
+ <div class="basic-main" style="overflow: auto;width: 100%">
4
4
  <div :class="showData ? 'top' : 'auto'" v-show="showQuery">
5
5
  <exploration-select v-ref:query :show-data="showData"></exploration-select>
6
6
  </div>
@@ -134,7 +134,17 @@
134
134
  :readonly="false"/>
135
135
  </div>
136
136
  </div>
137
- <div class="form-group col-sm-6">
137
+ <div class="form-group col-sm-6" v-if="$parent.$parent.selectdata.defname === '点火通气'" :class="item.f_metertitles ? '':'has-error'">
138
+ <label class="col-sm-4 control-label">表封号:</label>
139
+ <div class="col-sm-8">
140
+ <input class="form-control input_view" style=""
141
+ placeholder="表封号"
142
+ v-model="item.f_metertitles"
143
+ :value="item.f_metertitles"
144
+ :readonly="false"/>
145
+ </div>
146
+ </div>
147
+ <div class="form-group col-sm-6" v-if="$parent.$parent.selectdata.defname !== '点火通气'">
138
148
  <label class="col-sm-4 control-label">表封号:</label>
139
149
  <div class="col-sm-8">
140
150
  <input class="form-control input_view" style=""
@@ -166,7 +176,7 @@
166
176
  :readonly="false"/>
167
177
  </div>
168
178
  </div>
169
- <div class="form-group col-sm-6">
179
+ <div class="form-group col-sm-6" :class="item.f_aroundmeter ? '':'has-error'">
170
180
  <label class="col-sm-4 control-label">表向:</label>
171
181
  <div class="col-sm-8">
172
182
  <input-select
@@ -188,6 +198,16 @@
188
198
  :valueSingle="true"></input-select>
189
199
  </div>
190
200
  </div>
201
+ <div class="form-group col-sm-6" :class="$parent.$parent.userinfo.f_room ? '':'has-error'" v-if="$parent.$parent.selectdata.defname === '点火通气'">
202
+ <label class="col-sm-4 control-label">门牌号:</label>
203
+ <div class="col-sm-8">
204
+ <input class="form-control input_view" style=""
205
+ placeholder="门牌号"
206
+ v-model="$parent.$parent.userinfo.f_room"
207
+ :value="$parent.$parent.userinfo.f_room"
208
+ :readonly="false"/>
209
+ </div>
210
+ </div>
191
211
  <div class="form-group col-sm-6">
192
212
  <label class="col-sm-4 control-label">安装人:</label>
193
213
  <div class="col-sm-8">
@@ -276,6 +296,20 @@ export default {
276
296
  this.$showAlert(`表具${i+1}表号没有填写!!!`, 'warning', 3000)
277
297
  return
278
298
  }
299
+ if (userfile.f_aroundmeter === null || userfile.f_aroundmeter === '') {
300
+ this.$showAlert(`表具${i+1}表向没有填写!!!`, 'warning', 3000)
301
+ return
302
+ }
303
+ if (this.selectdata.defname === '通气下发'){
304
+ if (userfile.f_metertitles === null || userfile.f_metertitles === '') {
305
+ this.$showAlert(`表具${i+1}表封号没有填写!!!`, 'warning', 3000)
306
+ return
307
+ }
308
+ if (this.userinfo.f_room === null || this.userinfo.f_room === '') {
309
+ this.$showAlert(`表具${i+1}门牌号没有填写!!!`, 'warning', 3000)
310
+ return
311
+ }
312
+ }
279
313
  }
280
314
  let data = {
281
315
  user: this.$login.f,
@@ -352,16 +386,18 @@ export default {
352
386
  this.userinfo = res.data
353
387
 
354
388
  // 已有表具的 气表信息补充
355
- for (const userfile of this.userinfo.userfiles) {
389
+ for (let i = 0; i < this.userinfo.userfiles.length; i++) {
356
390
  for (const item of this.meterbrands) {
357
- if (item.value.id === userfile.f_gasbrand_id) {
358
- userfile.gasbrand = item.value
391
+ if (item.value.id === this.userinfo.userfiles[i].f_gasbrand_id) {
392
+ // this.userinfo.userfiles[i].gasbrand = item.value // 防止双向绑定失败
393
+ Vue.set(this.userinfo.userfiles[i], 'gasbrand', item.value)
359
394
  }
360
395
  }
361
- if (userfile.gasbrand) {
362
- for (const item of userfile.gasbrand.gasmodel) {
363
- if (item.value.id === userfile.f_gasmodel_id) {
364
- userfile.gasmodel = item.value
396
+ if (this.userinfo.userfiles[i].gasbrand) {
397
+ for (const item of this.userinfo.userfiles[i].gasbrand.gasmodel) {
398
+ if (item.value.id === this.userinfo.userfiles[i].f_gasmodel_id) {
399
+ // this.userinfo.userfiles[i].gasmodel = item.value
400
+ Vue.set(this.userinfo.userfiles[i], 'gasmodel', item.value)
365
401
  }
366
402
  }
367
403
  }
@@ -1,249 +1,261 @@
1
- <template>
2
- <div class="col-sm-12" style="margin: 20px 0px;">
3
- <data-grid :model="model" v-ref:grid class="list_area table_sy" style="padding: 0px">
4
- <template partial='head'>
5
- <tr>
6
- <th class="textNoLineBreak">序号</th>
7
- <th class="textNoLineBreak">区/县</th>
8
- <th class="textNoLineBreak">片区</th>
9
- <th class="textNoLineBreak">街道</th>
10
- <th class="textNoLineBreak">小区</th>
11
- <th class="textNoLineBreak">详细地址</th>
12
- <th class="textNoLineBreak">用户状态</th>
13
- <th class="textNoLineBreak">客户编号</th>
14
- <th class="textNoLineBreak">用户姓名</th>
15
- <th class="textNoLineBreak">电话</th>
16
- <th class="textNoLineBreak">证件类型</th>
17
- <th class="textNoLineBreak">证件号码</th>
18
- <th class="textNoLineBreak">时间</th>
19
- <th class="textNoLineBreak">
20
- <button type="button" class="btn btn-info head-but"
21
- @click="$parent.$parent.showFileModal()">导入</button>
22
- <a type="button" class="btn btn-info head-but"
23
- href="/applyinstall/Excel/v3报装地址批量导入.xlsx" download>模板下载</a>
24
- </th>
25
- </tr>
26
- </template>
27
- <template partial='body'>
28
- <tr>
29
- <td style="text-align: center;">
30
- <nobr>{{$index+1}}</nobr>
31
- </td>
32
- <td style="text-align: center;">
33
- <nobr>{{row.f_area}}</nobr>
34
- </td>
35
- <td style="text-align: center;">
36
- <nobr>{{row.f_slice_area}}</nobr>
37
- </td>
38
- <td style="text-align: center;">
39
- <nobr>{{row.f_street}}</nobr>
40
- </td>
41
- <td style="text-align: center;">
42
- <nobr>{{row.f_residential_area}}</nobr>
43
- </td>
44
- <td style="text-align: center;">
45
- <nobr>{{row.f_address}}</nobr>
46
- </td>
47
- <td style="text-align: center;">
48
- <nobr>{{row.f_user_state}}</nobr>
49
- </td>
50
- <td style="text-align: center;">
51
- <nobr>{{row.f_userinfo_code}}</nobr>
52
- </td>
53
- <td style="text-align: center;">
54
- <nobr>{{row.f_user_name}}</nobr>
55
- </td>
56
- <td style="text-align: center;">
57
- <nobr>{{row.f_user_phone}}</nobr>
58
- </td>
59
- <td style="text-align: center;">
60
- <nobr>{{row.f_credentials}}</nobr>
61
- </td>
62
- <td style="text-align: center;">
63
- <nobr>{{row.f_idnumber}}</nobr>
64
- </td>
65
- <td style="text-align: center;">
66
- <nobr>{{row.f_createfile_date}}</nobr>
67
- </td>
68
- <td style="text-align: center;">
69
- <nobr>
70
- <button
71
- type="button"
72
- name="button"
73
- class="btn btn-link"
74
- @click="$parent.$parent.updateState(row.f_userinfo_id,0)"
75
- >操作</button>
76
- <button
77
- type="button"
78
- name="button"
79
- class="btn btn-link"
80
- @click="$parent.$parent.updateState(row.f_userinfo_id,1)"
81
- >撤销</button>
82
- </nobr>
83
- </td>
84
- </tr>
85
- </template>
86
- </data-grid>
87
- </div>
88
- <modal :show.sync="showFile" v-ref:modal backdrop="true" title="选择文件">
89
- <header slot="modal-header" class="modal-header">
90
- <button type="button" class="close" @click="closeFile"><span>&times;</span></button>
91
- <h4 class="modal-title">选择文件</h4>
92
- </header>
93
- <article slot="modal-body" class="modal-body">
94
- <div class="form-group">
95
- <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
96
- </div>
97
- </article>
98
- <footer slot="modal-footer" class="modal-footer"></footer>
99
- </modal>
100
-
101
- </template>
102
- <script>
103
- import {PagedList} from 'vue-client'
104
- import {HttpResetClass} from 'vue-client'
105
-
106
- export default {
107
- title: '地址管理',
108
- props: {
109
- selectdata: {
110
- type: Object
111
- },
112
- mark: {
113
- type: Number,
114
- default: 0 // 0:正常 1:禁用 2:追加用户
115
- }
116
- },
117
- data () {
118
- return {
119
- showFile: false,
120
- model: {
121
- data: null
122
- }
123
- }
124
- },
125
- ready () {
126
- this.search()
127
- },
128
- methods: {
129
- showFileModal() {
130
- for (let i = 0; i < this.selectdata.fields.length; i++) {
131
- let item = this.selectdata.fields[i]
132
- if (item.label === '街道' && !item.value) {
133
- this.$showAlert('街道地址不能为空!!!', 'warning', 3000)
134
- return
135
- }
136
- // if (item.label === '小区' && !item.value) {
137
- // this.$showAlert('小区不能为空!!!', 'warning', 3000)
138
- // return
139
- // }
140
- }
141
- this.showFile = !this.showFile
142
- },
143
- async search () {
144
- let http = new HttpResetClass()
145
- let data = {
146
- condition: " 1=1",
147
- f_filialeid: this.$login.f.f_orgids,
148
- f_process_id: this.selectdata.f_process_id
149
- }
150
- let res = await http.load('POST', 'rs/sql/getAddressAanUserinfo', {data:data}, {
151
- resolveMsg: null,
152
- rejectMsg: null
153
- })
154
- this.model.data = res.data
155
- for (let i = 0; i < this.selectdata.fields.length; i++) {
156
- if (this.selectdata.fields[i].label === '户数') {
157
- this.selectdata.fields[i].value = res.data.length
158
- }
159
- }
160
- },
161
- // 关闭文件上传对话框
162
- closeFile() {
163
- this.showFile = false
164
- // 将选的文件清空
165
- this.$refs.file.$el.querySelector('input').value = ''
166
- this.search()
167
- },
168
- updateState(f_userinfo_id,num) {
169
- let http = new HttpResetClass()
170
- let data = {
171
- f_userinfo_id: f_userinfo_id,
172
- num: num
173
- }
174
- if (num == 0) {
175
- this.$showMessage('确定要修改用户状态为不符合吗!!!', ['confirm']).then(async (res) => {
176
- if (res === 'confirm') {
177
- let res = await http.load('POST', 'rs/logic/updateUserinfoState', {data:data}, {
178
- resolveMsg: null,
179
- rejectMsg: null
180
- })
181
-
182
- this.$showMessage("修改成功!")
183
- this.search()
184
-
185
- }
186
- })
187
- }else {
188
- this.$showMessage('确定要撤销用户状态为正常吗!!!', ['confirm']).then(async (res) => {
189
- if (res === 'confirm') {
190
- let res = await http.load('POST', 'rs/logic/updateUserinfoState', {data:data}, {
191
- resolveMsg: null,
192
- rejectMsg: null
193
- })
194
-
195
- this.$showMessage("修改成功!")
196
- this.search()
197
-
198
- }
199
- })
200
- }
201
-
202
-
203
- }
204
- },
205
- events: {
206
- async 'onFileUpload'(file, result) {
207
- let data = {
208
- selectdata: this.selectdata,
209
- filepath: result.f_downloadpath,
210
- user: this.$login.f,
211
- mark: this.mark
212
- }
213
- let res = await this.$resetpost(`rs/logic/importAddressAndUserinfo`, {data:data}, {resolveMsg: null, rejectMsg: '导入失败', silent: true}, 0)
214
-
215
- if(res.data){
216
- let mm = '';
217
- for(var i=0;i<res.data.msg.length;i++){
218
- mm+=`${res.data.msg[i].msg}` + " "
219
- }
220
- let msg = `共导入${res.data.alllength}条,失败${res.data.errorlen}条,失败信息:${mm}`
221
- this.$showMessage(msg)
222
- }else {
223
- this.$showAlert('导入出错,请检查导入文件模板格式!','danger',2000);
224
- }
225
- if (this.mark !== 0) {
226
- this.$dispatch('breakControl', this.selectdata)
227
- }
228
- this.closeFile()
229
- }
230
- },
231
- computed: {
232
- },
233
- watch: {
234
- }
235
- }
236
- </script>
237
- <style scoped>
238
- .textNoLineBreak {
239
- white-space: nowrap;
240
- }
241
- .head-but{
242
- margin-left: 5px;
243
- height: 34px;
244
- /*background-color: #6aa6e2;*/
245
- border-radius: 4px;
246
- font-family: PingFang;
247
- color: #ffffff;
248
- }
249
- </style>
1
+ <template>
2
+ <div class="col-sm-12" style="margin: 20px 0px;">
3
+ <data-grid :model="model" v-ref:grid class="list_area table_sy" style="padding: 0px">
4
+ <template partial='head'>
5
+ <tr>
6
+ <th class="textNoLineBreak">序号</th>
7
+ <th class="textNoLineBreak">区/县</th>
8
+ <th class="textNoLineBreak">片区</th>
9
+ <th class="textNoLineBreak">街道</th>
10
+ <th class="textNoLineBreak">小区</th>
11
+ <th class="textNoLineBreak">详细地址</th>
12
+ <th class="textNoLineBreak">用户状态</th>
13
+ <th class="textNoLineBreak">客户编号</th>
14
+ <th class="textNoLineBreak">用户姓名</th>
15
+ <th class="textNoLineBreak">电话</th>
16
+ <th class="textNoLineBreak">证件类型</th>
17
+ <th class="textNoLineBreak">证件号码</th>
18
+ <th class="textNoLineBreak">时间</th>
19
+ <th class="textNoLineBreak">
20
+ <button type="button" class="btn btn-info head-but"
21
+ @click="$parent.$parent.showFileModal()">导入</button>
22
+ <a type="button" class="btn btn-info head-but"
23
+ href="/applyinstall/Excel/v3报装地址批量导入.xlsx" download>模板下载</a>
24
+ </th>
25
+ </tr>
26
+ </template>
27
+ <template partial='body'>
28
+ <tr>
29
+ <td style="text-align: center;">
30
+ <nobr>{{$index+1}}</nobr>
31
+ </td>
32
+ <td style="text-align: center;">
33
+ <nobr>{{row.f_area}}</nobr>
34
+ </td>
35
+ <td style="text-align: center;">
36
+ <nobr>{{row.f_slice_area}}</nobr>
37
+ </td>
38
+ <td style="text-align: center;">
39
+ <nobr>{{row.f_street}}</nobr>
40
+ </td>
41
+ <td style="text-align: center;">
42
+ <nobr>{{row.f_residential_area}}</nobr>
43
+ </td>
44
+ <td style="text-align: center;">
45
+ <nobr>{{row.f_address}}</nobr>
46
+ </td>
47
+ <td style="text-align: center;">
48
+ <nobr>{{row.f_user_state}}</nobr>
49
+ </td>
50
+ <td style="text-align: center;">
51
+ <nobr>{{row.f_userinfo_code}}</nobr>
52
+ </td>
53
+ <td style="text-align: center;">
54
+ <nobr>{{row.f_user_name}}</nobr>
55
+ </td>
56
+ <td style="text-align: center;">
57
+ <nobr>{{row.f_user_phone}}</nobr>
58
+ </td>
59
+ <td style="text-align: center;">
60
+ <nobr>{{row.f_credentials}}</nobr>
61
+ </td>
62
+ <td style="text-align: center;">
63
+ <nobr>{{row.f_idnumber}}</nobr>
64
+ </td>
65
+ <td style="text-align: center;">
66
+ <nobr>{{row.f_createfile_date}}</nobr>
67
+ </td>
68
+ <td style="text-align: center;">
69
+ <nobr>
70
+ <button
71
+ type="button"
72
+ name="button"
73
+ class="btn btn-link"
74
+ @click="$parent.$parent.updateState(row.f_userinfo_id,0)"
75
+ >操作</button>
76
+ <button
77
+ type="button"
78
+ name="button"
79
+ class="btn btn-link"
80
+ @click="$parent.$parent.updateState(row.f_userinfo_id,1)"
81
+ >撤销</button>
82
+ </nobr>
83
+ </td>
84
+ </tr>
85
+ </template>
86
+ </data-grid>
87
+ </div>
88
+ <modal :show.sync="showFile" v-ref:modal backdrop="true" title="选择文件">
89
+ <header slot="modal-header" class="modal-header">
90
+ <button type="button" class="close" @click="closeFile"><span>&times;</span></button>
91
+ <h4 class="modal-title">选择文件</h4>
92
+ </header>
93
+ <article slot="modal-body" class="modal-body">
94
+ <div class="form-group">
95
+ <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
96
+ </div>
97
+ </article>
98
+ <footer slot="modal-footer" class="modal-footer"></footer>
99
+ </modal>
100
+
101
+ </template>
102
+ <script>
103
+ import {PagedList} from 'vue-client'
104
+ import {HttpResetClass} from 'vue-client'
105
+
106
+ export default {
107
+ title: '地址管理',
108
+ props: {
109
+ selectdata: {
110
+ type: Object
111
+ },
112
+ mark: {
113
+ type: Number,
114
+ default: 0 // 0:正常 1:禁用 2:追加用户
115
+ }
116
+ },
117
+ data () {
118
+ return {
119
+ showFile: false,
120
+ model: {
121
+ data: null
122
+ }
123
+ }
124
+ },
125
+ ready () {
126
+ this.search()
127
+ },
128
+ methods: {
129
+ async queryUserPrice() {
130
+ let http = new HttpResetClass()
131
+ let data = {
132
+ condition: "f_process_id = '" + this.selectdata.f_process_id + "'",
133
+ tablename: "t_one_price"
134
+ }
135
+ let res = await http.load('POST', 'rs/sql/apply_singleTable', {data:data}, {
136
+ resolveMsg: null,
137
+ rejectMsg: null
138
+ })
139
+ this.model.data = res.data
140
+ },
141
+ showFileModal() {
142
+ for (let i = 0; i < this.selectdata.fields.length; i++) {
143
+ let item = this.selectdata.fields[i]
144
+ if (item.label === '街道' && !item.value) {
145
+ this.$showAlert('街道地址不能为空!!!', 'warning', 3000)
146
+ return
147
+ }
148
+ // if (item.label === '小区' && !item.value) {
149
+ // this.$showAlert('小区不能为空!!!', 'warning', 3000)
150
+ // return
151
+ // }
152
+ }
153
+ this.showFile = !this.showFile
154
+ },
155
+ async search () {
156
+ let http = new HttpResetClass()
157
+ let data = {
158
+ condition: " 1=1",
159
+ f_filialeid: this.$login.f.f_orgids,
160
+ f_process_id: this.selectdata.f_process_id
161
+ }
162
+ let res = await http.load('POST', 'rs/sql/getAddressAanUserinfo', {data:data}, {
163
+ resolveMsg: null,
164
+ rejectMsg: null
165
+ })
166
+ this.model.data = res.data
167
+ for (let i = 0; i < this.selectdata.fields.length; i++) {
168
+ if (this.selectdata.fields[i].label === '户数') {
169
+ this.selectdata.fields[i].value = res.data.length
170
+ }
171
+ }
172
+ },
173
+ // 关闭文件上传对话框
174
+ closeFile() {
175
+ this.showFile = false
176
+ // 将选的文件清空
177
+ this.$refs.file.$el.querySelector('input').value = ''
178
+ this.search()
179
+ },
180
+ updateState(f_userinfo_id,num) {
181
+ let http = new HttpResetClass()
182
+ let data = {
183
+ f_userinfo_id: f_userinfo_id,
184
+ num: num
185
+ }
186
+ if (num == 0) {
187
+ this.$showMessage('确定要修改用户状态为不符合吗!!!', ['confirm']).then(async (res) => {
188
+ if (res === 'confirm') {
189
+ let res = await http.load('POST', 'rs/logic/updateUserinfoState', {data:data}, {
190
+ resolveMsg: null,
191
+ rejectMsg: null
192
+ })
193
+
194
+ this.$showMessage("修改成功!")
195
+ this.search()
196
+
197
+ }
198
+ })
199
+ }else {
200
+ this.$showMessage('确定要撤销用户状态为正常吗!!!', ['confirm']).then(async (res) => {
201
+ if (res === 'confirm') {
202
+ let res = await http.load('POST', 'rs/logic/updateUserinfoState', {data:data}, {
203
+ resolveMsg: null,
204
+ rejectMsg: null
205
+ })
206
+
207
+ this.$showMessage("修改成功!")
208
+ this.search()
209
+
210
+ }
211
+ })
212
+ }
213
+
214
+
215
+ }
216
+ },
217
+ events: {
218
+ async 'onFileUpload'(file, result) {
219
+ let data = {
220
+ selectdata: this.selectdata,
221
+ filepath: result.f_downloadpath,
222
+ user: this.$login.f,
223
+ mark: this.mark
224
+ }
225
+ let res = await this.$resetpost(`rs/logic/importAddressAndUserinfo`, {data:data}, {resolveMsg: null, rejectMsg: '导入失败', silent: true}, 0)
226
+
227
+ if(res.data){
228
+ let mm = '';
229
+ for(var i=0;i<res.data.msg.length;i++){
230
+ mm+=`${res.data.msg[i].msg}` + " "
231
+ }
232
+ let msg = `共导入${res.data.alllength}条,失败${res.data.errorlen}条,失败信息:${mm}`
233
+ this.$showMessage(msg)
234
+ }else {
235
+ this.$showAlert('导入出错,请检查导入文件模板格式!','danger',2000);
236
+ }
237
+ if (this.mark !== 0) {
238
+ this.$dispatch('breakControl', this.selectdata)
239
+ }
240
+ this.closeFile()
241
+ }
242
+ },
243
+ computed: {
244
+ },
245
+ watch: {
246
+ }
247
+ }
248
+ </script>
249
+ <style scoped>
250
+ .textNoLineBreak {
251
+ white-space: nowrap;
252
+ }
253
+ .head-but{
254
+ margin-left: 5px;
255
+ height: 34px;
256
+ /*background-color: #6aa6e2;*/
257
+ border-radius: 4px;
258
+ font-family: PingFang;
259
+ color: #ffffff;
260
+ }
261
+ </style>