This commit is contained in:
pikachu1995@126.com
2026-07-13 14:32:20 +08:00
151 changed files with 1618 additions and 1800 deletions

View File

@@ -1,7 +1,7 @@
import hotzone from './index.vue'
hotzone.install = (Vue) => {
Vue.component(hotzone.name, hotzone)
hotzone.install = (app) => {
app.component(hotzone.name, hotzone)
}
export default hotzone

View File

@@ -42,17 +42,6 @@
}
}
:deep(.ivu-scroll-container){
width: 100% !important;
height: 400px !important;
}
:deep(.ivu-scroll-content){
/* */
display: flex;
flex-wrap: wrap;
}
.wap-content-list {
overflow-y: auto;
}

View File

@@ -33,13 +33,10 @@ export default {
};
</script>
<style lang="scss" scoped>
:deep(.ivu-card-body){
:deep(.el-card__body) {
height: 414px;
overflow: auto;
}
.ivu-table-wrapper ivu-table-wrapper-with-border {
height: 300px !important;
}
.list {
margin: 0 1.5%;
height: 400px;
@@ -69,11 +66,11 @@ export default {
height: 416px;
overflow: hidden;
}
:deep(.ivu-table){
:deep(.el-table) {
height: 300px !important;
overflow: auto;
}
:deep(.ivu-card-body){
:deep(.el-card__body) {
padding: 0;
height: auto;
}

View File

@@ -63,12 +63,8 @@
ref="ossManage"
:is-component="true"
:initialize="picModalFlag"
@selected="handleOssSelected"
@callback="handleOssCallback"
/>
<template #footer>
<el-button @click="cancelPicModal">取消</el-button>
<el-button type="primary" @click="confirmPicModal">确认</el-button>
</template>
</el-dialog>
</div>
</template>
@@ -117,14 +113,12 @@ export default {
viewImage: false,
uploadFileUrl: uploadFile,
picModalFlag: false,
pendingSelection: [],
selectedFormBtnName: "",
picIndex: "",
};
},
methods: {
handleCLickImg(val, index) {
this.pendingSelection = [];
this.picModalFlag = true;
this.selectedFormBtnName = val;
this.picIndex = index;
@@ -134,41 +128,16 @@ export default {
}
});
},
handleOssSelected(list) {
this.pendingSelection = Array.isArray(list) ? list : [];
},
parseOssSelectionUrl(item) {
if (!item) {
return "";
}
if (typeof item === "string") {
const index = item.indexOf(",");
return index >= 0 ? item.slice(index + 1) : item;
}
return item.url || "";
},
confirmPicModal() {
const list = this.pendingSelection || [];
if (!list.length) {
this.$Message.warning("请先选择图片");
return;
}
const url = this.parseOssSelectionUrl(list[list.length - 1]);
if (!url) {
this.$Message.warning("请选择有效图片");
return;
}
handleOssCallback(item) {
this.picModalFlag = false;
this.currentValue = url;
if (!item?.url) return;
this.currentValue = item.url;
this.picIndex = "";
this.emitValue(this.currentValue);
this.pendingSelection = [];
},
cancelPicModal() {
this.picModalFlag = false;
},
resetPicModal() {
this.pendingSelection = [];
this.selectedFormBtnName = "";
this.picIndex = "";
},
init() {
this.accessToken = {

View File

@@ -22,8 +22,8 @@
<script>
import AMapLoader from "@amap/amap-jsapi-loader";
import { getRegion } from "@/api/common.js";
import config from "@/config/index";
const config = require('@/config/index')
export default {
name: "map",
data() {

View File

@@ -22,8 +22,9 @@ import { setStore, getStore, removeStore } from "@/libs/storage";
import util from "@/libs/util";
import { md5 } from "@/utils/md5.js";
import * as filters from "@/utils/filters";
import config from "@/config";
const { aMapSecurityJsCode, mainColor } = require("@/config");
const { aMapSecurityJsCode, mainColor } = config;
if (aMapSecurityJsCode) {
window._AMapSecurityConfig = {

View File

@@ -1,6 +1,6 @@
import Main from "@/views/Main.vue";
import config from "@/config/index";
const config = require('@/config/index')
// 不作为Main组件的子页面展示的页面单独写如下
export const loginRouter = {
path: "/login",

View File

@@ -1,4 +1,6 @@
const { setting } = require("@/config");
import config from "@/config";
const { setting } = config;
const localSetting = window.localStorage.getItem('admin-setting')
const settingData = {

View File

@@ -13,8 +13,8 @@
border-radius: 1em;
background-color: rgba(50,50,50,.1);
}
.ivu-table table{
width: 100%!important;
.el-table table {
width: 100% !important;
}
.flex{
@@ -151,7 +151,6 @@ $bg_color: #f1f6fa;
border-radius: 0.4em;
flex-wrap: wrap;
> .ivu-form-item,
> .el-form-item {
margin: 8px 10px !important;
}
@@ -174,7 +173,3 @@ $bg_color: #f1f6fa;
margin-top: 10px;
}
// 兼容遗留 iView 结构
.ivu-card + .ivu-card {
margin-top: 10px;
}

View File

@@ -23,7 +23,6 @@
border-radius: 0.4em;
flex-wrap: wrap;
> .ivu-form-item,
> .el-form-item {
margin: 8px 10px !important;
}
@@ -48,7 +47,3 @@
margin-top: 10px;
}
// 兼容遗留 iView
.ivu-card + .ivu-card {
margin-top: 10px;
}

View File

@@ -32,7 +32,3 @@
display: block;
}
.block-pop .ivu-poptip,
.block-pop .ivu-poptip-rel {
display: block;
}

View File

@@ -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: "",
};
},

View File

@@ -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("设置失败,请检查权限或后端接口");
});
});
}

View File

@@ -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 },
});

View File

@@ -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;
}

View File

@@ -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();
});
},
},

View File

@@ -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(() => {

View File

@@ -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() {

View File

@@ -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() {

View File

@@ -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() {

View File

@@ -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;

View File

@@ -10,7 +10,7 @@ h4 {
margin: 20px 0;
font-size: 18px;
}
:deep(.ivu-icon){
.icon {
margin-left: 40px;
margin-right: 40px;
}

View File

@@ -13,7 +13,8 @@
</template>
<script>
const config = require("@/config/index");
import config from "@/config/index";
export default {
data() {
return {

View File

@@ -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;

View File

@@ -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 = "";

View File

@@ -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() {

View File

@@ -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(() => {

View File

@@ -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() {

View File

@@ -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() {

View File

@@ -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();
}

View File

@@ -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;

View File

@@ -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();
}

View File

@@ -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();

View File

@@ -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();

View File

@@ -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() {

View File

@@ -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 },
});

View File

@@ -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;

View File

@@ -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 },
});

View File

@@ -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();
}

View File

@@ -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();
},

View File

@@ -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 },
});

View File

@@ -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();
}

View File

@@ -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)

View File

@@ -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: ''

View File

@@ -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,

View File

@@ -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, // 确认后写回的原数据

View File

@@ -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;

View File

@@ -1,5 +1,3 @@
:deep(.ivu-modal-mask),
:deep(.ivu-modal-wrap),
:deep(.el-overlay) {
z-index: 2000;
}

View File

@@ -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弹窗口类型

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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() {

View File

@@ -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) || "日志查询失败");
}
});
},

View File

@@ -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() {

View File

@@ -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() {

View File

@@ -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("邮箱开关更新成功");
}
},
},

View File

@@ -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();
}
});

View File

@@ -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;

View File

@@ -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();
}
});

View File

@@ -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();
}
})

View File

@@ -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%;
}
}

View File

@@ -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"-->
<!--&gt;-->
<!--<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"-->
<!--&gt;批量删除-->
<!--</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"-->
<!--&gt;共计 {{ totalSize }} 存储量</span-->
<!--&gt;-->
<!--</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"-->
<!--&gt;-->
<!--<template slot="contextMenu" v-if="!isComponent">-->
<!--<DropdownItem @click.native="handleContextMenuEdit"-->
<!--&gt;编辑-->
<!--</DropdownItem-->
<!--&gt;-->
<!--<DropdownItem-->
<!--style="color: #ed4014"-->
<!--@click.native="handleContextMenuDelete"-->
<!--&gt;删除-->
<!--</DropdownItem-->
<!--&gt;-->
<!--</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"-->
<!--&gt;-->
<!--<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)"-->
<!--&gt;-->
<!--&lt;!&ndash; 文件小于5MB显示video &ndash;&gt;-->
<!--<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"-->
<!--&gt;</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;
}

View File

@@ -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();

View File

@@ -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("保存失败!");
}
});
},

View File

@@ -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() {

View File

@@ -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() {

View File

@@ -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("保存失败!");
}
});
},

View File

@@ -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("保存失败!");
}
});
},

View File

@@ -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("保存失败!");
}
});
},

View File

@@ -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("保存成功");
}
});
}

View File

@@ -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("保存失败!");
}
});
},

View File

@@ -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("保存失败!");
}
});
},

View File

@@ -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("保存失败!");
}
});
},

View File

@@ -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("保存失败!");
}
});
},

View File

@@ -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("保存失败!");
}
});
},

View File

@@ -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("保存失败!");
}
});
},

View File

@@ -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("保存失败!");
}
});
},

View File

@@ -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({

View File

@@ -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("保存失败!");
}
});
},

View File

@@ -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("保存失败!");
}
});
},

View File

@@ -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"));
}
});

View File

@@ -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;
});

View File

@@ -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() {

View File

@@ -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() {