hs-admin-ui 4.1.4 → 4.1.5

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 (642) hide show
  1. package/dist/401-BzJI2gFF.mjs +0 -1
  2. package/dist/401-BzJI2gFF.mjs.gz +0 -0
  3. package/dist/401-yMsLUK4l.js +0 -1
  4. package/dist/401-yMsLUK4l.js.gz +0 -0
  5. package/dist/404-B2ON4qU8.js +0 -1
  6. package/dist/404-B2ON4qU8.js.gz +0 -0
  7. package/dist/404-DMkWKsBf.mjs +0 -1
  8. package/dist/404-DMkWKsBf.mjs.gz +0 -0
  9. package/dist/account-BaCUa_zU.mjs +0 -1
  10. package/dist/account-BaCUa_zU.mjs.gz +0 -0
  11. package/dist/account-m86ss5x3.js +0 -1
  12. package/dist/account-m86ss5x3.js.gz +0 -0
  13. package/dist/aside-BS3iMpFI.mjs +0 -1
  14. package/dist/aside-BS3iMpFI.mjs.gz +0 -0
  15. package/dist/aside-eHuEMYpI.js +0 -1
  16. package/dist/aside-eHuEMYpI.js.gz +0 -0
  17. package/dist/baseBtnConfig-BaYFVzAe.js +0 -1
  18. package/dist/baseBtnConfig-BaYFVzAe.js.gz +0 -0
  19. package/dist/baseBtnConfig-BpdCCSnd.mjs +0 -1
  20. package/dist/baseBtnConfig-BpdCCSnd.mjs.gz +0 -0
  21. package/dist/baseFormConfig-CLzeDtYS.mjs +0 -1
  22. package/dist/baseFormConfig-CLzeDtYS.mjs.gz +0 -0
  23. package/dist/baseFormConfig-DIhAM0r9.js +0 -1
  24. package/dist/baseFormConfig-DIhAM0r9.js.gz +0 -0
  25. package/dist/btnIndex-Da4JeOuj.mjs +0 -1
  26. package/dist/btnIndex-Da4JeOuj.mjs.gz +0 -0
  27. package/dist/btnIndex-zJDzK1YM.js +0 -1
  28. package/dist/btnIndex-zJDzK1YM.js.gz +0 -0
  29. package/dist/classic-Bh1vJ8wW.js +0 -1
  30. package/dist/classic-Bh1vJ8wW.js.gz +0 -0
  31. package/dist/classic-C3c5W6bW.mjs +0 -1
  32. package/dist/classic-C3c5W6bW.mjs.gz +0 -0
  33. package/dist/cloneConfigDialog-BPZau43p.js +0 -1
  34. package/dist/cloneConfigDialog-BPZau43p.js.gz +0 -0
  35. package/dist/cloneConfigDialog-DlKGp5lz.mjs +0 -1
  36. package/dist/cloneConfigDialog-DlKGp5lz.mjs.gz +0 -0
  37. package/dist/columns-DC21XYUc.js +0 -1
  38. package/dist/columns-DC21XYUc.js.gz +0 -0
  39. package/dist/columns-DQw-mrU3.mjs +0 -1
  40. package/dist/columns-DQw-mrU3.mjs.gz +0 -0
  41. package/dist/columnsAside-B__LjXPs.mjs +0 -1
  42. package/dist/columnsAside-B__LjXPs.mjs.gz +0 -0
  43. package/dist/columnsAside-vvFOlX5F.js +0 -1
  44. package/dist/columnsAside-vvFOlX5F.js.gz +0 -0
  45. package/dist/contextmenu-7YxyCBre.js +0 -1
  46. package/dist/contextmenu-7YxyCBre.js.gz +0 -0
  47. package/dist/contextmenu-C9_VjixF.mjs +0 -1
  48. package/dist/contextmenu-C9_VjixF.mjs.gz +0 -0
  49. package/dist/contextmenu-Cnxfpyzs.mjs +0 -1
  50. package/dist/contextmenu-Cnxfpyzs.mjs.gz +0 -0
  51. package/dist/contextmenu-D7_SLgbF.mjs +0 -1
  52. package/dist/contextmenu-D7_SLgbF.mjs.gz +0 -0
  53. package/dist/contextmenu-DIM2CO4m.js +0 -1
  54. package/dist/contextmenu-DIM2CO4m.js.gz +0 -0
  55. package/dist/contextmenu-jw7CjkqU.js +0 -1
  56. package/dist/contextmenu-jw7CjkqU.js.gz +0 -0
  57. package/dist/defaults-CO-9PLy3.mjs +0 -1
  58. package/dist/defaults-CO-9PLy3.mjs.gz +0 -0
  59. package/dist/defaults-CPTLP5d8.js +0 -1
  60. package/dist/defaults-CPTLP5d8.js.gz +0 -0
  61. package/dist/dialog-BbI7XOgp.js +0 -1
  62. package/dist/dialog-Bl7WEBUf.mjs +0 -1
  63. package/dist/dialog-BmCwSZ2C.js +0 -1
  64. package/dist/dialog-BmCwSZ2C.js.gz +0 -0
  65. package/dist/dialog-Ch_vZTX6.mjs +0 -1
  66. package/dist/dialog-Ch_vZTX6.mjs.gz +0 -0
  67. package/dist/dialog-Cqb6ay6R.js +0 -1
  68. package/dist/dialog-Cqb6ay6R.js.gz +0 -0
  69. package/dist/dialog-DIFjAfxe.mjs +0 -1
  70. package/dist/dialog-DVZ-Aqm0.mjs +0 -1
  71. package/dist/dialog-DVZ-Aqm0.mjs.gz +0 -0
  72. package/dist/dialog-DeuceWcM.js +0 -1
  73. package/dist/dialog-DeuceWcM.js.gz +0 -0
  74. package/dist/dialog-Dtk0TIqw.mjs +0 -1
  75. package/dist/dialog-GTCUA8Nu.js +0 -1
  76. package/dist/dialog-UoVqSoLN.mjs +0 -1
  77. package/dist/dialog-UoVqSoLN.mjs.gz +0 -0
  78. package/dist/dialog-ggWKEkrm.js +0 -1
  79. package/dist/dialog.vue_vue_type_script_setup_true_name_dataAuthDialog_lang-BZUe_7gT.mjs +0 -1
  80. package/dist/dialog.vue_vue_type_script_setup_true_name_dataAuthDialog_lang-BZUe_7gT.mjs.gz +0 -0
  81. package/dist/dialog.vue_vue_type_script_setup_true_name_dataAuthDialog_lang-utiTEG14.js +0 -1
  82. package/dist/dialog.vue_vue_type_script_setup_true_name_dataAuthDialog_lang-utiTEG14.js.gz +0 -0
  83. package/dist/dialog.vue_vue_type_script_setup_true_name_systemMenuDialog_lang-CJ_5_qKm.mjs +0 -1
  84. package/dist/dialog.vue_vue_type_script_setup_true_name_systemMenuDialog_lang-CJ_5_qKm.mjs.gz +0 -0
  85. package/dist/dialog.vue_vue_type_script_setup_true_name_systemMenuDialog_lang-bGgzzD_6.js +0 -1
  86. package/dist/dialog.vue_vue_type_script_setup_true_name_systemMenuDialog_lang-bGgzzD_6.js.gz +0 -0
  87. package/dist/dictDialog-C6deNfCe.js +0 -1
  88. package/dist/dictDialog-DA8GuFk9.mjs +0 -1
  89. package/dist/dictDialog.vue_vue_type_script_setup_true_name_dictDialog_lang-CdhZHxQx.js +0 -1
  90. package/dist/dictDialog.vue_vue_type_script_setup_true_name_dictDialog_lang-CdhZHxQx.js.gz +0 -0
  91. package/dist/dictDialog.vue_vue_type_script_setup_true_name_dictDialog_lang-cGDTYNII.mjs +0 -1
  92. package/dist/dictDialog.vue_vue_type_script_setup_true_name_dictDialog_lang-cGDTYNII.mjs.gz +0 -0
  93. package/dist/dictItemDialog-C2l1XNjL.js +0 -1
  94. package/dist/dictItemDialog-CGCyt3sd.mjs +0 -1
  95. package/dist/dictItemDialog.vue_vue_type_script_setup_true_lang-CTTB6eDA.mjs +0 -1
  96. package/dist/dictItemDialog.vue_vue_type_script_setup_true_lang-CTTB6eDA.mjs.gz +0 -0
  97. package/dist/dictItemDialog.vue_vue_type_script_setup_true_lang-D47SU2Qe.js +0 -1
  98. package/dist/dictItemDialog.vue_vue_type_script_setup_true_lang-D47SU2Qe.js.gz +0 -0
  99. package/dist/editDialog-B3FZIrWv.js +0 -1
  100. package/dist/editDialog-B3FZIrWv.js.gz +0 -0
  101. package/dist/editDialog-BsPYjQ3Z.mjs +0 -1
  102. package/dist/editDialog-BsPYjQ3Z.mjs.gz +0 -0
  103. package/dist/formConfig-CQRWsB8I.mjs +0 -1
  104. package/dist/formConfig-CQRWsB8I.mjs.gz +0 -0
  105. package/dist/formConfig-vRKuN3Qq.js +0 -1
  106. package/dist/formConfig-vRKuN3Qq.js.gz +0 -0
  107. package/dist/header-Cn7nyXyQ.js +0 -1
  108. package/dist/header-DXLUHaoH.mjs +0 -1
  109. package/dist/horizontal-D5m-StSj.mjs +0 -1
  110. package/dist/horizontal-D5m-StSj.mjs.gz +0 -0
  111. package/dist/horizontal-DQqvv6Sp.js +0 -1
  112. package/dist/horizontal-DQqvv6Sp.js.gz +0 -0
  113. package/dist/hsAttrBtn-D1QvVUZr.js +0 -1
  114. package/dist/hsAttrBtn-TYcer9fC.mjs +0 -1
  115. package/dist/hsAttrBtn.vue_vue_type_script_setup_true_lang-CQvnEDXk.js +0 -1
  116. package/dist/hsAttrBtn.vue_vue_type_script_setup_true_lang-CQvnEDXk.js.gz +0 -0
  117. package/dist/hsAttrBtn.vue_vue_type_script_setup_true_lang-DGycKZ06.mjs +0 -1
  118. package/dist/hsAttrBtn.vue_vue_type_script_setup_true_lang-DGycKZ06.mjs.gz +0 -0
  119. package/dist/hsAttrForm-BzIlb91a.js +0 -1
  120. package/dist/hsAttrForm-DtqMt6Lk.mjs +0 -1
  121. package/dist/hsAttrForm.vue_vue_type_script_setup_true_lang-BMaIQo0H.mjs +0 -1
  122. package/dist/hsAttrForm.vue_vue_type_script_setup_true_lang-BMaIQo0H.mjs.gz +0 -0
  123. package/dist/hsAttrForm.vue_vue_type_script_setup_true_lang-hKoCLLeD.js +0 -1
  124. package/dist/hsAttrForm.vue_vue_type_script_setup_true_lang-hKoCLLeD.js.gz +0 -0
  125. package/dist/hsBtnConfigList-Bb1nm0Vy.js +0 -1
  126. package/dist/hsBtnConfigList-Bb1nm0Vy.js.gz +0 -0
  127. package/dist/hsBtnConfigList-Bren_Fd3.mjs +0 -1
  128. package/dist/hsBtnConfigList-Bren_Fd3.mjs.gz +0 -0
  129. package/dist/hsBtnItemConfig-BCJqmO3A.js +0 -1
  130. package/dist/hsBtnItemConfig-CzRP7rGc.mjs +0 -1
  131. package/dist/hsBtnItemConfig.vue_vue_type_script_setup_true_lang-DS7PtHA3.js +0 -1
  132. package/dist/hsBtnItemConfig.vue_vue_type_script_setup_true_lang-DS7PtHA3.js.gz +0 -0
  133. package/dist/hsBtnItemConfig.vue_vue_type_script_setup_true_lang-DvQ5Sm0Z.mjs +0 -1
  134. package/dist/hsBtnItemConfig.vue_vue_type_script_setup_true_lang-DvQ5Sm0Z.mjs.gz +0 -0
  135. package/dist/hsBtnPanel-CUhnhH9S.mjs +0 -1
  136. package/dist/hsBtnPanel-D-Y2DAWc.js +0 -1
  137. package/dist/hsBtnPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CFWt1cBu.js +0 -1
  138. package/dist/hsBtnPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CFWt1cBu.js.gz +0 -0
  139. package/dist/hsBtnPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CWd8hS5v.mjs +0 -1
  140. package/dist/hsBtnPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CWd8hS5v.mjs.gz +0 -0
  141. package/dist/hsExpand-DIo3Lfqs.mjs +0 -1
  142. package/dist/hsExpand-MS4CSl__.js +0 -1
  143. package/dist/hsExpand.vue_vue_type_script_setup_true_lang-C0tRMdLr.mjs +0 -1
  144. package/dist/hsExpand.vue_vue_type_script_setup_true_lang-C0tRMdLr.mjs.gz +0 -0
  145. package/dist/hsExpand.vue_vue_type_script_setup_true_lang-DI5xS1It.js +0 -1
  146. package/dist/hsExpand.vue_vue_type_script_setup_true_lang-DI5xS1It.js.gz +0 -0
  147. package/dist/hsFormConfig-88TlmGx1.mjs +0 -1
  148. package/dist/hsFormConfig-88TlmGx1.mjs.gz +0 -0
  149. package/dist/hsFormConfig-BMyDeJP6.js +0 -1
  150. package/dist/hsFormConfig-BMyDeJP6.js.gz +0 -0
  151. package/dist/hsFormConfigList-DsVF2R8N.mjs +0 -1
  152. package/dist/hsFormConfigList-DsVF2R8N.mjs.gz +0 -0
  153. package/dist/hsFormConfigList-OF81mYsV.js +0 -1
  154. package/dist/hsFormConfigList-OF81mYsV.js.gz +0 -0
  155. package/dist/hsFormPanel-ByZcwko4.js +0 -1
  156. package/dist/hsFormPanel-Cp-j_SNi.mjs +0 -1
  157. package/dist/hsFormPanel.vue_vue_type_script_setup_true_name_formPanel_lang-BFNUZilJ.mjs +0 -1
  158. package/dist/hsFormPanel.vue_vue_type_script_setup_true_name_formPanel_lang-BFNUZilJ.mjs.gz +0 -0
  159. package/dist/hsFormPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CMiitHGY.js +0 -1
  160. package/dist/hsFormPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CMiitHGY.js.gz +0 -0
  161. package/dist/hsFormParse-DfYFseG9.js +0 -1
  162. package/dist/hsFormParse-Wm92Be9y.mjs +0 -1
  163. package/dist/hsFormParse.vue_vue_type_script_setup_true_lang-6s_wp2H-.mjs +0 -1
  164. package/dist/hsFormParse.vue_vue_type_script_setup_true_lang-6s_wp2H-.mjs.gz +0 -0
  165. package/dist/hsFormParse.vue_vue_type_script_setup_true_lang-Cb2q7Fuy.js +0 -1
  166. package/dist/hsFormParse.vue_vue_type_script_setup_true_lang-Cb2q7Fuy.js.gz +0 -0
  167. package/dist/hsPanelItem-DKSytzeB.mjs +0 -1
  168. package/dist/hsPanelItem-DbFQIf68.js +0 -1
  169. package/dist/hsPanelItem.vue_vue_type_script_setup_true_name_panelItem_lang-CqtPTLb1.js +0 -1
  170. package/dist/hsPanelItem.vue_vue_type_script_setup_true_name_panelItem_lang-CqtPTLb1.js.gz +0 -0
  171. package/dist/hsPanelItem.vue_vue_type_script_setup_true_name_panelItem_lang-Dtz8b4vz.mjs +0 -1
  172. package/dist/hsPanelItem.vue_vue_type_script_setup_true_name_panelItem_lang-Dtz8b4vz.mjs.gz +0 -0
  173. package/dist/iframes-DCvvORXH.js +0 -1
  174. package/dist/iframes-DCvvORXH.js.gz +0 -0
  175. package/dist/iframes-DKPJ8wxi.mjs +0 -1
  176. package/dist/iframes-DKPJ8wxi.mjs.gz +0 -0
  177. package/dist/index-0vzDoVhe.mjs +0 -1
  178. package/dist/index-0vzDoVhe.mjs.gz +0 -0
  179. package/dist/index-1hgXG7It.js +0 -1
  180. package/dist/index-1hgXG7It.js.gz +0 -0
  181. package/dist/index-4GTrORei.js +0 -1
  182. package/dist/index-B-Ori_IC.js +0 -1
  183. package/dist/index-B-Ori_IC.js.gz +0 -0
  184. package/dist/index-B0GMXwiE.mjs +0 -1
  185. package/dist/index-B0GMXwiE.mjs.gz +0 -0
  186. package/dist/index-B0mEK2cV.mjs +0 -1
  187. package/dist/index-BAaaz79H.js +0 -1
  188. package/dist/index-BAaaz79H.js.gz +0 -0
  189. package/dist/index-BDcwKtzF.mjs +0 -1
  190. package/dist/index-BN4Me9T2.mjs +0 -1
  191. package/dist/index-BN4Me9T2.mjs.gz +0 -0
  192. package/dist/index-BNW5-ejc.js +0 -1
  193. package/dist/index-BNW5-ejc.js.gz +0 -0
  194. package/dist/index-BSwDJeZ0.mjs +0 -1
  195. package/dist/index-BWafrLdt.mjs +0 -1
  196. package/dist/index-BXUxh4lH.mjs +0 -1
  197. package/dist/index-BXmNKW66.mjs +0 -1
  198. package/dist/index-BXzcUeFl.js +0 -1
  199. package/dist/index-BXzcUeFl.js.gz +0 -0
  200. package/dist/index-B_9aNNYJ.js +0 -1
  201. package/dist/index-B_9aNNYJ.js.gz +0 -0
  202. package/dist/index-BaagLr_r.mjs +0 -1
  203. package/dist/index-BaagLr_r.mjs.gz +0 -0
  204. package/dist/index-Bd_e3_GE.js +0 -1
  205. package/dist/index-BeNCTICt.js +0 -1
  206. package/dist/index-Bjm5ZBl3.mjs +0 -1
  207. package/dist/index-Bjm5ZBl3.mjs.gz +0 -0
  208. package/dist/index-BklJiGW7.js +0 -1
  209. package/dist/index-BklJiGW7.js.gz +0 -0
  210. package/dist/index-BlcsIt1I.mjs +0 -1
  211. package/dist/index-BmTJZkui.js +0 -1
  212. package/dist/index-BmTJZkui.js.gz +0 -0
  213. package/dist/index-Bt4M5xi5.js +0 -1
  214. package/dist/index-Bt4M5xi5.js.gz +0 -0
  215. package/dist/index-BvOascd4.js +0 -1
  216. package/dist/index-BvOascd4.js.gz +0 -0
  217. package/dist/index-BzEYHziM.mjs +0 -1
  218. package/dist/index-BzEYHziM.mjs.gz +0 -0
  219. package/dist/index-C3nrmBjO.js +0 -1
  220. package/dist/index-C3nrmBjO.js.gz +0 -0
  221. package/dist/index-C5l7JAoo.mjs +0 -1
  222. package/dist/index-C6bxbndt.mjs +0 -1
  223. package/dist/index-C6bxbndt.mjs.gz +0 -0
  224. package/dist/index-C9xWMZfT.js +0 -1
  225. package/dist/index-C9xWMZfT.js.gz +0 -0
  226. package/dist/index-CGFlRuoY.js +0 -1
  227. package/dist/index-CI9zzn9o.mjs +0 -1
  228. package/dist/index-CI9zzn9o.mjs.gz +0 -0
  229. package/dist/index-CJlXzWw8.mjs +0 -1
  230. package/dist/index-CJlXzWw8.mjs.gz +0 -0
  231. package/dist/index-CMvZkA7V.mjs +0 -1
  232. package/dist/index-CMvZkA7V.mjs.gz +0 -0
  233. package/dist/index-C_Bq756k.js +0 -1
  234. package/dist/index-Ca-xLPx_.js +0 -1
  235. package/dist/index-Cbe_EGna.mjs +0 -1
  236. package/dist/index-Cbe_EGna.mjs.gz +0 -0
  237. package/dist/index-Cci2M-v7.js +0 -1
  238. package/dist/index-Cci2M-v7.js.gz +0 -0
  239. package/dist/index-CdWcXSH1.js +0 -1
  240. package/dist/index-Cfi58s_a.mjs +0 -1
  241. package/dist/index-CjN-P9xK.js +0 -1
  242. package/dist/index-CjN-P9xK.js.gz +0 -0
  243. package/dist/index-CkwQJZld.mjs +0 -1
  244. package/dist/index-ClinQMhm.mjs +0 -1
  245. package/dist/index-CnLbBexb.js +0 -1
  246. package/dist/index-CnLbBexb.js.gz +0 -0
  247. package/dist/index-Cr3PetI-.mjs +0 -1
  248. package/dist/index-CtkHqNc-.mjs +0 -1
  249. package/dist/index-CtkHqNc-.mjs.gz +0 -0
  250. package/dist/index-D3ifoSvO.mjs +0 -1
  251. package/dist/index-D3ifoSvO.mjs.gz +0 -0
  252. package/dist/index-D4tKriJ6.mjs +0 -1
  253. package/dist/index-D8HOsx13.js +0 -1
  254. package/dist/index-D9F52pHu.mjs +0 -1
  255. package/dist/index-D9F52pHu.mjs.gz +0 -0
  256. package/dist/index-DDkkJRXr.js +0 -1
  257. package/dist/index-DDkkJRXr.js.gz +0 -0
  258. package/dist/index-DE7y0nJb.js +0 -1
  259. package/dist/index-DFArDqvd.js +0 -1
  260. package/dist/index-DFArDqvd.js.gz +0 -0
  261. package/dist/index-DI3kpTbZ.js +0 -1
  262. package/dist/index-DRftKk-f.js +0 -1
  263. package/dist/index-DRftKk-f.js.gz +0 -0
  264. package/dist/index-DRmQ-L_1.js +0 -1
  265. package/dist/index-DTunHIPd.js +0 -1
  266. package/dist/index-DTunHIPd.js.gz +0 -0
  267. package/dist/index-Dc9d_H4k.js +0 -1
  268. package/dist/index-DdDdKbUS.js +0 -1
  269. package/dist/index-DdDdKbUS.js.gz +0 -0
  270. package/dist/index-Ddh7F0O0.mjs +0 -1
  271. package/dist/index-Ddh7F0O0.mjs.gz +0 -0
  272. package/dist/index-DkHuEE7h.mjs +0 -1
  273. package/dist/index-DkHuEE7h.mjs.gz +0 -0
  274. package/dist/index-Dx15Z58I.mjs +0 -1
  275. package/dist/index-Dx15Z58I.mjs.gz +0 -0
  276. package/dist/index-J_2HDjM_.mjs +0 -1
  277. package/dist/index-J_2HDjM_.mjs.gz +0 -0
  278. package/dist/index-MKaNyXUf.mjs +0 -1
  279. package/dist/index-MKaNyXUf.mjs.gz +0 -0
  280. package/dist/index-Ma5CaYaJ.mjs +0 -1
  281. package/dist/index-Ma5CaYaJ.mjs.gz +0 -0
  282. package/dist/index-U4p45J__.js +0 -1
  283. package/dist/index-U4p45J__.js.gz +0 -0
  284. package/dist/index-VAmsjOkF.js +0 -1
  285. package/dist/index-axWnmdZg.mjs +0 -1
  286. package/dist/index-axWnmdZg.mjs.gz +0 -0
  287. package/dist/index-bRFfi62s.mjs +0 -1
  288. package/dist/index-bRFfi62s.mjs.gz +0 -0
  289. package/dist/index-bwrWhoSW.js +0 -1
  290. package/dist/index-dVKTvnms.mjs +0 -1
  291. package/dist/index-dVKTvnms.mjs.gz +0 -0
  292. package/dist/index-gcyAUDW6.mjs +0 -1
  293. package/dist/index-kuyYmMvk.js +0 -1
  294. package/dist/index-kuyYmMvk.js.gz +0 -0
  295. package/dist/index-lF7YzYiW.js +0 -1
  296. package/dist/index-lF7YzYiW.js.gz +0 -0
  297. package/dist/index.js +0 -1
  298. package/dist/index.mjs +0 -1
  299. package/dist/index.vue_vue_type_script_setup_true_lang--5y1a_ul.js +0 -1
  300. package/dist/index.vue_vue_type_script_setup_true_lang--5y1a_ul.js.gz +0 -0
  301. package/dist/index.vue_vue_type_script_setup_true_lang-12lO_K3Y.js +0 -1
  302. package/dist/index.vue_vue_type_script_setup_true_lang-12lO_K3Y.js.gz +0 -0
  303. package/dist/index.vue_vue_type_script_setup_true_lang-9-wVHX_J.mjs +0 -1
  304. package/dist/index.vue_vue_type_script_setup_true_lang-9-wVHX_J.mjs.gz +0 -0
  305. package/dist/index.vue_vue_type_script_setup_true_lang-BauM3Znx.mjs +0 -1
  306. package/dist/index.vue_vue_type_script_setup_true_lang-BauM3Znx.mjs.gz +0 -0
  307. package/dist/index.vue_vue_type_script_setup_true_lang-BsZvlPof.js +0 -1
  308. package/dist/index.vue_vue_type_script_setup_true_lang-BsZvlPof.js.gz +0 -0
  309. package/dist/index.vue_vue_type_script_setup_true_lang-CQZeaLjV.js +0 -1
  310. package/dist/index.vue_vue_type_script_setup_true_lang-Dcl-lBUE.mjs +0 -1
  311. package/dist/index.vue_vue_type_script_setup_true_lang-Dcl-lBUE.mjs.gz +0 -0
  312. package/dist/index.vue_vue_type_script_setup_true_lang-Pu4orxEq.mjs +0 -1
  313. package/dist/index.vue_vue_type_script_setup_true_lang-Pu4orxEq.mjs.gz +0 -0
  314. package/dist/index.vue_vue_type_script_setup_true_name_testtablecomponent_lang-CAPC81ra.mjs +0 -1
  315. package/dist/index.vue_vue_type_script_setup_true_name_testtablecomponent_lang-CAPC81ra.mjs.gz +0 -0
  316. package/dist/index.vue_vue_type_script_setup_true_name_testtablecomponent_lang-DsMQjCAy.js +0 -1
  317. package/dist/index.vue_vue_type_script_setup_true_name_testtablecomponent_lang-DsMQjCAy.js.gz +0 -0
  318. package/dist/link-8F3PAF-a.js +0 -1
  319. package/dist/link-8F3PAF-a.js.gz +0 -0
  320. package/dist/link-Yc7Kpo76.mjs +0 -1
  321. package/dist/link-Yc7Kpo76.mjs.gz +0 -0
  322. package/dist/list-D9ae7seo.mjs +0 -1
  323. package/dist/list-D9ae7seo.mjs.gz +0 -0
  324. package/dist/list-Dow9Rjfk.js +0 -1
  325. package/dist/list-Dow9Rjfk.js.gz +0 -0
  326. package/dist/logo-mini-B38ustl2.js +0 -1
  327. package/dist/logo-mini-B38ustl2.js.gz +0 -0
  328. package/dist/logo-mini-Bl032aC-.mjs +0 -1
  329. package/dist/logo-mini-Bl032aC-.mjs.gz +0 -0
  330. package/dist/main-CPdfe1pW.mjs +0 -1
  331. package/dist/main-CPdfe1pW.mjs.gz +0 -0
  332. package/dist/main-i2ZjgX5U.js +0 -1
  333. package/dist/main-i2ZjgX5U.js.gz +0 -0
  334. package/dist/mobile-CqmHQbJ6.js +0 -1
  335. package/dist/mobile-CqmHQbJ6.js.gz +0 -0
  336. package/dist/mobile-DSG1E0yR.mjs +0 -1
  337. package/dist/mobile-DSG1E0yR.mjs.gz +0 -0
  338. package/dist/parent-BbMA3BPH.js +0 -1
  339. package/dist/parent-BbMA3BPH.js.gz +0 -0
  340. package/dist/parent-DA1oPHtc.mjs +0 -1
  341. package/dist/parent-DA1oPHtc.mjs.gz +0 -0
  342. package/dist/roleItem-CWeXcpPS.mjs +0 -1
  343. package/dist/roleItem-CWeXcpPS.mjs.gz +0 -0
  344. package/dist/roleItem-DjJV5a4d.js +0 -1
  345. package/dist/roleItem-DjJV5a4d.js.gz +0 -0
  346. package/dist/saveForm-BwOCcI7T.mjs +0 -1
  347. package/dist/saveForm-DXV66xTl.js +0 -1
  348. package/dist/saveForm.vue_vue_type_script_setup_true_lang-BLp4BfjS.js +0 -1
  349. package/dist/saveForm.vue_vue_type_script_setup_true_lang-BLp4BfjS.js.gz +0 -0
  350. package/dist/saveForm.vue_vue_type_script_setup_true_lang-CeijUxMQ.mjs +0 -1
  351. package/dist/saveForm.vue_vue_type_script_setup_true_lang-CeijUxMQ.mjs.gz +0 -0
  352. package/dist/scan-1M3t7I5S.js +0 -1
  353. package/dist/scan-1M3t7I5S.js.gz +0 -0
  354. package/dist/scan-2n2P5UFK.mjs +0 -1
  355. package/dist/scan-2n2P5UFK.mjs.gz +0 -0
  356. package/dist/search-C9A88JD-.js +0 -1
  357. package/dist/search-C9A88JD-.js.gz +0 -0
  358. package/dist/search-CJtqW1Em.mjs +0 -1
  359. package/dist/search-CJtqW1Em.mjs.gz +0 -0
  360. package/dist/selectConfig-CfldoXSW.mjs +0 -1
  361. package/dist/selectConfig-CfldoXSW.mjs.gz +0 -0
  362. package/dist/selectConfig-D-DU5vyZ.js +0 -1
  363. package/dist/selectConfig-D-DU5vyZ.js.gz +0 -0
  364. package/dist/subItem-Bx6nrs-W.js +0 -1
  365. package/dist/subItem-Bx6nrs-W.js.gz +0 -0
  366. package/dist/subItem-DG6wOFtK.mjs +0 -1
  367. package/dist/subItem-DG6wOFtK.mjs.gz +0 -0
  368. package/dist/tagsView-BsiagX1g.js +0 -1
  369. package/dist/tagsView-BsiagX1g.js.gz +0 -0
  370. package/dist/tagsView-CNZAZNvP.mjs +0 -1
  371. package/dist/tagsView-CNZAZNvP.mjs.gz +0 -0
  372. package/dist/transverse-Bw3MzV2Q.mjs +0 -1
  373. package/dist/transverse-Bw3MzV2Q.mjs.gz +0 -0
  374. package/dist/transverse-D8T9I9T0.js +0 -1
  375. package/dist/transverse-D8T9I9T0.js.gz +0 -0
  376. package/dist/trtcUI-C7LpCHW2.js +0 -1
  377. package/dist/trtcUI-C7LpCHW2.js.gz +0 -0
  378. package/dist/trtcUI-Y35u5lbf.mjs +0 -1
  379. package/dist/trtcUI-Y35u5lbf.mjs.gz +0 -0
  380. package/dist/uploadAvatar-BGiT0PmT.mjs +0 -1
  381. package/dist/uploadAvatar-BGiT0PmT.mjs.gz +0 -0
  382. package/dist/uploadAvatar-UlB9U3pn.js +0 -1
  383. package/dist/uploadAvatar-UlB9U3pn.js.gz +0 -0
  384. package/dist/uploadAvatar.vue_vue_type_style_index_0_scoped_99513ec9_lang-1q5Jq5S0.js +0 -1
  385. package/dist/uploadAvatar.vue_vue_type_style_index_0_scoped_99513ec9_lang-1q5Jq5S0.js.gz +0 -0
  386. package/dist/uploadAvatar.vue_vue_type_style_index_0_scoped_99513ec9_lang-Dmzfac6b.mjs +0 -1
  387. package/dist/uploadAvatar.vue_vue_type_style_index_0_scoped_99513ec9_lang-Dmzfac6b.mjs.gz +0 -0
  388. package/dist/user-Cc2PF_h0.mjs +0 -1
  389. package/dist/user-Cc2PF_h0.mjs.gz +0 -0
  390. package/dist/user-CqzkZzOA.js +0 -1
  391. package/dist/user-CqzkZzOA.js.gz +0 -0
  392. package/dist/userNews-CDk_AMjc.mjs +0 -1
  393. package/dist/userNews-CDk_AMjc.mjs.gz +0 -0
  394. package/dist/userNews-DxfIY3B0.js +0 -1
  395. package/dist/userNews-DxfIY3B0.js.gz +0 -0
  396. package/dist/userSelect-C4uV-44Y.js +0 -1
  397. package/dist/userSelect-DWo8Si5v.mjs +0 -1
  398. package/dist/userSelect.vue_vue_type_script_setup_true_lang-DH1DQONF.mjs +0 -1
  399. package/dist/userSelect.vue_vue_type_script_setup_true_lang-DH1DQONF.mjs.gz +0 -0
  400. package/dist/userSelect.vue_vue_type_script_setup_true_lang-DrzKVQFK.js +0 -1
  401. package/dist/userSelect.vue_vue_type_script_setup_true_lang-DrzKVQFK.js.gz +0 -0
  402. package/dist/vertical-BmaGLl-7.mjs +0 -1
  403. package/dist/vertical-BmaGLl-7.mjs.gz +0 -0
  404. package/dist/vertical-DddbvLcE.js +0 -1
  405. package/dist/vertical-DddbvLcE.js.gz +0 -0
  406. package/package.json +1 -1
  407. package/dist/401-BzJI2gFF.mjs.map +0 -1
  408. package/dist/401-yMsLUK4l.js.map +0 -1
  409. package/dist/404-B2ON4qU8.js.map +0 -1
  410. package/dist/404-DMkWKsBf.mjs.map +0 -1
  411. package/dist/account-BaCUa_zU.mjs.map +0 -1
  412. package/dist/account-m86ss5x3.js.map +0 -1
  413. package/dist/aside-BS3iMpFI.mjs.map +0 -1
  414. package/dist/aside-eHuEMYpI.js.map +0 -1
  415. package/dist/baseBtnConfig-BaYFVzAe.js.map +0 -1
  416. package/dist/baseBtnConfig-BpdCCSnd.mjs.map +0 -1
  417. package/dist/baseFormConfig-CLzeDtYS.mjs.map +0 -1
  418. package/dist/baseFormConfig-DIhAM0r9.js.map +0 -1
  419. package/dist/btnIndex-Da4JeOuj.mjs.map +0 -1
  420. package/dist/btnIndex-zJDzK1YM.js.map +0 -1
  421. package/dist/classic-Bh1vJ8wW.js.map +0 -1
  422. package/dist/classic-C3c5W6bW.mjs.map +0 -1
  423. package/dist/cloneConfigDialog-BPZau43p.js.map +0 -1
  424. package/dist/cloneConfigDialog-DlKGp5lz.mjs.map +0 -1
  425. package/dist/columns-DC21XYUc.js.map +0 -1
  426. package/dist/columns-DQw-mrU3.mjs.map +0 -1
  427. package/dist/columnsAside-B__LjXPs.mjs.map +0 -1
  428. package/dist/columnsAside-vvFOlX5F.js.map +0 -1
  429. package/dist/contextmenu-7YxyCBre.js.map +0 -1
  430. package/dist/contextmenu-C9_VjixF.mjs.map +0 -1
  431. package/dist/contextmenu-Cnxfpyzs.mjs.map +0 -1
  432. package/dist/contextmenu-D7_SLgbF.mjs.map +0 -1
  433. package/dist/contextmenu-DIM2CO4m.js.map +0 -1
  434. package/dist/contextmenu-jw7CjkqU.js.map +0 -1
  435. package/dist/defaults-CO-9PLy3.mjs.map +0 -1
  436. package/dist/defaults-CPTLP5d8.js.map +0 -1
  437. package/dist/dialog-BbI7XOgp.js.map +0 -1
  438. package/dist/dialog-Bl7WEBUf.mjs.map +0 -1
  439. package/dist/dialog-BmCwSZ2C.js.map +0 -1
  440. package/dist/dialog-Ch_vZTX6.mjs.map +0 -1
  441. package/dist/dialog-Cqb6ay6R.js.map +0 -1
  442. package/dist/dialog-DIFjAfxe.mjs.map +0 -1
  443. package/dist/dialog-DVZ-Aqm0.mjs.map +0 -1
  444. package/dist/dialog-DeuceWcM.js.map +0 -1
  445. package/dist/dialog-Dtk0TIqw.mjs.map +0 -1
  446. package/dist/dialog-GTCUA8Nu.js.map +0 -1
  447. package/dist/dialog-UoVqSoLN.mjs.map +0 -1
  448. package/dist/dialog-ggWKEkrm.js.map +0 -1
  449. package/dist/dialog.vue_vue_type_script_setup_true_name_dataAuthDialog_lang-BZUe_7gT.mjs.map +0 -1
  450. package/dist/dialog.vue_vue_type_script_setup_true_name_dataAuthDialog_lang-utiTEG14.js.map +0 -1
  451. package/dist/dialog.vue_vue_type_script_setup_true_name_systemMenuDialog_lang-CJ_5_qKm.mjs.map +0 -1
  452. package/dist/dialog.vue_vue_type_script_setup_true_name_systemMenuDialog_lang-bGgzzD_6.js.map +0 -1
  453. package/dist/dictDialog-C6deNfCe.js.map +0 -1
  454. package/dist/dictDialog-DA8GuFk9.mjs.map +0 -1
  455. package/dist/dictDialog.vue_vue_type_script_setup_true_name_dictDialog_lang-CdhZHxQx.js.map +0 -1
  456. package/dist/dictDialog.vue_vue_type_script_setup_true_name_dictDialog_lang-cGDTYNII.mjs.map +0 -1
  457. package/dist/dictItemDialog-C2l1XNjL.js.map +0 -1
  458. package/dist/dictItemDialog-CGCyt3sd.mjs.map +0 -1
  459. package/dist/dictItemDialog.vue_vue_type_script_setup_true_lang-CTTB6eDA.mjs.map +0 -1
  460. package/dist/dictItemDialog.vue_vue_type_script_setup_true_lang-D47SU2Qe.js.map +0 -1
  461. package/dist/editDialog-B3FZIrWv.js.map +0 -1
  462. package/dist/editDialog-BsPYjQ3Z.mjs.map +0 -1
  463. package/dist/formConfig-CQRWsB8I.mjs.map +0 -1
  464. package/dist/formConfig-vRKuN3Qq.js.map +0 -1
  465. package/dist/header-Cn7nyXyQ.js.map +0 -1
  466. package/dist/header-DXLUHaoH.mjs.map +0 -1
  467. package/dist/horizontal-D5m-StSj.mjs.map +0 -1
  468. package/dist/horizontal-DQqvv6Sp.js.map +0 -1
  469. package/dist/hsAttrBtn-D1QvVUZr.js.map +0 -1
  470. package/dist/hsAttrBtn-TYcer9fC.mjs.map +0 -1
  471. package/dist/hsAttrBtn.vue_vue_type_script_setup_true_lang-CQvnEDXk.js.map +0 -1
  472. package/dist/hsAttrBtn.vue_vue_type_script_setup_true_lang-DGycKZ06.mjs.map +0 -1
  473. package/dist/hsAttrForm-BzIlb91a.js.map +0 -1
  474. package/dist/hsAttrForm-DtqMt6Lk.mjs.map +0 -1
  475. package/dist/hsAttrForm.vue_vue_type_script_setup_true_lang-BMaIQo0H.mjs.map +0 -1
  476. package/dist/hsAttrForm.vue_vue_type_script_setup_true_lang-hKoCLLeD.js.map +0 -1
  477. package/dist/hsBtnConfigList-Bb1nm0Vy.js.map +0 -1
  478. package/dist/hsBtnConfigList-Bren_Fd3.mjs.map +0 -1
  479. package/dist/hsBtnItemConfig-BCJqmO3A.js.map +0 -1
  480. package/dist/hsBtnItemConfig-CzRP7rGc.mjs.map +0 -1
  481. package/dist/hsBtnItemConfig.vue_vue_type_script_setup_true_lang-DS7PtHA3.js.map +0 -1
  482. package/dist/hsBtnItemConfig.vue_vue_type_script_setup_true_lang-DvQ5Sm0Z.mjs.map +0 -1
  483. package/dist/hsBtnPanel-CUhnhH9S.mjs.map +0 -1
  484. package/dist/hsBtnPanel-D-Y2DAWc.js.map +0 -1
  485. package/dist/hsBtnPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CFWt1cBu.js.map +0 -1
  486. package/dist/hsBtnPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CWd8hS5v.mjs.map +0 -1
  487. package/dist/hsExpand-DIo3Lfqs.mjs.map +0 -1
  488. package/dist/hsExpand-MS4CSl__.js.map +0 -1
  489. package/dist/hsExpand.vue_vue_type_script_setup_true_lang-C0tRMdLr.mjs.map +0 -1
  490. package/dist/hsExpand.vue_vue_type_script_setup_true_lang-DI5xS1It.js.map +0 -1
  491. package/dist/hsFormConfig-88TlmGx1.mjs.map +0 -1
  492. package/dist/hsFormConfig-BMyDeJP6.js.map +0 -1
  493. package/dist/hsFormConfigList-DsVF2R8N.mjs.map +0 -1
  494. package/dist/hsFormConfigList-OF81mYsV.js.map +0 -1
  495. package/dist/hsFormPanel-ByZcwko4.js.map +0 -1
  496. package/dist/hsFormPanel-Cp-j_SNi.mjs.map +0 -1
  497. package/dist/hsFormPanel.vue_vue_type_script_setup_true_name_formPanel_lang-BFNUZilJ.mjs.map +0 -1
  498. package/dist/hsFormPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CMiitHGY.js.map +0 -1
  499. package/dist/hsFormParse-DfYFseG9.js.map +0 -1
  500. package/dist/hsFormParse-Wm92Be9y.mjs.map +0 -1
  501. package/dist/hsFormParse.vue_vue_type_script_setup_true_lang-6s_wp2H-.mjs.map +0 -1
  502. package/dist/hsFormParse.vue_vue_type_script_setup_true_lang-Cb2q7Fuy.js.map +0 -1
  503. package/dist/hsPanelItem-DKSytzeB.mjs.map +0 -1
  504. package/dist/hsPanelItem-DbFQIf68.js.map +0 -1
  505. package/dist/hsPanelItem.vue_vue_type_script_setup_true_name_panelItem_lang-CqtPTLb1.js.map +0 -1
  506. package/dist/hsPanelItem.vue_vue_type_script_setup_true_name_panelItem_lang-Dtz8b4vz.mjs.map +0 -1
  507. package/dist/iframes-DCvvORXH.js.map +0 -1
  508. package/dist/iframes-DKPJ8wxi.mjs.map +0 -1
  509. package/dist/index-0vzDoVhe.mjs.map +0 -1
  510. package/dist/index-1hgXG7It.js.map +0 -1
  511. package/dist/index-4GTrORei.js.map +0 -1
  512. package/dist/index-B-Ori_IC.js.map +0 -1
  513. package/dist/index-B0GMXwiE.mjs.map +0 -1
  514. package/dist/index-B0mEK2cV.mjs.map +0 -1
  515. package/dist/index-BAaaz79H.js.map +0 -1
  516. package/dist/index-BDcwKtzF.mjs.map +0 -1
  517. package/dist/index-BN4Me9T2.mjs.map +0 -1
  518. package/dist/index-BNW5-ejc.js.map +0 -1
  519. package/dist/index-BSwDJeZ0.mjs.map +0 -1
  520. package/dist/index-BWafrLdt.mjs.map +0 -1
  521. package/dist/index-BXUxh4lH.mjs.map +0 -1
  522. package/dist/index-BXmNKW66.mjs.map +0 -1
  523. package/dist/index-BXzcUeFl.js.map +0 -1
  524. package/dist/index-B_9aNNYJ.js.map +0 -1
  525. package/dist/index-BaagLr_r.mjs.map +0 -1
  526. package/dist/index-Bd_e3_GE.js.map +0 -1
  527. package/dist/index-BeNCTICt.js.map +0 -1
  528. package/dist/index-Bjm5ZBl3.mjs.map +0 -1
  529. package/dist/index-BklJiGW7.js.map +0 -1
  530. package/dist/index-BlcsIt1I.mjs.map +0 -1
  531. package/dist/index-BmTJZkui.js.map +0 -1
  532. package/dist/index-Bt4M5xi5.js.map +0 -1
  533. package/dist/index-BvOascd4.js.map +0 -1
  534. package/dist/index-BzEYHziM.mjs.map +0 -1
  535. package/dist/index-C3nrmBjO.js.map +0 -1
  536. package/dist/index-C5l7JAoo.mjs.map +0 -1
  537. package/dist/index-C6bxbndt.mjs.map +0 -1
  538. package/dist/index-C9xWMZfT.js.map +0 -1
  539. package/dist/index-CGFlRuoY.js.map +0 -1
  540. package/dist/index-CI9zzn9o.mjs.map +0 -1
  541. package/dist/index-CJlXzWw8.mjs.map +0 -1
  542. package/dist/index-CMvZkA7V.mjs.map +0 -1
  543. package/dist/index-C_Bq756k.js.map +0 -1
  544. package/dist/index-Ca-xLPx_.js.map +0 -1
  545. package/dist/index-Cbe_EGna.mjs.map +0 -1
  546. package/dist/index-Cci2M-v7.js.map +0 -1
  547. package/dist/index-CdWcXSH1.js.map +0 -1
  548. package/dist/index-Cfi58s_a.mjs.map +0 -1
  549. package/dist/index-CjN-P9xK.js.map +0 -1
  550. package/dist/index-CkwQJZld.mjs.map +0 -1
  551. package/dist/index-ClinQMhm.mjs.map +0 -1
  552. package/dist/index-CnLbBexb.js.map +0 -1
  553. package/dist/index-Cr3PetI-.mjs.gz +0 -0
  554. package/dist/index-Cr3PetI-.mjs.map +0 -1
  555. package/dist/index-CtkHqNc-.mjs.map +0 -1
  556. package/dist/index-D3ifoSvO.mjs.map +0 -1
  557. package/dist/index-D4tKriJ6.mjs.map +0 -1
  558. package/dist/index-D8HOsx13.js.map +0 -1
  559. package/dist/index-D9F52pHu.mjs.map +0 -1
  560. package/dist/index-DDkkJRXr.js.map +0 -1
  561. package/dist/index-DE7y0nJb.js.map +0 -1
  562. package/dist/index-DFArDqvd.js.map +0 -1
  563. package/dist/index-DI3kpTbZ.js.map +0 -1
  564. package/dist/index-DRftKk-f.js.map +0 -1
  565. package/dist/index-DRmQ-L_1.js.map +0 -1
  566. package/dist/index-DTunHIPd.js.map +0 -1
  567. package/dist/index-Dc9d_H4k.js.map +0 -1
  568. package/dist/index-DdDdKbUS.js.map +0 -1
  569. package/dist/index-Ddh7F0O0.mjs.map +0 -1
  570. package/dist/index-DkHuEE7h.mjs.map +0 -1
  571. package/dist/index-Dx15Z58I.mjs.map +0 -1
  572. package/dist/index-J_2HDjM_.mjs.map +0 -1
  573. package/dist/index-MKaNyXUf.mjs.map +0 -1
  574. package/dist/index-Ma5CaYaJ.mjs.map +0 -1
  575. package/dist/index-U4p45J__.js.map +0 -1
  576. package/dist/index-VAmsjOkF.js.map +0 -1
  577. package/dist/index-axWnmdZg.mjs.map +0 -1
  578. package/dist/index-bRFfi62s.mjs.map +0 -1
  579. package/dist/index-bwrWhoSW.js.map +0 -1
  580. package/dist/index-dVKTvnms.mjs.map +0 -1
  581. package/dist/index-gcyAUDW6.mjs.map +0 -1
  582. package/dist/index-kuyYmMvk.js.map +0 -1
  583. package/dist/index-lF7YzYiW.js.map +0 -1
  584. package/dist/index.js.map +0 -1
  585. package/dist/index.mjs.map +0 -1
  586. package/dist/index.vue_vue_type_script_setup_true_lang--5y1a_ul.js.map +0 -1
  587. package/dist/index.vue_vue_type_script_setup_true_lang-12lO_K3Y.js.map +0 -1
  588. package/dist/index.vue_vue_type_script_setup_true_lang-9-wVHX_J.mjs.map +0 -1
  589. package/dist/index.vue_vue_type_script_setup_true_lang-BauM3Znx.mjs.map +0 -1
  590. package/dist/index.vue_vue_type_script_setup_true_lang-BsZvlPof.js.map +0 -1
  591. package/dist/index.vue_vue_type_script_setup_true_lang-CQZeaLjV.js.gz +0 -0
  592. package/dist/index.vue_vue_type_script_setup_true_lang-CQZeaLjV.js.map +0 -1
  593. package/dist/index.vue_vue_type_script_setup_true_lang-Dcl-lBUE.mjs.map +0 -1
  594. package/dist/index.vue_vue_type_script_setup_true_lang-Pu4orxEq.mjs.map +0 -1
  595. package/dist/index.vue_vue_type_script_setup_true_name_testtablecomponent_lang-CAPC81ra.mjs.map +0 -1
  596. package/dist/index.vue_vue_type_script_setup_true_name_testtablecomponent_lang-DsMQjCAy.js.map +0 -1
  597. package/dist/link-8F3PAF-a.js.map +0 -1
  598. package/dist/link-Yc7Kpo76.mjs.map +0 -1
  599. package/dist/list-D9ae7seo.mjs.map +0 -1
  600. package/dist/list-Dow9Rjfk.js.map +0 -1
  601. package/dist/logo-mini-B38ustl2.js.map +0 -1
  602. package/dist/logo-mini-Bl032aC-.mjs.map +0 -1
  603. package/dist/main-CPdfe1pW.mjs.map +0 -1
  604. package/dist/main-i2ZjgX5U.js.map +0 -1
  605. package/dist/mobile-CqmHQbJ6.js.map +0 -1
  606. package/dist/mobile-DSG1E0yR.mjs.map +0 -1
  607. package/dist/parent-BbMA3BPH.js.map +0 -1
  608. package/dist/parent-DA1oPHtc.mjs.map +0 -1
  609. package/dist/roleItem-CWeXcpPS.mjs.map +0 -1
  610. package/dist/roleItem-DjJV5a4d.js.map +0 -1
  611. package/dist/saveForm-BwOCcI7T.mjs.map +0 -1
  612. package/dist/saveForm-DXV66xTl.js.map +0 -1
  613. package/dist/saveForm.vue_vue_type_script_setup_true_lang-BLp4BfjS.js.map +0 -1
  614. package/dist/saveForm.vue_vue_type_script_setup_true_lang-CeijUxMQ.mjs.map +0 -1
  615. package/dist/scan-1M3t7I5S.js.map +0 -1
  616. package/dist/scan-2n2P5UFK.mjs.map +0 -1
  617. package/dist/search-C9A88JD-.js.map +0 -1
  618. package/dist/search-CJtqW1Em.mjs.map +0 -1
  619. package/dist/selectConfig-CfldoXSW.mjs.map +0 -1
  620. package/dist/selectConfig-D-DU5vyZ.js.map +0 -1
  621. package/dist/subItem-Bx6nrs-W.js.map +0 -1
  622. package/dist/subItem-DG6wOFtK.mjs.map +0 -1
  623. package/dist/tagsView-BsiagX1g.js.map +0 -1
  624. package/dist/tagsView-CNZAZNvP.mjs.map +0 -1
  625. package/dist/transverse-Bw3MzV2Q.mjs.map +0 -1
  626. package/dist/transverse-D8T9I9T0.js.map +0 -1
  627. package/dist/trtcUI-C7LpCHW2.js.map +0 -1
  628. package/dist/trtcUI-Y35u5lbf.mjs.map +0 -1
  629. package/dist/uploadAvatar-BGiT0PmT.mjs.map +0 -1
  630. package/dist/uploadAvatar-UlB9U3pn.js.map +0 -1
  631. package/dist/uploadAvatar.vue_vue_type_style_index_0_scoped_99513ec9_lang-1q5Jq5S0.js.map +0 -1
  632. package/dist/uploadAvatar.vue_vue_type_style_index_0_scoped_99513ec9_lang-Dmzfac6b.mjs.map +0 -1
  633. package/dist/user-Cc2PF_h0.mjs.map +0 -1
  634. package/dist/user-CqzkZzOA.js.map +0 -1
  635. package/dist/userNews-CDk_AMjc.mjs.map +0 -1
  636. package/dist/userNews-DxfIY3B0.js.map +0 -1
  637. package/dist/userSelect-C4uV-44Y.js.map +0 -1
  638. package/dist/userSelect-DWo8Si5v.mjs.map +0 -1
  639. package/dist/userSelect.vue_vue_type_script_setup_true_lang-DH1DQONF.mjs.map +0 -1
  640. package/dist/userSelect.vue_vue_type_script_setup_true_lang-DrzKVQFK.js.map +0 -1
  641. package/dist/vertical-BmaGLl-7.mjs.map +0 -1
  642. package/dist/vertical-DddbvLcE.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"formConfig-CQRWsB8I.mjs","sources":["../src/views/config/formSetting/useFormConfig.ts","../src/views/config/formSetting/formConfig.vue"],"sourcesContent":["import _ from 'lodash';\r\nimport { Ref, ref } from 'vue';\r\nimport { ElMessageBox, ElMessage, TabPaneName } from 'element-plus';\r\nimport { IFormTable } from '/@/types';\r\nimport { find } from 'lodash';\r\nimport { useFieldConfigController } from '/@/api/fieldConfigController/index';\r\nimport { GetFieldByMenu, PostDelFieldById } from '/@/api/fieldConfigController/type';\r\nimport { Session } from '/@/utils';\r\n\r\nexport function useHsFormTable(\r\n\tpanelConfig: Ref<IFormTable.FormConfig>,\r\n\ttabsActiveName: Ref<string>,\r\n\tprops: any,\r\n\temits: (event: 'refresh', ...args: any[]) => void\r\n) {\r\n\tconst fieldConfig = useFieldConfigController();\r\n\t/**\r\n\t * 添加表格配置\r\n\t */\r\n\tconst addTabPanel = () => {\r\n\t\tpanelConfig.value.forms.push({\r\n\t\t\tid: 'form_' + new Date().getTime(),\r\n\t\t\tbase: { label: '表单配置名称', fieldID: '', grid: 3, isShowLabel: true },\r\n\t\t\tform: {\r\n\t\t\t\tbaseData: { rowGap: 0, columnGap: 0 },\r\n\t\t\t\tformConfig: [],\r\n\t\t\t\tformData: {},\r\n\t\t\t},\r\n\t\t\tcomponent: {\r\n\t\t\t\tbaseData: {},\r\n\t\t\t},\r\n\t\t\tslot: {\r\n\t\t\t\tbaseData: {},\r\n\t\t\t},\r\n\t\t\tformItemType: 'form',\r\n\t\t});\r\n\t};\r\n\t/**\r\n\t * 移除tabs项\r\n\t * @param targetName\r\n\t * @returns\r\n\t */\r\n\tconst removeTabPanel = (targetName: TabPaneName | undefined) => {\r\n\t\t// 查询当前表单配置对象\r\n\t\tlet form = find(panelConfig.value.forms, (item: IFormTable.FormbaseData) => item['id'] == targetName);\r\n\t\t// 删除表单配置提示\r\n\t\tElMessageBox.confirm(`确定删除${form?.base['formName'] || '表单配置'}吗?`, '提示', {\r\n\t\t\tconfirmButtonText: '确认',\r\n\t\t\tcancelButtonText: '取消',\r\n\t\t\ttype: 'warning',\r\n\t\t})\r\n\t\t\t.then(() => {\r\n\t\t\t\t// 移除配置\r\n\t\t\t\t_.remove(panelConfig.value.forms, (item: IFormTable.FormbaseData) => targetName && item.id == targetName);\r\n\t\t\t\t// 给出操作成功提示\r\n\t\t\t\tElMessage.success('删除成功');\r\n\t\t\t\tif (tabsActiveName.value == targetName) {\r\n\t\t\t\t\tinitTabsActiveName();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log('err', err);\r\n\t\t\t});\r\n\t};\r\n\t/**\r\n\t * 编辑tabs\r\n\t * @param targetName\r\n\t * @param action\r\n\t */\r\n\tconst handleTabsEdit = (targetName: TabPaneName | undefined, action: 'remove' | 'add') => {\r\n\t\tswitch (action) {\r\n\t\t\tcase 'remove':\r\n\t\t\t\t// 删除配置\r\n\t\t\t\tremoveTabPanel(targetName);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'add':\r\n\t\t\t\t// 新增配置\r\n\t\t\t\taddTabPanel();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 保存表单表格配置\r\n\t */\r\n\tconst saveFormTableConfig = (form: any) => {\r\n\t\t// 源数据\r\n\t\tlet tempPanelConfig = _.cloneDeep(panelConfig.value);\r\n\t\ttempPanelConfig.config_name = form['config_name'];\r\n\t\ttempPanelConfig.config_unique_id = form['config_unique_id'];\r\n\t\t// 用于前端解析的数据\r\n\t\tlet formData = {\r\n\t\t\tconfig_name: form['config_name'],\r\n\t\t\tconfig_unique_id: form['config_unique_id'],\r\n\t\t\tattrs: setPropertyData(tempPanelConfig.BaseForm), // 删除属性值为空的属性,\r\n\t\t\tdata: transformData(tempPanelConfig.forms),\r\n\t\t\tbtns: tempPanelConfig.btns,\r\n\t\t\tform: tempPanelConfig.forms.map((item: any) => {\r\n\t\t\t\tlet obj: any = {\r\n\t\t\t\t\tlabel: item.base.label,\r\n\t\t\t\t\tfieldID: item.base.fieldID,\r\n\t\t\t\t\tgrid: item.base.grid,\r\n\t\t\t\t\tformItemType: item.formItemType,\r\n\t\t\t\t\tconfig:\r\n\t\t\t\t\t\titem.formItemType == 'form'\r\n\t\t\t\t\t\t\t? getFormType(item.formItemType, item.form.formConfig)\r\n\t\t\t\t\t\t\t: item.formItemType == 'component'\r\n\t\t\t\t\t\t\t\t? getFormType(item.formItemType, item.component.baseData)\r\n\t\t\t\t\t\t\t\t: getFormType(item.formItemType, item.slot.baseData),\r\n\t\t\t\t};\r\n\t\t\t\tif (item.formItemType == 'form') {\r\n\t\t\t\t\tobj.attrs = setPropertyData(item.form.baseData); // 删除属性值为空的属性\r\n\t\t\t\t}\r\n\t\t\t\treturn obj;\r\n\t\t\t}),\r\n\t\t};\r\n\t\tlet params = {\r\n\t\t\tbusiness_json: JSON.stringify(formData), // 前端解析数据\r\n\t\t\tconfig_name: form.config_name,\r\n\t\t\tconfig_type: '2', // 1:表格字段配置 2:表单配置\r\n\t\t\tconfig_unique_id: form.config_unique_id,\r\n\t\t\tis_auth: form.is_auth, // 是否需要权限控制 1:需要 0:不需要\r\n\t\t\tfield_json: JSON.stringify(tempPanelConfig), // 原始数据\r\n\t\t\tmenu_id: props.currentPageData.id, // 菜单id\r\n\t\t\tpage_name: props.currentPageData.label, // 页面名称\r\n\t\t\tproject_code: Session.get('CURRENT_SYSTEM').project_code, // 系统标识\r\n\t\t\tid: form['id'], // 配置id\r\n\t\t\tupdate_time: form['update_time'], // 更新时间 用于后端校验更新时间 防止并发\r\n\t\t\t// 权限配置json数据\r\n\t\t\tconfig_json: JSON.stringify({\r\n\t\t\t\tmenu_id: props.currentPageData.id,\r\n\t\t\t\tconfig_type: '2',\r\n\t\t\t\tconfig_unique_id: form.config_unique_id,\r\n\t\t\t\t// 按钮配置\r\n\t\t\t\tbtns: btnsFormat(tempPanelConfig.btns),\r\n\t\t\t\t// tables: [],\r\n\t\t\t\t// 所有的表单配置项\r\n\t\t\t\tform: handlePermissionJson(panelConfig.value.forms),\r\n\t\t\t}),\r\n\t\t\t// 字段池json数据\r\n\t\t\t// field_pool_json: handleFieldPoolJson(panelConfig.value.forms),\r\n\t\t};\r\n\t\tsaveFormConfig(params); // 发送请求 保存表单配置\r\n\t};\r\n\t/**\r\n\t * 切换表单表格配置\r\n\t * @param formItemType\r\n\t * @param configData\r\n\t * @returns 根据 formItemType 类型返回对应的配置项 form、component、slot\r\n\t */\r\n\tconst getFormType = (formItemType: string, configData: any) => {\r\n\t\tswitch (formItemType) {\r\n\t\t\tcase 'form':\r\n\t\t\t\tconst arr = configData.map((item: any) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tlabel: item.data.elementItem[0].baseData.label,\r\n\t\t\t\t\t\tconfig: setPropertyData(item.data.elementItem), // 删除属性值为空的属性\r\n\t\t\t\t\t\tlayoutData: item.data.layoutData,\r\n\t\t\t\t\t};\r\n\t\t\t\t});\r\n\t\t\t\treturn arr;\r\n\t\t\tcase 'component':\r\n\t\t\t\treturn configData;\r\n\t\t\tcase 'slot':\r\n\t\t\t\treturn configData;\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * @param originalData\r\n\t * @returns 转换数据\r\n\t * @description 将表单配置数据转换成对象\r\n\t */\r\n\tfunction transformData(originalData: any[]) {\r\n\t\tconst transformedData: any = {};\r\n\t\toriginalData.forEach((item: any) => {\r\n\t\t\tconst key = item.base.fieldID;\r\n\t\t\tconst value: any = {};\r\n\t\t\tif (item.formItemType != 'form') return (transformedData[key] = {}); // 只处理表单配置\r\n\t\t\titem.form.formConfig.forEach((config: any) => {\r\n\t\t\t\tconsole.log('config)', config);\r\n\t\t\t\tconst prop = config.data.elementItem[0].baseData.prop;\r\n\t\t\t\tvalue[prop] = config.data.elementItem[0].baseData.el == 'hs-upload' ? [] : config.data.elementItem[0].elData.attrs?.defaultValue || '';\r\n\t\t\t});\r\n\t\t\ttransformedData[key] = value;\r\n\t\t});\r\n\t\treturn transformedData;\r\n\t}\r\n\t/**\r\n\t * @param params\r\n\t * @returns 删除属性值为空的属性\r\n\t */\r\n\tfunction setPropertyData(params: any) {\r\n\t\tfunction setProperty(property: any) {\r\n\t\t\tif (property.editRender?.enabled) {\r\n\t\t\t\tdelete property.cellRender;\r\n\t\t\t} else if (property.editRender) {\r\n\t\t\t\tdelete property.editRender;\r\n\t\t\t}\r\n\t\t\tfor (let i in property) {\r\n\t\t\t\tif (_.isString(property[i]) && property[i].trim() === '') {\r\n\t\t\t\t\tdelete property[i];\r\n\t\t\t\t}\r\n\t\t\t\tif (_.isObject(property[i]) && !_.isEmpty(property[i])) {\r\n\t\t\t\t\tsetProperty(property[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetProperty(params);\r\n\r\n\t\treturn params;\r\n\t}\r\n\t/**\r\n\t * 切换表单表格配置\r\n\t * @param config\r\n\t */\r\n\t// value: string, type: string,\r\n\tconst changeConfig = (config: IFormTable.FormConfig) => {\r\n\t\tpanelConfig.value = config;\r\n\t\tinitTabsActiveName();\r\n\t};\r\n\t// 保存表单配置 发送请求\r\n\tconst saveFormConfig = async (params: any) => {\r\n\t\tconst res: GetFieldByMenu = await fieldConfig.postSaveField4Form(params);\r\n\t\tif (res.code === 1) {\r\n\t\t\tElMessage.success('保存成功');\r\n\t\t\tinitTabsActiveName();\r\n\t\t\temits('refresh'); // 刷新 表单配置\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t *\r\n\t * @param data\r\n\t * @returns\r\n\t * 权限配置json数据处理方法\r\n\t */\r\n\tconst handlePermissionJson = (data: any) => {\r\n\t\tlet arr: any = [];\r\n\t\tlet i: number = 1;\r\n\t\tdata.forEach((item: any) => {\r\n\t\t\t// formItemType: 'form'、'component'、'slot' 三种类型 只保留 form 类型\r\n\t\t\tif (item.formItemType === 'form') {\r\n\t\t\t\titem.form.formConfig.forEach((item: any) => {\r\n\t\t\t\t\t// 不启用的不处理\r\n\t\t\t\t\tif (item.data.elementItem[0].baseData.isApply == true) {\r\n\t\t\t\t\t\tlet obj = {\r\n\t\t\t\t\t\t\tfieldName: item.data.elementItem[0].baseData.label,\r\n\t\t\t\t\t\t\tshowName: item.data.elementItem[0].baseData.label,\r\n\t\t\t\t\t\t\tfieldProp: item.data.elementItem[0].baseData.prop,\r\n\t\t\t\t\t\t\tfieldShow: item.data.elementItem[0].baseData.isShow,\r\n\t\t\t\t\t\t\tfieldRequired: item.data.elementItem[0].elData?.rules?.required,\r\n\t\t\t\t\t\t\tsort: i++, // 排序\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tarr.push(obj);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn arr;\r\n\t};\r\n\t// 字段池json数据处理方法\r\n\tconst handleFieldPoolJson = (data: any) => {\r\n\t\tlet arr: any = [];\r\n\t\tdata.forEach((item: any) => {\r\n\t\t\t// formItemType: 'form'、'component'、'slot' 三种类型 只保留 form 类型\r\n\t\t\tif (item.formItemType === 'form') {\r\n\t\t\t\titem.form.formConfig.forEach((val: any) => {\r\n\t\t\t\t\tlet obj = {\r\n\t\t\t\t\t\tfield_code: val.data.elementItem[0].baseData.prop,\r\n\t\t\t\t\t\tfield_name: val.data.elementItem[0].baseData.label,\r\n\t\t\t\t\t\tfield_type: '4',\r\n\t\t\t\t\t\tjson_data: val.data.elementItem[0],\r\n\t\t\t\t\t};\r\n\t\t\t\t\tarr.push(obj);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn JSON.stringify(arr);\r\n\t};\r\n\t/**\r\n\t * 删除配置\r\n\t */\r\n\tconst deleteConfig = (id: string) => {\r\n\t\tElMessageBox.prompt(`确认删除【${panelConfig.value.config_name}】吗?`, '提示', {\r\n\t\t\tconfirmButtonText: '确认',\r\n\t\t\tcancelButtonText: '取消',\r\n\t\t\tinputPattern: /^确认删除/,\r\n\t\t\tinputErrorMessage: '请输入“确认删除”',\r\n\t\t\tinputPlaceholder: '请输入“确认删除”',\r\n\t\t})\r\n\t\t\t.then(() => {\r\n\t\t\t\tfieldConfig.postDelFieldById<PostDelFieldById>({ id }).then((res) => {\r\n\t\t\t\t\tif (res.code != 1) return;\r\n\t\t\t\t\tElMessage.success('删除成功');\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t// 更新页面数据\r\n\t\t\t\t\t\temits('refresh');\r\n\t\t\t\t\t}, 1500);\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(() => {\r\n\t\t\t\tElMessage.info('已取消删除');\r\n\t\t\t});\r\n\t};\r\n\t/***\r\n\t * 按钮格式化\r\n\t */\r\n\tconst btnsFormat = (btns: any) => {\r\n\t\tlet arr: any = btns.map((item: any, index: number) => {\r\n\t\t\treturn {\r\n\t\t\t\tfieldName: item.data.name,\r\n\t\t\t\tshowName: item.data.name,\r\n\t\t\t\tfieldProp: item.data.key,\r\n\t\t\t\tfieldShow: item.data.isShow,\r\n\t\t\t\tfieldRequired: false,\r\n\t\t\t\tsort: index + 1,\r\n\t\t\t};\r\n\t\t});\r\n\t\treturn arr;\r\n\t};\r\n\t/**\r\n\t * 初始化tabsActiveName\r\n\t */\r\n\tfunction initTabsActiveName() {\r\n\t\ttabsActiveName.value = panelConfig.value.forms.length > 0 ? panelConfig.value.forms[0].id! : '';\r\n\t}\r\n\treturn {\r\n\t\thandleTabsEdit,\r\n\t\tsaveFormTableConfig,\r\n\t\tchangeConfig,\r\n\t\tdeleteConfig,\r\n\t};\r\n}\r\n","<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nexport default defineComponent({\n name: \"test\",\n \n})\n</script>\n<template>\r\n\t<div class=\"flex flex-col h-full\">\r\n\t\t<div class=\"flex-1 system-user-container\" style=\"height: 300px\" v-if=\"isShow\">\r\n\t\t\t<hs-tabs ref=\"tabsRef\" v-model=\"tabsActiveName\" class=\"h-full tabs\" type=\"border-card\" addable @edit=\"handleTabsEdit\">\r\n\t\t\t\t<hs-tab-pane class=\"tab-pane\" label=\"按钮配置\" name=\"btn\">\r\n\t\t\t\t\t<component :is=\"hsBtnPanel\" v-model=\"panelConfig.btns\" />\r\n\t\t\t\t</hs-tab-pane>\r\n\t\t\t\t<hs-tab-pane\r\n\t\t\t\t\tclass=\"tab-pane\"\r\n\t\t\t\t\tv-for=\"(item, index) in panelConfig['forms']\"\r\n\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t:closable=\"index > 0\"\r\n\t\t\t\t\t:label=\"item.base?.label || '表单配置名称'\"\r\n\t\t\t\t\t:name=\"item.id\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<component\r\n\t\t\t\t\t\t:is=\"hsFormPanel\"\r\n\t\t\t\t\t\tv-model=\"(panelConfig as any)['forms'][index]\"\r\n\t\t\t\t\t\tv-model:BaseForm=\"panelConfig.BaseForm\"\r\n\t\t\t\t\t\t:panelConfig=\"panelConfig\"\r\n\t\t\t\t\t\t@update=\"update\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</hs-tab-pane>\r\n\t\t\t</hs-tabs>\r\n\t\t</div>\r\n\t\t<component\r\n\t\t\t:configs=\"configs\"\r\n\t\t\tref=\"saveFormRef\"\r\n\t\t\t:is=\"saveForm\"\r\n\t\t\t@change=\"changeConfig\"\r\n\t\t\t@save=\"saveFormTableConfig\"\r\n\t\t\t@delete=\"deleteConfig\"\r\n\t\t></component>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\" name=\"test\">\r\nimport { ref } from 'vue';\r\nimport hsFormPanel from './components/hsForm/src/hsFormPanel.vue';\r\nimport { IFormTable, ICustomData } from '/@/types';\r\nimport saveForm from './components/hsSaveForm/src/saveForm.vue';\r\nimport hsBtnPanel from './components/hsBtn/src/hsBtnPanel.vue';\r\nimport { useHsFormTable } from './useFormConfig';\r\n\r\nlet props = defineProps({\r\n\tcurrentPageData: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => ({}),\r\n\t},\r\n});\r\n\r\nlet panelConfig = ref<IFormTable.FormConfig>({\r\n\tconfig_unique_id: '', // 配置唯一标识\r\n\tconfig_name: '', // 配置名称\r\n\tBaseForm: {\r\n\t\tlabelWidth: '100', // 表单域标签的宽度\r\n\t\tlabelPosition: 'left', // 表单域标签的位置\r\n\t\tsize: 'default', // 表单内组件的尺寸\r\n\t\tlabelSuffix: '', // 表单域标签的后缀\r\n\t\trequireAsteriskPosition: 'left', // 必填字段标签位置\r\n\t\tstatusIcon: false, // 是否在输入框中显示校验结果反馈图标\r\n\t\tvalidateOnRuleChange: true, // 是否在规则改变的时候立即触发校验\r\n\t\tscrollToError: false, // 是否在输入的时候滚动到错误的地方\r\n\t\tmethod: 'post', // 表单提交方法\r\n\t\taction_name: '', // 操作名称\r\n\t\tproxy: '', // 代理地址\r\n\t},\r\n\tbtns: [],\r\n\tforms: [\r\n\t\t{\r\n\t\t\tid: 'form_1',\r\n\t\t\tbase: { label: '表单配置名称', fieldID: '', grid: 3, isShowLabel: true },\r\n\t\t\tform: {\r\n\t\t\t\tbaseData: { rowGap: 0, columnGap: 0 },\r\n\t\t\t\tformConfig: [],\r\n\t\t\t\tformData: [],\r\n\t\t\t},\r\n\t\t\tcomponent: {\r\n\t\t\t\tbaseData: {},\r\n\t\t\t},\r\n\t\t\tslot: {\r\n\t\t\t\tbaseData: {},\r\n\t\t\t},\r\n\t\t\tformItemType: 'form',\r\n\t\t},\r\n\t],\r\n});\r\nlet tabsActiveName = ref('form_1');\r\n// 页面所在的所有配置\r\nlet configs = ref<Array<IFormTable.FormConfig>>([]);\r\nlet saveFormRef = ref();\r\nconst isShow = ref(true);\r\n// 当前页面所在的配置\r\nconst menuData = ref({});\r\n/**\r\n * 初始化数据\r\n * @param configs\r\n */\r\nconst initData = (configList: ICustomData.ANY, panelConfigVal: IFormTable.FormConfig) => {\r\n\tconfigs.value = configList;\r\n\ttabsActiveName.value =\r\n\t\tconfigList[0] && configList[0].field_json && JSON.parse(configList[0].field_json).forms.length > 0\r\n\t\t\t? JSON.parse(configList[0].field_json).forms[0].id\r\n\t\t\t: 'form_1';\r\n\tif (panelConfigVal) {\r\n\t\tpanelConfig.value = JSON.parse(JSON.stringify(panelConfigVal));\r\n\t}\r\n};\r\nconst update = (val: ICustomData.ANY) => {\r\n\tconsole.log('update', val);\r\n\tif (val.type === 'formConfigurationCode') {\r\n\t\ttabsActiveName.value = val.data.id;\r\n\t}\r\n};\r\nconst emits = defineEmits(['refresh']);\r\nconst { handleTabsEdit, saveFormTableConfig, changeConfig, deleteConfig } = useHsFormTable(panelConfig, tabsActiveName, props, emits);\r\n// 将方法暴露\r\ndefineExpose({ initData, saveFormRef });\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.system-user-container {\r\n\t:deep(.el-card__body) {\r\n\t\theight: 100% !important;\r\n\t}\r\n\r\n\t:deep(.el-tabs__content) {\r\n\t\theight: calc(100% - 39px);\r\n\t}\r\n}\r\n.tabs {\r\n\t:deep(.el-tabs__new-tab) {\r\n\t\tmargin: 10px 10px 10px 0px;\r\n\t}\r\n}\r\n.tab-pane {\r\n\theight: 100% !important;\r\n}\r\n</style>\r\n"],"names":["useHsFormTable","panelConfig","tabsActiveName","props","emits","fieldConfig","useFieldConfigController","addTabPanel","removeTabPanel","targetName","form","find","item","ElMessageBox","_","ElMessage","initTabsActiveName","err","handleTabsEdit","action","saveFormTableConfig","tempPanelConfig","formData","setPropertyData","transformData","obj","getFormType","params","Session","btnsFormat","handlePermissionJson","saveFormConfig","formItemType","configData","originalData","transformedData","key","value","config","prop","_a","setProperty","property","i","changeConfig","data","arr","deleteConfig","id","res","btns","index","__default__","defineComponent","__props","ref","configs","saveFormRef","isShow","initData","configList","panelConfigVal","update","val","__emit","__expose"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"formConfig-vRKuN3Qq.js","sources":["../src/views/config/formSetting/useFormConfig.ts","../src/views/config/formSetting/formConfig.vue"],"sourcesContent":["import _ from 'lodash';\r\nimport { Ref, ref } from 'vue';\r\nimport { ElMessageBox, ElMessage, TabPaneName } from 'element-plus';\r\nimport { IFormTable } from '/@/types';\r\nimport { find } from 'lodash';\r\nimport { useFieldConfigController } from '/@/api/fieldConfigController/index';\r\nimport { GetFieldByMenu, PostDelFieldById } from '/@/api/fieldConfigController/type';\r\nimport { Session } from '/@/utils';\r\n\r\nexport function useHsFormTable(\r\n\tpanelConfig: Ref<IFormTable.FormConfig>,\r\n\ttabsActiveName: Ref<string>,\r\n\tprops: any,\r\n\temits: (event: 'refresh', ...args: any[]) => void\r\n) {\r\n\tconst fieldConfig = useFieldConfigController();\r\n\t/**\r\n\t * 添加表格配置\r\n\t */\r\n\tconst addTabPanel = () => {\r\n\t\tpanelConfig.value.forms.push({\r\n\t\t\tid: 'form_' + new Date().getTime(),\r\n\t\t\tbase: { label: '表单配置名称', fieldID: '', grid: 3, isShowLabel: true },\r\n\t\t\tform: {\r\n\t\t\t\tbaseData: { rowGap: 0, columnGap: 0 },\r\n\t\t\t\tformConfig: [],\r\n\t\t\t\tformData: {},\r\n\t\t\t},\r\n\t\t\tcomponent: {\r\n\t\t\t\tbaseData: {},\r\n\t\t\t},\r\n\t\t\tslot: {\r\n\t\t\t\tbaseData: {},\r\n\t\t\t},\r\n\t\t\tformItemType: 'form',\r\n\t\t});\r\n\t};\r\n\t/**\r\n\t * 移除tabs项\r\n\t * @param targetName\r\n\t * @returns\r\n\t */\r\n\tconst removeTabPanel = (targetName: TabPaneName | undefined) => {\r\n\t\t// 查询当前表单配置对象\r\n\t\tlet form = find(panelConfig.value.forms, (item: IFormTable.FormbaseData) => item['id'] == targetName);\r\n\t\t// 删除表单配置提示\r\n\t\tElMessageBox.confirm(`确定删除${form?.base['formName'] || '表单配置'}吗?`, '提示', {\r\n\t\t\tconfirmButtonText: '确认',\r\n\t\t\tcancelButtonText: '取消',\r\n\t\t\ttype: 'warning',\r\n\t\t})\r\n\t\t\t.then(() => {\r\n\t\t\t\t// 移除配置\r\n\t\t\t\t_.remove(panelConfig.value.forms, (item: IFormTable.FormbaseData) => targetName && item.id == targetName);\r\n\t\t\t\t// 给出操作成功提示\r\n\t\t\t\tElMessage.success('删除成功');\r\n\t\t\t\tif (tabsActiveName.value == targetName) {\r\n\t\t\t\t\tinitTabsActiveName();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log('err', err);\r\n\t\t\t});\r\n\t};\r\n\t/**\r\n\t * 编辑tabs\r\n\t * @param targetName\r\n\t * @param action\r\n\t */\r\n\tconst handleTabsEdit = (targetName: TabPaneName | undefined, action: 'remove' | 'add') => {\r\n\t\tswitch (action) {\r\n\t\t\tcase 'remove':\r\n\t\t\t\t// 删除配置\r\n\t\t\t\tremoveTabPanel(targetName);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'add':\r\n\t\t\t\t// 新增配置\r\n\t\t\t\taddTabPanel();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 保存表单表格配置\r\n\t */\r\n\tconst saveFormTableConfig = (form: any) => {\r\n\t\t// 源数据\r\n\t\tlet tempPanelConfig = _.cloneDeep(panelConfig.value);\r\n\t\ttempPanelConfig.config_name = form['config_name'];\r\n\t\ttempPanelConfig.config_unique_id = form['config_unique_id'];\r\n\t\t// 用于前端解析的数据\r\n\t\tlet formData = {\r\n\t\t\tconfig_name: form['config_name'],\r\n\t\t\tconfig_unique_id: form['config_unique_id'],\r\n\t\t\tattrs: setPropertyData(tempPanelConfig.BaseForm), // 删除属性值为空的属性,\r\n\t\t\tdata: transformData(tempPanelConfig.forms),\r\n\t\t\tbtns: tempPanelConfig.btns,\r\n\t\t\tform: tempPanelConfig.forms.map((item: any) => {\r\n\t\t\t\tlet obj: any = {\r\n\t\t\t\t\tlabel: item.base.label,\r\n\t\t\t\t\tfieldID: item.base.fieldID,\r\n\t\t\t\t\tgrid: item.base.grid,\r\n\t\t\t\t\tformItemType: item.formItemType,\r\n\t\t\t\t\tconfig:\r\n\t\t\t\t\t\titem.formItemType == 'form'\r\n\t\t\t\t\t\t\t? getFormType(item.formItemType, item.form.formConfig)\r\n\t\t\t\t\t\t\t: item.formItemType == 'component'\r\n\t\t\t\t\t\t\t\t? getFormType(item.formItemType, item.component.baseData)\r\n\t\t\t\t\t\t\t\t: getFormType(item.formItemType, item.slot.baseData),\r\n\t\t\t\t};\r\n\t\t\t\tif (item.formItemType == 'form') {\r\n\t\t\t\t\tobj.attrs = setPropertyData(item.form.baseData); // 删除属性值为空的属性\r\n\t\t\t\t}\r\n\t\t\t\treturn obj;\r\n\t\t\t}),\r\n\t\t};\r\n\t\tlet params = {\r\n\t\t\tbusiness_json: JSON.stringify(formData), // 前端解析数据\r\n\t\t\tconfig_name: form.config_name,\r\n\t\t\tconfig_type: '2', // 1:表格字段配置 2:表单配置\r\n\t\t\tconfig_unique_id: form.config_unique_id,\r\n\t\t\tis_auth: form.is_auth, // 是否需要权限控制 1:需要 0:不需要\r\n\t\t\tfield_json: JSON.stringify(tempPanelConfig), // 原始数据\r\n\t\t\tmenu_id: props.currentPageData.id, // 菜单id\r\n\t\t\tpage_name: props.currentPageData.label, // 页面名称\r\n\t\t\tproject_code: Session.get('CURRENT_SYSTEM').project_code, // 系统标识\r\n\t\t\tid: form['id'], // 配置id\r\n\t\t\tupdate_time: form['update_time'], // 更新时间 用于后端校验更新时间 防止并发\r\n\t\t\t// 权限配置json数据\r\n\t\t\tconfig_json: JSON.stringify({\r\n\t\t\t\tmenu_id: props.currentPageData.id,\r\n\t\t\t\tconfig_type: '2',\r\n\t\t\t\tconfig_unique_id: form.config_unique_id,\r\n\t\t\t\t// 按钮配置\r\n\t\t\t\tbtns: btnsFormat(tempPanelConfig.btns),\r\n\t\t\t\t// tables: [],\r\n\t\t\t\t// 所有的表单配置项\r\n\t\t\t\tform: handlePermissionJson(panelConfig.value.forms),\r\n\t\t\t}),\r\n\t\t\t// 字段池json数据\r\n\t\t\t// field_pool_json: handleFieldPoolJson(panelConfig.value.forms),\r\n\t\t};\r\n\t\tsaveFormConfig(params); // 发送请求 保存表单配置\r\n\t};\r\n\t/**\r\n\t * 切换表单表格配置\r\n\t * @param formItemType\r\n\t * @param configData\r\n\t * @returns 根据 formItemType 类型返回对应的配置项 form、component、slot\r\n\t */\r\n\tconst getFormType = (formItemType: string, configData: any) => {\r\n\t\tswitch (formItemType) {\r\n\t\t\tcase 'form':\r\n\t\t\t\tconst arr = configData.map((item: any) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tlabel: item.data.elementItem[0].baseData.label,\r\n\t\t\t\t\t\tconfig: setPropertyData(item.data.elementItem), // 删除属性值为空的属性\r\n\t\t\t\t\t\tlayoutData: item.data.layoutData,\r\n\t\t\t\t\t};\r\n\t\t\t\t});\r\n\t\t\t\treturn arr;\r\n\t\t\tcase 'component':\r\n\t\t\t\treturn configData;\r\n\t\t\tcase 'slot':\r\n\t\t\t\treturn configData;\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * @param originalData\r\n\t * @returns 转换数据\r\n\t * @description 将表单配置数据转换成对象\r\n\t */\r\n\tfunction transformData(originalData: any[]) {\r\n\t\tconst transformedData: any = {};\r\n\t\toriginalData.forEach((item: any) => {\r\n\t\t\tconst key = item.base.fieldID;\r\n\t\t\tconst value: any = {};\r\n\t\t\tif (item.formItemType != 'form') return (transformedData[key] = {}); // 只处理表单配置\r\n\t\t\titem.form.formConfig.forEach((config: any) => {\r\n\t\t\t\tconsole.log('config)', config);\r\n\t\t\t\tconst prop = config.data.elementItem[0].baseData.prop;\r\n\t\t\t\tvalue[prop] = config.data.elementItem[0].baseData.el == 'hs-upload' ? [] : config.data.elementItem[0].elData.attrs?.defaultValue || '';\r\n\t\t\t});\r\n\t\t\ttransformedData[key] = value;\r\n\t\t});\r\n\t\treturn transformedData;\r\n\t}\r\n\t/**\r\n\t * @param params\r\n\t * @returns 删除属性值为空的属性\r\n\t */\r\n\tfunction setPropertyData(params: any) {\r\n\t\tfunction setProperty(property: any) {\r\n\t\t\tif (property.editRender?.enabled) {\r\n\t\t\t\tdelete property.cellRender;\r\n\t\t\t} else if (property.editRender) {\r\n\t\t\t\tdelete property.editRender;\r\n\t\t\t}\r\n\t\t\tfor (let i in property) {\r\n\t\t\t\tif (_.isString(property[i]) && property[i].trim() === '') {\r\n\t\t\t\t\tdelete property[i];\r\n\t\t\t\t}\r\n\t\t\t\tif (_.isObject(property[i]) && !_.isEmpty(property[i])) {\r\n\t\t\t\t\tsetProperty(property[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetProperty(params);\r\n\r\n\t\treturn params;\r\n\t}\r\n\t/**\r\n\t * 切换表单表格配置\r\n\t * @param config\r\n\t */\r\n\t// value: string, type: string,\r\n\tconst changeConfig = (config: IFormTable.FormConfig) => {\r\n\t\tpanelConfig.value = config;\r\n\t\tinitTabsActiveName();\r\n\t};\r\n\t// 保存表单配置 发送请求\r\n\tconst saveFormConfig = async (params: any) => {\r\n\t\tconst res: GetFieldByMenu = await fieldConfig.postSaveField4Form(params);\r\n\t\tif (res.code === 1) {\r\n\t\t\tElMessage.success('保存成功');\r\n\t\t\tinitTabsActiveName();\r\n\t\t\temits('refresh'); // 刷新 表单配置\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t *\r\n\t * @param data\r\n\t * @returns\r\n\t * 权限配置json数据处理方法\r\n\t */\r\n\tconst handlePermissionJson = (data: any) => {\r\n\t\tlet arr: any = [];\r\n\t\tlet i: number = 1;\r\n\t\tdata.forEach((item: any) => {\r\n\t\t\t// formItemType: 'form'、'component'、'slot' 三种类型 只保留 form 类型\r\n\t\t\tif (item.formItemType === 'form') {\r\n\t\t\t\titem.form.formConfig.forEach((item: any) => {\r\n\t\t\t\t\t// 不启用的不处理\r\n\t\t\t\t\tif (item.data.elementItem[0].baseData.isApply == true) {\r\n\t\t\t\t\t\tlet obj = {\r\n\t\t\t\t\t\t\tfieldName: item.data.elementItem[0].baseData.label,\r\n\t\t\t\t\t\t\tshowName: item.data.elementItem[0].baseData.label,\r\n\t\t\t\t\t\t\tfieldProp: item.data.elementItem[0].baseData.prop,\r\n\t\t\t\t\t\t\tfieldShow: item.data.elementItem[0].baseData.isShow,\r\n\t\t\t\t\t\t\tfieldRequired: item.data.elementItem[0].elData?.rules?.required,\r\n\t\t\t\t\t\t\tsort: i++, // 排序\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tarr.push(obj);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn arr;\r\n\t};\r\n\t// 字段池json数据处理方法\r\n\tconst handleFieldPoolJson = (data: any) => {\r\n\t\tlet arr: any = [];\r\n\t\tdata.forEach((item: any) => {\r\n\t\t\t// formItemType: 'form'、'component'、'slot' 三种类型 只保留 form 类型\r\n\t\t\tif (item.formItemType === 'form') {\r\n\t\t\t\titem.form.formConfig.forEach((val: any) => {\r\n\t\t\t\t\tlet obj = {\r\n\t\t\t\t\t\tfield_code: val.data.elementItem[0].baseData.prop,\r\n\t\t\t\t\t\tfield_name: val.data.elementItem[0].baseData.label,\r\n\t\t\t\t\t\tfield_type: '4',\r\n\t\t\t\t\t\tjson_data: val.data.elementItem[0],\r\n\t\t\t\t\t};\r\n\t\t\t\t\tarr.push(obj);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn JSON.stringify(arr);\r\n\t};\r\n\t/**\r\n\t * 删除配置\r\n\t */\r\n\tconst deleteConfig = (id: string) => {\r\n\t\tElMessageBox.prompt(`确认删除【${panelConfig.value.config_name}】吗?`, '提示', {\r\n\t\t\tconfirmButtonText: '确认',\r\n\t\t\tcancelButtonText: '取消',\r\n\t\t\tinputPattern: /^确认删除/,\r\n\t\t\tinputErrorMessage: '请输入“确认删除”',\r\n\t\t\tinputPlaceholder: '请输入“确认删除”',\r\n\t\t})\r\n\t\t\t.then(() => {\r\n\t\t\t\tfieldConfig.postDelFieldById<PostDelFieldById>({ id }).then((res) => {\r\n\t\t\t\t\tif (res.code != 1) return;\r\n\t\t\t\t\tElMessage.success('删除成功');\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t// 更新页面数据\r\n\t\t\t\t\t\temits('refresh');\r\n\t\t\t\t\t}, 1500);\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(() => {\r\n\t\t\t\tElMessage.info('已取消删除');\r\n\t\t\t});\r\n\t};\r\n\t/***\r\n\t * 按钮格式化\r\n\t */\r\n\tconst btnsFormat = (btns: any) => {\r\n\t\tlet arr: any = btns.map((item: any, index: number) => {\r\n\t\t\treturn {\r\n\t\t\t\tfieldName: item.data.name,\r\n\t\t\t\tshowName: item.data.name,\r\n\t\t\t\tfieldProp: item.data.key,\r\n\t\t\t\tfieldShow: item.data.isShow,\r\n\t\t\t\tfieldRequired: false,\r\n\t\t\t\tsort: index + 1,\r\n\t\t\t};\r\n\t\t});\r\n\t\treturn arr;\r\n\t};\r\n\t/**\r\n\t * 初始化tabsActiveName\r\n\t */\r\n\tfunction initTabsActiveName() {\r\n\t\ttabsActiveName.value = panelConfig.value.forms.length > 0 ? panelConfig.value.forms[0].id! : '';\r\n\t}\r\n\treturn {\r\n\t\thandleTabsEdit,\r\n\t\tsaveFormTableConfig,\r\n\t\tchangeConfig,\r\n\t\tdeleteConfig,\r\n\t};\r\n}\r\n","<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nexport default defineComponent({\n name: \"test\",\n \n})\n</script>\n<template>\r\n\t<div class=\"flex flex-col h-full\">\r\n\t\t<div class=\"flex-1 system-user-container\" style=\"height: 300px\" v-if=\"isShow\">\r\n\t\t\t<hs-tabs ref=\"tabsRef\" v-model=\"tabsActiveName\" class=\"h-full tabs\" type=\"border-card\" addable @edit=\"handleTabsEdit\">\r\n\t\t\t\t<hs-tab-pane class=\"tab-pane\" label=\"按钮配置\" name=\"btn\">\r\n\t\t\t\t\t<component :is=\"hsBtnPanel\" v-model=\"panelConfig.btns\" />\r\n\t\t\t\t</hs-tab-pane>\r\n\t\t\t\t<hs-tab-pane\r\n\t\t\t\t\tclass=\"tab-pane\"\r\n\t\t\t\t\tv-for=\"(item, index) in panelConfig['forms']\"\r\n\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t:closable=\"index > 0\"\r\n\t\t\t\t\t:label=\"item.base?.label || '表单配置名称'\"\r\n\t\t\t\t\t:name=\"item.id\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<component\r\n\t\t\t\t\t\t:is=\"hsFormPanel\"\r\n\t\t\t\t\t\tv-model=\"(panelConfig as any)['forms'][index]\"\r\n\t\t\t\t\t\tv-model:BaseForm=\"panelConfig.BaseForm\"\r\n\t\t\t\t\t\t:panelConfig=\"panelConfig\"\r\n\t\t\t\t\t\t@update=\"update\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</hs-tab-pane>\r\n\t\t\t</hs-tabs>\r\n\t\t</div>\r\n\t\t<component\r\n\t\t\t:configs=\"configs\"\r\n\t\t\tref=\"saveFormRef\"\r\n\t\t\t:is=\"saveForm\"\r\n\t\t\t@change=\"changeConfig\"\r\n\t\t\t@save=\"saveFormTableConfig\"\r\n\t\t\t@delete=\"deleteConfig\"\r\n\t\t></component>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\" name=\"test\">\r\nimport { ref } from 'vue';\r\nimport hsFormPanel from './components/hsForm/src/hsFormPanel.vue';\r\nimport { IFormTable, ICustomData } from '/@/types';\r\nimport saveForm from './components/hsSaveForm/src/saveForm.vue';\r\nimport hsBtnPanel from './components/hsBtn/src/hsBtnPanel.vue';\r\nimport { useHsFormTable } from './useFormConfig';\r\n\r\nlet props = defineProps({\r\n\tcurrentPageData: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => ({}),\r\n\t},\r\n});\r\n\r\nlet panelConfig = ref<IFormTable.FormConfig>({\r\n\tconfig_unique_id: '', // 配置唯一标识\r\n\tconfig_name: '', // 配置名称\r\n\tBaseForm: {\r\n\t\tlabelWidth: '100', // 表单域标签的宽度\r\n\t\tlabelPosition: 'left', // 表单域标签的位置\r\n\t\tsize: 'default', // 表单内组件的尺寸\r\n\t\tlabelSuffix: '', // 表单域标签的后缀\r\n\t\trequireAsteriskPosition: 'left', // 必填字段标签位置\r\n\t\tstatusIcon: false, // 是否在输入框中显示校验结果反馈图标\r\n\t\tvalidateOnRuleChange: true, // 是否在规则改变的时候立即触发校验\r\n\t\tscrollToError: false, // 是否在输入的时候滚动到错误的地方\r\n\t\tmethod: 'post', // 表单提交方法\r\n\t\taction_name: '', // 操作名称\r\n\t\tproxy: '', // 代理地址\r\n\t},\r\n\tbtns: [],\r\n\tforms: [\r\n\t\t{\r\n\t\t\tid: 'form_1',\r\n\t\t\tbase: { label: '表单配置名称', fieldID: '', grid: 3, isShowLabel: true },\r\n\t\t\tform: {\r\n\t\t\t\tbaseData: { rowGap: 0, columnGap: 0 },\r\n\t\t\t\tformConfig: [],\r\n\t\t\t\tformData: [],\r\n\t\t\t},\r\n\t\t\tcomponent: {\r\n\t\t\t\tbaseData: {},\r\n\t\t\t},\r\n\t\t\tslot: {\r\n\t\t\t\tbaseData: {},\r\n\t\t\t},\r\n\t\t\tformItemType: 'form',\r\n\t\t},\r\n\t],\r\n});\r\nlet tabsActiveName = ref('form_1');\r\n// 页面所在的所有配置\r\nlet configs = ref<Array<IFormTable.FormConfig>>([]);\r\nlet saveFormRef = ref();\r\nconst isShow = ref(true);\r\n// 当前页面所在的配置\r\nconst menuData = ref({});\r\n/**\r\n * 初始化数据\r\n * @param configs\r\n */\r\nconst initData = (configList: ICustomData.ANY, panelConfigVal: IFormTable.FormConfig) => {\r\n\tconfigs.value = configList;\r\n\ttabsActiveName.value =\r\n\t\tconfigList[0] && configList[0].field_json && JSON.parse(configList[0].field_json).forms.length > 0\r\n\t\t\t? JSON.parse(configList[0].field_json).forms[0].id\r\n\t\t\t: 'form_1';\r\n\tif (panelConfigVal) {\r\n\t\tpanelConfig.value = JSON.parse(JSON.stringify(panelConfigVal));\r\n\t}\r\n};\r\nconst update = (val: ICustomData.ANY) => {\r\n\tconsole.log('update', val);\r\n\tif (val.type === 'formConfigurationCode') {\r\n\t\ttabsActiveName.value = val.data.id;\r\n\t}\r\n};\r\nconst emits = defineEmits(['refresh']);\r\nconst { handleTabsEdit, saveFormTableConfig, changeConfig, deleteConfig } = useHsFormTable(panelConfig, tabsActiveName, props, emits);\r\n// 将方法暴露\r\ndefineExpose({ initData, saveFormRef });\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.system-user-container {\r\n\t:deep(.el-card__body) {\r\n\t\theight: 100% !important;\r\n\t}\r\n\r\n\t:deep(.el-tabs__content) {\r\n\t\theight: calc(100% - 39px);\r\n\t}\r\n}\r\n.tabs {\r\n\t:deep(.el-tabs__new-tab) {\r\n\t\tmargin: 10px 10px 10px 0px;\r\n\t}\r\n}\r\n.tab-pane {\r\n\theight: 100% !important;\r\n}\r\n</style>\r\n"],"names":["useHsFormTable","panelConfig","tabsActiveName","props","emits","fieldConfig","useFieldConfigController","addTabPanel","removeTabPanel","targetName","form","find","item","ElMessageBox","_","ElMessage","initTabsActiveName","err","handleTabsEdit","action","saveFormTableConfig","tempPanelConfig","formData","setPropertyData","transformData","obj","getFormType","params","Session","btnsFormat","handlePermissionJson","saveFormConfig","formItemType","configData","originalData","transformedData","key","value","config","prop","_a","setProperty","property","i","changeConfig","data","arr","deleteConfig","id","res","btns","index","__default__","defineComponent","__props","ref","configs","saveFormRef","isShow","initData","configList","panelConfigVal","update","val","__emit","__expose"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"header-Cn7nyXyQ.js","sources":["../src/layout/component/header.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nexport default defineComponent({\n name: \"layoutHeader\",\n \n})\n</script>\n<template>\r\n\t<el-header class=\"layout-header\" v-show=\"!isTagsViewCurrenFull\">\r\n\t\t<NavBarsIndex />\r\n\t</el-header>\r\n</template>\r\n\r\n<script setup lang=\"ts\" name=\"layoutHeader\">\r\nimport { defineAsyncComponent } from 'vue';\r\nimport { storeToRefs } from 'pinia';\r\nimport { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';\r\n\r\n// 引入组件\r\nconst NavBarsIndex = defineAsyncComponent(() => import('/@/layout/navBars/index.vue'));\r\n\r\n// 定义变量内容\r\nconst storesTagsViewRoutes = useTagsViewRoutes();\r\nconst { isTagsViewCurrenFull } = storeToRefs(storesTagsViewRoutes);\r\n</script>\r\n"],"names":["__default__","defineComponent","NavBarsIndex","defineAsyncComponent","storesTagsViewRoutes","useTagsViewRoutes","isTagsViewCurrenFull","storeToRefs"],"mappings":"wIAEAA,EAAeC,EAAAA,gBAAgB,CAC7B,KAAM,cAER,CAAC,qCAcD,MAAMC,EAAeC,EAAA,qBAAqB,IAAM,QAAO,QAAA,EAAA,KAAA,IAAA,QAAA,qBAA6B,CAAC,CAAA,EAG/EC,EAAuBC,EAAAA,oBACvB,CAAE,qBAAAC,CAAA,EAAyBC,EAAA,YAAYH,CAAoB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"header-DXLUHaoH.mjs","sources":["../src/layout/component/header.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nexport default defineComponent({\n name: \"layoutHeader\",\n \n})\n</script>\n<template>\r\n\t<el-header class=\"layout-header\" v-show=\"!isTagsViewCurrenFull\">\r\n\t\t<NavBarsIndex />\r\n\t</el-header>\r\n</template>\r\n\r\n<script setup lang=\"ts\" name=\"layoutHeader\">\r\nimport { defineAsyncComponent } from 'vue';\r\nimport { storeToRefs } from 'pinia';\r\nimport { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';\r\n\r\n// 引入组件\r\nconst NavBarsIndex = defineAsyncComponent(() => import('/@/layout/navBars/index.vue'));\r\n\r\n// 定义变量内容\r\nconst storesTagsViewRoutes = useTagsViewRoutes();\r\nconst { isTagsViewCurrenFull } = storeToRefs(storesTagsViewRoutes);\r\n</script>\r\n"],"names":["__default__","defineComponent","NavBarsIndex","defineAsyncComponent","storesTagsViewRoutes","useTagsViewRoutes","isTagsViewCurrenFull","storeToRefs"],"mappings":";;AAEA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAER,CAAC;;;AAcD,UAAMC,IAAeC,EAAqB,MAAM,OAAO,sBAA6B,CAAC,GAG/EC,IAAuBC,KACvB,EAAE,sBAAAC,EAAA,IAAyBC,EAAYH,CAAoB;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"horizontal-D5m-StSj.mjs","sources":["../src/layout/navMenu/horizontal.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nexport default defineComponent({\n name: \"navMenuHorizontal\",\n \n})\n</script>\n<template>\r\n\t<div class=\"el-menu-horizontal-warp\">\r\n\t\t<el-menu router :default-active=\"state.defaultActive\" background-color=\"transparent\" mode=\"horizontal\">\r\n\t\t\t<template v-for=\"val in menuLists\">\r\n\t\t\t\t<el-sub-menu :index=\"val.path\" v-if=\"val.children && val.children.length > 0\" :key=\"val.path\">\r\n\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t<SvgIcon :name=\"val.meta.icon\" />\r\n\t\t\t\t\t\t<span>{{ val.meta.title }}</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<SubItem :chil=\"val.children\" />\r\n\t\t\t\t</el-sub-menu>\r\n\t\t\t\t<template v-else>\r\n\t\t\t\t\t<el-menu-item :index=\"val.path\" :key=\"val.path\">\r\n\t\t\t\t\t\t<template #title v-if=\"!val.meta.isLink || (val.meta.isLink && val.meta.isIframe)\">\r\n\t\t\t\t\t\t\t<SvgIcon :name=\"val.meta.icon\" />\r\n\t\t\t\t\t\t\t{{ val.meta.title }}\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #title v-else>\r\n\t\t\t\t\t\t\t<a class=\"w100\" @click.prevent=\"onALinkClick(val)\">\r\n\t\t\t\t\t\t\t\t<SvgIcon :name=\"val.meta.icon\" />\r\n\t\t\t\t\t\t\t\t{{ val.meta.title }}\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-menu-item>\r\n\t\t\t\t</template>\r\n\t\t\t</template>\r\n\t\t</el-menu>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\" name=\"navMenuHorizontal\">\r\nimport { defineAsyncComponent, reactive, computed, onBeforeMount } from 'vue';\r\nimport { useRoute, onBeforeRouteUpdate, RouteRecordRaw } from 'vue-router';\r\nimport { storeToRefs } from 'pinia';\r\nimport { useRoutesList } from '/@/stores/routesList';\r\nimport { useThemeConfig } from '/@/stores/themeConfig';\r\nimport { other } from '/@/utils/other';\r\nimport { mittBus } from '/@/utils/mitt';\r\n\r\n// 引入组件\r\nconst SubItem = defineAsyncComponent(() => import('/@/layout/navMenu/subItem.vue'));\r\n\r\n// 定义父组件传过来的值\r\nconst props = defineProps({\r\n\t// 菜单列表\r\n\tmenuList: {\r\n\t\ttype: Array<RouteRecordRaw>,\r\n\t\tdefault: () => [],\r\n\t},\r\n});\r\n\r\n// 定义变量内容\r\nconst stores = useRoutesList();\r\nconst storesThemeConfig = useThemeConfig();\r\nconst { routesList } = storeToRefs(stores);\r\nconst { themeConfig } = storeToRefs(storesThemeConfig);\r\nconst route = useRoute();\r\nconst state = reactive({\r\n\tdefaultActive: '' as string | undefined,\r\n});\r\n\r\n// 获取父级菜单数据\r\nconst menuLists = computed(() => {\r\n\treturn <RouteItems>props.menuList;\r\n});\r\n// 路由过滤递归函数\r\nconst filterRoutesFun = <T extends RouteItem>(arr: T[]): T[] => {\r\n\treturn arr\r\n\t\t.filter((item: T) => !item.meta?.isHide)\r\n\t\t.map((item: T) => {\r\n\t\t\titem = Object.assign({}, item);\r\n\t\t\tif (item.children) item.children = filterRoutesFun(item.children);\r\n\t\t\treturn item;\r\n\t\t});\r\n};\r\n// 传送当前子级数据到菜单中\r\nconst setSendClassicChildren = (path: string) => {\r\n\tconst currentPathSplit = path.split('/');\r\n\tlet currentData: MittMenu = { children: [] };\r\n\tfilterRoutesFun(routesList.value).map((v, k) => {\r\n\t\tif (v.path === `/${currentPathSplit[1]}`) {\r\n\t\t\tv['k'] = k;\r\n\t\t\tcurrentData['item'] = { ...v };\r\n\t\t\tcurrentData['children'] = [{ ...v }];\r\n\t\t\tif (v.children) currentData['children'] = v.children;\r\n\t\t}\r\n\t});\r\n\treturn currentData;\r\n};\r\n// 设置页面当前路由高亮\r\nconst setCurrentRouterHighlight = (currentRoute: RouteToFrom) => {\r\n\tconst { path, meta } = currentRoute;\r\n\tif (themeConfig.value.layout === 'classic') {\r\n\t\tstate.defaultActive = `/${path?.split('/')[1]}`;\r\n\t} else {\r\n\t\tconst pathSplit = meta?.isDynamic ? meta.isDynamicPath!.split('/') : path!.split('/');\r\n\t\tif (pathSplit.length >= 4 && meta?.isHide) state.defaultActive = pathSplit.splice(0, 3).join('/');\r\n\t\telse state.defaultActive = path;\r\n\t}\r\n};\r\n// 打开外部链接\r\nconst onALinkClick = (val: RouteItem) => {\r\n\tother.handleOpenLink(val);\r\n};\r\n// 页面加载前\r\nonBeforeMount(() => {\r\n\tsetCurrentRouterHighlight(route);\r\n});\r\n// 路由更新时\r\nonBeforeRouteUpdate((to) => {\r\n\tsetCurrentRouterHighlight(to);\r\n\t// 修复经典布局开启切割菜单时,点击tagsView后左侧导航菜单数据不变的问题\r\n\tlet { layout, isClassicSplitMenu } = themeConfig.value;\r\n\tif (layout === 'classic' && isClassicSplitMenu) {\r\n\t\tmittBus.emit('setSendClassicChildren', setSendClassicChildren(to.path));\r\n\t}\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.el-menu-horizontal-warp {\r\n\tflex: 1;\r\n\toverflow: hidden;\r\n\tmargin-right: 30px;\r\n\t:deep(.el-scrollbar__bar.is-vertical) {\r\n\t\tdisplay: none;\r\n\t}\r\n\t:deep(a) {\r\n\t\twidth: 100%;\r\n\t}\r\n\t.el-menu.el-menu--horizontal {\r\n\t\tdisplay: flex;\r\n\t\theight: 100%;\r\n\t\twidth: 100%;\r\n\t\tbox-sizing: border-box;\r\n\t}\r\n}\r\n</style>\r\n"],"names":["__default__","defineComponent","SubItem","defineAsyncComponent","props","__props","stores","useRoutesList","storesThemeConfig","useThemeConfig","routesList","storeToRefs","themeConfig","route","useRoute","state","reactive","menuLists","computed","filterRoutesFun","arr","item","_a","setSendClassicChildren","path","currentPathSplit","currentData","v","k","setCurrentRouterHighlight","currentRoute","meta","pathSplit","onALinkClick","val","other","onBeforeMount","onBeforeRouteUpdate","to","layout","isClassicSplitMenu","mittBus"],"mappings":";;gDAEAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAER,CAAC;;;;;;;;;;AA0CD,UAAMC,IAAUC,EAAqB,MAAM,OAAO,wBAA+B,CAAC,GAG5EC,IAAQC,GASRC,IAASC,KACTC,IAAoBC,KACpB,EAAE,YAAAC,EAAA,IAAeC,EAAYL,CAAM,GACnC,EAAE,aAAAM,EAAA,IAAgBD,EAAYH,CAAiB,GAC/CK,IAAQC,KACRC,IAAQC,EAAS;AAAA,MACtB,eAAe;AAAA,IAAA,CACf,GAGKC,IAAYC,EAAS,MACPd,EAAM,QACzB,GAEKe,IAAkB,CAAsBC,MACtCA,EACL,OAAO,CAACC;;AAAY,gBAACC,IAAAD,EAAK,SAAL,QAAAC,EAAW;AAAA,KAAM,EACtC,IAAI,CAACD,OACLA,IAAO,OAAO,OAAO,CAAC,GAAGA,CAAI,GACzBA,EAAK,aAAeA,EAAA,WAAWF,EAAgBE,EAAK,QAAQ,IACzDA,EACP,GAGGE,IAAyB,CAACC,MAAiB;AAC1C,YAAAC,IAAmBD,EAAK,MAAM,GAAG;AACvC,UAAIE,IAAwB,EAAE,UAAU,CAAA;AACxC,aAAAP,EAAgBT,EAAW,KAAK,EAAE,IAAI,CAACiB,GAAGC,MAAM;AAC/C,QAAID,EAAE,SAAS,IAAIF,EAAiB,CAAC,CAAC,OACrCE,EAAE,IAAOC,GACTF,EAAY,OAAU,EAAE,GAAGC,EAAE,GAC7BD,EAAY,WAAc,CAAC,EAAE,GAAGC,EAAG,CAAA,GAC/BA,EAAE,aAAsBD,EAAA,WAAcC,EAAE;AAAA,MAC7C,CACA,GACMD;AAAA,IAAA,GAGFG,IAA4B,CAACC,MAA8B;AAC1D,YAAA,EAAE,MAAAN,GAAM,MAAAO,EAAS,IAAAD;AACnB,UAAAlB,EAAY,MAAM,WAAW;AAChC,QAAAG,EAAM,gBAAgB,IAAIS,KAAA,gBAAAA,EAAM,MAAM,KAAK,EAAE;AAAA,WACvC;AACA,cAAAQ,IAAYD,KAAA,QAAAA,EAAM,YAAYA,EAAK,cAAe,MAAM,GAAG,IAAIP,EAAM,MAAM,GAAG;AAChF,QAAAQ,EAAU,UAAU,MAAKD,KAAA,QAAAA,EAAM,UAAQhB,EAAM,gBAAgBiB,EAAU,OAAO,GAAG,CAAC,EAAE,KAAK,GAAG,IAC3FjB,EAAM,gBAAgBS;AAAA,MAC5B;AAAA,IAAA,GAGKS,IAAe,CAACC,MAAmB;AACxC,MAAAC,EAAM,eAAeD,CAAG;AAAA,IAAA;AAGzB,WAAAE,EAAc,MAAM;AACnB,MAAAP,EAA0BhB,CAAK;AAAA,IAAA,CAC/B,GAEDwB,EAAoB,CAACC,MAAO;AAC3B,MAAAT,EAA0BS,CAAE;AAE5B,UAAI,EAAE,QAAAC,GAAQ,oBAAAC,MAAuB5B,EAAY;AAC7C,MAAA2B,MAAW,aAAaC,KAC3BC,EAAQ,KAAK,0BAA0BlB,EAAuBe,EAAG,IAAI,CAAC;AAAA,IACvE,CACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"horizontal-DQqvv6Sp.js","sources":["../src/layout/navMenu/horizontal.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nexport default defineComponent({\n name: \"navMenuHorizontal\",\n \n})\n</script>\n<template>\r\n\t<div class=\"el-menu-horizontal-warp\">\r\n\t\t<el-menu router :default-active=\"state.defaultActive\" background-color=\"transparent\" mode=\"horizontal\">\r\n\t\t\t<template v-for=\"val in menuLists\">\r\n\t\t\t\t<el-sub-menu :index=\"val.path\" v-if=\"val.children && val.children.length > 0\" :key=\"val.path\">\r\n\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t<SvgIcon :name=\"val.meta.icon\" />\r\n\t\t\t\t\t\t<span>{{ val.meta.title }}</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<SubItem :chil=\"val.children\" />\r\n\t\t\t\t</el-sub-menu>\r\n\t\t\t\t<template v-else>\r\n\t\t\t\t\t<el-menu-item :index=\"val.path\" :key=\"val.path\">\r\n\t\t\t\t\t\t<template #title v-if=\"!val.meta.isLink || (val.meta.isLink && val.meta.isIframe)\">\r\n\t\t\t\t\t\t\t<SvgIcon :name=\"val.meta.icon\" />\r\n\t\t\t\t\t\t\t{{ val.meta.title }}\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #title v-else>\r\n\t\t\t\t\t\t\t<a class=\"w100\" @click.prevent=\"onALinkClick(val)\">\r\n\t\t\t\t\t\t\t\t<SvgIcon :name=\"val.meta.icon\" />\r\n\t\t\t\t\t\t\t\t{{ val.meta.title }}\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-menu-item>\r\n\t\t\t\t</template>\r\n\t\t\t</template>\r\n\t\t</el-menu>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\" name=\"navMenuHorizontal\">\r\nimport { defineAsyncComponent, reactive, computed, onBeforeMount } from 'vue';\r\nimport { useRoute, onBeforeRouteUpdate, RouteRecordRaw } from 'vue-router';\r\nimport { storeToRefs } from 'pinia';\r\nimport { useRoutesList } from '/@/stores/routesList';\r\nimport { useThemeConfig } from '/@/stores/themeConfig';\r\nimport { other } from '/@/utils/other';\r\nimport { mittBus } from '/@/utils/mitt';\r\n\r\n// 引入组件\r\nconst SubItem = defineAsyncComponent(() => import('/@/layout/navMenu/subItem.vue'));\r\n\r\n// 定义父组件传过来的值\r\nconst props = defineProps({\r\n\t// 菜单列表\r\n\tmenuList: {\r\n\t\ttype: Array<RouteRecordRaw>,\r\n\t\tdefault: () => [],\r\n\t},\r\n});\r\n\r\n// 定义变量内容\r\nconst stores = useRoutesList();\r\nconst storesThemeConfig = useThemeConfig();\r\nconst { routesList } = storeToRefs(stores);\r\nconst { themeConfig } = storeToRefs(storesThemeConfig);\r\nconst route = useRoute();\r\nconst state = reactive({\r\n\tdefaultActive: '' as string | undefined,\r\n});\r\n\r\n// 获取父级菜单数据\r\nconst menuLists = computed(() => {\r\n\treturn <RouteItems>props.menuList;\r\n});\r\n// 路由过滤递归函数\r\nconst filterRoutesFun = <T extends RouteItem>(arr: T[]): T[] => {\r\n\treturn arr\r\n\t\t.filter((item: T) => !item.meta?.isHide)\r\n\t\t.map((item: T) => {\r\n\t\t\titem = Object.assign({}, item);\r\n\t\t\tif (item.children) item.children = filterRoutesFun(item.children);\r\n\t\t\treturn item;\r\n\t\t});\r\n};\r\n// 传送当前子级数据到菜单中\r\nconst setSendClassicChildren = (path: string) => {\r\n\tconst currentPathSplit = path.split('/');\r\n\tlet currentData: MittMenu = { children: [] };\r\n\tfilterRoutesFun(routesList.value).map((v, k) => {\r\n\t\tif (v.path === `/${currentPathSplit[1]}`) {\r\n\t\t\tv['k'] = k;\r\n\t\t\tcurrentData['item'] = { ...v };\r\n\t\t\tcurrentData['children'] = [{ ...v }];\r\n\t\t\tif (v.children) currentData['children'] = v.children;\r\n\t\t}\r\n\t});\r\n\treturn currentData;\r\n};\r\n// 设置页面当前路由高亮\r\nconst setCurrentRouterHighlight = (currentRoute: RouteToFrom) => {\r\n\tconst { path, meta } = currentRoute;\r\n\tif (themeConfig.value.layout === 'classic') {\r\n\t\tstate.defaultActive = `/${path?.split('/')[1]}`;\r\n\t} else {\r\n\t\tconst pathSplit = meta?.isDynamic ? meta.isDynamicPath!.split('/') : path!.split('/');\r\n\t\tif (pathSplit.length >= 4 && meta?.isHide) state.defaultActive = pathSplit.splice(0, 3).join('/');\r\n\t\telse state.defaultActive = path;\r\n\t}\r\n};\r\n// 打开外部链接\r\nconst onALinkClick = (val: RouteItem) => {\r\n\tother.handleOpenLink(val);\r\n};\r\n// 页面加载前\r\nonBeforeMount(() => {\r\n\tsetCurrentRouterHighlight(route);\r\n});\r\n// 路由更新时\r\nonBeforeRouteUpdate((to) => {\r\n\tsetCurrentRouterHighlight(to);\r\n\t// 修复经典布局开启切割菜单时,点击tagsView后左侧导航菜单数据不变的问题\r\n\tlet { layout, isClassicSplitMenu } = themeConfig.value;\r\n\tif (layout === 'classic' && isClassicSplitMenu) {\r\n\t\tmittBus.emit('setSendClassicChildren', setSendClassicChildren(to.path));\r\n\t}\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.el-menu-horizontal-warp {\r\n\tflex: 1;\r\n\toverflow: hidden;\r\n\tmargin-right: 30px;\r\n\t:deep(.el-scrollbar__bar.is-vertical) {\r\n\t\tdisplay: none;\r\n\t}\r\n\t:deep(a) {\r\n\t\twidth: 100%;\r\n\t}\r\n\t.el-menu.el-menu--horizontal {\r\n\t\tdisplay: flex;\r\n\t\theight: 100%;\r\n\t\twidth: 100%;\r\n\t\tbox-sizing: border-box;\r\n\t}\r\n}\r\n</style>\r\n"],"names":["__default__","defineComponent","SubItem","defineAsyncComponent","props","__props","stores","useRoutesList","storesThemeConfig","useThemeConfig","routesList","storeToRefs","themeConfig","route","useRoute","state","reactive","menuLists","computed","filterRoutesFun","arr","item","_a","setSendClassicChildren","path","currentPathSplit","currentData","v","k","setCurrentRouterHighlight","currentRoute","meta","pathSplit","onALinkClick","val","other","onBeforeMount","onBeforeRouteUpdate","to","layout","isClassicSplitMenu","mittBus"],"mappings":"4KAEAA,EAAeC,EAAAA,gBAAgB,CAC7B,KAAM,mBAER,CAAC,kFA0CD,MAAMC,EAAUC,EAAA,qBAAqB,IAAM,QAAO,QAAA,EAAA,KAAA,IAAA,QAAA,uBAA+B,CAAC,CAAA,EAG5EC,EAAQC,EASRC,EAASC,EAAAA,gBACTC,EAAoBC,EAAAA,iBACpB,CAAE,WAAAC,CAAA,EAAeC,EAAA,YAAYL,CAAM,EACnC,CAAE,YAAAM,CAAA,EAAgBD,EAAA,YAAYH,CAAiB,EAC/CK,EAAQC,EAAAA,WACRC,EAAQC,EAAAA,SAAS,CACtB,cAAe,EAAA,CACf,EAGKC,EAAYC,EAAAA,SAAS,IACPd,EAAM,QACzB,EAEKe,EAAwCC,GACtCA,EACL,OAAQC,UAAY,SAACC,EAAAD,EAAK,OAAL,MAAAC,EAAW,QAAM,EACtC,IAAKD,IACLA,EAAO,OAAO,OAAO,CAAC,EAAGA,CAAI,EACzBA,EAAK,WAAeA,EAAA,SAAWF,EAAgBE,EAAK,QAAQ,GACzDA,EACP,EAGGE,EAA0BC,GAAiB,CAC1C,MAAAC,EAAmBD,EAAK,MAAM,GAAG,EACvC,IAAIE,EAAwB,CAAE,SAAU,CAAA,GACxC,OAAAP,EAAgBT,EAAW,KAAK,EAAE,IAAI,CAACiB,EAAGC,IAAM,CAC3CD,EAAE,OAAS,IAAIF,EAAiB,CAAC,CAAC,KACrCE,EAAE,EAAOC,EACTF,EAAY,KAAU,CAAE,GAAGC,CAAE,EAC7BD,EAAY,SAAc,CAAC,CAAE,GAAGC,CAAG,CAAA,EAC/BA,EAAE,WAAsBD,EAAA,SAAcC,EAAE,UAC7C,CACA,EACMD,CAAA,EAGFG,EAA6BC,GAA8B,CAC1D,KAAA,CAAE,KAAAN,EAAM,KAAAO,CAAS,EAAAD,EACnB,GAAAlB,EAAY,MAAM,SAAW,UAChCG,EAAM,cAAgB,IAAIS,GAAA,YAAAA,EAAM,MAAM,KAAK,EAAE,OACvC,CACA,MAAAQ,EAAYD,GAAA,MAAAA,EAAM,UAAYA,EAAK,cAAe,MAAM,GAAG,EAAIP,EAAM,MAAM,GAAG,EAChFQ,EAAU,QAAU,IAAKD,GAAA,MAAAA,EAAM,QAAQhB,EAAM,cAAgBiB,EAAU,OAAO,EAAG,CAAC,EAAE,KAAK,GAAG,EAC3FjB,EAAM,cAAgBS,CAC5B,CAAA,EAGKS,EAAgBC,GAAmB,CACxCC,QAAM,eAAeD,CAAG,CAAA,EAGzBE,OAAAA,EAAAA,cAAc,IAAM,CACnBP,EAA0BhB,CAAK,CAAA,CAC/B,EAEDwB,EAAA,oBAAqBC,GAAO,CAC3BT,EAA0BS,CAAE,EAE5B,GAAI,CAAE,OAAAC,EAAQ,mBAAAC,GAAuB5B,EAAY,MAC7C2B,IAAW,WAAaC,GAC3BC,EAAA,QAAQ,KAAK,yBAA0BlB,EAAuBe,EAAG,IAAI,CAAC,CACvE,CACA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsAttrBtn-D1QvVUZr.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsAttrBtn-TYcer9fC.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsAttrBtn.vue_vue_type_script_setup_true_lang-CQvnEDXk.js","sources":["../src/views/config/formSetting/components/hsBtn/useAttrBtn.ts","../src/views/config/formSetting/components/hsBtn/src/hsAttrBtn.vue"],"sourcesContent":["import { ref, Ref, watch } from 'vue';\r\nimport { ComponentAttr, IFormTable } from '/@/types';\r\nimport hsAttrBtn from './src/hsAttrBtn.vue';\r\nimport { config } from '../../default/baseBtnConfig';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Session } from '/@/utils/storage';\r\nimport { PostRequest, useBtnConfigController } from '/@/api';\r\nconst btnController = useBtnConfigController();\r\n\r\nimport _ from 'lodash';\r\ninterface BtnRef {\r\n\tgetSubmitData: () => boolean;\r\n}\r\nexport function useHsAttrBtn(props: ComponentAttr.Props<typeof hsAttrBtn>, btnItemRef: Ref<BtnRef>) {\r\n\t// 原始数据\r\n\tlet oldItem = ref<IFormTable.BtnItem | undefined>(props.current);\r\n\t// 当前项绑定数据\r\n\tlet btnItemConfig = ref(_.cloneDeep(props.current));\r\n\t/**\r\n\t * 监听当前项\r\n\t */\r\n\twatch(\r\n\t\t() => props.current,\r\n\t\t(value: IFormTable.BtnItem | undefined) => {\r\n\t\t\t// 解决切换不同表单项不及时更新数据问题\r\n\t\t\tif (value && value.id != btnItemConfig.value.id) {\r\n\t\t\t\t// value.elConfig.visible = false;\r\n\t\t\t\toldItem.value = value;\r\n\t\t\t\tbtnItemConfig.value = _.cloneDeep(value);\r\n\t\t\t\t// formData.value = props.data;\r\n\t\t\t}\r\n\t\t},\r\n\t\t{ deep: true }\r\n\t);\r\n\tconst btnConfig = ref(_.cloneDeep(config));\r\n\t// 控制表单项属性的展开关闭\r\n\tconst visible = ref(false);\r\n\t// 基本配置属性实例\r\n\t/**\r\n\t * 保存功能\r\n\t */\r\n\tconst saveData = async function () {\r\n\t\ttry {\r\n\t\t\t// 校验表单项属性\r\n\t\t\tlet flag = await btnItemRef.value.getSubmitData();\r\n\t\t\tif (!flag) return;\r\n\t\t\tlet oldKey = oldItem.value?.data.key; // 表单项【old】key值\r\n\t\t\tlet newKey = btnItemConfig.value.data.key; // 表单项【new】key值\r\n\t\t\t// 增加按钮重复校验\r\n\t\t\tlet keys = _.map(props.btnList, (item: Record<string, IFormTable.Data>) => item.data.key);\r\n\t\t\tif (_.includes(keys, newKey) && newKey != oldKey) {\r\n\t\t\t\treturn ElMessage.warning('按钮key值重复');\r\n\t\t\t}\r\n\t\t\t// 保存表单配置\r\n\t\t\toldItem.value = Object.assign(oldItem.value || {}, _.cloneDeep(btnItemConfig.value));\r\n\t\t\t// 如果存在字段池id,则不重复调用保存字段池的方法\r\n\t\t\tif (btnItemConfig.value.data.field_id) return;\r\n\t\t\tlet system = Session.get('CURRENT_SYSTEM');\r\n\t\t\t// TODO 修改数据结构和接口\r\n\t\t\t// 整理保存字段池的数据\r\n\t\t\tlet obj = {\r\n\t\t\t\tbtn_name: btnItemConfig.value.data.key,\r\n\t\t\t\tbtn_label: btnItemConfig.value.data.name,\r\n\t\t\t\tbtn_icon: btnItemConfig.value.data.btnIcon,\r\n\t\t\t\tjson_data: JSON.stringify(btnItemConfig.value.data),\r\n\t\t\t\tproject_code: system.project_code,\r\n\t\t\t};\r\n\t\t\t// 保存按钮配置\r\n\t\t\tbtnController.postSaveBtnConfig4Config<PostRequest>(obj);\r\n\t\t} catch (err) {\r\n\t\t\tconsole.log('er', err);\r\n\t\t}\r\n\t};\r\n\r\n\treturn { visible, btnItemConfig, btnConfig, saveData };\r\n}\r\n","<template>\r\n\t<div class=\"bg-blue-200 h-full flex flex-col\">\r\n\t\t<div style=\"height: calc(100% -50px)\" class=\"overflow-y-auto flex-1\">\r\n\t\t\t<component :is=\"hsExpand\" v-model=\"visible\" :expandConfig=\"{ subTitle: '按钮项代码' }\"></component>\r\n\t\t\t<div v-if=\"visible\">\r\n\t\t\t\t{{ btnItemConfig }}\r\n\t\t\t</div>\r\n\t\t\t<component :is=\"hsExpand\" v-model=\"btnConfig.visible\" :expandConfig=\"btnConfig.title\"></component>\r\n\t\t\t<component :is=\"hsBtnItemConfig\" v-show=\"btnConfig.visible\" ref=\"btnItemRef\" v-model=\"btnItemConfig.data\" :config=\"btnConfig\"></component>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"text-center grow-0\" style=\"height: 50rpx\">\r\n\t\t\t<hs-button @click=\"saveData\" type=\"primary\">保存</hs-button>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport hsExpand from '../../hsExpand/src/hsExpand.vue';\r\nimport hsBtnItemConfig from './hsBtnItemConfig.vue';\r\nimport { useHsAttrBtn } from './../useAttrBtn';\r\nimport { IFormTable } from '/@/types';\r\nconst props = defineProps({\r\n\tcurrent: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {},\r\n\t},\r\n\tbtnList: {\r\n\t\ttype: Array<IFormTable.BtnItem>,\r\n\t\tdefault: () => [],\r\n\t},\r\n});\r\nconst btnItemRef = ref();\r\nconst { visible, btnItemConfig, btnConfig, saveData } = useHsAttrBtn(props, btnItemRef);\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n<!-- -->\r\n"],"names":["btnController","useBtnConfigController","useHsAttrBtn","props","btnItemRef","oldItem","ref","btnItemConfig","_","watch","value","btnConfig","config","oldKey","_a","newKey","keys","item","ElMessage","system","Session","obj","err","__props","visible","saveData"],"mappings":"qQAOMA,EAAgBC,EAAuB,uBAAA,EAM7B,SAAAC,EAAaC,EAA8CC,EAAyB,CAE/F,IAAAC,EAAUC,EAAAA,IAAoCH,EAAM,OAAO,EAE3DI,EAAgBD,EAAAA,IAAIE,EAAA,EAAE,UAAUL,EAAM,OAAO,CAAC,EAIlDM,EAAA,MACC,IAAMN,EAAM,QACXO,GAA0C,CAEtCA,GAASA,EAAM,IAAMH,EAAc,MAAM,KAE5CF,EAAQ,MAAQK,EACFH,EAAA,MAAQC,EAAAA,EAAE,UAAUE,CAAK,EAGzC,EACA,CAAE,KAAM,EAAK,CAAA,EAEd,MAAMC,EAAYL,EAAAA,IAAIE,EAAAA,EAAE,UAAUI,EAAAA,MAAM,CAAC,EAwCzC,MAAO,CAAE,QAtCON,MAAI,EAAK,EAsCP,cAAAC,EAAe,UAAAI,EAAW,SAjC3B,gBAAkB,OAC9B,GAAA,CAGH,GAAI,CADO,MAAMP,EAAW,MAAM,cAAc,EACrC,OACP,IAAAS,GAASC,EAAAT,EAAQ,QAAR,YAAAS,EAAe,KAAK,IAC7BC,EAASR,EAAc,MAAM,KAAK,IAElCS,EAAOR,EAAAA,EAAE,IAAIL,EAAM,QAAUc,GAA0CA,EAAK,KAAK,GAAG,EACxF,GAAIT,EAAAA,EAAE,SAASQ,EAAMD,CAAM,GAAKA,GAAUF,EAClC,OAAAK,EAAA,UAAU,QAAQ,UAAU,EAKhC,GAFIb,EAAA,MAAQ,OAAO,OAAOA,EAAQ,OAAS,CAAC,EAAGG,EAAE,EAAA,UAAUD,EAAc,KAAK,CAAC,EAE/EA,EAAc,MAAM,KAAK,SAAU,OACnC,IAAAY,EAASC,EAAAA,QAAQ,IAAI,gBAAgB,EAGrCC,EAAM,CACT,SAAUd,EAAc,MAAM,KAAK,IACnC,UAAWA,EAAc,MAAM,KAAK,KACpC,SAAUA,EAAc,MAAM,KAAK,QACnC,UAAW,KAAK,UAAUA,EAAc,MAAM,IAAI,EAClD,aAAcY,EAAO,YAAA,EAGtBnB,EAAc,yBAAsCqB,CAAG,QAC/CC,EAAK,CACL,QAAA,IAAI,KAAMA,CAAG,CACtB,CAAA,CAGoD,CACtD,2TCpDA,MAAMnB,EAAQoB,EAURnB,EAAaE,EAAAA,MACb,CAAE,QAAAkB,EAAS,cAAAjB,EAAe,UAAAI,EAAW,SAAAc,GAAavB,EAAaC,EAAOC,CAAU"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsAttrBtn.vue_vue_type_script_setup_true_lang-DGycKZ06.mjs","sources":["../src/views/config/formSetting/components/hsBtn/useAttrBtn.ts","../src/views/config/formSetting/components/hsBtn/src/hsAttrBtn.vue"],"sourcesContent":["import { ref, Ref, watch } from 'vue';\r\nimport { ComponentAttr, IFormTable } from '/@/types';\r\nimport hsAttrBtn from './src/hsAttrBtn.vue';\r\nimport { config } from '../../default/baseBtnConfig';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Session } from '/@/utils/storage';\r\nimport { PostRequest, useBtnConfigController } from '/@/api';\r\nconst btnController = useBtnConfigController();\r\n\r\nimport _ from 'lodash';\r\ninterface BtnRef {\r\n\tgetSubmitData: () => boolean;\r\n}\r\nexport function useHsAttrBtn(props: ComponentAttr.Props<typeof hsAttrBtn>, btnItemRef: Ref<BtnRef>) {\r\n\t// 原始数据\r\n\tlet oldItem = ref<IFormTable.BtnItem | undefined>(props.current);\r\n\t// 当前项绑定数据\r\n\tlet btnItemConfig = ref(_.cloneDeep(props.current));\r\n\t/**\r\n\t * 监听当前项\r\n\t */\r\n\twatch(\r\n\t\t() => props.current,\r\n\t\t(value: IFormTable.BtnItem | undefined) => {\r\n\t\t\t// 解决切换不同表单项不及时更新数据问题\r\n\t\t\tif (value && value.id != btnItemConfig.value.id) {\r\n\t\t\t\t// value.elConfig.visible = false;\r\n\t\t\t\toldItem.value = value;\r\n\t\t\t\tbtnItemConfig.value = _.cloneDeep(value);\r\n\t\t\t\t// formData.value = props.data;\r\n\t\t\t}\r\n\t\t},\r\n\t\t{ deep: true }\r\n\t);\r\n\tconst btnConfig = ref(_.cloneDeep(config));\r\n\t// 控制表单项属性的展开关闭\r\n\tconst visible = ref(false);\r\n\t// 基本配置属性实例\r\n\t/**\r\n\t * 保存功能\r\n\t */\r\n\tconst saveData = async function () {\r\n\t\ttry {\r\n\t\t\t// 校验表单项属性\r\n\t\t\tlet flag = await btnItemRef.value.getSubmitData();\r\n\t\t\tif (!flag) return;\r\n\t\t\tlet oldKey = oldItem.value?.data.key; // 表单项【old】key值\r\n\t\t\tlet newKey = btnItemConfig.value.data.key; // 表单项【new】key值\r\n\t\t\t// 增加按钮重复校验\r\n\t\t\tlet keys = _.map(props.btnList, (item: Record<string, IFormTable.Data>) => item.data.key);\r\n\t\t\tif (_.includes(keys, newKey) && newKey != oldKey) {\r\n\t\t\t\treturn ElMessage.warning('按钮key值重复');\r\n\t\t\t}\r\n\t\t\t// 保存表单配置\r\n\t\t\toldItem.value = Object.assign(oldItem.value || {}, _.cloneDeep(btnItemConfig.value));\r\n\t\t\t// 如果存在字段池id,则不重复调用保存字段池的方法\r\n\t\t\tif (btnItemConfig.value.data.field_id) return;\r\n\t\t\tlet system = Session.get('CURRENT_SYSTEM');\r\n\t\t\t// TODO 修改数据结构和接口\r\n\t\t\t// 整理保存字段池的数据\r\n\t\t\tlet obj = {\r\n\t\t\t\tbtn_name: btnItemConfig.value.data.key,\r\n\t\t\t\tbtn_label: btnItemConfig.value.data.name,\r\n\t\t\t\tbtn_icon: btnItemConfig.value.data.btnIcon,\r\n\t\t\t\tjson_data: JSON.stringify(btnItemConfig.value.data),\r\n\t\t\t\tproject_code: system.project_code,\r\n\t\t\t};\r\n\t\t\t// 保存按钮配置\r\n\t\t\tbtnController.postSaveBtnConfig4Config<PostRequest>(obj);\r\n\t\t} catch (err) {\r\n\t\t\tconsole.log('er', err);\r\n\t\t}\r\n\t};\r\n\r\n\treturn { visible, btnItemConfig, btnConfig, saveData };\r\n}\r\n","<template>\r\n\t<div class=\"bg-blue-200 h-full flex flex-col\">\r\n\t\t<div style=\"height: calc(100% -50px)\" class=\"overflow-y-auto flex-1\">\r\n\t\t\t<component :is=\"hsExpand\" v-model=\"visible\" :expandConfig=\"{ subTitle: '按钮项代码' }\"></component>\r\n\t\t\t<div v-if=\"visible\">\r\n\t\t\t\t{{ btnItemConfig }}\r\n\t\t\t</div>\r\n\t\t\t<component :is=\"hsExpand\" v-model=\"btnConfig.visible\" :expandConfig=\"btnConfig.title\"></component>\r\n\t\t\t<component :is=\"hsBtnItemConfig\" v-show=\"btnConfig.visible\" ref=\"btnItemRef\" v-model=\"btnItemConfig.data\" :config=\"btnConfig\"></component>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"text-center grow-0\" style=\"height: 50rpx\">\r\n\t\t\t<hs-button @click=\"saveData\" type=\"primary\">保存</hs-button>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport hsExpand from '../../hsExpand/src/hsExpand.vue';\r\nimport hsBtnItemConfig from './hsBtnItemConfig.vue';\r\nimport { useHsAttrBtn } from './../useAttrBtn';\r\nimport { IFormTable } from '/@/types';\r\nconst props = defineProps({\r\n\tcurrent: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {},\r\n\t},\r\n\tbtnList: {\r\n\t\ttype: Array<IFormTable.BtnItem>,\r\n\t\tdefault: () => [],\r\n\t},\r\n});\r\nconst btnItemRef = ref();\r\nconst { visible, btnItemConfig, btnConfig, saveData } = useHsAttrBtn(props, btnItemRef);\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n<!-- -->\r\n"],"names":["btnController","useBtnConfigController","useHsAttrBtn","props","btnItemRef","oldItem","ref","btnItemConfig","_","watch","value","btnConfig","config","oldKey","_a","newKey","keys","item","ElMessage","system","Session","obj","err","__props","visible","saveData"],"mappings":";;;;;AAOA,MAAMA,IAAgBC,EAAuB;AAM7B,SAAAC,EAAaC,GAA8CC,GAAyB;AAE/F,MAAAC,IAAUC,EAAoCH,EAAM,OAAO,GAE3DI,IAAgBD,EAAIE,EAAE,UAAUL,EAAM,OAAO,CAAC;AAIlD,EAAAM;AAAA,IACC,MAAMN,EAAM;AAAA,IACZ,CAACO,MAA0C;AAE1C,MAAIA,KAASA,EAAM,MAAMH,EAAc,MAAM,OAE5CF,EAAQ,QAAQK,GACFH,EAAA,QAAQC,EAAE,UAAUE,CAAK;AAAA,IAGzC;AAAA,IACA,EAAE,MAAM,GAAK;AAAA,EAAA;AAEd,QAAMC,IAAYL,EAAIE,EAAE,UAAUI,CAAM,CAAC;AAwCzC,SAAO,EAAE,SAtCON,EAAI,EAAK,GAsCP,eAAAC,GAAe,WAAAI,GAAW,UAjC3B,iBAAkB;;AAC9B,QAAA;AAGH,UAAI,CADO,MAAMP,EAAW,MAAM,cAAc;AACrC;AACP,UAAAS,KAASC,IAAAT,EAAQ,UAAR,gBAAAS,EAAe,KAAK,KAC7BC,IAASR,EAAc,MAAM,KAAK,KAElCS,IAAOR,EAAE,IAAIL,EAAM,SAAS,CAACc,MAA0CA,EAAK,KAAK,GAAG;AACxF,UAAIT,EAAE,SAASQ,GAAMD,CAAM,KAAKA,KAAUF;AAClC,eAAAK,EAAU,QAAQ,UAAU;AAKhC,UAFIb,EAAA,QAAQ,OAAO,OAAOA,EAAQ,SAAS,CAAC,GAAGG,EAAE,UAAUD,EAAc,KAAK,CAAC,GAE/EA,EAAc,MAAM,KAAK;AAAU;AACnC,UAAAY,IAASC,EAAQ,IAAI,gBAAgB,GAGrCC,IAAM;AAAA,QACT,UAAUd,EAAc,MAAM,KAAK;AAAA,QACnC,WAAWA,EAAc,MAAM,KAAK;AAAA,QACpC,UAAUA,EAAc,MAAM,KAAK;AAAA,QACnC,WAAW,KAAK,UAAUA,EAAc,MAAM,IAAI;AAAA,QAClD,cAAcY,EAAO;AAAA,MAAA;AAGtB,MAAAnB,EAAc,yBAAsCqB,CAAG;AAAA,aAC/CC,GAAK;AACL,cAAA,IAAI,MAAMA,CAAG;AAAA,IACtB;AAAA,EAAA,EAGoD;AACtD;;;;;;;;;;;;;;;;;;;;;ACpDA,UAAMnB,IAAQoB,GAURnB,IAAaE,KACb,EAAE,SAAAkB,GAAS,eAAAjB,GAAe,WAAAI,GAAW,UAAAc,MAAavB,EAAaC,GAAOC,CAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsAttrForm-BzIlb91a.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsAttrForm-DtqMt6Lk.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsAttrForm.vue_vue_type_script_setup_true_lang-BMaIQo0H.mjs","sources":["../src/views/config/formSetting/components/hsForm/useAttrForm.ts","../src/views/config/formSetting/components/hsForm/src/hsAttrForm.vue"],"sourcesContent":["import { ref, watch, onMounted } from 'vue';\r\nimport { ComponentAttr } from '/@/types';\r\nimport hsAttrForm from './src/hsAttrForm.vue';\r\nimport { compConfig, formItemChildConfig } from './../../default/baseFormConfig';\r\nimport { Session } from '/@/utils/storage';\r\nimport { useFieldConfigController, PostRequest } from '/@/api';\r\nconst fieldConfig = useFieldConfigController();\r\n\r\ninterface RestaurantItem {\r\n\tfield_code: string;\r\n\tfield_name: string;\r\n\tjson_data: string;\r\n\tid: string;\r\n}\r\nimport _ from 'lodash';\r\nexport function useHsAttrForm(props: ComponentAttr.Props<typeof hsAttrForm>, baseConfigRef: any) {\r\n\tconsole.log('baseConfigRef===>>>>', baseConfigRef);\r\n\t// 原始数据\r\n\tlet oldItem = ref(props.current);\r\n\t// 当前项绑定数据\r\n\tlet formItemConfig = ref(_.cloneDeep(props.current));\r\n\tlet formData = ref(props.data);\r\n\tlet elComName = ref<string[]>([]);\r\n\tlet editableTabsValue = ref(0);\r\n\t/**\r\n\t * 监听当前项\r\n\t */\r\n\twatch(\r\n\t\t() => props.current,\r\n\t\t(value) => {\r\n\t\t\tconsole.log('value===>>>>', value);\r\n\t\t\t// 解决切换不同表单项不及时更新数据问题\r\n\t\t\tif (value.id != formItemConfig.value.id) {\r\n\t\t\t\tvalue.elConfig.visible = false;\r\n\t\t\t\toldItem.value = value;\r\n\t\t\t\tformItemConfig.value = _.cloneDeep(value);\r\n\t\t\t\tformData.value = props.data;\r\n\t\t\t\t// 当切换不同表单项时,elComName需要清空,否则会导致页面渲染不出来\r\n\t\t\t\telComName.value = [];\r\n\t\t\t\t// 当切换不同表单项时,需要初始化elComName\r\n\t\t\t\tformItemConfig.value.data.elementItem.forEach((item: any) => {\r\n\t\t\t\t\tif (item.baseData.el) {\r\n\t\t\t\t\t\telComName.value.push(compConfig[item.baseData.el]);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\t// 当第一次进入时,elComName为空数组,需要初始化!不初始化会导致elComName为空数组,导致页面渲染不出来\r\n\t\t\tif (elComName.value.length == 0) {\r\n\t\t\t\tformItemConfig.value.data.elementItem.forEach((item: any) => {\r\n\t\t\t\t\tif (item.baseData.el) {\r\n\t\t\t\t\t\telComName.value.push(compConfig[item.baseData.el]);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\t{ deep: true, immediate: true }\r\n\t);\r\n\r\n\t// 表单配置项\r\n\tconst parentConfig = ref({\r\n\t\tlabelWidth: 150,\r\n\t\tspan: 24,\r\n\t\tstyle: 'padding:5px 10px',\r\n\t});\r\n\t// 控制表单项属性的展开关闭\r\n\tconst visible = ref(false);\r\n\t// 基本配置属性实例\r\n\t/**\r\n\t * 保存功能\r\n\t */\r\n\tconst saveData = async function (index: number) {\r\n\t\tconsole.log('index===>>>>', index);\r\n\t\ttry {\r\n\t\t\t// 校验表单项属性\r\n\t\t\tlet flag = await baseConfigRef.value[index].getSubmitData();\r\n\t\t\tif (!flag) return;\r\n\t\t\t// // 保存表单配置\r\n\t\t\toldItem.value = Object.assign(oldItem.value, _.cloneDeep(formItemConfig.value));\r\n\t\t\t// 如果存在字段池id,则不重复调用保存字段池的方法\r\n\t\t\tif (index > 0 || formItemConfig.value.data.elementItem[index].field_id) return;\r\n\t\t\tlet system = Session.get('CURRENT_SYSTEM');\r\n\t\t\t// 整理保存字段池的数据\r\n\t\t\tlet obj = {\r\n\t\t\t\tfield_code: formItemConfig.value.data.elementItem[index].baseData.prop,\r\n\t\t\t\tfield_name: formItemConfig.value.data.elementItem[index].baseData.label,\r\n\t\t\t\tfield_type: '2', // 【1按钮 2查询条件 3表格字段】\r\n\t\t\t\tjson_data: JSON.stringify(formItemConfig.value.data.elementItem[index]),\r\n\t\t\t\tproject_code: system.project_code,\r\n\t\t\t};\r\n\t\t\t// 发送保存字段池的接口\r\n\t\t\tfieldConfig.postSaveFieldPool4Config<PostRequest>(obj);\r\n\t\t} catch (err) {\r\n\t\t\tconsole.log('er', err);\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 组件类型切换回调方法\r\n\t * @param value\r\n\t * @param prop\r\n\t */\r\n\tconst onChange = function (value: string | number, prop: string, index: number) {\r\n\t\tif (prop != 'el') return;\r\n\t\t// 关闭元素项属性\r\n\t\tformItemConfig.value.elConfig.visible = false;\r\n\t\t// 清空元素项数据\r\n\t\tformItemConfig.value.data.elementItem[index].elData = {};\r\n\t\t// 组件名称赋值\r\n\t\tlet typeName: string = formItemConfig.value.data.baseData.el || value + '';\r\n\t\telComName.value[index] = compConfig[typeName];\r\n\t\t// 展开元素项属性\r\n\t\tformItemConfig.value.elConfig.visible = true;\r\n\t};\r\n\tconst handleTabsEdit = (targetName: string, action: string) => {\r\n\t\tif (action === 'add') {\r\n\t\t\t// 添加元素项\r\n\t\t\tformItemConfig.value.data.elementItem.push(_.cloneDeep(formItemChildConfig));\r\n\t\t}\r\n\t\tif (action === 'remove') {\r\n\t\t\teditableTabsValue.value = 0;\r\n\t\t\t// 删除元素项\r\n\t\t\tformItemConfig.value.data.elementItem.splice(targetName, 1);\r\n\t\t\telComName.value.splice(+targetName, 1);\r\n\t\t}\r\n\t};\r\n\t// 自动完成查询的地址和参数\r\n\tlet requestData = ref({\r\n\t\turl: '',\r\n\t\tparams: {\r\n\t\t\tfield_type: '2', // 【1按钮 2查询条件 3表格】\r\n\t\t\tfield_code: '',\r\n\t\t\tproject_code: '', // sysData.project_code || '',\r\n\t\t},\r\n\t\tqry_key: 'field_code',\r\n\t});\r\n\t// 生命周期 渲染完成后 从缓存中读出系统数据并追加值请求参数中\r\n\tonMounted(() => {\r\n\t\t// 根据缓存中的系统数据,赋值请求地址和参数\r\n\t\tlet systemData = Session.get('CURRENT_SYSTEM');\r\n\t\t// 请求参数赋值\r\n\t\tlet param = requestData.value.params;\r\n\t\tparam.project_code = systemData.project_code || '';\r\n\t\t// 请求地址赋值\r\n\t\trequestData.value = _.assign(requestData.value, {\r\n\t\t\turl: '/scmp-web' + '/pri/field_config/get_field_pool_list',\r\n\t\t\tparams: param,\r\n\t\t});\r\n\t});\r\n\r\n\t/**\r\n\t * 自动完成组件的切换事件\r\n\t * @param item\r\n\t */\r\n\tconst onChangeItem = (item: RestaurantItem, index: number) => {\r\n\t\tlet fieldData = JSON.parse(item.json_data);\r\n\t\t// 字段池数据赋值\r\n\t\tformItemConfig.value.data.elementItem[index] = _.assign(formItemConfig.value.data.elementItem[index], fieldData, { field_id: item.id });\r\n\t\t// 由于是通过自动完成组件选择的字段池数据,所以elComName为空数组,需要初始化!不初始化会导致elComName为空数组,导致页面渲染不出来\r\n\t\telComName.value.push(compConfig[fieldData.baseData.el]);\r\n\t};\r\n\treturn { parentConfig, visible, formItemConfig, elComName, onChange, saveData, handleTabsEdit, requestData, onChangeItem, editableTabsValue };\r\n}\r\n","<template>\r\n\t<div class=\"bg-blue-200 h-full flex flex-col\">\r\n\t\t<div style=\"height: calc(100% -50px)\" class=\"overflow-y-auto flex-1\">\r\n\t\t\t<component :is=\"hsExpand\" v-model=\"visible\" :expandConfig=\"{ subTitle: '表单项代码' }\"></component>\r\n\t\t\t<!-- v-model:data=\"formItemConfig.data\"\r\n\t\t\t\t:popover=\"true\" -->\r\n\t\t\t<div v-if=\"visible\">\r\n\t\t\t\t{{ formItemConfig?.data }}\r\n\t\t\t</div>\r\n\t\t\t<template v-if=\"formItemConfig?.baseConfig\">\r\n\t\t\t\t<hs-tabs type=\"border-card\" editable @edit=\"handleTabsEdit\" class=\"w-full\" v-model=\"editableTabsValue\">\r\n\t\t\t\t\t<hs-tab-pane v-for=\"(item, index) in formItemConfig?.data.elementItem\" :label=\"'子项' + (index + 1)\" :key=\"index\" :name=\"index\">\r\n\t\t\t\t\t\t<!-- 表单项属性 -->\r\n\t\t\t\t\t\t<component :is=\"hsExpand\" v-model=\"formItemConfig.baseConfig.visible\" :expandConfig=\"baseConfig.title\"></component>\r\n\t\t\t\t\t\t<!-- :config=\"index === 0 ? formItemConfig.baseConfig.list : formItemConfig.baseConfig2.list\" -->\r\n\t\t\t\t\t\t<component\r\n\t\t\t\t\t\t\tref=\"baseConfigRef\"\r\n\t\t\t\t\t\t\tv-show=\"formItemConfig.baseConfig.visible\"\r\n\t\t\t\t\t\t\t:parentConfig=\"parentConfig\"\r\n\t\t\t\t\t\t\t:is=\"'bc-form-config'\"\r\n\t\t\t\t\t\t\t:data=\"formItemConfig?.data.elementItem[index].baseData\"\r\n\t\t\t\t\t\t\t:config=\"index === 0 ? baseConfig.list : baseConfig2.list\"\r\n\t\t\t\t\t\t\t:rules=\"formBaseRule\"\r\n\t\t\t\t\t\t\t@change=\"(value: string, item: string) => onChange(value, item, index)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<template #prop>\r\n\t\t\t\t\t\t\t\t<bc-auto-complete\r\n\t\t\t\t\t\t\t\t\t:url=\"requestData.url\"\r\n\t\t\t\t\t\t\t\t\t:qry_key=\"requestData.qry_key\"\r\n\t\t\t\t\t\t\t\t\t:params=\"requestData.params\"\r\n\t\t\t\t\t\t\t\t\ttype=\"form\"\r\n\t\t\t\t\t\t\t\t\tv-model=\"formItemConfig.data.elementItem[index].baseData.prop\"\r\n\t\t\t\t\t\t\t\t\t@change=\"(value: RestaurantItem) => onChangeItem(value, index)\"\r\n\t\t\t\t\t\t\t\t></bc-auto-complete>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</component>\r\n\t\t\t\t\t\t<template v-if=\"formItemConfig?.data.elementItem[index].baseData.el\">\r\n\t\t\t\t\t\t\t<!-- 元素项属性 -->\r\n\t\t\t\t\t\t\t<component :is=\"hsExpand\" v-model=\"formItemConfig.elConfig.visible\" :expandConfig=\"formItemConfig.elConfig.title\"></component>\r\n\t\t\t\t\t\t\t<component\r\n\t\t\t\t\t\t\t\tv-if=\"formItemConfig.elConfig.visible\"\r\n\t\t\t\t\t\t\t\t:data=\"formItemConfig?.data.elementItem[index].elData\"\r\n\t\t\t\t\t\t\t\t:is=\"elComName[index]\"\r\n\t\t\t\t\t\t\t\tref=\"elRef\"\r\n\t\t\t\t\t\t\t\tisVModel\r\n\t\t\t\t\t\t\t></component>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</hs-tab-pane>\r\n\t\t\t\t</hs-tabs>\r\n\t\t\t</template>\r\n\t\t\t<template v-if=\"formItemConfig?.layoutConfig && (formItemConfig?.layoutConfig.list || []).length > 0\">\r\n\t\t\t\t<component :is=\"hsExpand\" v-model=\"formItemConfig.layoutConfig.visible\" :expandConfig=\"formItemConfig.layoutConfig.title\"></component>\r\n\t\t\t\t<component\r\n\t\t\t\t\tv-if=\"formItemConfig.layoutConfig.visible\"\r\n\t\t\t\t\t:parentConfig=\"parentConfig\"\r\n\t\t\t\t\t:is=\"'bc-form-config'\"\r\n\t\t\t\t\t:data=\"formItemConfig?.data.layoutData\"\r\n\t\t\t\t\t:config=\"formItemConfig?.layoutConfig.list\"\r\n\t\t\t\t/>\r\n\t\t\t</template>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"text-center grow-0\">\r\n\t\t\t<hs-button @click=\"saveData(editableTabsValue)\" type=\"primary\">保存</hs-button>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref, watch } from 'vue';\r\nimport hsExpand from '../../hsExpand/src/hsExpand.vue';\r\nimport { formBaseRule } from '../../../default/baseFormConfig';\r\nimport { useHsAttrForm } from './../useAttrForm';\r\nimport { baseConfig, baseConfig2 } from '../../../default/baseFormConfig';\r\ninterface RestaurantItem {\r\n\tfield_code: string;\r\n\tfield_name: string;\r\n\tjson_data: string;\r\n\tid: string;\r\n}\r\n\r\nconst props = defineProps({\r\n\tcurrent: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {},\r\n\t},\r\n\tdata: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {},\r\n\t},\r\n});\r\n// baseConfigRef是在循环中使用的,所以需要使用ref()包裹\r\nconst baseConfigRef = ref([]);\r\nconst { parentConfig, visible, formItemConfig, elComName, onChange, saveData, handleTabsEdit, requestData, onChangeItem, editableTabsValue } =\r\n\tuseHsAttrForm(props, baseConfigRef);\r\nwatch(\r\n\t() => props.current,\r\n\t(newVal, oldVal) => {\r\n\t\tif (newVal.id !== oldVal.id) {\r\n\t\t\teditableTabsValue.value = 0;\r\n\t\t}\r\n\t},\r\n\t{ deep: true }\r\n);\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n"],"names":["fieldConfig","useFieldConfigController","useHsAttrForm","props","baseConfigRef","oldItem","ref","formItemConfig","_","formData","elComName","editableTabsValue","watch","value","item","compConfig","parentConfig","visible","saveData","index","system","Session","obj","err","onChange","prop","typeName","handleTabsEdit","targetName","action","formItemChildConfig","requestData","onMounted","systemData","param","fieldData","__props","onChangeItem","newVal","oldVal"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsAttrForm.vue_vue_type_script_setup_true_lang-hKoCLLeD.js","sources":["../src/views/config/formSetting/components/hsForm/useAttrForm.ts","../src/views/config/formSetting/components/hsForm/src/hsAttrForm.vue"],"sourcesContent":["import { ref, watch, onMounted } from 'vue';\r\nimport { ComponentAttr } from '/@/types';\r\nimport hsAttrForm from './src/hsAttrForm.vue';\r\nimport { compConfig, formItemChildConfig } from './../../default/baseFormConfig';\r\nimport { Session } from '/@/utils/storage';\r\nimport { useFieldConfigController, PostRequest } from '/@/api';\r\nconst fieldConfig = useFieldConfigController();\r\n\r\ninterface RestaurantItem {\r\n\tfield_code: string;\r\n\tfield_name: string;\r\n\tjson_data: string;\r\n\tid: string;\r\n}\r\nimport _ from 'lodash';\r\nexport function useHsAttrForm(props: ComponentAttr.Props<typeof hsAttrForm>, baseConfigRef: any) {\r\n\tconsole.log('baseConfigRef===>>>>', baseConfigRef);\r\n\t// 原始数据\r\n\tlet oldItem = ref(props.current);\r\n\t// 当前项绑定数据\r\n\tlet formItemConfig = ref(_.cloneDeep(props.current));\r\n\tlet formData = ref(props.data);\r\n\tlet elComName = ref<string[]>([]);\r\n\tlet editableTabsValue = ref(0);\r\n\t/**\r\n\t * 监听当前项\r\n\t */\r\n\twatch(\r\n\t\t() => props.current,\r\n\t\t(value) => {\r\n\t\t\tconsole.log('value===>>>>', value);\r\n\t\t\t// 解决切换不同表单项不及时更新数据问题\r\n\t\t\tif (value.id != formItemConfig.value.id) {\r\n\t\t\t\tvalue.elConfig.visible = false;\r\n\t\t\t\toldItem.value = value;\r\n\t\t\t\tformItemConfig.value = _.cloneDeep(value);\r\n\t\t\t\tformData.value = props.data;\r\n\t\t\t\t// 当切换不同表单项时,elComName需要清空,否则会导致页面渲染不出来\r\n\t\t\t\telComName.value = [];\r\n\t\t\t\t// 当切换不同表单项时,需要初始化elComName\r\n\t\t\t\tformItemConfig.value.data.elementItem.forEach((item: any) => {\r\n\t\t\t\t\tif (item.baseData.el) {\r\n\t\t\t\t\t\telComName.value.push(compConfig[item.baseData.el]);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\t// 当第一次进入时,elComName为空数组,需要初始化!不初始化会导致elComName为空数组,导致页面渲染不出来\r\n\t\t\tif (elComName.value.length == 0) {\r\n\t\t\t\tformItemConfig.value.data.elementItem.forEach((item: any) => {\r\n\t\t\t\t\tif (item.baseData.el) {\r\n\t\t\t\t\t\telComName.value.push(compConfig[item.baseData.el]);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\t{ deep: true, immediate: true }\r\n\t);\r\n\r\n\t// 表单配置项\r\n\tconst parentConfig = ref({\r\n\t\tlabelWidth: 150,\r\n\t\tspan: 24,\r\n\t\tstyle: 'padding:5px 10px',\r\n\t});\r\n\t// 控制表单项属性的展开关闭\r\n\tconst visible = ref(false);\r\n\t// 基本配置属性实例\r\n\t/**\r\n\t * 保存功能\r\n\t */\r\n\tconst saveData = async function (index: number) {\r\n\t\tconsole.log('index===>>>>', index);\r\n\t\ttry {\r\n\t\t\t// 校验表单项属性\r\n\t\t\tlet flag = await baseConfigRef.value[index].getSubmitData();\r\n\t\t\tif (!flag) return;\r\n\t\t\t// // 保存表单配置\r\n\t\t\toldItem.value = Object.assign(oldItem.value, _.cloneDeep(formItemConfig.value));\r\n\t\t\t// 如果存在字段池id,则不重复调用保存字段池的方法\r\n\t\t\tif (index > 0 || formItemConfig.value.data.elementItem[index].field_id) return;\r\n\t\t\tlet system = Session.get('CURRENT_SYSTEM');\r\n\t\t\t// 整理保存字段池的数据\r\n\t\t\tlet obj = {\r\n\t\t\t\tfield_code: formItemConfig.value.data.elementItem[index].baseData.prop,\r\n\t\t\t\tfield_name: formItemConfig.value.data.elementItem[index].baseData.label,\r\n\t\t\t\tfield_type: '2', // 【1按钮 2查询条件 3表格字段】\r\n\t\t\t\tjson_data: JSON.stringify(formItemConfig.value.data.elementItem[index]),\r\n\t\t\t\tproject_code: system.project_code,\r\n\t\t\t};\r\n\t\t\t// 发送保存字段池的接口\r\n\t\t\tfieldConfig.postSaveFieldPool4Config<PostRequest>(obj);\r\n\t\t} catch (err) {\r\n\t\t\tconsole.log('er', err);\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 组件类型切换回调方法\r\n\t * @param value\r\n\t * @param prop\r\n\t */\r\n\tconst onChange = function (value: string | number, prop: string, index: number) {\r\n\t\tif (prop != 'el') return;\r\n\t\t// 关闭元素项属性\r\n\t\tformItemConfig.value.elConfig.visible = false;\r\n\t\t// 清空元素项数据\r\n\t\tformItemConfig.value.data.elementItem[index].elData = {};\r\n\t\t// 组件名称赋值\r\n\t\tlet typeName: string = formItemConfig.value.data.baseData.el || value + '';\r\n\t\telComName.value[index] = compConfig[typeName];\r\n\t\t// 展开元素项属性\r\n\t\tformItemConfig.value.elConfig.visible = true;\r\n\t};\r\n\tconst handleTabsEdit = (targetName: string, action: string) => {\r\n\t\tif (action === 'add') {\r\n\t\t\t// 添加元素项\r\n\t\t\tformItemConfig.value.data.elementItem.push(_.cloneDeep(formItemChildConfig));\r\n\t\t}\r\n\t\tif (action === 'remove') {\r\n\t\t\teditableTabsValue.value = 0;\r\n\t\t\t// 删除元素项\r\n\t\t\tformItemConfig.value.data.elementItem.splice(targetName, 1);\r\n\t\t\telComName.value.splice(+targetName, 1);\r\n\t\t}\r\n\t};\r\n\t// 自动完成查询的地址和参数\r\n\tlet requestData = ref({\r\n\t\turl: '',\r\n\t\tparams: {\r\n\t\t\tfield_type: '2', // 【1按钮 2查询条件 3表格】\r\n\t\t\tfield_code: '',\r\n\t\t\tproject_code: '', // sysData.project_code || '',\r\n\t\t},\r\n\t\tqry_key: 'field_code',\r\n\t});\r\n\t// 生命周期 渲染完成后 从缓存中读出系统数据并追加值请求参数中\r\n\tonMounted(() => {\r\n\t\t// 根据缓存中的系统数据,赋值请求地址和参数\r\n\t\tlet systemData = Session.get('CURRENT_SYSTEM');\r\n\t\t// 请求参数赋值\r\n\t\tlet param = requestData.value.params;\r\n\t\tparam.project_code = systemData.project_code || '';\r\n\t\t// 请求地址赋值\r\n\t\trequestData.value = _.assign(requestData.value, {\r\n\t\t\turl: '/scmp-web' + '/pri/field_config/get_field_pool_list',\r\n\t\t\tparams: param,\r\n\t\t});\r\n\t});\r\n\r\n\t/**\r\n\t * 自动完成组件的切换事件\r\n\t * @param item\r\n\t */\r\n\tconst onChangeItem = (item: RestaurantItem, index: number) => {\r\n\t\tlet fieldData = JSON.parse(item.json_data);\r\n\t\t// 字段池数据赋值\r\n\t\tformItemConfig.value.data.elementItem[index] = _.assign(formItemConfig.value.data.elementItem[index], fieldData, { field_id: item.id });\r\n\t\t// 由于是通过自动完成组件选择的字段池数据,所以elComName为空数组,需要初始化!不初始化会导致elComName为空数组,导致页面渲染不出来\r\n\t\telComName.value.push(compConfig[fieldData.baseData.el]);\r\n\t};\r\n\treturn { parentConfig, visible, formItemConfig, elComName, onChange, saveData, handleTabsEdit, requestData, onChangeItem, editableTabsValue };\r\n}\r\n","<template>\r\n\t<div class=\"bg-blue-200 h-full flex flex-col\">\r\n\t\t<div style=\"height: calc(100% -50px)\" class=\"overflow-y-auto flex-1\">\r\n\t\t\t<component :is=\"hsExpand\" v-model=\"visible\" :expandConfig=\"{ subTitle: '表单项代码' }\"></component>\r\n\t\t\t<!-- v-model:data=\"formItemConfig.data\"\r\n\t\t\t\t:popover=\"true\" -->\r\n\t\t\t<div v-if=\"visible\">\r\n\t\t\t\t{{ formItemConfig?.data }}\r\n\t\t\t</div>\r\n\t\t\t<template v-if=\"formItemConfig?.baseConfig\">\r\n\t\t\t\t<hs-tabs type=\"border-card\" editable @edit=\"handleTabsEdit\" class=\"w-full\" v-model=\"editableTabsValue\">\r\n\t\t\t\t\t<hs-tab-pane v-for=\"(item, index) in formItemConfig?.data.elementItem\" :label=\"'子项' + (index + 1)\" :key=\"index\" :name=\"index\">\r\n\t\t\t\t\t\t<!-- 表单项属性 -->\r\n\t\t\t\t\t\t<component :is=\"hsExpand\" v-model=\"formItemConfig.baseConfig.visible\" :expandConfig=\"baseConfig.title\"></component>\r\n\t\t\t\t\t\t<!-- :config=\"index === 0 ? formItemConfig.baseConfig.list : formItemConfig.baseConfig2.list\" -->\r\n\t\t\t\t\t\t<component\r\n\t\t\t\t\t\t\tref=\"baseConfigRef\"\r\n\t\t\t\t\t\t\tv-show=\"formItemConfig.baseConfig.visible\"\r\n\t\t\t\t\t\t\t:parentConfig=\"parentConfig\"\r\n\t\t\t\t\t\t\t:is=\"'bc-form-config'\"\r\n\t\t\t\t\t\t\t:data=\"formItemConfig?.data.elementItem[index].baseData\"\r\n\t\t\t\t\t\t\t:config=\"index === 0 ? baseConfig.list : baseConfig2.list\"\r\n\t\t\t\t\t\t\t:rules=\"formBaseRule\"\r\n\t\t\t\t\t\t\t@change=\"(value: string, item: string) => onChange(value, item, index)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<template #prop>\r\n\t\t\t\t\t\t\t\t<bc-auto-complete\r\n\t\t\t\t\t\t\t\t\t:url=\"requestData.url\"\r\n\t\t\t\t\t\t\t\t\t:qry_key=\"requestData.qry_key\"\r\n\t\t\t\t\t\t\t\t\t:params=\"requestData.params\"\r\n\t\t\t\t\t\t\t\t\ttype=\"form\"\r\n\t\t\t\t\t\t\t\t\tv-model=\"formItemConfig.data.elementItem[index].baseData.prop\"\r\n\t\t\t\t\t\t\t\t\t@change=\"(value: RestaurantItem) => onChangeItem(value, index)\"\r\n\t\t\t\t\t\t\t\t></bc-auto-complete>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</component>\r\n\t\t\t\t\t\t<template v-if=\"formItemConfig?.data.elementItem[index].baseData.el\">\r\n\t\t\t\t\t\t\t<!-- 元素项属性 -->\r\n\t\t\t\t\t\t\t<component :is=\"hsExpand\" v-model=\"formItemConfig.elConfig.visible\" :expandConfig=\"formItemConfig.elConfig.title\"></component>\r\n\t\t\t\t\t\t\t<component\r\n\t\t\t\t\t\t\t\tv-if=\"formItemConfig.elConfig.visible\"\r\n\t\t\t\t\t\t\t\t:data=\"formItemConfig?.data.elementItem[index].elData\"\r\n\t\t\t\t\t\t\t\t:is=\"elComName[index]\"\r\n\t\t\t\t\t\t\t\tref=\"elRef\"\r\n\t\t\t\t\t\t\t\tisVModel\r\n\t\t\t\t\t\t\t></component>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</hs-tab-pane>\r\n\t\t\t\t</hs-tabs>\r\n\t\t\t</template>\r\n\t\t\t<template v-if=\"formItemConfig?.layoutConfig && (formItemConfig?.layoutConfig.list || []).length > 0\">\r\n\t\t\t\t<component :is=\"hsExpand\" v-model=\"formItemConfig.layoutConfig.visible\" :expandConfig=\"formItemConfig.layoutConfig.title\"></component>\r\n\t\t\t\t<component\r\n\t\t\t\t\tv-if=\"formItemConfig.layoutConfig.visible\"\r\n\t\t\t\t\t:parentConfig=\"parentConfig\"\r\n\t\t\t\t\t:is=\"'bc-form-config'\"\r\n\t\t\t\t\t:data=\"formItemConfig?.data.layoutData\"\r\n\t\t\t\t\t:config=\"formItemConfig?.layoutConfig.list\"\r\n\t\t\t\t/>\r\n\t\t\t</template>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"text-center grow-0\">\r\n\t\t\t<hs-button @click=\"saveData(editableTabsValue)\" type=\"primary\">保存</hs-button>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref, watch } from 'vue';\r\nimport hsExpand from '../../hsExpand/src/hsExpand.vue';\r\nimport { formBaseRule } from '../../../default/baseFormConfig';\r\nimport { useHsAttrForm } from './../useAttrForm';\r\nimport { baseConfig, baseConfig2 } from '../../../default/baseFormConfig';\r\ninterface RestaurantItem {\r\n\tfield_code: string;\r\n\tfield_name: string;\r\n\tjson_data: string;\r\n\tid: string;\r\n}\r\n\r\nconst props = defineProps({\r\n\tcurrent: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {},\r\n\t},\r\n\tdata: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {},\r\n\t},\r\n});\r\n// baseConfigRef是在循环中使用的,所以需要使用ref()包裹\r\nconst baseConfigRef = ref([]);\r\nconst { parentConfig, visible, formItemConfig, elComName, onChange, saveData, handleTabsEdit, requestData, onChangeItem, editableTabsValue } =\r\n\tuseHsAttrForm(props, baseConfigRef);\r\nwatch(\r\n\t() => props.current,\r\n\t(newVal, oldVal) => {\r\n\t\tif (newVal.id !== oldVal.id) {\r\n\t\t\teditableTabsValue.value = 0;\r\n\t\t}\r\n\t},\r\n\t{ deep: true }\r\n);\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n"],"names":["fieldConfig","useFieldConfigController","useHsAttrForm","props","baseConfigRef","oldItem","ref","formItemConfig","_","formData","elComName","editableTabsValue","watch","value","item","compConfig","parentConfig","visible","saveData","index","system","Session","obj","err","onChange","prop","typeName","handleTabsEdit","targetName","action","formItemChildConfig","requestData","onMounted","systemData","param","fieldData","__props","onChangeItem","newVal","oldVal"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsBtnConfigList-Bb1nm0Vy.js","sources":["../src/views/config/formSetting/components/hsBtn/useBtnConfigList.ts","../src/views/config/formSetting/components/hsBtn/src/hsBtnConfigList.vue"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { IFormTable } from '/@/types';\r\nimport { Ref, ModelRef } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport { btnItemConfig, emptyBtnItemData } from '../../default/baseBtnConfig';\r\n\r\nimport _ from 'lodash';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nexport function useHsBtnListConfig(\r\n\temit: (event: 'chose', ...args: any[]) => void,\r\n\tprops: any, // ComponentAttr.Props<typeof hsFormConfigList>,\r\n\tbtnsModel: ModelRef<IFormTable.BtnItem[] | undefined, string>\r\n) {\r\n\t// ModelRef<Array<IFormTable.BtnItem>>\r\n\t/**\r\n\t * 选择配置项\r\n\t * @param item\r\n\t */\r\n\tconst choseTagItem = (item: IFormTable.BtnItem) => {\r\n\t\t// 获取操作项\r\n\t\tlet current = item.id == props.current?.id ? _.cloneDeep(emptyBtnItemData) : item;\r\n\t\temit('chose', current);\r\n\t};\r\n\t/**\r\n\t * 添加字段\r\n\t * @returns\r\n\t */\r\n\tconst appendField = () => {\r\n\t\t// 用时间戳设置唯一id\r\n\t\tlet defaultItemConfig: IFormTable.BtnItem = _.cloneDeep(btnItemConfig);\r\n\t\tdefaultItemConfig.id = uuidv4();\r\n\t\t// 追加字段配置项\r\n\t\tbtnsModel.value!.push(defaultItemConfig);\r\n\t\t// 获取新增的配置对象\r\n\t\tlet obj = btnsModel.value![btnsModel.value!.length - 1]; // || _.cloneDeep(emptyBtnItemData);\r\n\t\t// 设置默认选中\r\n\t\tchoseTagItem(obj);\r\n\t};\r\n\r\n\t/**\r\n\t * 删除配置\r\n\t * @param item\r\n\t */\r\n\tconst deleteTagItem = (item: IFormTable.BtnItem) => {\r\n\t\tElMessageBox.confirm(`确定删除“${item['data'] && item['data']['name']}”字段吗?`, '提示', {\r\n\t\t\tconfirmButtonText: '确认',\r\n\t\t\tcancelButtonText: '取消',\r\n\t\t\ttype: 'warning',\r\n\t\t})\r\n\t\t\t.then(() => {\r\n\t\t\t\t// 获取被删除的配置所在id\r\n\t\t\t\t_.remove(btnsModel.value || [], item);\r\n\t\t\t\t// 更新当前选中配置\r\n\t\t\t\tchoseTagItem(item);\r\n\t\t\t\t// 给出操作成功提示\r\n\t\t\t\tElMessage.success('删除成功');\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log('err', err);\r\n\t\t\t});\r\n\t};\r\n\r\n\treturn {\r\n\t\tchoseTagItem,\r\n\t\tappendField,\r\n\t\tdeleteTagItem,\r\n\t};\r\n}\r\n","<!-- \r\n desc: 表单配置项集合\r\n author: lvling\r\n -->\r\n<template>\r\n\t<div>\r\n\t\t<VueDraggable ref=\"dragRef\" class=\"flex flex-wrap\" handle=\".drag-item\" ghostClass=\"ghost\" v-model=\"btnsModel!\" :animation=\"150\">\r\n\t\t\t<div class=\"drag-item p-2 relative\" v-for=\"(item, index) in btnsModel\" :key=\"item['id']\" @click=\"choseTagItem(item)\">\r\n\t\t\t\t<div class=\"border border-solid border-zinc-300 hover:bg-blue-200 p-2 rounded\" :class=\"current['id'] == item['id'] ? 'bg-blue-200' : ''\">\r\n\t\t\t\t\t{{ item['data'] && item['data']['name'] }}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div\r\n\t\t\t\t\tv-if=\"current['id'] == item['id']\"\r\n\t\t\t\t\t@click.stop.prevent=\"deleteTagItem(item)\"\r\n\t\t\t\t\tstyle=\"position: absolute; top: 0px; right: 5px; cursor: pointer\"\r\n\t\t\t\t>\r\n\t\t\t\t\t✖️\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"p-2\">\r\n\t\t\t\t<div @click=\"appendField\" class=\"p-2 bg-pink-200 w-10 h-10 flex justify-center align-center rounded-full\">+</div>\r\n\t\t\t</div>\r\n\t\t</VueDraggable>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref, PropType, defineModel } from 'vue';\r\nimport { useHsBtnListConfig } from './../useBtnConfigList';\r\nimport { IFormTable } from '/@/types';\r\nimport { type UseDraggableReturn, VueDraggable } from 'vue-draggable-plus';\r\nconst dragRef = ref<UseDraggableReturn>();\r\n\r\nconst emit = defineEmits(['chose']);\r\n\r\nconst btnsModel = defineModel<Array<IFormTable.BtnItem>>();\r\nconst props = defineProps({\r\n\tcurrent: {\r\n\t\ttype: Object as PropType<Record<'id', string>>,\r\n\t\tdefault: () => {},\r\n\t},\r\n});\r\n\r\nconst { appendField, deleteTagItem, choseTagItem } = useHsBtnListConfig(emit, props, btnsModel);\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.ghost {\r\n\topacity: 0.5;\r\n\tbackground: #c8ebfb;\r\n}\r\n</style>\r\n"],"names":["useHsBtnListConfig","emit","props","btnsModel","choseTagItem","item","current","_a","_","emptyBtnItemData","defaultItemConfig","btnItemConfig","uuidv4","obj","ElMessageBox","ElMessage","err","dragRef","ref","__emit","_useModel","__props","appendField","deleteTagItem"],"mappings":"iLAQgB,SAAAA,EACfC,EACAC,EACAC,EACC,CAMK,MAAAC,EAAgBC,GAA6B,OAE9C,IAAAC,EAAUD,EAAK,MAAME,EAAAL,EAAM,UAAN,YAAAK,EAAe,IAAKC,IAAE,UAAUC,EAAgB,gBAAA,EAAIJ,EAC7EJ,EAAK,QAASK,CAAO,CAAA,EAyCf,MAAA,CACN,aAAAF,EACA,YArCmB,IAAM,CAErB,IAAAM,EAAwCF,EAAAA,EAAE,UAAUG,EAAa,aAAA,EACrED,EAAkB,GAAKE,EAAAA,KAEbT,EAAA,MAAO,KAAKO,CAAiB,EAEvC,IAAIG,EAAMV,EAAU,MAAOA,EAAU,MAAO,OAAS,CAAC,EAEtDC,EAAaS,CAAG,CAAA,EA6BhB,cAtBsBR,GAA6B,CACtCS,EAAAA,aAAA,QAAQ,QAAQT,EAAK,MAAWA,EAAK,KAAQ,IAAO,QAAS,KAAM,CAC/E,kBAAmB,KACnB,iBAAkB,KAClB,KAAM,SAAA,CACN,EACC,KAAK,IAAM,CAEXG,EAAA,EAAE,OAAOL,EAAU,OAAS,GAAIE,CAAI,EAEpCD,EAAaC,CAAI,EAEjBU,YAAU,QAAQ,MAAM,CAAA,CACxB,EACA,MAAOC,GAAQ,CACP,QAAA,IAAI,MAAOA,CAAG,CAAA,CACtB,CAAA,CAMF,CAEF,sQCpCA,MAAMC,EAAUC,EAAAA,MAEVjB,EAAOkB,EAEPhB,EAAYiB,EAAAA,SAAsCC,EAAA,YAAC,EACnDnB,EAAQmB,EAOR,CAAE,YAAAC,EAAa,cAAAC,EAAe,aAAAnB,CAAA,EAAiBJ,EAAmBC,EAAMC,EAAOC,CAAS"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsBtnConfigList-Bren_Fd3.mjs","sources":["../src/views/config/formSetting/components/hsBtn/useBtnConfigList.ts","../src/views/config/formSetting/components/hsBtn/src/hsBtnConfigList.vue"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { IFormTable } from '/@/types';\r\nimport { Ref, ModelRef } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport { btnItemConfig, emptyBtnItemData } from '../../default/baseBtnConfig';\r\n\r\nimport _ from 'lodash';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nexport function useHsBtnListConfig(\r\n\temit: (event: 'chose', ...args: any[]) => void,\r\n\tprops: any, // ComponentAttr.Props<typeof hsFormConfigList>,\r\n\tbtnsModel: ModelRef<IFormTable.BtnItem[] | undefined, string>\r\n) {\r\n\t// ModelRef<Array<IFormTable.BtnItem>>\r\n\t/**\r\n\t * 选择配置项\r\n\t * @param item\r\n\t */\r\n\tconst choseTagItem = (item: IFormTable.BtnItem) => {\r\n\t\t// 获取操作项\r\n\t\tlet current = item.id == props.current?.id ? _.cloneDeep(emptyBtnItemData) : item;\r\n\t\temit('chose', current);\r\n\t};\r\n\t/**\r\n\t * 添加字段\r\n\t * @returns\r\n\t */\r\n\tconst appendField = () => {\r\n\t\t// 用时间戳设置唯一id\r\n\t\tlet defaultItemConfig: IFormTable.BtnItem = _.cloneDeep(btnItemConfig);\r\n\t\tdefaultItemConfig.id = uuidv4();\r\n\t\t// 追加字段配置项\r\n\t\tbtnsModel.value!.push(defaultItemConfig);\r\n\t\t// 获取新增的配置对象\r\n\t\tlet obj = btnsModel.value![btnsModel.value!.length - 1]; // || _.cloneDeep(emptyBtnItemData);\r\n\t\t// 设置默认选中\r\n\t\tchoseTagItem(obj);\r\n\t};\r\n\r\n\t/**\r\n\t * 删除配置\r\n\t * @param item\r\n\t */\r\n\tconst deleteTagItem = (item: IFormTable.BtnItem) => {\r\n\t\tElMessageBox.confirm(`确定删除“${item['data'] && item['data']['name']}”字段吗?`, '提示', {\r\n\t\t\tconfirmButtonText: '确认',\r\n\t\t\tcancelButtonText: '取消',\r\n\t\t\ttype: 'warning',\r\n\t\t})\r\n\t\t\t.then(() => {\r\n\t\t\t\t// 获取被删除的配置所在id\r\n\t\t\t\t_.remove(btnsModel.value || [], item);\r\n\t\t\t\t// 更新当前选中配置\r\n\t\t\t\tchoseTagItem(item);\r\n\t\t\t\t// 给出操作成功提示\r\n\t\t\t\tElMessage.success('删除成功');\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log('err', err);\r\n\t\t\t});\r\n\t};\r\n\r\n\treturn {\r\n\t\tchoseTagItem,\r\n\t\tappendField,\r\n\t\tdeleteTagItem,\r\n\t};\r\n}\r\n","<!-- \r\n desc: 表单配置项集合\r\n author: lvling\r\n -->\r\n<template>\r\n\t<div>\r\n\t\t<VueDraggable ref=\"dragRef\" class=\"flex flex-wrap\" handle=\".drag-item\" ghostClass=\"ghost\" v-model=\"btnsModel!\" :animation=\"150\">\r\n\t\t\t<div class=\"drag-item p-2 relative\" v-for=\"(item, index) in btnsModel\" :key=\"item['id']\" @click=\"choseTagItem(item)\">\r\n\t\t\t\t<div class=\"border border-solid border-zinc-300 hover:bg-blue-200 p-2 rounded\" :class=\"current['id'] == item['id'] ? 'bg-blue-200' : ''\">\r\n\t\t\t\t\t{{ item['data'] && item['data']['name'] }}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div\r\n\t\t\t\t\tv-if=\"current['id'] == item['id']\"\r\n\t\t\t\t\t@click.stop.prevent=\"deleteTagItem(item)\"\r\n\t\t\t\t\tstyle=\"position: absolute; top: 0px; right: 5px; cursor: pointer\"\r\n\t\t\t\t>\r\n\t\t\t\t\t✖️\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"p-2\">\r\n\t\t\t\t<div @click=\"appendField\" class=\"p-2 bg-pink-200 w-10 h-10 flex justify-center align-center rounded-full\">+</div>\r\n\t\t\t</div>\r\n\t\t</VueDraggable>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref, PropType, defineModel } from 'vue';\r\nimport { useHsBtnListConfig } from './../useBtnConfigList';\r\nimport { IFormTable } from '/@/types';\r\nimport { type UseDraggableReturn, VueDraggable } from 'vue-draggable-plus';\r\nconst dragRef = ref<UseDraggableReturn>();\r\n\r\nconst emit = defineEmits(['chose']);\r\n\r\nconst btnsModel = defineModel<Array<IFormTable.BtnItem>>();\r\nconst props = defineProps({\r\n\tcurrent: {\r\n\t\ttype: Object as PropType<Record<'id', string>>,\r\n\t\tdefault: () => {},\r\n\t},\r\n});\r\n\r\nconst { appendField, deleteTagItem, choseTagItem } = useHsBtnListConfig(emit, props, btnsModel);\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.ghost {\r\n\topacity: 0.5;\r\n\tbackground: #c8ebfb;\r\n}\r\n</style>\r\n"],"names":["useHsBtnListConfig","emit","props","btnsModel","choseTagItem","item","current","_a","_","emptyBtnItemData","defaultItemConfig","btnItemConfig","uuidv4","obj","ElMessageBox","ElMessage","err","dragRef","ref","__emit","_useModel","__props","appendField","deleteTagItem"],"mappings":";;;AAQgB,SAAAA,EACfC,GACAC,GACAC,GACC;AAMK,QAAAC,IAAe,CAACC,MAA6B;;AAE9C,QAAAC,IAAUD,EAAK,QAAME,IAAAL,EAAM,YAAN,gBAAAK,EAAe,MAAKC,EAAE,UAAUC,CAAgB,IAAIJ;AAC7E,IAAAJ,EAAK,SAASK,CAAO;AAAA,EAAA;AAyCf,SAAA;AAAA,IACN,cAAAF;AAAA,IACA,aArCmB,MAAM;AAErB,UAAAM,IAAwCF,EAAE,UAAUG,CAAa;AACrE,MAAAD,EAAkB,KAAKE,KAEbT,EAAA,MAAO,KAAKO,CAAiB;AAEvC,UAAIG,IAAMV,EAAU,MAAOA,EAAU,MAAO,SAAS,CAAC;AAEtD,MAAAC,EAAaS,CAAG;AAAA,IAAA;AAAA,IA6BhB,eAtBqB,CAACR,MAA6B;AACtC,MAAAS,EAAA,QAAQ,QAAQT,EAAK,QAAWA,EAAK,KAAQ,IAAO,SAAS,MAAM;AAAA,QAC/E,mBAAmB;AAAA,QACnB,kBAAkB;AAAA,QAClB,MAAM;AAAA,MAAA,CACN,EACC,KAAK,MAAM;AAEX,QAAAG,EAAE,OAAOL,EAAU,SAAS,IAAIE,CAAI,GAEpCD,EAAaC,CAAI,GAEjBU,EAAU,QAAQ,MAAM;AAAA,MAAA,CACxB,EACA,MAAM,CAACC,MAAQ;AACP,gBAAA,IAAI,OAAOA,CAAG;AAAA,MAAA,CACtB;AAAA,IAAA;AAAA,EAMF;AAEF;;;;;;;;;;;;;;;ACpCA,UAAMC,IAAUC,KAEVjB,IAAOkB,GAEPhB,IAAYiB,EAAsCC,GAAA,YAAC,GACnDnB,IAAQmB,GAOR,EAAE,aAAAC,GAAa,eAAAC,GAAe,cAAAnB,EAAA,IAAiBJ,EAAmBC,GAAMC,GAAOC,CAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsBtnItemConfig-BCJqmO3A.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsBtnItemConfig-CzRP7rGc.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsBtnItemConfig.vue_vue_type_script_setup_true_lang-DS7PtHA3.js","sources":["../src/views/config/formSetting/components/hsBtn/useBtnItemConfig.ts","../src/views/config/formSetting/components/hsBtn/src/hsBtnItemConfig.vue"],"sourcesContent":["import { ref, Ref, onMounted } from 'vue';\r\nimport { IFormData } from '/@/types';\r\nimport _ from 'lodash';\r\nimport { Session } from '/@/utils/storage';\r\ninterface hsBtnItemConfig {\r\n\tgetSubmitData: () => boolean;\r\n}\r\ninterface RestaurantItem {\r\n\tid: string;\r\n\tfield_code: string;\r\n\tfield_name: string;\r\n\tjson_data: string;\r\n}\r\nexport function useHsBtnItemConfig(data: Record<string, IFormData.Data>, baseConfigRef: Ref<hsBtnItemConfig>) {\r\n\t// 表单配置项\r\n\tconst parentConfig = ref({\r\n\t\tlabelWidth: 150,\r\n\t\tspan: 24,\r\n\t\tminWidth: 350,\r\n\t\tstyle: 'padding:5px 10px',\r\n\t});\r\n\r\n\t// ======================================================================== 自动完成 start ================================================================\r\n\r\n\tlet requestData = ref({\r\n\t\turl: '/scmp-web/pri/btn_config/get_btn_config_page_list',\r\n\t\tvalue_key: 'btn_label',\r\n\t\tparams: {\r\n\t\t\t// field_type: '1', // 【1按钮 2查询条件 3表格】\r\n\t\t\tbtn_name: '',\r\n\t\t\tproject_code: '', // sysData.project_code || '',\r\n\t\t},\r\n\t\tqry_key: 'btn_name',\r\n\t});\r\n\r\n\tonMounted(() => {\r\n\t\t// 根据缓存中的系统数据,赋值请求地址和参数\r\n\t\tlet systemData = Session.get('CURRENT_SYSTEM');\r\n\t\t// 请求参数赋值\r\n\t\tlet param = requestData.value.params;\r\n\t\tparam.project_code = systemData.project_code || '';\r\n\t\t// 请求地址赋值\r\n\t\trequestData.value = _.assign(requestData.value, {\r\n\t\t\tparams: param,\r\n\t\t});\r\n\t});\r\n\r\n\t/**\r\n\t * 切换选择按钮事件\r\n\t * @param item\r\n\t */\r\n\tconst onChangeItem = (item: RestaurantItem) => {\r\n\t\t// \t赋值属性值,并把字段池id赋值给field_id【方便单项保存字段池的时候,判断是否存在field_id, 如果不存在则调用保存字段池的方法】\r\n\t\tdata.value = _.assign(data.value, JSON.parse(item.json_data), { field_id: item.id });\r\n\t\tconsole.debug('handleSelect', data.value);\r\n\t};\r\n\t// ======================================================================== 自动完成 end ==================================================================\r\n\tconst getSubmitData = async () => {\r\n\t\tlet flag = await baseConfigRef.value.getSubmitData();\r\n\t\treturn flag;\r\n\t};\r\n\treturn { parentConfig, requestData, onChangeItem, getSubmitData };\r\n}\r\n","<template>\r\n\t<component ref=\"baseConfigRef\" :parentConfig=\"parentConfig\" :is=\"'bc-form-config'\" :data=\"data\" :config=\"config.list\" :rules=\"config.rules\">\r\n\t\t<template #key>\r\n\t\t\t<bc-auto-complete\r\n\t\t\t\t:url=\"requestData.url\"\r\n\t\t\t\t:qry_key=\"requestData.qry_key\"\r\n\t\t\t\t:params=\"requestData.params\"\r\n\t\t\t\ttype=\"btn\"\r\n\t\t\t\tv-model=\"data.key\"\r\n\t\t\t\t@change=\"onChangeItem\"\r\n\t\t\t\t:value_key=\"requestData.value_key\"\r\n\t\t\t></bc-auto-complete>\r\n\t\t</template>\r\n\t\t<template #btnIcon>\r\n\t\t\t<IconSelector placeholder=\"请选择图标\" clearable :isShowPrepend=\"false\" v-model=\"data.btnIcon\" title=\"\" />\r\n\t\t</template>\r\n\t</component>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\n\r\nimport IconSelector from '/@/components/iconSelector/index.vue';\r\nimport { useHsBtnItemConfig } from './../useBtnItemConfig';\r\n// const props =\r\ndefineProps({\r\n\tconfig: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {},\r\n\t},\r\n});\r\n\r\nconst data: Record<string, any> = defineModel();\r\nconst baseConfigRef = ref();\r\n// let sysData = Session.get('CURRENT_SYSTEM');\r\n\r\nconst { parentConfig, requestData, onChangeItem, getSubmitData } = useHsBtnItemConfig(data, baseConfigRef);\r\n\r\ndefineExpose({ getSubmitData });\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n"],"names":["useHsBtnItemConfig","data","baseConfigRef","parentConfig","ref","requestData","onMounted","systemData","Session","param","_","item","_useModel","__props","onChangeItem","getSubmitData","__expose"],"mappings":"qEAagB,SAAAA,EAAmBC,EAAsCC,EAAqC,CAE7G,MAAMC,EAAeC,EAAAA,IAAI,CACxB,WAAY,IACZ,KAAM,GACN,SAAU,IACV,MAAO,kBAAA,CACP,EAID,IAAIC,EAAcD,EAAAA,IAAI,CACrB,IAAK,oDACL,UAAW,YACX,OAAQ,CAEP,SAAU,GACV,aAAc,EACf,EACA,QAAS,UAAA,CACT,EAEDE,OAAAA,EAAAA,UAAU,IAAM,CAEX,IAAAC,EAAaC,EAAAA,QAAQ,IAAI,gBAAgB,EAEzCC,EAAQJ,EAAY,MAAM,OACxBI,EAAA,aAAeF,EAAW,cAAgB,GAEhDF,EAAY,MAAQK,EAAAA,EAAE,OAAOL,EAAY,MAAO,CAC/C,OAAQI,CAAA,CACR,CAAA,CACD,EAgBM,CAAE,aAAAN,EAAc,YAAAE,EAAa,aAVdM,GAAyB,CAE9CV,EAAK,MAAQS,EAAA,EAAE,OAAOT,EAAK,MAAO,KAAK,MAAMU,EAAK,SAAS,EAAG,CAAE,SAAUA,EAAK,GAAI,EAC3E,QAAA,MAAM,eAAgBV,EAAK,KAAK,CAAA,EAOS,cAJ5B,SACV,MAAMC,EAAc,MAAM,cAAc,CAGY,CACjE,kMC9BM,MAAAD,EAA4BW,EAAAA,SAAYC,EAAA,YAAA,EACxCX,EAAgBE,EAAAA,MAGhB,CAAE,aAAAD,EAAc,YAAAE,EAAa,aAAAS,EAAc,cAAAC,GAAkBf,EAAmBC,EAAMC,CAAa,EAE5F,OAAAc,EAAA,CAAE,cAAAD,EAAe"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsBtnItemConfig.vue_vue_type_script_setup_true_lang-DvQ5Sm0Z.mjs","sources":["../src/views/config/formSetting/components/hsBtn/useBtnItemConfig.ts","../src/views/config/formSetting/components/hsBtn/src/hsBtnItemConfig.vue"],"sourcesContent":["import { ref, Ref, onMounted } from 'vue';\r\nimport { IFormData } from '/@/types';\r\nimport _ from 'lodash';\r\nimport { Session } from '/@/utils/storage';\r\ninterface hsBtnItemConfig {\r\n\tgetSubmitData: () => boolean;\r\n}\r\ninterface RestaurantItem {\r\n\tid: string;\r\n\tfield_code: string;\r\n\tfield_name: string;\r\n\tjson_data: string;\r\n}\r\nexport function useHsBtnItemConfig(data: Record<string, IFormData.Data>, baseConfigRef: Ref<hsBtnItemConfig>) {\r\n\t// 表单配置项\r\n\tconst parentConfig = ref({\r\n\t\tlabelWidth: 150,\r\n\t\tspan: 24,\r\n\t\tminWidth: 350,\r\n\t\tstyle: 'padding:5px 10px',\r\n\t});\r\n\r\n\t// ======================================================================== 自动完成 start ================================================================\r\n\r\n\tlet requestData = ref({\r\n\t\turl: '/scmp-web/pri/btn_config/get_btn_config_page_list',\r\n\t\tvalue_key: 'btn_label',\r\n\t\tparams: {\r\n\t\t\t// field_type: '1', // 【1按钮 2查询条件 3表格】\r\n\t\t\tbtn_name: '',\r\n\t\t\tproject_code: '', // sysData.project_code || '',\r\n\t\t},\r\n\t\tqry_key: 'btn_name',\r\n\t});\r\n\r\n\tonMounted(() => {\r\n\t\t// 根据缓存中的系统数据,赋值请求地址和参数\r\n\t\tlet systemData = Session.get('CURRENT_SYSTEM');\r\n\t\t// 请求参数赋值\r\n\t\tlet param = requestData.value.params;\r\n\t\tparam.project_code = systemData.project_code || '';\r\n\t\t// 请求地址赋值\r\n\t\trequestData.value = _.assign(requestData.value, {\r\n\t\t\tparams: param,\r\n\t\t});\r\n\t});\r\n\r\n\t/**\r\n\t * 切换选择按钮事件\r\n\t * @param item\r\n\t */\r\n\tconst onChangeItem = (item: RestaurantItem) => {\r\n\t\t// \t赋值属性值,并把字段池id赋值给field_id【方便单项保存字段池的时候,判断是否存在field_id, 如果不存在则调用保存字段池的方法】\r\n\t\tdata.value = _.assign(data.value, JSON.parse(item.json_data), { field_id: item.id });\r\n\t\tconsole.debug('handleSelect', data.value);\r\n\t};\r\n\t// ======================================================================== 自动完成 end ==================================================================\r\n\tconst getSubmitData = async () => {\r\n\t\tlet flag = await baseConfigRef.value.getSubmitData();\r\n\t\treturn flag;\r\n\t};\r\n\treturn { parentConfig, requestData, onChangeItem, getSubmitData };\r\n}\r\n","<template>\r\n\t<component ref=\"baseConfigRef\" :parentConfig=\"parentConfig\" :is=\"'bc-form-config'\" :data=\"data\" :config=\"config.list\" :rules=\"config.rules\">\r\n\t\t<template #key>\r\n\t\t\t<bc-auto-complete\r\n\t\t\t\t:url=\"requestData.url\"\r\n\t\t\t\t:qry_key=\"requestData.qry_key\"\r\n\t\t\t\t:params=\"requestData.params\"\r\n\t\t\t\ttype=\"btn\"\r\n\t\t\t\tv-model=\"data.key\"\r\n\t\t\t\t@change=\"onChangeItem\"\r\n\t\t\t\t:value_key=\"requestData.value_key\"\r\n\t\t\t></bc-auto-complete>\r\n\t\t</template>\r\n\t\t<template #btnIcon>\r\n\t\t\t<IconSelector placeholder=\"请选择图标\" clearable :isShowPrepend=\"false\" v-model=\"data.btnIcon\" title=\"\" />\r\n\t\t</template>\r\n\t</component>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\n\r\nimport IconSelector from '/@/components/iconSelector/index.vue';\r\nimport { useHsBtnItemConfig } from './../useBtnItemConfig';\r\n// const props =\r\ndefineProps({\r\n\tconfig: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {},\r\n\t},\r\n});\r\n\r\nconst data: Record<string, any> = defineModel();\r\nconst baseConfigRef = ref();\r\n// let sysData = Session.get('CURRENT_SYSTEM');\r\n\r\nconst { parentConfig, requestData, onChangeItem, getSubmitData } = useHsBtnItemConfig(data, baseConfigRef);\r\n\r\ndefineExpose({ getSubmitData });\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n"],"names":["useHsBtnItemConfig","data","baseConfigRef","parentConfig","ref","requestData","onMounted","systemData","Session","param","_","item","_useModel","__props","onChangeItem","getSubmitData","__expose"],"mappings":";;AAagB,SAAAA,EAAmBC,GAAsCC,GAAqC;AAE7G,QAAMC,IAAeC,EAAI;AAAA,IACxB,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,UAAU;AAAA,IACV,OAAO;AAAA,EAAA,CACP;AAID,MAAIC,IAAcD,EAAI;AAAA,IACrB,KAAK;AAAA,IACL,WAAW;AAAA,IACX,QAAQ;AAAA;AAAA,MAEP,UAAU;AAAA,MACV,cAAc;AAAA;AAAA,IACf;AAAA,IACA,SAAS;AAAA,EAAA,CACT;AAED,SAAAE,EAAU,MAAM;AAEX,QAAAC,IAAaC,EAAQ,IAAI,gBAAgB,GAEzCC,IAAQJ,EAAY,MAAM;AACxB,IAAAI,EAAA,eAAeF,EAAW,gBAAgB,IAEhDF,EAAY,QAAQK,EAAE,OAAOL,EAAY,OAAO;AAAA,MAC/C,QAAQI;AAAA,IAAA,CACR;AAAA,EAAA,CACD,GAgBM,EAAE,cAAAN,GAAc,aAAAE,GAAa,cAVf,CAACM,MAAyB;AAE9C,IAAAV,EAAK,QAAQS,EAAE,OAAOT,EAAK,OAAO,KAAK,MAAMU,EAAK,SAAS,GAAG,EAAE,UAAUA,EAAK,IAAI,GAC3E,QAAA,MAAM,gBAAgBV,EAAK,KAAK;AAAA,EAAA,GAOS,eAJ5B,YACV,MAAMC,EAAc,MAAM,cAAc,EAGY;AACjE;;;;;;;;;;;;;;;AC9BM,UAAAD,IAA4BW,EAAYC,GAAA,YAAA,GACxCX,IAAgBE,KAGhB,EAAE,cAAAD,GAAc,aAAAE,GAAa,cAAAS,GAAc,eAAAC,MAAkBf,EAAmBC,GAAMC,CAAa;AAE5F,WAAAc,EAAA,EAAE,eAAAD,GAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsBtnPanel-CUhnhH9S.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsBtnPanel-D-Y2DAWc.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsBtnPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CFWt1cBu.js","sources":["../src/views/config/formSetting/components/hsBtn/src/hsBtnPanel.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nexport default defineComponent({\n name: \"formPanel\",\n \n})\n</script>\n<!-- \r\n\tdesc: 配置按钮面板\r\n\tauthor: 吕玲\r\n -->\r\n<template>\r\n\t<div class=\"mx-auto flex flex-row h-full\">\r\n\t\t<div class=\"flex-1 grow overflow-y-auto\">\r\n\t\t\t<!-- 按钮配置 -->\r\n\t\t\t<hsExpand v-model=\"btnTitleConfig.visible\" :expandConfig=\"btnTitleConfig\" v-model:data=\"btnsConfig\" popover type=\"buttonConfig\"></hsExpand>\r\n\t\t\t<component v-if=\"btnTitleConfig.visible\" :is=\"hsBtnConfigList\" v-model=\"btnsConfig\" :current=\"currentItem\" @chose=\"onChoseItem\"></component>\r\n\t\t</div>\r\n\t\t<div v-if=\"(btnsConfig || []).length > 0 && !!currentItem.id\" class=\"flex-none basis-1/4 ml-4\">\r\n\t\t\t<component :is=\"hsAttrBtn\" :btnList=\"btnsConfig\" :current=\"currentItem\"></component>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script setup lang=\"ts\" name=\"formPanel\">\r\nimport { defineModel, ref } from 'vue';\r\nimport hsBtnConfigList from './hsBtnConfigList.vue';\r\nimport hsAttrBtn from './hsAttrBtn.vue';\r\nimport hsExpand from '../../hsExpand/src/hsExpand.vue';\r\nimport { IFormTable } from '/@/types';\r\nimport { emptyBtnItemData } from './../../../default/baseBtnConfig';\r\n\r\nimport _ from 'lodash';\r\n\r\nconst btnsConfig = defineModel<Array<IFormTable.BtnItem>>();\r\nconst btnTitleConfig = ref({\r\n\tvisible: true,\r\n\tsubTitle: '按钮配置',\r\n\tclass: 'font-bold my-3',\r\n\ticonSize: 20,\r\n});\r\n// 当前选中项配置\r\nlet currentItem = ref(_.cloneDeep(emptyBtnItemData));\r\n\r\n/**\r\n * 选择某配置回调\r\n */\r\nconst onChoseItem = (item: IFormTable.BtnItem) => {\r\n\tcurrentItem.value = item;\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n"],"names":["__default__","defineComponent","btnsConfig","_useModel","__props","btnTitleConfig","ref","currentItem","_","emptyBtnItemData","onChoseItem","item"],"mappings":"saAEAA,EAAeC,EAAAA,gBAAgB,CAC7B,KAAM,WAER,CAAC,yGA4BK,MAAAC,EAAaC,EAAAA,SAAsCC,EAAA,YAAC,EACpDC,EAAiBC,EAAAA,IAAI,CAC1B,QAAS,GACT,SAAU,OACV,MAAO,iBACP,SAAU,EAAA,CACV,EAED,IAAIC,EAAcD,EAAAA,IAAIE,EAAAA,EAAE,UAAUC,EAAAA,gBAAgB,CAAC,EAK7C,MAAAC,EAAeC,GAA6B,CACjDJ,EAAY,MAAQI,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsBtnPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CWd8hS5v.mjs","sources":["../src/views/config/formSetting/components/hsBtn/src/hsBtnPanel.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nexport default defineComponent({\n name: \"formPanel\",\n \n})\n</script>\n<!-- \r\n\tdesc: 配置按钮面板\r\n\tauthor: 吕玲\r\n -->\r\n<template>\r\n\t<div class=\"mx-auto flex flex-row h-full\">\r\n\t\t<div class=\"flex-1 grow overflow-y-auto\">\r\n\t\t\t<!-- 按钮配置 -->\r\n\t\t\t<hsExpand v-model=\"btnTitleConfig.visible\" :expandConfig=\"btnTitleConfig\" v-model:data=\"btnsConfig\" popover type=\"buttonConfig\"></hsExpand>\r\n\t\t\t<component v-if=\"btnTitleConfig.visible\" :is=\"hsBtnConfigList\" v-model=\"btnsConfig\" :current=\"currentItem\" @chose=\"onChoseItem\"></component>\r\n\t\t</div>\r\n\t\t<div v-if=\"(btnsConfig || []).length > 0 && !!currentItem.id\" class=\"flex-none basis-1/4 ml-4\">\r\n\t\t\t<component :is=\"hsAttrBtn\" :btnList=\"btnsConfig\" :current=\"currentItem\"></component>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script setup lang=\"ts\" name=\"formPanel\">\r\nimport { defineModel, ref } from 'vue';\r\nimport hsBtnConfigList from './hsBtnConfigList.vue';\r\nimport hsAttrBtn from './hsAttrBtn.vue';\r\nimport hsExpand from '../../hsExpand/src/hsExpand.vue';\r\nimport { IFormTable } from '/@/types';\r\nimport { emptyBtnItemData } from './../../../default/baseBtnConfig';\r\n\r\nimport _ from 'lodash';\r\n\r\nconst btnsConfig = defineModel<Array<IFormTable.BtnItem>>();\r\nconst btnTitleConfig = ref({\r\n\tvisible: true,\r\n\tsubTitle: '按钮配置',\r\n\tclass: 'font-bold my-3',\r\n\ticonSize: 20,\r\n});\r\n// 当前选中项配置\r\nlet currentItem = ref(_.cloneDeep(emptyBtnItemData));\r\n\r\n/**\r\n * 选择某配置回调\r\n */\r\nconst onChoseItem = (item: IFormTable.BtnItem) => {\r\n\tcurrentItem.value = item;\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n"],"names":["__default__","defineComponent","btnsConfig","_useModel","__props","btnTitleConfig","ref","currentItem","_","emptyBtnItemData","onChoseItem","item"],"mappings":";;;;;;;;;GAEAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAER,CAAC;;;;;;;;AA4BK,UAAAC,IAAaC,EAAsCC,GAAA,YAAC,GACpDC,IAAiBC,EAAI;AAAA,MAC1B,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,IAAA,CACV;AAED,QAAIC,IAAcD,EAAIE,EAAE,UAAUC,CAAgB,CAAC;AAK7C,UAAAC,IAAc,CAACC,MAA6B;AACjD,MAAAJ,EAAY,QAAQI;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsExpand-DIo3Lfqs.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsExpand-MS4CSl__.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsExpand.vue_vue_type_script_setup_true_lang-C0tRMdLr.mjs","sources":["../src/views/config/formSetting/components/hsExpand/useExpand.ts","../src/views/config/formSetting/components/hsExpand/src/hsExpand.vue"],"sourcesContent":["import _ from 'lodash';\r\nexport function useExpand(visible: any) {\r\n\tconst toggleExpand = () => {\r\n\t\tvisible.value = !visible.value;\r\n\t};\r\n\treturn {\r\n\t\ttoggleExpand,\r\n\t};\r\n}\r\n","<template>\r\n\t<el-popover placement=\"top-end\" width=\"auto\" trigger=\"hover\" v-if=\"popover && type\">\r\n\t\t<div class=\"flex h-full\">\r\n\t\t\t<hs-button size=\"small\" round @click=\"copyConfig\">复制配置</hs-button>\r\n\t\t\t<hs-button size=\"small\" round @click=\"pasteConfig\">粘贴配置</hs-button>\r\n\t\t\t<hs-button size=\"small\" round @click=\"restoreConfig\">还原配置</hs-button>\r\n\t\t</div>\r\n\t\t<template #reference>\r\n\t\t\t<div @click=\"toggleExpand\" class=\"flex align-center cursor-pointer hover:bg-red-200\" :class=\"expandConfig.class\">\r\n\t\t\t\t<svgIcon class=\"pt-1\" :name=\"visible ? 'ele-CaretBottom' : 'ele-CaretRight'\" :size=\"expandConfig.iconSize || 18\"></svgIcon>\r\n\t\t\t\t<div>{{ expandConfig['subTitle'] }}</div>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</el-popover>\r\n\t<div v-else @click=\"toggleExpand\" class=\"flex align-center cursor-pointer hover:bg-red-200\" :class=\"expandConfig.class\">\r\n\t\t<svgIcon class=\"pt-1\" :name=\"visible ? 'ele-CaretBottom' : 'ele-CaretRight'\" :size=\"expandConfig.iconSize || 18\"></svgIcon>\r\n\t\t<div>{{ expandConfig['subTitle'] }}</div>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { defineModel, ref, Ref } from 'vue';\r\nimport { useExpand } from '../useExpand';\r\nimport { propsType } from '../type';\r\nimport { ICustomData } from '/@/types';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport { Session } from '/@/utils/storage';\r\nimport _ from 'lodash';\r\n\r\nconst props: propsType = defineProps({\r\n\texpandConfig: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {\r\n\t\t\treturn {\r\n\t\t\t\ticonSize: 18,\r\n\t\t\t\tsubTitle: '',\r\n\t\t\t\tclass: '',\r\n\t\t\t};\r\n\t\t},\r\n\t},\r\n\t// 是否启用popover\r\n\tpopover: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false,\r\n\t},\r\n\tdata: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {},\r\n\t},\r\n\ttype: {\r\n\t\ttype: String,\r\n\t\tdefault: '',\r\n\t},\r\n});\r\nconst emit = defineEmits(['update']);\r\nconst visible = defineModel();\r\nconst oldData: Ref<propsType> = ref({} as propsType);\r\n\r\nconst { toggleExpand } = useExpand(visible);\r\n/**\r\n * 复制配置\r\n */\r\nconst copyConfig = async () => {\r\n\tconsole.log('copyConfig', props.data);\r\n\t// 将数据复制到剪切板中\r\n\ttry {\r\n\t\tlet data = _.cloneDeep(props.data);\r\n\t\tawait navigator.clipboard.writeText(JSON.stringify({ type: props.type, data }));\r\n\t\tElMessage.success('复制成功');\r\n\t} catch (error) {\r\n\t\tconsole.error('复制失败:', error);\r\n\t\tElMessage.warning('复制失败');\r\n\t}\r\n};\r\n/**\r\n * 还原配置\r\n */\r\nconst restoreConfig = async () => {\r\n\tconsole.log('restoreConfig', oldData.value, props.data);\r\n\t// 二次确认\r\n\tElMessageBox.confirm('还原会覆盖当前配置,是否继续?', '还原确认', {\r\n\t\tconfirmButtonText: '确认',\r\n\t\tcancelButtonText: '取消',\r\n\t\ttype: 'warning',\r\n\t})\r\n\t\t.then(async () => {\r\n\t\t\t// 将oldData的数据还原到data中\r\n\t\t\tObject.assign(props.data, _.cloneDeep(oldData.value));\r\n\t\t\tElMessage.success('还原成功');\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tconsole.log('err', err);\r\n\t\t});\r\n};\r\n/**\r\n * 粘贴配置\r\n */\r\nconst pasteConfig = () => {\r\n\t// 二次确认\r\n\tElMessageBox.confirm('粘贴会覆盖当前配置,是否继续?', '粘贴确认', {\r\n\t\tconfirmButtonText: '确认',\r\n\t\tcancelButtonText: '取消',\r\n\t\ttype: 'warning',\r\n\t})\r\n\t\t.then(async () => {\r\n\t\t\t// 深拷贝一份数据 用于数据回滚\r\n\t\t\toldData.value = _.cloneDeep(props.data);\r\n\t\t\tconsole.log('pasteConfig', oldData.value, props.data);\r\n\t\t\t// 从剪切板中获取数据\r\n\t\t\ttry {\r\n\t\t\t\tconst text = await navigator.clipboard.readText();\r\n\t\t\t\tconsole.log('text', text);\r\n\t\t\t\tif (text) {\r\n\t\t\t\t\tconst { type, data } = JSON.parse(text);\r\n\t\t\t\t\tif (type === props.type) {\r\n\t\t\t\t\t\t// 表单项配置\r\n\t\t\t\t\t\tif (props.type == 'formItemConfig') {\r\n\t\t\t\t\t\t\tlet newData = resetDataId(data);\r\n\t\t\t\t\t\t\tformItemConfigMerge(props.data as [], newData);\r\n\t\t\t\t\t\t\tElMessage.success('粘贴成功');\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (Array.isArray(data)) {\r\n\t\t\t\t\t\t\tdataMerge(props.data as [], resetDataId(data));\r\n\t\t\t\t\t\t\tElMessage.success('粘贴成功');\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (typeof data === 'object') {\r\n\t\t\t\t\t\t\tObject.assign(props.data, dataReplacement(data));\r\n\t\t\t\t\t\t\temit('update', { type: props.type, data: _.cloneDeep(props.data) });\r\n\t\t\t\t\t\t\tElMessage.success('粘贴成功');\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error('粘贴失败,类型不匹配');\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tElMessage.error('粘贴失败, 数据格式错误');\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.error('粘贴失败:', error);\r\n\t\t\t\tElMessage.error('粘贴失败');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tconsole.log('err', err);\r\n\t\t});\r\n};\r\n// // 数据替换\r\nconst dataReplacement = (obj: ICustomData.ANY, arrKey = ['formConfig'], key = ['id']) => {\r\n\t//判断obj是否为对象\r\n\tif (typeof obj == 'object') {\r\n\t\tfor (let k in obj) {\r\n\t\t\t// 判断 k 是否在 arrKey 中 如果在则执行替换 如果不在则执行递归\r\n\t\t\tif (arrKey.includes(k)) {\r\n\t\t\t\tif (Array.isArray(obj[k])) {\r\n\t\t\t\t\tformattArr(obj[k], key);\r\n\t\t\t\t} else if (typeof obj[k] === 'object') {\r\n\t\t\t\t\tdataReplacement(obj[k], arrKey, key);\r\n\t\t\t\t}\r\n\t\t\t} else if (typeof obj[k] === 'object') {\r\n\t\t\t\tdataReplacement(obj[k], arrKey, key);\r\n\t\t\t} else if (key.includes(k)) {\r\n\t\t\t\tobj[k] = uuidv4();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn obj;\r\n};\r\nconst formattArr = (arr: ICustomData.ANY, key = ['id']) => {\r\n\t// 判断obj是否为数组\r\n\tif (Array.isArray(arr)) {\r\n\t\treturn arr.forEach((item) => {\r\n\t\t\tif (typeof item === 'object') {\r\n\t\t\t\tkey.forEach((k) => {\r\n\t\t\t\t\tif (item[k]) {\r\n\t\t\t\t\t\titem[k] = uuidv4();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn item;\r\n\t\t});\r\n\t}\r\n\treturn arr;\r\n};\r\n// 数据合并 数据合并后的数据 判断oldData中的所有数据中是否存在key中的值在newData中存在 则不追加 否则追加至oldData中\r\nconst dataMerge = (oldData: ICustomData.ANY[], newData: ICustomData.ANY[], key = 'key') => {\r\n\tlet arr = _.compact(_.map(_.map(oldData, 'data'), key));\r\n\t// 过滤出newData不在 arr中的数据\r\n\tlet newArr = newData.filter((item) => {\r\n\t\treturn !arr.includes(item.data[key]);\r\n\t});\r\n\r\n\toldData.push(...newArr);\r\n};\r\n// 重置数据中的id\r\nconst resetDataId = (data: ICustomData.ANY, key = 'id') => {\r\n\tif (Array.isArray(data)) {\r\n\t\treturn data.map((item) => {\r\n\t\t\tif (item[key]) {\r\n\t\t\t\titem[key] = uuidv4();\r\n\t\t\t}\r\n\t\t\tif (typeof item === 'object') {\r\n\t\t\t\tif (item[key]) {\r\n\t\t\t\t\titem[key] = uuidv4();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn item;\r\n\t\t});\r\n\t}\r\n\treturn data;\r\n};\r\n/**\r\n *\r\n * @param oldData\r\n * @param newData\r\n * formItemConfig数据合并\r\n */\r\nconst formItemConfigMerge = (oldData: ICustomData.ANY[], newData: ICustomData.ANY[]) => {\r\n\tlet systemData = Session.get('CURRENT_SYSTEM'); // 系统信息\r\n\tlet arr = _.compact(_.map(_.map(oldData, 'data'), 'elementItem[0].baseData.prop'));\r\n\t// 过滤出newData不在 arr中的数据\r\n\tlet newArr = newData.filter((item) => {\r\n\t\treturn !arr.some((it: ICustomData.ANY) => it == item.data.elementItem[0].baseData.prop);\r\n\t});\r\n\tnewArr.forEach((item) => {\r\n\t\treplaceProxy(item, systemData);\r\n\t});\r\n\toldData.push(...newArr);\r\n};\r\nconst propListAttr = ['hs-select', 'hs-tree-select'];\r\nconst propListGroupAttr = ['hs-radio', 'hs-checkbox'];\r\n// 替换代理地址 方法\r\nconst replaceProxy = (obj: ICustomData.ANY, systemData: ICustomData.ANY) => {\r\n\tif (\r\n\t\tpropListAttr.includes(obj.data.elementItem[0].baseData.el) &&\r\n\t\tobj.data.elementItem[0].elData.attrs &&\r\n\t\tobj.data.elementItem[0].elData.attrs.proxy &&\r\n\t\tobj.data.elementItem[0].elData.attrs.proxy != systemData.project_url\r\n\t) {\r\n\t\tobj.data.elementItem[0].elData.attrs.proxy = systemData.project_url;\r\n\t}\r\n\tif (\r\n\t\tpropListGroupAttr.includes(obj.data.elementItem[0].baseData.el) &&\r\n\t\tobj.data.elementItem[0].elData.groupAttrs &&\r\n\t\tobj.data.elementItem[0].elData.groupAttrs.proxy &&\r\n\t\tobj.data.elementItem[0].elData.groupAttrs.proxy != systemData.project_url\r\n\t) {\r\n\t\tobj.data.elementItem[0].elData.groupAttrs.proxy = systemData.project_url;\r\n\t}\r\n\treturn obj;\r\n};\r\n</script>\r\n\r\n<style scoped></style>\r\n"],"names":["useExpand","visible","props","__props","emit","__emit","_useModel","oldData","ref","toggleExpand","copyConfig","data","_","ElMessage","error","restoreConfig","ElMessageBox","err","pasteConfig","text","type","newData","resetDataId","formItemConfigMerge","dataMerge","dataReplacement","obj","arrKey","key","k","formattArr","uuidv4","arr","item","newArr","systemData","Session","it","replaceProxy","propListAttr","propListGroupAttr"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsExpand.vue_vue_type_script_setup_true_lang-DI5xS1It.js","sources":["../src/views/config/formSetting/components/hsExpand/useExpand.ts","../src/views/config/formSetting/components/hsExpand/src/hsExpand.vue"],"sourcesContent":["import _ from 'lodash';\r\nexport function useExpand(visible: any) {\r\n\tconst toggleExpand = () => {\r\n\t\tvisible.value = !visible.value;\r\n\t};\r\n\treturn {\r\n\t\ttoggleExpand,\r\n\t};\r\n}\r\n","<template>\r\n\t<el-popover placement=\"top-end\" width=\"auto\" trigger=\"hover\" v-if=\"popover && type\">\r\n\t\t<div class=\"flex h-full\">\r\n\t\t\t<hs-button size=\"small\" round @click=\"copyConfig\">复制配置</hs-button>\r\n\t\t\t<hs-button size=\"small\" round @click=\"pasteConfig\">粘贴配置</hs-button>\r\n\t\t\t<hs-button size=\"small\" round @click=\"restoreConfig\">还原配置</hs-button>\r\n\t\t</div>\r\n\t\t<template #reference>\r\n\t\t\t<div @click=\"toggleExpand\" class=\"flex align-center cursor-pointer hover:bg-red-200\" :class=\"expandConfig.class\">\r\n\t\t\t\t<svgIcon class=\"pt-1\" :name=\"visible ? 'ele-CaretBottom' : 'ele-CaretRight'\" :size=\"expandConfig.iconSize || 18\"></svgIcon>\r\n\t\t\t\t<div>{{ expandConfig['subTitle'] }}</div>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</el-popover>\r\n\t<div v-else @click=\"toggleExpand\" class=\"flex align-center cursor-pointer hover:bg-red-200\" :class=\"expandConfig.class\">\r\n\t\t<svgIcon class=\"pt-1\" :name=\"visible ? 'ele-CaretBottom' : 'ele-CaretRight'\" :size=\"expandConfig.iconSize || 18\"></svgIcon>\r\n\t\t<div>{{ expandConfig['subTitle'] }}</div>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { defineModel, ref, Ref } from 'vue';\r\nimport { useExpand } from '../useExpand';\r\nimport { propsType } from '../type';\r\nimport { ICustomData } from '/@/types';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport { Session } from '/@/utils/storage';\r\nimport _ from 'lodash';\r\n\r\nconst props: propsType = defineProps({\r\n\texpandConfig: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {\r\n\t\t\treturn {\r\n\t\t\t\ticonSize: 18,\r\n\t\t\t\tsubTitle: '',\r\n\t\t\t\tclass: '',\r\n\t\t\t};\r\n\t\t},\r\n\t},\r\n\t// 是否启用popover\r\n\tpopover: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false,\r\n\t},\r\n\tdata: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {},\r\n\t},\r\n\ttype: {\r\n\t\ttype: String,\r\n\t\tdefault: '',\r\n\t},\r\n});\r\nconst emit = defineEmits(['update']);\r\nconst visible = defineModel();\r\nconst oldData: Ref<propsType> = ref({} as propsType);\r\n\r\nconst { toggleExpand } = useExpand(visible);\r\n/**\r\n * 复制配置\r\n */\r\nconst copyConfig = async () => {\r\n\tconsole.log('copyConfig', props.data);\r\n\t// 将数据复制到剪切板中\r\n\ttry {\r\n\t\tlet data = _.cloneDeep(props.data);\r\n\t\tawait navigator.clipboard.writeText(JSON.stringify({ type: props.type, data }));\r\n\t\tElMessage.success('复制成功');\r\n\t} catch (error) {\r\n\t\tconsole.error('复制失败:', error);\r\n\t\tElMessage.warning('复制失败');\r\n\t}\r\n};\r\n/**\r\n * 还原配置\r\n */\r\nconst restoreConfig = async () => {\r\n\tconsole.log('restoreConfig', oldData.value, props.data);\r\n\t// 二次确认\r\n\tElMessageBox.confirm('还原会覆盖当前配置,是否继续?', '还原确认', {\r\n\t\tconfirmButtonText: '确认',\r\n\t\tcancelButtonText: '取消',\r\n\t\ttype: 'warning',\r\n\t})\r\n\t\t.then(async () => {\r\n\t\t\t// 将oldData的数据还原到data中\r\n\t\t\tObject.assign(props.data, _.cloneDeep(oldData.value));\r\n\t\t\tElMessage.success('还原成功');\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tconsole.log('err', err);\r\n\t\t});\r\n};\r\n/**\r\n * 粘贴配置\r\n */\r\nconst pasteConfig = () => {\r\n\t// 二次确认\r\n\tElMessageBox.confirm('粘贴会覆盖当前配置,是否继续?', '粘贴确认', {\r\n\t\tconfirmButtonText: '确认',\r\n\t\tcancelButtonText: '取消',\r\n\t\ttype: 'warning',\r\n\t})\r\n\t\t.then(async () => {\r\n\t\t\t// 深拷贝一份数据 用于数据回滚\r\n\t\t\toldData.value = _.cloneDeep(props.data);\r\n\t\t\tconsole.log('pasteConfig', oldData.value, props.data);\r\n\t\t\t// 从剪切板中获取数据\r\n\t\t\ttry {\r\n\t\t\t\tconst text = await navigator.clipboard.readText();\r\n\t\t\t\tconsole.log('text', text);\r\n\t\t\t\tif (text) {\r\n\t\t\t\t\tconst { type, data } = JSON.parse(text);\r\n\t\t\t\t\tif (type === props.type) {\r\n\t\t\t\t\t\t// 表单项配置\r\n\t\t\t\t\t\tif (props.type == 'formItemConfig') {\r\n\t\t\t\t\t\t\tlet newData = resetDataId(data);\r\n\t\t\t\t\t\t\tformItemConfigMerge(props.data as [], newData);\r\n\t\t\t\t\t\t\tElMessage.success('粘贴成功');\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (Array.isArray(data)) {\r\n\t\t\t\t\t\t\tdataMerge(props.data as [], resetDataId(data));\r\n\t\t\t\t\t\t\tElMessage.success('粘贴成功');\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (typeof data === 'object') {\r\n\t\t\t\t\t\t\tObject.assign(props.data, dataReplacement(data));\r\n\t\t\t\t\t\t\temit('update', { type: props.type, data: _.cloneDeep(props.data) });\r\n\t\t\t\t\t\t\tElMessage.success('粘贴成功');\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error('粘贴失败,类型不匹配');\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tElMessage.error('粘贴失败, 数据格式错误');\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.error('粘贴失败:', error);\r\n\t\t\t\tElMessage.error('粘贴失败');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tconsole.log('err', err);\r\n\t\t});\r\n};\r\n// // 数据替换\r\nconst dataReplacement = (obj: ICustomData.ANY, arrKey = ['formConfig'], key = ['id']) => {\r\n\t//判断obj是否为对象\r\n\tif (typeof obj == 'object') {\r\n\t\tfor (let k in obj) {\r\n\t\t\t// 判断 k 是否在 arrKey 中 如果在则执行替换 如果不在则执行递归\r\n\t\t\tif (arrKey.includes(k)) {\r\n\t\t\t\tif (Array.isArray(obj[k])) {\r\n\t\t\t\t\tformattArr(obj[k], key);\r\n\t\t\t\t} else if (typeof obj[k] === 'object') {\r\n\t\t\t\t\tdataReplacement(obj[k], arrKey, key);\r\n\t\t\t\t}\r\n\t\t\t} else if (typeof obj[k] === 'object') {\r\n\t\t\t\tdataReplacement(obj[k], arrKey, key);\r\n\t\t\t} else if (key.includes(k)) {\r\n\t\t\t\tobj[k] = uuidv4();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn obj;\r\n};\r\nconst formattArr = (arr: ICustomData.ANY, key = ['id']) => {\r\n\t// 判断obj是否为数组\r\n\tif (Array.isArray(arr)) {\r\n\t\treturn arr.forEach((item) => {\r\n\t\t\tif (typeof item === 'object') {\r\n\t\t\t\tkey.forEach((k) => {\r\n\t\t\t\t\tif (item[k]) {\r\n\t\t\t\t\t\titem[k] = uuidv4();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn item;\r\n\t\t});\r\n\t}\r\n\treturn arr;\r\n};\r\n// 数据合并 数据合并后的数据 判断oldData中的所有数据中是否存在key中的值在newData中存在 则不追加 否则追加至oldData中\r\nconst dataMerge = (oldData: ICustomData.ANY[], newData: ICustomData.ANY[], key = 'key') => {\r\n\tlet arr = _.compact(_.map(_.map(oldData, 'data'), key));\r\n\t// 过滤出newData不在 arr中的数据\r\n\tlet newArr = newData.filter((item) => {\r\n\t\treturn !arr.includes(item.data[key]);\r\n\t});\r\n\r\n\toldData.push(...newArr);\r\n};\r\n// 重置数据中的id\r\nconst resetDataId = (data: ICustomData.ANY, key = 'id') => {\r\n\tif (Array.isArray(data)) {\r\n\t\treturn data.map((item) => {\r\n\t\t\tif (item[key]) {\r\n\t\t\t\titem[key] = uuidv4();\r\n\t\t\t}\r\n\t\t\tif (typeof item === 'object') {\r\n\t\t\t\tif (item[key]) {\r\n\t\t\t\t\titem[key] = uuidv4();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn item;\r\n\t\t});\r\n\t}\r\n\treturn data;\r\n};\r\n/**\r\n *\r\n * @param oldData\r\n * @param newData\r\n * formItemConfig数据合并\r\n */\r\nconst formItemConfigMerge = (oldData: ICustomData.ANY[], newData: ICustomData.ANY[]) => {\r\n\tlet systemData = Session.get('CURRENT_SYSTEM'); // 系统信息\r\n\tlet arr = _.compact(_.map(_.map(oldData, 'data'), 'elementItem[0].baseData.prop'));\r\n\t// 过滤出newData不在 arr中的数据\r\n\tlet newArr = newData.filter((item) => {\r\n\t\treturn !arr.some((it: ICustomData.ANY) => it == item.data.elementItem[0].baseData.prop);\r\n\t});\r\n\tnewArr.forEach((item) => {\r\n\t\treplaceProxy(item, systemData);\r\n\t});\r\n\toldData.push(...newArr);\r\n};\r\nconst propListAttr = ['hs-select', 'hs-tree-select'];\r\nconst propListGroupAttr = ['hs-radio', 'hs-checkbox'];\r\n// 替换代理地址 方法\r\nconst replaceProxy = (obj: ICustomData.ANY, systemData: ICustomData.ANY) => {\r\n\tif (\r\n\t\tpropListAttr.includes(obj.data.elementItem[0].baseData.el) &&\r\n\t\tobj.data.elementItem[0].elData.attrs &&\r\n\t\tobj.data.elementItem[0].elData.attrs.proxy &&\r\n\t\tobj.data.elementItem[0].elData.attrs.proxy != systemData.project_url\r\n\t) {\r\n\t\tobj.data.elementItem[0].elData.attrs.proxy = systemData.project_url;\r\n\t}\r\n\tif (\r\n\t\tpropListGroupAttr.includes(obj.data.elementItem[0].baseData.el) &&\r\n\t\tobj.data.elementItem[0].elData.groupAttrs &&\r\n\t\tobj.data.elementItem[0].elData.groupAttrs.proxy &&\r\n\t\tobj.data.elementItem[0].elData.groupAttrs.proxy != systemData.project_url\r\n\t) {\r\n\t\tobj.data.elementItem[0].elData.groupAttrs.proxy = systemData.project_url;\r\n\t}\r\n\treturn obj;\r\n};\r\n</script>\r\n\r\n<style scoped></style>\r\n"],"names":["useExpand","visible","props","__props","emit","__emit","_useModel","oldData","ref","toggleExpand","copyConfig","data","_","ElMessage","error","restoreConfig","ElMessageBox","err","pasteConfig","text","type","newData","resetDataId","formItemConfigMerge","dataMerge","dataReplacement","obj","arrKey","key","k","formattArr","uuidv4","arr","item","newArr","systemData","Session","it","replaceProxy","propListAttr","propListGroupAttr"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsFormConfig-88TlmGx1.mjs","sources":["../src/views/config/formSetting/components/hsForm/src/hsFormConfig.vue"],"sourcesContent":["<!-- \r\n desc: 父类配置\r\n author:lvling\r\n -->\r\n<template>\r\n\t<div>\r\n\t\t<hs-form\r\n\t\t\tref=\"formRef\"\r\n\t\t\t:label-width=\"parentConfig['labelWidth']\"\r\n\t\t\t:inline=\"false\"\r\n\t\t\tlabel-position=\"right\"\r\n\t\t\tlabel-suffix=\":\"\r\n\t\t\t:hide-required-asterisk=\"false\"\r\n\t\t\trequire-asterisk-position=\"right\"\r\n\t\t\tshow-message\r\n\t\t\tinline-message\r\n\t\t\tstatus-icon\r\n\t\t\t:disabled=\"false\"\r\n\t\t\tv-bind=\"$attrs\"\r\n\t\t\tscroll-to-error\r\n\t\t\t:rules=\"rules\"\r\n\t\t\t:model=\"formData\"\r\n\t\t>\r\n\t\t\t<hs-row :gutter=\"0\" justify=\"start\" align=\"middle\" class=\"hs-row\">\r\n\t\t\t\t<template v-for=\"(item, index) in formConfig\">\r\n\t\t\t\t\t<hs-col\r\n\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\tv-if=\"item['show'] !== false\"\r\n\t\t\t\t\t\t:span=\"item['span'] || parentConfig['span']\"\r\n\t\t\t\t\t\t:xs=\"item['xs'] || parentConfig['xs']\"\r\n\t\t\t\t\t\t:sm=\"item['sm'] || parentConfig['sm']\"\r\n\t\t\t\t\t\t:md=\"item['md'] || parentConfig['md']\"\r\n\t\t\t\t\t\t:lg=\"item['lg'] || parentConfig['lg']\"\r\n\t\t\t\t\t\t:xl=\"item['xl'] || parentConfig['xl']\"\r\n\t\t\t\t\t\t:style=\"parentConfig.style\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<template v-if=\"item.slot\">\r\n\t\t\t\t\t\t\t<slot :name=\"item.slot\" v-bind=\"item\"></slot>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<hs-form-item v-else :label=\"item['label']\" :prop=\"item['prop']\" :required=\"item['required']\">\r\n\t\t\t\t\t\t\t<template #label>\r\n\t\t\t\t\t\t\t\t<span class=\"text-[#606266] truncate\">&nbsp; {{ item['label'] }}&nbsp; <span v-if=\"parentConfig.showColon\">: &nbsp; </span></span>\r\n\t\t\t\t\t\t\t\t<el-tooltip class=\"box-item\" effect=\"dark\" :content=\"item['tooltip'] || item['label']\" placement=\"top\">\r\n\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t<el-icon><ele-Warning /></el-icon>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</el-tooltip>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template v-if=\"item.slotValue\">\r\n\t\t\t\t\t\t\t\t<slot :name=\"item.slotValue\" v-bind=\"item\"></slot>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<!-- placeholder=\"请输入\" -->\r\n\r\n\t\t\t\t\t\t\t<component\r\n\t\t\t\t\t\t\t\tv-else\r\n\t\t\t\t\t\t\t\t:is=\"item['el']\"\r\n\t\t\t\t\t\t\t\tv-model=\"formData[item.prop]\"\r\n\t\t\t\t\t\t\t\t:multiple=\"item['multiple']\"\r\n\t\t\t\t\t\t\t\t:size=\"item['size']\"\r\n\t\t\t\t\t\t\t\t:type=\"item['type']\"\r\n\t\t\t\t\t\t\t\t:disabled=\"item['disabled']\"\r\n\t\t\t\t\t\t\t\tborder\r\n\t\t\t\t\t\t\t\t:clearable=\"item.clearable != false\"\r\n\t\t\t\t\t\t\t\t@change=\"onChange($event, item)\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<component\r\n\t\t\t\t\t\t\t\t\t:is=\"item['cel']\"\r\n\t\t\t\t\t\t\t\t\tv-for=\"(value, idx) in item['op'] || []\"\r\n\t\t\t\t\t\t\t\t\t:key=\"idx\"\r\n\t\t\t\t\t\t\t\t\t:label=\"value['label']\"\r\n\t\t\t\t\t\t\t\t\t:value=\"value['value']\"\r\n\t\t\t\t\t\t\t\t></component>\r\n\t\t\t\t\t\t\t</component>\r\n\t\t\t\t\t\t</hs-form-item>\r\n\t\t\t\t\t</hs-col>\r\n\t\t\t\t</template>\r\n\t\t\t\t<!-- <div></div> -->\r\n\t\t\t</hs-row>\r\n\t\t</hs-form>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref, watch } from 'vue';\r\nimport { ICustomData } from '/@/types';\r\n\r\nconst props = defineProps({\r\n\t// 表单配置\r\n\tparentConfig: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {\r\n\t\t\treturn {\r\n\t\t\t\tlabelWidth: 200,\r\n\t\t\t\txs: 24,\r\n\t\t\t\tsm: 24,\r\n\t\t\t\tmd: 12,\r\n\t\t\t\tlg: 12,\r\n\t\t\t\txl: 8,\r\n\t\t\t\tstyle: '',\r\n\t\t\t\tshowColon: false, // 显示冒号\r\n\t\t\t};\r\n\t\t},\r\n\t},\r\n\t// 表单绑定数据\r\n\tdata: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {},\r\n\t},\r\n\t// 表单配置项数组\r\n\tconfig: {\r\n\t\ttype: Array<ICustomData.ANY>,\r\n\t\tdefault: () => [],\r\n\t},\r\n\trules: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {},\r\n\t},\r\n});\r\nlet formData = ref(props.data);\r\n\r\nlet formConfig = ref(props.config);\r\n\r\nwatch(\r\n\t() => props.data,\r\n\t(value) => {\r\n\t\tformData.value = value;\r\n\t},\r\n\t{\r\n\t\tdeep: true,\r\n\t}\r\n);\r\n// 表单实例\r\nconst formRef = ref();\r\n/**\r\n * 校验formdata\r\n */\r\nconst getSubmitData = () => {\r\n\treturn new Promise((resolve) => {\r\n\t\tif (!formRef.value) {\r\n\t\t\tresolve(false);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tformRef.value.validate((valid: 'undefined' | boolean) => {\r\n\t\t\tif (valid) {\r\n\t\t\t\t// console.log('submit!', formData.value);\r\n\t\t\t\t// oldData.value = Object.assign(oldData.value, formData.value);\r\n\t\t\t\tresolve(true);\r\n\t\t\t} else {\r\n\t\t\t\t// console.log('error submit!', formData.value);\r\n\t\t\t\tresolve(false);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n};\r\n// 派生事件\r\nlet emits = defineEmits(['change']);\r\n/**\r\n *选择器切换事件\r\n * @param e\r\n */\r\nconst onChange = (value: string, item: any) => {\r\n\tlet prop = item.prop;\r\n\temits('change', value, prop);\r\n};\r\ndefineExpose({ getSubmitData });\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.hs-row {\r\n\t:deep(.el-form-item) {\r\n\t\tborder: 1px solid #e7eaf2;\r\n\t\tbackground-color: #f2f5f9;\r\n\t}\r\n\t:deep(.el-form-item__content) {\r\n\t\tborder-left: 1px solid #e7eaf2;\r\n\t\tbackground-color: #fff;\r\n\t}\r\n}\r\n//\r\n</style>\r\n"],"names":["props","__props","formData","ref","formConfig","watch","value","formRef","getSubmitData","resolve","valid","emits","__emit","onChange","item","prop","__expose"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsFA,UAAMA,IAAQC;AAgCV,QAAAC,IAAWC,EAAIH,EAAM,IAAI,GAEzBI,IAAaD,EAAIH,EAAM,MAAM;AAEjC,IAAAK;AAAA,MACC,MAAML,EAAM;AAAA,MACZ,CAACM,MAAU;AACV,QAAAJ,EAAS,QAAQI;AAAA,MAClB;AAAA,MACA;AAAA,QACC,MAAM;AAAA,MACP;AAAA,IAAA;AAGD,UAAMC,IAAUJ,KAIVK,IAAgB,MACd,IAAI,QAAQ,CAACC,MAAY;AAC3B,UAAA,CAACF,EAAQ,OAAO;AACnB,QAAAE,EAAQ,EAAK;AACb;AAAA,MACD;AACQ,MAAAF,EAAA,MAAM,SAAS,CAACG,MAAiC;AACxD,QAGCD,EAHG,EAAAC,CAGS;AAAA,MAIb,CACA;AAAA,IAAA,CACD;AAGF,QAAIC,IAAQC;AAKN,UAAAC,IAAW,CAACP,GAAeQ,MAAc;AAC9C,UAAIC,IAAOD,EAAK;AACV,MAAAH,EAAA,UAAUL,GAAOS,CAAI;AAAA,IAAA;AAEf,WAAAC,EAAA,EAAE,eAAAR,GAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsFormConfig-BMyDeJP6.js","sources":["../src/views/config/formSetting/components/hsForm/src/hsFormConfig.vue"],"sourcesContent":["<!-- \r\n desc: 父类配置\r\n author:lvling\r\n -->\r\n<template>\r\n\t<div>\r\n\t\t<hs-form\r\n\t\t\tref=\"formRef\"\r\n\t\t\t:label-width=\"parentConfig['labelWidth']\"\r\n\t\t\t:inline=\"false\"\r\n\t\t\tlabel-position=\"right\"\r\n\t\t\tlabel-suffix=\":\"\r\n\t\t\t:hide-required-asterisk=\"false\"\r\n\t\t\trequire-asterisk-position=\"right\"\r\n\t\t\tshow-message\r\n\t\t\tinline-message\r\n\t\t\tstatus-icon\r\n\t\t\t:disabled=\"false\"\r\n\t\t\tv-bind=\"$attrs\"\r\n\t\t\tscroll-to-error\r\n\t\t\t:rules=\"rules\"\r\n\t\t\t:model=\"formData\"\r\n\t\t>\r\n\t\t\t<hs-row :gutter=\"0\" justify=\"start\" align=\"middle\" class=\"hs-row\">\r\n\t\t\t\t<template v-for=\"(item, index) in formConfig\">\r\n\t\t\t\t\t<hs-col\r\n\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\tv-if=\"item['show'] !== false\"\r\n\t\t\t\t\t\t:span=\"item['span'] || parentConfig['span']\"\r\n\t\t\t\t\t\t:xs=\"item['xs'] || parentConfig['xs']\"\r\n\t\t\t\t\t\t:sm=\"item['sm'] || parentConfig['sm']\"\r\n\t\t\t\t\t\t:md=\"item['md'] || parentConfig['md']\"\r\n\t\t\t\t\t\t:lg=\"item['lg'] || parentConfig['lg']\"\r\n\t\t\t\t\t\t:xl=\"item['xl'] || parentConfig['xl']\"\r\n\t\t\t\t\t\t:style=\"parentConfig.style\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<template v-if=\"item.slot\">\r\n\t\t\t\t\t\t\t<slot :name=\"item.slot\" v-bind=\"item\"></slot>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<hs-form-item v-else :label=\"item['label']\" :prop=\"item['prop']\" :required=\"item['required']\">\r\n\t\t\t\t\t\t\t<template #label>\r\n\t\t\t\t\t\t\t\t<span class=\"text-[#606266] truncate\">&nbsp; {{ item['label'] }}&nbsp; <span v-if=\"parentConfig.showColon\">: &nbsp; </span></span>\r\n\t\t\t\t\t\t\t\t<el-tooltip class=\"box-item\" effect=\"dark\" :content=\"item['tooltip'] || item['label']\" placement=\"top\">\r\n\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t<el-icon><ele-Warning /></el-icon>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</el-tooltip>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template v-if=\"item.slotValue\">\r\n\t\t\t\t\t\t\t\t<slot :name=\"item.slotValue\" v-bind=\"item\"></slot>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<!-- placeholder=\"请输入\" -->\r\n\r\n\t\t\t\t\t\t\t<component\r\n\t\t\t\t\t\t\t\tv-else\r\n\t\t\t\t\t\t\t\t:is=\"item['el']\"\r\n\t\t\t\t\t\t\t\tv-model=\"formData[item.prop]\"\r\n\t\t\t\t\t\t\t\t:multiple=\"item['multiple']\"\r\n\t\t\t\t\t\t\t\t:size=\"item['size']\"\r\n\t\t\t\t\t\t\t\t:type=\"item['type']\"\r\n\t\t\t\t\t\t\t\t:disabled=\"item['disabled']\"\r\n\t\t\t\t\t\t\t\tborder\r\n\t\t\t\t\t\t\t\t:clearable=\"item.clearable != false\"\r\n\t\t\t\t\t\t\t\t@change=\"onChange($event, item)\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<component\r\n\t\t\t\t\t\t\t\t\t:is=\"item['cel']\"\r\n\t\t\t\t\t\t\t\t\tv-for=\"(value, idx) in item['op'] || []\"\r\n\t\t\t\t\t\t\t\t\t:key=\"idx\"\r\n\t\t\t\t\t\t\t\t\t:label=\"value['label']\"\r\n\t\t\t\t\t\t\t\t\t:value=\"value['value']\"\r\n\t\t\t\t\t\t\t\t></component>\r\n\t\t\t\t\t\t\t</component>\r\n\t\t\t\t\t\t</hs-form-item>\r\n\t\t\t\t\t</hs-col>\r\n\t\t\t\t</template>\r\n\t\t\t\t<!-- <div></div> -->\r\n\t\t\t</hs-row>\r\n\t\t</hs-form>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref, watch } from 'vue';\r\nimport { ICustomData } from '/@/types';\r\n\r\nconst props = defineProps({\r\n\t// 表单配置\r\n\tparentConfig: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {\r\n\t\t\treturn {\r\n\t\t\t\tlabelWidth: 200,\r\n\t\t\t\txs: 24,\r\n\t\t\t\tsm: 24,\r\n\t\t\t\tmd: 12,\r\n\t\t\t\tlg: 12,\r\n\t\t\t\txl: 8,\r\n\t\t\t\tstyle: '',\r\n\t\t\t\tshowColon: false, // 显示冒号\r\n\t\t\t};\r\n\t\t},\r\n\t},\r\n\t// 表单绑定数据\r\n\tdata: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {},\r\n\t},\r\n\t// 表单配置项数组\r\n\tconfig: {\r\n\t\ttype: Array<ICustomData.ANY>,\r\n\t\tdefault: () => [],\r\n\t},\r\n\trules: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => {},\r\n\t},\r\n});\r\nlet formData = ref(props.data);\r\n\r\nlet formConfig = ref(props.config);\r\n\r\nwatch(\r\n\t() => props.data,\r\n\t(value) => {\r\n\t\tformData.value = value;\r\n\t},\r\n\t{\r\n\t\tdeep: true,\r\n\t}\r\n);\r\n// 表单实例\r\nconst formRef = ref();\r\n/**\r\n * 校验formdata\r\n */\r\nconst getSubmitData = () => {\r\n\treturn new Promise((resolve) => {\r\n\t\tif (!formRef.value) {\r\n\t\t\tresolve(false);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tformRef.value.validate((valid: 'undefined' | boolean) => {\r\n\t\t\tif (valid) {\r\n\t\t\t\t// console.log('submit!', formData.value);\r\n\t\t\t\t// oldData.value = Object.assign(oldData.value, formData.value);\r\n\t\t\t\tresolve(true);\r\n\t\t\t} else {\r\n\t\t\t\t// console.log('error submit!', formData.value);\r\n\t\t\t\tresolve(false);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n};\r\n// 派生事件\r\nlet emits = defineEmits(['change']);\r\n/**\r\n *选择器切换事件\r\n * @param e\r\n */\r\nconst onChange = (value: string, item: any) => {\r\n\tlet prop = item.prop;\r\n\temits('change', value, prop);\r\n};\r\ndefineExpose({ getSubmitData });\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.hs-row {\r\n\t:deep(.el-form-item) {\r\n\t\tborder: 1px solid #e7eaf2;\r\n\t\tbackground-color: #f2f5f9;\r\n\t}\r\n\t:deep(.el-form-item__content) {\r\n\t\tborder-left: 1px solid #e7eaf2;\r\n\t\tbackground-color: #fff;\r\n\t}\r\n}\r\n//\r\n</style>\r\n"],"names":["props","__props","formData","ref","formConfig","watch","value","formRef","getSubmitData","resolve","valid","emits","__emit","onChange","item","prop","__expose"],"mappings":"0eAsFA,MAAMA,EAAQC,EAgCV,IAAAC,EAAWC,EAAAA,IAAIH,EAAM,IAAI,EAEzBI,EAAaD,EAAAA,IAAIH,EAAM,MAAM,EAEjCK,EAAA,MACC,IAAML,EAAM,KACXM,GAAU,CACVJ,EAAS,MAAQI,CAClB,EACA,CACC,KAAM,EACP,CAAA,EAGD,MAAMC,EAAUJ,EAAAA,MAIVK,EAAgB,IACd,IAAI,QAASC,GAAY,CAC3B,GAAA,CAACF,EAAQ,MAAO,CACnBE,EAAQ,EAAK,EACb,MACD,CACQF,EAAA,MAAM,SAAUG,GAAiC,CAIvDD,EAHG,EAAAC,CAGS,CAIb,CACA,CAAA,CACD,EAGF,IAAIC,EAAQC,EAKN,MAAAC,EAAW,CAACP,EAAeQ,IAAc,CAC9C,IAAIC,EAAOD,EAAK,KACVH,EAAA,SAAUL,EAAOS,CAAI,CAAA,EAEf,OAAAC,EAAA,CAAE,cAAAR,EAAe"}