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,478 +1,478 @@
1
-
2
- <template>
3
- <div class="config-box">
4
- <template v-if="currentFormItem && currentFormItem.business !=='888'">
5
- <div class="config-type-span"><span>{{configTypeName}}</span></div>
6
- <ele-form
7
- :formData="currentFormItem"
8
- :formDesc="filterFormDesc"
9
- :isShowBackBtn="false"
10
- :isShowSubmitBtn="false"
11
- :rules="rules"
12
- :span="20"
13
- labelPosition="top"
14
- class="form-reverse"
15
- ref='labelForm'
16
- >
17
- <!-- 插槽内容有el-form-item组件包裹 -->
18
- <el-form-item
19
- label="默认值"
20
- label-position="top"
21
- v-if="showDefalut"
22
- >
23
- <el-select
24
- v-model="currentFormItem.customMode"
25
- class='calSelect'
26
- >
27
- <el-option
28
- key="1"
29
- label="计算公式"
30
- value="1"
31
- ></el-option>
32
- <!-- <el-option key="2" label="数据联动" value="2"></el-option> -->
33
- </el-select>
34
- <el-input
35
- ref="readOnly"
36
- style="display: none"
37
- v-model="currentFormItem.customValue"
38
- @focus="showDialog"
39
- ></el-input>
40
- <el-button
41
- class='calBtn'
42
- type="primary"
43
- plain
44
- ref="readOnly"
45
- readonly
46
- @click="showDialog"
47
- >编辑计算公式
48
- </el-button>
49
- <el-input
50
- ref="readOnly"
51
- style="display: none"
52
- readonly
53
- v-model="customValue"
54
- @focus="showDialog"
55
- ></el-input>
56
- </el-form-item>
57
- </ele-form>
58
- </template>
59
- <calculateDialog
60
- v-if="showCalculate"
61
- :desc="filterFormDesc"
62
- @close="showCalculate = false"
63
- :dialogVisible="showCalculate"
64
- ></calculateDialog>
65
- <!-- <linkageDialog></linkageDialog> -->
66
- </div>
67
- </template>
68
-
69
- <script>
70
- import comps from "@/formBuilder/comps";
71
- import configList from "@/formBuilder/config";
72
- import { changeFormLabel } from "@/formBuilder/tool.js";
73
- import { mapGetters, mapMutations } from "vuex";
74
- import calculateDialog from "./components/calculateDialog";
75
- // import linkageDialog from "./components/linkageDialog"
76
- import SearchMixin from "./components/searchMixin";
77
- import _ from "lodash-es";
78
- const serialize = require("serialize-javascript");
79
-
80
- export default {
81
- name: "AppFormItemConfig",
82
- mixins: [SearchMixin],
83
- components: {
84
- calculateDialog
85
- // linkageDialog
86
- },
87
- computed: {
88
- ...mapGetters(["currentFormItem"]),
89
- formDesc() {
90
- const type =
91
- this.currentFormItem.type &&
92
- this.currentFormItem.type.indexOf("ele-form-") > -1
93
- ? this.currentFormItem.type.replace("ele-form-", "")
94
- : this.currentFormItem.type;
95
- const types =
96
- this.currentFormItem.types &&
97
- this.currentFormItem.types.indexOf("ele-form-") > -1
98
- ? this.currentFormItem.types.replace("ele-form-", "")
99
- : this.currentFormItem.types;
100
- let customConfig;
101
-
102
- if (type == "purchase") {
103
- this.configTypeName = "业务组件";
104
- }
105
-
106
- comps.map(item => {
107
- item.comps.forEach(one => {
108
- if (one.type == type) {
109
- this.configTypeName = one.label;
110
- }
111
- });
112
- });
113
- if (this.currentFormItem.attrs.type == "number") {
114
- this.configTypeName = "数字输入";
115
- }
116
- if (types == "goods" && type == "custom-table") {
117
- this.configTypeName = "材料/商品";
118
- } else if (types == "Mechanics" && type == "custom-table") {
119
- this.configTypeName = "机械租赁";
120
- } else if (types == "team" && type == "custom-table") {
121
- this.configTypeName = "工程工队";
122
- } else if (types == "equipment" && type == "custom-table") {
123
- this.configTypeName = "设备租赁";
124
- } else if (types == "houses" && type == "custom-table") {
125
- this.configTypeName = "房产租赁";
126
- } else if (types == "subcontract" && type == "custom-table") {
127
- this.configTypeName = "工程分包";
128
- } else if (types == "cars" && type == "custom-table") {
129
- this.configTypeName = "车辆租赁";
130
- }
131
- if (
132
- this.currentFormItem.options &&
133
- typeof this.currentFormItem.options == "string"
134
- ) {
135
- customConfig = {};
136
- } else if (
137
- this.currentFormItem &&
138
- type &&
139
- configList[type] &&
140
- configList[type].common
141
- ) {
142
- customConfig = configList[type].common;
143
- } else {
144
- customConfig = {};
145
- }
146
- // 如果当前组件是关联表单 把菜单获取到用于显示
147
-
148
- const formDesc = Object.assign({}, this.commonConfig, customConfig);
149
-
150
- return changeFormLabel(formDesc);
151
- },
152
- desc: function() {
153
- const active = this.$store.state.activeFormName;
154
- return this.$store.state.list[active];
155
- },
156
- customValue() {
157
- let str = "";
158
- const _this = this;
159
- if (this.currentFormItem.customValue) {
160
- const strReg = new RegExp(/\{key_[0-9]+\}/g);
161
- const mackReg = new RegExp(/\{[+,\-,*,/]\}/g);
162
- // field 替换成label
163
- str = this.currentFormItem.customValue.replace(
164
- strReg,
165
- function(match) {
166
- const customTableArr = _this.desc.filter((e, i) => {
167
- return e.type == "custom-table";
168
- });
169
-
170
- let label = _this.desc.filter((item, index) => {
171
- return match.indexOf(item.field) > -1;
172
- })[0];
173
- label = _.get(label, "label", false);
174
- let curCustomName = "";
175
- if (!label) {
176
-
177
- customTableArr.forEach((e, i) => {
178
- if (_this.currentFormItem.pid == e.field) {
179
- label = _.find(e.attrs.columns, function(o) {
180
- if (o.content) {
181
- curCustomName = e.label;
182
- return match.indexOf(o.prop) > -1;
183
- }
184
- }).label;
185
- }
186
- });
187
- return `{${curCustomName}.${label}}`;
188
- }
189
-
190
- return `{${label}}`;
191
- }
192
- );
193
- str = str.replace(mackReg, function(match) {
194
- return " " + match.substring(1, match.length - 1) + " ";
195
- });
196
- }
197
- return str;
198
- },
199
- showDefalut() {
200
- const defaultArr = ["input", "ele-form-input"];
201
- return !(defaultArr.indexOf(this.currentFormItem.type) == -1);
202
- }
203
- },
204
- data() {
205
- return {
206
- configTypeName: "",
207
- notDataFlag: false,
208
- showCalculate: false,
209
- showLinkage: false,
210
- // 通用配置
211
- commonConfig: {
212
- label: {
213
- type: "input",
214
- label: "标题",
215
- attrs: {
216
- maxlength: 16
217
- }
218
- },
219
- // layout: {
220
- // type: 'slider',
221
- // label: '宽度',
222
- // attrs: {
223
- // min: 1,
224
- // max: 24,
225
- // 'format-tooltip'(val) {
226
- // return `${val} / 24`
227
- // }
228
- // },
229
- // on: {
230
- // input: val => {
231
- // // slider组件, 如果传递的value为null或者undefined, 会赋值为 1, 无法利用到默认值, 所以去掉
232
- // if (val !== 1) {
233
- // this.$set(this.currentFormItem, 'layout', val)
234
- // }
235
- // }
236
- // }
237
- // },
238
- // default: {
239
- // type: 'select',
240
- // label: '默认值',
241
- // options: [
242
- // { text: '计算公式', value: 1 },
243
- // { text: '数据联动', value: 2 }
244
- // ],
245
- // on: {
246
- // change: labels => {
247
- // console.log(labels)
248
- // }
249
- // }
250
- // },
251
- // custom: {
252
- // vif: data => data.label,
253
- // children: {
254
- // mode: {
255
- // type: 'select',
256
- // _defaultValue:undefined,
257
- // _disabled:false,
258
- // _type:"ele-form-select",
259
- // _vif:true,
260
- // attrs: {placeholder: ''},
261
- // options: [
262
- // { text: '计算公式', value: 1 },
263
- // { text: '数据联动', value: 2 }
264
- // ],
265
- // },
266
- // province: {
267
- // type: 'input',
268
- // _defaultValue:undefined,
269
- // _disabled:false,
270
- // _type:"ele-form-input",
271
- // attrs: {placeholder: '', disabled:true},
272
- // _vif:true
273
- // }
274
- // }
275
- // },
276
- // required: {
277
- // type: "yesno",
278
- // label: "校检",
279
- // title: "这是必填项",
280
- // vif: (data) => {
281
- // return data.type !== "text"
282
- // }
283
- // },
284
- // notRepeat: {
285
- // type: "yesno",
286
- // label: "",
287
- // title: "不允许重复值",
288
- // vif: (data) => {
289
- // return data.type !== "text"
290
- // }
291
- // },
292
- rules: {
293
- type: "select",
294
- label: "格式",
295
- title: "新增格式",
296
- // displayFormatter: val => (val ? serialize(val, { space: 2 }) : ''),
297
- attrs: {
298
- clearable: true
299
- },
300
- options: [
301
- { value: "plainText", desc: "普通文本" },
302
- // { value: "number", desc: "数字" },
303
- // { value: "integer", desc: "整数" },
304
- // { value: "float", desc: "带小数点的数字" },
305
- { value: "mobile", desc: "手机号码" },
306
- // { value: "chinese", desc: "中文" },
307
- { value: "idCard", desc: "身份证号码" }
308
- // { value: "date", desc: "合法的日期,使用 Date 判断" },
309
- // { value: "url", desc: "URL" },
310
- // { value: "email", desc: "邮箱地址" }
311
- ],
312
- slots: {
313
- default(h, { options }) {
314
- const res = options.map(option =>
315
- h(
316
- "el-option",
317
- { attrs: { value: option.value, label: option.desc }},
318
- [h("span", { style: { float: "left" }}, option.desc)]
319
- )
320
- );
321
- return res;
322
- }
323
- },
324
- on: {
325
- change: labels => {
326
- // slider组件, 如果传递的value为null或者undefined, 会赋值为 1, 无法利用到默认值, 所以去掉
327
- const res = [];
328
- if (this.patternList[labels]) {
329
- res.push({
330
- pattern: this.patternList[labels].toString(),
331
- trigger: "change",
332
- message: this.messageList[labels]
333
- ? this.messageList[labels]
334
- : "您输入的格式不正确",
335
- _type: labels
336
- });
337
- } else if (labels) {
338
- res.push({
339
- type: labels,
340
- trigger: "change",
341
- message: "您输入的格式不正确"
342
- });
343
- }
344
- this.$set(this.currentFormItem, "rules", res);
345
- }
346
- },
347
- displayFormatter: labels => {
348
- if (labels && labels.length > 0) {
349
- let value = "";
350
- if (labels[0].type) {
351
- value = labels[0].type;
352
- } else {
353
- value = labels[0]._type;
354
- }
355
- return value;
356
- }
357
- },
358
- vif: data => {
359
- return data.type == "input" && data.attrs.type !== "number";
360
- }
361
- }
362
- },
363
- patternList: {
364
- mobile: new RegExp(
365
- /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/
366
- ), // 手机号
367
- chinese: new RegExp(/^[\u4e00-\u9fa5\(\)\(\)]+$/), // 中文
368
- idCard: new RegExp(
369
- /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
370
- ),
371
- integer: new RegExp(/^[0-9]*$/),
372
- float: new RegExp(/^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/),
373
- number: new RegExp(/^(\-|\+)?\d+(\.\d+)?$/),
374
- plainText: new RegExp(/^[\u4e00-\u9fa5_a-zA-Z0-9-\\()\\()\s*]+$/)
375
- },
376
- messageList: {
377
- plainText:
378
- "请输入中文、英文字母、数字、左右括号、空格、中划线和下划线的组合",
379
- mobile: "手机号格式不正确,请重新输入",
380
- idCard: "身份证格式不正确,请重新输入"
381
- },
382
- rules: {
383
- label: {
384
- required: true,
385
- message: "标题不能为空"
386
- }
387
- }
388
- };
389
- },
390
- methods: {
391
- ...mapMutations(["updateCurrentItem"]),
392
- // 编辑rules对象
393
- showDialog() {
394
- if (this.currentFormItem.customMode == 1) {
395
- this.showCalculate = true;
396
- this.showLinkage = true;
397
- } else {
398
- this.$message.error("请选择赋值方式");
399
- }
400
- this.$refs.readOnly.blur();
401
- },
402
- handleChangeRules(rules) {
403
- try {
404
- if (rules) {
405
- rules = eval("(" + rules + ")");
406
- if (typeof rules !== "object") return;
407
- } else {
408
- rules = [];
409
- }
410
- const data = Object.assign({}, this.currentFormItem, { rules: rules });
411
- this.updateCurrentItem(data);
412
- } catch (error) {
413
- // eslint-disable-next-line no-console
414
- console.error(error);
415
- }
416
- },
417
- formatValue(val) {
418
- return val;
419
- },
420
- getlabelFormV() {
421
- const vm = this;
422
- return new Promise((resolve, reject) => {
423
- vm.$nextTick(function() {
424
- if (vm.$refs.labelForm && vm.$refs.labelForm.validate) {
425
- vm.$refs.labelForm
426
- .validate(async valid => {})
427
- .then(res => {
428
- console.log("成功");
429
- resolve(1);
430
- })
431
- .catch(e => {
432
- console.log(e, "失败");
433
- resolve(0);
434
- });
435
- }
436
- });
437
- });
438
- }
439
- }
440
- };
441
- </script>
442
- <style lang="scss" scoped>
443
- .config-box {
444
- overflow-y: auto;
445
- height: 100%;
446
- padding-bottom: 25px;
447
- }
448
- .calSelect {
449
- width: 282px;
450
- }
451
- .calBtn {
452
- width: 282px;
453
- height: 30px;
454
- line-height: 5px;
455
- }
456
- .option-item {
457
- .el-input {
458
- margin-bottom: 20px;
459
- }
460
- }
461
- /deep/ .form-reverse .is-justify-center .el-form {
462
- display: flex;
463
- flex-direction: column-reverse;
464
- }
465
- .config-type-span {
466
- font-size: 14px;
467
- text-align: right;
468
- padding: 0 28px;
469
- margin-bottom: -30px;
470
- span {
471
- display: inline-block;
472
- background: #f4f8fc;
473
- border-radius: 4px;
474
- line-height: 30px;
475
- padding: 0 15px;
476
- }
477
- }
478
- </style>
1
+
2
+ <template>
3
+ <div class="config-box">
4
+ <template v-if="currentFormItem && currentFormItem.business !=='888'">
5
+ <div class="config-type-span"><span>{{configTypeName}}</span></div>
6
+ <ele-form
7
+ :formData="currentFormItem"
8
+ :formDesc="filterFormDesc"
9
+ :isShowBackBtn="false"
10
+ :isShowSubmitBtn="false"
11
+ :rules="rules"
12
+ :span="20"
13
+ labelPosition="top"
14
+ class="form-reverse"
15
+ ref='labelForm'
16
+ >
17
+ <!-- 插槽内容有el-form-item组件包裹 -->
18
+ <el-form-item
19
+ label="默认值"
20
+ label-position="top"
21
+ v-if="showDefalut"
22
+ >
23
+ <el-select
24
+ v-model="currentFormItem.customMode"
25
+ class='calSelect'
26
+ >
27
+ <el-option
28
+ key="1"
29
+ label="计算公式"
30
+ value="1"
31
+ ></el-option>
32
+ <!-- <el-option key="2" label="数据联动" value="2"></el-option> -->
33
+ </el-select>
34
+ <el-input
35
+ ref="readOnly"
36
+ style="display: none"
37
+ v-model="currentFormItem.customValue"
38
+ @focus="showDialog"
39
+ ></el-input>
40
+ <el-button
41
+ class='calBtn'
42
+ type="primary"
43
+ plain
44
+ ref="readOnly"
45
+ readonly
46
+ @click="showDialog"
47
+ >编辑计算公式
48
+ </el-button>
49
+ <el-input
50
+ ref="readOnly"
51
+ style="display: none"
52
+ readonly
53
+ v-model="customValue"
54
+ @focus="showDialog"
55
+ ></el-input>
56
+ </el-form-item>
57
+ </ele-form>
58
+ </template>
59
+ <calculateDialog
60
+ v-if="showCalculate"
61
+ :desc="filterFormDesc"
62
+ @close="showCalculate = false"
63
+ :dialogVisible="showCalculate"
64
+ ></calculateDialog>
65
+ <!-- <linkageDialog></linkageDialog> -->
66
+ </div>
67
+ </template>
68
+
69
+ <script>
70
+ import comps from "@/formBuilder/comps";
71
+ import configList from "@/formBuilder/config";
72
+ import { changeFormLabel } from "@/formBuilder/tool.js";
73
+ import { mapGetters, mapMutations } from "vuex";
74
+ import calculateDialog from "./components/calculateDialog";
75
+ // import linkageDialog from "./components/linkageDialog"
76
+ import SearchMixin from "./components/searchMixin";
77
+ import _ from "lodash-es";
78
+ const serialize = require("serialize-javascript");
79
+
80
+ export default {
81
+ name: "AppFormItemConfig",
82
+ mixins: [SearchMixin],
83
+ components: {
84
+ calculateDialog
85
+ // linkageDialog
86
+ },
87
+ computed: {
88
+ ...mapGetters(["currentFormItem"]),
89
+ formDesc() {
90
+ const type =
91
+ this.currentFormItem.type &&
92
+ this.currentFormItem.type.indexOf("ele-form-") > -1
93
+ ? this.currentFormItem.type.replace("ele-form-", "")
94
+ : this.currentFormItem.type;
95
+ const types =
96
+ this.currentFormItem.types &&
97
+ this.currentFormItem.types.indexOf("ele-form-") > -1
98
+ ? this.currentFormItem.types.replace("ele-form-", "")
99
+ : this.currentFormItem.types;
100
+ let customConfig;
101
+
102
+ if (type == "purchase") {
103
+ this.configTypeName = "业务组件";
104
+ }
105
+
106
+ comps.map(item => {
107
+ item.comps.forEach(one => {
108
+ if (one.type == type) {
109
+ this.configTypeName = one.label;
110
+ }
111
+ });
112
+ });
113
+ if (this.currentFormItem.attrs.type == "number") {
114
+ this.configTypeName = "数字输入";
115
+ }
116
+ if (types == "goods" && type == "custom-table") {
117
+ this.configTypeName = "材料/商品";
118
+ } else if (types == "Mechanics" && type == "custom-table") {
119
+ this.configTypeName = "机械租赁";
120
+ } else if (types == "team" && type == "custom-table") {
121
+ this.configTypeName = "工程工队";
122
+ } else if (types == "equipment" && type == "custom-table") {
123
+ this.configTypeName = "设备租赁";
124
+ } else if (types == "houses" && type == "custom-table") {
125
+ this.configTypeName = "房产租赁";
126
+ } else if (types == "subcontract" && type == "custom-table") {
127
+ this.configTypeName = "工程分包";
128
+ } else if (types == "cars" && type == "custom-table") {
129
+ this.configTypeName = "车辆租赁";
130
+ }
131
+ if (
132
+ this.currentFormItem.options &&
133
+ typeof this.currentFormItem.options == "string"
134
+ ) {
135
+ customConfig = {};
136
+ } else if (
137
+ this.currentFormItem &&
138
+ type &&
139
+ configList[type] &&
140
+ configList[type].common
141
+ ) {
142
+ customConfig = configList[type].common;
143
+ } else {
144
+ customConfig = {};
145
+ }
146
+ // 如果当前组件是关联表单 把菜单获取到用于显示
147
+
148
+ const formDesc = Object.assign({}, this.commonConfig, customConfig);
149
+
150
+ return changeFormLabel(formDesc);
151
+ },
152
+ desc: function() {
153
+ const active = this.$store.state.activeFormName;
154
+ return this.$store.state.list[active];
155
+ },
156
+ customValue() {
157
+ let str = "";
158
+ const _this = this;
159
+ if (this.currentFormItem.customValue) {
160
+ const strReg = new RegExp(/\{key_[0-9]+\}/g);
161
+ const mackReg = new RegExp(/\{[+,\-,*,/]\}/g);
162
+ // field 替换成label
163
+ str = this.currentFormItem.customValue.replace(
164
+ strReg,
165
+ function(match) {
166
+ const customTableArr = _this.desc.filter((e, i) => {
167
+ return e.type == "custom-table";
168
+ });
169
+
170
+ let label = _this.desc.filter((item, index) => {
171
+ return match.indexOf(item.field) > -1;
172
+ })[0];
173
+ label = _.get(label, "label", false);
174
+ let curCustomName = "";
175
+ if (!label) {
176
+
177
+ customTableArr.forEach((e, i) => {
178
+ if (_this.currentFormItem.pid == e.field) {
179
+ label = _.find(e.attrs.columns, function(o) {
180
+ if (o.content) {
181
+ curCustomName = e.label;
182
+ return match.indexOf(o.prop) > -1;
183
+ }
184
+ }).label;
185
+ }
186
+ });
187
+ return `{${curCustomName}.${label}}`;
188
+ }
189
+
190
+ return `{${label}}`;
191
+ }
192
+ );
193
+ str = str.replace(mackReg, function(match) {
194
+ return " " + match.substring(1, match.length - 1) + " ";
195
+ });
196
+ }
197
+ return str;
198
+ },
199
+ showDefalut() {
200
+ const defaultArr = ["input", "ele-form-input"];
201
+ return !(defaultArr.indexOf(this.currentFormItem.type) == -1);
202
+ }
203
+ },
204
+ data() {
205
+ return {
206
+ configTypeName: "",
207
+ notDataFlag: false,
208
+ showCalculate: false,
209
+ showLinkage: false,
210
+ // 通用配置
211
+ commonConfig: {
212
+ label: {
213
+ type: "input",
214
+ label: "标题",
215
+ attrs: {
216
+ maxlength: 16
217
+ }
218
+ },
219
+ // layout: {
220
+ // type: 'slider',
221
+ // label: '宽度',
222
+ // attrs: {
223
+ // min: 1,
224
+ // max: 24,
225
+ // 'format-tooltip'(val) {
226
+ // return `${val} / 24`
227
+ // }
228
+ // },
229
+ // on: {
230
+ // input: val => {
231
+ // // slider组件, 如果传递的value为null或者undefined, 会赋值为 1, 无法利用到默认值, 所以去掉
232
+ // if (val !== 1) {
233
+ // this.$set(this.currentFormItem, 'layout', val)
234
+ // }
235
+ // }
236
+ // }
237
+ // },
238
+ // default: {
239
+ // type: 'select',
240
+ // label: '默认值',
241
+ // options: [
242
+ // { text: '计算公式', value: 1 },
243
+ // { text: '数据联动', value: 2 }
244
+ // ],
245
+ // on: {
246
+ // change: labels => {
247
+ // console.log(labels)
248
+ // }
249
+ // }
250
+ // },
251
+ // custom: {
252
+ // vif: data => data.label,
253
+ // children: {
254
+ // mode: {
255
+ // type: 'select',
256
+ // _defaultValue:undefined,
257
+ // _disabled:false,
258
+ // _type:"ele-form-select",
259
+ // _vif:true,
260
+ // attrs: {placeholder: ''},
261
+ // options: [
262
+ // { text: '计算公式', value: 1 },
263
+ // { text: '数据联动', value: 2 }
264
+ // ],
265
+ // },
266
+ // province: {
267
+ // type: 'input',
268
+ // _defaultValue:undefined,
269
+ // _disabled:false,
270
+ // _type:"ele-form-input",
271
+ // attrs: {placeholder: '', disabled:true},
272
+ // _vif:true
273
+ // }
274
+ // }
275
+ // },
276
+ // required: {
277
+ // type: "yesno",
278
+ // label: "校检",
279
+ // title: "这是必填项",
280
+ // vif: (data) => {
281
+ // return data.type !== "text"
282
+ // }
283
+ // },
284
+ // notRepeat: {
285
+ // type: "yesno",
286
+ // label: "",
287
+ // title: "不允许重复值",
288
+ // vif: (data) => {
289
+ // return data.type !== "text"
290
+ // }
291
+ // },
292
+ rules: {
293
+ type: "select",
294
+ label: "格式",
295
+ title: "新增格式",
296
+ // displayFormatter: val => (val ? serialize(val, { space: 2 }) : ''),
297
+ attrs: {
298
+ clearable: true
299
+ },
300
+ options: [
301
+ { value: "plainText", desc: "普通文本" },
302
+ // { value: "number", desc: "数字" },
303
+ // { value: "integer", desc: "整数" },
304
+ // { value: "float", desc: "带小数点的数字" },
305
+ { value: "mobile", desc: "手机号码" },
306
+ // { value: "chinese", desc: "中文" },
307
+ { value: "idCard", desc: "身份证号码" }
308
+ // { value: "date", desc: "合法的日期,使用 Date 判断" },
309
+ // { value: "url", desc: "URL" },
310
+ // { value: "email", desc: "邮箱地址" }
311
+ ],
312
+ slots: {
313
+ default(h, { options }) {
314
+ const res = options.map(option =>
315
+ h(
316
+ "el-option",
317
+ { attrs: { value: option.value, label: option.desc }},
318
+ [h("span", { style: { float: "left" }}, option.desc)]
319
+ )
320
+ );
321
+ return res;
322
+ }
323
+ },
324
+ on: {
325
+ change: labels => {
326
+ // slider组件, 如果传递的value为null或者undefined, 会赋值为 1, 无法利用到默认值, 所以去掉
327
+ const res = [];
328
+ if (this.patternList[labels]) {
329
+ res.push({
330
+ pattern: this.patternList[labels].toString(),
331
+ trigger: "change",
332
+ message: this.messageList[labels]
333
+ ? this.messageList[labels]
334
+ : "您输入的格式不正确",
335
+ _type: labels
336
+ });
337
+ } else if (labels) {
338
+ res.push({
339
+ type: labels,
340
+ trigger: "change",
341
+ message: "您输入的格式不正确"
342
+ });
343
+ }
344
+ this.$set(this.currentFormItem, "rules", res);
345
+ }
346
+ },
347
+ displayFormatter: labels => {
348
+ if (labels && labels.length > 0) {
349
+ let value = "";
350
+ if (labels[0].type) {
351
+ value = labels[0].type;
352
+ } else {
353
+ value = labels[0]._type;
354
+ }
355
+ return value;
356
+ }
357
+ },
358
+ vif: data => {
359
+ return data.type == "input" && data.attrs.type !== "number";
360
+ }
361
+ }
362
+ },
363
+ patternList: {
364
+ mobile: new RegExp(
365
+ /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/
366
+ ), // 手机号
367
+ chinese: new RegExp(/^[\u4e00-\u9fa5\(\)\(\)]+$/), // 中文
368
+ idCard: new RegExp(
369
+ /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
370
+ ),
371
+ integer: new RegExp(/^[0-9]*$/),
372
+ float: new RegExp(/^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/),
373
+ number: new RegExp(/^(\-|\+)?\d+(\.\d+)?$/),
374
+ plainText: new RegExp(/^[\u4e00-\u9fa5_a-zA-Z0-9-\\()\\()\s*]+$/)
375
+ },
376
+ messageList: {
377
+ plainText:
378
+ "请输入中文、英文字母、数字、左右括号、空格、中划线和下划线的组合",
379
+ mobile: "手机号格式不正确,请重新输入",
380
+ idCard: "身份证格式不正确,请重新输入"
381
+ },
382
+ rules: {
383
+ label: {
384
+ required: true,
385
+ message: "标题不能为空"
386
+ }
387
+ }
388
+ };
389
+ },
390
+ methods: {
391
+ ...mapMutations(["updateCurrentItem"]),
392
+ // 编辑rules对象
393
+ showDialog() {
394
+ if (this.currentFormItem.customMode == 1) {
395
+ this.showCalculate = true;
396
+ this.showLinkage = true;
397
+ } else {
398
+ this.$message.error("请选择赋值方式");
399
+ }
400
+ this.$refs.readOnly.blur();
401
+ },
402
+ handleChangeRules(rules) {
403
+ try {
404
+ if (rules) {
405
+ rules = eval("(" + rules + ")");
406
+ if (typeof rules !== "object") return;
407
+ } else {
408
+ rules = [];
409
+ }
410
+ const data = Object.assign({}, this.currentFormItem, { rules: rules });
411
+ this.updateCurrentItem(data);
412
+ } catch (error) {
413
+ // eslint-disable-next-line no-console
414
+ console.error(error);
415
+ }
416
+ },
417
+ formatValue(val) {
418
+ return val;
419
+ },
420
+ getlabelFormV() {
421
+ const vm = this;
422
+ return new Promise((resolve, reject) => {
423
+ vm.$nextTick(function() {
424
+ if (vm.$refs.labelForm && vm.$refs.labelForm.validate) {
425
+ vm.$refs.labelForm
426
+ .validate(async valid => {})
427
+ .then(res => {
428
+ console.log("成功");
429
+ resolve(1);
430
+ })
431
+ .catch(e => {
432
+ console.log(e, "失败");
433
+ resolve(0);
434
+ });
435
+ }
436
+ });
437
+ });
438
+ }
439
+ }
440
+ };
441
+ </script>
442
+ <style lang="scss" scoped>
443
+ .config-box {
444
+ overflow-y: auto;
445
+ height: 100%;
446
+ padding-bottom: 25px;
447
+ }
448
+ .calSelect {
449
+ width: 282px;
450
+ }
451
+ .calBtn {
452
+ width: 282px;
453
+ height: 30px;
454
+ line-height: 5px;
455
+ }
456
+ .option-item {
457
+ .el-input {
458
+ margin-bottom: 20px;
459
+ }
460
+ }
461
+ /deep/ .form-reverse .is-justify-center .el-form {
462
+ display: flex;
463
+ flex-direction: column-reverse;
464
+ }
465
+ .config-type-span {
466
+ font-size: 14px;
467
+ text-align: right;
468
+ padding: 0 28px;
469
+ margin-bottom: -30px;
470
+ span {
471
+ display: inline-block;
472
+ background: #f4f8fc;
473
+ border-radius: 4px;
474
+ line-height: 30px;
475
+ padding: 0 15px;
476
+ }
477
+ }
478
+ </style>