mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-ui.git
synced 2026-08-06 10:57:26 +08:00
Merge branch 'vue3' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui into vue3
This commit is contained in:
@@ -85,8 +85,8 @@ import circleLoading from "@/components/lili/circle-loading.vue";
|
||||
import Cookies from "js-cookie";
|
||||
import util from "@/libs/util.js";
|
||||
import { getNoticePage, logout } from "@/api/index";
|
||||
|
||||
const config = require("@/config/index.js");
|
||||
import config from "@/config/index.js";
|
||||
import defaultLogo from "@/assets/logo.png";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
@@ -102,7 +102,7 @@ export default {
|
||||
sliceNum: 5,
|
||||
userInfo: "",
|
||||
tipsMessage: "",
|
||||
defaultLogo: require("@/assets/logo.png"),
|
||||
defaultLogo,
|
||||
domainLogo: "",
|
||||
};
|
||||
},
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="价格" width="200">
|
||||
<template #default="{ row }">
|
||||
<span :style="{ color: $mainColor }">{{ $filters.unitPrice(row.price, '¥') }}</span>
|
||||
<span :style="{ color: $mainColor }">{{ unitPrice(row.price, '¥') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="buyCount" label="销量" width="150" />
|
||||
@@ -305,6 +305,8 @@ import {
|
||||
getGoodsGroupByPage,
|
||||
addGoodsGroupItems
|
||||
} from "@/api/goods";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { unitPrice, customRouterPush } from "@/utils/filters";
|
||||
export default {
|
||||
name: "goods",
|
||||
data() {
|
||||
@@ -367,6 +369,7 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
unitPrice,
|
||||
clearTableSelection() {
|
||||
this.$refs.table?.clearSelection?.();
|
||||
},
|
||||
@@ -452,7 +455,7 @@ export default {
|
||||
lower() {
|
||||
const reason = this.underForm.reason ? this.underForm.reason.trim() : "";
|
||||
if (!reason) {
|
||||
this.$Message.error("下架原因不能为空");
|
||||
ElMessage.error("下架原因不能为空");
|
||||
return;
|
||||
}
|
||||
let params = {
|
||||
@@ -460,9 +463,8 @@ export default {
|
||||
reason
|
||||
};
|
||||
lowGoods(params).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.modalVisible = false;
|
||||
this.getDataList();
|
||||
this.getNumberData(); // 添加这行
|
||||
@@ -471,29 +473,23 @@ export default {
|
||||
},
|
||||
// 上架
|
||||
upper(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认上架",
|
||||
content: "您确认要上架 " + v.goodsName + " ?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
let params = {
|
||||
goodsId: v.id
|
||||
};
|
||||
upGoods(params).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("上架成功");
|
||||
this.getDataList();
|
||||
this.getNumberData(); // 添加这行
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("您确认要上架 " + v.goodsName + " ?", "确认上架", { type: "warning" }).then(() => {
|
||||
let params = {
|
||||
goodsId: v.id
|
||||
};
|
||||
return upGoods(params).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("上架成功");
|
||||
this.getDataList();
|
||||
this.getNumberData(); // 添加这行
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
|
||||
//查看商品详情
|
||||
showDetail(v) {
|
||||
this.$filters.customRouterPush({
|
||||
customRouterPush({
|
||||
name: "goods-detail",
|
||||
query: { id: v.id },
|
||||
});
|
||||
@@ -521,26 +517,20 @@ export default {
|
||||
this.goodsAuditForm.authFlag = "REFUSE";
|
||||
}
|
||||
|
||||
this.$Modal.confirm({
|
||||
title: "确认审核",
|
||||
content: "您确认要审核" + examine + " " + v.goodsName + " ?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
this.goodsAuditForm.goodsIds=v.id;
|
||||
let formData = new FormData();
|
||||
formData.append('goodsIds', v.id);
|
||||
formData.append('authFlag', this.goodsAuditForm.authFlag);
|
||||
ElMessageBox.confirm("您确认要审核" + examine + " " + v.goodsName + " ?", "确认审核", { type: "warning" }).then(() => {
|
||||
this.goodsAuditForm.goodsIds=v.id;
|
||||
let formData = new FormData();
|
||||
formData.append('goodsIds', v.id);
|
||||
formData.append('authFlag', this.goodsAuditForm.authFlag);
|
||||
|
||||
authGoods(formData).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("审核成功");
|
||||
this.getDataList();
|
||||
this.getNumberData();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
return authGoods(formData).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("审核成功");
|
||||
this.getDataList();
|
||||
this.getNumberData();
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
|
||||
// 打开审核弹框
|
||||
@@ -563,7 +553,7 @@ export default {
|
||||
formData.append('authFlag', this.goodsAuditForm.auth_flag === 1 ? 'PASS' : 'REFUSE');
|
||||
authGoods(formData).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success('审核成功');
|
||||
ElMessage.success('审核成功');
|
||||
this.auditModalVisible = false;
|
||||
this.getDataList();
|
||||
this.getNumberData();
|
||||
@@ -580,78 +570,60 @@ export default {
|
||||
// 批量上架
|
||||
batchUpper() {
|
||||
if (this.selectedRows.length === 0) {
|
||||
this.$Message.warning('请先选择要上架的商品');
|
||||
ElMessage.warning('请先选择要上架的商品');
|
||||
return;
|
||||
}
|
||||
|
||||
const goodsNames = this.selectedRows.map(item => item.goodsName).join('、');
|
||||
this.$Modal.confirm({
|
||||
title: '确认批量上架',
|
||||
content: `您确认要上架以下商品吗?\n${goodsNames}`,
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
// 提取所有选中商品的ID
|
||||
const goodsIds = this.selectedRows.map(item => item.id);
|
||||
const params = {
|
||||
goodsId: goodsIds // 传递ID数组
|
||||
};
|
||||
ElMessageBox.confirm(`您确认要上架以下商品吗?\n${goodsNames}`, "确认批量上架", { type: "warning" }).then(() => {
|
||||
const goodsIds = this.selectedRows.map(item => item.id);
|
||||
const params = {
|
||||
goodsId: goodsIds
|
||||
};
|
||||
|
||||
upGoods(params).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success('批量上架成功');
|
||||
this.selectedRows = [];
|
||||
this.selectAll = false;
|
||||
this.getDataList();
|
||||
this.getNumberData();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$Modal.remove();
|
||||
});
|
||||
}
|
||||
});
|
||||
return upGoods(params).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success('批量上架成功');
|
||||
this.selectedRows = [];
|
||||
this.selectAll = false;
|
||||
this.getDataList();
|
||||
this.getNumberData();
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
|
||||
// 批量下架
|
||||
batchLower() {
|
||||
if (this.selectedRows.length === 0) {
|
||||
this.$Message.warning('请先选择要下架的商品');
|
||||
ElMessage.warning('请先选择要下架的商品');
|
||||
return;
|
||||
}
|
||||
|
||||
const goodsNames = this.selectedRows.map(item => item.goodsName).join('、');
|
||||
this.$Modal.confirm({
|
||||
title: '确认批量下架',
|
||||
content: `您确认要下架以下商品吗?\n${goodsNames}`,
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
// 提取所有选中商品的ID
|
||||
const goodsIds = this.selectedRows.map(item => item.id);
|
||||
const params = {
|
||||
goodsId: goodsIds, // 传递ID数组
|
||||
reason: '批量下架操作' // 可以设置默认下架原因
|
||||
};
|
||||
ElMessageBox.confirm(`您确认要下架以下商品吗?\n${goodsNames}`, "确认批量下架", { type: "warning" }).then(() => {
|
||||
const goodsIds = this.selectedRows.map(item => item.id);
|
||||
const params = {
|
||||
goodsId: goodsIds,
|
||||
reason: '批量下架操作'
|
||||
};
|
||||
|
||||
lowGoods(params).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success('批量下架成功');
|
||||
this.selectedRows = [];
|
||||
this.selectAll = false;
|
||||
this.getDataList();
|
||||
this.getNumberData();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$Modal.remove();
|
||||
});
|
||||
}
|
||||
});
|
||||
return lowGoods(params).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success('批量下架成功');
|
||||
this.selectedRows = [];
|
||||
this.selectAll = false;
|
||||
this.getDataList();
|
||||
this.getNumberData();
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
|
||||
// 批量审核
|
||||
batchAudit() {
|
||||
if (this.selectedRows.length === 0) {
|
||||
this.$Message.warning('请先选择要审核的商品');
|
||||
ElMessage.warning('请先选择要审核的商品');
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -666,13 +638,13 @@ export default {
|
||||
// 提交批量审核
|
||||
submitBatchAudit() {
|
||||
if (this.selectedRows.length === 0) {
|
||||
this.$Message.warning('请先选择要审核的商品');
|
||||
ElMessage.warning('请先选择要审核的商品');
|
||||
return;
|
||||
}
|
||||
|
||||
// 如果是拒绝审核,必须填写原因
|
||||
if (this.batchAuditForm.auth_flag === 2 && !this.batchAuditForm.reason.trim()) {
|
||||
this.$Message.warning('审核拒绝时必须填写拒绝原因');
|
||||
ElMessage.warning('审核拒绝时必须填写拒绝原因');
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -688,7 +660,7 @@ export default {
|
||||
this.batchAuditSubmitLoading = true;
|
||||
authGoods(formData).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success(`批量审核${actionText}成功`);
|
||||
ElMessage.success(`批量审核${actionText}成功`);
|
||||
this.selectedRows = [];
|
||||
this.selectAll = false;
|
||||
this.batchAuditModalVisible = false;
|
||||
@@ -709,7 +681,7 @@ export default {
|
||||
},
|
||||
openSetGoodsGroup() {
|
||||
if (this.selectedRows.length === 0) {
|
||||
this.$Message.warning("请先选择商品");
|
||||
ElMessage.warning("请先选择商品");
|
||||
return;
|
||||
}
|
||||
this.goodsGroupFlag = true;
|
||||
@@ -728,18 +700,18 @@ export default {
|
||||
addGoodsGroupItems(this.goodsGroupForm.groupId, goodsIds).then((res) => {
|
||||
this.goodsGroupLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("设置成功");
|
||||
ElMessage.success("设置成功");
|
||||
this.goodsGroupFlag = false;
|
||||
this.selectedRows = [];
|
||||
this.selectAll = false;
|
||||
this.clearTableSelection();
|
||||
this.getDataList();
|
||||
} else if (res && res.message) {
|
||||
this.$Message.error(res.message);
|
||||
ElMessage.error(res.message);
|
||||
}
|
||||
}).catch(() => {
|
||||
this.goodsGroupLoading = false;
|
||||
this.$Message.error("设置失败,请检查权限或后端接口");
|
||||
ElMessage.error("设置失败,请检查权限或后端接口");
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
<el-table-column prop="id" label="商品编号" min-width="120" show-overflow-tooltip />
|
||||
<el-table-column label="价格" min-width="120">
|
||||
<template #default="{ row }">
|
||||
<span v-if="row" :style="{ color: $mainColor }">{{ $filters.unitPrice(row.price, "¥") }}</span>
|
||||
<span v-if="row" :style="{ color: $mainColor }">{{ unitPrice(row.price, "¥") }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="审核状态" min-width="120">
|
||||
@@ -93,6 +93,8 @@
|
||||
|
||||
<script>
|
||||
import { authGoods, getAuthGoodsListData } from "@/api/goods";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { unitPrice, customRouterPush } from "@/utils/filters";
|
||||
|
||||
export default {
|
||||
name: "goodsApply",
|
||||
@@ -113,6 +115,7 @@ export default {
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
unitPrice,
|
||||
authFlagText(v) {
|
||||
const map = {
|
||||
TOBEAUDITED: "待审核",
|
||||
@@ -163,24 +166,20 @@ export default {
|
||||
examine(v, authFlag) {
|
||||
const examine = authFlag === 1 ? "通过" : "拒绝";
|
||||
this.goodsAuditForm.authFlag = authFlag === 1 ? "PASS" : "REFUSE";
|
||||
this.$Modal.confirm({
|
||||
title: "确认审核",
|
||||
content: `您确认要审核${examine} ${v.goodsName} ?`,
|
||||
onOk: () => {
|
||||
const formData = new FormData();
|
||||
formData.append("goodsIds", v.id);
|
||||
formData.append("authFlag", this.goodsAuditForm.authFlag);
|
||||
return authGoods(formData).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("审核成功");
|
||||
this.getDataList();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm(`您确认要审核${examine} ${v.goodsName} ?`, "确认审核", { type: "warning" }).then(() => {
|
||||
const formData = new FormData();
|
||||
formData.append("goodsIds", v.id);
|
||||
formData.append("authFlag", this.goodsAuditForm.authFlag);
|
||||
return authGoods(formData).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("审核成功");
|
||||
this.getDataList();
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
showDetail(v) {
|
||||
this.$filters.customRouterPush({
|
||||
customRouterPush({
|
||||
name: "goods-detail",
|
||||
query: { id: v.id },
|
||||
});
|
||||
|
||||
@@ -159,6 +159,8 @@ import {
|
||||
} from "@/api/goods";
|
||||
import ossManage from "@/views/sys/oss-manage/ossManage";
|
||||
import { regular } from "@/utils";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import defaultPic from "@/assets/default.png";
|
||||
|
||||
export default {
|
||||
name: "brand",
|
||||
@@ -167,7 +169,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
defaultPic: require("@/assets/default.png"),
|
||||
defaultPic,
|
||||
loading: true,
|
||||
modalType: 0,
|
||||
modalVisible: false,
|
||||
@@ -262,7 +264,7 @@ export default {
|
||||
.then((res) => {
|
||||
this.categorySubmitLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.categoryModalVisible = false;
|
||||
}
|
||||
})
|
||||
@@ -272,28 +274,25 @@ export default {
|
||||
},
|
||||
handleStatusSwitchChange(row, checked) {
|
||||
const disable = !checked;
|
||||
this.$Modal.confirm({
|
||||
title: disable ? "确认禁用" : "确认启用",
|
||||
content: "您确认要" + (disable ? "禁用" : "启用") + "品牌 " + row.name + " ?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
disableBrand(row.id, { disable }).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
}
|
||||
this.getDataList();
|
||||
});
|
||||
},
|
||||
onCancel: () => {
|
||||
this.$nextTick(() => this.$forceUpdate());
|
||||
},
|
||||
ElMessageBox.confirm(
|
||||
"您确认要" + (disable ? "禁用" : "启用") + "品牌 " + row.name + " ?",
|
||||
disable ? "确认禁用" : "确认启用",
|
||||
{ type: "warning" }
|
||||
).then(() => {
|
||||
return disableBrand(row.id, { disable }).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("操作成功");
|
||||
}
|
||||
this.getDataList();
|
||||
});
|
||||
}).catch(() => {
|
||||
this.$nextTick(() => this.$forceUpdate());
|
||||
});
|
||||
},
|
||||
async delBrand(id) {
|
||||
const res = await delBrand(id);
|
||||
if (res.success) {
|
||||
this.$Message.success("品牌删除成功!");
|
||||
ElMessage.success("品牌删除成功!");
|
||||
this.getDataList();
|
||||
}
|
||||
},
|
||||
@@ -332,7 +331,7 @@ export default {
|
||||
addBrand(this.form).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.getDataList();
|
||||
this.modalVisible = false;
|
||||
}
|
||||
@@ -341,7 +340,7 @@ export default {
|
||||
updateBrand(this.form).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.getDataList();
|
||||
this.modalVisible = false;
|
||||
}
|
||||
|
||||
@@ -158,6 +158,7 @@ import {
|
||||
} from "@/api/goods";
|
||||
import uploadPicInput from "@/components/lili/upload-pic-input";
|
||||
import { regular } from "@/utils";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
|
||||
export default {
|
||||
name: "goods-category",
|
||||
@@ -222,28 +223,23 @@ export default {
|
||||
onStatusSwitchChange(row, nextDeleteFlag) {
|
||||
const previousDeleteFlag = !nextDeleteFlag;
|
||||
const isClosing = nextDeleteFlag === true;
|
||||
this.$Modal.confirm({
|
||||
title: isClosing ? "确认关闭" : "确认开启",
|
||||
content: `您是否要${isClosing ? "关闭" : "开启"}当前分类 ${row.name} 及其子分类?`,
|
||||
loading: true,
|
||||
okText: "是",
|
||||
cancelText: "否",
|
||||
onOk: () => {
|
||||
row._statusLoading = true;
|
||||
disableCategory(row.id, { enableOperations: isClosing ? true : 0 }).then((res) => {
|
||||
this.$Modal.remove();
|
||||
row._statusLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
this.getAllList();
|
||||
return;
|
||||
}
|
||||
row.deleteFlag = previousDeleteFlag;
|
||||
});
|
||||
},
|
||||
onCancel: () => {
|
||||
ElMessageBox.confirm(
|
||||
`您是否要${isClosing ? "关闭" : "开启"}当前分类 ${row.name} 及其子分类?`,
|
||||
isClosing ? "确认关闭" : "确认开启",
|
||||
{ type: "warning", confirmButtonText: "是", cancelButtonText: "否" }
|
||||
).then(() => {
|
||||
row._statusLoading = true;
|
||||
return disableCategory(row.id, { enableOperations: isClosing ? true : 0 }).then((res) => {
|
||||
row._statusLoading = false;
|
||||
if (res && res.success) {
|
||||
ElMessage.success("操作成功");
|
||||
this.getAllList();
|
||||
return;
|
||||
}
|
||||
row.deleteFlag = previousDeleteFlag;
|
||||
},
|
||||
});
|
||||
}).catch(() => {
|
||||
row.deleteFlag = previousDeleteFlag;
|
||||
});
|
||||
},
|
||||
init() {
|
||||
@@ -283,7 +279,7 @@ export default {
|
||||
saveCategorySpec(this.categoryId, this.specForm).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.modalSpecVisible = false;
|
||||
}
|
||||
});
|
||||
@@ -292,7 +288,7 @@ export default {
|
||||
saveCategoryBrand(this.categoryId, this.brandForm).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.modalBrandVisible = false;
|
||||
}
|
||||
});
|
||||
@@ -342,7 +338,7 @@ export default {
|
||||
insertCategory(this.formAdd).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("添加成功");
|
||||
ElMessage.success("添加成功");
|
||||
this.getAllList();
|
||||
this.modalVisible = false;
|
||||
this.$refs.form.resetFields();
|
||||
@@ -352,7 +348,7 @@ export default {
|
||||
updateCategory(this.formAdd).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("修改成功");
|
||||
ElMessage.success("修改成功");
|
||||
this.getAllList();
|
||||
this.modalVisible = false;
|
||||
this.$refs.form.resetFields();
|
||||
@@ -362,20 +358,14 @@ export default {
|
||||
});
|
||||
},
|
||||
remove(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "您确认要删除 " + v.name + " ?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
delCategory(v.id).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
this.getAllList();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("您确认要删除 " + v.name + " ?", "确认删除", { type: "warning" }).then(() => {
|
||||
return delCategory(v.id).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("操作成功");
|
||||
this.getAllList();
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
getAllList() {
|
||||
this.loading = true;
|
||||
@@ -394,45 +384,35 @@ export default {
|
||||
});
|
||||
},
|
||||
enable(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认启用",
|
||||
content: "您是否要启用当前分类 " + v.name + " 及其子分类?",
|
||||
loading: true,
|
||||
okText: "是",
|
||||
cancelText: "否",
|
||||
onOk: () => {
|
||||
disableCategory(v.id, { enableOperations: 0 }).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
this.getAllList();
|
||||
}
|
||||
});
|
||||
},
|
||||
onCancel: () => {
|
||||
this.getAllList();
|
||||
},
|
||||
ElMessageBox.confirm(
|
||||
"您是否要启用当前分类 " + v.name + " 及其子分类?",
|
||||
"确认启用",
|
||||
{ type: "warning", confirmButtonText: "是", cancelButtonText: "否" }
|
||||
).then(() => {
|
||||
return disableCategory(v.id, { enableOperations: 0 }).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("操作成功");
|
||||
this.getAllList();
|
||||
}
|
||||
});
|
||||
}).catch(() => {
|
||||
this.getAllList();
|
||||
});
|
||||
},
|
||||
disable(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认禁用",
|
||||
content: "您是否要禁用当前分类 " + v.name + " 及其子分类?",
|
||||
loading: true,
|
||||
okText: "是",
|
||||
cancelText: "否",
|
||||
onOk: () => {
|
||||
disableCategory(v.id, { enableOperations: true }).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
this.getAllList();
|
||||
}
|
||||
});
|
||||
},
|
||||
onCancel: () => {
|
||||
this.getAllList();
|
||||
},
|
||||
ElMessageBox.confirm(
|
||||
"您是否要禁用当前分类 " + v.name + " 及其子分类?",
|
||||
"确认禁用",
|
||||
{ type: "warning", confirmButtonText: "是", cancelButtonText: "否" }
|
||||
).then(() => {
|
||||
return disableCategory(v.id, { enableOperations: true }).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("操作成功");
|
||||
this.getAllList();
|
||||
}
|
||||
});
|
||||
}).catch(() => {
|
||||
this.getAllList();
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@@ -98,6 +98,7 @@ import {
|
||||
updateGoodsParams,
|
||||
} from "@/api/goods";
|
||||
import { regular } from "@/utils";
|
||||
import { ElMessage } from "element-plus";
|
||||
|
||||
const getOptionText = (value) => {
|
||||
if (value && typeof value === "object") return value.value;
|
||||
@@ -369,7 +370,7 @@ export default {
|
||||
insertGoodsParams(buildSpringFormPayload(payload))
|
||||
.then((res) => {
|
||||
if (!(res && res.success)) return;
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.back();
|
||||
})
|
||||
.finally(() => {
|
||||
@@ -379,7 +380,7 @@ export default {
|
||||
updateGoodsParams(buildSpringFormPayload(payload))
|
||||
.then((res) => {
|
||||
if (!(res && res.success)) return;
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.back();
|
||||
})
|
||||
.finally(() => {
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
</template>
|
||||
<script>
|
||||
import { deleteParams, getGoodsParamsPage } from "@/api/goods";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
|
||||
export default {
|
||||
name: "categoryParams",
|
||||
@@ -127,20 +128,14 @@ export default {
|
||||
this.$router.push({ name: "goods-parameter-edit", query: { id: row.id } });
|
||||
},
|
||||
remove(row) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "您确认要删除 " + (row.paramName || "") + " ?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
deleteParams(row.id).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res && res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
this.getDataList();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("您确认要删除 " + (row.paramName || "") + " ?", "确认删除", { type: "warning" }).then(() => {
|
||||
return deleteParams(row.id).then((res) => {
|
||||
if (res && res.success) {
|
||||
ElMessage.success("删除成功");
|
||||
this.getDataList();
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -172,6 +172,7 @@
|
||||
|
||||
<script>
|
||||
import * as API_Member from "@/api/member";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
|
||||
export default {
|
||||
name: "goods-review",
|
||||
@@ -213,7 +214,7 @@ export default {
|
||||
}
|
||||
API_Member.updateMemberReview(this.currentReviewId, { status }).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("修改成功!");
|
||||
ElMessage.success("修改成功!");
|
||||
this.getDataList();
|
||||
}
|
||||
});
|
||||
@@ -257,7 +258,7 @@ export default {
|
||||
top: item.id === v.id ? top : false,
|
||||
};
|
||||
});
|
||||
this.$Message.success(top ? "置顶成功!" : "取消置顶成功!");
|
||||
ElMessage.success(top ? "置顶成功!" : "取消置顶成功!");
|
||||
this.init();
|
||||
}
|
||||
});
|
||||
@@ -296,18 +297,12 @@ export default {
|
||||
this.infoData = {};
|
||||
},
|
||||
remove(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "您确认要删除会员" + v.memberName + "的评论?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
API_Member.delMemberReview(v.id).then(() => {
|
||||
this.$Modal.remove();
|
||||
this.$Message.success("修改成功");
|
||||
this.init();
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("您确认要删除会员" + v.memberName + "的评论?", "确认删除", { type: "warning" }).then(() => {
|
||||
return API_Member.delMemberReview(v.id).then(() => {
|
||||
ElMessage.success("修改成功");
|
||||
this.init();
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
|
||||
<script>
|
||||
import * as API_Goods from "@/api/goods.js";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
|
||||
export default {
|
||||
name: "goodsGroup",
|
||||
@@ -125,12 +126,12 @@ export default {
|
||||
this.data = res.result.records || [];
|
||||
this.total = res.result.total || 0;
|
||||
} else if (res && res.message) {
|
||||
this.$Message.error(res.message);
|
||||
ElMessage.error(res.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
this.$Message.error("加载商品分组失败");
|
||||
ElMessage.error("加载商品分组失败");
|
||||
});
|
||||
},
|
||||
openAdd() {
|
||||
@@ -148,16 +149,16 @@ export default {
|
||||
.then((res) => {
|
||||
this.submitAddLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("添加成功");
|
||||
ElMessage.success("添加成功");
|
||||
this.addFlag = false;
|
||||
this.getData();
|
||||
} else if (res && res.message) {
|
||||
this.$Message.error(res.message);
|
||||
ElMessage.error(res.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.submitAddLoading = false;
|
||||
this.$Message.error("添加失败,请检查权限或后端接口");
|
||||
ElMessage.error("添加失败,请检查权限或后端接口");
|
||||
});
|
||||
});
|
||||
},
|
||||
@@ -181,7 +182,7 @@ export default {
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.$Message.error("获取分组详情失败");
|
||||
ElMessage.error("获取分组详情失败");
|
||||
});
|
||||
},
|
||||
submitEdit() {
|
||||
@@ -193,38 +194,34 @@ export default {
|
||||
.then((res) => {
|
||||
this.submitEditLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("修改成功");
|
||||
ElMessage.success("修改成功");
|
||||
this.editFlag = false;
|
||||
this.getData();
|
||||
} else if (res && res.message) {
|
||||
this.$Message.error(res.message);
|
||||
ElMessage.error(res.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.submitEditLoading = false;
|
||||
this.$Message.error("修改失败,请检查权限或后端接口");
|
||||
ElMessage.error("修改失败,请检查权限或后端接口");
|
||||
});
|
||||
});
|
||||
},
|
||||
remove(row) {
|
||||
this.$Modal.confirm({
|
||||
title: "提示",
|
||||
content: "确定删除该分组?",
|
||||
onOk: () => {
|
||||
API_Goods.deleteGoodsGroup(row.id)
|
||||
.then((res) => {
|
||||
if (res && res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
this.getData();
|
||||
} else if (res && res.message) {
|
||||
this.$Message.error(res.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.$Message.error("删除失败,请检查权限或后端接口");
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("确定删除该分组?", "提示", { type: "warning" }).then(() => {
|
||||
return API_Goods.deleteGoodsGroup(row.id)
|
||||
.then((res) => {
|
||||
if (res && res.success) {
|
||||
ElMessage.success("删除成功");
|
||||
this.getData();
|
||||
} else if (res && res.message) {
|
||||
ElMessage.error(res.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
ElMessage.error("删除失败,请检查权限或后端接口");
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -214,6 +214,7 @@ import {
|
||||
getGoodsSkuData,
|
||||
updateGoodsSkuVirtualSales,
|
||||
} from "@/api/goods";
|
||||
import { ElMessage } from "element-plus";
|
||||
|
||||
const VIRTUAL_SALES_FIELDS = [
|
||||
"virtualSales",
|
||||
@@ -311,14 +312,14 @@ export default {
|
||||
this.data = [];
|
||||
this.total = 0;
|
||||
this.selectedRows = [];
|
||||
this.$Message.error((res && res.message) || "加载规格列表失败");
|
||||
ElMessage.error((res && res.message) || "加载规格列表失败");
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.data = [];
|
||||
this.total = 0;
|
||||
this.selectedRows = [];
|
||||
this.$Message.error("加载规格列表失败");
|
||||
ElMessage.error("加载规格列表失败");
|
||||
})
|
||||
.finally(() => {
|
||||
this.loading = false;
|
||||
@@ -339,7 +340,7 @@ export default {
|
||||
},
|
||||
openBatchVirtualSalesModal() {
|
||||
if (!this.selectedRows.length) {
|
||||
this.$Message.warning("请先选择要设置的商品规格");
|
||||
ElMessage.warning("请先选择要设置的商品规格");
|
||||
return;
|
||||
}
|
||||
this.modalMode = "batch";
|
||||
@@ -362,7 +363,7 @@ export default {
|
||||
handleSubmitVirtualSales() {
|
||||
const virtualSales = Number(this.editForm.virtualSales);
|
||||
if (!Number.isInteger(virtualSales) || virtualSales < 0) {
|
||||
this.$Message.warning("请输入大于等于 0 的整数虚拟销量");
|
||||
ElMessage.warning("请输入大于等于 0 的整数虚拟销量");
|
||||
return;
|
||||
}
|
||||
if (this.modalMode === "batch") {
|
||||
@@ -384,14 +385,14 @@ export default {
|
||||
this.data[currentIndex].virtualSales = virtualSales;
|
||||
this.data[currentIndex].virtualSalesInput = virtualSales;
|
||||
}
|
||||
this.$Message.success("虚拟销量设置成功");
|
||||
ElMessage.success("虚拟销量设置成功");
|
||||
this.resetVirtualSalesModal();
|
||||
} else {
|
||||
this.$Message.error((res && res.message) || "规格虚拟销量设置失败");
|
||||
ElMessage.error((res && res.message) || "规格虚拟销量设置失败");
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.$Message.error("规格虚拟销量设置失败");
|
||||
ElMessage.error("规格虚拟销量设置失败");
|
||||
})
|
||||
.finally(() => {
|
||||
if (this.data[currentIndex]) {
|
||||
@@ -403,7 +404,7 @@ export default {
|
||||
handleBatchSubmitVirtualSales(virtualSales) {
|
||||
const skuIds = this.selectedRows.map((item) => item.id).filter(Boolean);
|
||||
if (!skuIds.length) {
|
||||
this.$Message.warning("请先选择要设置的商品规格");
|
||||
ElMessage.warning("请先选择要设置的商品规格");
|
||||
return;
|
||||
}
|
||||
this.modalSubmitting = true;
|
||||
@@ -420,14 +421,14 @@ export default {
|
||||
});
|
||||
this.selectedRows = [];
|
||||
this.$refs.table?.clearSelection();
|
||||
this.$Message.success("虚拟销量设置成功");
|
||||
ElMessage.success("虚拟销量设置成功");
|
||||
this.resetVirtualSalesModal();
|
||||
} else {
|
||||
this.$Message.error((res && res.message) || "虚拟销量设置失败");
|
||||
ElMessage.error((res && res.message) || "虚拟销量设置失败");
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.$Message.error("虚拟销量设置失败");
|
||||
ElMessage.error("虚拟销量设置失败");
|
||||
})
|
||||
.finally(() => {
|
||||
this.modalSubmitting = false;
|
||||
|
||||
@@ -10,7 +10,7 @@ h4 {
|
||||
margin: 20px 0;
|
||||
font-size: 18px;
|
||||
}
|
||||
:deep(.ivu-icon){
|
||||
.icon {
|
||||
margin-left: 40px;
|
||||
margin-right: 40px;
|
||||
}
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
const config = require("@/config/index");
|
||||
import config from "@/config/index";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
@@ -183,17 +183,6 @@
|
||||
height: 100%;
|
||||
|
||||
|
||||
.options {
|
||||
.ivu-select-dropdown {
|
||||
transform-origin: center top 0px;
|
||||
position: absolute;
|
||||
top: 45px !important;
|
||||
left: -2px;
|
||||
will-change: top, left;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.message-con {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
|
||||
@@ -171,6 +171,7 @@
|
||||
|
||||
<script>
|
||||
import { getUserWithdrawApply, withdrawApply } from "@/api/member";
|
||||
import { ElMessage } from "element-plus";
|
||||
|
||||
export default {
|
||||
name: "withdrawApply",
|
||||
@@ -242,7 +243,7 @@ export default {
|
||||
params.result = res;
|
||||
params.remark = this.audit;
|
||||
if (res === false && params.remark === "") {
|
||||
this.$Message.error("审核备注不能为空");
|
||||
ElMessage.error("审核备注不能为空");
|
||||
return;
|
||||
}
|
||||
this.submitLoading = true;
|
||||
@@ -250,7 +251,7 @@ export default {
|
||||
.then((result) => {
|
||||
const success = result === true || (result && result.success === true);
|
||||
if (success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.roleModalVisible = false;
|
||||
this.queryModalVisible = false;
|
||||
this.audit = "";
|
||||
|
||||
@@ -349,6 +349,7 @@ import { getPlatformCoupon } from "@/api/promotion";
|
||||
import { formatPromotionCouponValidityHtml } from "@/utils/promotions";
|
||||
import couponTemplate from "@/views/promotions/coupon/coupon.vue";
|
||||
import uploadPicInput from "@/components/lili/upload-pic-input.vue";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
|
||||
const GIFT_POINT = "GIFT_POINT";
|
||||
const COUPON_PACKAGE = "COUPON_PACKAGE";
|
||||
@@ -641,7 +642,7 @@ export default {
|
||||
confirmCouponPicker() {
|
||||
const list = this.$refs.couponPicker?.getSelection?.() || [];
|
||||
if (!list.length) {
|
||||
this.$Message.warning("请至少选择一张优惠券");
|
||||
ElMessage.warning("请至少选择一张优惠券");
|
||||
return;
|
||||
}
|
||||
this.onCouponTemplateSelected(list);
|
||||
@@ -712,7 +713,7 @@ export default {
|
||||
},
|
||||
submitAdd() {
|
||||
if (!this.$refs.addForm) {
|
||||
this.$Message.warning("表单未就绪,请稍后重试");
|
||||
ElMessage.warning("表单未就绪,请稍后重试");
|
||||
return;
|
||||
}
|
||||
this.$refs.addForm.validate((valid) => {
|
||||
@@ -730,17 +731,17 @@ export default {
|
||||
API_Member.addMemberBenefit(payload).then((res) => {
|
||||
this.submitAddLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("添加成功");
|
||||
ElMessage.success("添加成功");
|
||||
this.addFlag = false;
|
||||
this.getData();
|
||||
} else if (res && res.message) {
|
||||
this.$Message.error(res.message);
|
||||
ElMessage.error(res.message);
|
||||
} else {
|
||||
this.$Message.error("添加失败");
|
||||
ElMessage.error("添加失败");
|
||||
}
|
||||
}).catch(() => {
|
||||
this.submitAddLoading = false;
|
||||
this.$Message.error("网络异常,请稍后重试");
|
||||
ElMessage.error("网络异常,请稍后重试");
|
||||
});
|
||||
});
|
||||
},
|
||||
@@ -786,7 +787,7 @@ export default {
|
||||
},
|
||||
submitEdit() {
|
||||
if (!this.$refs.editForm) {
|
||||
this.$Message.warning("表单未就绪,请稍后重试");
|
||||
ElMessage.warning("表单未就绪,请稍后重试");
|
||||
return;
|
||||
}
|
||||
this.$refs.editForm.validate((valid) => {
|
||||
@@ -804,17 +805,17 @@ export default {
|
||||
API_Member.updateMemberBenefit(id, payload).then((res) => {
|
||||
this.submitEditLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("修改成功");
|
||||
ElMessage.success("修改成功");
|
||||
this.editFlag = false;
|
||||
this.getData();
|
||||
} else if (res && res.message) {
|
||||
this.$Message.error(res.message);
|
||||
ElMessage.error(res.message);
|
||||
} else {
|
||||
this.$Message.error("修改失败");
|
||||
ElMessage.error("修改失败");
|
||||
}
|
||||
}).catch(() => {
|
||||
this.submitEditLoading = false;
|
||||
this.$Message.error("网络异常,请稍后重试");
|
||||
ElMessage.error("网络异常,请稍后重试");
|
||||
});
|
||||
});
|
||||
},
|
||||
@@ -823,42 +824,34 @@ export default {
|
||||
const prevState = row.benefitState;
|
||||
if (nextState === prevState) return;
|
||||
const text = checked ? "开启" : "关闭";
|
||||
this.$Modal.confirm({
|
||||
title: "提示",
|
||||
content: `确定${text}该客户权益?`,
|
||||
onOk: () => {
|
||||
row._benefitStateLoading = true;
|
||||
return API_Member.updateMemberBenefitState(row.id, nextState)
|
||||
.then((res) => {
|
||||
row._benefitStateLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success(`${text}成功`);
|
||||
row.benefitState = nextState;
|
||||
} else {
|
||||
this.getData();
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
row._benefitStateLoading = false;
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm(`确定${text}该客户权益?`, "提示", { type: "warning" }).then(() => {
|
||||
row._benefitStateLoading = true;
|
||||
return API_Member.updateMemberBenefitState(row.id, nextState)
|
||||
.then((res) => {
|
||||
row._benefitStateLoading = false;
|
||||
if (res && res.success) {
|
||||
ElMessage.success(`${text}成功`);
|
||||
row.benefitState = nextState;
|
||||
} else {
|
||||
this.getData();
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
row._benefitStateLoading = false;
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
remove(row) {
|
||||
this.$Modal.confirm({
|
||||
title: "提示",
|
||||
content: "确定删除该客户权益?",
|
||||
onOk: () => {
|
||||
API_Member.deleteMemberBenefit(row.id).then((res) => {
|
||||
if (res && res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
this.getData();
|
||||
} else if (res && res.message) {
|
||||
this.$Message.error(res.message);
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("确定删除该客户权益?", "提示", { type: "warning" }).then(() => {
|
||||
API_Member.deleteMemberBenefit(row.id).then((res) => {
|
||||
if (res && res.success) {
|
||||
ElMessage.success("删除成功");
|
||||
this.getData();
|
||||
} else if (res && res.message) {
|
||||
ElMessage.error(res.message);
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -239,6 +239,7 @@
|
||||
|
||||
<script>
|
||||
import { getSetting, setSetting } from "@/api/index";
|
||||
import { ElMessage } from "element-plus";
|
||||
|
||||
const RULE_OPTIONS = [
|
||||
{ ruleKey: "CONSUME", ruleName: "消费" },
|
||||
@@ -407,7 +408,7 @@ export default {
|
||||
return false;
|
||||
});
|
||||
if (invalid) {
|
||||
this.$Message.error("请检查经验值配置,经验值范围为1-100,限额需为正整数");
|
||||
ElMessage.error("请检查经验值配置,经验值范围为1-100,限额需为正整数");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -428,7 +429,7 @@ export default {
|
||||
setSetting("EXPERIENCE_SETTING", payload)
|
||||
.then((res) => {
|
||||
if (res && res.success) {
|
||||
this.$Message.success("保存成功");
|
||||
ElMessage.success("保存成功");
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
|
||||
@@ -181,6 +181,7 @@
|
||||
<script>
|
||||
import * as API_Member from "@/api/member.js";
|
||||
import uploadPicInput from "@/components/lili/upload-pic-input";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
|
||||
const buildDefaultForm = () => ({
|
||||
id: "",
|
||||
@@ -358,7 +359,7 @@ export default {
|
||||
API_Member.addMemberGrade(payload).then((res) => {
|
||||
this.submitAddLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("添加成功");
|
||||
ElMessage.success("添加成功");
|
||||
this.addFlag = false;
|
||||
this.getData();
|
||||
}
|
||||
@@ -410,7 +411,7 @@ export default {
|
||||
API_Member.updateMemberGrade(id, payload).then((res) => {
|
||||
this.submitEditLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("修改成功");
|
||||
ElMessage.success("修改成功");
|
||||
this.editFlag = false;
|
||||
this.getData();
|
||||
}
|
||||
@@ -422,42 +423,34 @@ export default {
|
||||
const prevState = row.gradeState;
|
||||
if (nextState === prevState) return;
|
||||
const text = checked ? "开启" : "关闭";
|
||||
this.$Modal.confirm({
|
||||
title: "提示",
|
||||
content: `<p>确定${text}该客户等级?</p>`,
|
||||
onOk: () => {
|
||||
row._gradeStateLoading = true;
|
||||
return API_Member.updateMemberGradeState(row.id, nextState)
|
||||
.then((res) => {
|
||||
row._gradeStateLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success(`${text}成功`);
|
||||
row.gradeState = nextState;
|
||||
} else {
|
||||
this.getData();
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
row._gradeStateLoading = false;
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm(`确定${text}该客户等级?`, "提示", { type: "warning" }).then(() => {
|
||||
row._gradeStateLoading = true;
|
||||
return API_Member.updateMemberGradeState(row.id, nextState)
|
||||
.then((res) => {
|
||||
row._gradeStateLoading = false;
|
||||
if (res && res.success) {
|
||||
ElMessage.success(`${text}成功`);
|
||||
row.gradeState = nextState;
|
||||
} else {
|
||||
this.getData();
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
row._gradeStateLoading = false;
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
remove(row) {
|
||||
this.$Modal.confirm({
|
||||
title: "提示",
|
||||
content: "<p>确定删除该客户等级?</p>",
|
||||
onOk: () => {
|
||||
API_Member.deleteMemberGrade(row.id).then((res) => {
|
||||
if (res && res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
this.getData();
|
||||
} else if (res && res.message) {
|
||||
this.$Message.error(res.message);
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("确定删除该客户等级?", "提示", { type: "warning" }).then(() => {
|
||||
API_Member.deleteMemberGrade(row.id).then((res) => {
|
||||
if (res && res.success) {
|
||||
ElMessage.success("删除成功");
|
||||
this.getData();
|
||||
} else if (res && res.message) {
|
||||
ElMessage.error(res.message);
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -72,6 +72,7 @@
|
||||
|
||||
<script>
|
||||
import * as API_Member from "@/api/member.js";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
|
||||
export default {
|
||||
name: "memberGroup",
|
||||
@@ -142,7 +143,7 @@ export default {
|
||||
API_Member.addMemberGroup(this.formAdd).then((res) => {
|
||||
this.submitAddLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("添加成功");
|
||||
ElMessage.success("添加成功");
|
||||
this.addFlag = false;
|
||||
this.getData();
|
||||
}
|
||||
@@ -176,7 +177,7 @@ export default {
|
||||
API_Member.updateMemberGroup(id, { groupName, description }).then((res) => {
|
||||
this.submitEditLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("修改成功");
|
||||
ElMessage.success("修改成功");
|
||||
this.editFlag = false;
|
||||
this.getData();
|
||||
}
|
||||
@@ -184,20 +185,16 @@ export default {
|
||||
});
|
||||
},
|
||||
remove(row) {
|
||||
this.$Modal.confirm({
|
||||
title: "提示",
|
||||
content: "确定删除该分组?",
|
||||
onOk: () => {
|
||||
API_Member.deleteMemberGroup(row.id).then((res) => {
|
||||
if (res && res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
this.getData();
|
||||
} else if (res && res.message) {
|
||||
this.$Message.error(res.message);
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("确定删除该分组?", "提示", { type: "warning" }).then(() => {
|
||||
API_Member.deleteMemberGroup(row.id).then((res) => {
|
||||
if (res && res.success) {
|
||||
ElMessage.success("删除成功");
|
||||
this.getData();
|
||||
} else if (res && res.message) {
|
||||
ElMessage.error(res.message);
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -300,6 +300,9 @@ import multipleMap from "@/components/map/multiple-map";
|
||||
import * as API_Member from "@/api/member.js";
|
||||
import ossManage from "@/views/sys/oss-manage/ossManage";
|
||||
import * as RegExp from "@/libs/RegExp.js";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { customRouterPush } from "@/utils/filters";
|
||||
import defaultPic from "@/assets/default.png";
|
||||
|
||||
export default {
|
||||
name: "member",
|
||||
@@ -320,7 +323,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
defaultPic: require("@/assets/default.png"),
|
||||
defaultPic,
|
||||
descTitle: "",
|
||||
descFlag: false,
|
||||
loading: true,
|
||||
@@ -459,7 +462,7 @@ export default {
|
||||
},
|
||||
submitSetMemberGroup() {
|
||||
if (this.selectedRows.length === 0) {
|
||||
this.$Message.warning("请先选择会员");
|
||||
ElMessage.warning("请先选择会员");
|
||||
return;
|
||||
}
|
||||
this.$refs.memberGroupForm.validate((valid) => {
|
||||
@@ -469,12 +472,12 @@ export default {
|
||||
API_Member.addMemberGroupUsers(this.memberGroupForm.groupId, memberIds).then((res) => {
|
||||
this.memberGroupLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("设置成功");
|
||||
ElMessage.success("设置成功");
|
||||
this.memberGroupFlag = false;
|
||||
this.selectedRows = [];
|
||||
this.clearSelection();
|
||||
} else if (res && res.message) {
|
||||
this.$Message.error(res.message);
|
||||
ElMessage.error(res.message);
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -579,7 +582,7 @@ export default {
|
||||
if (res.result) {
|
||||
this.$refs.addMemberForm.resetFields();
|
||||
this.getData();
|
||||
this.$Message.success("添加成功!");
|
||||
ElMessage.success("添加成功!");
|
||||
this.addFlag = false;
|
||||
}
|
||||
});
|
||||
@@ -598,25 +601,21 @@ export default {
|
||||
}
|
||||
},
|
||||
detail(row) {
|
||||
this.$filters.customRouterPush({ name: "member-detail", query: { id: row.id } });
|
||||
customRouterPush({ name: "member-detail", query: { id: row.id } });
|
||||
},
|
||||
disabled(v) {
|
||||
let params = {
|
||||
memberIds: [v.id],
|
||||
disabled: false,
|
||||
};
|
||||
this.$Modal.confirm({
|
||||
title: "提示",
|
||||
content: "<p>确认禁用此会员?</p>",
|
||||
onOk: () => {
|
||||
API_Member.updateMemberStatus(params).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("禁用成功");
|
||||
this.getData();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("确认禁用此会员?", "提示", { type: "warning" }).then(() => {
|
||||
API_Member.updateMemberStatus(params).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("禁用成功");
|
||||
this.getData();
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
openWalletIncrease(row) {
|
||||
this.walletIncreaseLoading = false;
|
||||
@@ -636,11 +635,11 @@ export default {
|
||||
})
|
||||
.then((res) => {
|
||||
if (res && res.success) {
|
||||
this.$Message.success("充值成功");
|
||||
ElMessage.success("充值成功");
|
||||
this.walletIncreaseFlag = false;
|
||||
this.getData();
|
||||
} else {
|
||||
this.$Message.error((res && res.message) || "充值失败");
|
||||
ElMessage.error((res && res.message) || "充值失败");
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
@@ -667,11 +666,11 @@ export default {
|
||||
})
|
||||
.then((res) => {
|
||||
if (res && res.success) {
|
||||
this.$Message.success("修改成功");
|
||||
ElMessage.success("修改成功");
|
||||
this.memberPointFlag = false;
|
||||
this.getData();
|
||||
} else {
|
||||
this.$Message.error((res && res.message) || "修改失败");
|
||||
ElMessage.error((res && res.message) || "修改失败");
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
@@ -700,7 +699,7 @@ export default {
|
||||
}
|
||||
API_Member.updateMember(submit).then((res) => {
|
||||
if (res.result) {
|
||||
this.$Message.success("修改成功!");
|
||||
ElMessage.success("修改成功!");
|
||||
this.descFlag = false;
|
||||
this.getData();
|
||||
}
|
||||
|
||||
@@ -418,6 +418,7 @@ import ossManage from "@/views/sys/oss-manage/ossManage";
|
||||
import multipleMap from "@/components/map/multiple-map";
|
||||
import * as RegExp from "@/libs/RegExp.js";
|
||||
import * as API_Order from "@/api/order.js";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
|
||||
export default {
|
||||
name: "memberDetail",
|
||||
@@ -677,7 +678,7 @@ export default {
|
||||
API_Member.editMemberAddress(submit).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("修改成功");
|
||||
ElMessage.success("修改成功");
|
||||
this.addressModalVisible = false;
|
||||
this.getAddressData();
|
||||
}
|
||||
@@ -686,7 +687,7 @@ export default {
|
||||
API_Member.addMemberAddress(submit).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("添加成功");
|
||||
ElMessage.success("添加成功");
|
||||
this.addressModalVisible = false;
|
||||
this.getAddressData();
|
||||
}
|
||||
@@ -714,18 +715,14 @@ export default {
|
||||
}
|
||||
},
|
||||
memberAddressRemove(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "删除",
|
||||
content: "<p>确定要删除此收货地址?</p>",
|
||||
onOk: () => {
|
||||
API_Member.removeMemberAddress(v.id).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
this.getAddressData();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("确定要删除此收货地址?", "删除", { type: "warning" }).then(() => {
|
||||
API_Member.removeMemberAddress(v.id).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("删除成功");
|
||||
this.getAddressData();
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
getAddressData() {
|
||||
this.addressLoading = true;
|
||||
|
||||
@@ -148,6 +148,8 @@
|
||||
import * as API_Member from "@/api/member.js";
|
||||
import ossManage from "@/views/sys/oss-manage/ossManage";
|
||||
import multipleMap from "@/components/map/multiple-map";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { customRouterPush } from "@/utils/filters";
|
||||
|
||||
export default {
|
||||
name: "memberRecycle",
|
||||
@@ -242,25 +244,21 @@ export default {
|
||||
}
|
||||
},
|
||||
detail(row) {
|
||||
this.$filters.customRouterPush({ name: "member-detail", query: { id: row.id } });
|
||||
customRouterPush({ name: "member-detail", query: { id: row.id } });
|
||||
},
|
||||
enable(v) {
|
||||
let params = {
|
||||
memberIds: [v.id],
|
||||
disabled: true,
|
||||
};
|
||||
this.$Modal.confirm({
|
||||
title: "提示",
|
||||
content: "<p>确定启用此会员?</p>",
|
||||
onOk: () => {
|
||||
API_Member.updateMemberStatus(params).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("启用成功");
|
||||
this.getData();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("确定启用此会员?", "提示", { type: "warning" }).then(() => {
|
||||
API_Member.updateMemberStatus(params).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("启用成功");
|
||||
this.getData();
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
handleSubmitModal() {
|
||||
const { nickName, sex, username, face, newPassword, id, regionId, region } = this.formValidate;
|
||||
@@ -280,7 +278,7 @@ export default {
|
||||
}
|
||||
API_Member.updateMember(submit).then((res) => {
|
||||
if (res.result) {
|
||||
this.$Message.success("修改成功!");
|
||||
ElMessage.success("修改成功!");
|
||||
this.descFlag = false;
|
||||
this.init();
|
||||
}
|
||||
|
||||
@@ -116,6 +116,7 @@ import {
|
||||
editWechatMPMessageTemplate,
|
||||
delWechatMPMessageTemplate,
|
||||
} from "@/api/setting";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
|
||||
export default {
|
||||
title: "wechat-message-manage",
|
||||
@@ -166,30 +167,23 @@ export default {
|
||||
this.wechatModal = true;
|
||||
},
|
||||
weChatSync(mp) {
|
||||
this.$Modal.confirm({
|
||||
title: "提示",
|
||||
content: "确认要初始化微信小程序消息订阅?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
if (mp === "mp") {
|
||||
wechatMPMessageSync().then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("微信小程序消息订阅初始化");
|
||||
this.getWechatMPMessagePage();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
wechatMessageSync().then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("微信消息模板初始化成功");
|
||||
this.getWechatMessagePage();
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("确认要初始化微信小程序消息订阅?", "提示", { type: "warning" }).then(() => {
|
||||
if (mp === "mp") {
|
||||
wechatMPMessageSync().then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("微信小程序消息订阅初始化");
|
||||
this.getWechatMPMessagePage();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
wechatMessageSync().then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("微信消息模板初始化成功");
|
||||
this.getWechatMessagePage();
|
||||
}
|
||||
});
|
||||
}
|
||||
}).catch(() => {});
|
||||
},
|
||||
wechatFormDataEdit() {
|
||||
this.$refs.wechatFormData.validate((valid) => {
|
||||
@@ -199,7 +193,7 @@ export default {
|
||||
}
|
||||
editWechatMessageTemplate(this.id, this.wechatFormData).then((res) => {
|
||||
if (res.message === "success") {
|
||||
this.$Message.success("微信模板修改成功");
|
||||
ElMessage.success("微信模板修改成功");
|
||||
this.wechatModal = false;
|
||||
this.getWechatMessagePage();
|
||||
}
|
||||
@@ -212,7 +206,7 @@ export default {
|
||||
if (valid) {
|
||||
editWechatMPMessageTemplate(this.id, this.wechatMPFormData).then((res) => {
|
||||
if (res.message === "success") {
|
||||
this.$Message.success("微信消息订阅模板修改成功");
|
||||
ElMessage.success("微信消息订阅模板修改成功");
|
||||
this.wechatModal = false;
|
||||
this.getWechatMPMessagePage();
|
||||
}
|
||||
@@ -221,30 +215,23 @@ export default {
|
||||
});
|
||||
},
|
||||
delWeChat(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "提示",
|
||||
content: "确定删除此模板?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
if (this.tab === "WECHAT") {
|
||||
delWechatMessageTemplate(v.id).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Modal.remove();
|
||||
this.$Message.success("微信模板删除成功");
|
||||
this.getWechatMessagePage();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
delWechatMPMessageTemplate(v.id).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Modal.remove();
|
||||
this.$Message.success("微信消息订阅删除成功");
|
||||
this.getWechatMPMessagePage();
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("确定删除此模板?", "提示", { type: "warning" }).then(() => {
|
||||
if (this.tab === "WECHAT") {
|
||||
delWechatMessageTemplate(v.id).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("微信模板删除成功");
|
||||
this.getWechatMessagePage();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
delWechatMPMessageTemplate(v.id).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("微信消息订阅删除成功");
|
||||
this.getWechatMPMessagePage();
|
||||
}
|
||||
});
|
||||
}
|
||||
}).catch(() => {});
|
||||
},
|
||||
getDataList() {
|
||||
this.getWechatMessagePage();
|
||||
|
||||
@@ -205,6 +205,7 @@
|
||||
|
||||
<script>
|
||||
import * as API_Member from "@/api/member.js";
|
||||
import { customRouterPush } from "@/utils/filters";
|
||||
|
||||
export default {
|
||||
name: "point",
|
||||
@@ -241,7 +242,7 @@ export default {
|
||||
this.$emit("callback", val);
|
||||
},
|
||||
detail(row) {
|
||||
this.$filters.customRouterPush({ name: "member-detail", query: { id: row.id } });
|
||||
customRouterPush({ name: "member-detail", query: { id: row.id } });
|
||||
},
|
||||
init() {
|
||||
this.getStatistics();
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
</template>
|
||||
<script>
|
||||
import * as API_Order from "@/api/order";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
@@ -143,7 +144,7 @@ export default {
|
||||
API_Order.addAfterSaleReason(this.form).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("添加成功");
|
||||
ElMessage.success("添加成功");
|
||||
this.getDataList();
|
||||
this.modalVisible = false;
|
||||
}
|
||||
@@ -152,7 +153,7 @@ export default {
|
||||
API_Order.editAfterSaleReason(this.form.id, this.form).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("修改成功");
|
||||
ElMessage.success("修改成功");
|
||||
this.getDataList();
|
||||
this.modalVisible = false;
|
||||
}
|
||||
@@ -162,20 +163,14 @@ export default {
|
||||
});
|
||||
},
|
||||
remove(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "确认要删除此售后原因?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
API_Order.delAfterSaleReason(v.id).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("售后原因已删除");
|
||||
this.getDataList();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("确认要删除此售后原因?", "确认删除", { type: "warning" }).then(() => {
|
||||
API_Order.delAfterSaleReason(v.id).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("售后原因已删除");
|
||||
this.getDataList();
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
<el-table-column label="售后金额" width="110">
|
||||
<template #default="{ row }">
|
||||
<span v-if="row" :style="{ color: $mainColor }">
|
||||
{{ $filters.unitPrice(row.applyRefundPrice, "¥") }}</span>
|
||||
{{ unitPrice(row.applyRefundPrice, "¥") }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="售后类型" width="100">
|
||||
@@ -169,6 +169,7 @@
|
||||
|
||||
<script>
|
||||
import * as API_Order from "@/api/order";
|
||||
import { unitPrice, customRouterPush } from "@/utils/filters";
|
||||
|
||||
export default {
|
||||
name: "after-sale-order",
|
||||
@@ -240,6 +241,7 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
unitPrice,
|
||||
serviceTypeText(type) {
|
||||
const map = {
|
||||
RETURN_MONEY: "退款",
|
||||
@@ -330,7 +332,7 @@ export default {
|
||||
},
|
||||
detail(v) {
|
||||
const sn = v.sn;
|
||||
this.$filters.customRouterPush({
|
||||
customRouterPush({
|
||||
name: "after-order-detail",
|
||||
query: { sn: sn },
|
||||
});
|
||||
|
||||
@@ -335,6 +335,7 @@
|
||||
<script>
|
||||
import * as API_Order from "@/api/order";
|
||||
import vueQr from "vue-qr";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
export default {
|
||||
components: {
|
||||
"vue-qr": vueQr,
|
||||
@@ -442,23 +443,17 @@ export default {
|
||||
//平台退款
|
||||
refundPriceSubmit() {
|
||||
if (this.refundPriceForm.remark == "") {
|
||||
this.$Message.error("请输入退款备注");
|
||||
ElMessage.error("请输入退款备注");
|
||||
return;
|
||||
}
|
||||
this.$Modal.confirm({
|
||||
title: "确认退款",
|
||||
content: "请确认退款?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
API_Order.refundPrice(this.sn, this.refundPriceForm).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("收款成功");
|
||||
this.getDetail();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("请确认退款?", "确认退款", { type: "warning" }).then(() => {
|
||||
API_Order.refundPrice(this.sn, this.refundPriceForm).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("收款成功");
|
||||
this.getDetail();
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
//查询物流
|
||||
logisticsSeller() {
|
||||
@@ -476,17 +471,17 @@ export default {
|
||||
//回复
|
||||
handleSubmit() {
|
||||
if (this.params.remark == "") {
|
||||
this.$Message.error("请输入备注信息");
|
||||
ElMessage.error("请输入备注信息");
|
||||
return;
|
||||
}
|
||||
if (this.params.actualRefundPrice == "") {
|
||||
this.$Message.error("请输入退款金额");
|
||||
ElMessage.error("请输入退款金额");
|
||||
return;
|
||||
}
|
||||
API_Order.afterSaleSellerReview(this.sn, this.params).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("审核成功");
|
||||
ElMessage.success("审核成功");
|
||||
this.params.remark = "";
|
||||
this.getDetail();
|
||||
}
|
||||
@@ -518,9 +513,6 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.ivu-col {
|
||||
width: 100% !important;
|
||||
}
|
||||
.main-content {
|
||||
min-height: 600px;
|
||||
padding: 10px;
|
||||
|
||||
@@ -107,6 +107,7 @@
|
||||
<script>
|
||||
import * as API_Order from "@/api/order";
|
||||
import vueQr from "vue-qr";
|
||||
import { customRouterPush } from "@/utils/filters";
|
||||
|
||||
export default {
|
||||
name: "orderComplaint",
|
||||
@@ -184,7 +185,7 @@ export default {
|
||||
});
|
||||
},
|
||||
detail(v) {
|
||||
this.$filters.customRouterPush({
|
||||
customRouterPush({
|
||||
name: "order-complaint-detail",
|
||||
query: { id: v.id },
|
||||
});
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
<dl>
|
||||
<dt>订单金额</dt>
|
||||
<dd>
|
||||
<span class="price-text">{{ $filters.unitPrice(complaintInfo.orderPrice, "¥") }}</span>
|
||||
<span class="price-text">{{ unitPrice(complaintInfo.orderPrice, "¥") }}</span>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
@@ -205,6 +205,8 @@
|
||||
|
||||
<script>
|
||||
import * as API_Order from "@/api/order";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { unitPrice } from "@/utils/filters";
|
||||
|
||||
const emptyComplaint = () => ({
|
||||
id: "",
|
||||
@@ -232,6 +234,7 @@ export default {
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
unitPrice,
|
||||
complainStatusText(v) {
|
||||
const map = {
|
||||
NEW: "新投诉",
|
||||
@@ -249,7 +252,7 @@ export default {
|
||||
complainId: this.complaintInfo.id,
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.getDetail();
|
||||
}
|
||||
});
|
||||
@@ -284,7 +287,7 @@ export default {
|
||||
},
|
||||
arbitrationHandleSubmit() {
|
||||
if (!this.arbitrationParams.arbitrationResult) {
|
||||
this.$Message.error("请填写仲裁内容");
|
||||
ElMessage.error("请填写仲裁内容");
|
||||
return;
|
||||
}
|
||||
this.submitLoading = true;
|
||||
@@ -292,7 +295,7 @@ export default {
|
||||
.then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("仲裁成功");
|
||||
ElMessage.success("仲裁成功");
|
||||
this.arbitrationParams.arbitrationResult = "";
|
||||
this.arbitrationResultShow = false;
|
||||
this.getDetail();
|
||||
@@ -304,7 +307,7 @@ export default {
|
||||
},
|
||||
handleSubmit() {
|
||||
if (!this.params.content) {
|
||||
this.$Message.error("请填写对话内容");
|
||||
ElMessage.error("请填写对话内容");
|
||||
return;
|
||||
}
|
||||
this.submitLoading = true;
|
||||
@@ -313,7 +316,7 @@ export default {
|
||||
.then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("对话成功");
|
||||
ElMessage.success("对话成功");
|
||||
this.params.content = "";
|
||||
this.getDetail();
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
<el-table-column label="退款金额" min-width="120">
|
||||
<template #default="{ row }">
|
||||
<span v-if="row" :style="{ color: $mainColor }">
|
||||
{{ $filters.unitPrice(row.totalAmount, "¥") }}</span>
|
||||
{{ unitPrice(row.totalAmount, "¥") }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="申请时间" min-width="120" show-overflow-tooltip />
|
||||
@@ -110,6 +110,7 @@
|
||||
|
||||
<script>
|
||||
import * as API_Order from "@/api/order";
|
||||
import { unitPrice } from "@/utils/filters";
|
||||
|
||||
export default {
|
||||
name: "refundLog",
|
||||
@@ -132,6 +133,7 @@ export default {
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
unitPrice,
|
||||
init() {
|
||||
this.getDataList();
|
||||
},
|
||||
|
||||
@@ -128,6 +128,8 @@
|
||||
|
||||
<script>
|
||||
import * as API_Order from "@/api/order";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { customRouterPush } from "@/utils/filters";
|
||||
|
||||
export default {
|
||||
name: "fictitiousOrderList",
|
||||
@@ -198,24 +200,18 @@ export default {
|
||||
});
|
||||
},
|
||||
confirmPrice(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认收款",
|
||||
content: "您确定要收款吗?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
API_Order.orderPay(v.sn).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("收款成功");
|
||||
this.getDataList();
|
||||
}
|
||||
this.$Modal.remove();
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm("您确定要收款吗?", "确认收款", { type: "warning" }).then(() => {
|
||||
API_Order.orderPay(v.sn).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("收款成功");
|
||||
this.getDataList();
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
detail(v) {
|
||||
let sn = v.sn;
|
||||
this.$filters.customRouterPush({
|
||||
customRouterPush({
|
||||
name: "order-detail",
|
||||
query: { sn: sn, orderType: v.orderType },
|
||||
});
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<div class="div-item">
|
||||
<div class="div-item-left">订单来源:</div>
|
||||
<div class="div-item-right">
|
||||
{{ $filters.clientTypeWay(orderInfo.order.clientType) }}
|
||||
{{ clientTypeWay(orderInfo.order.clientType) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
<div class="div-item-left">发票金额:</div>
|
||||
<div class="div-item-right">
|
||||
{{
|
||||
$filters.unitPrice(
|
||||
unitPrice(
|
||||
orderInfo.receipt && orderInfo.receipt.receiptPrice
|
||||
? orderInfo.receipt.receiptPrice
|
||||
: "暂无",
|
||||
@@ -206,14 +206,14 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="单价" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<span v-if="row">{{ $filters.unitPrice(row.unitPrice || 0, "¥") }}</span>
|
||||
<span v-if="row">{{ unitPrice(row.unitPrice || 0, "¥") }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="num" label="数量" min-width="80" />
|
||||
<el-table-column prop="returnGoodsNumber" label="退款数量" min-width="80" />
|
||||
<el-table-column label="小计" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<span v-if="row">{{ $filters.unitPrice(row.flowPrice, "¥") }}</span>
|
||||
<span v-if="row">{{ unitPrice(row.flowPrice, "¥") }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -222,7 +222,7 @@
|
||||
<li>
|
||||
<span class="label">商品总额:</span>
|
||||
<span class="txt">{{
|
||||
$filters.unitPrice(orderInfo.order.priceDetailDTO.goodsPrice, "¥")
|
||||
unitPrice(orderInfo.order.priceDetailDTO.goodsPrice, "¥")
|
||||
}}</span>
|
||||
</li>
|
||||
<li v-if="
|
||||
@@ -231,7 +231,7 @@
|
||||
">
|
||||
<span class="label">优惠金额:</span>
|
||||
<span class="txt">
|
||||
{{ $filters.unitPrice(orderInfo.order.priceDetailDTO.discountPrice, "¥") }}</span>
|
||||
{{ unitPrice(orderInfo.order.priceDetailDTO.discountPrice, "¥") }}</span>
|
||||
</li>
|
||||
|
||||
<li v-if="
|
||||
@@ -260,7 +260,7 @@
|
||||
<tbody>
|
||||
<tr v-for="(item, index) in typeList" :key="index">
|
||||
<td>{{ item.promotionName }}:</td>
|
||||
<td>¥{{ $filters.unitPrice(item.discountPrice) }}</td>
|
||||
<td>¥{{ unitPrice(item.discountPrice) }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -274,21 +274,21 @@
|
||||
</li> -->
|
||||
<!-- <li v-if="showPrices" v-for="(item,index) in typeList" :key="index">
|
||||
<span class="label" v-if="index == 1 && typeList.length > 1" style="font-size:10px !important;"><a @click="gotoHomes" style="display: inline-block;border-bottom: 1px dashed;color:black;width:80px;">{{item.promotionName}}:</a><span class="op-split">|</span>
|
||||
<span class="txt" style="border-bottom: 1px dashed;font-size:10px !important;" v-if="index == 1 && typeList.length > 1">¥{{ $filters.unitPrice(item.discountPrice) }}</span>
|
||||
<span class="txt" style="border-bottom: 1px dashed;font-size:10px !important;" v-if="index == 1 && typeList.length > 1">¥{{ unitPrice(item.discountPrice) }}</span>
|
||||
<span class="label" v-if="index == 0 && typeList.length > 1" style="font-size:10px !important;"><a @click="gotoHomes" style="display: inline-block;border-top: 1px dashed;color:black;width:80px;">{{item.promotionName}}:</a><span class="op-split">|</span>
|
||||
<span class="txt" style="border-top: 1px dashed;font-size:10px !important;" v-if="index == 0 && typeList.length > 1">¥{{ $filters.unitPrice(item.discountPrice) }}</span>
|
||||
<span class="txt" style="border-top: 1px dashed;font-size:10px !important;" v-if="index == 0 && typeList.length > 1">¥{{ unitPrice(item.discountPrice) }}</span>
|
||||
<span class="label" v-if="typeList.length == 1 && index == 0" style="font-size:10px !important;"><a @click="gotoHomes" style="display: inline-block;border-top: 1px dashed;border-bottom: 1px dashed;color:black;width:80px;">{{item.promotionName}}:</a><span class="op-split">|</span>
|
||||
<span class="txt" v-if="typeList.length == 1 && index == 0" style="border-top: 1px dashed;border-bottom: 1px dashed;font-size:10px !important;">¥{{ $filters.unitPrice(item.discountPrice) }}</span>
|
||||
<span class="txt" v-if="typeList.length == 1 && index == 0" style="border-top: 1px dashed;border-bottom: 1px dashed;font-size:10px !important;">¥{{ unitPrice(item.discountPrice) }}</span>
|
||||
</li> -->
|
||||
<li>
|
||||
<span class="label">运费:</span>
|
||||
<span class="txt">{{
|
||||
$filters.unitPrice(orderInfo.order.freightPrice, "¥")
|
||||
unitPrice(orderInfo.order.freightPrice, "¥")
|
||||
}}</span>
|
||||
</li>
|
||||
<li v-if="orderInfo.order.priceDetailDTO.updatePrice">
|
||||
<span class="label">修改金额:</span>
|
||||
<span class="txt theme_color">¥{{ $filters.unitPrice(orderInfo.order.priceDetailDTO.updatePrice) }}</span>
|
||||
<span class="txt theme_color">¥{{ unitPrice(orderInfo.order.priceDetailDTO.updatePrice) }}</span>
|
||||
</li>
|
||||
<li v-if="orderInfo.order.priceDetailDTO.payPoint != 0">
|
||||
<span class="label">使用积分:</span>
|
||||
@@ -298,7 +298,7 @@
|
||||
</li>
|
||||
<li>
|
||||
<span class="label">应付金额:</span>
|
||||
<span class="txt flowPrice">¥{{ $filters.unitPrice(orderInfo.order.priceDetailDTO.flowPrice) }}</span>
|
||||
<span class="txt flowPrice">¥{{ unitPrice(orderInfo.order.priceDetailDTO.flowPrice) }}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -438,6 +438,8 @@ import * as RegExp from "@/libs/RegExp.js";
|
||||
import multipleMap from "@/components/map/multiple-map";
|
||||
import vueQr from "vue-qr";
|
||||
import { printElement } from "@/utils/print";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { unitPrice, clientTypeWay } from "@/utils/filters";
|
||||
export default {
|
||||
name: "orderList",
|
||||
components: {
|
||||
@@ -542,6 +544,8 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
unitPrice,
|
||||
clientTypeWay,
|
||||
getPromotionText(row) {
|
||||
let resultText = "";
|
||||
if (row && row.promotionType) {
|
||||
@@ -560,21 +564,18 @@ export default {
|
||||
|
||||
//确认收款
|
||||
confirmPrice () {
|
||||
this.$Modal.confirm({
|
||||
title: "提示",
|
||||
content:
|
||||
"<p>您确定要收款吗?线下收款涉及库存变更,需异步进行,等待约一分钟刷新列表查看</p>",
|
||||
onOk: () => {
|
||||
API_Order.orderPay(this.sn).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("收款成功");
|
||||
this.getDataList();
|
||||
} else {
|
||||
// this.$Message.error(res.message);
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
ElMessageBox.confirm(
|
||||
"您确定要收款吗?线下收款涉及库存变更,需异步进行,等待约一分钟刷新列表查看",
|
||||
"提示",
|
||||
{ type: "warning" }
|
||||
).then(() => {
|
||||
API_Order.orderPay(this.sn).then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("收款成功");
|
||||
this.getDataList();
|
||||
}
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
getOrderPrice () {
|
||||
if (this.showPrices) {
|
||||
@@ -624,7 +625,7 @@ export default {
|
||||
if (valid) {
|
||||
API_Order.updateOrderPrice(this.sn, this.modifyPriceForm).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("修改订单金额成功");
|
||||
ElMessage.success("修改订单金额成功");
|
||||
this.modal = false;
|
||||
this.getDataList();
|
||||
}
|
||||
@@ -656,7 +657,7 @@ export default {
|
||||
if (valid) {
|
||||
API_Order.orderCancel(this.sn, this.orderCancelForm).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("取消成功");
|
||||
ElMessage.success("取消成功");
|
||||
this.getDataList();
|
||||
}
|
||||
this.orderCancelModal = false;
|
||||
@@ -699,7 +700,7 @@ export default {
|
||||
//修改收货地址
|
||||
editAddressSubmit () {
|
||||
if (this.regionId == "") {
|
||||
this.$Message.error("请选择地址");
|
||||
ElMessage.error("请选择地址");
|
||||
return;
|
||||
}
|
||||
this.addressForm.consigneeAddressPath = this.addr;
|
||||
@@ -708,7 +709,7 @@ export default {
|
||||
if (valid) {
|
||||
API_Order.editOrderConsignee(this.sn, this.addressForm).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("收货地址修改成功");
|
||||
ElMessage.success("收货地址修改成功");
|
||||
this.addressModal = false;
|
||||
this.getDataList();
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
<el-table-column prop="storeName" label="店铺名称" min-width="150" show-overflow-tooltip />
|
||||
<el-table-column label="订单金额" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<span :style="{ color: $mainColor }">{{ $filters.unitPrice(row.flowPrice, '¥') }}</span>
|
||||
<span :style="{ color: $mainColor }">{{ unitPrice(row.flowPrice, '¥') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="支付方式" width="120">
|
||||
@@ -133,6 +133,8 @@
|
||||
|
||||
<script>
|
||||
import * as API_Order from "@/api/order";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { unitPrice, customRouterPush } from "@/utils/filters";
|
||||
|
||||
export default {
|
||||
name: "orderList",
|
||||
@@ -229,6 +231,7 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
unitPrice,
|
||||
onStatusTabClick(tab) {
|
||||
this.orderStatusClick(tab.paneName);
|
||||
},
|
||||
@@ -337,14 +340,14 @@ export default {
|
||||
});
|
||||
},
|
||||
detail(v) {
|
||||
this.$filters.customRouterPush({
|
||||
customRouterPush({
|
||||
name: "order-detail",
|
||||
query: { sn: v.sn },
|
||||
});
|
||||
},
|
||||
async exportOrder() {
|
||||
if (!this.searchForm.startDate || !this.searchForm.endDate) {
|
||||
this.$Message.error("必须选择时间范围,搜索后进行导出!");
|
||||
ElMessage.error("必须选择时间范围,搜索后进行导出!");
|
||||
return;
|
||||
}
|
||||
API_Order.exportOrder(this.searchForm)
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
import nav1Img from '@/assets/nav/1.jpg';
|
||||
import nav2Img from '@/assets/nav/2.jpg';
|
||||
import nav3Img from '@/assets/nav/3.jpg';
|
||||
import nav4Img from '@/assets/nav/4.jpg';
|
||||
import nav5Img from '@/assets/nav/5.jpg';
|
||||
import decorate1Img from '@/assets/nav/decorate1.png';
|
||||
import decorateImg from '@/assets/nav/decorate.png';
|
||||
import decorate2Img from '@/assets/nav/decorate2.jpeg';
|
||||
import decorate11Img from '@/assets/nav/decorate11.jpeg';
|
||||
import decorate3Img from '@/assets/nav/decorate3.jpeg';
|
||||
import decorate4Img from '@/assets/nav/decorate4.jpeg';
|
||||
import decorate5Img from '@/assets/nav/decorate5.jpeg';
|
||||
import decorate6Img from '@/assets/nav/decorate6.jpeg';
|
||||
import decorate7Img from '@/assets/nav/decorate7.jpeg';
|
||||
import decorate8Img from '@/assets/nav/decorate8.png';
|
||||
import decorate9Img from '@/assets/nav/decorate9.png';
|
||||
import decorate10Img from '@/assets/nav/decorate10.jpeg';
|
||||
|
||||
export const modelData = [{
|
||||
type: 'carousel',
|
||||
name: '图片轮播',
|
||||
@@ -6,15 +24,15 @@ export const modelData = [{
|
||||
size: "790*340",
|
||||
options: {
|
||||
list: [{
|
||||
img: require('@/assets/nav/1.jpg'),
|
||||
img: nav1Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/2.jpg'),
|
||||
img: nav2Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/3.jpg'),
|
||||
img: nav3Img,
|
||||
url: ''
|
||||
}
|
||||
],
|
||||
@@ -27,17 +45,17 @@ export const modelData = [{
|
||||
// size: "1200*470",
|
||||
// options: {
|
||||
// list: [{
|
||||
// img: require('@/assets/nav/1.jpg'),
|
||||
// img: nav1Img,
|
||||
// url: '',
|
||||
// bgColor: 'yellow'
|
||||
// },
|
||||
// {
|
||||
// img: require('@/assets/nav/2.jpg'),
|
||||
// img: nav2Img,
|
||||
// url: '',
|
||||
// bgColor: 'purple'
|
||||
// },
|
||||
// {
|
||||
// img: require('@/assets/nav/3.jpg'),
|
||||
// img: nav3Img,
|
||||
// url: '',
|
||||
// bgColor: 'blue'
|
||||
// }
|
||||
@@ -51,42 +69,42 @@ export const modelData = [{
|
||||
// size: "590*470",
|
||||
// options: {
|
||||
// list: [{
|
||||
// img: require('@/assets/nav/1.jpg'),
|
||||
// img: nav1Img,
|
||||
// url: ''
|
||||
// },
|
||||
// {
|
||||
// img: require('@/assets/nav/2.jpg'),
|
||||
// img: nav2Img,
|
||||
// url: ''
|
||||
// },
|
||||
// {
|
||||
// img: require('@/assets/nav/3.jpg'),
|
||||
// img: nav3Img,
|
||||
// url: ''
|
||||
// }
|
||||
// ],
|
||||
// listRight: [
|
||||
// [{
|
||||
// img: require('@/assets/nav/1.jpg'),
|
||||
// img: nav1Img,
|
||||
// url: ''
|
||||
// },
|
||||
// {
|
||||
// img: require('@/assets/nav/2.jpg'),
|
||||
// img: nav2Img,
|
||||
// url: ''
|
||||
// },
|
||||
// {
|
||||
// img: require('@/assets/nav/3.jpg'),
|
||||
// img: nav3Img,
|
||||
// url: ''
|
||||
// }
|
||||
// ],
|
||||
// [{
|
||||
// img: require('@/assets/nav/1.jpg'),
|
||||
// img: nav1Img,
|
||||
// url: ''
|
||||
// },
|
||||
// {
|
||||
// img: require('@/assets/nav/2.jpg'),
|
||||
// img: nav2Img,
|
||||
// url: ''
|
||||
// },
|
||||
// {
|
||||
// img: require('@/assets/nav/3.jpg'),
|
||||
// img: nav3Img,
|
||||
// url: ''
|
||||
// }
|
||||
// ],
|
||||
@@ -100,32 +118,32 @@ export const modelData = [{
|
||||
showName: '',
|
||||
options: {
|
||||
list: [{
|
||||
img: require('@/assets/nav/decorate1.png'),
|
||||
img: decorate1Img,
|
||||
url: '',
|
||||
size: '1200*自定义'
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/1.jpg'),
|
||||
img: nav1Img,
|
||||
url: '',
|
||||
size: '230*190'
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/1.jpg'),
|
||||
img: nav1Img,
|
||||
url: '',
|
||||
size: '230*190'
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/1.jpg'),
|
||||
img: nav1Img,
|
||||
url: '',
|
||||
size: '230*190'
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/1.jpg'),
|
||||
img: nav1Img,
|
||||
url: '',
|
||||
size: '230*190'
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/1.jpg'),
|
||||
img: nav1Img,
|
||||
url: '',
|
||||
size: '230*190'
|
||||
}
|
||||
@@ -141,70 +159,70 @@ export const modelData = [{
|
||||
list: [{
|
||||
time: 6,
|
||||
goodsList: [{
|
||||
img: require('@/assets/nav/1.jpg'),
|
||||
img: nav1Img,
|
||||
price: 20,
|
||||
originalPrice: 30,
|
||||
name: '阿迪达斯三叶草asdasdafads123213a',
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/2.jpg'),
|
||||
img: nav2Img,
|
||||
price: 20,
|
||||
originalPrice: 30,
|
||||
name: '阿迪达斯三叶草asdasdafadsa',
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/3.jpg'),
|
||||
img: nav3Img,
|
||||
price: 20,
|
||||
originalPrice: 30,
|
||||
name: '阿迪达斯三叶草asdasdafadsa',
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/4.jpg'),
|
||||
img: nav4Img,
|
||||
price: 20,
|
||||
originalPrice: 30,
|
||||
name: '阿迪达斯三叶草asdasdafadsa',
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/5.jpg'),
|
||||
img: nav5Img,
|
||||
price: 20,
|
||||
originalPrice: 30,
|
||||
name: '阿迪达斯三叶草asdasdafadsa',
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/1.jpg'),
|
||||
img: nav1Img,
|
||||
price: 20,
|
||||
originalPrice: 30,
|
||||
name: '阿迪达斯三叶草asdasdafadsa',
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/2.jpg'),
|
||||
img: nav2Img,
|
||||
price: 20,
|
||||
originalPrice: 30,
|
||||
name: '阿迪达斯三叶草asdasdafadsa',
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/3.jpg'),
|
||||
img: nav3Img,
|
||||
price: 20,
|
||||
originalPrice: 30,
|
||||
name: '阿迪达斯三叶草asdasdafadsa',
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/4.jpg'),
|
||||
img: nav4Img,
|
||||
price: 20,
|
||||
originalPrice: 30,
|
||||
name: '阿迪达斯三叶草asdasdafadsa',
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/5.jpg'),
|
||||
img: nav5Img,
|
||||
price: 20,
|
||||
originalPrice: 30,
|
||||
name: '阿迪达斯三叶草asdasdafadsa',
|
||||
@@ -215,23 +233,23 @@ export const modelData = [{
|
||||
{
|
||||
time: 8,
|
||||
goodsList: [{
|
||||
img: require('@/assets/nav/1.jpg'),
|
||||
img: nav1Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/2.jpg'),
|
||||
img: nav2Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/3.jpg'),
|
||||
img: nav3Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/4.jpg'),
|
||||
img: nav4Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/5.jpg'),
|
||||
img: nav5Img,
|
||||
url: ''
|
||||
},
|
||||
]
|
||||
@@ -239,23 +257,23 @@ export const modelData = [{
|
||||
{
|
||||
time: 10,
|
||||
goodsList: [{
|
||||
img: require('@/assets/nav/1.jpg'),
|
||||
img: nav1Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/2.jpg'),
|
||||
img: nav2Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/3.jpg'),
|
||||
img: nav3Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/4.jpg'),
|
||||
img: nav4Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/5.jpg'),
|
||||
img: nav5Img,
|
||||
url: ''
|
||||
},
|
||||
]
|
||||
@@ -263,23 +281,23 @@ export const modelData = [{
|
||||
{
|
||||
time: 12,
|
||||
goodsList: [{
|
||||
img: require('@/assets/nav/1.jpg'),
|
||||
img: nav1Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/2.jpg'),
|
||||
img: nav2Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/3.jpg'),
|
||||
img: nav3Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/4.jpg'),
|
||||
img: nav4Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/5.jpg'),
|
||||
img: nav5Img,
|
||||
url: ''
|
||||
},
|
||||
]
|
||||
@@ -306,65 +324,65 @@ export const modelData = [{
|
||||
icon: 'md-image',
|
||||
options: {
|
||||
bgImg: {
|
||||
img: require('@/assets/nav/decorate.png'),
|
||||
img: decorateImg,
|
||||
url: '',
|
||||
size: "1300*596"
|
||||
},
|
||||
classification: [{
|
||||
img: require('@/assets/nav/decorate2.jpeg'),
|
||||
img: decorate2Img,
|
||||
url: '',
|
||||
size: '190*210'
|
||||
}, {
|
||||
img: require('@/assets/nav/decorate2.jpeg'),
|
||||
img: decorate2Img,
|
||||
url: '',
|
||||
size: '190*210'
|
||||
}, {
|
||||
img: require('@/assets/nav/decorate2.jpeg'),
|
||||
img: decorate2Img,
|
||||
url: '',
|
||||
size: '190*210'
|
||||
}, {
|
||||
img: require('@/assets/nav/decorate2.jpeg'),
|
||||
img: decorate2Img,
|
||||
url: '',
|
||||
size: '190*210'
|
||||
}, {
|
||||
img: require('@/assets/nav/decorate2.jpeg'),
|
||||
img: decorate2Img,
|
||||
url: '',
|
||||
size: '190*210'
|
||||
}, {
|
||||
img: require('@/assets/nav/decorate2.jpeg'),
|
||||
img: decorate2Img,
|
||||
url: '',
|
||||
size: '190*210'
|
||||
}, {
|
||||
img: require('@/assets/nav/decorate2.jpeg'),
|
||||
img: decorate2Img,
|
||||
url: '',
|
||||
size: '190*210'
|
||||
}, {
|
||||
img: require('@/assets/nav/decorate2.jpeg'),
|
||||
img: decorate2Img,
|
||||
url: '',
|
||||
size: '190*210'
|
||||
}, {
|
||||
img: require('@/assets/nav/decorate2.jpeg'),
|
||||
img: decorate2Img,
|
||||
url: '',
|
||||
size: '190*210'
|
||||
}, {
|
||||
img: require('@/assets/nav/decorate2.jpeg'),
|
||||
img: decorate2Img,
|
||||
url: '',
|
||||
size: '190*210'
|
||||
}, ],
|
||||
brandList: [{
|
||||
img: require('@/assets/nav/decorate11.jpeg'),
|
||||
img: decorate11Img,
|
||||
url: '',
|
||||
size: '240*105'
|
||||
}, {
|
||||
img: require('@/assets/nav/decorate11.jpeg'),
|
||||
img: decorate11Img,
|
||||
url: '',
|
||||
size: '240*105'
|
||||
}, {
|
||||
img: require('@/assets/nav/decorate11.jpeg'),
|
||||
img: decorate11Img,
|
||||
url: '',
|
||||
size: '240*105'
|
||||
}, {
|
||||
img: require('@/assets/nav/decorate11.jpeg'),
|
||||
img: decorate11Img,
|
||||
url: '',
|
||||
size: '240*105'
|
||||
}, ]
|
||||
@@ -381,49 +399,49 @@ export const modelData = [{
|
||||
bgColor: '#449dae',
|
||||
url: '',
|
||||
list: [{
|
||||
img: require('@/assets/nav/decorate3.jpeg'),
|
||||
img: decorate3Img,
|
||||
name: '阿迪达斯三叶草',
|
||||
describe: '也许是每一款经典系列都应该有一个独特的故事吧',
|
||||
url: '',
|
||||
size: '160*160'
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate4.jpeg'),
|
||||
img: decorate4Img,
|
||||
name: '360行车记录',
|
||||
describe: '夜行 监控 电子狗 蓝牙',
|
||||
url: '',
|
||||
size: '80*80'
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate4.jpeg'),
|
||||
img: decorate4Img,
|
||||
name: '360行车记录',
|
||||
describe: '夜行 监控 电子狗 蓝牙',
|
||||
url: '',
|
||||
size: '80*80'
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate4.jpeg'),
|
||||
img: decorate4Img,
|
||||
name: '360行车记录',
|
||||
describe: '夜行 监控 电子狗 蓝牙',
|
||||
url: '',
|
||||
size: '80*80'
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate4.jpeg'),
|
||||
img: decorate4Img,
|
||||
name: '360行车记录',
|
||||
describe: '夜行 监控 电子狗 蓝牙',
|
||||
url: '',
|
||||
size: '80*80'
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate4.jpeg'),
|
||||
img: decorate4Img,
|
||||
name: '360行车记录',
|
||||
describe: '夜行 监控 电子狗 蓝牙',
|
||||
url: '',
|
||||
size: '80*80'
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate4.jpeg'),
|
||||
img: decorate4Img,
|
||||
name: '360行车记录',
|
||||
describe: '夜行 监控 电子狗 蓝牙',
|
||||
url: '',
|
||||
@@ -437,28 +455,28 @@ export const modelData = [{
|
||||
bgColor: '#a25684',
|
||||
url: '',
|
||||
list: [{
|
||||
img: require('@/assets/nav/decorate5.jpeg'),
|
||||
img: decorate5Img,
|
||||
name: '好心情喝出来',
|
||||
describe: '遇见懂你的饮品',
|
||||
url: '',
|
||||
size: '100*100'
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate5.jpeg'),
|
||||
img: decorate5Img,
|
||||
name: '好心情喝出来',
|
||||
describe: '遇见懂你的饮品',
|
||||
url: '',
|
||||
size: '100*100'
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate5.jpeg'),
|
||||
img: decorate5Img,
|
||||
name: '好心情喝出来',
|
||||
describe: '遇见懂你的饮品',
|
||||
url: '',
|
||||
size: '100*100'
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate5.jpeg'),
|
||||
img: decorate5Img,
|
||||
name: '好心情喝出来',
|
||||
describe: '遇见懂你的饮品',
|
||||
url: '',
|
||||
@@ -481,35 +499,35 @@ export const modelData = [{
|
||||
list: [{
|
||||
name: '新年心愿单',
|
||||
describe: '满269减50,满999减100',
|
||||
img: require('@/assets/nav/decorate6.jpeg'),
|
||||
img: decorate6Img,
|
||||
url: '',
|
||||
size: "160*160"
|
||||
},
|
||||
{
|
||||
name: 'Ms.Maggie 冬季时尚',
|
||||
describe: '满269减50',
|
||||
img: require('@/assets/nav/decorate6.jpeg'),
|
||||
img: decorate6Img,
|
||||
url: '',
|
||||
size: "90*90"
|
||||
},
|
||||
{
|
||||
name: 'Ms.Maggie 冬季时尚',
|
||||
describe: '满269减50',
|
||||
img: require('@/assets/nav/decorate6.jpeg'),
|
||||
img: decorate6Img,
|
||||
url: '',
|
||||
size: "90*90"
|
||||
},
|
||||
{
|
||||
name: 'Ms.Maggie 冬季时尚',
|
||||
describe: '满269减50',
|
||||
img: require('@/assets/nav/decorate6.jpeg'),
|
||||
img: decorate6Img,
|
||||
url: '',
|
||||
size: "90*90"
|
||||
},
|
||||
{
|
||||
name: '阿迪达斯 领跑时尚',
|
||||
describe: '满269减50',
|
||||
img: require('@/assets/nav/decorate6.jpeg'),
|
||||
img: decorate6Img,
|
||||
url: '',
|
||||
size: "90*90"
|
||||
},
|
||||
@@ -523,42 +541,42 @@ export const modelData = [{
|
||||
list: [{
|
||||
name: '阿迪达斯 领跑时尚',
|
||||
describe: '满269减50',
|
||||
img: require('@/assets/nav/decorate6.jpeg'),
|
||||
img: decorate6Img,
|
||||
url: '',
|
||||
size: "90*90"
|
||||
},
|
||||
{
|
||||
name: '阿迪达斯 领跑时尚',
|
||||
describe: '满269减50',
|
||||
img: require('@/assets/nav/decorate6.jpeg'),
|
||||
img: decorate6Img,
|
||||
url: '',
|
||||
size: "90*90"
|
||||
},
|
||||
{
|
||||
name: '阿迪达斯 领跑时尚',
|
||||
describe: '满269减50',
|
||||
img: require('@/assets/nav/decorate6.jpeg'),
|
||||
img: decorate6Img,
|
||||
url: '',
|
||||
size: "90*90"
|
||||
},
|
||||
{
|
||||
name: '阿迪达斯 领跑时尚',
|
||||
describe: '满269减50',
|
||||
img: require('@/assets/nav/decorate6.jpeg'),
|
||||
img: decorate6Img,
|
||||
url: '',
|
||||
size: "90*90"
|
||||
},
|
||||
{
|
||||
name: '阿迪达斯 领跑时尚',
|
||||
describe: '满269减50',
|
||||
img: require('@/assets/nav/decorate6.jpeg'),
|
||||
img: decorate6Img,
|
||||
url: '',
|
||||
size: "90*90"
|
||||
},
|
||||
{
|
||||
name: '阿迪达斯 领跑时尚',
|
||||
describe: '满269减50',
|
||||
img: require('@/assets/nav/decorate6.jpeg'),
|
||||
img: decorate6Img,
|
||||
url: '',
|
||||
size: "90*90"
|
||||
},
|
||||
@@ -572,37 +590,37 @@ export const modelData = [{
|
||||
list: [{
|
||||
name: '小米红米3s手机壳保护套红米3高配版指纹男女款潮版磨砂硬壳防摔 收藏截图 送大礼包',
|
||||
price: 14.9,
|
||||
img: require('@/assets/nav/decorate7.jpeg'),
|
||||
img: decorate7Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
name: '小米红米3s手机壳保护套红米3高配版指纹男女款潮版磨砂硬壳防摔 收藏截图 送大礼包',
|
||||
price: 14.9,
|
||||
img: require('@/assets/nav/decorate7.jpeg'),
|
||||
img: decorate7Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
name: '小米红米3s手机壳保护套红米3高配版指纹男女款潮版磨砂硬壳防摔 收藏截图 送大礼包',
|
||||
price: 14.9,
|
||||
img: require('@/assets/nav/decorate7.jpeg'),
|
||||
img: decorate7Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
name: '小米红米3s手机壳保护套红米3高配版指纹男女款潮版磨砂硬壳防摔 收藏截图 送大礼包',
|
||||
price: 14.9,
|
||||
img: require('@/assets/nav/decorate7.jpeg'),
|
||||
img: decorate7Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
name: '小米红米3s手机壳保护套红米3高配版指纹男女款潮版磨砂硬壳防摔 收藏截图 送大礼包',
|
||||
price: 14.9,
|
||||
img: require('@/assets/nav/decorate7.jpeg'),
|
||||
img: decorate7Img,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
name: '小米红米3s手机壳保护套红米3高配版指纹男女款潮版磨砂硬壳防摔 收藏截图 送大礼包',
|
||||
price: 14.9,
|
||||
img: require('@/assets/nav/decorate7.jpeg'),
|
||||
img: decorate7Img,
|
||||
url: ''
|
||||
},
|
||||
]
|
||||
@@ -617,7 +635,7 @@ export const modelData = [{
|
||||
list: [{
|
||||
name: '生鲜',
|
||||
describe: "年货带回家 满199减60",
|
||||
img: require('@/assets/nav/decorate8.png'),
|
||||
img: decorate8Img,
|
||||
url: '',
|
||||
fromColor: '#e89621',
|
||||
toColor: "#f5c568",
|
||||
@@ -626,7 +644,7 @@ export const modelData = [{
|
||||
{
|
||||
name: '众筹',
|
||||
describe: "年货带回家",
|
||||
img: require('@/assets/nav/decorate9.png'),
|
||||
img: decorate9Img,
|
||||
url: '',
|
||||
fromColor: "#325bb4",
|
||||
toColor: '#4c9afe',
|
||||
@@ -635,7 +653,7 @@ export const modelData = [{
|
||||
{
|
||||
name: '生鲜',
|
||||
describe: "年货带回家 满199减60",
|
||||
img: require('@/assets/nav/decorate8.png'),
|
||||
img: decorate8Img,
|
||||
url: '',
|
||||
fromColor: "#1c9daf",
|
||||
toColor: '#40cda7',
|
||||
@@ -644,7 +662,7 @@ export const modelData = [{
|
||||
{
|
||||
name: '众筹',
|
||||
describe: "备孕有孕检测仪",
|
||||
img: require('@/assets/nav/decorate9.png'),
|
||||
img: decorate9Img,
|
||||
url: '',
|
||||
fromColor: "#d13837",
|
||||
toColor: '#df6d4f',
|
||||
@@ -653,7 +671,7 @@ export const modelData = [{
|
||||
{
|
||||
name: '生鲜',
|
||||
describe: "年货带回家 满199减60",
|
||||
img: require('@/assets/nav/decorate8.png'),
|
||||
img: decorate8Img,
|
||||
url: '',
|
||||
fromColor: "#ca4283",
|
||||
toColor: '#eb75cf',
|
||||
@@ -662,7 +680,7 @@ export const modelData = [{
|
||||
{
|
||||
name: '众筹',
|
||||
describe: "备孕有孕检测仪",
|
||||
img: require('@/assets/nav/decorate9.png'),
|
||||
img: decorate9Img,
|
||||
url: '',
|
||||
fromColor: "#5d40c1",
|
||||
toColor: '#8c5fdb',
|
||||
@@ -688,17 +706,17 @@ export const modelData = [{
|
||||
options: {
|
||||
list:[
|
||||
{
|
||||
img: require('@/assets/nav/decorate8.png'),
|
||||
img: decorate8Img,
|
||||
url:"",
|
||||
size:"385*165"
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate8.png'),
|
||||
img: decorate8Img,
|
||||
url:"",
|
||||
size:"385*165"
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate8.png'),
|
||||
img: decorate8Img,
|
||||
url:"",
|
||||
size:"385*165"
|
||||
},
|
||||
@@ -935,244 +953,244 @@ export const modelData = [{
|
||||
options: {
|
||||
list: [
|
||||
[{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
],
|
||||
[{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
],
|
||||
[{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
],
|
||||
[{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
},
|
||||
{
|
||||
img: require('@/assets/nav/decorate10.jpeg'),
|
||||
img: decorate10Img,
|
||||
name: 'Apple/苹果 13 英寸:MacBook Pro Multi-Touch Bar 和 Touch ID 2.9GHz 处理器 512GB 存储容量',
|
||||
price: 6666,
|
||||
url: ''
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
<div class="search-con">
|
||||
<img :src="require('@/assets/logo.png')" class="logo" alt="" />
|
||||
<img :src="logoImg" class="logo" alt="" />
|
||||
<div class="search">
|
||||
<el-input
|
||||
size="large"
|
||||
@@ -158,6 +158,7 @@ import { ShoppingCart } from "@element-plus/icons-vue";
|
||||
import Draggable from "vuedraggable";
|
||||
import ModelFormItem from "./modelFormItem.vue";
|
||||
import ossManage from "@/views/sys/oss-manage/ossManage";
|
||||
import logoImg from "@/assets/logo.png";
|
||||
export default {
|
||||
name: "modelForm",
|
||||
components: {
|
||||
@@ -169,6 +170,7 @@ export default {
|
||||
props: ["data"],
|
||||
data() {
|
||||
return {
|
||||
logoImg,
|
||||
picModelFlag: false,
|
||||
showModal: false,
|
||||
showModalNav: false,
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
class="discountAdvert"
|
||||
:style="{
|
||||
'background-image':
|
||||
'url(' + require('@/assets/nav/decorate.png') + ')',
|
||||
'url(' + discountAdvertBg + ')',
|
||||
}"
|
||||
>
|
||||
<div>
|
||||
@@ -282,6 +282,7 @@ import onlyGoodsModel from "./modelList/onlyGoodsModel.vue";
|
||||
|
||||
import oneRowThreeColumns from "./modelList/oneRowThreeColumns.vue";
|
||||
import seckillOnlyAlbum from "./modelList/seckill-only-album.vue";
|
||||
import discountAdvertBg from "@/assets/nav/decorate.png";
|
||||
export default {
|
||||
name: "modelFormItem",
|
||||
props: ["element", "select", "index", "data"],
|
||||
@@ -304,6 +305,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
discountAdvertBg,
|
||||
showModal: false, // modal显隐
|
||||
selected: {}, // 弹窗编辑草稿
|
||||
editTarget: null, // 确认后写回的原数据
|
||||
|
||||
@@ -16,8 +16,7 @@
|
||||
z-index: 99;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
.ivu-btn,
|
||||
.el-button{
|
||||
.el-button {
|
||||
float: right;
|
||||
margin-right: 5px;
|
||||
margin-top: 5px;
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
:deep(.ivu-modal-mask),
|
||||
:deep(.ivu-modal-wrap),
|
||||
:deep(.el-overlay) {
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
@@ -247,7 +247,7 @@
|
||||
@click="changeTextAlign('left')"
|
||||
>
|
||||
<img
|
||||
:src="require('@/assets/align-text-left.png')"
|
||||
:src="alignTextLeft"
|
||||
class="align-text"
|
||||
alt=""
|
||||
/>
|
||||
@@ -258,7 +258,7 @@
|
||||
@click="changeTextAlign('center')"
|
||||
>
|
||||
<img
|
||||
:src="require('@/assets/align-text-center.png')"
|
||||
:src="alignTextCenter"
|
||||
class="align-text"
|
||||
alt=""
|
||||
/>
|
||||
@@ -269,7 +269,7 @@
|
||||
@click="changeTextAlign('right')"
|
||||
>
|
||||
<img
|
||||
:src="require('@/assets/align-text-right.png')"
|
||||
:src="alignTextRight"
|
||||
class="align-text"
|
||||
alt=""
|
||||
/>
|
||||
@@ -527,7 +527,13 @@
|
||||
<hotzone ref="hotzone" @changeZone="changeZone"></hotzone>
|
||||
|
||||
<el-dialog v-model="picModelFlag" width="1200px" append-to-body destroy-on-close>
|
||||
<ossManage @callback="callbackSelected" :is-component="true" :initialize="picModelFlag" ref="ossManage" />
|
||||
<ossManage
|
||||
@callback="callbackSelected"
|
||||
:is-component="true"
|
||||
:initialize="picModelFlag"
|
||||
:max-select="1"
|
||||
ref="ossManage"
|
||||
/>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
@@ -539,6 +545,9 @@ import hotzone from "@/components/hotzone";
|
||||
import ways from "@/components/lili-dialog/wap.js";
|
||||
import categoryTemplate from "@/components/lili-dialog/template/category";
|
||||
import VideoConfig from "./video-config";
|
||||
import alignTextLeft from "@/assets/align-text-left.png";
|
||||
import alignTextCenter from "@/assets/align-text-center.png";
|
||||
import alignTextRight from "@/assets/align-text-right.png";
|
||||
export default {
|
||||
components: {
|
||||
ossManage,
|
||||
@@ -549,6 +558,9 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
alignTextLeft,
|
||||
alignTextCenter,
|
||||
alignTextRight,
|
||||
ways, // 选择链接的类型
|
||||
picModelFlag: false, //图片选择器
|
||||
linkType: "goods", // dialog弹窗口类型
|
||||
|
||||
@@ -1,22 +1,16 @@
|
||||
:deep(.ivu-input){
|
||||
:deep(.el-input) {
|
||||
width: 200px !important;
|
||||
}
|
||||
|
||||
.label-btns{
|
||||
.label-btns {
|
||||
margin-left: 150px;
|
||||
}
|
||||
|
||||
.ivu-form-item{
|
||||
.el-form-item {
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
|
||||
.ivu-input-wrapper {
|
||||
width: 150px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
:deep(.ivu-form-item-content){
|
||||
:deep(.el-form-item__content) {
|
||||
margin-left: 0 !important;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
@@ -164,6 +164,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { unixToDate } from "@/utils/filters";
|
||||
import * as API_Setting from "@/api/setting";
|
||||
|
||||
export default {
|
||||
@@ -233,7 +235,7 @@ export default {
|
||||
this.modalVisible = true;
|
||||
this.modalTitle = "添加APP版本信息";
|
||||
this.modalType = 0;
|
||||
const versionUpdateDate = this.$filters.unixToDate(new Date() / 1000);
|
||||
const versionUpdateDate = unixToDate(new Date() / 1000);
|
||||
this.form = {
|
||||
forceUpdate: 0,
|
||||
type: "IOS",
|
||||
@@ -253,7 +255,7 @@ export default {
|
||||
if (valid) {
|
||||
this.submitLoading = true;
|
||||
if (JSON.stringify(this.form.versionUpdateDate).includes("T")) {
|
||||
const versionUpdateDate = this.$filters.unixToDate(
|
||||
const versionUpdateDate = unixToDate(
|
||||
this.form.versionUpdateDate / 1000
|
||||
);
|
||||
this.form.versionUpdateDate = versionUpdateDate;
|
||||
@@ -264,7 +266,7 @@ export default {
|
||||
API_Setting.addVersion(this.form).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("添加成功");
|
||||
ElMessage.success("添加成功");
|
||||
this.modalVisible = false;
|
||||
this.getData();
|
||||
}
|
||||
@@ -273,7 +275,7 @@ export default {
|
||||
API_Setting.editVersion(this.form, this.form.id).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res && res.success) {
|
||||
this.$Message.success("修改成功");
|
||||
ElMessage.success("修改成功");
|
||||
this.modalVisible = false;
|
||||
this.getData();
|
||||
}
|
||||
@@ -283,20 +285,14 @@ export default {
|
||||
});
|
||||
},
|
||||
remove(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "您确认要删除么?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认要删除么?", "确认删除", { type: "warning" }).then(() => {
|
||||
API_Setting.deleteVersion(v.id).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
ElMessage.success("删除成功");
|
||||
this.getData();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
detail(v) {
|
||||
this.queryModalVisible = true;
|
||||
|
||||
@@ -106,6 +106,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import {
|
||||
initDepartment,
|
||||
addDepartment,
|
||||
@@ -275,7 +276,7 @@ export default {
|
||||
this.$refs.form.validate((valid) => {
|
||||
if (valid) {
|
||||
if (!this.form.id) {
|
||||
this.$Message.warning("请先点击选择要修改的部门");
|
||||
ElMessage.warning("请先点击选择要修改的部门");
|
||||
return;
|
||||
}
|
||||
const roleWay = [];
|
||||
@@ -292,7 +293,7 @@ export default {
|
||||
]).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res[0].success) {
|
||||
this.$Message.success("编辑成功");
|
||||
ElMessage.success("编辑成功");
|
||||
this.init();
|
||||
this.modalVisible = false;
|
||||
}
|
||||
@@ -307,7 +308,7 @@ export default {
|
||||
addDepartment(this.formAdd).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("添加成功");
|
||||
ElMessage.success("添加成功");
|
||||
this.init();
|
||||
this.modalVisible = false;
|
||||
}
|
||||
@@ -317,7 +318,7 @@ export default {
|
||||
},
|
||||
add() {
|
||||
if (this.form.id == "" || this.form.id == null) {
|
||||
this.$Message.warning("请先点击选择一个部门");
|
||||
ElMessage.warning("请先点击选择一个部门");
|
||||
return;
|
||||
}
|
||||
this.modalTitle = "添加子部门";
|
||||
@@ -341,32 +342,25 @@ export default {
|
||||
},
|
||||
delAll() {
|
||||
if (this.selectCount <= 0) {
|
||||
this.$Message.warning("您还未勾选要删除的数据");
|
||||
ElMessage.warning("您还未勾选要删除的数据");
|
||||
return;
|
||||
}
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content:
|
||||
"您确认要删除所选的 " + this.selectCount + " 条数据及其下级所有数据?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认要删除所选的 " + this.selectCount + " 条数据及其下级所有数据?", "确认删除", { type: "warning" }).then(() => {
|
||||
let ids = "";
|
||||
this.selectList.forEach(function (e) {
|
||||
ids += e.id + ",";
|
||||
});
|
||||
ids = ids.substring(0, ids.length - 1);
|
||||
deleteDepartment(ids).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
ElMessage.success("删除成功");
|
||||
this.selectList = [];
|
||||
this.selectCount = 0;
|
||||
this.cancelSelect();
|
||||
this.init();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<el-table-column prop="costTime" label="耗时-毫秒" width="140" align="center" />
|
||||
<el-table-column label="操作时间" width="170" align="center">
|
||||
<template #default="{ row }">
|
||||
<span v-if="row">{{ $filters.unixToDate(row.createTime / 1000) }}</span>
|
||||
<span v-if="row">{{ unixToDate(row.createTime / 1000) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -67,6 +67,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import { unixToDate } from "@/utils/filters";
|
||||
import { getLogListData } from "@/api/index";
|
||||
|
||||
export default {
|
||||
@@ -91,6 +93,7 @@ export default {
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
unixToDate,
|
||||
init() {
|
||||
this.getLogList();
|
||||
},
|
||||
@@ -130,7 +133,7 @@ export default {
|
||||
} else {
|
||||
this.data = [];
|
||||
this.total = 0;
|
||||
this.$Message.error((res && res.message) || "日志查询失败");
|
||||
ElMessage.error((res && res.message) || "日志查询失败");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -187,6 +187,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { Menu, List, ArrowDown } from "@element-plus/icons-vue";
|
||||
import {
|
||||
getAllPermissionList,
|
||||
@@ -420,7 +421,7 @@ export default {
|
||||
this.$refs.form.validate((valid) => {
|
||||
if (valid) {
|
||||
if (!this.form.id) {
|
||||
this.$Message.warning("请先点击选择要修改的菜单节点");
|
||||
ElMessage.warning("请先点击选择要修改的菜单节点");
|
||||
return;
|
||||
}
|
||||
this.submitLoading = true;
|
||||
@@ -438,7 +439,7 @@ export default {
|
||||
editPermission(this.form).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("编辑成功");
|
||||
ElMessage.success("编辑成功");
|
||||
this.$store.commit("setAdded", false);
|
||||
util.initRouter(this);
|
||||
this.init();
|
||||
@@ -456,7 +457,7 @@ export default {
|
||||
addPermission(this.formAdd).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("添加成功");
|
||||
ElMessage.success("添加成功");
|
||||
this.$store.commit("setAdded", false);
|
||||
util.initRouter(this);
|
||||
this.init();
|
||||
@@ -468,17 +469,14 @@ export default {
|
||||
},
|
||||
addMenu() {
|
||||
if (!this.form.id) {
|
||||
this.$Message.warning("请先点击选择一个菜单权限节点");
|
||||
ElMessage.warning("请先点击选择一个菜单权限节点");
|
||||
return;
|
||||
}
|
||||
this.parentTitle = this.form.title;
|
||||
this.modalTitle = "添加子节点";
|
||||
this.showParent = true;
|
||||
if (this.form.level == 2) {
|
||||
this.$Modal.warning({
|
||||
title: "抱歉,不能添加啦",
|
||||
content: "仅支持2级菜单目录",
|
||||
});
|
||||
ElMessageBox.alert("仅支持2级菜单目录", "抱歉,不能添加啦", { type: "warning" });
|
||||
return;
|
||||
}
|
||||
this.formAdd = {
|
||||
@@ -504,23 +502,18 @@ export default {
|
||||
},
|
||||
delAll() {
|
||||
if (this.selectCount <= 0) {
|
||||
this.$Message.warning("您还未勾选要删除的数据");
|
||||
ElMessage.warning("您还未勾选要删除的数据");
|
||||
return;
|
||||
}
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "您确认要删除所选的 " + this.selectCount + " 条数据?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认要删除所选的 " + this.selectCount + " 条数据?", "确认删除", { type: "warning" }).then(() => {
|
||||
let ids = "";
|
||||
this.selectList.forEach(function (e) {
|
||||
ids += e.id + ",";
|
||||
});
|
||||
ids = ids.substring(0, ids.length - 1);
|
||||
deletePermission(ids).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
ElMessage.success("删除成功");
|
||||
this.$store.commit("setAdded", false);
|
||||
util.initRouter(this);
|
||||
this.selectList = [];
|
||||
@@ -529,8 +522,7 @@ export default {
|
||||
this.init();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -187,6 +187,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { Menu, List, ArrowDown } from "@element-plus/icons-vue";
|
||||
import {
|
||||
getStoreAllPermissionList,
|
||||
@@ -420,7 +421,7 @@ export default {
|
||||
this.$refs.form.validate((valid) => {
|
||||
if (valid) {
|
||||
if (!this.form.id) {
|
||||
this.$Message.warning("请先点击选择要修改的菜单节点");
|
||||
ElMessage.warning("请先点击选择要修改的菜单节点");
|
||||
return;
|
||||
}
|
||||
this.submitLoading = true;
|
||||
@@ -438,7 +439,7 @@ export default {
|
||||
editStorePermission(this.form).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("编辑成功");
|
||||
ElMessage.success("编辑成功");
|
||||
this.$store.commit("setAdded", false);
|
||||
util.initRouter(this);
|
||||
this.init();
|
||||
@@ -456,7 +457,7 @@ export default {
|
||||
addStorePermission(this.formAdd).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("添加成功");
|
||||
ElMessage.success("添加成功");
|
||||
this.$store.commit("setAdded", false);
|
||||
util.initRouter(this);
|
||||
this.init();
|
||||
@@ -468,17 +469,14 @@ export default {
|
||||
},
|
||||
addMenu() {
|
||||
if (!this.form.id) {
|
||||
this.$Message.warning("请先点击选择一个菜单权限节点");
|
||||
ElMessage.warning("请先点击选择一个菜单权限节点");
|
||||
return;
|
||||
}
|
||||
this.parentTitle = this.form.title;
|
||||
this.modalTitle = "添加子节点";
|
||||
this.showParent = true;
|
||||
if (this.form.level == 2) {
|
||||
this.$Modal.warning({
|
||||
title: "抱歉,不能添加啦",
|
||||
content: "仅支持2级菜单目录",
|
||||
});
|
||||
ElMessageBox.alert("仅支持2级菜单目录", "抱歉,不能添加啦", { type: "warning" });
|
||||
return;
|
||||
}
|
||||
this.formAdd = {
|
||||
@@ -504,23 +502,18 @@ export default {
|
||||
},
|
||||
delAll() {
|
||||
if (this.selectCount <= 0) {
|
||||
this.$Message.warning("您还未勾选要删除的数据");
|
||||
ElMessage.warning("您还未勾选要删除的数据");
|
||||
return;
|
||||
}
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "您确认要删除所选的 " + this.selectCount + " 条数据?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认要删除所选的 " + this.selectCount + " 条数据?", "确认删除", { type: "warning" }).then(() => {
|
||||
let ids = "";
|
||||
this.selectList.forEach(function (e) {
|
||||
ids += e.id + ",";
|
||||
});
|
||||
ids = ids.substring(0, ids.length - 1);
|
||||
deleteStorePermission(ids).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
ElMessage.success("删除成功");
|
||||
this.$store.commit("setAdded", false);
|
||||
util.initRouter(this);
|
||||
this.selectList = [];
|
||||
@@ -529,8 +522,7 @@ export default {
|
||||
this.init();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -219,6 +219,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import * as API_Setting from "@/api/setting.js";
|
||||
|
||||
export default {
|
||||
@@ -290,7 +291,7 @@ export default {
|
||||
if (!(res && res.success && res.result)) {
|
||||
this.memberRows = [];
|
||||
this.total = 0;
|
||||
this.$Message.error((res && res.message) || "加载消息模板失败");
|
||||
ElMessage.error((res && res.message) || "加载消息模板失败");
|
||||
return;
|
||||
}
|
||||
const records = res.result.records || [];
|
||||
@@ -332,9 +333,9 @@ export default {
|
||||
const res = await API_Setting.wechatMessageSync();
|
||||
if (res && res.success) {
|
||||
await this.loadMemberPage();
|
||||
this.$Message.success("服务号模板同步成功");
|
||||
ElMessage.success("服务号模板同步成功");
|
||||
} else {
|
||||
this.$Message.error((res && res.message) || "服务号模板同步失败");
|
||||
ElMessage.error((res && res.message) || "服务号模板同步失败");
|
||||
}
|
||||
} finally {
|
||||
this.syncOaLoading = false;
|
||||
@@ -346,9 +347,9 @@ export default {
|
||||
const res = await API_Setting.wechatMPMessageSync();
|
||||
if (res && res.success) {
|
||||
await this.loadMemberPage();
|
||||
this.$Message.success("小程序模板同步成功");
|
||||
ElMessage.success("小程序模板同步成功");
|
||||
} else {
|
||||
this.$Message.error((res && res.message) || "小程序模板同步失败");
|
||||
ElMessage.error((res && res.message) || "小程序模板同步失败");
|
||||
}
|
||||
} finally {
|
||||
this.syncMpLoading = false;
|
||||
@@ -402,9 +403,9 @@ export default {
|
||||
const res = await API_Setting.updateMessageStatus(row.id, this.toOpenClose(v));
|
||||
if (!(res && res.success)) {
|
||||
this.updateRowStatus(row, "noticeStatus", old);
|
||||
this.$Message.error((res && res.message) || "站内信开关更新失败");
|
||||
ElMessage.error((res && res.message) || "站内信开关更新失败");
|
||||
} else {
|
||||
this.$Message.success("站内信开关更新成功");
|
||||
ElMessage.success("站内信开关更新成功");
|
||||
}
|
||||
},
|
||||
async toggleOaChannel(v, row) {
|
||||
@@ -416,13 +417,13 @@ export default {
|
||||
const res = await API_Setting.editWechatMessageTemplate(row.oaId, params);
|
||||
if (!(res && res.success)) {
|
||||
this.updateRowStatus(row, "oaStatus", old);
|
||||
this.$Message.error((res && res.message) || "服务号开关更新失败");
|
||||
ElMessage.error((res && res.message) || "服务号开关更新失败");
|
||||
} else {
|
||||
this.$Message.success("服务号开关更新成功");
|
||||
ElMessage.success("服务号开关更新成功");
|
||||
}
|
||||
} catch (e) {
|
||||
this.updateRowStatus(row, "oaStatus", old);
|
||||
this.$Message.error((e && e.message) || "服务号开关更新失败");
|
||||
ElMessage.error((e && e.message) || "服务号开关更新失败");
|
||||
}
|
||||
},
|
||||
async toggleMpChannel(v, row) {
|
||||
@@ -433,9 +434,9 @@ export default {
|
||||
const res = await API_Setting.editWechatMPMessageTemplate(row.mpId, params);
|
||||
if (!(res && res.success)) {
|
||||
this.updateRowStatus(row, "mpStatus", old);
|
||||
this.$Message.error((res && res.message) || "小程序开关更新失败");
|
||||
ElMessage.error((res && res.message) || "小程序开关更新失败");
|
||||
} else {
|
||||
this.$Message.success("小程序开关更新成功");
|
||||
ElMessage.success("小程序开关更新成功");
|
||||
}
|
||||
},
|
||||
async toggleEmailChannel(v, row) {
|
||||
@@ -444,9 +445,9 @@ export default {
|
||||
const res = await API_Setting.updateNoticeMessageEmailStatus(row.id, this.toOpenClose(v));
|
||||
if (!(res && res.success)) {
|
||||
this.updateRowStatus(row, "emailStatus", old);
|
||||
this.$Message.error((res && res.message) || "邮箱开关更新失败");
|
||||
ElMessage.error((res && res.message) || "邮箱开关更新失败");
|
||||
} else {
|
||||
this.$Message.success("邮箱开关更新成功");
|
||||
ElMessage.success("邮箱开关更新成功");
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
@@ -354,6 +354,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import * as API_Setting from "@/api/setting.js";
|
||||
import * as API_Other from "@/api/other.js";
|
||||
import * as API_Shop from "@/api/shops.js";
|
||||
@@ -545,18 +546,14 @@ export default {
|
||||
});
|
||||
},
|
||||
removeMessage(id) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "您确认删除此站内信 ?",
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认删除此站内信 ?", "确认删除", { type: "warning" }).then(() => {
|
||||
API_Setting.deleteMessage(id).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
ElMessage.success("删除成功");
|
||||
}
|
||||
this.getMessage();
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
sendMessage() {
|
||||
this.messageModalVisible = true;
|
||||
@@ -586,7 +583,7 @@ export default {
|
||||
}
|
||||
|
||||
if (this.messageSendForm.userIds.length <= 0 && this.messageSendForm.messageRange == "APPOINT") {
|
||||
this.$Message.error("请选择发送对象");
|
||||
ElMessage.error("请选择发送对象");
|
||||
return;
|
||||
}
|
||||
this.$refs["messageSendForm"].validate((valid) => {
|
||||
@@ -594,7 +591,7 @@ export default {
|
||||
API_Other.sendMessage(this.messageSendForm).then((res) => {
|
||||
this.loading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("发送成功");
|
||||
ElMessage.success("发送成功");
|
||||
this.messageModalVisible = false;
|
||||
this.getMessage();
|
||||
}
|
||||
@@ -656,7 +653,7 @@ export default {
|
||||
API_Setting.editNoticeMessage(this.form.id, params).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("修改成功");
|
||||
ElMessage.success("修改成功");
|
||||
this.modalVisible = false;
|
||||
this.getNoticeMessage();
|
||||
}
|
||||
@@ -704,7 +701,7 @@ export default {
|
||||
disable(v) {
|
||||
API_Setting.updateMessageStatus(v.id, "CLOSE").then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("禁用成功");
|
||||
ElMessage.success("禁用成功");
|
||||
this.getNoticeMessage();
|
||||
}
|
||||
});
|
||||
@@ -712,7 +709,7 @@ export default {
|
||||
enable(v) {
|
||||
API_Setting.updateMessageStatus(v.id, "OPEN").then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("启用成功");
|
||||
ElMessage.success("启用成功");
|
||||
this.getNoticeMessage();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -129,19 +129,10 @@ methodItem h4 {
|
||||
.scroll-card {
|
||||
margin: 5px 0;
|
||||
}
|
||||
.ivu-card-body {
|
||||
padding: 1px;
|
||||
margin-left: 7px;
|
||||
}
|
||||
.checkbox-tag {
|
||||
height: 35px;
|
||||
width: 100%;
|
||||
}
|
||||
.ivu-tag-border.ivu-tag-closable .ivu-icon-ios-close {
|
||||
margin-right: 68px !important;
|
||||
left: 7px;
|
||||
top: 0px;
|
||||
}
|
||||
|
||||
.message-title{
|
||||
background-color: #fff5eb;
|
||||
|
||||
@@ -287,6 +287,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import * as API_Setting from "@/api/setting.js";
|
||||
import * as API_Member from "@/api/member.js";
|
||||
|
||||
@@ -405,7 +406,7 @@ export default {
|
||||
},
|
||||
moveMember(index, item) {
|
||||
if (!item.mobile) {
|
||||
this.$Message.error("当前用户暂无手机号绑定");
|
||||
ElMessage.error("当前用户暂无手机号绑定");
|
||||
return false;
|
||||
}
|
||||
item.____selected = true;
|
||||
@@ -505,20 +506,14 @@ export default {
|
||||
this.smsForm.context = this.smsTemplateContent;
|
||||
},
|
||||
deleteSmsTemplate(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "您确认要删除此短信模板?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认要删除此短信模板?", "确认删除", { type: "warning" }).then(() => {
|
||||
API_Setting.deleteSmsTemplatePage({ templateCode: v.templateCode }).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
ElMessage.success("删除成功");
|
||||
this.getSmsTemplate();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
sendSms() {
|
||||
this.$refs.smsForm.validate((valid) => {
|
||||
@@ -526,7 +521,7 @@ export default {
|
||||
this.smsForm.mobile = this.alreadyCheck;
|
||||
API_Setting.sendSms(this.smsForm).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("发送成功");
|
||||
ElMessage.success("发送成功");
|
||||
this.getSms();
|
||||
this.sendSmsModal = false;
|
||||
}
|
||||
@@ -553,7 +548,7 @@ export default {
|
||||
API_Setting.syncSign().then((res) => {
|
||||
this.loading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("同步成功");
|
||||
ElMessage.success("同步成功");
|
||||
this.getSmsSign();
|
||||
}
|
||||
});
|
||||
@@ -570,7 +565,7 @@ export default {
|
||||
.then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success(this.modalType == 0 ? "添加成功" : "修改成功");
|
||||
ElMessage.success(this.modalType == 0 ? "添加成功" : "修改成功");
|
||||
this.templateModalVisible = false;
|
||||
this.getSmsTemplate();
|
||||
}
|
||||
@@ -581,27 +576,21 @@ export default {
|
||||
});
|
||||
},
|
||||
deleteSmsSign(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "您确认要删除此短信签名?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认要删除此短信签名?", "确认删除", { type: "warning" }).then(() => {
|
||||
API_Setting.deleteSign(v.id).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
ElMessage.success("删除成功");
|
||||
this.getSmsSign();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
syncTemplate() {
|
||||
this.loading = true;
|
||||
API_Setting.syncTemplate().then((res) => {
|
||||
this.loading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("同步成功");
|
||||
ElMessage.success("同步成功");
|
||||
this.getSmsTemplate();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import * as API_Setting from "@/api/setting.js";
|
||||
import uploadPicThumb from "@/components/lili/upload-pic-thumb";
|
||||
|
||||
@@ -97,11 +98,11 @@ export default {
|
||||
},
|
||||
addSignSubmit() {
|
||||
if (this.form.businessLicense == "" || this.form.license == "") {
|
||||
this.$Message.error("请完善证件信息");
|
||||
ElMessage.error("请完善证件信息");
|
||||
return;
|
||||
}
|
||||
if (this.form.signSource === "" || this.form.signSource === null || this.form.signSource === undefined) {
|
||||
this.$Message.error("请选择签名来源");
|
||||
ElMessage.error("请选择签名来源");
|
||||
return;
|
||||
}
|
||||
this.$refs.form.validate((valid) => {
|
||||
@@ -112,7 +113,7 @@ export default {
|
||||
.then((res) => {
|
||||
this.loading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("添加成功");
|
||||
ElMessage.success("添加成功");
|
||||
this.$router.back();
|
||||
}
|
||||
})
|
||||
@@ -124,7 +125,7 @@ export default {
|
||||
.then((res) => {
|
||||
this.loading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("修改成功");
|
||||
ElMessage.success("修改成功");
|
||||
this.$router.back();
|
||||
}
|
||||
})
|
||||
|
||||
@@ -16,125 +16,6 @@
|
||||
display: none;
|
||||
}
|
||||
|
||||
.oss-wrapper {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.oss-card {
|
||||
margin: 10px 20px 10px 0;
|
||||
width: 290px;
|
||||
|
||||
:hover {
|
||||
.content .other .name {
|
||||
color: #1890ff;
|
||||
transition: color .3s;
|
||||
}
|
||||
}
|
||||
|
||||
cursor: pointer;
|
||||
|
||||
.ivu-card-body {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
:hover {
|
||||
.play {
|
||||
transition: opacity .3s;
|
||||
opacity: 1 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.img {
|
||||
height: 135px;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.video {
|
||||
height: 135px;
|
||||
position: relative;
|
||||
|
||||
.cover {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
object-fit: fill;
|
||||
}
|
||||
|
||||
.play {
|
||||
position: absolute;
|
||||
top: 43px;
|
||||
left: 117px;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
opacity: 0.8;
|
||||
}
|
||||
}
|
||||
|
||||
.other {
|
||||
padding: 16px;
|
||||
height: 135px;
|
||||
|
||||
.name {
|
||||
font-size: 16px;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
color: rgba(0, 0, 0, .85);
|
||||
font-weight: 500;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.key {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
height: 45px;
|
||||
word-break: break-all;
|
||||
color: rgba(0, 0, 0, .45);
|
||||
}
|
||||
|
||||
.info {
|
||||
font-size: 12px;
|
||||
color: rgba(0, 0, 0, .45);
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
height: 36px;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
|
||||
.actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 50px;
|
||||
background: #f7f9fa;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
|
||||
i:hover {
|
||||
color: #1890ff;
|
||||
}
|
||||
|
||||
.btn {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 33.33%;
|
||||
border-right: 1px solid #e8e8e8;
|
||||
}
|
||||
|
||||
.btn-no {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 33.33%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.oss-manage-box {
|
||||
.file-list {
|
||||
height: 100%;
|
||||
@@ -254,7 +135,7 @@
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
|
||||
.demo-tree-render .ivu-tree-title{
|
||||
.demo-tree-render .el-tree-node__label {
|
||||
width: 94%;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,8 +100,26 @@
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.category-tabs-card {
|
||||
margin-bottom: 0;
|
||||
.file-preview-fallback {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 48px 16px;
|
||||
color: #606266;
|
||||
|
||||
.file-preview-name {
|
||||
margin: 16px 0 8px;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
word-break: break-all;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.file-preview-tip {
|
||||
margin: 0 0 20px;
|
||||
color: #909399;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -182,7 +200,7 @@
|
||||
multiple
|
||||
style="display: inline-block"
|
||||
>
|
||||
<el-button>上传图片</el-button>
|
||||
<el-button>{{ uploadButtonText }}</el-button>
|
||||
</el-upload>
|
||||
<el-button v-if="!isComponent && showType == 'list'" @click="removeAll">批量删除</el-button>
|
||||
</div>
|
||||
@@ -229,9 +247,7 @@
|
||||
</el-tooltip>
|
||||
</div>
|
||||
<div
|
||||
@click.prevent="
|
||||
isVideoFile(item) ? showVideo(item) : showPic(item)
|
||||
"
|
||||
@click.prevent="previewFile(item)"
|
||||
>
|
||||
<el-tooltip content="预览" placement="top">
|
||||
<el-icon :size="22"><View /></el-icon>
|
||||
@@ -264,166 +280,7 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
<!--<div class="oss-operation padding-row">-->
|
||||
<!--<div>-->
|
||||
<!--<Upload-->
|
||||
<!--ref="up"-->
|
||||
<!--:action="managerApiUrl + '/manager/common/upload/file'"-->
|
||||
<!--:data="{-->
|
||||
<!--directoryPath: searchForm.fileDirectoryId,-->
|
||||
<!--}"-->
|
||||
<!--:headers="accessToken"-->
|
||||
<!--:max-size="20480"-->
|
||||
<!--:on-error="handleError"-->
|
||||
<!--:on-exceeded-size="handleMaxSize"-->
|
||||
<!--:on-success="handleSuccess"-->
|
||||
<!--:show-upload-list="false"-->
|
||||
<!--multiple-->
|
||||
<!--style="display: inline-block"-->
|
||||
<!-->-->
|
||||
<!--<Button>上传图片</Button>-->
|
||||
<!--</Upload>-->
|
||||
<!--<Dropdown @on-click="handleDropdown" v-if="!isComponent">-->
|
||||
<!--<Button>-->
|
||||
<!--更多操作-->
|
||||
<!--<Icon type="md-arrow-dropdown"/>-->
|
||||
<!--</Button>-->
|
||||
<!--<DropdownMenu slot="list">-->
|
||||
<!--<DropdownItem name="refresh">刷新</DropdownItem>-->
|
||||
<!--<DropdownItem v-show="showType == 'list'" name="removeAll"-->
|
||||
<!-->批量删除-->
|
||||
<!--</DropdownItem>-->
|
||||
<!--</DropdownMenu>-->
|
||||
<!--</Dropdown>-->
|
||||
<!--</div>-->
|
||||
<!--</div>-->
|
||||
</div>
|
||||
|
||||
<!--<Alert show-icon v-if="!isComponent">-->
|
||||
<!--已选择-->
|
||||
<!--<span>{{ selectCount }}</span> 项-->
|
||||
<!--<a class="select-clear" @click="clearSelectAll">清空</a>-->
|
||||
<!--<span v-if="selectCount > 0" style="margin-left: 15px"-->
|
||||
<!-->共计 {{ totalSize }} 存储量</span-->
|
||||
<!-->-->
|
||||
<!--</Alert>-->
|
||||
|
||||
<!--<div v-show="showType === 'list'" >-->
|
||||
<!--<div class="flex">-->
|
||||
<!--<div class="article-category mr_10">-->
|
||||
<!--<Tree-->
|
||||
<!--:data="treeData"-->
|
||||
<!--@on-contextmenu="handleContextMenu"-->
|
||||
<!--@on-select-change="handleCateChange"-->
|
||||
<!-->-->
|
||||
<!--<template slot="contextMenu" v-if="!isComponent">-->
|
||||
<!--<DropdownItem @click.native="handleContextMenuEdit"-->
|
||||
<!-->编辑-->
|
||||
<!--</DropdownItem-->
|
||||
<!-->-->
|
||||
<!--<DropdownItem-->
|
||||
<!--style="color: #ed4014"-->
|
||||
<!--@click.native="handleContextMenuDelete"-->
|
||||
<!-->删除-->
|
||||
<!--</DropdownItem-->
|
||||
<!-->-->
|
||||
<!--</template>-->
|
||||
<!--</Tree>-->
|
||||
<!--<Alert v-if="!isComponent">鼠标右键编辑/删除分组</Alert>-->
|
||||
<!--<div class="group-row flex" v-if="!isComponent">-->
|
||||
<!--<Button @click="handleClickAddGroup">添加分组</Button>-->
|
||||
<!--</div>-->
|
||||
<!--</div>-->
|
||||
|
||||
<!--<Table-->
|
||||
<!--ref="table"-->
|
||||
<!--:columns="isComponent ? viewColumns : columns"-->
|
||||
<!--:data="data"-->
|
||||
<!--:loading="loading"-->
|
||||
<!--border-->
|
||||
<!--class="table"-->
|
||||
<!--sortable="custom"-->
|
||||
<!--@on-sort-change="changeSort"-->
|
||||
<!--@on-selection-change="changeSelect"-->
|
||||
<!-->-->
|
||||
<!--<template slot="fileKey" slot-scope="{ row }">-->
|
||||
<!--<a @click="copyFileUrl(row)">{{ row.fileKey }}</a>-->
|
||||
<!--</template>-->
|
||||
<!--</Table>-->
|
||||
<!--</div>-->
|
||||
<!--</div>-->
|
||||
|
||||
<!--<div v-show="showType === 'thumb'">-->
|
||||
<!--<div class="oss-wrapper">-->
|
||||
<!--<Card v-for="(item, i) in data" :key="i" class="oss-card">-->
|
||||
<!--<div class="content">-->
|
||||
<!--<img-->
|
||||
<!--v-if="item.fileType.indexOf('image') >= 0"-->
|
||||
<!--:src="item.url"-->
|
||||
<!--class="img"-->
|
||||
<!--@click="showPic(item)"-->
|
||||
<!--/>-->
|
||||
<!--<div-->
|
||||
<!--v-else-if="item.fileType.indexOf('video') >= 0"-->
|
||||
<!--class="video"-->
|
||||
<!--@click="showVideo(item)"-->
|
||||
<!-->-->
|
||||
<!--<!– 文件小于5MB显示video –>-->
|
||||
<!--<video v-if="item.fileSize < 1024 * 1024 * 5" class="cover">-->
|
||||
<!--<source :src="item.url"/>-->
|
||||
<!--</video>-->
|
||||
<!--<img class="play" src="@/assets/play.png"/>-->
|
||||
<!--</div>-->
|
||||
<!--<div v-else class="other">-->
|
||||
<!--<div class="name">{{ item.name }}</div>-->
|
||||
<!--<div class="key">{{ item.fileKey }}</div>-->
|
||||
<!--<div class="info">-->
|
||||
<!--文件类型:{{ item.fileType }} 文件大小:{{-->
|
||||
<!--((item.fileSize * 1.0) / (1024 * 1024)).toFixed(2)-->
|
||||
<!--}}-->
|
||||
<!--MB 创建时间:{{ item.createTime }}-->
|
||||
<!--</div>-->
|
||||
<!--</div>-->
|
||||
<!--<div class="actions">-->
|
||||
<!--<div class="btn">-->
|
||||
<!--<Tooltip content="下载" placement="top">-->
|
||||
<!--<Icon-->
|
||||
<!--size="16"-->
|
||||
<!--type="md-download"-->
|
||||
<!--@click="download(item)"-->
|
||||
<!--/>-->
|
||||
<!--</Tooltip>-->
|
||||
<!--</div>-->
|
||||
<!--<div class="btn">-->
|
||||
<!--<Tooltip content="重命名" placement="top">-->
|
||||
<!--<Icon size="16" type="md-create" @click="rename(item)"/>-->
|
||||
<!--</Tooltip>-->
|
||||
<!--</div>-->
|
||||
<!--<div class="btn-no">-->
|
||||
<!--<Tooltip content="删除" placement="top">-->
|
||||
<!--<Icon size="16" type="md-trash" @click="remove(item)"/>-->
|
||||
<!--</Tooltip>-->
|
||||
<!--</div>-->
|
||||
<!--</div>-->
|
||||
<!--</div>-->
|
||||
<!--</Card>-->
|
||||
<!--</div>-->
|
||||
<!--</div>-->
|
||||
<!--<Row class="mt_10" justify="end" type="flex">-->
|
||||
<!--<Page-->
|
||||
<!--:current="searchForm.pageNumber"-->
|
||||
<!--:page-size="searchForm.pageSize"-->
|
||||
<!--:page-size-opts="pageSizeOpts"-->
|
||||
<!--:total="total"-->
|
||||
<!--show-elevator-->
|
||||
<!--show-sizer-->
|
||||
<!--show-total-->
|
||||
<!--size="small"-->
|
||||
<!--@on-change="changePage"-->
|
||||
<!--@on-page-size-change="changePageSize"-->
|
||||
<!--></Page>-->
|
||||
<!--</Row>-->
|
||||
</el-card>
|
||||
</el-row>
|
||||
<el-dialog
|
||||
@@ -450,7 +307,7 @@
|
||||
<el-dialog v-model="picVisible" :title="picTitle" width="600px">
|
||||
<img
|
||||
:src="file.url"
|
||||
alt="无效的图片链接"
|
||||
alt="图片加载失败"
|
||||
style="width: 100%; margin: 0 auto; display: block"
|
||||
/>
|
||||
<template #footer>
|
||||
@@ -458,14 +315,33 @@
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog v-model="fileVisible" :title="fileTitle" width="800px" destroy-on-close>
|
||||
<iframe
|
||||
v-if="isPdfFile(file)"
|
||||
:src="file.url"
|
||||
style="width: 100%; height: 70vh; border: none"
|
||||
title="文件预览"
|
||||
/>
|
||||
<div v-else class="file-preview-fallback">
|
||||
<el-icon :size="64"><Document /></el-icon>
|
||||
<p class="file-preview-name">{{ file.name }}</p>
|
||||
<p class="file-preview-tip">该文件类型暂不支持在线预览</p>
|
||||
<el-button type="primary" @click="download(file)">下载文件</el-button>
|
||||
</div>
|
||||
<template #footer>
|
||||
<span>文件类型:{{ file.fileType }} 文件大小:{{ file.msize }} 创建时间:{{ file.createTime }}</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog
|
||||
v-model="videoVisible"
|
||||
:title="videoTitle"
|
||||
width="800px"
|
||||
destroy-on-close
|
||||
@close="closeVideo"
|
||||
@opened="initDPlayer"
|
||||
>
|
||||
<div id="dplayer"></div>
|
||||
<div ref="dplayerRef"></div>
|
||||
<template #footer>
|
||||
<span>文件类型:{{ file.fileType }} 文件大小:{{ file.msize }} 创建时间:{{ file.createTime }}</span>
|
||||
</template>
|
||||
@@ -497,6 +373,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { Delete, Download, View, Document } from "@element-plus/icons-vue";
|
||||
import {
|
||||
addFileDirectory,
|
||||
@@ -509,8 +386,8 @@ import {
|
||||
} from "@/api/index";
|
||||
import DPlayer from "dplayer";
|
||||
import {managerApiUrl} from "@/libs/axios";
|
||||
|
||||
const config = require("@/config/index");
|
||||
import config from "@/config/index";
|
||||
import playIcon from "@/assets/play.png";
|
||||
|
||||
let dp;
|
||||
export default {
|
||||
@@ -562,10 +439,13 @@ export default {
|
||||
showType: "list", // 展示类型
|
||||
modalVisible: false, // 添加或编辑显示
|
||||
uploadVisible: false, // 上传展示
|
||||
videoVisible: false, // 文件modal
|
||||
picVisible: false, // 图片modal
|
||||
picTitle: "", // 图片title
|
||||
videoTitle: "", // 视频title
|
||||
videoVisible: false, // 视频预览
|
||||
picVisible: false, // 图片预览
|
||||
fileVisible: false, // 文件预览
|
||||
picTitle: "", // 图片 title
|
||||
videoTitle: "", // 视频 title
|
||||
fileTitle: "", // 文件 title
|
||||
pendingVideoUrl: "", // 待播放视频地址
|
||||
modalTitle: "", // 添加或编辑标题
|
||||
activeRoleTab: "MANAGER",
|
||||
activeCategoryTab: "IMAGE",
|
||||
@@ -659,7 +539,7 @@ export default {
|
||||
} else {
|
||||
return h("img", {
|
||||
attrs: {
|
||||
src: require("@/assets/play.png"),
|
||||
src: playIcon,
|
||||
},
|
||||
style: {
|
||||
cursor: "pointer",
|
||||
@@ -860,7 +740,7 @@ export default {
|
||||
} else {
|
||||
return h("img", {
|
||||
attrs: {
|
||||
src: require("@/assets/play.png"),
|
||||
src: playIcon,
|
||||
},
|
||||
style: {
|
||||
cursor: "pointer",
|
||||
@@ -1021,19 +901,31 @@ export default {
|
||||
canUploadImages() {
|
||||
return this.activeRoleTab === "MANAGER";
|
||||
},
|
||||
uploadButtonText() {
|
||||
const textMap = {
|
||||
IMAGE: "上传图片",
|
||||
VIDEO: "上传视频",
|
||||
FILE: "上传文件",
|
||||
};
|
||||
return textMap[this.activeCategoryTab] || "上传图片";
|
||||
},
|
||||
uploadData() {
|
||||
return {
|
||||
directoryPath: this.searchForm.fileDirectoryId,
|
||||
const data = {
|
||||
userEnums: this.activeRoleTab,
|
||||
directoryType: this.activeRoleTab,
|
||||
};
|
||||
const directoryId = this.searchForm.fileDirectoryId;
|
||||
if (directoryId && directoryId !== "0") {
|
||||
data.directoryPath = directoryId;
|
||||
}
|
||||
return data;
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
beforeUpload(file) {
|
||||
if (!this.canUploadImages) {
|
||||
this.$Message.warning("仅管理员模块支持上传图片");
|
||||
ElMessage.warning("仅管理员模块支持上传图片");
|
||||
return false;
|
||||
}
|
||||
const maxSize = 20480 * 1024;
|
||||
@@ -1221,18 +1113,14 @@ export default {
|
||||
},
|
||||
// 删除分组
|
||||
async handleContextMenuDelete(val) {
|
||||
this.$Modal.confirm({
|
||||
title: "提示",
|
||||
content: "是否删除该分组",
|
||||
onOk: async () => {
|
||||
ElMessageBox.confirm("是否删除该分组", "提示", { type: "warning" }).then(async () => {
|
||||
const res = await delFileDirectory(this.selectedGroupData.value);
|
||||
if (res.success) {
|
||||
this.$Message.success("删除成功!");
|
||||
ElMessage.success("删除成功!");
|
||||
this.getDataList();
|
||||
this.getAllList();
|
||||
}
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
async submitAddGroup() {
|
||||
this.$refs["formValidate"].validate(async (valid) => {
|
||||
@@ -1252,13 +1140,12 @@ export default {
|
||||
}
|
||||
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功!");
|
||||
ElMessage.success("操作成功!");
|
||||
this.enableGroup = false;
|
||||
this.getAllList();
|
||||
}
|
||||
this.$Modal.remove();
|
||||
} else {
|
||||
this.$Message.error("请填写完整信息!");
|
||||
} else {
|
||||
ElMessage.error("请填写完整信息!");
|
||||
}
|
||||
});
|
||||
},
|
||||
@@ -1280,7 +1167,7 @@ export default {
|
||||
textArea.select();
|
||||
try {
|
||||
document.execCommand("copy");
|
||||
this.$Message.success("复制成功");
|
||||
ElMessage.success("复制成功");
|
||||
} catch (err) {
|
||||
console.error("Unable to copy to clipboard", err);
|
||||
}
|
||||
@@ -1348,7 +1235,7 @@ export default {
|
||||
},
|
||||
handleSelectConfirm() {
|
||||
if (!this.selectedOss.length) {
|
||||
this.$Message.warning("请选择图片");
|
||||
ElMessage.warning("请选择图片");
|
||||
return;
|
||||
}
|
||||
const last = this.selectedOss[this.selectedOss.length - 1];
|
||||
@@ -1370,29 +1257,45 @@ export default {
|
||||
},
|
||||
// 查看大图
|
||||
showPic(v) {
|
||||
this.file = v;
|
||||
this.file.msize = ((v.fileSize * 1.0) / (1024 * 1024)).toFixed(2) + " MB";
|
||||
|
||||
this.picTitle = v.name + "(" + v.fileKey + ")";
|
||||
this.prepareFileMeta(v);
|
||||
this.picTitle = v.name || "图片预览";
|
||||
this.picVisible = true;
|
||||
},
|
||||
// 查看文件(PDF 等)
|
||||
showFile(v) {
|
||||
this.prepareFileMeta(v);
|
||||
this.fileTitle = v.name || "文件预览";
|
||||
this.fileVisible = true;
|
||||
},
|
||||
// 查看视频
|
||||
showVideo(v) {
|
||||
this.prepareFileMeta(v);
|
||||
this.videoTitle = v.name || "视频预览";
|
||||
this.pendingVideoUrl = v.url;
|
||||
this.videoVisible = true;
|
||||
},
|
||||
initDPlayer() {
|
||||
const container = this.$refs.dplayerRef;
|
||||
if (!container || !this.pendingVideoUrl) return;
|
||||
if (dp) {
|
||||
dp.destroy();
|
||||
dp = null;
|
||||
}
|
||||
dp = new DPlayer({
|
||||
container: document.getElementById("dplayer"),
|
||||
container,
|
||||
screenshot: true,
|
||||
video: {
|
||||
url: v.url,
|
||||
url: this.pendingVideoUrl,
|
||||
},
|
||||
});
|
||||
this.file = v;
|
||||
this.file.msize = ((v.fileSize * 1.0) / (1024 * 1024)).toFixed(2) + " MB";
|
||||
this.videoTitle = v.name + "(" + v.fileKey + ")";
|
||||
this.videoVisible = true;
|
||||
},
|
||||
// 关闭视频
|
||||
closeVideo() {
|
||||
dp.destroy();
|
||||
if (dp) {
|
||||
dp.destroy();
|
||||
dp = null;
|
||||
}
|
||||
this.pendingVideoUrl = "";
|
||||
},
|
||||
// 分页 改变页码
|
||||
changePage(v) {
|
||||
@@ -1470,26 +1373,45 @@ export default {
|
||||
isVideoFile(row) {
|
||||
return row?.fileCategory === "VIDEO" || (row?.fileType && row.fileType.includes("video"));
|
||||
},
|
||||
isPdfFile(row) {
|
||||
return (
|
||||
row?.fileType === "application/pdf" ||
|
||||
(row?.name && row.name.toLowerCase().endsWith(".pdf"))
|
||||
);
|
||||
},
|
||||
previewFile(item) {
|
||||
if (this.isVideoFile(item)) {
|
||||
this.showVideo(item);
|
||||
} else if (this.isImageFile(item)) {
|
||||
this.showPic(item);
|
||||
} else {
|
||||
this.showFile(item);
|
||||
}
|
||||
},
|
||||
prepareFileMeta(v) {
|
||||
this.file = v;
|
||||
this.file.msize = ((v.fileSize * 1.0) / (1024 * 1024)).toFixed(2) + " MB";
|
||||
},
|
||||
// 上传文件超过大小限制
|
||||
handleMaxSize() {
|
||||
this.$Message.warning("所选文件大小过大,不得超过 20MB");
|
||||
ElMessage.warning("所选文件大小过大,不得超过 20MB");
|
||||
},
|
||||
// 上传成功回调
|
||||
handleSuccess(res, file) {
|
||||
if (!this.canUploadImages) {
|
||||
this.$Message.warning("仅管理员模块支持上传图片");
|
||||
ElMessage.warning("仅管理员模块支持上传图片");
|
||||
return;
|
||||
}
|
||||
if (res.success) {
|
||||
this.$Message.success("上传文件 " + file.name + " 成功");
|
||||
ElMessage.success("上传文件 " + file.name + " 成功");
|
||||
this.getDataList();
|
||||
} else {
|
||||
this.$Message.error(res.message);
|
||||
ElMessage.error(res.message);
|
||||
}
|
||||
},
|
||||
// 上传失败回调
|
||||
handleError(error, file, fileList) {
|
||||
this.$Message.error(error.toString());
|
||||
ElMessage.error(error.toString());
|
||||
},
|
||||
// 清空上传文件
|
||||
clearFiles() {
|
||||
@@ -1508,50 +1430,38 @@ export default {
|
||||
// 批量删除文件
|
||||
removeAll() {
|
||||
if (this.selectCount <= 0) {
|
||||
this.$Message.warning("您还未选择要删除的数据");
|
||||
ElMessage.warning("您还未选择要删除的数据");
|
||||
return;
|
||||
}
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "您确认要删除所选的 " + this.selectCount + " 个文件?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认要删除所选的 " + this.selectCount + " 个文件?", "确认删除", { type: "warning" }).then(() => {
|
||||
let ids = "";
|
||||
this.selectList.forEach(function (e) {
|
||||
ids += e.id + ",";
|
||||
});
|
||||
ids = ids.substring(0, ids.length - 1);
|
||||
deleteFile(ids).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.selectedOss = [];
|
||||
// this.clearSelectAll();
|
||||
this.init();
|
||||
this.$Message.success("批量删除文件成功");
|
||||
ElMessage.success("批量删除文件成功");
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("失败", err);
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
// 单个删除文件
|
||||
remove(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "您确认要删除文件 " + v.name + " ?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认要删除文件 " + v.name + " ?", "确认删除", { type: "warning" }).then(() => {
|
||||
deleteFile(v.id).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("删除文件 " + v.name + " 成功");
|
||||
ElMessage.success("删除文件 " + v.name + " 成功");
|
||||
this.getDataList();
|
||||
}
|
||||
})
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
// 提交修改文件名
|
||||
handleSubmit() {
|
||||
@@ -1567,7 +1477,7 @@ export default {
|
||||
renameFile(params).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.getDataList();
|
||||
this.modalVisible = false;
|
||||
}
|
||||
|
||||
@@ -105,13 +105,13 @@
|
||||
</el-tree>
|
||||
</div>
|
||||
<template #footer>
|
||||
<el-button @click="permModalVisible = false">取消</el-button>
|
||||
<el-select v-model="openLevel" style="width: 110px; margin-right: 10px" @change="changeOpen">
|
||||
<el-option value="0" label="展开所有" />
|
||||
<el-option value="1" label="收合所有" />
|
||||
<el-option value="2" label="仅展开一级" />
|
||||
<el-option value="3" label="仅展开两级" />
|
||||
</el-select>
|
||||
<el-button @click="permModalVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="submitPermLoading" @click="submitPermEdit()">编辑</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -148,6 +148,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import {
|
||||
getRoleList,
|
||||
getAllPermissionList,
|
||||
@@ -280,7 +281,7 @@ export default {
|
||||
addRole(this.roleForm).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.getRoleList();
|
||||
this.roleModalVisible = false;
|
||||
}
|
||||
@@ -291,7 +292,7 @@ export default {
|
||||
editRole(this.roleForm).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.getRoleList();
|
||||
this.roleModalVisible = false;
|
||||
}
|
||||
@@ -329,20 +330,14 @@ export default {
|
||||
});
|
||||
},
|
||||
remove(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "您确认要删除角色 " + v.name + " ?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认要删除角色 " + v.name + " ?", "确认删除", { type: "warning" }).then(() => {
|
||||
deleteRole(v.id).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
ElMessage.success("删除成功");
|
||||
this.getRoleList();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
clearSelectAll() {
|
||||
this.$refs.table?.clearSelection();
|
||||
@@ -353,29 +348,23 @@ export default {
|
||||
},
|
||||
delAll() {
|
||||
if (this.selectCount <= 0) {
|
||||
this.$Message.warning("您还未选择要删除的数据");
|
||||
ElMessage.warning("您还未选择要删除的数据");
|
||||
return;
|
||||
}
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "您确认要删除所选的 " + this.selectCount + " 条数据?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认要删除所选的 " + this.selectCount + " 条数据?", "确认删除", { type: "warning" }).then(() => {
|
||||
let ids = "";
|
||||
this.selectList.forEach(function (e) {
|
||||
ids += e.id + ",";
|
||||
});
|
||||
ids = ids.substring(0, ids.length - 1);
|
||||
deleteRole(ids).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
ElMessage.success("删除成功");
|
||||
this.clearSelectAll();
|
||||
this.getRoleList();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
async editPerm(v) {
|
||||
this.permData.map((item) => {
|
||||
@@ -393,7 +382,7 @@ export default {
|
||||
});
|
||||
|
||||
if (this.treeLoading) {
|
||||
this.$Message.warning("菜单权限数据加载中,请稍后点击查看");
|
||||
ElMessage.warning("菜单权限数据加载中,请稍后点击查看");
|
||||
return;
|
||||
}
|
||||
this.editRolePermId = v.id;
|
||||
@@ -462,7 +451,7 @@ export default {
|
||||
saveRoleMenu(this.editRolePermId, this.saveRoleWay).then((res) => {
|
||||
this.superModelLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.$store.commit("setAdded", false);
|
||||
util.initRouter(this);
|
||||
this.getRoleList();
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import { setSetting } from "@/api/index";
|
||||
import { handleSubmit } from "../setting/validate";
|
||||
|
||||
@@ -61,9 +62,9 @@ export default {
|
||||
setupSetting() {
|
||||
setSetting(this.type, this.formValidate).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import { setSetting } from "@/api/index";
|
||||
import { handleSubmit } from "../setting/validate";
|
||||
|
||||
@@ -80,12 +81,10 @@ export default {
|
||||
qqConnectSettingItemList: this.formValidate,
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
this.$Modal.remove();
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
this.$Modal.remove();
|
||||
}
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
init() {
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import { setSetting } from "@/api/index";
|
||||
import { handleSubmit } from "../setting/validate";
|
||||
|
||||
@@ -82,12 +83,10 @@ export default {
|
||||
wechatConnectSettingItems: this.formValidate,
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
this.$Modal.remove();
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
this.$Modal.remove();
|
||||
}
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
init() {
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import { setSetting } from "@/api/index";
|
||||
import { handleSubmit } from "../setting/validate";
|
||||
export default {
|
||||
@@ -59,9 +60,9 @@ export default {
|
||||
setupSetting() {
|
||||
setSetting(this.type, this.formValidate).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { setSetting } from "@/api/index";
|
||||
import { handleSubmit } from "../setting/validate";
|
||||
import { getPaymentSupportForm } from "@/api/setting";
|
||||
@@ -82,27 +83,19 @@ export default {
|
||||
.catch(() => {});
|
||||
},
|
||||
handleChangePayType(val) {
|
||||
this.$Modal.confirm({
|
||||
title: "修改支付设置",
|
||||
content: "您是否修改此项?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
this.setupSetting();
|
||||
},
|
||||
onCancel: () => {
|
||||
this.formValidate = JSON.parse(JSON.stringify(this.checkSupport));
|
||||
},
|
||||
ElMessageBox.confirm("您是否修改此项?", "修改支付设置", { type: "warning" }).then(() => {
|
||||
this.setupSetting();
|
||||
}).catch(() => {
|
||||
this.formValidate = JSON.parse(JSON.stringify(this.checkSupport));
|
||||
});
|
||||
},
|
||||
setupSetting() {
|
||||
setSetting(this.type, { paymentSupportItems: this.formValidate }).then((res) => {
|
||||
if (res.success) {
|
||||
this.checkSupport = JSON.parse(JSON.stringify(this.formValidate));
|
||||
this.$Message.success("保存成功!");
|
||||
this.$Modal.remove();
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
this.$Modal.remove();
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import { setSetting } from "@/api/index";
|
||||
import { handleSubmit } from "../setting/validate";
|
||||
|
||||
@@ -84,9 +85,9 @@ export default {
|
||||
setupSetting() {
|
||||
setSetting(this.type, this.formValidate).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -130,6 +130,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import { getParams, editParams } from "@/api/platform.js";
|
||||
import uploadPicInput from "@/components/lili/upload-pic-input";
|
||||
import { regular } from "@/utils";
|
||||
@@ -446,7 +447,7 @@ export default {
|
||||
editParams(this.base, "base").then((res) => {
|
||||
this.saveLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功");
|
||||
ElMessage.success("保存成功");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -460,7 +461,7 @@ export default {
|
||||
editParams(this.point, "point").then((res) => {
|
||||
this.saveLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功");
|
||||
ElMessage.success("保存成功");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -474,7 +475,7 @@ export default {
|
||||
editParams(this.order, "order").then((res) => {
|
||||
this.saveLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功");
|
||||
ElMessage.success("保存成功");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -488,7 +489,7 @@ export default {
|
||||
editParams(this.goods, "goods").then((res) => {
|
||||
this.saveLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功");
|
||||
ElMessage.success("保存成功");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -502,7 +503,7 @@ export default {
|
||||
editParams(this.wechat, "wechat").then((res) => {
|
||||
this.saveLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功");
|
||||
ElMessage.success("保存成功");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -516,7 +517,7 @@ export default {
|
||||
editParams(this.qq, "qq").then((res) => {
|
||||
this.saveLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功");
|
||||
ElMessage.success("保存成功");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -530,7 +531,7 @@ export default {
|
||||
editParams(this.weibo, "weibo").then((res) => {
|
||||
this.saveLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功");
|
||||
ElMessage.success("保存成功");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -544,7 +545,7 @@ export default {
|
||||
editParams(this.alipay, "alipay").then((res) => {
|
||||
this.saveLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功");
|
||||
ElMessage.success("保存成功");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import { setSetting } from "@/api/index";
|
||||
import { handleSubmit } from "./validate";
|
||||
import ossManage from "@/views/sys/oss-manage/ossManage";
|
||||
@@ -138,12 +139,12 @@ export default {
|
||||
setupSetting() {
|
||||
setSetting(this.type, this.formValidate).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
ElMessage.success("保存成功!");
|
||||
localStorage.setItem("icon", this.formValidate.domainLogo);
|
||||
window.document.title = this.formValidate.siteName + " - 运营后台";
|
||||
this.setStore("title", this.formValidate.siteName);
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -59,7 +59,8 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { setSetting } from "@/api/index";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { setSetting, createIndex, getProgress, deleteGoodsDown, generateGoodsCache, delSkuIndex } from "@/api/index";
|
||||
export default {
|
||||
props: ["res", "type"],
|
||||
data() {
|
||||
@@ -86,16 +87,79 @@ export default {
|
||||
if (valid) {
|
||||
this.setupSetting();
|
||||
} else {
|
||||
this.$Message.error("请正确填写内容!");
|
||||
ElMessage.error("请正确填写内容!");
|
||||
}
|
||||
});
|
||||
},
|
||||
createIndex() {
|
||||
createIndex().then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("开始生成!");
|
||||
this.showProgress = true;
|
||||
setTimeout(() => {
|
||||
this.intervalProgress = setInterval(() => {
|
||||
getProgress().then((resp) => {
|
||||
const progressResult = resp.result;
|
||||
if (progressResult != null && progressResult.flag === 0) {
|
||||
clearInterval(this.intervalProgress);
|
||||
this.showProgress = false;
|
||||
ElMessage.success("生成成功!");
|
||||
} else {
|
||||
this.progressVal = Math.floor((progressResult.processed / progressResult.total) * 100);
|
||||
}
|
||||
});
|
||||
}, 1000);
|
||||
}, 10000);
|
||||
} else if (res.code === 100000) {
|
||||
this.showProgress = true;
|
||||
this.intervalProgress = setInterval(() => {
|
||||
getProgress().then((resp) => {
|
||||
const progressResult = resp.result;
|
||||
if (progressResult != null && progressResult.flag === 0) {
|
||||
clearInterval(this.intervalProgress);
|
||||
this.showProgress = false;
|
||||
ElMessage.success("生成成功!");
|
||||
} else {
|
||||
this.progressVal = Math.floor((progressResult.processed / progressResult.total) * 100);
|
||||
}
|
||||
});
|
||||
}, 1000);
|
||||
}
|
||||
});
|
||||
},
|
||||
deleteDownGoods() {
|
||||
deleteGoodsDown().then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("删除成功!");
|
||||
} else {
|
||||
ElMessage.error("删除失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
generateCache() {
|
||||
generateGoodsCache().then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("生成成功!");
|
||||
} else {
|
||||
ElMessage.error("生成失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
deleteNotExistIndex() {
|
||||
delSkuIndex().then((res) => {
|
||||
if (res.success) {
|
||||
ElMessage.success("删除成功!");
|
||||
} else {
|
||||
ElMessage.error("删除失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
setupSetting() {
|
||||
setSetting(this.type, this.formValidate).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import {setSetting} from "@/api/index";
|
||||
import {handleSubmit} from "./validate";
|
||||
|
||||
@@ -43,9 +44,9 @@ export default {
|
||||
setupSetting() {
|
||||
setSetting(this.type, this.formValidate).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import { setSetting } from "@/api/index";
|
||||
|
||||
const DEFAULT_FORM = {
|
||||
@@ -113,7 +114,7 @@ export default {
|
||||
if (valid) {
|
||||
this.setupSetting();
|
||||
} else {
|
||||
this.$Message.error("请正确填写内容!");
|
||||
ElMessage.error("请正确填写内容!");
|
||||
}
|
||||
});
|
||||
},
|
||||
@@ -124,9 +125,9 @@ export default {
|
||||
});
|
||||
setSetting(this.type, payload).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import { setSetting } from "@/api/index";
|
||||
import { handleSubmit } from "./validate";
|
||||
export default {
|
||||
@@ -80,9 +81,9 @@ export default {
|
||||
setupSetting() {
|
||||
setSetting(this.type, this.formValidate).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import { setSetting } from "@/api/index";
|
||||
import { handleSubmit } from "./validate";
|
||||
export default {
|
||||
@@ -72,9 +73,9 @@ export default {
|
||||
setupSetting() {
|
||||
setSetting(this.type, this.formValidate).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import {setSetting} from "@/api/index";
|
||||
import {handleSubmit} from "./validate";
|
||||
|
||||
@@ -130,9 +131,9 @@ export default {
|
||||
setupSetting() {
|
||||
setSetting(this.type, this.formValidate).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import { setSetting } from "@/api/index";
|
||||
import { handleSubmit } from "./validate";
|
||||
|
||||
@@ -78,9 +79,9 @@ export default {
|
||||
setupSetting() {
|
||||
setSetting(this.type, this.formValidate).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
@@ -89,9 +90,8 @@ export default {
|
||||
},
|
||||
addSign() {
|
||||
if (this.formValidate.pointSettingItems.length >= 4) {
|
||||
this.$Message.error({
|
||||
content: "最多设置4项签到设置",
|
||||
});
|
||||
ElMessage.error("最多设置4项签到设置",
|
||||
);
|
||||
return false;
|
||||
}
|
||||
this.formValidate.pointSettingItems.push({
|
||||
|
||||
@@ -78,6 +78,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import {setSetting} from "@/api/index";
|
||||
import {handleSubmit} from "./validate";
|
||||
|
||||
@@ -125,9 +126,9 @@ export default {
|
||||
setupSetting() {
|
||||
setSetting(this.type, this.formValidate).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import { setSetting } from "@/api/index";
|
||||
import { handleSubmit } from "./validate";
|
||||
export default {
|
||||
@@ -53,9 +54,9 @@ export default {
|
||||
setupSetting() {
|
||||
setSetting(this.type, this.formValidate).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { ElMessage } from "element-plus";
|
||||
//表单中必填
|
||||
export function validateRequired(rule, value, callback) {
|
||||
if (value !== undefined && value !== null && value !== "") {
|
||||
@@ -12,7 +13,7 @@ export function handleSubmit(that, name) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const form = that.$refs[name];
|
||||
if (!form) {
|
||||
that.$Message.error("表单未就绪,请稍后重试");
|
||||
ElMessage.error("表单未就绪,请稍后重试");
|
||||
reject(new Error("form ref missing"));
|
||||
return;
|
||||
}
|
||||
@@ -20,7 +21,7 @@ export function handleSubmit(that, name) {
|
||||
if (valid) {
|
||||
resolve(true);
|
||||
} else {
|
||||
that.$Message.error("请正确填写内容!");
|
||||
ElMessage.error("请正确填写内容!");
|
||||
reject(new Error("validation failed"));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
</el-card>
|
||||
</template>
|
||||
<script>
|
||||
import { ElMessage } from "element-plus";
|
||||
import { getSetting, setSetting } from "@/api/index.js";
|
||||
import template from "./template";
|
||||
export default {
|
||||
@@ -57,9 +58,9 @@ export default {
|
||||
saveSetting() {
|
||||
setSetting("SMS_SETTING", this.form).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("保存成功!");
|
||||
ElMessage.success("保存成功!");
|
||||
} else {
|
||||
this.$Message.error("保存失败!");
|
||||
ElMessage.error("保存失败!");
|
||||
}
|
||||
this.modalVisible = false;
|
||||
});
|
||||
|
||||
@@ -102,6 +102,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import * as API_Setting from "@/api/setting";
|
||||
import uploadPicInput from "@/components/lili/upload-pic-input";
|
||||
|
||||
@@ -206,7 +207,7 @@ export default {
|
||||
API_Setting.addVerification(payload).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("添加成功");
|
||||
ElMessage.success("添加成功");
|
||||
this.getDataList();
|
||||
this.modalVisible = false;
|
||||
}
|
||||
@@ -215,7 +216,7 @@ export default {
|
||||
API_Setting.editVerification(this.form.id, this.form).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("修改成功");
|
||||
ElMessage.success("修改成功");
|
||||
this.getDataList();
|
||||
this.modalVisible = false;
|
||||
}
|
||||
@@ -224,18 +225,14 @@ export default {
|
||||
});
|
||||
},
|
||||
remove(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "确认要删除此验证码源?",
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("确认要删除此验证码源?", "确认删除", { type: "warning" }).then(() => {
|
||||
return API_Setting.delVerification(v.id).then((res) => {
|
||||
if (res.success) {
|
||||
this.$Message.success("验证码源已删除");
|
||||
ElMessage.success("验证码源已删除");
|
||||
this.getDataList();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -137,6 +137,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import {
|
||||
getUserListData,
|
||||
getAllRoleList,
|
||||
@@ -262,29 +263,23 @@ export default {
|
||||
},
|
||||
resetPass() {
|
||||
if (this.selectCount == 0) {
|
||||
this.$Message.warning("请选中数据后重试!");
|
||||
ElMessage.warning("请选中数据后重试!");
|
||||
return;
|
||||
}
|
||||
this.$Modal.confirm({
|
||||
title: "确认重置",
|
||||
content: "您确认要重置所选的 " + this.selectCount + " 条用户数据密码为【123456】?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认要重置所选的 " + this.selectCount + " 条用户数据密码为【123456】?", "确认重置", { type: "warning" }).then(() => {
|
||||
let ids = "";
|
||||
this.selectList.forEach(function (e) {
|
||||
ids += e.id + ",";
|
||||
});
|
||||
ids = ids.substring(0, ids.length - 1);
|
||||
resetPassword(ids).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.clearSelectAll();
|
||||
this.getUserList();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
submitUser() {
|
||||
this.$refs.form.validate((valid) => {
|
||||
@@ -306,7 +301,7 @@ export default {
|
||||
addUser(params).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.getUserList();
|
||||
this.userModalVisible = false;
|
||||
}
|
||||
@@ -316,7 +311,7 @@ export default {
|
||||
editOtherUser(this.form).then((res) => {
|
||||
this.submitLoading = false;
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.getUserList();
|
||||
this.userModalVisible = false;
|
||||
}
|
||||
@@ -369,53 +364,35 @@ export default {
|
||||
},
|
||||
enable(v) {
|
||||
let params = { status: true };
|
||||
this.$Modal.confirm({
|
||||
title: "确认启用",
|
||||
content: "您确认要启用用户 " + v.username + " ?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认要启用用户 " + v.username + " ?", "确认启用", { type: "warning" }).then(() => {
|
||||
enableUser(v.id, params).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.getUserList();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
disable(v) {
|
||||
let params = { status: false };
|
||||
this.$Modal.confirm({
|
||||
title: "确认禁用",
|
||||
content: "您确认要禁用用户 " + v.username + " ?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认要禁用用户 " + v.username + " ?", "确认禁用", { type: "warning" }).then(() => {
|
||||
enableUser(v.id, params).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("操作成功");
|
||||
ElMessage.success("操作成功");
|
||||
this.getUserList();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
remove(v) {
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "您确认要删除用户 " + v.username + " ?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认要删除用户 " + v.username + " ?", "确认删除", { type: "warning" }).then(() => {
|
||||
deleteUser(v.id).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
ElMessage.success("删除成功");
|
||||
this.getUserList();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
showSelect(e) {
|
||||
this.exportData = e;
|
||||
@@ -427,29 +404,23 @@ export default {
|
||||
},
|
||||
delAll() {
|
||||
if (this.selectCount <= 0) {
|
||||
this.$Message.warning("您还未选择要删除的数据");
|
||||
ElMessage.warning("您还未选择要删除的数据");
|
||||
return;
|
||||
}
|
||||
this.$Modal.confirm({
|
||||
title: "确认删除",
|
||||
content: "您确认要删除所选的 " + this.selectCount + " 条数据?",
|
||||
loading: true,
|
||||
onOk: () => {
|
||||
ElMessageBox.confirm("您确认要删除所选的 " + this.selectCount + " 条数据?", "确认删除", { type: "warning" }).then(() => {
|
||||
let ids = "";
|
||||
this.selectList.forEach(function (e) {
|
||||
ids += e.id + ",";
|
||||
});
|
||||
ids = ids.substring(0, ids.length - 1);
|
||||
deleteUser(ids).then((res) => {
|
||||
this.$Modal.remove();
|
||||
if (res.success) {
|
||||
this.$Message.success("删除成功");
|
||||
ElMessage.success("删除成功");
|
||||
this.clearSelectAll();
|
||||
this.getUserList();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}).catch(() => {});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
Reference in New Issue
Block a user