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