From 186bfcdcd7e555807bbd7574bc5758aa2d3ded8f Mon Sep 17 00:00:00 2001 From: yangchunlong <292345300@qq.com> Date: Wed, 16 Apr 2025 16:18:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=9A=80=20=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E6=A1=86=E5=B1=82=E7=BA=A7=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/modules/downloadClass.ts | 2 +- src/components/Upload/UploadImgs.vue | 6 +- src/components/Upload/UploadVideo.vue | 5 +- src/components/WangEditor/index.vue | 11 +- src/components/rulesForm/index.vue | 3 + src/styles/element.scss | 3 + src/views/articleManagement/list/index.vue | 2 +- .../bannerManagement/list/constant/edit.ts | 2 +- src/views/bannerManagement/list/index.vue | 2 +- .../downloadManagement/class/constant/edit.ts | 9 +- .../class/constant/rules.ts | 3 +- src/views/downloadManagement/class/index.vue | 175 ++++++++++++------ .../downloadManagement/list/constant/edit.ts | 6 +- .../list/constant/search.ts | 2 +- src/views/downloadManagement/list/edit.vue | 27 ++- src/views/downloadManagement/list/index.vue | 34 +++- 16 files changed, 201 insertions(+), 91 deletions(-) diff --git a/src/api/modules/downloadClass.ts b/src/api/modules/downloadClass.ts index bf7a2f8..9a7b77b 100644 --- a/src/api/modules/downloadClass.ts +++ b/src/api/modules/downloadClass.ts @@ -27,5 +27,5 @@ export const getCategorySortApi = (params: any) => { }; //下载分类下拉列表 export const getCategorysApi = (params?: any) => { - return http.get(`/attachment/categorys`, params); + return http.get(`/attachment/tree`, params); }; diff --git a/src/components/Upload/UploadImgs.vue b/src/components/Upload/UploadImgs.vue index 666f5ab..bdf4485 100644 --- a/src/components/Upload/UploadImgs.vue +++ b/src/components/Upload/UploadImgs.vue @@ -75,7 +75,11 @@ const $router = useRouter(); const routerValueName: string = $router.currentRoute.value.name as string; const routerObj: any = { articleEditIndex: "article", - productEditIndex: "product" + productEditIndex: "product", + bannerListIndex: "banner", + downloadListIndex: "download", + videoListIndex: "video", + QAListIndex: "QA" }; const routerName = ref(routerObj[routerValueName]); // 获取 el-form 组件上下文 diff --git a/src/components/Upload/UploadVideo.vue b/src/components/Upload/UploadVideo.vue index bbac38a..796c4e8 100644 --- a/src/components/Upload/UploadVideo.vue +++ b/src/components/Upload/UploadVideo.vue @@ -60,7 +60,10 @@ const routerValueName: string = $router.currentRoute.value.name as string; const routerObj: any = { articleEditIndex: "article", productEditIndex: "product", - videoListIndex: "video" + bannerListIndex: "banner", + downloadListIndex: "download", + videoListIndex: "video", + QAListIndex: "QA" }; const routerName = ref(routerObj[routerValueName]); diff --git a/src/components/WangEditor/index.vue b/src/components/WangEditor/index.vue index 6fcd02e..1473048 100644 --- a/src/components/WangEditor/index.vue +++ b/src/components/WangEditor/index.vue @@ -3,7 +3,7 @@ + diff --git a/src/styles/element.scss b/src/styles/element.scss index d5e98a7..02ed598 100644 --- a/src/styles/element.scss +++ b/src/styles/element.scss @@ -268,3 +268,6 @@ text-overflow: ellipsis; white-space: nowrap; } +.el-message__wrapper { + z-index: 9999; /* 一个较大的值,确保在抽屉之上 */ +} diff --git a/src/views/articleManagement/list/index.vue b/src/views/articleManagement/list/index.vue index 132d58d..bbbbe97 100644 --- a/src/views/articleManagement/list/index.vue +++ b/src/views/articleManagement/list/index.vue @@ -13,7 +13,7 @@ :init-param="dataStore.initParam" > diff --git a/src/views/downloadManagement/list/constant/edit.ts b/src/views/downloadManagement/list/constant/edit.ts index fb36c82..fdc7596 100644 --- a/src/views/downloadManagement/list/constant/edit.ts +++ b/src/views/downloadManagement/list/constant/edit.ts @@ -29,7 +29,7 @@ export const EDIT_FORM_DATA: FormItem[] = [ { prop: "category_id1", placeholder: "请选择", - type: "select", + type: "treeSelect", label: "下载分类: ", options: [] }, @@ -122,6 +122,8 @@ export const EDIT_TABLE_DATA = [ file_ext: "" //文件格式 } ]; -export const EDIT_RULE_FORM = {}; +export const EDIT_RULE_FORM = { + sort: 1 +}; // editRuleForm: {}, //editFormData: [], diff --git a/src/views/downloadManagement/list/constant/search.ts b/src/views/downloadManagement/list/constant/search.ts index 5ca09a3..22b6d8c 100644 --- a/src/views/downloadManagement/list/constant/search.ts +++ b/src/views/downloadManagement/list/constant/search.ts @@ -27,7 +27,7 @@ export const FORM_DATA: FormItem[] = [ { prop: "category_id", placeholder: "请选择", - type: "select", + type: "treeSelect", isArray: true, label: "下载分类: ", options: [] diff --git a/src/views/downloadManagement/list/edit.vue b/src/views/downloadManagement/list/edit.vue index 858b8b0..b9ae485 100644 --- a/src/views/downloadManagement/list/edit.vue +++ b/src/views/downloadManagement/list/edit.vue @@ -240,25 +240,32 @@ const getAttachmentRead = async () => { }; getAttachmentRead(); const handleSelectChangeEmits = (value: any) => { - console.log(value, "========value========="); if (value.prop === "category_id1") { dataStore.editRuleForm.category_id = value.id; } }; + +const addLabelValue = (arr: any) => { + return arr.map((item: any) => { + // 为当前对象添加 label 和 value 属性 + const newItem = { ...item }; + newItem.label = newItem.name; + newItem.value = newItem.id; + + // 如果有子对象,递归调用 addLabelValue 处理子对象 + if (newItem.children && Array.isArray(newItem.children)) { + newItem.children = addLabelValue(newItem.children); + } + return newItem; + }); +}; + //分类 const getCategorys = async () => { const result = await getCategorysApi({ is_show: 1 }); if (result?.code === 0) { - let arr: any[] = []; - result?.data?.forEach((item: any) => { - let obj = { - value: item.id, - label: item.name - }; - arr.push(obj); - }); - dataStore.editFormData[1].options = arr; + dataStore.editFormData[1].options = addLabelValue(result?.data); } }; getCategorys(); diff --git a/src/views/downloadManagement/list/index.vue b/src/views/downloadManagement/list/index.vue index 3afe6a1..b759ab8 100644 --- a/src/views/downloadManagement/list/index.vue +++ b/src/views/downloadManagement/list/index.vue @@ -150,20 +150,36 @@ const handleBlur = (row: any) => { const handleInput = (row: any) => { row.sort = integerRexg(row.sort); }; + +const addLabelValue = (arr: any) => { + return arr.map((item: any) => { + // 为当前对象添加 label 和 value 属性 + const newItem = { ...item }; + newItem.label = newItem.name; + newItem.value = newItem.id; + + // 如果有子对象,递归调用 addLabelValue 处理子对象 + if (newItem.children && Array.isArray(newItem.children)) { + newItem.children = addLabelValue(newItem.children); + } + return newItem; + }); +}; + const getCategorys = async () => { const result = await getCategorysApi(); if (result?.code === 0) { - let arr: any[] = []; - result?.data?.forEach((item: any) => { - let obj = { - value: item.id, - label: item.name - }; - arr.push(obj); - }); + // let arr: any[] = []; + // result?.data?.forEach((item: any) => { + // let obj = { + // value: item.id, + // label: item.name + // }; + // arr.push(obj); + // }); - dataStore.formData[1].options = arr; + dataStore.formData[1].options = addLabelValue(result?.data); } }; getCategorys();