This commit is contained in:
pikachu
2021-08-04 19:08:33 +08:00
156 changed files with 47071 additions and 10865 deletions

View File

@@ -52,7 +52,7 @@ service.interceptors.response.use(
break;
case 401:
// 未登录 清除已登录状态
Cookies.set("userInfo", "");
Cookies.set("userInfoManager", "");
setStore("accessToken", "");
if (router.history.current.name != "login") {
if (data.message !== null) {
@@ -95,7 +95,7 @@ service.interceptors.response.use(
router.go(0)
}
} else {
Cookies.set("userInfo", "");
Cookies.set("userInfoManager", "");
router.push('/login')
}
isRefreshToken = 0

View File

@@ -320,7 +320,7 @@ util.initRouter = function (vm) { // 初始化路由
frontRoute: 'error-page/404'
}];
// 判断用户是否登录
let userInfo = Cookies.get('userInfo')
let userInfo = Cookies.get('userInfoManager')
if (!userInfo) {
// 未登录
return;

View File

@@ -23,12 +23,12 @@ router.beforeEach((to, from, next) => {
const name = to.name;
if (!Cookies.get('userInfo') && name !== 'login') {
if (!Cookies.get('userInfoManager') && name !== 'login') {
// 判断是否已经登录且前往的页面不是登录页
next({
name: 'login'
});
} else if (Cookies.get('userInfo') && name === 'login') {
} else if (Cookies.get('userInfoManager') && name === 'login') {
// 判断是否已经登录且前往的是登录页
Util.title();
next({

View File

@@ -1,7 +1,6 @@
import { otherRouter } from '@/router/router';
import { router } from '@/router/index';
import Util from '@/libs/util';
import Cookies from 'js-cookie';
import Vue from 'vue';
const app = {
@@ -14,11 +13,7 @@ const app = {
currNavTitle: "", // 当前顶部菜单标题
cachePage: [],
lang: '',
isFullScreen: false,
openedSubmenuArr: [], // 要展开的菜单数组
menuTheme: 'dark', // 主题
themeColor: '',
pageOpenedList: [{
pageOpenedList: [{ // 打开过的页面,顶部历史菜单项
title: '首页',
path: '',
name: 'home_index'
@@ -34,9 +29,7 @@ const app = {
// 面包屑数组 左侧菜单
menuList: [],
tagsList: [...otherRouter.children], //这块是面包屑的内容不能删除
routers: [
otherRouter
],
routers: [otherRouter],
messageCount: 0,
// 在这里定义你不想要缓存的页面的name属性值(参见路由配置router.js)
dontCache: ['test', 'test']
@@ -67,25 +60,11 @@ const app = {
state.currNavTitle = v;
},
setTagsList(state, list) {
state.tagsList.push(...list);
},
updateMenulist(state, routes) {
state.menuList = routes;
},
addOpenSubmenu(state, name) {
let hasThisName = false;
let isEmpty = false;
if (name.length == 0) {
isEmpty = true;
}
if (state.openedSubmenuArr.indexOf(name) > -1) {
hasThisName = true;
}
if (!hasThisName && !isEmpty) {
state.openedSubmenuArr.push(name);
}
},
closePage(state, name) {
state.cachePage.forEach((item, index) => {
if (item == name) {
@@ -158,9 +137,6 @@ const app = {
localStorage.lang = lang;
Vue.config.lang = lang;
},
clearOpenedSubmenu(state) {
state.openedSubmenuArr.length = 0;
},
setMessageCount(state, count) {
state.messageCount = count;
},

View File

@@ -4,7 +4,7 @@ const user = {
state: {},
mutations: {
logout () {
Cookies.remove('userInfo');
Cookies.remove('userInfoManager');
// 清空打开的页面等数据
localStorage.clear();
}

View File

@@ -88,9 +88,6 @@ export default {
avatarPath() {
return localStorage.avatorImgPath;
},
cachePage() {
return this.$store.state.app.cachePage;
},
lang() {
return this.$store.state.app.lang;
}
@@ -99,11 +96,7 @@ export default {
methods: {
init() {
// 菜单初始化
let pathArr = util.setCurrentPath(this, this.$route.name);
if (pathArr.length >= 2) {
this.$store.commit("addOpenSubmenu", pathArr[1].name);
}
let userInfo = JSON.parse(Cookies.get("userInfo"));
let userInfo = JSON.parse(Cookies.get("userInfoManager"));
this.userInfo = userInfo;
this.checkTag(this.$route.name);
@@ -138,9 +131,7 @@ export default {
}
// 退出登录
else if (name === "loginOut") {
Cookies.set("accessToken", "");
this.$store.commit("logout", this);
this.$store.commit("clearOpenedSubmenu");
this.setStore("accessToken", "");
this.setStore("refreshToken", "");
this.$router.push({ path: "/login" });
@@ -177,16 +168,9 @@ export default {
watch: {
$route(to, from) {
this.$store.commit("setCurrentPageName", to.name);
let pathArr = util.setCurrentPath(this, to.name);
if (pathArr.length > 2) {
this.$store.commit("addOpenSubmenu", pathArr[1].name);
}
this.checkTag(to.name);
localStorage.currentPageName = to.name;
},
lang() {
util.setCurrentPath(this, this.$route.name); // 在切换语言时用于刷新面包屑
},
}
},
mounted() {
this.init();

View File

@@ -116,7 +116,6 @@ export default {
content: "修改密码成功,需重新登录",
onOk: () => {
this.$store.commit("logout", this);
this.$store.commit("clearOpenedSubmenu");
this.$router.push({
name: "login",
});

View File

@@ -70,7 +70,7 @@ export default {
},
watch: {
category(val) {
this.goodsParams.categoryPath = val[0];
this.goodsParams.categoryPath = val[2];
},
selectedWay: {
handler() {

View File

@@ -22,7 +22,7 @@
<div class="wap-content-desc-title">{{ item.storeName }}</div>
<div class="self-operated" :class="{'theme_color':item.selfOperated }">{{ item.selfOperated ? '自营' : '非自营' }}</div>
<div class="wap-sku" :class="{'theme_color':!item.shopDisable }">{{ item.shopDisable ? '开启中' : '关闭' }}</div>
<div class="wap-sku" :class="{'theme_color':!item.storeDisable }">{{ item.storeDisable ? '开启中' : '关闭' }}</div>
</div>
</div>
<Spin size="large" fix v-if="loading"></Spin>

View File

@@ -197,7 +197,7 @@ export default {
background: #ededed;
}
.item-title {
background: #f5f7fa;
background: #d7e7f5!important;
height: 54px;
}
.no-more {
@@ -244,7 +244,7 @@ export default {
}
}
}
.item:nth-of-type(3n) {
.item:nth-of-type(2n+1) {
background: #f5f7fa;
}
</style>

View File

@@ -1,389 +1,484 @@
<template>
<div class="model-item"
v-if="element && element.key"
>
<!-- 轮播图模块包括个人信息快捷导航模块 -->
<template v-if="element.type == 'carousel'">
<model-carousel :data="element"></model-carousel>
</template>
<!-- 热门广告 -->
<template v-if="element.type == 'hotAdvert'">
<div class="setup-content">
<img style="display:block;" :src="element.options.list[0].img" @click="$router.push(element.options.list[0].url)" width="1200" alt="">
<div class="setup-box">
<div>
<Button size="small" @click.stop="handleSelectModel(element.options.list[0])">编辑</Button>
</div>
</div>
</div>
<ul class="advert-list">
<template v-for="(item,index) in element.options.list">
<li v-if="index!==0" @click="$router.push(item.url)" class="setup-content" :key="index">
<img :src="item.img" width="230" height="190" alt="">
<div class="setup-box">
<div>
<Button size="small" @click.stop="handleSelectModel(item)">编辑</Button>
</div>
</div>
</li>
</template>
</ul>
</template>
<!-- 限时秒杀 待完善 -->
<template v-if="element.type == 'seckill'">
<seckill :data="element"></seckill>
</template>
<!-- 折扣广告 -->
<template v-if="element.type == 'discountAdvert'">
<div class="discountAdvert" :style="{'background-image' : 'url(' + element.options.bgImg.img + ')'}">
<div>
<div v-for="(item,index) in element.options.classification" :key="index" class="setup-content">
<img :src="item.img" width="190" height="210" alt="">
<div class="setup-box">
<div>
<Button size="small" @click.stop="handleSelectModel(item)">编辑</Button>
</div>
</div>
</div>
</div>
<div>
<div v-for="(item,index) in element.options.brandList" :key="index" class="setup-content">
<img :src="item.img" width="240" height="105" alt="">
<div class="setup-box">
<div>
<Button size="small" @click.stop="handleSelectModel(item)">编辑</Button>
</div>
</div>
</div>
</div>
</div>
</template>
<!-- 好货推荐 -->
<template v-if="element.type == 'recommend'">
<recommend :data="element"></recommend>
</template>
<!-- 新品排行 -->
<template v-if="element.type == 'newGoodsSort'">
<new-goods-sort :data="element"></new-goods-sort>
</template>
<!-- 首页广告 -->
<template v-if="element.type == 'firstAdvert'">
<first-page-advert :data="element"></first-page-advert>
</template>
<!-- 横幅广告 -->
<template v-if="element.type == 'bannerAdvert'">
<div class="horizontal-advert setup-content">
<img v-if="element.options.img" width="1200" :src="element.options.img" alt="">
<div v-else class="default-con">
<p>广告图片</p>
<p>1200*自定义</p>
</div>
<div class="setup-box">
<div>
<Button size="small" @click.stop="handleSelectModel(element.options)">编辑</Button>
</div>
</div>
</div>
</template>
<template v-if="element.type == 'notEnough'">
<not-enough :data="element"></not-enough>
</template>
<div class="del-btn">
<Button size="small" type="error" @click="handleModelDelete">删除</Button>
</div>
<Modal
v-model="showModal"
title="装修"
draggable
width="800"
:z-index="100"
mask-closable="false"
:on-ok="sureDecorate"
:on-cancel="cancelDecorate"
<div class="model-item" v-if="element && element.key">
<!-- 轮播图模块包括个人信息快捷导航模块 -->
<template v-if="element.type == 'carousel'">
<model-carousel :data="element"></model-carousel>
</template>
<!-- 热门广告 -->
<template v-if="element.type == 'hotAdvert'">
<div class="setup-content">
<img
style="display: block"
:src="element.options.list[0].img"
@click="$router.push(element.options.list[0].url)"
width="1200"
alt=""
/>
<div class="setup-box">
<div>
<Button
size="small"
@click.stop="handleSelectModel(element.options.list[0])"
>编辑</Button
>
<div class="modal-top-advert">
<div>
<!-- 热门广告两种图片尺寸 -->
<img class="show-image" width="600" height="40" v-if="selected.size && selected.size.indexOf('1200')>=0" :src="selected.img" alt />
<img class="show-image" width="230" height="190" v-if="selected.size && selected.size.indexOf('230*190')>=0" :src="selected.img" alt />
<!-- 折扣广告三种图片尺寸 -->
<img class="show-image" width="600" height="300" v-if="selected.size && selected.size.indexOf('1300')>=0" :src="selected.img" alt />
<img class="show-image" width="190" height="210" v-if="selected.size && selected.size.indexOf('190*210')>=0" :src="selected.img" alt />
<img class="show-image" width="240" height="105" v-if="selected.size && selected.size.indexOf('240*105')>=0" :src="selected.img" alt />
</div>
<div class="tips">
建议尺寸<span>{{ selected.size }}</span>
</div>
<div>
图片链接<span>{{ selected.url }}</span> <Button size="small" type="primary" @click="handleSelectLink">选择链接</Button>
</div>
<div>
选择图片<Button size="small" type="primary" @click="handleSelectImg">选择图片</Button>&nbsp;
</div>
</div>
</div>
</div>
<ul class="advert-list">
<template v-for="(item, index) in element.options.list">
<li
v-if="index !== 0"
@click="$router.push(item.url)"
class="setup-content"
:key="index"
>
<img :src="item.img" width="230" height="190" alt="" />
<div class="setup-box">
<div>
<Button size="small" @click.stop="handleSelectModel(item)"
>编辑</Button
>
</div>
</div>
</Modal>
<!-- 选择商品链接 -->
<liliDialog
ref="liliDialog"
@selectedLink="selectedLink"
@selectedGoodsData="selectedGoodsData"
></liliDialog>
<!-- 选择图片 -->
<Modal width="1200px" v-model="picModelFlag" footer-hide>
<ossManage @callback="callbackSelected" :isComponent="true" ref="ossManage" />
</Modal>
</li>
</template>
</ul>
</template>
<!-- 限时秒杀 待完善 -->
<template v-if="element.type == 'seckill'">
<seckill :data="element"></seckill>
</template>
<!-- 折扣广告 -->
<template v-if="element.type == 'discountAdvert'">
<div
class="discountAdvert"
:style="{
'background-image':
'url(' + require('@/assets/nav/decorate.png') + ')',
}"
>
<div>
<div
v-for="(item, index) in element.options.classification"
:key="index"
class="setup-content"
>
<img :src="item.img" width="190" height="210" alt="" />
<div class="setup-box">
<div>
<Button size="small" @click.stop="handleSelectModel(item)"
>编辑</Button
>
</div>
</div>
</div>
</div>
<div>
<div
v-for="(item, index) in element.options.brandList"
:key="index"
class="setup-content"
>
<img :src="item.img" width="240" height="105" alt="" />
<div class="setup-box">
<div>
<Button size="small" @click.stop="handleSelectModel(item)"
>编辑</Button
>
</div>
</div>
</div>
</div>
</div>
</template>
<!-- 好货推荐 -->
<template v-if="element.type == 'recommend'">
<recommend :data="element"></recommend>
</template>
<!-- 新品排行 -->
<template v-if="element.type == 'newGoodsSort'">
<new-goods-sort :data="element"></new-goods-sort>
</template>
<!-- 首页广告 -->
<template v-if="element.type == 'firstAdvert'">
<first-page-advert :data="element"></first-page-advert>
</template>
<!-- 横幅广告 -->
<template v-if="element.type == 'bannerAdvert'">
<div class="horizontal-advert setup-content">
<img
v-if="element.options.img"
width="1200"
:src="element.options.img"
alt=""
/>
<div v-else class="default-con">
<p>广告图片</p>
<p>1200*自定义</p>
</div>
<div class="setup-box">
<div>
<Button
size="small"
@click.stop="handleSelectModel(element.options)"
>编辑</Button
>
</div>
</div>
</div>
</template>
<template v-if="element.type == 'notEnough'">
<not-enough :data="element"></not-enough>
</template>
<div class="del-btn">
<Button size="small" type="error" @click="handleModelDelete">删除</Button>
</div>
<Modal
v-model="showModal"
title="装修"
draggable
width="800"
:z-index="100"
mask-closable="false"
:on-ok="sureDecorate"
:on-cancel="cancelDecorate"
>
<div class="modal-top-advert">
<div>
<!-- 热门广告两种图片尺寸 -->
<img
class="show-image"
width="600"
height="40"
v-if="selected.size && selected.size.indexOf('1200') >= 0"
:src="selected.img"
alt
/>
<img
class="show-image"
width="230"
height="190"
v-if="selected.size && selected.size.indexOf('230*190') >= 0"
:src="selected.img"
alt
/>
<!-- 折扣广告三种图片尺寸 -->
<img
class="show-image"
width="600"
height="300"
v-if="selected.size && selected.size.indexOf('1300') >= 0"
:src="selected.img"
alt
/>
<img
class="show-image"
width="190"
height="210"
v-if="selected.size && selected.size.indexOf('190*210') >= 0"
:src="selected.img"
alt
/>
<img
class="show-image"
width="240"
height="105"
v-if="selected.size && selected.size.indexOf('240*105') >= 0"
:src="selected.img"
alt
/>
</div>
<div class="tips">
建议尺寸<span>{{ selected.size }}</span>
</div>
<div>
图片链接<span>{{ selected.url }}</span>
<Button size="small" type="primary" @click="handleSelectLink"
>选择链接</Button
>
</div>
<div>
选择图片<Button size="small" type="primary" @click="handleSelectImg"
>选择图片</Button
>&nbsp;
</div>
</div>
</Modal>
<!-- 选择商品链接 -->
<liliDialog
ref="liliDialog"
@selectedLink="selectedLink"
@selectedGoodsData="selectedGoodsData"
></liliDialog>
<!-- 选择图片 -->
<Modal width="1200px" v-model="picModelFlag" footer-hide>
<ossManage
@callback="callbackSelected"
:isComponent="true"
ref="ossManage"
/>
</Modal>
</div>
</template>
<script>
import ModelCarousel from './modelList/carousel.vue';
import FirstPageAdvert from './modelList/firstPageAdvert.vue';
import NewGoodsSort from './modelList/newGoodsSort.vue';
import Recommend from './modelList/recommend.vue';
import NotEnough from './modelList/notEnough.vue';
import Seckill from './modelList/seckill.vue';
import ModelCarousel from "./modelList/carousel.vue";
import FirstPageAdvert from "./modelList/firstPageAdvert.vue";
import NewGoodsSort from "./modelList/newGoodsSort.vue";
import Recommend from "./modelList/recommend.vue";
import NotEnough from "./modelList/notEnough.vue";
import Seckill from "./modelList/seckill.vue";
import ossManage from "@/views/sys/oss-manage/ossManage";
export default {
name:'modelFormItem',
props: ['element', 'select', 'index', 'data'],
components:{
ModelCarousel, Recommend, NewGoodsSort, FirstPageAdvert, NotEnough, Seckill, ossManage
name: "modelFormItem",
props: ["element", "select", "index", "data"],
components: {
ModelCarousel,
Recommend,
NewGoodsSort,
FirstPageAdvert,
NotEnough,
Seckill,
ossManage,
},
data() {
return {
showModal: false, // modal显隐
selected: {}, // 已选数据
picModelFlag: false, // 图片选择器
};
},
methods: {
// 编辑模块
handleSelectModel(item) {
this.selected = item;
this.showModal = true;
},
data () {
return {
showModal:false, // modal显隐
selected:{}, // 已选数据
picModelFlag: false // 图片选择器
}
// 删除模块
handleModelDelete() {
this.$Modal.confirm({
title: "提示",
content: "<p>确定删除当前模块吗?</p>",
onOk: () => {
this.$nextTick(() => {
this.data.list.splice(this.index, 1);
});
},
});
},
methods: {
// 编辑模块
handleSelectModel (item) {
this.selected = item;
this.showModal = true
},
// 删除模块
handleModelDelete () {
this.$Modal.confirm({
title: '提示',
content: '<p>确定删除当前模块吗?</p>',
onOk: () => {
this.$nextTick(() => {
this.data.list.splice(this.index, 1)
})
}
});
},
handleSelectLink(item,index) { // 调起选择链接弹窗
this.$refs.liliDialog.open('link')
},
// 确定选择链接
selectedLink(val) {
this.selected.url = this.$options.filters.formatLinkType(val);;
},
// 拖动结束回调
handleMoveEnd ({newIndex, oldIndex}) {
console.log('index', newIndex, oldIndex)
},
handleSelectImg(){ // 选择图片
this.$refs.ossManage.selectImage = true;
this.picModelFlag = true;
},
// 回显图片
callbackSelected (val) {
this.picModelFlag = false;
this.selected.img = val.url;
}
handleSelectLink(item, index) {
// 调起选择链接弹窗
this.$refs.liliDialog.open("link");
},
}
// 确定选择链接
selectedLink(val) {
this.selected.url = this.$options.filters.formatLinkType(val);
},
// 拖动结束回调
handleMoveEnd({ newIndex, oldIndex }) {
console.log("index", newIndex, oldIndex);
},
handleSelectImg() {
// 选择图片
this.$refs.ossManage.selectImage = true;
this.picModelFlag = true;
},
// 回显图片
callbackSelected(val) {
this.picModelFlag = false;
this.selected.img = val.url;
},
},
};
</script>
<style lang="scss" scoped>
@import './modelList/setup-box.scss';
.model-item{
position: relative;
margin-bottom: 20px;
&:hover{
.del-btn{display: block;}
@import "./modelList/setup-box.scss";
.model-item {
position: relative;
margin-bottom: 20px;
&:hover {
.del-btn {
display: block;
}
}
}
.del-btn{
width: 100px;
height: 100px;
display: none;
position: absolute;
right: -100px;
top: 0;
&:hover{
display: block;
}
.del-btn {
width: 100px;
height: 100px;
display: none;
position: absolute;
right: -100px;
top: 0;
&:hover {
display: block;
}
}
/** 横幅广告 */
.horizontal-advert{
width: 1200px;
height: auto;
.default-con{
height: 100px;
padding-top: 30px;
text-align: center;
background: #ddd;
}
.horizontal-advert {
width: 1200px;
height: auto;
.default-con {
height: 100px;
padding-top: 30px;
text-align: center;
background: #ddd;
}
}
/** 热门广告 */
.advert-list{
background: $theme_color;
height:200px;
display: flex;
justify-content: space-around;
padding: 3px 10px;
>li{
img{
cursor: pointer;
border-radius: 10px;
transition: all 150ms ease-in-out;
&:hover{
transform: translateY(-3px);
box-shadow: rgba(0, 0, 0, 0.4) 0px 5px 20px 0px;
}
}
.advert-list {
background: $theme_color;
height: 200px;
display: flex;
justify-content: space-around;
padding: 3px 10px;
> li {
img {
cursor: pointer;
border-radius: 10px;
transition: all 150ms ease-in-out;
&:hover {
transform: translateY(-3px);
box-shadow: rgba(0, 0, 0, 0.4) 0px 5px 20px 0px;
}
}
}
}
/** 限时秒杀 */
.limit-img{
display: flex;
flex-direction: row;
img{
width: 300px;
height: 100px;
}
.limit-img {
display: flex;
flex-direction: row;
img {
width: 300px;
height: 100px;
}
}
/** 折扣广告 */
.discountAdvert{
height:566px;
background-repeat: no-repeat ;
margin-left: -97px;
position: relative;
>div {
padding-left: 295px;
display: flex;
flex-wrap: wrap;
&:nth-child(1) img{
margin: 10px 10px 0 0;
}
&:nth-child(2) img{
margin: 0 10px 0 0;
}
.discountAdvert {
height: 566px;
background-repeat: no-repeat;
margin-left: -97px;
position: relative;
> div {
padding-left: 295px;
display: flex;
flex-wrap: wrap;
&:nth-child(1) img {
margin: 10px 10px 0 0;
}
&:nth-child(2) img {
margin: 0 10px 0 0;
}
}
}
/** 首页品牌 */
.brand{
.brand-view{
display: flex;
margin-top: 10px;
.brand-view-content{
width: 470px;
margin-left: 10px;
img{
width: 100%;
height: 316px;
}
.brand-view-title{
height: 50px;
padding: 0 5px;
display: flex;
align-items: center;
justify-content: space-between;
}
}
.brand-view-content:first-child{
width: 240px;
margin-left: 0;
}
}
.brand-list{
margin-top: 10px;
.brand {
.brand-view {
display: flex;
margin-top: 10px;
.brand-view-content {
width: 470px;
margin-left: 10px;
img {
width: 100%;
height: 316px;
}
.brand-view-title {
height: 50px;
padding: 0 5px;
display: flex;
align-items: center;
flex-wrap: wrap;
li{
width: 121px;
height: 112px;
position: relative;
overflow: hidden;
border: 1px solid #f5f5f5;
margin: -1px -1px 0 0;
&:hover{
.brand-mash{display:flex;}
}
.brand-img{
text-align: center;
margin-top: 30px;
img{
width: 100px;
height: auto;
}
}
.brand-mash{
display: none;
position: absolute;
top: 0;
left: 0;
background: rgba(0, 0, 0, .5);
width: inherit;
height: inherit;
font-size: 12px;
font-weight: bold;
.ivu-icon{
position: absolute;
right: 10px;
top: 10px;
font-size: 15px;
}
align-items: center;
justify-content: center;
flex-direction: column;
color: #fff;
cursor: pointer;
div:last-child{
background-color: $theme_color;
border-radius: 9px;
padding: 0 10px;
margin-top: 5px;
}
}
}
.refresh{
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
.ivu-icon{
font-size: 18px;
transition: all .3s ease-out;
}
&:hover{
background-color: $theme_color;
color: #fff;
.ivu-icon{
transform: rotateZ(360deg);
}
}
}
justify-content: space-between;
}
}
.brand-view-content:first-child {
width: 240px;
margin-left: 0;
}
}
.brand-list {
margin-top: 10px;
display: flex;
align-items: center;
flex-wrap: wrap;
li {
width: 121px;
height: 112px;
position: relative;
overflow: hidden;
border: 1px solid #f5f5f5;
margin: -1px -1px 0 0;
&:hover {
.brand-mash {
display: flex;
}
}
.brand-img {
text-align: center;
margin-top: 30px;
img {
width: 100px;
height: auto;
}
}
.brand-mash {
display: none;
position: absolute;
top: 0;
left: 0;
background: rgba(0, 0, 0, 0.5);
width: inherit;
height: inherit;
font-size: 12px;
font-weight: bold;
.ivu-icon {
position: absolute;
right: 10px;
top: 10px;
font-size: 15px;
}
align-items: center;
justify-content: center;
flex-direction: column;
color: #fff;
cursor: pointer;
div:last-child {
background-color: $theme_color;
border-radius: 9px;
padding: 0 10px;
margin-top: 5px;
}
}
}
.refresh {
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
.ivu-icon {
font-size: 18px;
transition: all 0.3s ease-out;
}
&:hover {
background-color: $theme_color;
color: #fff;
.ivu-icon {
transform: rotateZ(360deg);
}
}
}
}
}
/** 装修模态框 内部样式start */
.modal-top-advert{
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
>*{
margin-bottom: 10px;
}
.modal-top-advert {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
> * {
margin-bottom: 10px;
}
}
</style>

View File

@@ -1,262 +1,291 @@
<template>
<div class="seckill">
<div class="aside">
<div class="title">{{actName}}</div>
<div class="hour"><span>{{currHour}}:00</span>点场 倒计时</div>
<div class="count-down" v-if="actStatus === 1"><span>{{hours}}</span><span>{{minutes}}</span><span>{{seconds}}</span></div>
<div class="act-status" v-else>{{ actStatus == 0 ?'未开始':'已结束' }}</div>
</div>
<div class="section">
<swiper ref="mySwiper" :options="swiperOptions">
<swiper-slide v-for="(item,index) in options.list[0].goodsList" :key="index" class="swiper-slide">
<div class="content">
<img :src="item.img" width="140" height="140" :alt="item.name">
<div class="ellipsis">{{item.name}}</div>
<div>
<span>{{ item.price | unitPrice('¥') }}</span>
<span>{{ item.originalPrice | unitPrice('¥') }}</span>
</div>
</div>
</swiper-slide>
</swiper>
</div>
<div class="seckill">
<div class="desc">秒杀商品需要在促销活动中添加商品有商品时才会在首页展示</div>
<div class="aside">
<div class="title">{{ actName }}</div>
<div class="hour">
<span>{{ currHour }}:00</span>点场 倒计时
</div>
<div class="count-down" v-if="actStatus === 1">
<span>{{ hours }}</span
><span>{{ minutes }}</span
><span>{{ seconds }}</span>
</div>
<div class="act-status" v-else>
{{ actStatus == 0 ? "未开始" : "已结束" }}
</div>
</div>
<div class="section">
<swiper ref="mySwiper" :options="swiperOptions">
<swiper-slide
v-for="(item, index) in options.list[0].goodsList"
:key="index"
>
<div class="content">
<img :src="item.img" width="140" height="140" :alt="item.name" />
<div class="ellipsis">{{ item.name }}</div>
<div>
<span>{{ item.price | unitPrice("¥") }}</span>
<span>{{ item.originalPrice | unitPrice("¥") }}</span>
</div>
</div>
</swiper-slide>
</swiper>
</div>
</div>
</template>
<script>
import { Swiper, SwiperSlide, directive } from 'vue-awesome-swiper'
import 'swiper/swiper-bundle.css'
import { Swiper, SwiperSlide, directive } from "vue-awesome-swiper";
import "swiper/swiper-bundle.css";
export default {
components: {
Swiper,
SwiperSlide
components: {
Swiper,
SwiperSlide,
},
directives: {
swiper: directive,
},
props: {
data: {
type: Object,
default: null,
},
directives: {
swiper: directive
},
props:{
data:{
type: Object,
default: null
}
},
data() {
return {
options:this.data.options, // 当前数据
actStatus:0, // 0 未开始 1 进行中 2 已结束
actName:'限时秒杀',
currHour:'00', // 当前秒杀场
diffSeconds:0, // 倒地时
hours: '00', // 小时
minutes: '00', // 分钟
seconds: '00', // 秒
interval:undefined, // 定时器
swiperOptions:{ // 轮播图参数
slidesPerView: 5,
autoplay:true,
loop:true
}
}
},
watch: {
diffSeconds(val){
const hours = Math.floor(val / 3600)
// 当前秒数 / 60向下取整
// 获取到所有分钟数 3600 / 60 = 60分钟
// 对60取模超过小时数的分钟数
const minutes = Math.floor(val / 60) % 60
// 当前的秒数 % 60获取到 超过小时数、分钟数的秒数(秒数)
const seconds = val % 60
this.hours = hours < 10 ? '0' + hours : hours
this.minutes = minutes < 10 ? '0' + minutes : minutes
this.seconds = seconds < 10 ? '0' + seconds : seconds
},
data() {
return {
options: this.data.options, // 当前数据
actStatus: 0, // 0 未开始 1 进行中 2 已结束
actName: "限时秒杀",
currHour: "00", // 当前秒杀场
diffSeconds: 0, // 倒地时
hours: "00", // 小时
minutes: "00", // 分钟
seconds: "00", // 秒
interval: undefined, // 定时器
swiperOptions: {
// 轮播图参数
slidesPerView: 5,
autoplay: true,
loop: true,
},
};
},
watch: {
diffSeconds(val) {
const hours = Math.floor(val / 3600);
// 当前秒数 / 60向下取整
// 获取到所有分钟数 3600 / 60 = 60分钟
// 对60取模超过小时数的分钟数
const minutes = Math.floor(val / 60) % 60;
// 当前的秒数 % 60获取到 超过小时数、分钟数的秒数(秒数)
const seconds = val % 60;
this.hours = hours < 10 ? "0" + hours : hours;
this.minutes = minutes < 10 ? "0" + minutes : minutes;
this.seconds = seconds < 10 ? "0" + seconds : seconds;
if(val === 0){
clearInterval(this.interval)
this.hours = 0;
this.minutes = 0;
this.seconds = 0;
this.countDown(this.options.list)
}
if (val === 0) {
clearInterval(this.interval);
this.hours = 0;
this.minutes = 0;
this.seconds = 0;
this.countDown(this.options.list);
}
},
},
mounted() {
this.countDown(this.options.list);
},
beforeDestroy() {
clearInterval(this.interval);
},
methods: {
// 倒计时
countDown(list) {
/**
* 默认倒计时两小时
* 如果没有开始,则显示未开始
* 进行中显示倒计时
* 今天的秒杀结束则显示已结束
*/
let nowHour = new Date().getHours();
if (nowHour < Number(list[0].time)) {
// 活动未开始
this.currHour = list[0].time;
this.actStatus = 0;
} else if (nowHour >= Number(list[list.length - 1].time + 2)) {
// 活动已结束
this.actStatus = 2;
this.currHour = list[list.length - 1].time;
} else {
// 活动进行中
this.actStatus = 1;
for (let i = 0; i < list.length; i++) {
if (nowHour == Number(list[i].time)) {
this.currHour = list[i].time;
}
if (
nowHour > Number(list[i].time) &&
nowHour < Number(list[i].time + 2)
) {
this.currHour = list[i].time;
}
}
// 当前0点时间戳
let zeroTime = new Date(new Date().toLocaleDateString()).getTime();
// 活动倒计时
this.diffSeconds = Math.floor(
(zeroTime +
3600 * 1000 * (this.currHour + 2) -
new Date().getTime()) /
1000
);
const that = this;
this.interval = setInterval(() => {
this.diffSeconds--;
}, 1000);
}
},
mounted(){
this.countDown(this.options.list)
},
beforeDestroy(){
clearInterval(this.interval)
},
methods: {
// 倒计时
countDown(list){
/**
* 默认倒计时两小时
* 如果没有开始,则显示未开始
* 进行中显示倒计时
* 今天的秒杀结束则显示已结束
*/
let nowHour = new Date().getHours();
if(nowHour < Number(list[0].time)){ // 活动未开始
this.currHour = list[0].time
this.actStatus = 0;
} else if(nowHour >= Number(list[list.length-1].time + 2)) { // 活动已结束
this.actStatus = 2;
this.currHour = list[list.length-1].time
} else { // 活动进行中
this.actStatus = 1;
for(let i = 0; i < list.length; i++) {
if(nowHour == Number(list[i].time)) {
this.currHour = list[i].time;
}
if( nowHour > Number(list[i].time) && nowHour < Number(list[i].time + 2) ){
this.currHour = list[i].time;
}
}
// 当前0点时间戳
let zeroTime = new Date(new Date().toLocaleDateString()).getTime()
// 活动倒计时
this.diffSeconds = Math.floor( ( zeroTime + 3600 * 1000 * (this.currHour+2) - new Date().getTime() ) / 1000)
const that = this;
this.interval = setInterval(() => {
this.diffSeconds--
}, 1000);
}
}
}
}
},
};
</script>
<style lang="scss" scoped>
.seckill{
width: 100%;
height: 260px;
display: flex;
.aside{
overflow: hidden;
width: 190px;
height: 100%;
color: #fff;
background-image: url('../../../assets/seckillBg.png');
.seckill {
width: 100%;
height: 260px;
display: flex;
position: relative;
.desc{
position: absolute;
color: $theme_color;
left: 200px;
top: 5px;
}
.aside {
overflow: hidden;
width: 190px;
height: 100%;
color: #fff;
background-image: url("../../../assets/seckillBg.png");
.title{
width: 100%;
text-align: center;
font-size: 28px;
margin-top: 31px;
}
.hour{
margin-top: 90px;
text-align: center;
span{
font-size: 18px;
}
}
.count-down{
margin: 10px 0 0 30px;
>span{
position: relative;
float: left;
width: 30px;
height: 30px;
text-align: center;
background-color: #2f3430;
margin-right: 20px;
color: white;
font-size: 20px;
&::after{
content: ":";
display: block;
position: absolute;
right: -20px;
font-weight: bolder;
font-size: 18px;
width: 20px;
height: 100%;
top: 0;
}
}
>span:last-child::after{
content: '';
}
}
.act-status{
margin: 10px 0 0 65px;
font-size: 20px;
}
.title {
width: 100%;
text-align: center;
font-size: 28px;
margin-top: 31px;
}
.section{
width: 1000px;
// background: #efefef;
.swiper-slide{
height: 260px;
.content{
width: 200px;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
position: relative;
&::after{
content: "";
display: block;
position: absolute;
top: 50%;
right: 0;
width: 1px;
height: 200px;
transform: translateY(-50%);
background: linear-gradient(180deg,white,#eeeeee,white);
}
img{
margin-top: 30px;
}
>div{
width: 160px;
margin-top: 10px;
font-size: 12px;
position: relative;
}
>div:nth-of-type(1):hover{
color: $theme_color;
cursor: pointer;
}
>div:nth-of-type(2){
border: 1px solid $theme_color;
line-height: 24px;
display: flex;
text-align: center;
span:nth-child(1){
color: #fff;
font-size: 16px;
width: 92px;
background-color: $theme_color;
position: relative;
&::before{
content: " ";
width: 0;
height: 0;
border-color: transparent white transparent transparent;
border-style: solid;
border-width: 24px 8px 0 0;
position: absolute;
top: 0;
left: 84px;
}
}
span:nth-child(2){
color: #999;
width: 66px;
text-decoration: line-through;
}
}
}
}
.hour {
margin-top: 90px;
text-align: center;
span {
font-size: 18px;
}
}
.count-down {
margin: 10px 0 0 30px;
> span {
position: relative;
float: left;
width: 30px;
height: 30px;
text-align: center;
background-color: #2f3430;
margin-right: 20px;
color: white;
font-size: 20px;
&::after {
content: ":";
display: block;
position: absolute;
right: -20px;
font-weight: bolder;
font-size: 18px;
width: 20px;
height: 100%;
top: 0;
}
}
> span:last-child::after {
content: "";
}
}
.act-status {
margin: 10px 0 0 65px;
font-size: 20px;
}
}
.section {
width: 1000px;
// background: #efefef;
.swiper-slide {
height: 260px;
.content {
width: 200px;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
position: relative;
&::after {
content: "";
display: block;
position: absolute;
top: 50%;
right: 0;
width: 1px;
height: 200px;
transform: translateY(-50%);
background: linear-gradient(180deg, white, #eeeeee, white);
}
img {
margin-top: 30px;
}
> div {
width: 160px;
margin-top: 10px;
font-size: 12px;
position: relative;
}
> div:nth-of-type(1):hover {
color: $theme_color;
cursor: pointer;
}
> div:nth-of-type(2) {
border: 1px solid $theme_color;
line-height: 24px;
display: flex;
text-align: center;
span:nth-child(1) {
color: #fff;
font-size: 16px;
width: 92px;
background-color: $theme_color;
position: relative;
&::before {
content: " ";
width: 0;
height: 0;
border-color: transparent white transparent transparent;
border-style: solid;
border-width: 24px 8px 0 0;
position: absolute;
top: 0;
left: 84px;
}
}
span:nth-child(2) {
color: #999;
width: 66px;
text-decoration: line-through;
}
}
}
}
}
}
</style>

View File

@@ -14,8 +14,11 @@
<div class="show-content">
<model-form ref="modelForm" :data="modelForm"></model-form>
</div>
<!-- 保存按钮 -->
<div class="btn-bar"><Button type="primary" @click="saveTemplate">保存模板</Button> <Button @click="resetTemplate">还原模板</Button></div>
<!-- 操作按钮 -->
<div class="btn-bar">
<Button type="primary" @click="saveTemplate">保存模板</Button>
<Button class="ml_10" @click="resetTemplate">还原模板</Button>
</div>
</div>
</template>
<script>
@@ -50,15 +53,11 @@ export default {
const data = {
id: this.$route.query.id,
pageData: modelForm,
pageShow,
pageShow
};
console.log(this.modelForm);
API_floor.updateHome(this.$route.query.id, data).then((res) => {
if (res.success) {
this.$Message.success("保存模板成功");
} else {
// this.$Message.error(res.message);
}
});
},
@@ -71,6 +70,892 @@ export default {
API_floor.getHomeData(id).then((res) => {
if (res.success) {
let pageData = res.result.pageData;
// let pageData = {
// "list": [{
// "type": "topAdvert",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/9fc491bd51484690a405ce0fab1bb118.jpeg",
// "url": "/merchant?id=1376369067769724928",
// "bgColor": "#377CFA",
// "size": "1200*80"
// }, {
// "type": "navBar",
// "list": [{
// "name": "秒杀",
// "url": "/seckill"
// }, {
// "name": "优惠券",
// "url": "/coupon"
// }, {
// "name": "商家中心",
// "url": "https://store-b2b2c.pickmall.cn"
// }]
// }, {
// "type": "carousel",
// "name": "图片轮播",
// "icon": "md-image",
// "showName": "",
// "size": "790*340",
// "options": {
// "list": [{
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/fda3ca6646a6401b9c4cc664af3a8bb6.png",
// "url": "/goodsList?cateId=1348576427264204943"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/885ba98892d048049c158296bc4c6759.png",
// "url": "/goodsList?cateId=1348576427268399379"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/8e33ab68ef734558bdc158d6b1b1451f.png",
// "url": "/goodsList?cateId=1348576427264204982"
// }]
// },
// "key": "1612497034000_84734",
// "model": "carousel_1612497034000_84734"
// }, {
// "type": "seckill",
// "name": "促销活动",
// "icon": "md-image",
// "showName": "",
// "options": {
// "list": [{
// "time": 6,
// "goodsList": [{
// "img": "/img/1.389c5949.jpg",
// "price": 20,
// "originalPrice": 30,
// "name": "阿迪达斯三叶草asdasdafads123213a",
// "url": ""
// }, {
// "img": "/img/2.8b41a762.jpg",
// "price": 20,
// "originalPrice": 30,
// "name": "阿迪达斯三叶草asdasdafadsa",
// "url": ""
// }, {
// "img": "/img/3.0448ed98.jpg",
// "price": 20,
// "originalPrice": 30,
// "name": "阿迪达斯三叶草asdasdafadsa",
// "url": ""
// }, {
// "img": "/img/4.b7944e24.jpg",
// "price": 20,
// "originalPrice": 30,
// "name": "阿迪达斯三叶草asdasdafadsa",
// "url": ""
// }, {
// "img": "/img/5.a172e11a.jpg",
// "price": 20,
// "originalPrice": 30,
// "name": "阿迪达斯三叶草asdasdafadsa",
// "url": ""
// }, {
// "img": "/img/1.389c5949.jpg",
// "price": 20,
// "originalPrice": 30,
// "name": "阿迪达斯三叶草asdasdafadsa",
// "url": ""
// }, {
// "img": "/img/2.8b41a762.jpg",
// "price": 20,
// "originalPrice": 30,
// "name": "阿迪达斯三叶草asdasdafadsa",
// "url": ""
// }, {
// "img": "/img/3.0448ed98.jpg",
// "price": 20,
// "originalPrice": 30,
// "name": "阿迪达斯三叶草asdasdafadsa",
// "url": ""
// }, {
// "img": "/img/4.b7944e24.jpg",
// "price": 20,
// "originalPrice": 30,
// "name": "阿迪达斯三叶草asdasdafadsa",
// "url": ""
// }, {
// "img": "/img/5.a172e11a.jpg",
// "price": 20,
// "originalPrice": 30,
// "name": "阿迪达斯三叶草asdasdafadsa",
// "url": ""
// }]
// }, {
// "time": 8,
// "goodsList": [{
// "img": "/img/1.389c5949.jpg",
// "url": ""
// }, {
// "img": "/img/2.8b41a762.jpg",
// "url": ""
// }, {
// "img": "/img/3.0448ed98.jpg",
// "url": ""
// }, {
// "img": "/img/4.b7944e24.jpg",
// "url": ""
// }, {
// "img": "/img/5.a172e11a.jpg",
// "url": ""
// }]
// }, {
// "time": 10,
// "goodsList": [{
// "img": "/img/1.389c5949.jpg",
// "url": ""
// }, {
// "img": "/img/2.8b41a762.jpg",
// "url": ""
// }, {
// "img": "/img/3.0448ed98.jpg",
// "url": ""
// }, {
// "img": "/img/4.b7944e24.jpg",
// "url": ""
// }, {
// "img": "/img/5.a172e11a.jpg",
// "url": ""
// }]
// }, {
// "time": 12,
// "goodsList": [{
// "img": "/img/1.389c5949.jpg",
// "url": ""
// }, {
// "img": "/img/2.8b41a762.jpg",
// "url": ""
// }, {
// "img": "/img/3.0448ed98.jpg",
// "url": ""
// }, {
// "img": "/img/4.b7944e24.jpg",
// "url": ""
// }, {
// "img": "/img/5.a172e11a.jpg",
// "url": ""
// }]
// }, {
// "time": 14,
// "goodsList": []
// }, {
// "time": 16,
// "goodsList": []
// }, {
// "time": 18,
// "goodsList": []
// }]
// },
// "key": "1628048373000_83760",
// "model": "seckill_1628048373000_83760"
// }, {
// "type": "discountAdvert",
// "name": "折扣广告",
// "icon": "md-image",
// "options": {
// "bgImg": "",
// "classification": [{
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/1dd9c20ffad245e89e6dc516d6603719.jpg",
// "url": "/goodsDetail?id=1354319273359335424",
// "size": "190*210"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/d64d48fa56b340f59bd3064aa8d4bdca.png",
// "url": "/goodsDetail?skuId=1376845635973545984&goodsId=1376845635923214336",
// "size": "190*210"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/51fc954e0f0f4feda97611a2fecc0ad1.png",
// "url": "/goodsDetail?skuId=1376544591066431488&goodsId=1376544590403731456",
// "size": "190*210"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/fde5349e6b4c438d884ee36ae8c97096.png",
// "url": "/goodsDetail?skuId=1376554436532371456&goodsId=1376554435945168896",
// "size": "190*210"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/d64d48fa56b340f59bd3064aa8d4bdca.png",
// "url": "/goodsDetail?skuId=1376556775628603392&goodsId=1376556775007846400",
// "size": "190*210"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/5259dbfb17fd482894021b86140d2871.png",
// "url": "/goodsDetail?skuId=1381792993853308928&goodsId=1377083477941288960",
// "size": "190*210"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/a9593607de404546953055f279fd5d54.png",
// "url": "/goodsDetail?skuId=1381793060458856448&goodsId=1377085464581767168",
// "size": "190*210"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/d53cbd59ce3a4efd8c3c8f476c91f3e9.png",
// "url": "/goodsDetail?skuId=1381791842919514112&goodsId=1376443041593688064",
// "size": "190*210"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/b95573e65d2b4ffa8e7ed96d94da37c9.png",
// "url": "/goodsDetail?skuId=1381792775162298368&goodsId=1377077664103268352",
// "size": "190*210"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/6a5182bc98a347a5926e3be24e55719f.png",
// "url": "/goodsDetail?skuId=1381793449228894208&goodsId=1377098934119301120",
// "size": "190*210"
// }],
// "brandList": [{
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/905c55d7dc7044328314c94adfbe6051.png",
// "url": "",
// "size": "240*105"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/de02941684f6423db05fe84ade7bbf35.png",
// "url": "",
// "size": "240*105"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/9f6ad605ba4047db90109d45ab9265ca.png",
// "url": "",
// "size": "240*105"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/0dd24fb3bc554158973a3deda5edfda5.png",
// "url": "",
// "size": "240*105"
// }]
// },
// "key": "1612497041000_99064",
// "model": "discountAdvert_1612497041000_99064"
// }, {
// "type": "recommend",
// "name": "好货推荐",
// "icon": "md-image",
// "options": {
// "contentLeft": {
// "title": "发现好货",
// "secondTitle": "查看更多",
// "bgColor": "#449dae",
// "url": "/goodsDetail?id=1346742995118743552",
// "list": [{
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/b20243bc89a149a398b6d7ef9a097938.jpg?x-oss-process=style/400X400",
// "name": "小米 (MI)Redmi K40 Pro 白色",
// "describe": "也许是每一款经典系列都应该有一个独特的故事吧",
// "url": "/goodsDetail?skuId=1376544591276146688&goodsId=1376544590403731456",
// "size": "160*160",
// "price": 3999
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/a4c2b5073fd84d60bfe38d6a6c0044c9.jpeg?x-oss-process=style/400X400",
// "name": "一加 OnePlus 9 紫色",
// "describe": " 8GB+128GB 5G手机",
// "url": "/goodsDetail?skuId=1376373278989352960&goodsId=1376373278360207360",
// "size": "80*80",
// "price": 3799
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/df6377650f94456087316c1c9a381952.jpeg?x-oss-process=style/400X400",
// "name": "一加 OnePlus 9 黑色",
// "describe": " 8GB+128GB 5G手机",
// "url": "/goodsDetail?skuId=1376373279131959296&goodsId=1376373278360207360",
// "size": "80*80",
// "price": 3899
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/30b3030b9bb44e758146d8eca63a1242.jpeg?x-oss-process=style/400X400",
// "name": "vivo iQOO 7 黑色",
// "describe": "UFS 3.1 双模5G全网通手机",
// "url": "/goodsDetail?skuId=1376521744352804864&goodsId=1376521743522332672",
// "size": "80*80",
// "price": 4198
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/d86a06718d88422baf7422cb0d8b71db.jpeg?x-oss-process=style/400X400",
// "name": "vivo iQOO 7 白色",
// "describe": "UFS 3.1 双模5G全网通手机",
// "url": "/goodsDetail?skuId=1376521744608657408&goodsId=1376521743522332672",
// "size": "80*80",
// "price": 4298
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/b3dccb22364f42c9bec193d64f140abb.jpg?x-oss-process=style/400X400",
// "name": "Apple iPhone 12 黑色",
// "describe": " 移动联通电信5G全网通手机",
// "url": "/goodsDetail?skuId=1376529926336806912&goodsId=1376529925690884096",
// "size": "80*80",
// "price": 4200
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/af4e8d5341b1433c8d23d44dbf9bf37f.jpg?x-oss-process=style/400X400",
// "name": "Apple iPhone 12 白色",
// "describe": " 移动联通电信5G全网通手机",
// "url": "/goodsDetail?skuId=1376529926533939200&goodsId=1376529925690884096",
// "size": "80*80",
// "price": 4100
// }]
// },
// "contentRight": {
// "title": "特色推荐",
// "secondTitle": "查看更多",
// "bgColor": "#a25684",
// "url": "/goodsDetail?skuId=1376541893952798720&goodsId=1376541893319458816",
// "list": [{
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/0544e5c117a348998d80061f7a900400.jpg?x-oss-process=style/400X400",
// "name": "佳能 EOS 200D II ",
// "describe": "佳能(Canon) 2代数码单反相机",
// "url": "/goodsDetail?skuId=1376541893755666432&goodsId=1376541893319458816",
// "size": "220*110",
// "price": 4449
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/e58eae43b3784a1bb1bdf13937442e2d.jpg?x-oss-process=style/400X400",
// "name": "荣耀Play4T Pro 黑色",
// "describe": "骁龙865丨30W快充",
// "url": "/goodsDetail?skuId=1376547794663243776&goodsId=1376547793954406400",
// "size": "220*110",
// "price": 2999
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/745f6ef25634428a8b1972ce23c9c7b3.jpg?x-oss-process=style/400X400",
// "name": "小米Redmi K30 ",
// "describe": "小米MI至尊纪念版",
// "url": "/goodsDetail?skuId=1376554436532371456&goodsId=1376554435945168896",
// "size": "220*110",
// "price": 3000
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/5fc6e64e189c4c378e72757af663ff3a.png?x-oss-process=style/400X400",
// "name": "魅族12 白色",
// "describe": "2K四曲微弧屏丨4400W前摄光学防抖",
// "url": "/goodsDetail?skuId=1376559979762286592&goodsId=1376559979007311872",
// "size": "220*110",
// "price": 4999
// }]
// }
// },
// "key": "1612497146000_38763",
// "model": "recommend_1612497146000_38763"
// }, {
// "type": "newGoodsSort",
// "name": "新品排行",
// "icon": "md-image",
// "options": {
// "left": {
// "title": "特卖",
// "secondTitle": "更333",
// "bgColor": "#c43d7e",
// "url": "/goodsDetail?id=1346742995596894208",
// "list": [{
// "name": "小米MIRedmi K30 至尊纪念版 白色",
// "describe": "满269减50,满999减100",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/6fed4b19c53c4b88a5123301dede09c9.jpg?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1376554436721115136&goodsId=1376554435945168896",
// "size": "160*160",
// "price": 4000
// }, {
// "name": "红气垫 阿玛尼",
// "describe": "轻透精华气垫粉底液",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/7896c015be3f4418a99e6ca2efcae386.jpg?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1381796259035086848&goodsId=1377122967070179328",
// "size": "90*90",
// "price": 400
// }, {
// "name": "MAXFACTOR 蜜丝佛陀",
// "describe": " 三合一粉底液",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/75b2a1a1f4d74470a9da19158ff805ac.jpg?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1381796144429924352&goodsId=1377121719424122880",
// "size": "90*90",
// "price": 333
// }, {
// "name": "ARMANI阿玛尼",
// "describe": "紧颜粉底液 03",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/389b2ce90fd0425a8a9d988890ad46d2.jpg?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1381789991541145600&goodsId=1377127936569638912",
// "size": "90*90",
// "price": 666
// }, {
// "name": "NYX 焕彩16色眼影盘",
// "describe": " 大地色",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/53b1c3cc1f1d4085917c282179f3e2fa.jpg?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1377137907063586816&goodsId=1377137906799345664",
// "size": "90*90",
// "price": 100
// }]
// },
// "middle": {
// "title": "新品",
// "secondTitle": "更多新品",
// "bgColor": "#e66a07",
// "url": "",
// "list": [{
// "name": "母亲原味牛肉棒",
// "describe": "烧烤味",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/c9cbc345f3014affbb09a80306303c7c.jpg?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1381793449233088512&goodsId=1377098934119301120",
// "size": "90*90",
// "price": 8
// }, {
// "name": "百草味 原味芒果干",
// "describe": "原味",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/54dcb9cd0fea4f1f8243e12d49c28af9.png?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1381791842915319808&goodsId=1376443041593688064",
// "size": "90*90",
// "price": 15
// }, {
// "name": "YSL 圣罗兰 ",
// "describe": "清新花果香",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/31731869956848be8fc34f6751136977.jpg?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1381796591895052288&goodsId=1377145942322446336",
// "size": "90*90",
// "price": 886
// }, {
// "name": "雀巢(Nestle) 威化饼干",
// "describe": "牛奶味",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/fe5b8167b0264c53836d08a6a7003cf0.jpeg?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1381797095073120256&goodsId=1377805575856848896",
// "size": "90*90",
// "price": 9.9
// }, {
// "name": "夏威夷果 百草味",
// "describe": "坚果 ",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/999746fb087a40a280c2ef2c5abb7cc3.jpg?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1381792548812488704&goodsId=1377071458592751616",
// "size": "90*90",
// "price": 37
// }, {
// "name": "范思哲VERSACE",
// "describe": "清新水果香",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/9b04d1580fb84e67939392a65b9d708d.jpg?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1381796537792724992&goodsId=1377143657961881600",
// "size": "90*90",
// "price": 199
// }]
// },
// "right": {
// "title": "排行榜",
// "secondTitle": "精品风向标",
// "bgColor": "#b62323",
// "url": "",
// "list": [{
// "name": "小米 (MI)Redmi K40 Pro 黑色",
// "price": 2999,
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/9064c20d62f24bfaa5d3854f72a83c6c.jpg?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1376544591066431488&goodsId=1376544590403731456"
// }, {
// "name": "一加 OnePlus 9 黑色",
// "price": 3899,
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/df6377650f94456087316c1c9a381952.jpeg?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1376373279131959296&goodsId=1376373278360207360"
// }, {
// "name": "一加 OnePlus 9 紫色",
// "price": 5000,
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/cc724307f056420eb14c5bd35608a024.jpg?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1376556775628603392&goodsId=1376556775007846400"
// }, {
// "name": "Apple iPhone 12 白色",
// "price": 4100,
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/af4e8d5341b1433c8d23d44dbf9bf37f.jpg?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1376529926533939200&goodsId=1376529925690884096"
// }, {
// "name": "荣耀Play4T Pro 黑色",
// "price": 2999,
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/e58eae43b3784a1bb1bdf13937442e2d.jpg?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1376547794663243776&goodsId=1376547793954406400"
// }, {
// "name": "魅族12 蓝色",
// "price": 3999,
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/9ebe5bdb79c840ed9619b4fc72de21a9.png?x-oss-process=style/400X400",
// "url": "/goodsDetail?skuId=1376559979577737216&goodsId=1376559979007311872"
// }]
// }
// },
// "key": "1612497051000_82856",
// "model": "newGoodsSort_1612497051000_82856"
// }, {
// "type": "firstAdvert",
// "name": "首页广告",
// "icon": "md-image",
// "options": {
// "list": [{
// "name": "爆款直降",
// "describe": "爆款最高直降1000元",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/24e82e04abb3430399a888e845f74a54.png",
// "url": "/goodsDetail?id=1351420391981867008",
// "fromColor": "#e89621",
// "toColor": "#f5c568",
// "size": "170*170"
// }, {
// "name": "休闲零食",
// "describe": "小嘴停不住",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/1bed3dd6c8f04397ae598b626391869b.png",
// "url": "",
// "fromColor": "#325bb4",
// "toColor": "#4c9afe",
// "size": "170*170"
// }, {
// "name": "潮流手机",
// "describe": "潮流好货无忧购",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/8770b83f90c3409694d36f2ef9b559e4.png",
// "url": "",
// "fromColor": "#1c9daf",
// "toColor": "#40cda7",
// "size": "170*170"
// }, {
// "name": "新品好货",
// "describe": "新品好货送好礼",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/cf8665501b9e4856bb658c17014e35a2.png",
// "url": "",
// "fromColor": "#d13837",
// "toColor": "#df6d4f",
// "size": "170*170"
// }, {
// "name": "LILI生鲜",
// "describe": "年货带回家 满199减60",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/bd17d2ade7764a049e430d2e2e899b16.png",
// "url": "",
// "fromColor": "#ca4283",
// "toColor": "#eb75cf",
// "size": "170*170"
// }, {
// "name": "LILI众筹",
// "describe": "备孕有孕检测仪",
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/8cd10a71b92c4ff2866f6fdd3a69ded2.png",
// "url": "",
// "fromColor": "#5d40c1",
// "toColor": "#8c5fdb",
// "size": "170*170"
// }]
// },
// "key": "1612497063000_39466",
// "model": "firstAdvert_1612497063000_39466"
// }, {
// "type": "newGoodsSort",
// "name": "新品排行",
// "icon": "md-image",
// "options": {
// "left": {
// "title": "特卖",
// "secondTitle": "更多特卖",
// "bgColor": "#c43d7e",
// "url": "",
// "list": [{
// "name": "新年心愿单",
// "describe": "满269减50,满999减100",
// "img": "/img/decorate6.3b8e00a9.jpeg",
// "url": "",
// "size": "160*160"
// }, {
// "name": "Ms.Maggie 冬季时尚",
// "describe": "满269减50",
// "img": "/img/decorate6.3b8e00a9.jpeg",
// "url": "",
// "size": "90*90"
// }, {
// "name": "Ms.Maggie 冬季时尚",
// "describe": "满269减50",
// "img": "/img/decorate6.3b8e00a9.jpeg",
// "url": "",
// "size": "90*90"
// }, {
// "name": "Ms.Maggie 冬季时尚",
// "describe": "满269减50",
// "img": "/img/decorate6.3b8e00a9.jpeg",
// "url": "",
// "size": "90*90"
// }, {
// "name": "阿迪达斯 领跑时尚",
// "describe": "满269减50",
// "img": "/img/decorate6.3b8e00a9.jpeg",
// "url": "",
// "size": "90*90"
// }]
// },
// "middle": {
// "title": "新品",
// "secondTitle": "更多新品",
// "bgColor": "#e66a07",
// "url": "",
// "list": [{
// "name": "阿迪达斯 领跑时尚",
// "describe": "满269减50",
// "img": "/img/decorate6.3b8e00a9.jpeg",
// "url": "",
// "size": "90*90"
// }, {
// "name": "阿迪达斯 领跑时尚",
// "describe": "满269减50",
// "img": "/img/decorate6.3b8e00a9.jpeg",
// "url": "",
// "size": "90*90"
// }, {
// "name": "阿迪达斯 领跑时尚",
// "describe": "满269减50",
// "img": "/img/decorate6.3b8e00a9.jpeg",
// "url": "",
// "size": "90*90"
// }, {
// "name": "阿迪达斯 领跑时尚",
// "describe": "满269减50",
// "img": "/img/decorate6.3b8e00a9.jpeg",
// "url": "",
// "size": "90*90"
// }, {
// "name": "阿迪达斯 领跑时尚",
// "describe": "满269减50",
// "img": "/img/decorate6.3b8e00a9.jpeg",
// "url": "",
// "size": "90*90"
// }, {
// "name": "阿迪达斯 领跑时尚",
// "describe": "满269减50",
// "img": "/img/decorate6.3b8e00a9.jpeg",
// "url": "",
// "size": "90*90"
// }]
// },
// "right": {
// "title": "排行榜",
// "secondTitle": "精品风向标",
// "bgColor": "#b62323",
// "url": "",
// "list": [{
// "name": "小米红米3s手机壳保护套红米3高配版指纹男女款潮版磨砂硬壳防摔 收藏截图 送大礼包",
// "price": 14.9,
// "img": "/img/decorate7.2e150fd1.jpeg",
// "url": ""
// }, {
// "name": "小米红米3s手机壳保护套红米3高配版指纹男女款潮版磨砂硬壳防摔 收藏截图 送大礼包",
// "price": 14.9,
// "img": "/img/decorate7.2e150fd1.jpeg",
// "url": ""
// }, {
// "name": "小米红米3s手机壳保护套红米3高配版指纹男女款潮版磨砂硬壳防摔 收藏截图 送大礼包",
// "price": 14.9,
// "img": "/img/decorate7.2e150fd1.jpeg",
// "url": ""
// }, {
// "name": "小米红米3s手机壳保护套红米3高配版指纹男女款潮版磨砂硬壳防摔 收藏截图 送大礼包",
// "price": 14.9,
// "img": "/img/decorate7.2e150fd1.jpeg",
// "url": ""
// }, {
// "name": "小米红米3s手机壳保护套红米3高配版指纹男女款潮版磨砂硬壳防摔 收藏截图 送大礼包",
// "price": 14.9,
// "img": "/img/decorate7.2e150fd1.jpeg",
// "url": ""
// }, {
// "name": "小米红米3s手机壳保护套红米3高配版指纹男女款潮版磨砂硬壳防摔 收藏截图 送大礼包",
// "price": 14.9,
// "img": "/img/decorate7.2e150fd1.jpeg",
// "url": ""
// }]
// }
// }
// }, {
// "type": "notEnough",
// "name": "还没逛够",
// "icon": "md-image",
// "options": {
// "list": [
// [{
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/217488c7baa44c99a447f4e31eb8642f.jpg?x-oss-process=style/400X400",
// "name": "肉类零食 白芝麻猪肉脯 香辣味",
// "price": 36,
// "url": "/goodsDetail?skuId=1381792263700480000&goodsId=1377064344218501120"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/3e7cdac8739c4d338fb0afb770cf5495.jpg?x-oss-process=style/400X400",
// "name": "【保税发货】NYX 焕彩16色眼影盘 朱光色",
// "price": 100,
// "url": "/goodsDetail?skuId=1377137907063586817&goodsId=1377137906799345664"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/389b2ce90fd0425a8a9d988890ad46d2.jpg?x-oss-process=style/400X400",
// "name": "ARMANI阿玛尼 新款蓝标大·师 造型紧颜粉底液 03",
// "price": 666,
// "url": "/goodsDetail?skuId=1381789991541145600&goodsId=1377127936569638912"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/0ebd7f52cb9641d4a0f2596c5e862c35.jpg?x-oss-process=style/400X400",
// "name": "欧莱雅复颜视黄醇精粹抗皱护肤套装 水",
// "price": 299,
// "url": "/goodsDetail?skuId=1381793547266555904&goodsId=1377102418646401024"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/36e66e081a11449cbe03e9c2df884a9f.jpg?x-oss-process=style/400X400",
// "name": "妮维雅(NIVEA)男士水活多效洁面乳 保湿",
// "price": 23,
// "url": "/goodsDetail?skuId=1381795951156396032&goodsId=1377104395929387008"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/d1e7dcda155d454c8f7089298a9bcb82.jpg?x-oss-process=style/400X400",
// "name": "【新年礼】花西子x杜鹃定制东方佳人妆奁彩妆 礼物1",
// "price": 999,
// "url": "/goodsDetail?skuId=1381796022597976064&goodsId=1377106159533555712"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/432970f4d3d24692bd7b68299c260601.jpg?x-oss-process=style/400X400",
// "name": "雅诗兰黛EsteeLauder 持妆粉底液 01",
// "price": 333,
// "url": "/goodsDetail?skuId=1381796080479371264&goodsId=1377118965985181696"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/75b2a1a1f4d74470a9da19158ff805ac.jpg?x-oss-process=style/400X400",
// "name": "MAXFACTOR 蜜丝佛陀 三合一防晒粉底液 02",
// "price": 333,
// "url": "/goodsDetail?skuId=1381796144429924352&goodsId=1377121719424122880"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/ba6efdfae1fe4493a6160ca86114845e.jpg?x-oss-process=style/400X400",
// "name": "粉色安琪sweetpink公主腮红礼盒 01",
// "price": 29,
// "url": "/goodsDetail?skuId=1381796202034495488&goodsId=1377129270085681152"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/f4930e4df42c4d80af1ca2a2106e22ad.jpg?x-oss-process=style/400X400",
// "name": "红气垫 Armani阿玛尼 轻透精华气垫粉底液 02",
// "price": 400,
// "url": "/goodsDetail?skuId=1381796259039281152&goodsId=1377122967070179328"
// }],
// [{
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/a4c2b5073fd84d60bfe38d6a6c0044c9.jpeg?x-oss-process=style/400X400",
// "name": "一加 OnePlus 9 紫色",
// "price": 3799,
// "url": "/goodsDetail?skuId=1376373278989352960&goodsId=1376373278360207360"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/df6377650f94456087316c1c9a381952.jpeg?x-oss-process=style/400X400",
// "name": "一加 OnePlus 9 黑色",
// "price": 3899,
// "url": "/goodsDetail?skuId=1376373279131959296&goodsId=1376373278360207360"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/30b3030b9bb44e758146d8eca63a1242.jpeg?x-oss-process=style/400X400",
// "name": "vivo iQOO 7 黑色",
// "price": 4198,
// "url": "/goodsDetail?skuId=1376521744352804864&goodsId=1376521743522332672"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/d86a06718d88422baf7422cb0d8b71db.jpeg?x-oss-process=style/400X400",
// "name": "vivo iQOO 7 白色",
// "price": 4298,
// "url": "/goodsDetail?skuId=1376521744608657408&goodsId=1376521743522332672"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/b3dccb22364f42c9bec193d64f140abb.jpg?x-oss-process=style/400X400",
// "name": "Apple iPhone 12 黑色",
// "price": 4200,
// "url": "/goodsDetail?skuId=1376529926336806912&goodsId=1376529925690884096"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/af4e8d5341b1433c8d23d44dbf9bf37f.jpg?x-oss-process=style/400X400",
// "name": "Apple iPhone 12 白色",
// "price": 4100,
// "url": "/goodsDetail?skuId=1376529926533939200&goodsId=1376529925690884096"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/0544e5c117a348998d80061f7a900400.jpg?x-oss-process=style/400X400",
// "name": "佳能(Canon) EOS 200D II 2代数码单反相机 白色",
// "price": 4449,
// "url": "/goodsDetail?skuId=1376541893755666432&goodsId=1376541893319458816"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/299785007b884e6a823c212c839e092c.jpg?x-oss-process=style/400X400",
// "name": "佳能(Canon) EOS 200D II 2代数码单反相机 黑色",
// "price": 4459,
// "url": "/goodsDetail?skuId=1376541893952798720&goodsId=1376541893319458816"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/9064c20d62f24bfaa5d3854f72a83c6c.jpg?x-oss-process=style/400X400",
// "name": "小米 (MI)Redmi K40 Pro 黑色",
// "price": 2999,
// "url": "/goodsDetail?skuId=1376544591066431488&goodsId=1376544590403731456"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/b20243bc89a149a398b6d7ef9a097938.jpg?x-oss-process=style/400X400",
// "name": "小米 (MI)Redmi K40 Pro 白色",
// "price": 3999,
// "url": "/goodsDetail?skuId=1376544591276146688&goodsId=1376544590403731456"
// }],
// [{
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/e58eae43b3784a1bb1bdf13937442e2d.jpg?x-oss-process=style/400X400",
// "name": "荣耀Play4T Pro 黑色",
// "price": 2999,
// "url": "/goodsDetail?skuId=1376547794663243776&goodsId=1376547793954406400"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/a91ea16401974fc29364c8be9ca76e83.jpg?x-oss-process=style/400X400",
// "name": "荣耀Play4T Pro 绿色",
// "price": 2999,
// "url": "/goodsDetail?skuId=1376547794856181760&goodsId=1376547793954406400"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/745f6ef25634428a8b1972ce23c9c7b3.jpg?x-oss-process=style/400X400",
// "name": "小米MIRedmi K30 至尊纪念版 绿色",
// "price": 3000,
// "url": "/goodsDetail?skuId=1376554436532371456&goodsId=1376554435945168896"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/6fed4b19c53c4b88a5123301dede09c9.jpg?x-oss-process=style/400X400",
// "name": "小米MIRedmi K30 至尊纪念版 白色",
// "price": 4000,
// "url": "/goodsDetail?skuId=1376554436721115136&goodsId=1376554435945168896"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/cc724307f056420eb14c5bd35608a024.jpg?x-oss-process=style/400X400",
// "name": "一加 OnePlus 9 紫色",
// "price": 5000,
// "url": "/goodsDetail?skuId=1376556775628603392&goodsId=1376556775007846400"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/7a90d38c4a9f4c8f84f10e53bc204b84.jpg?x-oss-process=style/400X400",
// "name": "一加 OnePlus 9 蓝色",
// "price": 5000,
// "url": "/goodsDetail?skuId=1376556775825735680&goodsId=1376556775007846400"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/9ebe5bdb79c840ed9619b4fc72de21a9.png?x-oss-process=style/400X400",
// "name": "魅族12 蓝色",
// "price": 3999,
// "url": "/goodsDetail?skuId=1376559979577737216&goodsId=1376559979007311872"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/5fc6e64e189c4c378e72757af663ff3a.png?x-oss-process=style/400X400",
// "name": "魅族12 白色",
// "price": 4999,
// "url": "/goodsDetail?skuId=1376559979762286592&goodsId=1376559979007311872"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/230413f3a04b4dfeb4797211a760f0ce.jpg?x-oss-process=style/400X400",
// "name": "华为笔记本MateBook 银色",
// "price": 2999,
// "url": "/goodsDetail?skuId=1376727108025319424&goodsId=1376727107777855488"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/9f66c6e074f9405195eea1c5587da964.jpg?x-oss-process=style/400X400",
// "name": "三星Galaxy S21 Ultra ",
// "price": 7474,
// "url": "/goodsDetail?skuId=1376850145177501696&goodsId=1376850145118781440"
// }],
// [{
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/54dcb9cd0fea4f1f8243e12d49c28af9.png?x-oss-process=style/400X400",
// "name": "百草味 蜜饯 原味芒果干 一袋",
// "price": 15,
// "url": "/goodsDetail?skuId=1381791842915319808&goodsId=1376443041593688064"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/ce9a24a34bb34479b9239f07a9425746.jpg?x-oss-process=style/400X400",
// "name": "牛肉干 百草味",
// "price": 35,
// "url": "/goodsDetail?skuId=1381792695176921088&goodsId=1377074868700315648"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/fced3eededaf4018a26af0ebd660238c.jpg?x-oss-process=style/400X400",
// "name": "奥利奥夹心饼干 原味",
// "price": 35,
// "url": "/goodsDetail?skuId=1381792775162298368&goodsId=1377077664103268352"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/58411207ec5946c7950be9d6eccd136c.jpg?x-oss-process=style/400X400",
// "name": "奥利奥夹心饼干 巧克力",
// "price": 35,
// "url": "/goodsDetail?skuId=1381792775170686976&goodsId=1377077664103268352"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/5b87f8d1439b4dd2b1bd7f9c331eb91b.jpg?x-oss-process=style/400X400",
// "name": "母亲原味牛肉棒22g 牛肉干特产肉类 麻辣",
// "price": 8,
// "url": "/goodsDetail?skuId=1381793449228894208&goodsId=1377098934119301120"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/028c7081275d4c1ea1c7aac206162c44.jpg?x-oss-process=style/400X400",
// "name": "魔法士干脆面【整箱装-混合口味48袋】魔法师干吃方便面 麻辣牛排",
// "price": 2,
// "url": "/goodsDetail?skuId=1381793503364775936&goodsId=1377100803117940736"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/fe5b8167b0264c53836d08a6a7003cf0.jpeg?x-oss-process=style/400X400",
// "name": "雀巢(Nestle) 脆脆鲨 威化饼干 牛奶味",
// "price": 9.9,
// "url": "/goodsDetail?skuId=1381797095073120256&goodsId=1377805575856848896"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/6ce1382ba55f4284a86f893cfc79eed8.jpg?x-oss-process=style/400X400",
// "name": "雀巢Nestle咖啡 奶香味10条",
// "price": 39,
// "url": "/goodsDetail?skuId=1381791962713030656&goodsId=1377057500825649152"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/72927f793db7454d9109ab0581ace984.jpg?x-oss-process=style/400X400",
// "name": "杯口留香酸奶燕麦片 水果燕麦片",
// "price": 9,
// "url": "/goodsDetail?skuId=1381792469200404480&goodsId=1377070177157382144"
// }, {
// "img": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/b7c76242a9914e60a059b2f2dfee168b.jpg?x-oss-process=style/400X400",
// "name": "坚果 夏威夷果 奶油味",
// "price": 37,
// "url": "/goodsDetail?skuId=1381792548808294400&goodsId=1377071458592751616"
// }]
// ],
// "navList": [{
// "title": "精选",
// "desc": "个性美妆"
// }, {
// "title": "智能先锋",
// "desc": "大电器城"
// }, {
// "title": "居家优品",
// "desc": "品质生活"
// }, {
// "title": "超市百货",
// "desc": "百货生鲜"
// }]
// },
// "key": "1612497066000_30831",
// "model": "notEnough_1612497066000_30831"
// }]
// }
if (pageData) {
pageData = JSON.parse(pageData);
if (pageData.list[0].type === "topAdvert") {

View File

@@ -173,7 +173,7 @@ export default {
background: #ededed;
}
.item-title {
background: #f5f7fa;
background: #d7e7f5!important;
height: 54px;
}
.no-more {
@@ -217,7 +217,7 @@ export default {
align-items: center;
}
}
.item:nth-of-type(3n) {
.item:nth-of-type(2n+1) {
background: #f5f7fa;
}
</style>

View File

@@ -87,8 +87,7 @@ export default {
userInfo().then((res) => {
if (res.success) {
// 加载菜单
this.setStore("userInfo", res.result);
Cookies.set("userInfo", JSON.stringify(res.result));
Cookies.set("userInfoManager", JSON.stringify(res.result));
this.$store.commit("setAvatarPath", res.result.avatar);
util.initRouter(this);
this.$router.push({

View File

@@ -417,7 +417,7 @@
{
title: "变动积分",
key: "point",
key: "variablePoint",
width: 150,
render: (h, params) => {
if (params.row.pointType == 'INCREASE') {
@@ -426,7 +426,7 @@
style: {
color: 'green'
}
}, "+" + params.row.point),
}, "+" + params.row.variablePoint),
]);
} else {
return h('div', [
@@ -434,7 +434,7 @@
style: {
color: 'red'
}
}, "-" + params.row.point),
}, "-" + params.row.variablePoint),
]);
}

View File

@@ -172,11 +172,8 @@
</li>
<li v-if="orderInfo.order.priceDetailDTO.payPoint != 0">
<span class="label">使用积分</span>
<span class="txt">{{
orderInfo.order.priceDetailDTO.payPoint
}}</span>
<span class="txt flowPrice">{{orderInfo.order.priceDetailDTO.payPoint}}</span>
</li>
<li>
<span class="label">应付金额</span>
<span class="txt flowPrice">¥{{ orderInfo.order.priceDetailDTO.flowPrice | unitPrice }}</span>

View File

@@ -57,7 +57,6 @@
<script>
import {
userInfo,
userInfoEdit,
} from "@/api/index";
import uploadPicThumb from "@/views/my-components/lili/upload-pic-thumb";
@@ -83,7 +82,7 @@ export default {
methods: {
// 初始化数据
init() {
let v = JSON.parse(Cookies.get("userInfo"));
let v = JSON.parse(Cookies.get("userInfoManager"));
// 转换null为""
for (let attr in v) {
if (v[attr] == null) {
@@ -92,7 +91,6 @@ export default {
}
let userInfo = JSON.parse(JSON.stringify(v));
this.userForm = userInfo;
console.log(userInfo)
},
// 跳转修改密码页面
changePassword() {
@@ -114,7 +112,7 @@ export default {
if (res.success) {
this.$Message.success("保存成功");
// 更新用户信息
Cookies.set("userInfo", this.userForm);
Cookies.set("userInfoManager", this.userForm);
// 更新头像
this.$store.commit("setAvatarPath", this.userForm.avatar);
setTimeout(()=>{

View File

@@ -1,99 +1,85 @@
<template>
<div>
<template>
<Row>
<i-col span="24">
<Card>
<p slot="title">商家信息</p>
<div class="flex flex_align_item">
<p>店铺名称{{ bill.storeName }}</p>
<p>银行开户名{{ bill.bankAccountName }}</p>
<p>银行账号{{ bill.bankAccountNumber }}</p>
<p>开户行支行名称{{ bill.bankName }}</p>
<p>支行联行号{{ bill.bankCode }}</p>
</div>
</Card>
</i-col>
</Row>
</template>
<template>
<Row>
<i-col span="24">
<Card>
<p slot="title">账单详细</p>
<Card>
<p slot="title">商家信息</p>
<div class="flex flex_align_item">
<p>店铺名称{{ bill.storeName }}</p>
<p>银行开户名{{ bill.bankAccountName }}</p>
<p>银行账号{{ bill.bankAccountNumber }}</p>
<p>开户行支行名称{{ bill.bankName }}</p>
<p>支行联行号{{ bill.bankCode }}</p>
</div>
</Card>
<Card class="mt_10 mb_10">
<p slot="title">账单详细</p>
<div class="tips-status">
<span>商品状态</span>
<div class="tips-status">
<span>商品状态</span>
<span class="theme_color">{{
bill.billStatus | unixSellerBillStatus
}}</span>
<span class="theme_color">{{
bill.billStatus | unixSellerBillStatus
}}</span>
<Button
v-if="bill.billStatus == 'CHECK'"
size="mini"
type="primary"
@click="pass()"
>付款</Button
>
</div>
<Button
v-if="bill.billStatus == 'CHECK'"
size="mini"
type="primary"
@click="pass()"
>付款</Button
>
</div>
<i-table :columns="columns" :data="data" stripe></i-table>
</Card>
</i-col>
</Row>
</template>
<template>
<Tabs active-key="key1" @on-click="clickTabs">
<Tab-pane label="入账流水" key="key1">
<Card>
<Table
:loading="loading"
border
:columns="orderColumns"
:data="order"
ref="table"
></Table>
<Row type="flex" justify="end" class="mt_10">
<Page
:current="orderParam.pageNumber"
:total="orderTotal"
:page-size="orderParam.pageSize"
@on-change="orderChangePage"
@on-page-size-change="orderChangePageSize"
size="small"
show-total
show-elevator
></Page>
</Row>
</Card>
</Tab-pane>
<Tab-pane label="退款流水" key="key2">
<Card>
<Table
:loading="loading"
border
:columns="refundColumns"
:data="refund"
ref="table"
></Table>
<Row type="flex" justify="end" class="mt_10">
<Page
:current="refundParam.pageNumber"
:total="refundTotal"
:page-size="refundParam.pageSize"
@on-change="getRefund()"
@on-page-size-change="getRefund()"
size="small"
show-total
show-elevator
></Page>
</Row>
</Card>
</Tab-pane>
</Tabs>
</template>
<i-table :columns="columns" :data="data" stripe></i-table>
</Card>
<Tabs active-key="key1" @on-click="clickTabs">
<Tab-pane label="入账流水" key="key1">
<Card>
<Table
:loading="loading"
border
:columns="orderColumns"
:data="order"
ref="table"
></Table>
<Row type="flex" justify="end" class="mt_10">
<Page
:current="orderParam.pageNumber"
:total="orderTotal"
:page-size="orderParam.pageSize"
@on-change="orderChangePage"
@on-page-size-change="orderChangePageSize"
size="small"
show-total
show-elevator
></Page>
</Row>
</Card>
</Tab-pane>
<Tab-pane label="退款流水" key="key2">
<Card>
<Table
:loading="loading"
border
:columns="refundColumns"
:data="refund"
ref="table"
></Table>
<Row type="flex" justify="end" class="mt_10">
<Page
:current="refundParam.pageNumber"
:total="refundTotal"
:page-size="refundParam.pageSize"
@on-change="getRefund()"
@on-page-size-change="getRefund()"
size="small"
show-total
show-elevator
></Page>
</Row>
</Card>
</Tab-pane>
</Tabs>
</div>
</template>
<script>
@@ -170,7 +156,7 @@ export default {
},
{
title: "订单编号",
key: "sn",
key: "orderSn",
minWidth: 120,
tooltip: true
},
@@ -185,6 +171,35 @@ export default {
);
},
},
{
title: "砍价商品结算价格",
slot: "kanjiaSettlementPrice",
render: (h, params) => {
if (params.row.kanjiaSettlementPrice) {
return h(
"div",
this.$options.filters.unitPrice(params.row.kanjiaSettlementPrice, "¥")
);
} else {
return h('div','¥0.00')
}
},
},
{
title: "积分商品结算价格",
key: "pointSettlementPrice",
render: (h, params) => {
if (params.row.pointSettlementPrice){
return h(
"div",
this.$options.filters.unitPrice(params.row.pointSettlementPrice, "¥")
);
} else {
return h('div','¥0.00')
}
},
},
{
title: "平台分佣",
key: "commissionPrice",
@@ -199,7 +214,6 @@ export default {
{
title: "平台优惠券",
key: "siteCouponPrice",
minWidth: 120,
render: (h, params) => {
if(params.row.siteCouponPrice == null){
return h(

View File

@@ -78,6 +78,7 @@
align-items: flex-start;
line-height: 30px;
margin-bottom: 2px;
position: relative;
}
.label {

View File

@@ -133,6 +133,7 @@
</span>
</p>
<p class="item">
<span class="label">营业执照号</span>
<span class="info">{{storeInfo.licenseNum}}</span>
</p>
@@ -239,6 +240,7 @@
@on-change="selectDateRange"
placeholder="选择起始时间"
style="width: 200px"
transfer
></DatePicker>
</Form-item>
<Button @click="getOrderData" type="primary" icon="ios-search" class="search-btn">搜索</Button>
@@ -321,6 +323,7 @@
@on-change="selectRefundGoodsDateRange"
placeholder="选择起始时间"
style="width: 200px"
transfer
></DatePicker>
</Form-item>
<Form-item label="商家名称" prop="storeName">
@@ -443,6 +446,7 @@
@on-change="selectRefundDateRange"
placeholder="选择起始时间"
style="width: 200px"
transfer
></DatePicker>
</Form-item>
<Form-item label="商家名称" prop="storeName">

View File

@@ -559,7 +559,7 @@ export default {
},
watch:{
selectImage(val) {
if (val) this.init()
if (val && !this.data.length) this.init()
}
},
methods: {