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,797 +1,797 @@
1
- <template>
2
- <div class="select-overspread" style="background-color: #ffffff;padding: 20px;overflow: scroll">
3
- <validator name="v">
4
- <form class="form-horizontal">
5
- <div class="form-group">
6
- <div v-for="(index,item) in data.fields" style="">
7
- <!--input-->
8
- <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
9
- v-if="item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email'"
10
- v-show="!item.hidden"
11
- :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
12
- <label :style="item.label_style ? item.label_style : ''"
13
- :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
14
- <div :style="item.value_style ? item.value_style:''"
15
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
16
- <input class="form-control input_view" style=""
17
- :type="item.type"
18
- v-model="data.fields[index].value"
19
- :placeholder="item.placeholder"
20
- :value="data.fields[index].value"
21
- :readonly="item.readonly"
22
- :disabled="item.disabled"
23
- @change="onchange(index)"
24
- @blur="onblur(index)"
25
- @input="oninput(index)"
26
- />
27
- <span
28
- v-if="item.error&&item.error.msg&&item.error.flag"
29
- style="color: red">{{item.error.msg}}</span>
30
- </div>
31
- </div>
32
- <!--时间datepicker-->
33
- <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
34
- v-if="item.type==='datepicker'"
35
- v-show="!item.hidden"
36
- :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped ? item.bootstraped+' form-group':'col-sm-4 form-group']">
37
- <label
38
- :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label control-label-justify col-sm-6'">{{item.label}}</label>
39
- <div :style="item.value_style ? item.value_style:''"
40
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
41
- <datepicker
42
- @change="onchange(index)"
43
- @blur="onblur(index)"
44
- :placeholder="item.placeholder"
45
- :value.sync="data.fields[index].value"
46
- :format="item.format ? item.format : 'yyyy-MM-dd'"
47
- v-model="data.fields[index].value"
48
- :readonly="item.readonly"
49
- :disabled="item.disabled"
50
- :show-reset-button="reset">
51
- </datepicker>
52
- </div>
53
- <span
54
- v-if="item.error&&item.error.msg&&item.error.flag"
55
- style="color: red">{{item.error.msg}}</span>
56
- </div>
57
-
58
- <!--textarea-->
59
- <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
60
- v-if="item.type==='textarea'" v-show="!item.hidden"
61
- :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped?item.bootstraped+' form-group':'col-sm-12 form-group']">
62
- <label :style="item.label_style ? item.label_style : ''"
63
- :class="item.label_bootstraped ? item.label_bootstraped + ' control-label-justify control-label' : 'control-label-justify control-label col-sm-3'">{{item.label}}</label>
64
- <div :style="item.value_style ? item.value_style:''"
65
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-10'">
66
- <textarea
67
- :readonly="item.readonly"
68
- :disabled="item.disabled"
69
- class="form-control input_view"
70
- style="width: 100%;height: 100%"
71
- :rows="item.rows"
72
- v-model="data.fields[index].value"
73
- :value="data.fields[index].value"
74
- @change="onchange(index)"
75
- @blur="onblur(index)"
76
- @input="oninput(index)"
77
- >
78
- </textarea>
79
- </div>
80
- <span
81
- v-if="item.error&&item.error.msg&&item.error.flag"
82
- style="color: red">{{item.error.msg}}</span>
83
- </div>
84
-
85
- <!--radio-->
86
- <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
87
- v-if="item.type==='radio'"
88
- :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped?item.bootstraped+' form-group':'col-sm-12 form-group']">
89
- <label v-if="item.label"
90
- :class="item.label_bootstraped?item.label_bootstraped+' control-label-justify control-label':'control-label-justify control-label col-sm-2'">{{item.label}}</label>
91
- <div
92
- :style="item.value_style ? item.value_style:''"
93
- :class="item.value_bootstraped?item.value_bootstraped:item.items.length%2 == 0?'col-sm-5': 'col-sm-3'"
94
- v-for="(index2,row) in item.items">
95
- <label :for="row.label"
96
- :class="item.items.length%2 == 0?'col-sm-3 control-label': 'col-sm-2 control-label'">{{row.label}}</label>
97
- <input @blur="onblur(index)"
98
- :class="item.items.length%2 == 0?'col-sm-3 control-label': 'col-sm-2 control-label'"
99
- :readonly="item.readonly" :disabled="item.disabled" style="margin-top: 10px" type="radio"
100
- :name="index" :id="row.label" v-bind:value="data.fields[index].items[index2].value"
101
- v-model="data.fields[index].value">
102
- </div>
103
- <span
104
- v-if="item.error&&item.error.msg&&item.error.flag"
105
- style="color: red">{{item.error.msg}}</span>
106
- </div>
107
-
108
- <!--select-->
109
- <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
110
- v-if="item.type==='select'" v-show="!item.hidden"
111
- :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped?item.bootstraped+' form-group':'col-sm-4 form-group']">
112
- <label
113
- :class="item.label_bootstraped ? item.label_bootstraped+' control-label control-label-justify':'control-label-justify control-label col-sm-6'">{{item.label}}</label>
114
- <div :style="item.value_style ? item.value_style:''"
115
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
116
- <input-select
117
- class="select select_list"
118
- @blur="onblur(index)"
119
- @change="onchange(index)"
120
- :readonly="item.readonly"
121
- :disable="item.disabled"
122
- :value.sync="data.fields[index].value"
123
- v-model="data.fields[index].value"
124
- :options='data.fields[index].options'
125
- :valueSingle="true"></input-select>
126
- </div>
127
- <span
128
- v-if="item.error&&item.error.msg&&item.error.flag"
129
- style="color: red">{{item.error.msg}}</span>
130
- </div>
131
-
132
- <!--checkbox-->
133
- <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
134
- v-if="item.type==='checkbox'"
135
- :class="[item.required&&!(item.value) ? 'has-error' : '',item.bootstraped?item.bootstraped+' form-group':'col-sm-12 form-group']">
136
- <label v-if="item.label"
137
- :class="item.label_bootstraped?item.label_bootstraped+' control-label ':'control-label col-sm-2'">{{item.label}}</label>
138
- <div style="margin-top: 6px"
139
- :class="item.value_bootstraped?item.value_bootstraped:'control-label col-sm-2'"
140
- v-for="(index2,row) in item.items">
141
- <label class="font-size form-group col-sm-6">{{row.label}}</label>
142
- <input :readonly="item.readonly" :disabled="item.disabled" type="checkbox" class="col-sm-6"
143
- :id="row.label" v-model="data.fields[index].items[index2].value" @blur="onblur(index)" >
144
- </div>
145
- </div>
146
- </div>
147
- </div>
148
- <!-- onetomany -->
149
- <div class="" v-for="(i,item) in data.onetomany" style="overflow:auto;width:100%">
150
- <table v-show="!item.hidden" class="table table-bordered table-striped table-hover" style="white-space:nowrap">
151
- <tr>
152
- <th>序号</th>
153
- <th v-for="field in item.fields" v-if="!field.displayPosition || field.displayPosition === '*' || field.displayPosition === 'list'">
154
- <nobr>{{field.label}}</nobr>
155
- </th>
156
- <th v-if="!item.hiddenOperate">
157
- <button type="button" @click="add(i)" class="btn btn-info"
158
- v-if="showprint && !item.addHidden">
159
- <span v-if="item.addText === 'default' || !item.addText" class="glyphicon glyphicon-plus" aria-hidden="true"></span>
160
- <span v-else :style="item.addStyle">{{item.addText}}</span>
161
- </button>
162
- </th>
163
- </tr>
164
- <tr v-for="(j,row) in item.rows" style="">
165
- <td style="text-align: center">{{$index+1}}</td>
166
- <td v-for="key in item.fields" v-if="!key.displayPosition || key.displayPosition === '*' || key.displayPosition === 'list'" style="text-align: center">
167
- {{row[key.field]}}
168
- </td>
169
- <td style="text-align: center" v-if="!item.hiddenOperate">
170
- <span @click="update(i,j)" v-if="showprint && !item.updateHidden">
171
- <span v-if="item.updateText === 'default' || !item.updateText" class="glyphicon glyphicon-wrench" aria-hidden="true"></span>
172
- <span v-else :style="item.updateStyle">{{item.updateText}}</span>
173
- </span>
174
- <span @click="delete(i,j)" v-if="showprint && !item.deleteHidden" style="margin-left: 10px">
175
- <span v-if="item.deleteText === 'default' || !item.deleteText" class="glyphicon glyphicon-trash" aria-hidden="true"></span>
176
- <span v-else :style="item.deleteStyle">{{item.deleteText}}</span>
177
- </span>
178
- </td>
179
- </tr>
180
- </table>
181
- </div>
182
-
183
- <div v-for="(i,item) in data.components">
184
- <component :is="item.name" :selectdata="data" :mark="item.mark" ></component>
185
- </div>
186
-
187
- <!--自定义组件-->
188
- <slot></slot>
189
- <!--公司等属性-->
190
- <div class="col-sm-12 form-group text-center" style="padding-top:8px">
191
- <div class="col-sm-3 form-group center-block">
192
- <label class="col-sm-5">所属公司:</label>
193
- <div class="col-sm-6" style="text-align: left">
194
- {{model.f_filiale}}
195
- </div>
196
- </div>
197
- <div class="col-sm-3 form-group center-block">
198
- <label class="col-sm-5">部门:</label>
199
- <div class="col-sm-6" style="text-align: left">
200
- {{model.f_parentname}}
201
- </div>
202
- </div>
203
- <div class="col-sm-3 form-group center-block">
204
- <label class="col-sm-5">操作人:</label>
205
- <div class="col-sm-6 " style="text-align: left">
206
- {{model.f_operator}}
207
- </div>
208
- </div>
209
- <div class="col-sm-3 form-group center-block">
210
- <label class="col-sm-5">操作日期:</label>
211
- <div class="col-sm-6" style="text-align: left">
212
- {{model.f_operate_date}}
213
- </div>
214
- </div>
215
- </div>
216
-
217
- </form>
218
- </validator>
219
-
220
- <!-- 按钮组 -->
221
- <div class="from-group col-sm-12" style="margin-top: 20px;height: 100px">
222
- <center>
223
- <!-- 按钮组 -->
224
- <button v-for="(index,button) in data.buttons"
225
- :disabled="(button.button_name==='提交'||button.button_name==='下发')&&disable_button" type="button"
226
- @click="clicked(index,button)"
227
- :class="(button.button_name==='提交'||button.button_name==='下发')&&disable_button?'btn btn-default':'btn btn-primary'"
228
- v-if="!button.hidden"
229
- style="min-width:100px; margin-right:50px;">
230
- {{button.button_name}}
231
- </button>
232
- </center>
233
- </div>
234
-
235
- <!-- onetomany模态框 -->
236
- <modal v-if="show" :show.sync="show" backdrop="false" :large="modalSize === 'large' ? true : false" :small="modalSize === 'small' ? true : false">
237
- <header slot="modal-header" class="modal-header">
238
- <button type="button" class="close" @click="closemodal(modeltitle)"><span>&times;</span></button>
239
- <span class="modal-title"><font
240
- size="3">{{modeltitle}}</font></span>
241
- </header>
242
- <article slot="modal-body" class="modal-body clearfix">
243
- <div
244
- :class="[item.required&&!(item.value) ? 'has-error' : '',item.bootstraped?item.bootstraped:'col-sm-12']"
245
- v-for="(index,item) in data.onetomany[onetomany_index].fields" v-if="!item.displayPosition || item.displayPosition === '*' || item.displayPosition === 'from'">
246
- <label v-show="!item.hidden" :class="item.label_bootstraped ? item.label_bootstraped + ' control-label' : 'control-label col-sm-3'" style="margin-top: 10px">{{item.label}}:</label>
247
- <div :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-7'" v-show="!item.hidden">
248
- <!--时间datepicker-->
249
- <datepicker
250
- v-if="item.type=='datepicker'"
251
- @change="onchange_modal(index)"
252
- @blur="onblur_modal(index)"
253
- :placeholder="item.placeholder"
254
- :value.sync="data.onetomany[onetomany_index].fields[index].value"
255
- :format="'yyyy-MM-dd'"
256
- v-model="data.onetomany[onetomany_index].fields[index].value"
257
- :readonly="item.readonly"
258
- :disabled="item.disabled"
259
- :show-reset-button="reset">
260
- </datepicker>
261
- <!--select-->
262
- <input-select
263
- @change="onchange_modal(index)"
264
- v-if="item.type=='select'"
265
- @blur="onblur_modal(index)"
266
- :value.sync="data.onetomany[onetomany_index].fields[index].value"
267
- v-model="data.onetomany[onetomany_index].fields[index].value"
268
- :options='data.onetomany[onetomany_index].fields[index].options'>
269
- </input-select>
270
- <!-- input -->
271
- <input v-if="item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email'"
272
- class="form-control"
273
- :type="item.type"
274
- v-model="data.onetomany[onetomany_index].fields[index].value"
275
- :placeholder="item.placeholder"
276
- :value="data.onetomany[onetomany_index].fields[index].value"
277
- :readonly="item.readonly"
278
- :disabled="item.disabled"
279
- @change="onchange_modal(index)"
280
- @blur="onblur_modal(index)"
281
- @input="oninput_modal(index)"
282
- />
283
- </div>
284
- </div>
285
- </article>
286
- <footer slot="modal-footer" class="modal-footer">
287
- <button :class="disable_button_onetomany?'btn btn-default':'btn btn-primary'"
288
- :disabled="disable_button_onetomany" type="button" @click="confirm_modal(modeltitle)">
289
- 确认
290
- </button>
291
- </footer>
292
- </modal>
293
-
294
- <!-- 按钮模态框 -->
295
- <modal v-if="showbutmodal" :show.sync="showbutmodal" v-ref:modal backdrop="false">
296
- <header slot="modal-header" class="modal-header">
297
- <button type="button" class="close" @click="closemodal('but')"><span>&times;</span></button>
298
- <h4 class="modal-title">{{model.button.button_name}}</h4>
299
- </header>
300
- <article slot="modal-body" class="modal-body">
301
- <div class="col-sm-12" v-for="(index,button) in data.buttons[model.button.button_index].button_fields">
302
- <label class="control-label col-sm-3" style="margin-top: 10px">{{button.label}}:</label>
303
- <div class="col-sm-7">
304
- <!--select-->
305
- <input-select v-if="button.type=='select'"
306
- :value.sync="data.buttons[model.button.button_index].button_fields[index].value"
307
- v-model="data.buttons[model.button.button_index].button_fields[index].value"
308
- :options='button.options'></input-select>
309
- <!-- input -->
310
- <input v-else type="text" class="form-control"
311
- v-model="data.buttons[model.button.button_index].button_fields[index].value"/>
312
- </div>
313
- </div>
314
- </article>
315
- <footer slot="modal-footer" style="border-top:none" class="modal-footer">
316
- <button type="button" class="btn btn-primary" :disabled="disable_button_but" @click='confirm_but_modal()'>确认</button>
317
- </footer>
318
- </modal>
319
- </div>
320
- </template>
321
- <script>
322
- import Vue from 'vue'
323
- import {HttpResetClass, PagedList} from "vue-client";
324
- // Date格式化
325
- Date.prototype.Format = function (fmt) {
326
- var o = {
327
- 'M+': this.getMonth() + 1, // 月份
328
- 'd+': this.getDate(), // 日
329
- 'H+': this.getHours(), // 小时
330
- 'm+': this.getMinutes(), // 分
331
- 's+': this.getSeconds(), // 秒
332
- 'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
333
- 'S': this.getMilliseconds() // 毫秒
334
- }
335
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
336
- for (var k in o) {
337
- if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
338
- }
339
- return fmt
340
- }
341
-
342
- export default {
343
- title: '报建业务通用组件',
344
- props: {
345
- data: {
346
- type: Object
347
- },
348
- showprint: {
349
- type: Boolean,
350
- default: true
351
- }
352
- },
353
- data() {
354
- return {
355
- model: {}, // 公司等属性
356
- disable_button: true, // 控制按钮禁用
357
- show: false, // 控制onetomany模态框
358
- disable_button_onetomany: true, // 控制onetomany模态框按钮
359
- onetomany_index: null, // 当前选择的下标
360
- update_onetomany_index: null, // 当前需要修改的下标
361
- modeltitle: null, // 模态框标题
362
- modalSize: null, // 模态框大小
363
- showbutmodal: false,
364
- showcheck: false,
365
- back: '',
366
- }
367
- },
368
- ready() {
369
- console.log("7777777")
370
- console.log(this.data)
371
- },
372
- watch: {
373
- deep: true,
374
- },
375
- created() {
376
- // 初始化数据
377
- this.initializtion()
378
- this.$dispatch('initializtionView')
379
-
380
- this.disableButton()
381
- },
382
- methods: {
383
- // 按钮模态框确定
384
- confirm_but_modal() {
385
- for (const item of this.data.buttons[this.model.button.button_index].button_fields) {
386
- this.model.button.button_fields[item.field] = item.value
387
- }
388
- this.showbutmodal = false
389
- this.disable_button_but = true
390
- this.$dispatch('button', this.model)
391
- },
392
- // 点击按钮组按钮
393
- async clicked(index, button) {
394
- this.disable_button = true
395
- console.log("this.data")
396
- console.log(this.data)
397
- console.log(button)
398
- // 组织model.fields数据
399
- for (const item of this.data.fields) {
400
- // checkbox特殊处理
401
- if (item.type === 'checkbox') {
402
- for (let j = 0; j < item.items.length; j++) {
403
- this.model[item.items[j].field] = item.items[j].value
404
- }
405
- } else {
406
- this.model[item.field] = item.value
407
- }
408
- }
409
- this.model.f_process_id = this.data.f_process_id
410
-
411
- // 初始化model.button数据
412
- let buttondatas = {
413
- button_fields: {}
414
- }
415
- buttondatas.button_name = button.button_name
416
- buttondatas.button_index = index
417
- if (button.button_fields) {
418
- for (const item of button.button_fields) {
419
- buttondatas.button_fields[item.field] = item.value
420
- }
421
- }
422
- this.model.button = buttondatas
423
- this.model.title = this.data.title
424
- this.model.fields = this.data.fields
425
- this.model.onetomany = this.data.onetomany
426
- if (this.data.defname === '通气点火') {
427
- if (this.data.processname === '工商户报建流程' || this.data.processname === '开发商集体报建流程') {
428
- let http = new HttpResetClass()
429
- let condition = `f_blobid = '${this.data.f_process_id}'`
430
- let res = await http.load('POST', 'rs/sql/singleTable', {
431
- data: {
432
- tablename: 't_files',
433
- condition: condition
434
- }
435
- }, {resolveMsg: null, rejectMsg: null})
436
- console.log("res_________________")
437
- console.log(res)
438
- if (res.data.length === 0) {
439
- this.$showMessage("未上传图纸")
440
- return
441
- }
442
- }
443
- }
444
- // if (this.data.defname === '合同签订') {
445
- // console.log("ddddd",this.data)
446
- // }
447
- // if (this.data.defname === '竣工验收') {
448
- // // if (this.data.processname !== '工商户报建流程') {
449
- // // let t=this.selecteddd
450
- // // let diff = this.all.filter(function (val) {
451
- // // return t.indexOf(val) === -1
452
- // // })
453
- // // console.log("diff", diff)
454
- // // for(let index = 0;index < diff.length; index++){
455
- // // let data = {
456
- // // code:diff[index].f_userinfo_code
457
- // // }
458
- // // console.log("code", data.code)
459
- // // let http = new HttpResetClass()
460
- // // http.load('POST', 'rs/logic/batchcheck', {data:data}, {resolveMsg: null, rejectMsg: null})
461
- // //
462
- // // }
463
- // // }
464
- // }
465
- if (button.button_name === '退回') {
466
- this.showbutmodal = true
467
- } else if (button.button_name === '下发') {
468
- this.showbutmodal = true
469
- } else if (button.button_name === '验收') {
470
- this.showbutmodal = true
471
- } else {
472
- this.$dispatch('button', this.model)
473
- }
474
- },
475
- // 初始化数据
476
- initializtion() {
477
- // 是否禁用按钮
478
- this.disableButton()
479
-
480
- // datepicker 没有值给当时值
481
- for (const item of this.data.fields) {
482
- if (item.type === 'datepicker' && !item.value) {
483
- item.value = new Date().Format('yyyy-MM-dd HH:mm:ss')
484
- }
485
- }
486
- // 公司等属性初始化
487
- if (this.data.filiale) {
488
- this.model.f_filiale = this.data.filiale
489
- } else {
490
- this.model.f_filiale = this.$login.f.orgs
491
- }
492
- if (this.data.f_parentname) {
493
- this.model.f_parentname = this.data.f_parentname
494
- } else {
495
- this.model.f_parentname = this.$login.f.f_department_name
496
- }
497
- if (this.data.operate_date) {
498
- this.model.f_operate_date = this.data.operate_date
499
- } else {
500
- this.model.f_operate_date = new Date().Format('yyyy-MM-dd')
501
- }
502
- if (this.data.operator) {
503
- this.model.f_operator = this.data.operator
504
- } else {
505
- this.model.f_operator = this.$login.f.name
506
- }
507
- },
508
- // 是否禁用按钮
509
- disableButton() {
510
- let fields = this.data.fields
511
-
512
- let flag = false
513
- for (const item of fields) {
514
- if (item.type !== 'checkbox' && item.required && !item.value) {
515
- if (item.value === 0) {
516
- flag = false
517
- } else {
518
- flag = true
519
- }
520
- }
521
- // 任何选择框只要是否都不能提交
522
- if (item.type === 'select' && item.value === '否' && item.disabledButton) {
523
- flag = true
524
- }
525
- }
526
-
527
- let count = 0
528
- for (const item of fields) {
529
- if (item.type !== 'checkbox' && item.required) {
530
- count++
531
- }
532
- }
533
- if (count === 0) {
534
- flag = false
535
- }
536
-
537
- this.disable_button = flag
538
- },
539
- // 失去焦点触发,无论值是否发生变化
540
- onblur(index) {
541
- // 是否禁用按钮
542
- this.disableButton()
543
-
544
- this.$dispatch('onblur', index)
545
- // 如果有错误信息提示走错误信息判断处理
546
-
547
- if (this.data.fields[index].error || this.data.fields[index].type === 'datepicker') {
548
- this.$dispatch('error_check', index)
549
- }
550
- },
551
- // 失去焦点且值最终发生变化触发
552
- onchange(index) {
553
- // 是否禁用按钮
554
- this.disableButton()
555
-
556
- this.data.fields[index].value = this.data.fields[index].value.trim()
557
-
558
- if (this.data.fields[index].prefix && this.data.fields[index].value !== '') {
559
- this.data.fields[index].value = this.data.fields[index].prefix + this.data.fields[index].value
560
- }
561
-
562
- this.data[this.data.fields[index].field] = this.data.fields[index].value
563
-
564
- this.$dispatch('onchange', index)
565
-
566
- // 如果有错误信息提示走错误信息判断处理
567
- if (this.data.fields[index].error || this.data.fields[index].type === 'datepicker') {
568
- this.$dispatch('error_check', index)
569
- }
570
- },
571
- oninput(index) {
572
- // 是否禁用按钮
573
- this.disableButton()
574
-
575
- this.$dispatch('oninput', index)
576
-
577
- // 如果有错误信息提示走错误信息判断处理
578
- if (this.data.fields[index].error || this.data.fields[index].type === 'datepicker') {
579
- this.$dispatch('error_check', index)
580
- }
581
- },
582
- // 模态框确认按钮
583
- confirm_modal(title) {
584
- if (title === '新增') {
585
- if (this.data.onetomany[this.onetomany_index].addEvent === 'default' || !this.data.onetomany[this.onetomany_index].addEvent) {
586
- this.$dispatch('onetomanyadd', this.onetomany_index)
587
- } else {
588
- this.$dispatch(this.data.onetomany[this.onetomany_index].addEvent, this.onetomany_index)
589
- }
590
- } else {
591
- if (this.data.onetomany[this.onetomany_index].updateEvent === 'default' || !this.data.onetomany[this.onetomany_index].updateEvent) {
592
- this.$dispatch('onetomanyupdate', this.onetomany_index, this.update_onetomany_index)
593
- } else {
594
- this.$dispatch(this.data.onetomany[this.onetomany_index].updateEvent, this.onetomany_index, this.update_onetomany_index)
595
- }
596
- }
597
-
598
- this.closemodal()
599
- },
600
- // 删除
601
- delete(i, j) {
602
- this.$showMessage((this.data.onetomany[i].deleteMessage === 'default' || !this.data.onetomany[i].deleteMessage) ? '您确定要删除这条记录吗?' : this.data.onetomany[i].deleteMessage, ['confirm']).then((res) => {
603
- if (res === 'confirm') {
604
- if (this.data.onetomany[i].deleteEvent === 'default' || !this.data.onetomany[i].deleteEvent) {
605
- this.$dispatch('onetomanydelete', i, j)
606
- } else {
607
- this.$dispatch(this.data.onetomany[i].deleteEvent, i, j)
608
- }
609
- }
610
- })
611
- },
612
- // 修改
613
- update(i, j) {
614
- let onetomany = this.data.onetomany[i]
615
- let item = this.data.onetomany[i].rows[j]
616
- let count = 0
617
- for (let k = 0; k < onetomany.fields.length; k++) {
618
- // 防止初始化的时候没有value
619
- Vue.set(this.data.onetomany[i].fields[k], 'value', item[this.data.onetomany[i].fields[k].field])
620
-
621
- if (onetomany.fields[j].required) {
622
- count++
623
- }
624
- }
625
- if (count === 0) {
626
- this.disable_button_onetomany = false
627
- }
628
- this.modeltitle = '修改'
629
- this.modalSize = this.data.onetomany[i].modalSize
630
- this.onetomany_index = i
631
- this.update_onetomany_index = j
632
-
633
- this.$dispatch('openUpdateModel', i, j)
634
-
635
- this.show = true
636
- },
637
- // 添加
638
- add(index) {
639
- let count = 0
640
- for (const item of this.data.onetomany[index].fields) {
641
- if (item.type === 'datepicker') {
642
- item.value = new Date().Format('yyyy-MM-dd')
643
- }
644
- if (item.required) {
645
- count++
646
- }
647
- }
648
-
649
- if (count === 0) {
650
- this.disable_button_onetomany = false
651
- }
652
- this.modeltitle = '新增'
653
- this.modalSize = this.data.onetomany[index].modalSize
654
- this.onetomany_index = index
655
-
656
- this.$dispatch('openAddModel', index)
657
-
658
- this.show = true
659
- },
660
- // 关闭模态框
661
- closemodal(val) {
662
- if (val === 'but') {
663
- this.disableButton()
664
- this.showbutmodal = false
665
- return
666
- }
667
- for (const item of this.data.onetomany[this.onetomany_index].fields) {
668
- item.value = ''
669
- }
670
- this.show = false
671
- this.disable_button_onetomany = true
672
- this.onetomany_index = null
673
- this.update_onetomany_index = null
674
- this.modeltitle = null
675
- this.modalSize = null
676
- },
677
- // 是否禁用模态框按钮
678
- disableModalButton() {
679
- let fields = this.data.onetomany[this.onetomany_index].fields
680
-
681
- let flag = false
682
- for (const item of fields) {
683
- if (item.type !== 'checkbox' && item.required && !item.value) {
684
- if (item.value === 0) {
685
- flag = false
686
- } else {
687
- flag = true
688
- }
689
- }
690
- }
691
-
692
- let count = 0
693
- for (const item of fields) {
694
- if (item.type !== 'checkbox' && item.required) {
695
- count++
696
- }
697
- }
698
- if (count === 0) {
699
- flag = false
700
- }
701
- this.disable_button_onetomany = flag
702
- },
703
- // 监听模态框属性失去焦点
704
- onchange_modal(index) {
705
- this.disableModalButton()
706
- this.$dispatch('onchange_modal', this.onetomany_index, index)
707
- },
708
- // 监听模态框属性失去焦点
709
- onblur_modal(index) {
710
- this.disableModalButton()
711
- this.$dispatch('onblur_modal', this.onetomany_index, index)
712
- },
713
- // input输入属性值发生变化监听
714
- oninput_modal(index) {
715
- this.disableModalButton()
716
- this.$dispatch('oninput_modal', this.onetomany_index, index)
717
- }
718
- }
719
- }
720
- </script>
721
- <style>
722
- .datepicker{
723
- width: 100%!important;
724
- }
725
- .datepicker-input{
726
- background-color: #ffffff!important;
727
- width: 100%!important;
728
- }
729
- .datepicker-input:disabled{
730
- border: 1px solid #DDD!important;
731
- color: #ACA899!important;
732
- width: 100%!important;
733
- }
734
- </style>
735
- <style scoped>
736
- th{
737
- font-size: 15px !important;
738
- text-align: center !important;
739
- background-color: #dfedfb!important;
740
- color: #666666 !important;
741
- font-family: PINGFANG-BOLD !important;
742
- font-weight: normal!important;
743
- }
744
- /*清除model中的浮动*/
745
- .clearfix:after,.clearfix:before{
746
- display: table;
747
- }
748
- .clearfix:after{
749
- clear: both;
750
- }
751
-
752
- .input_view{
753
- padding: 8px;
754
- background-color: #ffffff;
755
- border-radius: 2px;
756
- border: solid 1px #c7c7c7!important;
757
- color: #333333!important;
758
- font-size: 15px!important;
759
- }
760
-
761
- .input_view[readonly]{
762
- border: 1px solid #DDD!important;
763
- /*background-color: #F5F5F5;*/
764
- color:#ACA899!important;
765
- }
766
- .input_view:disabled{
767
- border: 1px solid #DDD!important;
768
- /*background-color: #F5F5F5;*/
769
- color:#ACA899!important;
770
- }
771
-
772
- .control-label-justify {
773
- display: inline-block;
774
- vertical-align: top;
775
- width: 110px;
776
- text-align: justify;
777
- font-family: PingFang-SC-Bold;
778
- }
779
-
780
- .control-label-justify::after {
781
- content: "";
782
- display: inline-block;
783
- width: 70px;
784
- overflow: hidden;
785
- height: 0;
786
- }
787
-
788
- input::-webkit-outer-spin-button,
789
- input::-webkit-inner-spin-button {
790
- -webkit-appearance: none;
791
- }
792
-
793
- input[type="number"] {
794
- -moz-appearance: textfield;
795
- }
796
-
797
- </style>
1
+ <template>
2
+ <div class="select-overspread" style="background-color: #ffffff;padding: 20px;overflow: scroll">
3
+ <validator name="v">
4
+ <form class="form-horizontal">
5
+ <div class="form-group">
6
+ <div v-for="(index,item) in data.fields" style="">
7
+ <!--input-->
8
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
9
+ v-if="item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email'"
10
+ v-show="!item.hidden"
11
+ :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
12
+ <label :style="item.label_style ? item.label_style : ''"
13
+ :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
14
+ <div :style="item.value_style ? item.value_style:''"
15
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
16
+ <input class="form-control input_view" style=""
17
+ :type="item.type"
18
+ v-model="data.fields[index].value"
19
+ :placeholder="item.placeholder"
20
+ :value="data.fields[index].value"
21
+ :readonly="item.readonly"
22
+ :disabled="item.disabled"
23
+ @change="onchange(index)"
24
+ @blur="onblur(index)"
25
+ @input="oninput(index)"
26
+ />
27
+ <span
28
+ v-if="item.error&&item.error.msg&&item.error.flag"
29
+ style="color: red">{{item.error.msg}}</span>
30
+ </div>
31
+ </div>
32
+ <!--时间datepicker-->
33
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
34
+ v-if="item.type==='datepicker'"
35
+ v-show="!item.hidden"
36
+ :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped ? item.bootstraped+' form-group':'col-sm-4 form-group']">
37
+ <label
38
+ :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label control-label-justify col-sm-6'">{{item.label}}</label>
39
+ <div :style="item.value_style ? item.value_style:''"
40
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
41
+ <datepicker
42
+ @change="onchange(index)"
43
+ @blur="onblur(index)"
44
+ :placeholder="item.placeholder"
45
+ :value.sync="data.fields[index].value"
46
+ :format="item.format ? item.format : 'yyyy-MM-dd'"
47
+ v-model="data.fields[index].value"
48
+ :readonly="item.readonly"
49
+ :disabled="item.disabled"
50
+ :show-reset-button="reset">
51
+ </datepicker>
52
+ </div>
53
+ <span
54
+ v-if="item.error&&item.error.msg&&item.error.flag"
55
+ style="color: red">{{item.error.msg}}</span>
56
+ </div>
57
+
58
+ <!--textarea-->
59
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
60
+ v-if="item.type==='textarea'" v-show="!item.hidden"
61
+ :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped?item.bootstraped+' form-group':'col-sm-12 form-group']">
62
+ <label :style="item.label_style ? item.label_style : ''"
63
+ :class="item.label_bootstraped ? item.label_bootstraped + ' control-label-justify control-label' : 'control-label-justify control-label col-sm-3'">{{item.label}}</label>
64
+ <div :style="item.value_style ? item.value_style:''"
65
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-10'">
66
+ <textarea
67
+ :readonly="item.readonly"
68
+ :disabled="item.disabled"
69
+ class="form-control input_view"
70
+ style="width: 100%;height: 100%"
71
+ :rows="item.rows"
72
+ v-model="data.fields[index].value"
73
+ :value="data.fields[index].value"
74
+ @change="onchange(index)"
75
+ @blur="onblur(index)"
76
+ @input="oninput(index)"
77
+ >
78
+ </textarea>
79
+ </div>
80
+ <span
81
+ v-if="item.error&&item.error.msg&&item.error.flag"
82
+ style="color: red">{{item.error.msg}}</span>
83
+ </div>
84
+
85
+ <!--radio-->
86
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
87
+ v-if="item.type==='radio'"
88
+ :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped?item.bootstraped+' form-group':'col-sm-12 form-group']">
89
+ <label v-if="item.label"
90
+ :class="item.label_bootstraped?item.label_bootstraped+' control-label-justify control-label':'control-label-justify control-label col-sm-2'">{{item.label}}</label>
91
+ <div
92
+ :style="item.value_style ? item.value_style:''"
93
+ :class="item.value_bootstraped?item.value_bootstraped:item.items.length%2 == 0?'col-sm-5': 'col-sm-3'"
94
+ v-for="(index2,row) in item.items">
95
+ <label :for="row.label"
96
+ :class="item.items.length%2 == 0?'col-sm-3 control-label': 'col-sm-2 control-label'">{{row.label}}</label>
97
+ <input @blur="onblur(index)"
98
+ :class="item.items.length%2 == 0?'col-sm-3 control-label': 'col-sm-2 control-label'"
99
+ :readonly="item.readonly" :disabled="item.disabled" style="margin-top: 10px" type="radio"
100
+ :name="index" :id="row.label" v-bind:value="data.fields[index].items[index2].value"
101
+ v-model="data.fields[index].value">
102
+ </div>
103
+ <span
104
+ v-if="item.error&&item.error.msg&&item.error.flag"
105
+ style="color: red">{{item.error.msg}}</span>
106
+ </div>
107
+
108
+ <!--select-->
109
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
110
+ v-if="item.type==='select'" v-show="!item.hidden"
111
+ :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped?item.bootstraped+' form-group':'col-sm-4 form-group']">
112
+ <label
113
+ :class="item.label_bootstraped ? item.label_bootstraped+' control-label control-label-justify':'control-label-justify control-label col-sm-6'">{{item.label}}</label>
114
+ <div :style="item.value_style ? item.value_style:''"
115
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
116
+ <input-select
117
+ class="select select_list"
118
+ @blur="onblur(index)"
119
+ @change="onchange(index)"
120
+ :readonly="item.readonly"
121
+ :disable="item.disabled"
122
+ :value.sync="data.fields[index].value"
123
+ v-model="data.fields[index].value"
124
+ :options='data.fields[index].options'
125
+ :valueSingle="true"></input-select>
126
+ </div>
127
+ <span
128
+ v-if="item.error&&item.error.msg&&item.error.flag"
129
+ style="color: red">{{item.error.msg}}</span>
130
+ </div>
131
+
132
+ <!--checkbox-->
133
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
134
+ v-if="item.type==='checkbox'"
135
+ :class="[item.required&&!(item.value) ? 'has-error' : '',item.bootstraped?item.bootstraped+' form-group':'col-sm-12 form-group']">
136
+ <label v-if="item.label"
137
+ :class="item.label_bootstraped?item.label_bootstraped+' control-label ':'control-label col-sm-2'">{{item.label}}</label>
138
+ <div style="margin-top: 6px"
139
+ :class="item.value_bootstraped?item.value_bootstraped:'control-label col-sm-2'"
140
+ v-for="(index2,row) in item.items">
141
+ <label class="font-size form-group col-sm-6">{{row.label}}</label>
142
+ <input :readonly="item.readonly" :disabled="item.disabled" type="checkbox" class="col-sm-6"
143
+ :id="row.label" v-model="data.fields[index].items[index2].value" @blur="onblur(index)" >
144
+ </div>
145
+ </div>
146
+ </div>
147
+ </div>
148
+ <!-- onetomany -->
149
+ <div class="" v-for="(i,item) in data.onetomany" style="overflow:auto;width:100%">
150
+ <table v-show="!item.hidden" class="table table-bordered table-striped table-hover" style="white-space:nowrap">
151
+ <tr>
152
+ <th>序号</th>
153
+ <th v-for="field in item.fields" v-if="!field.displayPosition || field.displayPosition === '*' || field.displayPosition === 'list'">
154
+ <nobr>{{field.label}}</nobr>
155
+ </th>
156
+ <th v-if="!item.hiddenOperate">
157
+ <button type="button" @click="add(i)" class="btn btn-info"
158
+ v-if="showprint && !item.addHidden">
159
+ <span v-if="item.addText === 'default' || !item.addText" class="glyphicon glyphicon-plus" aria-hidden="true"></span>
160
+ <span v-else :style="item.addStyle">{{item.addText}}</span>
161
+ </button>
162
+ </th>
163
+ </tr>
164
+ <tr v-for="(j,row) in item.rows" style="">
165
+ <td style="text-align: center">{{$index+1}}</td>
166
+ <td v-for="key in item.fields" v-if="!key.displayPosition || key.displayPosition === '*' || key.displayPosition === 'list'" style="text-align: center">
167
+ {{row[key.field]}}
168
+ </td>
169
+ <td style="text-align: center" v-if="!item.hiddenOperate">
170
+ <span @click="update(i,j)" v-if="showprint && !item.updateHidden">
171
+ <span v-if="item.updateText === 'default' || !item.updateText" class="glyphicon glyphicon-wrench" aria-hidden="true"></span>
172
+ <span v-else :style="item.updateStyle">{{item.updateText}}</span>
173
+ </span>
174
+ <span @click="delete(i,j)" v-if="showprint && !item.deleteHidden" style="margin-left: 10px">
175
+ <span v-if="item.deleteText === 'default' || !item.deleteText" class="glyphicon glyphicon-trash" aria-hidden="true"></span>
176
+ <span v-else :style="item.deleteStyle">{{item.deleteText}}</span>
177
+ </span>
178
+ </td>
179
+ </tr>
180
+ </table>
181
+ </div>
182
+
183
+ <div v-for="(i,item) in data.components">
184
+ <component :is="item.name" :selectdata="data" :mark="item.mark" ></component>
185
+ </div>
186
+
187
+ <!--自定义组件-->
188
+ <slot></slot>
189
+ <!--公司等属性-->
190
+ <div class="col-sm-12 form-group text-center" style="padding-top:8px">
191
+ <div class="col-sm-3 form-group center-block">
192
+ <label class="col-sm-5">所属公司:</label>
193
+ <div class="col-sm-6" style="text-align: left">
194
+ {{model.f_filiale}}
195
+ </div>
196
+ </div>
197
+ <div class="col-sm-3 form-group center-block">
198
+ <label class="col-sm-5">部门:</label>
199
+ <div class="col-sm-6" style="text-align: left">
200
+ {{model.f_parentname}}
201
+ </div>
202
+ </div>
203
+ <div class="col-sm-3 form-group center-block">
204
+ <label class="col-sm-5">操作人:</label>
205
+ <div class="col-sm-6 " style="text-align: left">
206
+ {{model.f_operator}}
207
+ </div>
208
+ </div>
209
+ <div class="col-sm-3 form-group center-block">
210
+ <label class="col-sm-5">操作日期:</label>
211
+ <div class="col-sm-6" style="text-align: left">
212
+ {{model.f_operate_date}}
213
+ </div>
214
+ </div>
215
+ </div>
216
+
217
+ </form>
218
+ </validator>
219
+
220
+ <!-- 按钮组 -->
221
+ <div class="from-group col-sm-12" style="margin-top: 20px;height: 100px">
222
+ <center>
223
+ <!-- 按钮组 -->
224
+ <button v-for="(index,button) in data.buttons"
225
+ :disabled="(button.button_name==='提交'||button.button_name==='下发')&&disable_button" type="button"
226
+ @click="clicked(index,button)"
227
+ :class="(button.button_name==='提交'||button.button_name==='下发')&&disable_button?'btn btn-default':'btn btn-primary'"
228
+ v-if="!button.hidden"
229
+ style="min-width:100px; margin-right:50px;">
230
+ {{button.button_name}}
231
+ </button>
232
+ </center>
233
+ </div>
234
+
235
+ <!-- onetomany模态框 -->
236
+ <modal v-if="show" :show.sync="show" backdrop="false" :large="modalSize === 'large' ? true : false" :small="modalSize === 'small' ? true : false">
237
+ <header slot="modal-header" class="modal-header">
238
+ <button type="button" class="close" @click="closemodal(modeltitle)"><span>&times;</span></button>
239
+ <span class="modal-title"><font
240
+ size="3">{{modeltitle}}</font></span>
241
+ </header>
242
+ <article slot="modal-body" class="modal-body clearfix">
243
+ <div
244
+ :class="[item.required&&!(item.value) ? 'has-error' : '',item.bootstraped?item.bootstraped:'col-sm-12']"
245
+ v-for="(index,item) in data.onetomany[onetomany_index].fields" v-if="!item.displayPosition || item.displayPosition === '*' || item.displayPosition === 'from'">
246
+ <label v-show="!item.hidden" :class="item.label_bootstraped ? item.label_bootstraped + ' control-label' : 'control-label col-sm-3'" style="margin-top: 10px">{{item.label}}:</label>
247
+ <div :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-7'" v-show="!item.hidden">
248
+ <!--时间datepicker-->
249
+ <datepicker
250
+ v-if="item.type=='datepicker'"
251
+ @change="onchange_modal(index)"
252
+ @blur="onblur_modal(index)"
253
+ :placeholder="item.placeholder"
254
+ :value.sync="data.onetomany[onetomany_index].fields[index].value"
255
+ :format="'yyyy-MM-dd'"
256
+ v-model="data.onetomany[onetomany_index].fields[index].value"
257
+ :readonly="item.readonly"
258
+ :disabled="item.disabled"
259
+ :show-reset-button="reset">
260
+ </datepicker>
261
+ <!--select-->
262
+ <input-select
263
+ @change="onchange_modal(index)"
264
+ v-if="item.type=='select'"
265
+ @blur="onblur_modal(index)"
266
+ :value.sync="data.onetomany[onetomany_index].fields[index].value"
267
+ v-model="data.onetomany[onetomany_index].fields[index].value"
268
+ :options='data.onetomany[onetomany_index].fields[index].options'>
269
+ </input-select>
270
+ <!-- input -->
271
+ <input v-if="item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email'"
272
+ class="form-control"
273
+ :type="item.type"
274
+ v-model="data.onetomany[onetomany_index].fields[index].value"
275
+ :placeholder="item.placeholder"
276
+ :value="data.onetomany[onetomany_index].fields[index].value"
277
+ :readonly="item.readonly"
278
+ :disabled="item.disabled"
279
+ @change="onchange_modal(index)"
280
+ @blur="onblur_modal(index)"
281
+ @input="oninput_modal(index)"
282
+ />
283
+ </div>
284
+ </div>
285
+ </article>
286
+ <footer slot="modal-footer" class="modal-footer">
287
+ <button :class="disable_button_onetomany?'btn btn-default':'btn btn-primary'"
288
+ :disabled="disable_button_onetomany" type="button" @click="confirm_modal(modeltitle)">
289
+ 确认
290
+ </button>
291
+ </footer>
292
+ </modal>
293
+
294
+ <!-- 按钮模态框 -->
295
+ <modal v-if="showbutmodal" :show.sync="showbutmodal" v-ref:modal backdrop="false">
296
+ <header slot="modal-header" class="modal-header">
297
+ <button type="button" class="close" @click="closemodal('but')"><span>&times;</span></button>
298
+ <h4 class="modal-title">{{model.button.button_name}}</h4>
299
+ </header>
300
+ <article slot="modal-body" class="modal-body">
301
+ <div class="col-sm-12" v-for="(index,button) in data.buttons[model.button.button_index].button_fields">
302
+ <label class="control-label col-sm-3" style="margin-top: 10px">{{button.label}}:</label>
303
+ <div class="col-sm-7">
304
+ <!--select-->
305
+ <input-select v-if="button.type=='select'"
306
+ :value.sync="data.buttons[model.button.button_index].button_fields[index].value"
307
+ v-model="data.buttons[model.button.button_index].button_fields[index].value"
308
+ :options='button.options'></input-select>
309
+ <!-- input -->
310
+ <input v-else type="text" class="form-control"
311
+ v-model="data.buttons[model.button.button_index].button_fields[index].value"/>
312
+ </div>
313
+ </div>
314
+ </article>
315
+ <footer slot="modal-footer" style="border-top:none" class="modal-footer">
316
+ <button type="button" class="btn btn-primary" :disabled="disable_button_but" @click='confirm_but_modal()'>确认</button>
317
+ </footer>
318
+ </modal>
319
+ </div>
320
+ </template>
321
+ <script>
322
+ import Vue from 'vue'
323
+ import {HttpResetClass, PagedList} from "vue-client";
324
+ // Date格式化
325
+ Date.prototype.Format = function (fmt) {
326
+ var o = {
327
+ 'M+': this.getMonth() + 1, // 月份
328
+ 'd+': this.getDate(), // 日
329
+ 'H+': this.getHours(), // 小时
330
+ 'm+': this.getMinutes(), // 分
331
+ 's+': this.getSeconds(), // 秒
332
+ 'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
333
+ 'S': this.getMilliseconds() // 毫秒
334
+ }
335
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
336
+ for (var k in o) {
337
+ if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
338
+ }
339
+ return fmt
340
+ }
341
+
342
+ export default {
343
+ title: '报建业务通用组件',
344
+ props: {
345
+ data: {
346
+ type: Object
347
+ },
348
+ showprint: {
349
+ type: Boolean,
350
+ default: true
351
+ }
352
+ },
353
+ data() {
354
+ return {
355
+ model: {}, // 公司等属性
356
+ disable_button: true, // 控制按钮禁用
357
+ show: false, // 控制onetomany模态框
358
+ disable_button_onetomany: true, // 控制onetomany模态框按钮
359
+ onetomany_index: null, // 当前选择的下标
360
+ update_onetomany_index: null, // 当前需要修改的下标
361
+ modeltitle: null, // 模态框标题
362
+ modalSize: null, // 模态框大小
363
+ showbutmodal: false,
364
+ showcheck: false,
365
+ back: '',
366
+ }
367
+ },
368
+ ready() {
369
+ console.log("7777777")
370
+ console.log(this.data)
371
+ },
372
+ watch: {
373
+ deep: true,
374
+ },
375
+ created() {
376
+ // 初始化数据
377
+ this.initializtion()
378
+ this.$dispatch('initializtionView')
379
+
380
+ this.disableButton()
381
+ },
382
+ methods: {
383
+ // 按钮模态框确定
384
+ confirm_but_modal() {
385
+ for (const item of this.data.buttons[this.model.button.button_index].button_fields) {
386
+ this.model.button.button_fields[item.field] = item.value
387
+ }
388
+ this.showbutmodal = false
389
+ this.disable_button_but = true
390
+ this.$dispatch('button', this.model)
391
+ },
392
+ // 点击按钮组按钮
393
+ async clicked(index, button) {
394
+ this.disable_button = true
395
+ console.log("this.data")
396
+ console.log(this.data)
397
+ console.log(button)
398
+ // 组织model.fields数据
399
+ for (const item of this.data.fields) {
400
+ // checkbox特殊处理
401
+ if (item.type === 'checkbox') {
402
+ for (let j = 0; j < item.items.length; j++) {
403
+ this.model[item.items[j].field] = item.items[j].value
404
+ }
405
+ } else {
406
+ this.model[item.field] = item.value
407
+ }
408
+ }
409
+ this.model.f_process_id = this.data.f_process_id
410
+
411
+ // 初始化model.button数据
412
+ let buttondatas = {
413
+ button_fields: {}
414
+ }
415
+ buttondatas.button_name = button.button_name
416
+ buttondatas.button_index = index
417
+ if (button.button_fields) {
418
+ for (const item of button.button_fields) {
419
+ buttondatas.button_fields[item.field] = item.value
420
+ }
421
+ }
422
+ this.model.button = buttondatas
423
+ this.model.title = this.data.title
424
+ this.model.fields = this.data.fields
425
+ this.model.onetomany = this.data.onetomany
426
+ if (this.data.defname === '通气点火') {
427
+ if (this.data.processname === '工商户报建流程' || this.data.processname === '开发商集体报建流程') {
428
+ let http = new HttpResetClass()
429
+ let condition = `f_blobid = '${this.data.f_process_id}'`
430
+ let res = await http.load('POST', 'rs/sql/singleTable', {
431
+ data: {
432
+ tablename: 't_files',
433
+ condition: condition
434
+ }
435
+ }, {resolveMsg: null, rejectMsg: null})
436
+ console.log("res_________________")
437
+ console.log(res)
438
+ if (res.data.length === 0) {
439
+ this.$showMessage("未上传图纸")
440
+ return
441
+ }
442
+ }
443
+ }
444
+ // if (this.data.defname === '合同签订') {
445
+ // console.log("ddddd",this.data)
446
+ // }
447
+ // if (this.data.defname === '竣工验收') {
448
+ // // if (this.data.processname !== '工商户报建流程') {
449
+ // // let t=this.selecteddd
450
+ // // let diff = this.all.filter(function (val) {
451
+ // // return t.indexOf(val) === -1
452
+ // // })
453
+ // // console.log("diff", diff)
454
+ // // for(let index = 0;index < diff.length; index++){
455
+ // // let data = {
456
+ // // code:diff[index].f_userinfo_code
457
+ // // }
458
+ // // console.log("code", data.code)
459
+ // // let http = new HttpResetClass()
460
+ // // http.load('POST', 'rs/logic/batchcheck', {data:data}, {resolveMsg: null, rejectMsg: null})
461
+ // //
462
+ // // }
463
+ // // }
464
+ // }
465
+ if (button.button_name === '退回') {
466
+ this.showbutmodal = true
467
+ } else if (button.button_name === '下发') {
468
+ this.showbutmodal = true
469
+ } else if (button.button_name === '验收') {
470
+ this.showbutmodal = true
471
+ } else {
472
+ this.$dispatch('button', this.model)
473
+ }
474
+ },
475
+ // 初始化数据
476
+ initializtion() {
477
+ // 是否禁用按钮
478
+ this.disableButton()
479
+
480
+ // datepicker 没有值给当时值
481
+ for (const item of this.data.fields) {
482
+ if (item.type === 'datepicker' && !item.value) {
483
+ item.value = new Date().Format('yyyy-MM-dd HH:mm:ss')
484
+ }
485
+ }
486
+ // 公司等属性初始化
487
+ if (this.data.filiale) {
488
+ this.model.f_filiale = this.data.filiale
489
+ } else {
490
+ this.model.f_filiale = this.$login.f.orgs
491
+ }
492
+ if (this.data.f_parentname) {
493
+ this.model.f_parentname = this.data.f_parentname
494
+ } else {
495
+ this.model.f_parentname = this.$login.f.f_department_name
496
+ }
497
+ if (this.data.operate_date) {
498
+ this.model.f_operate_date = this.data.operate_date
499
+ } else {
500
+ this.model.f_operate_date = new Date().Format('yyyy-MM-dd')
501
+ }
502
+ if (this.data.operator) {
503
+ this.model.f_operator = this.data.operator
504
+ } else {
505
+ this.model.f_operator = this.$login.f.name
506
+ }
507
+ },
508
+ // 是否禁用按钮
509
+ disableButton() {
510
+ let fields = this.data.fields
511
+
512
+ let flag = false
513
+ for (const item of fields) {
514
+ if (item.type !== 'checkbox' && item.required && !item.value) {
515
+ if (item.value === 0) {
516
+ flag = false
517
+ } else {
518
+ flag = true
519
+ }
520
+ }
521
+ // 任何选择框只要是否都不能提交
522
+ if (item.type === 'select' && item.value === '否' && item.disabledButton) {
523
+ flag = true
524
+ }
525
+ }
526
+
527
+ let count = 0
528
+ for (const item of fields) {
529
+ if (item.type !== 'checkbox' && item.required) {
530
+ count++
531
+ }
532
+ }
533
+ if (count === 0) {
534
+ flag = false
535
+ }
536
+
537
+ this.disable_button = flag
538
+ },
539
+ // 失去焦点触发,无论值是否发生变化
540
+ onblur(index) {
541
+ // 是否禁用按钮
542
+ this.disableButton()
543
+
544
+ this.$dispatch('onblur', index)
545
+ // 如果有错误信息提示走错误信息判断处理
546
+
547
+ if (this.data.fields[index].error || this.data.fields[index].type === 'datepicker') {
548
+ this.$dispatch('error_check', index)
549
+ }
550
+ },
551
+ // 失去焦点且值最终发生变化触发
552
+ onchange(index) {
553
+ // 是否禁用按钮
554
+ this.disableButton()
555
+
556
+ this.data.fields[index].value = this.data.fields[index].value.trim()
557
+
558
+ if (this.data.fields[index].prefix && this.data.fields[index].value !== '') {
559
+ this.data.fields[index].value = this.data.fields[index].prefix + this.data.fields[index].value
560
+ }
561
+
562
+ this.data[this.data.fields[index].field] = this.data.fields[index].value
563
+
564
+ this.$dispatch('onchange', index)
565
+
566
+ // 如果有错误信息提示走错误信息判断处理
567
+ if (this.data.fields[index].error || this.data.fields[index].type === 'datepicker') {
568
+ this.$dispatch('error_check', index)
569
+ }
570
+ },
571
+ oninput(index) {
572
+ // 是否禁用按钮
573
+ this.disableButton()
574
+
575
+ this.$dispatch('oninput', index)
576
+
577
+ // 如果有错误信息提示走错误信息判断处理
578
+ if (this.data.fields[index].error || this.data.fields[index].type === 'datepicker') {
579
+ this.$dispatch('error_check', index)
580
+ }
581
+ },
582
+ // 模态框确认按钮
583
+ confirm_modal(title) {
584
+ if (title === '新增') {
585
+ if (this.data.onetomany[this.onetomany_index].addEvent === 'default' || !this.data.onetomany[this.onetomany_index].addEvent) {
586
+ this.$dispatch('onetomanyadd', this.onetomany_index)
587
+ } else {
588
+ this.$dispatch(this.data.onetomany[this.onetomany_index].addEvent, this.onetomany_index)
589
+ }
590
+ } else {
591
+ if (this.data.onetomany[this.onetomany_index].updateEvent === 'default' || !this.data.onetomany[this.onetomany_index].updateEvent) {
592
+ this.$dispatch('onetomanyupdate', this.onetomany_index, this.update_onetomany_index)
593
+ } else {
594
+ this.$dispatch(this.data.onetomany[this.onetomany_index].updateEvent, this.onetomany_index, this.update_onetomany_index)
595
+ }
596
+ }
597
+
598
+ this.closemodal()
599
+ },
600
+ // 删除
601
+ delete(i, j) {
602
+ this.$showMessage((this.data.onetomany[i].deleteMessage === 'default' || !this.data.onetomany[i].deleteMessage) ? '您确定要删除这条记录吗?' : this.data.onetomany[i].deleteMessage, ['confirm']).then((res) => {
603
+ if (res === 'confirm') {
604
+ if (this.data.onetomany[i].deleteEvent === 'default' || !this.data.onetomany[i].deleteEvent) {
605
+ this.$dispatch('onetomanydelete', i, j)
606
+ } else {
607
+ this.$dispatch(this.data.onetomany[i].deleteEvent, i, j)
608
+ }
609
+ }
610
+ })
611
+ },
612
+ // 修改
613
+ update(i, j) {
614
+ let onetomany = this.data.onetomany[i]
615
+ let item = this.data.onetomany[i].rows[j]
616
+ let count = 0
617
+ for (let k = 0; k < onetomany.fields.length; k++) {
618
+ // 防止初始化的时候没有value
619
+ Vue.set(this.data.onetomany[i].fields[k], 'value', item[this.data.onetomany[i].fields[k].field])
620
+
621
+ if (onetomany.fields[j].required) {
622
+ count++
623
+ }
624
+ }
625
+ if (count === 0) {
626
+ this.disable_button_onetomany = false
627
+ }
628
+ this.modeltitle = '修改'
629
+ this.modalSize = this.data.onetomany[i].modalSize
630
+ this.onetomany_index = i
631
+ this.update_onetomany_index = j
632
+
633
+ this.$dispatch('openUpdateModel', i, j)
634
+
635
+ this.show = true
636
+ },
637
+ // 添加
638
+ add(index) {
639
+ let count = 0
640
+ for (const item of this.data.onetomany[index].fields) {
641
+ if (item.type === 'datepicker') {
642
+ item.value = new Date().Format('yyyy-MM-dd')
643
+ }
644
+ if (item.required) {
645
+ count++
646
+ }
647
+ }
648
+
649
+ if (count === 0) {
650
+ this.disable_button_onetomany = false
651
+ }
652
+ this.modeltitle = '新增'
653
+ this.modalSize = this.data.onetomany[index].modalSize
654
+ this.onetomany_index = index
655
+
656
+ this.$dispatch('openAddModel', index)
657
+
658
+ this.show = true
659
+ },
660
+ // 关闭模态框
661
+ closemodal(val) {
662
+ if (val === 'but') {
663
+ this.disableButton()
664
+ this.showbutmodal = false
665
+ return
666
+ }
667
+ for (const item of this.data.onetomany[this.onetomany_index].fields) {
668
+ item.value = ''
669
+ }
670
+ this.show = false
671
+ this.disable_button_onetomany = true
672
+ this.onetomany_index = null
673
+ this.update_onetomany_index = null
674
+ this.modeltitle = null
675
+ this.modalSize = null
676
+ },
677
+ // 是否禁用模态框按钮
678
+ disableModalButton() {
679
+ let fields = this.data.onetomany[this.onetomany_index].fields
680
+
681
+ let flag = false
682
+ for (const item of fields) {
683
+ if (item.type !== 'checkbox' && item.required && !item.value) {
684
+ if (item.value === 0) {
685
+ flag = false
686
+ } else {
687
+ flag = true
688
+ }
689
+ }
690
+ }
691
+
692
+ let count = 0
693
+ for (const item of fields) {
694
+ if (item.type !== 'checkbox' && item.required) {
695
+ count++
696
+ }
697
+ }
698
+ if (count === 0) {
699
+ flag = false
700
+ }
701
+ this.disable_button_onetomany = flag
702
+ },
703
+ // 监听模态框属性失去焦点
704
+ onchange_modal(index) {
705
+ this.disableModalButton()
706
+ this.$dispatch('onchange_modal', this.onetomany_index, index)
707
+ },
708
+ // 监听模态框属性失去焦点
709
+ onblur_modal(index) {
710
+ this.disableModalButton()
711
+ this.$dispatch('onblur_modal', this.onetomany_index, index)
712
+ },
713
+ // input输入属性值发生变化监听
714
+ oninput_modal(index) {
715
+ this.disableModalButton()
716
+ this.$dispatch('oninput_modal', this.onetomany_index, index)
717
+ }
718
+ }
719
+ }
720
+ </script>
721
+ <style>
722
+ .datepicker{
723
+ width: 100%!important;
724
+ }
725
+ .datepicker-input{
726
+ background-color: #ffffff!important;
727
+ width: 100%!important;
728
+ }
729
+ .datepicker-input:disabled{
730
+ border: 1px solid #DDD!important;
731
+ color: #ACA899!important;
732
+ width: 100%!important;
733
+ }
734
+ </style>
735
+ <style scoped>
736
+ th{
737
+ font-size: 15px !important;
738
+ text-align: center !important;
739
+ background-color: #dfedfb!important;
740
+ color: #666666 !important;
741
+ font-family: PINGFANG-BOLD !important;
742
+ font-weight: normal!important;
743
+ }
744
+ /*清除model中的浮动*/
745
+ .clearfix:after,.clearfix:before{
746
+ display: table;
747
+ }
748
+ .clearfix:after{
749
+ clear: both;
750
+ }
751
+
752
+ .input_view{
753
+ padding: 8px;
754
+ background-color: #ffffff;
755
+ border-radius: 2px;
756
+ border: solid 1px #c7c7c7!important;
757
+ color: #333333!important;
758
+ font-size: 15px!important;
759
+ }
760
+
761
+ .input_view[readonly]{
762
+ border: 1px solid #DDD!important;
763
+ /*background-color: #F5F5F5;*/
764
+ color:#ACA899!important;
765
+ }
766
+ .input_view:disabled{
767
+ border: 1px solid #DDD!important;
768
+ /*background-color: #F5F5F5;*/
769
+ color:#ACA899!important;
770
+ }
771
+
772
+ .control-label-justify {
773
+ display: inline-block;
774
+ vertical-align: top;
775
+ width: 110px;
776
+ text-align: justify;
777
+ font-family: PingFang-SC-Bold;
778
+ }
779
+
780
+ .control-label-justify::after {
781
+ content: "";
782
+ display: inline-block;
783
+ width: 70px;
784
+ overflow: hidden;
785
+ height: 0;
786
+ }
787
+
788
+ input::-webkit-outer-spin-button,
789
+ input::-webkit-inner-spin-button {
790
+ -webkit-appearance: none;
791
+ }
792
+
793
+ input[type="number"] {
794
+ -moz-appearance: textfield;
795
+ }
796
+
797
+ </style>