@maketribe/ms-app 4.0.0-beta.1 → 4.0.0-beta.2
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/cjs/{404-BLjjFiPC.cjs → 404-zuaTnedJ.cjs} +2 -2
- package/dist/cjs/{404-BLjjFiPC.cjs.map → 404-zuaTnedJ.cjs.map} +1 -1
- package/dist/cjs/{dialog-B9gDOGH7.cjs → dialog-B0Ugyk9M.cjs} +2 -2
- package/dist/cjs/{dialog-B9gDOGH7.cjs.map → dialog-B0Ugyk9M.cjs.map} +1 -1
- package/dist/cjs/{dialog-C3SD87uY.cjs → dialog-D5iprOvp.cjs} +2 -2
- package/dist/cjs/{dialog-C3SD87uY.cjs.map → dialog-D5iprOvp.cjs.map} +1 -1
- package/dist/cjs/{dialog-B8fGi0y_.cjs → dialog-eN_30WY3.cjs} +2 -2
- package/dist/cjs/{dialog-B8fGi0y_.cjs.map → dialog-eN_30WY3.cjs.map} +1 -1
- package/dist/cjs/{edit-FgCiEZTp.cjs → edit-BZ0RJiMw.cjs} +2 -2
- package/dist/cjs/{edit-FgCiEZTp.cjs.map → edit-BZ0RJiMw.cjs.map} +1 -1
- package/dist/cjs/{index-Uf_SF_Do.cjs → index-02h91zxG.cjs} +2 -2
- package/dist/cjs/{index-Uf_SF_Do.cjs.map → index-02h91zxG.cjs.map} +1 -1
- package/dist/cjs/{index-B_yj5cRD.cjs → index-B-qD2ABb.cjs} +2 -2
- package/dist/cjs/{index-B_yj5cRD.cjs.map → index-B-qD2ABb.cjs.map} +1 -1
- package/dist/cjs/{index-DYe4VYfx.cjs → index-BQ-pFo41.cjs} +2 -2
- package/dist/cjs/index-BQ-pFo41.cjs.map +1 -0
- package/dist/cjs/{index-CuQ1S-Jk.cjs → index-BRjxz_zs.cjs} +2 -2
- package/dist/cjs/{index-CuQ1S-Jk.cjs.map → index-BRjxz_zs.cjs.map} +1 -1
- package/dist/cjs/{index-Cv8xCuqB.cjs → index-BSFBqbJu.cjs} +2 -2
- package/dist/cjs/{index-Cv8xCuqB.cjs.map → index-BSFBqbJu.cjs.map} +1 -1
- package/dist/cjs/{index-BoHtMP0u.cjs → index-BtVXWF1b.cjs} +2 -2
- package/dist/cjs/{index-BoHtMP0u.cjs.map → index-BtVXWF1b.cjs.map} +1 -1
- package/dist/cjs/{index-DmDkzklD.cjs → index-Bv2cbo_e.cjs} +3 -3
- package/dist/cjs/{index-DmDkzklD.cjs.map → index-Bv2cbo_e.cjs.map} +1 -1
- package/dist/cjs/{index-Dp0uf4OA.cjs → index-BxVB9eoW.cjs} +2 -2
- package/dist/cjs/{index-Dp0uf4OA.cjs.map → index-BxVB9eoW.cjs.map} +1 -1
- package/dist/cjs/{index-DAN-V2W2.cjs → index-C1PQoR8l.cjs} +13 -2
- package/dist/cjs/{index-DAN-V2W2.cjs.map → index-C1PQoR8l.cjs.map} +1 -1
- package/dist/cjs/{index-CB-k5J93.cjs → index-C4POD5Pe.cjs} +3 -3
- package/dist/cjs/{index-CB-k5J93.cjs.map → index-C4POD5Pe.cjs.map} +1 -1
- package/dist/cjs/{index-CvLoEFhT.cjs → index-C5jDhm54.cjs} +5 -5
- package/dist/cjs/{index-CvLoEFhT.cjs.map → index-C5jDhm54.cjs.map} +1 -1
- package/dist/cjs/{index-DJR8wNp6.cjs → index-CA77ueMZ.cjs} +5 -5
- package/dist/cjs/{index-DJR8wNp6.cjs.map → index-CA77ueMZ.cjs.map} +1 -1
- package/dist/cjs/{index-bLFLjrAU.cjs → index-CABfy1N4.cjs} +2 -2
- package/dist/cjs/{index-bLFLjrAU.cjs.map → index-CABfy1N4.cjs.map} +1 -1
- package/dist/cjs/{index-BfWagFfi.cjs → index-CKAGpQbN.cjs} +3 -3
- package/dist/cjs/{index-BfWagFfi.cjs.map → index-CKAGpQbN.cjs.map} +1 -1
- package/dist/cjs/{index-D1rwP_XD.cjs → index-CLMfKLc4.cjs} +2 -2
- package/dist/cjs/index-CLMfKLc4.cjs.map +1 -0
- package/dist/cjs/{index-BKHmJq9t.cjs → index-CTGlpcXK.cjs} +7 -7
- package/dist/cjs/{index-BKHmJq9t.cjs.map → index-CTGlpcXK.cjs.map} +1 -1
- package/dist/cjs/{index-02NQSY_C.cjs → index-D30kdshE.cjs} +2 -2
- package/dist/cjs/{index-02NQSY_C.cjs.map → index-D30kdshE.cjs.map} +1 -1
- package/dist/cjs/{index-yY6nqi0P.cjs → index-D8_FnPhG.cjs} +2 -2
- package/dist/cjs/index-D8_FnPhG.cjs.map +1 -0
- package/dist/cjs/{index-D9bZ9D5l.cjs → index-DHcGlzqK.cjs} +2 -2
- package/dist/cjs/{index-D9bZ9D5l.cjs.map → index-DHcGlzqK.cjs.map} +1 -1
- package/dist/cjs/{index-DXRQ5Ssv.cjs → index-DMxUNSvR.cjs} +2 -2
- package/dist/cjs/{index-DXRQ5Ssv.cjs.map → index-DMxUNSvR.cjs.map} +1 -1
- package/dist/cjs/{index-DPxvVnMV.cjs → index-DRSq5s22.cjs} +3 -3
- package/dist/cjs/{index-DPxvVnMV.cjs.map → index-DRSq5s22.cjs.map} +1 -1
- package/dist/cjs/{index-B0lo8WAq.cjs → index-D_tdj7p4.cjs} +2 -2
- package/dist/cjs/{index-B0lo8WAq.cjs.map → index-D_tdj7p4.cjs.map} +1 -1
- package/dist/cjs/{index-VsQhouOO.cjs → index-DdRjucjv.cjs} +2 -2
- package/dist/cjs/{index-VsQhouOO.cjs.map → index-DdRjucjv.cjs.map} +1 -1
- package/dist/cjs/{index-Cqx6has-.cjs → index-DmP5adrX.cjs} +4675 -5159
- package/dist/cjs/index-DmP5adrX.cjs.map +1 -0
- package/dist/cjs/{index-zTzCVKVY.cjs → index-Dmimx6gu.cjs} +16 -29
- package/dist/cjs/index-Dmimx6gu.cjs.map +1 -0
- package/dist/cjs/{index-bmb2snX4.cjs → index-DpSWO-Os.cjs} +2 -2
- package/dist/cjs/{index-bmb2snX4.cjs.map → index-DpSWO-Os.cjs.map} +1 -1
- package/dist/cjs/{index-DMz-Jp1a.cjs → index-KUQdm9RI.cjs} +2 -2
- package/dist/cjs/{index-DMz-Jp1a.cjs.map → index-KUQdm9RI.cjs.map} +1 -1
- package/dist/cjs/{index-Bsx_khJ-.cjs → index-MgphQFMz.cjs} +2 -2
- package/dist/cjs/{index-Bsx_khJ-.cjs.map → index-MgphQFMz.cjs.map} +1 -1
- package/dist/cjs/{index-CgY5IPuU.cjs → index-QP7R7FE5.cjs} +4 -4
- package/dist/cjs/{index-CgY5IPuU.cjs.map → index-QP7R7FE5.cjs.map} +1 -1
- package/dist/cjs/{index-bLuJXybo.cjs → index-uI8UzsQO.cjs} +3 -3
- package/dist/cjs/{index-bLuJXybo.cjs.map → index-uI8UzsQO.cjs.map} +1 -1
- package/dist/cjs/index.js +5 -17
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/{index.vue_vue_type_script_setup_true_lang-CEEFTQ9-.cjs → index.vue_vue_type_script_setup_true_lang-DUifnKYE.cjs} +2 -2
- package/dist/cjs/{index.vue_vue_type_script_setup_true_lang-CEEFTQ9-.cjs.map → index.vue_vue_type_script_setup_true_lang-DUifnKYE.cjs.map} +1 -1
- package/dist/cjs/{json-editor-BsH6BSd6.cjs → json-editor-Dx4Gp7AZ.cjs} +2 -2
- package/dist/cjs/{json-editor-BsH6BSd6.cjs.map → json-editor-Dx4Gp7AZ.cjs.map} +1 -1
- package/dist/cjs/{markdown-editor-Ct8Osg84.cjs → markdown-editor-B_V6sqXv.cjs} +2 -2
- package/dist/cjs/{markdown-editor-Ct8Osg84.cjs.map → markdown-editor-B_V6sqXv.cjs.map} +1 -1
- package/dist/cjs/{normal-D7Rp95AR.cjs → normal-Npyye6Sj.cjs} +2 -2
- package/dist/cjs/{normal-D7Rp95AR.cjs.map → normal-Npyye6Sj.cjs.map} +1 -1
- package/dist/cjs/{normal-dqEGDOGY.cjs → normal-xeNGK8cc.cjs} +2 -2
- package/dist/cjs/{normal-dqEGDOGY.cjs.map → normal-xeNGK8cc.cjs.map} +1 -1
- package/dist/cjs/{permission-manage-B3iyzdss.cjs → permission-manage-DKl1wSVX.cjs} +2 -2
- package/dist/cjs/{permission-manage-B3iyzdss.cjs.map → permission-manage-DKl1wSVX.cjs.map} +1 -1
- package/dist/cjs/{resource-select-input-CDZgQch4.cjs → resource-select-input-C5-NOlTc.cjs} +2 -2
- package/dist/cjs/{resource-select-input-CDZgQch4.cjs.map → resource-select-input-C5-NOlTc.cjs.map} +1 -1
- package/dist/cjs/style.css +224 -742
- package/dist/cjs/{table-ClUbbr-e.cjs → table-qvNc9v7R.cjs} +2 -2
- package/dist/cjs/{table-ClUbbr-e.cjs.map → table-qvNc9v7R.cjs.map} +1 -1
- package/dist/esm/{404-RkNqwMKN.js → 404-8yXrporP.js} +2 -2
- package/dist/esm/{404-RkNqwMKN.js.map → 404-8yXrporP.js.map} +1 -1
- package/dist/esm/{dialog-rkNJ6ASL.js → dialog-Bw004c5J.js} +2 -2
- package/dist/esm/{dialog-rkNJ6ASL.js.map → dialog-Bw004c5J.js.map} +1 -1
- package/dist/esm/{dialog-B-I18GZi.js → dialog-CCxhgDIB.js} +2 -2
- package/dist/esm/{dialog-B-I18GZi.js.map → dialog-CCxhgDIB.js.map} +1 -1
- package/dist/esm/{dialog-BdLPb4lA.js → dialog-DUTAUZMP.js} +2 -2
- package/dist/esm/{dialog-BdLPb4lA.js.map → dialog-DUTAUZMP.js.map} +1 -1
- package/dist/esm/{edit-DbgetOeZ.js → edit-B7jGDIaC.js} +2 -2
- package/dist/esm/{edit-DbgetOeZ.js.map → edit-B7jGDIaC.js.map} +1 -1
- package/dist/esm/{index-B9JJR2kb.js → index-2RCu0-17.js} +2 -2
- package/dist/esm/{index-B9JJR2kb.js.map → index-2RCu0-17.js.map} +1 -1
- package/dist/esm/{index-C42dLA9d.js → index-B0ZGjMD_.js} +2 -2
- package/dist/esm/{index-C42dLA9d.js.map → index-B0ZGjMD_.js.map} +1 -1
- package/dist/esm/{index-DVQ4uHey.js → index-BX3SqRT1.js} +2 -2
- package/dist/esm/index-BX3SqRT1.js.map +1 -0
- package/dist/esm/{index-Bz1GMIuS.js → index-Be1JSUzM.js} +2 -2
- package/dist/esm/{index-Bz1GMIuS.js.map → index-Be1JSUzM.js.map} +1 -1
- package/dist/esm/{index-DBPdHhnJ.js → index-Bu3W0bi_.js} +3 -3
- package/dist/esm/{index-DBPdHhnJ.js.map → index-Bu3W0bi_.js.map} +1 -1
- package/dist/esm/{index-DmWaO9cf.js → index-C-uyvLdt.js} +3 -3
- package/dist/esm/{index-DmWaO9cf.js.map → index-C-uyvLdt.js.map} +1 -1
- package/dist/esm/{index-B9YALjzh.js → index-CMXsCso6.js} +2 -2
- package/dist/esm/{index-B9YALjzh.js.map → index-CMXsCso6.js.map} +1 -1
- package/dist/esm/{index-CIcMtB-s.js → index-CMeVFJX2.js} +2 -2
- package/dist/esm/{index-CIcMtB-s.js.map → index-CMeVFJX2.js.map} +1 -1
- package/dist/esm/{index-Cq7SIfSQ.js → index-CNC_FYEx.js} +2 -2
- package/dist/esm/index-CNC_FYEx.js.map +1 -0
- package/dist/esm/{index-CtiIWsZ3.js → index-COrXuIRR.js} +3 -3
- package/dist/esm/{index-CtiIWsZ3.js.map → index-COrXuIRR.js.map} +1 -1
- package/dist/esm/{index-BDH5T7gf.js → index-CT-Oa0Bg.js} +2 -2
- package/dist/esm/{index-BDH5T7gf.js.map → index-CT-Oa0Bg.js.map} +1 -1
- package/dist/esm/{index-yv8R8mhU.js → index-CtXkrAoG.js} +2 -2
- package/dist/esm/{index-yv8R8mhU.js.map → index-CtXkrAoG.js.map} +1 -1
- package/dist/esm/{index-D7NWJqQD.js → index-D8zCYhI4.js} +2 -2
- package/dist/esm/{index-D7NWJqQD.js.map → index-D8zCYhI4.js.map} +1 -1
- package/dist/esm/{index-CEw1aqJR.js → index-DA2goxjc.js} +3 -3
- package/dist/esm/{index-CEw1aqJR.js.map → index-DA2goxjc.js.map} +1 -1
- package/dist/esm/{index-CffE92oq.js → index-DHMmzyq_.js} +2 -2
- package/dist/esm/{index-CffE92oq.js.map → index-DHMmzyq_.js.map} +1 -1
- package/dist/esm/{index-BUZk09qi.js → index-DJoFV8g7.js} +2 -2
- package/dist/esm/{index-BUZk09qi.js.map → index-DJoFV8g7.js.map} +1 -1
- package/dist/esm/{index-Jh3JnsYu.js → index-DQYusiAJ.js} +16 -12
- package/dist/esm/index-DQYusiAJ.js.map +1 -0
- package/dist/esm/{index-DL9Z0m-9.js → index-D_mVkEk2.js} +3 -3
- package/dist/esm/{index-DL9Z0m-9.js.map → index-D_mVkEk2.js.map} +1 -1
- package/dist/esm/{index-D4y4KL7W.js → index-ZEMeN-AR.js} +13 -2
- package/dist/esm/{index-D4y4KL7W.js.map → index-ZEMeN-AR.js.map} +1 -1
- package/dist/esm/{index-Bja6wZ1k.js → index-b08F-lTz.js} +2 -2
- package/dist/esm/{index-Bja6wZ1k.js.map → index-b08F-lTz.js.map} +1 -1
- package/dist/esm/{index-B9QqVCIZ.js → index-bR-HzMoJ.js} +2 -2
- package/dist/esm/{index-B9QqVCIZ.js.map → index-bR-HzMoJ.js.map} +1 -1
- package/dist/esm/{index-ZHtzpWRH.js → index-kVzy9K8U.js} +2 -2
- package/dist/esm/{index-ZHtzpWRH.js.map → index-kVzy9K8U.js.map} +1 -1
- package/dist/esm/{index-BJVZ0yS1.js → index-oNusTZPx.js} +4863 -5347
- package/dist/esm/index-oNusTZPx.js.map +1 -0
- package/dist/esm/{index-DDi06DRi.js → index-pIn6VnFw.js} +2 -2
- package/dist/esm/{index-DDi06DRi.js.map → index-pIn6VnFw.js.map} +1 -1
- package/dist/esm/{index-Zd8aDHyM.js → index-rNapVQ5C.js} +2 -2
- package/dist/esm/index-rNapVQ5C.js.map +1 -0
- package/dist/esm/{index-B2zPAvcK.js → index-sRNeuMwn.js} +3 -3
- package/dist/esm/{index-B2zPAvcK.js.map → index-sRNeuMwn.js.map} +1 -1
- package/dist/esm/{index-CnlhRGCS.js → index-twmTScS3.js} +2 -2
- package/dist/esm/{index-CnlhRGCS.js.map → index-twmTScS3.js.map} +1 -1
- package/dist/esm/{index-DXo-05N5.js → index-uLsLeHIc.js} +2 -2
- package/dist/esm/{index-DXo-05N5.js.map → index-uLsLeHIc.js.map} +1 -1
- package/dist/esm/index.js +200 -212
- package/dist/esm/{index.vue_vue_type_script_setup_true_lang-ZuOpqJUd.js → index.vue_vue_type_script_setup_true_lang-D6Do3yMG.js} +2 -2
- package/dist/esm/{index.vue_vue_type_script_setup_true_lang-ZuOpqJUd.js.map → index.vue_vue_type_script_setup_true_lang-D6Do3yMG.js.map} +1 -1
- package/dist/esm/{json-editor-DsM_FDfo.js → json-editor-BwH3lug0.js} +2 -2
- package/dist/esm/{json-editor-DsM_FDfo.js.map → json-editor-BwH3lug0.js.map} +1 -1
- package/dist/esm/{markdown-editor-CUiWKbbs.js → markdown-editor-b9Ta5OxT.js} +2 -2
- package/dist/esm/{markdown-editor-CUiWKbbs.js.map → markdown-editor-b9Ta5OxT.js.map} +1 -1
- package/dist/esm/{normal-CnXnNfbw.js → normal-C2ZX1aeN.js} +2 -2
- package/dist/esm/{normal-CnXnNfbw.js.map → normal-C2ZX1aeN.js.map} +1 -1
- package/dist/esm/{normal-CZXCM1-D.js → normal-RTcgi-xa.js} +2 -2
- package/dist/esm/{normal-CZXCM1-D.js.map → normal-RTcgi-xa.js.map} +1 -1
- package/dist/esm/{permission-manage-DA6XtD6L.js → permission-manage-D7MGM9ft.js} +2 -2
- package/dist/esm/{permission-manage-DA6XtD6L.js.map → permission-manage-D7MGM9ft.js.map} +1 -1
- package/dist/esm/{resource-select-input-DDxljeSs.js → resource-select-input-CQRocpsN.js} +2 -2
- package/dist/esm/{resource-select-input-DDxljeSs.js.map → resource-select-input-CQRocpsN.js.map} +1 -1
- package/dist/esm/style.css +224 -742
- package/dist/esm/{table-B_CNvs27.js → table-1uXSdF6K.js} +2 -2
- package/dist/esm/{table-B_CNvs27.js.map → table-1uXSdF6K.js.map} +1 -1
- package/dist/types/components/basic/lexical-editor/composables/lexicalEditor.d.ts +4 -2
- package/dist/types/components/basic/lexical-editor/composables/useLexicalCommandsLog.d.ts +1 -1
- package/dist/types/components/basic/lexical-editor/nodes/HtmlElementDecoratorNode.d.ts +5 -5
- package/dist/types/components/basic/lexical-editor/nodes/HtmlElementNode.d.ts +3 -3
- package/dist/types/components/business/resource-list/components/resource-item/index.vue.d.ts +13 -1
- package/dist/types/components/business/resource-manager/index.d.ts +4 -4
- package/dist/types/core/MSAppClient.d.ts +2 -0
- package/dist/types/index.d.ts +1 -2
- package/dist/types/init-application.d.ts +3 -1
- package/dist/types/layouts/new/components/Topbar/Toolbar/Message/index.d.ts +3 -0
- package/dist/types/layouts/new/components/Topbar/Toolbar/Message/message-list.vue.d.ts +27 -0
- package/dist/types/layouts/new/components/Topbar/Toolbar/Message/message.d.ts +1 -0
- package/dist/types/layouts/new/components/Topbar/Toolbar/Message/notify.d.ts +13 -0
- package/dist/types/layouts/new/ui-kit/HInput.vue.d.ts +2 -2
- package/dist/types/layouts/new/ui-kit/HTabList.vue.d.ts +2 -2
- package/dist/types/message-impl/DialogerImpl.d.ts +3 -1
- package/dist/types/modules/ms/dataviews/index.d.ts +1 -0
- package/dist/types/modules/ms/dataviews/ms-message/MsMessageNotifyTable.d.ts +18 -0
- package/dist/types/modules/ms/dataviews/ms-message/MsMessageTable.d.ts +1 -0
- package/dist/types/modules/ms/dataviews/ms-message/SendForm.d.ts +1 -1
- package/dist/types/modules/ms/dataviews/ms-message/index.d.ts +3 -2
- package/dist/types/modules/{cms/dataviews/cms-tags/CmsTagsTable.d.ts → ms/dataviews/request-log/MsRequestLogTable.d.ts} +3 -2
- package/dist/types/modules/ms/dataviews/request-log/index.d.ts +1 -0
- package/dist/types/store/modules/tabbar.d.ts +6 -6
- package/package.json +6 -8
- package/dist/cjs/article-edit-add-page-DOHWFoYx.cjs +0 -882
- package/dist/cjs/article-edit-add-page-DOHWFoYx.cjs.map +0 -1
- package/dist/cjs/cms-settings-CreshwVH.cjs +0 -49
- package/dist/cjs/cms-settings-CreshwVH.cjs.map +0 -1
- package/dist/cjs/index-CCRCg477.cjs +0 -393
- package/dist/cjs/index-CCRCg477.cjs.map +0 -1
- package/dist/cjs/index-Cqx6has-.cjs.map +0 -1
- package/dist/cjs/index-D1rwP_XD.cjs.map +0 -1
- package/dist/cjs/index-D6oqYqr5.cjs +0 -406
- package/dist/cjs/index-D6oqYqr5.cjs.map +0 -1
- package/dist/cjs/index-DYe4VYfx.cjs.map +0 -1
- package/dist/cjs/index-bjNfIJ9l.cjs +0 -79
- package/dist/cjs/index-bjNfIJ9l.cjs.map +0 -1
- package/dist/cjs/index-mI0uOelq.cjs +0 -1605
- package/dist/cjs/index-mI0uOelq.cjs.map +0 -1
- package/dist/cjs/index-yY6nqi0P.cjs.map +0 -1
- package/dist/cjs/index-zTzCVKVY.cjs.map +0 -1
- package/dist/esm/article-edit-add-page-CdwMEUo9.js +0 -882
- package/dist/esm/article-edit-add-page-CdwMEUo9.js.map +0 -1
- package/dist/esm/cms-settings-Drin7wFi.js +0 -50
- package/dist/esm/cms-settings-Drin7wFi.js.map +0 -1
- package/dist/esm/index-BJVZ0yS1.js.map +0 -1
- package/dist/esm/index-CEnaU3CC.js +0 -406
- package/dist/esm/index-CEnaU3CC.js.map +0 -1
- package/dist/esm/index-CmlDmGjs.js +0 -1605
- package/dist/esm/index-CmlDmGjs.js.map +0 -1
- package/dist/esm/index-Cq7SIfSQ.js.map +0 -1
- package/dist/esm/index-DVQ4uHey.js.map +0 -1
- package/dist/esm/index-DWQX_Oq-.js +0 -393
- package/dist/esm/index-DWQX_Oq-.js.map +0 -1
- package/dist/esm/index-Jh3JnsYu.js.map +0 -1
- package/dist/esm/index-Zd8aDHyM.js.map +0 -1
- package/dist/esm/index-mTGOVfMi.js +0 -79
- package/dist/esm/index-mTGOVfMi.js.map +0 -1
- package/dist/types/modules/cms/cms-settings.d.ts +0 -85
- package/dist/types/modules/cms/components/index.d.ts +0 -1
- package/dist/types/modules/cms/components/part-tree/index.d.ts +0 -22
- package/dist/types/modules/cms/components/part-tree/index.vue.d.ts +0 -28
- package/dist/types/modules/cms/composables/part-extensions.d.ts +0 -34
- package/dist/types/modules/cms/constants/index.d.ts +0 -1
- package/dist/types/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.d.ts +0 -11
- package/dist/types/modules/cms/dataviews/cms-ad-contents/CmsAdContentsTable.d.ts +0 -7
- package/dist/types/modules/cms/dataviews/cms-ad-contents/index.d.ts +0 -2
- package/dist/types/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.d.ts +0 -7
- package/dist/types/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesTable.d.ts +0 -7
- package/dist/types/modules/cms/dataviews/cms-ad-defines/index.d.ts +0 -2
- package/dist/types/modules/cms/dataviews/cms-articles/CmsArticlesForm.d.ts +0 -22
- package/dist/types/modules/cms/dataviews/cms-articles/CmsArticlesTable.d.ts +0 -7
- package/dist/types/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.d.ts +0 -7
- package/dist/types/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasTable.d.ts +0 -7
- package/dist/types/modules/cms/dataviews/cms-articles/cms-article-atlas/index.d.ts +0 -2
- package/dist/types/modules/cms/dataviews/cms-articles/index.d.ts +0 -2
- package/dist/types/modules/cms/dataviews/cms-part-types/CmsPartTypesForm.d.ts +0 -7
- package/dist/types/modules/cms/dataviews/cms-part-types/CmsPartTypesTable.d.ts +0 -7
- package/dist/types/modules/cms/dataviews/cms-part-types/index.d.ts +0 -2
- package/dist/types/modules/cms/dataviews/cms-parts/CmsContentManPartForm.d.ts +0 -8
- package/dist/types/modules/cms/dataviews/cms-parts/CmsPartForm.d.ts +0 -35
- package/dist/types/modules/cms/dataviews/cms-parts/CmsPartMiniForm.d.ts +0 -4
- package/dist/types/modules/cms/dataviews/cms-parts/CmsPartTree.d.ts +0 -13
- package/dist/types/modules/cms/dataviews/cms-parts/index.d.ts +0 -4
- package/dist/types/modules/cms/dataviews/cms-tags/CmsTagsForm.d.ts +0 -7
- package/dist/types/modules/cms/dataviews/cms-tags/index.d.ts +0 -2
- package/dist/types/modules/cms/dataviews/index.d.ts +0 -6
- package/dist/types/modules/cms/index.d.ts +0 -6
- package/dist/types/modules/cms/pages/cms-ad/index.vue.d.ts +0 -2
- package/dist/types/modules/cms/pages/cms-contents/article-edit-add-page.vue.d.ts +0 -2
- package/dist/types/modules/cms/pages/cms-contents/components/article-atlas.vue.d.ts +0 -57
- package/dist/types/modules/cms/pages/cms-contents/components/article-list.vue.d.ts +0 -14
- package/dist/types/modules/cms/pages/cms-contents/components/part-banner-edit.vue.d.ts +0 -16
- package/dist/types/modules/cms/pages/cms-contents/components/part-banner.vue.d.ts +0 -32
- package/dist/types/modules/cms/pages/cms-contents/components/part-info.vue.d.ts +0 -24
- package/dist/types/modules/cms/pages/cms-contents/index.vue.d.ts +0 -2
- package/dist/types/modules/cms/pages/cms-resource/index.vue.d.ts +0 -2
- package/dist/types/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.d.ts +0 -44
- package/dist/types/modules/cms/pages/cms-settigns/index.vue.d.ts +0 -2
- package/dist/types/modules/cms/pages/test/index.vue.d.ts +0 -2
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-CmlDmGjs.js","sources":["../../src/modules/cms/components/part-tree/index.vue","../../src/modules/cms/components/part-tree/index.ts","../../src/modules/cms/pages/cms-contents/components/article-list.vue","../../src/modules/cms/pages/cms-contents/components/part-info.vue","../../src/modules/cms/pages/cms-contents/components/part-banner.vue","../../src/modules/cms/pages/cms-contents/components/part-banner-edit.vue","../../src/modules/cms/pages/cms-contents/index.vue"],"sourcesContent":["<template>\r\n <div class=\"cms-part-tree\">\r\n <div class=\"cms-part-tree__header\">\r\n <div>\r\n <MKSvgIcon name=\"ep:notebook\" />\r\n 栏目\r\n </div>\r\n <el-switch v-model=\"isDrag\" inline-prompt active-text=\"开启排序\"\r\n inactive-text=\"关闭排序\" />\r\n </div>\r\n <div class=\"cms-part-tree__body\">\r\n <ElScrollbar style=\"height: 100%;\">\r\n <MKDataTable :auto-load=\"true\" :data-table=\"dataTree\" highlight-current>\r\n <MKTree :data-tree=\"dataTree\" @nodeClick=\"selectPart\" defaultExpandAll :draggable=\"isDrag\" ref=\"treeRef\" :currentNodeKey=\"selectNodeId\">\r\n <template #node-main=\"{ data }\">\r\n {{ data.data.title }}\r\n </template>\r\n <template #node-tools=\"{ data }\">\r\n <el-dropdown>\r\n <ElIcon>\r\n <MoreFilled />\r\n </ElIcon>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item :icon=\"Edit\" @click=\"handleEditClick(data.data)\">编辑</el-dropdown-item>\r\n <el-dropdown-item :icon=\"Delete\" @click=\"handleDeleteClick(data.data)\">删除</el-dropdown-item>\r\n <el-dropdown-item v-if=\"data.data.cmsPartTypeId != 1\" :icon=\"Plus\"\r\n @click=\"handleAddClick(data.data)\">添加子菜单</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </template>\r\n </MKTree>\r\n </MKDataTable>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { ElMessageBox, ElScrollbar } from \"element-plus\"\r\nimport { Plus, Edit, Delete, MoreFilled } from \"@element-plus/icons-vue\";\r\nimport { reactive, defineProps, watch, defineEmits, ref } from \"vue\";\r\nimport { MKDataTable, MKTree } from \"../../../../components/data-model/data-table\"\r\nimport { CmsPartTree } from \"../../dataviews\";\r\nimport { useI18n } from \"../../../../composables\";\r\nimport { DataTreeNode } from \"@maketribe/dm\";\r\nimport {MKSvgIcon} from \"../../../../components/basic\";\r\n\r\ndefineOptions({ name: \"MKPartTree\" });\r\nconst treeRef = ref(null);\r\n// 配置选项\r\nconst optionSettings = defineProps<{\r\n curSelectId?:string|undefined\r\n}>();\r\n\r\n// 事件定义\r\nconst emit = defineEmits([\"edit\", \"add\", \"deleteSuccessfully\", \"select\"]);\r\n\r\nconst i18n = useI18n()!;\r\nconst dataTree = reactive(new CmsPartTree()) as CmsPartTree;\r\n\r\nconst isDrag = ref(false)\r\n\r\nconst selectNodeId = ref(optionSettings.curSelectId);\r\n\r\nwatch(()=>optionSettings.curSelectId,()=>{\r\n selectNodeId.value = optionSettings.curSelectId\r\n})\r\n\r\n// 监听数据变化\r\ndataTree.listChangeEvent.on(() => {\r\n\r\n const list = dataTree.getList();\r\n\r\n if (list.length > 0) {\r\n //默认选择第一条\r\n if(!selectNodeId.value){ selectNodeId.value = list[0].id; }\r\n\r\n for(let i=0;i<list.length;i++){\r\n\r\n let item = list[i]\r\n \r\n if(item.id == selectNodeId.value){\r\n emit(\"select\", item);\r\n break;\r\n }\r\n item.children?.forEach((child:any)=>list.push(child))\r\n\r\n }\r\n }\r\n})\r\n\r\n/**\r\n * 点击添加栏目按钮\r\n * @param item \r\n */\r\nconst handleAddClick = (item: any) => {\r\n emit(\"add\", item);\r\n}\r\n\r\n/**\r\n * 编辑栏目\r\n * @param item \r\n */\r\nconst handleEditClick = (item: any) => {\r\n emit(\"edit\", item);\r\n}\r\n/**\r\n * 删除栏目\r\n * @param item \r\n */\r\nconst handleDeleteClick = async (item: any) => {\r\n // 删除提示\r\n const isConfirm = await ElMessageBox.confirm(\r\n i18n.translate(\"mk.dataTablePage.deleteMessage\"),\r\n i18n.translate(\"mk.dataTablePage.deleteTitle\"),\r\n { type: \"warning\" }\r\n )\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n const result = await dataTree.deleteAfterRefresh(item.id);\r\n if (result.data.code == 200) {\r\n emit('deleteSuccessfully', item)\r\n }\r\n}\r\n\r\n/**\r\n * 选择栏目\r\n * @param data \r\n */\r\nconst selectPart = (data: DataTreeNode) => {\r\n emit(\"select\", data.data);\r\n}\r\n\r\ndefineExpose({ dataTree });\r\n\r\n\r\n</script>\r\n","import { withInstall } from \"@maketribe/utils\";\r\nimport PartTree from \"./index.vue\";\r\n\r\nexport const MKPartTree = withInstall(PartTree);\r\nexport default MKPartTree;\r\n","<template>\r\n <MKDataTable :data-table=\"articlesDv\" :auto-load=\"false\" class=\"mk-cms-article-list\">\r\n <el-empty v-if=\"part && part.cmsPartTypeId == 1\" description=\"外链栏目下无文章内容\" />\r\n <MKTableView v-else-if=\"part\" :data-table=\"articlesDv\">\r\n <el-scrollbar class=\"mk-cms-article-list__content\" style=\"box-sizing: border-box;font-size: 0;\"\r\n v-if=\"articlesDv.getList().length > 0\">\r\n <el-card class=\"mk-cms-article-list__item\" v-for=\"article in articlesDv.getList()\" :key=\"article.id\">\r\n <div class=\"mk-cms-article-list__item__content\">\r\n <div class=\"left\">\r\n <el-image class=\"cover-image\" :src=\"article.cover\" fit=\"contain\">\r\n <template #error>\r\n <MKSvgIcon iconClass=\"Picture\" />\r\n </template>\r\n </el-image>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"top\">\r\n <div class=\"title\" :title=\"article.title\"> {{ article.title }}</div>\r\n <div class=\"tags\">\r\n <el-tag class=\"tag\" v-if=\"CmsSettings.content.useTop && article.isTop == 1\"\r\n @click=\"changeArticleStatus(article, 'isTop', 0)\">置顶</el-tag>\r\n <el-tag class=\"tag\" v-if=\"CmsSettings.content.useNew && article.isNew == 1\"\r\n @click=\"changeArticleStatus(article, 'isNew', 0)\">最新</el-tag>\r\n <el-tag class=\"tag\" v-if=\"CmsSettings.content.useHotRecommend && article.isHotRecommend == 1\"\r\n @click=\"changeArticleStatus(article, 'isHotRecommend', 0)\">热门推荐</el-tag>\r\n <el-tag class=\"tag\" v-if=\"CmsSettings.content.usePartRecommend && article.isPartRecommend == 1\"\r\n @click=\"changeArticleStatus(article, 'isPartRecommend', 0)\">栏目推荐</el-tag>\r\n </div>\r\n </div>\r\n <div class=\"sub-title\" v-if=\"article.subTitle\" :title=\"article.subTitle\"> {{ article.subTitle }}</div>\r\n <div class=\"desc\">\r\n {{ article.desc }}\r\n </div>\r\n <div class=\"footer\">\r\n <div class=\"ext\">\r\n <div class=\"author\">\r\n <MKSvgIcon iconClass=\"UserFilled\"></MKSvgIcon>\r\n 作者 : {{ article.author || \"-\" }}\r\n </div>\r\n <div class=\"publish-time\" v-if=\"article.releaseDate\">\r\n <MKSvgIcon iconClass=\"Timer\"></MKSvgIcon>\r\n 新闻日期 : {{ article.releaseDate }}\r\n </div>\r\n </div>\r\n <div class=\"tools\">\r\n <el-button type=\"primary\" size=\"large\" @click=\"editArticleHandle(article)\" text>\r\n 编辑\r\n </el-button>\r\n <el-button type=\"danger\" size=\"large\" @click=\"deleteArticleHandle(article)\" text>\r\n 删除\r\n </el-button>\r\n <!-- <a v-if=\"CmsSettings.publish.mode == 'static' && article.url\" :href=\"article.url\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>访问</el-button>\r\n </a> -->\r\n <a :href=\"'/api/cms/content/preview/content/' + article.cmsPartId + '/' + article.id\"\r\n v-if=\"CmsSettings.publish.mode == 'static'\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>预览</el-button>\r\n </a>\r\n <el-dropdown>\r\n <el-button type=\"primary\" size=\"large\" text>\r\n 更多\r\n </el-button>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item v-if=\"CmsSettings.publish.mode == 'static' && article.url\">\r\n <a style=\"text-decoration: none;color: #606266;\"\r\n v-if=\"CmsSettings.publish.mode == 'static' && article.url\" :href=\"article.url\"\r\n target=\"_blank\">\r\n 访问\r\n </a>\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"publishArticleHandle(article)\">\r\n 发布\r\n </el-dropdown-item>\r\n <el-dropdown-item v-if=\"CmsSettings.content.useTop && article.isTop == 0\"\r\n @click=\"changeArticleStatus(article, 'isTop', 1)\">设为置顶</el-dropdown-item>\r\n <el-dropdown-item v-if=\"CmsSettings.content.useNew && article.isNew == 0\"\r\n @click=\"changeArticleStatus(article, 'isNew', 1)\">设为最新</el-dropdown-item>\r\n <el-dropdown-item v-if=\"CmsSettings.content.useHotRecommend && article.isHotRecommend == 0\"\r\n @click=\"changeArticleStatus(article, 'isHotRecommend', 1)\">设为热门推荐</el-dropdown-item>\r\n <el-dropdown-item v-if=\"CmsSettings.content.usePartRecommend && article.isPartRecommend == 0\"\r\n @click=\"changeArticleStatus(article, 'isPartRecommend', 1)\">设为栏目推荐</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n <el-empty v-if=\"articlesDv.getList().length <= 0\" description=\"暂无文章内容\" />\r\n </MKTableView>\r\n </MKDataTable>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { MKTableView } from \"../../../../../components\"\r\nimport { CmsArticlesTable, CmsArticlesForm } from \"../../../dataviews\"\r\nimport { reactive, defineProps, watch, onMounted } from \"vue\";\r\nimport { Dialoger, isWhereFilter, Messager } from '@maketribe/dm'\r\nimport { useRouter } from \"vue-router\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\n\r\n// 文章\r\nconst articlesDv = reactive(new CmsArticlesTable()) as CmsArticlesTable;\r\n// 发布文章表单\r\nconst articleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\n// 草稿文章\r\nconst draftArticleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\n\r\n// 参数\r\nconst props = defineProps({\r\n part: { type: Object, default: null }\r\n})\r\n\r\nconst router = useRouter();\r\n\r\n//改变文章指定,最新,推荐状态\r\nconst changeArticleStatus = async (article: any, item: string, status: number) => {\r\n const text: Record<string, string[]> = {\r\n \"isTop\": ['取消置顶', '设为置顶'],\r\n \"isNew\": ['取消最新', '设为最新'],\r\n \"isHotRecommend\": ['取消热门推荐', '设为热门推荐'],\r\n \"isPartRecommend\": ['取消栏目推荐', '设为栏目推荐'],\r\n }\r\n\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"修改文章状态\",\r\n message: `是否${text[item][status]}?`,\r\n type: \"warning\"\r\n })\r\n if (!isConfirm) {\r\n return\r\n }\r\n try {\r\n\r\n articlesDv.getLoadingManager().startLoading();\r\n await articleForm.editRecord(article.id)\r\n const isSuccess = await articleForm.simpleSubmit({\r\n id: article.id,\r\n [item]: status\r\n })\r\n\r\n if (isSuccess) {\r\n articlesDv.load();\r\n }\r\n } finally {\r\n articlesDv.getLoadingManager().completeLoading();\r\n }\r\n\r\n\r\n}\r\n\r\n// 初始化\r\nonMounted(() => {\r\n articleForm.init();\r\n draftArticleForm.init();\r\n\r\n // 监听栏目数据变化\r\n watch(() => props.part, (item: any) => {\r\n if (item.cmsPartTypeId != 1) {\r\n \r\n const dataFilter = articlesDv.dataFilter;\r\n\r\n if (isWhereFilter(dataFilter)) {\r\n\r\n const defaultGroup = dataFilter.getDefaultGroup();\r\n\r\n defaultGroup.clear();\r\n defaultGroup.addCondition(\"cmsPartId\", \"=\", item.id);\r\n // 只查草稿\r\n defaultGroup.addCondition(\"isDraft\", \"=\", 1);\r\n }\r\n\r\n articlesDv.load()\r\n }\r\n }, { immediate: true })\r\n})\r\n\r\n/**\r\n * 删除文章\r\n */\r\nconst deleteArticleHandle = async (item: any) => {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"删除文章?\",\r\n message: \"是否删除文章?\",\r\n type: \"warning\"\r\n })\r\n\r\n if (!isConfirm) { return; }\r\n await articlesDv.deleteAfterRefresh(item.id);\r\n}\r\n\r\n/**\r\n * 编辑文章\r\n */\r\nconst editArticleHandle = (item: any, isEdit = false) => {\r\n router.push({ path: \"/cms/article\", query: { id: isEdit ? undefined : item.id, partId: isEdit ? item.id : undefined } })\r\n}\r\n\r\n// 添加记录\r\narticlesDv.addRecordEvent.on(() => editArticleHandle(props.part, true))\r\n\r\n/**\r\n * fault文章\r\n * @param article \r\n */\r\nconst publishArticleHandle = async (article: any) => {\r\n\r\n try {\r\n\r\n if (await Dialoger.confirm({ title: \"文章发布\", message: \"是否发布文章?\", type: \"warning\" })) {\r\n\r\n articlesDv.getLoadingManager().startLoading();\r\n\r\n // 调用发布接口\r\n const response: any = await CmsArticlesForm.publish(CmsSettings.publish.mode, article.cmsPartId, article.id);\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n }\r\n\r\n } finally {\r\n articlesDv.getLoadingManager().completeLoading();\r\n }\r\n}\r\n\r\n\r\n</script>\r\n","<template>\r\n <div class=\"mk-cms-part-info\">\r\n <MKDataForm :dataForm=\"partDataForm\" style=\"height: 100%;\">\r\n <MKForm :dataForm=\"partDataForm\">\r\n <div class=\"mk-cms-part-info__body__form\">\r\n <div class=\"mk-cms-part-info__body__form-options\">\r\n <ElScrollbar>\r\n <MKDataFormItem name=\"cmsPartTypeId\" v-if=\"hideHandle('cmsPartTypeId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"parentId\" v-if=\"hideHandle('parentId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"cmsCoverArticleId\" v-if=\"hideHandle('cmsCoverArticleId')\">\r\n </MKDataFormItem>\r\n <MKDataFormItem name=\"title\" v-if=\"hideHandle('title')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"name\" v-if=\"hideHandle('name')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"externalLink\" v-if=\"hideHandle('externalLink')\">\r\n </MKDataFormItem>\r\n <el-row :gutter=\"22\" justify=\"space-between\">\r\n <el-col :span=\"10\" v-if=\"hideHandle('isShowMenu')\">\r\n <MKDataFormItem name=\"isShowMenu\"></MKDataFormItem>\r\n </el-col>\r\n <el-col :span=\"10\" v-if=\"hideHandle('isHome')\">\r\n <MKDataFormItem name=\"isHome\"></MKDataFormItem>\r\n </el-col>\r\n </el-row>\r\n <template v-if=\"CmsSettings.publish.mode == 'static'\">\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverRouter')\">路由配置</el-divider>\r\n <MKDataFormItem name=\"coverRouter\" v-if=\"hideHandle('coverRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listRouter\" v-if=\"hideHandle('listRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentRouter\" v-if=\"hideHandle('contentRouter')\"></MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverTemplate')\">模版配置</el-divider>\r\n <MKDataFormItem name=\"coverTemplate\" v-if=\"hideHandle('coverTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listTemplate\" v-if=\"hideHandle('listTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentTemplate\" v-if=\"hideHandle('contentTemplate')\">\r\n </MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('seoKeywords')\">SEO</el-divider>\r\n <MKDataFormItem name=\"seoKeywords\" v-if=\"hideHandle('seoKeywords')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"seoDesc\" v-if=\"hideHandle('seoDesc')\"></MKDataFormItem>\r\n </template>\r\n \r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../../components\";\r\nimport { CmsPartForm } from \"../../../dataviews/cms-parts/CmsPartForm\";\r\nimport { computed, reactive, Ref, watch } from \"vue\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\nconst props = defineProps({\r\n part: {\r\n type: Object,\r\n default: () => {\r\n return {}\r\n }\r\n },\r\n partDataForm: {\r\n type: CmsPartForm,\r\n default: () => {\r\n return new CmsPartForm()\r\n }\r\n }\r\n})\r\n\r\n//监听保存成功事件\r\n// props.partDataForm.submittedEvent.on(() => {\r\n// props.partDataForm.editRecord(props.part.id)\r\n// })\r\n\r\n/**\r\n * 需要隐藏的行\r\n */\r\nconst hideHandle = (name: string) => {\r\n if (props.partDataForm.data.cmsPartTypeId == 1 && CmsPartForm.outerChainHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 2 && CmsPartForm.contentHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 3 && CmsPartForm.menuHideColumn.includes(name)) {\r\n props.partDataForm.data.isShowMenu = 1;\r\n return false;\r\n } \r\n else {\r\n return true;\r\n }\r\n}\r\n\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n","<template>\r\n <div v-loading=\"loading\">\r\n <el-carousel v-if=\"partAdBanner && partAdBanner.contents?.length\" :autoplay=\"false\" :height=\"partAdBannerHeight\"\r\n arrow=\"always\" ref=\"carouselRef\">\r\n <el-carousel-item v-for=\"item in partAdBanner.contents\" :key=\"item.id\">\r\n <div class=\"mk-cms-part-banner__list_item\">\r\n <div class=\"mk-cms-part-banner__list_content\">\r\n <el-image class=\"mk-cms-part-banner__list_content_img\" v-if=\"item.type == 1\" :src=\"item.path\" fit=\"cover\"\r\n tyle=\"width: 100%;height: 100%;\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"item.type == 2\" :src=\"item.path\" style=\"width: 100%;height: 100%;\"\r\n controls></video>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_bottom\">\r\n <div class=\"mk-cms-part-banner__list_title\">{{ item.title }}</div>\r\n <div>{{ item.desc }}</div>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_action-mask\">\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdContentHandle(item.id)\">\r\n 编辑当前轮播素材\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdContentHandle(null)\">\r\n 添加新轮播素材\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdDefineHandle()\">\r\n 设置素材显示尺寸\r\n </el-button>\r\n <el-button type=\"danger\" style=\"margin-left: 10px;\" :icon=\"Delete\" @click=\"deleteAdContentHandle(item.id)\">\r\n 删除当前素材\r\n </el-button>\r\n </div>\r\n </div>\r\n </el-carousel-item>\r\n </el-carousel>\r\n <el-empty v-else :image-size=\"80\" :style=\"{ height: partAdBannerHeight }\">\r\n <template #description>\r\n <el-text>暂无{{ title }}轮播素材数据</el-text>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdDefineHandle()\">\r\n 设置素材显示尺寸\r\n </el-button>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdContentHandle(null)\">\r\n 添加\r\n </el-button>\r\n </template>\r\n </el-empty>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\nimport { onMounted, reactive, ref, watch, defineProps, computed } from \"vue\";\r\nimport { DataViewRequest, DVQueryable, Where } from \"@maketribe/request\";\r\nimport { Dialoger, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdContentsForm, CmsAdDefinesForm } from \"../../../dataviews\";\r\nimport { EditPen, Plus, Delete } from \"@element-plus/icons-vue\"\r\n\r\nconst props = defineProps({ adkey: { type: String }, title: { type: String }, deviceValue: { type: String, default: \"\" }, viewWidth: { type: Number } })\r\n\r\n// 广告定义数据表\r\nconst adRequest = new DataViewRequest({ name: \"ad-define\", moduleName: \"cms\" });\r\nconst adContentRequest = new DataViewRequest({ name: \"ad-content\", moduleName: \"cms\" });\r\n// cms 配置\r\nconst cmsSettings = useCmsSettings();\r\n// 栏目广告\r\nconst partAdBanner = ref<any | null>(null);\r\nconst loading = ref(true);\r\nconst adContentForm = reactive<CmsAdContentsForm>(new CmsAdContentsForm({ cutSise: cmsSettings.part.bannerImageSize }))\r\nconst adDefineForm = reactive<CmsAdDefinesForm>(new CmsAdDefinesForm())\r\nconst warpRef = ref<any | null>(null);\r\n// 计算广告的高度\r\nconst partAdBannerHeight = computed(() => {\r\n\r\n // 全局Banner尺寸信息\r\n const sizes = cmsSettings.part.bannerImageSize.split(\"*\") as Array<any>;\r\n\r\n // 宽高比\r\n let widthHeightRatio = 0;\r\n\r\n //设定的比例\r\n if (!!partAdBanner.value?.width && !!partAdBanner.value?.height) {\r\n widthHeightRatio = partAdBanner.value.width / partAdBanner.value.height;\r\n }\r\n else if (sizes.length && sizes[0] && sizes[1]) {\r\n widthHeightRatio = sizes[0] / sizes[1]\r\n }\r\n\r\n if (widthHeightRatio && props.viewWidth) { return (props.viewWidth / widthHeightRatio) + \"px\" }\r\n\r\n return \"240px\"\r\n\r\n})\r\n\r\n// 内容添加之前监测广告是否存在不存在先添加广告\r\nadContentForm.beforeSubmitEvent.on(async ({ data }) => {\r\n\r\n if (partAdBanner.value) {\r\n data.adDefineId = partAdBanner.value.id as any;\r\n }\r\n else {\r\n try {\r\n\r\n const widthAndHeight = cmsSettings.part.bannerImageSize.split(\"*\");\r\n // 添加广告\r\n const result = await adRequest.add({ key: props.adkey, desc: `${props.title}的Banner`, width: widthAndHeight[0], height: widthAndHeight[1] })\r\n\r\n if (result.data.code == 200) {\r\n partAdBanner.value = { id: result.data.data as string }\r\n data.adDefineId = result.data.data;\r\n }\r\n\r\n } catch (error) {\r\n Messager.error({ message: \"添加失败!\" });\r\n }\r\n }\r\n\r\n})\r\n\r\n//提交判断是否存在,判断更新还是添加\r\nadDefineForm.formatSubmitData = ((data) => {\r\n if (partAdBanner.value) {\r\n data.id = partAdBanner.value.id as any;\r\n } else {\r\n data.key = props.adkey\r\n data.desc = `${props.title}的Banner`\r\n }\r\n return data\r\n})\r\n\r\n// 添加完成则刷新\r\nadContentForm.submittedEvent.on(() => loadPartAdDefineData())\r\n// 添加完成则刷新\r\nadDefineForm.submittedEvent.on(() => loadPartAdDefineData())\r\n\r\n//加载栏目广告\r\nconst loadPartAdDefineData = async () => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n const where = new Where()\r\n where.addCondition(\"key\", \"=\", props.adkey);\r\n // 加载广告定义\r\n partAdBanner.value = (await adRequest.query({\r\n data: {\r\n pn: 1,\r\n pc: 1000000,\r\n condition: where\r\n }\r\n })).data.data?.[0] ?? null;\r\n\r\n if (partAdBanner.value?.width && partAdBanner.value?.width) {\r\n adContentForm.changeCutSise(`${partAdBanner.value.width}*${partAdBanner.value.height}`)\r\n }\r\n\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false;\r\n }\r\n}\r\n\r\n//显示栏目广告的编辑弹窗\r\nconst showAdContentHandle = async (id: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: adContentForm as CmsAdContentsForm,\r\n recId: id\r\n })\r\n}\r\n\r\n//显示栏目广告定义的编辑弹窗\r\nconst showAdDefineHandle = async () => {\r\n await Dialoger.dataFormDialog({\r\n title: \"设置素材显示尺寸\",\r\n dataForm: adDefineForm as CmsAdDefinesForm,\r\n recId: partAdBanner.value?.id\r\n })\r\n adDefineForm.getColumn(\"contents\")!.visible = false;\r\n adDefineForm.getColumn(\"key\")!.visible = false;\r\n adDefineForm.getColumn(\"desc\")!.visible = false;\r\n}\r\n\r\nconst deleteAdContentHandle = async (id: any) => {\r\n try {\r\n const isConfirm = await Dialoger.confirm({ title: \"确定删除?\", message: \"确定删除当前轮播吗?\", type: \"warning\" })\r\n if (!isConfirm) return;\r\n const result = await adContentRequest.delete(id)\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"删除失败!\" })\r\n return\r\n };\r\n loadPartAdDefineData()\r\n } catch (error) {\r\n Messager.error({ message: \"删除失败!\" })\r\n }\r\n}\r\n\r\n// 组件挂载的时候\r\nonMounted(() => {\r\n watch(() => props.adkey, () => loadPartAdDefineData(), { immediate: true })\r\n})\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n","<template>\r\n <div class=\"mk-cms-part-banner__warp\" v-if=\"cmsSettings.part.openBanner\" ref=\"warpElRef\">\r\n <el-tabs v-model=\"activePartAdType\">\r\n <el-tab-pane label=\"PC端\" name=\"pc\" v-if=\"cmsSettings.devices.includes('pc')\">\r\n <PartBannerComponent :adkey=\"`part_${partId}`\" :title=\"`${title}PC端`\" :viewWidth=\"warpElRef?.offsetWidth\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"移动端\" name=\"mobile\" v-if=\"cmsSettings.devices.includes('mobile')\">\r\n <PartBannerComponent :adkey=\"`part_${partId}_mobile`\" :title=\"`${title}移动端`\" :viewWidth=\"750\"\r\n style=\"max-width: 750px;margin: auto;\" />\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { ref, defineProps } from \"vue\"\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\nimport PartBannerComponent from \"./part-banner.vue\"\r\n\r\ndefineProps({ partId: { type: String }, title: { type: String } })\r\n\r\n// cms 配置\r\nconst cmsSettings = useCmsSettings();\r\nconsole.log(cmsSettings.devices);\r\n// cms 配置\r\nconst warpElRef = ref<any>()\r\n// 栏目广告\r\nconst activePartAdType = ref(cmsSettings.devices[0])\r\n\r\n</script>\r\n","<template>\r\n <div class=\"mk-cms-contents__warp\" v-loading=\"loading\">\r\n <el-page-header style=\"background-color: #fff; padding: 10px\" :icon=\"null\">\r\n <template #title>\r\n <h3 style=\"color: var(--el-text-color-regular);\" m=\"l-[10px]\" flex=\"~ items-center\">\r\n <MKSvgIcon name=\"f7:doc-richtext\" m=\"r-[5px]\"/>\r\n 内容管理\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button-group>\r\n <el-button type=\"primary\" size=\"large\" text v-if=\"CmsSettings.publish.mode == 'static'\"\r\n @click=\"publishAllPartHandle\">\r\n <MKSvgIcon name=\"ep:promotion\" m=\"r-[10]x\"/>\r\n 整站发布\r\n </el-button>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showPartFormHandle\">\r\n <MKSvgIcon name=\"ep:plus\" m=\"r-[10]x\"/>\r\n 新增栏目\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-contents__body\">\r\n <MKPartTree class=\"mk-cms-contents__body__left\" @select=\"selectPartHandle\" @edit=\"editPartHandle\"\r\n @add=\"showPartFormHandle\" @deleteSuccessfully=\"deletePartHandle\" ref=\"partTreeRef\"\r\n :curSelectId=\"curSelectPartId\" />\r\n <el-tabs v-if=\"curSelectPartItem\" v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <div class=\"mk-cms-contents__body__right__action\">\r\n\r\n <template v-for=\"(ext, i) in partExList\" :label=\"ext.title || `页面扩展设置 ${i+1}`\" :name=\"\">\r\n <el-button type=\"primary\" text @click=\"ext.save()\" v-if=\"activeTabName == `part-ext${i}` && ext.save\">\r\n <MKSvgIcon name=\"carbon:save\" m=\"r-[5px]\" />\r\n 保存{{ ext.title }}\r\n </el-button>\r\n </template>\r\n <template v-if=\"activeTabName == 'part' || (activeTabName == 'part-content' && !partContentExtension?.component)\">\r\n <el-button type=\"primary\" text @click=\"savePartHandle()\" :disabled=\"!partDataForm?.isChanged\">\r\n <MKSvgIcon name=\"carbon:save\" m=\"r-[5px]\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <el-dropdown\r\n v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate || curSelectPartItem.listTemplate || curSelectPartItem.contentTemplate\">\r\n <span class=\"el-dropdown-link\">\r\n <el-button type=\"primary\" text>\r\n <MKSvgIcon name=\"ep:more-filled\" />\r\n </el-button>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item @click=\"previewHandle()\"\r\n v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate\">\r\n <MKSvgIcon name=\"ep:view\" m=\"l-[10px]\" />\r\n 预览封面\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"previewHandle(1)\"\r\n v-if=\"curSelectPartItem.listTemplate\">\r\n <MKSvgIcon name=\"ep:view\" m=\"l-[10px]\" />\r\n 预览列表\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"showPublish = true\">\r\n <MKSvgIcon name=\"ep:promotion\" m=\"l-[10px]\" />\r\n 发布当前栏目\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n <el-tab-pane label=\"文章列表\" name=\"article-list\" v-if=\"curSelectPartItem.contentTemplate\">\r\n <ArticleList v-if=\"activeTabName == 'article-list'\" :part=\"curSelectPartItem\" style=\"height: 99%;\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目设置\" name=\"part\" v-loading=\"partDataForm.loading\">\r\n <PartInfo v-if=\"activeTabName == 'part'\" :part=\"curSelectPartItem\" ref=\"partInfoRef\"\r\n :partDataForm=\"partDataForm\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面内容\" name=\"part-content\" style=\"background-color: #f4f4f4\"\r\n v-if=\"curSelectPartItem.cmsPartTypeId != 1\">\r\n <!-- 存在内容扩展配置 -->\r\n <template v-if=\"partContentExtension && activeTabName == 'part-content'\">\r\n\r\n <!-- 都自定义扩展的话 -->\r\n <template v-if=\"partContentExtension.component && partContentExtension.adComponent\">\r\n <div style=\"background: #fff;margin-top: -10px;padding: 10px;box-sizing: border-box;\">\r\n <component :is=\"partContentExtension.adComponent\" />\r\n </div>\r\n <div style=\"background: #fff;\">\r\n <component :is=\"partContentExtension.component\" />\r\n </div>\r\n </template>\r\n <!-- 只扩展内容 -->\r\n <template v-if=\"partContentExtension.component && !partContentExtension.adComponent\">\r\n <PartBannerEdit v-if=\"partDataForm.data?.id\" :partId=\"partDataForm.data?.id\" :title=\"partDataForm.data?.title\" />\r\n <div style=\"background: #fff;margin-top: -10px;padding: 10px;box-sizing: border-box;\" v-if=\"partContentExtension.component\">\r\n <component :is=\"partContentExtension.component\" />\r\n </div>\r\n </template>\r\n <!-- 只扩展栏目广告栏 -->\r\n <template v-if=\"!partContentExtension.component && partContentExtension.adComponent\">\r\n <MKDocEditor :css=\"CmsSettings.part.doc.css\" :js=\"CmsSettings.part.doc.js\" :loading=\"partDataForm.loading\" namespace=\"cms-part\"\r\n :modelValue=\"partDataForm.data?.content\" placeholder=\"从这里开始写正文...\" @update:modelValue=\"docEditorChangeHandle\">\r\n <template #before-extentions>\r\n <div style=\"background: #fff;margin-bottom: 10px;\">\r\n <component :is=\"partContentExtension.adComponent\" />\r\n </div>\r\n </template>\r\n </MKDocEditor>\r\n </template>\r\n \r\n </template>\r\n\r\n <template v-else-if=\"activeTabName == 'part-content'\">\r\n <MKDocEditor :css=\"CmsSettings.part.doc.css\" :js=\"CmsSettings.part.doc.js\" :loading=\"partDataForm.loading\" namespace=\"cms-part\"\r\n :modelValue=\"partDataForm.data?.content\" @update:modelValue=\"docEditorChangeHandle\" placeholder=\"从这里开始写正文...\">\r\n <template #before-extentions>\r\n <PartBannerEdit v-if=\"partDataForm.data?.id\" :partId=\"partDataForm.data?.id\"\r\n :title=\"partDataForm.data?.title\" />\r\n </template>\r\n </MKDocEditor>\r\n </template>\r\n\r\n </el-tab-pane>\r\n <el-tab-pane v-for=\"(ext, i) in partExList\" :label=\"ext.title || `页面扩展设置 ${i == 0 ? '' : i}`\" :name=\"`part-ext${i}`\">\r\n <component :is=\"ext.component\" />\r\n </el-tab-pane>\r\n\r\n </el-tabs>\r\n <el-empty v-else description=\"请选择栏目\" style=\"width: 100%\" />\r\n </div>\r\n <el-dialog v-model=\"showPublish\" title=\"栏目发布\" width=\"475px\" :append-to-body=\"false\">\r\n <div class=\"mk-cms-contents__publish\">\r\n <div><span>是否发布列表:</span> <el-switch v-model=\"optionData.isPublishList\"\r\n :disabled=\"!curSelectPartItem.listTemplate\" /></div>\r\n <div><span>是否发布封面:</span> <el-switch v-model=\"optionData.isPublishCover\"\r\n :disabled=\"!curSelectPartItem.coverTemplate\" /></div>\r\n <div><span>是否发布内容:</span> <el-switch v-model=\"optionData.isPublishContent\"\r\n :disabled=\"!curSelectPartItem.contentTemplate\" /></div>\r\n <div><span>是否发布资源:</span> <el-switch v-model=\"optionData.isPublishAssets\" /></div>\r\n <div><span>是否强制发布:</span> <el-switch v-model=\"optionData.isCompulsion\" /></div>\r\n </div>\r\n <template #footer>\r\n <el-button @click=\"showPublish = false\">取消</el-button>\r\n <el-button type=\"primary\" @click=\"publishPartHandle\" :loading=\"publishLoading\">确定</el-button>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { MKPartTree } from \"../../components\";\r\nimport ArticleList from \"./components/article-list.vue\";\r\nimport PartInfo from \"./components/part-info.vue\";\r\nimport PartBannerEdit from \"./components/part-banner-edit.vue\";\r\nimport { MKDocEditor } from \"../../../../components\";\r\nimport { reactive, ref,shallowRef, watch, watchEffect } from \"vue\";\r\nimport { Dialoger, Messager } from \"@maketribe/dm\";\r\nimport { CmsContentManPartForm, CmsPartForm, CmsPartMiniForm } from \"../../dataviews/cms-parts\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { usePartExtensionList, usePartContentComponent, type PartExtension } from \"../../composables/part-extensions\"\r\nimport { ElSwitch } from \"element-plus\";\r\nimport { useCmsSettings } from \"../../cms-settings\"\r\nimport {MKSvgIcon} from \"../../../../components/basic\";\r\n//路由 \r\nconst route = useRoute();\r\nconst router = useRouter();\r\n\r\n// 当前选中的栏目id\r\nconst curSelectPartId = ref<string>(route.query.pid as string)\r\nwatch(() => route.query.pid, (v: any) => {\r\n curSelectPartId.value = v\r\n}, { immediate: true });\r\n\r\n//栏目Mini表单\r\nconst partMiniForm = reactive<CmsPartMiniForm>(new CmsPartMiniForm());\r\n\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true);\r\n\r\n//发布栏目时的配置\r\nconst showPublish = ref(false)\r\n\r\n//发布配置项\r\nconst optionData = ref({\r\n isPublishList: false,\r\n isPublishCover: false,\r\n isPublishContent: false,\r\n isPublishAssets: false,\r\n isCompulsion: true\r\n});\r\n\r\n//发布加载状态\r\nconst publishLoading = ref(false);\r\n\r\n// 数据加载状态\r\nconst loading = ref(false)\r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"article-list\");\r\n\r\n// 当前选中的菜单\r\nconst curSelectPartItem = ref(null as any);\r\n\r\n// 栏目树ref\r\nconst partTreeRef = ref(null);\r\n\r\n//栏目扩展\r\nconst partExList = shallowRef<Array<PartExtension>>([]);\r\nconst partContentExtension = shallowRef<any>(null)\r\n\r\n//栏目数据\r\nconst partDataForm = reactive(new CmsContentManPartForm()) as CmsContentManPartForm;\r\n\r\n// 初始化表单\r\npartDataForm.init();\r\n\r\n// 切换tab 加载栏目表单数据\r\nlet beforeInitFormPart: any = null;\r\nwatchEffect(async () => {\r\n if ((activeTabName.value == \"part\" || activeTabName.value == \"part-content\") && curSelectPartItem.value != beforeInitFormPart && curSelectPartItem.value) {\r\n try {\r\n beforeInitFormPart = curSelectPartItem.value;\r\n await partDataForm.editRecord(curSelectPartItem.value.id);\r\n } catch (error) {\r\n console.log(132)\r\n console.log(error)\r\n }\r\n }\r\n});\r\n\r\n// 选择栏目\r\nconst selectPartHandle = async (item: any) => {\r\n\r\n if (curSelectPartItem.value != item) {\r\n\r\n curSelectPartItem.value = item;\r\n\r\n if (!curSelectPartItem.value.contentTemplate) {\r\n activeTabName.value = \"part\";\r\n }\r\n else {\r\n activeTabName.value = \"article-list\";\r\n }\r\n router.replace({ name: 'cms/contents', query: { pid: curSelectPartItem.value.id } } as any)\r\n partExList.value = usePartExtensionList(curSelectPartItem.value.id).concat(usePartExtensionList(curSelectPartItem.value.name));\r\n partContentExtension.value = usePartContentComponent(curSelectPartItem.value.id) || usePartContentComponent(curSelectPartItem.value.name)\r\n }\r\n};\r\n\r\n//删除栏目\r\nconst deletePartHandle = (item: any) => {\r\n if (item.id == curSelectPartItem.value.id) {\r\n curSelectPartItem.value = null;\r\n }\r\n};\r\n\r\n//编辑栏目\r\nconst editPartHandle = (item: any) => {\r\n curSelectPartItem.value = item;\r\n activeTabName.value = \"part\";\r\n};\r\n\r\n/**\r\n * 显示添加栏目表单\r\n */\r\nconst showPartFormHandle = async (item?: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: partMiniForm as CmsContentManPartForm,\r\n });\r\n\r\n if (item.id) {\r\n partMiniForm.addRecord({ parentId: item.id });\r\n }\r\n\r\n};\r\n\r\nwatch(showPublish, async (v) => {\r\n if (v) {\r\n console.log(2)\r\n optionData.value.isPublishList = !!curSelectPartItem.value.listTemplate\r\n optionData.value.isPublishCover = !!curSelectPartItem.value.coverTemplate\r\n optionData.value.isPublishContent = !!curSelectPartItem.value.contentTemplate\r\n }\r\n})\r\n\r\n//监听表单完成事件\r\npartMiniForm.submittedEvent.on(({ response }: any) => {\r\n if (response.data.data) {\r\n // 重置选中\r\n curSelectPartId.value = response.data.data;\r\n // 刷新完成直接选中\r\n (partTreeRef.value! as any).dataTree?.load();\r\n }\r\n\r\n});\r\n\r\n//栏目发布\r\nconst publishAllPartHandle = async () => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n\r\n await CmsPartForm.publishAll()\r\n }\r\n finally {\r\n loading.value = false;\r\n }\r\n\r\n}\r\nconst publishPartHandle = async () => {\r\n\r\n try {\r\n //表单未保存,默认保存\r\n try{\r\n if(partDataForm.isChanged){\r\n await savePartHandle()\r\n }\r\n }catch{\r\n Messager.error({\r\n message:\"保存失败\"\r\n })\r\n return \r\n }\r\n\r\n publishLoading.value = true\r\n\r\n await CmsPartForm.publish(curSelectPartItem.value.id, optionData.value);\r\n\r\n showPublish.value = false;\r\n\r\n } finally {\r\n publishLoading.value = false\r\n }\r\n}\r\n\r\n/**\r\n * 预览\r\n */\r\nconst previewHandle =async (num?:string|number)=>{\r\n if(partDataForm.isChanged){\r\n await savePartHandle()\r\n }\r\n if(num){\r\n CmsPartForm.openPreview(curSelectPartItem.value.id, '1')\r\n }else{\r\n CmsPartForm.openPreview(curSelectPartItem.value.id)\r\n }\r\n}\r\n\r\n/**\r\n * 保存栏目信息\r\n */\r\nconst savePartHandle = async () => {\r\n curSelectPartItem.value = partDataForm.data;\r\n await partDataForm.submit();\r\n}\r\n\r\n/**\r\n * 更新编辑器内容\r\n * @param v 内容\r\n */\r\nconst docEditorChangeHandle = (v: any) => {\r\n if(partDataForm.data){\r\n partDataForm.data.content = v\r\n }\r\n}\r\n</script>\r\n"],"names":["PartTree"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-Cq7SIfSQ.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-DVQ4uHey.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,393 +0,0 @@
|
|
|
1
|
-
import { defineComponent, ref, reactive, onMounted, watch, resolveComponent, resolveDirective, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, unref, createTextVNode, withDirectives, createBlock, Fragment, renderList, toDisplayString, createCommentVNode } from "vue";
|
|
2
|
-
import { DataViewRequest, Group } from "@maketribe/request";
|
|
3
|
-
import { FormColumn, Dialoger, Messager } from "@maketribe/dm";
|
|
4
|
-
import { Q as CmsAdContentsForm, S as CmsAdDefinesForm, q as MKSvgIcon } from "./index-BJVZ0yS1.js";
|
|
5
|
-
import "element-plus";
|
|
6
|
-
import "@maketribe/utils";
|
|
7
|
-
import "vue-router";
|
|
8
|
-
import "@maketribe/locale";
|
|
9
|
-
import "lodash-es";
|
|
10
|
-
import "@lexical/overflow";
|
|
11
|
-
import "@lexical/text";
|
|
12
|
-
import "@lexical/utils";
|
|
13
|
-
import "lexical";
|
|
14
|
-
import "@lexical/selection";
|
|
15
|
-
import "@lexical/link";
|
|
16
|
-
import "@lexical/rich-text";
|
|
17
|
-
import { EditPen, Delete, ArrowDown } from "@element-plus/icons-vue";
|
|
18
|
-
import "@lexical/history";
|
|
19
|
-
import "@lexical/dragon";
|
|
20
|
-
import "@lexical/plain-text";
|
|
21
|
-
import "@codemirror/lang-html";
|
|
22
|
-
const _hoisted_1 = { class: "mk-cms-ad__warp" };
|
|
23
|
-
const _hoisted_2 = {
|
|
24
|
-
style: { "color": "var(--el-text-color-regular)" },
|
|
25
|
-
m: "l-[10px]",
|
|
26
|
-
flex: "~ items-center"
|
|
27
|
-
};
|
|
28
|
-
const _hoisted_3 = { class: "flex items-center" };
|
|
29
|
-
const _hoisted_4 = { class: "mk-cms-ad__body" };
|
|
30
|
-
const _hoisted_5 = { class: "mk-cms-ad__card__header clearfix" };
|
|
31
|
-
const _hoisted_6 = { class: "btn-box" };
|
|
32
|
-
const _hoisted_7 = { class: "mk-cms-ad__card__body" };
|
|
33
|
-
const _hoisted_8 = /* @__PURE__ */ createElementVNode("div", {
|
|
34
|
-
slot: "placeholder",
|
|
35
|
-
class: "image-slot"
|
|
36
|
-
}, [
|
|
37
|
-
/* @__PURE__ */ createTextVNode(" 加载中"),
|
|
38
|
-
/* @__PURE__ */ createElementVNode("span", { class: "dot" }, "...")
|
|
39
|
-
], -1);
|
|
40
|
-
const _hoisted_9 = ["src"];
|
|
41
|
-
const _hoisted_10 = { class: "item-desc" };
|
|
42
|
-
const _hoisted_11 = { class: "item-desc-left" };
|
|
43
|
-
const _hoisted_12 = { class: "title ellipsis" };
|
|
44
|
-
const _hoisted_13 = ["title"];
|
|
45
|
-
const _hoisted_14 = { class: "desc" };
|
|
46
|
-
const _hoisted_15 = { class: "external-links ellipsis" };
|
|
47
|
-
const _hoisted_16 = ["href", "title"];
|
|
48
|
-
const _hoisted_17 = { class: "item-desc-right" };
|
|
49
|
-
const _hoisted_18 = { class: "el-dropdown-link" };
|
|
50
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
51
|
-
__name: "index",
|
|
52
|
-
setup(__props) {
|
|
53
|
-
const adRequest = new DataViewRequest({ name: "ad-define", moduleName: "cms" });
|
|
54
|
-
const adContentRequest = new DataViewRequest({ name: "ad-content", moduleName: "cms" });
|
|
55
|
-
const adSearchWord = ref("");
|
|
56
|
-
const adDefineList = ref([]);
|
|
57
|
-
const loading = ref(true);
|
|
58
|
-
const setAdDefineList = async (condition) => {
|
|
59
|
-
try {
|
|
60
|
-
loading.value = true;
|
|
61
|
-
if (!condition) {
|
|
62
|
-
condition = new Group();
|
|
63
|
-
}
|
|
64
|
-
condition == null ? void 0 : condition.addCondition("key", "nolike", "part_");
|
|
65
|
-
adDefineList.value = (await adRequest.allList({
|
|
66
|
-
data: {
|
|
67
|
-
condition
|
|
68
|
-
}
|
|
69
|
-
})).data.data;
|
|
70
|
-
} catch (e) {
|
|
71
|
-
console.error(e);
|
|
72
|
-
} finally {
|
|
73
|
-
loading.value = false;
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
const adContentForm = reactive(new CmsAdContentsForm());
|
|
77
|
-
adContentForm.submittedEvent.on(() => {
|
|
78
|
-
setAdDefineList();
|
|
79
|
-
});
|
|
80
|
-
const showAdContentHandler = async (item, isEdit) => {
|
|
81
|
-
await Dialoger.dataFormDialog({
|
|
82
|
-
dataForm: adContentForm,
|
|
83
|
-
recId: isEdit ? item.id : void 0
|
|
84
|
-
});
|
|
85
|
-
if (!isEdit) {
|
|
86
|
-
adContentForm.addRecord({ adDefineId: item.id });
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
const adDefineForm = reactive(new class extends CmsAdDefinesForm {
|
|
90
|
-
//去掉广告内容
|
|
91
|
-
async initialize() {
|
|
92
|
-
await super.initialize();
|
|
93
|
-
this.setColumns([
|
|
94
|
-
new FormColumn({ name: "key", label: "广告位KEY", required: true }),
|
|
95
|
-
new FormColumn({ name: "desc", label: "广告位描述", required: true })
|
|
96
|
-
]);
|
|
97
|
-
}
|
|
98
|
-
}());
|
|
99
|
-
adDefineForm.submittedEvent.on(() => {
|
|
100
|
-
setAdDefineList();
|
|
101
|
-
});
|
|
102
|
-
const showAdDefineHandle = (item) => {
|
|
103
|
-
Dialoger.dataFormDialog({
|
|
104
|
-
dataForm: adDefineForm,
|
|
105
|
-
recId: item == null ? void 0 : item.id
|
|
106
|
-
});
|
|
107
|
-
};
|
|
108
|
-
const deleteHandler = async (request, field, item) => {
|
|
109
|
-
const isConfirm = await Dialoger.confirm({
|
|
110
|
-
title: "是否删除?",
|
|
111
|
-
message: `确定删除【${item[field]}】广告位?`,
|
|
112
|
-
type: "warning"
|
|
113
|
-
});
|
|
114
|
-
if (!isConfirm) {
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
try {
|
|
118
|
-
loading.value = true;
|
|
119
|
-
const result = await request.delete(item.id);
|
|
120
|
-
if (result.data.code != 200) {
|
|
121
|
-
Messager.error({ message: result.data.msg || "删除失败" });
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
await setAdDefineList();
|
|
125
|
-
} catch (e) {
|
|
126
|
-
Messager.error({ message: e });
|
|
127
|
-
} finally {
|
|
128
|
-
loading.value = false;
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
onMounted(async () => {
|
|
132
|
-
await setAdDefineList();
|
|
133
|
-
});
|
|
134
|
-
let timer = null;
|
|
135
|
-
watch(adSearchWord, async () => {
|
|
136
|
-
if (!!timer) {
|
|
137
|
-
clearTimeout(timer);
|
|
138
|
-
}
|
|
139
|
-
timer = setTimeout(async () => {
|
|
140
|
-
const condition = new Group();
|
|
141
|
-
condition.addCondition("desc", "like", `%${adSearchWord.value}%`);
|
|
142
|
-
await setAdDefineList(condition);
|
|
143
|
-
}, 500);
|
|
144
|
-
});
|
|
145
|
-
return (_ctx, _cache) => {
|
|
146
|
-
var _a, _b;
|
|
147
|
-
const _component_el_input = resolveComponent("el-input");
|
|
148
|
-
const _component_el_button = resolveComponent("el-button");
|
|
149
|
-
const _component_el_page_header = resolveComponent("el-page-header");
|
|
150
|
-
const _component_el_empty = resolveComponent("el-empty");
|
|
151
|
-
const _component_el_image = resolveComponent("el-image");
|
|
152
|
-
const _component_el_icon = resolveComponent("el-icon");
|
|
153
|
-
const _component_el_dropdown_item = resolveComponent("el-dropdown-item");
|
|
154
|
-
const _component_el_dropdown_menu = resolveComponent("el-dropdown-menu");
|
|
155
|
-
const _component_el_dropdown = resolveComponent("el-dropdown");
|
|
156
|
-
const _component_el_card = resolveComponent("el-card");
|
|
157
|
-
const _component_el_scrollbar = resolveComponent("el-scrollbar");
|
|
158
|
-
const _directive_loading = resolveDirective("loading");
|
|
159
|
-
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
160
|
-
createVNode(_component_el_page_header, {
|
|
161
|
-
style: { "background-color": "#fff", "padding": "10px" },
|
|
162
|
-
icon: null
|
|
163
|
-
}, {
|
|
164
|
-
title: withCtx(() => [
|
|
165
|
-
createElementVNode("h3", _hoisted_2, [
|
|
166
|
-
createVNode(unref(MKSvgIcon), {
|
|
167
|
-
name: "ep:guide",
|
|
168
|
-
m: "r-[5px]"
|
|
169
|
-
}),
|
|
170
|
-
createTextVNode(" 广告位管理 ")
|
|
171
|
-
])
|
|
172
|
-
]),
|
|
173
|
-
content: withCtx(() => [
|
|
174
|
-
createVNode(_component_el_input, {
|
|
175
|
-
style: { "width": "240px" },
|
|
176
|
-
placeholder: "请输入广告位描述",
|
|
177
|
-
modelValue: adSearchWord.value,
|
|
178
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => adSearchWord.value = $event)
|
|
179
|
-
}, {
|
|
180
|
-
prefix: withCtx(() => [
|
|
181
|
-
createVNode(unref(MKSvgIcon), { name: "material-symbols:search" })
|
|
182
|
-
]),
|
|
183
|
-
_: 1
|
|
184
|
-
}, 8, ["modelValue"])
|
|
185
|
-
]),
|
|
186
|
-
extra: withCtx(() => [
|
|
187
|
-
createElementVNode("div", _hoisted_3, [
|
|
188
|
-
createVNode(_component_el_button, {
|
|
189
|
-
type: "primary",
|
|
190
|
-
size: "large",
|
|
191
|
-
text: "",
|
|
192
|
-
onClick: showAdDefineHandle
|
|
193
|
-
}, {
|
|
194
|
-
default: withCtx(() => [
|
|
195
|
-
createTextVNode(" 添加广告位 "),
|
|
196
|
-
createVNode(unref(MKSvgIcon), {
|
|
197
|
-
name: "ep:plus",
|
|
198
|
-
style: { "margin-left": "10px" }
|
|
199
|
-
})
|
|
200
|
-
]),
|
|
201
|
-
_: 1
|
|
202
|
-
})
|
|
203
|
-
])
|
|
204
|
-
]),
|
|
205
|
-
_: 1
|
|
206
|
-
}),
|
|
207
|
-
withDirectives((openBlock(), createElementBlock("div", _hoisted_4, [
|
|
208
|
-
((_a = adDefineList.value) == null ? void 0 : _a.length) ? (openBlock(), createBlock(_component_el_scrollbar, {
|
|
209
|
-
key: 0,
|
|
210
|
-
class: "mk-cms-ad__body__scrollbar"
|
|
211
|
-
}, {
|
|
212
|
-
default: withCtx(() => [
|
|
213
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(adDefineList.value, (item) => {
|
|
214
|
-
return openBlock(), createBlock(_component_el_card, {
|
|
215
|
-
key: item.id,
|
|
216
|
-
class: "mk-cms-ad__card"
|
|
217
|
-
}, {
|
|
218
|
-
header: withCtx(() => [
|
|
219
|
-
createElementVNode("div", _hoisted_5, [
|
|
220
|
-
createElementVNode("span", null, [
|
|
221
|
-
createVNode(unref(MKSvgIcon), {
|
|
222
|
-
name: "ep:guide",
|
|
223
|
-
style: { "margin-right": "5px" }
|
|
224
|
-
}),
|
|
225
|
-
createTextVNode(" " + toDisplayString(item.desc), 1)
|
|
226
|
-
]),
|
|
227
|
-
createElementVNode("div", _hoisted_6, [
|
|
228
|
-
createVNode(unref(MKSvgIcon), {
|
|
229
|
-
class: "btn",
|
|
230
|
-
name: "ep:plus",
|
|
231
|
-
style: { "color": "#409EFF" },
|
|
232
|
-
onClick: ($event) => showAdContentHandler(item, false)
|
|
233
|
-
}, null, 8, ["onClick"]),
|
|
234
|
-
createVNode(unref(MKSvgIcon), {
|
|
235
|
-
class: "btn",
|
|
236
|
-
name: "ep:edit-pen",
|
|
237
|
-
style: { "color": "#409EFF" },
|
|
238
|
-
onClick: ($event) => showAdDefineHandle(item)
|
|
239
|
-
}, null, 8, ["onClick"]),
|
|
240
|
-
item.contents.length == 0 ? (openBlock(), createBlock(unref(MKSvgIcon), {
|
|
241
|
-
key: 0,
|
|
242
|
-
class: "btn",
|
|
243
|
-
name: "ep:delete",
|
|
244
|
-
style: { "color": "#F56C6C" },
|
|
245
|
-
onClick: ($event) => deleteHandler(unref(adRequest), "desc", item)
|
|
246
|
-
}, null, 8, ["onClick"])) : createCommentVNode("", true)
|
|
247
|
-
])
|
|
248
|
-
])
|
|
249
|
-
]),
|
|
250
|
-
default: withCtx(() => [
|
|
251
|
-
item.contents.length <= 0 ? (openBlock(), createBlock(_component_el_empty, {
|
|
252
|
-
key: 0,
|
|
253
|
-
description: "暂无内容"
|
|
254
|
-
})) : createCommentVNode("", true),
|
|
255
|
-
createElementVNode("div", _hoisted_7, [
|
|
256
|
-
createVNode(_component_el_scrollbar, { class: "mk-cms-ad__card__body__scrollbar" }, {
|
|
257
|
-
default: withCtx(() => [
|
|
258
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(item.contents, (adContent) => {
|
|
259
|
-
return openBlock(), createBlock(_component_el_card, {
|
|
260
|
-
class: "mk-cms-ad__card__body__item",
|
|
261
|
-
key: adContent.id
|
|
262
|
-
}, {
|
|
263
|
-
default: withCtx(() => [
|
|
264
|
-
adContent.type == 1 ? (openBlock(), createBlock(_component_el_image, {
|
|
265
|
-
key: 0,
|
|
266
|
-
class: "images",
|
|
267
|
-
src: adContent.path,
|
|
268
|
-
"preview-src-list": [adContent.path],
|
|
269
|
-
fit: "contain"
|
|
270
|
-
}, {
|
|
271
|
-
default: withCtx(() => [
|
|
272
|
-
_hoisted_8
|
|
273
|
-
]),
|
|
274
|
-
_: 2
|
|
275
|
-
}, 1032, ["src", "preview-src-list"])) : createCommentVNode("", true),
|
|
276
|
-
adContent.type == 2 ? (openBlock(), createElementBlock("video", {
|
|
277
|
-
key: 1,
|
|
278
|
-
class: "video",
|
|
279
|
-
src: adContent.path,
|
|
280
|
-
style: { "width": "100%", "height": "200px" },
|
|
281
|
-
controls: ""
|
|
282
|
-
}, null, 8, _hoisted_9)) : createCommentVNode("", true),
|
|
283
|
-
createElementVNode("div", _hoisted_10, [
|
|
284
|
-
createElementVNode("div", _hoisted_11, [
|
|
285
|
-
createElementVNode("div", _hoisted_12, [
|
|
286
|
-
adContent.type == 1 ? (openBlock(), createBlock(unref(MKSvgIcon), {
|
|
287
|
-
key: 0,
|
|
288
|
-
class: "icon",
|
|
289
|
-
name: "ep:picture"
|
|
290
|
-
})) : createCommentVNode("", true),
|
|
291
|
-
adContent.type == 2 ? (openBlock(), createBlock(unref(MKSvgIcon), {
|
|
292
|
-
key: 1,
|
|
293
|
-
class: "icon",
|
|
294
|
-
name: "ep:video-camera"
|
|
295
|
-
})) : createCommentVNode("", true),
|
|
296
|
-
createElementVNode("span", {
|
|
297
|
-
title: adContent.title + "(" + adContent.desc + ")"
|
|
298
|
-
}, [
|
|
299
|
-
createTextVNode(toDisplayString(adContent.title), 1),
|
|
300
|
-
createElementVNode("span", _hoisted_14, toDisplayString(adContent.desc ? `(${adContent.desc})` : ""), 1)
|
|
301
|
-
], 8, _hoisted_13)
|
|
302
|
-
]),
|
|
303
|
-
createElementVNode("div", _hoisted_15, [
|
|
304
|
-
adContent.link ? (openBlock(), createBlock(unref(MKSvgIcon), {
|
|
305
|
-
key: 0,
|
|
306
|
-
class: "icon",
|
|
307
|
-
name: "ep:link"
|
|
308
|
-
})) : createCommentVNode("", true),
|
|
309
|
-
createElementVNode("a", {
|
|
310
|
-
href: adContent.link,
|
|
311
|
-
target: "_blank",
|
|
312
|
-
title: adContent.link
|
|
313
|
-
}, toDisplayString(adContent.link), 9, _hoisted_16)
|
|
314
|
-
])
|
|
315
|
-
]),
|
|
316
|
-
createElementVNode("div", _hoisted_17, [
|
|
317
|
-
createVNode(_component_el_dropdown, {
|
|
318
|
-
trigger: "click",
|
|
319
|
-
teleported: false,
|
|
320
|
-
class: "item-desc-right__more"
|
|
321
|
-
}, {
|
|
322
|
-
dropdown: withCtx(() => [
|
|
323
|
-
createVNode(_component_el_dropdown_menu, null, {
|
|
324
|
-
default: withCtx(() => [
|
|
325
|
-
createVNode(_component_el_dropdown_item, {
|
|
326
|
-
class: "edit-button",
|
|
327
|
-
icon: unref(EditPen),
|
|
328
|
-
onClick: ($event) => showAdContentHandler(adContent, true)
|
|
329
|
-
}, {
|
|
330
|
-
default: withCtx(() => [
|
|
331
|
-
createTextVNode("编辑")
|
|
332
|
-
]),
|
|
333
|
-
_: 2
|
|
334
|
-
}, 1032, ["icon", "onClick"]),
|
|
335
|
-
createVNode(_component_el_dropdown_item, {
|
|
336
|
-
class: "delete-button",
|
|
337
|
-
icon: unref(Delete),
|
|
338
|
-
onClick: ($event) => deleteHandler(unref(adContentRequest), "title", adContent)
|
|
339
|
-
}, {
|
|
340
|
-
default: withCtx(() => [
|
|
341
|
-
createTextVNode("删除")
|
|
342
|
-
]),
|
|
343
|
-
_: 2
|
|
344
|
-
}, 1032, ["icon", "onClick"])
|
|
345
|
-
]),
|
|
346
|
-
_: 2
|
|
347
|
-
}, 1024)
|
|
348
|
-
]),
|
|
349
|
-
default: withCtx(() => [
|
|
350
|
-
createElementVNode("span", _hoisted_18, [
|
|
351
|
-
createTextVNode(" 更多"),
|
|
352
|
-
createVNode(_component_el_icon, { class: "el-icon--right" }, {
|
|
353
|
-
default: withCtx(() => [
|
|
354
|
-
createVNode(unref(ArrowDown))
|
|
355
|
-
]),
|
|
356
|
-
_: 1
|
|
357
|
-
})
|
|
358
|
-
])
|
|
359
|
-
]),
|
|
360
|
-
_: 2
|
|
361
|
-
}, 1024)
|
|
362
|
-
])
|
|
363
|
-
])
|
|
364
|
-
]),
|
|
365
|
-
_: 2
|
|
366
|
-
}, 1024);
|
|
367
|
-
}), 128))
|
|
368
|
-
]),
|
|
369
|
-
_: 2
|
|
370
|
-
}, 1024)
|
|
371
|
-
])
|
|
372
|
-
]),
|
|
373
|
-
_: 2
|
|
374
|
-
}, 1024);
|
|
375
|
-
}), 128))
|
|
376
|
-
]),
|
|
377
|
-
_: 1
|
|
378
|
-
})) : createCommentVNode("", true),
|
|
379
|
-
((_b = adDefineList.value) == null ? void 0 : _b.length) <= 0 ? (openBlock(), createBlock(_component_el_empty, {
|
|
380
|
-
key: 1,
|
|
381
|
-
description: "“暂无内容”"
|
|
382
|
-
})) : createCommentVNode("", true)
|
|
383
|
-
])), [
|
|
384
|
-
[_directive_loading, loading.value]
|
|
385
|
-
])
|
|
386
|
-
]);
|
|
387
|
-
};
|
|
388
|
-
}
|
|
389
|
-
});
|
|
390
|
-
export {
|
|
391
|
-
_sfc_main as default
|
|
392
|
-
};
|
|
393
|
-
//# sourceMappingURL=index-DWQX_Oq-.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-DWQX_Oq-.js","sources":["../../src/modules/cms/pages/cms-ad/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-ad__warp\">\r\n <el-page-header style=\"background-color: #fff;padding: 10px;\" :icon=\"null\">\r\n <template #title>\r\n <h3 style=\"color: var(--el-text-color-regular);\" m=\"l-[10px]\" flex=\"~ items-center\">\r\n <MKSvgIcon name=\"ep:guide\" m=\"r-[5px]\"/>\r\n 广告位管理\r\n </h3>\r\n </template>\r\n <template #content>\r\n <el-input style=\"width: 240px\" placeholder=\"请输入广告位描述\" v-model=\"adSearchWord\">\r\n <template #prefix>\r\n <MKSvgIcon name=\"material-symbols:search\" />\r\n </template>\r\n </el-input>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showAdDefineHandle\">\r\n 添加广告位\r\n <MKSvgIcon name=\"ep:plus\" style=\"margin-left: 10px;\" />\r\n </el-button>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-ad__body\" v-loading=\"loading\">\r\n <el-scrollbar class=\"mk-cms-ad__body__scrollbar\" v-if=\"adDefineList?.length\">\r\n <el-card v-for=\"item in adDefineList\" :key=\"item.id\" class=\"mk-cms-ad__card\">\r\n <template #header>\r\n <div class=\"mk-cms-ad__card__header clearfix\">\r\n <span>\r\n <MKSvgIcon name=\"ep:guide\" style=\"margin-right: 5px;\" />\r\n {{ item.desc }}\r\n </span>\r\n <div class=\"btn-box\">\r\n <MKSvgIcon class=\"btn\" name=\"ep:plus\" style=\"color: #409EFF;\"\r\n @click=\"showAdContentHandler(item, false)\" />\r\n <MKSvgIcon class=\"btn\" name=\"ep:edit-pen\" style=\"color: #409EFF;\" @click=\"showAdDefineHandle(item)\" />\r\n <MKSvgIcon class=\"btn\" name=\"ep:delete\" style=\"color: #F56C6C;\"\r\n @click=\"deleteHandler(adRequest, 'desc', item)\" v-if=\"item.contents.length == 0\" />\r\n </div>\r\n </div>\r\n </template>\r\n <el-empty v-if=\"item.contents.length <= 0\" description=\"暂无内容\" />\r\n <div class=\"mk-cms-ad__card__body\">\r\n <el-scrollbar class=\"mk-cms-ad__card__body__scrollbar\">\r\n <el-card class=\"mk-cms-ad__card__body__item\" v-for=\"adContent in item.contents\" :key=\"adContent.id\">\r\n <el-image class=\"images\" v-if=\"adContent.type == 1\" :src=\"adContent.path\"\r\n :preview-src-list=\"[adContent.path]\" fit=\"contain\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"adContent.type == 2\" :src=\"adContent.path\" style=\"width: 100%;height: 200px;\"\r\n controls></video>\r\n <div class=\"item-desc\">\r\n <div class=\"item-desc-left\">\r\n <div class=\"title ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.type == 1\" name=\"ep:picture\"></MKSvgIcon>\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.type == 2\" name=\"ep:video-camera\"></MKSvgIcon>\r\n <span :title=\"adContent.title + '(' + adContent.desc + ')'\">{{ adContent.title }}<span\r\n class=\"desc\">{{\r\n adContent.desc ? `(${adContent.desc})` : \"\" }}</span></span>\r\n </div>\r\n <div class=\"external-links ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.link\" name=\"ep:link\"></MKSvgIcon>\r\n <a :href=\"adContent.link\" target=\"_blank\" :title=\"adContent.link\">{{ adContent.link }}</a>\r\n </div>\r\n </div>\r\n <div class=\"item-desc-right\">\r\n <el-dropdown trigger=\"click\" :teleported=\"false\" class=\"item-desc-right__more\">\r\n <span class=\"el-dropdown-link\">\r\n 更多<el-icon class=\"el-icon--right\"><arrow-down /></el-icon>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item class=\"edit-button\" :icon=\"EditPen\"\r\n @click=\"showAdContentHandler(adContent, true)\">编辑</el-dropdown-item>\r\n <el-dropdown-item class=\"delete-button\" :icon=\"Delete\"\r\n @click=\"deleteHandler(adContentRequest, 'title', adContent)\">删除</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n\r\n <el-empty v-if=\"adDefineList?.length <= 0\" description=“暂无内容” />\r\n </div>\r\n </div>\r\n\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, reactive, ref, watch } from \"vue\";\r\nimport { DataViewRequest, Group } from \"@maketribe/request\";\r\nimport { DataForm, Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdContentsForm, CmsAdDefinesForm } from \"../../dataviews\";\r\nimport { EditPen, ArrowDown, Delete } from \"@element-plus/icons-vue\"\r\nimport {MKSvgIcon} from \"../../../../components/basic\";\r\n\r\n// 广告定义数据表\r\nconst adRequest = new DataViewRequest({ name: \"ad-define\", moduleName: \"cms\" });\r\nconst adContentRequest = new DataViewRequest({ name: \"ad-content\", moduleName: \"cms\" });\r\n//广告位搜索词\r\nconst adSearchWord = ref(\"\")\r\n// 广告定义列表\r\nconst adDefineList = ref([] as any[]);\r\nconst loading = ref(true);\r\n\r\n//更新列表数据\r\nconst setAdDefineList = async (condition?: Group) => {\r\n try {\r\n loading.value = true;\r\n\r\n if(!condition){ condition = new Group(); }\r\n\r\n // 栏目的广告不查\r\n condition?.addCondition(\"key\",\"nolike\",\"part_\")\r\n\r\n // console.log(condition);\r\n\r\n adDefineList.value = (await adRequest.allList({\r\n data: {\r\n condition: condition\r\n }\r\n })).data.data;\r\n\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false;\r\n }\r\n}\r\n// 广告内容表单\r\nconst adContentForm = reactive(new CmsAdContentsForm())\r\n//监听广告内容表单保存事件\r\nadContentForm.submittedEvent.on(() => {\r\n setAdDefineList()\r\n})\r\n// 添加广告内容\r\nconst showAdContentHandler = async (item: any, isEdit: boolean) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: adContentForm as CmsAdContentsForm,\r\n recId: isEdit ? item.id : undefined\r\n })\r\n if (!isEdit) {\r\n adContentForm.addRecord({ adDefineId: item.id })\r\n }\r\n}\r\n\r\n//广告定义表单\r\nconst adDefineForm = reactive(new (class extends CmsAdDefinesForm {\r\n //去掉广告内容\r\n protected async initialize() {\r\n await super.initialize();\r\n this.setColumns([\r\n new FormColumn({ name: \"key\", label: \"广告位KEY\", required: true }),\r\n new FormColumn({ name: \"desc\", label: \"广告位描述\", required: true }),\r\n ]);\r\n }\r\n}))\r\n//监听广告保存完成进行刷新\r\nadDefineForm.submittedEvent.on(() => {\r\n setAdDefineList()\r\n})\r\n//增加广告位\r\nconst showAdDefineHandle = (item: any) => {\r\n Dialoger.dataFormDialog({\r\n dataForm: adDefineForm as DataForm,\r\n recId: item?.id\r\n })\r\n}\r\n\r\n//删除\r\nconst deleteHandler = async (request: DataViewRequest, field: string, item: any) => {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"是否删除?\",\r\n message: `确定删除【${item[field]}】广告位?`,\r\n type: \"warning\"\r\n });\r\n if (!isConfirm) {\r\n return;\r\n }\r\n try {\r\n loading.value = true\r\n const result = await request.delete(item.id)\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"删除失败\" })\r\n return;\r\n }\r\n await setAdDefineList()\r\n } catch (e: any) {\r\n Messager.error({ message: e })\r\n } finally {\r\n loading.value = false\r\n\r\n }\r\n}\r\n\r\n// 加载广告定义\r\nonMounted(async () => {\r\n await setAdDefineList();\r\n})\r\n\r\n//timer\r\nlet timer: any = null\r\n\r\n//监听adSearchWord变化进行搜索\r\nwatch(adSearchWord, async () => {\r\n\r\n if (!!timer) {\r\n clearTimeout(timer)\r\n }\r\n\r\n timer = setTimeout(async () => {\r\n const condition = new Group()\r\n condition.addCondition(\"desc\", \"like\", `%${adSearchWord.value}%`)\r\n await setAdDefineList(condition);\r\n }, 500)\r\n\r\n\r\n})\r\n\r\n</script>\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-Jh3JnsYu.js","sources":["../../src/modules/ms/pages/icons/index.vue"],"sourcesContent":["<template>\r\n <MKPageContainer>\r\n <ElCard>\r\n <ElScrollbar height=\"100%\">\r\n <ElInput\r\n v-model=\"search\"\r\n placeholder=\"搜索图标\"\r\n :suffix-icon=\"elIcons.Search\"\r\n />\r\n\r\n <ul class=\"mk-icon-list\">\r\n <li class=\"mk-icon-list__item\" v-for=\"icon in filteredIcons\">\r\n <div class=\"mk-icon-item\" @click=\"handleClick(icon)\">\r\n <div class=\"mk-icon-item__icon\">\r\n <MKSvgIcon :iconClass=\"icon\" />\r\n </div>\r\n\r\n <div class=\"mk-icon-item__name\">\r\n {{ icon }}\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </ElScrollbar>\r\n </ElCard>\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, onMounted, ref, Ref, unref } from \"vue\";\r\nimport { ElMessage } from \"element-plus\";\r\nimport * as elIcons from \"@element-plus/icons-vue\";\r\nimport { MKPageContainer } from \"../../../../components\";\r\n\r\nconst icons: Ref<string[]> = ref([]);\r\n\r\nconst search = ref(\"\");\r\n\r\nconst filteredIcons = computed(() => {\r\n const _search = unref(search).toLowerCase();\r\n\r\n return unref(icons).filter((icon) => icon.toLowerCase().includes(_search));\r\n});\r\n\r\nonMounted(() => {\r\n const svgList: NodeListOf<SVGElement> = document.querySelectorAll(\r\n 'body > svg[aria-hidden=\"true\"]'\r\n );\r\n\r\n let iconList: string[] = [];\r\n\r\n for (const svg of Array.from(svgList)) {\r\n const symbols = svg.querySelectorAll(\"symbol\");\r\n\r\n iconList = iconList.concat(\r\n Array.from(symbols).map((symbol) => symbol.id.replace(/^icon-/, \"\"))\r\n );\r\n }\r\n\r\n icons.value = Array.from(new Set([...Object.keys(elIcons), ...iconList]));\r\n});\r\n\r\nconst handleClick = (icon: string) => {\r\n const content = `<MKSvgIcon iconClass=\"${icon}\"/>`;\r\n\r\n if (navigator.clipboard === undefined) {\r\n //通过input标签进行复制\r\n const input = document.createElement(\"input\");\r\n input.value = content;\r\n document.body.appendChild(input);\r\n input.select();\r\n document.execCommand(\"Copy\");\r\n document.body.removeChild(input);\r\n } else {\r\n navigator.clipboard.writeText(content);\r\n }\r\n\r\n ElMessage.success(\"复制成功\");\r\n};\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCM,UAAA,QAAuB,IAAI,CAAA,CAAE;AAE7B,UAAA,SAAS,IAAI,EAAE;AAEf,UAAA,gBAAgB,SAAS,MAAM;AACnC,YAAM,UAAU,MAAM,MAAM,EAAE,YAAY;AAEnC,aAAA,MAAM,KAAK,EAAE,OAAO,CAAC,SAAS,KAAK,YAAY,EAAE,SAAS,OAAO,CAAC;AAAA,IAAA,CAC1E;AAED,cAAU,MAAM;AACd,YAAM,UAAkC,SAAS;AAAA,QAC/C;AAAA,MAAA;AAGF,UAAI,WAAqB,CAAA;AAEzB,iBAAW,OAAO,MAAM,KAAK,OAAO,GAAG;AAC/B,cAAA,UAAU,IAAI,iBAAiB,QAAQ;AAE7C,mBAAW,SAAS;AAAA,UAClB,MAAM,KAAK,OAAO,EAAE,IAAI,CAAC,WAAW,OAAO,GAAG,QAAQ,UAAU,EAAE,CAAC;AAAA,QAAA;AAAA,MAEvE;AAEA,YAAM,QAAQ,MAAM,KAAK,oBAAI,IAAI,CAAC,GAAG,OAAO,KAAK,OAAO,GAAG,GAAG,QAAQ,CAAC,CAAC;AAAA,IAAA,CACzE;AAEK,UAAA,cAAc,CAAC,SAAiB;AAC9B,YAAA,UAAU,yBAAyB,IAAI;AAEzC,UAAA,UAAU,cAAc,QAAW;AAE/B,cAAA,QAAQ,SAAS,cAAc,OAAO;AAC5C,cAAM,QAAQ;AACL,iBAAA,KAAK,YAAY,KAAK;AAC/B,cAAM,OAAO;AACb,iBAAS,YAAY,MAAM;AAClB,iBAAA,KAAK,YAAY,KAAK;AAAA,MAAA,OAC1B;AACK,kBAAA,UAAU,UAAU,OAAO;AAAA,MACvC;AAEA,gBAAU,QAAQ,MAAM;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-Zd8aDHyM.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|