适配微服务

This commit is contained in:
paulGao
2022-02-10 18:57:36 +08:00
parent 9765310136
commit 3a3e14e0a7
35 changed files with 1438 additions and 995 deletions

View File

@@ -1,8 +1,13 @@
<template>
<div class="wrapper">
<Card class="category">
<div :class="{active:i == selectedIndex}" class="category-item" v-for="(typeItem,i) in pageTypes" :key="typeItem.type">
<div @click="clickType(typeItem.type,i)">{{typeItem.title}}</div>
<div
:class="{ active: i == selectedIndex }"
class="category-item"
v-for="(typeItem, i) in pageTypes"
:key="typeItem.type"
>
<div @click="clickType(typeItem.type, i)">{{ typeItem.title }}</div>
</div>
</Card>
<Card class="content">
@@ -24,16 +29,19 @@
<span slot="open"></span>
<span slot="close"></span>
</i-switch>
<Button type="info" placement="right" @click="Template(item)" size="small">编辑</Button>
<Button type="success" placement="right" @click="decorate(item)" size="small">装修</Button>
<Button type="info" placement="right" @click="Template(item)" size="small"
>编辑</Button
>
<Button type="success" placement="right" @click="decorate(item)" size="small"
>装修</Button
>
<Poptip confirm title="删除此模板?" @on-ok="delTemplate(item.id)">
<Button type="error" size="small">删除</Button>
</Poptip>
</div>
</div>
<div class="no-more" v-if="list.length ==0">暂无更多模板</div>
<div class="no-more" v-if="list.length == 0">暂无更多模板</div>
</div>
</Card>
<Modal
v-model="showModal"
@@ -61,13 +69,15 @@ export default {
name: "floorList",
data() {
return {
showModal: false, // 添加modal的显示
showModal: false, // 添加modal的显示
selectedIndex: 0, // 首页还是专题选择的index
formData: { // 新建模态框的数据
formData: {
// 新建模态框的数据
status: false, // 模板是否开启
name: "", // 模板名称
},
columns: [ // 列表展示的column
columns: [
// 列表展示的column
{
title: "页面名称",
key: "name",
@@ -82,11 +92,12 @@ export default {
],
loading: false, // 加载状态
pageTypes: [ // 那种类别的模板
pageTypes: [
// 那种类别的模板
{
type: "INDEX",
title: "首页",
}
},
// {
// type: "SPECIAL",
// title: "专题",
@@ -134,14 +145,17 @@ export default {
Template(item) {
// 编辑表单
item.status = item.pageShow
item.status = item.pageShow;
this.formData = item;
this.showModal = true;
},
decorate(val) {
// 装修
this.$router.push({ name: "renovation", query: { id: val.id,pageShow:val.pageShow } });
this.$router.push({
name: "renovation",
query: { id: val.id, pageShow: val.pageShow },
});
},
getTemplateList() {
@@ -155,13 +169,13 @@ export default {
API_floor.getHomeList(params).then((res) => {
if (res.success) {
this.list = res.result.records;
this.list.forEach(e => {
if (e.pageShow === 'OPEN') {
e.pageShow = true
this.list.forEach((e) => {
if (e.pageShow === "OPEN") {
e.pageShow = true;
} else {
e.pageShow = false
e.pageShow = false;
}
})
});
}
});
},
@@ -184,7 +198,7 @@ export default {
}
});
},
}
},
};
</script>
@@ -197,7 +211,7 @@ export default {
background: #ededed;
}
.item-title {
background: #d7e7f5!important;
background: #d7e7f5 !important;
height: 54px;
}
.no-more {
@@ -239,12 +253,12 @@ export default {
display: flex;
justify-content: space-between;
align-items: center;
div:nth-child(2){
div:nth-child(2) {
margin-right: 80px;
}
}
}
.item:nth-of-type(2n+1) {
.item:nth-of-type(2n + 1) {
background: #f5f7fa;
}
</style>

View File

@@ -2,17 +2,27 @@
<div class="decorate">
<div class="decorate-title">
{{ res.name }}
<Button style="margin-left: 20px" size="small" ghost v-if="
res.type == 'tpl_ad_list' ||
res.type == 'tpl_activity_list' ||
res.drawer
" type="primary" @click="selectStyle()">选择风格</Button>
<Button
style="margin-left: 20px"
size="small"
ghost
v-if="res.type == 'tpl_ad_list' || res.type == 'tpl_activity_list' || res.drawer"
type="primary"
@click="selectStyle()"
>选择风格</Button
>
</div>
<!-- 右侧显示抽屉 -->
<Drawer title="选择风格" :closable="false" width="400" v-model="styleFlag">
<div class="drawer">
<div class="drawer-item" @click="clickDrawer(item, index)" v-for="(item, index) in modelData" :key="index" v-if="item.drawer">
<div
class="drawer-item"
@click="clickDrawer(item, index)"
v-for="(item, index) in modelData"
:key="index"
v-if="item.drawer"
>
<img src alt />
<span>{{ item.name }}</span>
</div>
@@ -20,18 +30,29 @@
</Drawer>
<!-- 卡片集合 -->
<div class="decorate-list" v-if="
(res.type != 'tpl_ad_list' && res.type != 'tpl_activity_list') ||
res.drawer
">
<div
class="decorate-list"
v-if="(res.type != 'tpl_ad_list' && res.type != 'tpl_activity_list') || res.drawer"
>
<div class="decorate-item" v-for="(item, index) in res.options.list" :key="index">
<div class="decorate-item-title">
<div>卡片</div>
<Icon @click="closeDecorate(index)" v-if="res.close" size="20" color="#e1251b" type="md-close-circle" />
<Icon
@click="closeDecorate(index)"
v-if="res.close"
size="20"
color="#e1251b"
type="md-close-circle"
/>
</div>
<div class="decorate-item-box">
<div class="decorate-border" v-if="item.titleWay" v-for="(title_item, title_index) in item.titleWay" :key="title_index">
<div
class="decorate-border"
v-if="item.titleWay"
v-for="(title_item, title_index) in item.titleWay"
:key="title_index"
>
<div class="decorate-view">
<div class="decorate-view-title">标题{{ title_index + 1 }}</div>
<div>
@@ -46,19 +67,28 @@
</div>
<div class="decorate-view">
<div class="decorate-view-title">绑定商品</div>
<div class="decorate-view-link" v-if="res.options.list[0].listWay.length != 0">
<div
class="decorate-view-link"
v-if="res.options.list[0].listWay.length != 0"
>
<!-- 绑定商品选择器回调已选择的商品 -->
<div v-if="title_item.___index == bindGoods.___index || title_item.title == bindGoods.type" v-for="(bindGoods,bindGoodsIndex) in res.options.list[0].listWay" :key="bindGoodsIndex">
{{bindGoods.title}},
<div
v-if="
title_item.___index == bindGoods.___index ||
title_item.title == bindGoods.type
"
v-for="(bindGoods, bindGoodsIndex) in res.options.list[0].listWay"
:key="bindGoodsIndex"
>
{{ bindGoods.title }},
</div>
</div>
<div>
<Button @click="bindGoodsId(title_item)" size="small" ghost type="primary">选择商品</Button>
<Button @click="bindGoodsId(title_item)" size="small" ghost type="primary"
>选择商品</Button
>
</div>
</div>
</div>
<!-- 选择照片 -->
<div class="decorate-view" v-if="!res.notImg">
@@ -72,7 +102,13 @@
</div>
</div>
<div class="selectBtn">
<Button size="small" @click="handleClickFile(item, index)" ghost type="primary">选择照片</Button>
<Button
size="small"
@click="handleClickFile(item, index)"
ghost
type="primary"
>选择照片</Button
>
</div>
</div>
<!-- 填写标题 -->
@@ -90,50 +126,54 @@
已选链接:
<span>
{{ ways.find((e)=>{return item.url.___type == e.name}).title }}
{{
ways.find((e) => {
return item.url.___type == e.name;
}).title
}}
-
<!-- 当选择完链接之后的商品名称 -->
<span v-if="item.url.___type == 'goods'"> {{item.url.goodsName}}</span>
<span v-if="item.url.___type == 'goods'"> {{ item.url.goodsName }}</span>
<!-- 当选择完链接之后的分类回调 -->
<span v-if="item.url.___type == 'category'"> {{item.url.name}}</span>
<span v-if="item.url.___type == 'category'"> {{ item.url.name }}</span>
<!-- 当选择完链接之后的店铺回调 -->
<span v-if="item.url.___type == 'shops'"> {{item.url.memberName}}</span>
<span v-if="item.url.___type == 'shops'"> {{ item.url.memberName }}</span>
<!-- 当选择完链接之后的其他回调 -->
<span v-if="item.url.___type == 'other'"> {{item.url.title}}</span>
<span v-if="item.url.___type == 'other'"> {{ item.url.title }}</span>
<!-- 当选择完活动之后的其他回调 -->
<span v-if="item.url.___type == 'marketing'">
<span v-if="item.url.___promotion =='SECKILL'">
秒杀
</span>
<span v-if="item.url.___promotion =='FULL_DISCOUNT'">
满减
</span>
<span v-if="item.url.___promotion =='PINTUAN'">
拼团
</span>
{{item.url.title || item.url.goodsName}}
<span v-if="item.url.___promotion == 'SECKILL'"> 秒杀 </span>
<span v-if="item.url.___promotion == 'FULL_DISCOUNT'"> 满减 </span>
<span v-if="item.url.___promotion == 'PINTUAN'"> 拼团 </span>
{{ item.url.title || item.url.goodsName }}
</span>
<!-- 当选择完活动之后的其他回调 -->
<span v-if="item.url.___type == 'pages'"> {{item.url.title}}</span>
<span v-if="item.url.___type == 'pages'"> {{ item.url.title }}</span>
</span>
</div>
<div>
<Button ghost size="small" type="primary" @click="clickLink(item,index)">选择链接</Button>
<Button ghost size="small" type="primary" @click="clickLink(item, index)"
>选择链接</Button
>
</div>
</div>
</div>
</div>
</div>
<Button v-if="
res.type != 'tpl_ad_list' &&
res.type != 'tpl_activity_list' &&
!res.notAdd
" type="primary" @click="addDecorate()" ghost>添加</Button>
<Button
v-if="res.type != 'tpl_ad_list' && res.type != 'tpl_activity_list' && !res.notAdd"
type="primary"
@click="addDecorate()"
ghost
>添加</Button
>
<liliDialog ref="liliDialog" @selectedLink="selectedLink" @selectedGoodsData="selectedGoodsData"></liliDialog>
<liliDialog
ref="liliDialog"
@selectedLink="selectedLink"
@selectedGoodsData="selectedGoodsData"
></liliDialog>
<Modal width="1200px" v-model="picModelFlag">
<ossManage @callback="callbackSelected" ref="ossManage" />
@@ -179,18 +219,17 @@ export default {
},
// 回调的商品信息
selectedGoodsData(val) {
if (!val) return false;
let data = val.map((item) => {
delete item.selected;
delete item.intro
delete item.mobileIntro
delete item.intro;
delete item.mobileIntro;
return {
img: item.thumbnail,
title: item.goodsName,
type: this.selectedGoods.title,
___index:this.selectedGoods.___index,
...item
___index: this.selectedGoods.___index,
...item,
};
});
this.res.options.list[0].listWay.push(...data);
@@ -236,7 +275,7 @@ export default {
title: "标题",
link: "",
url: "",
size: this.res.options.list[0].size,
size: this.res.options.list[0]?.size,
};
this.res.options.list.push(way);
},

View File

@@ -3,7 +3,13 @@
<div class="model-title">
<div>店铺装修</div>
<div class="btns">
<Button @click="clickBtn(item)" size="small" v-for="(item, index) in way" :key="index" :type="item.selected ? 'primary' : ''">
<Button
@click="clickBtn(item)"
size="small"
v-for="(item, index) in way"
:key="index"
:type="item.selected ? 'primary' : ''"
>
{{ item.title }}
</Button>
</div>
@@ -18,7 +24,13 @@
</Poptip> -->
<Button size="default" type="primary" @click="handleSpinShow">保存模板</Button>
<Modal title="保存中" v-model="saveDialog" :closable="true" :mask-closable="false" :footer-hide="true">
<Modal
title="保存中"
v-model="saveDialog"
:closable="true"
:mask-closable="false"
:footer-hide="true"
>
<div v-if="progress">
<div class="model-item">
模板名称 <Input style="width: 200px" v-model="submitWay.name" />
@@ -65,7 +77,7 @@ export default {
// selected: false,
// },
],
submitWay: {
// 表单信息
pageShow: this.$route.query.type || false,
@@ -99,7 +111,7 @@ export default {
return false;
}
this.submitWay.pageShow
this.submitWay?.pageShow === true
? (this.submitWay.pageShow = "OPEN")
: (this.submitWay.pageShow = "CLOSE");