apply-clients 7.1.37 → 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 +1310 -639
  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,748 +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
- let http = new HttpResetClass()
228
- let condition = "1=1"
229
- let res = await http.load('POST','rs/sql/apply_singleTable',{data:{tablename:'t_address',condition:condition}}, {resolveMsg: null, rejectMsg: null})
230
- for (let i = 0; i < this.show_data.fields.length; i++) {
231
-
232
- if (this.show_data.fields[i].label === '区/县') {
233
- let data = []
234
- let array = []
235
- data = res.data.map(item => {
236
- if (item.type === ''){
237
- return item.f_name;
238
- }
239
- })
240
- for (let q = 0; q < data.length; q++) {
241
- let arraydata = {
242
- 'label': data[q],
243
- 'value': data[q]
244
- }
245
- if (array.length !== 0) {
246
- for (let w = 0; w < array.length; w++) {
247
- if (array[w].label === data[q]) {
248
- break
249
- }
250
- while (w === array.length - 1) {
251
- array.push(arraydata)
252
- break
253
- }
254
- }
255
- } else {
256
- array.push(arraydata)
257
- }
258
- }
259
- this.show_data.fields[i].options = array
260
- 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
261
228
  }
262
- if (this.show_data.fields[i].label === '片区') {
263
- let data = []
264
- let array = []
265
- data = res.data.map(item => {
266
- if (item.type === '街道'){
267
- return item.f_name;
268
- }
269
- })
270
- for (let q = 0; q < data.length; q++) {
271
- let arraydata = {
272
- 'label': data[q],
273
- '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
274
248
  }
275
- if (array.length !== 0) {
276
- for (let w = 0; w < array.length; w++) {
277
- if (array[w].label === data[q]) {
278
- break
279
- }
280
- while (w === array.length - 1) {
281
- array.push(arraydata)
282
- break
283
- }
249
+
250
+ if (x.paramLabel) {
251
+ temp = this.$appdata.getParam(x.paramLabel)
252
+ if (temp && temp.length > 0) {
253
+ x.options = temp
284
254
  }
285
- } else {
286
- array.push(arraydata)
287
255
  }
288
256
  }
289
- this.show_data.fields[i].options = array
290
- console.log("片区选择框数据:" + JSON.stringify(this.show_data.fields[i].options))
257
+
291
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
292
267
  }
293
268
  }
294
- },
295
- // 初始化fields值
296
- initializeFields() {
269
+ }
270
+ // 消除双向绑定,避免子组件(显示层)数据更改,父组件(控制层)也更改
271
+ let temp = JSON.parse(JSON.stringify(this.selectdata))
272
+
273
+ this.show_data = temp
274
+ this.$nextTick(() => {
275
+ this.showview = true
276
+ })
297
277
 
298
- },
299
- // 金额转大写
300
- smalltoBIG(n) {
301
- let fraction = ['角', '分'];
302
- let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
303
- let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];
304
- let head = n < 0 ? '欠' : '';
305
- n = Math.abs(n);
278
+ },
279
+ // 金额转大写
280
+ smalltoBIG(n) {
281
+ let fraction = ['角', '分'];
282
+ let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
283
+ let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];
284
+ let head = n < 0 ? '欠' : '';
285
+ n = Math.abs(n);
306
286
 
307
- let s = '';
287
+ let s = '';
308
288
 
309
- for (var i = 0; i < fraction.length; i++) {
310
- s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
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);
311
300
  }
312
- s = s || '';
313
- n = Math.floor(n);
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
327
+ }
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
+ }
314
444
 
315
- for (var i = 0; i < unit[0].length && n > 0; i++) {
316
- let p = '';
317
- for (var j = 0; j < unit[1].length && n > 0; j++) {
318
- p = digit[n % 10] + unit[1][j] + p;
319
- n = Math.floor(n / 10);
320
- }
321
- s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
322
- }
323
- return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
324
- },
325
- getLableValue(label) {
326
- for (const item of this.show_data.fields) {
327
- if (item.label === label && item.type !== 'number') {
328
- 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
329
596
  }
330
- if (item.label === label && item.type === 'number') {
331
- return item.value || 0
597
+ if (item.label === '楼号/组' || item.label === '单元/排' || item.label === '楼层') {
598
+ item.hidden = false
599
+ item.required = false
332
600
  }
333
- }
334
- },
335
- setLabelValue(label, value) {
336
- for (const item of this.show_data.fields) {
337
- if (item.label === label) {
338
- item.value = value
601
+ if (item.label === '地址') {
602
+ item.readonly = true
339
603
  }
340
604
  }
341
- },
342
- async buttonBefore(model) {
343
- // if (
344
- // model.button.button_name === '提交' &&
345
- // model.defname === '收费' &&
346
- // (
347
- // model.f_apply_type === '散户报建' ||
348
- // model.f_apply_type === '工业户报建' ||
349
- // model.f_apply_type === '商业户报建'
350
- // ) &&
351
- // model.f_surplus_money > 0
352
- // ) {
353
- // throw '未结金额大于0,无法提交!!!'
354
- // }
355
- // if (model.defname === '施工' && model.button.button_name === '提交') {
356
- // let http = new HttpResetClass()
357
- // let data = {
358
- // f_process_id: model.f_process_id
359
- // }
360
- // let res = await http.load('POST', 'rs/sql/notInstalled', {data: data}, {resolveMsg: null, rejectMsg: null})
361
- // if (res.data[0].num > 0) {
362
- // throw `还有${res.data[0].num}户未安装,无法提交`
363
- // }
364
- // }
365
- return model
366
- },
367
- // ========================= 武安 =================================
368
- // 地址类型变化
369
- addressType() {
370
- for (const item of this.show_data.fields) {
371
- 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
372
608
  item.required = true
373
609
  }
374
- if (item.label === '小区' && this.show_data.f_address_type === '特殊地址') {
610
+ if (item.label === '楼号/组' || item.label === '单元/排' || item.label === '楼层') {
611
+ item.hidden = false
375
612
  item.required = false
376
613
  }
377
- if (
378
- (
379
- item.label === '楼号' ||
380
- item.label === '单元' ||
381
- item.label === '楼层' ||
382
- item.label === '门牌号'
383
- ) && this.show_data.f_address_type === '民用地址'
384
- ) {
385
- 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 === '街道/乡镇') {
386
624
  item.hidden = false
387
- item.value = null
625
+ item.required = true
388
626
  }
389
- if (
390
- (
391
- item.label === '楼号' ||
392
- item.label === '单元' ||
393
- item.label === '楼层' ||
394
- item.label === '门牌号'
395
- ) && this.show_data.f_address_type === '特殊地址'
396
- ) {
627
+ if (item.label === '集收单位') {
628
+ item.hidden = false
397
629
  item.required = false
630
+ }
631
+ if (item.label === '楼号/组' || item.label === '单元/排' || item.label === '楼层' || item.label === '门牌号') {
398
632
  item.hidden = true
399
- item.value = null
633
+ item.required = false
634
+ }
635
+ if (item.label === '地址') {
636
+ item.readonly = false
400
637
  }
401
638
  }
402
- },
403
- //根据区县获取街道
404
- async getStreetList () {
405
- console.log("街道查询")
406
- let data = {
407
- son: '街道',
408
- parent: '区',
409
- condition: `b.f_name = '${this.getLableValue('区/县')}'`
410
- }
411
-
412
- let res = await this.$resetpost(
413
- `rs/sql/singleTable`,
414
- {data: data},
415
- {resolveMsg: null, rejectMsg: '街道查询失败,请重新进入!!!'}
416
- )
417
639
 
418
- 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
+ }
419
649
 
420
- res.data.forEach(item => {
421
- streetList.push({
422
- label: item.f_name,
423
- value: item.f_name
424
- })
425
- })
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
+ )
426
661
 
427
- for (const item of this.show_data.fields) {
428
- if (item.label === '街道') {
429
- item.options = streetList
430
- }
431
- }
432
- },
433
- //根据街道获取小区
434
- async getAreaList () {
435
- let data = {
436
- son: '小区',
437
- parent: '街道',
438
- 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
439
666
  }
667
+ }))
668
+ },
669
+ async pcdChange () {
670
+ if (isEmpty(this.show_data.f_pcd)) {
671
+ return
672
+ }
440
673
 
441
- let res = await this.$resetpost(
442
- `rs/sql/getAddress`,
443
- {data: data},
444
- {resolveMsg: null, rejectMsg: '小区查询失败,请重新进入!!!'}
445
- )
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('地址类型')
446
679
 
447
- 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
+ }
448
686
 
449
- res.data.forEach(item => {
450
- areaList.push({
451
- label: item.f_name,
452
- value: item.f_name
453
- })
454
- })
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
+ )
455
694
 
456
- for (const item of this.show_data.fields) {
457
- if (item.label === '小区') {
458
- item.options = areaList
459
- }
695
+ this.setLabelOptions('街道/乡镇', res.data.map(item => {
696
+ return {
697
+ label: item.f_street,
698
+ value: item.f_street
460
699
  }
700
+ }))
701
+ },
702
+ async getConstructionWorker(){
703
+ let data = {
704
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
705
+ userid: this.$login.f.id
461
706
  }
462
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
+ })
463
720
  },
464
- events: {
721
+ // 安装单位
722
+ async getConstructionUnit () {
723
+ let data = {
724
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
725
+ userid: this.$login.f.id
726
+ }
465
727
 
466
- 'openAddModel'(index) {
728
+ let res = await this.$resetpost(
729
+ 'rs/search',
730
+ {data: data},
731
+ {resolveMsg: null, rejectMsg: '安装单位人员查询失败!!!'}
732
+ )
467
733
 
468
- },
469
- // 获取view层button事件/
470
- async 'button'(model) {
471
- // 修改提交数据
472
- model = Object.assign({}, this.selectdata, model)
473
- // 点击重置按钮就重置数据
474
- if (model.button.button_name === '重置') {
475
- this.$dispatch('breakControl', this.data)
476
- return
477
- }
478
- // 联合验收必须上传附件
479
- if (model.defname === '联合验收' && model.button.button_name === '提交') {
480
- let http = new HttpResetClass()
481
- let data = {
482
- tablename: 't_files',
483
- condition: "f_blobid = '" + this.selectdata.f_process_id + "'"
484
- }
485
- let res = await http.load('POST', 'rs/sql/apply_singleTable', {data: data}, {resolveMsg: null, rejectMsg: null})
486
- if (!res.data.length > 0) {
487
- this.$showMessage("您没有上传附件,无法提交!")
488
- return
489
- }
734
+ return res.data.map(item => {
735
+ return {
736
+ label: item.name,
737
+ value: item.id
490
738
  }
739
+ })
740
+ },
741
+ // 建设单位
742
+ async getConstructOperator () {
743
+ let data = {
744
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
745
+ userid: this.$login.f.id
746
+ }
491
747
 
492
- // 提交前置
493
- try {
494
- model = await this.buttonBefore(model)
495
- } catch (e) {
496
- this.$showAlert(e, 'warning', 3000)
497
- return
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
498
758
  }
759
+ })
760
+ },
761
+ // 监理单位
762
+ async getSupervisorOperator () {
763
+ let data = {
764
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
765
+ userid: this.$login.f.id
766
+ }
499
767
 
500
- let http = new HttpResetClass()
501
- let requestData = {
502
- tables: this.data.tables,
503
- start_activity: this.$workflow_vue.start_activity,
504
- model: model,
505
- loginUser: this.$login.f,
506
- workflow_xmlfilename: this.$workflow_vue.workflow_xmlfilename
507
- }
508
- // 下发,提交,保存,退回通用业务后台处理logic
509
- let url = 'rs/logic/ApplyProductService'
510
- let res = await http.load('POST', url, {data: requestData}, {resolveMsg: null, rejectMsg: '数据保存失败'})
511
-
512
- if (res.data.code == 200) {
513
- this.$dispatch('search')
514
- } else {
515
- if (res.data.msg) {
516
- this.$showMessage(res.data.msg)
517
- }
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
518
778
  }
519
- },
520
- async 'initializtionView'() {
779
+ })
780
+ },
781
+ // 土建单位
782
+ async getEngineeringOperator () {
783
+ let data = {
784
+ source: 'this.getParentByType($organization$).getChildByName($营业厅报装$).getChildren()',
785
+ userid: this.$login.f.id
786
+ }
521
787
 
522
- if (this.show_data.defname === '报装申请' && this.show_data.f_apply_type === '工商户报装') {
523
- await this.getStreetList()
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
524
797
  }
525
- },
526
- // 失去焦点出触发事件
527
- async 'onchange'(index) {
528
- console.log('失去焦点')
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
+ }
529
810
 
530
- if (this.show_data.defname === '报装申请' && this.show_data.f_apply_type === '工商户报装'){
811
+ let res = await this.$resetpost(
812
+ 'rs/search',
813
+ {data: data},
814
+ {resolveMsg: null, rejectMsg: '检测单位人员查询失败!!!'}
815
+ )
531
816
 
532
- if (this.show_data.fields[index].label === '区/县'){
533
- console.log('-----------添加街道-----------')
534
- if (this.show_data.fields[index].value === null || this.show_data.fields[index].value === '') {
535
- this.show_data.fields[index].value = null
536
- this.$showAlert('区/县不能为空!!!', 'warning', 3000)
537
- return
538
- }
539
- this.setLabelValue('街道', '')
540
- await this.getStreetList()
541
- }
542
- if (this.show_data.fields[index].label === '街道') {
543
- this.setLabelValue('小区', '')
544
- await this.getAreaList()
545
- }
546
- }
547
- // 地址拼接
548
- if (
549
- this.show_data.fields[index].label === '区/县' ||
550
- this.show_data.fields[index].label === '街道' ||
551
- this.show_data.fields[index].label === '小区' ||
552
- this.show_data.fields[index].label === '门牌号'
553
- ) {
554
- let f_address = null
555
- f_address = this.getLableValue('区/县') + this.getLableValue('街道') + this.getLableValue('小区') + this.getLableValue('门牌号')
556
- this.setLabelValue('地址',f_address)
557
- }
558
- if (this.show_data.defname === '竣工验收') {
559
- if (this.show_data.fields[index].label === '验收是否合格'){
560
- for (const button of this.show_data.buttons) {
561
- if (this.show_data.fields[index].value === '否' && button.button_name === '退回') {
562
- button.hidden = false
563
- } else {
564
- button.hidden = true
565
- }
566
- }
567
- }
817
+ return res.data.map(item => {
818
+ return {
819
+ label: item.name,
820
+ value: item.id
568
821
  }
569
- if (this.show_data.defname === '合同签订') {
570
- if (this.show_data.fields[index].label === '合同编号') {
571
- if (!isEmpty(this.show_data.fields[index].value)) {
572
- let http = new HttpResetClass()
573
- let data = {
574
- tablename: 't_apply',
575
- condition: `f_contract_number='${this.show_data.fields[index].value}'`
576
- }
577
- let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
578
- resolveMsg: null,
579
- rejectMsg: '合同编号查重失败'
580
- })
581
- if (res.data.length > 0) {
582
- this.show_data.fields[index].value = null
583
- this.$showAlert('合同编号已存在!!!', 'warning', 3000)
584
- }
585
- }
586
- }
587
- if (this.show_data.fields[index].label === '单价(户)') {
588
- let http = new HttpResetClass()
589
- let data = {
590
- num1: this.getLableValue(this.show_data.fields[index].label),
591
- num2: this.getLableValue('户数'),
592
- operator: '*'
593
- }
594
- try {
595
- let res = await http.load('POST', 'rs/logic/compute', {data: data}, {
596
- resolveMsg: null,
597
- rejectMsg: null
598
- })
599
- data = {
600
- num1: res.data,
601
- num2: this.getLableValue('其他费用'),
602
- operator: '+'
603
- }
604
- res = await http.load('POST', 'rs/logic/compute', {data: data}, {
605
- resolveMsg: null,
606
- rejectMsg: null
607
- })
608
- this.setLabelValue('合同金额',res.data)
609
- } catch (e) {
610
- this.$showAlert(e.data.msg, 'warning', 3000)
611
- }
612
- }
613
- if (this.show_data.fields[index].label === '其他费用') {
614
- let http = new HttpResetClass()
615
- let data = {
616
- num1: this.getLableValue(this.show_data.fields[index].label),
617
- num2: this.getLableValue('合同金额'),
618
- operator: '+'
619
- }
620
- try {
621
- let res = await http.load('POST', 'rs/logic/compute', {data: data}, {
622
- resolveMsg: null,
623
- rejectMsg: null
624
- })
625
- this.setLabelValue('合同金额',res.data)
626
- } catch (e) {
627
- this.$showAlert(e.data.msg, 'warning', 3000)
628
- }
629
- }
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
630
881
  }
631
- // ========================= 武安 =================================
632
- // 号码检测
633
- if (this.show_data.fields[index].label === '电话号码') {
634
- let phone = this.show_data.fields[index].value
635
- // 电话号码效验
636
- if (!(/^1[3456789]\d{9}$/.test(phone))) {
637
- this.show_data.fields[index].value = ""
638
- this.$showAlert('电话号码格式不正确,请重新输入。', 'info', 2000)
639
- }
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}`
640
899
  }
641
- //时间提醒
642
- if (this.show_data.fields[index].label.includes("时间") || this.show_data.fields[index].type === 'datepicker') {
643
- let setTime = this.show_data.fields[index].value
644
- let nowTime = new Date().Format("yyyy-MM-dd HH:mm:ss")
645
- if (nowTime >= setTime) {
646
- this.$showMessage("请注意,当前节点时间/工期已过期!")
647
- }
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
648
938
  }
649
- },
650
- // input值发生变化
651
- async 'oninput'(index) {
652
-
653
- },
654
- // 错误事件
655
- error_check(index) {
656
- // 时间格式检测
657
- if (this.show_data.fields[index].type == 'datepicker') {
658
- 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)$/)
659
- 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])$/)
660
- if (datetimeRe.test(this.show_data.fields[index].value) && this.show_data.fields[index].value.trim().length == 19 && this.show_data.fields[index].fullsize) {
661
- this.show_data.fields[index].error.flag = false
662
- } else if (dateRe.test(this.show_data.fields[index].value) && this.show_data.fields[index].value.trim().length == 10) {
663
- this.show_data.fields[index].error.flag = false
664
- } else {
665
- if (this.show_data.fields[index].fullsize) {
666
- this.show_data.fields[index].error = Object.assign({}, this.show_data.fields[index].error)
667
- 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'
668
- this.$showAlert(this.show_data.fields[index].label + '格式错误' + this.show_data.fields[index].error.msg, 'warning', 3000)
669
- this.show_data.fields[index].error.flag = true
670
- this.show_data.fields[index].value = ''
671
- } else {
672
- this.show_data.fields[index].error = Object.assign({}, this.show_data.fields[index].error)
673
- this.show_data.fields[index].error.msg = this.show_data.fields[index].error.msg ? this.show_data.fields[index].error.msg : '时间格式如:2019-05-02'
674
- this.$showAlert(this.show_data.fields[index].label + '格式错误' + this.show_data.fields[index].error.msg, 'warning', 3000)
675
- this.show_data.fields[index].error.flag = true
676
- this.show_data.fields[index].value = ''
677
- }
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
+ }
678
946
 
679
- }
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}`
680
1041
  }
681
- },
682
- // onetomany模态框默认监听监听事件
683
- async 'onetomanydelete'(i, j) {
684
- console.log('默认删除')
685
- 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 === '分户挂表') {
686
1142
  let data = {
687
- table: this.show_data.onetomany[i].tables[0],
688
- row: this.show_data.onetomany[i].rows[j]
1143
+ condition: `ui.f_userinfo_id = '${this.show_data.f_userinfo_id}'`
689
1144
  }
690
- let res = await http.load('POST', 'rs/logic/onetomanyDefaultDeleteEvent', {data: data}, {
691
- resolveMsg: null,
692
- rejectMsg: '删除失败'
693
- })
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
+ )
694
1152
 
695
- if (res.data <= 0){
696
- this.$showMessage('删除失败')
1153
+ if (res.data[0].f_meter_classify !== '物联网表') {
697
1154
  return
698
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
+ )
699
1180
 
700
- this.$dispatch('breakControl', this.show_data)
701
- },
702
- 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
+ )
703
1199
 
704
- let data = {
705
- f_process_id : this.show_data.f_process_id
706
- }
707
- this.show_data.onetomany[index].fields.forEach(item => {
708
- data[item.field] = item.value
709
- })
710
- let res = await this.$resetpost(
711
- `rs/entity/${this.show_data.onetomany[index].tables[0]}`,
712
- data
713
- )
714
- this.$dispatch('breakControl', this.show_data)
715
- },
716
- async 'onetomanyupdate'(i, j) {
717
- let onetomany = this.show_data.onetomany[i]
718
- let data = onetomany.rows[j]
719
-
720
- onetomany.fields.forEach(item => {
721
- data[item.field] = item.value
722
- })
723
- let res = await this.$resetpost(
724
- `rs/entity/${this.show_data.onetomany[i].tables[0]}`,
725
- data
726
- )
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) {
727
1306
 
728
- this.$dispatch('breakControl', this.show_data)
729
- },
730
- // onetomany模态框监听事件
731
- async 'onchange_modal'(index, i) {
732
- },
733
- 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
734
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)
735
1370
  },
736
- 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
+
737
1405
  }
1406
+ },
1407
+ watch: {
738
1408
  }
1409
+ }
739
1410
  </script>
740
1411
  <style scoped>
741
- /*清除model中的浮动*/
742
- .clearfix:after,.clearfix:before{
743
- display: table;
744
- }
745
- .clearfix:after{
746
- clear: both;
747
- }
1412
+ /*清除model中的浮动*/
1413
+ .clearfix:after,.clearfix:before{
1414
+ display: table;
1415
+ }
1416
+ .clearfix:after{
1417
+ clear: both;
1418
+ }
748
1419
  </style>