5 Commits

Author SHA1 Message Date
opd-admin
0ee1389d3f feat: 合并edit-test-img代码 2026-03-30 09:45:59 +08:00
opd-admin
03ca80c483 Merge branch 'edit-test-img' into nas_dev 2026-03-30 09:42:35 +08:00
opd-admin
7f2f816590 feat: 完成NAS功能开发 2026-03-30 09:26:36 +08:00
0881897885 feat: 🚀 修复bug 2025-12-22 09:50:35 +08:00
1f5867b568 feat: 🚀 简介 2025-11-25 14:30:19 +08:00
7 changed files with 55 additions and 17 deletions

View File

@@ -1,8 +1,8 @@
ENV = 'dev' ENV = 'dev'
VITE_APP_API_BASEURL =https://dev.ow.f2b211.com/admapi/v1 VITE_APP_API_BASEURL =https://dev.cyberdata.oricostorage.com/admapi/v1
#前端回显图片之类的地址 #前端回显图片之类的地址
VITE_APP_API_BASE_UPLOAD_URL =https://dev.ow.f2b211.com/ VITE_APP_API_BASE_UPLOAD_URL =https://dev.cyberdata.oricostorage.com//
# 本地环境 # 本地环境
VITE_USER_NODE_ENV = development VITE_USER_NODE_ENV = development

BIN
dist.zip

Binary file not shown.

30
src/components.d.ts vendored
View File

@@ -7,16 +7,16 @@ export {}
declare module "vue" { declare module "vue" {
export interface GlobalComponents { export interface GlobalComponents {
403: typeof import("./components/ErrorMessage/403.vue")["default"];
404: typeof import("./components/ErrorMessage/404.vue")["default"];
500: typeof import("./components/ErrorMessage/500.vue")["default"];
ColSetting: typeof import("./components/ProTable/components/ColSetting.vue")["default"];
Editor: typeof import("./components/Editor/index.vue")["default"];
ElAside: typeof import("element-plus/es")["ElAside"]; ElAside: typeof import("element-plus/es")["ElAside"];
ElAutocomplete: typeof import("element-plus/es")["ElAutocomplete"]; ElAutocomplete: typeof import("element-plus/es")["ElAutocomplete"];
ElBreadcrumb: typeof import("element-plus/es")["ElBreadcrumb"]; ElBreadcrumb: typeof import("element-plus/es")["ElBreadcrumb"];
ElBreadcrumbItem: typeof import("element-plus/es")["ElBreadcrumbItem"]; ElBreadcrumbItem: typeof import("element-plus/es")["ElBreadcrumbItem"];
ElButton: typeof import("element-plus/es")["ElButton"]; ElButton: typeof import("element-plus/es")["ElButton"];
ElCarousel: typeof import("element-plus/es")["ElCarousel"];
ElCarouselItem: typeof import("element-plus/es")["ElCarouselItem"];
ElCheckbox: typeof import("element-plus/es")["ElCheckbox"];
ElCheckboxGroup: typeof import("element-plus/es")["ElCheckboxGroup"];
ElColorPicker: typeof import("element-plus/es")["ElColorPicker"];
ElContainer: typeof import("element-plus/es")["ElContainer"]; ElContainer: typeof import("element-plus/es")["ElContainer"];
ElDatePicker: typeof import("element-plus/es")["ElDatePicker"]; ElDatePicker: typeof import("element-plus/es")["ElDatePicker"];
ElDialog: typeof import("element-plus/es")["ElDialog"]; ElDialog: typeof import("element-plus/es")["ElDialog"];
@@ -38,7 +38,6 @@ declare module "vue" {
ElOption: typeof import("element-plus/es")["ElOption"]; ElOption: typeof import("element-plus/es")["ElOption"];
ElPagination: typeof import("element-plus/es")["ElPagination"]; ElPagination: typeof import("element-plus/es")["ElPagination"];
ElRadio: typeof import("element-plus/es")["ElRadio"]; ElRadio: typeof import("element-plus/es")["ElRadio"];
ElRadioButton: typeof import("element-plus/es")["ElRadioButton"];
ElRadioGroup: typeof import("element-plus/es")["ElRadioGroup"]; ElRadioGroup: typeof import("element-plus/es")["ElRadioGroup"];
ElScrollbar: typeof import("element-plus/es")["ElScrollbar"]; ElScrollbar: typeof import("element-plus/es")["ElScrollbar"];
ElSelect: typeof import("element-plus/es")["ElSelect"]; ElSelect: typeof import("element-plus/es")["ElSelect"];
@@ -49,10 +48,12 @@ declare module "vue" {
ElTabPane: typeof import("element-plus/es")["ElTabPane"]; ElTabPane: typeof import("element-plus/es")["ElTabPane"];
ElTabs: typeof import("element-plus/es")["ElTabs"]; ElTabs: typeof import("element-plus/es")["ElTabs"];
ElTag: typeof import("element-plus/es")["ElTag"]; ElTag: typeof import("element-plus/es")["ElTag"];
ElTooltip: typeof import("element-plus/es")["ElTooltip"];
ElTree: typeof import("element-plus/es")["ElTree"];
ElTreeSelect: typeof import("element-plus/es")["ElTreeSelect"]; ElTreeSelect: typeof import("element-plus/es")["ElTreeSelect"];
ElUpload: typeof import("element-plus/es")["ElUpload"]; ElUpload: typeof import("element-plus/es")["ElUpload"];
Empty: typeof import("./components/ProTable/components/Empty.vue")["default"];
FormTable: typeof import("./components/FormTable/index.vue")["default"];
Grid: typeof import("./components/Grid/index.vue")["default"];
GridItem: typeof import("./components/Grid/components/GridItem.vue")["default"];
IEpArrowDown: typeof import("~icons/ep/arrow-down")["default"]; IEpArrowDown: typeof import("~icons/ep/arrow-down")["default"];
IEpCircleClose: typeof import("~icons/ep/circle-close")["default"]; IEpCircleClose: typeof import("~icons/ep/circle-close")["default"];
IEpFolderDelete: typeof import("~icons/ep/folder-delete")["default"]; IEpFolderDelete: typeof import("~icons/ep/folder-delete")["default"];
@@ -60,7 +61,20 @@ declare module "vue" {
IEpRemove: typeof import("~icons/ep/remove")["default"]; IEpRemove: typeof import("~icons/ep/remove")["default"];
IEpSearch: typeof import("~icons/ep/search")["default"]; IEpSearch: typeof import("~icons/ep/search")["default"];
IEpSwitchButton: typeof import("~icons/ep/switch-button")["default"]; IEpSwitchButton: typeof import("~icons/ep/switch-button")["default"];
ImportExcel: typeof import("./components/ImportExcel/index.vue")["default"];
Index2: typeof import("./components/Editor/index2.vue")["default"];
Loading: typeof import("./components/Loading/index.vue")["default"];
Pagination: typeof import("./components/ProTable/components/Pagination.vue")["default"];
ProTable: typeof import("./components/ProTable/index.vue")["default"];
RouterLink: typeof import("vue-router")["RouterLink"]; RouterLink: typeof import("vue-router")["RouterLink"];
RouterView: typeof import("vue-router")["RouterView"]; RouterView: typeof import("vue-router")["RouterView"];
RulesForm: typeof import("./components/rulesForm/index.vue")["default"];
SearchForm: typeof import("./components/SearchForm/index.vue")["default"];
SearchFormItem: typeof import("./components/SearchForm/components/SearchFormItem.vue")["default"];
TableColumn: typeof import("./components/ProTable/components/TableColumn.vue")["default"];
UploadImg: typeof import("./components/Upload/UploadImg.vue")["default"];
UploadImgs: typeof import("./components/Upload/UploadImgs.vue")["default"];
UploadVideo: typeof import("./components/Upload/UploadVideo.vue")["default"];
WangEditor: typeof import("./components/WangEditor/index.vue")["default"];
} }
} }

View File

@@ -168,7 +168,7 @@ const enumMap = ref(new Map<string, { [key: string]: any }[]>());
provide("enumMap", enumMap); provide("enumMap", enumMap);
const setEnumMap = async (col: ColumnProps) => { const setEnumMap = async (col: ColumnProps) => {
if (!col.enum) return; if (!col.enum) return;
// 如果当前 enum 为后台数据需要请求数据,则调用该请求接口,并存储到 enumMap // 如果当前 enum 为后台数1据需要请求数据,则调用该请求接口,并存储到 enumMap
if (typeof col.enum !== "function") return enumMap.value.set(col.prop!, col.enum!); if (typeof col.enum !== "function") return enumMap.value.set(col.prop!, col.enum!);
const { data } = await col.enum(); const { data } = await col.enum();
enumMap.value.set(col.prop!, data); enumMap.value.set(col.prop!, data);

View File

@@ -27,6 +27,12 @@ export const EDIT_FORM_DATA: FormItem[] = [
type: "input", type: "input",
label: "Banner名称: " label: "Banner名称: "
}, },
{
prop: "short_title",
placeholder: "请输入",
type: "input",
label: "Banner简称: "
},
{ {
prop: "title_txt_color", prop: "title_txt_color",
placeholder: "填写RGB值", placeholder: "填写RGB值",
@@ -127,6 +133,12 @@ export const EDIT_FORM_DATA1: FormItem[] = [
type: "input", type: "input",
label: "Banner名称: " label: "Banner名称: "
}, },
{
prop: "short_title",
placeholder: "请输入",
type: "input",
label: "Banner简称: "
},
{ {
prop: "title_txt_color", prop: "title_txt_color",
placeholder: "填写RGB值", placeholder: "填写RGB值",

View File

@@ -136,13 +136,18 @@ const treeProps = {
value: "value" value: "value"
}; };
//产品分类(后端大佬说直接掉列表接口) //banner分类
const getProductCategoryList = async () => { const getProductCategoryList = async () => {
const result = await getProductCategoryListApi(); const result = await getProductCategoryListApi();
if (result?.code === 0) { if (result?.code === 0) {
let dataClone: any = cloneDeep(result?.data); let dataClone: any = cloneDeep(result?.data);
console.log(dataClone, "=dataClone="); console.log(dataClone, "=dataClone=");
dataStore.editFormData[7].options = addLabelValue(dataClone); dataStore.editFormData.forEach((item: any) => {
if (item.prop === "rel_prod_cate_id") {
item.options = addLabelValue(dataClone);
}
});
// dataStore.editFormData[8].options = addLabelValue(dataClone);
} }
}; };
@@ -356,16 +361,18 @@ const handleAdd = () => {
dataStore.visible = true; dataStore.visible = true;
selectedNodes.value = ""; selectedNodes.value = "";
dataStore.editRuleForm = cloneDeep(EDIT_RULE_FORM); dataStore.editRuleForm = cloneDeep(EDIT_RULE_FORM);
(dataStore.editFormData = cloneDeep(EDIT_FORM_DATA)), // 抽屉表单配置项 dataStore.editFormData = cloneDeep(EDIT_FORM_DATA); // 抽屉表单配置项
getBannerClassEditList(); dataStore.rules = cloneDeep(RULES);
getBannerClassEditList();
// getBannerClassList(); // getBannerClassList();
getProductCategoryList(); getProductCategoryList();
}; };
// 抽屉关闭前的钩子 // 抽屉关闭前的钩子
const handleBeforeClone = () => { const handleBeforeClone = () => {
dataStore.editRuleForm = cloneDeep(EDIT_RULE_FORM); dataStore.editRuleForm = cloneDeep(EDIT_RULE_FORM);
(dataStore.editFormData = cloneDeep(EDIT_FORM_DATA)), // 抽屉表单配置项 dataStore.editFormData = cloneDeep(EDIT_FORM_DATA); // 抽屉表单配置项
resetFields(); dataStore.rules = cloneDeep(RULES);
resetFields();
dataStore.visible = false; dataStore.visible = false;
dataStore.isFirstRequest = true; dataStore.isFirstRequest = true;
}; };

View File

@@ -167,6 +167,11 @@ const getProductCategoryUpdate = async () => {
dataStore.visible = false; dataStore.visible = false;
resetFrom(); resetFrom();
getProductCategoryList(); getProductCategoryList();
console.log("走的进来吗");
} else {
dataStore.ruleForm.related_tco_category = dataStore.ruleForm.related_tco_category
.split(",")
.map((item: any) => Number(item));
} }
}; };
//产品详情 //产品详情