qgb-process 0.2.3 → 0.2.7

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 (502) hide show
  1. package/.env +2 -2
  2. package/.env.development +70 -70
  3. package/.env.pre +60 -60
  4. package/.env.production +48 -48
  5. package/.env.test +48 -48
  6. package/.eslintignore +4 -4
  7. package/.eslintrc.js +302 -302
  8. package/README.md +66 -66
  9. package/babel.config.js +5 -5
  10. package/commitlint.config.js +30 -30
  11. package/config/dev.env.js +7 -7
  12. package/config/index.js +82 -82
  13. package/config/prod.env.js +4 -4
  14. package/debug.log +4 -4
  15. package/index.js +6 -6
  16. package/jsconfig.json +9 -9
  17. package/lib/qgb-process.common.js +7666 -5069
  18. package/lib/qgb-process.umd.js +7666 -5069
  19. package/lib/qgb-process.umd.min.js +108 -108
  20. package/package.json +148 -148
  21. package/packages/index.js +26 -26
  22. package/public/index.html +47 -47
  23. package/public/js/qykf.js +21 -21
  24. package/src/App.vue +37 -37
  25. package/src/api/ApiExAndapp.js +24 -24
  26. package/src/api/EnterpriseAssociation.js +8 -8
  27. package/src/api/Notice.js +31 -31
  28. package/src/api/apiAcceptance/apiAcceptance.js +37 -37
  29. package/src/api/apiAddress.js +9 -9
  30. package/src/api/apiApprovalConfig.js +13 -13
  31. package/src/api/apiApprove.js +18 -18
  32. package/src/api/apiArrears/apiArrears.js +41 -41
  33. package/src/api/apiArrears/apiProjectArrears.js +16 -16
  34. package/src/api/apiArrears/index.js +15 -15
  35. package/src/api/apiAssets.js +19 -19
  36. package/src/api/apiAssociate.js +42 -42
  37. package/src/api/apiAudit/apiAudit.js +32 -32
  38. package/src/api/apiAuth.js +25 -25
  39. package/src/api/apiAuthentication.js +35 -35
  40. package/src/api/apiBankAccount/index.js +12 -12
  41. package/src/api/apiBudget/apiBudget.js +30 -30
  42. package/src/api/apiBudget/apiBudgets.js +105 -105
  43. package/src/api/apiCarRecord.js +48 -48
  44. package/src/api/apiCart.js +202 -202
  45. package/src/api/apiChangeTel.js +13 -13
  46. package/src/api/apiCheckingIn.js +95 -95
  47. package/src/api/apiCollection/index.js +13 -13
  48. package/src/api/apiContract/apiContract.js +21 -21
  49. package/src/api/apiContract/index.js +3 -3
  50. package/src/api/apiContract/quill-config.js +122 -122
  51. package/src/api/apiContractManage/apiContractManage.js +57 -57
  52. package/src/api/apiContractManage/index.js +2 -2
  53. package/src/api/apiContractManage/quill-config.js +121 -121
  54. package/src/api/apiCoping.js +22 -22
  55. package/src/api/apiCost/index.js +31 -31
  56. package/src/api/apiCreditManagement.js +16 -16
  57. package/src/api/apiCustomer/apiCustomer.js +12 -12
  58. package/src/api/apiDivisional.js +9 -9
  59. package/src/api/apiDivisionalManagementList.js +17 -17
  60. package/src/api/apiEmployeeRegularization.js +73 -73
  61. package/src/api/apiEquipmentRental.js +50 -50
  62. package/src/api/apiFormBuilder/menu.js +65 -65
  63. package/src/api/apiFormBuilder/reissueRule.js +15 -15
  64. package/src/api/apiFund/index.js +16 -16
  65. package/src/api/apiHelp.js +43 -43
  66. package/src/api/apiHome.js +24 -24
  67. package/src/api/apiIminfo.js +39 -39
  68. package/src/api/apiInventory.js +52 -52
  69. package/src/api/apiInventorySetting.js +9 -9
  70. package/src/api/apiInvoice.js +29 -29
  71. package/src/api/apiJobManage.js +15 -15
  72. package/src/api/apiLease/apiLease.js +12 -12
  73. package/src/api/apiLogisticsTransportation/apiLogisticsTransportation.js +34 -34
  74. package/src/api/apiLostPassword.js +9 -9
  75. package/src/api/apiMachine/api.js +3 -3
  76. package/src/api/apiMachine/apiCategory.js +18 -18
  77. package/src/api/apiMachine/apiHire.js +19 -19
  78. package/src/api/apiMachine/apiLease.js +27 -27
  79. package/src/api/apiMachine/apiLocation.js +4 -4
  80. package/src/api/apiMachine/apiRentInfo.js +107 -107
  81. package/src/api/apiMachine/apiRentPublish.js +14 -14
  82. package/src/api/apiMachine/apiStore.js +15 -15
  83. package/src/api/apiMachine/index.js +3 -3
  84. package/src/api/apiManagementStore/api.js +3 -3
  85. package/src/api/apiManagementStore/apiManagementStore.js +25 -25
  86. package/src/api/apiMaterCheckAndAccept/apiMaterCheckAndAccept.js +47 -47
  87. package/src/api/apiMaterCheckAndAccept/apiMechanicalSourcing.js +16 -16
  88. package/src/api/apiMaterCheckAndAccept/index.js +3 -3
  89. package/src/api/apiMaterials/aaaaaaaaaaaaaa.js +9 -9
  90. package/src/api/apiMaterials/api.js +3 -3
  91. package/src/api/apiMaterials/apiAddress.js +116 -116
  92. package/src/api/apiMaterials/apiBalanceData.js +188 -188
  93. package/src/api/apiMaterials/apiCommercialConcrete.js +36 -36
  94. package/src/api/apiMaterials/apiCommodity.js +70 -70
  95. package/src/api/apiMaterials/apiDownload.js +26 -26
  96. package/src/api/apiMaterials/apiHome.js +44 -44
  97. package/src/api/apiMaterials/apiItemBrand.js +9 -9
  98. package/src/api/apiMaterials/apiLogistics.js +72 -72
  99. package/src/api/apiMaterials/apiLogisticsReceipt.js +94 -94
  100. package/src/api/apiMaterials/apiMaterials.js +8 -8
  101. package/src/api/apiMaterials/apiMySalesOrder.js +21 -21
  102. package/src/api/apiMaterials/apiOfflineOrder.js +18 -18
  103. package/src/api/apiMaterials/apiOrder.js +183 -183
  104. package/src/api/apiMaterials/apiReceipt.js +45 -45
  105. package/src/api/apiMaterials/quill-config.js +122 -122
  106. package/src/api/apiMemberSelection.js +39 -39
  107. package/src/api/apiMessage.js +10 -10
  108. package/src/api/apiMock/mockOrder.js +98 -98
  109. package/src/api/apiMonthPlan/apiMonthPlan.js +47 -47
  110. package/src/api/apiMyBidding.js +8 -8
  111. package/src/api/apiMyMember/apiComInfo.js +17 -17
  112. package/src/api/apiMyMember/apiInviteJoin.js +24 -24
  113. package/src/api/apiMyMember/apiMember.js +24 -24
  114. package/src/api/apiMyMember/apiMemberApply.js +36 -36
  115. package/src/api/apiMyMember/apiMemberChance.js +40 -40
  116. package/src/api/apiOffer.js +40 -40
  117. package/src/api/apiOffice.js +19 -19
  118. package/src/api/apiPact.js +26 -26
  119. package/src/api/apiPassword.js +7 -7
  120. package/src/api/apiPay/apiPay.js +25 -25
  121. package/src/api/apiPaying.js +21 -21
  122. package/src/api/apiPayment/apiPayment.js +13 -13
  123. package/src/api/apiPayment/apiProjectPayment.js +13 -13
  124. package/src/api/apiPrint.js +23 -0
  125. package/src/api/apiProcess.js +65 -65
  126. package/src/api/apiProject/apiBaseList.js +29 -29
  127. package/src/api/apiProject/apiGoodsOffer.js +11 -11
  128. package/src/api/apiProject/apiInventory.js +116 -116
  129. package/src/api/apiProject/apiOfferOrder.js +12 -12
  130. package/src/api/apiProject/apiOfferQuery.js +18 -18
  131. package/src/api/apiProject/apiPlan.js +21 -21
  132. package/src/api/apiProject/apiProject.js +158 -158
  133. package/src/api/apiProjectProcurement/apiProjectProcurement.js +88 -88
  134. package/src/api/apiPurchase/apiPurchase.js +67 -67
  135. package/src/api/apiPurchaseApply.js +15 -15
  136. package/src/api/apiPurchasePay.js +16 -16
  137. package/src/api/apiRankManagement.js +24 -24
  138. package/src/api/apiRecruit.js +37 -37
  139. package/src/api/apiReimbursement/apiReimbursement.js +15 -15
  140. package/src/api/apiRisk/index.js +11 -11
  141. package/src/api/apiRoleManagement.js +15 -15
  142. package/src/api/apiRules/apiRules.js +11 -11
  143. package/src/api/apiSchedule/apiSchedule.js +17 -17
  144. package/src/api/apiSealRecord.js +52 -52
  145. package/src/api/apiSign.js +8 -8
  146. package/src/api/apiSolution/apiSolution.js +9 -9
  147. package/src/api/apiSubcontract.js +35 -35
  148. package/src/api/apiSystem/index.js +40 -40
  149. package/src/api/apiTask.js +76 -76
  150. package/src/api/apiTeam/api.js +3 -3
  151. package/src/api/apiTeam/apiUtils.js +11 -11
  152. package/src/api/apiTender.js +127 -127
  153. package/src/api/apiUser.js +24 -24
  154. package/src/api/apiUserEnterprise/api.js +3 -3
  155. package/src/api/apiUserEnterprise/apiUserEn.js +15 -15
  156. package/src/api/apiVolunteerTeam.js +11 -11
  157. package/src/api/apiWorkarea.js +33 -33
  158. package/src/api/apiXzqh.js +8 -8
  159. package/src/api/common/api.js +3 -3
  160. package/src/api/common/apiUtils.js +9 -9
  161. package/src/api/customer.js +21 -21
  162. package/src/api/evection.js +19 -19
  163. package/src/api/guide.js +9 -9
  164. package/src/api/sociaManageApi.js +30 -30
  165. package/src/assets/Area.json +1773 -1773
  166. package/src/assets/css/quill.bubble.css +952 -952
  167. package/src/assets/css/quill.core.css +397 -397
  168. package/src/assets/css/quill.snow.css +945 -945
  169. package/src/assets/data.js +284 -284
  170. package/src/assets/fonts/Read Me.txt +7 -7
  171. package/src/assets/fonts/demo-files/demo.css +155 -155
  172. package/src/assets/fonts/demo-files/demo.js +30 -30
  173. package/src/assets/fonts/demo.html +951 -951
  174. package/src/assets/fonts/fonts/icomoon.svg +130 -130
  175. package/src/assets/fonts/style.css +563 -563
  176. package/src/assets/icons/checkbox.svg +12 -12
  177. package/src/assets/icons/columns-3.svg +12 -12
  178. package/src/assets/icons/columns.svg +12 -12
  179. package/src/assets/icons/custom-table.svg +12 -12
  180. package/src/assets/icons/date.svg +19 -19
  181. package/src/assets/icons/daterange.svg +12 -12
  182. package/src/assets/icons/fuzhi.svg +11 -11
  183. package/src/assets/icons/fuzhi_03.svg +5 -5
  184. package/src/assets/icons/gaojizujian.svg +12 -12
  185. package/src/assets/icons/groupSummary.svg +12 -12
  186. package/src/assets/icons/groupTitle.svg +12 -12
  187. package/src/assets/icons/image-uploader.svg +12 -12
  188. package/src/assets/icons/input-number.svg +12 -12
  189. package/src/assets/icons/input.svg +12 -12
  190. package/src/assets/icons/quill-editor.svg +12 -12
  191. package/src/assets/icons/radio.svg +12 -12
  192. package/src/assets/icons/select.svg +12 -12
  193. package/src/assets/icons/switch.svg +12 -12
  194. package/src/assets/icons/textarea.svg +12 -12
  195. package/src/assets/icons/upload-file.svg +12 -12
  196. package/src/assets/marketplace.js +289 -289
  197. package/src/components/ComAduitNew.vue +477 -477
  198. package/src/components/CommonAduit.vue +512 -512
  199. package/src/components/CommonAduitNew.vue +906 -906
  200. package/src/components/CommonAduitNews.vue +753 -753
  201. package/src/components/CommonUEditer.vue +63 -63
  202. package/src/components/PersonCenter/Mess.vue +59 -59
  203. package/src/components/PersonCenter/Title.vue +80 -80
  204. package/src/components/SvgIcon.vue +57 -57
  205. package/src/components/XmCommonAduit.vue +761 -761
  206. package/src/components/feiyCommon.vue +713 -713
  207. package/src/components/form/card.js +5 -5
  208. package/src/components/form/chinese.js +6 -6
  209. package/src/components/form/chinessstring.js +5 -5
  210. package/src/components/form/hunhe.js +8 -8
  211. package/src/components/form/hunhecq.js +8 -8
  212. package/src/components/form/hunheh.js +8 -8
  213. package/src/components/form/num.js +12 -12
  214. package/src/components/form/numstring.js +5 -5
  215. package/src/components/form/user.js +7 -7
  216. package/src/components/form/validate.js +42 -42
  217. package/src/components/form/validcredit.js +5 -5
  218. package/src/components/fundCommonAduit.vue +661 -661
  219. package/src/components/public/BaseCustomTable.vue +71 -71
  220. package/src/components/public/BaseDialog.vue +144 -144
  221. package/src/components/public/BaseEmptyData.vue +73 -73
  222. package/src/components/public/BaseFormTitle.vue +39 -39
  223. package/src/components/public/BasePagination.vue +55 -55
  224. package/src/components/public/BaseRouter.vue +14 -14
  225. package/src/components/public/BaseUpload.vue +185 -185
  226. package/src/components/public/Bottom.vue +62 -62
  227. package/src/components/public/Footer.vue +412 -412
  228. package/src/components/public/Header.vue +30 -30
  229. package/src/components/public/LeftMenu.vue +170 -170
  230. package/src/components/public/MemberSelection coby.vue +444 -444
  231. package/src/components/public/MemberSelection.vue +487 -487
  232. package/src/components/public/NewLeftMenu.vue +418 -418
  233. package/src/components/public/PicturesPreview.vue +62 -62
  234. package/src/components/public/Popout.vue +147 -147
  235. package/src/components/public/TagLine.vue +353 -353
  236. package/src/components/public/components/BaseImageUploadDrag.vue +320 -320
  237. package/src/components/public/components/HeadBar.vue +315 -315
  238. package/src/components/public/components/MenuList.vue +110 -110
  239. package/src/components/public/components/NewHeadBar.vue +936 -936
  240. package/src/components/public/components/QuickGoods.vue +273 -273
  241. package/src/components/public/components/Search.vue +164 -164
  242. package/src/components/public/components/Userinfo.vue +383 -383
  243. package/src/components/utils/pdf.js +254 -254
  244. package/src/components/xmfyCommonAduit.vue +752 -752
  245. package/src/filters/index.js +619 -619
  246. package/src/fnc/arr.js +102 -102
  247. package/src/fnc/quill-config.js +121 -121
  248. package/src/fnc/unit.js +102 -102
  249. package/src/fnc/verify.js +187 -187
  250. package/src/fnc/verifyStatus.js +24 -24
  251. package/src/formBuilder/apiBusiness.js +67 -67
  252. package/src/formBuilder/business.js +1039 -1039
  253. package/src/formBuilder/component/components/data.js +719 -719
  254. package/src/formBuilder/component/components/purchaseIndex.vue +1109 -1109
  255. package/src/formBuilder/component/purchase.vue +35 -35
  256. package/src/formBuilder/components/app-main/components/components/GroupSummary.vue +33 -33
  257. package/src/formBuilder/components/app-main/components/components/GroupTitle.vue +33 -33
  258. package/src/formBuilder/components/app-main/components/components/bank.vue +226 -226
  259. package/src/formBuilder/components/app-main/components/components/bankFormHeard.vue +298 -298
  260. package/src/formBuilder/components/app-main/components/components/builder.vue +718 -718
  261. package/src/formBuilder/components/app-main/components/components/columns.vue +393 -393
  262. package/src/formBuilder/components/app-main/components/components/customTable.vue +1758 -1758
  263. package/src/formBuilder/components/app-main/components/components/formDep.vue +105 -105
  264. package/src/formBuilder/components/app-main/components/components/handleCode.vue +39 -39
  265. package/src/formBuilder/components/app-main/components/components/itemOption.vue +116 -116
  266. package/src/formBuilder/components/app-main/components/components/linkForm.vue +116 -116
  267. package/src/formBuilder/components/app-main/components/components/listDesign.vue +772 -772
  268. package/src/formBuilder/components/app-main/components/components/optionSolt.js +78 -78
  269. package/src/formBuilder/components/app-main/components/components/person.vue +104 -104
  270. package/src/formBuilder/components/app-main/components/components/postman.vue +40 -40
  271. package/src/formBuilder/components/app-main/components/components/previewDialog.vue +391 -391
  272. package/src/formBuilder/components/app-main/components/components/tableIndex.vue +51 -51
  273. package/src/formBuilder/components/app-main/components/components/tableList.vue +561 -561
  274. package/src/formBuilder/components/app-main/components/components/twoColumns.vue +52 -52
  275. package/src/formBuilder/components/app-main/components/main-center.vue +187 -187
  276. package/src/formBuilder/components/app-main/components/main-header.vue +351 -351
  277. package/src/formBuilder/components/app-main/components/main-left.vue +179 -179
  278. package/src/formBuilder/components/app-main/components/main-right/components/components/calculateDialog.vue +914 -914
  279. package/src/formBuilder/components/app-main/components/main-right/components/components/curTextArea.vue +338 -338
  280. package/src/formBuilder/components/app-main/components/main-right/components/components/form-item-rules.vue +190 -190
  281. package/src/formBuilder/components/app-main/components/main-right/components/components/linkageDialog.vue +25 -25
  282. package/src/formBuilder/components/app-main/components/main-right/components/components/searchMixin.js +26 -26
  283. package/src/formBuilder/components/app-main/components/main-right/components/form-config.vue +284 -284
  284. package/src/formBuilder/components/app-main/components/main-right/components/form-item-attrs.vue +407 -407
  285. package/src/formBuilder/components/app-main/components/main-right/components/form-item-config.vue +478 -478
  286. package/src/formBuilder/components/app-main/components/main-right/index.vue +203 -203
  287. package/src/formBuilder/components/app-main/index.vue +329 -329
  288. package/src/formBuilder/comps.js +283 -283
  289. package/src/formBuilder/config/button.js +63 -63
  290. package/src/formBuilder/config/cascader-panel.js +224 -224
  291. package/src/formBuilder/config/cascader.js +306 -306
  292. package/src/formBuilder/config/checkbox.js +67 -67
  293. package/src/formBuilder/config/color.js +42 -42
  294. package/src/formBuilder/config/columns.js +30 -30
  295. package/src/formBuilder/config/custom-table.js +49 -49
  296. package/src/formBuilder/config/date.js +107 -107
  297. package/src/formBuilder/config/daterange.js +47 -47
  298. package/src/formBuilder/config/datetime.js +78 -78
  299. package/src/formBuilder/config/datetimerange.js +111 -111
  300. package/src/formBuilder/config/formDep.js +37 -37
  301. package/src/formBuilder/config/groupSummary.js +23 -23
  302. package/src/formBuilder/config/groupTitle.js +23 -23
  303. package/src/formBuilder/config/handleCode.js +23 -23
  304. package/src/formBuilder/config/image-uploader.js +113 -113
  305. package/src/formBuilder/config/input.js +162 -162
  306. package/src/formBuilder/config/json-editor.js +31 -31
  307. package/src/formBuilder/config/linkForm.js +69 -69
  308. package/src/formBuilder/config/number.js +49 -49
  309. package/src/formBuilder/config/password.js +82 -82
  310. package/src/formBuilder/config/person.js +37 -37
  311. package/src/formBuilder/config/postman.js +23 -23
  312. package/src/formBuilder/config/purchase.js +19 -19
  313. package/src/formBuilder/config/quill-editor.js +66 -66
  314. package/src/formBuilder/config/radio-button.js +44 -44
  315. package/src/formBuilder/config/radio.js +69 -69
  316. package/src/formBuilder/config/rate.js +93 -93
  317. package/src/formBuilder/config/select.js +105 -105
  318. package/src/formBuilder/config/slider.js +92 -92
  319. package/src/formBuilder/config/switch.js +35 -35
  320. package/src/formBuilder/config/tag.js +79 -79
  321. package/src/formBuilder/config/text.js +18 -18
  322. package/src/formBuilder/config/textarea.js +129 -129
  323. package/src/formBuilder/config/time.js +60 -60
  324. package/src/formBuilder/config/timerange.js +94 -94
  325. package/src/formBuilder/config/tree-select.js +100 -100
  326. package/src/formBuilder/config/upload-file.js +100 -100
  327. package/src/formBuilder/config/yesno.js +39 -39
  328. package/src/formBuilder/config.js +16 -16
  329. package/src/formBuilder/extend/index.js +20 -20
  330. package/src/formBuilder/index.js +39 -39
  331. package/src/formBuilder/menuConfig.js +36 -36
  332. package/src/formBuilder/mixins/index.js +215 -215
  333. package/src/formBuilder/tool.js +101 -101
  334. package/src/function/base.js +13 -13
  335. package/src/function/findCompanyTree.js +94 -94
  336. package/src/function/formulaAnalysis.js +44 -44
  337. package/src/function/verify.js +23 -23
  338. package/src/http/index.js +219 -219
  339. package/src/http/type.js +82 -82
  340. package/src/library/AddType/Index.js +17 -17
  341. package/src/library/AddType/Index.vue +201 -201
  342. package/src/library/AreaChange/regionCascader/regionCascader.vue +155 -155
  343. package/src/library/BigImg/BigImage1/Index.js +17 -17
  344. package/src/library/BigImg/BigImage1/Index.vue +125 -125
  345. package/src/library/Button/Button1/Index.js +17 -17
  346. package/src/library/Button/Button1/Index.vue +60 -60
  347. package/src/library/Button/Button2/Index.js +17 -17
  348. package/src/library/Button/Button2/Index.vue +52 -52
  349. package/src/library/Button/Button3/Index.js +17 -17
  350. package/src/library/Button/Button3/Index.vue +56 -56
  351. package/src/library/Button/Button4/Index.js +17 -17
  352. package/src/library/Button/Button4/Index.vue +56 -56
  353. package/src/library/Button/Button5/Index.js +17 -17
  354. package/src/library/Button/Button5/Index.vue +55 -55
  355. package/src/library/Button/Button6/Index.js +17 -17
  356. package/src/library/Button/Button6/Index.vue +74 -74
  357. package/src/library/Button/Button7/Index.js +17 -17
  358. package/src/library/Button/Button7/Index.vue +56 -56
  359. package/src/library/ConfirmPlaugin/ConfirmPlaugin1/Index.js +17 -17
  360. package/src/library/ConfirmPlaugin/ConfirmPlaugin1/Index.vue +147 -147
  361. package/src/library/ConfirmPlaugin/ConfirmPlaugin2/Index.js +17 -17
  362. package/src/library/ConfirmPlaugin/ConfirmPlaugin2/Index.vue +137 -137
  363. package/src/library/ConfirmPlaugin/ConfirmPlaugin3/Index.vue +142 -142
  364. package/src/library/ConfirmPlaugin/ConfirmPlaugin4/Index.vue +141 -141
  365. package/src/library/ConfirmPlaugin/ConfirmPlaugin5/Index.vue +121 -121
  366. package/src/library/ConfirmPlaugin/ConfirmPlaugin6/Index.vue +142 -142
  367. package/src/library/Input/Input1/Index.js +17 -17
  368. package/src/library/Input/Input1/Index.vue +66 -66
  369. package/src/library/NoMessage/NoMessage0/Index.js +17 -17
  370. package/src/library/NoMessage/NoMessage0/Index.vue +60 -60
  371. package/src/library/NoMessage/NoMessage1/Index.js +17 -17
  372. package/src/library/NoMessage/NoMessage1/Index.vue +66 -66
  373. package/src/library/NoMessage/NoMessage2/Index.js +17 -17
  374. package/src/library/NoMessage/NoMessage2/Index.vue +66 -66
  375. package/src/library/Tab/Tab1/TabBox1/Index.vue +36 -36
  376. package/src/library/Tab/Tab1/TabInner1/Index.vue +70 -70
  377. package/src/library/Tab/Tab2/TabBox2/Index.vue +36 -36
  378. package/src/library/Tab/Tab2/TabInner2/Index.vue +66 -66
  379. package/src/library/Table/Table1/Td1/Index.js +17 -17
  380. package/src/library/Table/Table1/Td1/Index.vue +110 -110
  381. package/src/library/Table/Table1/Tr1/Index.js +17 -17
  382. package/src/library/Table/Table1/Tr1/Index.vue +53 -53
  383. package/src/library/Table/Table2/Td2/Index.js +17 -17
  384. package/src/library/Table/Table2/Td2/Index.vue +90 -90
  385. package/src/library/Table/Table2/Tr2/Index.js +17 -17
  386. package/src/library/Table/Table2/Tr2/Index.vue +66 -66
  387. package/src/library/Table/Table3/Td3/Index.js +17 -17
  388. package/src/library/Table/Table3/Td3/Index.vue +109 -109
  389. package/src/library/Table/Table3/Tr3/Index.js +17 -17
  390. package/src/library/Table/Table3/Tr3/Index.vue +128 -128
  391. package/src/library/Table/Table4/Td4/Index.js +17 -17
  392. package/src/library/Table/Table4/Td4/Index.vue +114 -114
  393. package/src/library/Table/Table4/Tr4/Index.js +17 -17
  394. package/src/library/Table/Table4/Tr4/Index.vue +53 -53
  395. package/src/library/Title/Title1/Index.js +17 -17
  396. package/src/library/Title/Title1/Index.vue +80 -80
  397. package/src/library/toast/Index.js +17 -17
  398. package/src/library/toast/Index.vue +86 -86
  399. package/src/main.js +161 -161
  400. package/src/mixins/Export2Excel.js +207 -207
  401. package/src/mixins/chartOption.js +110 -110
  402. package/src/mixins/companyMixins.js +84 -84
  403. package/src/mixins/quillOptions.js +15 -15
  404. package/src/mixins/validate/deviceManage.js +211 -211
  405. package/src/mixins/validate/systemConfig.js +117 -117
  406. package/src/mixins/validate/validate.js +25 -25
  407. package/src/public/apiUser/apiUser.js +10 -10
  408. package/src/public/areaFunction.js +26 -26
  409. package/src/public/link.js +91 -91
  410. package/src/public/stageData.js +495 -495
  411. package/src/public/topmenu.js +68 -68
  412. package/src/router/index.js +225 -225
  413. package/src/router/setting/BaseRoutes.js +1639 -1639
  414. package/src/router/setting/MenuDevMock.js +1570 -1570
  415. package/src/router/setting/modules/login.js +45 -45
  416. package/src/router/setting/noAuthRouter.js +109 -109
  417. package/src/router/setting/routes.js +55 -55
  418. package/src/static/css/flex.css +75 -75
  419. package/src/static/css/switch.scss +31 -31
  420. package/src/storage/cookies.js +37 -37
  421. package/src/storage/localStorage.js +36 -36
  422. package/src/storage/sessionStorage.js +25 -25
  423. package/src/store/formBuilder/formAttrDefault.js +28 -28
  424. package/src/store/formBuilder/index.js +40 -40
  425. package/src/store/index.js +553 -553
  426. package/src/styles/color.scss +24 -24
  427. package/src/styles/offer.scss +39 -39
  428. package/src/styles/s-reset.scss +52 -52
  429. package/src/styles/static-style.scss +797 -797
  430. package/src/styles/talent.scss +26 -26
  431. package/src/styles/variable.scss +69 -69
  432. package/src/styles/workflow/workflow.css +1308 -1308
  433. package/src/utils/TableFormTypeList.js +26 -26
  434. package/src/utils/allRouter.js +5579 -5579
  435. package/src/utils/auditUtil.js +535 -535
  436. package/src/utils/commonComponents.js +34 -34
  437. package/src/utils/commonFunc.js +213 -213
  438. package/src/utils/deepCopyArray.js +9 -9
  439. package/src/utils/dict.js +49 -49
  440. package/src/utils/directive.js +26 -26
  441. package/src/utils/emoji.js +16 -16
  442. package/src/utils/flator.js +18 -18
  443. package/src/utils/imMeeting.js +1180 -1180
  444. package/src/utils/index.js +105 -105
  445. package/src/utils/initRouter.js +94 -94
  446. package/src/utils/map.js +23 -23
  447. package/src/utils/passwordStrength.js +177 -177
  448. package/src/utils/style.js +30 -30
  449. package/src/utils/validate.js +30 -30
  450. package/src/views/404.vue +53 -53
  451. package/src/views/Login/Login.vue +50 -50
  452. package/src/views/Login/Passfind.vue +347 -347
  453. package/src/views/Login/Passfindnext.vue +146 -146
  454. package/src/views/Login/Sign.vue +55 -55
  455. package/src/views/Login/SignSuccessfully.vue +132 -132
  456. package/src/views/Login/appDownload.vue +224 -224
  457. package/src/views/Login/clientDownload.vue +201 -201
  458. package/src/views/Login/components/Background.vue +153 -153
  459. package/src/views/Login/components/FormLogin.vue +1001 -1001
  460. package/src/views/Login/components/FormPassFind.vue +395 -395
  461. package/src/views/Login/components/FormSign.vue +493 -493
  462. package/src/views/Login/components/Title.vue +301 -301
  463. package/src/views/Login/components/agreeMent.vue +111 -111
  464. package/src/views/Login/components/companysign.vue +1296 -1296
  465. package/src/views/Login/components/guideLogin.vue +984 -984
  466. package/src/views/formBuilder/components/addNode.vue +119 -119
  467. package/src/views/formBuilder/components/approverSelector.vue +493 -493
  468. package/src/views/formBuilder/components/baseRoute.vue +315 -315
  469. package/src/views/formBuilder/components/builderHeader.vue +106 -106
  470. package/src/views/formBuilder/components/conditionConfig.js +588 -588
  471. package/src/views/formBuilder/components/conditionNode.vue +191 -191
  472. package/src/views/formBuilder/components/dataDefault.js +147 -147
  473. package/src/views/formBuilder/components/depFormNode.vue +583 -583
  474. package/src/views/formBuilder/components/linkForm.vue +566 -566
  475. package/src/views/formBuilder/components/linkFormList.vue +821 -821
  476. package/src/views/formBuilder/components/menuConfig.vue +1752 -1752
  477. package/src/views/formBuilder/components/newNodeForm.vue +426 -426
  478. package/src/views/formBuilder/components/newsection.vue +424 -424
  479. package/src/views/formBuilder/components/nodeConditionConfig cody.vue +376 -376
  480. package/src/views/formBuilder/components/nodeConditionConfig.vue +603 -603
  481. package/src/views/formBuilder/components/nodeForm.vue +355 -355
  482. package/src/views/formBuilder/components/nodeMenu.vue +147 -147
  483. package/src/views/formBuilder/components/personNode.vue +566 -566
  484. package/src/views/formBuilder/components/planNode.vue +269 -269
  485. package/src/views/formBuilder/designListPage.vue +457 -457
  486. package/src/views/formBuilder/formDataDetail.vue +565 -565
  487. package/src/views/formBuilder/formGeneration.vue +904 -904
  488. package/src/views/formBuilder/index.vue +242 -242
  489. package/src/views/formBuilder/process-1.vue +976 -976
  490. package/src/views/formBuilder/process-2.vue +1323 -1323
  491. package/src/views/formBuilder/process.vue +662 -431
  492. package/src/views/formBuilder/processList.vue +877 -877
  493. package/src/views/formBuilder/service/ProcessBuilder.js +136 -136
  494. package/src/views/formBuilder/service/RsxzFieldCollection.js +199 -0
  495. package/src/views/formBuilder/workflow/addNode.vue +95 -95
  496. package/src/views/formBuilder/workflow/initData.js +205 -205
  497. package/src/views/formBuilder/workflow/nodeWrap.vue +731 -731
  498. package/src/views/guide.vue +227 -227
  499. package/src/views/guideIndex.vue +284 -284
  500. package/tests/unit/.eslintrc.js +5 -5
  501. package/tests/unit/example.spec.js +13 -13
  502. package/vue.config.js +287 -287
@@ -1,718 +1,718 @@
1
- <template>
2
- <div class="app-main-center">
3
- <h4>{{title}}</h4>
4
- <ele-form
5
- v-model="formData"
6
- :form-desc="formDesc"
7
- :request-fn="handleSubmit"
8
- @request-success="handleSuccess"
9
- ref="ele-form"
10
- v-bind="formAttr"
11
- title=''
12
- >
13
- <template
14
- v-if="formState"
15
- v-slot:form-content="{formData, formDesc, formErrorObj }"
16
- >
17
- <!-- <div class="msg " >从左侧拖拽来添加字段</div> -->
18
- <draggable
19
- :animation="200"
20
- v-if="isRenderFinish"
21
- :disabled="false"
22
- :list="list"
23
- ghost-class="ghost"
24
- @add="handleAdd"
25
- @end="handleMoveEnd"
26
- @start="handleMoveStart"
27
- :group="{ name: 'form', pull: false, put: true}"
28
- tag="el-row"
29
- class="form-area"
30
- >
31
- <!-- 当为空时 -->
32
-
33
- <div
34
- class="form-area-placeholder"
35
- v-if="list.length === 0"
36
- >
37
- 从左侧拖拽来添加表单项
38
- </div>
39
- <template v-else>
40
- <!-- <div id="components" class="component-container">
41
- <component :is="apps" :isEdit="true" :businessType="businessType"
42
- @setType="typeChange"></component>
43
- </div> -->
44
- <template v-for="(formItem, field, index) of formDesc">
45
- <el-col
46
- :key="field"
47
- v-bind="getColAttrs(formItem.layout)"
48
- @click.native="handleFormItemClick(index)"
49
- v-if="formItem._vif && formItem.type !== 'purchase'"
50
- :class="{ 'form-item-active': (selectIndex === index && !isSubIndex && activeFormName == name),'form-item' : editType.indexOf(formItem.type||form.Item.content.type) == -1,'form-item-error':formItem.error,'purchase' : formItem.type == 'purchase'}"
51
- >
52
- <component
53
- v-if="formItem.type == 'groupSummary'"
54
- :is="formItem._type"
55
- :titleStr="formItem.label"
56
- v-model="formItem.default"
57
- style='height:80px;display:block;line-height:80px;padding-left:20px'
58
- />
59
- <el-form-item
60
- v-else-if="formItem.type !== 'groupTitle' &&formItem.business !== '888' "
61
- :error="formErrorObj ? formErrorObj[field] : null"
62
- :label="
63
- (formAttr.isShowLabel === false || formItem.isShowLabel === false) ? null : formItem.label
64
- "
65
- :prop="field"
66
- :class="formItem.type=='columns'?'columnsClass':null"
67
- :label-width="formItem._type.indexOf('columns') == -1 ? formAttr.labelWidth+'px' : '0px'"
68
- :style="editType.indexOf(formItem.type) !== -1?'margin:20px':''"
69
- >
70
- <el-tooltip
71
- v-if='formItem.attrs.summary'
72
- class="item"
73
- effect="dark"
74
- :content="formItem.attrs.summary"
75
- placement="top"
76
- >
77
- <i class="el-icon-warning-outline isSummary"></i>
78
- </el-tooltip>
79
- <!-- <el-checkbox-group
80
- v-if="formItem._type=='ele-form-checkbox'"
81
- v-model="formItem.default"
82
- >
83
- <el-checkbox
84
- v-for="(item, index) in formItem.options"
85
- :key="index"
86
- :label="item.text"
87
- ></el-checkbox>
88
- </el-checkbox-group>
89
- <el-radio-group
90
- v-if="formItem._type=='ele-form-radio'"
91
- v-model="formItem.default"
92
- >
93
- <el-radio
94
- v-for="(item, index) in formItem.options"
95
- :key="index"
96
- :label="item.text"
97
- ></el-radio>
98
- </el-radio-group> -->
99
- <component
100
- v-if="formItem.business !== '888' && formItem.type != 'groupTitle'"
101
- :disabled="formAttr.disabled || formItem._disabled"
102
- :desc="formItem"
103
- :is="formItem._type"
104
- :options="formItem._options"
105
- :ref="field"
106
- :field="field"
107
- :edit="true"
108
- v-model="formItem.default"
109
- />
110
-
111
- <div
112
- class="ele-form-tip"
113
- v-if="formItem.tip"
114
- v-html="formItem.tip"
115
- >
116
- </div>
117
- </el-form-item>
118
-
119
- <component
120
- v-else-if="formItem.type == 'groupTitle'"
121
- :disabled="formAttr.disabled || formItem._disabled"
122
- :desc="formItem"
123
- :is="formItem._type"
124
- :options="formItem._options"
125
- :ref="field"
126
- :field="field"
127
- :titleStr="formItem.label"
128
- :edit="true"
129
- style='height:80px;display:block;line-height:80px;padding-left:20px'
130
- v-model="formItem.default"
131
- />
132
-
133
- <div
134
- id="components"
135
- class="component-container"
136
- v-if="formItem.business == '888'"
137
- >
138
- <bank-form-heard
139
- :isEdit="true"
140
- @setType="typeChange"
141
- ></bank-form-heard>
142
- </div>
143
- <!-- 复制按钮 -->
144
- <el-button
145
- @click.stop="handleCopy(index)"
146
- class="form-item-copy-btn"
147
- icon="el-icon-document-copy"
148
- size="mini"
149
- style="border-radius: 0"
150
- type="primary"
151
- v-if="selectIndex === index && !isSubIndex && formItem._type != 'purchase'&& formItem._type != 'bank-form-heard'"
152
- >
153
- </el-button>
154
- <!-- 删除按钮 -->
155
- <el-button
156
- @click.stop="handleDelete(index)"
157
- class="form-item-delete-btn"
158
- icon="el-icon-delete"
159
- size="mini"
160
- style="border-radius: 0"
161
- type="primary"
162
- v-if="selectIndex === index && !isSubIndex && formItem._type != 'purchase' && formItem._type != 'bank-form-heard'"
163
- >
164
- </el-button>
165
- </el-col>
166
- </template>
167
- </template>
168
- </draggable>
169
- </template>
170
- </ele-form>
171
-
172
- </div>
173
-
174
- </template>
175
-
176
- <script>
177
- import * as _ from "lodash";
178
- import Vue from "vue";
179
- // import draggable from "vuedraggable";
180
-
181
- const draggable = () => ({
182
- // 需要加载的组件 (应该是一个 `Promise` 对象)
183
- component: import("vuedraggable"),
184
- // 异步组件加载时使用的组件
185
- loading: "",
186
- // 加载失败时使用的组件
187
- error: "",
188
- // 展示加载时组件的延时时间。默认值是 200 (毫秒)
189
- delay: 200,
190
- // 如果提供了超时时间且组件加载也超时了,
191
- // 则使用加载失败时使用的组件。默认值是:`Infinity`
192
- timeout: 3000
193
- });
194
- // const postman = () => ({
195
- // // 需要加载的组件 (应该是一个 `Promise` 对象)
196
- // component: import("../components/postman"),
197
- // // 异步组件加载时使用的组件
198
- // loading: "",
199
- // // 加载失败时使用的组件
200
- // error: "",
201
- // // 展示加载时组件的延时时间。默认值是 200 (毫秒)
202
- // delay: 200,
203
- // // 如果提供了超时时间且组件加载也超时了,
204
- // // 则使用加载失败时使用的组件。默认值是:`Infinity`
205
- // timeout: 3000
206
- // });
207
- // const handleCode = () => ({
208
- // component: import("../components/handleCode"),
209
- // loading: "",
210
- // error: "",
211
- // delay: 200,
212
- // timeout: 3000
213
- // });
214
- // const bankFormHeard = () => ({
215
- // component: import("../components/bankFormHeard"),
216
- // loading: "",
217
- // error: "",
218
- // delay: 200,
219
- // timeout: 3000
220
- // });
221
- import { mapState, mapMutations } from "vuex";
222
- import GroupTitle from "../components/GroupTitle";
223
- import bankFormHeard from "../components/bankFormHeard";
224
- import handleCode from "../components/handleCode";
225
- import postman from "../components/postman";
226
- import formDep from "../components/formDep";
227
- import person from "../components/person";
228
- import linkForm from "../components/linkForm";
229
- import GroupSummary from "../components/GroupSummary";
230
- import { getMenuRouter } from "@/formBuilder/menuConfig";
231
- import formAttrDefault from "@/store/formBuilder/formAttrDefault";
232
- import {
233
- businessType,
234
- business
235
- } from "@/formBuilder/component/components/data";
236
- import {
237
- goods,
238
- Lease,
239
- subpack,
240
- team
241
- } from "@/formBuilder/component/components/data";
242
- export default {
243
- name: "Builder",
244
- components: {
245
- draggable,
246
- linkForm,
247
- bankFormHeard,
248
- GroupTitle,
249
- GroupSummary,
250
- postman,
251
- handleCode,
252
- formDep,
253
- person
254
- },
255
- computed: {
256
- ...mapState(["selectIndex", "activeFormName", "selSubIndex"]),
257
- title() {
258
- const title = this.$store.state.formBuilder.name || "";
259
- const titleArr = title.split("/");
260
- return titleArr[ titleArr.length - 1 ];
261
- },
262
- formType: function() {
263
- return this.$store.state.formBuilder.type;
264
- },
265
- isSubIndex() {
266
- return this.selSubIndex != null;
267
- },
268
- list() {
269
- const list1 = _.cloneDeep(this.$store.state.list);
270
- if (
271
- list1[this.name] &&
272
- _.findIndex(list1[this.name], { business: "888" }) == -1
273
- ) {
274
- list1[this.name].unshift({
275
- attrs: {},
276
- business: "888",
277
- field: "bank-form-heard",
278
- label: null,
279
- rules: null,
280
- type: "bank-form-heard"
281
- });
282
- }
283
-
284
- return list1[this.name] ? list1[this.name] : [];
285
- },
286
- formAttr() {
287
- if (JSON.stringify(this.formAttrPart) == "{}") {
288
- return this.$store.state.formAttr;
289
- } else {
290
- return Object.assign(formAttrDefault, this.formAttrPart);
291
- }
292
- },
293
- formDesc() {
294
- if (JSON.stringify(this.formDescPart) == "{}") {
295
- return _.keyBy(_.cloneDeep(this.list), "field");
296
- } else {
297
- return this.formDescPart;
298
- }
299
- },
300
- formData: {
301
- get() {
302
- return this.formDataPart;
303
- }
304
- }
305
- },
306
- props: {
307
- // businessType: {
308
- // type: String,
309
- // default: "1"
310
- // },
311
- formDataPart: {
312
- type: Object,
313
- default: () => {
314
- return {};
315
- }
316
- },
317
- formDescPart: {
318
- type: Object,
319
- default: () => {
320
- return {};
321
- }
322
- },
323
- formAttrPart: {
324
- type: Object,
325
- default: () => {
326
- return {};
327
- }
328
- },
329
- formState: {
330
- type: Boolean,
331
- default: () => {
332
- return true;
333
- }
334
- },
335
- name: {
336
- type: String,
337
- default: "default"
338
- }
339
- },
340
- data() {
341
- return {
342
- apps: "bankFormHeard",
343
- currentErrorArr: [],
344
- businessType: "1",
345
- // 确保渲染结束
346
- isRenderFinish: false,
347
- // editType: ["custom-table", "columns", "purchase"]
348
- editType: ["custom-table", "columns", "purchase"]
349
- };
350
- },
351
- watch: {
352
- formDesc: {
353
- deep: true,
354
- handler: function(nv, ov) {}
355
- },
356
- formType: {
357
- immediate: true,
358
- deep: true,
359
- handler: function(newValue, oldValue) {
360
- if (newValue == "blank") {
361
- this.apps = "bankFormHeard";
362
- } else {
363
- const route = getMenuRouter(this.$store.state.formBuilder.menuId);
364
- // this.apps = require("@/" + route + ".vue").default;
365
- }
366
- }
367
- },
368
- formData: {
369
- deep: true,
370
- handler: function(newValue) {
371
- this.$emit("getFormData", newValue);
372
- }
373
- },
374
- list: {
375
- deep: true,
376
- handler: function(newVal, oldVal) {
377
- const vm = this;
378
- if (!newVal) return;
379
- const arr = [];
380
- // if (!newVal.some(i => i.field == "business")) {
381
- // arr.push(business);
382
- // }
383
- if (arr.length > 0) {
384
- vm.updateList({ newList: [...newVal, ...arr], name: vm.name });
385
- } else {
386
- // const type = newVal.filter
387
- // ? newVal.filter(item => item.field == "business")[0].business
388
- // : "";
389
- // type && vm.$emit("setType", type);
390
- }
391
-
392
- vm.list.forEach((e, i) => {
393
- if (e.label == "" && e.business != "888") {
394
- e["error"] = true;
395
- } else {
396
- e["error"] = false;
397
- }
398
- // 处理自定义必填
399
- if (
400
- e.attrs &&
401
- Object.prototype.hasOwnProperty.call(e.attrs, "required")
402
- ) {
403
- e.required = e.attrs.required;
404
- }
405
- });
406
- }
407
- }
408
- // business: {
409
- // deep: true,
410
- // handler: function(newVal,oldVal){
411
- // console.log(newVal,oldVal)
412
- // if(newVal && newVal != oldVal){
413
- //
414
- // }
415
- // }
416
- // }
417
- },
418
- mounted() {
419
- this.$nextTick(() => {
420
- this.isRenderFinish = true;
421
- });
422
- },
423
- methods: {
424
- ...mapMutations([
425
- "deleteItemByIndex",
426
- "updateSelectIndex",
427
- "updateList",
428
- "updateActiveFormName"
429
- ]),
430
- getCurrentErrorItem() {
431
- const vm = this;
432
- return new Promise((resolve, reject) => {
433
- vm.currentErrorArr = [];
434
- vm.list.forEach(e => {
435
- if (e.label == "" && e.business != "888") {
436
- vm.currentErrorArr.push(e);
437
- }
438
- });
439
- if (vm.currentErrorArr.length > 0) {
440
- resolve(0);
441
- } else {
442
- resolve(1);
443
- }
444
- });
445
- },
446
- typeChange(val) {
447
- const type = [goods, Lease, subpack, team];
448
- this.businessType = val;
449
- // this.list.forEach(item => {
450
- // // if (item.field == "business") {
451
- // // item.business = val;
452
- // // item.attrs.columns = type[val - 1] ? type[val - 1] : [];
453
- // // }
454
- // });
455
- const name = this.$store.state.activeFormName;
456
- this.updateList({ name: name, newList: this.list });
457
- },
458
- // 复制
459
- handleCopy(index) {
460
- const copyItem = _.cloneDeep(this.list[index]);
461
- copyItem.field = `key_${Date.now()}`;
462
- this.list.splice(index + 1, 0, copyItem);
463
- this.updateList({ name: this.name, newList: this.list });
464
- this.updateSelectIndex(index + 1);
465
- },
466
- // 删除
467
- handleDelete(index) {
468
- this.deleteItemByIndex({ name: this.name, index: index });
469
-
470
- // 如果删除的最后一个, 则重新选择最后一个
471
- if (index >= this.list.length) {
472
- this.updateSelectIndex(this.list.length - 1);
473
- }
474
- },
475
- // 新增
476
- handleAdd(res) {
477
- const vm = this;
478
- for (let i = 0; i < vm.list.length; i++) {
479
- const e = vm.list[i];
480
- if (
481
- i != res.newIndex &&
482
- e.type == vm.list[res.newIndex].type &&
483
- e.types == vm.list[res.newIndex].types &&
484
- vm.list[res.newIndex].types
485
- ) {
486
- vm.$message.error("已添加此类型控件,请勿重复添加");
487
- vm.list.splice(res.newIndex, 1);
488
- return;
489
- }
490
- }
491
- this.updateSelectIndex(res.newIndex);
492
- this.updateList({ name: this.name, newList: this.list });
493
- this.updateActiveFormName(this.name);
494
- },
495
- // 移动开始
496
- handleMoveStart(res) {
497
- this.updateSelectIndex(res.oldIndex);
498
- },
499
- // 移动结束
500
- handleMoveEnd(res) {
501
- this.updateSelectIndex(res.newIndex);
502
- this.updateList({ name: this.name, newList: this.list });
503
- },
504
- // 点击选中
505
- handleFormItemClick(index) {
506
- const vm = this;
507
- vm.updateActiveFormName(vm.name);
508
- vm.updateSelectIndex(index);
509
- vm.$nextTick(function() {
510
- vm.$parent.$parent.$children.forEach(async child => {
511
- if (child.$refs.FormItemConfig) {
512
- console.log(vm.$el.textContent); // 可以得到'changed'
513
- const res = await child.$refs.FormItemConfig.getlabelFormV();
514
- }
515
- });
516
- });
517
- },
518
- // 表单提交
519
- handleSubmit(data) {
520
- console.log(data);
521
- this.$emit("getData", data);
522
- return Promise.resolve();
523
- },
524
- // 请求成功
525
- handleSuccess() {
526
- // this.$message.success('创建成功')
527
- },
528
- // 获取组件名(调用ele-form内部方法)
529
- getColAttrs(layout) {
530
- return this.$refs["ele-form"].getColAttrs(layout);
531
- }
532
- }
533
- };
534
- </script>
535
- <style lang='scss'>
536
- // .el-upload--picture-card {
537
- // width: 102px !important;
538
- // height: 102px !important;
539
- // div div {
540
- // width: 100% !important;
541
- // height: 102px !important;
542
- // line-height: 102px !important;
543
- // text-align: center !important;
544
- // i{
545
- // font-size:22px !important;
546
- // font-weight: bold !important;
547
- // }
548
- // &::after {
549
- // font-size: 14px;
550
- // font-family: "Microsoft YaHei";
551
- // font-weight: 400;
552
- // color: #bfbfbf;
553
- // content: "<br>\70B9\51FB\4E0A\4F20";
554
- // margin-left: 13px;
555
- // }
556
- // }
557
- // }
558
- </style>
559
- <style lang="scss" scoped>
560
- h4 {
561
- margin-top: 0;
562
- padding: 15px 10px 10px 15px;
563
- display: block;
564
- border-bottom: 1px solid #ccc;
565
- }
566
- /deep/ .el-icon-delete {
567
- font-size: 17px !important;
568
- }
569
- /deep/ .el-icon-document-copy {
570
- font-size: 17px !important;
571
- }
572
- .quill-editor /deep/ .ql-editor {
573
- height: 200px;
574
- }
575
- .columnsClass {
576
- margin-bottom: 0 !important;
577
- /deep/ .el-input {
578
- position: absolute;
579
- top: 50% !important;
580
- transform: translateY(-50%) !important;
581
- }
582
- }
583
- .isSummary {
584
- z-index: 2004;
585
- cursor: pointer;
586
- position: absolute;
587
- left: -14px;
588
- top: 14px;
589
- // transform: translateY(-50%);
590
- }
591
- .app-main-center {
592
- // padding: 0 0 15px 0;
593
- }
594
- .pad_10 {
595
- padding: 0 10px;
596
- }
597
- .border-1 {
598
- height: 1px;
599
- width: 100%;
600
- background-color: #dcdfe6;
601
- margin-bottom: 10px;
602
- }
603
- .form-area {
604
- // border: 1px dashed #909399;
605
- // padding: 20px;
606
- min-height: calc(100vh - 330px);
607
- }
608
- /* 当无表单时的占位 */
609
- .form-area-placeholder {
610
- width: 100%;
611
- min-height: calc(100vh - 400px);
612
- display: flex;
613
- align-items: center;
614
- justify-content: center;
615
- background-color: white;
616
- color: #909399;
617
- text-align: center;
618
- }
619
-
620
- /* 表单项 */
621
- .form-item {
622
- background: white;
623
- cursor: move;
624
- position: relative;
625
- z-index: 1;
626
- padding: 0 !important;
627
- border: 1px dashed rgba(0, 0, 0, 0);
628
- }
629
-
630
- .form-item-active {
631
- border: 1px dashed #409eff !important;
632
- background-color: rgba(2, 134, 223, 0.06) !important;
633
- position: relative;
634
- }
635
- .form-item-error {
636
- border: 1px dashed #726d6d;
637
- position: relative;
638
- }
639
- /* 遮挡区(遮挡住) */
640
- .form-item::after {
641
- content: " ";
642
- display: block;
643
- left: 0;
644
- top: 0;
645
- right: 0;
646
- bottom: 0;
647
- position: absolute;
648
- z-index: 2;
649
- }
650
-
651
- .form-item-delete-btn {
652
- background-color: #ff0000;
653
- border-color: #ff0000;
654
- height: 30px;
655
- width: 30px;
656
- border-radius: 100% !important;
657
- position: absolute;
658
- right: 10px;
659
- top: -15px;
660
- z-index: 3;
661
- padding: 4px 6px;
662
- }
663
- .form-item-copy-btn {
664
- position: absolute;
665
- height: 30px;
666
- width: 30px;
667
- border-radius: 100% !important;
668
- right: 37px;
669
- top: -15px;
670
- z-index: 3;
671
- margin-right: 10px;
672
- padding: 4px 6px;
673
- }
674
- /deep/ .ele-form .el-col-18 {
675
- width: 100%;
676
- }
677
- /deep/ .ele-form .el-form-item {
678
- display: block;
679
- }
680
- /deep/ .ele-form .el-form-item .el-form-item__label {
681
- float: left;
682
- padding: 0 20px 0 0;
683
- }
684
- /deep/ .ele-form .el-form-item .el-form-item__content {
685
- display: block;
686
- }
687
- /deep/ .section-form-submit {
688
- display: none;
689
- }
690
- /deep/ .form-area .form-item .el-form-item {
691
- margin: 20px;
692
- }
693
- .purchase {
694
- padding: 20px;
695
- .el-form-item {
696
- margin: 0;
697
- }
698
- }
699
- /deep/ .is-justify-center > .el-col {
700
- width: 100%;
701
- }
702
- // .ghost {
703
- // opacity: 0.5;
704
- // background: rgb(230,247,255);
705
- // }
706
- // .chosen {
707
- // opacity: 0.5;
708
- // background: blue;
709
- // }
710
- // .type-item.ghost {
711
- // height: 80px;
712
- // width: 100% !important;
713
- // background-color: rgb(230,247,255);
714
- // }
715
- </style>
716
-
717
-
718
-
1
+ <template>
2
+ <div class="app-main-center">
3
+ <h4>{{title}}</h4>
4
+ <ele-form
5
+ v-model="formData"
6
+ :form-desc="formDesc"
7
+ :request-fn="handleSubmit"
8
+ @request-success="handleSuccess"
9
+ ref="ele-form"
10
+ v-bind="formAttr"
11
+ title=''
12
+ >
13
+ <template
14
+ v-if="formState"
15
+ v-slot:form-content="{formData, formDesc, formErrorObj }"
16
+ >
17
+ <!-- <div class="msg " >从左侧拖拽来添加字段</div> -->
18
+ <draggable
19
+ :animation="200"
20
+ v-if="isRenderFinish"
21
+ :disabled="false"
22
+ :list="list"
23
+ ghost-class="ghost"
24
+ @add="handleAdd"
25
+ @end="handleMoveEnd"
26
+ @start="handleMoveStart"
27
+ :group="{ name: 'form', pull: false, put: true}"
28
+ tag="el-row"
29
+ class="form-area"
30
+ >
31
+ <!-- 当为空时 -->
32
+
33
+ <div
34
+ class="form-area-placeholder"
35
+ v-if="list.length === 0"
36
+ >
37
+ 从左侧拖拽来添加表单项
38
+ </div>
39
+ <template v-else>
40
+ <!-- <div id="components" class="component-container">
41
+ <component :is="apps" :isEdit="true" :businessType="businessType"
42
+ @setType="typeChange"></component>
43
+ </div> -->
44
+ <template v-for="(formItem, field, index) of formDesc">
45
+ <el-col
46
+ :key="field"
47
+ v-bind="getColAttrs(formItem.layout)"
48
+ @click.native="handleFormItemClick(index)"
49
+ v-if="formItem._vif && formItem.type !== 'purchase'"
50
+ :class="{ 'form-item-active': (selectIndex === index && !isSubIndex && activeFormName == name),'form-item' : editType.indexOf(formItem.type||form.Item.content.type) == -1,'form-item-error':formItem.error,'purchase' : formItem.type == 'purchase'}"
51
+ >
52
+ <component
53
+ v-if="formItem.type == 'groupSummary'"
54
+ :is="formItem._type"
55
+ :titleStr="formItem.label"
56
+ v-model="formItem.default"
57
+ style='height:80px;display:block;line-height:80px;padding-left:20px'
58
+ />
59
+ <el-form-item
60
+ v-else-if="formItem.type !== 'groupTitle' &&formItem.business !== '888' "
61
+ :error="formErrorObj ? formErrorObj[field] : null"
62
+ :label="
63
+ (formAttr.isShowLabel === false || formItem.isShowLabel === false) ? null : formItem.label
64
+ "
65
+ :prop="field"
66
+ :class="formItem.type=='columns'?'columnsClass':null"
67
+ :label-width="formItem._type.indexOf('columns') == -1 ? formAttr.labelWidth+'px' : '0px'"
68
+ :style="editType.indexOf(formItem.type) !== -1?'margin:20px':''"
69
+ >
70
+ <el-tooltip
71
+ v-if='formItem.attrs.summary'
72
+ class="item"
73
+ effect="dark"
74
+ :content="formItem.attrs.summary"
75
+ placement="top"
76
+ >
77
+ <i class="el-icon-warning-outline isSummary"></i>
78
+ </el-tooltip>
79
+ <!-- <el-checkbox-group
80
+ v-if="formItem._type=='ele-form-checkbox'"
81
+ v-model="formItem.default"
82
+ >
83
+ <el-checkbox
84
+ v-for="(item, index) in formItem.options"
85
+ :key="index"
86
+ :label="item.text"
87
+ ></el-checkbox>
88
+ </el-checkbox-group>
89
+ <el-radio-group
90
+ v-if="formItem._type=='ele-form-radio'"
91
+ v-model="formItem.default"
92
+ >
93
+ <el-radio
94
+ v-for="(item, index) in formItem.options"
95
+ :key="index"
96
+ :label="item.text"
97
+ ></el-radio>
98
+ </el-radio-group> -->
99
+ <component
100
+ v-if="formItem.business !== '888' && formItem.type != 'groupTitle'"
101
+ :disabled="formAttr.disabled || formItem._disabled"
102
+ :desc="formItem"
103
+ :is="formItem._type"
104
+ :options="formItem._options"
105
+ :ref="field"
106
+ :field="field"
107
+ :edit="true"
108
+ v-model="formItem.default"
109
+ />
110
+
111
+ <div
112
+ class="ele-form-tip"
113
+ v-if="formItem.tip"
114
+ v-html="formItem.tip"
115
+ >
116
+ </div>
117
+ </el-form-item>
118
+
119
+ <component
120
+ v-else-if="formItem.type == 'groupTitle'"
121
+ :disabled="formAttr.disabled || formItem._disabled"
122
+ :desc="formItem"
123
+ :is="formItem._type"
124
+ :options="formItem._options"
125
+ :ref="field"
126
+ :field="field"
127
+ :titleStr="formItem.label"
128
+ :edit="true"
129
+ style='height:80px;display:block;line-height:80px;padding-left:20px'
130
+ v-model="formItem.default"
131
+ />
132
+
133
+ <div
134
+ id="components"
135
+ class="component-container"
136
+ v-if="formItem.business == '888'"
137
+ >
138
+ <bank-form-heard
139
+ :isEdit="true"
140
+ @setType="typeChange"
141
+ ></bank-form-heard>
142
+ </div>
143
+ <!-- 复制按钮 -->
144
+ <el-button
145
+ @click.stop="handleCopy(index)"
146
+ class="form-item-copy-btn"
147
+ icon="el-icon-document-copy"
148
+ size="mini"
149
+ style="border-radius: 0"
150
+ type="primary"
151
+ v-if="selectIndex === index && !isSubIndex && formItem._type != 'purchase'&& formItem._type != 'bank-form-heard'"
152
+ >
153
+ </el-button>
154
+ <!-- 删除按钮 -->
155
+ <el-button
156
+ @click.stop="handleDelete(index)"
157
+ class="form-item-delete-btn"
158
+ icon="el-icon-delete"
159
+ size="mini"
160
+ style="border-radius: 0"
161
+ type="primary"
162
+ v-if="selectIndex === index && !isSubIndex && formItem._type != 'purchase' && formItem._type != 'bank-form-heard'"
163
+ >
164
+ </el-button>
165
+ </el-col>
166
+ </template>
167
+ </template>
168
+ </draggable>
169
+ </template>
170
+ </ele-form>
171
+
172
+ </div>
173
+
174
+ </template>
175
+
176
+ <script>
177
+ import * as _ from "lodash";
178
+ import Vue from "vue";
179
+ // import draggable from "vuedraggable";
180
+
181
+ const draggable = () => ({
182
+ // 需要加载的组件 (应该是一个 `Promise` 对象)
183
+ component: import("vuedraggable"),
184
+ // 异步组件加载时使用的组件
185
+ loading: "",
186
+ // 加载失败时使用的组件
187
+ error: "",
188
+ // 展示加载时组件的延时时间。默认值是 200 (毫秒)
189
+ delay: 200,
190
+ // 如果提供了超时时间且组件加载也超时了,
191
+ // 则使用加载失败时使用的组件。默认值是:`Infinity`
192
+ timeout: 3000
193
+ });
194
+ // const postman = () => ({
195
+ // // 需要加载的组件 (应该是一个 `Promise` 对象)
196
+ // component: import("../components/postman"),
197
+ // // 异步组件加载时使用的组件
198
+ // loading: "",
199
+ // // 加载失败时使用的组件
200
+ // error: "",
201
+ // // 展示加载时组件的延时时间。默认值是 200 (毫秒)
202
+ // delay: 200,
203
+ // // 如果提供了超时时间且组件加载也超时了,
204
+ // // 则使用加载失败时使用的组件。默认值是:`Infinity`
205
+ // timeout: 3000
206
+ // });
207
+ // const handleCode = () => ({
208
+ // component: import("../components/handleCode"),
209
+ // loading: "",
210
+ // error: "",
211
+ // delay: 200,
212
+ // timeout: 3000
213
+ // });
214
+ // const bankFormHeard = () => ({
215
+ // component: import("../components/bankFormHeard"),
216
+ // loading: "",
217
+ // error: "",
218
+ // delay: 200,
219
+ // timeout: 3000
220
+ // });
221
+ import { mapState, mapMutations } from "vuex";
222
+ import GroupTitle from "../components/GroupTitle";
223
+ import bankFormHeard from "../components/bankFormHeard";
224
+ import handleCode from "../components/handleCode";
225
+ import postman from "../components/postman";
226
+ import formDep from "../components/formDep";
227
+ import person from "../components/person";
228
+ import linkForm from "../components/linkForm";
229
+ import GroupSummary from "../components/GroupSummary";
230
+ import { getMenuRouter } from "@/formBuilder/menuConfig";
231
+ import formAttrDefault from "@/store/formBuilder/formAttrDefault";
232
+ import {
233
+ businessType,
234
+ business
235
+ } from "@/formBuilder/component/components/data";
236
+ import {
237
+ goods,
238
+ Lease,
239
+ subpack,
240
+ team
241
+ } from "@/formBuilder/component/components/data";
242
+ export default {
243
+ name: "Builder",
244
+ components: {
245
+ draggable,
246
+ linkForm,
247
+ bankFormHeard,
248
+ GroupTitle,
249
+ GroupSummary,
250
+ postman,
251
+ handleCode,
252
+ formDep,
253
+ person
254
+ },
255
+ computed: {
256
+ ...mapState(["selectIndex", "activeFormName", "selSubIndex"]),
257
+ title() {
258
+ const title = this.$store.state.formBuilder.name || "";
259
+ const titleArr = title.split("/");
260
+ return titleArr[ titleArr.length - 1 ];
261
+ },
262
+ formType: function() {
263
+ return this.$store.state.formBuilder.type;
264
+ },
265
+ isSubIndex() {
266
+ return this.selSubIndex != null;
267
+ },
268
+ list() {
269
+ const list1 = _.cloneDeep(this.$store.state.list);
270
+ if (
271
+ list1[this.name] &&
272
+ _.findIndex(list1[this.name], { business: "888" }) == -1
273
+ ) {
274
+ list1[this.name].unshift({
275
+ attrs: {},
276
+ business: "888",
277
+ field: "bank-form-heard",
278
+ label: null,
279
+ rules: null,
280
+ type: "bank-form-heard"
281
+ });
282
+ }
283
+
284
+ return list1[this.name] ? list1[this.name] : [];
285
+ },
286
+ formAttr() {
287
+ if (JSON.stringify(this.formAttrPart) == "{}") {
288
+ return this.$store.state.formAttr;
289
+ } else {
290
+ return Object.assign(formAttrDefault, this.formAttrPart);
291
+ }
292
+ },
293
+ formDesc() {
294
+ if (JSON.stringify(this.formDescPart) == "{}") {
295
+ return _.keyBy(_.cloneDeep(this.list), "field");
296
+ } else {
297
+ return this.formDescPart;
298
+ }
299
+ },
300
+ formData: {
301
+ get() {
302
+ return this.formDataPart;
303
+ }
304
+ }
305
+ },
306
+ props: {
307
+ // businessType: {
308
+ // type: String,
309
+ // default: "1"
310
+ // },
311
+ formDataPart: {
312
+ type: Object,
313
+ default: () => {
314
+ return {};
315
+ }
316
+ },
317
+ formDescPart: {
318
+ type: Object,
319
+ default: () => {
320
+ return {};
321
+ }
322
+ },
323
+ formAttrPart: {
324
+ type: Object,
325
+ default: () => {
326
+ return {};
327
+ }
328
+ },
329
+ formState: {
330
+ type: Boolean,
331
+ default: () => {
332
+ return true;
333
+ }
334
+ },
335
+ name: {
336
+ type: String,
337
+ default: "default"
338
+ }
339
+ },
340
+ data() {
341
+ return {
342
+ apps: "bankFormHeard",
343
+ currentErrorArr: [],
344
+ businessType: "1",
345
+ // 确保渲染结束
346
+ isRenderFinish: false,
347
+ // editType: ["custom-table", "columns", "purchase"]
348
+ editType: ["custom-table", "columns", "purchase"]
349
+ };
350
+ },
351
+ watch: {
352
+ formDesc: {
353
+ deep: true,
354
+ handler: function(nv, ov) {}
355
+ },
356
+ formType: {
357
+ immediate: true,
358
+ deep: true,
359
+ handler: function(newValue, oldValue) {
360
+ if (newValue == "blank") {
361
+ this.apps = "bankFormHeard";
362
+ } else {
363
+ const route = getMenuRouter(this.$store.state.formBuilder.menuId);
364
+ // this.apps = require("@/" + route + ".vue").default;
365
+ }
366
+ }
367
+ },
368
+ formData: {
369
+ deep: true,
370
+ handler: function(newValue) {
371
+ this.$emit("getFormData", newValue);
372
+ }
373
+ },
374
+ list: {
375
+ deep: true,
376
+ handler: function(newVal, oldVal) {
377
+ const vm = this;
378
+ if (!newVal) return;
379
+ const arr = [];
380
+ // if (!newVal.some(i => i.field == "business")) {
381
+ // arr.push(business);
382
+ // }
383
+ if (arr.length > 0) {
384
+ vm.updateList({ newList: [...newVal, ...arr], name: vm.name });
385
+ } else {
386
+ // const type = newVal.filter
387
+ // ? newVal.filter(item => item.field == "business")[0].business
388
+ // : "";
389
+ // type && vm.$emit("setType", type);
390
+ }
391
+
392
+ vm.list.forEach((e, i) => {
393
+ if (e.label == "" && e.business != "888") {
394
+ e["error"] = true;
395
+ } else {
396
+ e["error"] = false;
397
+ }
398
+ // 处理自定义必填
399
+ if (
400
+ e.attrs &&
401
+ Object.prototype.hasOwnProperty.call(e.attrs, "required")
402
+ ) {
403
+ e.required = e.attrs.required;
404
+ }
405
+ });
406
+ }
407
+ }
408
+ // business: {
409
+ // deep: true,
410
+ // handler: function(newVal,oldVal){
411
+ // console.log(newVal,oldVal)
412
+ // if(newVal && newVal != oldVal){
413
+ //
414
+ // }
415
+ // }
416
+ // }
417
+ },
418
+ mounted() {
419
+ this.$nextTick(() => {
420
+ this.isRenderFinish = true;
421
+ });
422
+ },
423
+ methods: {
424
+ ...mapMutations([
425
+ "deleteItemByIndex",
426
+ "updateSelectIndex",
427
+ "updateList",
428
+ "updateActiveFormName"
429
+ ]),
430
+ getCurrentErrorItem() {
431
+ const vm = this;
432
+ return new Promise((resolve, reject) => {
433
+ vm.currentErrorArr = [];
434
+ vm.list.forEach(e => {
435
+ if (e.label == "" && e.business != "888") {
436
+ vm.currentErrorArr.push(e);
437
+ }
438
+ });
439
+ if (vm.currentErrorArr.length > 0) {
440
+ resolve(0);
441
+ } else {
442
+ resolve(1);
443
+ }
444
+ });
445
+ },
446
+ typeChange(val) {
447
+ const type = [goods, Lease, subpack, team];
448
+ this.businessType = val;
449
+ // this.list.forEach(item => {
450
+ // // if (item.field == "business") {
451
+ // // item.business = val;
452
+ // // item.attrs.columns = type[val - 1] ? type[val - 1] : [];
453
+ // // }
454
+ // });
455
+ const name = this.$store.state.activeFormName;
456
+ this.updateList({ name: name, newList: this.list });
457
+ },
458
+ // 复制
459
+ handleCopy(index) {
460
+ const copyItem = _.cloneDeep(this.list[index]);
461
+ copyItem.field = `key_${Date.now()}`;
462
+ this.list.splice(index + 1, 0, copyItem);
463
+ this.updateList({ name: this.name, newList: this.list });
464
+ this.updateSelectIndex(index + 1);
465
+ },
466
+ // 删除
467
+ handleDelete(index) {
468
+ this.deleteItemByIndex({ name: this.name, index: index });
469
+
470
+ // 如果删除的最后一个, 则重新选择最后一个
471
+ if (index >= this.list.length) {
472
+ this.updateSelectIndex(this.list.length - 1);
473
+ }
474
+ },
475
+ // 新增
476
+ handleAdd(res) {
477
+ const vm = this;
478
+ for (let i = 0; i < vm.list.length; i++) {
479
+ const e = vm.list[i];
480
+ if (
481
+ i != res.newIndex &&
482
+ e.type == vm.list[res.newIndex].type &&
483
+ e.types == vm.list[res.newIndex].types &&
484
+ vm.list[res.newIndex].types
485
+ ) {
486
+ vm.$message.error("已添加此类型控件,请勿重复添加");
487
+ vm.list.splice(res.newIndex, 1);
488
+ return;
489
+ }
490
+ }
491
+ this.updateSelectIndex(res.newIndex);
492
+ this.updateList({ name: this.name, newList: this.list });
493
+ this.updateActiveFormName(this.name);
494
+ },
495
+ // 移动开始
496
+ handleMoveStart(res) {
497
+ this.updateSelectIndex(res.oldIndex);
498
+ },
499
+ // 移动结束
500
+ handleMoveEnd(res) {
501
+ this.updateSelectIndex(res.newIndex);
502
+ this.updateList({ name: this.name, newList: this.list });
503
+ },
504
+ // 点击选中
505
+ handleFormItemClick(index) {
506
+ const vm = this;
507
+ vm.updateActiveFormName(vm.name);
508
+ vm.updateSelectIndex(index);
509
+ vm.$nextTick(function() {
510
+ vm.$parent.$parent.$children.forEach(async child => {
511
+ if (child.$refs.FormItemConfig) {
512
+ console.log(vm.$el.textContent); // 可以得到'changed'
513
+ const res = await child.$refs.FormItemConfig.getlabelFormV();
514
+ }
515
+ });
516
+ });
517
+ },
518
+ // 表单提交
519
+ handleSubmit(data) {
520
+ console.log(data);
521
+ this.$emit("getData", data);
522
+ return Promise.resolve();
523
+ },
524
+ // 请求成功
525
+ handleSuccess() {
526
+ // this.$message.success('创建成功')
527
+ },
528
+ // 获取组件名(调用ele-form内部方法)
529
+ getColAttrs(layout) {
530
+ return this.$refs["ele-form"].getColAttrs(layout);
531
+ }
532
+ }
533
+ };
534
+ </script>
535
+ <style lang='scss'>
536
+ // .el-upload--picture-card {
537
+ // width: 102px !important;
538
+ // height: 102px !important;
539
+ // div div {
540
+ // width: 100% !important;
541
+ // height: 102px !important;
542
+ // line-height: 102px !important;
543
+ // text-align: center !important;
544
+ // i{
545
+ // font-size:22px !important;
546
+ // font-weight: bold !important;
547
+ // }
548
+ // &::after {
549
+ // font-size: 14px;
550
+ // font-family: "Microsoft YaHei";
551
+ // font-weight: 400;
552
+ // color: #bfbfbf;
553
+ // content: "<br>\70B9\51FB\4E0A\4F20";
554
+ // margin-left: 13px;
555
+ // }
556
+ // }
557
+ // }
558
+ </style>
559
+ <style lang="scss" scoped>
560
+ h4 {
561
+ margin-top: 0;
562
+ padding: 15px 10px 10px 15px;
563
+ display: block;
564
+ border-bottom: 1px solid #ccc;
565
+ }
566
+ /deep/ .el-icon-delete {
567
+ font-size: 17px !important;
568
+ }
569
+ /deep/ .el-icon-document-copy {
570
+ font-size: 17px !important;
571
+ }
572
+ .quill-editor /deep/ .ql-editor {
573
+ height: 200px;
574
+ }
575
+ .columnsClass {
576
+ margin-bottom: 0 !important;
577
+ /deep/ .el-input {
578
+ position: absolute;
579
+ top: 50% !important;
580
+ transform: translateY(-50%) !important;
581
+ }
582
+ }
583
+ .isSummary {
584
+ z-index: 2004;
585
+ cursor: pointer;
586
+ position: absolute;
587
+ left: -14px;
588
+ top: 14px;
589
+ // transform: translateY(-50%);
590
+ }
591
+ .app-main-center {
592
+ // padding: 0 0 15px 0;
593
+ }
594
+ .pad_10 {
595
+ padding: 0 10px;
596
+ }
597
+ .border-1 {
598
+ height: 1px;
599
+ width: 100%;
600
+ background-color: #dcdfe6;
601
+ margin-bottom: 10px;
602
+ }
603
+ .form-area {
604
+ // border: 1px dashed #909399;
605
+ // padding: 20px;
606
+ min-height: calc(100vh - 330px);
607
+ }
608
+ /* 当无表单时的占位 */
609
+ .form-area-placeholder {
610
+ width: 100%;
611
+ min-height: calc(100vh - 400px);
612
+ display: flex;
613
+ align-items: center;
614
+ justify-content: center;
615
+ background-color: white;
616
+ color: #909399;
617
+ text-align: center;
618
+ }
619
+
620
+ /* 表单项 */
621
+ .form-item {
622
+ background: white;
623
+ cursor: move;
624
+ position: relative;
625
+ z-index: 1;
626
+ padding: 0 !important;
627
+ border: 1px dashed rgba(0, 0, 0, 0);
628
+ }
629
+
630
+ .form-item-active {
631
+ border: 1px dashed #409eff !important;
632
+ background-color: rgba(2, 134, 223, 0.06) !important;
633
+ position: relative;
634
+ }
635
+ .form-item-error {
636
+ border: 1px dashed #726d6d;
637
+ position: relative;
638
+ }
639
+ /* 遮挡区(遮挡住) */
640
+ .form-item::after {
641
+ content: " ";
642
+ display: block;
643
+ left: 0;
644
+ top: 0;
645
+ right: 0;
646
+ bottom: 0;
647
+ position: absolute;
648
+ z-index: 2;
649
+ }
650
+
651
+ .form-item-delete-btn {
652
+ background-color: #ff0000;
653
+ border-color: #ff0000;
654
+ height: 30px;
655
+ width: 30px;
656
+ border-radius: 100% !important;
657
+ position: absolute;
658
+ right: 10px;
659
+ top: -15px;
660
+ z-index: 3;
661
+ padding: 4px 6px;
662
+ }
663
+ .form-item-copy-btn {
664
+ position: absolute;
665
+ height: 30px;
666
+ width: 30px;
667
+ border-radius: 100% !important;
668
+ right: 37px;
669
+ top: -15px;
670
+ z-index: 3;
671
+ margin-right: 10px;
672
+ padding: 4px 6px;
673
+ }
674
+ /deep/ .ele-form .el-col-18 {
675
+ width: 100%;
676
+ }
677
+ /deep/ .ele-form .el-form-item {
678
+ display: block;
679
+ }
680
+ /deep/ .ele-form .el-form-item .el-form-item__label {
681
+ float: left;
682
+ padding: 0 20px 0 0;
683
+ }
684
+ /deep/ .ele-form .el-form-item .el-form-item__content {
685
+ display: block;
686
+ }
687
+ /deep/ .section-form-submit {
688
+ display: none;
689
+ }
690
+ /deep/ .form-area .form-item .el-form-item {
691
+ margin: 20px;
692
+ }
693
+ .purchase {
694
+ padding: 20px;
695
+ .el-form-item {
696
+ margin: 0;
697
+ }
698
+ }
699
+ /deep/ .is-justify-center > .el-col {
700
+ width: 100%;
701
+ }
702
+ // .ghost {
703
+ // opacity: 0.5;
704
+ // background: rgb(230,247,255);
705
+ // }
706
+ // .chosen {
707
+ // opacity: 0.5;
708
+ // background: blue;
709
+ // }
710
+ // .type-item.ghost {
711
+ // height: 80px;
712
+ // width: 100% !important;
713
+ // background-color: rgb(230,247,255);
714
+ // }
715
+ </style>
716
+
717
+
718
+