apply-clients 4.1.68 → 4.1.71

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 (489) hide show
  1. package/dist-android/static/0.8fefcf36b4f3b17f24f4.js +3 -0
  2. package/dist-android/static/0.8fefcf36b4f3b17f24f4.js.map +1 -0
  3. package/dist-android/static/1.aceeebd9882303a0077f.js +2 -0
  4. package/dist-android/static/1.aceeebd9882303a0077f.js.map +1 -0
  5. package/dist-android/static/10.1e64dd0300dfdd04f6e9.js +2 -0
  6. package/dist-android/static/10.1e64dd0300dfdd04f6e9.js.map +1 -0
  7. package/dist-android/static/100.6ed76ce8ccc8bbf4dd95.js +2 -0
  8. package/dist-android/static/100.6ed76ce8ccc8bbf4dd95.js.map +1 -0
  9. package/dist-android/static/101.6a1aaf8dc03b1c727c2c.js +2 -0
  10. package/dist-android/static/101.6a1aaf8dc03b1c727c2c.js.map +1 -0
  11. package/dist-android/static/102.84fab22025678c449dd7.js +2 -0
  12. package/dist-android/static/102.84fab22025678c449dd7.js.map +1 -0
  13. package/dist-android/static/103.55f1270c13d83ad5aefa.js +2 -0
  14. package/dist-android/static/103.55f1270c13d83ad5aefa.js.map +1 -0
  15. package/dist-android/static/104.fbbb14f56d3ced86054e.js +2 -0
  16. package/dist-android/static/104.fbbb14f56d3ced86054e.js.map +1 -0
  17. package/dist-android/static/105.eebb9b14cac9c6338e81.js +2 -0
  18. package/dist-android/static/105.eebb9b14cac9c6338e81.js.map +1 -0
  19. package/dist-android/static/106.cd9ee420f7a56b833845.js +2 -0
  20. package/dist-android/static/106.cd9ee420f7a56b833845.js.map +1 -0
  21. package/dist-android/static/107.5c63800f95fa999d004a.js +2 -0
  22. package/dist-android/static/107.5c63800f95fa999d004a.js.map +1 -0
  23. package/dist-android/static/108.9a8119fb306f67a19e68.js +2 -0
  24. package/dist-android/static/108.9a8119fb306f67a19e68.js.map +1 -0
  25. package/dist-android/static/109.cfdab0cef9d052622b4f.js +2 -0
  26. package/dist-android/static/109.cfdab0cef9d052622b4f.js.map +1 -0
  27. package/dist-android/static/11.e770641b023d24d12237.js +2 -0
  28. package/dist-android/static/11.e770641b023d24d12237.js.map +1 -0
  29. package/dist-android/static/110.4a284c14a77d02f9c2b7.js +2 -0
  30. package/dist-android/static/110.4a284c14a77d02f9c2b7.js.map +1 -0
  31. package/dist-android/static/111.f5a13edc4953c379ed58.js +2 -0
  32. package/dist-android/static/111.f5a13edc4953c379ed58.js.map +1 -0
  33. package/dist-android/static/112.d69dbda6bc99f459cd93.js +2 -0
  34. package/dist-android/static/112.d69dbda6bc99f459cd93.js.map +1 -0
  35. package/dist-android/static/113.24d5edd25014c4bf01ae.js +2 -0
  36. package/dist-android/static/113.24d5edd25014c4bf01ae.js.map +1 -0
  37. package/dist-android/static/114.275d1ff8666963ebe680.js +2 -0
  38. package/dist-android/static/114.275d1ff8666963ebe680.js.map +1 -0
  39. package/dist-android/static/115.2a54824d85c0575c3194.js +2 -0
  40. package/dist-android/static/115.2a54824d85c0575c3194.js.map +1 -0
  41. package/dist-android/static/116.f0307796e1e1860ed61a.js +2 -0
  42. package/dist-android/static/116.f0307796e1e1860ed61a.js.map +1 -0
  43. package/dist-android/static/117.8cc6db360ccbce2f1813.js +2 -0
  44. package/dist-android/static/117.8cc6db360ccbce2f1813.js.map +1 -0
  45. package/dist-android/static/118.8e13c76b53d87801709b.js +2 -0
  46. package/dist-android/static/118.8e13c76b53d87801709b.js.map +1 -0
  47. package/dist-android/static/119.01a483cd9438418d725c.js +2 -0
  48. package/dist-android/static/119.01a483cd9438418d725c.js.map +1 -0
  49. package/dist-android/static/12.ea7ce97226d268599b39.js +2 -0
  50. package/dist-android/static/12.ea7ce97226d268599b39.js.map +1 -0
  51. package/dist-android/static/120.20e156e76cff7e3dcd0e.js +2 -0
  52. package/dist-android/static/120.20e156e76cff7e3dcd0e.js.map +1 -0
  53. package/dist-android/static/121.deabd255b998e6aca42e.js +2 -0
  54. package/dist-android/static/121.deabd255b998e6aca42e.js.map +1 -0
  55. package/dist-android/static/122.d4a78a26d8a23873170a.js +2 -0
  56. package/dist-android/static/122.d4a78a26d8a23873170a.js.map +1 -0
  57. package/dist-android/static/123.02279cd943d847b66111.js +2 -0
  58. package/dist-android/static/123.02279cd943d847b66111.js.map +1 -0
  59. package/dist-android/static/124.71f71288c0552b0cfd3c.js +2 -0
  60. package/dist-android/static/124.71f71288c0552b0cfd3c.js.map +1 -0
  61. package/dist-android/static/125.56440eeea4614418e976.js +2 -0
  62. package/dist-android/static/125.56440eeea4614418e976.js.map +1 -0
  63. package/dist-android/static/126.dc4dee64f0449a655220.js +2 -0
  64. package/dist-android/static/126.dc4dee64f0449a655220.js.map +1 -0
  65. package/dist-android/static/127.38ef4996946ff2e25267.js +2 -0
  66. package/dist-android/static/127.38ef4996946ff2e25267.js.map +1 -0
  67. package/dist-android/static/128.8e83236d37184f7ae294.js +2 -0
  68. package/dist-android/static/128.8e83236d37184f7ae294.js.map +1 -0
  69. package/dist-android/static/129.cfd679422d1854daadad.js +2 -0
  70. package/dist-android/static/129.cfd679422d1854daadad.js.map +1 -0
  71. package/dist-android/static/13.a30b29bdef19dcebd8c3.js +2 -0
  72. package/dist-android/static/13.a30b29bdef19dcebd8c3.js.map +1 -0
  73. package/dist-android/static/130.51dba7e59995e65f30c6.js +2 -0
  74. package/dist-android/static/130.51dba7e59995e65f30c6.js.map +1 -0
  75. package/dist-android/static/131.684c3686dd1fce45f95f.js +2 -0
  76. package/dist-android/static/131.684c3686dd1fce45f95f.js.map +1 -0
  77. package/dist-android/static/132.b26f0ad66e2dfbbe3ee4.js +2 -0
  78. package/dist-android/static/132.b26f0ad66e2dfbbe3ee4.js.map +1 -0
  79. package/dist-android/static/133.bbd729a19e1a4a239e4a.js +2 -0
  80. package/dist-android/static/133.bbd729a19e1a4a239e4a.js.map +1 -0
  81. package/dist-android/static/134.76cddf7bbcdac6be66c7.js +2 -0
  82. package/dist-android/static/134.76cddf7bbcdac6be66c7.js.map +1 -0
  83. package/dist-android/static/135.e16704920da333cb62b3.js +2 -0
  84. package/dist-android/static/135.e16704920da333cb62b3.js.map +1 -0
  85. package/dist-android/static/136.ebbe09f24751b32d9afa.js +2 -0
  86. package/dist-android/static/136.ebbe09f24751b32d9afa.js.map +1 -0
  87. package/dist-android/static/137.9cc0f6f025ee5dde7742.js +2 -0
  88. package/dist-android/static/137.9cc0f6f025ee5dde7742.js.map +1 -0
  89. package/dist-android/static/14.8c48f0d2829f28e0ac05.js +2 -0
  90. package/dist-android/static/14.8c48f0d2829f28e0ac05.js.map +1 -0
  91. package/dist-android/static/15.ef7132bb74700a3907a6.js +2 -0
  92. package/dist-android/static/15.ef7132bb74700a3907a6.js.map +1 -0
  93. package/dist-android/static/16.3dfe04e56f1463c1d2db.js +2 -0
  94. package/dist-android/static/16.3dfe04e56f1463c1d2db.js.map +1 -0
  95. package/dist-android/static/17.5c349b314c8c5bf1b16f.js +2 -0
  96. package/dist-android/static/17.5c349b314c8c5bf1b16f.js.map +1 -0
  97. package/dist-android/static/18.d895cc41f2f161cd41da.js +2 -0
  98. package/dist-android/static/18.d895cc41f2f161cd41da.js.map +1 -0
  99. package/dist-android/static/19.8d55e4ef8ec491de697d.js +2 -0
  100. package/dist-android/static/19.8d55e4ef8ec491de697d.js.map +1 -0
  101. package/dist-android/static/2.97437f27d0cf4060445a.js +2 -0
  102. package/dist-android/static/2.97437f27d0cf4060445a.js.map +1 -0
  103. package/dist-android/static/20.d51ea255c06f63815c9d.js +2 -0
  104. package/dist-android/static/20.d51ea255c06f63815c9d.js.map +1 -0
  105. package/dist-android/static/21.3ae67c365c41dce94f05.js +2 -0
  106. package/dist-android/static/21.3ae67c365c41dce94f05.js.map +1 -0
  107. package/dist-android/static/23.011da7e98c927d3ccb96.js +12 -0
  108. package/dist-android/static/23.011da7e98c927d3ccb96.js.map +1 -0
  109. package/dist-android/static/24.1695c104c0e1072038ae.js +4 -0
  110. package/dist-android/static/24.1695c104c0e1072038ae.js.map +1 -0
  111. package/dist-android/static/25.b316cdc747f9047c8a5b.js +4 -0
  112. package/dist-android/static/25.b316cdc747f9047c8a5b.js.map +1 -0
  113. package/dist-android/static/26.73ba5dc7089ec0187806.js +3 -0
  114. package/dist-android/static/26.73ba5dc7089ec0187806.js.map +1 -0
  115. package/dist-android/static/27.b1cad200394802f64548.js +2 -0
  116. package/dist-android/static/27.b1cad200394802f64548.js.map +1 -0
  117. package/dist-android/static/28.45865d8f65947a32c7fc.js +2 -0
  118. package/dist-android/static/28.45865d8f65947a32c7fc.js.map +1 -0
  119. package/dist-android/static/29.dee8a61f7ef3766418ff.js +2 -0
  120. package/dist-android/static/29.dee8a61f7ef3766418ff.js.map +1 -0
  121. package/dist-android/static/3.eb25813c6da10b34990b.js +2 -0
  122. package/dist-android/static/3.eb25813c6da10b34990b.js.map +1 -0
  123. package/dist-android/static/30.56188f6c25bdff5d24d0.js +2 -0
  124. package/dist-android/static/30.56188f6c25bdff5d24d0.js.map +1 -0
  125. package/dist-android/static/31.540635d3eaa185206d07.js +2 -0
  126. package/dist-android/static/31.540635d3eaa185206d07.js.map +1 -0
  127. package/dist-android/static/32.e10d739f79be4f67e895.js +2 -0
  128. package/dist-android/static/32.e10d739f79be4f67e895.js.map +1 -0
  129. package/dist-android/static/33.b50c369d9168d4b347e7.js +2 -0
  130. package/dist-android/static/33.b50c369d9168d4b347e7.js.map +1 -0
  131. package/dist-android/static/34.cd5a9b0cb477402ee3f9.js +2 -0
  132. package/dist-android/static/34.cd5a9b0cb477402ee3f9.js.map +1 -0
  133. package/dist-android/static/35.5e7542a1b672d178cdf7.js +2 -0
  134. package/dist-android/static/35.5e7542a1b672d178cdf7.js.map +1 -0
  135. package/dist-android/static/36.88ece71da9fb3a0b16f6.js +2 -0
  136. package/dist-android/static/36.88ece71da9fb3a0b16f6.js.map +1 -0
  137. package/dist-android/static/37.1587f0d65cee28d847b1.js +2 -0
  138. package/dist-android/static/37.1587f0d65cee28d847b1.js.map +1 -0
  139. package/dist-android/static/38.922e4996d7709fba2592.js +2 -0
  140. package/dist-android/static/38.922e4996d7709fba2592.js.map +1 -0
  141. package/dist-android/static/39.fd8d17fbc5014dc8d5cc.js +2 -0
  142. package/dist-android/static/39.fd8d17fbc5014dc8d5cc.js.map +1 -0
  143. package/dist-android/static/4.ebb054ec4b6d594f370f.js +12 -0
  144. package/dist-android/static/4.ebb054ec4b6d594f370f.js.map +1 -0
  145. package/dist-android/static/40.8b6d6ae84c0d385199a2.js +2 -0
  146. package/dist-android/static/40.8b6d6ae84c0d385199a2.js.map +1 -0
  147. package/dist-android/static/41.2eab1a129cd454a675cd.js +2 -0
  148. package/dist-android/static/41.2eab1a129cd454a675cd.js.map +1 -0
  149. package/dist-android/static/42.639e7b10b2311c5d331e.js +2 -0
  150. package/dist-android/static/42.639e7b10b2311c5d331e.js.map +1 -0
  151. package/dist-android/static/43.a5b1959c147da8cf6998.js +2 -0
  152. package/dist-android/static/43.a5b1959c147da8cf6998.js.map +1 -0
  153. package/dist-android/static/44.e4c71d9426f61eefbf2b.js +2 -0
  154. package/dist-android/static/44.e4c71d9426f61eefbf2b.js.map +1 -0
  155. package/dist-android/static/45.00a01ea48a9c7d81b559.js +2 -0
  156. package/dist-android/static/45.00a01ea48a9c7d81b559.js.map +1 -0
  157. package/dist-android/static/46.68fd14161277f33bdb19.js +2 -0
  158. package/dist-android/static/46.68fd14161277f33bdb19.js.map +1 -0
  159. package/dist-android/static/47.149c69358179520f5572.js +2 -0
  160. package/dist-android/static/47.149c69358179520f5572.js.map +1 -0
  161. package/dist-android/static/48.65ff329a8fcff2fef3d6.js +2 -0
  162. package/dist-android/static/48.65ff329a8fcff2fef3d6.js.map +1 -0
  163. package/dist-android/static/49.6ca14d6bb01c42aa2989.js +2 -0
  164. package/dist-android/static/49.6ca14d6bb01c42aa2989.js.map +1 -0
  165. package/dist-android/static/5.552d466662fa35c868c2.js +12 -0
  166. package/dist-android/static/5.552d466662fa35c868c2.js.map +1 -0
  167. package/dist-android/static/50.99c671d5a146d9741aa8.js +2 -0
  168. package/dist-android/static/50.99c671d5a146d9741aa8.js.map +1 -0
  169. package/dist-android/static/51.83a2cbffb6901d2330e2.js +2 -0
  170. package/dist-android/static/51.83a2cbffb6901d2330e2.js.map +1 -0
  171. package/dist-android/static/52.3163bb20258ccff0604b.js +2 -0
  172. package/dist-android/static/52.3163bb20258ccff0604b.js.map +1 -0
  173. package/dist-android/static/53.a6d827e8960ae29624a3.js +2 -0
  174. package/dist-android/static/53.a6d827e8960ae29624a3.js.map +1 -0
  175. package/dist-android/static/54.1ccaf2b8a29fa7f7dba2.js +2 -0
  176. package/dist-android/static/54.1ccaf2b8a29fa7f7dba2.js.map +1 -0
  177. package/dist-android/static/55.1d72f5b350c90f7d7732.js +2 -0
  178. package/dist-android/static/55.1d72f5b350c90f7d7732.js.map +1 -0
  179. package/dist-android/static/56.d6f2f18a9961bf78d0c6.js +2 -0
  180. package/dist-android/static/56.d6f2f18a9961bf78d0c6.js.map +1 -0
  181. package/dist-android/static/57.89fb30f7294408c67f31.js +2 -0
  182. package/dist-android/static/57.89fb30f7294408c67f31.js.map +1 -0
  183. package/dist-android/static/58.e5e3b57ca17257cdcb1b.js +2 -0
  184. package/dist-android/static/58.e5e3b57ca17257cdcb1b.js.map +1 -0
  185. package/dist-android/static/59.279bde1f4db612e8208d.js +2 -0
  186. package/dist-android/static/59.279bde1f4db612e8208d.js.map +1 -0
  187. package/dist-android/static/6.476bb571c0e9e41e5bdd.js +12 -0
  188. package/dist-android/static/6.476bb571c0e9e41e5bdd.js.map +1 -0
  189. package/dist-android/static/60.c54f6dc3355fd0a68fa8.js +3 -0
  190. package/dist-android/static/60.c54f6dc3355fd0a68fa8.js.map +1 -0
  191. package/dist-android/static/61.16adcc6dba6ccdff65d3.js +2 -0
  192. package/dist-android/static/61.16adcc6dba6ccdff65d3.js.map +1 -0
  193. package/dist-android/static/62.6ca25ba22c65cb7fe3d6.js +2 -0
  194. package/dist-android/static/62.6ca25ba22c65cb7fe3d6.js.map +1 -0
  195. package/dist-android/static/63.98c8236209d00dc52554.js +2 -0
  196. package/dist-android/static/63.98c8236209d00dc52554.js.map +1 -0
  197. package/dist-android/static/64.9d85cdf20267cea8afeb.js +2 -0
  198. package/dist-android/static/64.9d85cdf20267cea8afeb.js.map +1 -0
  199. package/dist-android/static/65.d481d7d84e5f8cdb6265.js +2 -0
  200. package/dist-android/static/65.d481d7d84e5f8cdb6265.js.map +1 -0
  201. package/dist-android/static/66.2dec94f9c98d107f1298.js +2 -0
  202. package/dist-android/static/66.2dec94f9c98d107f1298.js.map +1 -0
  203. package/dist-android/static/67.d463c257ea7c14cbccd3.js +2 -0
  204. package/dist-android/static/67.d463c257ea7c14cbccd3.js.map +1 -0
  205. package/dist-android/static/68.ffb916bfe4136b430275.js +2 -0
  206. package/dist-android/static/68.ffb916bfe4136b430275.js.map +1 -0
  207. package/dist-android/static/69.af4c133e9259409a3464.js +2 -0
  208. package/dist-android/static/69.af4c133e9259409a3464.js.map +1 -0
  209. package/dist-android/static/7.cf266b1bfd31c7fd5f94.js +12 -0
  210. package/dist-android/static/7.cf266b1bfd31c7fd5f94.js.map +1 -0
  211. package/dist-android/static/70.21f57232ae9005a824e7.js +2 -0
  212. package/dist-android/static/70.21f57232ae9005a824e7.js.map +1 -0
  213. package/dist-android/static/71.c190267a5ad7fecb9bbb.js +2 -0
  214. package/dist-android/static/71.c190267a5ad7fecb9bbb.js.map +1 -0
  215. package/dist-android/static/72.5580255242641ad8f99b.js +2 -0
  216. package/dist-android/static/72.5580255242641ad8f99b.js.map +1 -0
  217. package/dist-android/static/73.503ff117f1d78df46971.js +2 -0
  218. package/dist-android/static/73.503ff117f1d78df46971.js.map +1 -0
  219. package/dist-android/static/74.fa7b4222acdf7717c42f.js +2 -0
  220. package/dist-android/static/74.fa7b4222acdf7717c42f.js.map +1 -0
  221. package/dist-android/static/75.4adbec977023e6f6f526.js +2 -0
  222. package/dist-android/static/75.4adbec977023e6f6f526.js.map +1 -0
  223. package/dist-android/static/76.c8b8fe734a043281b1a1.js +2 -0
  224. package/dist-android/static/76.c8b8fe734a043281b1a1.js.map +1 -0
  225. package/dist-android/static/77.4e7ac1e8415092da058d.js +2 -0
  226. package/dist-android/static/77.4e7ac1e8415092da058d.js.map +1 -0
  227. package/dist-android/static/78.1e49ad4c09bf6a3da5d4.js +2 -0
  228. package/dist-android/static/78.1e49ad4c09bf6a3da5d4.js.map +1 -0
  229. package/dist-android/static/79.a04a7880bdb065534815.js +2 -0
  230. package/dist-android/static/79.a04a7880bdb065534815.js.map +1 -0
  231. package/dist-android/static/8.e76ae8b6ce5fc5a5a356.js +12 -0
  232. package/dist-android/static/8.e76ae8b6ce5fc5a5a356.js.map +1 -0
  233. package/dist-android/static/80.bfdf6f87e94b4086d476.js +2 -0
  234. package/dist-android/static/80.bfdf6f87e94b4086d476.js.map +1 -0
  235. package/dist-android/static/81.bcc8681e0a3fa0784eb5.js +2 -0
  236. package/dist-android/static/81.bcc8681e0a3fa0784eb5.js.map +1 -0
  237. package/dist-android/static/82.507f3ac209ed1863a165.js +2 -0
  238. package/dist-android/static/82.507f3ac209ed1863a165.js.map +1 -0
  239. package/dist-android/static/83.08af37c5a47f13726f64.js +2 -0
  240. package/dist-android/static/83.08af37c5a47f13726f64.js.map +1 -0
  241. package/dist-android/static/84.3a95042f29c3a4d138e6.js +2 -0
  242. package/dist-android/static/84.3a95042f29c3a4d138e6.js.map +1 -0
  243. package/dist-android/static/85.51d344f30b486f119b96.js +2 -0
  244. package/dist-android/static/85.51d344f30b486f119b96.js.map +1 -0
  245. package/dist-android/static/86.b34d7e8cc11384e31f3d.js +2 -0
  246. package/dist-android/static/86.b34d7e8cc11384e31f3d.js.map +1 -0
  247. package/dist-android/static/87.188b978a6cd1b31d390f.js +2 -0
  248. package/dist-android/static/87.188b978a6cd1b31d390f.js.map +1 -0
  249. package/dist-android/static/88.7446de7020c0a673314e.js +2 -0
  250. package/dist-android/static/88.7446de7020c0a673314e.js.map +1 -0
  251. package/dist-android/static/89.6ead60a46117dbff45f5.js +2 -0
  252. package/dist-android/static/89.6ead60a46117dbff45f5.js.map +1 -0
  253. package/dist-android/static/9.7579acbda31126a086d5.js +12 -0
  254. package/dist-android/static/9.7579acbda31126a086d5.js.map +1 -0
  255. package/dist-android/static/90.91499a9b1df30d79c22a.js +2 -0
  256. package/dist-android/static/90.91499a9b1df30d79c22a.js.map +1 -0
  257. package/dist-android/static/91.7b7e3e279a042f903b1c.js +2 -0
  258. package/dist-android/static/91.7b7e3e279a042f903b1c.js.map +1 -0
  259. package/dist-android/static/92.4029b0f8ebbd8c177ca9.js +2 -0
  260. package/dist-android/static/92.4029b0f8ebbd8c177ca9.js.map +1 -0
  261. package/dist-android/static/93.3c7ca90a6f7d6b3a4480.js +2 -0
  262. package/dist-android/static/93.3c7ca90a6f7d6b3a4480.js.map +1 -0
  263. package/dist-android/static/94.26660ef68a7b32d92814.js +2 -0
  264. package/dist-android/static/94.26660ef68a7b32d92814.js.map +1 -0
  265. package/dist-android/static/95.8a5746eb5dadc16e970a.js +2 -0
  266. package/dist-android/static/95.8a5746eb5dadc16e970a.js.map +1 -0
  267. package/dist-android/static/96.a39e5648909a67a564f0.js +2 -0
  268. package/dist-android/static/96.a39e5648909a67a564f0.js.map +1 -0
  269. package/dist-android/static/97.ade90ac7225bb01e19a9.js +2 -0
  270. package/dist-android/static/97.ade90ac7225bb01e19a9.js.map +1 -0
  271. package/dist-android/static/98.9789b6c4d2905da930d1.js +2 -0
  272. package/dist-android/static/98.9789b6c4d2905da930d1.js.map +1 -0
  273. package/dist-android/static/99.a2411dd6bca22d9bd246.js +2 -0
  274. package/dist-android/static/99.a2411dd6bca22d9bd246.js.map +1 -0
  275. package/dist-android/static/Functions.js +91 -0
  276. package/dist-android/static/Jsons.js +784 -0
  277. package/dist-android/static/ManageHomePic//346/244/255/345/234/2064.png +0 -0
  278. package/dist-android/static/ManagementControl/echarts10.png +0 -0
  279. package/dist-android/static/ManagementControl/echarts11.png +0 -0
  280. package/dist-android/static/ManagementControl/echarts12.png +0 -0
  281. package/dist-android/static/ManagementControl/echarts13.png +0 -0
  282. package/dist-android/static/ManagementControl/echarts14.png +0 -0
  283. package/dist-android/static/ManagementControl/echarts15.png +0 -0
  284. package/dist-android/static/ManagementControl/echarts16.png +0 -0
  285. package/dist-android/static/ManagementControl/echarts17.png +0 -0
  286. package/dist-android/static/ManagementControl/echarts18.png +0 -0
  287. package/dist-android/static/ManagementControl/echarts4.png +0 -0
  288. package/dist-android/static/ManagementControl/echarts5.png +0 -0
  289. package/dist-android/static/ManagementControl/echarts51.png +0 -0
  290. package/dist-android/static/ManagementControl/echarts6.png +0 -0
  291. package/dist-android/static/ManagementControl/echarts7.png +0 -0
  292. package/dist-android/static/ManagementControl/echarts71.png +0 -0
  293. package/dist-android/static/ManagementControl/echarts8.png +0 -0
  294. package/dist-android/static/ManagementControl//345/233/276/345/261/20211/346/213/267/350/264/235.png +0 -0
  295. package/dist-android/static/ManagementControl//347/237/251/345/275/2425/346/213/267/350/264/2353.png +0 -0
  296. package/dist-android/static/ManagementControl//347/237/251/345/275/2425/346/213/267/350/264/2355.png +0 -0
  297. package/dist-android/static/ManagementControl//347/237/251/345/275/2425/346/213/267/350/264/2356.png +0 -0
  298. package/dist-android/static/android.css +2 -0
  299. package/dist-android/static/android.css.map +1 -0
  300. package/dist-android/static/androidcf0235e8782b35fa98bb.js +133 -0
  301. package/dist-android/static/androidcf0235e8782b35fa98bb.js.map +1 -0
  302. package/dist-android/static/class.js +97 -0
  303. package/dist-android/static/doc.jpg +0 -0
  304. package/dist-android/static/images/lefticon//345/215/241/346/234/215/345/212/241/347/256/241/347/220/206.png +0 -0
  305. package/dist-android/static/images/lefticon//345/221/274/345/217/253/347/263/273/347/273/237.png +0 -0
  306. package/dist-android/static/images/lefticon//345/224/256/346/260/224/346/224/266/350/264/271.png +0 -0
  307. package/dist-android/static/images/lefticon//345/233/276/345/261/2023/346/213/267/350/264/2354.png +0 -0
  308. package/dist-android/static/images/lefticon//345/233/276/345/261/202577.png +0 -0
  309. package/dist-android/static/images/lefticon//345/233/276/345/261/2028/346/213/267/350/264/23513.png +0 -0
  310. package/dist-android/static/images/lefticon//345/256/211/346/243/200/346/237/245/347/234/213.png +0 -0
  311. package/dist-android/static/images/lefticon//345/256/211/346/243/200/350/256/241/345/210/222.png +0 -0
  312. package/dist-android/static/images/lefticon//345/276/256/344/277/241/346/234/215/345/212/241.png +0 -0
  313. package/dist-android/static/images/lefticon//346/212/245/345/273/272/347/263/273/347/273/237.png +0 -0
  314. package/dist-android/static/images/lefticon//346/212/245/350/241/250/346/237/245/350/257/242.png +0 -0
  315. package/dist-android/static/images/lefticon//346/226/207/344/273/266/346/250/241/345/235/227.png +0 -0
  316. package/dist-android/static/images/lefticon//346/227/245/345/270/270/347/256/241/347/220/206.png +0 -0
  317. package/dist-android/static/images/lefticon//346/234/272/350/241/250/347/256/241/347/220/206.png +0 -0
  318. package/dist-android/static/images/lefticon//346/237/245/350/257/242/345/210/227/350/241/250.png +0 -0
  319. package/dist-android/static/images/lefticon//346/241/243/346/241/210/347/256/241/347/220/206.png +0 -0
  320. package/dist-android/static/images/lefticon//347/211/251/350/201/224/347/275/221/350/241/250.png +0 -0
  321. package/dist-android/static/images/lefticon//347/263/273/347/273/237/347/256/241/347/220/206.png +0 -0
  322. package/dist-android/static/images/lefticon//347/263/273/347/273/237/350/256/276/347/275/256.png +0 -0
  323. package/dist-android/static/images/lefticon//347/273/217/350/220/245/347/256/241/346/216/247.png +0 -0
  324. package/dist-android/static/images/lefticon//347/273/274/345/220/210/344/270/232/345/212/241.png +0 -0
  325. package/dist-android/static/images/lefticon//347/273/274/345/220/210/346/237/245/350/257/242.png +0 -0
  326. package/dist-android/static/images/lefticon//350/217/234/345/215/225/344/274/270/347/274/251.png +0 -0
  327. package/dist-android/static/images/lefticon//351/200/200/345/207/272/347/263/273/347/273/237.png +0 -0
  328. package/dist-android/static/imgerror.jpg +0 -0
  329. package/dist-android/static/init.js +135 -0
  330. package/dist-android/static/jcwx.jpg +0 -0
  331. package/dist-android/static/jsoneditor-icons.svg +893 -0
  332. package/dist-android/static/lefticon//345/215/241/346/234/215/345/212/241/347/256/241/347/220/206.png +0 -0
  333. package/dist-android/static/lefticon//345/221/274/345/217/253/347/263/273/347/273/237.png +0 -0
  334. package/dist-android/static/lefticon//345/224/256/346/260/224/346/224/266/350/264/271.png +0 -0
  335. package/dist-android/static/lefticon//345/233/276/345/261/2023/346/213/267/350/264/2354.png +0 -0
  336. package/dist-android/static/lefticon//345/233/276/345/261/202577.png +0 -0
  337. package/dist-android/static/lefticon//345/233/276/345/261/2028/346/213/267/350/264/23513.png +0 -0
  338. package/dist-android/static/lefticon//345/256/211/346/243/200/346/237/245/347/234/213.png +0 -0
  339. package/dist-android/static/lefticon//345/256/211/346/243/200/350/256/241/345/210/222.png +0 -0
  340. package/dist-android/static/lefticon//345/276/256/344/277/241/346/234/215/345/212/241.png +0 -0
  341. package/dist-android/static/lefticon//346/212/245/345/273/272/347/263/273/347/273/237.png +0 -0
  342. package/dist-android/static/lefticon//346/212/245/350/241/250/346/237/245/350/257/242.png +0 -0
  343. package/dist-android/static/lefticon//346/227/245/345/270/270/347/256/241/347/220/206.png +0 -0
  344. package/dist-android/static/lefticon//346/234/272/350/241/250/347/256/241/347/220/206.png +0 -0
  345. package/dist-android/static/lefticon//346/237/245/350/257/242/345/210/227/350/241/250.png +0 -0
  346. package/dist-android/static/lefticon//346/241/243/346/241/210/347/256/241/347/220/206.png +0 -0
  347. package/dist-android/static/lefticon//347/211/251/350/201/224/347/275/221/350/241/250.png +0 -0
  348. package/dist-android/static/lefticon//347/237/251/345/275/2421183.png +0 -0
  349. package/dist-android/static/lefticon//347/263/273/347/273/237/347/256/241/347/220/206.png +0 -0
  350. package/dist-android/static/lefticon//347/263/273/347/273/237/350/256/276/347/275/256.png +0 -0
  351. package/dist-android/static/lefticon//347/273/217/350/220/245/347/256/241/346/216/247.png +0 -0
  352. package/dist-android/static/lefticon//347/273/274/345/220/210/344/270/232/345/212/241.png +0 -0
  353. package/dist-android/static/lefticon//347/273/274/345/220/210/346/237/245/350/257/242.png +0 -0
  354. package/dist-android/static/lefticon//350/217/234/345/215/225/344/274/270/347/274/251.png +0 -0
  355. package/dist-android/static/lefticon//351/200/200/345/207/272/347/263/273/347/273/237.png +0 -0
  356. package/dist-android/static/loginbg.gif +0 -0
  357. package/dist-android/static/loginbg1.jpg +0 -0
  358. package/dist-android/static/loginbg1280.gif +0 -0
  359. package/dist-android/static/loginbg1366.gif +0 -0
  360. package/dist-android/static/loginbg_jincheng.jpg +0 -0
  361. package/dist-android/static/loginbgmain.jpg +0 -0
  362. package/dist-android/static/mainicon/adddevice.png +0 -0
  363. package/dist-android/static/mainicon/addmeter.png +0 -0
  364. package/dist-android/static/mainicon/bank.png +0 -0
  365. package/dist-android/static/mainicon/biaopan.png +0 -0
  366. package/dist-android/static/mainicon/cad.jpg +0 -0
  367. package/dist-android/static/mainicon/chaobiaoyuan.png +0 -0
  368. package/dist-android/static/mainicon/danganguanli.png +0 -0
  369. package/dist-android/static/mainicon/deletedevice.png +0 -0
  370. package/dist-android/static/mainicon/excel.jpg +0 -0
  371. package/dist-android/static/mainicon/huizong.png +0 -0
  372. package/dist-android/static/mainicon/jibiaoguanli.png +0 -0
  373. package/dist-android/static/mainicon/jibiaoguanli2.png +0 -0
  374. package/dist-android/static/mainicon/jiezhang.png +0 -0
  375. package/dist-android/static/mainicon/loginbg.jpg +0 -0
  376. package/dist-android/static/mainicon/shouqishoufei.png +0 -0
  377. package/dist-android/static/mainicon/treeopen.png +0 -0
  378. package/dist-android/static/mainicon/treeout.png +0 -0
  379. package/dist-android/static/mainicon/treeset.png +0 -0
  380. package/dist-android/static/mainicon/word.jpg +0 -0
  381. package/dist-android/static/mainicon/wulianwang.png +0 -0
  382. package/dist-android/static/mainicon/yingyechaxun.png +0 -0
  383. package/dist-android/static/mainicon/zongheyewu.png +0 -0
  384. package/dist-android/static/newStyle/clear.png +0 -0
  385. package/dist-android/static/newStyle/fife.png +0 -0
  386. package/dist-android/static/newStyle/hidden.png +0 -0
  387. package/dist-android/static/newStyle/label-clear.png +0 -0
  388. package/dist-android/static/newStyle/left-img.png +0 -0
  389. package/dist-android/static/newStyle/list_ok.png +0 -0
  390. package/dist-android/static/newStyle/login-check.png +0 -0
  391. package/dist-android/static/newStyle/login-con.png +0 -0
  392. package/dist-android/static/newStyle/login-do.gif +0 -0
  393. package/dist-android/static/newStyle/login-f.png +0 -0
  394. package/dist-android/static/newStyle/login-info.png +0 -0
  395. package/dist-android/static/newStyle/login-left.png +0 -0
  396. package/dist-android/static/newStyle/login-org.png +0 -0
  397. package/dist-android/static/newStyle/login-pwd.png +0 -0
  398. package/dist-android/static/newStyle/login-user.png +0 -0
  399. package/dist-android/static/newStyle/loginbg-liaoyuan.gif +0 -0
  400. package/dist-android/static/newStyle/loginbg.gif +0 -0
  401. package/dist-android/static/newStyle/loginbg1280.gif +0 -0
  402. package/dist-android/static/newStyle/loginbg1366.gif +0 -0
  403. package/dist-android/static/newStyle/loginbg_1.gif +0 -0
  404. package/dist-android/static/newStyle/searchin.png +0 -0
  405. package/dist-android/static/newStyle/searchout.png +0 -0
  406. package/dist-android/static/newStyle/setting.png +0 -0
  407. package/dist-android/static/newStyle/setting1.png +0 -0
  408. package/dist-android/static/newStyle/shirk.png +0 -0
  409. package/dist-android/static/newStyle/stretch_bottom.png +0 -0
  410. package/dist-android/static/newStyle/stretch_left.png +0 -0
  411. package/dist-android/static/newStyle/stretch_right.png +0 -0
  412. package/dist-android/static/newStyle/stretch_top.png +0 -0
  413. package/dist-android/static/newStyle/system-off.png +0 -0
  414. package/dist-android/static/newStyle//350/261/252/344/275/263/347/207/203/346/260/224.png +0 -0
  415. package/dist-android/static/newStyle.7z +0 -0
  416. package/dist-android/static/newStyle.zip +0 -0
  417. package/dist-android/static/pdf.jpg +0 -0
  418. package/dist-android/static/refresh.png +0 -0
  419. package/dist-android/static/static.zip +0 -0
  420. package/dist-android/static/tools.js +246 -0
  421. package/dist-android/static/treeclose.png +0 -0
  422. package/dist-android/static/tubiao.png +0 -0
  423. package/dist-android/static/wasm_exec.js +591 -0
  424. package/dist-android/static//344/270/213/350/275/275/350/256/241/345/210/222.png +0 -0
  425. package/dist-android/static//344/273/273/345/212/241/346/237/245/350/257/242.png +0 -0
  426. package/dist-android/static//344/277/241/346/201/257/345/205/254/345/221/212.png +0 -0
  427. package/dist-android/static//345/205/254/345/221/212/346/237/245/347/234/213.png +0 -0
  428. 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
  429. 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
  430. package/dist-android/static//345/234/250/347/272/277/345/256/211/346/243/200.png +0 -0
  431. package/dist-android/static//345/234/250/347/272/277/345/267/241/346/243/200.png +0 -0
  432. package/dist-android/static//345/234/250/347/272/277/346/212/204/350/241/250.png +0 -0
  433. package/dist-android/static//345/234/250/347/272/277/346/212/242/344/277/256.png +0 -0
  434. package/dist-android/static//345/234/250/347/272/277/346/212/245/350/243/205.png +0 -0
  435. package/dist-android/static//345/234/250/347/272/277/346/223/215/344/275/234.png +0 -0
  436. package/dist-android/static//345/234/250/347/272/277/347/273/264/344/277/256.png +0 -0
  437. package/dist-android/static//345/234/250/347/272/277/347/274/264/350/264/271.png +0 -0
  438. package/dist-android/static//345/256/211/346/243/200/345/267/262/345/212/236.png +0 -0
  439. package/dist-android/static//345/256/211/346/243/200/345/276/205/345/212/236.png +0 -0
  440. package/dist-android/static//345/256/211/346/243/200/346/212/275/345/215/225.png +0 -0
  441. package/dist-android/static//345/256/211/350/243/205/344/270/212/344/274/240.png +0 -0
  442. package/dist-android/static//345/256/211/350/243/205/345/267/262/345/212/236.png +0 -0
  443. package/dist-android/static//345/256/211/350/243/205/345/276/205/345/212/236.png +0 -0
  444. package/dist-android/static//345/267/241/346/243/200/344/270/212/344/274/240.png +0 -0
  445. package/dist-android/static//345/267/241/346/243/200/345/267/262/345/212/236.png +0 -0
  446. package/dist-android/static//345/274/200/345/205/263/351/230/200.png +0 -0
  447. package/dist-android/static//345/275/242/347/212/2664.png +0 -0
  448. package/dist-android/static//346/211/271/351/207/217/346/212/204/350/241/250.png +0 -0
  449. package/dist-android/static//346/212/204/350/241/250/344/270/212/344/274/240.png +0 -0
  450. package/dist-android/static//346/212/204/350/241/250/345/267/262/345/212/236.png +0 -0
  451. package/dist-android/static//346/212/204/350/241/250/345/276/205/345/212/236.png +0 -0
  452. package/dist-android/static//346/212/204/350/241/250/350/256/260/345/275/225.png +0 -0
  453. package/dist-android/static//346/212/245/345/273/272/346/234/215/345/212/241.png +0 -0
  454. package/dist-android/static//346/224/266/350/264/271/346/261/207/346/200/273/350/241/250.png +0 -0
  455. package/dist-android/static//346/224/266/350/264/271/350/256/260/345/275/225.png +0 -0
  456. package/dist-android/static//346/241/243/346/241/210/344/277/256/346/224/271.png +0 -0
  457. package/dist-android/static//346/265/201/347/250/213/344/270/232/345/212/241.png +0 -0
  458. package/dist-android/static//346/265/201/347/250/213/347/233/221/346/216/247.png +0 -0
  459. package/dist-android/static//347/247/273/345/212/250/346/212/204/350/241/250.png +0 -0
  460. 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
  461. package/dist-android/static//347/273/237/350/256/241/346/212/245/350/241/250.png +0 -0
  462. package/dist-android/static//347/273/264/344/277/256/346/264/276/345/217/221.png +0 -0
  463. package/dist-android/static//350/220/245/344/270/232/345/233/276/350/241/250.png +0 -0
  464. package/dist-android/static//350/241/250/345/206/214/351/241/272/345/272/217.png +0 -0
  465. package/dist-android/static//350/277/233/345/272/246/345/210/227/350/241/250.png +0 -0
  466. package/dist-android/static//351/200/200/345/207/272/347/231/273/345/275/225.png +0 -0
  467. package/dist-android/static//351/200/201/346/260/224/344/270/212/344/274/240.png +0 -0
  468. package/dist-android/static//351/200/201/346/260/224/345/267/262/345/212/236.png +0 -0
  469. package/dist-android/static//351/200/201/346/260/224/345/276/205/345/212/236.png +0 -0
  470. package/dist-android/static//351/232/220/346/202/243/345/244/204/347/220/206.png +0 -0
  471. package/dist-android/static//351/233/206/344/270/255/345/256/211/346/243/200.png +0 -0
  472. package/dist-android/static//351/253/230/345/257/206/345/205/254/345/221/212.png +0 -0
  473. package/index.html +30 -30
  474. package/package.json +1 -1
  475. package/src/apply.js +72 -68
  476. package/src/components/product/ApplyCharge/ApplyChargeList.vue +251 -251
  477. package/src/components/product/Function/InstallInfoSelect.vue +0 -1
  478. package/src/components/product/Process/Processes/InstallationDetails.vue +489 -489
  479. package/src/components/product/Process/Processes/UserFireInfo.vue +409 -0
  480. package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +1233 -1121
  481. package/src/components/product/Process/Processes/addressAndUserinfoManagementPro.vue +1221 -0
  482. package/src/components/product/Process/Processes/chargeManagement.vue +539 -539
  483. package/src/components/product/Process/Processes/devicesDetails.vue +834 -514
  484. package/src/components/product/Process/Processes/printCharge.vue +130 -130
  485. package/src/components/product/Process/Service/ServiceControl.vue +899 -897
  486. package/src/components/product/ServiceView.vue +797 -797
  487. package/src/components/product/Supervisory/SupervisoryhCart.vue +96 -103
  488. package/src/components/product/VueUtils/ApplyUpload.vue +261 -261
  489. package/static/images/lefticon//347/237/251/345/275/2421183.png +0 -0
@@ -1,897 +1,899 @@
1
- <template>
2
-
3
- <div class="auto clearfix">
4
- <show-back-reason :selectdata="show_data"></show-back-reason>
5
- </div>
6
-
7
- <service-view v-ref:serviceview :data="show_data" v-if="showview"></service-view>
8
-
9
- </template>
10
- <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
- }
30
-
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
- },
43
- created () {
44
- this.refurbish()
45
- },
46
- ready(){
47
- },
48
- methods: {
49
- // 组件初始化操作
50
- refurbish() {
51
- this.json_datas = this.$workflow_vue
52
- let sum = 0
53
- let jsonData = {}
54
- if (!this.json_datas || !this.json_datas.activitys || this.json_datas.activitys.length == 0) {
55
- this.$showMessage("网络故障,请刷新页面")
56
- return
57
- }
58
- for (let i = 0; i < this.json_datas.activitys.length; i++) {
59
- if (this.selectdata.defname == this.json_datas.activitys[i].title) {
60
- jsonData = this.json_datas.activitys[i] // 拿到当前节点的json配置信息
61
- sum++ // 节点名一样的个数
62
- }
63
- }
64
- if (sum == 1) {
65
- this.data = null
66
- this.data = jsonData
67
- // selectdata 填充 data
68
- this.data = Object.assign({}, this.data, this.selectdata)
69
- this.initializeJSON()
70
- } else if (sum == 0) {
71
- this.$showMessage(`没有在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置`)
72
- } else {
73
- this.$showMessage(`在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置:${sum}个`)
74
- }
75
- },
76
- // json配置数据处理
77
- async initializeJSON() {
78
- // 有默认值,value就给默认值,没有就是null
79
- this.data.fields.forEach(item => {
80
- if (!item.value) {
81
- if (item.value === 0) {
82
- item.value = 0
83
- } else {
84
- item.value = null
85
- }
86
- }
87
- if (item.default || item.default == 0) {
88
- item.value = item.default
89
- }
90
- if (this.selectdata[item.field]) {
91
- // 将json字符串格式化赋值给value
92
- if (String(this.selectdata[item.field]).startsWith("{")) {
93
- item.value = JSON.parse(this.selectdata[item.field])
94
- this.selectdata[item.field] = JSON.parse(this.selectdata[item.field])
95
- } else {
96
- item.value = this.selectdata[item.field]
97
- }
98
- } else {
99
- if (this.selectdata[item.field] === 0) {
100
- item.value = 0
101
- }
102
- }
103
-
104
- // datepicker 没有值给当时值
105
- if (item.type === 'datepicker' && !item.value && item.default) {
106
- item.value = new Date().Format('yyyy-MM-dd HH:mm:ss')
107
- }
108
-
109
- // 如果配置类型为select,优先从参数列表获取options
110
- if (item.type === 'select') {
111
- let temp = null
112
-
113
- temp = this.$appdata.getParam(item.label)
114
-
115
- if (temp && temp.length > 0 && item.label) {
116
- item.options = temp
117
- } else {
118
- if (item.paramLabel) {
119
- temp = this.$appdata.getParam(item.paramLabel)
120
- if (temp && temp.length > 0) {
121
- item.options = temp
122
- }
123
- }
124
- }
125
- }
126
- })
127
-
128
- // 控制组件
129
- if (this.data.components) {
130
- this.data.components.forEach(item => {
131
- item.mark = 0
132
- })
133
- }
134
-
135
- // 初始化 fields 可对数据进行特殊处理
136
- this.initializeFields()
137
-
138
- // 初始化 buttons_fields
139
- for (let i = 0; i < this.data.buttons.length; i++) {
140
- // 下发按钮相关配置
141
- if (this.data.buttons[i].button_name === '下发') {
142
- if (this.data.buttons[i].button_fields && this.data.buttons[i].button_fields.length === 1) {
143
- if (this.data.buttons[i].source){
144
- let http = new HttpResetClass()
145
- let res = await http.load('POST', 'rs/search', {
146
- source: this.data.buttons[i].source,
147
- userid: this.$login.f.id
148
- }, {resolveMsg: null, rejectMsg: null})
149
-
150
- let options = []
151
- for (let i = 0; i < res.data.length; i++) {
152
- options.push(
153
- {
154
- "label": res.data[i].name,
155
- "value": res.data[i].id
156
- }
157
- )
158
- }
159
- this.data.buttons[i].button_fields[0]['options'] = options
160
- } else {
161
- this.$showMessage("请配置获取人员表达式")
162
- }
163
- } else {
164
- this.$showMessage("下发按钮必须满足 当且仅当一个字段")
165
- }
166
- }
167
- if (this.data.buttons[i].button_fields) {
168
- this.data.buttons[i].button_fields.forEach(x => {
169
- // 如果配置类型为select,优先从参数列表获取options
170
- if (x.type === 'select' && this.$appdata.getParam(x.label)) {
171
- x.options = this.$appdata.getParam(x.label).trim()
172
- }
173
- })
174
- }
175
- }
176
-
177
- // onetomany 数据获取
178
- if (this.data.onetomany) {
179
- for (let index = 0; index < this.data.onetomany.length; index++) {
180
- let res = null
181
- if (!this.data.onetomany[index].queryEvent || this.data.onetomany[index].queryEvent === 'default'){
182
- let http = new HttpResetClass()
183
- let data = {
184
- tablename: this.data.onetomany[index].tables[0],
185
- condition: `f_process_id='${this.selectdata.f_process_id}'`
186
- }
187
- res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
188
- resolveMsg: null,
189
- rejectMsg: 'onetomany查询失败'
190
- })
191
- } else {
192
- res = this[this.data.onetomany[index].queryEvent]()
193
- }
194
-
195
- // 初始化 onetomany
196
- this.data.onetomany[index].rows = res.data
197
-
198
- // 初始化onetomany中的fields
199
- for (let j = 0; j < this.data.onetomany[index].fields.length; j++) {
200
- if (!this.data.onetomany[index].fields[j].value) {
201
- if (this.data.onetomany[index].fields[j].value === 0) {
202
- this.data.onetomany[index].fields[j].value = 0
203
- } else {
204
- this.data.onetomany[index].fields[j].value = null
205
- }
206
- }
207
- if (this.data.onetomany[index].fields[j].default || this.data.onetomany[index].fields[j].default == 0) {
208
- this.data.onetomany[index].fields[j].value = this.data.onetomany[index].fields[j].default
209
- }
210
- // 如果配置类型为select,优先从参数列表获取options
211
- if (this.data.onetomany[index].fields[j].type === 'select') {
212
- let temp = Vue.$appdata.getParam(this.data.onetomany[index].fields[j].label)
213
- if (temp && temp.length > 0) {
214
- this.data.onetomany[index].fields[j].options = temp
215
- }
216
- }
217
- }
218
- }
219
- }
220
-
221
- // 消除双向绑定,避免子组件(显示层)数据更改,父组件(控制层)也更改
222
- let temp = JSON.parse(JSON.stringify(this.data))
223
-
224
- this.show_data = temp
225
- this.$nextTick(() => {
226
- this.showview = true
227
- })
228
- // 初始化加载
229
- // ========================= 中盛 =================================
230
-
231
- if (this.selectdata.defname === '报建登记') {
232
- let http = new HttpResetClass()
233
- let condition = "f_filialeid = " + this.$login.f.orgid
234
- let res = await http.load('POST','rs/sql/apply_singleTable',{data:{tablename:'t_area',condition:condition}}, {resolveMsg: null, rejectMsg: null})
235
- for (let i = 0; i < this.show_data.fields.length; i++) {
236
-
237
- if (this.show_data.fields[i].label == '街道') {
238
- let data = []
239
- let array = []
240
- data = res.data.map(item => {
241
- return item.f_street;
242
- })
243
- for (let q = 0; q < data.length; q++) {
244
- let arraydata = {
245
- 'label': data[q],
246
- 'value': data[q]
247
- }
248
- if (array.length != 0) {
249
- for (let w = 0; w < array.length; w++) {
250
- if (array[w].label == data[q]) {
251
- break
252
- }
253
- while (w == array.length - 1) {
254
- array.push(arraydata)
255
- break
256
- }
257
- }
258
- } else {
259
- array.push(arraydata)
260
- }
261
- }
262
- this.show_data.fields[i].options = array
263
- console.log("街道选择框数据:" + JSON.stringify(this.show_data.fields[i].options))
264
- }
265
- if (this.show_data.fields[i].label == '小区') {
266
- let data = []
267
- let array = []
268
- data = res.data.map(item => {
269
- return item.f_residential_area;
270
- })
271
- for (let q = 0; q < data.length; q++) {
272
- let arraydata = {
273
- 'label': data[q],
274
- 'value': data[q]
275
- }
276
- if (array.length != 0) {
277
- for (let w = 0; w < array.length; w++) {
278
- if (array[w].label == data[q]) {
279
- break
280
- }
281
- while (w == array.length - 1) {
282
- array.push(arraydata)
283
- break
284
- }
285
- }
286
- } else {
287
- array.push(arraydata)
288
- }
289
- }
290
- this.show_data.fields[i].options = array
291
- console.log("小区选择框数据:" + JSON.stringify(this.show_data.fields[i].options))
292
- }
293
- }
294
- }
295
- if (this.selectdata.defname === '施工') {
296
- // for (let i = 0; i < this.show_data.fields.length; i++) {
297
- // if (this.show_data.fields[i].label == '工程状态') {
298
- // this.show_data.fields[i].value = ''
299
- // }
300
- // }
301
- for (const item of this.show_data.fields) {
302
- if (item.label === '工程状态') {
303
- return item.value = '未开工'
304
- }
305
- }
306
- }
307
-
308
- },
309
- // 初始化fields值
310
- initializeFields() {
311
-
312
- },
313
- // 金额转大写
314
- smalltoBIG(n) {
315
- let fraction = ['角', '分'];
316
- let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
317
- let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];
318
- let head = n < 0 ? '欠' : '';
319
- n = Math.abs(n);
320
-
321
- let s = '';
322
-
323
- for (var i = 0; i < fraction.length; i++) {
324
- s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
325
- }
326
- s = s || '整';
327
- n = Math.floor(n);
328
-
329
- for (var i = 0; i < unit[0].length && n > 0; i++) {
330
- let p = '';
331
- for (var j = 0; j < unit[1].length && n > 0; j++) {
332
- p = digit[n % 10] + unit[1][j] + p;
333
- n = Math.floor(n / 10);
334
- }
335
- s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
336
- }
337
- return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
338
- },
339
- getLableValue(label) {
340
- for (const item of this.show_data.fields) {
341
- if (item.label === label && item.type !== 'number') {
342
- return item.value || ''
343
- }
344
- if (item.label === label && item.type === 'number') {
345
- return item.value || 0
346
- }
347
- }
348
- },
349
- setLabelValue(label, value) {
350
- for (const item of this.show_data.fields) {
351
- if (item.label === label) {
352
- item.value = value
353
- }
354
- }
355
- },
356
-
357
- async buttonBefore(model) {
358
- if (
359
- model.button.button_name === '提交' &&
360
- model.defname === '收费' &&
361
- (
362
- model.f_apply_type === '散户报建' ||
363
- model.f_apply_type === '工商户报建'
364
- ) &&
365
- model.f_surplus_money > 0
366
- ) {
367
- throw '未结金额大于0,无法提交!!!'
368
- }
369
- if (model.defname === '验收是否合格' && model.button.button_name === '提交') {
370
- let http = new HttpResetClass()
371
- let data = {
372
- f_process_id: model.f_process_id
373
- }
374
- let res = await http.load('POST', 'rs/sql/notInstalled', {data: data}, {resolveMsg: null, rejectMsg: null})
375
- if (res.data[0].num > 0) {
376
- throw `还有${res.data[0].num}户未安装,无法提交`
377
- }
378
- }
379
- return model
380
- },
381
- // ========================= 武安 =================================
382
- // 地址类型变化
383
- addressType() {
384
- for (const item of this.show_data.fields) {
385
- if (item.label === '小区' && this.show_data.f_address_type === '民用地址') {
386
- item.required = true
387
- }
388
- if (item.label === '小区' && this.show_data.f_address_type === '特殊地址') {
389
- item.required = false
390
- }
391
- if (
392
- (
393
- item.label === '楼号' ||
394
- item.label === '单元' ||
395
- item.label === '楼层' ||
396
- item.label === '门牌号'
397
- ) && this.show_data.f_address_type === '民用地址'
398
- ) {
399
- item.required = true
400
- item.hidden = false
401
- item.value = null
402
- }
403
- if (
404
- (
405
- item.label === '楼号' ||
406
- item.label === '单元' ||
407
- item.label === '楼层' ||
408
- item.label === '门牌号'
409
- ) && this.show_data.f_address_type === '特殊地址'
410
- ) {
411
- item.required = false
412
- item.hidden = true
413
- item.value = null
414
- }
415
- }
416
- }
417
- // ========================= 武安 =================================
418
- },
419
- events: {
420
- // ========================= 武安 =================================
421
- // ========================= 武安 =================================
422
- 'openAddModel'(index) {
423
- // ========================= 武安 =================================
424
- // ========================= 武安 =================================
425
- },
426
- // 获取view层button事件/
427
- async 'button'(model) {
428
- // 修改提交数据
429
- model = Object.assign({}, this.selectdata, model)
430
- // 点击重置按钮就重置数据
431
- if (model.button.button_name === '重置') {
432
- this.$dispatch('breakControl', this.data)
433
- return
434
- }
435
- // 提交前置
436
- try {
437
- model = await this.buttonBefore(model)
438
- } catch (e) {
439
- this.$showAlert(e, 'warning', 3000)
440
- return
441
- }
442
- let http = new HttpResetClass()
443
- let requestData = {
444
- tables: this.data.tables,
445
- start_activity: this.$workflow_vue.start_activity,
446
- model: model,
447
- loginUser: this.$login.f,
448
- workflow_gxmlfilename: this.$workflow_vue.workflow_xmlfilename
449
- }
450
- console.log("gwfwe",this.selectdata)
451
- // 下发,提交,保存,退回通用业务后台处理logic
452
- let url = 'rs/logic/ApplyProductService'
453
- let res = await http.load('POST', url, {data: requestData}, {resolveMsg: null, rejectMsg: '数据保存失败'})
454
- if (res.data.code === 200) {
455
- this.$dispatch('search')
456
- } else {
457
- if (res.data.msg) {
458
- this.$showMessage(res.data.msg)
459
- }
460
- }
461
- },
462
- async 'initializtionView'() {
463
- // ========================= 武安 =================================
464
- this.addressType()
465
- // ========================= 武安 =================================
466
- },
467
- // 失去焦点出触发事件
468
- async 'onchange'(index) {
469
- console.log('失去焦点')
470
- // ========================= 武安 =================================
471
- if (this.show_data.defname === '报建登记'){
472
- if (this.show_data.fields[index].label === '是否具备安装条件') {
473
- for (const button of this.show_data.buttons) {
474
- if (this.show_data.fields[index].value === '否'&& button.button_name === '退回') {
475
- button.hidden = false
476
- }else {
477
- button.hidden = true
478
- }
479
- }
480
- }
481
- if (this.show_data.fields[index].label === '地址类型'){
482
- this.addressType()
483
- }
484
- // if (this.show_data.fields[index].label === '街道'){
485
- // console.log('-----------添加街道-----------')
486
- // if (this.show_data.fields[index].value === null || this.show_data.fields[index].value === '') {
487
- // this.show_data.fields[index].value = null
488
- // this.$showAlert('街道地址不能为空!!!', 'warning', 3000)
489
- // return
490
- // }
491
- // let http = new HttpResetClass()
492
- // let data = {
493
- // f_adjustable_id: '', // 调压箱编号
494
- // f_orgid: this.$login.f.orgid, // 组织id
495
- // f_orgname: this.$login.f.orgs, // 组织名
496
- // f_pcd: '河北省邯郸市武安市', // 省市区
497
- // f_pcd_id: 8, // 省市区id
498
- // // f_pcd_id: 124, // 50.4测试
499
- // f_slice_area: '', // 片区
500
- // f_operatorid: this.$login.f.id, // 操作人id
501
- // f_operator: this.$login.f.name, // 操作人
502
- // f_filialeid: this.$login.f.orgid, // 创建地址所属分公司(默认当前操作人)
503
- // f_street: this.show_data.fields[index].value.trim(), // 地址
504
- // f_comments: '报建系统自动创建' // 备注
505
- // }
506
- // try {
507
- // let res = await http.load('POST', 'rs/logic/address_updatestreet', {data: data}, {
508
- // resolveMsg: null,
509
- // rejectMsg: null
510
- // })
511
- // } catch (e) {
512
- // if (e.status === 635) {
513
- // this.$showAlert('此街道已存在!!!', 'warning', 3000)
514
- // } else {
515
- // this.$showAlert('自动添加街道失败,请手动添加!!!', 'danger', 3000)
516
- // }
517
- // }
518
- // }
519
- // if (this.show_data.fields[index].label === '小区') {
520
- // if (this.show_data.fields[index].value === null || this.show_data.fields[index].value === '') {
521
- // this.show_data.fields[index].value = null
522
- // this.$showAlert('小区名称不能为空!!!', 'warning', 3000)
523
- // return
524
- // }
525
- // // 先查询街道
526
- // let street = null
527
- // for (const item of this.show_data.fields) {
528
- // if (item.label === '街道') {
529
- // if (item.value.trim() === null || item.value.trim() === '') {
530
- // this.show_data.fields[index].value = null
531
- // this.$showAlert('请先录入街道信息,才能录入小区信息!!!', 'warning', 3000)
532
- // return
533
- // }
534
- // let http = new HttpResetClass()
535
- // let data = {
536
- // condition: `1=1 and s.f_filialeid in ('${this.$login.f.orgid}') and f_province = '河北省' and f_city = '邯郸市' and f_district = '武安市' and f_street = '${item.value.trim()}'`
537
- // }
538
- // let res = await http.load('POST', 'rs/sql/address_getstreetlist', {data: data}, {
539
- // resolveMsg: null,
540
- // rejectMsg: null
541
- // })
542
- // if (res.data.length > 0) {
543
- // street = res.data[0]
544
- // } else {
545
- // this.show_data.fields[index].value = null
546
- // this.$showAlert(`【${item.value}】街道不存在,请手动添加或重新输入街道信息,在录入小区信息!!!`, 'warning', 3000)
547
- // }
548
- // }
549
- // }
550
- // console.log('-----------添加小区-----------')
551
- // let data = {
552
- // f_linkname: '', // 联系人
553
- // f_linkphone: '', // 联系电话
554
- // f_adjustable_id: '', // 调压箱编号
555
- // f_user_type: '', // 用户类型
556
- // f_gasproperties: '', // 用气性质
557
- // f_meter_brand: '', // 气表品牌
558
- // f_price_name: '', // 气价名称
559
- // f_price_type: '', // 气价类型
560
- // f_meter_style: '', // 气表型号
561
- // f_position: '', // 表安装位置
562
- // f_meter_type: '', // 气表类型
563
- // f_area_id: '', // 小区编号 (自动生成)
564
- // f_filialeid: this.$login.f.orgid, // 创建地址所属分公司(默认当前操作人)
565
- // f_operatorid: this.$login.f.id, // 操作人id
566
- // f_operator: this.$login.f.name, // 操作人
567
- // f_orgid: this.$login.f.orgid, // 组织id
568
- // f_orgname: this.$login.f.orgs, // 组织名
569
- // f_pcd_id: 8, // 省市区id
570
- // // f_pcd_id: 124, // 50.4测试
571
- // f_pcd: '河北省邯郸市武安市', // 省市区
572
- // f_street_id: street.id, // 街道id
573
- // f_street: street.f_street,// 街道
574
- // f_area_code: '01', // 片区编码
575
- // f_slice_area: '武安片区', // 片区
576
- // // f_area_code: '66556', // 50.4测试
577
- // // f_slice_area: '武安明星', // 50.4测试
578
- // slice_area: [
579
- // {
580
- // name: '武安片区',
581
- // code: '01'
582
- // }
583
- // ],
584
- // // slice_area: [ // 50.4测试
585
- // // {
586
- // // name: '武安明星',
587
- // // code: '66556'
588
- // // }
589
- // // ],
590
- // f_residential_area: this.show_data.fields[index].value.trim(), // 小区名称
591
- // f_area_address: `河北省邯郸市武安市${street.f_street}`, // 详细地址(省市区+街道)
592
- // f_comments: '报建系统自动创建'
593
- // }
594
- // try {
595
- // let http = new HttpResetClass()
596
- // let res = await http.load('POST', 'rs/logic/address_updatearea', {data: data}, {
597
- // resolveMsg: null,
598
- // rejectMsg: null
599
- // })
600
- // } catch (e) {
601
- // if (e.status === 635) {
602
- // this.$showAlert('此小区已存在!!!', 'warning', 3000)
603
- // } else {
604
- // this.$showAlert('自动添加小区失败,请手动添加!!!', 'warning', 3000)
605
- // }
606
- // }
607
- // }
608
- // 地址拼接
609
- if (
610
- this.show_data.fields[index].label === '街道' ||
611
- this.show_data.fields[index].label === '小区' ||
612
- this.show_data.fields[index].label === '楼号' ||
613
- this.show_data.fields[index].label === '单元' ||
614
- this.show_data.fields[index].label === '楼层' ||
615
- this.show_data.fields[index].label === '门牌号'
616
- ) {
617
- let f_address = null
618
- if (this.show_data.f_address_type !== '民用地址') {
619
- f_address = this.getLableValue('街道') + this.getLableValue('小区')
620
- } else {
621
- f_address = this.getLableValue('街道') +
622
- this.getLableValue('小区') +
623
- this.getLableValue('楼号') +
624
- (isEmpty(this.getLableValue('楼号')) ? '' : '号楼') +
625
- this.getLableValue('单元') +
626
- (isEmpty(this.getLableValue('单元')) ? '' : '单元') +
627
- this.getLableValue('楼层') +
628
- (isEmpty(this.getLableValue('楼层')) ? '' : '层') +
629
- this.getLableValue('门牌号') +
630
- (isEmpty(this.getLableValue('门牌号')) ? '' : '室')
631
- }
632
- this.setLabelValue('地址', f_address)
633
- }
634
- }
635
-
636
- if (this.show_data.defname === '竣工验收') {
637
- if (this.show_data.fields[index].label === '验收是否合格'){
638
- for (const button of this.show_data.buttons) {
639
- if (this.show_data.fields[index].value === '否' && button.button_name === '退回') {
640
- button.hidden = false
641
- } else {
642
- button.hidden = true
643
- }
644
- }
645
- }
646
- }
647
- if (this.show_data.defname === '报建登记'&&this.show_data.f_apply_type==='工商户报建') {
648
-
649
- console.log("13f", this.selectdata.onetomany)
650
- for (const button of this.show_data.buttons) {
651
- if (this.selectdata.onetomany&& button.button_name === '提交') {
652
- console.log("1f")
653
- button.disable = true
654
- }
655
- else {
656
- button.disable = false
657
- console.log("2f")
658
- }
659
- }
660
- }
661
- // if (this.show_data.defname === '营业厅建档'){
662
- // let http = new HttpResetClass()
663
- // let data = {
664
- // tablename: 't_userinfo',
665
- // condition: `f_process_id='${this.selectdata.f_process_id}'`
666
- //
667
- // }
668
- // let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {resolveMsg: null, rejectMsg: null})
669
- //
670
- // if (this.show_data.fields[index].label === '是否已建档') {
671
- // if (res.data[0].f_user_state === '预备') {
672
- // this.show_data.fields[index].value = '否'
673
- // button.hidden = false
674
- // }else{
675
- // this.show_data.fields[index].value = '是'
676
- // button.hidden = true
677
- // }
678
- // }
679
- // }
680
- if(this.show_data.defname === '现场勘察') {
681
- console.log("this.shdata",this.show_data)
682
- if (this.show_data.fields[index].label === '是否具备安装条件') {
683
- for (const button of this.show_data.buttons) {
684
- if (this.show_data.fields[index].value === '否'&& button.button_name === '退回') {
685
- button.hidden = false
686
- }else {
687
- button.hidden = true
688
- }
689
- }
690
- }
691
- }
692
- // if (this.show_data.defname === '通气点火'){
693
- // let http = new HttpResetClass()
694
- // let data = {
695
- // tablename: 't_firemessage',
696
- // condition: `f_process_id='${this.selectdata.f_process_id}'`
697
- //
698
- // }
699
- // let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {resolveMsg: null, rejectMsg: null})
700
- // console.log("res")
701
- // console.log(res.data)
702
- // if (this.show_data.fields[index].label === '是否已通气') {
703
- // if (res.data.length==0) {
704
- // this.show_data.fields[index].value = '否'
705
- // button.hidden = false
706
- // }else{
707
- // this.show_data.fields[index].value = '是'
708
- // button.hidden = true
709
- // }
710
- // }
711
- // }
712
- if (this.show_data.defname === '合同签订') {
713
- if (this.show_data.fields[index].label === '合同编号') {
714
- if (!isEmpty(this.show_data.fields[index].value)) {
715
- let http = new HttpResetClass()
716
- let data = {
717
- tablename: 't_apply',
718
- condition: `f_contract_number='${this.show_data.fields[index].value}'`
719
- }
720
- let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
721
- resolveMsg: null,
722
- rejectMsg: '合同编号查重失败'
723
- })
724
- if (res.data.length > 0) {
725
- this.show_data.fields[index].value = null
726
- this.$showAlert('合同编号已存在!!!', 'warning', 3000)
727
- }
728
- //拼写合同编号
729
- if (this.selectdata.f_apply_type == '工商户报建') {
730
- this.show_data.fields[index].value = "ZS-S-" + this.show_data.fields[index].value + "-" + new Date().Format('yyyy-MM-dd')
731
- }else {
732
- this.show_data.fields[index].value = "ZS-M-" + this.show_data.fields[index].value + "-" + new Date().Format('yyyy-MM-dd')
733
- }
734
- }
735
- }
736
- if (this.show_data.fields[index].label === '单价(户)') {
737
- let http = new HttpResetClass()
738
- let data = {
739
- num1: this.getLableValue(this.show_data.fields[index].label),
740
- num2: this.getLableValue('户数'),
741
- operator: '*'
742
- }
743
- try {
744
- let res = await http.load('POST', 'rs/logic/compute', {data: data}, {
745
- resolveMsg: null,
746
- rejectMsg: null
747
- })
748
- data = {
749
- num1: res.data,
750
- num2: this.getLableValue('其他费用'),
751
- operator: '+'
752
- }
753
- res = await http.load('POST', 'rs/logic/compute', {data: data}, {
754
- resolveMsg: null,
755
- rejectMsg: null
756
- })
757
- this.setLabelValue('合同金额',res.data)
758
- } catch (e) {
759
- this.$showAlert(e.data.msg, 'warning', 3000)
760
- }
761
- }
762
- if (this.show_data.fields[index].label === '其他费用') {
763
- let http = new HttpResetClass()
764
- let data = {
765
- num1: this.getLableValue(this.show_data.fields[index].label),
766
- num2: this.getLableValue('合同金额'),
767
- operator: '+'
768
- }
769
- try {
770
- let res = await http.load('POST', 'rs/logic/compute', {data: data}, {
771
- resolveMsg: null,
772
- rejectMsg: null
773
- })
774
- this.setLabelValue('合同金额',res.data)
775
- } catch (e) {
776
- this.$showAlert(e.data.msg, 'warning', 3000)
777
- }
778
- }
779
- }
780
- // ========================= 武安 =================================
781
- // 号码检测
782
- if (this.show_data.fields[index].label === '电话号码') {
783
- let phone = this.show_data.fields[index].value
784
- // 电话号码效验
785
- if (!(/^1[3456789]\d{9}$/.test(phone))) {
786
- this.show_data.fields[index].value = ""
787
- this.$showAlert('电话号码格式不正确,请重新输入。', 'info', 2000)
788
- }
789
- }
790
- //时间提醒
791
- if (this.show_data.fields[index].label.includes("时间") || this.show_data.fields[index].type === 'datepicker') {
792
- let setTime = this.show_data.fields[index].value
793
- let nowTime = new Date().Format("yyyy-MM-dd HH:mm:ss")
794
- if (nowTime >= setTime) {
795
- this.$showMessage("请注意,当前节点时间/工期已过期!")
796
- }
797
- }
798
- },
799
- // input值发生变化
800
- async 'oninput'(index) {
801
-
802
- },
803
- // 错误事件
804
- error_check(index) {
805
- // 时间格式检测
806
- if (this.show_data.fields[index].type == 'datepicker') {
807
- 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)$/)
808
- 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])$/)
809
- if (datetimeRe.test(this.show_data.fields[index].value) && this.show_data.fields[index].value.trim().length == 19 && this.show_data.fields[index].fullsize) {
810
- this.show_data.fields[index].error.flag = false
811
- } else if (dateRe.test(this.show_data.fields[index].value) && this.show_data.fields[index].value.trim().length == 10) {
812
- this.show_data.fields[index].error.flag = false
813
- } else {
814
- if (this.show_data.fields[index].fullsize) {
815
- this.show_data.fields[index].error = Object.assign({}, this.show_data.fields[index].error)
816
- 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'
817
- this.$showAlert(this.show_data.fields[index].label + '格式错误' + this.show_data.fields[index].error.msg, 'warning', 3000)
818
- this.show_data.fields[index].error.flag = true
819
- this.show_data.fields[index].value = ''
820
- } else {
821
- this.show_data.fields[index].error = Object.assign({}, this.show_data.fields[index].error)
822
- this.show_data.fields[index].error.msg = this.show_data.fields[index].error.msg ? this.show_data.fields[index].error.msg : '时间格式如:2019-05-02'
823
- this.$showAlert(this.show_data.fields[index].label + '格式错误' + this.show_data.fields[index].error.msg, 'warning', 3000)
824
- this.show_data.fields[index].error.flag = true
825
- this.show_data.fields[index].value = ''
826
- }
827
-
828
- }
829
- }
830
- },
831
- // onetomany模态框默认监听监听事件
832
- async 'onetomanydelete'(i, j) {
833
- console.log('默认删除')
834
- let http = new HttpResetClass()
835
- let data = {
836
- table: this.show_data.onetomany[i].tables[0],
837
- row: this.show_data.onetomany[i].rows[j]
838
- }
839
- let res = await http.load('POST', 'rs/logic/onetomanyDefaultDeleteEvent', {data: data}, {
840
- resolveMsg: null,
841
- rejectMsg: '删除失败'
842
- })
843
-
844
- if (res.data <= 0){
845
- this.$showMessage('删除失败')
846
- return
847
- }
848
-
849
- this.$dispatch('breakControl', this.show_data)
850
- },
851
- async 'onetomanyadd'(index) {
852
-
853
- let data = {
854
- f_process_id : this.show_data.f_process_id
855
- }
856
- this.show_data.onetomany[index].fields.forEach(item => {
857
- data[item.field] = item.value
858
- })
859
- let res = await this.$resetpost(
860
- `rs/entity/${this.show_data.onetomany[index].tables[0]}`,
861
- data
862
- )
863
- this.$dispatch('breakControl', this.show_data)
864
- },
865
- async 'onetomanyupdate'(i, j) {
866
- let onetomany = this.show_data.onetomany[i]
867
- let data = onetomany.rows[j]
868
-
869
- onetomany.fields.forEach(item => {
870
- data[item.field] = item.value
871
- })
872
- let res = await this.$resetpost(
873
- `rs/entity/${this.show_data.onetomany[i].tables[0]}`,
874
- data
875
- )
876
-
877
- this.$dispatch('breakControl', this.show_data)
878
- },
879
- // onetomany模态框监听事件
880
- async 'onchange_modal'(index, i) {
881
- },
882
- async 'oninput_modal'(index, i) {
883
- }
884
- },
885
- watch: {
886
- }
887
- }
888
- </script>
889
- <style scoped>
890
- /*清除model中的浮动*/
891
- .clearfix:after,.clearfix:before{
892
- display: table;
893
- }
894
- .clearfix:after{
895
- clear: both;
896
- }
897
- </style>
1
+ <template>
2
+
3
+ <div class="auto clearfix">
4
+ <show-back-reason :selectdata="show_data"></show-back-reason>
5
+ </div>
6
+
7
+ <service-view v-ref:serviceview :data="show_data" v-if="showview"></service-view>
8
+
9
+ </template>
10
+ <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
+ }
30
+
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
+ },
43
+ created () {
44
+ this.refurbish()
45
+ },
46
+ ready(){
47
+ },
48
+ methods: {
49
+ // 组件初始化操作
50
+ refurbish() {
51
+ this.json_datas = this.$workflow_vue
52
+ let sum = 0
53
+ let jsonData = {}
54
+ if (!this.json_datas || !this.json_datas.activitys || this.json_datas.activitys.length == 0) {
55
+ this.$showMessage("网络故障,请刷新页面")
56
+ return
57
+ }
58
+ for (let i = 0; i < this.json_datas.activitys.length; i++) {
59
+ if (this.selectdata.defname == this.json_datas.activitys[i].title) {
60
+ jsonData = this.json_datas.activitys[i] // 拿到当前节点的json配置信息
61
+ sum++ // 节点名一样的个数
62
+ }
63
+ }
64
+ if (sum == 1) {
65
+ this.data = null
66
+ this.data = jsonData
67
+ // selectdata 填充 data
68
+ this.data = Object.assign({}, this.data, this.selectdata)
69
+ this.initializeJSON()
70
+ } else if (sum == 0) {
71
+ this.$showMessage(`没有在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置`)
72
+ } else {
73
+ this.$showMessage(`在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置:${sum}个`)
74
+ }
75
+ },
76
+ // json配置数据处理
77
+ async initializeJSON() {
78
+ // 有默认值,value就给默认值,没有就是null
79
+ this.data.fields.forEach(item => {
80
+ if (!item.value) {
81
+ if (item.value === 0) {
82
+ item.value = 0
83
+ } else {
84
+ item.value = null
85
+ }
86
+ }
87
+ if (item.default || item.default == 0) {
88
+ item.value = item.default
89
+ }
90
+ if (this.selectdata[item.field]) {
91
+ // 将json字符串格式化赋值给value
92
+ if (String(this.selectdata[item.field]).startsWith("{")) {
93
+ item.value = JSON.parse(this.selectdata[item.field])
94
+ this.selectdata[item.field] = JSON.parse(this.selectdata[item.field])
95
+ } else {
96
+ item.value = this.selectdata[item.field]
97
+ }
98
+ } else {
99
+ if (this.selectdata[item.field] === 0) {
100
+ item.value = 0
101
+ }
102
+ }
103
+
104
+ // datepicker 没有值给当时值
105
+ if (item.type === 'datepicker' && !item.value && item.default) {
106
+ item.value = new Date().Format('yyyy-MM-dd HH:mm:ss')
107
+ }
108
+
109
+ // 如果配置类型为select,优先从参数列表获取options
110
+ if (item.type === 'select') {
111
+ let temp = null
112
+
113
+ temp = this.$appdata.getParam(item.label)
114
+
115
+ if (temp && temp.length > 0 && item.label) {
116
+ item.options = temp
117
+ } else {
118
+ if (item.paramLabel) {
119
+ temp = this.$appdata.getParam(item.paramLabel)
120
+ if (temp && temp.length > 0) {
121
+ item.options = temp
122
+ }
123
+ }
124
+ }
125
+ }
126
+ })
127
+
128
+ // 控制组件
129
+ if (this.data.components) {
130
+ this.data.components.forEach(item => {
131
+ item.mark = 0
132
+ })
133
+ }
134
+
135
+ // 初始化 fields 可对数据进行特殊处理
136
+ this.initializeFields()
137
+
138
+ // 初始化 buttons_fields
139
+ for (let i = 0; i < this.data.buttons.length; i++) {
140
+ // 下发按钮相关配置
141
+ if (this.data.buttons[i].button_name === '下发') {
142
+ if (this.data.buttons[i].button_fields && this.data.buttons[i].button_fields.length === 1) {
143
+ if (this.data.buttons[i].source){
144
+ let http = new HttpResetClass()
145
+ let res = await http.load('POST', 'rs/search', {
146
+ source: this.data.buttons[i].source,
147
+ userid: this.$login.f.id
148
+ }, {resolveMsg: null, rejectMsg: null})
149
+
150
+ let options = []
151
+ for (let i = 0; i < res.data.length; i++) {
152
+ options.push(
153
+ {
154
+ "label": res.data[i].name,
155
+ "value": res.data[i].id
156
+ }
157
+ )
158
+ }
159
+ this.data.buttons[i].button_fields[0]['options'] = options
160
+ } else {
161
+ this.$showMessage("请配置获取人员表达式")
162
+ }
163
+ } else {
164
+ this.$showMessage("下发按钮必须满足 当且仅当一个字段")
165
+ }
166
+ }
167
+ if (this.data.buttons[i].button_fields) {
168
+ this.data.buttons[i].button_fields.forEach(x => {
169
+ // 如果配置类型为select,优先从参数列表获取options
170
+ if (x.type === 'select' && this.$appdata.getParam(x.label)) {
171
+ x.options = this.$appdata.getParam(x.label).trim()
172
+ }
173
+ })
174
+ }
175
+ }
176
+
177
+ // onetomany 数据获取
178
+ if (this.data.onetomany) {
179
+ for (let index = 0; index < this.data.onetomany.length; index++) {
180
+ let res = null
181
+ if (!this.data.onetomany[index].queryEvent || this.data.onetomany[index].queryEvent === 'default'){
182
+ let http = new HttpResetClass()
183
+ let data = {
184
+ tablename: this.data.onetomany[index].tables[0],
185
+ condition: `f_process_id='${this.selectdata.f_process_id}'`
186
+ }
187
+ res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
188
+ resolveMsg: null,
189
+ rejectMsg: 'onetomany查询失败'
190
+ })
191
+ } else {
192
+ res = this[this.data.onetomany[index].queryEvent]()
193
+ }
194
+
195
+ // 初始化 onetomany
196
+ this.data.onetomany[index].rows = res.data
197
+
198
+ // 初始化onetomany中的fields
199
+ for (let j = 0; j < this.data.onetomany[index].fields.length; j++) {
200
+ if (!this.data.onetomany[index].fields[j].value) {
201
+ if (this.data.onetomany[index].fields[j].value === 0) {
202
+ this.data.onetomany[index].fields[j].value = 0
203
+ } else {
204
+ this.data.onetomany[index].fields[j].value = null
205
+ }
206
+ }
207
+ if (this.data.onetomany[index].fields[j].default || this.data.onetomany[index].fields[j].default == 0) {
208
+ this.data.onetomany[index].fields[j].value = this.data.onetomany[index].fields[j].default
209
+ }
210
+ // 如果配置类型为select,优先从参数列表获取options
211
+ if (this.data.onetomany[index].fields[j].type === 'select') {
212
+ let temp = Vue.$appdata.getParam(this.data.onetomany[index].fields[j].label)
213
+ if (temp && temp.length > 0) {
214
+ this.data.onetomany[index].fields[j].options = temp
215
+ }
216
+ }
217
+ }
218
+ }
219
+ }
220
+
221
+ // 消除双向绑定,避免子组件(显示层)数据更改,父组件(控制层)也更改
222
+ let temp = JSON.parse(JSON.stringify(this.data))
223
+
224
+ this.show_data = temp
225
+ this.$nextTick(() => {
226
+ this.showview = true
227
+ })
228
+ // 初始化加载
229
+ // ========================= 中盛 =================================
230
+
231
+ if (this.selectdata.defname === '报建登记') {
232
+ let http = new HttpResetClass()
233
+ let condition = "f_filialeid = " + this.$login.f.orgid
234
+ let res = await http.load('POST','rs/sql/apply_singleTable',{data:{tablename:'t_area',condition:condition}}, {resolveMsg: null, rejectMsg: null})
235
+ for (let i = 0; i < this.show_data.fields.length; i++) {
236
+
237
+ if (this.show_data.fields[i].label == '街道') {
238
+ let data = []
239
+ let array = []
240
+ data = res.data.map(item => {
241
+ return item.f_street;
242
+ })
243
+ for (let q = 0; q < data.length; q++) {
244
+ let arraydata = {
245
+ 'label': data[q],
246
+ 'value': data[q]
247
+ }
248
+ if (array.length != 0) {
249
+ for (let w = 0; w < array.length; w++) {
250
+ if (array[w].label == data[q]) {
251
+ break
252
+ }
253
+ while (w == array.length - 1) {
254
+ array.push(arraydata)
255
+ break
256
+ }
257
+ }
258
+ } else {
259
+ array.push(arraydata)
260
+ }
261
+ }
262
+ this.show_data.fields[i].options = array
263
+ console.log("街道选择框数据:" + JSON.stringify(this.show_data.fields[i].options))
264
+ }
265
+ if (this.show_data.fields[i].label == '小区') {
266
+ let data = []
267
+ let array = []
268
+ data = res.data.map(item => {
269
+ return item.f_residential_area;
270
+ })
271
+ for (let q = 0; q < data.length; q++) {
272
+ let arraydata = {
273
+ 'label': data[q],
274
+ 'value': data[q]
275
+ }
276
+ if (array.length != 0) {
277
+ for (let w = 0; w < array.length; w++) {
278
+ if (array[w].label == data[q]) {
279
+ break
280
+ }
281
+ while (w == array.length - 1) {
282
+ array.push(arraydata)
283
+ break
284
+ }
285
+ }
286
+ } else {
287
+ array.push(arraydata)
288
+ }
289
+ }
290
+ this.show_data.fields[i].options = array
291
+ console.log("小区选择框数据:" + JSON.stringify(this.show_data.fields[i].options))
292
+ }
293
+ }
294
+ }
295
+ if (this.selectdata.defname === '施工') {
296
+ // for (let i = 0; i < this.show_data.fields.length; i++) {
297
+ // if (this.show_data.fields[i].label == '工程状态') {
298
+ // this.show_data.fields[i].value = ''
299
+ // }
300
+ // }
301
+ for (const item of this.show_data.fields) {
302
+ if (item.label === '工程状态') {
303
+ return item.value = '未开工'
304
+ }
305
+ }
306
+ }
307
+
308
+ },
309
+ // 初始化fields值
310
+ initializeFields() {
311
+
312
+ },
313
+ // 金额转大写
314
+ smalltoBIG(n) {
315
+ let fraction = ['角', '分'];
316
+ let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
317
+ let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];
318
+ let head = n < 0 ? '欠' : '';
319
+ n = Math.abs(n);
320
+
321
+ let s = '';
322
+
323
+ for (var i = 0; i < fraction.length; i++) {
324
+ s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
325
+ }
326
+ s = s || '整';
327
+ n = Math.floor(n);
328
+
329
+ for (var i = 0; i < unit[0].length && n > 0; i++) {
330
+ let p = '';
331
+ for (var j = 0; j < unit[1].length && n > 0; j++) {
332
+ p = digit[n % 10] + unit[1][j] + p;
333
+ n = Math.floor(n / 10);
334
+ }
335
+ s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
336
+ }
337
+ return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
338
+ },
339
+ getLableValue(label) {
340
+ for (const item of this.show_data.fields) {
341
+ if (item.label === label && item.type !== 'number') {
342
+ return item.value || ''
343
+ }
344
+ if (item.label === label && item.type === 'number') {
345
+ return item.value || 0
346
+ }
347
+ }
348
+ },
349
+ setLabelValue(label, value) {
350
+ for (const item of this.show_data.fields) {
351
+ if (item.label === label) {
352
+ item.value = value
353
+ }
354
+ }
355
+ },
356
+
357
+ async buttonBefore(model) {
358
+ if (
359
+ model.button.button_name === '提交' &&
360
+ model.defname === '收费' &&
361
+ (
362
+ model.f_apply_type === '散户报建' ||
363
+ model.f_apply_type === '工商户报建'
364
+ ) &&
365
+ model.f_surplus_money > 0
366
+ ) {
367
+ throw '未结金额大于0,无法提交!!!'
368
+ }
369
+ if (model.defname === '验收是否合格' && model.button.button_name === '提交') {
370
+ let http = new HttpResetClass()
371
+ let data = {
372
+ f_process_id: model.f_process_id
373
+ }
374
+ let res = await http.load('POST', 'rs/sql/notInstalled', {data: data}, {resolveMsg: null, rejectMsg: null})
375
+ if (res.data[0].num > 0) {
376
+ throw `还有${res.data[0].num}户未安装,无法提交`
377
+ }
378
+ }
379
+ return model
380
+ },
381
+ // ========================= 武安 =================================
382
+ // 地址类型变化
383
+ addressType() {
384
+ for (const item of this.show_data.fields) {
385
+ if (item.label === '小区' && this.show_data.f_address_type === '民用地址') {
386
+ item.required = true
387
+ }
388
+ if (item.label === '小区' && this.show_data.f_address_type === '特殊地址') {
389
+ item.required = false
390
+ }
391
+ if (
392
+ (
393
+ item.label === '楼号' ||
394
+ item.label === '单元' ||
395
+ item.label === '楼层' ||
396
+ item.label === '门牌号'
397
+ ) && this.show_data.f_address_type === '民用地址'
398
+ ) {
399
+ item.required = true
400
+ item.hidden = false
401
+ item.value = null
402
+ }
403
+ if (
404
+ (
405
+ item.label === '楼号' ||
406
+ item.label === '单元' ||
407
+ item.label === '楼层' ||
408
+ item.label === '门牌号'
409
+ ) && this.show_data.f_address_type === '特殊地址'
410
+ ) {
411
+ item.required = false
412
+ item.hidden = true
413
+ item.value = null
414
+ }
415
+ }
416
+ }
417
+ // ========================= 武安 =================================
418
+ },
419
+ events: {
420
+ // ========================= 武安 =================================
421
+ // ========================= 武安 =================================
422
+ 'openAddModel'(index) {
423
+ // ========================= 武安 =================================
424
+ // ========================= 武安 =================================
425
+ },
426
+ // 获取view层button事件/
427
+ async 'button'(model) {
428
+ // 修改提交数据
429
+ model = Object.assign({}, this.selectdata, model)
430
+ // 点击重置按钮就重置数据
431
+ if (model.button.button_name === '重置') {
432
+ this.$dispatch('breakControl', this.data)
433
+ return
434
+ }
435
+ // 提交前置
436
+ try {
437
+ model = await this.buttonBefore(model)
438
+ } catch (e) {
439
+ this.$showAlert(e, 'warning', 3000)
440
+ return
441
+ }
442
+ let http = new HttpResetClass()
443
+ let requestData = {
444
+ tables: this.data.tables,
445
+ start_activity: this.$workflow_vue.start_activity,
446
+ model: model,
447
+ loginUser: this.$login.f,
448
+ workflow_gxmlfilename: this.$workflow_vue.workflow_xmlfilename
449
+ }
450
+ console.log("gwfwe",this.selectdata)
451
+ // 下发,提交,保存,退回通用业务后台处理logic
452
+ let url = 'rs/logic/ApplyProductService'
453
+ let res = await http.load('POST', url, {data: requestData}, {resolveMsg: null, rejectMsg: '数据保存失败'})
454
+ if (res.data.code === 200) {
455
+ this.$dispatch('search')
456
+ } else {
457
+ if (res.data.msg) {
458
+ this.$showMessage(res.data.msg)
459
+ }
460
+ }
461
+ },
462
+ async 'initializtionView'() {
463
+ // ========================= 武安 =================================
464
+ this.addressType()
465
+ // ========================= 武安 =================================
466
+ },
467
+ // 失去焦点出触发事件
468
+ async 'onchange'(index) {
469
+ console.log('失去焦点')
470
+ // ========================= 武安 =================================
471
+ if (this.show_data.defname === '报建登记'){
472
+ if (this.show_data.fields[index].label === '是否具备安装条件') {
473
+ for (const button of this.show_data.buttons) {
474
+ if (this.show_data.fields[index].value === '否'&& button.button_name === '退回') {
475
+ button.hidden = false
476
+ }else {
477
+ button.hidden = true
478
+ }
479
+ }
480
+ }
481
+ if (this.show_data.fields[index].label === '地址类型'){
482
+ this.addressType()
483
+ }
484
+ // if (this.show_data.fields[index].label === '街道'){
485
+ // console.log('-----------添加街道-----------')
486
+ // if (this.show_data.fields[index].value === null || this.show_data.fields[index].value === '') {
487
+ // this.show_data.fields[index].value = null
488
+ // this.$showAlert('街道地址不能为空!!!', 'warning', 3000)
489
+ // return
490
+ // }
491
+ // let http = new HttpResetClass()
492
+ // let data = {
493
+ // f_adjustable_id: '', // 调压箱编号
494
+ // f_orgid: this.$login.f.orgid, // 组织id
495
+ // f_orgname: this.$login.f.orgs, // 组织名
496
+ // f_pcd: '河北省邯郸市武安市', // 省市区
497
+ // f_pcd_id: 8, // 省市区id
498
+ // // f_pcd_id: 124, // 50.4测试
499
+ // f_slice_area: '', // 片区
500
+ // f_operatorid: this.$login.f.id, // 操作人id
501
+ // f_operator: this.$login.f.name, // 操作人
502
+ // f_filialeid: this.$login.f.orgid, // 创建地址所属分公司(默认当前操作人)
503
+ // f_street: this.show_data.fields[index].value.trim(), // 地址
504
+ // f_comments: '报建系统自动创建' // 备注
505
+ // }
506
+ // try {
507
+ // let res = await http.load('POST', 'rs/logic/address_updatestreet', {data: data}, {
508
+ // resolveMsg: null,
509
+ // rejectMsg: null
510
+ // })
511
+ // } catch (e) {
512
+ // if (e.status === 635) {
513
+ // this.$showAlert('此街道已存在!!!', 'warning', 3000)
514
+ // } else {
515
+ // this.$showAlert('自动添加街道失败,请手动添加!!!', 'danger', 3000)
516
+ // }
517
+ // }
518
+ // }
519
+ // if (this.show_data.fields[index].label === '小区') {
520
+ // if (this.show_data.fields[index].value === null || this.show_data.fields[index].value === '') {
521
+ // this.show_data.fields[index].value = null
522
+ // this.$showAlert('小区名称不能为空!!!', 'warning', 3000)
523
+ // return
524
+ // }
525
+ // // 先查询街道
526
+ // let street = null
527
+ // for (const item of this.show_data.fields) {
528
+ // if (item.label === '街道') {
529
+ // if (item.value.trim() === null || item.value.trim() === '') {
530
+ // this.show_data.fields[index].value = null
531
+ // this.$showAlert('请先录入街道信息,才能录入小区信息!!!', 'warning', 3000)
532
+ // return
533
+ // }
534
+ // let http = new HttpResetClass()
535
+ // let data = {
536
+ // condition: `1=1 and s.f_filialeid in ('${this.$login.f.orgid}') and f_province = '河北省' and f_city = '邯郸市' and f_district = '武安市' and f_street = '${item.value.trim()}'`
537
+ // }
538
+ // let res = await http.load('POST', 'rs/sql/address_getstreetlist', {data: data}, {
539
+ // resolveMsg: null,
540
+ // rejectMsg: null
541
+ // })
542
+ // if (res.data.length > 0) {
543
+ // street = res.data[0]
544
+ // } else {
545
+ // this.show_data.fields[index].value = null
546
+ // this.$showAlert(`【${item.value}】街道不存在,请手动添加或重新输入街道信息,在录入小区信息!!!`, 'warning', 3000)
547
+ // }
548
+ // }
549
+ // }
550
+ // console.log('-----------添加小区-----------')
551
+ // let data = {
552
+ // f_linkname: '', // 联系人
553
+ // f_linkphone: '', // 联系电话
554
+ // f_adjustable_id: '', // 调压箱编号
555
+ // f_user_type: '', // 用户类型
556
+ // f_gasproperties: '', // 用气性质
557
+ // f_meter_brand: '', // 气表品牌
558
+ // f_price_name: '', // 气价名称
559
+ // f_price_type: '', // 气价类型
560
+ // f_meter_style: '', // 气表型号
561
+ // f_position: '', // 表安装位置
562
+ // f_meter_type: '', // 气表类型
563
+ // f_area_id: '', // 小区编号 (自动生成)
564
+ // f_filialeid: this.$login.f.orgid, // 创建地址所属分公司(默认当前操作人)
565
+ // f_operatorid: this.$login.f.id, // 操作人id
566
+ // f_operator: this.$login.f.name, // 操作人
567
+ // f_orgid: this.$login.f.orgid, // 组织id
568
+ // f_orgname: this.$login.f.orgs, // 组织名
569
+ // f_pcd_id: 8, // 省市区id
570
+ // // f_pcd_id: 124, // 50.4测试
571
+ // f_pcd: '河北省邯郸市武安市', // 省市区
572
+ // f_street_id: street.id, // 街道id
573
+ // f_street: street.f_street,// 街道
574
+ // f_area_code: '01', // 片区编码
575
+ // f_slice_area: '武安片区', // 片区
576
+ // // f_area_code: '66556', // 50.4测试
577
+ // // f_slice_area: '武安明星', // 50.4测试
578
+ // slice_area: [
579
+ // {
580
+ // name: '武安片区',
581
+ // code: '01'
582
+ // }
583
+ // ],
584
+ // // slice_area: [ // 50.4测试
585
+ // // {
586
+ // // name: '武安明星',
587
+ // // code: '66556'
588
+ // // }
589
+ // // ],
590
+ // f_residential_area: this.show_data.fields[index].value.trim(), // 小区名称
591
+ // f_area_address: `河北省邯郸市武安市${street.f_street}`, // 详细地址(省市区+街道)
592
+ // f_comments: '报建系统自动创建'
593
+ // }
594
+ // try {
595
+ // let http = new HttpResetClass()
596
+ // let res = await http.load('POST', 'rs/logic/address_updatearea', {data: data}, {
597
+ // resolveMsg: null,
598
+ // rejectMsg: null
599
+ // })
600
+ // } catch (e) {
601
+ // if (e.status === 635) {
602
+ // this.$showAlert('此小区已存在!!!', 'warning', 3000)
603
+ // } else {
604
+ // this.$showAlert('自动添加小区失败,请手动添加!!!', 'warning', 3000)
605
+ // }
606
+ // }
607
+ // }
608
+ // 地址拼接
609
+ if (
610
+ this.show_data.fields[index].label === '街道' ||
611
+ this.show_data.fields[index].label === '小区' ||
612
+ this.show_data.fields[index].label === '楼号' ||
613
+ this.show_data.fields[index].label === '单元' ||
614
+ this.show_data.fields[index].label === '楼层' ||
615
+ this.show_data.fields[index].label === '门牌号'
616
+ ) {
617
+ let f_address = null
618
+ if (this.show_data.f_address_type !== '民用地址') {
619
+ f_address = this.getLableValue('街道') + this.getLableValue('小区')
620
+ } else {
621
+ f_address = this.getLableValue('街道') +
622
+ this.getLableValue('小区') +
623
+ this.getLableValue('楼号') +
624
+ (isEmpty(this.getLableValue('楼号')) ? '' : '号楼') +
625
+ this.getLableValue('单元') +
626
+ (isEmpty(this.getLableValue('单元')) ? '' : '单元') +
627
+ this.getLableValue('楼层') +
628
+ (isEmpty(this.getLableValue('楼层')) ? '' : '层') +
629
+ this.getLableValue('门牌号') +
630
+ (isEmpty(this.getLableValue('门牌号')) ? '' : '室')
631
+ }
632
+ this.setLabelValue('地址', f_address)
633
+ }
634
+ }
635
+
636
+ if (this.show_data.defname === '竣工验收') {
637
+ if (this.show_data.fields[index].label === '验收是否合格'){
638
+ for (const button of this.show_data.buttons) {
639
+ if (this.show_data.fields[index].value === '否' && button.button_name === '退回') {
640
+ button.hidden = false
641
+ } else {
642
+ button.hidden = true
643
+ }
644
+ }
645
+ }
646
+ }
647
+ if (this.show_data.defname === '报建登记'&&this.show_data.f_apply_type==='工商户报建') {
648
+
649
+ console.log("13f", this.selectdata.onetomany)
650
+ for (const button of this.show_data.buttons) {
651
+ if (this.selectdata.onetomany&& button.button_name === '提交') {
652
+ console.log("1f")
653
+ button.disable = true
654
+ }
655
+ else {
656
+ button.disable = false
657
+ console.log("2f")
658
+ }
659
+ }
660
+ }
661
+ // if (this.show_data.defname === '营业厅建档'){
662
+ // let http = new HttpResetClass()
663
+ // let data = {
664
+ // tablename: 't_userinfo',
665
+ // condition: `f_process_id='${this.selectdata.f_process_id}'`
666
+ //
667
+ // }
668
+ // let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {resolveMsg: null, rejectMsg: null})
669
+ //
670
+ // if (this.show_data.fields[index].label === '是否已建档') {
671
+ // if (res.data[0].f_user_state === '预备') {
672
+ // this.show_data.fields[index].value = '否'
673
+ // button.hidden = false
674
+ // }else{
675
+ // this.show_data.fields[index].value = '是'
676
+ // button.hidden = true
677
+ // }
678
+ // }
679
+ // }
680
+ if(this.show_data.defname === '现场勘察') {
681
+ console.log("this.shdata",this.show_data)
682
+ if (this.show_data.fields[index].label === '是否具备安装条件') {
683
+ for (const button of this.show_data.buttons) {
684
+ if (this.show_data.fields[index].value === '否'&& button.button_name === '退回') {
685
+ button.hidden = false
686
+ }else {
687
+ button.hidden = true
688
+ }
689
+ }
690
+ }
691
+ }
692
+ // if (this.show_data.defname === '通气点火'){
693
+ // let http = new HttpResetClass()
694
+ // let data = {
695
+ // tablename: 't_firemessage',
696
+ // condition: `f_process_id='${this.selectdata.f_process_id}'`
697
+ //
698
+ // }
699
+ // let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {resolveMsg: null, rejectMsg: null})
700
+ // console.log("res")
701
+ // console.log(res.data)
702
+ // if (this.show_data.fields[index].label === '是否已通气') {
703
+ // if (res.data.length==0) {
704
+ // this.show_data.fields[index].value = '否'
705
+ // button.hidden = false
706
+ // }else{
707
+ // this.show_data.fields[index].value = '是'
708
+ // button.hidden = true
709
+ // }
710
+ // }
711
+ // }
712
+ if (this.show_data.defname === '合同签订') {
713
+ if (this.show_data.fields[index].label === '合同编号') {
714
+ if (!isEmpty(this.show_data.fields[index].value)) {
715
+ let http = new HttpResetClass()
716
+ let data = {
717
+ tablename: 't_apply',
718
+ condition: `f_contract_number='${this.show_data.fields[index].value}'`
719
+ }
720
+ let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
721
+ resolveMsg: null,
722
+ rejectMsg: '合同编号查重失败'
723
+ })
724
+ if (res.data.length > 0) {
725
+ this.show_data.fields[index].value = null
726
+ this.$showAlert('合同编号已存在!!!', 'warning', 3000)
727
+ }
728
+ //拼写合同编号
729
+ if (this.selectdata.f_apply_type == '工商户报建') {
730
+ this.show_data.fields[index].value = "ZS-S-" + this.show_data.fields[index].value
731
+ // this.show_data.fields[index].value = "ZS-S-" + this.show_data.fields[index].value + "-" + new Date().Format('yyyy-MM-dd')
732
+ }else {
733
+ this.show_data.fields[index].value = "ZS-M-" + this.show_data.fields[index].value
734
+ // this.show_data.fields[index].value = "ZS-M-" + this.show_data.fields[index].value + "-" + new Date().Format('yyyy-MM-dd')
735
+ }
736
+ }
737
+ }
738
+ if (this.show_data.fields[index].label === '单价(户)') {
739
+ let http = new HttpResetClass()
740
+ let data = {
741
+ num1: this.getLableValue(this.show_data.fields[index].label),
742
+ num2: this.getLableValue('户数'),
743
+ operator: '*'
744
+ }
745
+ try {
746
+ let res = await http.load('POST', 'rs/logic/compute', {data: data}, {
747
+ resolveMsg: null,
748
+ rejectMsg: null
749
+ })
750
+ data = {
751
+ num1: res.data,
752
+ num2: this.getLableValue('其他费用'),
753
+ operator: '+'
754
+ }
755
+ res = await http.load('POST', 'rs/logic/compute', {data: data}, {
756
+ resolveMsg: null,
757
+ rejectMsg: null
758
+ })
759
+ this.setLabelValue('合同金额',res.data)
760
+ } catch (e) {
761
+ this.$showAlert(e.data.msg, 'warning', 3000)
762
+ }
763
+ }
764
+ if (this.show_data.fields[index].label === '其他费用') {
765
+ let http = new HttpResetClass()
766
+ let data = {
767
+ num1: this.getLableValue(this.show_data.fields[index].label),
768
+ num2: this.getLableValue('合同金额'),
769
+ operator: '+'
770
+ }
771
+ try {
772
+ let res = await http.load('POST', 'rs/logic/compute', {data: data}, {
773
+ resolveMsg: null,
774
+ rejectMsg: null
775
+ })
776
+ this.setLabelValue('合同金额',res.data)
777
+ } catch (e) {
778
+ this.$showAlert(e.data.msg, 'warning', 3000)
779
+ }
780
+ }
781
+ }
782
+ // ========================= 武安 =================================
783
+ // 号码检测
784
+ if (this.show_data.fields[index].label === '电话号码') {
785
+ let phone = this.show_data.fields[index].value
786
+ // 电话号码效验
787
+ if (!(/^1[3456789]\d{9}$/.test(phone))) {
788
+ this.show_data.fields[index].value = ""
789
+ this.$showAlert('电话号码格式不正确,请重新输入。', 'info', 2000)
790
+ }
791
+ }
792
+ //时间提醒
793
+ if (this.show_data.fields[index].label.includes("时间") || this.show_data.fields[index].type === 'datepicker') {
794
+ let setTime = this.show_data.fields[index].value
795
+ let nowTime = new Date().Format("yyyy-MM-dd HH:mm:ss")
796
+ if (nowTime >= setTime) {
797
+ this.$showMessage("请注意,当前节点时间/工期已过期!")
798
+ }
799
+ }
800
+ },
801
+ // input值发生变化
802
+ async 'oninput'(index) {
803
+
804
+ },
805
+ // 错误事件
806
+ error_check(index) {
807
+ // 时间格式检测
808
+ if (this.show_data.fields[index].type == 'datepicker') {
809
+ 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)$/)
810
+ 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])$/)
811
+ if (datetimeRe.test(this.show_data.fields[index].value) && this.show_data.fields[index].value.trim().length == 19 && this.show_data.fields[index].fullsize) {
812
+ this.show_data.fields[index].error.flag = false
813
+ } else if (dateRe.test(this.show_data.fields[index].value) && this.show_data.fields[index].value.trim().length == 10) {
814
+ this.show_data.fields[index].error.flag = false
815
+ } else {
816
+ if (this.show_data.fields[index].fullsize) {
817
+ this.show_data.fields[index].error = Object.assign({}, this.show_data.fields[index].error)
818
+ 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'
819
+ this.$showAlert(this.show_data.fields[index].label + '格式错误' + this.show_data.fields[index].error.msg, 'warning', 3000)
820
+ this.show_data.fields[index].error.flag = true
821
+ this.show_data.fields[index].value = ''
822
+ } else {
823
+ this.show_data.fields[index].error = Object.assign({}, this.show_data.fields[index].error)
824
+ this.show_data.fields[index].error.msg = this.show_data.fields[index].error.msg ? this.show_data.fields[index].error.msg : '时间格式如:2019-05-02'
825
+ this.$showAlert(this.show_data.fields[index].label + '格式错误' + this.show_data.fields[index].error.msg, 'warning', 3000)
826
+ this.show_data.fields[index].error.flag = true
827
+ this.show_data.fields[index].value = ''
828
+ }
829
+
830
+ }
831
+ }
832
+ },
833
+ // onetomany模态框默认监听监听事件
834
+ async 'onetomanydelete'(i, j) {
835
+ console.log('默认删除')
836
+ let http = new HttpResetClass()
837
+ let data = {
838
+ table: this.show_data.onetomany[i].tables[0],
839
+ row: this.show_data.onetomany[i].rows[j]
840
+ }
841
+ let res = await http.load('POST', 'rs/logic/onetomanyDefaultDeleteEvent', {data: data}, {
842
+ resolveMsg: null,
843
+ rejectMsg: '删除失败'
844
+ })
845
+
846
+ if (res.data <= 0){
847
+ this.$showMessage('删除失败')
848
+ return
849
+ }
850
+
851
+ this.$dispatch('breakControl', this.show_data)
852
+ },
853
+ async 'onetomanyadd'(index) {
854
+
855
+ let data = {
856
+ f_process_id : this.show_data.f_process_id
857
+ }
858
+ this.show_data.onetomany[index].fields.forEach(item => {
859
+ data[item.field] = item.value
860
+ })
861
+ let res = await this.$resetpost(
862
+ `rs/entity/${this.show_data.onetomany[index].tables[0]}`,
863
+ data
864
+ )
865
+ this.$dispatch('breakControl', this.show_data)
866
+ },
867
+ async 'onetomanyupdate'(i, j) {
868
+ let onetomany = this.show_data.onetomany[i]
869
+ let data = onetomany.rows[j]
870
+
871
+ onetomany.fields.forEach(item => {
872
+ data[item.field] = item.value
873
+ })
874
+ let res = await this.$resetpost(
875
+ `rs/entity/${this.show_data.onetomany[i].tables[0]}`,
876
+ data
877
+ )
878
+
879
+ this.$dispatch('breakControl', this.show_data)
880
+ },
881
+ // onetomany模态框监听事件
882
+ async 'onchange_modal'(index, i) {
883
+ },
884
+ async 'oninput_modal'(index, i) {
885
+ }
886
+ },
887
+ watch: {
888
+ }
889
+ }
890
+ </script>
891
+ <style scoped>
892
+ /*清除model中的浮动*/
893
+ .clearfix:after,.clearfix:before{
894
+ display: table;
895
+ }
896
+ .clearfix:after{
897
+ clear: both;
898
+ }
899
+ </style>