6 Commits

Author SHA1 Message Date
ebef3963f8 feat: 🚀 优化富文本多张图片上传 2025-07-14 17:53:37 +08:00
0ecb7691da feat: 🚀 登出地址 2025-07-14 10:57:34 +08:00
9c2253a91e feat: 🚀 生产环境登录地址修改 2025-07-14 10:30:19 +08:00
b302b3af2b feat: 🚀 优化树状结构 2025-07-11 16:34:41 +08:00
38b57adb5e fix: 🧩 修复产品详情传值 2025-07-08 17:10:10 +08:00
776de99441 fix: 🧩 修复bug 2025-07-05 13:37:06 +08:00
13 changed files with 50 additions and 60 deletions

View File

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

View File

@@ -1,11 +1,10 @@
ENV = 'production'
VITE_APP_API_BASEURL = https://opsscmapi.f2b211.com/api/ #请求地址
VITE_APP_API_BASEURL =https://orico.com.cn/admapi/v1
#前端回显图片之类的地址
# 线上环境
VITE_USER_NODE_ENV = production
#前端回显图片之类的地址
VITE_APP_API_BASE_UPLOAD_URL =https://dev.ow.f2b211.com/
VITE_APP_API_BASE_UPLOAD_URL =https://orico.com.cn/
# 是否启用 gzip 或 brotli 压缩打包,如果需要多个压缩规则,可以使用 “,” 分隔
# Optional: gzip | brotli | none

BIN
dist.zip Normal file

Binary file not shown.

View File

@@ -2,12 +2,12 @@
<el-upload
:id="uuid"
action="#"
:multiple="false"
:multiple="true"
:show-file-list="false"
:http-request="handleHttpUpload"
:before-upload="handleBeforeUpload"
class="editor-img-uploader"
accept=".jpeg,.jpg,.png"
accept=".jpeg,.jpg,.png,.gif"
>
<i ref="uploadRef" class="Plus editor-img-uploader"></i>
</el-upload>

View File

@@ -29,7 +29,6 @@ const handleCreated = (editor: any) => {
editorRef.value = editor;
};
console.log(editorRef.value, "=editorRef.value=");
const $router = useRouter();
const routerValueName: string = $router.currentRoute.value.name as string;
const routerObj: any = {

View File

@@ -271,5 +271,5 @@
white-space: nowrap;
}
.el-message__wrapper {
z-index: 9999; /* 一个较大的值,确保在抽屉之上 */
z-index: 9999 !important; /* 一个较大的值,确保在抽屉之上 */
}

View File

@@ -4,8 +4,8 @@ import { useUserStore } from "@/stores/modules/user";
//不同环境的login地址
const LOGIN_OBJ: any = {
development: "http://localhost:8080/admin/login", //开发环境
test: "https://dev.ow.admin.f2b211.com/", //测试环境
production: "http://localhost:8080/login" //生产环境
test: "https://dev.orico.com.cn/admin/login", //测试环境
production: "https://orico.com.cn/admin/login" //生产环境
};
/**
/**

View File

@@ -6,13 +6,7 @@
</div>
<div class="card table-main">
<SearchForm :search="search" :reset="reset" :formData="dataStore.formData" :search-param="dataStore.ruleForm" />
<el-table
:data="dataStore.tableData"
style="width: 100%; margin-bottom: 20px; font-size: 14px"
row-key="id"
border
default-expand-all
>
<el-table :data="dataStore.tableData" style="width: 100%; margin-bottom: 20px; font-size: 14px" row-key="id" border>
<el-table-column prop="id" label="id" />
<el-table-column prop="name" label="分类名称" />
<el-table-column prop="sort" label="分类排序">

View File

@@ -189,10 +189,10 @@ const getSystemUrls = async (node: any, resolve: any) => {
}
} else {
//第二次请求
if (node.data.children) {
resolve(node.data.children);
if (node?.data?.children) {
resolve(node?.data?.children);
}
if (!node.data.children.length && !node.data.url && node.level > 1) {
if (!node?.data?.children?.length && !node?.data?.url && node?.level > 1) {
const [link_to, id] = node?.data?.value?.split("/");
const result = await getSystemUrlsApi({ link_to, id });
if (result?.code === 0) {
@@ -222,29 +222,29 @@ const getBannerRead = async (id: any) => {
dataStore.visible = true;
const result = await getBannerReadApi(id);
if (result?.code === 0) {
dataStore.editRuleForm = result?.data;
// setImgOrVideo(result);
await setImgOrVideo(result);
dataStore.editRuleForm = await result?.data;
setImgOrVideo(result);
getProductCategoryList();
if (dataStore.editRuleForm.link && dataStore.editRuleForm.link_to) {
let { id, name, link } = dataStore.editRuleForm.link_echo_data;
if (!id || !name || !link) {
return;
nextTick(() => {
dataStore.editRuleForm = result?.data;
if (dataStore.editRuleForm.link && dataStore.editRuleForm.link_to) {
let { id, name, link } = dataStore.editRuleForm.link_echo_data;
if (!id || !name || !link) {
return;
}
console.log("1232323");
let obj: any = {
label: name, // 确保这里的name是你想要显示的文本
value: `${dataStore.editRuleForm.link_to}` + "/" + `${id}` + "/" + `${name}`,
url: link,
link_to: dataStore.editRuleForm.link_to,
children: []
};
let data: any = [];
data.push(obj);
selectedNodes.value = obj.value;
dataStore.data = data;
}
let obj: any = {
label: name, // 确保这里的name是你想要显示的文本
value: `${dataStore.editRuleForm.link_to}` + "/" + `${id}` + "/" + `${name}`,
url: link,
link_to: dataStore.editRuleForm.link_to,
children: []
};
let data: any = [];
data.push(obj);
selectedNodes.value = obj.value;
dataStore.data = data;
}
});
}
};
const handleCheck = (checkedNodes: any, values: any) => {
@@ -274,6 +274,7 @@ const getBannerUp = async () => {
formRef!.value!.ruleFormRef.resetFields();
proTableRef?.value?.getTableList();
dataStore.isFirstRequest = true;
useMsg("success", result?.msg);
}
};
//详情里的分类
@@ -334,7 +335,6 @@ const resetFields = () => {
// 抽屉重置
const handleResetClick = () => {
if (dataStore.title === "添加Banner") {
console.log("12323");
resetFields();
} else {
getBannerRead(dataStore.editRuleForm.id);
@@ -344,6 +344,7 @@ const handleResetClick = () => {
const handleAdd = () => {
dataStore.title = "添加Banner";
dataStore.visible = true;
selectedNodes.value = "";
dataStore.editRuleForm = cloneDeep(EDIT_RULE_FORM);
(dataStore.editFormData = cloneDeep(EDIT_FORM_DATA)), // 抽屉表单配置项
getBannerClassEditList();

View File

@@ -7,13 +7,7 @@
<div class="card table-main">
<SearchForm :search="search" :reset="reset" :formData="dataStore.formData" :search-param="dataStore.ruleForm" />
<el-table
:data="dataStore.tableData"
style="width: 100%; margin-bottom: 20px; font-size: 14px"
row-key="id"
border
default-expand-all
>
<el-table :data="dataStore.tableData" style="width: 100%; margin-bottom: 20px; font-size: 14px" row-key="id" border>
<el-table-column prop="id" label="id" />
<el-table-column prop="name" label="下载分类名称" />
<el-table-column prop="sort" label="下载分类排序">

View File

@@ -8,13 +8,8 @@
:formData="dataStore.searchFormData"
:search-param="dataStore.searchParam"
/>
<el-table
:data="dataStore.tableData"
style="width: 100%; margin-bottom: 20px; font-size: 14px"
row-key="id"
border
default-expand-all
>
<!-- default-expand-all -->
<el-table :data="dataStore.tableData" style="width: 100%; margin-bottom: 20px; font-size: 14px" row-key="id" border>
<el-table-column prop="id" label="id" />
<el-table-column prop="name" label="分类名称" />
<el-table-column prop="sort" label="分类排序">
@@ -154,7 +149,6 @@ const getArticleCategorySave = async (params: any) => {
};
const handleSelectChangeEmits = (value: any) => {
console.log(value, "===============value1111111============");
if (value.prop === "pid") {
dataStore.ruleForm.pid = value.id;
}

View File

@@ -69,7 +69,7 @@ export const handleSubmit = async (infoRef: any, imgInfoRef: any, dataStore: any
video_url,
video_img,
skus: skusCloneStr,
detail: dataStore.details,
detail: dataStore.detail,
related: JSON.stringify(relatedData) || []
};

View File

@@ -132,7 +132,7 @@ const dataStore = reactive<any>({
isFirstRequest: true,
selectRow: {} //当前选择的row
});
const selectedNodes = ref(null);
const selectedNodes = ref("");
const treeRef = ref(null);
// 配置 tree-select 的属性
const treeProps = {
@@ -202,11 +202,17 @@ const getNavClassList = async () => {
getNavClassList();
//详情接口
const getItemsRead = async (id: any) => {
selectedNodes.value = "";
dataStore.data = [];
dataStore.title = "编辑Banner";
dataStore.visible = true;
const result = await getItemsReadApi(id);
dataStore.title = "编辑导航";
dataStore.visible = true;
if (result?.code === 0) {
dataStore.editRuleForm = result?.data;
console.log(dataStore.editRuleForm, "===========>>>>");
if (dataStore.editRuleForm.link && dataStore.editRuleForm.link_to) {
let { id, name, link } = dataStore.editRuleForm.link_echo_data;
if (!id || !name || !link) {
@@ -353,9 +359,12 @@ const handleResetClick = () => {
const handleAdd = () => {
dataStore.title = "添加导航";
dataStore.visible = true;
selectedNodes.value = "";
};
const resetForm = () => {
dataStore.editRuleForm = cloneDeep(EDIT_RULE_FORM);
// dataStore.editRuleForm.link_to = "";
// dataStore.editRuleForm.link = "";
};
//抽屉关闭前的钩子
const handleBeforeClone = () => {