apply-clients 7.1.33 → 7.1.36

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 (431) hide show
  1. package/android.html +4 -0
  2. package/build/css-loaders.js +34 -0
  3. package/build/dev-client.js +8 -0
  4. package/build/dev-server.js +151 -0
  5. package/build/example-server.js +80 -0
  6. package/build/release.sh +28 -0
  7. package/build/utils.js +80 -0
  8. package/build/webpack.base.conf.js +123 -0
  9. package/build/webpack.baseandroid.conf.js +123 -0
  10. package/build/webpack.dev.conf.js +43 -0
  11. package/build/webpack.devandroid.conf.js +34 -0
  12. package/build/webpack.example.conf.js +49 -0
  13. package/build/webpack.prod.conf.js +60 -0
  14. package/build/webpack.prodandroid.conf.js +60 -0
  15. package/dist-android.7z +0 -0
  16. package/dist.7z +0 -0
  17. package/index.html +33 -30
  18. package/package.json +11 -7
  19. package/src/AndroidApp.vue +21 -14
  20. package/src/App.vue +18 -20
  21. package/{dist-android/static → src/android-bootstrap/fonts}/glyphicons-halflings-regular.eot +0 -0
  22. package/{dist-android/static → src/android-bootstrap/fonts}/glyphicons-halflings-regular.svg +0 -0
  23. package/{dist-android/static → src/android-bootstrap/fonts}/glyphicons-halflings-regular.ttf +0 -0
  24. package/{dist-android/static → src/android-bootstrap/fonts}/glyphicons-halflings-regular.woff +0 -0
  25. package/{dist-android/static → src/android-bootstrap/fonts}/glyphicons-halflings-regular.woff2 +0 -0
  26. package/src/android-bootstrap/less/.csscomb.json +304 -0
  27. package/src/android-bootstrap/less/.csslintrc +19 -0
  28. package/src/android-bootstrap/less/alerts.less +73 -0
  29. package/src/android-bootstrap/less/badges.less +66 -0
  30. package/src/android-bootstrap/less/bootstrap.less +56 -0
  31. package/src/android-bootstrap/less/breadcrumbs.less +26 -0
  32. package/src/android-bootstrap/less/button-groups.less +247 -0
  33. package/src/android-bootstrap/less/buttons.less +173 -0
  34. package/src/android-bootstrap/less/carousel.less +269 -0
  35. package/src/android-bootstrap/less/close.less +34 -0
  36. package/src/android-bootstrap/less/code.less +69 -0
  37. package/src/android-bootstrap/less/component-animations.less +33 -0
  38. package/src/android-bootstrap/less/dropdowns.less +216 -0
  39. package/src/android-bootstrap/less/forms.less +626 -0
  40. package/src/android-bootstrap/less/glyphicons.less +305 -0
  41. package/src/android-bootstrap/less/grid.less +84 -0
  42. package/src/android-bootstrap/less/input-groups.less +167 -0
  43. package/src/android-bootstrap/less/jumbotron.less +52 -0
  44. package/src/android-bootstrap/less/labels.less +64 -0
  45. package/src/android-bootstrap/less/list-group.less +141 -0
  46. package/src/android-bootstrap/less/media.less +66 -0
  47. package/src/android-bootstrap/less/mixins/alerts.less +14 -0
  48. package/src/android-bootstrap/less/mixins/background-variant.less +9 -0
  49. package/src/android-bootstrap/less/mixins/border-radius.less +18 -0
  50. package/src/android-bootstrap/less/mixins/buttons.less +69 -0
  51. package/src/android-bootstrap/less/mixins/center-block.less +7 -0
  52. package/src/android-bootstrap/less/mixins/clearfix.less +22 -0
  53. package/src/android-bootstrap/less/mixins/forms.less +90 -0
  54. package/src/android-bootstrap/less/mixins/gradients.less +59 -0
  55. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -0
  56. package/src/android-bootstrap/less/mixins/grid.less +122 -0
  57. package/src/android-bootstrap/less/mixins/hide-text.less +21 -0
  58. package/src/android-bootstrap/less/mixins/image.less +33 -0
  59. package/src/android-bootstrap/less/mixins/labels.less +12 -0
  60. package/src/android-bootstrap/less/mixins/list-group.less +30 -0
  61. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -0
  62. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -0
  63. package/src/android-bootstrap/less/mixins/opacity.less +8 -0
  64. package/src/android-bootstrap/less/mixins/pagination.less +24 -0
  65. package/src/android-bootstrap/less/mixins/panels.less +24 -0
  66. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -0
  67. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -0
  68. package/src/android-bootstrap/less/mixins/reset-text.less +18 -0
  69. package/src/android-bootstrap/less/mixins/resize.less +6 -0
  70. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -0
  71. package/src/android-bootstrap/less/mixins/size.less +10 -0
  72. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -0
  73. package/src/android-bootstrap/less/mixins/table-row.less +44 -0
  74. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -0
  75. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -0
  76. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -0
  77. package/src/android-bootstrap/less/mixins.less +40 -0
  78. package/src/android-bootstrap/less/modals.less +151 -0
  79. package/src/android-bootstrap/less/navbar.less +660 -0
  80. package/src/android-bootstrap/less/navs.less +302 -0
  81. package/src/android-bootstrap/less/normalize.less +424 -0
  82. package/src/android-bootstrap/less/pager.less +76 -0
  83. package/src/android-bootstrap/less/pagination.less +89 -0
  84. package/src/android-bootstrap/less/panels.less +274 -0
  85. package/src/android-bootstrap/less/popovers.less +131 -0
  86. package/src/android-bootstrap/less/print.less +101 -0
  87. package/src/android-bootstrap/less/progress-bars.less +87 -0
  88. package/src/android-bootstrap/less/responsive-embed.less +35 -0
  89. package/src/android-bootstrap/less/responsive-utilities.less +194 -0
  90. package/src/android-bootstrap/less/scaffolding.less +161 -0
  91. package/src/android-bootstrap/less/tables.less +262 -0
  92. package/src/android-bootstrap/less/theme.less +291 -0
  93. package/src/android-bootstrap/less/thumbnails.less +36 -0
  94. package/src/android-bootstrap/less/tooltip.less +102 -0
  95. package/src/android-bootstrap/less/type.less +303 -0
  96. package/src/android-bootstrap/less/utilities.less +55 -0
  97. package/src/android-bootstrap/less/variables.less +896 -0
  98. package/src/android-bootstrap/less/wells.less +29 -0
  99. package/src/android.js +7 -4
  100. package/src/apply.js +31 -15
  101. package/src/applyAndroid.js +52 -39
  102. package/src/assets//345/210/240/351/231/244.png +0 -0
  103. package/src/components/android/AppOnetomany.vue +301 -0
  104. package/src/components/android/AppServiceView.vue +568 -0
  105. package/src/components/android/AppSign.vue +169 -0
  106. package/src/components/android/AppTakePic.vue +142 -0
  107. package/src/components/android/AppUpload.vue +232 -0
  108. package/src/components/android/Ignition/VentilationIgnition.vue +328 -0
  109. package/src/components/android/Ignition/VentilationIgnitionHandle.vue +330 -0
  110. package/src/components/android/Process/AppExplorationUser.vue +352 -0
  111. package/src/components/android/Process/AppServiceControl.vue +1050 -0
  112. package/src/components/android/Process/Processes/AppDevicesManagement.vue +336 -0
  113. package/src/components/android/Process/Processes/AppInstallationDetails.vue +770 -0
  114. package/src/components/android/Process/Processes/SurveyUserSign.vue +56 -0
  115. package/src/components/android/Sign/AppSignTask.vue +182 -0
  116. package/src/components/android/Sign/SignProcess.vue +102 -0
  117. package/src/components/android/Supervisory/AppProcessSupervisory.vue +183 -0
  118. package/src/components/android/Supervisory/AppSupervisoryCart.vue +121 -0
  119. package/src/components/android/Task/Build/BuildTsak.vue +114 -0
  120. package/src/components/android/Task/Survey/SurveyTsak.vue +112 -0
  121. package/src/components/android/TaskGraph.vue +130 -0
  122. package/src/components/android/newPackage/customerServiceManager.vue +218 -0
  123. package/src/components/android/newPackage/designDrawings.vue +94 -0
  124. package/src/components/android/newPackage/detailedData.vue +24 -0
  125. package/src/components/android/newPackage/projectPrice.vue +218 -0
  126. package/src/components/image/dwg.png +0 -0
  127. package/src/components/image/dxf.png +0 -0
  128. package/src/components/product/ApplyCharge/ApplyChargeList.vue +141 -62
  129. package/src/components/product/ApplyCharge/ApplyChargeSearch.vue +2 -2
  130. package/src/components/product/Function/InstallFunction.vue +131 -147
  131. package/src/components/product/Function/InstallInfoSelect.vue +294 -281
  132. package/src/components/product/Function/Service/FunctionServiceControl.vue +323 -148
  133. package/src/components/product/Ignition/IgnitionDispatch.vue +277 -0
  134. package/src/components/product/Ignition/IgnitionRecord.vue +216 -0
  135. package/src/components/product/Onetomany.vue +377 -0
  136. package/src/components/product/Print/BuildOrder/buildOrderList.vue +229 -0
  137. package/src/components/product/Print/BuildOrder/printBuildOrder.vue +265 -0
  138. package/src/components/product/Process/ExplorationSelect.vue +281 -254
  139. package/src/components/product/Process/ExplorationUser.vue +151 -134
  140. package/src/components/product/Process/Processes/ApplyMapCom.vue +83 -0
  141. package/src/components/product/Process/Processes/ExhibitionPicture.vue +27 -0
  142. package/src/components/product/Process/Processes/InstallationDetails.vue +616 -277
  143. package/src/components/product/Process/Processes/Print/img/10101.png +0 -0
  144. package/src/components/product/Process/Processes/Print/img/1010109.png +0 -0
  145. package/src/components/product/Process/Processes/Print/img/1010110.png +0 -0
  146. package/src/components/product/Process/Processes/Print/img/1010111.png +0 -0
  147. package/src/components/product/Process/Processes/Print/img/1010112.png +0 -0
  148. package/src/components/product/Process/Processes/Print/printCharge.vue +142 -0
  149. package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +207 -249
  150. package/src/components/product/Process/Processes/chargeManagement.vue +331 -347
  151. package/src/components/product/Process/Processes/devicesManagement.vue +360 -0
  152. package/src/components/product/Process/Processes/selectApply.vue +250 -0
  153. package/src/components/product/Process/Processes/selectUserinfo.vue +182 -0
  154. package/src/components/product/Process/Processes/supplementalAgreement.vue +182 -181
  155. package/src/components/product/Process/Service/ServiceControl.vue +1314 -753
  156. package/src/components/product/Process/Service/ShowBackReason.vue +33 -0
  157. package/src/components/product/ServiceView.vue +632 -755
  158. package/src/components/product/Stop/StopApply.vue +105 -0
  159. package/src/components/product/Stop/StopApplyList.vue +224 -0
  160. package/src/components/product/Supervisory/NewSupervisoryhCart.vue +167 -0
  161. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +231 -199
  162. package/src/components/product/Supervisory/SupervisoryControl.vue +110 -121
  163. package/src/components/product/Supervisory/SupervisoryList.vue +98 -48
  164. package/src/components/product/Supervisory/SupervisoryhCart.vue +119 -103
  165. package/src/components/product/VueUtils/ApplyUpload.vue +279 -261
  166. package/src/components/product/VueUtils/HighMeter.vue +208 -0
  167. package/src/expandcssAndroid.less +1034 -0
  168. package/src/main.js +27 -23
  169. package/src/public/history/HistoryApplyList.vue +108 -0
  170. package/src/public/history/PublicHistoryApply.vue +39 -0
  171. package/src/public/history/PublicSupervisoryhCart.vue +72 -0
  172. package/src/public/order/PublicOrderApply.vue +387 -0
  173. package/dist-android/index.html +0 -3
  174. package/dist-android/static/.gitkeep +0 -0
  175. package/dist-android/static/0.js +0 -2
  176. package/dist-android/static/0.js.map +0 -1
  177. package/dist-android/static/1.js +0 -2
  178. package/dist-android/static/1.js.map +0 -1
  179. package/dist-android/static/10.js +0 -2
  180. package/dist-android/static/10.js.map +0 -1
  181. package/dist-android/static/100.js +0 -2
  182. package/dist-android/static/100.js.map +0 -1
  183. package/dist-android/static/11.js +0 -2
  184. package/dist-android/static/11.js.map +0 -1
  185. package/dist-android/static/12.js +0 -2
  186. package/dist-android/static/12.js.map +0 -1
  187. package/dist-android/static/13.js +0 -2
  188. package/dist-android/static/13.js.map +0 -1
  189. package/dist-android/static/14.js +0 -2
  190. package/dist-android/static/14.js.map +0 -1
  191. package/dist-android/static/15.js +0 -2
  192. package/dist-android/static/15.js.map +0 -1
  193. package/dist-android/static/16.js +0 -2
  194. package/dist-android/static/16.js.map +0 -1
  195. package/dist-android/static/17.js +0 -2
  196. package/dist-android/static/17.js.map +0 -1
  197. package/dist-android/static/18.js +0 -2
  198. package/dist-android/static/18.js.map +0 -1
  199. package/dist-android/static/19.js +0 -2
  200. package/dist-android/static/19.js.map +0 -1
  201. package/dist-android/static/2.js +0 -2
  202. package/dist-android/static/2.js.map +0 -1
  203. package/dist-android/static/20.js +0 -2
  204. package/dist-android/static/20.js.map +0 -1
  205. package/dist-android/static/21.js +0 -2
  206. package/dist-android/static/21.js.map +0 -1
  207. package/dist-android/static/22.js +0 -2
  208. package/dist-android/static/22.js.map +0 -1
  209. package/dist-android/static/23.js +0 -2
  210. package/dist-android/static/23.js.map +0 -1
  211. package/dist-android/static/24.js +0 -2
  212. package/dist-android/static/24.js.map +0 -1
  213. package/dist-android/static/25.js +0 -2
  214. package/dist-android/static/25.js.map +0 -1
  215. package/dist-android/static/26.js +0 -2
  216. package/dist-android/static/26.js.map +0 -1
  217. package/dist-android/static/27.js +0 -2
  218. package/dist-android/static/27.js.map +0 -1
  219. package/dist-android/static/28.js +0 -2
  220. package/dist-android/static/28.js.map +0 -1
  221. package/dist-android/static/29.js +0 -2
  222. package/dist-android/static/29.js.map +0 -1
  223. package/dist-android/static/3.js +0 -2
  224. package/dist-android/static/3.js.map +0 -1
  225. package/dist-android/static/30.js +0 -2
  226. package/dist-android/static/30.js.map +0 -1
  227. package/dist-android/static/31.js +0 -2
  228. package/dist-android/static/31.js.map +0 -1
  229. package/dist-android/static/32.js +0 -2
  230. package/dist-android/static/32.js.map +0 -1
  231. package/dist-android/static/33.js +0 -2
  232. package/dist-android/static/33.js.map +0 -1
  233. package/dist-android/static/34.js +0 -2
  234. package/dist-android/static/34.js.map +0 -1
  235. package/dist-android/static/35.js +0 -2
  236. package/dist-android/static/35.js.map +0 -1
  237. package/dist-android/static/36.js +0 -2
  238. package/dist-android/static/36.js.map +0 -1
  239. package/dist-android/static/37.js +0 -2
  240. package/dist-android/static/37.js.map +0 -1
  241. package/dist-android/static/38.js +0 -2
  242. package/dist-android/static/38.js.map +0 -1
  243. package/dist-android/static/39.js +0 -2
  244. package/dist-android/static/39.js.map +0 -1
  245. package/dist-android/static/4.js +0 -2
  246. package/dist-android/static/4.js.map +0 -1
  247. package/dist-android/static/40.js +0 -2
  248. package/dist-android/static/40.js.map +0 -1
  249. package/dist-android/static/41.js +0 -2
  250. package/dist-android/static/41.js.map +0 -1
  251. package/dist-android/static/42.js +0 -2
  252. package/dist-android/static/42.js.map +0 -1
  253. package/dist-android/static/43.js +0 -2
  254. package/dist-android/static/43.js.map +0 -1
  255. package/dist-android/static/44.js +0 -2
  256. package/dist-android/static/44.js.map +0 -1
  257. package/dist-android/static/45.js +0 -2
  258. package/dist-android/static/45.js.map +0 -1
  259. package/dist-android/static/46.js +0 -2
  260. package/dist-android/static/46.js.map +0 -1
  261. package/dist-android/static/47.js +0 -2
  262. package/dist-android/static/47.js.map +0 -1
  263. package/dist-android/static/48.js +0 -2
  264. package/dist-android/static/48.js.map +0 -1
  265. package/dist-android/static/49.js +0 -2
  266. package/dist-android/static/49.js.map +0 -1
  267. package/dist-android/static/5.js +0 -2
  268. package/dist-android/static/5.js.map +0 -1
  269. package/dist-android/static/50.js +0 -2
  270. package/dist-android/static/50.js.map +0 -1
  271. package/dist-android/static/51.js +0 -2
  272. package/dist-android/static/51.js.map +0 -1
  273. package/dist-android/static/52.js +0 -2
  274. package/dist-android/static/52.js.map +0 -1
  275. package/dist-android/static/53.js +0 -2
  276. package/dist-android/static/53.js.map +0 -1
  277. package/dist-android/static/54.js +0 -2
  278. package/dist-android/static/54.js.map +0 -1
  279. package/dist-android/static/55.js +0 -2
  280. package/dist-android/static/55.js.map +0 -1
  281. package/dist-android/static/56.js +0 -2
  282. package/dist-android/static/56.js.map +0 -1
  283. package/dist-android/static/57.js +0 -2
  284. package/dist-android/static/57.js.map +0 -1
  285. package/dist-android/static/58.js +0 -2
  286. package/dist-android/static/58.js.map +0 -1
  287. package/dist-android/static/59.js +0 -2
  288. package/dist-android/static/59.js.map +0 -1
  289. package/dist-android/static/6.js +0 -2
  290. package/dist-android/static/6.js.map +0 -1
  291. package/dist-android/static/60.js +0 -2
  292. package/dist-android/static/60.js.map +0 -1
  293. package/dist-android/static/61.js +0 -2
  294. package/dist-android/static/61.js.map +0 -1
  295. package/dist-android/static/62.js +0 -2
  296. package/dist-android/static/62.js.map +0 -1
  297. package/dist-android/static/63.js +0 -2
  298. package/dist-android/static/63.js.map +0 -1
  299. package/dist-android/static/64.js +0 -2
  300. package/dist-android/static/64.js.map +0 -1
  301. package/dist-android/static/65.js +0 -2
  302. package/dist-android/static/65.js.map +0 -1
  303. package/dist-android/static/66.js +0 -2
  304. package/dist-android/static/66.js.map +0 -1
  305. package/dist-android/static/67.js +0 -2
  306. package/dist-android/static/67.js.map +0 -1
  307. package/dist-android/static/68.js +0 -2
  308. package/dist-android/static/68.js.map +0 -1
  309. package/dist-android/static/69.js +0 -2
  310. package/dist-android/static/69.js.map +0 -1
  311. package/dist-android/static/7.js +0 -6
  312. package/dist-android/static/7.js.map +0 -1
  313. package/dist-android/static/70.js +0 -2
  314. package/dist-android/static/70.js.map +0 -1
  315. package/dist-android/static/71.js +0 -2
  316. package/dist-android/static/71.js.map +0 -1
  317. package/dist-android/static/72.js +0 -2
  318. package/dist-android/static/72.js.map +0 -1
  319. package/dist-android/static/73.js +0 -2
  320. package/dist-android/static/73.js.map +0 -1
  321. package/dist-android/static/74.js +0 -2
  322. package/dist-android/static/74.js.map +0 -1
  323. package/dist-android/static/75.js +0 -2
  324. package/dist-android/static/75.js.map +0 -1
  325. package/dist-android/static/76.js +0 -2
  326. package/dist-android/static/76.js.map +0 -1
  327. package/dist-android/static/77.js +0 -2
  328. package/dist-android/static/77.js.map +0 -1
  329. package/dist-android/static/78.js +0 -2
  330. package/dist-android/static/78.js.map +0 -1
  331. package/dist-android/static/79.js +0 -2
  332. package/dist-android/static/79.js.map +0 -1
  333. package/dist-android/static/8.js +0 -2
  334. package/dist-android/static/8.js.map +0 -1
  335. package/dist-android/static/80.js +0 -2
  336. package/dist-android/static/80.js.map +0 -1
  337. package/dist-android/static/81.js +0 -2
  338. package/dist-android/static/81.js.map +0 -1
  339. package/dist-android/static/82.js +0 -2
  340. package/dist-android/static/82.js.map +0 -1
  341. package/dist-android/static/83.js +0 -2
  342. package/dist-android/static/83.js.map +0 -1
  343. package/dist-android/static/84.js +0 -2
  344. package/dist-android/static/84.js.map +0 -1
  345. package/dist-android/static/85.js +0 -2
  346. package/dist-android/static/85.js.map +0 -1
  347. package/dist-android/static/86.js +0 -2
  348. package/dist-android/static/86.js.map +0 -1
  349. package/dist-android/static/87.js +0 -2
  350. package/dist-android/static/87.js.map +0 -1
  351. package/dist-android/static/88.js +0 -2
  352. package/dist-android/static/88.js.map +0 -1
  353. package/dist-android/static/89.js +0 -2
  354. package/dist-android/static/89.js.map +0 -1
  355. package/dist-android/static/9.js +0 -3
  356. package/dist-android/static/9.js.map +0 -1
  357. package/dist-android/static/90.js +0 -2
  358. package/dist-android/static/90.js.map +0 -1
  359. package/dist-android/static/91.js +0 -2
  360. package/dist-android/static/91.js.map +0 -1
  361. package/dist-android/static/92.js +0 -2
  362. package/dist-android/static/92.js.map +0 -1
  363. package/dist-android/static/93.js +0 -2
  364. package/dist-android/static/93.js.map +0 -1
  365. package/dist-android/static/94.js +0 -2
  366. package/dist-android/static/94.js.map +0 -1
  367. package/dist-android/static/95.js +0 -2
  368. package/dist-android/static/95.js.map +0 -1
  369. package/dist-android/static/96.js +0 -2
  370. package/dist-android/static/96.js.map +0 -1
  371. package/dist-android/static/97.js +0 -2
  372. package/dist-android/static/97.js.map +0 -1
  373. package/dist-android/static/98.js +0 -2
  374. package/dist-android/static/98.js.map +0 -1
  375. package/dist-android/static/99.js +0 -2
  376. package/dist-android/static/99.js.map +0 -1
  377. package/dist-android/static/app.css +0 -2
  378. package/dist-android/static/app.css.map +0 -1
  379. package/dist-android/static/app.js +0 -80
  380. package/dist-android/static/app.js.map +0 -1
  381. package/dist-android/static/batchleft.png +0 -0
  382. package/dist-android/static/batchright.png +0 -0
  383. package/dist-android/static/bluemainbg.jpg +0 -0
  384. package/dist-android/static/config.json +0 -7
  385. package/dist-android/static/denglu.png +0 -0
  386. package/dist-android/static/huangtengbiaozhi.png +0 -0
  387. package/dist-android/static/jingyin.jpg +0 -0
  388. package/dist-android/static/login_bg.jpg +0 -0
  389. package/dist-android/static/login_title.png +0 -0
  390. package/dist-android/static/login_title1.png +0 -0
  391. package/dist-android/static/loginbg.jpg +0 -0
  392. package/dist-android/static/loginlogo.png +0 -0
  393. package/dist-android/static/main_logo.png +0 -0
  394. package/dist-android/static/mainbg.jpg +0 -0
  395. package/dist-android/static/menulogo.png +0 -0
  396. package/dist-android/static/newmainbg.jpg +0 -0
  397. package/dist-android/static/psicon.png +0 -0
  398. package/dist-android/static/singleleft.png +0 -0
  399. package/dist-android/static/singleright.png +0 -0
  400. package/dist-android/static/treeopen.png +0 -0
  401. package/dist-android/static/treeout.png +0 -0
  402. package/dist-android/static/treeset.png +0 -0
  403. package/dist-android/static/usericon.png +0 -0
  404. package/dist-android/static/workflow_apply.json +0 -766
  405. package/dist-android/static/xinxi.png +0 -0
  406. package/dist-android/static//344/277/256/346/224/271/345/257/206/347/240/201.png +0 -0
  407. 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
  408. package/dist-android/static//345/257/274/345/207/272/346/225/260/346/215/256.png +0 -0
  409. package/dist-android/static//346/270/205/347/251/272/346/225/260/346/215/256.png +0 -0
  410. package/src/components/app_apply/Acceptance.vue +0 -298
  411. package/src/components/app_apply/ApplyApp.vue +0 -91
  412. package/src/components/app_apply/ApplyDownList.vue +0 -166
  413. package/src/components/app_apply/ApplyInfo.vue +0 -56
  414. package/src/components/app_apply/ApplyListUpload.vue +0 -258
  415. package/src/components/app_apply/ApplyToDoList.vue +0 -165
  416. package/src/components/app_apply/ApplyUserInfo.vue +0 -56
  417. package/src/components/app_apply/FieldExploration.vue +0 -267
  418. package/src/components/app_apply/PlaceControler.vue +0 -258
  419. package/src/components/app_apply/ServiceControl.vue +0 -267
  420. package/src/components/app_apply/ServiceView.vue +0 -355
  421. package/src/components/app_apply/ToolsPage.vue +0 -51
  422. package/src/components/app_apply/Ventilation.vue +0 -199
  423. package/src/components/product/ApplyCharge/ApplyChargeReport.vue +0 -107
  424. package/src/components/product/Function/StopApplyCrrdList.vue +0 -176
  425. package/src/components/product/Function/functions/ApplyRecordCancel.vue +0 -102
  426. package/src/components/product/Function/functions/StopInstall.vue +0 -106
  427. package/src/components/product/Process/Processes/printCharge.vue +0 -126
  428. package/src/components/product/Process/ShowBackReason.vue +0 -32
  429. package/src/components/product/ReportForm/GasIgnitionSummary.vue +0 -352
  430. package/src/components/product/VueUtils/ToolsPage.vue +0 -51
  431. package/src/components/product/VueUtils/Tree.vue +0 -330
@@ -0,0 +1,1050 @@
1
+ <template>
2
+ <div class="col-sm-12 col-xs-12 p-10">
3
+ <accordion one-at-a-time="true">
4
+ <panel :header="selectdata.defname" :is-open="true" type="primary">
5
+ <app-service-view v-ref:serviceview :data="show_data" v-if="showview"></app-service-view>
6
+ </panel>
7
+ <panel header="拍照" :is-open="false" type="primary" v-if="selectdata.f_process_id">
8
+ <app-take-pic :blobid="selectdata.f_process_id" :defname="selectdata.defname" :isdelete="true" :istakepic="true"
9
+ :istype="true"></app-take-pic>
10
+ </panel>
11
+ <!-- <panel header='附件' :is-open="false" type="primary">-->
12
+ <!-- <app-upload :blodid="selectdata.f_process_id"-->
13
+ <!-- :isupload="true"-->
14
+ <!-- :isdelete="true"-->
15
+ <!-- :isusetype="true"-->
16
+ <!-- :isremark="true"-->
17
+ <!-- :takeimg="true"-->
18
+ <!-- :issearch="true"-->
19
+ <!-- :defname="selectdata.defname">-->
20
+ <!-- </app-upload>-->
21
+ <!-- </panel>-->
22
+ </accordion>
23
+ </div>
24
+ </template>
25
+ <script>
26
+ import Vue from 'vue'
27
+ import {HttpResetClass} from 'vue-client'
28
+ import {isEmpty} from '../../Util'
29
+ // Date格式化
30
+ Date.prototype.Format = function (fmt) {
31
+ var o = {
32
+ 'M+': this.getMonth() + 1, // 月份
33
+ 'd+': this.getDate(), // 日
34
+ 'H+': this.getHours(), // 小时
35
+ 'm+': this.getMinutes(), // 分
36
+ 's+': this.getSeconds(), // 秒
37
+ 'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
38
+ 'S': this.getMilliseconds() // 毫秒
39
+ }
40
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
41
+ for (var k in o) {
42
+ if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
43
+ }
44
+ return fmt
45
+ }
46
+ export default {
47
+ title: '报建流程业务控制层',
48
+ props: ['selectdata'],
49
+ data() {
50
+ return {
51
+ json_datas: null,
52
+ data: null,
53
+ show_data: null,
54
+ showview: false,
55
+ config: {}
56
+ }
57
+ },
58
+ ready() {
59
+ this.refurbish()
60
+ },
61
+ methods: {
62
+ async refurbish() {
63
+ this.showview = false
64
+ let data = {
65
+ workname: this.selectdata.processname
66
+ }
67
+
68
+ let res = await this.$resetpost(
69
+ `${this.$androidUtil.getProxyUrl()}/rs/logic/ApplyGetConfigs`,
70
+ {data: data},
71
+ {resolveMsg: null, rejectMsg: '配置数据获取失败!!!'}
72
+ )
73
+
74
+ this.json_datas = res.data
75
+
76
+ let sum = 0
77
+ let jsonData = {}
78
+ if (!this.json_datas || !this.json_datas.activitys || this.json_datas.activitys.length === 0) {
79
+ this.$showMessage("网络故障,请刷新页面")
80
+ return
81
+ }
82
+ this.json_datas.activitys.forEach(item => {
83
+ if (this.selectdata.defname === item.title) {
84
+ jsonData = item // 拿到当前节点的json配置信息
85
+ sum++ // 节点名一样的个数
86
+ }
87
+ return this.selectdata.defname === item.title // 拿到当前节点的json配置信息
88
+ })
89
+
90
+ if (sum === 0) {
91
+ this.$showMessage(`没有在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置`)
92
+ return
93
+ }
94
+ if (sum > 1) {
95
+ this.$showMessage(`在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置:${sum}个`)
96
+ return
97
+ }
98
+
99
+ this.selectdata = Object.assign({}, this.selectdata, jsonData)
100
+
101
+ // fields 字段填充值
102
+ for (const item of this.selectdata.fields) {
103
+ if (!item.value) {
104
+ item.value = null
105
+ }
106
+
107
+ if (!item.value && (item.default || item.default === 0) && item.type !== 'datepicker') {
108
+ if (item.eval) {
109
+ let user = Vue.user
110
+ // 将PC用户信息 替换成 APP的
111
+ item.value = eval(item.default.replace('this.$login.f', 'user'))
112
+ } else {
113
+ item.value = item.default
114
+ }
115
+ }
116
+
117
+ if (this.selectdata[item.field]) {
118
+ // 将json字符串格式化赋值给value
119
+ if (String(this.selectdata[item.field]).startsWith("{")) {
120
+ item.value = JSON.parse(this.selectdata[item.field])
121
+ } else {
122
+ item.value = this.selectdata[item.field]
123
+ }
124
+ }
125
+ if (this.selectdata[item.field] === 0) {
126
+ item.value = 0
127
+ }
128
+
129
+ // datepicker
130
+ if (item.type === 'datepicker' && !item.value && item.default) {
131
+ item.value = new Date().Format(`${item.format ? item.format : 'yyyy-MM-dd HH:mm:ss'}`)
132
+ }
133
+
134
+ // 如果配置类型为select,优先从参数列表获取options
135
+ if (item.type === 'select' || item.type === 'checkbox') {
136
+ if (item.param) {
137
+ let temp = this.$appdata.getParam(item.label)
138
+
139
+ if (temp && temp.length > 0) {
140
+ item.options = temp
141
+ }
142
+
143
+ if (item.paramLabel) {
144
+ temp = this.$appdata.getParam(item.paramLabel)
145
+ if (temp && temp.length > 0) {
146
+ item.options = temp
147
+ }
148
+ }
149
+ }
150
+
151
+ if (item.ready) {
152
+ item.options = await this[item.ready]()
153
+ }
154
+ }
155
+
156
+
157
+ if (item.type === 'checkbox') {
158
+ if (this.selectdata[item.field]) {
159
+ item.value = JSON.parse(this.selectdata[item.field])
160
+ } else {
161
+ item.value = []
162
+ }
163
+ }
164
+ }
165
+
166
+ // 控制组件
167
+ if (this.selectdata.components) {
168
+ this.selectdata.components.forEach(item => {
169
+ if (!item.mark) {
170
+ item.mark = 0
171
+ }
172
+ })
173
+ }
174
+
175
+ // 初始化onetomany
176
+ if (this.selectdata.onetomany) {
177
+ for (const item of this.selectdata.onetomany) {
178
+ let res = null
179
+ if (item.queryEvent) {
180
+ res = this[item.queryEvent]()
181
+ } else {
182
+ let http = new HttpResetClass()
183
+ let data = {
184
+ tablename: item.tables[0],
185
+ condition: `f_process_id='${this.selectdata.f_process_id}'`
186
+ }
187
+ res = await http.load(
188
+ 'POST',
189
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`,
190
+ // `rs/sql/applySingleTable`,
191
+ {data: data},
192
+ {resolveMsg: null, rejectMsg: 'onetomany查询失败'}
193
+ )
194
+ }
195
+
196
+ item.rows = res.data
197
+
198
+ // 初始化onetomany中的fields
199
+ for (const field of item.fields) {
200
+ if (!field.value) {
201
+ if (field.value !== 0) {
202
+ field.value = null
203
+ }
204
+ }
205
+
206
+ if (field.default || field.default === 0) {
207
+ field.value = field.default
208
+ }
209
+
210
+ // datepicker
211
+ if (field.type === 'datepicker' && !field.value && field.default) {
212
+ field.value = new Date().Format(`${field.format ? field.format : 'yyyy-MM-dd HH:mm:ss'}`)
213
+ }
214
+
215
+ if (field.type === 'select') {
216
+
217
+ if (field.param) {
218
+ let temp = this.$appdata.getParam(field.label)
219
+
220
+ if (temp && temp.length > 0) {
221
+ field.options = temp
222
+ }
223
+
224
+ if (field.paramLabel) {
225
+ temp = this.$appdata.getParam(field.paramLabel)
226
+ if (temp && temp.length > 0) {
227
+ item.options = temp
228
+ }
229
+ }
230
+ }
231
+
232
+ }
233
+ }
234
+ }
235
+ }
236
+
237
+ // 初始化 buttons_fields
238
+ for (const item of this.selectdata.buttons) {
239
+ if (item.button_name === '下发') {
240
+ let data = {
241
+ source: item.source,
242
+ userid: Vue.user.id
243
+ // userid: '51953'
244
+ }
245
+ if (item.sourceMethod) {
246
+ data.source = this[item.sourceMethod]()
247
+ }
248
+ if (!data.source) {
249
+ this.$showMessage("请配置获取人员表达式")
250
+ return
251
+ }
252
+ let res = await this.$resetpost(
253
+ `${this.$androidUtil.getProxyUrl()}/rs/search`,
254
+ // `rs/search`,
255
+ {data: data},
256
+ {resolveMsg: null, rejectMsg: '下发人员查询失败!!!'}
257
+ )
258
+
259
+ let options = res.data.map(source => {
260
+ return {
261
+ "label": source.name,
262
+ "value": source.id
263
+ }
264
+ })
265
+
266
+ if (item.button_fields.length !== 1) {
267
+ this.$showMessage("下发有且只能有一个字段!!!")
268
+ return
269
+ }
270
+
271
+ item.button_fields[0].options = options
272
+ }
273
+ if (item.button_fields) {
274
+ item.button_fields.forEach(x => {
275
+ // 如果配置类型为select,优先从参数列表获取options
276
+ if (x.type === 'select') {
277
+
278
+ if (x.param) {
279
+ let temp = this.$appdata.getParam(x.label)
280
+
281
+ if (temp && temp.length > 0) {
282
+ x.options = temp
283
+ }
284
+
285
+ if (x.paramLabel) {
286
+ temp = this.$appdata.getParam(x.paramLabel)
287
+ if (temp && temp.length > 0) {
288
+ x.options = temp
289
+ }
290
+ }
291
+ }
292
+
293
+ }
294
+ })
295
+ }
296
+ }
297
+
298
+ // 消除双向绑定,避免子组件(显示层)数据更改,父组件(控制层)也更改
299
+ let temp = JSON.parse(JSON.stringify(this.selectdata))
300
+
301
+ this.show_data = temp
302
+ this.$nextTick(() => {
303
+ this.showview = true
304
+ })
305
+ },
306
+ // 金额转大写
307
+ smalltoBIG(n) {
308
+ let fraction = ['角', '分'];
309
+ let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
310
+ let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];
311
+ let head = n < 0 ? '欠' : '';
312
+ n = Math.abs(n);
313
+
314
+ let s = '';
315
+
316
+ for (var i = 0; i < fraction.length; i++) {
317
+ s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
318
+ }
319
+ s = s || '整';
320
+ n = Math.floor(n);
321
+
322
+ for (var i = 0; i < unit[0].length && n > 0; i++) {
323
+ let p = '';
324
+ for (var j = 0; j < unit[1].length && n > 0; j++) {
325
+ p = digit[n % 10] + unit[1][j] + p;
326
+ n = Math.floor(n / 10);
327
+ }
328
+ s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
329
+ }
330
+ return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
331
+ },
332
+ getLableValue(label) {
333
+ for (const item of this.show_data.fields) {
334
+ if (item.label === label && item.type !== 'number') {
335
+ return item.value || ''
336
+ }
337
+ if (item.label === label && item.type === 'number') {
338
+ return item.value || 0
339
+ }
340
+ }
341
+ },
342
+ getLableOptions(label) {
343
+ for (const item of this.show_data.fields) {
344
+ if (item.label === label) {
345
+ return item.options
346
+ }
347
+ }
348
+ },
349
+ setLabelValue(label, value) {
350
+ for (const item of this.show_data.fields) {
351
+ if (item.label === label) {
352
+ item.value = value
353
+ this.show_data[item.field] = value
354
+ }
355
+ }
356
+ },
357
+ setLabelOptions(label, options) {
358
+ for (const item of this.show_data.fields) {
359
+ if (item.label === label) {
360
+ item.options = options
361
+ }
362
+ }
363
+ },
364
+ showLabels(...labels) {
365
+ for (const item of this.show_data.fields) {
366
+ if (labels.includes(item.label)) {
367
+ item.hidden = false
368
+ }
369
+ }
370
+ },
371
+ hideLabels(...labels) {
372
+ for (const item of this.show_data.fields) {
373
+ if (labels.includes(item.label)) {
374
+ item.hidden = true
375
+ }
376
+ }
377
+ },
378
+ showButtons(...buttons) {
379
+ for (const item of this.show_data.buttons) {
380
+ if (buttons.includes(item.button_name)) {
381
+ item.hidden = false
382
+ }
383
+ }
384
+ },
385
+ hideButtons(...buttons) {
386
+ for (const item of this.show_data.buttons) {
387
+ if (buttons.includes(item.button_name)) {
388
+ item.hidden = true
389
+ }
390
+ }
391
+ },
392
+ requiredLabels(...labels) {
393
+ for (const item of this.show_data.fields) {
394
+ if (labels.includes(item.label)) {
395
+ item.required = true
396
+ }
397
+ }
398
+ },
399
+ electiveLabels(...labels) {
400
+ for (const item of this.show_data.fields) {
401
+ if (labels.includes(item.label)) {
402
+ item.required = false
403
+ }
404
+ }
405
+ },
406
+ readonlyLabels(...labels) {
407
+ for (const item of this.show_data.fields) {
408
+ if (labels.includes(item.label)) {
409
+ item.readonly = true
410
+ item.disabled = true
411
+ }
412
+ }
413
+ },
414
+ readwriteLabels(...labels) {
415
+ for (const item of this.show_data.fields) {
416
+ if (labels.includes(item.label)) {
417
+ item.readonly = false
418
+ item.disabled = false
419
+ }
420
+ }
421
+ },
422
+ disabledButtons(...buttons) {
423
+ for (const item of this.show_data.buttons) {
424
+ if (buttons.includes(item.button_name)) {
425
+ item.disabled = true
426
+ }
427
+ }
428
+ },
429
+ enableButtons(...buttons) {
430
+ for (const item of this.show_data.buttons) {
431
+ if (buttons.includes(item.button_name)) {
432
+ item.disabled = false
433
+ }
434
+ }
435
+ },
436
+ showComponents(...titles) {
437
+ for (const item of this.show_data.components) {
438
+ if (titles.includes(item.title) && item.device === 'app') {
439
+ item.hidden = false
440
+ }
441
+ }
442
+ },
443
+ hideComponents(...titles) {
444
+ for (const item of this.show_data.components) {
445
+ if (titles.includes(item.title) && item.device === 'app') {
446
+ item.hidden = true
447
+ }
448
+ }
449
+ },
450
+ async checkDuplicate(index) {
451
+ let http = new HttpResetClass()
452
+ let data = {
453
+ tablename: 't_apply',
454
+ condition: `${this.show_data.fields[index].field} = '${this.show_data.fields[index].value}'`
455
+ }
456
+ let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`, {data: data}, {
457
+ resolveMsg: null,
458
+ rejectMsg: `${this.show_data.fields[index].label}查询失败`
459
+ })
460
+ if (res.data.length > 0) {
461
+ this.show_data.fields[index].value = null
462
+ this.$showAlert(`${this.show_data.fields[index].label}已存在!!!`, 'warning', 3000)
463
+ }
464
+ },
465
+ async breakControl() {
466
+ if (this.show_data.id) {
467
+ let data = {
468
+ condition: `u.id = ${this.show_data.id}`,
469
+ data: {
470
+ userid: Vue.user.id,
471
+ f_filiale: Vue.user.f_fengongsi
472
+ }
473
+ }
474
+ let res = await this.$resetpost(
475
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/checkuser`,
476
+ {data: data},
477
+ {resolveMsg: null, rejectMsg: '数据更新失败,请手查询更新!!!'}
478
+ )
479
+
480
+ this.selectdata = res.data[0]
481
+ } else {
482
+ this.selectdata = servicedata
483
+ }
484
+
485
+ this.refurbish()
486
+ },
487
+ // ------------------------------
488
+ async getConstructionWorker() {
489
+ let data = {
490
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
491
+ userid: Vue.user.id
492
+ }
493
+
494
+ let res = await this.$resetpost(
495
+ `${this.$androidUtil.getProxyUrl()}/rs/search`,
496
+ {data: data},
497
+ {resolveMsg: null, rejectMsg: '现场负责人查询失败!!!'}
498
+ )
499
+
500
+ return res.data.map(item => {
501
+ return {
502
+ label: item.name,
503
+ value: item.id
504
+ }
505
+ })
506
+ },
507
+ // 安装单位
508
+ async getConstructionUnit() {
509
+ let data = {
510
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
511
+ userid: Vue.user.id
512
+ }
513
+
514
+ let res = await this.$resetpost(
515
+ `${this.$androidUtil.getProxyUrl()}/rs/search`,
516
+ {data: data},
517
+ {resolveMsg: null, rejectMsg: '安装单位人员查询失败!!!'}
518
+ )
519
+
520
+ return res.data.map(item => {
521
+ return {
522
+ label: item.name,
523
+ value: item.id
524
+ }
525
+ })
526
+ },
527
+ // 建设单位
528
+ async getConstructOperator() {
529
+ let data = {
530
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
531
+ userid: Vue.user.id
532
+ }
533
+
534
+ let res = await this.$resetpost(
535
+ `${this.$androidUtil.getProxyUrl()}/rs/search`,
536
+ {data: data},
537
+ {resolveMsg: null, rejectMsg: '建设单位人员查询失败!!!'}
538
+ )
539
+
540
+ return res.data.map(item => {
541
+ return {
542
+ label: item.name,
543
+ value: item.id
544
+ }
545
+ })
546
+ },
547
+ // 监理单位
548
+ async getSupervisorOperator() {
549
+ let data = {
550
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
551
+ userid: Vue.user.id
552
+ }
553
+
554
+ let res = await this.$resetpost(
555
+ `${this.$androidUtil.getProxyUrl()}/rs/search`,
556
+ {data: data},
557
+ {resolveMsg: null, rejectMsg: '监理单位人员查询失败!!!'}
558
+ )
559
+
560
+ return res.data.map(item => {
561
+ return {
562
+ label: item.name,
563
+ value: item.id
564
+ }
565
+ })
566
+ },
567
+ // 土建单位
568
+ async getEngineeringOperator() {
569
+ let data = {
570
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
571
+ userid: Vue.user.id
572
+ }
573
+
574
+ let res = await this.$resetpost(
575
+ `${this.$androidUtil.getProxyUrl()}/rs/search`,
576
+ {data: data},
577
+ {resolveMsg: null, rejectMsg: '土建单位人员查询失败!!!'}
578
+ )
579
+
580
+ let result = res.data.map(item => {
581
+ return {
582
+ label: item.name,
583
+ value: item.id
584
+ }
585
+ })
586
+ result.push({label: '用户自理', value: '用户自理'})
587
+ return result
588
+ },
589
+ // 检测单位
590
+ async getCheckOperator() {
591
+ let data = {
592
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
593
+ userid: Vue.user.id
594
+ }
595
+
596
+ let res = await this.$resetpost(
597
+ `${this.$androidUtil.getProxyUrl()}/rs/search`,
598
+ {data: data},
599
+ {resolveMsg: null, rejectMsg: '检测单位人员查询失败!!!'}
600
+ )
601
+
602
+ return res.data.map(item => {
603
+ return {
604
+ label: item.name,
605
+ value: item.id
606
+ }
607
+ })
608
+ },
609
+ // 获取气表品牌
610
+ async getMeterBrand() {
611
+ let data = {}
612
+
613
+ let http = new HttpResetClass()
614
+ let res = await http.load(
615
+ 'POST',
616
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/getMeterBrand`,
617
+ {data: data},
618
+ {resolveMsg: null, rejectMsg: '气表品牌查询失败!!!'}
619
+ )
620
+
621
+ return res.data
622
+ },
623
+ // 获取小区
624
+ async getResidentialArea() {
625
+ let data = {
626
+ tablename: 't_area_address',
627
+ condition: `f_filiale = '${Vue.user.f_fengongsi}' and f_area_status = '启用'`
628
+ }
629
+ let http = new HttpResetClass()
630
+ let res = await http.load(
631
+ 'POST',
632
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`,
633
+ {data: data},
634
+ {resolveMsg: null, rejectMsg: '小区查询失败!!!'}
635
+ )
636
+ return res.data.map(item => {
637
+ return {
638
+ label: item.f_residential_area,
639
+ value: item.id
640
+ }
641
+ })
642
+ },
643
+ //现场勘察
644
+ async prospectingBefore() {
645
+ let data = {
646
+ tablename: 't_files',
647
+ condition: `f_blobid = '${this.selectdata.f_process_id}' and defname = '现场勘察' and fremarks = '报装手机签字文件'`
648
+ }
649
+ let http = new HttpResetClass()
650
+ let res = await http.load(
651
+ 'POST',
652
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`,
653
+ {data: data},
654
+ {resolveMsg: null, rejectMsg: null}
655
+ )
656
+ if (res.data.length <= 0) {
657
+ this.$showAlert('现场勘察未签字,无法提交!!!', 'warning', 3000)
658
+ throw '现场勘察未签字,无法提交!'
659
+ }
660
+ },
661
+ // 施工前置
662
+ async constructionBefore() {
663
+ if (this.show_data.f_apply_nature !== '小区') {
664
+ let http = new HttpResetClass()
665
+ let data = {
666
+ condition: `ui.f_process_id = '${this.show_data.f_process_id}' and f_meternumber is null`
667
+ }
668
+ let res = await http.load(
669
+ 'POST',
670
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/countApplyUserinfo`,
671
+ {data: data},
672
+ {
673
+ resolveMsg: null,
674
+ rejectMsg: '安装明细查询失败!!!'
675
+ })
676
+ if (res.data[0].num > 0) {
677
+ this.$showAlert(`还有${res.data[0].num}户未安装,无法提交`, 'warning', 3000)
678
+ throw `还有${res.data[0].num}户未安装,无法提交`
679
+ }
680
+ }
681
+ },
682
+ async userSignBefore() {
683
+ let http = new HttpResetClass()
684
+ let data = {
685
+ tablename: 't_files',
686
+ condition: `f_blobid = '${this.selectdata.f_process_id}' and defname = '${this.selectdata.defname}' and fremarks = '报装手机签字文件'`
687
+ }
688
+ let res = await http.load(
689
+ 'POST',
690
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`,
691
+ {data: data},
692
+ {resolveMsg: null, rejectMsg: null}
693
+ )
694
+ if (res.data.length <= 0) {
695
+ this.$showAlert('用户未签字,无法提交!!!', 'warning', 3000)
696
+ throw '用户未签字,无法提交!'
697
+ }
698
+ },
699
+ signBefore() {
700
+ if (this.show_data.defname === '检测单位签字') {
701
+ if (isEmpty(this.show_data.f_check_sign)) {
702
+ this.$showAlert(`签字后才可提交!!!`, 'warning', 3000)
703
+ throw `签字后才可提交!!!`
704
+ }
705
+ this.show_data.f_check_operator = Vue.user.name
706
+ this.show_data.f_check_date = new Date().Format('yyyy-MM-dd HH:mm:ss')
707
+ this.show_data.employeetemplate = this.show_data.f_build_operator_id
708
+ }
709
+ if (this.show_data.defname === '安装单位签字') {
710
+ if (isEmpty(this.show_data.f_build_sign)) {
711
+ this.$showAlert(`签字后才可提交!!!`, 'warning', 3000)
712
+ throw `签字后才可提交!!!`
713
+ }
714
+ this.show_data.f_build_operator = Vue.user.name
715
+ this.show_data.f_build_date = new Date().Format('yyyy-MM-dd HH:mm:ss')
716
+ this.show_data.employeetemplate = this.show_data.f_engineering_operator_id
717
+ if (this.show_data.f_engineering_operator_id === '用户自理') {
718
+ this.show_data.f_engineering_operator = this.show_data.f_engineering_operator_id
719
+ this.show_data.f_engineering_date = new Date().Format('yyyy-MM-dd HH:mm:ss')
720
+ this.show_data.employeetemplate = this.show_data.f_supervisor_operator_id
721
+ }
722
+ }
723
+ if (this.show_data.defname === '土建单位签字') {
724
+ if (isEmpty(this.show_data.f_engineering_sign)) {
725
+ this.$showAlert(`签字后才可提交!!!`, 'warning', 3000)
726
+ throw `签字后才可提交!!!`
727
+ }
728
+ this.show_data.f_engineering_operator = Vue.user.name
729
+ this.show_data.f_engineering_date = new Date().Format('yyyy-MM-dd HH:mm:ss')
730
+ this.show_data.employeetemplate = this.show_data.f_supervisor_operator_id
731
+ }
732
+ if (this.show_data.defname === '监理单位签字') {
733
+ if (isEmpty(this.show_data.f_supervisor_sign)) {
734
+ this.$showAlert(`签字后才可提交!!!`, 'warning', 3000)
735
+ throw `签字后才可提交!!!`
736
+ }
737
+ this.show_data.f_supervisor_operator = Vue.user.name
738
+ this.show_data.f_supervisor_date = new Date().Format('yyyy-MM-dd HH:mm:ss')
739
+ this.show_data.employeetemplate = this.show_data.f_construct_operator_id
740
+ }
741
+ if (this.show_data.defname === '建设单位签字') {
742
+ if (isEmpty(this.show_data.f_construct_sign)) {
743
+ this.$showAlert(`签字后才可提交!!!`, 'warning', 3000)
744
+ throw `签字后才可提交!!!`
745
+ }
746
+ this.show_data.f_construct_operator = Vue.user.name
747
+ this.show_data.f_construct_date = new Date().Format('yyyy-MM-dd HH:mm:ss')
748
+ }
749
+ }
750
+ },
751
+ events: {
752
+ // 强制开关阀
753
+ async 'onOffValve'() {
754
+ let data = {
755
+ condition: `ui.f_userinfo_id = '${this.show_data.f_userinfo_id}'`
756
+ }
757
+ let http = new HttpResetClass()
758
+ let res = await http.load(
759
+ 'POST',
760
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/getApplyUserinfo`,
761
+ {data: data},
762
+ {resolveMsg: null, rejectMsg: '档案获取失败!!!'}
763
+ )
764
+
765
+ let userinfo = res.data[0]
766
+
767
+ data = {
768
+ condition: `t_userfiles.f_meternumber = '${userinfo.f_meternumber}'`,
769
+ contentData: {
770
+ isOpen: this.show_data.button.button_name === '强制开阀' ? 1 : 0
771
+ },
772
+ inputtor: Vue.user.name,
773
+ instructTitle: this.show_data.button.button_name === '强制开阀' ? '开阀' : '关阀',
774
+ instructType: '阀门控制',
775
+ meterBrandName: userinfo.f_alias
776
+ }
777
+ res = await http.load(
778
+ 'POST',
779
+ `${this.$androidUtil.getProxyUrl()}/rs/logic/saveInstruct`,
780
+ {data: data},
781
+ {resolveMsg: null, rejectMsg: `${this.show_data.button.button_name}失败!!!`}
782
+ )
783
+
784
+ data = {
785
+ f_user_id: userinfo.f_user_id,
786
+ f_userinfo_id: userinfo.f_userinfo_id,
787
+ record: {
788
+ f_filiale: Vue.user.f_fengongsi,
789
+ f_instruct_meta_data: '进入强制阀控',
790
+ f_instruct_title: '进入强制阀控',
791
+ f_instruct_type: '阀门控制',
792
+ f_meternumber: userinfo.f_meternumber,
793
+ f_operator: Vue.user.name,
794
+ f_outlets: userinfo.f_outlets,
795
+ f_reason: this.show_data.button.f_reason,
796
+ f_user_id: userinfo.f_user_id,
797
+ f_userinfo_id: userinfo.f_userinfo_id
798
+ },
799
+ state: 1
800
+ }
801
+
802
+ res = await http.load(
803
+ 'POST',
804
+ `${this.$androidUtil.getProxyUrl()}/rs/logic/updateNetWorkValve`,
805
+ {data: data},
806
+ {resolveMsg: '执行成功!!!', rejectMsg: `执行失败!!!`}
807
+ )
808
+
809
+ },
810
+ // 修改用户档案
811
+ async 'updateUserinfoState'() {
812
+ let data = {
813
+ f_userinfo_id: this.show_data.f_userinfo_id
814
+ }
815
+ let http = new HttpResetClass()
816
+ let res = await http.load(
817
+ 'POST',
818
+ `${this.$androidUtil.getProxyUrl()}/rs/logic/updateUserinfoState`,
819
+ {data: data},
820
+ {resolveMsg: '该用户档案已为正常档案,可进行开关阀操作!!!', rejectMsg: '档案状态修改失败!!!'}
821
+ )
822
+
823
+ this.showButtons('强制开阀', '强制关阀')
824
+ this.hideButtons('转正式档案')
825
+ },
826
+ async 'startSignActivity'() {
827
+ this.hideButtons('签字')
828
+ await this.userSignBefore()
829
+
830
+ let data = {
831
+ apply: this.show_data,
832
+ user: Vue.user
833
+ }
834
+
835
+ let res = await this.$resetpost(
836
+ `${this.$androidUtil.getProxyUrl()}/rs/logic/startSignActivity`,
837
+ {data: data},
838
+ {resolveMsg: '签字流程已发起!!!', rejectMsg: '签字发起失败!!!'}
839
+ )
840
+
841
+ this.breakControl()
842
+ },
843
+ // 工程施工初始化
844
+ async 'buildReadyEvent'() {
845
+ if (this.getLableValue('是否发起签字') === '是') {
846
+ this.hideButtons('签字')
847
+ }
848
+
849
+ let data = {
850
+ f_process_id: this.show_data.f_process_id
851
+ }
852
+ let http = new HttpResetClass()
853
+ let res = await http.load(
854
+ 'POST',
855
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/getSingAct`,
856
+ {data: data},
857
+ {resolveMsg: null, rejectMsg: '签字状态查询失败!!!'}
858
+ )
859
+
860
+ if (res.data.length > 0) {
861
+ this.setLabelValue('签字所在环节', res.data[0].defname)
862
+ return
863
+ }
864
+ this.setLabelValue('签字所在环节', null)
865
+
866
+ if (this.show_data.f_apply_type === '分户挂表') {
867
+ let data = {
868
+ condition: `ui.f_userinfo_id = '${this.show_data.f_userinfo_id}'`
869
+ }
870
+ let http = new HttpResetClass()
871
+ let res = await http.load(
872
+ 'POST',
873
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/getApplyUserinfo`,
874
+ {data: data},
875
+ {resolveMsg: null, rejectMsg: '档案状态获取失败!!!'}
876
+ )
877
+
878
+ if (res.data[0].f_meter_classify !== '物联网表') {
879
+ return
880
+ }
881
+ if (res.data[0].f_user_state === '正常') {
882
+ this.showButtons('强制开阀', '强制关阀')
883
+ this.hideButtons('转正式档案')
884
+ } else {
885
+ this.showButtons('转正式档案')
886
+ this.hideButtons('强制开阀', '强制关阀')
887
+ }
888
+ }
889
+ },
890
+ // 安装户数失去焦点
891
+ 'installCountChange'(index) {
892
+ if (isEmpty(this.show_data.f_install_count)) {
893
+ return
894
+ }
895
+ if (Number(this.show_data.f_install_count) > Number(this.show_data.f_apply_count)) {
896
+ this.$showAlert('安装数不能超过申请数!!!', 'warning', 3000)
897
+ this.setLabelValue('安装户数', null)
898
+ this.setLabelValue('安装点数', null)
899
+ return
900
+ }
901
+
902
+ if (Number(this.show_data.f_install_count) <= 0) {
903
+ this.$showAlert('至少有安装一个!!!', 'warning', 3000)
904
+ this.setLabelValue('安装户数', null)
905
+ this.setLabelValue('安装点数', null)
906
+ return
907
+ }
908
+ },
909
+ 'complyInstallation'(index) {
910
+ if (this.show_data.f_accept_install === '否' || this.show_data.f_survey_opinion === '否') {
911
+ this.hideButtons('下发', '提交')
912
+ this.showButtons('终止')
913
+ } else {
914
+ this.hideButtons('终止')
915
+ this.showButtons('下发', '提交')
916
+ }
917
+ },
918
+ // ===========================================
919
+ 'initializtionView'() {
920
+ if (this.show_data.f_apply_type === '民用报建' && this.show_data.f_apply_nature === '散户') {
921
+ this.hideLabels('营业执照', '小区')
922
+ this.electiveLabels('营业执照', '购货单位识别号', '购货单位银行账号', '购货单位地址电话', '小区')
923
+ }
924
+ if (this.show_data.f_apply_type === '民用报建' && this.show_data.f_apply_nature === '小区') {
925
+ this.showLabels('营业执照', '小区')
926
+ this.requiredLabels('营业执照', '购货单位识别号', '购货单位银行账号', '购货单位地址电话', '小区')
927
+ this.hideComponents('用户花名单')
928
+ }
929
+ },
930
+ 'breakControl'() {
931
+ this.breakControl()
932
+ },
933
+ // 检查重复
934
+ 'checkRepeat'(index) {
935
+ this.checkDuplicate(index)
936
+ },
937
+ async 'button'() {
938
+ if (this.show_data.button.before) {
939
+ await this[this.show_data.button.before]()
940
+ }
941
+ // 点击重置按钮就重置数据
942
+ if (this.show_data.button.button_name === '重置') {
943
+ this.$dispatch('breakControl', this.selectdata)
944
+ return
945
+ }
946
+
947
+ this.show_data.start_activity = this.json_datas.start_activity
948
+ this.show_data.xmlfilename = this.json_datas.workflow_xmlfilename
949
+
950
+ let data = {
951
+ apply: this.show_data,
952
+ user: Vue.user
953
+ }
954
+
955
+ let res = await this.$resetpost(
956
+ `${this.$androidUtil.getProxyUrl()}/rs/logic/ApplyProductService`,
957
+ {data: data},
958
+ {resolveMsg: null, rejectMsg: '数据保存失败'}
959
+ )
960
+
961
+ if (this.show_data.button.after) {
962
+ this[this.show_data.button.after]()
963
+ }
964
+ // 返回上层
965
+ this.$dispatch('confirm')
966
+ },
967
+ // 失去焦点出触发事件
968
+ 'onchange'(index) {
969
+ },
970
+ 'onblur'(index) {
971
+ },
972
+ 'oninput'(index) {
973
+ },
974
+ async 'onchangeModal'(index, fieldIndex) {
975
+ },
976
+ async 'onblurModal'(index, fieldIndex) {
977
+
978
+ },
979
+ async 'oninputModal'(index, fieldIndex) {
980
+
981
+ },
982
+ async 'onetomanydelete'(index, rowIndex) {
983
+
984
+ let http = new HttpResetClass()
985
+
986
+ let res = await http.load(
987
+ 'DELETE',
988
+ `${this.$androidUtil.getProxyUrl()}/rs/entity/${this.show_data.onetomany[index].tables[0]}/${this.show_data.onetomany[index].rows[rowIndex].id}`,
989
+ null,
990
+ {resolveMsg: null, rejectMsg: '删除失败!!!'}
991
+ )
992
+ res = await this.$resetpost(
993
+ `${this.$androidUtil.getProxyUrl()}/rs/entity/t_apply`,
994
+ this.show_data
995
+ )
996
+ this.breakControl()
997
+ },
998
+ async 'onetomanyupdate'(index, rowIndex) {
999
+ let data = this.show_data.onetomany[index].rows[rowIndex]
1000
+
1001
+ this.show_data.onetomany[index].fields.forEach(item => {
1002
+ data[item.field] = item.value
1003
+ })
1004
+ let res = await this.$resetpost(
1005
+ `${this.$androidUtil.getProxyUrl()}/rs/entity/${this.show_data.onetomany[index].tables[0]}`,
1006
+ data
1007
+ )
1008
+ res = await this.$resetpost(
1009
+ `${this.$androidUtil.getProxyUrl()}/rs/entity/t_apply`,
1010
+ this.show_data
1011
+ )
1012
+ this.breakControl()
1013
+ },
1014
+ async 'onetomanyadd'(index) {
1015
+ let data = {
1016
+ f_process_id: this.show_data.f_process_id,
1017
+ f_operator_id: Vue.user.id,
1018
+ f_operator: Vue.user.name,
1019
+ f_operation_date: new Date().Format('yyyy-MM-dd HH:mm:ss'),
1020
+ f_orgid: Vue.user.orgid,
1021
+ f_orgname: Vue.user.orgs
1022
+ }
1023
+ this.show_data.onetomany[index].fields.forEach(item => {
1024
+ data[item.field] = item.value
1025
+ })
1026
+ let res = await this.$resetpost(
1027
+ `${this.$androidUtil.getProxyUrl()}/rs/entity/${this.show_data.onetomany[index].tables[0]}`,
1028
+ data
1029
+ )
1030
+ res = await this.$resetpost(
1031
+ `${this.$androidUtil.getProxyUrl()}/rs/entity/t_apply`,
1032
+ this.show_data
1033
+ )
1034
+ this.breakControl()
1035
+ },
1036
+ 'onbutchange'(index) {
1037
+
1038
+ },
1039
+ 'onbutblur'(index) {
1040
+
1041
+ },
1042
+ 'onbutinput'(index) {
1043
+
1044
+ }
1045
+ },
1046
+ watch: {}
1047
+ }
1048
+ </script>
1049
+ <style scoped>
1050
+ </style>