hs-admin-ui 4.1.2 → 4.1.4
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.
- package/dist/401-BzJI2gFF.mjs +1 -0
- package/dist/401-BzJI2gFF.mjs.gz +0 -0
- package/dist/401-BzJI2gFF.mjs.map +1 -0
- package/dist/401-yMsLUK4l.js +1 -0
- package/dist/401-yMsLUK4l.js.gz +0 -0
- package/dist/401-yMsLUK4l.js.map +1 -0
- package/dist/404-B2ON4qU8.js +1 -0
- package/dist/404-B2ON4qU8.js.gz +0 -0
- package/dist/404-B2ON4qU8.js.map +1 -0
- package/dist/404-DMkWKsBf.mjs +1 -0
- package/dist/404-DMkWKsBf.mjs.gz +0 -0
- package/dist/404-DMkWKsBf.mjs.map +1 -0
- package/dist/account-BaCUa_zU.mjs +1 -0
- package/dist/account-BaCUa_zU.mjs.gz +0 -0
- package/dist/account-BaCUa_zU.mjs.map +1 -0
- package/dist/account-m86ss5x3.js +1 -0
- package/dist/account-m86ss5x3.js.gz +0 -0
- package/dist/account-m86ss5x3.js.map +1 -0
- package/dist/aside-BS3iMpFI.mjs +1 -0
- package/dist/aside-BS3iMpFI.mjs.gz +0 -0
- package/dist/aside-BS3iMpFI.mjs.map +1 -0
- package/dist/aside-eHuEMYpI.js +1 -0
- package/dist/aside-eHuEMYpI.js.gz +0 -0
- package/dist/aside-eHuEMYpI.js.map +1 -0
- package/dist/baseBtnConfig-BaYFVzAe.js +1 -0
- package/dist/baseBtnConfig-BaYFVzAe.js.gz +0 -0
- package/dist/baseBtnConfig-BaYFVzAe.js.map +1 -0
- package/dist/baseBtnConfig-BpdCCSnd.mjs +1 -0
- package/dist/baseBtnConfig-BpdCCSnd.mjs.gz +0 -0
- package/dist/baseBtnConfig-BpdCCSnd.mjs.map +1 -0
- package/dist/baseFormConfig-CLzeDtYS.mjs +1 -0
- package/dist/baseFormConfig-CLzeDtYS.mjs.gz +0 -0
- package/dist/baseFormConfig-CLzeDtYS.mjs.map +1 -0
- package/dist/baseFormConfig-DIhAM0r9.js +1 -0
- package/dist/baseFormConfig-DIhAM0r9.js.gz +0 -0
- package/dist/baseFormConfig-DIhAM0r9.js.map +1 -0
- package/dist/btnIndex-Da4JeOuj.mjs +1 -0
- package/dist/btnIndex-Da4JeOuj.mjs.gz +0 -0
- package/dist/btnIndex-Da4JeOuj.mjs.map +1 -0
- package/dist/btnIndex-zJDzK1YM.js +1 -0
- package/dist/btnIndex-zJDzK1YM.js.gz +0 -0
- package/dist/btnIndex-zJDzK1YM.js.map +1 -0
- package/dist/classic-Bh1vJ8wW.js +1 -0
- package/dist/classic-Bh1vJ8wW.js.gz +0 -0
- package/dist/classic-Bh1vJ8wW.js.map +1 -0
- package/dist/classic-C3c5W6bW.mjs +1 -0
- package/dist/classic-C3c5W6bW.mjs.gz +0 -0
- package/dist/classic-C3c5W6bW.mjs.map +1 -0
- package/dist/cloneConfigDialog-BPZau43p.js +1 -0
- package/dist/cloneConfigDialog-BPZau43p.js.gz +0 -0
- package/dist/cloneConfigDialog-BPZau43p.js.map +1 -0
- package/dist/cloneConfigDialog-DlKGp5lz.mjs +1 -0
- package/dist/cloneConfigDialog-DlKGp5lz.mjs.gz +0 -0
- package/dist/cloneConfigDialog-DlKGp5lz.mjs.map +1 -0
- package/dist/columns-DC21XYUc.js +1 -0
- package/dist/columns-DC21XYUc.js.gz +0 -0
- package/dist/columns-DC21XYUc.js.map +1 -0
- package/dist/columns-DQw-mrU3.mjs +1 -0
- package/dist/columns-DQw-mrU3.mjs.gz +0 -0
- package/dist/columns-DQw-mrU3.mjs.map +1 -0
- package/dist/columnsAside-B__LjXPs.mjs +1 -0
- package/dist/columnsAside-B__LjXPs.mjs.gz +0 -0
- package/dist/columnsAside-B__LjXPs.mjs.map +1 -0
- package/dist/columnsAside-vvFOlX5F.js +1 -0
- package/dist/columnsAside-vvFOlX5F.js.gz +0 -0
- package/dist/columnsAside-vvFOlX5F.js.map +1 -0
- package/dist/contextmenu-7YxyCBre.js +1 -0
- package/dist/contextmenu-7YxyCBre.js.gz +0 -0
- package/dist/contextmenu-7YxyCBre.js.map +1 -0
- package/dist/contextmenu-C9_VjixF.mjs +1 -0
- package/dist/contextmenu-C9_VjixF.mjs.gz +0 -0
- package/dist/contextmenu-C9_VjixF.mjs.map +1 -0
- package/dist/contextmenu-Cnxfpyzs.mjs +1 -0
- package/dist/contextmenu-Cnxfpyzs.mjs.gz +0 -0
- package/dist/contextmenu-Cnxfpyzs.mjs.map +1 -0
- package/dist/contextmenu-D7_SLgbF.mjs +1 -0
- package/dist/contextmenu-D7_SLgbF.mjs.gz +0 -0
- package/dist/contextmenu-D7_SLgbF.mjs.map +1 -0
- package/dist/contextmenu-DIM2CO4m.js +1 -0
- package/dist/contextmenu-DIM2CO4m.js.gz +0 -0
- package/dist/contextmenu-DIM2CO4m.js.map +1 -0
- package/dist/contextmenu-jw7CjkqU.js +1 -0
- package/dist/contextmenu-jw7CjkqU.js.gz +0 -0
- package/dist/contextmenu-jw7CjkqU.js.map +1 -0
- package/dist/defaults-CO-9PLy3.mjs +1 -0
- package/dist/defaults-CO-9PLy3.mjs.gz +0 -0
- package/dist/defaults-CO-9PLy3.mjs.map +1 -0
- package/dist/defaults-CPTLP5d8.js +1 -0
- package/dist/defaults-CPTLP5d8.js.gz +0 -0
- package/dist/defaults-CPTLP5d8.js.map +1 -0
- package/dist/dialog-BbI7XOgp.js +1 -0
- package/dist/dialog-BbI7XOgp.js.map +1 -0
- package/dist/dialog-Bl7WEBUf.mjs +1 -0
- package/dist/dialog-Bl7WEBUf.mjs.map +1 -0
- package/dist/dialog-BmCwSZ2C.js +1 -0
- package/dist/dialog-BmCwSZ2C.js.gz +0 -0
- package/dist/dialog-BmCwSZ2C.js.map +1 -0
- package/dist/dialog-Ch_vZTX6.mjs +1 -0
- package/dist/dialog-Ch_vZTX6.mjs.gz +0 -0
- package/dist/dialog-Ch_vZTX6.mjs.map +1 -0
- package/dist/dialog-Cqb6ay6R.js +1 -0
- package/dist/dialog-Cqb6ay6R.js.gz +0 -0
- package/dist/dialog-Cqb6ay6R.js.map +1 -0
- package/dist/dialog-DIFjAfxe.mjs +1 -0
- package/dist/dialog-DIFjAfxe.mjs.map +1 -0
- package/dist/dialog-DVZ-Aqm0.mjs +1 -0
- package/dist/dialog-DVZ-Aqm0.mjs.gz +0 -0
- package/dist/dialog-DVZ-Aqm0.mjs.map +1 -0
- package/dist/dialog-DeuceWcM.js +1 -0
- package/dist/dialog-DeuceWcM.js.gz +0 -0
- package/dist/dialog-DeuceWcM.js.map +1 -0
- package/dist/dialog-Dtk0TIqw.mjs +1 -0
- package/dist/dialog-Dtk0TIqw.mjs.map +1 -0
- package/dist/dialog-GTCUA8Nu.js +1 -0
- package/dist/dialog-GTCUA8Nu.js.map +1 -0
- package/dist/dialog-UoVqSoLN.mjs +1 -0
- package/dist/dialog-UoVqSoLN.mjs.gz +0 -0
- package/dist/dialog-UoVqSoLN.mjs.map +1 -0
- package/dist/dialog-ggWKEkrm.js +1 -0
- package/dist/dialog-ggWKEkrm.js.map +1 -0
- package/dist/dialog.vue_vue_type_script_setup_true_name_dataAuthDialog_lang-BZUe_7gT.mjs +1 -0
- package/dist/dialog.vue_vue_type_script_setup_true_name_dataAuthDialog_lang-BZUe_7gT.mjs.gz +0 -0
- package/dist/dialog.vue_vue_type_script_setup_true_name_dataAuthDialog_lang-BZUe_7gT.mjs.map +1 -0
- package/dist/dialog.vue_vue_type_script_setup_true_name_dataAuthDialog_lang-utiTEG14.js +1 -0
- package/dist/dialog.vue_vue_type_script_setup_true_name_dataAuthDialog_lang-utiTEG14.js.gz +0 -0
- package/dist/dialog.vue_vue_type_script_setup_true_name_dataAuthDialog_lang-utiTEG14.js.map +1 -0
- package/dist/dialog.vue_vue_type_script_setup_true_name_systemMenuDialog_lang-CJ_5_qKm.mjs +1 -0
- package/dist/dialog.vue_vue_type_script_setup_true_name_systemMenuDialog_lang-CJ_5_qKm.mjs.gz +0 -0
- package/dist/dialog.vue_vue_type_script_setup_true_name_systemMenuDialog_lang-CJ_5_qKm.mjs.map +1 -0
- package/dist/dialog.vue_vue_type_script_setup_true_name_systemMenuDialog_lang-bGgzzD_6.js +1 -0
- package/dist/dialog.vue_vue_type_script_setup_true_name_systemMenuDialog_lang-bGgzzD_6.js.gz +0 -0
- package/dist/dialog.vue_vue_type_script_setup_true_name_systemMenuDialog_lang-bGgzzD_6.js.map +1 -0
- package/dist/dictDialog-C6deNfCe.js +1 -0
- package/dist/dictDialog-C6deNfCe.js.map +1 -0
- package/dist/dictDialog-DA8GuFk9.mjs +1 -0
- package/dist/dictDialog-DA8GuFk9.mjs.map +1 -0
- package/dist/dictDialog.vue_vue_type_script_setup_true_name_dictDialog_lang-CdhZHxQx.js +1 -0
- package/dist/dictDialog.vue_vue_type_script_setup_true_name_dictDialog_lang-CdhZHxQx.js.gz +0 -0
- package/dist/dictDialog.vue_vue_type_script_setup_true_name_dictDialog_lang-CdhZHxQx.js.map +1 -0
- package/dist/dictDialog.vue_vue_type_script_setup_true_name_dictDialog_lang-cGDTYNII.mjs +1 -0
- package/dist/dictDialog.vue_vue_type_script_setup_true_name_dictDialog_lang-cGDTYNII.mjs.gz +0 -0
- package/dist/dictDialog.vue_vue_type_script_setup_true_name_dictDialog_lang-cGDTYNII.mjs.map +1 -0
- package/dist/dictItemDialog-C2l1XNjL.js +1 -0
- package/dist/dictItemDialog-C2l1XNjL.js.map +1 -0
- package/dist/dictItemDialog-CGCyt3sd.mjs +1 -0
- package/dist/dictItemDialog-CGCyt3sd.mjs.map +1 -0
- package/dist/dictItemDialog.vue_vue_type_script_setup_true_lang-CTTB6eDA.mjs +1 -0
- package/dist/dictItemDialog.vue_vue_type_script_setup_true_lang-CTTB6eDA.mjs.gz +0 -0
- package/dist/dictItemDialog.vue_vue_type_script_setup_true_lang-CTTB6eDA.mjs.map +1 -0
- package/dist/dictItemDialog.vue_vue_type_script_setup_true_lang-D47SU2Qe.js +1 -0
- package/dist/dictItemDialog.vue_vue_type_script_setup_true_lang-D47SU2Qe.js.gz +0 -0
- package/dist/dictItemDialog.vue_vue_type_script_setup_true_lang-D47SU2Qe.js.map +1 -0
- package/dist/editDialog-B3FZIrWv.js +1 -0
- package/dist/editDialog-B3FZIrWv.js.gz +0 -0
- package/dist/editDialog-B3FZIrWv.js.map +1 -0
- package/dist/editDialog-BsPYjQ3Z.mjs +1 -0
- package/dist/editDialog-BsPYjQ3Z.mjs.gz +0 -0
- package/dist/editDialog-BsPYjQ3Z.mjs.map +1 -0
- package/dist/formConfig-CQRWsB8I.mjs +1 -0
- package/dist/formConfig-CQRWsB8I.mjs.gz +0 -0
- package/dist/formConfig-CQRWsB8I.mjs.map +1 -0
- package/dist/formConfig-vRKuN3Qq.js +1 -0
- package/dist/formConfig-vRKuN3Qq.js.gz +0 -0
- package/dist/formConfig-vRKuN3Qq.js.map +1 -0
- package/dist/header-Cn7nyXyQ.js +1 -0
- package/dist/header-Cn7nyXyQ.js.map +1 -0
- package/dist/header-DXLUHaoH.mjs +1 -0
- package/dist/header-DXLUHaoH.mjs.map +1 -0
- package/dist/horizontal-D5m-StSj.mjs +1 -0
- package/dist/horizontal-D5m-StSj.mjs.gz +0 -0
- package/dist/horizontal-D5m-StSj.mjs.map +1 -0
- package/dist/horizontal-DQqvv6Sp.js +1 -0
- package/dist/horizontal-DQqvv6Sp.js.gz +0 -0
- package/dist/horizontal-DQqvv6Sp.js.map +1 -0
- package/dist/hsAttrBtn-D1QvVUZr.js +1 -0
- package/dist/hsAttrBtn-D1QvVUZr.js.map +1 -0
- package/dist/hsAttrBtn-TYcer9fC.mjs +1 -0
- package/dist/hsAttrBtn-TYcer9fC.mjs.map +1 -0
- package/dist/hsAttrBtn.vue_vue_type_script_setup_true_lang-CQvnEDXk.js +1 -0
- package/dist/hsAttrBtn.vue_vue_type_script_setup_true_lang-CQvnEDXk.js.gz +0 -0
- package/dist/hsAttrBtn.vue_vue_type_script_setup_true_lang-CQvnEDXk.js.map +1 -0
- package/dist/hsAttrBtn.vue_vue_type_script_setup_true_lang-DGycKZ06.mjs +1 -0
- package/dist/hsAttrBtn.vue_vue_type_script_setup_true_lang-DGycKZ06.mjs.gz +0 -0
- package/dist/hsAttrBtn.vue_vue_type_script_setup_true_lang-DGycKZ06.mjs.map +1 -0
- package/dist/hsAttrForm-BzIlb91a.js +1 -0
- package/dist/hsAttrForm-BzIlb91a.js.map +1 -0
- package/dist/hsAttrForm-DtqMt6Lk.mjs +1 -0
- package/dist/hsAttrForm-DtqMt6Lk.mjs.map +1 -0
- package/dist/hsAttrForm.vue_vue_type_script_setup_true_lang-BMaIQo0H.mjs +1 -0
- package/dist/hsAttrForm.vue_vue_type_script_setup_true_lang-BMaIQo0H.mjs.gz +0 -0
- package/dist/hsAttrForm.vue_vue_type_script_setup_true_lang-BMaIQo0H.mjs.map +1 -0
- package/dist/hsAttrForm.vue_vue_type_script_setup_true_lang-hKoCLLeD.js +1 -0
- package/dist/hsAttrForm.vue_vue_type_script_setup_true_lang-hKoCLLeD.js.gz +0 -0
- package/dist/hsAttrForm.vue_vue_type_script_setup_true_lang-hKoCLLeD.js.map +1 -0
- package/dist/hsBtnConfigList-Bb1nm0Vy.js +1 -0
- package/dist/hsBtnConfigList-Bb1nm0Vy.js.gz +0 -0
- package/dist/hsBtnConfigList-Bb1nm0Vy.js.map +1 -0
- package/dist/hsBtnConfigList-Bren_Fd3.mjs +1 -0
- package/dist/hsBtnConfigList-Bren_Fd3.mjs.gz +0 -0
- package/dist/hsBtnConfigList-Bren_Fd3.mjs.map +1 -0
- package/dist/hsBtnItemConfig-BCJqmO3A.js +1 -0
- package/dist/hsBtnItemConfig-BCJqmO3A.js.map +1 -0
- package/dist/hsBtnItemConfig-CzRP7rGc.mjs +1 -0
- package/dist/hsBtnItemConfig-CzRP7rGc.mjs.map +1 -0
- package/dist/hsBtnItemConfig.vue_vue_type_script_setup_true_lang-DS7PtHA3.js +1 -0
- package/dist/hsBtnItemConfig.vue_vue_type_script_setup_true_lang-DS7PtHA3.js.gz +0 -0
- package/dist/hsBtnItemConfig.vue_vue_type_script_setup_true_lang-DS7PtHA3.js.map +1 -0
- package/dist/hsBtnItemConfig.vue_vue_type_script_setup_true_lang-DvQ5Sm0Z.mjs +1 -0
- package/dist/hsBtnItemConfig.vue_vue_type_script_setup_true_lang-DvQ5Sm0Z.mjs.gz +0 -0
- package/dist/hsBtnItemConfig.vue_vue_type_script_setup_true_lang-DvQ5Sm0Z.mjs.map +1 -0
- package/dist/hsBtnPanel-CUhnhH9S.mjs +1 -0
- package/dist/hsBtnPanel-CUhnhH9S.mjs.map +1 -0
- package/dist/hsBtnPanel-D-Y2DAWc.js +1 -0
- package/dist/hsBtnPanel-D-Y2DAWc.js.map +1 -0
- package/dist/hsBtnPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CFWt1cBu.js +1 -0
- package/dist/hsBtnPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CFWt1cBu.js.gz +0 -0
- package/dist/hsBtnPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CFWt1cBu.js.map +1 -0
- package/dist/hsBtnPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CWd8hS5v.mjs +1 -0
- package/dist/hsBtnPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CWd8hS5v.mjs.gz +0 -0
- package/dist/hsBtnPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CWd8hS5v.mjs.map +1 -0
- package/dist/hsExpand-DIo3Lfqs.mjs +1 -0
- package/dist/hsExpand-DIo3Lfqs.mjs.map +1 -0
- package/dist/hsExpand-MS4CSl__.js +1 -0
- package/dist/hsExpand-MS4CSl__.js.map +1 -0
- package/dist/hsExpand.vue_vue_type_script_setup_true_lang-C0tRMdLr.mjs +1 -0
- package/dist/hsExpand.vue_vue_type_script_setup_true_lang-C0tRMdLr.mjs.gz +0 -0
- package/dist/hsExpand.vue_vue_type_script_setup_true_lang-C0tRMdLr.mjs.map +1 -0
- package/dist/hsExpand.vue_vue_type_script_setup_true_lang-DI5xS1It.js +1 -0
- package/dist/hsExpand.vue_vue_type_script_setup_true_lang-DI5xS1It.js.gz +0 -0
- package/dist/hsExpand.vue_vue_type_script_setup_true_lang-DI5xS1It.js.map +1 -0
- package/dist/hsFormConfig-88TlmGx1.mjs +1 -0
- package/dist/hsFormConfig-88TlmGx1.mjs.gz +0 -0
- package/dist/hsFormConfig-88TlmGx1.mjs.map +1 -0
- package/dist/hsFormConfig-BMyDeJP6.js +1 -0
- package/dist/hsFormConfig-BMyDeJP6.js.gz +0 -0
- package/dist/hsFormConfig-BMyDeJP6.js.map +1 -0
- package/dist/hsFormConfigList-DsVF2R8N.mjs +1 -0
- package/dist/hsFormConfigList-DsVF2R8N.mjs.gz +0 -0
- package/dist/hsFormConfigList-DsVF2R8N.mjs.map +1 -0
- package/dist/hsFormConfigList-OF81mYsV.js +1 -0
- package/dist/hsFormConfigList-OF81mYsV.js.gz +0 -0
- package/dist/hsFormConfigList-OF81mYsV.js.map +1 -0
- package/dist/hsFormPanel-ByZcwko4.js +1 -0
- package/dist/hsFormPanel-ByZcwko4.js.map +1 -0
- package/dist/hsFormPanel-Cp-j_SNi.mjs +1 -0
- package/dist/hsFormPanel-Cp-j_SNi.mjs.map +1 -0
- package/dist/hsFormPanel.vue_vue_type_script_setup_true_name_formPanel_lang-BFNUZilJ.mjs +1 -0
- package/dist/hsFormPanel.vue_vue_type_script_setup_true_name_formPanel_lang-BFNUZilJ.mjs.gz +0 -0
- package/dist/hsFormPanel.vue_vue_type_script_setup_true_name_formPanel_lang-BFNUZilJ.mjs.map +1 -0
- package/dist/hsFormPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CMiitHGY.js +1 -0
- package/dist/hsFormPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CMiitHGY.js.gz +0 -0
- package/dist/hsFormPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CMiitHGY.js.map +1 -0
- package/dist/hsFormParse-DfYFseG9.js +1 -0
- package/dist/hsFormParse-DfYFseG9.js.map +1 -0
- package/dist/hsFormParse-Wm92Be9y.mjs +1 -0
- package/dist/hsFormParse-Wm92Be9y.mjs.map +1 -0
- package/dist/hsFormParse.vue_vue_type_script_setup_true_lang-6s_wp2H-.mjs +1 -0
- package/dist/hsFormParse.vue_vue_type_script_setup_true_lang-6s_wp2H-.mjs.gz +0 -0
- package/dist/hsFormParse.vue_vue_type_script_setup_true_lang-6s_wp2H-.mjs.map +1 -0
- package/dist/hsFormParse.vue_vue_type_script_setup_true_lang-Cb2q7Fuy.js +1 -0
- package/dist/hsFormParse.vue_vue_type_script_setup_true_lang-Cb2q7Fuy.js.gz +0 -0
- package/dist/hsFormParse.vue_vue_type_script_setup_true_lang-Cb2q7Fuy.js.map +1 -0
- package/dist/hsPanelItem-DKSytzeB.mjs +1 -0
- package/dist/hsPanelItem-DKSytzeB.mjs.map +1 -0
- package/dist/hsPanelItem-DbFQIf68.js +1 -0
- package/dist/hsPanelItem-DbFQIf68.js.map +1 -0
- package/dist/hsPanelItem.vue_vue_type_script_setup_true_name_panelItem_lang-CqtPTLb1.js +1 -0
- package/dist/hsPanelItem.vue_vue_type_script_setup_true_name_panelItem_lang-CqtPTLb1.js.gz +0 -0
- package/dist/hsPanelItem.vue_vue_type_script_setup_true_name_panelItem_lang-CqtPTLb1.js.map +1 -0
- package/dist/hsPanelItem.vue_vue_type_script_setup_true_name_panelItem_lang-Dtz8b4vz.mjs +1 -0
- package/dist/hsPanelItem.vue_vue_type_script_setup_true_name_panelItem_lang-Dtz8b4vz.mjs.gz +0 -0
- package/dist/hsPanelItem.vue_vue_type_script_setup_true_name_panelItem_lang-Dtz8b4vz.mjs.map +1 -0
- package/dist/iframes-DCvvORXH.js +1 -0
- package/dist/iframes-DCvvORXH.js.gz +0 -0
- package/dist/iframes-DCvvORXH.js.map +1 -0
- package/dist/iframes-DKPJ8wxi.mjs +1 -0
- package/dist/iframes-DKPJ8wxi.mjs.gz +0 -0
- package/dist/iframes-DKPJ8wxi.mjs.map +1 -0
- package/dist/index-0vzDoVhe.mjs +1 -0
- package/dist/index-0vzDoVhe.mjs.gz +0 -0
- package/dist/index-0vzDoVhe.mjs.map +1 -0
- package/dist/index-1hgXG7It.js +1 -0
- package/dist/index-1hgXG7It.js.gz +0 -0
- package/dist/index-1hgXG7It.js.map +1 -0
- package/dist/index-4GTrORei.js +1 -0
- package/dist/index-4GTrORei.js.map +1 -0
- package/dist/index-B-Ori_IC.js +1 -0
- package/dist/index-B-Ori_IC.js.gz +0 -0
- package/dist/index-B-Ori_IC.js.map +1 -0
- package/dist/index-B0GMXwiE.mjs +1 -0
- package/dist/index-B0GMXwiE.mjs.gz +0 -0
- package/dist/index-B0GMXwiE.mjs.map +1 -0
- package/dist/index-B0mEK2cV.mjs +1 -0
- package/dist/index-B0mEK2cV.mjs.map +1 -0
- package/dist/index-BAaaz79H.js +1 -0
- package/dist/index-BAaaz79H.js.gz +0 -0
- package/dist/index-BAaaz79H.js.map +1 -0
- package/dist/index-BDcwKtzF.mjs +1 -0
- package/dist/index-BDcwKtzF.mjs.map +1 -0
- package/dist/index-BN4Me9T2.mjs +1 -0
- package/dist/index-BN4Me9T2.mjs.gz +0 -0
- package/dist/index-BN4Me9T2.mjs.map +1 -0
- package/dist/index-BNW5-ejc.js +1 -0
- package/dist/index-BNW5-ejc.js.gz +0 -0
- package/dist/index-BNW5-ejc.js.map +1 -0
- package/dist/index-BSwDJeZ0.mjs +1 -0
- package/dist/index-BSwDJeZ0.mjs.map +1 -0
- package/dist/index-BWafrLdt.mjs +1 -0
- package/dist/index-BWafrLdt.mjs.map +1 -0
- package/dist/index-BXUxh4lH.mjs +1 -0
- package/dist/index-BXUxh4lH.mjs.map +1 -0
- package/dist/index-BXmNKW66.mjs +1 -0
- package/dist/index-BXmNKW66.mjs.map +1 -0
- package/dist/index-BXzcUeFl.js +1 -0
- package/dist/index-BXzcUeFl.js.gz +0 -0
- package/dist/index-BXzcUeFl.js.map +1 -0
- package/dist/index-B_9aNNYJ.js +1 -0
- package/dist/index-B_9aNNYJ.js.gz +0 -0
- package/dist/index-B_9aNNYJ.js.map +1 -0
- package/dist/index-BaagLr_r.mjs +1 -0
- package/dist/index-BaagLr_r.mjs.gz +0 -0
- package/dist/index-BaagLr_r.mjs.map +1 -0
- package/dist/index-Bd_e3_GE.js +1 -0
- package/dist/index-Bd_e3_GE.js.map +1 -0
- package/dist/index-BeNCTICt.js +1 -0
- package/dist/index-BeNCTICt.js.map +1 -0
- package/dist/index-Bjm5ZBl3.mjs +1 -0
- package/dist/index-Bjm5ZBl3.mjs.gz +0 -0
- package/dist/index-Bjm5ZBl3.mjs.map +1 -0
- package/dist/index-BklJiGW7.js +1 -0
- package/dist/index-BklJiGW7.js.gz +0 -0
- package/dist/index-BklJiGW7.js.map +1 -0
- package/dist/index-BlcsIt1I.mjs +1 -0
- package/dist/index-BlcsIt1I.mjs.map +1 -0
- package/dist/index-BmTJZkui.js +1 -0
- package/dist/index-BmTJZkui.js.gz +0 -0
- package/dist/index-BmTJZkui.js.map +1 -0
- package/dist/index-Bt4M5xi5.js +1 -0
- package/dist/index-Bt4M5xi5.js.gz +0 -0
- package/dist/index-Bt4M5xi5.js.map +1 -0
- package/dist/index-BvOascd4.js +1 -0
- package/dist/index-BvOascd4.js.gz +0 -0
- package/dist/index-BvOascd4.js.map +1 -0
- package/dist/index-BzEYHziM.mjs +1 -0
- package/dist/index-BzEYHziM.mjs.gz +0 -0
- package/dist/index-BzEYHziM.mjs.map +1 -0
- package/dist/index-C3nrmBjO.js +1 -0
- package/dist/index-C3nrmBjO.js.gz +0 -0
- package/dist/index-C3nrmBjO.js.map +1 -0
- package/dist/index-C5l7JAoo.mjs +1 -0
- package/dist/index-C5l7JAoo.mjs.map +1 -0
- package/dist/index-C6bxbndt.mjs +1 -0
- package/dist/index-C6bxbndt.mjs.gz +0 -0
- package/dist/index-C6bxbndt.mjs.map +1 -0
- package/dist/index-C9xWMZfT.js +1 -0
- package/dist/index-C9xWMZfT.js.gz +0 -0
- package/dist/index-C9xWMZfT.js.map +1 -0
- package/dist/index-CGFlRuoY.js +1 -0
- package/dist/index-CGFlRuoY.js.map +1 -0
- package/dist/index-CI9zzn9o.mjs +1 -0
- package/dist/index-CI9zzn9o.mjs.gz +0 -0
- package/dist/index-CI9zzn9o.mjs.map +1 -0
- package/dist/index-CJlXzWw8.mjs +1 -0
- package/dist/index-CJlXzWw8.mjs.gz +0 -0
- package/dist/index-CJlXzWw8.mjs.map +1 -0
- package/dist/index-CMvZkA7V.mjs +1 -0
- package/dist/index-CMvZkA7V.mjs.gz +0 -0
- package/dist/index-CMvZkA7V.mjs.map +1 -0
- package/dist/index-C_Bq756k.js +1 -0
- package/dist/index-C_Bq756k.js.map +1 -0
- package/dist/index-Ca-xLPx_.js +1 -0
- package/dist/index-Ca-xLPx_.js.map +1 -0
- package/dist/index-Cbe_EGna.mjs +1 -0
- package/dist/index-Cbe_EGna.mjs.gz +0 -0
- package/dist/index-Cbe_EGna.mjs.map +1 -0
- package/dist/index-Cci2M-v7.js +1 -0
- package/dist/index-Cci2M-v7.js.gz +0 -0
- package/dist/index-Cci2M-v7.js.map +1 -0
- package/dist/index-CdWcXSH1.js +1 -0
- package/dist/index-CdWcXSH1.js.map +1 -0
- package/dist/index-Cfi58s_a.mjs +1 -0
- package/dist/index-Cfi58s_a.mjs.map +1 -0
- package/dist/index-CjN-P9xK.js +1 -0
- package/dist/index-CjN-P9xK.js.gz +0 -0
- package/dist/index-CjN-P9xK.js.map +1 -0
- package/dist/index-CkwQJZld.mjs +1 -0
- package/dist/index-CkwQJZld.mjs.map +1 -0
- package/dist/index-ClinQMhm.mjs +1 -0
- package/dist/index-ClinQMhm.mjs.map +1 -0
- package/dist/index-CnLbBexb.js +1 -0
- package/dist/index-CnLbBexb.js.gz +0 -0
- package/dist/index-CnLbBexb.js.map +1 -0
- package/dist/index-Cr3PetI-.mjs +1 -0
- package/dist/index-Cr3PetI-.mjs.gz +0 -0
- package/dist/index-Cr3PetI-.mjs.map +1 -0
- package/dist/index-CtkHqNc-.mjs +1 -0
- package/dist/index-CtkHqNc-.mjs.gz +0 -0
- package/dist/index-CtkHqNc-.mjs.map +1 -0
- package/dist/index-D3ifoSvO.mjs +1 -0
- package/dist/index-D3ifoSvO.mjs.gz +0 -0
- package/dist/index-D3ifoSvO.mjs.map +1 -0
- package/dist/index-D4tKriJ6.mjs +1 -0
- package/dist/index-D4tKriJ6.mjs.map +1 -0
- package/dist/index-D8HOsx13.js +1 -0
- package/dist/index-D8HOsx13.js.map +1 -0
- package/dist/index-D9F52pHu.mjs +1 -0
- package/dist/index-D9F52pHu.mjs.gz +0 -0
- package/dist/index-D9F52pHu.mjs.map +1 -0
- package/dist/index-DDkkJRXr.js +1 -0
- package/dist/index-DDkkJRXr.js.gz +0 -0
- package/dist/index-DDkkJRXr.js.map +1 -0
- package/dist/index-DE7y0nJb.js +1 -0
- package/dist/index-DE7y0nJb.js.map +1 -0
- package/dist/index-DFArDqvd.js +1 -0
- package/dist/index-DFArDqvd.js.gz +0 -0
- package/dist/index-DFArDqvd.js.map +1 -0
- package/dist/index-DI3kpTbZ.js +1 -0
- package/dist/index-DI3kpTbZ.js.map +1 -0
- package/dist/index-DRftKk-f.js +1 -0
- package/dist/index-DRftKk-f.js.gz +0 -0
- package/dist/index-DRftKk-f.js.map +1 -0
- package/dist/index-DRmQ-L_1.js +1 -0
- package/dist/index-DRmQ-L_1.js.map +1 -0
- package/dist/index-DTunHIPd.js +1 -0
- package/dist/index-DTunHIPd.js.gz +0 -0
- package/dist/index-DTunHIPd.js.map +1 -0
- package/dist/index-Dc9d_H4k.js +1 -0
- package/dist/index-Dc9d_H4k.js.map +1 -0
- package/dist/index-DdDdKbUS.js +1 -0
- package/dist/index-DdDdKbUS.js.gz +0 -0
- package/dist/index-DdDdKbUS.js.map +1 -0
- package/dist/index-Ddh7F0O0.mjs +1 -0
- package/dist/index-Ddh7F0O0.mjs.gz +0 -0
- package/dist/index-Ddh7F0O0.mjs.map +1 -0
- package/dist/index-DkHuEE7h.mjs +1 -0
- package/dist/index-DkHuEE7h.mjs.gz +0 -0
- package/dist/index-DkHuEE7h.mjs.map +1 -0
- package/dist/index-Dx15Z58I.mjs +1 -0
- package/dist/index-Dx15Z58I.mjs.gz +0 -0
- package/dist/index-Dx15Z58I.mjs.map +1 -0
- package/dist/index-J_2HDjM_.mjs +1 -0
- package/dist/index-J_2HDjM_.mjs.gz +0 -0
- package/dist/index-J_2HDjM_.mjs.map +1 -0
- package/dist/index-MKaNyXUf.mjs +1 -0
- package/dist/index-MKaNyXUf.mjs.gz +0 -0
- package/dist/index-MKaNyXUf.mjs.map +1 -0
- package/dist/index-Ma5CaYaJ.mjs +1 -0
- package/dist/index-Ma5CaYaJ.mjs.gz +0 -0
- package/dist/index-Ma5CaYaJ.mjs.map +1 -0
- package/dist/index-U4p45J__.js +1 -0
- package/dist/index-U4p45J__.js.gz +0 -0
- package/dist/index-U4p45J__.js.map +1 -0
- package/dist/index-VAmsjOkF.js +1 -0
- package/dist/index-VAmsjOkF.js.map +1 -0
- package/dist/index-axWnmdZg.mjs +1 -0
- package/dist/index-axWnmdZg.mjs.gz +0 -0
- package/dist/index-axWnmdZg.mjs.map +1 -0
- package/dist/index-bRFfi62s.mjs +1 -0
- package/dist/index-bRFfi62s.mjs.gz +0 -0
- package/dist/index-bRFfi62s.mjs.map +1 -0
- package/dist/index-bwrWhoSW.js +1 -0
- package/dist/index-bwrWhoSW.js.map +1 -0
- package/dist/index-dVKTvnms.mjs +1 -0
- package/dist/index-dVKTvnms.mjs.gz +0 -0
- package/dist/index-dVKTvnms.mjs.map +1 -0
- package/dist/index-gcyAUDW6.mjs +1 -0
- package/dist/index-gcyAUDW6.mjs.map +1 -0
- package/dist/index-kuyYmMvk.js +1 -0
- package/dist/index-kuyYmMvk.js.gz +0 -0
- package/dist/index-kuyYmMvk.js.map +1 -0
- package/dist/index-lF7YzYiW.js +1 -0
- package/dist/index-lF7YzYiW.js.gz +0 -0
- package/dist/index-lF7YzYiW.js.map +1 -0
- package/dist/{hsadminui.cjs.js → index.js} +1 -0
- package/dist/index.js.map +1 -0
- package/dist/{hsadminui.es.js → index.mjs} +1 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang--5y1a_ul.js +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang--5y1a_ul.js.gz +0 -0
- package/dist/index.vue_vue_type_script_setup_true_lang--5y1a_ul.js.map +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-12lO_K3Y.js +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-12lO_K3Y.js.gz +0 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-12lO_K3Y.js.map +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-9-wVHX_J.mjs +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-9-wVHX_J.mjs.gz +0 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-9-wVHX_J.mjs.map +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-BauM3Znx.mjs +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-BauM3Znx.mjs.gz +0 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-BauM3Znx.mjs.map +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-BsZvlPof.js +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-BsZvlPof.js.gz +0 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-BsZvlPof.js.map +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-CQZeaLjV.js +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-CQZeaLjV.js.gz +0 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-CQZeaLjV.js.map +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-Dcl-lBUE.mjs +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-Dcl-lBUE.mjs.gz +0 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-Dcl-lBUE.mjs.map +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-Pu4orxEq.mjs +1 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-Pu4orxEq.mjs.gz +0 -0
- package/dist/index.vue_vue_type_script_setup_true_lang-Pu4orxEq.mjs.map +1 -0
- package/dist/index.vue_vue_type_script_setup_true_name_testtablecomponent_lang-CAPC81ra.mjs +1 -0
- package/dist/index.vue_vue_type_script_setup_true_name_testtablecomponent_lang-CAPC81ra.mjs.gz +0 -0
- package/dist/index.vue_vue_type_script_setup_true_name_testtablecomponent_lang-CAPC81ra.mjs.map +1 -0
- package/dist/index.vue_vue_type_script_setup_true_name_testtablecomponent_lang-DsMQjCAy.js +1 -0
- package/dist/index.vue_vue_type_script_setup_true_name_testtablecomponent_lang-DsMQjCAy.js.gz +0 -0
- package/dist/index.vue_vue_type_script_setup_true_name_testtablecomponent_lang-DsMQjCAy.js.map +1 -0
- package/dist/link-8F3PAF-a.js +1 -0
- package/dist/link-8F3PAF-a.js.gz +0 -0
- package/dist/link-8F3PAF-a.js.map +1 -0
- package/dist/link-Yc7Kpo76.mjs +1 -0
- package/dist/link-Yc7Kpo76.mjs.gz +0 -0
- package/dist/link-Yc7Kpo76.mjs.map +1 -0
- package/dist/list-D9ae7seo.mjs +1 -0
- package/dist/list-D9ae7seo.mjs.gz +0 -0
- package/dist/list-D9ae7seo.mjs.map +1 -0
- package/dist/list-Dow9Rjfk.js +1 -0
- package/dist/list-Dow9Rjfk.js.gz +0 -0
- package/dist/list-Dow9Rjfk.js.map +1 -0
- package/dist/logo-mini-B38ustl2.js +1 -0
- package/dist/logo-mini-B38ustl2.js.gz +0 -0
- package/dist/logo-mini-B38ustl2.js.map +1 -0
- package/dist/logo-mini-Bl032aC-.mjs +1 -0
- package/dist/logo-mini-Bl032aC-.mjs.gz +0 -0
- package/dist/logo-mini-Bl032aC-.mjs.map +1 -0
- package/dist/main-CPdfe1pW.mjs +1 -0
- package/dist/main-CPdfe1pW.mjs.gz +0 -0
- package/dist/main-CPdfe1pW.mjs.map +1 -0
- package/dist/main-i2ZjgX5U.js +1 -0
- package/dist/main-i2ZjgX5U.js.gz +0 -0
- package/dist/main-i2ZjgX5U.js.map +1 -0
- package/dist/mobile-CqmHQbJ6.js +1 -0
- package/dist/mobile-CqmHQbJ6.js.gz +0 -0
- package/dist/mobile-CqmHQbJ6.js.map +1 -0
- package/dist/mobile-DSG1E0yR.mjs +1 -0
- package/dist/mobile-DSG1E0yR.mjs.gz +0 -0
- package/dist/mobile-DSG1E0yR.mjs.map +1 -0
- package/dist/parent-BbMA3BPH.js +1 -0
- package/dist/parent-BbMA3BPH.js.gz +0 -0
- package/dist/parent-BbMA3BPH.js.map +1 -0
- package/dist/parent-DA1oPHtc.mjs +1 -0
- package/dist/parent-DA1oPHtc.mjs.gz +0 -0
- package/dist/parent-DA1oPHtc.mjs.map +1 -0
- package/dist/roleItem-CWeXcpPS.mjs +1 -0
- package/dist/roleItem-CWeXcpPS.mjs.gz +0 -0
- package/dist/roleItem-CWeXcpPS.mjs.map +1 -0
- package/dist/roleItem-DjJV5a4d.js +1 -0
- package/dist/roleItem-DjJV5a4d.js.gz +0 -0
- package/dist/roleItem-DjJV5a4d.js.map +1 -0
- package/dist/saveForm-BwOCcI7T.mjs +1 -0
- package/dist/saveForm-BwOCcI7T.mjs.map +1 -0
- package/dist/saveForm-DXV66xTl.js +1 -0
- package/dist/saveForm-DXV66xTl.js.map +1 -0
- package/dist/saveForm.vue_vue_type_script_setup_true_lang-BLp4BfjS.js +1 -0
- package/dist/saveForm.vue_vue_type_script_setup_true_lang-BLp4BfjS.js.gz +0 -0
- package/dist/saveForm.vue_vue_type_script_setup_true_lang-BLp4BfjS.js.map +1 -0
- package/dist/saveForm.vue_vue_type_script_setup_true_lang-CeijUxMQ.mjs +1 -0
- package/dist/saveForm.vue_vue_type_script_setup_true_lang-CeijUxMQ.mjs.gz +0 -0
- package/dist/saveForm.vue_vue_type_script_setup_true_lang-CeijUxMQ.mjs.map +1 -0
- package/dist/scan-1M3t7I5S.js +1 -0
- package/dist/scan-1M3t7I5S.js.gz +0 -0
- package/dist/scan-1M3t7I5S.js.map +1 -0
- package/dist/scan-2n2P5UFK.mjs +1 -0
- package/dist/scan-2n2P5UFK.mjs.gz +0 -0
- package/dist/scan-2n2P5UFK.mjs.map +1 -0
- package/dist/search-C9A88JD-.js +1 -0
- package/dist/search-C9A88JD-.js.gz +0 -0
- package/dist/search-C9A88JD-.js.map +1 -0
- package/dist/search-CJtqW1Em.mjs +1 -0
- package/dist/search-CJtqW1Em.mjs.gz +0 -0
- package/dist/search-CJtqW1Em.mjs.map +1 -0
- package/dist/selectConfig-CfldoXSW.mjs +1 -0
- package/dist/selectConfig-CfldoXSW.mjs.gz +0 -0
- package/dist/selectConfig-CfldoXSW.mjs.map +1 -0
- package/dist/selectConfig-D-DU5vyZ.js +1 -0
- package/dist/selectConfig-D-DU5vyZ.js.gz +0 -0
- package/dist/selectConfig-D-DU5vyZ.js.map +1 -0
- package/dist/subItem-Bx6nrs-W.js +1 -0
- package/dist/subItem-Bx6nrs-W.js.gz +0 -0
- package/dist/subItem-Bx6nrs-W.js.map +1 -0
- package/dist/subItem-DG6wOFtK.mjs +1 -0
- package/dist/subItem-DG6wOFtK.mjs.gz +0 -0
- package/dist/subItem-DG6wOFtK.mjs.map +1 -0
- package/dist/tagsView-BsiagX1g.js +1 -0
- package/dist/tagsView-BsiagX1g.js.gz +0 -0
- package/dist/tagsView-BsiagX1g.js.map +1 -0
- package/dist/tagsView-CNZAZNvP.mjs +1 -0
- package/dist/tagsView-CNZAZNvP.mjs.gz +0 -0
- package/dist/tagsView-CNZAZNvP.mjs.map +1 -0
- package/dist/transverse-Bw3MzV2Q.mjs +1 -0
- package/dist/transverse-Bw3MzV2Q.mjs.gz +0 -0
- package/dist/transverse-Bw3MzV2Q.mjs.map +1 -0
- package/dist/transverse-D8T9I9T0.js +1 -0
- package/dist/transverse-D8T9I9T0.js.gz +0 -0
- package/dist/transverse-D8T9I9T0.js.map +1 -0
- package/dist/trtcUI-C7LpCHW2.js +1 -0
- package/dist/trtcUI-C7LpCHW2.js.gz +0 -0
- package/dist/trtcUI-C7LpCHW2.js.map +1 -0
- package/dist/trtcUI-Y35u5lbf.mjs +1 -0
- package/dist/trtcUI-Y35u5lbf.mjs.gz +0 -0
- package/dist/trtcUI-Y35u5lbf.mjs.map +1 -0
- package/dist/uploadAvatar-BGiT0PmT.mjs +1 -0
- package/dist/uploadAvatar-BGiT0PmT.mjs.gz +0 -0
- package/dist/uploadAvatar-BGiT0PmT.mjs.map +1 -0
- package/dist/uploadAvatar-UlB9U3pn.js +1 -0
- package/dist/uploadAvatar-UlB9U3pn.js.gz +0 -0
- package/dist/uploadAvatar-UlB9U3pn.js.map +1 -0
- package/dist/uploadAvatar.vue_vue_type_style_index_0_scoped_99513ec9_lang-1q5Jq5S0.js +1 -0
- package/dist/uploadAvatar.vue_vue_type_style_index_0_scoped_99513ec9_lang-1q5Jq5S0.js.gz +0 -0
- package/dist/uploadAvatar.vue_vue_type_style_index_0_scoped_99513ec9_lang-1q5Jq5S0.js.map +1 -0
- package/dist/uploadAvatar.vue_vue_type_style_index_0_scoped_99513ec9_lang-Dmzfac6b.mjs +1 -0
- package/dist/uploadAvatar.vue_vue_type_style_index_0_scoped_99513ec9_lang-Dmzfac6b.mjs.gz +0 -0
- package/dist/uploadAvatar.vue_vue_type_style_index_0_scoped_99513ec9_lang-Dmzfac6b.mjs.map +1 -0
- package/dist/user-Cc2PF_h0.mjs +1 -0
- package/dist/user-Cc2PF_h0.mjs.gz +0 -0
- package/dist/user-Cc2PF_h0.mjs.map +1 -0
- package/dist/user-CqzkZzOA.js +1 -0
- package/dist/user-CqzkZzOA.js.gz +0 -0
- package/dist/user-CqzkZzOA.js.map +1 -0
- package/dist/userNews-CDk_AMjc.mjs +1 -0
- package/dist/userNews-CDk_AMjc.mjs.gz +0 -0
- package/dist/userNews-CDk_AMjc.mjs.map +1 -0
- package/dist/userNews-DxfIY3B0.js +1 -0
- package/dist/userNews-DxfIY3B0.js.gz +0 -0
- package/dist/userNews-DxfIY3B0.js.map +1 -0
- package/dist/userSelect-C4uV-44Y.js +1 -0
- package/dist/userSelect-C4uV-44Y.js.map +1 -0
- package/dist/userSelect-DWo8Si5v.mjs +1 -0
- package/dist/userSelect-DWo8Si5v.mjs.map +1 -0
- package/dist/userSelect.vue_vue_type_script_setup_true_lang-DH1DQONF.mjs +1 -0
- package/dist/userSelect.vue_vue_type_script_setup_true_lang-DH1DQONF.mjs.gz +0 -0
- package/dist/userSelect.vue_vue_type_script_setup_true_lang-DH1DQONF.mjs.map +1 -0
- package/dist/userSelect.vue_vue_type_script_setup_true_lang-DrzKVQFK.js +1 -0
- package/dist/userSelect.vue_vue_type_script_setup_true_lang-DrzKVQFK.js.gz +0 -0
- package/dist/userSelect.vue_vue_type_script_setup_true_lang-DrzKVQFK.js.map +1 -0
- package/dist/vertical-BmaGLl-7.mjs +1 -0
- package/dist/vertical-BmaGLl-7.mjs.gz +0 -0
- package/dist/vertical-BmaGLl-7.mjs.map +1 -0
- package/dist/vertical-DddbvLcE.js +1 -0
- package/dist/vertical-DddbvLcE.js.gz +0 -0
- package/dist/vertical-DddbvLcE.js.map +1 -0
- package/package.json +9 -8
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
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 +1,2 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),f=require("./baseBtnConfig-BaYFVzAe.js"),o=require("./index-DdDdKbUS.js");function g(r,u,a){const s=t=>{var c;let l=t.id==((c=u.current)==null?void 0:c.id)?o._.cloneDeep(f.emptyBtnItemData):t;r("chose",l)};return{choseTagItem:s,appendField:()=>{let t=o._.cloneDeep(f.btnItemConfig);t.id=o.v4(),a.value.push(t);let l=a.value[a.value.length-1];s(l)},deleteTagItem:t=>{o.ElMessageBox.confirm(`确定删除“${t.data&&t.data.name}”字段吗?`,"提示",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"}).then(()=>{o._.remove(a.value||[],t),s(t),o.ElMessage.success("删除成功")}).catch(l=>{console.log("err",l)})}}}const v=["onClick"],h=["onClick"],k={class:"p-2"},B=e.defineComponent({__name:"hsBtnConfigList",props:e.mergeModels({current:{type:Object,default:()=>{}}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["chose"],["update:modelValue"]),setup(r,{emit:u}){const a=e.ref(),s=u,d=e.useModel(r,"modelValue"),p=r,{appendField:t,deleteTagItem:l,choseTagItem:c}=g(s,p,d);return(b,i)=>(e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.unref(o.to),{ref_key:"dragRef",ref:a,class:"flex flex-wrap",handle:".drag-item",ghostClass:"ghost",modelValue:d.value,"onUpdate:modelValue":i[1]||(i[1]=n=>d.value=n),animation:150},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(n,x)=>(e.openBlock(),e.createElementBlock("div",{class:"drag-item p-2 relative",key:n.id,onClick:m=>e.unref(c)(n)},[e.createElementVNode("div",{class:e.normalizeClass(["border border-solid border-zinc-300 hover:bg-blue-200 p-2 rounded",r.current.id==n.id?"bg-blue-200":""])},e.toDisplayString(n.data&&n.data.name),3),r.current.id==n.id?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:e.withModifiers(m=>e.unref(l)(n),["stop","prevent"]),style:{position:"absolute",top:"0px",right:"5px",cursor:"pointer"}}," ✖️ ",8,h)):e.createCommentVNode("",!0)],8,v))),128)),e.createElementVNode("div",k,[e.createElementVNode("div",{onClick:i[0]||(i[0]=(...n)=>e.unref(t)&&e.unref(t)(...n)),class:"p-2 bg-pink-200 w-10 h-10 flex justify-center align-center rounded-full"},"+")])]),_:1},8,["modelValue"])]))}}),C=o._export_sfc(B,[["__scopeId","data-v-a1ec010e"]]);exports.default=C;
|
|
2
|
+
//# sourceMappingURL=hsBtnConfigList-Bb1nm0Vy.js.map
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hsBtnItemConfig-BCJqmO3A.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hsBtnItemConfig-CzRP7rGc.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
"use strict";const e=require("vue"),s=require("./index-DdDdKbUS.js");function d(t,i){const n=e.ref({labelWidth:150,span:24,minWidth:350,style:"padding:5px 10px"});let a=e.ref({url:"/scmp-web/pri/btn_config/get_btn_config_page_list",value_key:"btn_label",params:{btn_name:"",project_code:""},qry_key:"btn_name"});return e.onMounted(()=>{let o=s.Session.get("CURRENT_SYSTEM"),u=a.value.params;u.project_code=o.project_code||"",a.value=s._.assign(a.value,{params:u})}),{parentConfig:n,requestData:a,onChangeItem:o=>{t.value=s._.assign(t.value,JSON.parse(o.json_data),{field_id:o.id}),console.debug("handleSelect",t.value)},getSubmitData:async()=>await i.value.getSubmitData()}}const p=e.defineComponent({__name:"hsBtnItemConfig",props:e.mergeModels({config:{type:Object,default:()=>{}}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t,{expose:i}){const n=e.useModel(t,"modelValue"),a=e.ref(),{parentConfig:m,requestData:l,onChangeItem:o,getSubmitData:u}=d(n,a);return i({getSubmitData:u}),(g,r)=>{const f=e.resolveComponent("bc-auto-complete");return e.openBlock(),e.createBlock(e.resolveDynamicComponent("bc-form-config"),{ref_key:"baseConfigRef",ref:a,parentConfig:e.unref(m),data:n.value,config:t.config.list,rules:t.config.rules},{key:e.withCtx(()=>[e.createVNode(f,{url:e.unref(l).url,qry_key:e.unref(l).qry_key,params:e.unref(l).params,type:"btn",modelValue:n.value.key,"onUpdate:modelValue":r[0]||(r[0]=c=>n.value.key=c),onChange:e.unref(o),value_key:e.unref(l).value_key},null,8,["url","qry_key","params","modelValue","onChange","value_key"])]),btnIcon:e.withCtx(()=>[e.createVNode(s._sfc_main$1,{placeholder:"请选择图标",clearable:"",isShowPrepend:!1,modelValue:n.value.btnIcon,"onUpdate:modelValue":r[1]||(r[1]=c=>n.value.btnIcon=c),title:""},null,8,["modelValue"])]),_:1},8,["parentConfig","data","config","rules"])}}});exports._sfc_main=p;
|
|
2
|
+
//# sourceMappingURL=hsBtnItemConfig.vue_vue_type_script_setup_true_lang-DS7PtHA3.js.map
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hsBtnPanel-CUhnhH9S.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hsBtnPanel-D-Y2DAWc.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
"use strict";const e=require("vue"),i=require("./hsBtnConfigList-Bb1nm0Vy.js"),c=require("./hsAttrBtn.vue_vue_type_script_setup_true_lang-CQvnEDXk.js"),d=require("./hsExpand.vue_vue_type_script_setup_true_lang-DI5xS1It.js"),m=require("./baseBtnConfig-BaYFVzAe.js"),f=require("./index-DdDdKbUS.js"),p={class:"mx-auto flex flex-row h-full"},_={class:"flex-1 grow overflow-y-auto"},v={key:0,class:"flex-none basis-1/4 ml-4"},C=e.defineComponent({name:"formPanel"}),b=e.defineComponent({...C,props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(a){const t=e.useModel(a,"modelValue"),l=e.ref({visible:!0,subTitle:"按钮配置",class:"font-bold my-3",iconSize:20});let u=e.ref(f._.cloneDeep(m.emptyBtnItemData));const r=s=>{u.value=s};return(s,n)=>(e.openBlock(),e.createElementBlock("div",p,[e.createElementVNode("div",_,[e.createVNode(d._sfc_main,{modelValue:l.value.visible,"onUpdate:modelValue":n[0]||(n[0]=o=>l.value.visible=o),expandConfig:l.value,data:t.value,"onUpdate:data":n[1]||(n[1]=o=>t.value=o),popover:"",type:"buttonConfig"},null,8,["modelValue","expandConfig","data"]),l.value.visible?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.default),{key:0,modelValue:t.value,"onUpdate:modelValue":n[2]||(n[2]=o=>t.value=o),current:e.unref(u),onChose:r},null,40,["modelValue","current"])):e.createCommentVNode("",!0)]),(t.value||[]).length>0&&e.unref(u).id?(e.openBlock(),e.createElementBlock("div",v,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c._sfc_main),{btnList:t.value,current:e.unref(u)},null,8,["btnList","current"]))])):e.createCommentVNode("",!0)]))}});exports._sfc_main=b;
|
|
2
|
+
//# sourceMappingURL=hsBtnPanel.vue_vue_type_script_setup_true_name_formPanel_lang-CFWt1cBu.js.map
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hsExpand-DIo3Lfqs.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hsExpand-MS4CSl__.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
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 +1,2 @@
|
|
|
1
1
|
"use strict";const t=require("vue"),n=require("./index-DdDdKbUS.js");function N(s){return{toggleExpand:()=>{s.value=!s.value}}}const V={class:"flex h-full"},_=t.defineComponent({__name:"hsExpand",props:t.mergeModels({expandConfig:{type:Object,default:()=>({iconSize:18,subTitle:"",class:""})},popover:{type:Boolean,default:!1},data:{type:Object,default:()=>{}},type:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:t.mergeModels(["update"],["update:modelValue"]),setup(s,{emit:g}){const l=s,x=g,u=t.useModel(s,"modelValue"),d=t.ref({}),{toggleExpand:p}=N(u),y=async()=>{console.log("copyConfig",l.data);try{let e=n._.cloneDeep(l.data);await navigator.clipboard.writeText(JSON.stringify({type:l.type,data:e})),n.ElMessage.success("复制成功")}catch(e){console.error("复制失败:",e),n.ElMessage.warning("复制失败")}},C=async()=>{console.log("restoreConfig",d.value,l.data),n.ElMessageBox.confirm("还原会覆盖当前配置,是否继续?","还原确认",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"}).then(async()=>{Object.assign(l.data,n._.cloneDeep(d.value)),n.ElMessage.success("还原成功")}).catch(e=>{console.log("err",e)})},v=()=>{n.ElMessageBox.confirm("粘贴会覆盖当前配置,是否继续?","粘贴确认",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"}).then(async()=>{d.value=n._.cloneDeep(l.data),console.log("pasteConfig",d.value,l.data);try{const e=await navigator.clipboard.readText();if(console.log("text",e),e){const{type:r,data:a}=JSON.parse(e);if(r===l.type){if(l.type=="formItemConfig"){let o=m(a);M(l.data,o),n.ElMessage.success("粘贴成功");return}if(Array.isArray(a)){E(l.data,m(a)),n.ElMessage.success("粘贴成功");return}if(typeof a=="object"){Object.assign(l.data,f(a)),x("update",{type:l.type,data:n._.cloneDeep(l.data)}),n.ElMessage.success("粘贴成功");return}}else n.ElMessage.error("粘贴失败,类型不匹配")}else n.ElMessage.error("粘贴失败, 数据格式错误")}catch(e){console.error("粘贴失败:",e),n.ElMessage.error("粘贴失败")}}).catch(e=>{console.log("err",e)})},f=(e,r=["formConfig"],a=["id"])=>{if(typeof e=="object")for(let o in e)r.includes(o)?Array.isArray(e[o])?h(e[o],a):typeof e[o]=="object"&&f(e[o],r,a):typeof e[o]=="object"?f(e[o],r,a):a.includes(o)&&(e[o]=n.v4());return e},h=(e,r=["id"])=>Array.isArray(e)?e.forEach(a=>(typeof a=="object"&&r.forEach(o=>{a[o]&&(a[o]=n.v4())}),a)):e,E=(e,r,a="key")=>{let o=n._.compact(n._.map(n._.map(e,"data"),a)),i=r.filter(c=>!o.includes(c.data[a]));e.push(...i)},m=(e,r="id")=>Array.isArray(e)?e.map(a=>(a[r]&&(a[r]=n.v4()),typeof a=="object"&&a[r]&&(a[r]=n.v4()),a)):e,M=(e,r)=>{let a=n.Session.get("CURRENT_SYSTEM"),o=n._.compact(n._.map(n._.map(e,"data"),"elementItem[0].baseData.prop")),i=r.filter(c=>!o.some(w=>w==c.data.elementItem[0].baseData.prop));i.forEach(c=>{I(c,a)}),e.push(...i)},A=["hs-select","hs-tree-select"],D=["hs-radio","hs-checkbox"],I=(e,r)=>(A.includes(e.data.elementItem[0].baseData.el)&&e.data.elementItem[0].elData.attrs&&e.data.elementItem[0].elData.attrs.proxy&&e.data.elementItem[0].elData.attrs.proxy!=r.project_url&&(e.data.elementItem[0].elData.attrs.proxy=r.project_url),D.includes(e.data.elementItem[0].baseData.el)&&e.data.elementItem[0].elData.groupAttrs&&e.data.elementItem[0].elData.groupAttrs.proxy&&e.data.elementItem[0].elData.groupAttrs.proxy!=r.project_url&&(e.data.elementItem[0].elData.groupAttrs.proxy=r.project_url),e);return(e,r)=>{const a=t.resolveComponent("hs-button"),o=t.resolveComponent("svgIcon"),i=t.resolveComponent("el-popover");return s.popover&&s.type?(t.openBlock(),t.createBlock(i,{key:0,placement:"top-end",width:"auto",trigger:"hover"},{reference:t.withCtx(()=>[t.createElementVNode("div",{onClick:r[0]||(r[0]=(...c)=>t.unref(p)&&t.unref(p)(...c)),class:t.normalizeClass(["flex align-center cursor-pointer hover:bg-red-200",s.expandConfig.class])},[t.createVNode(o,{class:"pt-1",name:u.value?"ele-CaretBottom":"ele-CaretRight",size:s.expandConfig.iconSize||18},null,8,["name","size"]),t.createElementVNode("div",null,t.toDisplayString(s.expandConfig.subTitle),1)],2)]),default:t.withCtx(()=>[t.createElementVNode("div",V,[t.createVNode(a,{size:"small",round:"",onClick:y},{default:t.withCtx(()=>[t.createTextVNode("复制配置")]),_:1}),t.createVNode(a,{size:"small",round:"",onClick:v},{default:t.withCtx(()=>[t.createTextVNode("粘贴配置")]),_:1}),t.createVNode(a,{size:"small",round:"",onClick:C},{default:t.withCtx(()=>[t.createTextVNode("还原配置")]),_:1})])]),_:1})):(t.openBlock(),t.createElementBlock("div",{key:1,onClick:r[1]||(r[1]=(...c)=>t.unref(p)&&t.unref(p)(...c)),class:t.normalizeClass(["flex align-center cursor-pointer hover:bg-red-200",s.expandConfig.class])},[t.createVNode(o,{class:"pt-1",name:u.value?"ele-CaretBottom":"ele-CaretRight",size:s.expandConfig.iconSize||18},null,8,["name","size"]),t.createElementVNode("div",null,t.toDisplayString(s.expandConfig.subTitle),1)],2))}}});exports._sfc_main=_;
|
|
2
|
+
//# sourceMappingURL=hsExpand.vue_vue_type_script_setup_true_lang-DI5xS1It.js.map
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
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\"> {{ item['label'] }} <span v-if=\"parentConfig.showColon\">: </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 +1,2 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),w=require("./index-DdDdKbUS.js"),B={class:"text-[#606266] truncate"},V={key:0},N=e.defineComponent({__name:"hsFormConfig",props:{parentConfig:{type:Object,default:()=>({labelWidth:200,xs:24,sm:24,md:12,lg:12,xl:8,style:"",showColon:!1})},data:{type:Object,default:()=>{}},config:{type:Array,default:()=>[]},rules:{type:Object,default:()=>{}}},emits:["change"],setup(l,{expose:u,emit:i}){const s=l;let r=e.ref(s.data),p=e.ref(s.config);e.watch(()=>s.data,t=>{r.value=t},{deep:!0});const c=e.ref(),f=()=>new Promise(t=>{if(!c.value){t(!1);return}c.value.validate(a=>{t(!!a)})});let m=i;const g=(t,a)=>{let d=a.prop;m("change",t,d)};return u({getSubmitData:f}),(t,a)=>{const d=e.resolveComponent("ele-Warning"),h=e.resolveComponent("el-icon"),C=e.resolveComponent("el-tooltip"),b=e.resolveComponent("hs-form-item"),k=e.resolveComponent("hs-col"),y=e.resolveComponent("hs-row"),x=e.resolveComponent("hs-form");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(x,e.mergeProps({ref_key:"formRef",ref:c,"label-width":l.parentConfig.labelWidth,inline:!1,"label-position":"right","label-suffix":":","hide-required-asterisk":!1,"require-asterisk-position":"right","show-message":"","inline-message":"","status-icon":"",disabled:!1},t.$attrs,{"scroll-to-error":"",rules:l.rules,model:e.unref(r)}),{default:e.withCtx(()=>[e.createVNode(y,{gutter:0,justify:"start",align:"middle",class:"hs-row"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),(o,_)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[o.show!==!1?(e.openBlock(),e.createBlock(k,{key:_,span:o.span||l.parentConfig.span,xs:o.xs||l.parentConfig.xs,sm:o.sm||l.parentConfig.sm,md:o.md||l.parentConfig.md,lg:o.lg||l.parentConfig.lg,xl:o.xl||l.parentConfig.xl,style:e.normalizeStyle(l.parentConfig.style)},{default:e.withCtx(()=>[o.slot?e.renderSlot(t.$slots,o.slot,e.normalizeProps(e.mergeProps({key:0},o)),void 0,!0):(e.openBlock(),e.createBlock(b,{key:1,label:o.label,prop:o.prop,required:o.required},{label:e.withCtx(()=>[e.createElementVNode("span",B,[e.createTextVNode(" "+e.toDisplayString(o.label)+" ",1),l.parentConfig.showColon?(e.openBlock(),e.createElementBlock("span",V,": ")):e.createCommentVNode("",!0)]),e.createVNode(C,{class:"box-item",effect:"dark",content:o.tooltip||o.label,placement:"top"},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(h,null,{default:e.withCtx(()=>[e.createVNode(d)]),_:1})])]),_:2},1032,["content"])]),default:e.withCtx(()=>[o.slotValue?e.renderSlot(t.$slots,o.slotValue,e.normalizeProps(e.mergeProps({key:0},o)),void 0,!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.el),{key:1,modelValue:e.unref(r)[o.prop],"onUpdate:modelValue":n=>e.unref(r)[o.prop]=n,multiple:o.multiple,size:o.size,type:o.type,disabled:o.disabled,border:"",clearable:o.clearable!=!1,onChange:n=>g(n,o)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.op||[],(n,v)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.cel),{key:v,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:2},1064,["modelValue","onUpdate:modelValue","multiple","size","type","disabled","clearable","onChange"]))]),_:2},1032,["label","prop","required"]))]),_:2},1032,["span","xs","sm","md","lg","xl","style"])):e.createCommentVNode("",!0)],64))),256))]),_:3})]),_:3},16,["label-width","rules","model"])])}}}),q=w._export_sfc(N,[["__scopeId","data-v-afc0e497"]]);exports.default=q;
|
|
2
|
+
//# sourceMappingURL=hsFormConfig-BMyDeJP6.js.map
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
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\"> {{ item['label'] }} <span v-if=\"parentConfig.showColon\">: </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"}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hsFormConfigList-DsVF2R8N.mjs","sources":["../src/views/config/formSetting/components/hsForm/useFormListConfig.ts","../src/views/config/formSetting/components/hsForm/src/hsFormConfigList.vue"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { IFormTable, ComponentAttr } from '/@/types';\r\nimport { Ref, ref, watch } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport { formItemConfig, emptyFormItemData } from '../../default/baseFormConfig'; // 表单配置方法\r\nimport hsFormConfigList from './src/hsFormConfigList.vue';\r\nimport _ from 'lodash';\r\nimport { v4 as uuidv4 } from 'uuid';\r\ninterface DropdownListType {\r\n\tcontextMenuClickId: number;\r\n\ttxt: string;\r\n\taffix: boolean;\r\n\ticon: string;\r\n}\r\n\r\nexport function useHsFormListConfig(\r\n\temit: (event: 'chose', ...args: any[]) => void,\r\n\tprop: ComponentAttr.Props<typeof hsFormConfigList>,\r\n\tconfigModel: Ref<IFormTable.FormConfig | undefined>,\r\n\tstate: { dropdown: { x: number; y: number } },\r\n\tcontextmenuRef: Ref<any>\r\n) {\r\n\t/**\r\n\t * 选择配置项\r\n\t * @param item\r\n\t */\r\n\tconst choseTagItem = (item: IFormTable.ConfigItemType) => {\r\n\t\t// 获取操作项\r\n\t\tlet current = item.id == prop.current?.id ? _.cloneDeep(emptyFormItemData.value) : item;\r\n\t\temit('chose', current);\r\n\t};\r\n\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.ConfigItemType = _.cloneDeep(formItemConfig.value);\r\n\t\tdefaultItemConfig.id = uuidv4();\r\n\t\t// 追加字段配置项\r\n\t\tconfigModel.value?.form?.formConfig.push(defaultItemConfig);\r\n\t\t// 获取新增的配置对象\r\n\t\tlet obj = configModel.value?.form?.formConfig[configModel.value?.form.formConfig.length - 1] || _.cloneDeep(emptyFormItemData.value);\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.ConfigItemType) => {\r\n\t\tElMessageBox.confirm(`确定删除“${item['data'] && item['data']['baseData']['label']}”字段吗?`, '提示', {\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(configModel.value?.form?.formConfig || [], 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\t// { contextMenuClickId: 0, txt: '刷新1', affix: false, icon: '' }\r\n\r\n\tlet dropdownList = ref([]);\r\n\tlet contextmenuIndex = ref(0);\r\n\tlet isEditModel: Ref<boolean> = ref(false);\r\n\tlet checkboxList: any = ref([]);\r\n\t// 切换模式\r\n\tconst toggleModes = () => {\r\n\t\tlet arr = prop?.panelConfig?.forms.filter((i: any) => i.id !== prop?.modelValue?.id && i.formItemType == 'form') || [];\r\n\t\tif (arr.length == 0 && isEditModel.value == false) return ElMessage.warning('请至少添加两个启用表单配置项的数据!');\r\n\t\tisEditModel.value = !isEditModel.value;\r\n\t\tconsole.log('isEditModel', isEditModel.value);\r\n\t};\r\n\t/**\r\n\t *\r\n\t * @param item\r\n\t * @param event\r\n\t * @returns\r\n\t * 右键菜单\r\n\t */\r\n\tconst contextmenu = (event: MouseEvent, mode: string, item?: IFormTable.ConfigItemType, index?: number) => {\r\n\t\tlet arr = prop?.panelConfig?.forms.filter((i: any) => i.id !== prop?.modelValue?.id && i.formItemType == 'form') || [];\r\n\t\tif ((mode == 'checkbox' && isEditModel.value == false) || (mode == 'checkbox' && checkboxList.value.length == 0)) return;\r\n\t\tif (arr.length > 0) {\r\n\t\t\tdropdownList.value = arr.map((i: any) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tcontextMenuClickId: i.id,\r\n\t\t\t\t\ttxt: '移动至' + i.base.label,\r\n\t\t\t\t\taffix: false,\r\n\t\t\t\t\ticon: '',\r\n\t\t\t\t};\r\n\t\t\t});\r\n\t\t\t// 设置当前右键项的索引\r\n\t\t\tcontextmenuIndex.value = index!;\r\n\t\t\tconst { clientX, clientY } = event;\r\n\t\t\tstate.dropdown.x = clientX;\r\n\t\t\tstate.dropdown.y = clientY;\r\n\t\t\tcontextmenuRef.value.openContextmenu(item, mode);\r\n\t\t}\r\n\t};\r\n\t// 为 radio 模式下的右键菜单点击事件\r\n\tconst onCurrentContextmenuClickRadio = (item: DropdownListType) => {\r\n\t\ttry {\r\n\t\t\tlet index = prop?.panelConfig?.forms.findIndex((i: any) => i.id == item.contextMenuClickId);\r\n\t\t\tif (index == -1) return ElMessage.warning('未找到对应的配置项');\r\n\t\t\tconsole.log('index', index);\r\n\t\t\t// 将删除项追加到选中的配置中\r\n\t\t\tprop?.panelConfig?.forms[index].form.formConfig.push(configModel.value?.form?.formConfig[contextmenuIndex.value]);\r\n\t\t\t// 判断当前项是否是选中状态 checkboxList 中是否存在\r\n\t\t\tif (\r\n\t\t\t\tcheckboxList.value.length > 0 &&\r\n\t\t\t\tcheckboxList.value.findIndex((i: any) => i.id == configModel.value?.form?.formConfig[contextmenuIndex.value].id) > -1\r\n\t\t\t) {\r\n\t\t\t\tcheckboxList.value.splice(index, 1);\r\n\t\t\t}\r\n\t\t\t// 删除当前选中的配置\r\n\t\t\tconfigModel.value?.form?.formConfig.splice(contextmenuIndex.value, 1);\r\n\t\t\t// 更新当前选中配置\r\n\t\t\temit('chose', _.cloneDeep(emptyFormItemData.value));\r\n\t\t\t// 提示操作成功\r\n\t\t\tElMessage.success('移动成功');\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log('error', error);\r\n\t\t}\r\n\t};\r\n\t// 为 checkbox 模式下的右键菜单点击事件\r\n\tconst onCurrentContextmenuClickCheckbox = (item: DropdownListType) => {\r\n\t\tconsole.log('checkbox', item);\r\n\t\ttry {\r\n\t\t\tlet index = prop?.panelConfig?.forms.findIndex((i: any) => i.id == item.contextMenuClickId);\r\n\t\t\tif (index == -1) return ElMessage.warning('未找到对应的配置项');\r\n\t\t\t// 将删除项追加到选中的配置中\r\n\t\t\tprop?.panelConfig?.forms[index].form.formConfig.push(...checkboxList.value);\r\n\t\t\t// 删除当前选中的配置\r\n\t\t\tcheckboxList.value.forEach((i: any) => {\r\n\t\t\t\t_.remove(configModel.value?.form?.formConfig || [], i);\r\n\t\t\t});\r\n\t\t\t// 清空 checkboxList\r\n\t\t\tcheckboxList.value = [];\r\n\t\t\t// 更新当前选中配置\r\n\t\t\temit('chose', _.cloneDeep(emptyFormItemData.value));\r\n\t\t\t// 提示操作成功\r\n\t\t\tElMessage.success('移动成功');\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log('error', error);\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 右键菜单点击事件\r\n\t * @param item\r\n\t * @param mode\r\n\t */\r\n\tconst onCurrentContextmenuClick = (item: DropdownListType, mode: string) => {\r\n\t\tswitch (mode) {\r\n\t\t\tcase 'radio':\r\n\t\t\t\tonCurrentContextmenuClickRadio(item);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'checkbox':\r\n\t\t\t\tonCurrentContextmenuClickCheckbox(item);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tconsole.log('item', item, mode);\r\n\t};\r\n\t/**\r\n\t * @param item\r\n\t * 选择配置项\r\n\t * @returns\r\n\t */\r\n\tconst selectTagItem = (item: IFormTable.ConfigItemType) => {\r\n\t\tconsole.log('item', item);\r\n\t\t// 判断是否是编辑模式\r\n\t\tif (!isEditModel.value) return;\r\n\t\t// 判断当前项是否是选中状态 checkboxList 中是否存在\r\n\t\tlet index = checkboxList.value.findIndex((i: any) => i.id == item.id);\r\n\t\tif (index > -1) {\r\n\t\t\tcheckboxList.value.splice(index, 1);\r\n\t\t} else {\r\n\t\t\tcheckboxList.value.push(item);\r\n\t\t}\r\n\t};\r\n\tconst resetEdit = () => {\r\n\t\tisEditModel.value = false;\r\n\t\tcheckboxList.value = [];\r\n\t};\r\n\treturn {\r\n\t\tchoseTagItem,\r\n\t\tappendField,\r\n\t\tdeleteTagItem,\r\n\t\tcontextmenu,\r\n\t\tonCurrentContextmenuClick,\r\n\t\tdropdownList,\r\n\t\ttoggleModes,\r\n\t\tisEditModel,\r\n\t\tcheckboxList,\r\n\t\tselectTagItem,\r\n\t\tresetEdit,\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\r\n\t\t\tref=\"dragRef\"\r\n\t\t\tclass=\"flex flex-wrap\"\r\n\t\t\thandle=\".drag-item\"\r\n\t\t\tghostClass=\"ghost\"\r\n\t\t\tv-model=\"(configModel as any).form.formConfig\"\r\n\t\t\t:animation=\"150\"\r\n\t\t>\r\n\t\t\t<div class=\"drag-item p-2 relative\" v-for=\"(item, index) in configModel?.form?.formConfig\" :key=\"item['id']\" @click=\"choseTagItem(item)\">\r\n\t\t\t\t<!-- @contextmenu.prevent=\"contextmenu(item, $event)\" -->\r\n\t\t\t\t<div\r\n\t\t\t\t\t@contextmenu.prevent=\"contextmenu($event, 'radio', item, index)\"\r\n\t\t\t\t\tclass=\"border border-solid border-zinc-300 hover:bg-blue-200 p-2 rounded\"\r\n\t\t\t\t\t:class=\"current['id'] == item['id'] ? 'bg-blue-200' : ''\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ (item?.data as any).elementItem[0]?.baseData['label'] }}\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'] && !isEditModel\"\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\t<div v-if=\"isEditModel\" style=\"position: absolute; top: -4px; right: -4px; cursor: pointer\" @click.stop.prevent=\"selectTagItem(item)\">\r\n\t\t\t\t\t<span class=\"circle\" :class=\"{ 'circle-selected': checkboxListInclude(item) }\"></span>\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\r\n\t\t\t<!-- 设置表单配置项 -->\r\n\t\t\t<div class=\"p-2 cursor-pointer flex justify-center align-center\" @contextmenu.prevent=\"contextmenu($event, 'checkbox')\" @click=\"toggleModes\">\r\n\t\t\t\t<el-icon size=\"34\" color=\"#8B9093\">\r\n\t\t\t\t\t<ele-Edit />\r\n\t\t\t\t</el-icon>\r\n\t\t\t</div>\r\n\t\t</VueDraggable>\r\n\t\t<Contextmenu :dropdown=\"state.dropdown\" :dropdownList=\"dropdownList\" ref=\"contextmenuRef\" @currentContextmenuClick=\"onCurrentContextmenuClick\" />\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { PropType, defineModel, ref, defineAsyncComponent, reactive } from 'vue';\r\nimport { useHsFormListConfig } from './../useFormListConfig';\r\nimport { type UseDraggableReturn, VueDraggable } from 'vue-draggable-plus';\r\n// 引入组件\r\nconst Contextmenu = defineAsyncComponent(() => import('./contextmenu.vue'));\r\nconst contextmenuRef = ref();\r\nimport { IFormTable } from '/@/types';\r\n// 拖动组件ref\r\nconst dragRef = ref<UseDraggableReturn>();\r\n// 下拉菜单ref\r\n// state\r\nconst state = reactive<{ dropdown: { x: number; y: number } }>({\r\n\tdropdown: {\r\n\t\tx: 0,\r\n\t\ty: 0,\r\n\t},\r\n});\r\nconst emit = defineEmits(['chose']);\r\n\r\nconst configModel = defineModel<IFormTable.FormConfig>();\r\nconst prop = defineProps({\r\n\tcurrent: {\r\n\t\ttype: Object as PropType<Record<'id', string>>,\r\n\t\tdefault: () => {},\r\n\t},\r\n\tpanelConfig: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => ({}),\r\n\t},\r\n});\r\nconst checkboxListInclude = (item: IFormTable.ConfigItemType) => {\r\n\tconsole.log('checkboxList.value', checkboxList.value);\r\n\treturn checkboxList.value.includes(item);\r\n};\r\n\r\nconst {\r\n\tappendField,\r\n\tdeleteTagItem,\r\n\tchoseTagItem,\r\n\tcontextmenu,\r\n\tonCurrentContextmenuClick,\r\n\tdropdownList,\r\n\ttoggleModes,\r\n\tisEditModel,\r\n\tcheckboxList,\r\n\tselectTagItem,\r\n\tresetEdit,\r\n} = useHsFormListConfig(emit, prop, configModel, state, contextmenuRef);\r\ndefineExpose({\r\n\tresetEdit,\r\n});\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.circle {\r\n\twidth: 20px;\r\n\theight: 20px;\r\n\tborder-radius: 50%;\r\n\tdisplay: inline-block;\r\n\tborder: 1px solid #979595;\r\n}\r\n.circle-selected {\r\n\t@apply bg-blue-300;\r\n\t// 中间加一个白色的对号\r\n\t&::after {\r\n\t\tcontent: '';\r\n\t\tdisplay: block;\r\n\t\twidth: 10px;\r\n\t\theight: 4px;\r\n\t\tborder: 2px solid #fff;\r\n\t\tborder-top: none;\r\n\t\tborder-right: none;\r\n\t\tposition: relative;\r\n\t\ttop: 45%;\r\n\t\tleft: 50%;\r\n\t\ttransform: translate(-50%, -50%) rotate(310deg);\r\n\t}\r\n}\r\n</style>\r\n"],"names":["useHsFormListConfig","emit","prop","configModel","state","contextmenuRef","choseTagItem","item","current","_a","_","emptyFormItemData","appendField","defaultItemConfig","formItemConfig","uuidv4","_b","obj","_e","_c","_d","deleteTagItem","ElMessageBox","ElMessage","err","dropdownList","ref","contextmenuIndex","isEditModel","checkboxList","toggleModes","i","contextmenu","event","mode","index","arr","clientX","clientY","onCurrentContextmenuClickRadio","_f","error","onCurrentContextmenuClickCheckbox","Contextmenu","defineAsyncComponent","dragRef","reactive","__emit","_useModel","__props","checkboxListInclude","onCurrentContextmenuClick","selectTagItem","resetEdit","__expose"],"mappings":"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"}
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),b=require("./baseFormConfig-DIhAM0r9.js"),c=require("./index-DdDdKbUS.js");function p(v,o,m,y,E){const h=n=>{var l;let t=n.id==((l=o.current)==null?void 0:l.id)?c._.cloneDeep(b.emptyFormItemData.value):n;v("chose",t)},I=()=>{var l,a,r,f,d;let n=c._.cloneDeep(b.formItemConfig.value);n.id=c.v4(),(a=(l=m.value)==null?void 0:l.form)==null||a.formConfig.push(n);let t=((d=(r=m.value)==null?void 0:r.form)==null?void 0:d.formConfig[((f=m.value)==null?void 0:f.form.formConfig.length)-1])||c._.cloneDeep(b.emptyFormItemData.value);h(t)},M=n=>{c.ElMessageBox.confirm(`确定删除“${n.data&&n.data.baseData.label}”字段吗?`,"提示",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"}).then(()=>{var t,l;c._.remove(((l=(t=m.value)==null?void 0:t.form)==null?void 0:l.formConfig)||[],n),h(n),c.ElMessage.success("删除成功")}).catch(t=>{console.log("err",t)})};let x=e.ref([]),k=e.ref(0),g=e.ref(!1),u=e.ref([]);const B=()=>{var t;if((((t=o==null?void 0:o.panelConfig)==null?void 0:t.forms.filter(l=>{var a;return l.id!==((a=o==null?void 0:o.modelValue)==null?void 0:a.id)&&l.formItemType=="form"}))||[]).length==0&&g.value==!1)return c.ElMessage.warning("请至少添加两个启用表单配置项的数据!");g.value=!g.value,console.log("isEditModel",g.value)},D=(n,t,l,a)=>{var f;let r=((f=o==null?void 0:o.panelConfig)==null?void 0:f.forms.filter(d=>{var i;return d.id!==((i=o==null?void 0:o.modelValue)==null?void 0:i.id)&&d.formItemType=="form"}))||[];if(!(t=="checkbox"&&g.value==!1||t=="checkbox"&&u.value.length==0)&&r.length>0){x.value=r.map(C=>({contextMenuClickId:C.id,txt:"移动至"+C.base.label,affix:!1,icon:""})),k.value=a;const{clientX:d,clientY:i}=n;y.dropdown.x=d,y.dropdown.y=i,E.value.openContextmenu(l,t)}},w=n=>{var t,l,a,r,f,d;try{let i=(t=o==null?void 0:o.panelConfig)==null?void 0:t.forms.findIndex(C=>C.id==n.contextMenuClickId);if(i==-1)return c.ElMessage.warning("未找到对应的配置项");console.log("index",i),(r=o==null?void 0:o.panelConfig)==null||r.forms[i].form.formConfig.push((a=(l=m.value)==null?void 0:l.form)==null?void 0:a.formConfig[k.value]),u.value.length>0&&u.value.findIndex(C=>{var s,_;return C.id==((_=(s=m.value)==null?void 0:s.form)==null?void 0:_.formConfig[k.value].id)})>-1&&u.value.splice(i,1),(d=(f=m.value)==null?void 0:f.form)==null||d.formConfig.splice(k.value,1),v("chose",c._.cloneDeep(b.emptyFormItemData.value)),c.ElMessage.success("移动成功")}catch(i){console.log("error",i)}},L=n=>{var t,l;console.log("checkbox",n);try{let a=(t=o==null?void 0:o.panelConfig)==null?void 0:t.forms.findIndex(r=>r.id==n.contextMenuClickId);if(a==-1)return c.ElMessage.warning("未找到对应的配置项");(l=o==null?void 0:o.panelConfig)==null||l.forms[a].form.formConfig.push(...u.value),u.value.forEach(r=>{var f,d;c._.remove(((d=(f=m.value)==null?void 0:f.form)==null?void 0:d.formConfig)||[],r)}),u.value=[],v("chose",c._.cloneDeep(b.emptyFormItemData.value)),c.ElMessage.success("移动成功")}catch(a){console.log("error",a)}};return{choseTagItem:h,appendField:I,deleteTagItem:M,contextmenu:D,onCurrentContextmenuClick:(n,t)=>{switch(t){case"radio":w(n);break;case"checkbox":L(n);break}console.log("item",n,t)},dropdownList:x,toggleModes:B,isEditModel:g,checkboxList:u,selectTagItem:n=>{if(console.log("item",n),!g.value)return;let t=u.value.findIndex(l=>l.id==n.id);t>-1?u.value.splice(t,1):u.value.push(n)},resetEdit:()=>{g.value=!1,u.value=[]}}}const $=["onClick"],R=["onContextmenu"],q=["onClick"],z=["onClick"],O={class:"p-2"},S=e.defineComponent({__name:"hsFormConfigList",props:e.mergeModels({current:{type:Object,default:()=>{}},panelConfig:{type:Object,default:()=>({})}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["chose"],["update:modelValue"]),setup(v,{expose:o,emit:m}){const y=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./contextmenu-DIM2CO4m.js"))),E=e.ref(),h=e.ref(),I=e.reactive({dropdown:{x:0,y:0}}),M=m,x=e.useModel(v,"modelValue"),k=v,g=a=>(console.log("checkboxList.value",n.value),n.value.includes(a)),{appendField:u,deleteTagItem:B,choseTagItem:D,contextmenu:w,onCurrentContextmenuClick:L,dropdownList:N,toggleModes:T,isEditModel:F,checkboxList:n,selectTagItem:t,resetEdit:l}=p(M,k,x,I,E);return o({resetEdit:l}),(a,r)=>{const f=e.resolveComponent("ele-Edit"),d=e.resolveComponent("el-icon");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.unref(c.to),{ref_key:"dragRef",ref:h,class:"flex flex-wrap",handle:".drag-item",ghostClass:"ghost",modelValue:x.value.form.formConfig,"onUpdate:modelValue":r[3]||(r[3]=i=>x.value.form.formConfig=i),animation:150},{default:e.withCtx(()=>{var i,C;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList((C=(i=x.value)==null?void 0:i.form)==null?void 0:C.formConfig,(s,_)=>{var j;return e.openBlock(),e.createElementBlock("div",{class:"drag-item p-2 relative",key:s.id,onClick:V=>e.unref(D)(s)},[e.createElementVNode("div",{onContextmenu:e.withModifiers(V=>e.unref(w)(V,"radio",s,_),["prevent"]),class:e.normalizeClass(["border border-solid border-zinc-300 hover:bg-blue-200 p-2 rounded",v.current.id==s.id?"bg-blue-200":""])},e.toDisplayString((j=(s==null?void 0:s.data).elementItem[0])==null?void 0:j.baseData.label),43,R),v.current.id==s.id&&!e.unref(F)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:e.withModifiers(V=>e.unref(B)(s),["stop","prevent"]),style:{position:"absolute",top:"0px",right:"5px",cursor:"pointer"}}," ✖️ ",8,q)):e.createCommentVNode("",!0),e.unref(F)?(e.openBlock(),e.createElementBlock("div",{key:1,style:{position:"absolute",top:"-4px",right:"-4px",cursor:"pointer"},onClick:e.withModifiers(V=>e.unref(t)(s),["stop","prevent"])},[e.createElementVNode("span",{class:e.normalizeClass(["circle",{"circle-selected":g(s)}])},null,2)],8,z)):e.createCommentVNode("",!0)],8,$)}),128)),e.createElementVNode("div",O,[e.createElementVNode("div",{onClick:r[0]||(r[0]=(...s)=>e.unref(u)&&e.unref(u)(...s)),class:"p-2 bg-pink-200 w-10 h-10 flex justify-center align-center rounded-full"},"+")]),e.createElementVNode("div",{class:"p-2 cursor-pointer flex justify-center align-center",onContextmenu:r[1]||(r[1]=e.withModifiers(s=>e.unref(w)(s,"checkbox"),["prevent"])),onClick:r[2]||(r[2]=(...s)=>e.unref(T)&&e.unref(T)(...s))},[e.createVNode(d,{size:"34",color:"#8B9093"},{default:e.withCtx(()=>[e.createVNode(f)]),_:1})],32)]}),_:1},8,["modelValue"]),e.createVNode(e.unref(y),{dropdown:I.dropdown,dropdownList:e.unref(N),ref_key:"contextmenuRef",ref:E,onCurrentContextmenuClick:e.unref(L)},null,8,["dropdown","dropdownList","onCurrentContextmenuClick"])])}}}),P=c._export_sfc(S,[["__scopeId","data-v-d03b2a3c"]]);exports.default=P;
|
|
2
|
+
//# sourceMappingURL=hsFormConfigList-OF81mYsV.js.map
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hsFormConfigList-OF81mYsV.js","sources":["../src/views/config/formSetting/components/hsForm/useFormListConfig.ts","../src/views/config/formSetting/components/hsForm/src/hsFormConfigList.vue"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { IFormTable, ComponentAttr } from '/@/types';\r\nimport { Ref, ref, watch } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport { formItemConfig, emptyFormItemData } from '../../default/baseFormConfig'; // 表单配置方法\r\nimport hsFormConfigList from './src/hsFormConfigList.vue';\r\nimport _ from 'lodash';\r\nimport { v4 as uuidv4 } from 'uuid';\r\ninterface DropdownListType {\r\n\tcontextMenuClickId: number;\r\n\ttxt: string;\r\n\taffix: boolean;\r\n\ticon: string;\r\n}\r\n\r\nexport function useHsFormListConfig(\r\n\temit: (event: 'chose', ...args: any[]) => void,\r\n\tprop: ComponentAttr.Props<typeof hsFormConfigList>,\r\n\tconfigModel: Ref<IFormTable.FormConfig | undefined>,\r\n\tstate: { dropdown: { x: number; y: number } },\r\n\tcontextmenuRef: Ref<any>\r\n) {\r\n\t/**\r\n\t * 选择配置项\r\n\t * @param item\r\n\t */\r\n\tconst choseTagItem = (item: IFormTable.ConfigItemType) => {\r\n\t\t// 获取操作项\r\n\t\tlet current = item.id == prop.current?.id ? _.cloneDeep(emptyFormItemData.value) : item;\r\n\t\temit('chose', current);\r\n\t};\r\n\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.ConfigItemType = _.cloneDeep(formItemConfig.value);\r\n\t\tdefaultItemConfig.id = uuidv4();\r\n\t\t// 追加字段配置项\r\n\t\tconfigModel.value?.form?.formConfig.push(defaultItemConfig);\r\n\t\t// 获取新增的配置对象\r\n\t\tlet obj = configModel.value?.form?.formConfig[configModel.value?.form.formConfig.length - 1] || _.cloneDeep(emptyFormItemData.value);\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.ConfigItemType) => {\r\n\t\tElMessageBox.confirm(`确定删除“${item['data'] && item['data']['baseData']['label']}”字段吗?`, '提示', {\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(configModel.value?.form?.formConfig || [], 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\t// { contextMenuClickId: 0, txt: '刷新1', affix: false, icon: '' }\r\n\r\n\tlet dropdownList = ref([]);\r\n\tlet contextmenuIndex = ref(0);\r\n\tlet isEditModel: Ref<boolean> = ref(false);\r\n\tlet checkboxList: any = ref([]);\r\n\t// 切换模式\r\n\tconst toggleModes = () => {\r\n\t\tlet arr = prop?.panelConfig?.forms.filter((i: any) => i.id !== prop?.modelValue?.id && i.formItemType == 'form') || [];\r\n\t\tif (arr.length == 0 && isEditModel.value == false) return ElMessage.warning('请至少添加两个启用表单配置项的数据!');\r\n\t\tisEditModel.value = !isEditModel.value;\r\n\t\tconsole.log('isEditModel', isEditModel.value);\r\n\t};\r\n\t/**\r\n\t *\r\n\t * @param item\r\n\t * @param event\r\n\t * @returns\r\n\t * 右键菜单\r\n\t */\r\n\tconst contextmenu = (event: MouseEvent, mode: string, item?: IFormTable.ConfigItemType, index?: number) => {\r\n\t\tlet arr = prop?.panelConfig?.forms.filter((i: any) => i.id !== prop?.modelValue?.id && i.formItemType == 'form') || [];\r\n\t\tif ((mode == 'checkbox' && isEditModel.value == false) || (mode == 'checkbox' && checkboxList.value.length == 0)) return;\r\n\t\tif (arr.length > 0) {\r\n\t\t\tdropdownList.value = arr.map((i: any) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tcontextMenuClickId: i.id,\r\n\t\t\t\t\ttxt: '移动至' + i.base.label,\r\n\t\t\t\t\taffix: false,\r\n\t\t\t\t\ticon: '',\r\n\t\t\t\t};\r\n\t\t\t});\r\n\t\t\t// 设置当前右键项的索引\r\n\t\t\tcontextmenuIndex.value = index!;\r\n\t\t\tconst { clientX, clientY } = event;\r\n\t\t\tstate.dropdown.x = clientX;\r\n\t\t\tstate.dropdown.y = clientY;\r\n\t\t\tcontextmenuRef.value.openContextmenu(item, mode);\r\n\t\t}\r\n\t};\r\n\t// 为 radio 模式下的右键菜单点击事件\r\n\tconst onCurrentContextmenuClickRadio = (item: DropdownListType) => {\r\n\t\ttry {\r\n\t\t\tlet index = prop?.panelConfig?.forms.findIndex((i: any) => i.id == item.contextMenuClickId);\r\n\t\t\tif (index == -1) return ElMessage.warning('未找到对应的配置项');\r\n\t\t\tconsole.log('index', index);\r\n\t\t\t// 将删除项追加到选中的配置中\r\n\t\t\tprop?.panelConfig?.forms[index].form.formConfig.push(configModel.value?.form?.formConfig[contextmenuIndex.value]);\r\n\t\t\t// 判断当前项是否是选中状态 checkboxList 中是否存在\r\n\t\t\tif (\r\n\t\t\t\tcheckboxList.value.length > 0 &&\r\n\t\t\t\tcheckboxList.value.findIndex((i: any) => i.id == configModel.value?.form?.formConfig[contextmenuIndex.value].id) > -1\r\n\t\t\t) {\r\n\t\t\t\tcheckboxList.value.splice(index, 1);\r\n\t\t\t}\r\n\t\t\t// 删除当前选中的配置\r\n\t\t\tconfigModel.value?.form?.formConfig.splice(contextmenuIndex.value, 1);\r\n\t\t\t// 更新当前选中配置\r\n\t\t\temit('chose', _.cloneDeep(emptyFormItemData.value));\r\n\t\t\t// 提示操作成功\r\n\t\t\tElMessage.success('移动成功');\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log('error', error);\r\n\t\t}\r\n\t};\r\n\t// 为 checkbox 模式下的右键菜单点击事件\r\n\tconst onCurrentContextmenuClickCheckbox = (item: DropdownListType) => {\r\n\t\tconsole.log('checkbox', item);\r\n\t\ttry {\r\n\t\t\tlet index = prop?.panelConfig?.forms.findIndex((i: any) => i.id == item.contextMenuClickId);\r\n\t\t\tif (index == -1) return ElMessage.warning('未找到对应的配置项');\r\n\t\t\t// 将删除项追加到选中的配置中\r\n\t\t\tprop?.panelConfig?.forms[index].form.formConfig.push(...checkboxList.value);\r\n\t\t\t// 删除当前选中的配置\r\n\t\t\tcheckboxList.value.forEach((i: any) => {\r\n\t\t\t\t_.remove(configModel.value?.form?.formConfig || [], i);\r\n\t\t\t});\r\n\t\t\t// 清空 checkboxList\r\n\t\t\tcheckboxList.value = [];\r\n\t\t\t// 更新当前选中配置\r\n\t\t\temit('chose', _.cloneDeep(emptyFormItemData.value));\r\n\t\t\t// 提示操作成功\r\n\t\t\tElMessage.success('移动成功');\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log('error', error);\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 右键菜单点击事件\r\n\t * @param item\r\n\t * @param mode\r\n\t */\r\n\tconst onCurrentContextmenuClick = (item: DropdownListType, mode: string) => {\r\n\t\tswitch (mode) {\r\n\t\t\tcase 'radio':\r\n\t\t\t\tonCurrentContextmenuClickRadio(item);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'checkbox':\r\n\t\t\t\tonCurrentContextmenuClickCheckbox(item);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tconsole.log('item', item, mode);\r\n\t};\r\n\t/**\r\n\t * @param item\r\n\t * 选择配置项\r\n\t * @returns\r\n\t */\r\n\tconst selectTagItem = (item: IFormTable.ConfigItemType) => {\r\n\t\tconsole.log('item', item);\r\n\t\t// 判断是否是编辑模式\r\n\t\tif (!isEditModel.value) return;\r\n\t\t// 判断当前项是否是选中状态 checkboxList 中是否存在\r\n\t\tlet index = checkboxList.value.findIndex((i: any) => i.id == item.id);\r\n\t\tif (index > -1) {\r\n\t\t\tcheckboxList.value.splice(index, 1);\r\n\t\t} else {\r\n\t\t\tcheckboxList.value.push(item);\r\n\t\t}\r\n\t};\r\n\tconst resetEdit = () => {\r\n\t\tisEditModel.value = false;\r\n\t\tcheckboxList.value = [];\r\n\t};\r\n\treturn {\r\n\t\tchoseTagItem,\r\n\t\tappendField,\r\n\t\tdeleteTagItem,\r\n\t\tcontextmenu,\r\n\t\tonCurrentContextmenuClick,\r\n\t\tdropdownList,\r\n\t\ttoggleModes,\r\n\t\tisEditModel,\r\n\t\tcheckboxList,\r\n\t\tselectTagItem,\r\n\t\tresetEdit,\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\r\n\t\t\tref=\"dragRef\"\r\n\t\t\tclass=\"flex flex-wrap\"\r\n\t\t\thandle=\".drag-item\"\r\n\t\t\tghostClass=\"ghost\"\r\n\t\t\tv-model=\"(configModel as any).form.formConfig\"\r\n\t\t\t:animation=\"150\"\r\n\t\t>\r\n\t\t\t<div class=\"drag-item p-2 relative\" v-for=\"(item, index) in configModel?.form?.formConfig\" :key=\"item['id']\" @click=\"choseTagItem(item)\">\r\n\t\t\t\t<!-- @contextmenu.prevent=\"contextmenu(item, $event)\" -->\r\n\t\t\t\t<div\r\n\t\t\t\t\t@contextmenu.prevent=\"contextmenu($event, 'radio', item, index)\"\r\n\t\t\t\t\tclass=\"border border-solid border-zinc-300 hover:bg-blue-200 p-2 rounded\"\r\n\t\t\t\t\t:class=\"current['id'] == item['id'] ? 'bg-blue-200' : ''\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ (item?.data as any).elementItem[0]?.baseData['label'] }}\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'] && !isEditModel\"\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\t<div v-if=\"isEditModel\" style=\"position: absolute; top: -4px; right: -4px; cursor: pointer\" @click.stop.prevent=\"selectTagItem(item)\">\r\n\t\t\t\t\t<span class=\"circle\" :class=\"{ 'circle-selected': checkboxListInclude(item) }\"></span>\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\r\n\t\t\t<!-- 设置表单配置项 -->\r\n\t\t\t<div class=\"p-2 cursor-pointer flex justify-center align-center\" @contextmenu.prevent=\"contextmenu($event, 'checkbox')\" @click=\"toggleModes\">\r\n\t\t\t\t<el-icon size=\"34\" color=\"#8B9093\">\r\n\t\t\t\t\t<ele-Edit />\r\n\t\t\t\t</el-icon>\r\n\t\t\t</div>\r\n\t\t</VueDraggable>\r\n\t\t<Contextmenu :dropdown=\"state.dropdown\" :dropdownList=\"dropdownList\" ref=\"contextmenuRef\" @currentContextmenuClick=\"onCurrentContextmenuClick\" />\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { PropType, defineModel, ref, defineAsyncComponent, reactive } from 'vue';\r\nimport { useHsFormListConfig } from './../useFormListConfig';\r\nimport { type UseDraggableReturn, VueDraggable } from 'vue-draggable-plus';\r\n// 引入组件\r\nconst Contextmenu = defineAsyncComponent(() => import('./contextmenu.vue'));\r\nconst contextmenuRef = ref();\r\nimport { IFormTable } from '/@/types';\r\n// 拖动组件ref\r\nconst dragRef = ref<UseDraggableReturn>();\r\n// 下拉菜单ref\r\n// state\r\nconst state = reactive<{ dropdown: { x: number; y: number } }>({\r\n\tdropdown: {\r\n\t\tx: 0,\r\n\t\ty: 0,\r\n\t},\r\n});\r\nconst emit = defineEmits(['chose']);\r\n\r\nconst configModel = defineModel<IFormTable.FormConfig>();\r\nconst prop = defineProps({\r\n\tcurrent: {\r\n\t\ttype: Object as PropType<Record<'id', string>>,\r\n\t\tdefault: () => {},\r\n\t},\r\n\tpanelConfig: {\r\n\t\ttype: Object,\r\n\t\tdefault: () => ({}),\r\n\t},\r\n});\r\nconst checkboxListInclude = (item: IFormTable.ConfigItemType) => {\r\n\tconsole.log('checkboxList.value', checkboxList.value);\r\n\treturn checkboxList.value.includes(item);\r\n};\r\n\r\nconst {\r\n\tappendField,\r\n\tdeleteTagItem,\r\n\tchoseTagItem,\r\n\tcontextmenu,\r\n\tonCurrentContextmenuClick,\r\n\tdropdownList,\r\n\ttoggleModes,\r\n\tisEditModel,\r\n\tcheckboxList,\r\n\tselectTagItem,\r\n\tresetEdit,\r\n} = useHsFormListConfig(emit, prop, configModel, state, contextmenuRef);\r\ndefineExpose({\r\n\tresetEdit,\r\n});\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.circle {\r\n\twidth: 20px;\r\n\theight: 20px;\r\n\tborder-radius: 50%;\r\n\tdisplay: inline-block;\r\n\tborder: 1px solid #979595;\r\n}\r\n.circle-selected {\r\n\t@apply bg-blue-300;\r\n\t// 中间加一个白色的对号\r\n\t&::after {\r\n\t\tcontent: '';\r\n\t\tdisplay: block;\r\n\t\twidth: 10px;\r\n\t\theight: 4px;\r\n\t\tborder: 2px solid #fff;\r\n\t\tborder-top: none;\r\n\t\tborder-right: none;\r\n\t\tposition: relative;\r\n\t\ttop: 45%;\r\n\t\tleft: 50%;\r\n\t\ttransform: translate(-50%, -50%) rotate(310deg);\r\n\t}\r\n}\r\n</style>\r\n"],"names":["useHsFormListConfig","emit","prop","configModel","state","contextmenuRef","choseTagItem","item","current","_a","_","emptyFormItemData","appendField","defaultItemConfig","formItemConfig","uuidv4","_b","obj","_e","_c","_d","deleteTagItem","ElMessageBox","ElMessage","err","dropdownList","ref","contextmenuIndex","isEditModel","checkboxList","toggleModes","i","contextmenu","event","mode","index","arr","clientX","clientY","onCurrentContextmenuClickRadio","_f","error","onCurrentContextmenuClickCheckbox","Contextmenu","defineAsyncComponent","dragRef","reactive","__emit","_useModel","__props","checkboxListInclude","onCurrentContextmenuClick","selectTagItem","resetEdit","__expose"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hsFormPanel-ByZcwko4.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hsFormPanel-Cp-j_SNi.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|