apply-clients 3.3.36 → 3.3.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/build/css-loaders.js +34 -0
  2. package/build/dev-android.js +101 -0
  3. package/build/dev-client.js +8 -0
  4. package/build/dev-server-app.js +76 -0
  5. package/build/dev-server.js +130 -0
  6. package/build/example-server.js +80 -0
  7. package/build/release.sh +28 -0
  8. package/build/utils.js +80 -0
  9. package/build/webpack.base.conf.js +84 -0
  10. package/build/webpack.baseandroid.conf.js +84 -0
  11. package/build/webpack.dev.conf.js +39 -0
  12. package/build/webpack.devandroid.conf.js +34 -0
  13. package/build/webpack.example.conf.js +49 -0
  14. package/build/webpack.prod.conf.js +60 -0
  15. package/build/webpack.prodandroid.conf.js +60 -0
  16. package/build/webpack.test.conf.js +31 -0
  17. package/index.html +33 -33
  18. package/package.json +1 -1
  19. package/src/AndroidApp.vue +30 -30
  20. package/src/android.js +21 -21
  21. package/src/apply.js +1 -8
  22. package/src/applyAndroid.js +1 -8
  23. package/src/components/android/AppOnetomany.vue +305 -305
  24. package/src/components/android/AppServiceView.vue +1 -1
  25. package/src/components/android/AppTakePic.vue +143 -143
  26. package/src/components/android/Function/AppFunctionServiceControl.vue +344 -344
  27. package/src/components/android/Function/AppInstallFunction.vue +1 -1
  28. package/src/components/android/Process/AppExplorationUser.vue +1 -1
  29. package/src/components/android/Process/AppServiceControl.vue +1 -0
  30. package/src/components/android/Process/Processes/AppChargeManagement.vue +468 -468
  31. package/src/components/android/Process/Processes/AppDevicesManagement.vue +508 -508
  32. package/src/components/android/Process/Processes/AppInstallationDetails.vue +471 -471
  33. package/src/components/android/Process/Processes/AppSupplementalAgreement.vue +297 -297
  34. package/src/components/android/Supervisory/AppProcessSupervisory.vue +1 -1
  35. package/src/components/android/Supervisory/AppSupervisoryCart.vue +115 -115
  36. package/src/components/product/ApplyCharge/ApplyChargeList.vue +59 -13
  37. package/src/components/product/ApplyCharge/ApplyChargeSearch.vue +30 -30
  38. package/src/components/product/Function/InstallFunction.vue +10 -0
  39. package/src/components/product/Function/InstallInfoSelect.vue +4 -0
  40. package/src/components/product/Function/Service/FunctionServiceControl.vue +4 -4
  41. package/src/components/product/Install/InstallProject.vue +194 -194
  42. package/src/components/product/Material/MaterialDetailed.vue +12 -1
  43. package/src/components/product/OldApply/Handle/HandleApply.vue +3 -0
  44. package/src/components/product/OldApply/Monitor/MonitorApply.vue +3 -0
  45. package/src/components/product/OldApply/OldApply.vue +2 -2
  46. package/src/components/product/OldApply/OldApplyMessage.vue +411 -411
  47. package/src/components/product/Onetomany.vue +381 -381
  48. package/src/components/product/Order/OrderApply.vue +47 -47
  49. package/src/components/product/Order/OrderApplyList.vue +263 -263
  50. package/src/components/product/Order/OrderMessage.vue +237 -237
  51. package/src/components/product/Process/ExplorationSelect.vue +4 -0
  52. package/src/components/product/Process/ExplorationUser.vue +10 -0
  53. package/src/components/product/Process/Processes/InstallationDetails.vue +17 -3
  54. package/src/components/product/Process/Processes/Print/printBuildOrder.vue +8 -29
  55. package/src/components/product/Process/Processes/Print/printCharge.vue +142 -142
  56. package/src/components/product/Process/Processes/Print/printRefund.vue +1 -1
  57. package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +19 -3
  58. package/src/components/product/Process/Processes/chargeManagement.vue +1 -1
  59. package/src/components/product/Process/Processes/devicesManagement.vue +478 -478
  60. package/src/components/product/Process/Processes/selectApply.vue +250 -250
  61. package/src/components/product/Process/Processes/selectUserinfo.vue +182 -182
  62. package/src/components/product/Process/Processes/supplementalAgreement.vue +298 -298
  63. package/src/components/product/Process/Service/ServiceControl.vue +2 -1
  64. package/src/components/product/Process/ShowBackReason.vue +33 -33
  65. package/src/components/product/ServiceView.vue +1 -1
  66. package/src/components/product/Stop/StopApply.vue +101 -101
  67. package/src/components/product/Stop/StopApplyList.vue +271 -271
  68. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +804 -804
  69. package/src/components/product/Supervisory/SupervisoryControl.vue +10 -0
  70. package/src/components/product/Supervisory/SupervisoryList.vue +4 -0
  71. package/src/components/product/Supervisory/SupervisoryhCart.vue +124 -124
  72. package/src/components/product/VueUtils/ApplyUpload.vue +262 -262
  73. package/src/components/product/VueUtils/GaoPaiYi/HighMeter.vue +1090 -1090
  74. package/src/main.js +23 -23
  75. package/dist-android/index.html +0 -3
  76. package/dist-android/static/.gitkeep +0 -0
  77. package/dist-android/static/0.js +0 -2
  78. package/dist-android/static/0.js.map +0 -1
  79. package/dist-android/static/1.js +0 -2
  80. package/dist-android/static/1.js.map +0 -1
  81. package/dist-android/static/10.js +0 -2
  82. package/dist-android/static/10.js.map +0 -1
  83. package/dist-android/static/100.js +0 -2
  84. package/dist-android/static/100.js.map +0 -1
  85. package/dist-android/static/11.js +0 -2
  86. package/dist-android/static/11.js.map +0 -1
  87. package/dist-android/static/12.js +0 -2
  88. package/dist-android/static/12.js.map +0 -1
  89. package/dist-android/static/13.js +0 -2
  90. package/dist-android/static/13.js.map +0 -1
  91. package/dist-android/static/14.js +0 -2
  92. package/dist-android/static/14.js.map +0 -1
  93. package/dist-android/static/15.js +0 -2
  94. package/dist-android/static/15.js.map +0 -1
  95. package/dist-android/static/16.js +0 -2
  96. package/dist-android/static/16.js.map +0 -1
  97. package/dist-android/static/17.js +0 -2
  98. package/dist-android/static/17.js.map +0 -1
  99. package/dist-android/static/18.js +0 -2
  100. package/dist-android/static/18.js.map +0 -1
  101. package/dist-android/static/19.js +0 -2
  102. package/dist-android/static/19.js.map +0 -1
  103. package/dist-android/static/2.js +0 -2
  104. package/dist-android/static/2.js.map +0 -1
  105. package/dist-android/static/20.js +0 -2
  106. package/dist-android/static/20.js.map +0 -1
  107. package/dist-android/static/21.js +0 -2
  108. package/dist-android/static/21.js.map +0 -1
  109. package/dist-android/static/22.js +0 -2
  110. package/dist-android/static/22.js.map +0 -1
  111. package/dist-android/static/23.js +0 -2
  112. package/dist-android/static/23.js.map +0 -1
  113. package/dist-android/static/24.js +0 -2
  114. package/dist-android/static/24.js.map +0 -1
  115. package/dist-android/static/25.js +0 -2
  116. package/dist-android/static/25.js.map +0 -1
  117. package/dist-android/static/26.js +0 -2
  118. package/dist-android/static/26.js.map +0 -1
  119. package/dist-android/static/27.js +0 -2
  120. package/dist-android/static/27.js.map +0 -1
  121. package/dist-android/static/28.js +0 -2
  122. package/dist-android/static/28.js.map +0 -1
  123. package/dist-android/static/29.js +0 -2
  124. package/dist-android/static/29.js.map +0 -1
  125. package/dist-android/static/3.js +0 -2
  126. package/dist-android/static/3.js.map +0 -1
  127. package/dist-android/static/30.js +0 -2
  128. package/dist-android/static/30.js.map +0 -1
  129. package/dist-android/static/31.js +0 -2
  130. package/dist-android/static/31.js.map +0 -1
  131. package/dist-android/static/32.js +0 -2
  132. package/dist-android/static/32.js.map +0 -1
  133. package/dist-android/static/33.js +0 -2
  134. package/dist-android/static/33.js.map +0 -1
  135. package/dist-android/static/34.js +0 -2
  136. package/dist-android/static/34.js.map +0 -1
  137. package/dist-android/static/35.js +0 -2
  138. package/dist-android/static/35.js.map +0 -1
  139. package/dist-android/static/36.js +0 -2
  140. package/dist-android/static/36.js.map +0 -1
  141. package/dist-android/static/37.js +0 -2
  142. package/dist-android/static/37.js.map +0 -1
  143. package/dist-android/static/38.js +0 -2
  144. package/dist-android/static/38.js.map +0 -1
  145. package/dist-android/static/39.js +0 -2
  146. package/dist-android/static/39.js.map +0 -1
  147. package/dist-android/static/4.js +0 -2
  148. package/dist-android/static/4.js.map +0 -1
  149. package/dist-android/static/40.js +0 -2
  150. package/dist-android/static/40.js.map +0 -1
  151. package/dist-android/static/41.js +0 -2
  152. package/dist-android/static/41.js.map +0 -1
  153. package/dist-android/static/42.js +0 -2
  154. package/dist-android/static/42.js.map +0 -1
  155. package/dist-android/static/43.js +0 -2
  156. package/dist-android/static/43.js.map +0 -1
  157. package/dist-android/static/44.js +0 -2
  158. package/dist-android/static/44.js.map +0 -1
  159. package/dist-android/static/45.js +0 -2
  160. package/dist-android/static/45.js.map +0 -1
  161. package/dist-android/static/46.js +0 -2
  162. package/dist-android/static/46.js.map +0 -1
  163. package/dist-android/static/47.js +0 -2
  164. package/dist-android/static/47.js.map +0 -1
  165. package/dist-android/static/48.js +0 -2
  166. package/dist-android/static/48.js.map +0 -1
  167. package/dist-android/static/49.js +0 -2
  168. package/dist-android/static/49.js.map +0 -1
  169. package/dist-android/static/5.js +0 -2
  170. package/dist-android/static/5.js.map +0 -1
  171. package/dist-android/static/50.js +0 -2
  172. package/dist-android/static/50.js.map +0 -1
  173. package/dist-android/static/51.js +0 -2
  174. package/dist-android/static/51.js.map +0 -1
  175. package/dist-android/static/52.js +0 -2
  176. package/dist-android/static/52.js.map +0 -1
  177. package/dist-android/static/53.js +0 -2
  178. package/dist-android/static/53.js.map +0 -1
  179. package/dist-android/static/54.js +0 -2
  180. package/dist-android/static/54.js.map +0 -1
  181. package/dist-android/static/55.js +0 -2
  182. package/dist-android/static/55.js.map +0 -1
  183. package/dist-android/static/56.js +0 -2
  184. package/dist-android/static/56.js.map +0 -1
  185. package/dist-android/static/57.js +0 -2
  186. package/dist-android/static/57.js.map +0 -1
  187. package/dist-android/static/58.js +0 -2
  188. package/dist-android/static/58.js.map +0 -1
  189. package/dist-android/static/59.js +0 -2
  190. package/dist-android/static/59.js.map +0 -1
  191. package/dist-android/static/6.js +0 -2
  192. package/dist-android/static/6.js.map +0 -1
  193. package/dist-android/static/60.js +0 -2
  194. package/dist-android/static/60.js.map +0 -1
  195. package/dist-android/static/61.js +0 -2
  196. package/dist-android/static/61.js.map +0 -1
  197. package/dist-android/static/62.js +0 -2
  198. package/dist-android/static/62.js.map +0 -1
  199. package/dist-android/static/63.js +0 -2
  200. package/dist-android/static/63.js.map +0 -1
  201. package/dist-android/static/64.js +0 -2
  202. package/dist-android/static/64.js.map +0 -1
  203. package/dist-android/static/65.js +0 -2
  204. package/dist-android/static/65.js.map +0 -1
  205. package/dist-android/static/66.js +0 -2
  206. package/dist-android/static/66.js.map +0 -1
  207. package/dist-android/static/67.js +0 -2
  208. package/dist-android/static/67.js.map +0 -1
  209. package/dist-android/static/68.js +0 -2
  210. package/dist-android/static/68.js.map +0 -1
  211. package/dist-android/static/69.js +0 -2
  212. package/dist-android/static/69.js.map +0 -1
  213. package/dist-android/static/7.js +0 -6
  214. package/dist-android/static/7.js.map +0 -1
  215. package/dist-android/static/70.js +0 -2
  216. package/dist-android/static/70.js.map +0 -1
  217. package/dist-android/static/71.js +0 -2
  218. package/dist-android/static/71.js.map +0 -1
  219. package/dist-android/static/72.js +0 -2
  220. package/dist-android/static/72.js.map +0 -1
  221. package/dist-android/static/73.js +0 -2
  222. package/dist-android/static/73.js.map +0 -1
  223. package/dist-android/static/74.js +0 -2
  224. package/dist-android/static/74.js.map +0 -1
  225. package/dist-android/static/75.js +0 -2
  226. package/dist-android/static/75.js.map +0 -1
  227. package/dist-android/static/76.js +0 -2
  228. package/dist-android/static/76.js.map +0 -1
  229. package/dist-android/static/77.js +0 -2
  230. package/dist-android/static/77.js.map +0 -1
  231. package/dist-android/static/78.js +0 -2
  232. package/dist-android/static/78.js.map +0 -1
  233. package/dist-android/static/79.js +0 -2
  234. package/dist-android/static/79.js.map +0 -1
  235. package/dist-android/static/8.js +0 -2
  236. package/dist-android/static/8.js.map +0 -1
  237. package/dist-android/static/80.js +0 -2
  238. package/dist-android/static/80.js.map +0 -1
  239. package/dist-android/static/81.js +0 -2
  240. package/dist-android/static/81.js.map +0 -1
  241. package/dist-android/static/82.js +0 -2
  242. package/dist-android/static/82.js.map +0 -1
  243. package/dist-android/static/83.js +0 -2
  244. package/dist-android/static/83.js.map +0 -1
  245. package/dist-android/static/84.js +0 -2
  246. package/dist-android/static/84.js.map +0 -1
  247. package/dist-android/static/85.js +0 -2
  248. package/dist-android/static/85.js.map +0 -1
  249. package/dist-android/static/86.js +0 -2
  250. package/dist-android/static/86.js.map +0 -1
  251. package/dist-android/static/87.js +0 -2
  252. package/dist-android/static/87.js.map +0 -1
  253. package/dist-android/static/88.js +0 -2
  254. package/dist-android/static/88.js.map +0 -1
  255. package/dist-android/static/89.js +0 -2
  256. package/dist-android/static/89.js.map +0 -1
  257. package/dist-android/static/9.js +0 -3
  258. package/dist-android/static/9.js.map +0 -1
  259. package/dist-android/static/90.js +0 -2
  260. package/dist-android/static/90.js.map +0 -1
  261. package/dist-android/static/91.js +0 -2
  262. package/dist-android/static/91.js.map +0 -1
  263. package/dist-android/static/92.js +0 -2
  264. package/dist-android/static/92.js.map +0 -1
  265. package/dist-android/static/93.js +0 -2
  266. package/dist-android/static/93.js.map +0 -1
  267. package/dist-android/static/94.js +0 -2
  268. package/dist-android/static/94.js.map +0 -1
  269. package/dist-android/static/95.js +0 -2
  270. package/dist-android/static/95.js.map +0 -1
  271. package/dist-android/static/96.js +0 -2
  272. package/dist-android/static/96.js.map +0 -1
  273. package/dist-android/static/97.js +0 -2
  274. package/dist-android/static/97.js.map +0 -1
  275. package/dist-android/static/98.js +0 -2
  276. package/dist-android/static/98.js.map +0 -1
  277. package/dist-android/static/99.js +0 -2
  278. package/dist-android/static/99.js.map +0 -1
  279. package/dist-android/static/app.css +0 -2
  280. package/dist-android/static/app.css.map +0 -1
  281. package/dist-android/static/app.js +0 -80
  282. package/dist-android/static/app.js.map +0 -1
  283. package/dist-android/static/batchleft.png +0 -0
  284. package/dist-android/static/batchright.png +0 -0
  285. package/dist-android/static/bluemainbg.jpg +0 -0
  286. package/dist-android/static/config.json +0 -7
  287. package/dist-android/static/denglu.png +0 -0
  288. package/dist-android/static/glyphicons-halflings-regular.eot +0 -0
  289. package/dist-android/static/glyphicons-halflings-regular.svg +0 -288
  290. package/dist-android/static/glyphicons-halflings-regular.ttf +0 -0
  291. package/dist-android/static/glyphicons-halflings-regular.woff +0 -0
  292. package/dist-android/static/glyphicons-halflings-regular.woff2 +0 -0
  293. package/dist-android/static/huangtengbiaozhi.png +0 -0
  294. package/dist-android/static/jingyin.jpg +0 -0
  295. package/dist-android/static/login_bg.jpg +0 -0
  296. package/dist-android/static/login_title.png +0 -0
  297. package/dist-android/static/login_title1.png +0 -0
  298. package/dist-android/static/loginbg.jpg +0 -0
  299. package/dist-android/static/loginlogo.png +0 -0
  300. package/dist-android/static/main_logo.png +0 -0
  301. package/dist-android/static/mainbg.jpg +0 -0
  302. package/dist-android/static/menulogo.png +0 -0
  303. package/dist-android/static/newmainbg.jpg +0 -0
  304. package/dist-android/static/psicon.png +0 -0
  305. package/dist-android/static/singleleft.png +0 -0
  306. package/dist-android/static/singleright.png +0 -0
  307. package/dist-android/static/treeopen.png +0 -0
  308. package/dist-android/static/treeout.png +0 -0
  309. package/dist-android/static/treeset.png +0 -0
  310. package/dist-android/static/usericon.png +0 -0
  311. package/dist-android/static/workflow_apply.json +0 -766
  312. package/dist-android/static/xinxi.png +0 -0
  313. package/dist-android/static//344/277/256/346/224/271/345/257/206/347/240/201.png +0 -0
  314. package/dist-android/static//345/256/211/346/243/200/345/257/274/350/210/252/347/253/226/345/261/2173.png +0 -0
  315. package/dist-android/static//345/257/274/345/207/272/346/225/260/346/215/256.png +0 -0
  316. package/dist-android/static//346/270/205/347/251/272/346/225/260/346/215/256.png +0 -0
  317. package/src/filiale/wuan/android.js +0 -0
  318. package/src/filiale/wuan/pc.js +0 -4
  319. package/src/filiale/yuchuan/android/AppServiceView.vue +0 -599
  320. package/src/filiale/yuchuan/android/Process/AppServiceControl.vue +0 -414
  321. package/src/filiale/yuchuan/android/Process/Processes/AppInstallationDetails.vue +0 -456
  322. package/src/filiale/yuchuan/android/Reserve/ApplyReserve.vue +0 -200
  323. package/src/filiale/yuchuan/android/SiteSurvey/TaskGraph.vue +0 -137
  324. package/src/filiale/yuchuan/android.js +0 -8
  325. package/src/filiale/yuchuan/pc/Order/OrderApply.vue +0 -517
  326. package/src/filiale/yuchuan/pc/Order/OrderApplyList.vue +0 -343
  327. package/src/filiale/yuchuan/pc/Process/ExplorationSelect.vue +0 -356
  328. package/src/filiale/yuchuan/pc/Process/ExplorationUser.vue +0 -131
  329. package/src/filiale/yuchuan/pc/Process/Processes/MapCom.vue +0 -51
  330. package/src/filiale/yuchuan/pc/Process/Service/ServiceControl.vue +0 -517
  331. package/src/filiale/yuchuan/pc.js +0 -13
Binary file
File without changes
@@ -1,4 +0,0 @@
1
- let specialComp = {
2
- // 'exploration-user': (resolve) => { require(['./pc/Process/ExplorationUser'], resolve) }
3
- }
4
- exports.specialComp = specialComp
@@ -1,599 +0,0 @@
1
- <template>
2
- <div class="form-horizontal select-overspread">
3
- <div v-for="(index,item) in data.fields">
4
- <!--input-->
5
- <div :style="item.style ? item.style : ''"
6
- v-if="(item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email') && !item.hidden && (item.device === 'app' || !item.device)"
7
- :class="[item.required && !(item.value) ? 'apply-has-error' : '', item.bootstraped ? item.bootstraped + ' form-group app-input':'col-xs-12 form-group app-input']">
8
- <label class="control-label-justify">{{item.label}}</label>
9
- <div :style="item.value_style ? item.value_style:''"
10
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-xs-8'">
11
- <input class=""
12
- :type="item.type"
13
- v-model="data.fields[index].value"
14
- :placeholder="item.placeholder"
15
- :value="data.fields[index].value"
16
- :readonly="item.readonly"
17
- :disabled="item.disabled"
18
- @change="onchange(index)"
19
- @blur="onblur(index)"
20
- @input="oninput(index)"
21
- />
22
- </div>
23
- </div>
24
-
25
- <!--select-->
26
- <div :style="item.style ? item.style : ''"
27
- v-if="item.type==='select' && !item.hidden && (item.device === 'app' || !item.device)"
28
- :class="[item.required && !(item.value) ? 'apply-has-error' : '', item.bootstraped ? item.bootstraped + ' form-group app-input':'col-xs-12 form-group app-input']">
29
- <label class="control-label-justify">{{item.label}}</label>
30
- <div :style="item.value_style ? item.value_style:''"
31
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-xs-8'">
32
- <v-select
33
- class="select" width="100%" align="right"
34
- :placeholder="item.placeholder"
35
- :search="item.search"
36
- close-on-select value-single
37
- :options="data.fields[index].options"
38
- v-model="data.fields[index].value"
39
- :value.sync="data.fields[index].value"
40
- @blur="onblur(index)"
41
- @change="onchange(index)"
42
- :readonly="item.readonly"
43
- :disabled="item.disabled"
44
- ></v-select>
45
- </div>
46
- </div>
47
-
48
- <!--时间datepicker-->
49
- <div :style="item.style ? item.style : ''"
50
- v-if="item.type==='datepicker' && !item.hidden && (item.device === 'app' || !item.device)"
51
- :class="[item.required && !(item.value) ? 'apply-has-error' : '', item.bootstraped ? item.bootstraped+' form-group app-input':'col-xs-12 form-group app-input']">
52
- <label class="control-label-justify has-error">{{item.label}}</label>
53
- <div :style="item.value_style ? item.value_style:''"
54
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-xs-8'">
55
- <datepicker
56
- @change="onchange(index)"
57
- @blur="onblur(index)"
58
- :placeholder="item.placeholder"
59
- :value.sync="data.fields[index].value"
60
- :format="item.format ? item.format : 'yyyy-MM-dd'"
61
- v-model="data.fields[index].value"
62
- :readonly="item.readonly"
63
- :disabled="item.disabled"
64
- :show-reset-button="true">
65
- </datepicker>
66
- </div>
67
- </div>
68
-
69
- <!--textarea-->
70
- <div :style="item.style ? item.style : ''"
71
- v-if="item.type==='textarea' && !item.hidden && (item.device === 'app' || !item.device)"
72
- :class="[item.required && !(item.value) ? 'apply-has-error' : '', item.bootstraped?item.bootstraped+' form-group app-input':'col-xs-12 form-group app-input']">
73
- <label class="control-label-justify">{{item.label}}</label>
74
- <div :style="item.value_style ? item.value_style:''"
75
- :class="item.value_bootstraped ? item.value_bootstraped : 'col-xs-8'">
76
- <textarea
77
- :readonly="item.readonly"
78
- :disabled="item.disabled"
79
- class="" rows="1"
80
- style="width: 100%;height: 100%"
81
- v-model="data.fields[index].value"
82
- :value="data.fields[index].value"
83
- @change="onchange(index)"
84
- @blur="onblur(index)"
85
- @input="oninput(index)"
86
- ></textarea>
87
- </div>
88
- </div>
89
- </div>
90
- <accordion one-at-a-time="true">
91
- <panel v-for="(i,item) in data.onetomany" :header="item.title" :is-open="false" type="primary">
92
- <app-onetomany :onetomany="item" :index="i"></app-onetomany>
93
- </panel>
94
- <panel v-for="(i,item) in data.components" :header="item.title" :is-open="false" type="primary" v-if="item.device === 'app' || !item.device">
95
- <component :is="item.name" :selectdata="data" :mark="item.mark"></component>
96
- </panel>
97
- </accordion>
98
-
99
- <!--自定义组件-->
100
- <slot></slot>
101
-
102
- <!-- 按钮组 -->
103
- <div class="form-group text-center">
104
- <div v-for="(index,button) in data.buttons" class="form-group col-xs-6" v-if="!button.hidden">
105
- <button :disabled="(button.button_name==='提交'||button.button_name==='下发') && disable_button"
106
- :class="(button.button_name==='提交'||button.button_name==='下发')&&disable_button?'btn btn-default':'btn btn-primary'"
107
- @click.prevent="clicked(index,button)"
108
- style="min-width:100px;">
109
- {{button.button_name}}
110
- </button>
111
- </div>
112
- </div>
113
-
114
- <!-- onetomany模态框 -->
115
- <modal v-if="show" :show.sync="show" backdrop="false" :large="modalSize === 'large' ? true : false" :small="modalSize === 'small' ? true : false">
116
- <header slot="modal-header" class="modal-header">
117
- <button type="button" class="close" @click="closemodal()"><span>&times;</span></button>
118
- <span class="modal-title"><font
119
- size="3">{{modeltitle}}</font></span>
120
- </header>
121
- <article slot="modal-body" class="modal-body clearfix">
122
- <div
123
- :class="[item.required&&!(item.value) ? 'has-error' : '',item.bootstraped?item.bootstraped + 'form-group' :'col-xs-12 form-group']"
124
- v-for="(index,item) in data.onetomany[onetomany_index].fields" v-if="!item.displayPosition || item.displayPosition === '*' || item.displayPosition === 'from'">
125
- <div :class="item.label_bootstraped ? item.label_bootstraped : 'col-xs-3'">
126
- <label v-show="!item.hidden" class="control-label-justify control-label" >{{item.label}}</label>
127
- </div>
128
- <div :class="item.value_bootstraped ? item.value_bootstraped : 'col-xs-9'" v-show="!item.hidden">
129
- <!--时间datepicker-->
130
- <datepicker
131
- v-if="item.type === 'datepicker'"
132
- @change="onchange_modal(index)"
133
- @blur="onblur_modal(index)"
134
- :placeholder="item.placeholder"
135
- :value.sync="data.onetomany[onetomany_index].fields[index].value"
136
- :format="'yyyy-MM-dd'"
137
- v-model="data.onetomany[onetomany_index].fields[index].value"
138
- :readonly="item.readonly"
139
- :disabled="item.disabled"
140
- :show-reset-button="reset">
141
- </datepicker>
142
- <!--select-->
143
- <input-select
144
- @change="onchange_modal(index)"
145
- v-if="item.type === 'select'"
146
- @blur="onblur_modal(index)"
147
- :value.sync="data.onetomany[onetomany_index].fields[index].value"
148
- v-model="data.onetomany[onetomany_index].fields[index].value"
149
- :options='data.onetomany[onetomany_index].fields[index].options'>
150
- </input-select>
151
- <!-- input -->
152
- <input v-if="item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email'"
153
- class="form-control"
154
- :type="item.type"
155
- v-model="data.onetomany[onetomany_index].fields[index].value"
156
- :placeholder="item.placeholder"
157
- :value="data.onetomany[onetomany_index].fields[index].value"
158
- :readonly="item.readonly"
159
- :disabled="item.disabled"
160
- @change="onchange_modal(index)"
161
- @blur="onblur_modal(index)"
162
- @input="oninput_modal(index)"
163
- />
164
-
165
- <textarea
166
- v-if="item.type==='textarea'"
167
- :readonly="item.readonly"
168
- :disabled="item.disabled"
169
- class="form-control input_view"
170
- style="width: 100%;height: 100%"
171
- :rows="item.rows"
172
- v-model="data.onetomany[onetomany_index].fields[index].value"
173
- :value="data.onetomany[onetomany_index].fields[index].value"
174
- @change="onchange_modal(index)"
175
- @blur="onblur_modal(index)"
176
- @input="oninput_modal(index)"
177
- >
178
- </textarea>
179
- </div>
180
- </div>
181
- </article>
182
- <footer slot="modal-footer" class="modal-footer">
183
- <button :class="disable_button_onetomany?'btn btn-default':'btn btn-primary'"
184
- :disabled="disable_button_onetomany" type="button" @click.prevent="confirm_modal(modeltitle)">
185
- 确认
186
- </button>
187
- </footer>
188
- </modal>
189
-
190
- <!-- 按钮模态框 -->
191
- <modal v-if="showbutmodal" :show.sync="showbutmodal" v-ref:modal backdrop="false">
192
- <header slot="modal-header" class="modal-header">
193
- <button type="button" class="close" @click="closemodal()"><span>&times;</span></button>
194
- <h4 class="modal-title">{{model.button.button_name}}</h4>
195
- </header>
196
- <article slot="modal-body" class="modal-body clearfix">
197
- <div class="col-xs-12 col-sm-12" v-for="(index,button) in data.buttons[model.button.button_index].button_fields">
198
- <label class="control-label col-xs-4" style="margin-top: 10px">{{button.label}}:</label>
199
- <div class="col-xs-8">
200
- <!--select-->
201
- <input-select v-if="button.type=='select'"
202
- :value.sync="data.buttons[model.button.button_index].button_fields[index].value"
203
- v-model="data.buttons[model.button.button_index].button_fields[index].value"
204
- :options='button.options'></input-select>
205
- <!-- input -->
206
- <input v-else type="text" class="form-control"
207
- v-model="data.buttons[model.button.button_index].button_fields[index].value"/>
208
- </div>
209
- </div>
210
- </article>
211
- <footer slot="modal-footer" class="modal-footer">
212
- <button type="button" class="btn btn-primary" :disabled="disable_button_but" @click='confirm_but_modal()'>确认</button>
213
- </footer>
214
- </modal>
215
- </div>
216
- </template>
217
- <script>
218
- import Vue from 'vue'
219
- // Date格式化
220
- Date.prototype.Format = function (fmt) {
221
- var o = {
222
- 'M+': this.getMonth() + 1, // 月份
223
- 'd+': this.getDate(), // 日
224
- 'H+': this.getHours(), // 小时
225
- 'm+': this.getMinutes(), // 分
226
- 's+': this.getSeconds(), // 秒
227
- 'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
228
- 'S': this.getMilliseconds() // 毫秒
229
- }
230
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
231
- for (var k in o) {
232
- if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
233
- }
234
- return fmt
235
- }
236
-
237
- export default {
238
- title: '报建业务通用组件',
239
- props: {
240
- data: {
241
- type: Object
242
- },
243
- showprint: {
244
- type: Boolean,
245
- default: true
246
- }
247
- },
248
- data () {
249
- return {
250
- model: {}, // 公司等属性
251
- disable_button: true, // 控制按钮禁用
252
- show: false, // 控制onetomany模态框
253
- disable_button_onetomany: true, // 控制onetomany模态框按钮
254
- onetomany_index: null, // 当前选择的下标
255
- update_onetomany_index: null, // 当前需要修改的下标
256
- modeltitle: null, // 模态框标题
257
- modalSize: null, // 模态框大小
258
- showbutmodal: false,
259
- }
260
- },
261
- watch: {
262
- deep: true
263
- },
264
- computed: {
265
-
266
- },
267
- created () {
268
- // 初始化数据
269
- this.initializtion()
270
- },
271
- methods: {
272
- // 初始化数据
273
- initializtion () {
274
- // 是否禁用按钮
275
- this.disableButton()
276
- this.$dispatch('initializtionView')
277
- },
278
- // 按钮模态框确定
279
- confirm_but_modal() {
280
- for (const item of this.data.buttons[this.model.button.button_index].button_fields) {
281
- this.model.button.button_fields[item.field] = item.value
282
- }
283
- this.showbutmodal = false
284
- this.disable_button_but = true
285
- this.$dispatch('button', this.model)
286
- },
287
- // 点击按钮组按钮
288
- async clicked(index, button) {
289
- this.disable_button = true
290
- // 组织model.fields数据
291
- for (const item of this.data.fields) {
292
- // checkbox特殊处理
293
- if (item.type === 'checkbox') {
294
- for (let j = 0; j < item.items.length; j++) {
295
- this.model[item.items[j].field] = item.items[j].value
296
- }
297
- } else {
298
- this.model[item.field] = item.value
299
- }
300
- }
301
- this.model.f_process_id = this.data.f_process_id
302
-
303
- // 初始化model.button数据
304
- let buttondatas = {
305
- button_fields: {}
306
- }
307
- buttondatas.button_name = button.button_name
308
- buttondatas.button_index = index
309
- if (button.button_fields) {
310
- for (const item of button.button_fields) {
311
- buttondatas.button_fields[item.field] = item.value
312
- }
313
- }
314
- this.model.button = buttondatas
315
- this.model.title = this.data.title
316
- this.model.fields = this.data.fields
317
- this.model.onetomany = this.data.onetomany
318
-
319
-
320
- if (button.button_name === '退回') {
321
- this.showbutmodal = true
322
- } else if (button.button_name === '下发') {
323
- this.showbutmodal = true
324
- } else {
325
- this.$dispatch('button', this.model)
326
- }
327
- },
328
- // 是否禁用按钮
329
- disableButton () {
330
- let fields = this.data.fields
331
-
332
- let flag = false
333
- for (const item of fields) {
334
- if (item.type !== 'checkbox' && item.required && !item.value) {
335
- if (item.value === 0) {
336
- flag = false
337
- } else {
338
- flag = true
339
- }
340
- }
341
- // 任何选择框只要是否都不能提交
342
- if (item.type === 'select' && item.value === '否' && item.disabledButton) {
343
- flag = true
344
- }
345
- }
346
-
347
- let count = 0
348
- for (const item of fields) {
349
- if (item.type !== 'checkbox' && item.required) {
350
- count++
351
- }
352
- }
353
- if (count === 0) {
354
- flag = false
355
- }
356
-
357
- this.disable_button = flag
358
- },
359
- // 失去焦点触发,无论值是否发生变化
360
- onblur (index) {
361
- // 是否禁用按钮
362
- this.disableButton()
363
-
364
- this.$dispatch('onblur', index)
365
- // 如果有错误信息提示走错误信息判断处理
366
-
367
- if (this.data.fields[index].error || this.data.fields[index].type === 'datepicker') {
368
- this.$dispatch('error_check', index)
369
- }
370
- },
371
- // 失去焦点且值最终发生变化触发
372
- async onchange (index) {
373
- console.log('失去焦点-----', index)
374
- console.log(this.data.fields[index].label)
375
- console.log('禁用按钮--前--', this.disable_button)
376
- // 是否禁用按钮
377
- this.disableButton()
378
-
379
- console.log('禁用按钮--后--', this.disable_button)
380
-
381
- this.data.fields[index].value = this.data.fields[index].value.trim()
382
-
383
- if (this.data.fields[index].prefix && this.data.fields[index].value !== '') {
384
- this.data.fields[index].value = this.data.fields[index].prefix + this.data.fields[index].value
385
- }
386
-
387
- this.data[this.data.fields[index].field] = this.data.fields[index].value
388
-
389
- await this.$dispatch('onchange', index)
390
-
391
- // 如果有错误信息提示走错误信息判断处理
392
- if (this.data.fields[index].error || this.data.fields[index].type === 'datepicker') {
393
- this.$dispatch('error_check', index)
394
- }
395
- },
396
- oninput (index) {
397
- // 是否禁用按钮
398
- this.disableButton()
399
-
400
- this.$dispatch('oninput', index)
401
-
402
- // 如果有错误信息提示走错误信息判断处理
403
- if (this.data.fields[index].error || this.data.fields[index].type === 'datepicker') {
404
- this.$dispatch('error_check', index)
405
- }
406
- },
407
- // 模态框确认按钮
408
- confirm_modal (title) {
409
- if (title === '新增') {
410
- if (this.data.onetomany[this.onetomany_index].addEvent === 'default' || !this.data.onetomany[this.onetomany_index].addEvent) {
411
- this.$dispatch('onetomanyadd', this.onetomany_index)
412
- } else {
413
- this.$dispatch(this.data.onetomany[this.onetomany_index].addEvent, this.onetomany_index)
414
- }
415
- } else {
416
- if (this.data.onetomany[this.onetomany_index].updateEvent === 'default' || !this.data.onetomany[this.onetomany_index].updateEvent) {
417
- this.$dispatch('onetomanyupdate', this.onetomany_index, this.update_onetomany_index)
418
- } else {
419
- this.$dispatch(this.data.onetomany[this.onetomany_index].updateEvent, this.onetomany_index, this.update_onetomany_index)
420
- }
421
- }
422
-
423
- this.closemodal()
424
- },
425
- // 关闭模态框
426
- closemodal () {
427
- debugger
428
- for (const item of this.data.onetomany[this.onetomany_index].fields) {
429
- item.value = ''
430
- }
431
-
432
- this.show = false
433
- this.showbutmodal = false
434
- this.disable_button_onetomany = true
435
- this.onetomany_index = null
436
- this.update_onetomany_index = null
437
- this.modeltitle = null
438
- this.modalSize = null
439
- },
440
- // 是否禁用模态框按钮
441
- disableModalButton () {
442
- let fields = this.data.onetomany[this.onetomany_index].fields
443
-
444
- let flag = false
445
- for (const item of fields) {
446
- if (item.type !== 'checkbox' && item.required && !item.value) {
447
- if (item.value === 0) {
448
- flag = false
449
- } else {
450
- flag = true
451
- }
452
- }
453
- }
454
-
455
- let count = 0
456
- for (const item of fields) {
457
- if (item.type !== 'checkbox' && item.required) {
458
- count++
459
- }
460
- }
461
- if (count === 0) {
462
- flag = false
463
- }
464
- this.disable_button_onetomany = flag
465
- },
466
- // 监听模态框属性失去焦点
467
- onchange_modal (index) {
468
- this.disableModalButton()
469
- this.$dispatch('onchange_modal', this.onetomany_index, index)
470
- },
471
- // 监听模态框属性失去焦点
472
- onblur_modal (index) {
473
- this.disableModalButton()
474
- this.$dispatch('onblur_modal', this.onetomany_index, index)
475
- },
476
- // input输入属性值发生变化监听
477
- oninput_modal (index) {
478
- this.disableModalButton()
479
- this.$dispatch('oninput_modal', this.onetomany_index, index)
480
- }
481
- },
482
- events: {
483
- 'add' (index) {
484
- let count = 0
485
- for (const item of this.data.onetomany[index].fields) {
486
- if (item.type === 'datepicker' && !item.value && item.default) {
487
- item.value = new Date().Format('yyyy-MM-dd')
488
- }
489
- if (item.required) {
490
- count++
491
- }
492
- }
493
-
494
- if (count === 0) {
495
- this.disable_button_onetomany = false
496
- }
497
- this.modeltitle = '新增'
498
- this.modalSize = this.data.onetomany[index].modalSize
499
- this.onetomany_index = index
500
-
501
- this.$dispatch('openAddModel',index)
502
-
503
- this.show = true
504
- },
505
- 'update' (i, j) {
506
- let onetomany = this.data.onetomany[i]
507
- let item = this.data.onetomany[i].rows[j]
508
- let count = 0
509
- for (let k = 0; k < onetomany.fields.length; k++) {
510
- // 防止初始化的时候没有value
511
- Vue.set(this.data.onetomany[i].fields[k], 'value', item[this.data.onetomany[i].fields[k].field])
512
-
513
- if (onetomany.fields[j].required) {
514
- count++
515
- }
516
- }
517
- if (count === 0) {
518
- this.disable_button_onetomany = false
519
- }
520
- this.modeltitle = '修改'
521
- this.modalSize = this.data.onetomany[i].modalSize
522
- this.onetomany_index = i
523
- this.update_onetomany_index = j
524
-
525
- this.$dispatch('openUpdateModel',i,j)
526
-
527
- this.show = true
528
-
529
- this.disableModalButton()
530
- },
531
- 'delete'(i, j) {
532
- this.$showMessage((this.data.onetomany[i].deleteMessage === 'default' || !this.data.onetomany[i].deleteMessage) ? '您确定要删除这条记录吗?' : this.data.onetomany[i].deleteMessage, ['confirm']).then((res) => {
533
- if (res === 'confirm') {
534
- if (this.data.onetomany[i].deleteEvent === 'default' || !this.data.onetomany[i].deleteEvent) {
535
- this.$dispatch('onetomanydelete', i, j)
536
- } else {
537
- this.$dispatch(this.data.onetomany[i].deleteEvent, i, j)
538
- }
539
- }
540
- })
541
- }
542
- }
543
- }
544
- </script>
545
- <style scoped>
546
- .control-label-justify {
547
- width: 30%;
548
- text-align: justify;
549
- text-align-last: justify;
550
- font-family: PingFang-SC-Bold;
551
- }
552
- </style>
553
- <style lang="less">
554
- .apply-has-error {
555
- border-bottom: 1px solid #a94442;
556
- }
557
- .app-input {
558
- textarea {
559
- padding: 8px 10px;
560
- border: none;
561
- outline: none;
562
- margin: 0px;
563
- }
564
- input[readonly]{
565
- color: #ACA899!important;
566
- background: #FFFFFF;
567
- border: none;
568
- outline: none;
569
- }
570
- input:disabled{
571
- color: #ACA899!important;
572
- background: #FFFFFF;
573
- border: none;
574
- outline: none;
575
- }
576
- textarea[readonly]{
577
- color: #ACA899!important;
578
- background: #FFFFFF;
579
- border: none;
580
- outline: none;
581
- }
582
- textarea:disabled{
583
- color: #ACA899!important;
584
- background: #FFFFFF;
585
- border: none;
586
- outline: none;
587
- }
588
- }
589
- .select {
590
- margin: 0px;
591
- .select-style {
592
- border: 0px;
593
- }
594
- input {
595
- border-left: none;
596
- width: 100%!important;
597
- }
598
- }
599
- </style>