+
+ 取消
+ 确定
+
@@ -122,6 +124,7 @@
@callback="callbackSelected"
:is-component="true"
:initialize="picModelFlag"
+ :max-select="1"
ref="ossManage"
/>
@@ -140,6 +143,7 @@ export default {
return {
showModal: false, // modal显隐
selected: null, // 已选数据
+ draftList: [], // 弹窗编辑草稿
picModelFlag: false, // 选择图片modal
userInfo: {},
articleList: [
@@ -152,14 +156,29 @@ export default {
},
methods: {
+ cloneList(list) {
+ return JSON.parse(JSON.stringify(list || []));
+ },
handleSelectModel() {
- // 编辑模块
+ this.draftList = this.cloneList(this.data.options.list);
this.showModal = true;
},
+ handleCancelModal() {
+ this.draftList = [];
+ this.showModal = false;
+ },
+ handleConfirmModal() {
+ this.data.options.list.splice(
+ 0,
+ this.data.options.list.length,
+ ...this.cloneList(this.draftList)
+ );
+ this.draftList = [];
+ this.showModal = false;
+ },
// 添加轮播图
handleAdd() {
- this.data.options.list.push({ img: "", url: "", type: "" });
- this.$forceUpdate();
+ this.draftList.push({ img: "", url: "", type: "" });
},
handleSelectLink(item) {
// 选择链接
@@ -169,11 +188,11 @@ export default {
callbackSelected(item) {
// 选择图片回调
this.picModelFlag = false;
+ if (!item?.url) return;
this.selected.img = item.url;
},
handleDel(index) {
- // 删除图片
- this.data.options.list.splice(index, 1);
+ this.draftList.splice(index, 1);
},
selectedLink(val) {
// 选择链接回调
@@ -268,18 +287,24 @@ export default {
}
}
.shop-msg {
+ width: 100%;
+ display: flex;
+ justify-content: center;
+
div {
width: 100%;
- margin: 10px 27px;
+ margin: 10px 0;
+ text-align: center;
+
span {
+ display: block;
cursor: pointer;
text-align: center;
font-weight: bold;
- margin-left: 5px;
+ margin-left: 0;
}
span:nth-child(1) {
color: $theme_color;
- margin-left: 0;
}
span:nth-child(2) {
font-weight: normal;
@@ -290,11 +315,15 @@ export default {
}
ul {
- margin: 0 30px;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+
li {
cursor: pointer;
margin: 5px 0;
color: #999395;
+ text-align: center;
&:hover {
color: $theme_color;
}
diff --git a/manager/src/views/page-decoration/modelList/carousel1.vue b/manager/src/views/page-decoration/modelList/carousel1.vue
index 31259acc..2f0d0e9a 100644
--- a/manager/src/views/page-decoration/modelList/carousel1.vue
+++ b/manager/src/views/page-decoration/modelList/carousel1.vue
@@ -84,7 +84,7 @@
-
+
@@ -130,6 +130,7 @@ export default {
callbackSelected(item) {
// 选择图片回调
this.picModelFlag = false;
+ if (!item?.url) return;
this.selected.img = item.url;
},
// 删除图片
diff --git a/manager/src/views/page-decoration/modelList/carousel2.vue b/manager/src/views/page-decoration/modelList/carousel2.vue
index 781c9f8d..b46e4135 100644
--- a/manager/src/views/page-decoration/modelList/carousel2.vue
+++ b/manager/src/views/page-decoration/modelList/carousel2.vue
@@ -204,7 +204,7 @@
-
+
@@ -262,6 +262,7 @@ export default {
callbackSelected(item) {
// 选择图片回调
this.picModelFlag = false;
+ if (!item?.url) return;
this.selected.img = item.url;
},
// 删除图片
@@ -367,18 +368,24 @@ export default {
}
}
.shop-msg {
+ width: 100%;
+ display: flex;
+ justify-content: center;
+
div {
width: 100%;
- margin: 10px 27px;
+ margin: 10px 0;
+ text-align: center;
+
span {
+ display: block;
cursor: pointer;
text-align: center;
font-weight: bold;
- margin-left: 5px;
+ margin-left: 0;
}
span:nth-child(1) {
color: $theme_color;
- margin-left: 0;
}
span:nth-child(2) {
font-weight: normal;
@@ -387,13 +394,19 @@ export default {
color: $theme_color;
}
}
+
ul {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+
li {
cursor: pointer;
margin: 5px 0;
color: #999395;
- width: 150px;
+ width: auto;
font-size: 12px;
+ text-align: center;
&:hover {
color: $theme_color;
}
diff --git a/manager/src/views/page-decoration/modelList/firstPageAdvert.vue b/manager/src/views/page-decoration/modelList/firstPageAdvert.vue
index 5dca3a7c..9021f980 100644
--- a/manager/src/views/page-decoration/modelList/firstPageAdvert.vue
+++ b/manager/src/views/page-decoration/modelList/firstPageAdvert.vue
@@ -26,13 +26,13 @@
+ append-to-body
+ destroy-on-close
+ >
-
+
- 图片主标题:
- 图片描述:
-
- 建议尺寸: {{ selected.size }}
+
+ 图片主标题:
+
-
- 图片链接:
- 选择链接
+ 图片描述:
+
+
+ 建议尺寸:{{ selected.size }}
+
+
+
+
+
+ 选择图片:
+ 选择图片
-
- 渐变背景色:
-
-
-
- 渐变背景色:
-
-
-
-
- 选择图片:选择图片
-
+
+ 取消
+ 确定
+
@@ -86,6 +112,7 @@
@callback="callbackSelected"
:is-component="true"
:initialize="picModelFlag"
+ :max-select="1"
ref="ossManage"
/>
@@ -105,14 +132,19 @@ export default {
return {
options: this.data.options, // 当前类型数据
showModal: false, // modal显隐
- selected: {}, // 已选数据
+ selected: {}, // 弹窗编辑草稿
+ editTarget: null, // 确认后写回的原数据
picModelFlag: false, // 图片选择器
};
},
methods: {
+ cloneItem(item) {
+ return JSON.parse(JSON.stringify(item || {}));
+ },
// 打开装修modal
- handleSelectModel(item, type) {
- this.selected = item;
+ handleSelectModel(item) {
+ this.editTarget = item;
+ this.selected = this.cloneItem(item);
this.showModal = true;
},
handleSelectLink(item, index) {
@@ -137,8 +169,22 @@ export default {
// 选择图片回调
callbackSelected(val) {
this.picModelFlag = false;
+ if (!val?.url) return;
this.selected.img = val.url;
},
+ handleCancelModal() {
+ this.editTarget = null;
+ this.selected = {};
+ this.showModal = false;
+ },
+ handleConfirmModal() {
+ if (this.editTarget) {
+ Object.assign(this.editTarget, this.cloneItem(this.selected));
+ }
+ this.editTarget = null;
+ this.selected = {};
+ this.showModal = false;
+ },
},
};
@@ -148,7 +194,6 @@ export default {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
- // margin-top: -10px;
.item {
width: 393px;
height: 170px;
@@ -192,12 +237,86 @@ export default {
width: 154px;
}
}
+
.modal-top-advert {
- align-items: start;
- padding: 0 30px;
- .exhibition {
- width: 300px;
- height: 50px;
+ display: flex;
+ flex-direction: column;
+ align-items: stretch;
+ padding: 0 20px;
+ width: 100%;
+ box-sizing: border-box;
+
+ .modal-form-item {
+ display: flex;
+ align-items: center;
+ width: 100%;
+ margin-bottom: 16px;
+
+ .modal-label {
+ flex-shrink: 0;
+ width: 100px;
+ text-align: right;
+ padding-right: 12px;
+ }
+
+ .el-input {
+ flex: 1;
+ }
+ }
+
+ .modal-form-preview {
+ justify-content: center;
+ margin-bottom: 8px;
+ }
+
+ .modal-form-link {
+ align-items: flex-start;
+
+ .modal-label {
+ padding-top: 8px;
+ }
+
+ .modal-link-field {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ min-width: 0;
+
+ .outsideUrl {
+ flex: 1;
+ min-width: 0;
+ }
+ }
+ }
+
+ .modal-color-field {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ gap: 10px;
+
+ .el-input {
+ flex: 1;
+ }
+ }
+
+ .modal-form-exhibition {
+ padding-left: 112px;
+ box-sizing: border-box;
+
+ .exhibition {
+ width: 100%;
+ height: 50px;
+ border-radius: 4px;
+ }
+ }
+
+ .tips {
+ padding-left: 112px;
+ margin-bottom: 16px;
+ color: #999;
+ font-size: 12px;
}
}
diff --git a/manager/src/views/page-decoration/modelList/forYour.vue b/manager/src/views/page-decoration/modelList/forYour.vue
index ba220af1..147cb126 100644
--- a/manager/src/views/page-decoration/modelList/forYour.vue
+++ b/manager/src/views/page-decoration/modelList/forYour.vue
@@ -55,23 +55,23 @@
:close-on-click-modal="false"
append-to-body destroy-on-close>
-
+
主标题:
-
+
左侧商品部分
图片 :
- ![]()
+
- 推荐尺寸:{{ data.options.data.image.size }}
+ 推荐尺寸:{{ draftOptions.data.image.size }}
链接地址:
@@ -95,7 +95,7 @@
中间商品部分
@@ -129,12 +129,12 @@
右侧标题 :
+
+ 取消
+ 确定
+
@@ -169,6 +173,7 @@
@callback="callbackSelected"
:is-component="true"
:initialize="picModelFlag"
+ :max-select="1"
ref="ossManage"
/>
@@ -183,13 +188,11 @@ export default {
data() {
return {
showModal: false,
-
+ draftOptions: null,
picModelFlag: false,
selectedData: "", //选中的数据
goodsIndex: 0, // 商品索引
- align: "",
defaultCallbackImageType: "",
- current: "",
};
},
props: {
@@ -204,6 +207,9 @@ export default {
mounted() {
},
methods: {
+ cloneOptions(options) {
+ return JSON.parse(JSON.stringify(options || {}));
+ },
handleSelectImg(type, index) {
this.defaultCallbackImageType = type;
this.goodsIndex = index;
@@ -232,45 +238,51 @@ export default {
// 回显图片
callbackSelected(val) {
this.picModelFlag = false;
+ if (!val?.url || !this.draftOptions) return;
if (this.defaultCallbackImageType == "image") {
- this.data.options.data.image.src = val.url;
+ this.draftOptions.data.image.src = val.url;
} else {
- this.data.options.data[this.defaultCallbackImageType][
+ this.draftOptions.data[this.defaultCallbackImageType][
this.goodsIndex
].img = val.url;
}
},
// 选择商品回调
selectedGoodsData(val) {
- this.data.options.data.hot.list[this.goodsIndex].img = val[0].thumbnail;
- this.data.options.data.hot.list[this.goodsIndex].title = val[0].goodsName;
- this.data.options.data.hot.list[this.goodsIndex].price = val[0].price;
- this.data.options.data.hot.list[this.goodsIndex].url =
- this.$filters.formatLinkType(val[0]);
-
- console.log(val, this.selectedData, this.goodsIndex);
+ if (!val?.length || !this.draftOptions) return;
+ const item = this.draftOptions.data.hot.list[this.goodsIndex];
+ item.img = val[0].thumbnail;
+ item.title = val[0].goodsName;
+ item.price = val[0].price;
+ item.url = this.$filters.formatLinkType(val[0]);
},
// 选择链接回调
selectedLink(val) {
- console.log(val,this.selectedData)
+ if (!this.draftOptions) return;
if (this.selectedData == "image") {
- this.data.options.data.image.url =
- this.$filters.formatLinkType(val);
+ this.draftOptions.data.image.url = this.$filters.formatLinkType(val);
} else {
- console.log(this.data.options.data.list,this.goodsIndex)
- this.data.options.data.list[
- this.goodsIndex
- ].url = this.$filters.formatLinkType(val);
+ this.draftOptions.data.list[this.goodsIndex].url =
+ this.$filters.formatLinkType(val);
}
},
- /*
- * 点击不同模块进行编辑
- * 判断也很简单,就是第一个第二个模块进行判断
- *
- * */
handleSelectModel() {
+ this.draftOptions = this.cloneOptions(this.data.options);
this.showModal = true;
},
+ handleCancelModal() {
+ this.draftOptions = null;
+ this.showModal = false;
+ },
+ handleConfirmModal() {
+ if (this.draftOptions) {
+ const saved = this.cloneOptions(this.draftOptions);
+ this.data.options.title = saved.title;
+ this.data.options.data = saved.data;
+ }
+ this.draftOptions = null;
+ this.showModal = false;
+ },
},
};
diff --git a/manager/src/views/page-decoration/modelList/goodsAndType.vue b/manager/src/views/page-decoration/modelList/goodsAndType.vue
index 430dd80b..cec3c8f5 100644
--- a/manager/src/views/page-decoration/modelList/goodsAndType.vue
+++ b/manager/src/views/page-decoration/modelList/goodsAndType.vue
@@ -39,7 +39,7 @@
编辑
@@ -54,16 +54,16 @@
:close-on-click-modal="false"
append-to-body destroy-on-close>
-
+
标题
-
+
-
+
标签
增加
@@ -73,7 +73,7 @@
@tab-click="handleClickTab"
>
{
return subset.___index == tabCurrentlyIndex;
})"
:key="index"
@@ -112,6 +112,10 @@
+
+ 取消
+ 确定
+
@@ -136,11 +140,10 @@ export default {
},
data() {
return {
- tabIndex:0,
+ tabIndex: 0,
current: 0,
showModal: false,
- selected: {}, // 已选数据
- picModelFlag: false,
+ draftOptions: null,
tabCurrentlyIndex: 0, // 选项卡索引
};
},
@@ -148,89 +151,111 @@ export default {
this.tabIndex = this.data.options.labels[0].___index
},
methods: {
+ cloneOptions(options) {
+ return JSON.parse(JSON.stringify(options || {}));
+ },
/**
* 算出最大的index 然后索引叠加
*/
handleTabsAdd() {
- let findAllIndex = this.data.options.labels.map((item) => {
- return item.___index;
- });
- let max = Math.max.apply(null, findAllIndex);
+ if (!this.draftOptions) return;
+ const findAllIndex = this.draftOptions.labels.map((item) => item.___index);
+ const max = Math.max.apply(null, findAllIndex);
- this.data.options.labels.push({
+ this.draftOptions.labels.push({
label: "标签" + (max + 1),
___index: max + 1,
});
},
// 删除标签
- handleContextMenuDelete(item,index) {
- // 删除标签下关联的商品
- this.data.options.list.forEach((lab,currently)=>{
- if(lab.___index == item.___index){
- this.data.options.list.splice(currently,1)
- }
- })
- // 删除当前标签
- this.data.options.labels.splice(index,1)
+ handleContextMenuDelete(item, index) {
+ if (!this.draftOptions) return;
+ this.draftOptions.list = this.draftOptions.list.filter(
+ (lab) => lab.___index != item.___index
+ );
+ this.draftOptions.labels.splice(index, 1);
},
// 删除商品
delGoods(val) {
- this.data.options.list.forEach((item, i) => {
+ if (!this.draftOptions) return;
+ this.draftOptions.list.forEach((item, i) => {
if (
item.title == val.title &&
item.___index == this.tabCurrentlyIndex
) {
- this.data.options.list.splice(i, 1);
+ this.draftOptions.list.splice(i, 1);
}
});
},
// 切换选项卡
handleClickTab(name) {
- console.log(name)
- this.tabCurrentlyIndex = name;
+ this.tabCurrentlyIndex = name.paneName ?? name;
},
// 添加当前选项卡中的商品
addCurrentGoods() {
-
this.$refs.liliDialog.clearGoodsSelected();
this.$refs.liliDialog.open("goods");
},
// 编辑模块
- handleSelectModel(item) {
- console.log(item);
- this.selected = item;
+ handleSelectModel() {
+ this.draftOptions = this.cloneOptions({
+ title: this.data.options.title,
+ labels: this.data.options.labels,
+ list: this.data.options.list,
+ });
+ this.tabCurrentlyIndex = this.draftOptions.labels[0]?.___index ?? 0;
+ this.tabIndex = String(this.tabCurrentlyIndex);
this.showModal = true;
},
// 选择商品回调
selectedGoodsData(val) {
- if (val.length) {
- val.forEach((item) => {
- const pushGoodsDetail = {
- img: item.thumbnail,
- price: item.price,
- title: item.goodsName,
- desc: "",
- url: `/goodsDetail?skuId=${item.id}&goodsId=${item.goodsId}`,
- ___index: this.tabCurrentlyIndex,
- };
- this.data.options.list.push(pushGoodsDetail);
+ if (!val?.length || !this.draftOptions) return;
+ val.forEach((item) => {
+ this.draftOptions.list.push({
+ img: item.thumbnail,
+ price: item.price,
+ title: item.goodsName,
+ desc: "",
+ url: `/goodsDetail?skuId=${item.id}&goodsId=${item.goodsId}`,
+ ___index: this.tabCurrentlyIndex,
});
- }
+ });
},
// 选择链接回调
selectedLink(val) {
- this.selected[this.current].url =
- this.$filters.formatLinkType(val);
- this.selected[this.current].type =
+ if (!this.draftOptions?.list?.length) return;
+ const item = this.draftOptions.list[this.current];
+ if (!item) return;
+ item.url = this.$filters.formatLinkType(val);
+ item.type =
val.___type === "other" && val.url === "" ? "link" : "other";
-
- console.log(this.selected[this.current]);
},
handleSelectLink(index) {
- // 调起选择链接弹窗
this.$refs.liliDialog.open("link");
this.current = index;
},
+ handleCancelModal() {
+ this.draftOptions = null;
+ this.showModal = false;
+ },
+ handleConfirmModal() {
+ if (this.draftOptions) {
+ const saved = this.cloneOptions(this.draftOptions);
+ this.data.options.title = saved.title;
+ this.data.options.labels.splice(
+ 0,
+ this.data.options.labels.length,
+ ...saved.labels
+ );
+ this.data.options.list.splice(
+ 0,
+ this.data.options.list.length,
+ ...saved.list
+ );
+ }
+ this.draftOptions = null;
+ this.showModal = false;
+ },
},
};
diff --git a/manager/src/views/page-decoration/modelList/mixModel.vue b/manager/src/views/page-decoration/modelList/mixModel.vue
index c49bafad..8d1c6692 100644
--- a/manager/src/views/page-decoration/modelList/mixModel.vue
+++ b/manager/src/views/page-decoration/modelList/mixModel.vue
@@ -138,6 +138,10 @@
+
+ 取消
+ 确定
+
@@ -153,6 +157,7 @@
@callback="callbackSelected"
:is-component="true"
:initialize="picModelFlag"
+ :max-select="1"
ref="ossManage"
/>
@@ -169,7 +174,7 @@ export default {
data() {
return {
showModal: false,
- current: "", //当前选择的模块
+ current: null, // 当前编辑的模块草稿
picModelFlag: false,
selectedData: "", //选中的数据
goodsIndex: 0, // 商品索引
@@ -190,6 +195,9 @@ export default {
},
mounted() {},
methods: {
+ cloneModule(module) {
+ return JSON.parse(JSON.stringify(module || {}));
+ },
handleSelectImg(type, index) {
this.defaultCallbackImageType = type;
this.goodsIndex = index;
@@ -217,54 +225,49 @@ export default {
// 回显图片
callbackSelected(val) {
this.picModelFlag = false;
+ if (!val?.url || !this.current) return;
if (this.defaultCallbackImageType == "default") {
- console.log(this.current.data.image);
this.current.data.image.src = val.url;
} else {
- console.log(this.goodsIndex, this.data.options[this.align].data.list);
- this.data.options[this.align].data.list[this.goodsIndex].img = val.url;
-
- // this.data.options[this.align].data[this.selectedData][this.goodsIndex].url = val.img
+ this.current.data.list[this.goodsIndex].img = val.url;
}
},
// 选择商品回调
selectedGoodsData(val) {
- console.log(val);
- this.$nextTick(() => {
- this.data.options[this.align].data.list[this.goodsIndex].img =
- val[0].thumbnail;
- this.data.options[this.align].data.list[this.goodsIndex].title =
- val[0].goodsName;
- this.data.options[this.align].data.list[this.goodsIndex].price =
- val[0].price;
- this.data.options[this.align].data.list[this.goodsIndex].url =
- val[0].url;
- });
- console.log(this.data.options[this.align].data.list[this.goodsIndex]);
- this.$forceUpdate();
+ if (!val?.length || !this.current) return;
+ const item = this.current.data.list[this.goodsIndex];
+ item.img = val[0].thumbnail;
+ item.title = val[0].goodsName;
+ item.price = val[0].price;
+ item.url = val[0].url;
},
// 选择链接回调
selectedLink(val) {
+ if (!this.current) return;
+ const formattedUrl = this.$filters.formatLinkType(val);
if (this.selectedData != "list") {
- this.data.options[this.align].data[this.selectedData].url = this.$filters.formatLinkType(val);
- console.log(this.data.options[this.align].data[this.selectedData])
+ this.current.data[this.selectedData].url = formattedUrl;
}
if (this.selectedData == "list") {
- this.data.options[this.align].data[this.selectedData][this.goodsIndex]
- .url = this.$filters.formatLinkType(val);
+ this.current.data.list[this.goodsIndex].url = formattedUrl;
}
},
- /*
- * 点击不同模块进行编辑
- * 判断也很简单,就是第一个第二个模块进行判断
- *
- * */
handleSelectModel(align) {
this.align = align;
- this.current = this.data.options[align];
- console.log(this.data.options[align]);
+ this.current = this.cloneModule(this.data.options[align]);
this.showModal = true;
},
+ handleCancelModal() {
+ this.current = null;
+ this.showModal = false;
+ },
+ handleConfirmModal() {
+ if (this.current && this.align) {
+ this.data.options[this.align] = this.cloneModule(this.current);
+ }
+ this.current = null;
+ this.showModal = false;
+ },
},
};
diff --git a/manager/src/views/page-decoration/modelList/newGoodsSort.vue b/manager/src/views/page-decoration/modelList/newGoodsSort.vue
index 2b71d56c..e08a722c 100644
--- a/manager/src/views/page-decoration/modelList/newGoodsSort.vue
+++ b/manager/src/views/page-decoration/modelList/newGoodsSort.vue
@@ -121,13 +121,13 @@
+ append-to-body
+ destroy-on-close
+ >
-
+
- 图片主标题:
- 图片描述:
-
- 建议尺寸: {{ selected.size }}
+
+ 图片主标题:
+
-
- 图片链接:
- 选择链接
+
+ 图片描述:
+
-
+ 建议尺寸:{{ selected.size }}
+
+
选择图片
-
+ >
选择商品
+
+ 取消
+ 确定
+
+ append-to-body
+ destroy-on-close
+ >
- 主标题:
- 副标题:
-
- 副标题链接:
+ 主标题:
+
+
+
+ 副标题:
+
+
+
-
+
+ 取消
+ 确定
+
@@ -239,15 +262,19 @@ export default {
options: this.data.options, // 当前数据
showModal: false, // modal显隐
showModal1: false, // modal显隐
- selected: {}, // 已选数据
+ selected: {}, // 弹窗编辑草稿
+ editTarget: null, // 确认后写回的原数据
picModelFlag: false, // 选择图片modal
};
},
methods: {
+ cloneItem(item) {
+ return JSON.parse(JSON.stringify(item || {}));
+ },
// 装修modal
handleSelectModel(item, type) {
- this.selected = item;
- console.warn(item);
+ this.editTarget = item;
+ this.selected = this.cloneItem(item);
if (type) {
this.showModal1 = true;
} else {
@@ -259,9 +286,10 @@ export default {
this.$refs.liliDialog.open("link");
},
handleSelectGoods(item) {
- // 调起选择商品
- console.warn(item);
- if (item) this.selected = item;
+ if (item) {
+ this.editTarget = item;
+ this.selected = this.cloneItem(item);
+ }
this.$refs.liliDialog.open("goods", "single");
setTimeout(() => {
this.$refs.liliDialog.goodsData = [this.selected];
@@ -269,18 +297,24 @@ export default {
},
// 选择链接回调
selectedLink(val) {
+ if (!this.selected) return;
this.selected.url = this.$filters.formatLinkType(val);
this.selected.type =
val.___type === "other" && val.url === "" ? "link" : "other";
},
// 选择商品回调
selectedGoodsData(val) {
- let goods = val[0];
- console.log(this.selected);
+ if (!val?.length || !this.selected) return;
+ const goods = val[0];
this.selected.img = goods.thumbnail;
this.selected.price = goods.price;
this.selected.name = goods.goodsName;
this.selected.url = `/goodsDetail?skuId=${goods.id}&goodsId=${goods.goodsId}`;
+ if (this.editTarget && !this.showModal && !this.showModal1) {
+ Object.assign(this.editTarget, this.cloneItem(this.selected));
+ this.editTarget = null;
+ this.selected = {};
+ }
},
handleSelectImg() {
// 选择图片
@@ -294,8 +328,35 @@ export default {
// 选择图片回显
callbackSelected(val) {
this.picModelFlag = false;
+ if (!val?.url) return;
this.selected.img = val.url;
},
+ handleCancelModal() {
+ this.editTarget = null;
+ this.selected = {};
+ this.showModal = false;
+ },
+ handleConfirmModal() {
+ if (this.editTarget) {
+ Object.assign(this.editTarget, this.cloneItem(this.selected));
+ }
+ this.editTarget = null;
+ this.selected = {};
+ this.showModal = false;
+ },
+ handleCancelModal1() {
+ this.editTarget = null;
+ this.selected = {};
+ this.showModal1 = false;
+ },
+ handleConfirmModal1() {
+ if (this.editTarget) {
+ Object.assign(this.editTarget, this.cloneItem(this.selected));
+ }
+ this.editTarget = null;
+ this.selected = {};
+ this.showModal1 = false;
+ },
},
};
@@ -573,7 +634,78 @@ export default {
}
}
.modal-top-advert {
- align-items: start;
- padding: 0 30px;
+ display: flex;
+ flex-direction: column;
+ align-items: stretch;
+ padding: 0 20px;
+ width: 100%;
+ box-sizing: border-box;
+
+ .modal-form-item {
+ display: flex;
+ align-items: center;
+ width: 100%;
+ margin-bottom: 16px;
+
+ .modal-label {
+ flex-shrink: 0;
+ width: 100px;
+ text-align: right;
+ padding-right: 12px;
+ }
+
+ .el-input {
+ flex: 1;
+ }
+ }
+
+ .modal-form-preview {
+ justify-content: center;
+ margin-bottom: 8px;
+ }
+
+ .modal-form-link {
+ align-items: flex-start;
+
+ .modal-label {
+ padding-top: 8px;
+ }
+
+ .modal-link-field {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ min-width: 0;
+
+ .outsideUrl {
+ flex: 1;
+ min-width: 0;
+ }
+ }
+ }
+
+ .modal-form-actions {
+ padding-left: 112px;
+ gap: 10px;
+ }
+
+ .modal-color-field {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ gap: 10px;
+
+ .el-input {
+ flex: 1;
+ }
+ }
+
+ .tips {
+ padding-left: 112px;
+ margin-bottom: 16px;
+ color: #999;
+ font-size: 12px;
+ }
}
diff --git a/manager/src/views/page-decoration/modelList/notEnough.vue b/manager/src/views/page-decoration/modelList/notEnough.vue
index 923bb434..a04ba5e4 100644
--- a/manager/src/views/page-decoration/modelList/notEnough.vue
+++ b/manager/src/views/page-decoration/modelList/notEnough.vue
@@ -1,23 +1,24 @@
-
- -
-
{{item.title}}
- {{item.desc}}
-
-
+
+
+ -
+
{{item.title}}
+ {{item.desc}}
+
+
+
-
+
{{item.name}}
{{ $filters.unitPrice(item.price, '¥') }}
-
@@ -29,12 +30,12 @@
-
+ append-to-body
+ destroy-on-close
+ @close="handleCancelModal">
+
添加分类
@@ -45,7 +46,7 @@
-
+
|
|
@@ -55,8 +56,40 @@
|
+
+ 取消
+ 确定
+
+
+
+
+
+
+ 商品名称:
+ {{ selected.name }}
+
+
+ 商品价格:
+ {{ $filters.unitPrice(selected.price, '¥') }}
+
+
+ 选择商品
+
+
+
+ 取消
+ 确定
+
-
{
- this.$refs.liliDialog.goodsData = [this.selected]
+ this.$refs.liliDialog.goodsData = [this.selected];
}, 500);
},
- // 选择商品回调
selectedGoodsData(val){
- console.log(val)
- let goods = val[0]
- this.selected.img = goods.thumbnail
- this.selected.price = goods.price
- this.selected.name = goods.goodsName
- this.selected.url = `/goodsDetail?skuId=${goods.id}&goodsId=${goods.goodsId}`
+ if (!val?.length) return;
+ const goods = val[0];
+ this.selected.img = goods.thumbnail;
+ this.selected.price = goods.price;
+ this.selected.name = goods.goodsName;
+ this.selected.url = `/goodsDetail?skuId=${goods.id}&goodsId=${goods.goodsId}`;
},
- handleDelNav(index){ // 删除导航
- this.conData.options.navList.splice(index,1)
- this.conData.options.list.splice(index,1)
+ handleDelNav(index){
+ this.draftNavList.splice(index,1);
+ this.draftGoodsList.splice(index,1);
},
- handleAddNav(){ // 添加导航
- this.conData.options.navList.push(
- {title:'',desc:''}
- )
- this.conData.options.list.push(
- [{ img:'', name:'', price:0, url:'' },
+ handleAddNav(){
+ this.draftNavList.push({ title:'', desc:'' });
+ this.draftGoodsList.push([
{ img:'', name:'', price:0, url:'' },
{ img:'', name:'', price:0, url:'' },
{ img:'', name:'', price:0, url:'' },
@@ -133,27 +175,66 @@ export default {
{ img:'', name:'', price:0, url:'' },
{ img:'', name:'', price:0, url:'' },
{ img:'', name:'', price:0, url:'' },
- ],
- )
- this.showContent = false
- this.$nextTick(()=>{
+ { img:'', name:'', price:0, url:'' },
+ ]);
+ },
+ handleCancelModal() {
+ this.draftNavList = [];
+ this.draftGoodsList = [];
+ this.showModal = false;
+ },
+ handleConfirmModal() {
+ this.conData.options.navList = this.cloneList(this.draftNavList);
+ this.conData.options.list = this.cloneList(this.draftGoodsList);
+ this.draftNavList = [];
+ this.draftGoodsList = [];
+ this.showContent = false;
+ this.$nextTick(() => {
this.showContent = true;
- })
+ });
+ this.showModal = false;
+ },
+ handleCancelGoodsModal() {
+ this.editTarget = null;
+ this.selected = {};
+ this.showGoodsModal = false;
+ },
+ handleConfirmGoodsModal() {
+ if (this.editTarget) {
+ Object.assign(this.editTarget, this.cloneItem(this.selected));
+ }
+ this.editTarget = null;
+ this.selected = {};
+ this.showGoodsModal = false;
},
}
}
\ No newline at end of file
+
diff --git a/manager/src/views/page-decoration/modelList/oneRowThreeColumns.vue b/manager/src/views/page-decoration/modelList/oneRowThreeColumns.vue
index 43e89f7e..499a5cff 100644
--- a/manager/src/views/page-decoration/modelList/oneRowThreeColumns.vue
+++ b/manager/src/views/page-decoration/modelList/oneRowThreeColumns.vue
@@ -8,7 +8,7 @@
编辑
@@ -22,7 +22,7 @@
:close-on-click-modal="false"
append-to-body destroy-on-close>
-
+
推荐尺寸:{{item.size}}
+
+ 取消
+ 确定
+
@@ -75,37 +80,41 @@ export default {
data () {
return {
showModal:false,
- selected: {}, // 已选数据
+ draftList: [],
picModelFlag:false,
current:0,
};
},
methods: {
+ cloneList(list) {
+ return JSON.parse(JSON.stringify(list || []));
+ },
// 回显图片
callbackSelected(val) {
this.picModelFlag = false;
- this.selected[this.current].img = val.url;
- console.log(this.selected)
+ if (!val?.url) return;
+ this.draftList[this.current].img = val.url;
},
// 编辑模块
- handleSelectModel(item) {
- this.selected = item;
+ handleSelectModel() {
+ this.draftList = this.cloneList(this.data.options.list);
this.showModal = true;
-
},
// 选择商品回调
selectedGoodsData(val) {
- console.log(val);
- let goods = val[0];
- this.selected.img = goods.thumbnail;
- this.selected.price = goods.price;
- this.selected.name = goods.goodsName;
- this.selected.url = `/goodsDetail?skuId=${goods.id}&goodsId=${goods.goodsId}`;
+ const goods = val[0];
+ if (!goods) return;
+ const item = this.draftList[this.current];
+ item.img = goods.thumbnail;
+ item.price = goods.price;
+ item.name = goods.goodsName;
+ item.url = `/goodsDetail?skuId=${goods.id}&goodsId=${goods.goodsId}`;
},
// 选择链接回调
selectedLink(val) {
- this.selected.url = this.$filters.formatLinkType(val);
- this.selected.type =
+ const item = this.draftList[this.current];
+ item.url = this.$filters.formatLinkType(val);
+ item.type =
val.___type === "other" && val.url === "" ? "link" : "other";
},
handleSelectLink(index) {
@@ -122,7 +131,17 @@ export default {
this.$refs.ossManage.selectImage = true;
}
});
- }
+ },
+ handleCancelModal() {
+ this.draftList = [];
+ this.showModal = false;
+ },
+ handleConfirmModal() {
+ const saved = this.cloneList(this.draftList);
+ this.data.options.list.splice(0, this.data.options.list.length, ...saved);
+ this.draftList = [];
+ this.showModal = false;
+ },
}
}
diff --git a/manager/src/views/page-decoration/modelList/onlyGoodsModel.vue b/manager/src/views/page-decoration/modelList/onlyGoodsModel.vue
index c48eb054..e968a9ca 100644
--- a/manager/src/views/page-decoration/modelList/onlyGoodsModel.vue
+++ b/manager/src/views/page-decoration/modelList/onlyGoodsModel.vue
@@ -19,7 +19,7 @@
编辑
@@ -34,7 +34,7 @@
:close-on-click-modal="false"
append-to-body destroy-on-close>
-
+
添加商品
@@ -42,7 +42,7 @@
@@ -65,6 +65,10 @@
+
+ 取消
+ 确定
+
@@ -88,61 +92,67 @@ export default {
},
data() {
return {
- flag:false,
- tabIndex:0,
current: 0,
showModal: false,
- selected: {}, // 已选数据
- picModelFlag: false,
+ draftList: [],
};
},
mounted(){
},
methods: {
+ cloneList(list) {
+ return JSON.parse(JSON.stringify(list || []));
+ },
// 删除商品
- delGoods(val,i) {
- this.data.options.list.splice(i, 1);
+ delGoods(val, i) {
+ this.draftList.splice(i, 1);
},
// 添加当前选项卡中的商品
addCurrentGoods() {
this.$refs.liliDialog.open("goods");
},
// 编辑模块
- handleSelectModel(item) {
- console.log(item);
- this.selected = item;
+ handleSelectModel() {
+ this.draftList = this.cloneList(this.data.options.list);
this.showModal = true;
},
// 选择商品回调
selectedGoodsData(val) {
- if (val.length) {
- val.forEach((item) => {
- const pushGoodsDetail = {
- img: item.thumbnail,
- price: item.price,
- title: item.goodsName,
- desc: "",
- url: `/goodsDetail?skuId=${item.id}&goodsId=${item.goodsId}`,
- };
- this.data.options.list.push(pushGoodsDetail);
+ if (!val?.length || !this.draftList) return;
+ val.forEach((item) => {
+ this.draftList.push({
+ img: item.thumbnail,
+ price: item.price,
+ title: item.goodsName,
+ desc: "",
+ url: `/goodsDetail?skuId=${item.id}&goodsId=${item.goodsId}`,
});
- }
+ });
},
// 选择链接回调
selectedLink(val) {
- this.selected[this.current].url =
- this.$filters.formatLinkType(val);
- this.selected[this.current].type =
+ if (!this.draftList?.length) return;
+ const item = this.draftList[this.current];
+ item.url = this.$filters.formatLinkType(val);
+ item.type =
val.___type === "other" && val.url === "" ? "link" : "other";
-
- console.log(this.selected[this.current]);
},
handleSelectLink(index) {
// 调起选择链接弹窗
this.$refs.liliDialog.open("link");
this.current = index;
},
+ handleCancelModal() {
+ this.draftList = [];
+ this.showModal = false;
+ },
+ handleConfirmModal() {
+ const saved = this.cloneList(this.draftList);
+ this.data.options.list.splice(0, this.data.options.list.length, ...saved);
+ this.draftList = [];
+ this.showModal = false;
+ },
},
};
diff --git a/manager/src/views/page-decoration/modelList/recommend.vue b/manager/src/views/page-decoration/modelList/recommend.vue
index 872fde0d..8b8b0271 100644
--- a/manager/src/views/page-decoration/modelList/recommend.vue
+++ b/manager/src/views/page-decoration/modelList/recommend.vue
@@ -101,13 +101,13 @@
+ append-to-body
+ destroy-on-close
+ >
-
+
- 图片主标题:
- 图片描述:
-
- 建议尺寸: {{ selected.size }}
+
+ 图片主标题:
+
-
- 图片链接:
- 选择链接
+
+ 图片描述:
+
-
+ 建议尺寸:{{ selected.size }}
+
+
选择图片
+ >
选择商品
+
+ 取消
+ 确定
+
+ append-to-body
+ destroy-on-close
+ >
- 主标题:
- 副标题:
-
- 副标题链接:
+ 主标题:
+
+
+
+ 副标题:
+
+
+
-
+
+ 取消
+ 确定
+
@@ -230,14 +250,19 @@ export default {
msgRight: this.data.options.contentRight, // 右侧数据
showModal: false, // modal显隐
showModal1: false, // modal显隐
- selected: {}, // 已选数据
+ selected: {}, // 弹窗编辑草稿
+ editTarget: null, // 确认后写回的原数据
picModelFlag: false, // 图片选择
};
},
methods: {
+ cloneItem(item) {
+ return JSON.parse(JSON.stringify(item || {}));
+ },
// 编辑
handleSelectModel(item, type) {
- this.selected = item;
+ this.editTarget = item;
+ this.selected = this.cloneItem(item);
if (type) {
this.showModal1 = true;
} else {
@@ -279,8 +304,35 @@ export default {
// 选择图片回调
callbackSelected(val) {
this.picModelFlag = false;
+ if (!val?.url) return;
this.selected.img = val.url;
},
+ handleCancelModal() {
+ this.editTarget = null;
+ this.selected = {};
+ this.showModal = false;
+ },
+ handleConfirmModal() {
+ if (this.editTarget) {
+ Object.assign(this.editTarget, this.cloneItem(this.selected));
+ }
+ this.editTarget = null;
+ this.selected = {};
+ this.showModal = false;
+ },
+ handleCancelModal1() {
+ this.editTarget = null;
+ this.selected = {};
+ this.showModal1 = false;
+ },
+ handleConfirmModal1() {
+ if (this.editTarget) {
+ Object.assign(this.editTarget, this.cloneItem(this.selected));
+ }
+ this.editTarget = null;
+ this.selected = {};
+ this.showModal1 = false;
+ },
},
};
@@ -446,7 +498,78 @@ export default {
}
.modal-top-advert {
- align-items: start;
- padding: 0 30px;
+ display: flex;
+ flex-direction: column;
+ align-items: stretch;
+ padding: 0 20px;
+ width: 100%;
+ box-sizing: border-box;
+
+ .modal-form-item {
+ display: flex;
+ align-items: center;
+ width: 100%;
+ margin-bottom: 16px;
+
+ .modal-label {
+ flex-shrink: 0;
+ width: 100px;
+ text-align: right;
+ padding-right: 12px;
+ }
+
+ .el-input {
+ flex: 1;
+ }
+ }
+
+ .modal-form-preview {
+ justify-content: center;
+ margin-bottom: 8px;
+ }
+
+ .modal-form-link {
+ align-items: flex-start;
+
+ .modal-label {
+ padding-top: 8px;
+ }
+
+ .modal-link-field {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ min-width: 0;
+
+ .outsideUrl {
+ flex: 1;
+ min-width: 0;
+ }
+ }
+ }
+
+ .modal-form-actions {
+ padding-left: 112px;
+ gap: 10px;
+ }
+
+ .modal-color-field {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ gap: 10px;
+
+ .el-input {
+ flex: 1;
+ }
+ }
+
+ .tips {
+ padding-left: 112px;
+ margin-bottom: 16px;
+ color: #999;
+ font-size: 12px;
+ }
}
diff --git a/manager/src/views/page-decoration/modelList/seckill-only-album.vue b/manager/src/views/page-decoration/modelList/seckill-only-album.vue
index c705932d..d66de3b7 100644
--- a/manager/src/views/page-decoration/modelList/seckill-only-album.vue
+++ b/manager/src/views/page-decoration/modelList/seckill-only-album.vue
@@ -203,8 +203,8 @@ export default {
}
.section {
- width: 1000px;
- // background: #efefef;
+ flex: 1;
+ min-width: 0;
overflow-x: auto;
overflow-y: hidden;
.seckill-list {
diff --git a/manager/src/views/page-decoration/modelList/seckill.vue b/manager/src/views/page-decoration/modelList/seckill.vue
index b93d93d2..bbc9682a 100644
--- a/manager/src/views/page-decoration/modelList/seckill.vue
+++ b/manager/src/views/page-decoration/modelList/seckill.vue
@@ -203,8 +203,8 @@ export default {
}
.section {
- width: 1000px;
- // background: #efefef;
+ flex: 1;
+ min-width: 0;
overflow-x: auto;
overflow-y: hidden;
.seckill-list {
diff --git a/manager/src/views/page-decoration/modelList/setup-box.scss b/manager/src/views/page-decoration/modelList/setup-box.scss
index 088778ca..940d2ffb 100644
--- a/manager/src/views/page-decoration/modelList/setup-box.scss
+++ b/manager/src/views/page-decoration/modelList/setup-box.scss
@@ -16,7 +16,8 @@
z-index: 99;
width: 100%;
height: 100%;
- .ivu-btn{
+ .ivu-btn,
+ .el-button{
float: right;
margin-right: 5px;
margin-top: 5px;
@@ -46,17 +47,4 @@
tbody>tr:hover{
background-color: aliceblue;
}
-}
-
-.modal-top-advert{
- display: flex;
- justify-content: center;
- align-items: center;
- flex-direction: column;
- >*{
- margin-bottom: 10px;
- }
- .ivu-input-wrapper{
- width: 200px;
- }
}
\ No newline at end of file
diff --git a/manager/src/views/page-decoration/renovation.vue b/manager/src/views/page-decoration/renovation.vue
index b00125b6..638876c1 100644
--- a/manager/src/views/page-decoration/renovation.vue
+++ b/manager/src/views/page-decoration/renovation.vue
@@ -173,7 +173,7 @@ export default {
overflow-y: auto;
padding: 10px;
background: #fff;
- margin-top: 60px;
+ margin-top: 80px;
position: fixed;
z-index: 100;
box-shadow: 1px 1px 10px #999;
diff --git a/manager/src/views/page-decoration/wap/advertising.vue b/manager/src/views/page-decoration/wap/advertising.vue
index c02ba2e2..4c8c6d23 100644
--- a/manager/src/views/page-decoration/wap/advertising.vue
+++ b/manager/src/views/page-decoration/wap/advertising.vue
@@ -165,6 +165,7 @@ export default {
}, // 图片选择器回显
callbackSelected(val) {
this.picModelFlag = false;
+ if (!val?.url) return;
this.advertising[0].img = val.url;
}
},
diff --git a/manager/src/views/page-decoration/wap/alertAdvertising.vue b/manager/src/views/page-decoration/wap/alertAdvertising.vue
index 7fb7c2b8..c457e5a8 100644
--- a/manager/src/views/page-decoration/wap/alertAdvertising.vue
+++ b/manager/src/views/page-decoration/wap/alertAdvertising.vue
@@ -156,6 +156,7 @@ export default {
// 图片选择器回显
callbackSelected(val) {
this.picModelFlag = false;
+ if (!val?.url) return;
this.advertising[0].img = val.url;
},
// 点击选择图片
diff --git a/manager/src/views/page-decoration/wap/decorate.vue b/manager/src/views/page-decoration/wap/decorate.vue
index 3a63fca2..55b94f03 100644
--- a/manager/src/views/page-decoration/wap/decorate.vue
+++ b/manager/src/views/page-decoration/wap/decorate.vue
@@ -498,11 +498,23 @@
@selectedGoodsData="selectedGoodsData"
>
-
+
+
+ 取消
+ 确定
+
@@ -542,6 +554,7 @@ export default {
selectedLinks: "", // 已选链接
modelList: "", // 装修列表
enableSelectCategory: false, //商品是否绑定分类
+ pendingCategory: null, // 选择分类弹窗草稿
goodsSelectedIndex: 0, //绑定商品分类的索引
};
},
@@ -553,7 +566,21 @@ export default {
},
props: ["res"],
methods: {
- // 选择分类
+ // 选择分类(弹窗内暂存,确定后写回)
+ onCategorySelected(val) {
+ this.pendingCategory = val;
+ },
+ handleCancelCategoryModal() {
+ this.pendingCategory = null;
+ this.enableSelectCategory = false;
+ },
+ handleConfirmCategoryModal() {
+ if (this.pendingCategory?.length) {
+ this.confirmCategory(this.pendingCategory);
+ }
+ this.pendingCategory = null;
+ this.enableSelectCategory = false;
+ },
confirmCategory(val) {
let data = {
...this.res.options.list[0].titleWay[this.goodsSelectedIndex],
@@ -687,6 +714,7 @@ export default {
},
// 绑定分类
bindGoodsCategory(index, key) {
+ this.pendingCategory = null;
this.enableSelectCategory = true;
this.goodsSelectedIndex = index;
},
@@ -771,6 +799,7 @@ export default {
// 图片选择器回显
callbackSelected(val) {
this.picModelFlag = false;
+ if (!val?.url) return;
this.selectedGoods.img = val.url;
},
// 点击选择图片
diff --git a/manager/src/views/promotions/coupon/coupon.vue b/manager/src/views/promotions/coupon/coupon.vue
index 78f81846..2022be43 100644
--- a/manager/src/views/promotions/coupon/coupon.vue
+++ b/manager/src/views/promotions/coupon/coupon.vue
@@ -18,22 +18,39 @@
/>
-
-
-
+
+
-
-
-
-
+
@@ -41,6 +58,8 @@
v-model="selectDate"
type="daterange"
clearable
+ teleported
+ popper-class="coupon-filter-popper"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 240px"
@@ -218,6 +237,8 @@ export default {
sort: "create_time",
order: "desc",
getType: "",
+ promotionStatus: "",
+ couponName: "",
},
selectList: [],
selectCount: 0,
@@ -229,6 +250,36 @@ export default {
isSyncingSelection: false,
};
},
+ computed: {
+ getTypeFilterOptions() {
+ const all = [
+ { label: "免费获取", value: "FREE" },
+ { label: "活动获取", value: "ACTIVITY" },
+ ];
+ if (this.getType) {
+ return all.filter((item) => item.value === this.getType);
+ }
+ return all;
+ },
+ promotionStatusFilterOptions() {
+ const all = [
+ { label: "未开始", value: "NEW" },
+ { label: "已开始/上架", value: "START" },
+ { label: "已结束/下架", value: "END" },
+ { label: "紧急关闭/作废", value: "CLOSE" },
+ ];
+ if (this.promotionStatus) {
+ return all.filter((item) => item.value === this.promotionStatus);
+ }
+ return all;
+ },
+ isGetTypeFilterLocked() {
+ return !!this.getType;
+ },
+ isPromotionStatusFilterLocked() {
+ return !!this.promotionStatus;
+ },
+ },
watch: {
$route(to) {
if (to.fullPath == "/promotions/manager-coupon") {
@@ -342,7 +393,9 @@ export default {
this.selectList = nextList;
this.selectCount = nextList.length;
this.$nextTick(() => {
- this.isSyncingSelection = false;
+ this.$nextTick(() => {
+ this.isSyncingSelection = false;
+ });
});
},
check() {
@@ -398,9 +451,9 @@ export default {
}
getPlatformCouponList(this.searchForm)
.then((res) => {
- if (res.success) {
- this.data = res.result.records;
- this.total = res.result.total;
+ if (res && res.success && res.result) {
+ this.data = res.result.records || [];
+ this.total = res.result.total || 0;
this.$nextTick(() => {
if (this.selectedList.length) {
this.syncTableSelection(this.selectedList);
@@ -408,6 +461,7 @@ export default {
});
}
})
+ .catch(() => {})
.finally(() => {
this.loading = false;
});
@@ -523,3 +577,9 @@ export default {
margin-bottom: 10px;
}
+
+
diff --git a/manager/src/views/promotions/gift-card-cash/gift-card-cash-activity-add.vue b/manager/src/views/promotions/gift-card-cash/gift-card-cash-activity-add.vue
index a22ba885..a1cfda20 100644
--- a/manager/src/views/promotions/gift-card-cash/gift-card-cash-activity-add.vue
+++ b/manager/src/views/promotions/gift-card-cash/gift-card-cash-activity-add.vue
@@ -366,28 +366,31 @@ export default {
padding-top: 1px;
}
.gift-card-validity-group {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ width: 100%;
padding-top: 0;
padding-bottom: 0;
}
.gift-card-validity-group :deep(.el-radio) {
display: inline-flex;
align-items: center;
- line-height: 1;
-}
-.gift-card-validity-group :deep(.el-radio:first-child) {
- margin-top: 0;
-}
-.gift-card-validity-group :deep(.el-radio) {
- display: flex;
- flex-wrap: wrap;
- align-items: center;
+ margin-right: 0;
margin-bottom: 10px;
line-height: 32px;
min-height: 32px;
+ height: auto;
}
.gift-card-validity-group :deep(.el-radio:last-child) {
margin-bottom: 0;
}
+.gift-card-validity-group :deep(.el-radio__label) {
+ display: inline-flex;
+ align-items: center;
+ flex-wrap: wrap;
+ line-height: 32px;
+}
.gift-card-validity-input-gap {
width: 168px;
margin: 0 10px;
diff --git a/manager/src/views/promotions/live/live-detail.vue b/manager/src/views/promotions/live/live-detail.vue
index 506ad0e2..b38cfdd5 100644
--- a/manager/src/views/promotions/live/live-detail.vue
+++ b/manager/src/views/promotions/live/live-detail.vue
@@ -3,67 +3,82 @@
-
- 直播间名字,最短3个汉字,最长17个汉字,1个汉字相当于2个字符
+
-
- 主播昵称,最短2个汉字,最长15个汉字,1个汉字相当于2个字符
+
-
- 直播开播时间需要在当前时间的10分钟后 并且 开始时间不能在 6 个月后
+
-
- 主播微信号,如果未实名认证,需要先前往“小程序直播”小程序进行 实名验证
+
-
- ![]()
-
- 查看
+
-
- 直播间分享图,图片规则:建议像素800*640,大小不超过1M;
-
- ![]()
-
- 查看
+
- 直播间背景图,图片规则:建议像素1080*1920,大小不超过1M
-
- ![]()
-
- 查看
+
- 直播间分享图,图片规则:建议像素800*640,大小不超过1M
-
+ |