apply-clients 3.4.74 → 3.4.76

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 (244) hide show
  1. package/build/dev-server.js +119 -116
  2. package/dist-android/static/0.68b45dd6665d95e65c33.js +2 -0
  3. package/dist-android/static/1.80d8977616c7c12b7af9.js +1 -0
  4. package/dist-android/static/10.f5b38719cf759cdaf30b.js +2 -0
  5. package/dist-android/static/11.da9d1dc6b3d3b0afdfb0.js +2 -0
  6. package/dist-android/static/12.0a445de8782b0c9e90bf.js +1 -0
  7. package/dist-android/static/13.922509a433e667a476e5.js +1 -0
  8. package/dist-android/static/14.db06181765d81baf5cbb.js +1 -0
  9. package/dist-android/static/15.0d662b8ce36cc983f55f.js +1 -0
  10. package/dist-android/static/16.02ffeb80c794d52cc05b.js +1 -0
  11. package/dist-android/static/17.9df21714d8510c924622.js +1 -0
  12. package/dist-android/static/18.23870c83910093244c4d.js +1 -0
  13. package/dist-android/static/19.05a7de4086cdeaf941a3.js +1 -0
  14. package/dist-android/static/2.a8212d24013b8aff0e90.js +1 -0
  15. package/dist-android/static/20.77ef8859683206c4053b.js +1 -0
  16. package/dist-android/static/21.7a2b8cbdd87e750bb68c.js +1 -0
  17. package/dist-android/static/22.fcb6d54375cc2aed8d8a.js +1 -0
  18. package/dist-android/static/23.2a43413ded0c53f046b0.js +1 -0
  19. package/dist-android/static/24.773855dfeab42a232778.js +1 -0
  20. package/dist-android/static/25.4144e5e465dfe1930e8a.js +1 -0
  21. package/dist-android/static/27.92303edf5e513839988d.js +13 -0
  22. package/dist-android/static/28.ec077b1393009a6ac91d.js +3 -0
  23. package/dist-android/static/29.6519a95fc0f8cf001aca.js +3 -0
  24. package/dist-android/static/3.d03c06455952af580398.js +1 -0
  25. package/dist-android/static/30.da90dfe911c6c930a460.js +2 -0
  26. package/dist-android/static/31.7510bed78757fe6f5429.js +1 -0
  27. package/dist-android/static/32.4fde305b2f004b2f8ae6.js +1 -0
  28. package/dist-android/static/33.b7c4eebaca777a1739cc.js +2 -0
  29. package/dist-android/static/34.b8fce20028dae1fe22c7.js +1 -0
  30. package/dist-android/static/35.bacc1f42bc3aaba3f6c1.js +1 -0
  31. package/dist-android/static/36.be29bd4ca2eee30d18d3.js +1 -0
  32. package/dist-android/static/37.b6b19986f63d12cb6583.js +1 -0
  33. package/dist-android/static/38.fce6d8c12747a01dd095.js +1 -0
  34. package/dist-android/static/39.a559012aafe7aff96d0d.js +1 -0
  35. package/dist-android/static/4.4aafc84956e965362a8c.js +13 -0
  36. package/dist-android/static/40.61ff080ce5dea5d201d5.js +1 -0
  37. package/dist-android/static/41.7029304a3d33521ca1c6.js +1 -0
  38. package/dist-android/static/42.de71132c19548f6f89a7.js +1 -0
  39. package/dist-android/static/43.4eca68b0f272638b9797.js +1 -0
  40. package/dist-android/static/44.321d337802ce2f113887.js +1 -0
  41. package/dist-android/static/45.f0b260e67c4cdb5845aa.js +1 -0
  42. package/dist-android/static/46.3d8bf661bd9d1167ddce.js +1 -0
  43. package/dist-android/static/47.d3039cbe7ef9270019b8.js +1 -0
  44. package/dist-android/static/48.612417d81cafc13f8142.js +1 -0
  45. package/dist-android/static/49.fba314518cbdab8a90e7.js +1 -0
  46. package/dist-android/static/5.0d01bce56926c132aa6b.js +13 -0
  47. package/dist-android/static/50.486e579f125840977f43.js +1 -0
  48. package/dist-android/static/51.8324ad7f396f978a05e8.js +1 -0
  49. package/dist-android/static/52.886647248ac26f5140db.js +1 -0
  50. package/dist-android/static/53.93a2ccb1a3130abfa79e.js +1 -0
  51. package/dist-android/static/54.0a74c8035e75eeb595c5.js +1 -0
  52. package/dist-android/static/55.9976fa21f7ddcfdfc4a0.js +1 -0
  53. package/dist-android/static/56.219c17b93279098dbddb.js +1 -0
  54. package/dist-android/static/57.8492d8c5c99205b55dc7.js +1 -0
  55. package/dist-android/static/58.312d1b2ee57d0d64b52f.js +2 -0
  56. package/dist-android/static/59.2d4f7176b27424e3009e.js +1 -0
  57. package/dist-android/static/6.bce74f8df7973b9c7451.js +13 -0
  58. package/dist-android/static/60.12567cf9aff324a95a7d.js +1 -0
  59. package/dist-android/static/61.66e9834fbb82ee452f8e.js +2 -0
  60. package/dist-android/static/62.328ba82e50967bd864f6.js +1 -0
  61. package/dist-android/static/63.19e45135d67e7e7026bd.js +2 -0
  62. package/dist-android/static/64.a43534ecf2a1a17a1314.js +1 -0
  63. package/dist-android/static/65.c51325b67a704bcf87d4.js +1 -0
  64. package/dist-android/static/66.6def8535daa57eac38fe.js +1 -0
  65. package/dist-android/static/67.1263ab1b5bf1005070a7.js +1 -0
  66. package/dist-android/static/68.bf2224572c3cd510c532.js +1 -0
  67. package/dist-android/static/69.d5b8358203dfa6e4cc62.js +1 -0
  68. package/dist-android/static/7.39164eae605d873940b6.js +13 -0
  69. package/dist-android/static/70.b129fa555a5a7daaf0a8.js +1 -0
  70. package/dist-android/static/71.503ac7365bb788a3c2ba.js +1 -0
  71. package/dist-android/static/72.f46bd9238f50d475747b.js +1 -0
  72. package/dist-android/static/73.d33ed35134b25f21bc08.js +1 -0
  73. package/dist-android/static/74.be31f1b4d678ba6e0387.js +1 -0
  74. package/dist-android/static/75.41da68b38db6400ed47f.js +1 -0
  75. package/dist-android/static/76.6323b38d846ed3faf8e3.js +1 -0
  76. package/dist-android/static/77.002152fa076232e2a7ef.js +1 -0
  77. package/dist-android/static/78.589f59b4c82a65920bce.js +1 -0
  78. package/dist-android/static/79.cd5521b0b7b86d567459.js +1 -0
  79. package/dist-android/static/8.667600d040abe33aa1d4.js +13 -0
  80. package/dist-android/static/80.f3549dbf5a1b23a294a1.js +1 -0
  81. package/dist-android/static/81.ca2ec2b72e1b4449853c.js +1 -0
  82. package/dist-android/static/82.2bdcb170eaa5bdee9aaf.js +1 -0
  83. package/dist-android/static/83.a168d74f18a60c9b2a67.js +1 -0
  84. package/dist-android/static/84.772e2e67ba55134fec9a.js +1 -0
  85. package/dist-android/static/85.8680fd727f1e68d8b5f1.js +1 -0
  86. package/dist-android/static/86.1532b3659b8c032df0a3.js +1 -0
  87. package/dist-android/static/87.3c45f14e992d0d0de21a.js +1 -0
  88. package/dist-android/static/88.34c3d55993269cb4bee7.js +1 -0
  89. package/dist-android/static/89.8c0cd296c36febba47d6.js +1 -0
  90. package/dist-android/static/9.7f2db78822a32aaa40cd.js +13 -0
  91. package/dist-android/static/90.6534c9442526cb9627b6.js +1 -0
  92. package/dist-android/static/91.67ac346acb5c96fc6c7e.js +1 -0
  93. package/dist-android/static/appf2f018d386daaf983c8f.js +136 -0
  94. package/dist-android/static/doc.jpg +0 -0
  95. package/dist-android/static/dwg.png +0 -0
  96. package/dist-android/static/images/lefticon/anjianjihua.png +0 -0
  97. package/dist-android/static/images/lefticon/danganguanli.png +0 -0
  98. package/dist-android/static/images/lefticon/shouqishoufei.png +0 -0
  99. package/dist-android/static/images/lefticon/wulianwang.png +0 -0
  100. package/dist-android/static/images/lefticon/xitongguanli.png +0 -0
  101. package/dist-android/static/images/lefticon/yingyechaxun.png +0 -0
  102. package/dist-android/static/images/lefticon/yuyinkefu.png +0 -0
  103. package/dist-android/static/images/lefticon/zongheyewu.png +0 -0
  104. package/dist-android/static/images/lefticon//345/215/241/346/234/215/345/212/241/347/256/241/347/220/206.png +0 -0
  105. package/dist-android/static/images/lefticon//345/220/210/345/220/214/347/256/241/347/220/206.png +0 -0
  106. package/dist-android/static/images/lefticon//345/233/276/345/261/2023/346/213/267/350/264/2354.png +0 -0
  107. package/dist-android/static/images/lefticon//345/233/276/345/261/202577.png +0 -0
  108. package/dist-android/static/images/lefticon//345/233/276/345/261/2028/346/213/267/350/264/23513.png +0 -0
  109. package/dist-android/static/images/lefticon//345/256/211/346/243/200/350/256/241/345/210/222.png +0 -0
  110. package/dist-android/static/images/lefticon//345/276/256/344/277/241/346/234/215/345/212/241.png +0 -0
  111. package/dist-android/static/images/lefticon//346/212/245/345/273/272/347/263/273/347/273/237.png +0 -0
  112. package/dist-android/static/images/lefticon//346/212/245/350/241/250/346/237/245/350/257/242.png +0 -0
  113. package/dist-android/static/images/lefticon//346/227/245/345/270/270/347/256/241/347/220/206.png +0 -0
  114. package/dist-android/static/images/lefticon//346/234/272/350/241/250/347/256/241/347/220/206.png +0 -0
  115. package/dist-android/static/images/lefticon//346/237/245/350/257/242/345/210/227/350/241/250.png +0 -0
  116. package/dist-android/static/images/lefticon//347/263/273/347/273/237/350/256/276/347/275/256.png +0 -0
  117. package/dist-android/static/images/lefticon//347/273/217/350/220/245/347/256/241/346/216/247.png +0 -0
  118. package/dist-android/static/images/lefticon//347/273/274/345/220/210/344/270/232/345/212/241.png +0 -0
  119. package/dist-android/static/images/lefticon//347/273/274/345/220/210/346/237/245/350/257/242.png +0 -0
  120. package/dist-android/static/images/lefticon//350/217/234/345/215/225/344/274/270/347/274/251.png +0 -0
  121. package/dist-android/static/images/lefticon//351/200/200/345/207/272/347/263/273/347/273/237.png +0 -0
  122. package/dist-android/static/images/lefticonNew//345/215/241/346/234/215/345/212/241/347/256/241/347/220/206.png +0 -0
  123. package/dist-android/static/images/lefticonNew//345/220/210/345/220/214/347/256/241/347/220/206.png +0 -0
  124. package/dist-android/static/images/lefticonNew//345/221/274/345/217/253/347/263/273/347/273/237.png +0 -0
  125. package/dist-android/static/images/lefticonNew//345/224/256/346/260/224/346/224/266/350/264/271.png +0 -0
  126. package/dist-android/static/images/lefticonNew//345/233/276/345/261/2023/346/213/267/350/264/2354.png +0 -0
  127. package/dist-android/static/images/lefticonNew//345/233/276/345/261/202577.png +0 -0
  128. package/dist-android/static/images/lefticonNew//345/233/276/345/261/2028/346/213/267/350/264/23513.png +0 -0
  129. package/dist-android/static/images/lefticonNew//345/256/211/346/243/200/346/237/245/347/234/213.png +0 -0
  130. package/dist-android/static/images/lefticonNew//345/256/211/346/243/200/350/256/241/345/210/222.png +0 -0
  131. package/dist-android/static/images/lefticonNew//345/276/256/344/277/241/346/234/215/345/212/241.png +0 -0
  132. package/dist-android/static/images/lefticonNew//346/212/245/345/273/272/347/263/273/347/273/237.png +0 -0
  133. package/dist-android/static/images/lefticonNew//346/212/245/350/241/250/346/237/245/350/257/242.png +0 -0
  134. package/dist-android/static/images/lefticonNew//346/227/245/345/270/270/347/256/241/347/220/206.png +0 -0
  135. package/dist-android/static/images/lefticonNew//346/234/272/350/241/250/347/256/241/347/220/206.png +0 -0
  136. package/dist-android/static/images/lefticonNew//346/237/245/350/257/242/345/210/227/350/241/250.png +0 -0
  137. package/dist-android/static/images/lefticonNew//346/241/243/346/241/210/347/256/241/347/220/206.png +0 -0
  138. package/dist-android/static/images/lefticonNew//347/211/251/350/201/224/347/275/221/350/241/250.png +0 -0
  139. package/dist-android/static/images/lefticonNew//347/263/273/347/273/237/347/256/241/347/220/206.png +0 -0
  140. package/dist-android/static/images/lefticonNew//347/263/273/347/273/237/350/256/276/347/275/256.png +0 -0
  141. package/dist-android/static/images/lefticonNew//347/273/217/350/220/245/347/256/241/346/216/247.png +0 -0
  142. package/dist-android/static/images/lefticonNew//347/273/274/345/220/210/344/270/232/345/212/241.png +0 -0
  143. package/dist-android/static/images/lefticonNew//347/273/274/345/220/210/346/237/245/350/257/242.png +0 -0
  144. package/dist-android/static/images/lefticonNew//350/217/234/345/215/225/344/274/270/347/274/251.png +0 -0
  145. package/dist-android/static/images/lefticonNew//351/200/200/345/207/272/347/263/273/347/273/237.png +0 -0
  146. package/dist-android/static/imgerror.jpg +0 -0
  147. package/dist-android/static/jsoneditor-icons.svg +893 -0
  148. package/dist-android/static/newStyle/clear.png +0 -0
  149. package/dist-android/static/newStyle/fife.png +0 -0
  150. package/dist-android/static/newStyle/hidden.png +0 -0
  151. package/dist-android/static/newStyle/label-clear.png +0 -0
  152. package/dist-android/static/newStyle/left-img.png +0 -0
  153. package/dist-android/static/newStyle/list_ok.png +0 -0
  154. package/dist-android/static/newStyle/login-check.png +0 -0
  155. package/dist-android/static/newStyle/login-con.png +0 -0
  156. package/dist-android/static/newStyle/login-do.gif +0 -0
  157. package/dist-android/static/newStyle/login-f.png +0 -0
  158. package/dist-android/static/newStyle/login-info.png +0 -0
  159. package/dist-android/static/newStyle/login-left.png +0 -0
  160. package/dist-android/static/newStyle/login-org.png +0 -0
  161. package/dist-android/static/newStyle/login-pwd.png +0 -0
  162. package/dist-android/static/newStyle/login-user.png +0 -0
  163. package/dist-android/static/newStyle/loginbg.gif +0 -0
  164. package/dist-android/static/newStyle/loginbg1280.gif +0 -0
  165. package/dist-android/static/newStyle/loginbg1366.gif +0 -0
  166. package/dist-android/static/newStyle/setting.png +0 -0
  167. package/dist-android/static/newStyle/setting1.png +0 -0
  168. package/dist-android/static/newStyle/shirk.png +0 -0
  169. package/dist-android/static/newStyle/stretch_bottom.png +0 -0
  170. package/dist-android/static/newStyle/stretch_left.png +0 -0
  171. package/dist-android/static/newStyle/stretch_right.png +0 -0
  172. package/dist-android/static/newStyle/stretch_top.png +0 -0
  173. package/dist-android/static/newStyle/system-off.png +0 -0
  174. package/dist-android/static/pdf.jpg +0 -0
  175. package/dist-android/static//344/270/213/350/275/275/350/256/241/345/210/222.png +0 -0
  176. package/dist-android/static//344/273/273/345/212/241/346/237/245/350/257/242.png +0 -0
  177. package/dist-android/static//344/277/241/346/201/257/345/205/254/345/221/212.png +0 -0
  178. package/dist-android/static//345/205/254/345/221/212/346/237/245/347/234/213.png +0 -0
  179. 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
  180. 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
  181. package/dist-android/static//345/220/210/345/220/214/347/255/276/350/256/242.png +0 -0
  182. package/dist-android/static//345/234/250/347/272/277/345/256/211/346/243/200.png +0 -0
  183. package/dist-android/static//345/234/250/347/272/277/345/267/241/346/243/200.png +0 -0
  184. package/dist-android/static//345/234/250/347/272/277/346/212/204/350/241/250.png +0 -0
  185. package/dist-android/static//345/234/250/347/272/277/346/212/242/344/277/256.png +0 -0
  186. package/dist-android/static//345/234/250/347/272/277/346/212/245/350/243/205.png +0 -0
  187. package/dist-android/static//345/234/250/347/272/277/346/223/215/344/275/234.png +0 -0
  188. package/dist-android/static//345/234/250/347/272/277/347/273/264/344/277/256.png +0 -0
  189. package/dist-android/static//345/234/250/347/272/277/347/274/264/350/264/271.png +0 -0
  190. package/dist-android/static//345/234/250/347/272/277/351/200/232/346/260/224.png +0 -0
  191. package/dist-android/static//345/256/211/346/243/200/345/267/262/345/212/236.png +0 -0
  192. package/dist-android/static//345/256/211/346/243/200/345/276/205/345/212/236.png +0 -0
  193. package/dist-android/static//345/256/211/346/243/200/346/212/275/345/215/225.png +0 -0
  194. package/dist-android/static//345/256/211/346/243/200/347/273/264/344/277/256/346/226/275/345/267/245.png +0 -0
  195. package/dist-android/static//345/256/211/350/243/205/344/270/212/344/274/240.png +0 -0
  196. package/dist-android/static//345/256/211/350/243/205/345/267/262/345/212/236.png +0 -0
  197. package/dist-android/static//345/256/211/350/243/205/345/276/205/345/212/236.png +0 -0
  198. package/dist-android/static//345/256/236/345/220/215/350/256/244/350/257/201.png +0 -0
  199. package/dist-android/static//345/256/242/346/234/215/347/256/241/347/220/206.png +0 -0
  200. package/dist-android/static//345/267/241/346/243/200/344/270/212/344/274/240.png +0 -0
  201. package/dist-android/static//345/267/241/346/243/200/345/267/262/345/212/236.png +0 -0
  202. package/dist-android/static//345/267/245/347/250/213/346/212/245/344/273/267.png +0 -0
  203. package/dist-android/static//345/267/245/347/250/213/346/226/275/345/267/245.png +0 -0
  204. package/dist-android/static//345/267/245/347/250/213/346/264/276/345/267/245.png +0 -0
  205. package/dist-android/static//345/267/245/347/250/213/351/230/237/346/264/276/345/267/245.png +0 -0
  206. package/dist-android/static//345/274/200/345/205/263/351/230/200.png +0 -0
  207. package/dist-android/static//345/275/242/347/212/2664.png +0 -0
  208. package/dist-android/static//346/211/271/351/207/217/346/212/204/350/241/250.png +0 -0
  209. package/dist-android/static//346/212/204/350/241/250/344/270/212/344/274/240.png +0 -0
  210. package/dist-android/static//346/212/204/350/241/250/345/267/262/345/212/236.png +0 -0
  211. package/dist-android/static//346/212/204/350/241/250/345/276/205/345/212/236.png +0 -0
  212. package/dist-android/static//346/212/204/350/241/250/350/256/260/345/275/225.png +0 -0
  213. package/dist-android/static//346/212/245/345/273/272/346/234/215/345/212/241.png +0 -0
  214. package/dist-android/static//346/224/266/350/264/271/346/261/207/346/200/273/350/241/250.png +0 -0
  215. package/dist-android/static//346/224/266/350/264/271/350/256/260/345/275/225.png +0 -0
  216. package/dist-android/static//346/226/275/345/267/245/344/277/241/346/201/257.png +0 -0
  217. package/dist-android/static//346/227/245/346/212/245/346/237/245/350/257/242.png +0 -0
  218. package/dist-android/static//346/241/243/346/241/210/344/277/256/346/224/271.png +0 -0
  219. package/dist-android/static//346/265/201/347/250/213/344/270/232/345/212/241.png +0 -0
  220. package/dist-android/static//346/265/201/347/250/213/347/233/221/346/216/247.png +0 -0
  221. package/dist-android/static//347/216/260/345/234/272/345/213/230/345/257/237.png +0 -0
  222. package/dist-android/static//347/233/221/347/220/206/345/215/225/344/275/215/346/264/276/345/267/245.png +0 -0
  223. package/dist-android/static//347/247/273/345/212/250/346/212/204/350/241/250.png +0 -0
  224. 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
  225. package/dist-android/static//347/273/237/350/256/241/346/212/245/350/241/250.png +0 -0
  226. package/dist-android/static//347/273/264/344/277/256/346/264/276/345/215/225.png +0 -0
  227. package/dist-android/static//350/220/245/344/270/232/345/233/276/350/241/250.png +0 -0
  228. package/dist-android/static//350/241/250/345/206/214/351/241/272/345/272/217.png +0 -0
  229. package/dist-android/static//350/260/203/344/273/267/350/241/245/345/267/256/347/274/264/350/264/271.png +0 -0
  230. package/dist-android/static//350/277/233/345/272/246/345/210/227/350/241/250.png +0 -0
  231. package/dist-android/static//351/200/200/345/207/272/347/231/273/345/275/225.png +0 -0
  232. package/dist-android/static//351/200/201/346/260/224/344/270/212/344/274/240.png +0 -0
  233. package/dist-android/static//351/200/201/346/260/224/345/267/262/345/212/236.png +0 -0
  234. package/dist-android/static//351/200/201/346/260/224/345/276/205/345/212/236.png +0 -0
  235. package/dist-android/static//351/200/232/346/260/224/347/202/271/347/201/253.png +0 -0
  236. package/dist-android/static//351/232/220/346/202/243/345/244/204/347/220/206.png +0 -0
  237. package/dist-android/static//351/233/206/344/270/255/345/256/211/346/243/200.png +0 -0
  238. package/dist-android/static//351/253/230/345/257/206/345/205/254/345/221/212.png +0 -0
  239. package/package.json +1 -1
  240. package/src/components/product/Ignition/IgnitionListManage.vue +420 -413
  241. package/src/components/product/Process/Service/ServiceControl.vue +1928 -1921
  242. package/src/filiale/hongda/pc/ServiceView.vue +1037 -1037
  243. package/src/filiale/hongda/pc.js +6 -6
  244. package/src/main.js +23 -23
@@ -1,1037 +1,1037 @@
1
- 1<template>
2
- <div class="select-overspread" style="background-color: #ffffff;padding: 20px;overflow: scroll">
3
- <validator name='v' @valid="$emit('valid')" @invalid="$emit('invalid')">
4
- <form class="form-horizontal">
5
- <div class="form-group">
6
- <div v-for="(index,item) in data.fields">
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') && !item.hidden && (item.device === 'pc' || !item.device) && ( item.label != '证件号码')&&( item.label !== '身份证') && (item.label !== '用户电话')"
10
- :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
11
- <label :style="item.label_style ? item.label_style : ''"
12
- :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
13
- <div :style="item.value_style ? item.value_style:''"
14
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
15
- <input class="form-control input_view" style=""
16
- :type="item.type"
17
- v-model="data.fields[index].value"
18
- :placeholder="item.placeholder"
19
- :value="data.fields[index].value"
20
- :readonly="item.readonly"
21
- :disabled="item.disabled"
22
- @change="onchange(index)"
23
- @blur="onblur(index)"
24
- @input="oninput(index)"
25
- />
26
- </div>
27
- </div>
28
-
29
- <!--input-->
30
- <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
31
- v-if="((data.f_credentials === '军官证' ||data.f_credentials === '营业执照')&& item.label === '证件号码')"
32
- :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
33
- <label :style="item.label_style ? item.label_style : ''"
34
- :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
35
- <div :style="item.value_style ? item.value_style:''"
36
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
37
- <input class="form-control input_view" style=""
38
- :type="item.type"
39
- v-model="data.fields[index].value"
40
- :placeholder="item.placeholder"
41
- :value="data.fields[index].value"
42
- :readonly="item.readonly"
43
- :disabled="item.disabled"
44
- @change="onchange(index)"
45
- @blur="onblur(index)"
46
- @input="oninput(index)"
47
- />
48
- </div>
49
- </div>
50
- <!--身份证验证-->
51
- <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
52
- v-if="(item.label==='身份证') || (data.f_credentials === '身份证' && item.label === '证件号码')"
53
- :class="[$v.f_idnumber2.identityCardValid ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
54
- <label :style="item.label_style ? item.label_style : ''"
55
- :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
56
- <div :style="item.value_style ? item.value_style:''"
57
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
58
- <input class="form-control input_view" style=""
59
- :type="item.type"
60
- maxlength="18"
61
- v-model="data.fields[index].value"
62
- :placeholder="item.placeholder"
63
- :value="data.fields[index].value"
64
- v-validate:f_idnumber2='{identityCardValid: true}'
65
- :readonly="item.readonly"
66
- :disabled="item.disabled"
67
- @change="onchange(index)"
68
- @blur="onblur(index)"
69
- @input="oninput(index)"
70
- />
71
- </div>
72
- </div>
73
-
74
-
75
- <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
76
- v-if="item.label === '用户电话'"
77
- :class="[$v.f_user_phone.minlength || $v.f_user_phone.maxlength ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
78
- <label :style="item.label_style ? item.label_style : ''"
79
- :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
80
- <div :style="item.value_style ? item.value_style:''"
81
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
82
- <input class="form-control input_view" style=""
83
- type="number"
84
- oninput="if(value.length > 11) value=value.slice(0,11)"
85
- v-validate:f_user_phone="{minlength: 7, maxlength: 11 }"
86
- v-model="data.fields[index].value"
87
- :placeholder="item.placeholder"
88
- :value="data.fields[index].value"
89
- onKeypress="return(/[\d\.]/.test(String.fromCharCode(event.keyCode)))"
90
- :readonly="item.readonly"
91
- :disabled="item.disabled"
92
- @change="onchange(index)"
93
- @blur="onblur(index)"
94
- @input="oninput(index)"
95
- />
96
- </div>
97
- </div>
98
-
99
-
100
-
101
- <!--时间datepicker-->
102
- <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
103
- v-if="item.type==='datepicker' && !item.hidden && (item.device === 'pc' || !item.device)"
104
- :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped ? item.bootstraped+' form-group':'col-sm-4 form-group']">
105
- <label
106
- :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label control-label-justify col-sm-6'">{{item.label}}</label>
107
- <div :style="item.value_style ? item.value_style:''"
108
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
109
- <datepicker
110
- @change="onchange(index)"
111
- @blur="onblur(index)"
112
- :placeholder="item.placeholder"
113
- :value.sync="data.fields[index].value"
114
- :format="item.format ? item.format : 'yyyy-MM-dd'"
115
- v-model="data.fields[index].value"
116
- :readonly="item.readonly"
117
- :disabled="item.disabled"
118
- :show-reset-button="reset">
119
- </datepicker>
120
- </div>
121
- </div>
122
-
123
- <!--textarea-->
124
- <div :style="item.style ? item.style+';margin-bottom: 20px':'margin-bottom: 20px'"
125
- v-if="item.type==='textarea' && !item.hidden && (item.device === 'pc' || !item.device)"
126
- :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped?item.bootstraped+' form-group':'col-sm-12 form-group']">
127
- <label :style="item.label_style ? item.label_style : ''"
128
- :class="item.label_bootstraped ? item.label_bootstraped + ' control-label-justify control-label' : 'control-label-justify control-label col-sm-3'">{{item.label}}</label>
129
- <div :style="item.value_style ? item.value_style:''"
130
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-10'">
131
- <textarea
132
- :readonly="item.readonly"
133
- :disabled="item.disabled"
134
- class="form-control input_view"
135
- style="width: 100%;height: 100%"
136
- :rows="item.rows"
137
- v-model="data.fields[index].value"
138
- :value="data.fields[index].value"
139
- @change="onchange(index)"
140
- @blur="onblur(index)"
141
- @input="oninput(index)"
142
- >
143
- </textarea>
144
- <button
145
- v-if="(item.field==='f_prospecting_result')&&exploration" @click="showModle()">查看所有</button>
146
- </div>
147
- </div>
148
-
149
- <!--select-->
150
- <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
151
- v-if="item.type==='select' && !item.hidden && (item.device === 'pc' || !item.device)"
152
- :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped?item.bootstraped+' form-group':'col-sm-4 form-group']">
153
- <label
154
- :class="item.label_bootstraped ? item.label_bootstraped+' control-label control-label-justify':'control-label-justify control-label col-sm-6'">{{item.label}}</label>
155
- <div :style="item.value_style ? item.value_style:''"
156
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
157
- <input-select
158
- class="select select_list"
159
- @blur="onblur(index)"
160
- @change="onchange(index)"
161
- @select-search="selectSearch($arguments,index)"
162
- :readonly="item.readonly"
163
- :disable="item.disabled"
164
- :value.sync="data.fields[index].value"
165
- v-model="data.fields[index].value"
166
- :options='data.fields[index].options'
167
- :valueSingle="true"></input-select>
168
- </div>
169
- </div>
170
-
171
- <!--checkbox-->
172
- <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
173
- v-if="item.type==='checkbox' && !item.hidden && (item.device === 'pc' || !item.device)"
174
- :class="[item.required && item.value.length === 0 ? 'has-error' : '',item.bootstraped?item.bootstraped+' form-group':'col-sm-4 form-group']">
175
- <label v-if="item.label"
176
- :class="item.label_bootstraped?item.label_bootstraped+' control-label control-label-justify':'control-label-justify control-label col-sm-6'">{{item.label}}</label>
177
- <div :style="item.value_style ? item.value_style:''"
178
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
179
- <label class="checkbox-inline" v-for="(index2,row) in item.options">
180
- <input type="checkbox" class=""
181
- :readonly="data.fields[index].readonly"
182
- :disabled="data.fields[index].disabled"
183
- v-model="data.fields[index].value"
184
- :value="data.fields[index].options[index2].value"
185
- @change="onchange(index)"
186
- @blur="onblur(index)">
187
- {{row.label}}
188
- </label>
189
- </div>
190
- </div>
191
- </div>
192
- <!--区域地址联动-->
193
- <div>
194
- <res-area-select-group
195
- v-if="(data.f_apply_type === '报警器报建' || data.f_apply_type === '工商业报警器报建') && data.defname === '工程施工' && data.title === '工程施工' && data.f_sub_state !='完工'"
196
- labelstyle = "control-label"
197
- @shiji-select = "getSelectShijiValue"
198
- @xian-select = "getSelectXianValue"
199
- @shequ-select = "getSelectShequValue"
200
- >
201
- </res-area-select-group>
202
- </div>
203
-
204
- <gaode-map
205
- v-if="(data.f_apply_type === '报警器报建' || data.f_apply_type === '工商业报警器报建') && data.defname === '工程施工' && data.title === '工程施工' && data.f_sub_state !='完工'"
206
- >
207
-
208
- </gaode-map>
209
-
210
- </div>
211
-
212
- <!-- onetomany -->
213
- <div class="" v-for="(index,item) in data.onetomany">
214
- <onetomany :selectdata="data" :onetomany="item" :index="index" v-if="item.device === 'pc' || !item.device"></onetomany>
215
- </div>
216
-
217
- <div v-for="(i,item) in data.components">
218
- <component v-if="item.device === 'pc' || !item.device" :is="item.name" :selectdata="data" :mark="item.mark"></component>
219
- </div>
220
-
221
- <!--自定义组件-->
222
- <slot>
223
- <!--<div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"-->
224
- <!-- v-if="data.f_apply_type === '报警器报建' && data.defname === '工程施工'"-->
225
- <!-- :class="[$v.f_idnumber2.identityCardValid ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">-->
226
-
227
- <!--<div class="col-sm-6 form-group "-->
228
- <!-- :class="[$v.f_pcd_id.required ? 'has-error' : 'has-success']">-->
229
- <!-- <label class="font_normal_body">省&ensp;市&ensp;区</label>-->
230
- <!-- <input type="text" style="width:41%" v-show="false" v-model="model.f_pcd_id"-->
231
- <!-- v-validate:f_pcd_id='{required: true }'-->
232
- <!-- >-->
233
-
234
- <!-- <v-select :value.sync="model.f_pcd_id" :value-single="true"-->
235
- <!-- :options='pcdslist' placeholder='请选择2'-->
236
- <!-- close-on-select search="true" @change="pcdChange">-->
237
- <!-- </v-select>-->
238
- <!--</div>-->
239
- <!--<div class="col-sm-6 form-group "-->
240
- <!-- :class="[$v.f_street_id.required ? 'has-error' : 'has-success']">-->
241
- <!-- <label class="font_normal_body">街道/乡镇</label>-->
242
- <!-- <input type="text" style="width:41%" v-show="false" v-model="model.f_street_id"-->
243
- <!-- >-->
244
- <!-- <v-select :value.sync="model.f_street_id" :value-single="true"-->
245
- <!-- :options='streetslist' placeholder='请选择'-->
246
- <!-- @change="streetChange"-->
247
- <!-- close-on-select search="true">-->
248
- <!-- </v-select>-->
249
-
250
- <!--</div>-->
251
- <!--<div class="col-sm-6 form-group "-->
252
- <!-- :class="[$v.f_residential_area_id.required ? 'has-error' : 'has-success']">-->
253
- <!-- <label class="font_normal_body">集收单位</label>-->
254
- <!-- <input type="text" style="width:41%" v-show="false" v-model="model.f_residential_area_id"-->
255
- <!-- v-validate:f_residential_area_id='{required: true }'>-->
256
- <!-- <v-select :value.sync="model.f_residential_area_id" :value-single="true"-->
257
- <!-- :options='areaslist' placeholder='请选择'-->
258
- <!-- @change="" @select-search="selectSearch"-->
259
- <!-- close-on-select search="true">-->
260
- <!-- </v-select>-->
261
- <!--</div>-->
262
- <!--</div>-->
263
- </slot>
264
- <!--公司等属性-->
265
- <div class="col-sm-12 form-group text-center" style="padding-top:8px">
266
- <div class="col-sm-3 form-group center-block">
267
- <label class="col-sm-5">所属公司:</label>
268
- <div class="col-sm-6" style="text-align: left">
269
- {{model.orgs}}
270
- </div>
271
- </div>
272
- <div class="col-sm-3 form-group center-block">
273
- <label class="col-sm-5">部门:</label>
274
- <div class="col-sm-6" style="text-align: left">
275
- {{model.parentname}}
276
- </div>
277
- </div>
278
- <div class="col-sm-3 form-group center-block">
279
- <label class="col-sm-5">操作人:</label>
280
- <div class="col-sm-6 " style="text-align: left">
281
- {{model.operator}}
282
- </div>
283
- </div>
284
- <div class="col-sm-3 form-group center-block">
285
- <label class="col-sm-5">操作日期:</label>
286
- <div class="col-sm-6" style="text-align: left">
287
- {{model.operate_date}}
288
- </div>
289
- </div>
290
- </div>
291
- <!-- 按钮组 -->
292
- <div class="from-group col-sm-12 text-center">
293
- <!-- 按钮组 -->
294
- <button v-for="(index,button) in data.buttons"
295
- :disabled="(button.disabled && disable_button)"
296
- style="min-width:100px"
297
- :class="button.disabled && disable_button ? 'btn btn-default button_spacing' : 'btn btn-primary button_spacing'"
298
- v-if="!button.hidden && button.button_name !=='提交'&& button.button_name !=='确认'"
299
- @click.prevent="click_but(button)"
300
- >
301
- {{button.button_name}}
302
- </button>
303
- <button v-for="(index,button) in data.buttons"
304
- :disabled="(button.disabled && disable_button) || (!$v.valid)"
305
- style="min-width:100px"
306
- :class="button.disabled && disable_button || (!$v.valid) ? 'btn btn-default button_spacing' : 'btn btn-primary button_spacing'"
307
- v-if="!button.hidden && (button.button_name ==='提交'||button.button_name ==='确认')"
308
- @click.prevent="click_but(button)"
309
- >
310
- {{button.button_name}}
311
- </button>
312
- </div>
313
-
314
- <!-- 按钮模态框 -->
315
- <modal v-if="showButModal" :show.sync="showButModal" backdrop="false" large>
316
- <header slot="modal-header" class="modal-header">
317
- <button type="button" class="close" @click="closeModal()"><span>&times;</span></button>
318
- <span class="modal-title"><font
319
- size="3">{{data.button.button_name}}</font></span>
320
- </header>
321
- <article slot="modal-body" class="modal-body clearfix">
322
- <div class="form-group" style="padding: 0 150px">
323
- <div v-for="(index,item) in data.button.button_fields">
324
- <div :style="item.style ? item.style : ''" :class="[item.required && !(item.value) ? 'has-error' : '', item.bootstraped ? item.bootstraped + ' form-group' : 'form-group']"
325
- v-if="(item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email') && !item.hidden && (item.device === 'pc' || !item.device)">
326
- <label :style="item.label_style ? item.label_style : ''"
327
- :class="item.label_bootstraped ? item.label_bootstraped + ' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
328
- <div :style="item.value_style ? item.value_style : ''"
329
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-9'">
330
- <input class="form-control input_view"
331
- :placeholder="item.placeholder"
332
- :type="item.type"
333
- v-model="item.value"
334
- :value="item.value"
335
- :readonly="item.readonly"
336
- :disabled="item.disabled"
337
- @change="onbutchange(index)"
338
- @blur="onbutblur(index)"
339
- @input="onbutinput(index)"
340
- />
341
- </div>
342
- </div>
343
-
344
- <!--时间datepicker-->
345
- <div :style="item.style ? item.style : ''" :class="[item.required && !(item.value) ? 'has-error' : '', item.bootstraped ? item.bootstraped + ' form-group':'form-group']"
346
- v-if="item.type==='datepicker' && !item.hidden && (item.device === 'pc' || !item.device)">
347
- <label :style="item.label_style ? item.label_style : ''"
348
- :class="item.label_bootstraped ? item.label_bootstraped + ' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
349
- <div :style="item.value_style ? item.value_style : ''"
350
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-9'">
351
- <datepicker
352
- :placeholder="item.placeholder"
353
- :value.sync="item.value"
354
- v-model="item.value"
355
- :readonly="item.readonly"
356
- :disabled="item.disabled"
357
- :format="item.format ? item.format : 'yyyy-MM-dd'"
358
- :show-reset-button="true"
359
- @change="onbutchange(index)"
360
- @blur="onbutblur(index)"
361
- ></datepicker>
362
- </div>
363
- </div>
364
-
365
- <!--select-->
366
- <div :style="item.style ? item.style : ''" :class="[item.required && !(item.value) ? 'has-error' : '', item.bootstraped ? item.bootstraped + ' form-group':'form-group']"
367
- v-if="item.type==='select' && !item.hidden && (item.device === 'pc' || !item.device)">
368
- <label :style="item.label_style ? item.label_style : ''"
369
- :class="item.label_bootstraped ? item.label_bootstraped + ' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
370
- <div :style="item.value_style ? item.value_style : ''"
371
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-9'">
372
- <input-select
373
- class="select select_list"
374
- :value.sync="item.value"
375
- v-model="item.value"
376
- :options='item.options'
377
- :readonly="item.readonly"
378
- :disable="item.disabled"
379
- :valueSingle="true"
380
- @blur="onbutblur(index)"
381
- @change="onbutchange(index)"
382
- ></input-select>
383
- </div>
384
- </div>
385
-
386
- <!--textarea-->
387
- <div :style="item.style ? item.style : ''" :class="[item.required && !(item.value) ? 'has-error' : '', item.bootstraped ? item.bootstraped + ' form-group':'form-group']"
388
- v-if="item.type==='textarea' && !item.hidden && (item.device === 'pc' || !item.device)">
389
- <label :style="item.label_style ? item.label_style : ''"
390
- :class="item.label_bootstraped ? item.label_bootstraped + ' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
391
- <div :style="item.value_style ? item.value_style : ''"
392
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-9'">
393
- <textarea
394
- class="form-control input_view"
395
- style="width: 100%;height: 100%"
396
- v-model="item.value"
397
- :value="item.value"
398
- :rows="item.rows"
399
- :readonly="item.readonly"
400
- :disabled="item.disabled"
401
- @change="onbutchange(index)"
402
- @blur="onbutblur(index)"
403
- @input="onbutinput(index)"
404
- ></textarea>
405
- </div>
406
- </div>
407
- </div>
408
- </div>
409
- </article>
410
- <footer slot="modal-footer" class="modal-footer">
411
- <button :class="disable_modal_button ? 'btn btn-default':'btn btn-primary'"
412
- :disabled="disable_modal_button" type="button" @click="confirmModal()">
413
- 确认
414
- </button>
415
- </footer>
416
- </modal>
417
- </form>
418
- <modal v-if="showModal" :show.sync="showModal" cancel-text="取消"
419
- ok-text="确认">
420
- <div class="form-horizontal" slot="modal-body">
421
- <!-- table表格,标题为勘察结果,勘察时间-->
422
- <table class="table table-bordered table-hover table-striped">
423
- <thead>
424
- <tr>
425
- <th>序号</th>
426
- <th>勘察结果</th>
427
- <th>勘察时间</th>
428
- </tr>
429
- </thead>
430
- <tbody>
431
- <tr v-for="(index,item) in exdata" >
432
- <td :style="{ textAlign: 'center' }">{{index*1+1}}</td>
433
- <td :style="{ textAlign: 'center' }">{{item.f_exploration_result}}</td>
434
- <td :style="{ textAlign: 'center' }">{{item.f_time}}</td>
435
- </tr>
436
- </tbody>
437
- </table>
438
- </div>
439
- </modal>
440
- </div>
441
- </template>
442
- <script>
443
- import Vue from 'vue'
444
- import {isEmpty} from '../Util'
445
- import {HttpResetClass} from 'vue-client'
446
- // Date格式化
447
- Date.prototype.Format = function (fmt) {
448
- var o = {
449
- 'M+': this.getMonth() + 1, // 月份
450
- 'd+': this.getDate(), // 日
451
- 'H+': this.getHours(), // 小时
452
- 'm+': this.getMinutes(), // 分
453
- 's+': this.getSeconds(), // 秒
454
- 'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
455
- 'S': this.getMilliseconds() // 毫秒
456
- }
457
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
458
- for (var k in o) {
459
- if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
460
- }
461
- return fmt
462
- }
463
-
464
- export default {
465
- title: '报建业务通用组件',
466
- props: {
467
- data: {
468
- type: Object
469
- }
470
- },
471
- data () {
472
- return {
473
- showModal:false,//勘察结果弹窗
474
- exdata: [],//勘察结果数据
475
- model: {}, // 公司等属性
476
- exploration:false,//勘察结果按钮显示
477
- disable_button: true, // 控制按钮禁用
478
- disable_modal_button: true, // 控制按钮禁用
479
- //初始化省市区数据
480
- pcdslist: [],
481
- //初始化街道数据
482
- streetslist: [],
483
- //初始化街道数据
484
- areaslist: [],
485
- showButModal: false,
486
- areaData:{
487
- sjvalue:'',
488
- xianvalue:'',
489
- sqvalue:'',
490
- },
491
- templatlng: {
492
- gaodetemplng: "",
493
- gaodetemplat: "",
494
- baidutemplng: "",
495
- baidutemplat: ""
496
- }
497
- }
498
- },
499
- watch: {
500
- deep: true
501
- },
502
- computed: {
503
-
504
- },
505
- ready () {
506
- if(this.data.defname=='部门领导审核') {
507
- let http = new HttpResetClass()
508
- let res = http.load(
509
- 'POST',
510
- `rs/sql/exploration`,
511
- {
512
- data: {
513
- id: this.data.f_process_id,
514
- }
515
- },
516
- {resolveMsg: null, rejectMsg: '勘察结果查询失败!!!'}
517
- ).then(value =>{
518
- //遍历value.data数组
519
- for(let i=0;i<value.data.length;i++){
520
- // value.data[i].f_time=new Date(value.data[i].f_time).Format("yyyy-MM-dd HH:mm:ss")
521
- //将数组中的每一个对象赋值给exdata
522
- this.exdata.push(value.data[i])
523
- }
524
- if(value.data.length>1){
525
- this.exploration=true
526
- }
527
- })
528
-
529
- }
530
- },
531
- created () {
532
- // 初始化数据
533
- this.initializtion()
534
- if (this.data.readyEvent) {
535
- this.$dispatch(this.data.readyEvent)
536
- }
537
- this.$dispatch('initializtionView')
538
- },
539
- methods: {
540
- showModle(){
541
- this.showModal=true
542
- },
543
- // 初始化数据
544
- initializtion () {
545
- for (const item of this.data.fields) {
546
- this.data[item.field] = item.value
547
- }
548
-
549
- // 是否禁用按钮
550
- this.disableButton()
551
- // 公司等属性初始化
552
- if (this.data.orgs) {
553
- this.model.orgs = this.data.orgs
554
- } else {
555
- this.model.orgs = this.$login.f.orgs
556
- }
557
- if (this.data.parentname) {
558
- this.model.parentname = this.data.parentname
559
- } else {
560
- this.model.parentname = this.$login.f.f_department_name
561
- }
562
- if (this.data.operate_date) {
563
- this.model.operate_date = this.data.operate_date
564
- } else {
565
- this.model.operate_date = new Date().Format('yyyy-MM-dd')
566
- }
567
- if (this.data.operator) {
568
- this.model.operator = this.data.operator
569
- } else {
570
- this.model.operator = this.$login.f.name
571
- }
572
-
573
- this.initpcds(` j_orgid = '${this.$login.f.orgid}'`)
574
- },
575
- async getSelectShijiValue(sjvalue,sjlable) {
576
- this.areaData.sjvalue = sjvalue
577
- console.log("这是父级接收的市级值:",sjvalue,sjlable)
578
- this.data.areaData = this.areaData
579
-
580
- // 是否禁用按钮
581
- this.disableButton()
582
- },
583
- async getSelectXianValue(xianvalue,xianlable) {
584
- this.areaData.xianvalue = xianvalue
585
- this.data.areaData = this.areaData
586
- console.log("这是父级接收的县级值:",xianvalue,xianlable)
587
-
588
- // 是否禁用按钮
589
- this.disableButton()
590
- },
591
- async getSelectShequValue(sqvalue,sqlable) {
592
- this.areaData.sqvalue = sqvalue
593
- this.data.areaData = this.areaData
594
- console.log("这是父级接收的社区值:",sqvalue,sqlable)
595
-
596
- // 是否禁用按钮
597
- this.disableButton()
598
- },
599
- //初始化省市区,添加街道
600
- async initpcds(pconditon) {
601
- // console.log('initpcds', pconditon)
602
- // this.pcdslist = []
603
- // let HttpReset = new HttpResetClass()
604
- // let req = await HttpReset.load('POST', 'rs/sql/address_singleTableOrderBy?pageNo=1&pageSize=9999999', {
605
- // data: {
606
- // items: '*',
607
- // tablename: 'j_bjqpcd',
608
- // orderitem: 'id',
609
- // condition: pconditon
610
- // }
611
- // }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
612
- // let redata = []
613
- // req.data.forEach((row, n) => {
614
- // redata[n] = {
615
- // label: row.j_areaname,
616
- // value: row.j_areaid,
617
- // data: row,
618
- // id: row.id
619
- // }
620
- // })
621
- // console.log('市区', redata)
622
- // this.pcdslist = redata
623
- },
624
- //初始化街道 添加小区
625
- async initstreets(pconditon) {
626
- // console.log('市区32', pconditon)
627
- // this.streetslist = []
628
- // let HttpReset = new HttpResetClass()
629
- // let req = await HttpReset.load('POST', 'rs/sql/address_singleTableOrderBy', {
630
- // data: {
631
- // items: '*',
632
- // tablename: 'j_bjqstreet',
633
- // orderitem: 'id',
634
- // condition: pconditon
635
- // }
636
- // }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
637
- // let redata = []
638
- // req.data.forEach((row, n) => {
639
- // redata[n] = {
640
- // label: row.j_areaname,
641
- // value: row.j_areaid,
642
- // data: row,
643
- // id: row.id
644
- // }
645
- // })
646
- // console.log('市区333', redata)
647
- // this.streetslist = redata
648
- // this.model.f_iscity = this.findbyid(this.streetslist, this.model.f_street_id).f_iscity
649
- },
650
- //初始化小区添加小区
651
- async initareas(pconditon) {
652
- // if(this.usertype){
653
- // pconditon=pconditon+` and f_special='1' `
654
- // }
655
- // this.areaslist = []
656
- // let HttpReset = new HttpResetClass()
657
- // let req = await HttpReset.load('POST', 'rs/sql/address_singleTableOrderBy?pageNo=1&pageSize=100', {
658
- // data: {
659
- // items: '*',
660
- // tablename: 'j_bjqarea',
661
- // orderitem: 'id',
662
- // condition: pconditon
663
- // }
664
- // }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
665
- // let redata = []
666
- // req.data.forEach((row) => {
667
- // redata.push({
668
- // label: row.j_areaname,
669
- // value: row.j_areaid,
670
- // data: row,
671
- // id: row.id
672
- // })
673
- // })
674
- // console.log('市区666', redata)
675
- // if (redata.length>0){
676
- // this.areaslist = redata
677
- // }
678
- },
679
- //省/市/区变化
680
- async pcdChange(val) {
681
-
682
- // console.log("省/市/区变化", val)
683
- // console.log("省/市/区变化", ` f_pcd_id ='${val}' `)
684
- // if (val) {
685
- // //那就把[小区,街道]重新组织一下
686
- // await this.initstreets(` j_parentid ='${val}' `)
687
- // if (this.model.f_street_id) {
688
- // if (this.findbyid(this.streetslist, this.model.f_street_id)) {
689
- // let pcd_id = this.findbyid(this.streetslist, this.model.f_street_id).f_pcd_id
690
- // if (pcd_id != val) {
691
- // this.model.f_street_id = ''
692
- // }
693
- // } else {
694
- // this.model.f_street_id = ''
695
- // }
696
- //
697
- // //那就把[小区,街道]重新组织一下
698
- // if (this.model.f_street_id) {
699
- // await this.initareas(` j_parentid ='${this.model.f_street_id}' `)
700
- // if (this.model.f_residential_area_id) {
701
- // if (this.findbyid(this.areaslist, this.model.f_residential_area_id)) {
702
- // let pcd_id = this.findbyid(this.areaslist, this.model.f_residential_area_id).f_pcd_id
703
- // if (pcd_id != val) {
704
- // this.model.f_residential_area_id = ''
705
- // }
706
- // } else {
707
- // this.model.f_residential_area_id = ''
708
- // }
709
- //
710
- // }
711
- // }
712
- // }
713
- // }
714
- // this.$resetValidation()
715
- },
716
- //街道变化
717
- async streetChange(val) {
718
- // console.log("街道变化", val)
719
- // if (this.streetslist[0]) {
720
- // var street = ''
721
- // this.streetslist.forEach((item) => {
722
- // if (item.id === val) {
723
- // street = item.label
724
- // }
725
- // })
726
- // this.model.f_address = street
727
- // }
728
- // if (val) {
729
- // //那就把[小区]重新组织一下
730
- // await this.initareas(` j_parentid ='${val}' `)
731
- // if (this.model.f_residential_area_id) {
732
- // if (this.findbyid(this.areaslist, this.model.f_residential_area_id)) {
733
- // let street_id = this.findbyid(this.areaslist, this.model.f_residential_area_id).f_street_id
734
- // if (street_id != val) {
735
- // this.model.f_residential_area_id = ''
736
- // }
737
- // } else {
738
- // this.model.f_residential_area_id = ''
739
- // }
740
- //
741
- // }
742
- // }
743
- // this.$resetValidation()
744
- },
745
- // 是否禁用按钮
746
- disableButton () {
747
- let flag = false
748
- for (const field of this.data.fields) {
749
- if (field.required && !field.value && !field.hidden && field.value !== 0) {
750
- flag = true
751
- }
752
-
753
- // 任何选择框只要是否都不能提交
754
- if (field.type === 'select' && field.value === '否' && field.value_no_disable) {
755
- flag = true
756
- }
757
-
758
- if (field.type === 'checkbox' && field.required && field.value.length === 0) {
759
- flag = true
760
- }
761
- }
762
-
763
- //区域下拉框必选 流程模式为报警器报建
764
- if ((this.data.f_apply_type === '报警器报建' || this.data.f_apply_type === '工商业报警器报建') && this.data.defname === '工程施工' && this.data.title === '工程施工' && this.data.f_sub_state !='完工'){
765
- if (!flag){
766
- if (this.areaData.sjvalue ==null || this.areaData.sjvalue.length ==0 || this.areaData.sqvalue == null || this.areaData.sqvalue.length ==0
767
- || this.areaData.xianvalue == null || this.areaData.xianvalue.length == 0){
768
- console.log("区域为空禁止提交:",this.areaData)
769
- flag = true
770
- }
771
-
772
- if (this.templatlng.baidutemplat ==null || this.templatlng.baidutemplat.length ==0 || this.templatlng.baidutemplng == null || this.templatlng.baidutemplng.length ==0
773
- || this.templatlng.gaodetemplat == null || this.templatlng.gaodetemplat.length == 0 || this.templatlng.gaodetemplng == null || this.templatlng.gaodetemplng.length == 0){
774
- console.log("地图坐标为空禁止提交:",this.templatlng)
775
- flag = true
776
- }
777
- }
778
- }
779
- this.disable_button = flag
780
- },
781
- // 失去焦点且值最终发生变化触发
782
- async onchange (index) {
783
- // 是否禁用按钮
784
- this.disableButton()
785
-
786
- if (!isEmpty(this.data.fields[index].value)) {
787
- // 前缀、后缀
788
- if (this.data.fields[index].prefix) {
789
- this.data.fields[index].value = this.data.fields[index].prefix + this.data.fields[index].value
790
- }
791
- if (this.data.fields[index].suffix) {
792
- this.data.fields[index].value = this.data.fields[index].value + this.data.fields[index].suffix
793
- }
794
- }
795
-
796
- // data赋值
797
- this.data[this.data.fields[index].field] = this.data.fields[index].value
798
-
799
- if (this.data.fields[index].type === 'datepicker') {
800
- this.check_datepicker(index)
801
- }
802
-
803
- if (this.data.fields[index].onchange) {
804
- this.$dispatch(this.data.fields[index].onchange, index)
805
- }
806
- this.$dispatch('onchange', index)
807
- },
808
- // 失去焦点触发,无论值是否发生变化
809
- onblur (index) {
810
- this.disableButton()
811
-
812
- if (this.data.fields[index].onblur) {
813
- this.$dispatch(this.data.fields[index].onblur, index)
814
- }
815
-
816
- this.$dispatch('onblur', index)
817
- },
818
- oninput (index) {
819
- // 是否禁用按钮
820
- this.disableButton()
821
-
822
- if (this.data.fields[index].oninput) {
823
- this.$dispatch(this.data.fields[index].oninput, index)
824
- }
825
- this.$dispatch('oninput', index)
826
- },
827
- selectSearch(event, index) {
828
- if (this.data.fields[index].selectSearch) {
829
- this.$dispatch(this.data.fields[index].selectSearch, event[0], index)
830
- }
831
- this.$dispatch('selectSearch', event[0], index)
832
- },
833
- // 点击按钮组按钮
834
- async click_but (button) {
835
- //报警器区域地址
836
- this.data.areaData = this.areaData
837
- this.data.templatlng = this.templatlng
838
-
839
- this.disable_button = true
840
-
841
- this.data.fields.forEach(item => {
842
- this.data[item.field] = item.value
843
- })
844
-
845
- this.data.button = button
846
-
847
- if (button.button_fields && button.button_fields.length > 0) {
848
- this.showButModal = true
849
- return
850
- }
851
-
852
- if (this.data.button.event) {
853
- this.$dispatch(this.data.button.event)
854
- } else {
855
- this.$dispatch('button')
856
- }
857
-
858
- },
859
- confirmModal () {
860
- this.closeModal()
861
-
862
- this.data.button.button_fields.forEach(item => {
863
- this.data.button[item.field] = item.value
864
- })
865
-
866
- if (this.data.button.event) {
867
- this.$dispatch(this.data.button.event)
868
- } else {
869
- this.$dispatch('button')
870
- }
871
- },
872
- // 关闭模态框
873
- closeModal () {
874
- this.showButModal = false
875
- this.disable_modal_button = false
876
- },
877
- onbutchange (index) {
878
- // 是否禁用按钮
879
- this.disableModalButton()
880
-
881
- if (this.data.button.button_fields[index].onchange) {
882
- this.$dispatch(this.data.button.button_fields[index].onchange, index)
883
- } else {
884
- this.$dispatch('onbutchange', index)
885
- }
886
-
887
- },
888
- onbutblur (index) {
889
- this.disableModalButton()
890
-
891
- if (this.data.button.button_fields[index].onblur) {
892
- this.$dispatch(this.data.button.button_fields[index].onblur, index)
893
- } else {
894
- this.$dispatch('onbutblur', index)
895
- }
896
- },
897
- onbutinput (index) {
898
- // 是否禁用按钮
899
- this.disableModalButton()
900
-
901
- if (this.data.button.button_fields[index].oninput) {
902
- this.$dispatch(this.data.button.button_fields[index].oninput, index)
903
- } else {
904
- this.$dispatch('onbutinput', index)
905
- }
906
- },
907
- disableModalButton () {
908
- let flag = false
909
-
910
-
911
- for (const item of this.data.button.button_fields) {
912
- if (item.required && !item.value) {
913
- if (item.value === 0) {
914
- flag = false
915
- } else {
916
- flag = true
917
- }
918
- }
919
- }
920
-
921
- this.disable_modal_button = flag
922
- },
923
- check_datepicker (index) {
924
- // 时间格式检测
925
- if (!isEmpty(this.data.fields[index].value)) {
926
-
927
- let dateReg = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/
928
- let timeReg = /^(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/
929
- let datetimeReg = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\s+(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/
930
- if (this.data.fields[index].format) {
931
- if (this.data.fields[index].format === 'yyyy-MM-dd') {
932
- if (!dateReg.test(this.data.fields[index].value)) {
933
- this.data.fields[index].value = ''
934
- this.$showAlert(this.data.fields[index].label + '格式错误如:2021-01-01', 'warning', 2000)
935
- }
936
- }
937
- if (this.data.fields[index].format === 'HH:mm:ss') {
938
- if (!timeReg.test(this.data.fields[index].value)) {
939
- this.data.fields[index].value = ''
940
- this.$showAlert(this.data.fields[index].label + '格式错误如:00:00:00', 'warning', 2000)
941
- }
942
- }
943
- if (this.data.fields[index].format === 'yyyy-MM-dd HH:mm:ss') {
944
- if (!datetimeReg.test(this.data.fields[index].value)) {
945
- this.data.fields[index].value = ''
946
- this.$showAlert(this.data.fields[index].label + '格式错误如:2021-01-01 00:00:00', 'warning', 2000)
947
- }
948
- }
949
- } else {
950
- if (!dateReg.test(this.data.fields[index].value)) {
951
- this.data.fields[index].value = ''
952
- this.$showAlert(this.data.fields[index].label + '格式错误如:2021-01-01', 'warning', 2000)
953
- }
954
- }
955
- }
956
- }
957
- },
958
- events: {
959
-
960
- }
961
- }
962
- </script>
963
- <style>
964
- .datepicker{
965
- width: 100%!important;
966
- }
967
- .datepicker-input{
968
- background-color: #ffffff!important;
969
- width: 100%!important;
970
- }
971
- .datepicker-input:disabled{
972
- border: 1px solid #DDD!important;
973
- color: #ACA899!important;
974
- width: 100%!important;
975
- }
976
- </style>
977
- <style scoped>
978
- th{
979
- font-size: 15px !important;
980
- text-align: center !important;
981
- background-color: #dfedfb!important;
982
- color: #666666 !important;
983
- font-family: PINGFANG-BOLD !important;
984
- font-weight: normal!important;
985
- }
986
- /*清除model中的浮动*/
987
- .clearfix:after,.clearfix:before{
988
- display: table;
989
- }
990
- .clearfix:after{
991
- clear: both;
992
- }
993
-
994
- .input_view{
995
- padding: 8px;
996
- background-color: #ffffff;
997
- border-radius: 2px;
998
- border: solid 1px #c7c7c7!important;
999
- color: #333333!important;
1000
- font-size: 15px!important;
1001
- }
1002
-
1003
- .input_view[readonly]{
1004
- border: 1px solid #DDD!important;
1005
- color:#ACA899!important;
1006
- }
1007
- .input_view:disabled{
1008
- border: 1px solid #DDD!important;
1009
- color:#ACA899!important;
1010
- }
1011
-
1012
- .control-label-justify {
1013
- display: inline-block;
1014
- vertical-align: top;
1015
- width: 110px;
1016
- text-align: justify;
1017
- font-family: PingFang-SC-Bold;
1018
- }
1019
-
1020
- .control-label-justify::after {
1021
- content: "";
1022
- display: inline-block;
1023
- width: 100%;
1024
- overflow: hidden;
1025
- height: 0;
1026
- }
1027
-
1028
- input::-webkit-outer-spin-button,
1029
- input::-webkit-inner-spin-button {
1030
- -webkit-appearance: none;
1031
- }
1032
-
1033
- input[type="number"] {
1034
- -moz-appearance: textfield;
1035
- }
1036
-
1037
- </style>
1
+ 1<template>
2
+ <div class="select-overspread" style="background-color: #ffffff;padding: 20px;overflow: scroll">
3
+ <validator name='v' @valid="$emit('valid')" @invalid="$emit('invalid')">
4
+ <form class="form-horizontal">
5
+ <div class="form-group">
6
+ <div v-for="(index,item) in data.fields">
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') && !item.hidden && (item.device === 'pc' || !item.device) && ( item.label != '证件号码')&&( item.label !== '身份证') && (item.label !== '用户电话')"
10
+ :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
11
+ <label :style="item.label_style ? item.label_style : ''"
12
+ :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
13
+ <div :style="item.value_style ? item.value_style:''"
14
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
15
+ <input class="form-control input_view" style=""
16
+ :type="item.type"
17
+ v-model="data.fields[index].value"
18
+ :placeholder="item.placeholder"
19
+ :value="data.fields[index].value"
20
+ :readonly="item.readonly"
21
+ :disabled="item.disabled"
22
+ @change="onchange(index)"
23
+ @blur="onblur(index)"
24
+ @input="oninput(index)"
25
+ />
26
+ </div>
27
+ </div>
28
+
29
+ <!--input-->
30
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
31
+ v-if="((data.f_credentials === '军官证' ||data.f_credentials === '营业执照')&& item.label === '证件号码')"
32
+ :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
33
+ <label :style="item.label_style ? item.label_style : ''"
34
+ :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
35
+ <div :style="item.value_style ? item.value_style:''"
36
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
37
+ <input class="form-control input_view" style=""
38
+ :type="item.type"
39
+ v-model="data.fields[index].value"
40
+ :placeholder="item.placeholder"
41
+ :value="data.fields[index].value"
42
+ :readonly="item.readonly"
43
+ :disabled="item.disabled"
44
+ @change="onchange(index)"
45
+ @blur="onblur(index)"
46
+ @input="oninput(index)"
47
+ />
48
+ </div>
49
+ </div>
50
+ <!--身份证验证-->
51
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
52
+ v-if="(item.label==='身份证') || (data.f_credentials === '身份证' && item.label === '证件号码')"
53
+ :class="[$v.f_idnumber2.identityCardValid ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
54
+ <label :style="item.label_style ? item.label_style : ''"
55
+ :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
56
+ <div :style="item.value_style ? item.value_style:''"
57
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
58
+ <input class="form-control input_view" style=""
59
+ :type="item.type"
60
+ maxlength="18"
61
+ v-model="data.fields[index].value"
62
+ :placeholder="item.placeholder"
63
+ :value="data.fields[index].value"
64
+ v-validate:f_idnumber2='{identityCardValid: true}'
65
+ :readonly="item.readonly"
66
+ :disabled="item.disabled"
67
+ @change="onchange(index)"
68
+ @blur="onblur(index)"
69
+ @input="oninput(index)"
70
+ />
71
+ </div>
72
+ </div>
73
+
74
+
75
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
76
+ v-if="item.label === '用户电话'"
77
+ :class="[$v.f_user_phone.minlength || $v.f_user_phone.maxlength ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
78
+ <label :style="item.label_style ? item.label_style : ''"
79
+ :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
80
+ <div :style="item.value_style ? item.value_style:''"
81
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
82
+ <input class="form-control input_view" style=""
83
+ type="number"
84
+ oninput="if(value.length > 11) value=value.slice(0,11)"
85
+ v-validate:f_user_phone="{minlength: 7, maxlength: 11 }"
86
+ v-model="data.fields[index].value"
87
+ :placeholder="item.placeholder"
88
+ :value="data.fields[index].value"
89
+ onKeypress="return(/[\d\.]/.test(String.fromCharCode(event.keyCode)))"
90
+ :readonly="item.readonly"
91
+ :disabled="item.disabled"
92
+ @change="onchange(index)"
93
+ @blur="onblur(index)"
94
+ @input="oninput(index)"
95
+ />
96
+ </div>
97
+ </div>
98
+
99
+
100
+
101
+ <!--时间datepicker-->
102
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
103
+ v-if="item.type==='datepicker' && !item.hidden && (item.device === 'pc' || !item.device)"
104
+ :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped ? item.bootstraped+' form-group':'col-sm-4 form-group']">
105
+ <label
106
+ :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label control-label-justify col-sm-6'">{{item.label}}</label>
107
+ <div :style="item.value_style ? item.value_style:''"
108
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
109
+ <datepicker
110
+ @change="onchange(index)"
111
+ @blur="onblur(index)"
112
+ :placeholder="item.placeholder"
113
+ :value.sync="data.fields[index].value"
114
+ :format="item.format ? item.format : 'yyyy-MM-dd'"
115
+ v-model="data.fields[index].value"
116
+ :readonly="item.readonly"
117
+ :disabled="item.disabled"
118
+ :show-reset-button="reset">
119
+ </datepicker>
120
+ </div>
121
+ </div>
122
+
123
+ <!--textarea-->
124
+ <div :style="item.style ? item.style+';margin-bottom: 20px':'margin-bottom: 20px'"
125
+ v-if="item.type==='textarea' && !item.hidden && (item.device === 'pc' || !item.device)"
126
+ :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped?item.bootstraped+' form-group':'col-sm-12 form-group']">
127
+ <label :style="item.label_style ? item.label_style : ''"
128
+ :class="item.label_bootstraped ? item.label_bootstraped + ' control-label-justify control-label' : 'control-label-justify control-label col-sm-3'">{{item.label}}</label>
129
+ <div :style="item.value_style ? item.value_style:''"
130
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-10'">
131
+ <textarea
132
+ :readonly="item.readonly"
133
+ :disabled="item.disabled"
134
+ class="form-control input_view"
135
+ style="width: 100%;height: 100%"
136
+ :rows="item.rows"
137
+ v-model="data.fields[index].value"
138
+ :value="data.fields[index].value"
139
+ @change="onchange(index)"
140
+ @blur="onblur(index)"
141
+ @input="oninput(index)"
142
+ >
143
+ </textarea>
144
+ <button
145
+ v-if="(item.field==='f_prospecting_result')&&exploration" @click="showModle()">查看所有</button>
146
+ </div>
147
+ </div>
148
+
149
+ <!--select-->
150
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
151
+ v-if="item.type==='select' && !item.hidden && (item.device === 'pc' || !item.device)"
152
+ :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped?item.bootstraped+' form-group':'col-sm-4 form-group']">
153
+ <label
154
+ :class="item.label_bootstraped ? item.label_bootstraped+' control-label control-label-justify':'control-label-justify control-label col-sm-6'">{{item.label}}</label>
155
+ <div :style="item.value_style ? item.value_style:''"
156
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
157
+ <input-select
158
+ class="select select_list"
159
+ @blur="onblur(index)"
160
+ @change="onchange(index)"
161
+ @select-search="selectSearch($arguments,index)"
162
+ :readonly="item.readonly"
163
+ :disable="item.disabled"
164
+ :value.sync="data.fields[index].value"
165
+ v-model="data.fields[index].value"
166
+ :options='data.fields[index].options'
167
+ :valueSingle="true"></input-select>
168
+ </div>
169
+ </div>
170
+
171
+ <!--checkbox-->
172
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
173
+ v-if="item.type==='checkbox' && !item.hidden && (item.device === 'pc' || !item.device)"
174
+ :class="[item.required && item.value.length === 0 ? 'has-error' : '',item.bootstraped?item.bootstraped+' form-group':'col-sm-4 form-group']">
175
+ <label v-if="item.label"
176
+ :class="item.label_bootstraped?item.label_bootstraped+' control-label control-label-justify':'control-label-justify control-label col-sm-6'">{{item.label}}</label>
177
+ <div :style="item.value_style ? item.value_style:''"
178
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
179
+ <label class="checkbox-inline" v-for="(index2,row) in item.options">
180
+ <input type="checkbox" class=""
181
+ :readonly="data.fields[index].readonly"
182
+ :disabled="data.fields[index].disabled"
183
+ v-model="data.fields[index].value"
184
+ :value="data.fields[index].options[index2].value"
185
+ @change="onchange(index)"
186
+ @blur="onblur(index)">
187
+ {{row.label}}
188
+ </label>
189
+ </div>
190
+ </div>
191
+ </div>
192
+ <!--区域地址联动-->
193
+ <div>
194
+ <res-area-select-group
195
+ v-if="(data.f_apply_type === '报警器报建' || data.f_apply_type === '工商业报警器报建') && data.defname === '工程施工' && data.title === '工程施工' && data.f_sub_state !='完工'"
196
+ labelstyle = "control-label"
197
+ @shiji-select = "getSelectShijiValue"
198
+ @xian-select = "getSelectXianValue"
199
+ @shequ-select = "getSelectShequValue"
200
+ >
201
+ </res-area-select-group>
202
+ </div>
203
+
204
+ <gaode-map
205
+ v-if="(data.f_apply_type === '报警器报建' || data.f_apply_type === '工商业报警器报建') && data.defname === '工程施工' && data.title === '工程施工' && data.f_sub_state !='完工'"
206
+ >
207
+
208
+ </gaode-map>
209
+
210
+ </div>
211
+
212
+ <!-- onetomany -->
213
+ <div class="" v-for="(index,item) in data.onetomany">
214
+ <onetomany :selectdata="data" :onetomany="item" :index="index" v-if="item.device === 'pc' || !item.device"></onetomany>
215
+ </div>
216
+
217
+ <div v-for="(i,item) in data.components">
218
+ <component v-if="item.device === 'pc' || !item.device" :is="item.name" :selectdata="data" :mark="item.mark"></component>
219
+ </div>
220
+
221
+ <!--自定义组件-->
222
+ <slot>
223
+ <!--<div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"-->
224
+ <!-- v-if="data.f_apply_type === '报警器报建' && data.defname === '工程施工'"-->
225
+ <!-- :class="[$v.f_idnumber2.identityCardValid ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">-->
226
+
227
+ <!--<div class="col-sm-6 form-group "-->
228
+ <!-- :class="[$v.f_pcd_id.required ? 'has-error' : 'has-success']">-->
229
+ <!-- <label class="font_normal_body">省&ensp;市&ensp;区</label>-->
230
+ <!-- <input type="text" style="width:41%" v-show="false" v-model="model.f_pcd_id"-->
231
+ <!-- v-validate:f_pcd_id='{required: true }'-->
232
+ <!-- >-->
233
+
234
+ <!-- <v-select :value.sync="model.f_pcd_id" :value-single="true"-->
235
+ <!-- :options='pcdslist' placeholder='请选择2'-->
236
+ <!-- close-on-select search="true" @change="pcdChange">-->
237
+ <!-- </v-select>-->
238
+ <!--</div>-->
239
+ <!--<div class="col-sm-6 form-group "-->
240
+ <!-- :class="[$v.f_street_id.required ? 'has-error' : 'has-success']">-->
241
+ <!-- <label class="font_normal_body">街道/乡镇</label>-->
242
+ <!-- <input type="text" style="width:41%" v-show="false" v-model="model.f_street_id"-->
243
+ <!-- >-->
244
+ <!-- <v-select :value.sync="model.f_street_id" :value-single="true"-->
245
+ <!-- :options='streetslist' placeholder='请选择'-->
246
+ <!-- @change="streetChange"-->
247
+ <!-- close-on-select search="true">-->
248
+ <!-- </v-select>-->
249
+
250
+ <!--</div>-->
251
+ <!--<div class="col-sm-6 form-group "-->
252
+ <!-- :class="[$v.f_residential_area_id.required ? 'has-error' : 'has-success']">-->
253
+ <!-- <label class="font_normal_body">集收单位</label>-->
254
+ <!-- <input type="text" style="width:41%" v-show="false" v-model="model.f_residential_area_id"-->
255
+ <!-- v-validate:f_residential_area_id='{required: true }'>-->
256
+ <!-- <v-select :value.sync="model.f_residential_area_id" :value-single="true"-->
257
+ <!-- :options='areaslist' placeholder='请选择'-->
258
+ <!-- @change="" @select-search="selectSearch"-->
259
+ <!-- close-on-select search="true">-->
260
+ <!-- </v-select>-->
261
+ <!--</div>-->
262
+ <!--</div>-->
263
+ </slot>
264
+ <!--公司等属性-->
265
+ <div class="col-sm-12 form-group text-center" style="padding-top:8px">
266
+ <div class="col-sm-3 form-group center-block">
267
+ <label class="col-sm-5">所属公司:</label>
268
+ <div class="col-sm-6" style="text-align: left">
269
+ {{model.orgs}}
270
+ </div>
271
+ </div>
272
+ <div class="col-sm-3 form-group center-block">
273
+ <label class="col-sm-5">部门:</label>
274
+ <div class="col-sm-6" style="text-align: left">
275
+ {{model.parentname}}
276
+ </div>
277
+ </div>
278
+ <div class="col-sm-3 form-group center-block">
279
+ <label class="col-sm-5">操作人:</label>
280
+ <div class="col-sm-6 " style="text-align: left">
281
+ {{model.operator}}
282
+ </div>
283
+ </div>
284
+ <div class="col-sm-3 form-group center-block">
285
+ <label class="col-sm-5">操作日期:</label>
286
+ <div class="col-sm-6" style="text-align: left">
287
+ {{model.operate_date}}
288
+ </div>
289
+ </div>
290
+ </div>
291
+ <!-- 按钮组 -->
292
+ <div class="from-group col-sm-12 text-center">
293
+ <!-- 按钮组 -->
294
+ <button v-for="(index,button) in data.buttons"
295
+ :disabled="(button.disabled && disable_button)"
296
+ style="min-width:100px"
297
+ :class="button.disabled && disable_button ? 'btn btn-default button_spacing' : 'btn btn-primary button_spacing'"
298
+ v-if="!button.hidden && button.button_name !=='提交'&& button.button_name !=='确认'"
299
+ @click.prevent="click_but(button)"
300
+ >
301
+ {{button.button_name}}
302
+ </button>
303
+ <button v-for="(index,button) in data.buttons"
304
+ :disabled="(button.disabled && disable_button) || (!$v.valid)"
305
+ style="min-width:100px"
306
+ :class="button.disabled && disable_button || (!$v.valid) ? 'btn btn-default button_spacing' : 'btn btn-primary button_spacing'"
307
+ v-if="!button.hidden && (button.button_name ==='提交'||button.button_name ==='确认')"
308
+ @click.prevent="click_but(button)"
309
+ >
310
+ {{button.button_name}}
311
+ </button>
312
+ </div>
313
+
314
+ <!-- 按钮模态框 -->
315
+ <modal v-if="showButModal" :show.sync="showButModal" backdrop="false" large>
316
+ <header slot="modal-header" class="modal-header">
317
+ <button type="button" class="close" @click="closeModal()"><span>&times;</span></button>
318
+ <span class="modal-title"><font
319
+ size="3">{{data.button.button_name}}</font></span>
320
+ </header>
321
+ <article slot="modal-body" class="modal-body clearfix">
322
+ <div class="form-group" style="padding: 0 150px">
323
+ <div v-for="(index,item) in data.button.button_fields">
324
+ <div :style="item.style ? item.style : ''" :class="[item.required && !(item.value) ? 'has-error' : '', item.bootstraped ? item.bootstraped + ' form-group' : 'form-group']"
325
+ v-if="(item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email') && !item.hidden && (item.device === 'pc' || !item.device)">
326
+ <label :style="item.label_style ? item.label_style : ''"
327
+ :class="item.label_bootstraped ? item.label_bootstraped + ' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
328
+ <div :style="item.value_style ? item.value_style : ''"
329
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-9'">
330
+ <input class="form-control input_view"
331
+ :placeholder="item.placeholder"
332
+ :type="item.type"
333
+ v-model="item.value"
334
+ :value="item.value"
335
+ :readonly="item.readonly"
336
+ :disabled="item.disabled"
337
+ @change="onbutchange(index)"
338
+ @blur="onbutblur(index)"
339
+ @input="onbutinput(index)"
340
+ />
341
+ </div>
342
+ </div>
343
+
344
+ <!--时间datepicker-->
345
+ <div :style="item.style ? item.style : ''" :class="[item.required && !(item.value) ? 'has-error' : '', item.bootstraped ? item.bootstraped + ' form-group':'form-group']"
346
+ v-if="item.type==='datepicker' && !item.hidden && (item.device === 'pc' || !item.device)">
347
+ <label :style="item.label_style ? item.label_style : ''"
348
+ :class="item.label_bootstraped ? item.label_bootstraped + ' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
349
+ <div :style="item.value_style ? item.value_style : ''"
350
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-9'">
351
+ <datepicker
352
+ :placeholder="item.placeholder"
353
+ :value.sync="item.value"
354
+ v-model="item.value"
355
+ :readonly="item.readonly"
356
+ :disabled="item.disabled"
357
+ :format="item.format ? item.format : 'yyyy-MM-dd'"
358
+ :show-reset-button="true"
359
+ @change="onbutchange(index)"
360
+ @blur="onbutblur(index)"
361
+ ></datepicker>
362
+ </div>
363
+ </div>
364
+
365
+ <!--select-->
366
+ <div :style="item.style ? item.style : ''" :class="[item.required && !(item.value) ? 'has-error' : '', item.bootstraped ? item.bootstraped + ' form-group':'form-group']"
367
+ v-if="item.type==='select' && !item.hidden && (item.device === 'pc' || !item.device)">
368
+ <label :style="item.label_style ? item.label_style : ''"
369
+ :class="item.label_bootstraped ? item.label_bootstraped + ' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
370
+ <div :style="item.value_style ? item.value_style : ''"
371
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-9'">
372
+ <input-select
373
+ class="select select_list"
374
+ :value.sync="item.value"
375
+ v-model="item.value"
376
+ :options='item.options'
377
+ :readonly="item.readonly"
378
+ :disable="item.disabled"
379
+ :valueSingle="true"
380
+ @blur="onbutblur(index)"
381
+ @change="onbutchange(index)"
382
+ ></input-select>
383
+ </div>
384
+ </div>
385
+
386
+ <!--textarea-->
387
+ <div :style="item.style ? item.style : ''" :class="[item.required && !(item.value) ? 'has-error' : '', item.bootstraped ? item.bootstraped + ' form-group':'form-group']"
388
+ v-if="item.type==='textarea' && !item.hidden && (item.device === 'pc' || !item.device)">
389
+ <label :style="item.label_style ? item.label_style : ''"
390
+ :class="item.label_bootstraped ? item.label_bootstraped + ' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
391
+ <div :style="item.value_style ? item.value_style : ''"
392
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-9'">
393
+ <textarea
394
+ class="form-control input_view"
395
+ style="width: 100%;height: 100%"
396
+ v-model="item.value"
397
+ :value="item.value"
398
+ :rows="item.rows"
399
+ :readonly="item.readonly"
400
+ :disabled="item.disabled"
401
+ @change="onbutchange(index)"
402
+ @blur="onbutblur(index)"
403
+ @input="onbutinput(index)"
404
+ ></textarea>
405
+ </div>
406
+ </div>
407
+ </div>
408
+ </div>
409
+ </article>
410
+ <footer slot="modal-footer" class="modal-footer">
411
+ <button :class="disable_modal_button ? 'btn btn-default':'btn btn-primary'"
412
+ :disabled="disable_modal_button" type="button" @click="confirmModal()">
413
+ 确认
414
+ </button>
415
+ </footer>
416
+ </modal>
417
+ </form>
418
+ <modal v-if="showModal" :show.sync="showModal" cancel-text="取消"
419
+ ok-text="确认">
420
+ <div class="form-horizontal" slot="modal-body">
421
+ <!-- table表格,标题为勘察结果,勘察时间-->
422
+ <table class="table table-bordered table-hover table-striped">
423
+ <thead>
424
+ <tr>
425
+ <th>序号</th>
426
+ <th>勘察结果</th>
427
+ <th>勘察时间</th>
428
+ </tr>
429
+ </thead>
430
+ <tbody>
431
+ <tr v-for="(index,item) in exdata" >
432
+ <td :style="{ textAlign: 'center' }">{{index*1+1}}</td>
433
+ <td :style="{ textAlign: 'center' }">{{item.f_exploration_result}}</td>
434
+ <td :style="{ textAlign: 'center' }">{{item.f_time}}</td>
435
+ </tr>
436
+ </tbody>
437
+ </table>
438
+ </div>
439
+ </modal>
440
+ </div>
441
+ </template>
442
+ <script>
443
+ import Vue from 'vue'
444
+ import {isEmpty} from '../../../components/Util'
445
+ import {HttpResetClass} from 'vue-client'
446
+ // Date格式化
447
+ Date.prototype.Format = function (fmt) {
448
+ var o = {
449
+ 'M+': this.getMonth() + 1, // 月份
450
+ 'd+': this.getDate(), // 日
451
+ 'H+': this.getHours(), // 小时
452
+ 'm+': this.getMinutes(), // 分
453
+ 's+': this.getSeconds(), // 秒
454
+ 'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
455
+ 'S': this.getMilliseconds() // 毫秒
456
+ }
457
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
458
+ for (var k in o) {
459
+ if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
460
+ }
461
+ return fmt
462
+ }
463
+
464
+ export default {
465
+ title: '报建业务通用组件',
466
+ props: {
467
+ data: {
468
+ type: Object
469
+ }
470
+ },
471
+ data () {
472
+ return {
473
+ showModal:false,//勘察结果弹窗
474
+ exdata: [],//勘察结果数据
475
+ model: {}, // 公司等属性
476
+ exploration:false,//勘察结果按钮显示
477
+ disable_button: true, // 控制按钮禁用
478
+ disable_modal_button: true, // 控制按钮禁用
479
+ //初始化省市区数据
480
+ pcdslist: [],
481
+ //初始化街道数据
482
+ streetslist: [],
483
+ //初始化街道数据
484
+ areaslist: [],
485
+ showButModal: false,
486
+ areaData:{
487
+ sjvalue:'',
488
+ xianvalue:'',
489
+ sqvalue:'',
490
+ },
491
+ templatlng: {
492
+ gaodetemplng: "",
493
+ gaodetemplat: "",
494
+ baidutemplng: "",
495
+ baidutemplat: ""
496
+ }
497
+ }
498
+ },
499
+ watch: {
500
+ deep: true
501
+ },
502
+ computed: {
503
+
504
+ },
505
+ ready () {
506
+ if(this.data.defname=='部门领导审核') {
507
+ let http = new HttpResetClass()
508
+ let res = http.load(
509
+ 'POST',
510
+ `rs/sql/exploration`,
511
+ {
512
+ data: {
513
+ id: this.data.f_process_id,
514
+ }
515
+ },
516
+ {resolveMsg: null, rejectMsg: '勘察结果查询失败!!!'}
517
+ ).then(value =>{
518
+ //遍历value.data数组
519
+ for(let i=0;i<value.data.length;i++){
520
+ // value.data[i].f_time=new Date(value.data[i].f_time).Format("yyyy-MM-dd HH:mm:ss")
521
+ //将数组中的每一个对象赋值给exdata
522
+ this.exdata.push(value.data[i])
523
+ }
524
+ if(value.data.length>1){
525
+ this.exploration=true
526
+ }
527
+ })
528
+
529
+ }
530
+ },
531
+ created () {
532
+ // 初始化数据
533
+ this.initializtion()
534
+ if (this.data.readyEvent) {
535
+ this.$dispatch(this.data.readyEvent)
536
+ }
537
+ this.$dispatch('initializtionView')
538
+ },
539
+ methods: {
540
+ showModle(){
541
+ this.showModal=true
542
+ },
543
+ // 初始化数据
544
+ initializtion () {
545
+ for (const item of this.data.fields) {
546
+ this.data[item.field] = item.value
547
+ }
548
+
549
+ // 是否禁用按钮
550
+ this.disableButton()
551
+ // 公司等属性初始化
552
+ if (this.data.orgs) {
553
+ this.model.orgs = this.data.orgs
554
+ } else {
555
+ this.model.orgs = this.$login.f.orgs
556
+ }
557
+ if (this.data.parentname) {
558
+ this.model.parentname = this.data.parentname
559
+ } else {
560
+ this.model.parentname = this.$login.f.f_department_name
561
+ }
562
+ if (this.data.operate_date) {
563
+ this.model.operate_date = this.data.operate_date
564
+ } else {
565
+ this.model.operate_date = new Date().Format('yyyy-MM-dd')
566
+ }
567
+ if (this.data.operator) {
568
+ this.model.operator = this.data.operator
569
+ } else {
570
+ this.model.operator = this.$login.f.name
571
+ }
572
+
573
+ this.initpcds(` j_orgid = '${this.$login.f.orgid}'`)
574
+ },
575
+ async getSelectShijiValue(sjvalue,sjlable) {
576
+ this.areaData.sjvalue = sjvalue
577
+ console.log("这是父级接收的市级值:",sjvalue,sjlable)
578
+ this.data.areaData = this.areaData
579
+
580
+ // 是否禁用按钮
581
+ this.disableButton()
582
+ },
583
+ async getSelectXianValue(xianvalue,xianlable) {
584
+ this.areaData.xianvalue = xianvalue
585
+ this.data.areaData = this.areaData
586
+ console.log("这是父级接收的县级值:",xianvalue,xianlable)
587
+
588
+ // 是否禁用按钮
589
+ this.disableButton()
590
+ },
591
+ async getSelectShequValue(sqvalue,sqlable) {
592
+ this.areaData.sqvalue = sqvalue
593
+ this.data.areaData = this.areaData
594
+ console.log("这是父级接收的社区值:",sqvalue,sqlable)
595
+
596
+ // 是否禁用按钮
597
+ this.disableButton()
598
+ },
599
+ //初始化省市区,添加街道
600
+ async initpcds(pconditon) {
601
+ // console.log('initpcds', pconditon)
602
+ // this.pcdslist = []
603
+ // let HttpReset = new HttpResetClass()
604
+ // let req = await HttpReset.load('POST', 'rs/sql/address_singleTableOrderBy?pageNo=1&pageSize=9999999', {
605
+ // data: {
606
+ // items: '*',
607
+ // tablename: 'j_bjqpcd',
608
+ // orderitem: 'id',
609
+ // condition: pconditon
610
+ // }
611
+ // }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
612
+ // let redata = []
613
+ // req.data.forEach((row, n) => {
614
+ // redata[n] = {
615
+ // label: row.j_areaname,
616
+ // value: row.j_areaid,
617
+ // data: row,
618
+ // id: row.id
619
+ // }
620
+ // })
621
+ // console.log('市区', redata)
622
+ // this.pcdslist = redata
623
+ },
624
+ //初始化街道 添加小区
625
+ async initstreets(pconditon) {
626
+ // console.log('市区32', pconditon)
627
+ // this.streetslist = []
628
+ // let HttpReset = new HttpResetClass()
629
+ // let req = await HttpReset.load('POST', 'rs/sql/address_singleTableOrderBy', {
630
+ // data: {
631
+ // items: '*',
632
+ // tablename: 'j_bjqstreet',
633
+ // orderitem: 'id',
634
+ // condition: pconditon
635
+ // }
636
+ // }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
637
+ // let redata = []
638
+ // req.data.forEach((row, n) => {
639
+ // redata[n] = {
640
+ // label: row.j_areaname,
641
+ // value: row.j_areaid,
642
+ // data: row,
643
+ // id: row.id
644
+ // }
645
+ // })
646
+ // console.log('市区333', redata)
647
+ // this.streetslist = redata
648
+ // this.model.f_iscity = this.findbyid(this.streetslist, this.model.f_street_id).f_iscity
649
+ },
650
+ //初始化小区添加小区
651
+ async initareas(pconditon) {
652
+ // if(this.usertype){
653
+ // pconditon=pconditon+` and f_special='1' `
654
+ // }
655
+ // this.areaslist = []
656
+ // let HttpReset = new HttpResetClass()
657
+ // let req = await HttpReset.load('POST', 'rs/sql/address_singleTableOrderBy?pageNo=1&pageSize=100', {
658
+ // data: {
659
+ // items: '*',
660
+ // tablename: 'j_bjqarea',
661
+ // orderitem: 'id',
662
+ // condition: pconditon
663
+ // }
664
+ // }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
665
+ // let redata = []
666
+ // req.data.forEach((row) => {
667
+ // redata.push({
668
+ // label: row.j_areaname,
669
+ // value: row.j_areaid,
670
+ // data: row,
671
+ // id: row.id
672
+ // })
673
+ // })
674
+ // console.log('市区666', redata)
675
+ // if (redata.length>0){
676
+ // this.areaslist = redata
677
+ // }
678
+ },
679
+ //省/市/区变化
680
+ async pcdChange(val) {
681
+
682
+ // console.log("省/市/区变化", val)
683
+ // console.log("省/市/区变化", ` f_pcd_id ='${val}' `)
684
+ // if (val) {
685
+ // //那就把[小区,街道]重新组织一下
686
+ // await this.initstreets(` j_parentid ='${val}' `)
687
+ // if (this.model.f_street_id) {
688
+ // if (this.findbyid(this.streetslist, this.model.f_street_id)) {
689
+ // let pcd_id = this.findbyid(this.streetslist, this.model.f_street_id).f_pcd_id
690
+ // if (pcd_id != val) {
691
+ // this.model.f_street_id = ''
692
+ // }
693
+ // } else {
694
+ // this.model.f_street_id = ''
695
+ // }
696
+ //
697
+ // //那就把[小区,街道]重新组织一下
698
+ // if (this.model.f_street_id) {
699
+ // await this.initareas(` j_parentid ='${this.model.f_street_id}' `)
700
+ // if (this.model.f_residential_area_id) {
701
+ // if (this.findbyid(this.areaslist, this.model.f_residential_area_id)) {
702
+ // let pcd_id = this.findbyid(this.areaslist, this.model.f_residential_area_id).f_pcd_id
703
+ // if (pcd_id != val) {
704
+ // this.model.f_residential_area_id = ''
705
+ // }
706
+ // } else {
707
+ // this.model.f_residential_area_id = ''
708
+ // }
709
+ //
710
+ // }
711
+ // }
712
+ // }
713
+ // }
714
+ // this.$resetValidation()
715
+ },
716
+ //街道变化
717
+ async streetChange(val) {
718
+ // console.log("街道变化", val)
719
+ // if (this.streetslist[0]) {
720
+ // var street = ''
721
+ // this.streetslist.forEach((item) => {
722
+ // if (item.id === val) {
723
+ // street = item.label
724
+ // }
725
+ // })
726
+ // this.model.f_address = street
727
+ // }
728
+ // if (val) {
729
+ // //那就把[小区]重新组织一下
730
+ // await this.initareas(` j_parentid ='${val}' `)
731
+ // if (this.model.f_residential_area_id) {
732
+ // if (this.findbyid(this.areaslist, this.model.f_residential_area_id)) {
733
+ // let street_id = this.findbyid(this.areaslist, this.model.f_residential_area_id).f_street_id
734
+ // if (street_id != val) {
735
+ // this.model.f_residential_area_id = ''
736
+ // }
737
+ // } else {
738
+ // this.model.f_residential_area_id = ''
739
+ // }
740
+ //
741
+ // }
742
+ // }
743
+ // this.$resetValidation()
744
+ },
745
+ // 是否禁用按钮
746
+ disableButton () {
747
+ let flag = false
748
+ for (const field of this.data.fields) {
749
+ if (field.required && !field.value && !field.hidden && field.value !== 0) {
750
+ flag = true
751
+ }
752
+
753
+ // 任何选择框只要是否都不能提交
754
+ if (field.type === 'select' && field.value === '否' && field.value_no_disable) {
755
+ flag = true
756
+ }
757
+
758
+ if (field.type === 'checkbox' && field.required && field.value.length === 0) {
759
+ flag = true
760
+ }
761
+ }
762
+
763
+ //区域下拉框必选 流程模式为报警器报建
764
+ if ((this.data.f_apply_type === '报警器报建' || this.data.f_apply_type === '工商业报警器报建') && this.data.defname === '工程施工' && this.data.title === '工程施工' && this.data.f_sub_state !='完工'){
765
+ if (!flag){
766
+ if (this.areaData.sjvalue ==null || this.areaData.sjvalue.length ==0 || this.areaData.sqvalue == null || this.areaData.sqvalue.length ==0
767
+ || this.areaData.xianvalue == null || this.areaData.xianvalue.length == 0){
768
+ console.log("区域为空禁止提交:",this.areaData)
769
+ flag = true
770
+ }
771
+
772
+ if (this.templatlng.baidutemplat ==null || this.templatlng.baidutemplat.length ==0 || this.templatlng.baidutemplng == null || this.templatlng.baidutemplng.length ==0
773
+ || this.templatlng.gaodetemplat == null || this.templatlng.gaodetemplat.length == 0 || this.templatlng.gaodetemplng == null || this.templatlng.gaodetemplng.length == 0){
774
+ console.log("地图坐标为空禁止提交:",this.templatlng)
775
+ flag = true
776
+ }
777
+ }
778
+ }
779
+ this.disable_button = flag
780
+ },
781
+ // 失去焦点且值最终发生变化触发
782
+ async onchange (index) {
783
+ // 是否禁用按钮
784
+ this.disableButton()
785
+
786
+ if (!isEmpty(this.data.fields[index].value)) {
787
+ // 前缀、后缀
788
+ if (this.data.fields[index].prefix) {
789
+ this.data.fields[index].value = this.data.fields[index].prefix + this.data.fields[index].value
790
+ }
791
+ if (this.data.fields[index].suffix) {
792
+ this.data.fields[index].value = this.data.fields[index].value + this.data.fields[index].suffix
793
+ }
794
+ }
795
+
796
+ // data赋值
797
+ this.data[this.data.fields[index].field] = this.data.fields[index].value
798
+
799
+ if (this.data.fields[index].type === 'datepicker') {
800
+ this.check_datepicker(index)
801
+ }
802
+
803
+ if (this.data.fields[index].onchange) {
804
+ this.$dispatch(this.data.fields[index].onchange, index)
805
+ }
806
+ this.$dispatch('onchange', index)
807
+ },
808
+ // 失去焦点触发,无论值是否发生变化
809
+ onblur (index) {
810
+ this.disableButton()
811
+
812
+ if (this.data.fields[index].onblur) {
813
+ this.$dispatch(this.data.fields[index].onblur, index)
814
+ }
815
+
816
+ this.$dispatch('onblur', index)
817
+ },
818
+ oninput (index) {
819
+ // 是否禁用按钮
820
+ this.disableButton()
821
+
822
+ if (this.data.fields[index].oninput) {
823
+ this.$dispatch(this.data.fields[index].oninput, index)
824
+ }
825
+ this.$dispatch('oninput', index)
826
+ },
827
+ selectSearch(event, index) {
828
+ if (this.data.fields[index].selectSearch) {
829
+ this.$dispatch(this.data.fields[index].selectSearch, event[0], index)
830
+ }
831
+ this.$dispatch('selectSearch', event[0], index)
832
+ },
833
+ // 点击按钮组按钮
834
+ async click_but (button) {
835
+ //报警器区域地址
836
+ this.data.areaData = this.areaData
837
+ this.data.templatlng = this.templatlng
838
+
839
+ this.disable_button = true
840
+
841
+ this.data.fields.forEach(item => {
842
+ this.data[item.field] = item.value
843
+ })
844
+
845
+ this.data.button = button
846
+
847
+ if (button.button_fields && button.button_fields.length > 0) {
848
+ this.showButModal = true
849
+ return
850
+ }
851
+
852
+ if (this.data.button.event) {
853
+ this.$dispatch(this.data.button.event)
854
+ } else {
855
+ this.$dispatch('button')
856
+ }
857
+
858
+ },
859
+ confirmModal () {
860
+ this.closeModal()
861
+
862
+ this.data.button.button_fields.forEach(item => {
863
+ this.data.button[item.field] = item.value
864
+ })
865
+
866
+ if (this.data.button.event) {
867
+ this.$dispatch(this.data.button.event)
868
+ } else {
869
+ this.$dispatch('button')
870
+ }
871
+ },
872
+ // 关闭模态框
873
+ closeModal () {
874
+ this.showButModal = false
875
+ this.disable_modal_button = false
876
+ },
877
+ onbutchange (index) {
878
+ // 是否禁用按钮
879
+ this.disableModalButton()
880
+
881
+ if (this.data.button.button_fields[index].onchange) {
882
+ this.$dispatch(this.data.button.button_fields[index].onchange, index)
883
+ } else {
884
+ this.$dispatch('onbutchange', index)
885
+ }
886
+
887
+ },
888
+ onbutblur (index) {
889
+ this.disableModalButton()
890
+
891
+ if (this.data.button.button_fields[index].onblur) {
892
+ this.$dispatch(this.data.button.button_fields[index].onblur, index)
893
+ } else {
894
+ this.$dispatch('onbutblur', index)
895
+ }
896
+ },
897
+ onbutinput (index) {
898
+ // 是否禁用按钮
899
+ this.disableModalButton()
900
+
901
+ if (this.data.button.button_fields[index].oninput) {
902
+ this.$dispatch(this.data.button.button_fields[index].oninput, index)
903
+ } else {
904
+ this.$dispatch('onbutinput', index)
905
+ }
906
+ },
907
+ disableModalButton () {
908
+ let flag = false
909
+
910
+
911
+ for (const item of this.data.button.button_fields) {
912
+ if (item.required && !item.value) {
913
+ if (item.value === 0) {
914
+ flag = false
915
+ } else {
916
+ flag = true
917
+ }
918
+ }
919
+ }
920
+
921
+ this.disable_modal_button = flag
922
+ },
923
+ check_datepicker (index) {
924
+ // 时间格式检测
925
+ if (!isEmpty(this.data.fields[index].value)) {
926
+
927
+ let dateReg = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/
928
+ let timeReg = /^(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/
929
+ let datetimeReg = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\s+(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/
930
+ if (this.data.fields[index].format) {
931
+ if (this.data.fields[index].format === 'yyyy-MM-dd') {
932
+ if (!dateReg.test(this.data.fields[index].value)) {
933
+ this.data.fields[index].value = ''
934
+ this.$showAlert(this.data.fields[index].label + '格式错误如:2021-01-01', 'warning', 2000)
935
+ }
936
+ }
937
+ if (this.data.fields[index].format === 'HH:mm:ss') {
938
+ if (!timeReg.test(this.data.fields[index].value)) {
939
+ this.data.fields[index].value = ''
940
+ this.$showAlert(this.data.fields[index].label + '格式错误如:00:00:00', 'warning', 2000)
941
+ }
942
+ }
943
+ if (this.data.fields[index].format === 'yyyy-MM-dd HH:mm:ss') {
944
+ if (!datetimeReg.test(this.data.fields[index].value)) {
945
+ this.data.fields[index].value = ''
946
+ this.$showAlert(this.data.fields[index].label + '格式错误如:2021-01-01 00:00:00', 'warning', 2000)
947
+ }
948
+ }
949
+ } else {
950
+ if (!dateReg.test(this.data.fields[index].value)) {
951
+ this.data.fields[index].value = ''
952
+ this.$showAlert(this.data.fields[index].label + '格式错误如:2021-01-01', 'warning', 2000)
953
+ }
954
+ }
955
+ }
956
+ }
957
+ },
958
+ events: {
959
+
960
+ }
961
+ }
962
+ </script>
963
+ <style>
964
+ .datepicker{
965
+ width: 100%!important;
966
+ }
967
+ .datepicker-input{
968
+ background-color: #ffffff!important;
969
+ width: 100%!important;
970
+ }
971
+ .datepicker-input:disabled{
972
+ border: 1px solid #DDD!important;
973
+ color: #ACA899!important;
974
+ width: 100%!important;
975
+ }
976
+ </style>
977
+ <style scoped>
978
+ th{
979
+ font-size: 15px !important;
980
+ text-align: center !important;
981
+ background-color: #dfedfb!important;
982
+ color: #666666 !important;
983
+ font-family: PINGFANG-BOLD !important;
984
+ font-weight: normal!important;
985
+ }
986
+ /*清除model中的浮动*/
987
+ .clearfix:after,.clearfix:before{
988
+ display: table;
989
+ }
990
+ .clearfix:after{
991
+ clear: both;
992
+ }
993
+
994
+ .input_view{
995
+ padding: 8px;
996
+ background-color: #ffffff;
997
+ border-radius: 2px;
998
+ border: solid 1px #c7c7c7!important;
999
+ color: #333333!important;
1000
+ font-size: 15px!important;
1001
+ }
1002
+
1003
+ .input_view[readonly]{
1004
+ border: 1px solid #DDD!important;
1005
+ color:#ACA899!important;
1006
+ }
1007
+ .input_view:disabled{
1008
+ border: 1px solid #DDD!important;
1009
+ color:#ACA899!important;
1010
+ }
1011
+
1012
+ .control-label-justify {
1013
+ display: inline-block;
1014
+ vertical-align: top;
1015
+ width: 110px;
1016
+ text-align: justify;
1017
+ font-family: PingFang-SC-Bold;
1018
+ }
1019
+
1020
+ .control-label-justify::after {
1021
+ content: "";
1022
+ display: inline-block;
1023
+ width: 100%;
1024
+ overflow: hidden;
1025
+ height: 0;
1026
+ }
1027
+
1028
+ input::-webkit-outer-spin-button,
1029
+ input::-webkit-inner-spin-button {
1030
+ -webkit-appearance: none;
1031
+ }
1032
+
1033
+ input[type="number"] {
1034
+ -moz-appearance: textfield;
1035
+ }
1036
+
1037
+ </style>