apply-clients 7.1.35 → 7.1.36-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. package/.eslintrc.js +5 -1
  2. package/android.html +9 -0
  3. package/build/css-loaders.js +34 -0
  4. package/build/dev-client.js +8 -0
  5. package/build/dev-server.js +166 -0
  6. package/build/example-server.js +80 -0
  7. package/build/release.sh +28 -0
  8. package/build/utils.js +80 -0
  9. package/build/webpack.base.conf.js +123 -0
  10. package/build/webpack.baseandroid.conf.js +123 -0
  11. package/build/webpack.dev.conf.js +43 -0
  12. package/build/webpack.devandroid.conf.js +34 -0
  13. package/build/webpack.example.conf.js +49 -0
  14. package/build/webpack.prod.conf.js +60 -0
  15. package/build/webpack.prodandroid.conf.js +60 -0
  16. package/dist-android.7z +0 -0
  17. package/dist.7z +0 -0
  18. package/index.html +10 -1
  19. package/package.json +14 -8
  20. package/src/AndroidApp.vue +21 -14
  21. package/src/App.vue +4 -6
  22. package/{dist-android/static → src/android-bootstrap/fonts}/glyphicons-halflings-regular.eot +0 -0
  23. package/{dist-android/static → src/android-bootstrap/fonts}/glyphicons-halflings-regular.svg +0 -0
  24. package/{dist-android/static → src/android-bootstrap/fonts}/glyphicons-halflings-regular.ttf +0 -0
  25. package/{dist-android/static → src/android-bootstrap/fonts}/glyphicons-halflings-regular.woff +0 -0
  26. package/{dist-android/static → src/android-bootstrap/fonts}/glyphicons-halflings-regular.woff2 +0 -0
  27. package/src/android-bootstrap/less/.csscomb.json +304 -0
  28. package/src/android-bootstrap/less/.csslintrc +19 -0
  29. package/src/android-bootstrap/less/alerts.less +73 -0
  30. package/src/android-bootstrap/less/badges.less +66 -0
  31. package/src/android-bootstrap/less/bootstrap.less +56 -0
  32. package/src/android-bootstrap/less/breadcrumbs.less +26 -0
  33. package/src/android-bootstrap/less/button-groups.less +247 -0
  34. package/src/android-bootstrap/less/buttons.less +173 -0
  35. package/src/android-bootstrap/less/carousel.less +269 -0
  36. package/src/android-bootstrap/less/close.less +34 -0
  37. package/src/android-bootstrap/less/code.less +69 -0
  38. package/src/android-bootstrap/less/component-animations.less +33 -0
  39. package/src/android-bootstrap/less/dropdowns.less +216 -0
  40. package/src/android-bootstrap/less/forms.less +626 -0
  41. package/src/android-bootstrap/less/glyphicons.less +305 -0
  42. package/src/android-bootstrap/less/grid.less +84 -0
  43. package/src/android-bootstrap/less/input-groups.less +167 -0
  44. package/src/android-bootstrap/less/jumbotron.less +52 -0
  45. package/src/android-bootstrap/less/labels.less +64 -0
  46. package/src/android-bootstrap/less/list-group.less +141 -0
  47. package/src/android-bootstrap/less/media.less +66 -0
  48. package/src/android-bootstrap/less/mixins/alerts.less +14 -0
  49. package/src/android-bootstrap/less/mixins/background-variant.less +9 -0
  50. package/src/android-bootstrap/less/mixins/border-radius.less +18 -0
  51. package/src/android-bootstrap/less/mixins/buttons.less +69 -0
  52. package/src/android-bootstrap/less/mixins/center-block.less +7 -0
  53. package/src/android-bootstrap/less/mixins/clearfix.less +22 -0
  54. package/src/android-bootstrap/less/mixins/forms.less +90 -0
  55. package/src/android-bootstrap/less/mixins/gradients.less +59 -0
  56. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -0
  57. package/src/android-bootstrap/less/mixins/grid.less +122 -0
  58. package/src/android-bootstrap/less/mixins/hide-text.less +21 -0
  59. package/src/android-bootstrap/less/mixins/image.less +33 -0
  60. package/src/android-bootstrap/less/mixins/labels.less +12 -0
  61. package/src/android-bootstrap/less/mixins/list-group.less +30 -0
  62. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -0
  63. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -0
  64. package/src/android-bootstrap/less/mixins/opacity.less +8 -0
  65. package/src/android-bootstrap/less/mixins/pagination.less +24 -0
  66. package/src/android-bootstrap/less/mixins/panels.less +24 -0
  67. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -0
  68. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -0
  69. package/src/android-bootstrap/less/mixins/reset-text.less +18 -0
  70. package/src/android-bootstrap/less/mixins/resize.less +6 -0
  71. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -0
  72. package/src/android-bootstrap/less/mixins/size.less +10 -0
  73. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -0
  74. package/src/android-bootstrap/less/mixins/table-row.less +44 -0
  75. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -0
  76. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -0
  77. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -0
  78. package/src/android-bootstrap/less/mixins.less +40 -0
  79. package/src/android-bootstrap/less/modals.less +151 -0
  80. package/src/android-bootstrap/less/navbar.less +660 -0
  81. package/src/android-bootstrap/less/navs.less +302 -0
  82. package/src/android-bootstrap/less/normalize.less +424 -0
  83. package/src/android-bootstrap/less/pager.less +76 -0
  84. package/src/android-bootstrap/less/pagination.less +89 -0
  85. package/src/android-bootstrap/less/panels.less +274 -0
  86. package/src/android-bootstrap/less/popovers.less +131 -0
  87. package/src/android-bootstrap/less/print.less +101 -0
  88. package/src/android-bootstrap/less/progress-bars.less +87 -0
  89. package/src/android-bootstrap/less/responsive-embed.less +35 -0
  90. package/src/android-bootstrap/less/responsive-utilities.less +194 -0
  91. package/src/android-bootstrap/less/scaffolding.less +161 -0
  92. package/src/android-bootstrap/less/tables.less +262 -0
  93. package/src/android-bootstrap/less/theme.less +291 -0
  94. package/src/android-bootstrap/less/thumbnails.less +36 -0
  95. package/src/android-bootstrap/less/tooltip.less +102 -0
  96. package/src/android-bootstrap/less/type.less +303 -0
  97. package/src/android-bootstrap/less/utilities.less +55 -0
  98. package/src/android-bootstrap/less/variables.less +896 -0
  99. package/src/android-bootstrap/less/wells.less +29 -0
  100. package/src/android.js +7 -4
  101. package/src/apply.js +55 -15
  102. package/src/applyAndroid.js +65 -28
  103. package/src/assets/marker-default.png +0 -0
  104. package/src/assets/myLocationIcon.png +0 -0
  105. package/src/assets//345/210/240/351/231/244.png +0 -0
  106. package/src/components/android/AppOnetomany.vue +301 -0
  107. package/src/components/android/AppServiceView.vue +603 -0
  108. package/src/components/android/AppSign.vue +228 -0
  109. package/src/components/android/AppTakePic.vue +142 -0
  110. package/src/components/android/AppUpload.vue +260 -0
  111. package/src/components/android/Ignition/VentilationIgnition.vue +408 -0
  112. package/src/components/android/Ignition/VentilationIgnitionHandle.vue +455 -0
  113. package/src/components/android/Process/AppExplorationUser.vue +454 -0
  114. package/src/components/android/Process/AppServiceControl.vue +1397 -0
  115. package/src/components/android/Process/Processes/AppDevicesManagement.vue +338 -0
  116. package/src/components/android/Process/Processes/AppInstallationDetails.vue +818 -0
  117. package/src/components/android/Process/Processes/SurveyUserSign.vue +65 -0
  118. package/src/components/android/Process/Processes/newAppDevicesManagement.vue +343 -0
  119. package/src/components/android/Process/Processes/newAppInstallationDetails.vue +669 -0
  120. package/src/components/android/Sign/AppSignTask.vue +183 -0
  121. package/src/components/android/Sign/SignProcess.vue +103 -0
  122. package/src/components/android/Supervisory/AppProcessSupervisory.vue +298 -0
  123. package/src/components/android/Supervisory/AppSupervisoryCart.vue +128 -0
  124. package/src/components/android/Task/Build/BuildTsak.vue +114 -0
  125. package/src/components/android/Task/BuildIgnition/BuildIgnition.vue +114 -0
  126. package/src/components/android/Task/RepairFromSend/RepairFrom.vue +124 -0
  127. package/src/components/android/Task/RepairFromSend/RepairSend.vue +124 -0
  128. package/src/components/android/Task/ShiGongXinXi/AppShowBuildUser.vue +427 -0
  129. package/src/components/android/Task/ShiGongXinXi/ShowBuild.vue +95 -0
  130. package/src/components/android/Task/Survey/SurveyTsak.vue +141 -0
  131. package/src/components/android/Task/UpBuild/UpBuildDui.vue +95 -0
  132. package/src/components/android/Task/UpBuild/UpBuildTsak.vue +95 -0
  133. package/src/components/android/Task/UpBuild/UpJianLi.vue +95 -0
  134. package/src/components/android/TaskGraph.vue +130 -0
  135. package/src/components/android/newPackage/customerServiceManager.vue +218 -0
  136. package/src/components/android/newPackage/designDrawings.vue +94 -0
  137. package/src/components/android/newPackage/detailedData.vue +24 -0
  138. package/src/components/android/newPackage/projectPrice.vue +218 -0
  139. package/src/components/image/dwg.png +0 -0
  140. package/src/components/image/dxf.png +0 -0
  141. package/src/components/product/ApplyCharge/ApplyChargeList.vue +541 -73
  142. package/src/components/product/ApplyCharge/ApplyChargeSearch.vue +2 -2
  143. package/src/components/product/ApplyMap/ApplyDragaboutList.vue +223 -0
  144. package/src/components/product/ApplyMap/ApplyInputSearch.vue +212 -0
  145. package/src/components/product/ApplyMap/ApplyMapCom.vue +82 -0
  146. package/src/components/product/ApplyMap/ApplyMapLocation.vue +850 -0
  147. package/src/components/product/ChongZheng/ApplyChongZhengList.vue +414 -0
  148. package/src/components/product/ChongZheng/ApplyChongZhengSearch.vue +30 -0
  149. package/src/components/product/Function/InstallFunction.vue +56 -70
  150. package/src/components/product/Function/InstallInfoSelect.vue +191 -102
  151. package/src/components/product/Function/Service/FunctionServiceControl.vue +378 -148
  152. package/src/components/product/Ignition/IgnitionDispatch.vue +92 -0
  153. package/src/components/product/Ignition/IgnitionList.vue +232 -0
  154. package/src/components/product/Ignition/IgnitionListManage.vue +362 -0
  155. package/src/components/product/Ignition/IgnitionRecord.vue +318 -0
  156. package/src/components/product/List/ShowDevices.vue +277 -0
  157. package/src/components/product/Onetomany.vue +377 -0
  158. package/src/components/product/Print/BuildOrder/buildOrderList.vue +445 -0
  159. package/src/components/product/Print/BuildOrder/printBuildOrder.vue +252 -0
  160. package/src/components/product/Print/BuildOrder/printGaiXianOrder.vue +232 -0
  161. package/src/components/product/Print/OrderPrint/GaiXianOrder.vue +281 -0
  162. package/src/components/product/Print/img/R-C.jpg +0 -0
  163. package/src/components/product/Process/ExplorationSelect.vue +467 -248
  164. package/src/components/product/Process/ExplorationUser.vue +155 -138
  165. package/src/components/product/Process/Processes/ExhibitionPicture.vue +27 -0
  166. package/src/components/product/Process/Processes/InstallationDetails.vue +793 -277
  167. package/src/components/product/Process/Processes/Print/img/10101.png +0 -0
  168. package/src/components/product/Process/Processes/Print/img/1010109.png +0 -0
  169. package/src/components/product/Process/Processes/Print/img/1010110.png +0 -0
  170. package/src/components/product/Process/Processes/Print/img/1010111.png +0 -0
  171. package/src/components/product/Process/Processes/Print/img/1010112.png +0 -0
  172. package/src/components/product/Process/Processes/Print/printCharge.vue +246 -0
  173. package/src/components/product/Process/Processes/Print/printPaymentApproval.vue +221 -0
  174. package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +59 -113
  175. package/src/components/product/Process/Processes/chargeManagement.vue +474 -350
  176. package/src/components/product/Process/Processes/devicesManagement.vue +373 -0
  177. package/src/components/product/Process/Processes/newDevicesManagement.vue +379 -0
  178. package/src/components/product/Process/Processes/newInstallationDetails.vue +718 -0
  179. package/src/components/product/Process/Processes/satisfactionShow.vue +202 -0
  180. package/src/components/product/Process/Processes/selectApply.vue +250 -0
  181. package/src/components/product/Process/Processes/selectOldUserinfo.vue +241 -0
  182. package/src/components/product/Process/Processes/selectUserinfo.vue +234 -0
  183. package/src/components/product/Process/Processes/supplementalAgreement.vue +182 -181
  184. package/src/components/product/Process/Service/ServiceControl.vue +2000 -856
  185. package/src/components/product/Process/Service/ShowBackReason.vue +33 -0
  186. package/src/components/product/ServiceView.vue +557 -680
  187. package/src/components/product/Stop/StopApply.vue +105 -0
  188. package/src/components/product/Stop/StopApplyList.vue +224 -0
  189. package/src/components/product/Supervisory/ExportExcel.vue +360 -0
  190. package/src/components/product/Supervisory/NewSupervisoryhCart.vue +175 -0
  191. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +425 -73
  192. package/src/components/product/Supervisory/SupervisoryControl.vue +28 -35
  193. package/src/components/product/Supervisory/SupervisoryList.vue +485 -208
  194. package/src/components/product/Supervisory/SupervisoryhCart.vue +52 -36
  195. package/src/components/product/VueUtils/ApplyUpload.vue +70 -47
  196. package/src/components/product/VueUtils/HighMeter.vue +208 -0
  197. package/src/expandcssAndroid.less +1034 -0
  198. package/src/main.js +5 -1
  199. package/src/public/history/HistoryApplyList.vue +108 -0
  200. package/src/public/history/PublicHistoryApply.vue +39 -0
  201. package/src/public/history/PublicSupervisoryhCart.vue +72 -0
  202. package/src/public/order/PublicOrderApply.vue +387 -0
  203. package/static/images/lefticon/{/345/256/211/346/243/200/346/237/245/347/234/213.png → anjianjihua.png} +0 -0
  204. package/static/images/lefticon/{/346/241/243/346/241/210/347/256/241/347/220/206.png → danganguanli.png} +0 -0
  205. package/static/images/lefticon/{/345/224/256/346/260/224/346/224/266/350/264/271.png → shouqishoufei.png} +0 -0
  206. package/static/images/lefticon/{/347/211/251/350/201/224/347/275/221/350/241/250.png → wulianwang.png} +0 -0
  207. package/static/images/lefticon/{/347/263/273/347/273/237/347/256/241/347/220/206.png → xitongguanli.png} +0 -0
  208. package/static/images/lefticon/{/347/273/274/345/220/210/346/237/245/350/257/242.png → yingyechaxun.png} +0 -0
  209. package/static/images/lefticon/{/345/221/274/345/217/253/347/263/273/347/273/237.png → yuyinkefu.png} +0 -0
  210. package/static/images/lefticon/{/347/273/274/345/220/210/344/270/232/345/212/241.png → zongheyewu.png} +0 -0
  211. package/static/images/lefticon//345/220/210/345/220/214/347/256/241/347/220/206.png +0 -0
  212. package/{dist-android/static/denglu.png → static/images/lefticonNew//345/215/241/346/234/215/345/212/241/347/256/241/347/220/206.png} +0 -0
  213. package/static/images/lefticonNew//345/220/210/345/220/214/347/256/241/347/220/206.png +0 -0
  214. package/static/images/lefticonNew//345/221/274/345/217/253/347/263/273/347/273/237.png +0 -0
  215. package/static/images/lefticonNew//345/224/256/346/260/224/346/224/266/350/264/271.png +0 -0
  216. package/static/images/lefticonNew//345/233/276/345/261/2023/346/213/267/350/264/2354.png +0 -0
  217. package/static/images/lefticonNew//345/233/276/345/261/202577.png +0 -0
  218. package/{dist-android/static/psicon.png → static/images/lefticonNew//345/233/276/345/261/2028/346/213/267/350/264/23513.png} +0 -0
  219. package/static/images/lefticonNew//345/256/211/346/243/200/346/237/245/347/234/213.png +0 -0
  220. package/static/images/lefticonNew//345/256/211/346/243/200/350/256/241/345/210/222.png +0 -0
  221. package/static/images/lefticonNew//345/276/256/344/277/241/346/234/215/345/212/241.png +0 -0
  222. package/static/images/lefticonNew//346/212/245/345/273/272/347/263/273/347/273/237.png +0 -0
  223. package/static/images/lefticonNew//346/212/245/350/241/250/346/237/245/350/257/242.png +0 -0
  224. package/static/images/lefticonNew//346/227/245/345/270/270/347/256/241/347/220/206.png +0 -0
  225. package/static/images/lefticonNew//346/234/272/350/241/250/347/256/241/347/220/206.png +0 -0
  226. package/static/images/lefticonNew//346/237/245/350/257/242/345/210/227/350/241/250.png +0 -0
  227. package/static/images/lefticonNew//346/241/243/346/241/210/347/256/241/347/220/206.png +0 -0
  228. package/static/images/lefticonNew//347/211/251/350/201/224/347/275/221/350/241/250.png +0 -0
  229. package/static/images/lefticonNew//347/263/273/347/273/237/347/256/241/347/220/206.png +0 -0
  230. package/static/images/lefticonNew//347/263/273/347/273/237/350/256/276/347/275/256.png +0 -0
  231. package/static/images/lefticonNew//347/273/217/350/220/245/347/256/241/346/216/247.png +0 -0
  232. package/static/images/lefticonNew//347/273/274/345/220/210/344/270/232/345/212/241.png +0 -0
  233. package/static/images/lefticonNew//347/273/274/345/220/210/346/237/245/350/257/242.png +0 -0
  234. package/static/images/lefticonNew//350/217/234/345/215/225/344/274/270/347/274/251.png +0 -0
  235. package/static/images/lefticonNew//351/200/200/345/207/272/347/263/273/347/273/237.png +0 -0
  236. package/yarn-error.log +9976 -0
  237. package/dist-android/index.html +0 -3
  238. package/dist-android/static/.gitkeep +0 -0
  239. package/dist-android/static/0.js +0 -2
  240. package/dist-android/static/0.js.map +0 -1
  241. package/dist-android/static/1.js +0 -2
  242. package/dist-android/static/1.js.map +0 -1
  243. package/dist-android/static/10.js +0 -2
  244. package/dist-android/static/10.js.map +0 -1
  245. package/dist-android/static/100.js +0 -2
  246. package/dist-android/static/100.js.map +0 -1
  247. package/dist-android/static/11.js +0 -2
  248. package/dist-android/static/11.js.map +0 -1
  249. package/dist-android/static/12.js +0 -2
  250. package/dist-android/static/12.js.map +0 -1
  251. package/dist-android/static/13.js +0 -2
  252. package/dist-android/static/13.js.map +0 -1
  253. package/dist-android/static/14.js +0 -2
  254. package/dist-android/static/14.js.map +0 -1
  255. package/dist-android/static/15.js +0 -2
  256. package/dist-android/static/15.js.map +0 -1
  257. package/dist-android/static/16.js +0 -2
  258. package/dist-android/static/16.js.map +0 -1
  259. package/dist-android/static/17.js +0 -2
  260. package/dist-android/static/17.js.map +0 -1
  261. package/dist-android/static/18.js +0 -2
  262. package/dist-android/static/18.js.map +0 -1
  263. package/dist-android/static/19.js +0 -2
  264. package/dist-android/static/19.js.map +0 -1
  265. package/dist-android/static/2.js +0 -2
  266. package/dist-android/static/2.js.map +0 -1
  267. package/dist-android/static/20.js +0 -2
  268. package/dist-android/static/20.js.map +0 -1
  269. package/dist-android/static/21.js +0 -2
  270. package/dist-android/static/21.js.map +0 -1
  271. package/dist-android/static/22.js +0 -2
  272. package/dist-android/static/22.js.map +0 -1
  273. package/dist-android/static/23.js +0 -2
  274. package/dist-android/static/23.js.map +0 -1
  275. package/dist-android/static/24.js +0 -2
  276. package/dist-android/static/24.js.map +0 -1
  277. package/dist-android/static/25.js +0 -2
  278. package/dist-android/static/25.js.map +0 -1
  279. package/dist-android/static/26.js +0 -2
  280. package/dist-android/static/26.js.map +0 -1
  281. package/dist-android/static/27.js +0 -2
  282. package/dist-android/static/27.js.map +0 -1
  283. package/dist-android/static/28.js +0 -2
  284. package/dist-android/static/28.js.map +0 -1
  285. package/dist-android/static/29.js +0 -2
  286. package/dist-android/static/29.js.map +0 -1
  287. package/dist-android/static/3.js +0 -2
  288. package/dist-android/static/3.js.map +0 -1
  289. package/dist-android/static/30.js +0 -2
  290. package/dist-android/static/30.js.map +0 -1
  291. package/dist-android/static/31.js +0 -2
  292. package/dist-android/static/31.js.map +0 -1
  293. package/dist-android/static/32.js +0 -2
  294. package/dist-android/static/32.js.map +0 -1
  295. package/dist-android/static/33.js +0 -2
  296. package/dist-android/static/33.js.map +0 -1
  297. package/dist-android/static/34.js +0 -2
  298. package/dist-android/static/34.js.map +0 -1
  299. package/dist-android/static/35.js +0 -2
  300. package/dist-android/static/35.js.map +0 -1
  301. package/dist-android/static/36.js +0 -2
  302. package/dist-android/static/36.js.map +0 -1
  303. package/dist-android/static/37.js +0 -2
  304. package/dist-android/static/37.js.map +0 -1
  305. package/dist-android/static/38.js +0 -2
  306. package/dist-android/static/38.js.map +0 -1
  307. package/dist-android/static/39.js +0 -2
  308. package/dist-android/static/39.js.map +0 -1
  309. package/dist-android/static/4.js +0 -2
  310. package/dist-android/static/4.js.map +0 -1
  311. package/dist-android/static/40.js +0 -2
  312. package/dist-android/static/40.js.map +0 -1
  313. package/dist-android/static/41.js +0 -2
  314. package/dist-android/static/41.js.map +0 -1
  315. package/dist-android/static/42.js +0 -2
  316. package/dist-android/static/42.js.map +0 -1
  317. package/dist-android/static/43.js +0 -2
  318. package/dist-android/static/43.js.map +0 -1
  319. package/dist-android/static/44.js +0 -2
  320. package/dist-android/static/44.js.map +0 -1
  321. package/dist-android/static/45.js +0 -2
  322. package/dist-android/static/45.js.map +0 -1
  323. package/dist-android/static/46.js +0 -2
  324. package/dist-android/static/46.js.map +0 -1
  325. package/dist-android/static/47.js +0 -2
  326. package/dist-android/static/47.js.map +0 -1
  327. package/dist-android/static/48.js +0 -2
  328. package/dist-android/static/48.js.map +0 -1
  329. package/dist-android/static/49.js +0 -2
  330. package/dist-android/static/49.js.map +0 -1
  331. package/dist-android/static/5.js +0 -2
  332. package/dist-android/static/5.js.map +0 -1
  333. package/dist-android/static/50.js +0 -2
  334. package/dist-android/static/50.js.map +0 -1
  335. package/dist-android/static/51.js +0 -2
  336. package/dist-android/static/51.js.map +0 -1
  337. package/dist-android/static/52.js +0 -2
  338. package/dist-android/static/52.js.map +0 -1
  339. package/dist-android/static/53.js +0 -2
  340. package/dist-android/static/53.js.map +0 -1
  341. package/dist-android/static/54.js +0 -2
  342. package/dist-android/static/54.js.map +0 -1
  343. package/dist-android/static/55.js +0 -2
  344. package/dist-android/static/55.js.map +0 -1
  345. package/dist-android/static/56.js +0 -2
  346. package/dist-android/static/56.js.map +0 -1
  347. package/dist-android/static/57.js +0 -2
  348. package/dist-android/static/57.js.map +0 -1
  349. package/dist-android/static/58.js +0 -2
  350. package/dist-android/static/58.js.map +0 -1
  351. package/dist-android/static/59.js +0 -2
  352. package/dist-android/static/59.js.map +0 -1
  353. package/dist-android/static/6.js +0 -2
  354. package/dist-android/static/6.js.map +0 -1
  355. package/dist-android/static/60.js +0 -2
  356. package/dist-android/static/60.js.map +0 -1
  357. package/dist-android/static/61.js +0 -2
  358. package/dist-android/static/61.js.map +0 -1
  359. package/dist-android/static/62.js +0 -2
  360. package/dist-android/static/62.js.map +0 -1
  361. package/dist-android/static/63.js +0 -2
  362. package/dist-android/static/63.js.map +0 -1
  363. package/dist-android/static/64.js +0 -2
  364. package/dist-android/static/64.js.map +0 -1
  365. package/dist-android/static/65.js +0 -2
  366. package/dist-android/static/65.js.map +0 -1
  367. package/dist-android/static/66.js +0 -2
  368. package/dist-android/static/66.js.map +0 -1
  369. package/dist-android/static/67.js +0 -2
  370. package/dist-android/static/67.js.map +0 -1
  371. package/dist-android/static/68.js +0 -2
  372. package/dist-android/static/68.js.map +0 -1
  373. package/dist-android/static/69.js +0 -2
  374. package/dist-android/static/69.js.map +0 -1
  375. package/dist-android/static/7.js +0 -6
  376. package/dist-android/static/7.js.map +0 -1
  377. package/dist-android/static/70.js +0 -2
  378. package/dist-android/static/70.js.map +0 -1
  379. package/dist-android/static/71.js +0 -2
  380. package/dist-android/static/71.js.map +0 -1
  381. package/dist-android/static/72.js +0 -2
  382. package/dist-android/static/72.js.map +0 -1
  383. package/dist-android/static/73.js +0 -2
  384. package/dist-android/static/73.js.map +0 -1
  385. package/dist-android/static/74.js +0 -2
  386. package/dist-android/static/74.js.map +0 -1
  387. package/dist-android/static/75.js +0 -2
  388. package/dist-android/static/75.js.map +0 -1
  389. package/dist-android/static/76.js +0 -2
  390. package/dist-android/static/76.js.map +0 -1
  391. package/dist-android/static/77.js +0 -2
  392. package/dist-android/static/77.js.map +0 -1
  393. package/dist-android/static/78.js +0 -2
  394. package/dist-android/static/78.js.map +0 -1
  395. package/dist-android/static/79.js +0 -2
  396. package/dist-android/static/79.js.map +0 -1
  397. package/dist-android/static/8.js +0 -2
  398. package/dist-android/static/8.js.map +0 -1
  399. package/dist-android/static/80.js +0 -2
  400. package/dist-android/static/80.js.map +0 -1
  401. package/dist-android/static/81.js +0 -2
  402. package/dist-android/static/81.js.map +0 -1
  403. package/dist-android/static/82.js +0 -2
  404. package/dist-android/static/82.js.map +0 -1
  405. package/dist-android/static/83.js +0 -2
  406. package/dist-android/static/83.js.map +0 -1
  407. package/dist-android/static/84.js +0 -2
  408. package/dist-android/static/84.js.map +0 -1
  409. package/dist-android/static/85.js +0 -2
  410. package/dist-android/static/85.js.map +0 -1
  411. package/dist-android/static/86.js +0 -2
  412. package/dist-android/static/86.js.map +0 -1
  413. package/dist-android/static/87.js +0 -2
  414. package/dist-android/static/87.js.map +0 -1
  415. package/dist-android/static/88.js +0 -2
  416. package/dist-android/static/88.js.map +0 -1
  417. package/dist-android/static/89.js +0 -2
  418. package/dist-android/static/89.js.map +0 -1
  419. package/dist-android/static/9.js +0 -3
  420. package/dist-android/static/9.js.map +0 -1
  421. package/dist-android/static/90.js +0 -2
  422. package/dist-android/static/90.js.map +0 -1
  423. package/dist-android/static/91.js +0 -2
  424. package/dist-android/static/91.js.map +0 -1
  425. package/dist-android/static/92.js +0 -2
  426. package/dist-android/static/92.js.map +0 -1
  427. package/dist-android/static/93.js +0 -2
  428. package/dist-android/static/93.js.map +0 -1
  429. package/dist-android/static/94.js +0 -2
  430. package/dist-android/static/94.js.map +0 -1
  431. package/dist-android/static/95.js +0 -2
  432. package/dist-android/static/95.js.map +0 -1
  433. package/dist-android/static/96.js +0 -2
  434. package/dist-android/static/96.js.map +0 -1
  435. package/dist-android/static/97.js +0 -2
  436. package/dist-android/static/97.js.map +0 -1
  437. package/dist-android/static/98.js +0 -2
  438. package/dist-android/static/98.js.map +0 -1
  439. package/dist-android/static/99.js +0 -2
  440. package/dist-android/static/99.js.map +0 -1
  441. package/dist-android/static/app.css +0 -2
  442. package/dist-android/static/app.css.map +0 -1
  443. package/dist-android/static/app.js +0 -80
  444. package/dist-android/static/app.js.map +0 -1
  445. package/dist-android/static/batchleft.png +0 -0
  446. package/dist-android/static/batchright.png +0 -0
  447. package/dist-android/static/bluemainbg.jpg +0 -0
  448. package/dist-android/static/config.json +0 -7
  449. package/dist-android/static/huangtengbiaozhi.png +0 -0
  450. package/dist-android/static/jingyin.jpg +0 -0
  451. package/dist-android/static/login_bg.jpg +0 -0
  452. package/dist-android/static/login_title.png +0 -0
  453. package/dist-android/static/login_title1.png +0 -0
  454. package/dist-android/static/loginbg.jpg +0 -0
  455. package/dist-android/static/loginlogo.png +0 -0
  456. package/dist-android/static/main_logo.png +0 -0
  457. package/dist-android/static/mainbg.jpg +0 -0
  458. package/dist-android/static/menulogo.png +0 -0
  459. package/dist-android/static/newmainbg.jpg +0 -0
  460. package/dist-android/static/singleleft.png +0 -0
  461. package/dist-android/static/singleright.png +0 -0
  462. package/dist-android/static/treeopen.png +0 -0
  463. package/dist-android/static/treeout.png +0 -0
  464. package/dist-android/static/treeset.png +0 -0
  465. package/dist-android/static/usericon.png +0 -0
  466. package/dist-android/static/workflow_apply.json +0 -766
  467. package/dist-android/static/xinxi.png +0 -0
  468. package/dist-android/static//344/277/256/346/224/271/345/257/206/347/240/201.png +0 -0
  469. package/dist-android/static//345/256/211/346/243/200/345/257/274/350/210/252/347/253/226/345/261/2173.png +0 -0
  470. package/dist-android/static//345/257/274/345/207/272/346/225/260/346/215/256.png +0 -0
  471. package/dist-android/static//346/270/205/347/251/272/346/225/260/346/215/256.png +0 -0
  472. package/src/components/app_apply/Acceptance.vue +0 -298
  473. package/src/components/app_apply/ApplyApp.vue +0 -91
  474. package/src/components/app_apply/ApplyDownList.vue +0 -166
  475. package/src/components/app_apply/ApplyInfo.vue +0 -56
  476. package/src/components/app_apply/ApplyListUpload.vue +0 -258
  477. package/src/components/app_apply/ApplyToDoList.vue +0 -165
  478. package/src/components/app_apply/ApplyUserInfo.vue +0 -56
  479. package/src/components/app_apply/FieldExploration.vue +0 -267
  480. package/src/components/app_apply/PlaceControler.vue +0 -258
  481. package/src/components/app_apply/ServiceControl.vue +0 -267
  482. package/src/components/app_apply/ServiceView.vue +0 -355
  483. package/src/components/app_apply/ToolsPage.vue +0 -51
  484. package/src/components/app_apply/Ventilation.vue +0 -199
  485. package/src/components/product/ApplyCharge/ApplyChargeReport.vue +0 -107
  486. package/src/components/product/Function/StopApplyCrrdList.vue +0 -176
  487. package/src/components/product/Function/functions/ApplyRecordCancel.vue +0 -102
  488. package/src/components/product/Function/functions/StopInstall.vue +0 -106
  489. package/src/components/product/Process/Processes/printCharge.vue +0 -126
  490. package/src/components/product/Process/ShowBackReason.vue +0 -32
  491. package/src/components/product/ReportForm/GasIgnitionSummary.vue +0 -352
  492. package/src/components/product/VueUtils/ToolsPage.vue +0 -51
  493. package/src/components/product/VueUtils/Tree.vue +0 -330
@@ -1,7 +1,11 @@
1
1
  <template>
2
2
  <div class="col-sm-12" style="margin: 20px 0px;">
3
-
4
- <data-grid :model="model" v-ref:grid class="list_area table_sy" style="padding: 0px">
3
+ <criteria-paged :model="model" v-ref:cp>
4
+ <criteria partial='criteria' @condition-changed='$parent.searchCondition' v-ref:cri>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ </div>
7
+ </criteria>
8
+ <data-grid :model="model" v-ref:grid partial='list' class="list_area table_sy" style="padding: 0px">
5
9
  <template partial='head'>
6
10
  <tr>
7
11
  <th>序号</th>
@@ -9,16 +13,35 @@
9
13
  <th>客户名称</th>
10
14
  <th>客户电话</th>
11
15
  <th>地址信息</th>
12
- <th>表具数量</th>
13
- <!-- <th v-if="$parent.$parent.selectdata.f_apply_type === '散户集体报建' || $parent.$parent.selectdata.f_apply_type === '煤改气报建'">单价(户)</th>-->
14
- <!-- <th v-if="$parent.$parent.selectdata.f_apply_type === '散户集体报建' || $parent.$parent.selectdata.f_apply_type === '煤改气报建'">累计缴费</th>-->
16
+ <th>表号</th>
17
+ <th>气表品牌</th>
18
+ <th>气表型号</th>
15
19
  <th>
16
- <button type="button" class="btn btn-info head-but"
17
- :disabled="$parent.$parent.mark === 1"
18
- @click="$parent.$parent.showFile = !$parent.$parent.showFile">导入</button>
19
- <a type="button" class="btn btn-info head-but"
20
- href="/applyinstall/Excel/v3报装表具批量导入.xlsx" download>模板下载</a>
21
- 操作
20
+ <button
21
+ type="button"
22
+ class="btn btn-info head-but"
23
+ @click="$parent.$parent.$parent.openModal()"
24
+ :disabled="$parent.$parent.$parent.mark === 1 ||
25
+ ($parent.$parent.$parent.model.count >= $parent.$parent.$parent.selectdata.f_apply_count &&
26
+ $parent.$parent.$parent.selectdata.defname === '报建受理') ||
27
+ ($parent.$parent.$parent.model.count >= $parent.$parent.$parent.selectdata.f_install_count &&
28
+ $parent.$parent.$parent.selectdata.defname === '工程施工') ||
29
+ $parent.$parent.$parent.selectdata.defname === '施工通气'"
30
+ >添加用户</button>
31
+ <button
32
+ v-if="$parent.$parent.$parent.selectdata.defname === '工程施工'"
33
+ type="button"
34
+ class="btn btn-info head-but"
35
+ @click="$parent.$parent.$parent.openSign()"
36
+ >签字照片</button>
37
+ <template v-if="$parent.$parent.$parent.selectdata.f_apply_type === '民用报建'">
38
+ <button type="button" class="btn btn-info head-but" v-if="$parent.$parent.$parent.mark !== 1"
39
+ @click="$parent.$parent.$parent.importBefore()">导入</button>
40
+ <a type="button" class="btn btn-info head-but" v-if="$parent.$parent.$parent.mark !== 1 && $parent.$parent.$parent.selectdata.f_apply_nature === '小区'"
41
+ href="/apply/download/excel/小区导入.xlsx" download>模板下载</a>
42
+ <a type="button" class="btn btn-info head-but" v-if="$parent.$parent.$parent.mark !== 1 && $parent.$parent.$parent.selectdata.f_apply_nature === '散户'"
43
+ href="/apply/download/excel/散户导入模板.xlsx" download>模板下载</a>
44
+ </template>
22
45
  </th>
23
46
  </tr>
24
47
  </template>
@@ -28,7 +51,7 @@
28
51
  <nobr>{{$index+1}}</nobr>
29
52
  </td>
30
53
  <td style="text-align: center;">
31
- <nobr>{{row.f_userinfo_code}}</nobr>
54
+ <nobr>{{row.f_userinfo_id}}</nobr>
32
55
  </td>
33
56
  <td style="text-align: center;">
34
57
  <nobr>{{row.f_user_name}}</nobr>
@@ -37,36 +60,45 @@
37
60
  <nobr>{{row.f_user_phone}}</nobr>
38
61
  </td>
39
62
  <td style="text-align: center;">
40
- <nobr>{{row.f_address}}</nobr>
63
+ <nobr>{{row.f_address}}{{row.f_address_detail}}</nobr>
64
+ </td>
65
+ <td style="text-align: center;">
66
+ <nobr>{{row.f_meternumber}}</nobr>
67
+ </td>
68
+ <td style="text-align: center;">
69
+ <nobr>{{row.f_meter_brand}}</nobr>
41
70
  </td>
42
71
  <td style="text-align: center;">
43
- <nobr>{{row.f_userfiles_num === null ? 0 : row.f_userfiles_num}}</nobr>
72
+ <nobr>{{row.f_meter_style}}</nobr>
44
73
  </td>
45
- <!-- <td style="text-align: center;"-->
46
- <!-- v-if="$parent.$parent.selectdata.f_apply_type === '散户集体报建' || $parent.$parent.selectdata.f_apply_type === '煤改气报建'"-->
47
- <!-- >-->
48
- <!-- <nobr>{{$parent.$parent.selectdata.f_price}}</nobr>-->
49
- <!-- </td>-->
50
- <!-- <td style="text-align: center;"-->
51
- <!-- v-if="$parent.$parent.selectdata.f_apply_type === '散户集体报建' || $parent.$parent.selectdata.f_apply_type === '煤改气报建'"-->
52
- <!-- >-->
53
- <!-- <nobr>{{row.f_cumulative_payment_money}}</nobr>-->
54
- <!-- </td>-->
55
74
  <td style="text-align: center;">
56
75
  <nobr>
57
76
  <button
58
- type="button"
59
- name="button"
60
- class="btn btn-link"
61
- :disabled="(row.f_cumulative_payment_money < $parent.$parent.selectdata.f_price && ($parent.$parent.selectdata.f_apply_type === '散户集体报建' || $parent.$parent.selectdata.f_apply_type === '煤改气报建')) || $parent.$parent.mark === 1"
62
- @click="$parent.$parent.showUserFileModal(row)">
63
- {{row.f_userfiles_num > 0 ? '修正' : '添加'}}
77
+ type="button" name="button" class="btn btn-link"
78
+ @click="$parent.$parent.$parent.openModal(row)">
79
+ {{$parent.$parent.$parent.mark === 1 || row.f_user_state === '正常' ? '查看' : '修正'}}
80
+ </button>
81
+ <button
82
+ type="button" name="button" class="btn btn-link"
83
+ @click="$parent.$parent.$parent.deleteUserinfo(row)"
84
+ v-if="$parent.$parent.$parent.showDeleteUserInfo"
85
+ :disabled="$parent.$parent.$parent.mark === 1 || row.f_user_state === '正常'"
86
+ >
87
+ 销户
88
+ </button>
89
+ <button
90
+ type="button" name="button" class="btn btn-link"
91
+ @click="$parent.$parent.$parent.deleteUserinfo(row)"
92
+ v-if="$parent.$parent.$parent.newShowDeleteUserInfo"
93
+ >
94
+ 销户
64
95
  </button>
65
96
  </nobr>
66
97
  </td>
67
98
  </tr>
68
99
  </template>
69
100
  </data-grid>
101
+ </criteria-paged>
70
102
  </div>
71
103
  <modal v-if="showFile" :show.sync="showFile" v-ref:modal :backdrop="false" title="选择文件">
72
104
  <header slot="modal-header" class="modal-header">
@@ -75,157 +107,399 @@
75
107
  </header>
76
108
  <article slot="modal-body" class="modal-body">
77
109
  <div class="form-group">
78
- <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
110
+ <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" v-ref:file></file-upload>
79
111
  </div>
80
112
  </article>
81
113
  <footer slot="modal-footer" class="modal-footer"></footer>
82
114
  </modal>
83
115
 
84
- <modal v-if="showUserFile" :show.sync="showUserFile" v-ref:modal :large="true" :backdrop="false" title="安装明细">
116
+ <modal v-if="Sign" :show.sync="Sign" v-ref:modal :large="true" :backdrop="false">
85
117
  <header slot="modal-header" class="modal-header">
86
118
  <button type="button" class="close" @click="closeUserFile"><span>&times;</span></button>
87
- <h4 class="modal-title">安装明细</h4>
119
+ <h4 class="modal-title">用户签字</h4>
88
120
  </header>
89
121
  <article slot="modal-body" class="modal-body clearfix">
90
- <div class="form-group col-sm-12">
91
- <label class="col-sm-2 control-label">地址信息:</label>
92
- <div class="col-sm-10">
93
- <input class="form-control input_view" style=""
94
- v-model="useradders.f_address"
95
- :value="useradders.f_address"
96
- :readonly="true"/>
97
- </div>
122
+ <div class="left col-sm-6 col-xs-6">
123
+ <img-self :src="fileurl" width="100%" height="100%"></img-self>
98
124
  </div>
99
-
100
- <div v-for="(i, item) in userinfo.userfiles" class="form-group col-sm-12 panel panel-info">
101
- <div class="panel-heading head" style="background-color: #e8f4ff;margin-bottom: 10px">表具{{$index+1}}信息</div>
102
- <div class="form-group col-sm-6" :class="item.f_gasbrand_id ? '':'has-error'">
103
- <label class="col-sm-4 control-label">气表品牌:</label>
104
- <div class="col-sm-8">
105
- <input-select
106
- class="select select_list"
107
- :value.sync="item.gasbrand"
108
- v-model="item.gasbrand"
109
- :options="meterbrands"
110
- @change="gasbrandChange(i)"
111
- :valueSingle="true"></input-select>
125
+ </article>
126
+ <footer slot="modal-footer" class="modal-footer">
127
+ <template v-if="mark !== 1 && userinfo.f_user_state !== '正常'">
128
+ </template>
129
+ </footer>
130
+ </modal>
131
+ <validator name="v">
132
+ <modal v-if="showModal" :show.sync="showModal" v-ref:modal :large="true" :backdrop="false">
133
+ <header slot="modal-header" class="modal-header">
134
+ <button type="button" class="close" @click="closeUserFile"><span>&times;</span></button>
135
+ <h4 class="modal-title">安装明细</h4>
136
+ </header>
137
+ <article slot="modal-body" class="modal-body clearfix">
138
+ <!-- 基本信息 -->
139
+ <div class="form-group col-sm-12 panel panel-info" v-if="showUserInfo">
140
+ <div class="panel-heading head col-sm-12" style="background-color: #e8f4ff;margin-bottom: 10px">
141
+ <div class="col-sm-6 text-left">用户信息</div>
112
142
  </div>
113
- </div>
114
- <div class="form-group col-sm-6" :class="item.f_gasmodel_id ? '':'has-error'">
115
- <label class="col-sm-4 control-label">气表型号:</label>
116
- <div class="col-sm-8">
117
- <input-select
118
- class="select select_list"
119
- :value.sync="item.gasmodel"
120
- v-model="item.gasmodel"
121
- :options="item.gasbrand.gasmodel"
122
- @change="gasmodelChange(i)"
123
- :valueSingle="true"></input-select>
143
+ <div class="form-group col-sm-6" :class="[$v.f_user_name.required ? 'has-error' : '']">
144
+ <label class="col-sm-4 control-label">客户名称:</label>
145
+ <div class="col-sm-8">
146
+ <input class="form-control input_view" style=""
147
+ v-validate:f_user_name = "['required']"
148
+ v-model="userinfo.f_user_name"
149
+ :value.sync="showUserinfo.f_user_name"
150
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"
151
+ placeholder="客户名称"/>
152
+ </div>
124
153
  </div>
125
- </div>
126
- <div class="form-group col-sm-6" :class="item.f_meternumber ? '':'has-error'">
127
- <label class="col-sm-4 control-label">表号:</label>
128
- <div class="col-sm-8">
129
- <input class="form-control input_view" style=""
130
- placeholder="表号"
131
- v-model="item.f_meternumber"
132
- :value="item.f_meternumber"
133
- @change="meternumberValidate(i)"
134
- :readonly="false"/>
154
+ <div class="form-group col-sm-6">
155
+ <label class="col-sm-4 control-label">客户电话:</label>
156
+ <div class="col-sm-8">
157
+ <input class="form-control input_view" style=""
158
+ v-model="userinfo.f_user_phone"
159
+ :value.sync="showUserinfo.f_user_phone"
160
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"
161
+ placeholder="客户电话"/>
162
+ </div>
135
163
  </div>
136
- </div>
137
- <div class="form-group col-sm-6">
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"/>
164
+ <div class="form-group col-sm-6">
165
+ <label class="col-sm-4 control-label">证件类型:</label>
166
+ <div class="col-sm-8">
167
+ <input-select
168
+ class="select select_list"
169
+ :value.sync="showUserinfo.f_credentials"
170
+ v-model="userinfo.f_credentials"
171
+ :options="credentialsList"
172
+ :disable="mark === 1 || userinfo.f_user_state === '正常'"
173
+ :valueSingle="true"></input-select>
174
+ </div>
145
175
  </div>
146
- </div>
147
- <div class="form-group col-sm-6">
148
- <label class="col-sm-4 control-label">表读数:</label>
149
- <div class="col-sm-8">
150
- <input class="form-control input_view" style=""
151
- type="number"
152
- placeholder="表读数"
153
- v-model="item.f_meter_base"
154
- :value="item.f_meter_base"
155
- :readonly="false"/>
176
+ <div class="form-group col-sm-6">
177
+ <label class="col-sm-4 control-label">证件号码:</label>
178
+ <div class="col-sm-8">
179
+ <input class="form-control input_view" style=""
180
+ placeholder="证件号码"
181
+ v-model="userinfo.f_idnumber"
182
+ :value="showUserinfo.f_idnumber"
183
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
184
+ </div>
156
185
  </div>
157
186
  </div>
158
- <div class="form-group col-sm-6">
159
- <label class="col-sm-4 control-label">初始底数:</label>
160
- <div class="col-sm-8">
161
- <input class="form-control input_view" style=""
162
- type="number"
163
- v-model="item.f_initial_base"
164
- :value="item.f_initial_base"
165
- placeholder="初始底数"
166
- :readonly="false"/>
187
+ <!-- 地址信息 -->
188
+ <div class="form-group col-sm-12 panel panel-info" v-if="showAddress">
189
+ <div class="panel-heading head col-sm-12" style="background-color: #e8f4ff;margin-bottom: 10px">
190
+ <div class="col-sm-6 text-left">地址信息</div>
167
191
  </div>
168
- </div>
169
- <div class="form-group col-sm-6">
170
- <label class="col-sm-4 control-label">表向:</label>
171
- <div class="col-sm-8">
172
- <input-select
173
- class="select select_list"
174
- :value.sync="item.f_aroundmeter"
175
- v-model="item.f_aroundmeter"
176
- :options="aroundmeters"
177
- :valueSingle="true"></input-select>
192
+ <div class="form-group col-sm-6" :class="[$v.area.required ? 'has-error' : '']">
193
+ <label class="col-sm-4 control-label">小区/巷道:</label>
194
+ <div class="col-sm-8">
195
+ <input type="text" v-show="false" v-model="area.id" :value.sync="area.id" v-validate:area = "['required']" >
196
+ <input-select
197
+ class="select select_list"
198
+ :value.sync="area"
199
+ v-model="area"
200
+ :options="areaList"
201
+ @change="changeArea(),addressSplicing()"
202
+ @select-search = "selectArea"
203
+ :disable="mark === 1 || userinfo.f_user_state === '正常'"
204
+ :valueSingle="true"></input-select>
205
+ </div>
178
206
  </div>
179
- </div>
180
- <div class="form-group col-sm-6">
181
- <label class="col-sm-4 control-label">安装位置:</label>
182
- <div class="col-sm-8">
183
- <input-select
184
- class="select select_list"
185
- :value.sync="item.f_position"
186
- v-model="item.f_position"
187
- :options="positions"
188
- :valueSingle="true"></input-select>
207
+ <div class="form-group col-sm-6">
208
+ <label class="col-sm-4 control-label">楼&emsp;&emsp;号:</label>
209
+ <div class="col-sm-8">
210
+ <input class="form-control input_view" placeholder="楼号"
211
+ v-model="userinfo.f_building"
212
+ :value="userinfo.f_building"
213
+ @change="addressSplicing"
214
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
215
+ </div>
189
216
  </div>
190
- </div>
191
- <div class="form-group col-sm-6">
192
- <label class="col-sm-4 control-label">安装人:</label>
193
- <div class="col-sm-8">
194
- <input-select
195
- class="select select_list"
196
- :value.sync="item.f_install_person"
197
- v-model="item.f_install_person"
198
- :options="installperson"
199
- :valueSingle="true"></input-select>
217
+ <div class="form-group col-sm-6">
218
+ <label class="col-sm-4 control-label">单&emsp;&emsp;元:</label>
219
+ <div class="col-sm-8">
220
+ <input class="form-control input_view" placeholder="单元"
221
+ v-model="userinfo.f_unit"
222
+ :value="userinfo.f_unit"
223
+ @change="addressSplicing"
224
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
225
+ </div>
226
+ </div>
227
+ <div class="form-group col-sm-6" v-if="false">
228
+ <label class="col-sm-4 control-label">楼&emsp;&emsp;层:</label>
229
+ <div class="col-sm-8">
230
+ <input class="form-control input_view" placeholder="楼层"
231
+ v-model="userinfo.f_floor"
232
+ :value="userinfo.f_floor"
233
+ @change="addressSplicing"
234
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
235
+ </div>
236
+ </div>
237
+ <div class="form-group col-sm-6" :class="[$v.f_room.required ? 'has-error' : '']">
238
+ <label class="col-sm-4 control-label">门&ensp;牌&ensp;号:</label>
239
+ <div class="col-sm-8">
240
+ <input class="form-control input_view" placeholder="门牌号"
241
+ v-validate:f_room = "['required']"
242
+ v-model="userinfo.f_room"
243
+ :value="userinfo.f_room"
244
+ @change="addressSplicing"
245
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
246
+ </div>
247
+ </div>
248
+ <div class="form-group col-sm-12">
249
+ <label class="col-sm-2 control-label">地&emsp;&emsp;址:</label>
250
+ <div class="col-sm-10">
251
+ <input class="form-control input_view"
252
+ placeholder="地址"
253
+ v-model="userinfo.f_address"
254
+ :value.sync="userinfo.f_address"
255
+ :readonly="true"/>
256
+ </div>
200
257
  </div>
201
258
  </div>
202
- <div class="form-group col-sm-6">
203
- <label class="col-sm-4 control-label">安装日期:</label>
259
+ <!-- 表具信息 -->
260
+ <div class="form-group col-sm-12 panel panel-info" v-if="showUserFile">
261
+ <div class="panel-heading head col-sm-12" style="background-color: #e8f4ff;margin-bottom: 10px">
262
+ <div class="col-sm-6 text-left">表具信息</div>
263
+ </div>
264
+ <div class="form-group col-sm-6" :class="[$v.f_gasbrand_id.required ? 'has-error' : '']">
265
+ <label class="col-sm-4 control-label">气表品牌:</label>
204
266
  <div class="col-sm-8">
205
- <datepicker
206
- placeholder="安装日期"
207
- :value.sync="item.f_install_date"
208
- v-model="item.f_install_date"
209
- format="yyyy-MM-dd HH:mm:ss"
210
- :show-reset-button="reset">
211
- </datepicker>
267
+ <input type="text" v-show="false" v-model="userfile.f_gasbrand_id" :value.sync="userfile.f_gasbrand_id" v-validate:f_gasbrand_id = "['required']" >
268
+ <input-select
269
+ class="select select_list"
270
+ :value.sync="userfile.f_gasbrand_id"
271
+ v-model="userfile.f_gasbrand_id"
272
+ :options="meterBrandList"
273
+ @change="gasbrandChange()"
274
+ :disable="mark === 1 || userinfo.f_user_state === '正常' || gasbrandDisable"
275
+ :valueSingle="true"></input-select>
212
276
  </div>
213
277
  </div>
214
- </div>
215
-
216
- </article>
217
- <footer slot="modal-footer" class="modal-footer">
218
- <!-- 去除一户多表 -->
219
- <button type="button" class="btn btn-primary" @click="addUserFile" v-if="false">添加表具</button>
220
- <button type="button" class="btn btn-primary" @click="saveUserFile">确认</button>
221
- </footer>
222
- </modal>
278
+ <div class="form-group col-sm-6" :class="[$v.f_gasmodel_id.required ? 'has-error' : '']">
279
+ <label class="col-sm-4 control-label">气表型号:</label>
280
+ <div class="col-sm-8">
281
+ <input type="text" v-show="false" v-model="userfile.f_gasmodel_id" :value.sync="userfile.f_gasmodel_id" v-validate:f_gasmodel_id = "['required']" >
282
+ <input-select
283
+ class="select select_list"
284
+ :value.sync="userfile.f_gasmodel_id"
285
+ v-model="userfile.f_gasmodel_id"
286
+ :options.sync="gasModelList"
287
+ :disable="mark === 1 || userinfo.f_user_state === '正常' || gasbrandDisable"
288
+ :valueSingle="true"></input-select>
289
+ </div>
290
+ </div>
291
+ <template v-if="showInstall">
292
+ <div class="form-group col-sm-6" :class="[$v.f_meternumber.required ? 'has-error' : '']">
293
+ <label class="col-sm-4 control-label">表&emsp;&emsp;号:</label>
294
+ <div class="col-sm-8">
295
+ <input class="form-control input_view" style=""
296
+ placeholder="表号" v-validate:f_meternumber = "['required']"
297
+ v-model="userfile.f_meternumber"
298
+ :value.sync="userfile.f_meternumber"
299
+ @change="meternumberValidate()"
300
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
301
+ </div>
302
+ </div>
303
+ <div class="form-group col-sm-6">
304
+ <label class="col-sm-4 control-label">表&ensp;封&ensp;号:</label>
305
+ <div class="col-sm-8">
306
+ <input class="form-control input_view" style=""
307
+ placeholder="表封号"
308
+ v-model="userfile.f_metertitles"
309
+ :value="userfile.f_metertitles"
310
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
311
+ </div>
312
+ </div>
313
+ <div class="form-group col-sm-6">
314
+ <label class="col-sm-4 control-label">表&ensp;读&ensp;数:</label>
315
+ <div class="col-sm-8">
316
+ <input class="form-control input_view" style=""
317
+ type="number"
318
+ placeholder="表读数"
319
+ v-model="userfile.f_meter_base"
320
+ :value="userfile.f_meter_base"
321
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
322
+ </div>
323
+ </div>
324
+ <div class="form-group col-sm-6">
325
+ <label class="col-sm-4 control-label">初始底数:</label>
326
+ <div class="col-sm-8">
327
+ <input class="form-control input_view" style=""
328
+ type="number"
329
+ v-model="userfile.f_initial_base"
330
+ :value="userfile.f_initial_base"
331
+ placeholder="初始底数"
332
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
333
+ </div>
334
+ </div>
335
+ <div class="form-group col-sm-6">
336
+ <label class="col-sm-4 control-label">表&emsp;&emsp;向:</label>
337
+ <div class="col-sm-8">
338
+ <input-select
339
+ class="select select_list"
340
+ :value.sync="userfile.f_aroundmeter"
341
+ v-model="userfile.f_aroundmeter"
342
+ :options="aroundmeters"
343
+ :disable="mark === 1 || userinfo.f_user_state === '正常'"
344
+ :valueSingle="true"></input-select>
345
+ </div>
346
+ </div>
347
+ <div class="form-group col-sm-6">
348
+ <label class="col-sm-4 control-label">安装位置:</label>
349
+ <div class="col-sm-8">
350
+ <input-select
351
+ class="select select_list"
352
+ :value.sync="userfile.f_position"
353
+ v-model="userfile.f_position"
354
+ :options="positions"
355
+ :disable="mark === 1 || userinfo.f_user_state === '正常'"
356
+ :valueSingle="true"></input-select>
357
+ </div>
358
+ </div>
359
+ <div class="form-group col-sm-6">
360
+ <label class="col-sm-4 control-label">安&ensp;装&ensp;人:</label>
361
+ <div class="col-sm-8">
362
+ <input class="form-control input_view" style=""
363
+ v-model="userfile.f_install_person"
364
+ :value.sync="installperson(userfile.f_install_person)"
365
+ placeholder="安装人"
366
+ readonly/>
367
+ </div>
368
+ </div>
369
+ <div class="form-group col-sm-6">
370
+ <label class="col-sm-4 control-label">安装日期:</label>
371
+ <div class="col-sm-8">
372
+ <input class="form-control input_view" style=""
373
+ v-model="userfile.f_install_date"
374
+ :value.sync="installdate(userfile.f_install_date)"
375
+ placeholder="安装日期"
376
+ readonly/>
377
+ </div>
378
+ </div>
379
+ </template>
380
+ </div>
381
+ <div class="form-group col-sm-12 panel panel-info" v-if="showUserFile" >
382
+ <header slot="modal-header" class="modal-header">
383
+ <h4 class="modal-title">表具设备信息</h4>
384
+ </header>
385
+ <div v-for="(i, item) in devicesinfo" class="form-group col-sm-12 panel panel-info">
386
+ <div class="panel-heading head col-sm-12" style="background-color: #e8f4ff;margin-bottom: 10px">
387
+ <div class="col-sm-12 text-left">设备{{$index+1}}信息</div>
388
+ </div>
389
+ <div class="form-group col-sm-3">
390
+ <label class="col-sm-4 control-label">设备:</label>
391
+ <div class="col-sm-8">
392
+ <input class="form-control input_view" style=""
393
+ placeholder="设备类型"
394
+ v-model="item.f_devices_type"
395
+ :value="item.f_devices_type"
396
+ readonly/>
397
+ </div>
398
+ </div>
399
+ <div class="form-group col-sm-3">
400
+ <label class="col-sm-4 control-label">编号:</label>
401
+ <div class="col-sm-8">
402
+ <input class="form-control input_view" style=""
403
+ placeholder="设备编号"
404
+ v-model="item.f_devices_no"
405
+ :value="item.f_devices_no"
406
+ readonly/>
407
+ </div>
408
+ </div>
409
+ <div class="form-group col-sm-3">
410
+ <label class="col-sm-4 control-label">品牌:</label>
411
+ <div class="col-sm-8">
412
+ <input class="form-control input_view" style=""
413
+ placeholder="设备品牌"
414
+ v-model="item.f_brand"
415
+ :value="item.f_brand"
416
+ readonly/>
417
+ </div>
418
+ </div>
419
+ <div class="form-group col-sm-3">
420
+ <label class="col-sm-4 control-label">型号:</label>
421
+ <div class="col-sm-8">
422
+ <input class="form-control input_view" style=""
423
+ placeholder="设备型号"
424
+ v-model="item.f_devices_model"
425
+ :value="item.f_devices_model"
426
+ readonly/>
427
+ </div>
428
+ </div>
429
+ <div class="form-group col-sm-3">
430
+ <label class="col-sm-4 control-label">数量:</label>
431
+ <div class="col-sm-8">
432
+ <input class="form-control input_view" style="" type="number"
433
+ placeholder="设备数量"
434
+ v-model="item.f_devices_num"
435
+ :value="item.f_devices_num"
436
+ readonly/>
437
+ </div>
438
+ </div>
439
+ <div class="form-group col-sm-3">
440
+ <label class="col-sm-4 control-label">功率:</label>
441
+ <div class="col-sm-8">
442
+ <input class="form-control input_view" style=""
443
+ placeholder="设备功率"
444
+ type="number"
445
+ v-model="item.f_devices_tonnage"
446
+ :value="item.f_devices_tonnage"
447
+ readonly/>
448
+ </div>
449
+ </div>
450
+ <div class="form-group col-sm-3">
451
+ <label class="col-sm-4 control-label">日期:</label>
452
+ <div class="col-sm-8">
453
+ <input class="form-control input_view" style=""
454
+ placeholder="安装日期"
455
+ v-model="item.f_install_date"
456
+ :value="item.f_install_date"
457
+ readonly/>
458
+ </div>
459
+ </div>
460
+ <div class="form-group col-sm-3">
461
+ <label class="col-sm-4 control-label">单位:</label>
462
+ <div class="col-sm-8">
463
+ <input class="form-control input_view" style=""
464
+ placeholder="功率单位"
465
+ v-model="item.f_devices_tonnage_unit"
466
+ :value="item.f_devices_tonnage_unit"
467
+ readonly/>
468
+ </div>
469
+ </div>
470
+ </div>
471
+ </div>
472
+ </article>
473
+ <footer slot="modal-footer" class="modal-footer">
474
+ <template v-if="mark !== 1 && userinfo.f_user_state !== '正常'">
475
+ <button type="button" class="btn btn-primary" @click="saveUserFile" :disabled="!$v.valid">确认</button>
476
+ </template>
477
+ </footer>
478
+ </modal>
479
+ </validator>
223
480
  </template>
224
481
  <script>
225
482
  import Vue from 'vue'
226
483
  import {PagedList} from 'vue-client'
227
484
  import {HttpResetClass} from 'vue-client'
228
485
  import {isEmpty} from '../../../Util'
486
+ // Date格式化
487
+ Date.prototype.Format = function (fmt) {
488
+ var o = {
489
+ 'M+': this.getMonth() + 1, // 月份
490
+ 'd+': this.getDate(), // 日
491
+ 'H+': this.getHours(), // 小时
492
+ 'm+': this.getMinutes(), // 分
493
+ 's+': this.getSeconds(), // 秒
494
+ 'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
495
+ 'S': this.getMilliseconds() // 毫秒
496
+ }
497
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
498
+ for (var k in o) {
499
+ if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
500
+ }
501
+ return fmt
502
+ }
229
503
 
230
504
  export default {
231
505
  title: '安装明细',
@@ -240,217 +514,443 @@ export default {
240
514
  },
241
515
  data () {
242
516
  return {
517
+ gasbrandDisable: false,
243
518
  showFile: false,
244
- showUserFile: false,
245
- model: {
246
- data: null
247
- },
248
- meterbrands: [], // 气表品牌
249
- useradders: null,
250
- userinfo: {}
519
+ showModal: false,
520
+ model: new PagedList('rs/sql/getApplyUserinfo', 20, null),
521
+ areaList: [],
522
+ area: {},
523
+ userinfo: {},
524
+ userfile: {},
525
+ meterBrandList: [],
526
+ gasModelList: [],
527
+ Sign: false,
528
+ fileurl: null,
529
+ devicesinfo: [],
530
+ showUserinfo: {}
251
531
  }
252
532
  },
253
533
  ready () {
254
534
  this.search()
255
- this.getMeterbrands()
535
+ this.getMeterBrand()
536
+ this.getAreaList()
256
537
  },
257
538
  methods: {
258
- // 保存档案
259
- async saveUserFile() {
260
- if (this.userinfo.userfiles.length > 1) {
261
- this.$showAlert('该地址下已有表具信息,暂不支持一户多表!!!', 'warning', 3000)
539
+ async deleteUserinfo (row) {
540
+ let res = await this.$showMessage('此操作不可撤回,您确定要删除这条记录吗?')
541
+ if (res === 'cancel') {
262
542
  return
263
543
  }
264
- // 检查必填项
265
- for (let i = 0; i < this.userinfo.userfiles.length; i++) {
266
- let userfile = this.userinfo.userfiles[i]
267
- if (userfile.f_gasbrand_id === null || userfile.f_gasbrand_id === '') {
268
- this.$showAlert(`表具${i+1}气表品牌没有选择!!!`, 'warning', 3000)
269
- return
270
- }
271
- if (userfile.f_gasmodel_id === null || userfile.f_gasmodel_id === '') {
272
- this.$showAlert(`表具${i+1}气表型号没有选择!!!`, 'warning', 3000)
273
- return
274
- }
275
- if (userfile.f_meternumber === null || userfile.f_meternumber === '') {
276
- this.$showAlert(`表具${i+1}表号没有填写!!!`, 'warning', 3000)
277
- return
278
- }
544
+ let data = {
545
+ userinfo: row,
546
+ selectdata: this.selectdata
279
547
  }
548
+ res = await this.$resetpost('rs/logic/applyDeleteUserinfo', {data:data}, {
549
+ resolveMsg: null,
550
+ rejectMsg: '删除失败!!!'
551
+ })
552
+
553
+ this.$dispatch('breakControl', this.selectdata)
554
+ },
555
+ // 保存档案
556
+ async saveUserFile () {
557
+ this.meternumberValidate()
280
558
  let data = {
281
559
  user: this.$login.f,
282
- useradders: this.useradders,
283
560
  userinfo: this.userinfo,
561
+ userfile: this.userfile,
284
562
  selectdata: this.selectdata
285
563
  }
286
- let res = await this.$resetpost('rs/logic/addInstallationDetails', {data:data}, {
564
+ let res = await this.$resetpost('rs/logic/applyAddUserinfo', {data:data}, {
287
565
  resolveMsg: null,
288
- rejectMsg: '表具添加失败!!!'
566
+ rejectMsg: '用户档案添加失败!!!'
289
567
  })
290
568
  this.$dispatch('breakControl', this.selectdata)
291
569
  },
570
+ ifDisable() {
571
+ if (this.selectdata.f_apply_type === '非民用报建' && this.selectdata.defname === '工程施工') {
572
+ this.gasbrandDisable = true
573
+ }
574
+ },
292
575
  // 检查表号是否存在
293
- async meternumberValidate(i) {
294
- if (!this.userinfo.userfiles[i].f_gasbrand_id) {
295
- this.userinfo.userfiles[i].f_meternumber = ''
576
+ async meternumberValidate() {
577
+ if (!this.userfile.f_gasbrand_id) {
578
+ this.userfile.f_meternumber = ''
296
579
  this.$showAlert('请先选择气表品牌!!!', 'warning', 3000)
297
580
  return
298
581
  }
299
- if (this.userinfo.userfiles[i].f_gasbrand_id && this.userinfo.userfiles[i].f_meternumber) {
582
+ if (this.userfile.f_gasbrand_id && this.userfile.f_meternumber) {
300
583
  let data = {
301
- f_meternumber: this.userinfo.userfiles[i].f_meternumber,
302
- f_gasbrand_id: this.userinfo.userfiles[i].f_gasbrand_id
584
+ f_meternumber: this.userfile.f_meternumber,
585
+ f_gasbrand_id: this.userfile.f_gasbrand_id
303
586
  }
304
- if (this.userinfo.userfiles[i].f_userfiles_id) {
305
- data.f_userfiles_id = this.userinfo.userfiles[i].f_userfiles_id
587
+ if (this.userfile.f_user_id) {
588
+ data.f_user_id = this.userfile.f_user_id
306
589
  }
307
590
  let res = await this.$resetpost('rs/logic/meterbrandsNumberValidate', {data:data}, {
308
591
  resolveMsg: null,
309
592
  rejectMsg: '表号验证失败!!'
310
593
  })
311
- if (res.data) {
312
- this.userinfo.userfiles[i].f_meternumber = ''
313
- this.$showAlert('表号已存在!!', 'warning', 3000)
594
+ console.log(`查询结果${res.data}`)
595
+ console.log(res.data)
596
+ if (res.data === '表号已存在' || res.data === '表号无效') {
597
+ this.userfile.f_meternumber = ''
598
+ this.$showAlert(res.data, 'warning', 3000)
599
+ throw res.data
314
600
  }
315
601
  }
316
602
  },
317
- // 选择气表型号
318
- gasmodelChange(i) {
319
- if (this.userinfo.userfiles[i].gasmodel) {
320
- this.userinfo.userfiles[i].f_gasmodel_id = this.userinfo.userfiles[i].gasmodel.id
321
- }
322
- },
323
603
  // 选择气表品牌
324
- gasbrandChange(i) {
604
+ async gasbrandChange() {
325
605
  // 清空已保存的气表型号
326
- this.userinfo.userfiles[i].f_gasmodel_id = null
327
- this.userinfo.userfiles[i].gasmodel = null
328
- if (this.userinfo.userfiles[i].gasbrand) {
329
- // 气表品牌id
330
- this.userinfo.userfiles[i].f_gasbrand_id = this.userinfo.userfiles[i].gasbrand.id
331
- // 气表分类
332
- this.userinfo.userfiles[i].f_meter_classify = this.userinfo.userfiles[i].gasbrand.f_meter_type
606
+ this.userfile.f_gasmodel_id = null
607
+ if (isEmpty(this.userfile.f_gasbrand_id)) {
608
+ return
609
+ }
610
+ if (this.userfile.f_gasbrand_id === 'null') {
611
+ this.gasModelList.push({label: '无', value: 'null'})
612
+ this.userfile.f_meter_classify = 'null'
613
+ return
333
614
  }
615
+ let data = {
616
+ f_gasbrand_id: this.userfile.f_gasbrand_id
617
+ }
618
+ let http = new HttpResetClass()
619
+ let res = await http.load(
620
+ 'POST',
621
+ `rs/sql/getGasModel`,
622
+ {data: data},
623
+ {resolveMsg: null, rejectMsg: '气表型号查询失败!!!'}
624
+ )
625
+
626
+ this.gasModelList = res.data
627
+
628
+ // data = {
629
+ // tablename: 't_gasbrand',
630
+ // condition: `id = '${this.userfile.f_gasbrand_id}'`
631
+ // }
632
+ // res = await http.load(
633
+ // 'POST',
634
+ // `rs/sql/applySingleTable`,
635
+ // {data: data},
636
+ // {resolveMsg: null, rejectMsg: '表具类型查询失败!!!'}
637
+ // )
638
+ // this.userfile.f_meter_classify = res.data[0].f_meter_type
639
+ this.userfile.f_meter_classify = '物联网表'
334
640
  },
335
- // 追加表具
336
- addUserFile() {
337
- this.userinfo.userfiles.push({})
641
+ // 地址拼接
642
+ addressSplicing () {
643
+ let f_area = this.userinfo.f_area || ''
644
+ let f_slice_area = this.userinfo.f_slice_area || ''
645
+ let f_street = this.userinfo.f_street || ''
646
+ let f_residential_area = this.userinfo.f_residential_area || ''
647
+ let f_building = this.userinfo.f_building || ''
648
+ let f_building_suffix = f_building ? '号楼' : ''
649
+ let f_unit = this.userinfo.f_unit || ''
650
+ let f_unit_suffix = f_unit ? '单元' : ''
651
+ let f_floor = this.userinfo.f_floor || ''
652
+ let f_floor_suffix = f_floor ? '层' : ''
653
+ let f_room = this.userinfo.f_room || ''
654
+ let f_room_suffix = f_room ? '室' : ''
655
+
656
+ Vue.set(this.userinfo, 'f_address', f_area + f_slice_area + f_street + f_residential_area + f_building + f_building_suffix + f_unit + f_unit_suffix + f_floor + f_floor_suffix + f_room + f_room_suffix)
338
657
  },
339
- // 打开安装明细
340
- async showUserFileModal (row) {
341
- this.useradders = row
658
+ // 选择小区
659
+ changeArea () {
660
+ if (isEmpty(this.area)) {
661
+ return
662
+ }
342
663
 
664
+ this.userinfo.f_area = this.area.f_area
665
+ this.userinfo.f_slice_area = this.area.f_slice_area
666
+ this.userinfo.f_street = this.area.f_street
667
+ this.userinfo.f_residential_area = this.area.f_residential_area
668
+ this.userinfo.f_residential_area_id = this.area.id
669
+ // this.addressSplicing()
670
+ },
671
+ openSign(){
672
+ this.getFiles()
673
+ this.Sign = true
674
+ },
675
+ importBefore(){
676
+ if (this.selectdata.f_apply_nature === '小区' && !this.selectdata.f_residential_area_id){
677
+ this.$showAlert('请选择小区/巷道后导入', 'warning', 3000)
678
+ }else {
679
+ this.showFile = !this.showFile
680
+ }
681
+ },
682
+ async getFiles() {
343
683
  let http = new HttpResetClass()
684
+ console.log('=========pc签字查看===============')
344
685
  let data = {
345
- condition: `f_userinfo_id='${row.f_userinfo_id}'`
686
+ tablename: 't_files',
687
+ condition: `f_blobid = '${this.selectdata.f_process_id}' and defname = '工程施工' and fremarks = '报装手机签字文件'`
346
688
  }
347
- let res = await http.load('POST', 'rs/logic/getUserinfoAndUserfiles', {data:data}, {
348
- resolveMsg: null,
349
- rejectMsg: null
689
+ let res = await http.load('POST', `rs/sql/applySingleTable`, {data: data}, {
690
+ warnMsg: null,
691
+ resolveMsg: null
350
692
  })
693
+ if(res.data.length > 0){
694
+ console.log('=========签字地址===============',res.data[0])
695
+ let URL = res.data[0].f_downloadpath.substring(res.data[0].f_downloadpath.lastIndexOf(":\\") + 2)
696
+ res.data[0].f_downloadURL = "http://" + location.host + "/" + URL
697
+ console.log("=====查看文件地址=====",res.data[0].f_downloadURL)
698
+ this.fileurl = res.data[0].f_downloadURL
699
+ }
700
+ },
701
+ // 打开安装明细
702
+ async openModal (row) {
703
+ this.ifDisable()
704
+ if (row) {
705
+ this.getDeviceList(row)
706
+ console.log('------------------修正---------------------',row)
707
+ this.userinfo = row
351
708
 
352
- this.userinfo = res.data
353
-
354
- // 已有表具的 气表信息补充
355
- for (const userfile of this.userinfo.userfiles) {
356
- for (const item of this.meterbrands) {
357
- if (item.value.id === userfile.f_gasbrand_id) {
358
- userfile.gasbrand = item.value
709
+ if (this.userinfo.f_residential_area_id) {
710
+ let data = {
711
+ tablename: 't_area_address',
712
+ condition: `id = '${this.userinfo.f_residential_area_id}'`
359
713
  }
714
+ let http = new HttpResetClass()
715
+ let res = await http.load(
716
+ 'POST',
717
+ `rs/sql/applySingleTable`,
718
+ {data: data},
719
+ {resolveMsg: null, rejectMsg: '小区查询失败!!!'}
720
+ )
721
+
722
+ this.area = res.data[0]
360
723
  }
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
365
- }
724
+
725
+ let data = {
726
+ tablename: 't_userfiles',
727
+ condition: `f_userinfo_id = ${row.f_userinfo_id}`
728
+ }
729
+ let http = new HttpResetClass()
730
+ let res = await http.load(
731
+ 'POST',
732
+ `rs/sql/applySingleTable`,
733
+ {data: data},
734
+ {resolveMsg: null, rejectMsg: '表档案查询失败!!!'}
735
+ )
736
+ this.userfile = res.data[0]
737
+
738
+ if (this.userfile.f_gasbrand_id === 0) {
739
+ this.userfile.f_gasbrand_id = null
740
+ }
741
+ if (this.userfile.f_gasmodel_id === 0) {
742
+ this.userfile.f_gasmodel_id = null
743
+ }
744
+
745
+ if (!isEmpty(this.userfile.f_gasbrand_id)) {
746
+ let data = {
747
+ f_gasbrand_id: this.userfile.f_gasbrand_id
366
748
  }
749
+ let http = new HttpResetClass()
750
+ let res = await http.load(
751
+ 'POST',
752
+ `rs/sql/getGasModel`,
753
+ {data: data},
754
+ {resolveMsg: null, rejectMsg: '气表型号查询失败!!!'}
755
+ )
756
+
757
+ this.gasModelList = res.data
758
+ }
759
+ }
760
+ if (this.selectdata.f_residential_area_id) {
761
+ let data = {
762
+ tablename: 't_area_address',
763
+ condition: `id = '${this.selectdata.f_residential_area_id}'`
367
764
  }
765
+ let http = new HttpResetClass()
766
+ let res = await http.load(
767
+ 'POST',
768
+ `rs/sql/applySingleTable`,
769
+ {data: data},
770
+ {resolveMsg: null, rejectMsg: '小区查询失败!!!'}
771
+ )
772
+
773
+ this.area = res.data[0]
774
+ this.selectArea(this.area.f_residential_area)
775
+ this.changeArea()
776
+ this.addressSplicing()
368
777
  }
369
778
 
370
- this.showUserFile = true
779
+ // 档案回填定位信息
780
+ this.userinfo.f_lng = this.selectdata.f_lng
781
+ this.userinfo.f_lat = this.selectdata.f_lat
782
+ this.userinfo.f_location_address = this.selectdata.f_order_address
783
+ if(!row){
784
+ // 档案回填用户信息
785
+ this.showUserinfo.f_user_name = this.selectdata.f_user_name
786
+ this.showUserinfo.f_user_phone = this.selectdata.f_phone
787
+ this.showUserinfo.f_credentials = this.selectdata.f_credentials
788
+ this.showUserinfo.f_idnumber = this.selectdata.f_idnumber
789
+ }
790
+ this.showModal = true
791
+ },
792
+ async getDeviceList(row){
793
+ let data = {
794
+ tablename: 't_devices',
795
+ condition: `f_userinfo_id = '${row.f_userinfo_id}'`
796
+ }
797
+ let http = new HttpResetClass()
798
+ let res = await http.load(
799
+ 'POST',
800
+ `rs/sql/applySingleTable`,
801
+ {data: data},
802
+ {resolveMsg: null, rejectMsg: '设备查询失败!!!'}
803
+ )
804
+ this.devicesinfo = res.data
371
805
  },
372
806
  // 获取气表品牌
373
- async getMeterbrands() {
807
+ async getMeterBrand () {
808
+ let data = {
809
+ }
810
+
374
811
  let http = new HttpResetClass()
812
+ let res = await http.load(
813
+ 'POST',
814
+ `rs/sql/getMeterBrand`,
815
+ {data: data},
816
+ {resolveMsg: null, rejectMsg: '气表品牌查询失败!!!'}
817
+ )
818
+
819
+ this.meterBrandList = res.data
820
+ this.meterBrandList.push({label: '无', value: 'null'})
821
+ },
822
+ // 获取小区
823
+ async getAreaList () {
375
824
  let data = {
376
- f_filialeid: this.$login.f.f_orgids
825
+ tablename: 't_area_address',
826
+ condition: `f_filiale = '${this.$login.f.f_fengongsi}' and f_area_status = '启用'`
377
827
  }
378
- let res = await http.load('POST', 'rs/logic/getMeterbrands', {data:data}, {
379
- resolveMsg: null,
380
- rejectMsg: null
828
+ let http = new HttpResetClass()
829
+ let res = await http.load(
830
+ 'POST',
831
+ `rs/sql/applySingleTable`,
832
+ {data: data},
833
+ {resolveMsg: null, rejectMsg: '小区查询失败!!!'}
834
+ )
835
+ this.areaList = res.data.map(item => {
836
+ item.id = String(item.id)
837
+ return {
838
+ label: item.f_residential_area,
839
+ value: item
840
+ }
381
841
  })
382
- this.meterbrands = res.data
383
842
  },
384
- // 查询
385
- async search () {
386
- let http = new HttpResetClass()
843
+ //搜索小区
844
+ selectArea (val) {
845
+ let pcdText = `and f_residential_area like '%${val}%'`
387
846
  let data = {
388
- condition: " 1=1",
389
- f_process_id: this.selectdata.f_process_id
847
+ tablename: 't_area_address',
848
+ condition: `f_filiale = '${this.$login.f.f_fengongsi}' and f_area_status = '启用' ${pcdText}`
390
849
  }
391
- let res = await http.load('POST', 'rs/sql/getAddresAndUserinfoAndUserfilesAmount', {data:data}, {
392
- resolveMsg: null,
393
- rejectMsg: null
394
- })
395
- this.model.data = res.data
396
- if (this.selectdata.f_apply_type === '开发商集体报建' || this.selectdata.f_apply_type === '散户集体报建' || this.selectdata.f_apply_type === '煤改气报建') {
397
- let f_installed_households = 0
398
- for (const item of res.data) {
399
- if (item.f_userfiles_num > 0) {
400
- f_installed_households++
401
- }
402
- }
403
- let f_uninstalled_households = this.selectdata.f_apply_count - f_installed_households
404
- for (const item of this.selectdata.fields) {
405
- if (item.label === '已安装户数') {
406
- item.value = f_installed_households
407
- }
408
- if (item.label === '未安装户数') {
409
- item.value = f_uninstalled_households
410
- }
850
+ new HttpResetClass().load("POST", `rs/sql/applySingleTable`, {data:data}, {resolveMsg: null, rejectMsg: null}).then((res)=>{
851
+ console.log('请求发送完成!!!!!'+JSON.stringify(res))
852
+ if(res.data.length>0){
853
+ this.areaList = res.data.map(item => {
854
+ item.id = String(item.id)
855
+ return {
856
+ label: item.f_residential_area,
857
+ value: item
858
+ }
859
+ })
411
860
  }
861
+ })
862
+ },
863
+ searchCondition (args) {
864
+ if (this.selectdata.f_apply_type === '分户挂表') {
865
+ args.condition = args.condition + `and ui.f_userinfo_id = '${this.selectdata.f_userinfo_id}'`
866
+ } else {
867
+ args.condition = args.condition + `and ui.f_process_id = '${this.selectdata.f_process_id}'`
412
868
  }
869
+
870
+ this.model.search(args.condition, args.model)
871
+ },
872
+ // 查询
873
+ async search () {
874
+ this.$refs.cp.$refs.cri.search()
413
875
  },
414
876
  // 关闭安装明细
415
877
  closeUserFile() {
416
- this.showUserFile = false
417
- this.useradders = null
418
- this.userinfo = null
878
+ this.showModal = false
879
+ this.devicesinfo = []
880
+ this.area = {}
881
+ this.userinfo = {}
882
+ this.userfile = {}
883
+ this.gasModelList = {}
884
+ this.Sign = {}
419
885
  this.search()
420
886
  },
421
- // 关闭文件上传对话框
887
+ //关闭导入弹框
422
888
  closeFile() {
423
889
  this.showFile = false
424
890
  // 将选的文件清空
425
891
  this.$refs.file.$el.querySelector('input').value = ''
426
892
  this.search()
427
- }
893
+ },
428
894
  },
429
895
  events: {
430
896
  async 'onFileUpload'(file, result) {
431
897
  let data = {
432
898
  selectdata: this.selectdata,
433
899
  filepath: result.f_downloadpath,
434
- user: this.$login.f
435
- }
436
- let res = await this.$resetpost(`rs/logic/importAddInstallationDetails`, {data:data}, {resolveMsg: null, rejectMsg: '导入失败', silent: true}, 0)
437
- if(res.data.type === "success"){
438
- this.$showAlert("导入信息:"+res.data.msg, res.data.type, 2000);
439
- }else{
440
- this.$showMessage(res.data.msg);
900
+ user: this.$login.f,
901
+ mark: this.mark
441
902
  }
903
+ let res = await this.$resetpost(`rs/logic/importAddressAndUserinfo`, {data:data}, {resolveMsg: null, rejectMsg: '导入失败!!!', silent: true}, 0)
904
+
442
905
  this.$dispatch('breakControl', this.selectdata)
443
906
  }
444
907
  },
445
908
  computed: {
909
+ showDeleteUserInfo () {
910
+ return this.selectdata.f_apply_type === '民用报建' &&
911
+ (this.selectdata.defname === '报建受理' || this.selectdata.defname === '现场勘察')
912
+ },
913
+ newShowDeleteUserInfo () {
914
+ return this.selectdata.f_apply_type === '设备拆除' && this.selectdata.defname === '销户'
915
+ },
916
+ showAddress () {
917
+ return (this.selectdata.f_apply_type === '民用报建' || this.selectdata.f_apply_type === '设备拆除') && (this.selectdata.defname !== '工程施工')
918
+ },
919
+ showUserInfo () {
920
+ return (this.selectdata.f_apply_type === '民用报建' && this.selectdata.f_apply_nature !== '分户挂表') || (this.selectdata.f_apply_type === '设备拆除')
921
+ },
922
+ showUserFile () {
923
+ return (this.selectdata.f_apply_type === '民用报建' && this.selectdata.f_apply_nature !== '分户挂表' && this.selectdata.defname === '工程施工') ||
924
+ this.selectdata.f_apply_type === '非民用报建' ||
925
+ this.selectdata.f_apply_type === '设备变更' ||
926
+ this.selectdata.f_apply_type === '设备拆除' ||
927
+ this.selectdata.f_apply_type === '分户挂表'
928
+ },
929
+ showInstall () {
930
+ return (this.showUserFile && (this.selectdata.defname === '工程施工' || this.selectdata.defname === '施工通气' ||
931
+ this.selectdata.defname === '点火通气')) || (this.selectdata.f_apply_type === '设备拆除')
932
+ },
933
+ // 证件类型
934
+ credentialsList() {
935
+ return this.$appdata.getParam('证件类型')
936
+ },
446
937
  // 安装人
447
938
  installperson() {
448
- return this.$login.f.f_installman.map(item => {
449
- return {
450
- label: item.name,
451
- value: item.name
939
+ return function (f_install_person) {
940
+ if (isEmpty(f_install_person)) {
941
+ return this.$login.f.name
452
942
  }
453
- })
943
+ return f_install_person
944
+ }
945
+ },
946
+ // 安装时间
947
+ installdate() {
948
+ return function (f_install_date) {
949
+ if (isEmpty(f_install_date)) {
950
+ return new Date().Format('yyyy-MM-dd HH:mm:ss')
951
+ }
952
+ return f_install_date
953
+ }
454
954
  },
455
955
  // 表向
456
956
  aroundmeters() {
@@ -481,4 +981,20 @@ export default {
481
981
  .clearfix:after{
482
982
  clear: both;
483
983
  }
984
+ .input_view{
985
+ background-color: #ffffff;
986
+ border-radius: 2px;
987
+ border: solid 1px #c7c7c7!important;
988
+ color: #333333!important;
989
+ font-size: 15px!important;
990
+ }
991
+
992
+ .input_view[readonly]{
993
+ border: 1px solid #DDD!important;
994
+ color:#ACA899!important;
995
+ }
996
+ .input_view:disabled{
997
+ border: 1px solid #DDD!important;
998
+ color:#ACA899!important;
999
+ }
484
1000
  </style>