apply-clients 7.1.39 → 7.1.40

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 (611) 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 +154 -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 +4 -1
  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 +86 -69
  101. package/src/applyAndroid.js +56 -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 +219 -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 +395 -0
  109. package/src/components/android/Ignition/VentilationIgnitionHandle.vue +432 -0
  110. package/src/components/android/Process/AppExplorationUser.vue +352 -0
  111. package/src/components/android/Process/AppServiceControl.vue +1051 -0
  112. package/src/components/android/Process/Processes/AppDevicesManagement.vue +336 -0
  113. package/src/components/android/Process/Processes/AppInstallationDetails.vue +776 -0
  114. package/src/components/android/Process/Processes/SurveyUserSign.vue +62 -0
  115. package/src/components/android/Sign/AppSignTask.vue +183 -0
  116. package/src/components/android/Sign/SignProcess.vue +103 -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/BuildIgnition/BuildIgnition.vue +114 -0
  121. package/src/components/android/Task/Survey/SurveyTsak.vue +112 -0
  122. package/src/components/android/Task/UpBuild/UpBuildTsak.vue +95 -0
  123. package/src/components/android/TaskGraph.vue +130 -0
  124. package/src/components/android/newPackage/customerServiceManager.vue +218 -0
  125. package/src/components/android/newPackage/designDrawings.vue +94 -0
  126. package/src/components/android/newPackage/detailedData.vue +24 -0
  127. package/src/components/android/newPackage/projectPrice.vue +218 -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 +140 -105
  132. package/src/components/product/Function/Service/FunctionServiceControl.vue +323 -148
  133. package/src/components/product/Ignition/IgnitionDispatch.vue +348 -0
  134. package/src/components/product/Ignition/IgnitionRecord.vue +308 -0
  135. package/src/components/product/Onetomany.vue +377 -0
  136. package/src/components/product/Print/BuildOrder/buildOrderList.vue +288 -0
  137. package/src/components/product/Print/BuildOrder/printBuildOrder.vue +230 -0
  138. package/src/components/product/Process/ExplorationSelect.vue +395 -347
  139. package/src/components/product/Process/ExplorationUser.vue +151 -135
  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 +619 -311
  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 +59 -113
  150. package/src/components/product/Process/Processes/chargeManagement.vue +546 -562
  151. package/src/components/product/Process/Processes/devicesManagement.vue +360 -0
  152. package/src/components/product/Process/Processes/satisfactionShow.vue +202 -0
  153. package/src/components/product/Process/Processes/selectApply.vue +250 -0
  154. package/src/components/product/Process/Processes/selectUserinfo.vue +231 -0
  155. package/src/components/product/Process/Processes/supplementalAgreement.vue +182 -181
  156. package/src/components/product/Process/Service/ServiceControl.vue +1313 -646
  157. package/src/components/product/Process/Service/ShowBackReason.vue +33 -0
  158. package/src/components/product/ServiceView.vue +557 -680
  159. package/src/components/product/Stop/StopApply.vue +105 -0
  160. package/src/components/product/Stop/StopApplyList.vue +224 -0
  161. package/src/components/product/Supervisory/NewSupervisoryhCart.vue +167 -0
  162. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +393 -199
  163. package/src/components/product/Supervisory/SupervisoryControl.vue +110 -121
  164. package/src/components/product/Supervisory/SupervisoryList.vue +280 -208
  165. package/src/components/product/Supervisory/SupervisoryhCart.vue +52 -36
  166. package/src/components/product/VueUtils/ApplyUpload.vue +67 -52
  167. package/src/components/product/VueUtils/HighMeter.vue +208 -0
  168. package/src/expandcssAndroid.less +1034 -0
  169. package/src/main.js +27 -23
  170. package/src/public/history/HistoryApplyList.vue +108 -0
  171. package/src/public/history/PublicHistoryApply.vue +39 -0
  172. package/src/public/history/PublicSupervisoryhCart.vue +72 -0
  173. package/src/public/order/PublicOrderApply.vue +387 -0
  174. package/dist-android/index.html +0 -3
  175. package/dist-android/static/.gitkeep +0 -0
  176. package/dist-android/static/0.50054aa998577d450157.js +0 -2
  177. package/dist-android/static/0.js +0 -2
  178. package/dist-android/static/0.js.map +0 -1
  179. package/dist-android/static/1.0b685d8dcbf4f3a8a5b2.js +0 -1
  180. package/dist-android/static/1.js +0 -2
  181. package/dist-android/static/1.js.map +0 -1
  182. package/dist-android/static/10.2a698c421c0ff5f57336.js +0 -2
  183. package/dist-android/static/10.js +0 -2
  184. package/dist-android/static/10.js.map +0 -1
  185. package/dist-android/static/100.js +0 -2
  186. package/dist-android/static/100.js.map +0 -1
  187. package/dist-android/static/11.75a39568e320abbddcc2.js +0 -2
  188. package/dist-android/static/11.js +0 -2
  189. package/dist-android/static/11.js.map +0 -1
  190. package/dist-android/static/12.4ac0c584da492acc599d.js +0 -1
  191. package/dist-android/static/12.js +0 -2
  192. package/dist-android/static/12.js.map +0 -1
  193. package/dist-android/static/13.5471bac3b39798923a79.js +0 -1
  194. package/dist-android/static/13.js +0 -2
  195. package/dist-android/static/13.js.map +0 -1
  196. package/dist-android/static/14.ee274728fdeb5107c357.js +0 -1
  197. package/dist-android/static/14.js +0 -2
  198. package/dist-android/static/14.js.map +0 -1
  199. package/dist-android/static/15.a1dc233c1804ede2ba87.js +0 -1
  200. package/dist-android/static/15.js +0 -2
  201. package/dist-android/static/15.js.map +0 -1
  202. package/dist-android/static/16.5081ea8a90d0dacbc748.js +0 -1
  203. package/dist-android/static/16.js +0 -2
  204. package/dist-android/static/16.js.map +0 -1
  205. package/dist-android/static/17.5b5184c9a9337a88d4f9.js +0 -1
  206. package/dist-android/static/17.js +0 -2
  207. package/dist-android/static/17.js.map +0 -1
  208. package/dist-android/static/18.0c99e5cb0de0f76008f6.js +0 -1
  209. package/dist-android/static/18.js +0 -2
  210. package/dist-android/static/18.js.map +0 -1
  211. package/dist-android/static/19.b50c8bf85b8e7fb27e2a.js +0 -1
  212. package/dist-android/static/19.js +0 -2
  213. package/dist-android/static/19.js.map +0 -1
  214. package/dist-android/static/2.16718caad0da13b463a3.js +0 -1
  215. package/dist-android/static/2.js +0 -2
  216. package/dist-android/static/2.js.map +0 -1
  217. package/dist-android/static/20.8f6767f58df1fde18784.js +0 -1
  218. package/dist-android/static/20.js +0 -2
  219. package/dist-android/static/20.js.map +0 -1
  220. package/dist-android/static/21.026f5cbfd90d70d8dd3a.js +0 -1
  221. package/dist-android/static/21.js +0 -2
  222. package/dist-android/static/21.js.map +0 -1
  223. package/dist-android/static/22.4631f8885615e9b6ad6e.js +0 -1
  224. package/dist-android/static/22.js +0 -2
  225. package/dist-android/static/22.js.map +0 -1
  226. package/dist-android/static/23.437b569f91863452daeb.js +0 -1
  227. package/dist-android/static/23.js +0 -2
  228. package/dist-android/static/23.js.map +0 -1
  229. package/dist-android/static/24.f1310985a29496bc5fd8.js +0 -1
  230. package/dist-android/static/24.js +0 -2
  231. package/dist-android/static/24.js.map +0 -1
  232. package/dist-android/static/25.b6dcf8c6d26f44035506.js +0 -1
  233. package/dist-android/static/25.js +0 -2
  234. package/dist-android/static/25.js.map +0 -1
  235. package/dist-android/static/26.js +0 -2
  236. package/dist-android/static/26.js.map +0 -1
  237. package/dist-android/static/27.2185c9e2e7116302e1e1.js +0 -13
  238. package/dist-android/static/27.js +0 -2
  239. package/dist-android/static/27.js.map +0 -1
  240. package/dist-android/static/28.b429eaf351968226c395.js +0 -3
  241. package/dist-android/static/28.js +0 -2
  242. package/dist-android/static/28.js.map +0 -1
  243. package/dist-android/static/29.aed6b18ccda9ca3748ce.js +0 -3
  244. package/dist-android/static/29.js +0 -2
  245. package/dist-android/static/29.js.map +0 -1
  246. package/dist-android/static/3.761de5413a2ed045ab10.js +0 -1
  247. package/dist-android/static/3.js +0 -2
  248. package/dist-android/static/3.js.map +0 -1
  249. package/dist-android/static/30.567f5fbffc0601227294.js +0 -2
  250. package/dist-android/static/30.js +0 -2
  251. package/dist-android/static/30.js.map +0 -1
  252. package/dist-android/static/31.179f87c71c11fd562feb.js +0 -1
  253. package/dist-android/static/31.js +0 -2
  254. package/dist-android/static/31.js.map +0 -1
  255. package/dist-android/static/32.8d45d3f6c5e874582cff.js +0 -1
  256. package/dist-android/static/32.js +0 -2
  257. package/dist-android/static/32.js.map +0 -1
  258. package/dist-android/static/33.32fd8d2f4e6e7b065a5c.js +0 -1
  259. package/dist-android/static/33.js +0 -2
  260. package/dist-android/static/33.js.map +0 -1
  261. package/dist-android/static/34.df47f9984baec20bdf5b.js +0 -1
  262. package/dist-android/static/34.js +0 -2
  263. package/dist-android/static/34.js.map +0 -1
  264. package/dist-android/static/35.5883200f073b546cb1a3.js +0 -1
  265. package/dist-android/static/35.js +0 -2
  266. package/dist-android/static/35.js.map +0 -1
  267. package/dist-android/static/36.477f89087e507526163f.js +0 -1
  268. package/dist-android/static/36.js +0 -2
  269. package/dist-android/static/36.js.map +0 -1
  270. package/dist-android/static/37.b82438692bca848519f6.js +0 -1
  271. package/dist-android/static/37.js +0 -2
  272. package/dist-android/static/37.js.map +0 -1
  273. package/dist-android/static/38.83c950bebdb997be2ef8.js +0 -1
  274. package/dist-android/static/38.js +0 -2
  275. package/dist-android/static/38.js.map +0 -1
  276. package/dist-android/static/39.333e42c6dbabf1bf2706.js +0 -1
  277. package/dist-android/static/39.js +0 -2
  278. package/dist-android/static/39.js.map +0 -1
  279. package/dist-android/static/4.eb190515d001a4e1bebd.js +0 -13
  280. package/dist-android/static/4.js +0 -2
  281. package/dist-android/static/4.js.map +0 -1
  282. package/dist-android/static/40.f6807724af2482375d7c.js +0 -1
  283. package/dist-android/static/40.js +0 -2
  284. package/dist-android/static/40.js.map +0 -1
  285. package/dist-android/static/41.92f39c44002772179f48.js +0 -1
  286. package/dist-android/static/41.js +0 -2
  287. package/dist-android/static/41.js.map +0 -1
  288. package/dist-android/static/42.662a0643f36dc759abc0.js +0 -1
  289. package/dist-android/static/42.js +0 -2
  290. package/dist-android/static/42.js.map +0 -1
  291. package/dist-android/static/43.5b55816aa2ca7b510d72.js +0 -1
  292. package/dist-android/static/43.js +0 -2
  293. package/dist-android/static/43.js.map +0 -1
  294. package/dist-android/static/44.4a6af5dd359e3973dea4.js +0 -1
  295. package/dist-android/static/44.js +0 -2
  296. package/dist-android/static/44.js.map +0 -1
  297. package/dist-android/static/45.d5992c604ad9eb4f40d2.js +0 -1
  298. package/dist-android/static/45.js +0 -2
  299. package/dist-android/static/45.js.map +0 -1
  300. package/dist-android/static/46.aa87912e9361ab053234.js +0 -1
  301. package/dist-android/static/46.js +0 -2
  302. package/dist-android/static/46.js.map +0 -1
  303. package/dist-android/static/47.b9efca55c1ea582c59e7.js +0 -2
  304. package/dist-android/static/47.js +0 -2
  305. package/dist-android/static/47.js.map +0 -1
  306. package/dist-android/static/48.8902ce91c715d61c63ef.js +0 -1
  307. package/dist-android/static/48.js +0 -2
  308. package/dist-android/static/48.js.map +0 -1
  309. package/dist-android/static/49.dd2591b071fe1901d2f2.js +0 -2
  310. package/dist-android/static/49.js +0 -2
  311. package/dist-android/static/49.js.map +0 -1
  312. package/dist-android/static/5.304b463f21c8253aa514.js +0 -13
  313. package/dist-android/static/5.js +0 -2
  314. package/dist-android/static/5.js.map +0 -1
  315. package/dist-android/static/50.e49f64d967a7f7350105.js +0 -1
  316. package/dist-android/static/50.js +0 -2
  317. package/dist-android/static/50.js.map +0 -1
  318. package/dist-android/static/51.0d311b6815373c5a3b1b.js +0 -1
  319. package/dist-android/static/51.js +0 -2
  320. package/dist-android/static/51.js.map +0 -1
  321. package/dist-android/static/52.344f9d59bb5cb156380d.js +0 -1
  322. package/dist-android/static/52.js +0 -2
  323. package/dist-android/static/52.js.map +0 -1
  324. package/dist-android/static/53.289984b9a04a7d11ffef.js +0 -1
  325. package/dist-android/static/53.js +0 -2
  326. package/dist-android/static/53.js.map +0 -1
  327. package/dist-android/static/54.5808cc57ddb689577efe.js +0 -1
  328. package/dist-android/static/54.js +0 -2
  329. package/dist-android/static/54.js.map +0 -1
  330. package/dist-android/static/55.9874aac28d0d80b55860.js +0 -1
  331. package/dist-android/static/55.js +0 -2
  332. package/dist-android/static/55.js.map +0 -1
  333. package/dist-android/static/56.babac04ffcc93c5573ed.js +0 -1
  334. package/dist-android/static/56.js +0 -2
  335. package/dist-android/static/56.js.map +0 -1
  336. package/dist-android/static/57.ca9993d9b0137ec93a81.js +0 -1
  337. package/dist-android/static/57.js +0 -2
  338. package/dist-android/static/57.js.map +0 -1
  339. package/dist-android/static/58.be8a5ac661eb638aff79.js +0 -1
  340. package/dist-android/static/58.js +0 -2
  341. package/dist-android/static/58.js.map +0 -1
  342. package/dist-android/static/59.2d0116e8a66e13cbabe2.js +0 -1
  343. package/dist-android/static/59.js +0 -2
  344. package/dist-android/static/59.js.map +0 -1
  345. package/dist-android/static/6.3f10426d99466042d079.js +0 -13
  346. package/dist-android/static/6.js +0 -2
  347. package/dist-android/static/6.js.map +0 -1
  348. package/dist-android/static/60.e60b562292633421a3d7.js +0 -1
  349. package/dist-android/static/60.js +0 -2
  350. package/dist-android/static/60.js.map +0 -1
  351. package/dist-android/static/61.492b25e8e1b66366329b.js +0 -1
  352. package/dist-android/static/61.js +0 -2
  353. package/dist-android/static/61.js.map +0 -1
  354. package/dist-android/static/62.24924f3f6fd5f97975d1.js +0 -1
  355. package/dist-android/static/62.js +0 -2
  356. package/dist-android/static/62.js.map +0 -1
  357. package/dist-android/static/63.7628250218be54b5c52f.js +0 -1
  358. package/dist-android/static/63.js +0 -2
  359. package/dist-android/static/63.js.map +0 -1
  360. package/dist-android/static/64.0c2d7593ebede3d30dc8.js +0 -1
  361. package/dist-android/static/64.js +0 -2
  362. package/dist-android/static/64.js.map +0 -1
  363. package/dist-android/static/65.220dfd6b1dd8e75c9d08.js +0 -1
  364. package/dist-android/static/65.js +0 -2
  365. package/dist-android/static/65.js.map +0 -1
  366. package/dist-android/static/66.da91b8ed2181ced4a4de.js +0 -1
  367. package/dist-android/static/66.js +0 -2
  368. package/dist-android/static/66.js.map +0 -1
  369. package/dist-android/static/67.75a3f13bea3c0ac4bbbe.js +0 -1
  370. package/dist-android/static/67.js +0 -2
  371. package/dist-android/static/67.js.map +0 -1
  372. package/dist-android/static/68.37aa2fd75666d1461dac.js +0 -1
  373. package/dist-android/static/68.js +0 -2
  374. package/dist-android/static/68.js.map +0 -1
  375. package/dist-android/static/69.e6a3e52929239e08b8d3.js +0 -1
  376. package/dist-android/static/69.js +0 -2
  377. package/dist-android/static/69.js.map +0 -1
  378. package/dist-android/static/7.57945431c1f505e425c1.js +0 -13
  379. package/dist-android/static/7.js +0 -6
  380. package/dist-android/static/7.js.map +0 -1
  381. package/dist-android/static/70.945cf028761bd66a2302.js +0 -1
  382. package/dist-android/static/70.js +0 -2
  383. package/dist-android/static/70.js.map +0 -1
  384. package/dist-android/static/71.0ae45dcfc105541b051d.js +0 -1
  385. package/dist-android/static/71.js +0 -2
  386. package/dist-android/static/71.js.map +0 -1
  387. package/dist-android/static/72.d89a35482e9c434d0bd0.js +0 -1
  388. package/dist-android/static/72.js +0 -2
  389. package/dist-android/static/72.js.map +0 -1
  390. package/dist-android/static/73.js +0 -2
  391. package/dist-android/static/73.js.map +0 -1
  392. package/dist-android/static/74.js +0 -2
  393. package/dist-android/static/74.js.map +0 -1
  394. package/dist-android/static/75.js +0 -2
  395. package/dist-android/static/75.js.map +0 -1
  396. package/dist-android/static/76.js +0 -2
  397. package/dist-android/static/76.js.map +0 -1
  398. package/dist-android/static/77.js +0 -2
  399. package/dist-android/static/77.js.map +0 -1
  400. package/dist-android/static/78.js +0 -2
  401. package/dist-android/static/78.js.map +0 -1
  402. package/dist-android/static/79.js +0 -2
  403. package/dist-android/static/79.js.map +0 -1
  404. package/dist-android/static/8.830a99f33590aeb637a3.js +0 -13
  405. package/dist-android/static/8.js +0 -2
  406. package/dist-android/static/8.js.map +0 -1
  407. package/dist-android/static/80.js +0 -2
  408. package/dist-android/static/80.js.map +0 -1
  409. package/dist-android/static/81.js +0 -2
  410. package/dist-android/static/81.js.map +0 -1
  411. package/dist-android/static/82.js +0 -2
  412. package/dist-android/static/82.js.map +0 -1
  413. package/dist-android/static/83.js +0 -2
  414. package/dist-android/static/83.js.map +0 -1
  415. package/dist-android/static/84.js +0 -2
  416. package/dist-android/static/84.js.map +0 -1
  417. package/dist-android/static/85.js +0 -2
  418. package/dist-android/static/85.js.map +0 -1
  419. package/dist-android/static/86.js +0 -2
  420. package/dist-android/static/86.js.map +0 -1
  421. package/dist-android/static/87.js +0 -2
  422. package/dist-android/static/87.js.map +0 -1
  423. package/dist-android/static/88.js +0 -2
  424. package/dist-android/static/88.js.map +0 -1
  425. package/dist-android/static/89.js +0 -2
  426. package/dist-android/static/89.js.map +0 -1
  427. package/dist-android/static/9.2432be88a7316649f45b.js +0 -12
  428. package/dist-android/static/9.js +0 -3
  429. package/dist-android/static/9.js.map +0 -1
  430. package/dist-android/static/90.js +0 -2
  431. package/dist-android/static/90.js.map +0 -1
  432. package/dist-android/static/91.js +0 -2
  433. package/dist-android/static/91.js.map +0 -1
  434. package/dist-android/static/92.js +0 -2
  435. package/dist-android/static/92.js.map +0 -1
  436. package/dist-android/static/93.js +0 -2
  437. package/dist-android/static/93.js.map +0 -1
  438. package/dist-android/static/94.js +0 -2
  439. package/dist-android/static/94.js.map +0 -1
  440. package/dist-android/static/95.js +0 -2
  441. package/dist-android/static/95.js.map +0 -1
  442. package/dist-android/static/96.js +0 -2
  443. package/dist-android/static/96.js.map +0 -1
  444. package/dist-android/static/97.js +0 -2
  445. package/dist-android/static/97.js.map +0 -1
  446. package/dist-android/static/98.js +0 -2
  447. package/dist-android/static/98.js.map +0 -1
  448. package/dist-android/static/99.js +0 -2
  449. package/dist-android/static/99.js.map +0 -1
  450. package/dist-android/static/app.css +0 -2
  451. package/dist-android/static/app.css.map +0 -1
  452. package/dist-android/static/app.js +0 -80
  453. package/dist-android/static/app.js.map +0 -1
  454. package/dist-android/static/appca71cf7af0c441a6b6ff.js +0 -135
  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/denglu.png +0 -0
  460. package/dist-android/static/doc.jpg +0 -0
  461. package/dist-android/static/huangtengbiaozhi.png +0 -0
  462. package/dist-android/static/images/lefticon//345/215/241/346/234/215/345/212/241/347/256/241/347/220/206.png +0 -0
  463. package/dist-android/static/images/lefticon//345/221/274/345/217/253/347/263/273/347/273/237.png +0 -0
  464. package/dist-android/static/images/lefticon//345/224/256/346/260/224/346/224/266/350/264/271.png +0 -0
  465. package/dist-android/static/images/lefticon//345/233/276/345/261/2023/346/213/267/350/264/2354.png +0 -0
  466. package/dist-android/static/images/lefticon//345/233/276/345/261/202577.png +0 -0
  467. package/dist-android/static/images/lefticon//345/233/276/345/261/2028/346/213/267/350/264/23513.png +0 -0
  468. package/dist-android/static/images/lefticon//345/256/211/346/243/200/346/237/245/347/234/213.png +0 -0
  469. package/dist-android/static/images/lefticon//345/256/211/346/243/200/350/256/241/345/210/222.png +0 -0
  470. package/dist-android/static/images/lefticon//345/276/256/344/277/241/346/234/215/345/212/241.png +0 -0
  471. package/dist-android/static/images/lefticon//346/212/245/345/273/272/347/263/273/347/273/237.png +0 -0
  472. package/dist-android/static/images/lefticon//346/212/245/350/241/250/346/237/245/350/257/242.png +0 -0
  473. package/dist-android/static/images/lefticon//346/227/245/345/270/270/347/256/241/347/220/206.png +0 -0
  474. package/dist-android/static/images/lefticon//346/234/272/350/241/250/347/256/241/347/220/206.png +0 -0
  475. package/dist-android/static/images/lefticon//346/237/245/350/257/242/345/210/227/350/241/250.png +0 -0
  476. package/dist-android/static/images/lefticon//346/241/243/346/241/210/347/256/241/347/220/206.png +0 -0
  477. package/dist-android/static/images/lefticon//347/211/251/350/201/224/347/275/221/350/241/250.png +0 -0
  478. package/dist-android/static/images/lefticon//347/263/273/347/273/237/347/256/241/347/220/206.png +0 -0
  479. package/dist-android/static/images/lefticon//347/263/273/347/273/237/350/256/276/347/275/256.png +0 -0
  480. package/dist-android/static/images/lefticon//347/273/217/350/220/245/347/256/241/346/216/247.png +0 -0
  481. package/dist-android/static/images/lefticon//347/273/274/345/220/210/344/270/232/345/212/241.png +0 -0
  482. package/dist-android/static/images/lefticon//347/273/274/345/220/210/346/237/245/350/257/242.png +0 -0
  483. package/dist-android/static/images/lefticon//350/217/234/345/215/225/344/274/270/347/274/251.png +0 -0
  484. package/dist-android/static/images/lefticon//351/200/200/345/207/272/347/263/273/347/273/237.png +0 -0
  485. package/dist-android/static/imgerror.jpg +0 -0
  486. package/dist-android/static/jingyin.jpg +0 -0
  487. package/dist-android/static/jsoneditor-icons.svg +0 -893
  488. package/dist-android/static/login_bg.jpg +0 -0
  489. package/dist-android/static/login_title.png +0 -0
  490. package/dist-android/static/login_title1.png +0 -0
  491. package/dist-android/static/loginbg.jpg +0 -0
  492. package/dist-android/static/loginlogo.png +0 -0
  493. package/dist-android/static/main_logo.png +0 -0
  494. package/dist-android/static/mainbg.jpg +0 -0
  495. package/dist-android/static/menulogo.png +0 -0
  496. package/dist-android/static/newStyle/clear.png +0 -0
  497. package/dist-android/static/newStyle/fife.png +0 -0
  498. package/dist-android/static/newStyle/hidden.png +0 -0
  499. package/dist-android/static/newStyle/label-clear.png +0 -0
  500. package/dist-android/static/newStyle/left-img.png +0 -0
  501. package/dist-android/static/newStyle/list_ok.png +0 -0
  502. package/dist-android/static/newStyle/login-check.png +0 -0
  503. package/dist-android/static/newStyle/login-con.png +0 -0
  504. package/dist-android/static/newStyle/login-do.gif +0 -0
  505. package/dist-android/static/newStyle/login-f.png +0 -0
  506. package/dist-android/static/newStyle/login-info.png +0 -0
  507. package/dist-android/static/newStyle/login-left.png +0 -0
  508. package/dist-android/static/newStyle/login-org.png +0 -0
  509. package/dist-android/static/newStyle/login-pwd.png +0 -0
  510. package/dist-android/static/newStyle/login-user.png +0 -0
  511. package/dist-android/static/newStyle/loginbg.gif +0 -0
  512. package/dist-android/static/newStyle/loginbg1280.gif +0 -0
  513. package/dist-android/static/newStyle/loginbg1366.gif +0 -0
  514. package/dist-android/static/newStyle/setting.png +0 -0
  515. package/dist-android/static/newStyle/setting1.png +0 -0
  516. package/dist-android/static/newStyle/shirk.png +0 -0
  517. package/dist-android/static/newStyle/stretch_bottom.png +0 -0
  518. package/dist-android/static/newStyle/stretch_left.png +0 -0
  519. package/dist-android/static/newStyle/stretch_right.png +0 -0
  520. package/dist-android/static/newStyle/stretch_top.png +0 -0
  521. package/dist-android/static/newStyle/system-off.png +0 -0
  522. package/dist-android/static/newmainbg.jpg +0 -0
  523. package/dist-android/static/pdf.jpg +0 -0
  524. package/dist-android/static/psicon.png +0 -0
  525. package/dist-android/static/singleleft.png +0 -0
  526. package/dist-android/static/singleright.png +0 -0
  527. package/dist-android/static/treeopen.png +0 -0
  528. package/dist-android/static/treeout.png +0 -0
  529. package/dist-android/static/treeset.png +0 -0
  530. package/dist-android/static/usericon.png +0 -0
  531. package/dist-android/static/workflow_apply.json +0 -766
  532. package/dist-android/static/xinxi.png +0 -0
  533. package/dist-android/static//344/270/213/350/275/275/350/256/241/345/210/222.png +0 -0
  534. package/dist-android/static//344/273/273/345/212/241/346/237/245/350/257/242.png +0 -0
  535. package/dist-android/static//344/277/241/346/201/257/345/205/254/345/221/212.png +0 -0
  536. package/dist-android/static//344/277/256/346/224/271/345/257/206/347/240/201.png +0 -0
  537. package/dist-android/static//345/205/254/345/221/212/346/237/245/347/234/213.png +0 -0
  538. package/dist-android/static//345/206/214/345/206/205/351/241/272/345/272/217/344/277/256/346/224/271.png +0 -0
  539. package/dist-android/static//345/215/241/350/241/250/345/234/250/347/272/277/346/212/204/350/241/250.png +0 -0
  540. package/dist-android/static//345/234/250/347/272/277/345/256/211/346/243/200.png +0 -0
  541. package/dist-android/static//345/234/250/347/272/277/345/267/241/346/243/200.png +0 -0
  542. package/dist-android/static//345/234/250/347/272/277/346/212/204/350/241/250.png +0 -0
  543. package/dist-android/static//345/234/250/347/272/277/346/212/242/344/277/256.png +0 -0
  544. package/dist-android/static//345/234/250/347/272/277/346/212/245/350/243/205.png +0 -0
  545. package/dist-android/static//345/234/250/347/272/277/346/223/215/344/275/234.png +0 -0
  546. package/dist-android/static//345/234/250/347/272/277/347/273/264/344/277/256.png +0 -0
  547. package/dist-android/static//345/234/250/347/272/277/347/274/264/350/264/271.png +0 -0
  548. package/dist-android/static//345/234/250/347/272/277/351/200/232/346/260/224.png +0 -0
  549. 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
  550. package/dist-android/static//345/256/211/346/243/200/345/267/262/345/212/236.png +0 -0
  551. package/dist-android/static//345/256/211/346/243/200/345/276/205/345/212/236.png +0 -0
  552. package/dist-android/static//345/256/211/346/243/200/346/212/275/345/215/225.png +0 -0
  553. package/dist-android/static//345/256/211/350/243/205/344/270/212/344/274/240.png +0 -0
  554. package/dist-android/static//345/256/211/350/243/205/345/267/262/345/212/236.png +0 -0
  555. package/dist-android/static//345/256/211/350/243/205/345/276/205/345/212/236.png +0 -0
  556. package/dist-android/static//345/257/274/345/207/272/346/225/260/346/215/256.png +0 -0
  557. package/dist-android/static//345/267/241/346/243/200/344/270/212/344/274/240.png +0 -0
  558. package/dist-android/static//345/267/241/346/243/200/345/267/262/345/212/236.png +0 -0
  559. package/dist-android/static//345/274/200/345/205/263/351/230/200.png +0 -0
  560. package/dist-android/static//345/275/242/347/212/2664.png +0 -0
  561. package/dist-android/static//346/211/271/351/207/217/346/212/204/350/241/250.png +0 -0
  562. package/dist-android/static//346/212/204/350/241/250/344/270/212/344/274/240.png +0 -0
  563. package/dist-android/static//346/212/204/350/241/250/345/267/262/345/212/236.png +0 -0
  564. package/dist-android/static//346/212/204/350/241/250/345/276/205/345/212/236.png +0 -0
  565. package/dist-android/static//346/212/204/350/241/250/350/256/260/345/275/225.png +0 -0
  566. package/dist-android/static//346/212/245/345/273/272/346/234/215/345/212/241.png +0 -0
  567. package/dist-android/static//346/224/266/350/264/271/346/261/207/346/200/273/350/241/250.png +0 -0
  568. package/dist-android/static//346/224/266/350/264/271/350/256/260/345/275/225.png +0 -0
  569. package/dist-android/static//346/227/245/346/212/245/346/237/245/350/257/242.png +0 -0
  570. package/dist-android/static//346/241/243/346/241/210/344/277/256/346/224/271.png +0 -0
  571. package/dist-android/static//346/265/201/347/250/213/344/270/232/345/212/241.png +0 -0
  572. package/dist-android/static//346/265/201/347/250/213/347/233/221/346/216/247.png +0 -0
  573. package/dist-android/static//346/270/205/347/251/272/346/225/260/346/215/256.png +0 -0
  574. package/dist-android/static//347/247/273/345/212/250/346/212/204/350/241/250.png +0 -0
  575. package/dist-android/static//347/247/273/345/212/250/346/212/204/350/241/250/345/267/262/345/212/236.png +0 -0
  576. package/dist-android/static//347/273/237/350/256/241/346/212/245/350/241/250.png +0 -0
  577. package/dist-android/static//347/273/264/344/277/256/346/264/276/345/217/221.png +0 -0
  578. package/dist-android/static//350/220/245/344/270/232/345/233/276/350/241/250.png +0 -0
  579. package/dist-android/static//350/241/250/345/206/214/351/241/272/345/272/217.png +0 -0
  580. package/dist-android/static//350/260/203/344/273/267/350/241/245/345/267/256/347/274/264/350/264/271.png +0 -0
  581. package/dist-android/static//350/277/233/345/272/246/345/210/227/350/241/250.png +0 -0
  582. package/dist-android/static//351/200/200/345/207/272/347/231/273/345/275/225.png +0 -0
  583. package/dist-android/static//351/200/201/346/260/224/344/270/212/344/274/240.png +0 -0
  584. package/dist-android/static//351/200/201/346/260/224/345/267/262/345/212/236.png +0 -0
  585. package/dist-android/static//351/200/201/346/260/224/345/276/205/345/212/236.png +0 -0
  586. package/dist-android/static//351/232/220/346/202/243/345/244/204/347/220/206.png +0 -0
  587. package/dist-android/static//351/233/206/344/270/255/345/256/211/346/243/200.png +0 -0
  588. package/dist-android/static//351/253/230/345/257/206/345/205/254/345/221/212.png +0 -0
  589. package/src/components/app_apply/Acceptance.vue +0 -298
  590. package/src/components/app_apply/ApplyApp.vue +0 -91
  591. package/src/components/app_apply/ApplyDownList.vue +0 -166
  592. package/src/components/app_apply/ApplyInfo.vue +0 -56
  593. package/src/components/app_apply/ApplyListUpload.vue +0 -258
  594. package/src/components/app_apply/ApplyToDoList.vue +0 -165
  595. package/src/components/app_apply/ApplyUserInfo.vue +0 -56
  596. package/src/components/app_apply/FieldExploration.vue +0 -267
  597. package/src/components/app_apply/PlaceControler.vue +0 -258
  598. package/src/components/app_apply/ServiceControl.vue +0 -267
  599. package/src/components/app_apply/ServiceView.vue +0 -355
  600. package/src/components/app_apply/ToolsPage.vue +0 -51
  601. package/src/components/app_apply/Ventilation.vue +0 -199
  602. package/src/components/image/TXT.png +0 -0
  603. package/src/components/product/ApplyCharge/ApplyChargeReport.vue +0 -107
  604. package/src/components/product/Function/StopApplyCrrdList.vue +0 -176
  605. package/src/components/product/Function/functions/ApplyRecordCancel.vue +0 -102
  606. package/src/components/product/Function/functions/StopInstall.vue +0 -106
  607. package/src/components/product/Process/Processes/printCharge.vue +0 -126
  608. package/src/components/product/Process/ShowBackReason.vue +0 -32
  609. package/src/components/product/ReportForm/GasIgnitionSummary.vue +0 -352
  610. package/src/components/product/VueUtils/ToolsPage.vue +0 -51
  611. package/src/components/product/VueUtils/Tree.vue +0 -330
@@ -1,752 +1,1419 @@
1
1
  <template>
2
-
3
- <div class="auto clearfix">
2
+ <div class="" v-if="showview">
4
3
  <show-back-reason :selectdata="show_data"></show-back-reason>
4
+ <service-view v-ref:serviceview :data="show_data"></service-view>
5
5
  </div>
6
-
7
- <service-view v-ref:serviceview :data="show_data" v-if="showview"></service-view>
8
-
9
6
  </template>
10
7
  <script>
11
- import Vue from 'vue'
12
- import {HttpResetClass} from 'vue-client'
13
- import {getNowDate,isEmpty} from '../../../Util'
14
- // Date格式化
15
- Date.prototype.Format = function (fmt) {
16
- var o = {
17
- "M+": this.getMonth() + 1, //月份
18
- "d+": this.getDate(), //日
19
- "H+": this.getHours(), //小时
20
- "m+": this.getMinutes(), //分
21
- "s+": this.getSeconds(), //秒
22
- "q+": Math.floor((this.getMonth() + 3) / 3), //季度
23
- "S": this.getMilliseconds() //毫秒
24
- };
25
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
26
- for (var k in o)
27
- if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
28
- return fmt;
29
- }
8
+ import Vue from 'vue'
9
+ import {HttpResetClass} from 'vue-client'
10
+ import {isEmpty} from '../../../Util'
30
11
 
31
- export default {
32
- title: '报建流程业务控制层',
33
- props: ['selectdata'],
34
- data() {
35
- return {
36
- data: null, // 数据库数据,json配置文件数据的数据集合
37
- json_datas: null, // Json配置文件集合
38
- showview: false, // 控制显示service-view组件
39
- show_data: null // 给view层显示的数据
40
- }
41
- },
42
- created () {
43
- this.refurbish()
44
- },
45
- methods: {
46
- // 组件初始化操作
47
- refurbish() {
48
- this.json_datas = this.$workflow_vue
49
- let sum = 0
50
- let jsonData = {}
51
- if (!this.json_datas || !this.json_datas.activitys || this.json_datas.activitys.length == 0) {
52
- this.$showMessage("网络故障,请刷新页面")
53
- return
12
+ // Date格式化
13
+ Date.prototype.Format = function (fmt) {
14
+ var o = {
15
+ "M+": this.getMonth() + 1, //月份
16
+ "d+": this.getDate(), //日
17
+ "H+": this.getHours(), //小时
18
+ "m+": this.getMinutes(), //分
19
+ "s+": this.getSeconds(), //秒
20
+ "q+": Math.floor((this.getMonth() + 3) / 3), //季度
21
+ "S": this.getMilliseconds() //毫秒
22
+ };
23
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
24
+ for (var k in o)
25
+ if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
26
+ return fmt;
27
+ }
28
+
29
+ export default {
30
+ title: '报建流程业务控制层',
31
+ props: ['selectdata'],
32
+ data () {
33
+ return {
34
+ data: null, // 数据库数据,json配置文件数据的数据集合
35
+ json_datas: null, // Json配置文件集合
36
+ showview: false, // 控制显示service-view组件
37
+ show_data: null, // 给view层显示的数据
38
+ config: {}
39
+ }
40
+ },
41
+ ready () {
42
+ this.refurbish()
43
+ },
44
+ methods: {
45
+ // 组件初始化操作
46
+ async refurbish() {
47
+ this.json_datas = this.$workflow_vue
48
+ let sum = 0
49
+ let jsonData = {}
50
+ if (!this.json_datas || !this.json_datas.activitys || this.json_datas.activitys.length === 0) {
51
+ this.$showMessage("网络故障,请刷新页面")
52
+ return
53
+ }
54
+ this.json_datas.activitys.forEach(item => {
55
+ if (this.selectdata.defname === item.title) {
56
+ jsonData = item // 拿到当前节点的json配置信息
57
+ sum++ // 节点名一样的个数
54
58
  }
55
- for (let i = 0; i < this.json_datas.activitys.length; i++) {
56
- if (this.selectdata.defname == this.json_datas.activitys[i].title) {
57
- jsonData = this.json_datas.activitys[i] // 拿到当前节点的json配置信息
58
- sum++ // 节点名一样的个数
59
- }
59
+ return this.selectdata.defname === item.title // 拿到当前节点的json配置信息
60
+ })
61
+
62
+ if (sum === 0) {
63
+ this.$showMessage(`没有在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置`)
64
+ return
65
+ }
66
+ if (sum > 1) {
67
+ this.$showMessage(`在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置:${sum}个`)
68
+ return
69
+ }
70
+
71
+ this.selectdata = Object.assign({}, this.selectdata, jsonData)
72
+
73
+ // fields 字段填充值
74
+ for (const item of this.selectdata.fields) {
75
+ if (!item.value) {
76
+ item.value = null
60
77
  }
61
- if (sum == 1) {
62
- this.data = null
63
- this.data = jsonData
64
- // selectdata 填充 data
65
- this.data = Object.assign({}, this.data, this.selectdata)
66
- this.initializeJSON()
67
- } else if (sum == 0) {
68
- this.$showMessage(`没有在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置`)
69
- } else {
70
- this.$showMessage(`在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置:${sum}个`)
71
- }
72
- },
73
- // json配置数据处理
74
- async initializeJSON() {
75
- // 有默认值,value就给默认值,没有就是null
76
- this.data.fields.forEach(item => {
77
- if (!item.value) {
78
- if (item.value === 0) {
79
- item.value = 0
80
- } else {
81
- item.value = null
82
- }
83
- }
84
- if (item.default || item.default == 0) {
85
- item.value = item.default
86
- }
87
- if (this.selectdata[item.field]) {
88
- // 将json字符串格式化赋值给value
89
- if (String(this.selectdata[item.field]).startsWith("{")) {
90
- item.value = JSON.parse(this.selectdata[item.field])
91
- this.selectdata[item.field] = JSON.parse(this.selectdata[item.field])
92
- } else {
93
- item.value = this.selectdata[item.field]
94
- }
78
+
79
+ if (!item.value && (item.default || item.default === 0) && item.type !== 'datepicker') {
80
+ if (item.eval) {
81
+ item.value = eval(item.default)
95
82
  } else {
96
- if (this.selectdata[item.field] === 0) {
97
- item.value = 0
98
- }
83
+ item.value = item.default
99
84
  }
85
+ }
100
86
 
101
- // datepicker 没有值给当时值
102
- if (item.type === 'datepicker' && !item.value && item.default) {
103
- item.value = new Date().Format('yyyy-MM-dd HH:mm:ss')
87
+ if (this.selectdata[item.field]) {
88
+ // 将json字符串格式化赋值给value
89
+ if (String(this.selectdata[item.field]).startsWith("{")) {
90
+ item.value = JSON.parse(this.selectdata[item.field])
91
+ } else {
92
+ item.value = this.selectdata[item.field]
104
93
  }
94
+ }
95
+ if (this.selectdata[item.field] === 0) {
96
+ item.value = 0
97
+ }
105
98
 
106
- // 如果配置类型为select,优先从参数列表获取options
107
- if (item.type === 'select') {
108
- let temp = null
99
+ // datepicker
100
+ if (item.type === 'datepicker' && !item.value && item.default) {
101
+ item.value = new Date().Format(`${item.format ? item.format : 'yyyy-MM-dd HH:mm:ss'}`)
102
+ }
109
103
 
110
- temp = this.$appdata.getParam(item.label)
104
+ // 如果配置类型为select,优先从参数列表获取options
105
+ if (item.type === 'select' || item.type === 'checkbox') {
106
+ if (item.param) {
107
+ let temp = this.$appdata.getParam(item.label)
111
108
 
112
- if (temp && temp.length > 0 && item.label) {
109
+ if (temp && temp.length > 0) {
113
110
  item.options = temp
114
- } else {
115
- if (item.paramLabel) {
116
- temp = this.$appdata.getParam(item.paramLabel)
117
- if (temp && temp.length > 0) {
118
- item.options = temp
119
- }
111
+ }
112
+
113
+ if (item.paramLabel) {
114
+ temp = this.$appdata.getParam(item.paramLabel)
115
+ if (temp && temp.length > 0) {
116
+ item.options = temp
120
117
  }
121
118
  }
122
119
  }
123
- })
120
+ if (item.ready) {
121
+ item.options = await this[item.ready]()
122
+ }
123
+ }
124
124
 
125
- // 控制组件
126
- if (this.data.components) {
127
- this.data.components.forEach(item => {
128
- item.mark = 0
129
- })
125
+
126
+ if (item.type === 'checkbox') {
127
+ if (this.selectdata[item.field]) {
128
+ item.value = JSON.parse(this.selectdata[item.field])
129
+ } else {
130
+ item.value = []
131
+ }
130
132
  }
131
133
 
132
- // 初始化 fields 可对数据进行特殊处理
133
- this.initializeFields()
134
- console.log("this.data的数据:" + JSON.stringify(this.data))
135
- // 初始化 buttons_fields
136
- for (let i = 0; i < this.data.buttons.length; i++) {
137
- // 下发按钮相关配置
138
- if (this.data.buttons[i].button_name === '下发') {
139
- if (this.data.buttons[i].button_fields && this.data.buttons[i].button_fields.length === 1) {
140
- if (this.data.source){
141
- let http = new HttpResetClass()
142
- let res = await http.load('POST', 'rs/search', {
143
- source: this.data.source,
144
- userid: this.$login.f.id
145
- }, {resolveMsg: null, rejectMsg: null})
146
-
147
- let options = []
148
- for (let i = 0; i < res.data.length; i++) {
149
- options.push(
150
- {
151
- "label": res.data[i].name,
152
- "value": res.data[i].name
153
- }
154
- )
155
- }
156
- this.data.buttons[i].button_fields[0]['options'] = options
157
- } else {
158
- this.$showMessage("请配置获取人员表达式")
159
- }
160
- } else {
161
- this.$showMessage("下发按钮必须满足 当且仅当一个字段")
162
- }
134
+ this.selectdata[item.field] = item.value
135
+ }
136
+
137
+ // 控制组件
138
+ if (this.selectdata.components) {
139
+ this.selectdata.components.forEach(item => {
140
+ if (!item.mark) {
141
+ item.mark = 0
163
142
  }
164
- if (this.data.buttons[i].button_fields) {
165
- this.data.buttons[i].button_fields.forEach(x => {
166
- // 如果配置类型为select,优先从参数列表获取options
167
- if (x.type === 'select' && this.$appdata.getParam(x.label)) {
168
- x.options = this.$appdata.getParam(x.label).trim()
169
- }
170
- })
143
+ })
144
+ }
145
+
146
+ // 初始化onetomany
147
+ if (this.selectdata.onetomany) {
148
+ for (const item of this.selectdata.onetomany) {
149
+ let res = null
150
+ if (item.queryEvent) {
151
+ res = this[item.queryEvent]()
152
+ } else {
153
+ let data = {
154
+ tablename: item.tables[0],
155
+ condition: `f_process_id='${this.selectdata.f_process_id}'`
156
+ }
157
+ res = await this.$resetpost(
158
+ 'rs/sql/applySingleTable',
159
+ {data: data},
160
+ {resolveMsg: null, rejectMsg: 'onetomany查询失败'}
161
+ )
171
162
  }
172
- }
173
163
 
174
- // onetomany 数据获取
175
- if (this.data.onetomany) {
176
- for (let index = 0; index < this.data.onetomany.length; index++) {
177
- let res = null
178
- if (!this.data.onetomany[index].queryEvent || this.data.onetomany[index].queryEvent === 'default'){
179
- let http = new HttpResetClass()
180
- let data = {
181
- tablename: this.data.onetomany[index].tables[0],
182
- condition: `f_process_id='${this.selectdata.f_process_id}'`
164
+ item.rows = res.data
165
+
166
+ // 初始化onetomany中的fields
167
+ for (const field of item.fields) {
168
+ if (!field.value) {
169
+ if (field.value !== 0) {
170
+ field.value = null
183
171
  }
184
- res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
185
- resolveMsg: null,
186
- rejectMsg: 'onetomany查询失败'
187
- })
188
- } else {
189
- res = this[this.data.onetomany[index].queryEvent]()
190
172
  }
191
173
 
192
- // 初始化 onetomany
193
- this.data.onetomany[index].rows = res.data
174
+ if (field.default || field.default === 0) {
175
+ field.value = field.default
176
+ }
194
177
 
195
- // 初始化onetomany中的fields
196
- for (let j = 0; j < this.data.onetomany[index].fields.length; j++) {
197
- if (!this.data.onetomany[index].fields[j].value) {
198
- if (this.data.onetomany[index].fields[j].value === 0) {
199
- this.data.onetomany[index].fields[j].value = 0
200
- } else {
201
- this.data.onetomany[index].fields[j].value = null
202
- }
203
- }
204
- if (this.data.onetomany[index].fields[j].default || this.data.onetomany[index].fields[j].default == 0) {
205
- this.data.onetomany[index].fields[j].value = this.data.onetomany[index].fields[j].default
178
+ // datepicker
179
+ if (field.type === 'datepicker' && !field.value && field.default) {
180
+ field.value = new Date().Format(`${field.format ? field.format : 'yyyy-MM-dd HH:mm:ss'}`)
181
+ }
182
+
183
+ if (field.type === 'select') {
184
+
185
+ let temp = this.$appdata.getParam(field.label)
186
+
187
+ if (temp && temp.length > 0) {
188
+ field.options = temp
206
189
  }
207
- // 如果配置类型为select,优先从参数列表获取options
208
- if (this.data.onetomany[index].fields[j].type === 'select') {
209
- let temp = Vue.$appdata.getParam(this.data.onetomany[index].fields[j].label)
190
+
191
+ if (field.paramLabel) {
192
+ temp = this.$appdata.getParam(field.paramLabel)
210
193
  if (temp && temp.length > 0) {
211
- this.data.onetomany[index].fields[j].options = temp
194
+ item.options = temp
212
195
  }
213
196
  }
214
197
  }
215
198
  }
216
199
  }
200
+ }
217
201
 
218
- // 消除双向绑定,避免子组件(显示层)数据更改,父组件(控制层)也更改
219
- let temp = JSON.parse(JSON.stringify(this.data))
202
+ // 初始化 buttons_fields
203
+ for (const item of this.selectdata.buttons) {
204
+ if (item.button_name === '下发') {
220
205
 
221
- this.show_data = temp
222
- this.$nextTick(() => {
223
- this.showview = true
224
- })
225
- // 查询区域和街道
226
- if (this.selectdata.defname === '报装申请') {
227
-
228
- for (let i = 0; i < this.show_data.fields.length; i++) {
229
-
230
- if (this.show_data.fields[i].label === '区/县') {
231
- let http = new HttpResetClass()
232
- let condition = "f_type = '区'"
233
- let res = await http.load('POST','rs/sql/apply_singleTable',{
234
- data:{tablename:'t_address',condition:condition}},
235
- {resolveMsg: null, rejectMsg: null})
236
- let data = []
237
- let array = []
238
- data = res.data.map(item => {
239
- return item.f_name;
240
- })
241
- for (let q = 0; q < data.length; q++) {
242
- let arraydata = {
243
- 'label': data[q],
244
- 'value': data[q]
245
- }
246
- if (array.length !== 0) {
247
- for (let w = 0; w < array.length; w++) {
248
- if (array[w].label === data[q]) {
249
- break
250
- }
251
- while (w === array.length - 1) {
252
- array.push(arraydata)
253
- break
254
- }
255
- }
256
- } else {
257
- array.push(arraydata)
258
- }
259
- }
260
- this.show_data.fields[i].options = array
261
- console.log("区县选择框数据:" + JSON.stringify(this.show_data.fields[i].options))
206
+ let data = {
207
+ source: item.source,
208
+ userid: this.$login.f.id
209
+ }
210
+ if (item.sourceMethod) {
211
+ data.source = this[item.sourceMethod]()
212
+ }
213
+ if (!data.source) {
214
+ this.$showMessage("请配置获取人员表达式")
215
+ return
216
+ }
217
+
218
+ let res = await this.$resetpost(
219
+ 'rs/search',
220
+ {data: data},
221
+ {resolveMsg: null, rejectMsg: '下发人员查询失败!!!'}
222
+ )
223
+
224
+ let options = res.data.map(source => {
225
+ return {
226
+ "label": source.name,
227
+ "value": source.id
262
228
  }
263
- if (this.show_data.fields[i].label === '片区') {
264
- let http = new HttpResetClass()
265
- let condition = "f_type = '街道'"
266
- let res = await http.load('POST','rs/sql/apply_singleTable',{
267
- data:{tablename:'t_address',condition:condition}},
268
- {resolveMsg: null, rejectMsg: null})
269
- let data = []
270
- let array = []
271
- data = res.data.map(item => {
272
- return item.f_name;
273
- })
274
- for (let q = 0; q < data.length; q++) {
275
- let arraydata = {
276
- 'label': data[q],
277
- 'value': data[q]
229
+ })
230
+
231
+ if (item.button_fields.length !== 1) {
232
+ this.$showMessage("下发有且只能有一个字段!!!")
233
+ return
234
+ }
235
+
236
+ item.button_fields[0].options = options
237
+ }
238
+ if (item.button_fields) {
239
+ item.button_fields.forEach(x => {
240
+ // 如果配置类型为select,优先从参数列表获取options
241
+ if (x.type === 'select') {
242
+
243
+ if (x.param) {
244
+ let temp = this.$appdata.getParam(x.label)
245
+
246
+ if (temp && temp.length > 0) {
247
+ x.options = temp
278
248
  }
279
- if (array.length !== 0) {
280
- for (let w = 0; w < array.length; w++) {
281
- if (array[w].label === data[q]) {
282
- break
283
- }
284
- while (w === array.length - 1) {
285
- array.push(arraydata)
286
- break
287
- }
249
+
250
+ if (x.paramLabel) {
251
+ temp = this.$appdata.getParam(x.paramLabel)
252
+ if (temp && temp.length > 0) {
253
+ x.options = temp
288
254
  }
289
- } else {
290
- array.push(arraydata)
291
255
  }
292
256
  }
293
- this.show_data.fields[i].options = array
294
- console.log("片区选择框数据:" + JSON.stringify(this.show_data.fields[i].options))
257
+
295
258
  }
259
+ })
260
+ }
261
+ }
262
+
263
+ if (this.selectdata.f_apply_nature === '散户' && this.selectdata.defname === '现场勘察') {
264
+ for (const item of this.selectdata.fields) {
265
+ if (item.label.includes('安装户数')) {
266
+ item.readonly = true
296
267
  }
297
268
  }
298
- },
299
- // 初始化fields值
300
- initializeFields() {
269
+ }
270
+ // 消除双向绑定,避免子组件(显示层)数据更改,父组件(控制层)也更改
271
+ let temp = JSON.parse(JSON.stringify(this.selectdata))
301
272
 
302
- },
303
- // 金额转大写
304
- smalltoBIG(n) {
305
- let fraction = ['角', '分'];
306
- let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
307
- let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];
308
- let head = n < 0 ? '欠' : '';
309
- n = Math.abs(n);
273
+ this.show_data = temp
274
+ this.$nextTick(() => {
275
+ this.showview = true
276
+ })
310
277
 
311
- let s = '';
278
+ },
279
+ // 金额转大写
280
+ smalltoBIG(n) {
281
+ let fraction = ['角', '分'];
282
+ let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
283
+ let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];
284
+ let head = n < 0 ? '欠' : '';
285
+ n = Math.abs(n);
312
286
 
313
- for (var i = 0; i < fraction.length; i++) {
314
- s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
287
+ let s = '';
288
+
289
+ for (var i = 0; i < fraction.length; i++) {
290
+ s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
291
+ }
292
+ s = s || '整';
293
+ n = Math.floor(n);
294
+
295
+ for (var i = 0; i < unit[0].length && n > 0; i++) {
296
+ let p = '';
297
+ for (var j = 0; j < unit[1].length && n > 0; j++) {
298
+ p = digit[n % 10] + unit[1][j] + p;
299
+ n = Math.floor(n / 10);
300
+ }
301
+ s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
302
+ }
303
+ return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
304
+ },
305
+ getLableValue(label) {
306
+ for (const item of this.show_data.fields) {
307
+ if (item.label === label && item.type !== 'number') {
308
+ return item.value || ''
309
+ }
310
+ if (item.label === label && item.type === 'number') {
311
+ return item.value || 0
312
+ }
313
+ }
314
+ },
315
+ getLableOptions(label) {
316
+ for (const item of this.show_data.fields) {
317
+ if (item.label === label) {
318
+ return item.options
319
+ }
320
+ }
321
+ },
322
+ setLabelValue(label, value) {
323
+ for (const item of this.show_data.fields) {
324
+ if (item.label === label) {
325
+ item.value = value
326
+ this.show_data[item.field] = value
315
327
  }
316
- s = s || '整';
317
- n = Math.floor(n);
328
+ }
329
+ },
330
+ setLabelOptions(label, options) {
331
+ for (const item of this.show_data.fields) {
332
+ if (item.label === label) {
333
+ item.options = options
334
+ }
335
+ }
336
+ },
337
+ showLabels(...labels) {
338
+ for (const item of this.show_data.fields) {
339
+ if (labels.includes(item.label)) {
340
+ item.hidden = false
341
+ }
342
+ }
343
+ },
344
+ hideLabels(...labels) {
345
+ for (const item of this.show_data.fields) {
346
+ if (labels.includes(item.label)) {
347
+ item.hidden = true
348
+ }
349
+ }
350
+ },
351
+ showButtons(...buttons) {
352
+ for (const item of this.show_data.buttons) {
353
+ if (buttons.includes(item.button_name)) {
354
+ item.hidden = false
355
+ }
356
+ }
357
+ },
358
+ hideButtons(...buttons) {
359
+ for (const item of this.show_data.buttons) {
360
+ if (buttons.includes(item.button_name)) {
361
+ item.hidden = true
362
+ }
363
+ }
364
+ },
365
+ requiredLabels(...labels) {
366
+ for (const item of this.show_data.fields) {
367
+ if (labels.includes(item.label)) {
368
+ item.required = true
369
+ }
370
+ }
371
+ },
372
+ electiveLabels(...labels) {
373
+ for (const item of this.show_data.fields) {
374
+ if (labels.includes(item.label)) {
375
+ item.required = false
376
+ }
377
+ }
378
+ },
379
+ readonlyLabels(...labels) {
380
+ for (const item of this.show_data.fields) {
381
+ if (labels.includes(item.label)) {
382
+ item.readonly = true
383
+ item.disabled = true
384
+ }
385
+ }
386
+ },
387
+ readwriteLabels(...labels) {
388
+ for (const item of this.show_data.fields) {
389
+ if (labels.includes(item.label)) {
390
+ item.readonly = false
391
+ item.disabled = false
392
+ }
393
+ }
394
+ },
395
+ disabledButtons(...buttons) {
396
+ for (const item of this.show_data.buttons) {
397
+ if (buttons.includes(item.button_name)) {
398
+ item.disabled = true
399
+ }
400
+ }
401
+ },
402
+ enableButtons(...buttons) {
403
+ for (const item of this.show_data.buttons) {
404
+ if (buttons.includes(item.button_name)) {
405
+ item.disabled = false
406
+ }
407
+ }
408
+ },
409
+ showComponents(...titles) {
410
+ for (const item of this.show_data.components) {
411
+ if (titles.includes(item.title) && item.device === 'pc') {
412
+ item.hidden = false
413
+ }
414
+ }
415
+ },
416
+ hideComponents(...titles) {
417
+ for (const item of this.show_data.components) {
418
+ if (titles.includes(item.title) && item.device === 'pc') {
419
+ item.hidden = true
420
+ }
421
+ }
422
+ },
423
+ async checkDuplicate(index) {
424
+ let http = new HttpResetClass()
425
+ let data = {
426
+ tablename: 't_apply',
427
+ condition: `${this.show_data.fields[index].field} = '${this.show_data.fields[index].value}'`
428
+ }
429
+ let res = await http.load('POST', 'rs/sql/applySingleTable', {data: data}, {
430
+ resolveMsg: null,
431
+ rejectMsg: `${this.show_data.fields[index].label}查询失败`
432
+ })
433
+ if (res.data.length > 0) {
434
+ this.show_data.fields[index].value = null
435
+ this.$showAlert(`${this.show_data.fields[index].label}已存在!!!`, 'warning', 3000)
436
+ }
437
+ },
438
+ // 获取片区
439
+ async getSliceArea () {
440
+ let data = {
441
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
442
+ userid: this.$login.f.id
443
+ }
318
444
 
319
- for (var i = 0; i < unit[0].length && n > 0; i++) {
320
- let p = '';
321
- for (var j = 0; j < unit[1].length && n > 0; j++) {
322
- p = digit[n % 10] + unit[1][j] + p;
323
- n = Math.floor(n / 10);
324
- }
325
- s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
326
- }
327
- return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
328
- },
329
- getLableValue(label) {
330
- for (const item of this.show_data.fields) {
331
- if (item.label === label && item.type !== 'number') {
332
- return item.value || ''
445
+ let http = new HttpResetClass()
446
+ let res = await http.load(
447
+ 'POST',
448
+ `rs/search`,
449
+ {data: data},
450
+ {resolveMsg: null, rejectMsg: '片区查询失败!!!'}
451
+ )
452
+
453
+ return res.data.map(item => {
454
+ return {
455
+ label: item.name,
456
+ value: item.name
457
+ }
458
+ })
459
+ },
460
+ // 获取区县
461
+ async getPcd () {
462
+ let data = {
463
+ tablename: 't_pcd',
464
+ condition: `f_filialeid = '${this.$login.f.orgid}'`
465
+ }
466
+ let http = new HttpResetClass()
467
+ let res = await http.load(
468
+ 'POST',
469
+ `rs/sql/applySingleTable`,
470
+ {data: data},
471
+ {resolveMsg: null, rejectMsg: '区县查询失败!!!'}
472
+ )
473
+
474
+ return res.data.map(item => {
475
+ return {
476
+ label: item.f_pcd,
477
+ value: item.f_pcd
478
+ }
479
+ })
480
+ },
481
+ // 缴费前置
482
+ chargeBefore () {
483
+ if (this.show_data.f_apply_type === '民用报建' && this.show_data.f_apply_nature === '小区') {
484
+ return
485
+ }
486
+ if (Number(this.show_data.f_due_money) > Number(this.show_data.f_cumulative_payment_money) || Number(this.show_data.f_surplus_money) > 0) {
487
+ this.$showAlert('费用未结清!!!', 'warning', 3000)
488
+ throw null
489
+ }
490
+ },
491
+ // 获取设计人员
492
+ async getDesignerPeople () {
493
+ let data = {
494
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
495
+ userid: this.$login.f.id
496
+ }
497
+
498
+ let res = await this.$resetpost(
499
+ 'rs/search',
500
+ {data: data},
501
+ {resolveMsg: null, rejectMsg: '设计人员查询失败!!!'}
502
+ )
503
+
504
+ return res.data.map(item => {
505
+ return {
506
+ label: item.name,
507
+ value: item.id
508
+ }
509
+ })
510
+ },
511
+ //现场勘察
512
+ async prospectingBefore() {
513
+ let data = {
514
+ tablename: 't_files',
515
+ condition: `f_blobid = '${this.selectdata.f_process_id}' and defname = '现场勘察' and fremarks = '报装手机签字文件'`
516
+ }
517
+ let http = new HttpResetClass()
518
+ let res = await http.load(
519
+ 'POST',
520
+ `rs/sql/applySingleTable`,
521
+ {data: data},
522
+ {resolveMsg: null, rejectMsg: null}
523
+ )
524
+ if (res.data.length <= 0) {
525
+ this.$showMessage('现场勘察未签字,无法提交!!!')
526
+ throw '现场勘察未签字,无法提交!'
527
+ }
528
+ },
529
+ //合同签订提交
530
+ async contractSigningBefore() {
531
+ let http = new HttpResetClass()
532
+ let data = {
533
+ tablename: 't_contract',
534
+ condition: `f_process_id = '${this.selectdata.f_process_id}' and f_doc_title like '%委托施工合同' `
535
+ }
536
+ let res = await http.load(
537
+ 'POST',
538
+ `rs/sql/applySingleTable`,
539
+ {data: data},
540
+ {resolveMsg: null, rejectMsg: null}
541
+ )
542
+ if (res.data[0].f_sign_state !== '签订完成') {
543
+ this.$showMessage('用户未签订完成,无法提交!!!')
544
+ throw '用户未签订完成,无法提交!'
545
+ }
546
+ },
547
+ // 施工前置
548
+ async constructionBefore () {
549
+ await this.userSignBefore()
550
+ if (this.show_data.f_apply_nature !== '小区') {
551
+ let http = new HttpResetClass()
552
+ let data = {
553
+ condition: `ui.f_process_id = '${this.show_data.f_process_id}' and f_meternumber is null`
554
+ }
555
+ let res = await http.load(
556
+ 'POST',
557
+ 'rs/sql/countApplyUserinfo',
558
+ {data: data},
559
+ {
560
+ resolveMsg: null,
561
+ rejectMsg: '安装明细查询失败!!!'
562
+ })
563
+ if (res.data[0].num > 0) {
564
+ this.$showMessage(`还有${res.data[0].num}户未安装,无法提交`)
565
+ throw `还有${res.data[0].num}户未安装,无法提交`
566
+ }
567
+ }
568
+ },
569
+ async userSignBefore() {
570
+ let http = new HttpResetClass()
571
+ let data = {
572
+ tablename: 't_files',
573
+ condition: `f_blobid = '${this.selectdata.f_process_id}' and defname = '${this.selectdata.defname}' and fremarks = '报装手机签字文件'`
574
+ }
575
+ let res = await http.load(
576
+ 'POST',
577
+ `rs/sql/applySingleTable`,
578
+ {data: data},
579
+ {resolveMsg: null, rejectMsg: null}
580
+ )
581
+ if (res.data.length <= 0) {
582
+ this.$showMessage('用户未签字,无法提交!!!')
583
+ throw '用户未签字,无法提交!'
584
+ }
585
+ },
586
+ addressInitialization () {
587
+ this.$getConfig(this, 'UserAddress')
588
+
589
+ let f_address_type = this.show_data.f_address_type
590
+
591
+ for (const item of this.show_data.fields) {
592
+ if (f_address_type === '民用市区') {
593
+ if (item.label === '区/县' || item.label === '街道/乡镇' || item.label === '集收单位' || item.label === '门牌号') {
594
+ item.hidden = false
595
+ item.required = true
333
596
  }
334
- if (item.label === label && item.type === 'number') {
335
- return item.value || 0
597
+ if (item.label === '楼号/组' || item.label === '单元/排' || item.label === '楼层') {
598
+ item.hidden = false
599
+ item.required = false
336
600
  }
337
- }
338
- },
339
- setLabelValue(label, value) {
340
- for (const item of this.show_data.fields) {
341
- if (item.label === label) {
342
- item.value = value
601
+ if (item.label === '地址') {
602
+ item.readonly = true
343
603
  }
344
604
  }
345
- },
346
- async buttonBefore(model) {
347
- // if (
348
- // model.button.button_name === '提交' &&
349
- // model.defname === '收费' &&
350
- // (
351
- // model.f_apply_type === '散户报建' ||
352
- // model.f_apply_type === '工业户报建' ||
353
- // model.f_apply_type === '商业户报建'
354
- // ) &&
355
- // model.f_surplus_money > 0
356
- // ) {
357
- // throw '未结金额大于0,无法提交!!!'
358
- // }
359
- // if (model.defname === '施工' && model.button.button_name === '提交') {
360
- // let http = new HttpResetClass()
361
- // let data = {
362
- // f_process_id: model.f_process_id
363
- // }
364
- // let res = await http.load('POST', 'rs/sql/notInstalled', {data: data}, {resolveMsg: null, rejectMsg: null})
365
- // if (res.data[0].num > 0) {
366
- // throw `还有${res.data[0].num}户未安装,无法提交`
367
- // }
368
- // }
369
- return model
370
- },
371
- // ========================= 武安 =================================
372
- // 地址类型变化
373
- addressType() {
374
- for (const item of this.show_data.fields) {
375
- if (item.label === '小区' && this.show_data.f_address_type === '民用地址') {
605
+ if (f_address_type === '民用乡镇') {
606
+ if (item.label === '区/县' || item.label === '街道/乡镇' || item.label === '集收单位' || item.label === '门牌号') {
607
+ item.hidden = false
376
608
  item.required = true
377
609
  }
378
- if (item.label === '小区' && this.show_data.f_address_type === '特殊地址') {
610
+ if (item.label === '楼号/组' || item.label === '单元/排' || item.label === '楼层') {
611
+ item.hidden = false
379
612
  item.required = false
380
613
  }
381
- if (
382
- (
383
- item.label === '楼号' ||
384
- item.label === '单元' ||
385
- item.label === '楼层' ||
386
- item.label === '门牌号'
387
- ) && this.show_data.f_address_type === '民用地址'
388
- ) {
389
- item.required = true
614
+ if (item.label === '楼层') {
615
+ item.hidden = true
616
+ item.required = false
617
+ }
618
+ if (item.label === '地址') {
619
+ item.readonly = true
620
+ }
621
+ }
622
+ if (f_address_type === '特殊地址') {
623
+ if (item.label === '区/县' || item.label === '街道/乡镇') {
390
624
  item.hidden = false
391
- item.value = null
625
+ item.required = true
392
626
  }
393
- if (
394
- (
395
- item.label === '楼号' ||
396
- item.label === '单元' ||
397
- item.label === '楼层' ||
398
- item.label === '门牌号'
399
- ) && this.show_data.f_address_type === '特殊地址'
400
- ) {
627
+ if (item.label === '集收单位') {
628
+ item.hidden = false
401
629
  item.required = false
630
+ }
631
+ if (item.label === '楼号/组' || item.label === '单元/排' || item.label === '楼层' || item.label === '门牌号') {
402
632
  item.hidden = true
403
- item.value = null
633
+ item.required = false
634
+ }
635
+ if (item.label === '地址') {
636
+ item.readonly = false
404
637
  }
405
638
  }
406
- },
407
- //根据区县获取街道
408
- async getStreetList () {
409
- console.log("街道查询")
410
- let data = {
411
- son: '街道',
412
- parent: '区',
413
- condition: `b.f_name = '${this.getLableValue('区/县')}'`
414
- }
415
-
416
- let res = await this.$resetpost(
417
- `rs/sql/getAddress`,
418
- {data: data},
419
- {resolveMsg: null, rejectMsg: '街道查询失败,请重新进入!!!'}
420
- )
421
639
 
422
- let streetList = []
640
+ if (this.show_data.f_apply_source === '线下发起' && item.label === '预约地址') {
641
+ item.hidden = true
642
+ }
643
+ }
644
+ },
645
+ async streetChange () {
646
+ if (isEmpty(this.show_data.f_street)) {
647
+ return
648
+ }
423
649
 
424
- res.data.forEach(item => {
425
- streetList.push({
426
- label: item.f_name,
427
- value: item.f_name
428
- })
429
- })
650
+ let data = {
651
+ tablename: 't_area',
652
+ condition: `f_filialeid = '${this.$login.f.orgid}' and f_street = '${this.show_data.f_street}'`
653
+ }
654
+ let http = new HttpResetClass()
655
+ let res = await http.load(
656
+ 'POST',
657
+ `rs/sql/applySingleTable`,
658
+ {data: data},
659
+ {resolveMsg: null, rejectMsg: '集收单位查询失败!!!'}
660
+ )
430
661
 
431
- for (const item of this.show_data.fields) {
432
- if (item.label === '街道') {
433
- item.options = streetList
434
- }
435
- }
436
- },
437
- //根据街道获取小区
438
- async getAreaList () {
439
- let data = {
440
- son: '小区',
441
- parent: '街道',
442
- condition: `b.f_name = '${this.getLableValue('街道')}'`
662
+ this.setLabelOptions('集收单位', res.data.map(item => {
663
+ return {
664
+ label: item.f_residential_area,
665
+ value: item.f_residential_area
443
666
  }
667
+ }))
668
+ },
669
+ async pcdChange () {
670
+ if (isEmpty(this.show_data.f_pcd)) {
671
+ return
672
+ }
444
673
 
445
- let res = await this.$resetpost(
446
- `rs/sql/getAddress`,
447
- {data: data},
448
- {resolveMsg: null, rejectMsg: '小区查询失败,请重新进入!!!'}
449
- )
674
+ let data = {
675
+ tablename: 't_street',
676
+ condition: `f_filialeid = '${this.$login.f.orgid}' and f_pcd = '${this.show_data.f_pcd}'`
677
+ }
678
+ let f_address_type = this.getLableValue('地址类型')
450
679
 
451
- let areaList = []
680
+ if (f_address_type === '民用市区') {
681
+ data.condition = `f_filialeid = '${this.$login.f.orgid}' and f_pcd = '${this.show_data.f_pcd}' and f_iscity = '市区'`
682
+ }
683
+ if (f_address_type === '民用乡镇') {
684
+ data.condition = `f_filialeid = '${this.$login.f.orgid}' and f_pcd = '${this.show_data.f_pcd}' and f_iscity = '乡镇'`
685
+ }
452
686
 
453
- res.data.forEach(item => {
454
- areaList.push({
455
- label: item.f_name,
456
- value: item.f_name
457
- })
458
- })
687
+ let http = new HttpResetClass()
688
+ let res = await http.load(
689
+ 'POST',
690
+ `rs/sql/applySingleTable`,
691
+ {data: data},
692
+ {resolveMsg: null, rejectMsg: '街道/乡镇查询失败!!!'}
693
+ )
459
694
 
460
- for (const item of this.show_data.fields) {
461
- if (item.label === '小区') {
462
- item.options = areaList
463
- }
695
+ this.setLabelOptions('街道/乡镇', res.data.map(item => {
696
+ return {
697
+ label: item.f_street,
698
+ value: item.f_street
464
699
  }
700
+ }))
701
+ },
702
+ async getConstructionWorker(){
703
+ let data = {
704
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
705
+ userid: this.$login.f.id
465
706
  }
466
707
 
708
+ let res = await this.$resetpost(
709
+ `${this.$androidUtil.getProxyUrl()}/rs/search`,
710
+ {data: data},
711
+ {resolveMsg: null, rejectMsg: '现场负责人查询失败!!!'}
712
+ )
713
+
714
+ return res.data.map(item => {
715
+ return {
716
+ label: item.name,
717
+ value: item.name
718
+ }
719
+ })
467
720
  },
468
- events: {
721
+ // 安装单位
722
+ async getConstructionUnit () {
723
+ let data = {
724
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
725
+ userid: this.$login.f.id
726
+ }
469
727
 
470
- 'openAddModel'(index) {
728
+ let res = await this.$resetpost(
729
+ 'rs/search',
730
+ {data: data},
731
+ {resolveMsg: null, rejectMsg: '安装单位人员查询失败!!!'}
732
+ )
471
733
 
472
- },
473
- // 获取view层button事件/
474
- async 'button'(model) {
475
- // 修改提交数据
476
- model = Object.assign({}, this.selectdata, model)
477
- // 点击重置按钮就重置数据
478
- if (model.button.button_name === '重置') {
479
- this.$dispatch('breakControl', this.data)
480
- return
734
+ return res.data.map(item => {
735
+ return {
736
+ label: item.name,
737
+ value: item.id
481
738
  }
482
- // 联合验收必须上传附件
483
- if (model.defname === '联合验收' && model.button.button_name === '提交') {
484
- let http = new HttpResetClass()
485
- let data = {
486
- tablename: 't_files',
487
- condition: "f_blobid = '" + this.selectdata.f_process_id + "'"
488
- }
489
- let res = await http.load('POST', 'rs/sql/apply_singleTable', {data: data}, {resolveMsg: null, rejectMsg: null})
490
- if (!res.data.length > 0) {
491
- this.$showMessage("您没有上传附件,无法提交!")
492
- return
493
- }
739
+ })
740
+ },
741
+ // 建设单位
742
+ async getConstructOperator () {
743
+ let data = {
744
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
745
+ userid: this.$login.f.id
746
+ }
747
+
748
+ let res = await this.$resetpost(
749
+ 'rs/search',
750
+ {data: data},
751
+ {resolveMsg: null, rejectMsg: '建设单位人员查询失败!!!'}
752
+ )
753
+
754
+ return res.data.map(item => {
755
+ return {
756
+ label: item.name,
757
+ value: item.id
494
758
  }
759
+ })
760
+ },
761
+ // 监理单位
762
+ async getSupervisorOperator () {
763
+ let data = {
764
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
765
+ userid: this.$login.f.id
766
+ }
495
767
 
496
- // 提交前置
497
- try {
498
- model = await this.buttonBefore(model)
499
- } catch (e) {
500
- this.$showAlert(e, 'warning', 3000)
501
- return
768
+ let res = await this.$resetpost(
769
+ 'rs/search',
770
+ {data: data},
771
+ {resolveMsg: null, rejectMsg: '监理单位人员查询失败!!!'}
772
+ )
773
+
774
+ return res.data.map(item => {
775
+ return {
776
+ label: item.name,
777
+ value: item.id
502
778
  }
779
+ })
780
+ },
781
+ // 土建单位
782
+ async getEngineeringOperator () {
783
+ let data = {
784
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
785
+ userid: this.$login.f.id
786
+ }
503
787
 
504
- let http = new HttpResetClass()
505
- let requestData = {
506
- tables: this.data.tables,
507
- start_activity: this.$workflow_vue.start_activity,
508
- model: model,
509
- loginUser: this.$login.f,
510
- workflow_xmlfilename: this.$workflow_vue.workflow_xmlfilename
511
- }
512
- // 下发,提交,保存,退回通用业务后台处理logic
513
- let url = 'rs/logic/ApplyProductService'
514
- let res = await http.load('POST', url, {data: requestData}, {resolveMsg: null, rejectMsg: '数据保存失败'})
515
-
516
- if (res.data.code == 200) {
517
- this.$dispatch('search')
518
- } else {
519
- if (res.data.msg) {
520
- this.$showMessage(res.data.msg)
521
- }
788
+ let res = await this.$resetpost(
789
+ 'rs/search',
790
+ {data: data},
791
+ {resolveMsg: null, rejectMsg: '土建单位人员查询失败!!!'}
792
+ )
793
+ let result = res.data.map(item => {
794
+ return {
795
+ label: item.name,
796
+ value: item.id
522
797
  }
523
- },
524
- async 'initializtionView'() {
525
-
526
- // if (this.show_data.defname === '报装申请' && this.show_data.f_apply_type === '工商户报装') {
527
- // await this.getStreetList()
528
- // }
529
- },
530
- // 失去焦点出触发事件
531
- async 'onchange'(index) {
532
- console.log('失去焦点')
533
-
534
- if (this.show_data.defname === '报装申请' && this.show_data.f_apply_type === '工商户报装'){
535
-
536
- if (this.show_data.fields[index].label === '区/县'){
537
- console.log('-----------添加街道-----------')
538
- if (this.show_data.fields[index].value === null || this.show_data.fields[index].value === '') {
539
- this.show_data.fields[index].value = null
540
- this.$showAlert('区/县不能为空!!!', 'warning', 3000)
541
- return
542
- }
543
- this.setLabelValue('街道', '')
544
- await this.getStreetList()
545
- }
546
- if (this.show_data.fields[index].label === '街道') {
547
- this.setLabelValue('小区', '')
548
- await this.getAreaList()
549
- }
550
- }
551
- // 地址拼接
552
- if (
553
- this.show_data.fields[index].label === '区/县' ||
554
- this.show_data.fields[index].label === '街道' ||
555
- this.show_data.fields[index].label === '小区' ||
556
- this.show_data.fields[index].label === '门牌号'
557
- ) {
558
- let f_address = null
559
- f_address = this.getLableValue('区/县') + this.getLableValue('街道') + this.getLableValue('小区') + this.getLableValue('门牌号')
560
- this.setLabelValue('地址',f_address)
561
- }
562
- if (this.show_data.defname === '竣工验收') {
563
- if (this.show_data.fields[index].label === '验收是否合格'){
564
- for (const button of this.show_data.buttons) {
565
- if (this.show_data.fields[index].value === '否' && button.button_name === '退回') {
566
- button.hidden = false
567
- } else {
568
- button.hidden = true
569
- }
570
- }
571
- }
798
+ })
799
+ if(this.selectdata.f_apply_nature === '散户'){
800
+ result.push({label:'用户自理',value:'用户自理'})
801
+ }
802
+ return result
803
+ },
804
+ // 检测单位
805
+ async getCheckOperator () {
806
+ let data = {
807
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
808
+ userid: this.$login.f.id
809
+ }
810
+
811
+ let res = await this.$resetpost(
812
+ 'rs/search',
813
+ {data: data},
814
+ {resolveMsg: null, rejectMsg: '检测单位人员查询失败!!!'}
815
+ )
816
+
817
+ return res.data.map(item => {
818
+ return {
819
+ label: item.name,
820
+ value: item.id
572
821
  }
573
- if (this.show_data.defname === '合同签订') {
574
- if (this.show_data.fields[index].label === '合同编号') {
575
- if (!isEmpty(this.show_data.fields[index].value)) {
576
- let http = new HttpResetClass()
577
- let data = {
578
- tablename: 't_apply',
579
- condition: `f_contract_number='${this.show_data.fields[index].value}'`
580
- }
581
- let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
582
- resolveMsg: null,
583
- rejectMsg: '合同编号查重失败'
584
- })
585
- if (res.data.length > 0) {
586
- this.show_data.fields[index].value = null
587
- this.$showAlert('合同编号已存在!!!', 'warning', 3000)
588
- }
589
- }
590
- }
591
- if (this.show_data.fields[index].label === '单价(户)') {
592
- let http = new HttpResetClass()
593
- let data = {
594
- num1: this.getLableValue(this.show_data.fields[index].label),
595
- num2: this.getLableValue('户数'),
596
- operator: '*'
597
- }
598
- try {
599
- let res = await http.load('POST', 'rs/logic/compute', {data: data}, {
600
- resolveMsg: null,
601
- rejectMsg: null
602
- })
603
- data = {
604
- num1: res.data,
605
- num2: this.getLableValue('其他费用'),
606
- operator: '+'
607
- }
608
- res = await http.load('POST', 'rs/logic/compute', {data: data}, {
609
- resolveMsg: null,
610
- rejectMsg: null
611
- })
612
- this.setLabelValue('合同金额',res.data)
613
- } catch (e) {
614
- this.$showAlert(e.data.msg, 'warning', 3000)
615
- }
616
- }
617
- if (this.show_data.fields[index].label === '其他费用') {
618
- let http = new HttpResetClass()
619
- let data = {
620
- num1: this.getLableValue(this.show_data.fields[index].label),
621
- num2: this.getLableValue('合同金额'),
622
- operator: '+'
623
- }
624
- try {
625
- let res = await http.load('POST', 'rs/logic/compute', {data: data}, {
626
- resolveMsg: null,
627
- rejectMsg: null
628
- })
629
- this.setLabelValue('合同金额',res.data)
630
- } catch (e) {
631
- this.$showAlert(e.data.msg, 'warning', 3000)
632
- }
633
- }
822
+ })
823
+ },
824
+ // 获取气表品牌
825
+ async getMeterBrand () {
826
+ let data = {
827
+ }
828
+
829
+ let http = new HttpResetClass()
830
+ let res = await http.load(
831
+ 'POST',
832
+ `rs/sql/getMeterBrand`,
833
+ {data: data},
834
+ {resolveMsg: null, rejectMsg: '气表品牌查询失败!!!'}
835
+ )
836
+
837
+ return res.data
838
+ },
839
+ async stopApply () {
840
+ console.log('终止报建!!!!!')
841
+
842
+ if (this.show_data.defname === '报建受理') {
843
+ this.show_data.f_stop_reason = this.show_data.f_accept_result
844
+ }
845
+ if (this.show_data.defname === '现场勘察') {
846
+ this.show_data.f_stop_reason = this.show_data.f_prospecting_result
847
+ }
848
+
849
+ let data = {
850
+ apply: this.show_data,
851
+ user: this.$login.f
852
+ }
853
+
854
+ let res = await this.$resetpost(
855
+ `rs/logic/stopApply`,
856
+ {data: data},
857
+ {resolveMsg: null, rejectMsg: '终止报建失败!!!'}
858
+ )
859
+
860
+ this.$dispatch('loadPage')
861
+
862
+ throw '终止报建!!!'
863
+ },
864
+ // 获取小区
865
+ async getResidentialArea () {
866
+ let data = {
867
+ tablename: 't_area_address',
868
+ condition: `f_filiale = '${this.$login.f.f_fengongsi}' and f_area_status = '启用'`
869
+ }
870
+ let http = new HttpResetClass()
871
+ let res = await http.load(
872
+ 'POST',
873
+ `rs/sql/applySingleTable`,
874
+ {data: data},
875
+ {resolveMsg: null, rejectMsg: '小区查询失败!!!'}
876
+ )
877
+ return res.data.map(item => {
878
+ return {
879
+ label: item.f_residential_area,
880
+ value: item.id
634
881
  }
635
- // ========================= 武安 =================================
636
- // 号码检测
637
- if (this.show_data.fields[index].label === '电话号码') {
638
- let phone = this.show_data.fields[index].value
639
- // 电话号码效验
640
- if (!(/^1[3456789]\d{9}$/.test(phone))) {
641
- this.show_data.fields[index].value = ""
642
- this.$showAlert('电话号码格式不正确,请重新输入。', 'info', 2000)
643
- }
882
+ })
883
+ },
884
+ async getContractSignatory () {
885
+ let data = {
886
+ condition: `asj.f_type = '内部' and asj.f_subject_type = '企业' and asj.f_state = '有效' and asj.f_auth_state = '审核通过' and asg.f_state = '有效' and asg.f_sign_state = '签章成功'`
887
+ }
888
+ let http = new HttpResetClass()
889
+ let res = await http.load(
890
+ 'POST',
891
+ `rs/sql/getAuthSubjectList`,
892
+ {data: data},
893
+ {resolveMsg: null, rejectMsg: '签署人查询失败!!!'}
894
+ )
895
+ return res.data.map(item => {
896
+ return {
897
+ label: item.f_subject_name,
898
+ value: `${item.id}`
644
899
  }
645
- //时间提醒
646
- if (this.show_data.fields[index].label.includes("时间") || this.show_data.fields[index].type === 'datepicker') {
647
- let setTime = this.show_data.fields[index].value
648
- let nowTime = new Date().Format("yyyy-MM-dd HH:mm:ss")
649
- if (nowTime >= setTime) {
650
- this.$showMessage("请注意,当前节点时间/工期已过期!")
651
- }
900
+ })
901
+ },
902
+ // 地址拼接
903
+ addressSplicing () {
904
+ let f_area = this.getLableValue('区/县') ? this.getLableValue('区/县') + '-' : ''
905
+ let f_slice_area = this.getLableValue('片区') ? this.getLableValue('片区') + '-' : ''
906
+ let f_street = this.getLableValue('街道') || ''
907
+
908
+ let f_address = f_area + f_slice_area + f_street
909
+ this.setLabelValue("地址", f_address)
910
+ },
911
+ },
912
+ events: {
913
+ // 强制开关阀
914
+ async 'onOffValve' () {
915
+ let data = {
916
+ condition: `ui.f_userinfo_id = '${this.show_data.f_userinfo_id}'`
917
+ }
918
+ let http = new HttpResetClass()
919
+ let res = await http.load(
920
+ 'POST',
921
+ `rs/sql/getApplyUserinfo`,
922
+ {data: data},
923
+ {resolveMsg: null, rejectMsg: '档案获取失败!!!'}
924
+ )
925
+
926
+ let userinfo = res.data[0]
927
+
928
+ if (this.show_data.button.button_name !== '退出强制状态') {
929
+ data = {
930
+ condition: `t_userfiles.f_meternumber = '${userinfo.f_meternumber}'`,
931
+ contentData: {
932
+ isOpen: this.show_data.button.button_name === '强制开阀' ? 1 : 0
933
+ },
934
+ inputtor: this.$login.f.name,
935
+ instructTitle: this.show_data.button.button_name === '强制开阀' ? '开阀' : '关阀',
936
+ instructType: '阀门控制',
937
+ meterBrandName: userinfo.f_alias
652
938
  }
653
- },
654
- // input值发生变化
655
- async 'oninput'(index) {
656
-
657
- },
658
- // 错误事件
659
- error_check(index) {
660
- // 时间格式检测
661
- if (this.show_data.fields[index].type == 'datepicker') {
662
- let dateRe = new RegExp(/(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)$/)
663
- let datetimeRe = new RegExp(/((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29))\s([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/)
664
- if (datetimeRe.test(this.show_data.fields[index].value) && this.show_data.fields[index].value.trim().length == 19 && this.show_data.fields[index].fullsize) {
665
- this.show_data.fields[index].error.flag = false
666
- } else if (dateRe.test(this.show_data.fields[index].value) && this.show_data.fields[index].value.trim().length == 10) {
667
- this.show_data.fields[index].error.flag = false
668
- } else {
669
- if (this.show_data.fields[index].fullsize) {
670
- this.show_data.fields[index].error = Object.assign({}, this.show_data.fields[index].error)
671
- this.show_data.fields[index].error.msg = this.show_data.fields[index].error.msg ? this.show_data.fields[index].error.msg : '时间格式如:2019-05-02 09:23:21'
672
- this.$showAlert(this.show_data.fields[index].label + '格式错误' + this.show_data.fields[index].error.msg, 'warning', 3000)
673
- this.show_data.fields[index].error.flag = true
674
- this.show_data.fields[index].value = ''
675
- } else {
676
- this.show_data.fields[index].error = Object.assign({}, this.show_data.fields[index].error)
677
- this.show_data.fields[index].error.msg = this.show_data.fields[index].error.msg ? this.show_data.fields[index].error.msg : '时间格式如:2019-05-02'
678
- this.$showAlert(this.show_data.fields[index].label + '格式错误' + this.show_data.fields[index].error.msg, 'warning', 3000)
679
- this.show_data.fields[index].error.flag = true
680
- this.show_data.fields[index].value = ''
681
- }
939
+ res = await http.load(
940
+ 'POST',
941
+ `rs/logic/saveInstruct`,
942
+ {data: data},
943
+ {resolveMsg: null, rejectMsg: `${this.show_data.button.button_name}失败!!!`}
944
+ )
945
+ }
682
946
 
683
- }
947
+ data = {
948
+ f_user_id: userinfo.f_user_id,
949
+ f_userinfo_id: userinfo.f_userinfo_id,
950
+ record: {
951
+ f_filiale: this.$login.f.f_fengongsi,
952
+ f_instruct_meta_data: this.show_data.button.button_name === '退出强制状态' ? '退出强制阀控' : '进入强制阀控',
953
+ f_instruct_title: this.show_data.button.button_name === '退出强制状态' ? '退出强制阀控' : '进入强制阀控',
954
+ f_instruct_type: '阀门控制',
955
+ f_meternumber: userinfo.f_meternumber,
956
+ f_operator: this.$login.f.name,
957
+ f_outlets: userinfo.f_outlets,
958
+ f_reason: this.show_data.button.f_reason,
959
+ f_user_id: userinfo.f_user_id,
960
+ f_userinfo_id: userinfo.f_userinfo_id
961
+ },
962
+ state: this.show_data.button.button_name === '退出强制状态' ? 0 : 1
963
+ }
964
+
965
+ res = await http.load(
966
+ 'POST',
967
+ `rs/logic/updateNetWorkValve`,
968
+ {data: data},
969
+ {resolveMsg: '执行成功!!!', rejectMsg: `执行失败!!!`}
970
+ )
971
+
972
+ },
973
+ // 修改用户档案
974
+ async 'updateUserinfoState' () {
975
+ let data = {
976
+ f_userinfo_id: this.show_data.f_userinfo_id
977
+ }
978
+ let http = new HttpResetClass()
979
+ let res = await http.load(
980
+ 'POST',
981
+ `rs/logic/updateUserinfoState`,
982
+ {data: data},
983
+ {resolveMsg: '该用户档案已为正常档案,可进行开关阀操作!!!', rejectMsg: '档案状态修改失败!!!'}
984
+ )
985
+
986
+ this.showButtons('强制开阀','强制关阀')
987
+ this.hideButtons('转正式档案')
988
+ },
989
+ // 选择用户
990
+ async 'selectUserinfo' (row) {
991
+ this.setLabelValue('用户编号', row.f_userinfo_id)
992
+ this.setLabelValue('用户名称', row.f_user_name)
993
+ this.setLabelValue('用户电话', row.f_user_phone)
994
+ this.setLabelValue('证件类型', row.f_credentials)
995
+ this.setLabelValue('证件号码', row.f_idnumber)
996
+ this.setLabelValue('地址', row.f_address)
997
+ this.setLabelValue('定位地址', row.f_location_address)
998
+
999
+ this.show_data.f_userinfo_id = row.f_userinfo_id
1000
+ },
1001
+ async 'getPrice' (index) {
1002
+ if (isEmpty(this.show_data.f_gas_nature) || isEmpty(this.show_data.f_price_type)) {
1003
+ return
1004
+ }
1005
+
1006
+ if (index) {
1007
+ this.setLabelValue('气价名称', null)
1008
+ }
1009
+
1010
+ if (this.show_data.f_price_type === '混合气价') {
1011
+ this.showLabels('比率')
1012
+ } else {
1013
+ this.setLabelValue('比率', null)
1014
+ this.hideLabels('比率')
1015
+ }
1016
+
1017
+ let data = {
1018
+ condition: `sp.f_filiale = '${this.$login.f.f_fengongsi}' and sp.f_price_type = '${this.show_data.f_price_type}' and f_gasproperties = '${this.show_data.f_gas_nature}'`
1019
+ }
1020
+
1021
+ if (this.show_data.f_apply_type === '民用报建') {
1022
+ data.condition += `and f_user_type = '民用'`
1023
+ }
1024
+ if (this.show_data.f_apply_type === '非民用报建') {
1025
+ data.condition += `and f_user_type = '非民用'`
1026
+ }
1027
+
1028
+
1029
+ let http = new HttpResetClass()
1030
+ let res = await http.load(
1031
+ 'POST',
1032
+ `rs/sql/applyGetPrice`,
1033
+ {data: data},
1034
+ {resolveMsg: null, rejectMsg: '气价查询失败!!!'}
1035
+ )
1036
+
1037
+ this.setLabelOptions('气价名称', res.data.map(item => {
1038
+ return {
1039
+ label: item.f_price_name,
1040
+ value: `${item.id}`
684
1041
  }
685
- },
686
- // onetomany模态框默认监听监听事件
687
- async 'onetomanydelete'(i, j) {
688
- console.log('默认删除')
689
- let http = new HttpResetClass()
1042
+ }))
1043
+ },
1044
+ // 街道失去焦点
1045
+ async changStreet () {
1046
+ if (isEmpty(this.show_data.f_street)) {
1047
+ return
1048
+ }
1049
+ this.addressSplicing()
1050
+ },
1051
+ // 片区失去焦点
1052
+ async 'changSliceArea' () {
1053
+ if (isEmpty(this.show_data.f_area) || isEmpty(this.show_data.f_slice_area)) {
1054
+ return
1055
+ }
1056
+
1057
+ let data = {
1058
+ items: 'f_street label,f_street value',
1059
+ tablename: 't_area_address',
1060
+ condition: `f_area = '${this.show_data.f_area}' and f_slice_area = '${this.show_data.f_slice_area}'`,
1061
+ groupitem: 'f_street'
1062
+ }
1063
+
1064
+ let http = new HttpResetClass()
1065
+ let res = await http.load(
1066
+ 'POST',
1067
+ `rs/sql/applySingleTable`,
1068
+ {data: data},
1069
+ {resolveMsg: null, rejectMsg: '签字状态查询失败!!!'}
1070
+ )
1071
+ this.setLabelOptions('街道', res.data)
1072
+
1073
+ this.addressSplicing()
1074
+ },
1075
+ // 区县市区焦点
1076
+ 'changeArea' () {
1077
+ if (isEmpty(this.show_data.f_area)) {
1078
+ return
1079
+ }
1080
+ this.setLabelValue('片区', null)
1081
+ this.setLabelValue('街道', null)
1082
+ this.setLabelOptions('片区', this.$appdata.getParam(`${this.show_data.f_area}片区`))
1083
+ this.setLabelOptions('街道', [])
1084
+
1085
+ this.addressSplicing()
1086
+ },
1087
+ // 开启签字
1088
+ async 'startSignActivity' () {
1089
+ this.hideButtons('签字')
1090
+ // await this.userSignBefore()
1091
+
1092
+ let data = {
1093
+ apply: this.show_data,
1094
+ user: this.$login.f
1095
+ }
1096
+
1097
+ let res = await this.$resetpost(
1098
+ `rs/logic/startSignActivity`,
1099
+ {data: data},
1100
+ {resolveMsg: '签字流程已发起!!!', rejectMsg: '签字发起失败!!!'}
1101
+ )
1102
+
1103
+ this.$dispatch('breakControl', this.show_data)
1104
+ },
1105
+ // 工程施工初始化
1106
+ async 'buildReadyEvent' () {
1107
+ if(this.getLableValue('是否发起签字') === '是') {
1108
+ this.hideButtons('签字')
1109
+ }
1110
+
1111
+ let data = {
1112
+ f_process_id: this.show_data.f_process_id
1113
+ }
1114
+ let http = new HttpResetClass()
1115
+ let res = await http.load(
1116
+ 'POST',
1117
+ `rs/sql/getSingAct`,
1118
+ {data: data},
1119
+ {resolveMsg: null, rejectMsg: '签字状态查询失败!!!'}
1120
+ )
1121
+ if (res.data.length > 0) {
1122
+ this.setLabelValue('签字所在环节', res.data[0].defname)
1123
+ return
1124
+ }
1125
+ this.setLabelValue('签字所在环节', null)
1126
+
1127
+ if (isEmpty(this.show_data.f_meter_brand)) {
1128
+ return
1129
+ }
1130
+ data = {
1131
+ f_gasbrand_id: this.show_data.f_meter_brand
1132
+ }
1133
+ res = await http.load(
1134
+ 'POST',
1135
+ `rs/sql/getGasModel`,
1136
+ {data: data},
1137
+ {resolveMsg: null, rejectMsg: '气表型号查询失败!!!'}
1138
+ )
1139
+ this.setLabelOptions('气表型号', res.data)
1140
+
1141
+ if (this.show_data.f_apply_type === '分户挂表') {
690
1142
  let data = {
691
- table: this.show_data.onetomany[i].tables[0],
692
- row: this.show_data.onetomany[i].rows[j]
1143
+ condition: `ui.f_userinfo_id = '${this.show_data.f_userinfo_id}'`
693
1144
  }
694
- let res = await http.load('POST', 'rs/logic/onetomanyDefaultDeleteEvent', {data: data}, {
695
- resolveMsg: null,
696
- rejectMsg: '删除失败'
697
- })
1145
+ let http = new HttpResetClass()
1146
+ let res = await http.load(
1147
+ 'POST',
1148
+ `rs/sql/getApplyUserinfo`,
1149
+ {data: data},
1150
+ {resolveMsg: null, rejectMsg: '档案状态获取失败!!!'}
1151
+ )
698
1152
 
699
- if (res.data <= 0){
700
- this.$showMessage('删除失败')
1153
+ if (res.data[0].f_meter_classify !== '物联网表') {
701
1154
  return
702
1155
  }
1156
+ if (res.data[0].f_user_state === '正常') {
1157
+ this.showButtons('退出强制状态','强制关阀')
1158
+ this.hideButtons('转正式档案')
1159
+ } else {
1160
+ this.showButtons('转正式档案')
1161
+ this.hideButtons('退出强制状态','强制关阀')
1162
+ }
1163
+ }
1164
+ },
1165
+ // 工程派工初始化
1166
+ async 'dispatchReadyEvent' () {
1167
+ if (isEmpty(this.show_data.f_meter_brand)) {
1168
+ return
1169
+ }
1170
+ let data = {
1171
+ f_gasbrand_id: this.show_data.f_meter_brand
1172
+ }
1173
+ let http = new HttpResetClass()
1174
+ let res = await http.load(
1175
+ 'POST',
1176
+ `rs/sql/getGasModel`,
1177
+ {data: data},
1178
+ {resolveMsg: null, rejectMsg: '气表型号查询失败!!!'}
1179
+ )
703
1180
 
704
- this.$dispatch('breakControl', this.show_data)
705
- },
706
- async 'onetomanyadd'(index) {
1181
+ this.setLabelOptions('气表型号', res.data)
1182
+ },
1183
+ // 气表品牌失去焦点
1184
+ async 'meterBrandChenge' (index) {
1185
+ if (isEmpty(this.show_data.f_meter_brand)) {
1186
+ return
1187
+ }
1188
+ this.setLabelValue('气表型号', null)
1189
+ let data = {
1190
+ f_gasbrand_id: this.show_data.f_meter_brand
1191
+ }
1192
+ let http = new HttpResetClass()
1193
+ let res = await http.load(
1194
+ 'POST',
1195
+ `rs/sql/getGasModel`,
1196
+ {data: data},
1197
+ {resolveMsg: null, rejectMsg: '气表型号查询失败!!!'}
1198
+ )
707
1199
 
708
- let data = {
709
- f_process_id : this.show_data.f_process_id
710
- }
711
- this.show_data.onetomany[index].fields.forEach(item => {
712
- data[item.field] = item.value
713
- })
714
- let res = await this.$resetpost(
715
- `rs/entity/${this.show_data.onetomany[index].tables[0]}`,
716
- data
717
- )
718
- this.$dispatch('breakControl', this.show_data)
719
- },
720
- async 'onetomanyupdate'(i, j) {
721
- let onetomany = this.show_data.onetomany[i]
722
- let data = onetomany.rows[j]
723
-
724
- onetomany.fields.forEach(item => {
725
- data[item.field] = item.value
726
- })
727
- let res = await this.$resetpost(
728
- `rs/entity/${this.show_data.onetomany[i].tables[0]}`,
729
- data
730
- )
1200
+ this.setLabelOptions('气表型号', res.data)
1201
+ },
1202
+ // 单价失去焦点
1203
+ async 'priceChange' (index) {
1204
+ if (isEmpty(this.show_data.f_price)) {
1205
+ return
1206
+ }
1207
+ let data = {
1208
+ operator: '*',
1209
+ num1: this.show_data.f_price,
1210
+ num2: this.show_data.f_install_count
1211
+ }
1212
+ let http = new HttpResetClass()
1213
+ let res = await http.load(
1214
+ 'POST',
1215
+ `rs/logic/compute`,
1216
+ {data: data},
1217
+ {resolveMsg: null, rejectMsg: '工程材料费计算失败!!!'}
1218
+ )
1219
+
1220
+ this.setLabelValue('工程材料费', res.data)
1221
+ },
1222
+ // 安装户数失去焦点
1223
+ 'installCountChange' (index) {
1224
+ if (isEmpty(this.show_data.f_install_count)) {
1225
+ return
1226
+ }
1227
+ if (Number(this.show_data.f_install_count) > Number(this.show_data.f_apply_count)) {
1228
+ this.$showAlert('安装数已超过申请数!!!', 'warning', 3000)
1229
+ // this.setLabelValue('安装户数', null)
1230
+ // this.setLabelValue('安装点数', null)
1231
+ // return
1232
+ }
1233
+
1234
+ if (Number(this.show_data.f_install_count) <= 0) {
1235
+ this.$showAlert('至少有安装一个!!!', 'warning', 3000)
1236
+ this.setLabelValue('安装户数', null)
1237
+ this.setLabelValue('安装点数', null)
1238
+ return
1239
+ }
1240
+ },
1241
+ // 报建性质失去焦点
1242
+ 'applyNatureChange' (index) {
1243
+ if (this.show_data.f_apply_nature === '散户') {
1244
+ this.hideLabels('营业执照', '小区')
1245
+ this.electiveLabels('营业执照', '购货单位识别号', '购货单位银行账号', '购货单位地址电话', '小区')
1246
+ }
1247
+ if (this.show_data.f_apply_nature === '小区') {
1248
+ this.showLabels('营业执照', '小区')
1249
+ this.requiredLabels('营业执照', '购货单位识别号', '购货单位银行账号', '购货单位地址电话', '小区')
1250
+ }
1251
+ },
1252
+ // ===========================================
1253
+ 'initializtionView' () {
1254
+ if (this.show_data.f_apply_nature === '散户') {
1255
+ this.hideLabels('营业执照', '小区')
1256
+ this.electiveLabels('营业执照', '购货单位识别号', '购货单位银行账号', '购货单位地址电话', '小区')
1257
+ }
1258
+ if (this.show_data.f_apply_nature === '小区') {
1259
+ this.showLabels('营业执照', '小区')
1260
+ this.requiredLabels('营业执照', '购货单位识别号', '购货单位银行账号', '购货单位地址电话', '小区')
1261
+ // this.hideComponents('用户花名单')
1262
+ }
1263
+ },
1264
+ // 检查重复
1265
+ 'checkRepeat' (index) {
1266
+ this.checkDuplicate(index)
1267
+ },
1268
+ async 'button'() {
1269
+ if (this.show_data.button.before) {
1270
+ await this[this.show_data.button.before]()
1271
+ }
1272
+ // 点击重置按钮就重置数据
1273
+ if (this.show_data.button.button_name === '重置') {
1274
+ this.$dispatch('breakControl', this.selectdata)
1275
+ return
1276
+ }
1277
+
1278
+ this.show_data.start_activity = this.$workflow_vue.start_activity
1279
+ this.show_data.xmlfilename = this.$workflow_vue.workflow_xmlfilename
1280
+
1281
+ let data = {
1282
+ apply: this.show_data,
1283
+ user: this.$login.f
1284
+ }
1285
+
1286
+ let res = await this.$resetpost(
1287
+ `rs/logic/ApplyProductService`,
1288
+ {data: data},
1289
+ {resolveMsg: null, rejectMsg: '数据保存失败'}
1290
+ )
1291
+
1292
+ if (this.show_data.button.after) {
1293
+ this[this.show_data.button.after]()
1294
+ }
1295
+ this.$dispatch('loadPage')
1296
+ },
1297
+ // 失去焦点出触发事件
1298
+ 'onchange' (index) {
1299
+ },
1300
+ selectSearch (val, index) {},
1301
+ 'onblur' (index) {},
1302
+ 'oninput' (index) {},
1303
+ async 'onchangeModal' (index, fieldIndex) {
1304
+ },
1305
+ async 'onblurModal' (index, fieldIndex) {
731
1306
 
732
- this.$dispatch('breakControl', this.show_data)
733
- },
734
- // onetomany模态框监听事件
735
- async 'onchange_modal'(index, i) {
736
- },
737
- async 'oninput_modal'(index, i) {
1307
+ },
1308
+ async 'oninputModal' (index, fieldIndex) {
1309
+
1310
+ },
1311
+ async 'onetomanydelete' (index, rowIndex) {
1312
+
1313
+ let http = new HttpResetClass()
1314
+
1315
+ let res = await http.load(
1316
+ 'DELETE',
1317
+ `rs/entity/${this.show_data.onetomany[index].tables[0]}/${this.show_data.onetomany[index].rows[rowIndex].id}`,
1318
+ null,
1319
+ {resolveMsg: null, rejectMsg: '删除失败!!!'}
1320
+ )
1321
+
1322
+ res = await this.$resetpost(
1323
+ 'rs/entity/t_apply',
1324
+ this.show_data
1325
+ )
1326
+
1327
+ this.$dispatch('breakControl', this.show_data)
1328
+ },
1329
+ async 'onetomanyupdate' (index, rowIndex) {
1330
+ let data = this.show_data.onetomany[index].rows[rowIndex]
1331
+
1332
+ this.show_data.onetomany[index].fields.forEach(item => {
1333
+ data[item.field] = item.value
1334
+ })
1335
+ let res = await this.$resetpost(
1336
+ `rs/entity/${this.show_data.onetomany[index].tables[0]}`,
1337
+ data
1338
+ )
1339
+
1340
+ res = await this.$resetpost(
1341
+ 'rs/entity/t_apply',
1342
+ this.show_data
1343
+ )
1344
+
1345
+ this.$dispatch('breakControl', this.show_data)
1346
+ },
1347
+ async 'onetomanyadd' (index) {
1348
+ let data = {
1349
+ f_process_id : this.show_data.f_process_id,
1350
+ f_operator_id: this.$login.f.id,
1351
+ f_operator: this.$login.f.name,
1352
+ f_operation_date: new Date().Format('yyyy-MM-dd HH:mm:ss'),
1353
+ f_orgid: this.$login.f.orgid,
1354
+ f_orgname: this.$login.f.orgs
738
1355
  }
1356
+ this.show_data.onetomany[index].fields.forEach(item => {
1357
+ data[item.field] = item.value
1358
+ })
1359
+ let res = await this.$resetpost(
1360
+ `rs/entity/${this.show_data.onetomany[index].tables[0]}`,
1361
+ data
1362
+ )
1363
+
1364
+ res = await this.$resetpost(
1365
+ 'rs/entity/t_apply',
1366
+ this.show_data
1367
+ )
1368
+
1369
+ this.$dispatch('breakControl', this.show_data)
739
1370
  },
740
- watch: {
1371
+ 'complyInstallation' (index) {
1372
+ if (this.show_data.f_accept_install === '否' || this.show_data.f_survey_opinion === '否') {
1373
+ console.log("测试")
1374
+ this.hideButtons('下发','提交')
1375
+ this.showButtons('终止')
1376
+ } else {
1377
+ this.hideButtons('终止')
1378
+ this.showButtons('下发','提交')
1379
+ }
1380
+ },
1381
+ async 'importEvent' (index, table, configName, filepath) {
1382
+ let data = {
1383
+ selectdata: this.show_data,
1384
+ table: table,
1385
+ filepath: filepath,
1386
+ configName: configName,
1387
+ user: this.$login.f
1388
+ }
1389
+
1390
+ let res = await this.$resetpost(
1391
+ `rs/logic/importEvent`,
1392
+ data
1393
+ )
1394
+
1395
+ this.$dispatch('breakControl', this.show_data)
1396
+ },
1397
+ 'onbutchange' (index) {
1398
+
1399
+ },
1400
+ 'onbutblur' (index) {
1401
+
1402
+ },
1403
+ 'onbutinput' (index) {
1404
+
741
1405
  }
1406
+ },
1407
+ watch: {
742
1408
  }
1409
+ }
743
1410
  </script>
744
1411
  <style scoped>
745
- /*清除model中的浮动*/
746
- .clearfix:after,.clearfix:before{
747
- display: table;
748
- }
749
- .clearfix:after{
750
- clear: both;
751
- }
1412
+ /*清除model中的浮动*/
1413
+ .clearfix:after,.clearfix:before{
1414
+ display: table;
1415
+ }
1416
+ .clearfix:after{
1417
+ clear: both;
1418
+ }
752
1419
  </style>