功能测试与修改
parent
ba91d7c26d
commit
a345586b25
File diff suppressed because it is too large
Load Diff
|
@ -3,10 +3,10 @@ var BASE = {
|
||||||
* @description api请求基础路径
|
* @description api请求基础路径
|
||||||
*/
|
*/
|
||||||
API_DEV: {
|
API_DEV: {
|
||||||
common: "http://192.168.102:8890",
|
common: "http://localhost:8890",
|
||||||
buyer: "http://192.168.102:8888",
|
buyer: "http://localhost:8888",
|
||||||
seller: "https://store-api.pickmall.cn",
|
seller: "http://localhost:8889",
|
||||||
manager: "https://admin-api.pickmall.cn"
|
manager: "http://localhost:8887"
|
||||||
},
|
},
|
||||||
API_PROD: {
|
API_PROD: {
|
||||||
common: "http://192.168.2.110:8890",
|
common: "http://192.168.2.110:8890",
|
||||||
|
|
|
@ -45,3 +45,14 @@ export function handleRefreshToken(token) {
|
||||||
needToken: false,
|
needToken: false,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * 获取店铺楼层数据
|
||||||
|
// */
|
||||||
|
// export function getFloorStoreData(params) {
|
||||||
|
// return request({
|
||||||
|
// url: `/buyer/other/pageData?pageClientType=PC`,
|
||||||
|
// method: "get",
|
||||||
|
// params,
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
|
|
@ -1,14 +1,12 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="merchant">
|
<div class="merchant">
|
||||||
<!-- 普通店铺装修 -->
|
<BaseHeader/>
|
||||||
<div v-if="basePageData">
|
|
||||||
<BaseHeader />
|
|
||||||
<!-- 搜索栏 -->
|
<!-- 搜索栏 -->
|
||||||
<Search :store="true" @search="search"></Search>
|
<Search :store="true" @search="search"></Search>
|
||||||
<!-- 店铺logo -->
|
<!-- 店铺logo -->
|
||||||
<div class="shop-logo">
|
<div class="shop-logo">
|
||||||
<div>
|
<div>
|
||||||
<img :src="storeMsg.storeLogo" height="80" alt="" />
|
<img :src="storeMsg.storeLogo" height="80" alt=""/>
|
||||||
<div>
|
<div>
|
||||||
<p>{{ storeMsg.storeName || "xx店铺" }}</p>
|
<p>{{ storeMsg.storeName || "xx店铺" }}</p>
|
||||||
<p
|
<p
|
||||||
|
@ -19,16 +17,16 @@
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span class="hover-pointer" @click="collect"
|
<span class="hover-pointer" @click="collect"
|
||||||
><Icon
|
><Icon
|
||||||
type="ios-heart"
|
type="ios-heart"
|
||||||
:color="storeCollected ? '#ed3f14' : '#fff'"
|
:color="storeCollected ? '#ed3f14' : '#fff'"
|
||||||
/>{{ storeCollected ? "已收藏店铺" : "收藏店铺" }}</span
|
/>{{ storeCollected ? "已收藏店铺" : "收藏店铺" }}</span
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
style="width: 80px"
|
style="width: 80px"
|
||||||
class="hover-pointer ml_10"
|
class="hover-pointer ml_10"
|
||||||
@click="connectCs(storeMsg.yzfSign)"
|
@click="connectCs(storeMsg.yzfSign)"
|
||||||
><Icon custom="icomoon icon-customer-service" />联系客服</span
|
><Icon custom="icomoon icon-customer-service"/>联系客服</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -44,7 +42,8 @@
|
||||||
<li class="cate-item" v-for="(cate, index) in cateList" :key="index">
|
<li class="cate-item" v-for="(cate, index) in cateList" :key="index">
|
||||||
<Dropdown v-if="cate.children.length">
|
<Dropdown v-if="cate.children.length">
|
||||||
<div @click.self="searchByCate(cate)">
|
<div @click.self="searchByCate(cate)">
|
||||||
{{ cate.labelName }} <Icon type="ios-arrow-down"></Icon>
|
{{ cate.labelName }}
|
||||||
|
<Icon type="ios-arrow-down"></Icon>
|
||||||
</div>
|
</div>
|
||||||
<DropdownMenu slot="list">
|
<DropdownMenu slot="list">
|
||||||
<DropdownItem
|
<DropdownItem
|
||||||
|
@ -52,97 +51,79 @@
|
||||||
:name="sec.id"
|
:name="sec.id"
|
||||||
v-for="sec in cate.children"
|
v-for="sec in cate.children"
|
||||||
:key="sec.id"
|
:key="sec.id"
|
||||||
>{{ sec.labelName }}</DropdownItem
|
>{{ sec.labelName }}
|
||||||
|
</DropdownItem
|
||||||
>
|
>
|
||||||
</DropdownMenu>
|
</DropdownMenu>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
<span v-else @click.self="searchByCate(cate)">{{
|
<span v-else @click.self="searchByCate(cate)">{{
|
||||||
cate.labelName
|
cate.labelName
|
||||||
}}</span>
|
}}</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="promotion-decorate">{{ cateName }}</div>
|
<div class="promotion-decorate">{{ cateName }}</div>
|
||||||
|
|
||||||
<div class="goods-list">
|
<!-- <div class="goods-list">-->
|
||||||
<empty v-if="goodsList.length === 0" />
|
<!-- <empty v-if="goodsList.length === 0"/>-->
|
||||||
<div
|
<!-- <div-->
|
||||||
v-else
|
<!-- v-else-->
|
||||||
class="goods-show-info"
|
<!-- class="goods-show-info"-->
|
||||||
v-for="(item, index) in goodsList"
|
<!-- v-for="(item, index) in goodsList"-->
|
||||||
:key="index"
|
<!-- :key="index"-->
|
||||||
@click="goGoodsDetail(item.content.id, item.content.goodsId)"
|
<!-- @click="goGoodsDetail(item.content.id, item.content.goodsId)"-->
|
||||||
>
|
<!-- >-->
|
||||||
<div class="goods-show-img">
|
<!-- <div class="goods-show-img">-->
|
||||||
<img width="220" height="220" :src="item.content.thumbnail" />
|
<!-- <img width="220" height="220" :src="item.content.thumbnail"/>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="goods-show-price">
|
<!-- <div class="goods-show-price">-->
|
||||||
<span>
|
<!-- <span>-->
|
||||||
<span class="seckill-price text-danger">{{
|
<!-- <span class="seckill-price text-danger">{{-->
|
||||||
item.content.price | unitPrice("¥")
|
<!-- item.content.price | unitPrice("¥")-->
|
||||||
}}</span>
|
<!-- }}</span>-->
|
||||||
</span>
|
<!-- </span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="goods-show-detail">
|
<!-- <div class="goods-show-detail">-->
|
||||||
<span>{{ item.content.goodsName }}</span>
|
<!-- <span>{{ item.content.goodsName }}</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="goods-show-num">
|
<!-- <div class="goods-show-num">-->
|
||||||
已有<span>{{ item.content.commentNum || 0 }}</span
|
<!-- 已有<span>{{ item.content.commentNum || 0 }}</span-->
|
||||||
>人评价
|
<!-- >人评价-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="goods-page">
|
<!-- <div class="goods-page">-->
|
||||||
<Page
|
<!-- <Page-->
|
||||||
show-sizer
|
<!-- show-sizer-->
|
||||||
@on-change="changePageNum"
|
<!-- @on-change="changePageNum"-->
|
||||||
@on-page-size-change="changePageSize"
|
<!-- @on-page-size-change="changePageSize"-->
|
||||||
:total="total"
|
<!-- :total="total"-->
|
||||||
:page-size="params.pageSize"
|
<!-- :page-size="params.pageSize"-->
|
||||||
></Page>
|
<!-- ></Page>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<BaseFooter />
|
<!-- -->
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<!-- 楼层装修部分 -->
|
||||||
|
<model-form ref="modelForm" :data="modelForm"></model-form>
|
||||||
|
|
||||||
|
<BaseFooter/>
|
||||||
|
|
||||||
<div v-if="enablePageData">
|
|
||||||
<drawer></drawer>
|
|
||||||
<!-- 固定头部 -->
|
|
||||||
<hover-search
|
|
||||||
class="hover-search"
|
|
||||||
:class="{ show: topSearchShow }"
|
|
||||||
></hover-search>
|
|
||||||
<!-- 顶部广告 -->
|
|
||||||
<FixedTopPage :data="topAdvert"></FixedTopPage>
|
|
||||||
<!-- 头部 包括登录,我的订单等 -->
|
|
||||||
<BaseHeader></BaseHeader>
|
|
||||||
<!-- 搜索框、logo -->
|
|
||||||
<Search :store="true" @search="search"></Search>
|
|
||||||
<!-- 商品分类 -->
|
|
||||||
<cateNav
|
|
||||||
:showAlways="true"
|
|
||||||
v-if="showNav"
|
|
||||||
:large="carouselLarge"
|
|
||||||
:opacity="carouselOpacity"
|
|
||||||
></cateNav>
|
|
||||||
<!-- 楼层装修部分 -->
|
|
||||||
<model-form ref="modelForm" :data="modelForm"></model-form>
|
|
||||||
<!-- 底部栏 -->
|
|
||||||
<BaseFooter></BaseFooter>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getDetailById, getCateById } from "@/api/shopentry";
|
import {getDetailById, getCateById} from "@/api/shopentry";
|
||||||
import { cancelCollect, collectGoods, isCollection } from "@/api/member";
|
import {cancelCollect, collectGoods, isCollection} from "@/api/member";
|
||||||
import { goodsList } from "@/api/goods";
|
import {goodsList} from "@/api/goods";
|
||||||
import Search from "@/components/Search";
|
import Search from "@/components/Search";
|
||||||
import ModelForm from "@/components/indexDecorate/ModelForm";
|
import ModelForm from "@/components/indexDecorate/ModelForm";
|
||||||
import HoverSearch from "@/components/header/hoverSearch";
|
import HoverSearch from "@/components/header/hoverSearch";
|
||||||
import storage from "@/plugins/storage";
|
import storage from "@/plugins/storage";
|
||||||
import { getFloorStoreData } from "@/api/index.js";
|
import {getFloorStoreData} from "@/api/index.js";
|
||||||
import { seckillByDay } from "@/api/promotion";
|
import {seckillByDay} from "@/api/promotion";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Merchant",
|
name: "Merchant",
|
||||||
components: {
|
components: {
|
||||||
|
@ -153,13 +134,12 @@ export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 店铺装修的内容
|
// 店铺装修的内容
|
||||||
modelForm: { list: [] }, // 楼层装修数据
|
modelForm: {list: []}, // 楼层装修数据
|
||||||
topAdvert: {}, // 顶部广告
|
topAdvert: {}, // 顶部广告
|
||||||
showNav: false, // 是否展示分类栏
|
showNav: false, // 是否展示分类栏
|
||||||
topSearchShow: false, // 滚动后顶部搜索栏展示
|
topSearchShow: false, // 滚动后顶部搜索栏展示
|
||||||
carouselLarge: false, // 不同轮播分类尺寸
|
carouselLarge: false, // 不同轮播分类尺寸
|
||||||
carouselOpacity: false, // 不同轮播分类样式,
|
carouselOpacity: false, // 不同轮播分类样式,
|
||||||
|
|
||||||
enablePageData: false, //是否显示楼层装修内容
|
enablePageData: false, //是否显示楼层装修内容
|
||||||
basePageData: false, //基础店铺信息
|
basePageData: false, //基础店铺信息
|
||||||
storeMsg: {}, // 店铺信息
|
storeMsg: {}, // 店铺信息
|
||||||
|
@ -184,7 +164,7 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
getIndexData() {
|
getIndexData() {
|
||||||
// 获取首页装修数据
|
// 获取首页装修数据
|
||||||
getFloorStoreData({ clientType: "PC", num: this.$route.query.id ,pageType:'STORE'}).then(
|
getFloorStoreData({clientType: "PC", num: this.$route.query.id, pageType: 'STORE'}).then(
|
||||||
(res) => {
|
(res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
let dataJson = JSON.parse(res.result.pageData);
|
let dataJson = JSON.parse(res.result.pageData);
|
||||||
|
@ -226,35 +206,21 @@ export default {
|
||||||
// 店铺信息
|
// 店铺信息
|
||||||
getDetailById(this.$route.query.id).then((res) => {
|
getDetailById(this.$route.query.id).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
if (res.result.pageShow == "1") {
|
|
||||||
this.getIndexData();
|
|
||||||
let that = this;
|
|
||||||
window.onscroll = function () {
|
|
||||||
let top =
|
|
||||||
document.documentElement.scrollTop || document.body.scrollTop;
|
|
||||||
if (top > 300) {
|
|
||||||
that.topSearchShow = true;
|
|
||||||
} else {
|
|
||||||
that.topSearchShow = false;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
// 楼层装修
|
|
||||||
this.enablePageData = true;
|
|
||||||
} else {
|
|
||||||
this.storeMsg = res.result;
|
|
||||||
document.title = this.storeMsg.storeName;
|
|
||||||
if (this.Cookies.getItem("userInfo")) {
|
|
||||||
isCollection("STORE", this.storeMsg.storeId).then((res) => {
|
|
||||||
if (res.success && res.result) {
|
|
||||||
this.storeCollected = true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
this.basePageData = true;
|
|
||||||
|
|
||||||
this.getCateList();
|
this.storeMsg = res.result;
|
||||||
this.getGoodsList();
|
|
||||||
}
|
|
||||||
|
this.getIndexData();
|
||||||
|
let that = this;
|
||||||
|
window.onscroll = function () {
|
||||||
|
let top =
|
||||||
|
document.documentElement.scrollTop || document.body.scrollTop;
|
||||||
|
if (top > 300) {
|
||||||
|
that.topSearchShow = true;
|
||||||
|
} else {
|
||||||
|
that.topSearchShow = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -275,13 +241,14 @@ export default {
|
||||||
this.total = res.result.totalElements;
|
this.total = res.result.totalElements;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {});
|
.catch(() => {
|
||||||
|
});
|
||||||
},
|
},
|
||||||
goGoodsDetail(skuId, goodsId) {
|
goGoodsDetail(skuId, goodsId) {
|
||||||
// 跳转商品详情
|
// 跳转商品详情
|
||||||
let routeUrl = this.$router.resolve({
|
let routeUrl = this.$router.resolve({
|
||||||
path: "/goodsDetail",
|
path: "/goodsDetail",
|
||||||
query: { skuId, goodsId },
|
query: {skuId, goodsId},
|
||||||
});
|
});
|
||||||
window.open(routeUrl.href, "_blank");
|
window.open(routeUrl.href, "_blank");
|
||||||
},
|
},
|
||||||
|
@ -330,15 +297,18 @@ export default {
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
@import "../assets/styles/goodsList.scss";
|
@import "../assets/styles/goodsList.scss";
|
||||||
|
|
||||||
.merchant {
|
.merchant {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.shop-logo {
|
.shop-logo {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background-color: #666;
|
background-color: #666;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
||||||
> div {
|
> div {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 1200px;
|
width: 1200px;
|
||||||
|
@ -354,9 +324,11 @@ export default {
|
||||||
width: 200px;
|
width: 200px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
p:nth-child(1) {
|
p:nth-child(1) {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
p:nth-child(2) {
|
p:nth-child(2) {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
max-height: 40px;
|
max-height: 40px;
|
||||||
|
@ -367,21 +339,25 @@ export default {
|
||||||
.store-category {
|
.store-category {
|
||||||
background-color: #005aa0;
|
background-color: #005aa0;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
||||||
.cate-list {
|
.cate-list {
|
||||||
width: 1200px;
|
width: 1200px;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
clear: left;
|
clear: left;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
|
|
||||||
.cate-item {
|
.cate-item {
|
||||||
margin-right: 25px;
|
margin-right: 25px;
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cate-item:hover {
|
.cate-item:hover {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.promotion-decorate::before,
|
.promotion-decorate::before,
|
||||||
.promotion-decorate::after {
|
.promotion-decorate::after {
|
||||||
background-image: url("/src/assets/images/sprite@2x.png");
|
background-image: url("/src/assets/images/sprite@2x.png");
|
||||||
|
|
|
@ -10,12 +10,14 @@
|
||||||
"dev": "vue-cli-service serve"
|
"dev": "vue-cli-service serve"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"-": "0.0.1",
|
||||||
"@amap/amap-jsapi-loader": "0.0.7",
|
"@amap/amap-jsapi-loader": "0.0.7",
|
||||||
"@antv/g2": "^4.1.14",
|
"@antv/g2": "^4.1.14",
|
||||||
"axios": "^0.21.1",
|
"axios": "^0.21.1",
|
||||||
"dplayer": "^1.26.0",
|
"dplayer": "^1.27.0",
|
||||||
"js-cookie": "^2.2.1",
|
"js-cookie": "^2.2.1",
|
||||||
"node-sass": "^4.14.1",
|
"node-sass": "^4.14.1",
|
||||||
|
"s": "^1.0.0",
|
||||||
"sass-loader": "^8.0.2",
|
"sass-loader": "^8.0.2",
|
||||||
"sockjs-client": "^1.4.0",
|
"sockjs-client": "^1.4.0",
|
||||||
"swiper": "^6.3.5",
|
"swiper": "^6.3.5",
|
||||||
|
|
|
@ -3,25 +3,16 @@ var BASE = {
|
||||||
* @description api请求基础路径
|
* @description api请求基础路径
|
||||||
*/
|
*/
|
||||||
API_DEV: {
|
API_DEV: {
|
||||||
<<<<<<< HEAD
|
|
||||||
common: "http://192.168.0.102:8890",
|
common: "http://localhost:8890",
|
||||||
buyer: "https://buyer-api.pickmall.cn",
|
buyer: "http://localhost:8888",
|
||||||
seller: "http://192.168.0.102:8889",
|
seller: "http://localhost:8889",
|
||||||
manager: "https://admin-api.pickmall.cn"
|
manager: "http://localhost:8887"
|
||||||
=======
|
// common:"http://127.0.0.1:8890",
|
||||||
// common: "http://localhost:8890",
|
// buyer:"http://192.168.0.113:8888",
|
||||||
// buyer: "http://localhost:8888",
|
// manager:"http://192.168.0.113:8887",
|
||||||
// seller: "http://localhost:8889",
|
//
|
||||||
// manager: "http://localhost:8887"
|
// seller:"http://192.168.0.113:8889"
|
||||||
common:"http://127.0.0.1:8890",
|
|
||||||
buyer:"http://192.168.0.113:8888",
|
|
||||||
manager:"http://192.168.0.113:8887",
|
|
||||||
<<<<<<< HEAD
|
|
||||||
seller:"http://192.168.0.113:8889"
|
|
||||||
>>>>>>> 32336decc6e9e0ae8a0e67033f8ca66a89bbd372
|
|
||||||
=======
|
|
||||||
seller:"http://127.0.0.1:8889"
|
|
||||||
>>>>>>> 4ea142ea086a3f534419a31b595de80497e16d90
|
|
||||||
},
|
},
|
||||||
API_PROD: {
|
API_PROD: {
|
||||||
common: "https://common-api.pickmall.cn",
|
common: "https://common-api.pickmall.cn",
|
||||||
|
|
|
@ -6,7 +6,8 @@ import {
|
||||||
deleteRequest,
|
deleteRequest,
|
||||||
importRequest,
|
importRequest,
|
||||||
getRequestWithNoToken,
|
getRequestWithNoToken,
|
||||||
commonUrl
|
commonUrl,
|
||||||
|
postRequestWithNoForm
|
||||||
} from "@/libs/axios";
|
} from "@/libs/axios";
|
||||||
// 获取数据字典
|
// 获取数据字典
|
||||||
export const getDictData = "/dictData/getByType/";
|
export const getDictData = "/dictData/getByType/";
|
||||||
|
@ -355,3 +356,13 @@ export const refundStatistics = params => {
|
||||||
export const refundPriceStatistics = params => {
|
export const refundPriceStatistics = params => {
|
||||||
return getRequest(`/statistics/refund/order/getPrice`, params);
|
return getRequest(`/statistics/refund/order/getPrice`, params);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//下载结算单
|
||||||
|
export const downLoadGoods = () => {
|
||||||
|
return getRequest(`/goods/import/downLoad/`, {}, 'blob')
|
||||||
|
}
|
||||||
|
|
||||||
|
// 上传待发货的订单列表
|
||||||
|
export const uploadGoodsExcel = params => {
|
||||||
|
return postRequestWithNoForm(`/goods/import/import`, params );
|
||||||
|
};
|
||||||
|
|
|
@ -21,7 +21,6 @@ export const getAllCity = (params) => {
|
||||||
export const getCurrentPermissionList = (params) => {
|
export const getCurrentPermissionList = (params) => {
|
||||||
return getRequest("/menu/memberMenu", params);
|
return getRequest("/menu/memberMenu", params);
|
||||||
};
|
};
|
||||||
|
|
||||||
// 登陆
|
// 登陆
|
||||||
export const getHomeNotice = params => {
|
export const getHomeNotice = params => {
|
||||||
return getRequest("/other/article/getByPage?type=STORE_ARTICLE&pageSize=15");
|
return getRequest("/other/article/getByPage?type=STORE_ARTICLE&pageSize=15");
|
||||||
|
@ -131,7 +130,6 @@ export const unRelate = params => {
|
||||||
export const getRelatedListData = params => {
|
export const getRelatedListData = params => {
|
||||||
return getRequest("/relate/findByCondition", params);
|
return getRequest("/relate/findByCondition", params);
|
||||||
};
|
};
|
||||||
|
|
||||||
// 获取用户数据 多条件
|
// 获取用户数据 多条件
|
||||||
export const getUserListData = params => {
|
export const getUserListData = params => {
|
||||||
return getRequest("/clerk", params);
|
return getRequest("/clerk", params);
|
||||||
|
|
|
@ -4,10 +4,6 @@ import {
|
||||||
postRequest,
|
postRequest,
|
||||||
putRequest,
|
putRequest,
|
||||||
deleteRequest,
|
deleteRequest,
|
||||||
importRequest,
|
|
||||||
getRequestWithNoToken,
|
|
||||||
putRequestWithNoForm,
|
|
||||||
postRequestWithNoForm,
|
|
||||||
} from "@/libs/axios";
|
} from "@/libs/axios";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -15,8 +11,7 @@ import {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export const setHomeSetup = params => {
|
export const setHomeSetup = params => {
|
||||||
|
return postRequest("/settings/pageData/save", params);
|
||||||
return postRequest("/other/pageData/add", params);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -25,7 +20,7 @@ export const setHomeSetup = params => {
|
||||||
*/
|
*/
|
||||||
export const getHomeData = params => {
|
export const getHomeData = params => {
|
||||||
|
|
||||||
return getRequest(`/other/pageData/${params}`);
|
return getRequest(`/settings/pageData/${params}`);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -34,21 +29,8 @@ export const getHomeData = params => {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export const getHomeList = params => {
|
export const getHomeList = params => {
|
||||||
|
return getRequest(`/settings/pageData/${params.pageClientType}/pageDataList`, params);
|
||||||
|
|
||||||
return getRequest("/other/pageData/pageDataList", params);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 发布页面
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
export const releasePageHome = (id) => {
|
|
||||||
|
|
||||||
return putRequest(`/other/pageData/release/${id}`);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -57,8 +39,7 @@ export const getHomeList = params => {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export const updateHome = (id, params) => {
|
export const updateHome = (id, params) => {
|
||||||
|
return putRequest(`/settings/pageData/update/${id}`, params);
|
||||||
return putRequest(`/other/pageData/update/${id}`, params);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -66,7 +47,15 @@ export const getHomeList = params => {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export const removePageHome = (id) => {
|
export const removePageHome = (id) => {
|
||||||
|
return deleteRequest(`/settings/pageData/removePageData/${id}`);
|
||||||
return deleteRequest(`/other/pageData/remove/${id}`);
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发布页面
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
export const releasePageHome = (id) => {
|
||||||
|
return putRequest(`/settings/pageData/release/${id}`);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -491,14 +491,34 @@ export const result = [{
|
||||||
children: null,
|
children: null,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "shopAddress",
|
name: "wapList",
|
||||||
level: 2,
|
level: 2,
|
||||||
type: 0,
|
type: 0,
|
||||||
title: "自提管理",
|
title: "移动楼层",
|
||||||
path: "shopAddress",
|
path: "wapList",
|
||||||
component: "shop/shopAddress",
|
component: "shop/wap/wapList",
|
||||||
children: null,
|
children: null
|
||||||
}
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "pcList",
|
||||||
|
level: 2,
|
||||||
|
type: 0,
|
||||||
|
title: "PC楼层",
|
||||||
|
path: "pcList",
|
||||||
|
component: "shop/floorList",
|
||||||
|
children: null
|
||||||
|
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// name: "shopAddress",
|
||||||
|
// level: 2,
|
||||||
|
// type: 0,
|
||||||
|
// title: "自提管理",
|
||||||
|
// path: "shopAddress",
|
||||||
|
// component: "shop/shopAddress",
|
||||||
|
// children: null,
|
||||||
|
// }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import lazyLoading from './lazyLoading.js';
|
import lazyLoading from './lazyLoading.js';
|
||||||
import Cookies from "js-cookie";
|
import Cookies from "js-cookie";
|
||||||
|
|
||||||
import { result } from './routerJson.js';
|
import { result } from './routerJson.js';
|
||||||
import { getCurrentPermissionList } from "@/api/index";
|
import { getCurrentPermissionList } from "@/api/index";
|
||||||
|
|
||||||
|
@ -10,447 +11,447 @@ let util = {
|
||||||
};
|
};
|
||||||
|
|
||||||
util.title = function (title) {
|
util.title = function (title) {
|
||||||
title = title || `${config.title} 商家后台`;
|
title = title || `${config.title} 商家后台`;
|
||||||
window.document.title = title;
|
window.document.title = title;
|
||||||
};
|
};
|
||||||
|
|
||||||
util.millsToTime = function (mills) {
|
util.millsToTime = function (mills) {
|
||||||
if (!mills) {
|
if (!mills) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
let s = mills / 1000;
|
let s = mills / 1000;
|
||||||
if (s < 60) {
|
if (s < 60) {
|
||||||
return s.toFixed(0) + " 秒"
|
return s.toFixed(0) + " 秒"
|
||||||
}
|
}
|
||||||
let m = s / 60;
|
let m = s / 60;
|
||||||
if (m < 60) {
|
if (m < 60) {
|
||||||
return m.toFixed(0) + " 分钟"
|
return m.toFixed(0) + " 分钟"
|
||||||
}
|
}
|
||||||
let h = m / 60;
|
let h = m / 60;
|
||||||
if (h < 24) {
|
if (h < 24) {
|
||||||
return h.toFixed(0) + " 小时"
|
return h.toFixed(0) + " 小时"
|
||||||
}
|
}
|
||||||
let d = h / 24;
|
let d = h / 24;
|
||||||
if (d < 30) {
|
if (d < 30) {
|
||||||
return d.toFixed(0) + " 天"
|
return d.toFixed(0) + " 天"
|
||||||
}
|
}
|
||||||
let month = d / 30
|
let month = d / 30
|
||||||
if (month < 12) {
|
if (month < 12) {
|
||||||
return month.toFixed(0) + " 个月"
|
return month.toFixed(0) + " 个月"
|
||||||
}
|
}
|
||||||
let year = month / 12
|
let year = month / 12
|
||||||
return year.toFixed(0) + " 年"
|
return year.toFixed(0) + " 年"
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
util.inOf = function (arr, targetArr) {
|
util.inOf = function (arr, targetArr) {
|
||||||
let res = true;
|
let res = true;
|
||||||
arr.forEach(item => {
|
arr.forEach(item => {
|
||||||
if (targetArr.indexOf(item) < 0) {
|
if (targetArr.indexOf(item) < 0) {
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return res;
|
return res;
|
||||||
};
|
};
|
||||||
|
|
||||||
util.oneOf = function (ele, targetArr) {
|
util.oneOf = function (ele, targetArr) {
|
||||||
if (targetArr.indexOf(ele) >= 0) {
|
if (targetArr.indexOf(ele) >= 0) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
util.getRouterObjByName = function (routers, name) {
|
util.getRouterObjByName = function (routers, name) {
|
||||||
if (!name || !routers || !routers.length) {
|
if (!name || !routers || !routers.length) {
|
||||||
return null;
|
|
||||||
}
|
|
||||||
let routerObj = null;
|
|
||||||
for (let item of routers) {
|
|
||||||
if (item.name == name) {
|
|
||||||
return item;
|
|
||||||
}
|
|
||||||
routerObj = util.getRouterObjByName(item.children, name);
|
|
||||||
if (routerObj) {
|
|
||||||
return routerObj;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
return null;
|
||||||
|
}
|
||||||
|
let routerObj = null;
|
||||||
|
for (let item of routers) {
|
||||||
|
if (item.name == name) {
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
routerObj = util.getRouterObjByName(item.children, name);
|
||||||
|
if (routerObj) {
|
||||||
|
return routerObj;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
};
|
};
|
||||||
|
|
||||||
util.handleTitle = function (vm, item) {
|
util.handleTitle = function (vm, item) {
|
||||||
if (typeof item.title == 'object') {
|
if (typeof item.title == 'object') {
|
||||||
return item.title;
|
return item.title;
|
||||||
} else {
|
} else {
|
||||||
return item.title;
|
return item.title;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
util.setCurrentPath = function (vm, name) {
|
util.setCurrentPath = function (vm, name) {
|
||||||
let title = '';
|
let title = '';
|
||||||
let isOtherRouter = false;
|
let isOtherRouter = false;
|
||||||
vm.$store.state.app.routers.forEach(item => {
|
vm.$store.state.app.routers.forEach(item => {
|
||||||
if (item.children.length == 1) {
|
if (item.children.length == 1) {
|
||||||
if (item.children[0].name == name) {
|
if (item.children[0].name == name) {
|
||||||
title = util.handleTitle(vm, item);
|
title = util.handleTitle(vm, item);
|
||||||
if (item.name == 'otherRouter') {
|
if (item.name == 'otherRouter') {
|
||||||
isOtherRouter = true;
|
isOtherRouter = true;
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
item.children.forEach(child => {
|
|
||||||
if (child.name == name) {
|
|
||||||
title = util.handleTitle(vm, child);
|
|
||||||
if (item.name == 'otherRouter') {
|
|
||||||
isOtherRouter = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
let currentPathArr = [];
|
|
||||||
if (name == 'home_index') {
|
|
||||||
currentPathArr = [
|
|
||||||
{
|
|
||||||
title: util.handleTitle(vm, util.getRouterObjByName(vm.$store.state.app.routers, 'home_index')),
|
|
||||||
path: '',
|
|
||||||
name: 'home_index'
|
|
||||||
}
|
|
||||||
];
|
|
||||||
} else if ((name.indexOf('_index') >= 0 || isOtherRouter) && name !== 'home_index') {
|
|
||||||
currentPathArr = [
|
|
||||||
{
|
|
||||||
title: util.handleTitle(vm, util.getRouterObjByName(vm.$store.state.app.routers, 'home_index')),
|
|
||||||
path: '/home',
|
|
||||||
name: 'home_index'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: title,
|
|
||||||
path: '',
|
|
||||||
name: name
|
|
||||||
}
|
|
||||||
];
|
|
||||||
} else {
|
} else {
|
||||||
let currentPathObj = vm.$store.state.app.routers.filter(item => {
|
item.children.forEach(child => {
|
||||||
if (item.children.length <= 1) {
|
if (child.name == name) {
|
||||||
return item.children[0].name == name;
|
title = util.handleTitle(vm, child);
|
||||||
} else {
|
if (item.name == 'otherRouter') {
|
||||||
let i = 0;
|
isOtherRouter = true;
|
||||||
let childArr = item.children;
|
}
|
||||||
let len = childArr.length;
|
|
||||||
while (i < len) {
|
|
||||||
if (childArr[i].name == name) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
})[0];
|
|
||||||
if (currentPathObj.children.length <= 1 && currentPathObj.name == 'home') {
|
|
||||||
currentPathArr = [
|
|
||||||
{
|
|
||||||
title: '首页',
|
|
||||||
path: '',
|
|
||||||
name: 'home_index'
|
|
||||||
}
|
|
||||||
];
|
|
||||||
} else if (currentPathObj.children.length <= 1 && currentPathObj.name !== 'home') {
|
|
||||||
currentPathArr = [
|
|
||||||
{
|
|
||||||
title: '首页',
|
|
||||||
path: '/home',
|
|
||||||
name: 'home_index'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: currentPathObj.title,
|
|
||||||
path: '',
|
|
||||||
name: name
|
|
||||||
}
|
|
||||||
];
|
|
||||||
} else {
|
|
||||||
let childObj = currentPathObj.children.filter((child) => {
|
|
||||||
return child.name == name;
|
|
||||||
})[0];
|
|
||||||
currentPathArr = [
|
|
||||||
{
|
|
||||||
title: '首页',
|
|
||||||
path: '/home',
|
|
||||||
name: 'home_index'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: currentPathObj.title,
|
|
||||||
path: '',
|
|
||||||
name: currentPathObj.name
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: childObj.title,
|
|
||||||
path: currentPathObj.path + '/' + childObj.path,
|
|
||||||
name: name
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
vm.$store.commit('setCurrentPath', currentPathArr);
|
});
|
||||||
|
let currentPathArr = [];
|
||||||
|
if (name == 'home_index') {
|
||||||
|
currentPathArr = [
|
||||||
|
{
|
||||||
|
title: util.handleTitle(vm, util.getRouterObjByName(vm.$store.state.app.routers, 'home_index')),
|
||||||
|
path: '',
|
||||||
|
name: 'home_index'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
} else if ((name.indexOf('_index') >= 0 || isOtherRouter) && name !== 'home_index') {
|
||||||
|
currentPathArr = [
|
||||||
|
{
|
||||||
|
title: util.handleTitle(vm, util.getRouterObjByName(vm.$store.state.app.routers, 'home_index')),
|
||||||
|
path: '/home',
|
||||||
|
name: 'home_index'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: title,
|
||||||
|
path: '',
|
||||||
|
name: name
|
||||||
|
}
|
||||||
|
];
|
||||||
|
} else {
|
||||||
|
let currentPathObj = vm.$store.state.app.routers.filter(item => {
|
||||||
|
if (item.children.length <= 1) {
|
||||||
|
return item.children[0].name == name;
|
||||||
|
} else {
|
||||||
|
let i = 0;
|
||||||
|
let childArr = item.children;
|
||||||
|
let len = childArr.length;
|
||||||
|
while (i < len) {
|
||||||
|
if (childArr[i].name == name) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
})[0];
|
||||||
|
if (currentPathObj.children.length <= 1 && currentPathObj.name == 'home') {
|
||||||
|
currentPathArr = [
|
||||||
|
{
|
||||||
|
title: '首页',
|
||||||
|
path: '',
|
||||||
|
name: 'home_index'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
} else if (currentPathObj.children.length <= 1 && currentPathObj.name !== 'home') {
|
||||||
|
currentPathArr = [
|
||||||
|
{
|
||||||
|
title: '首页',
|
||||||
|
path: '/home',
|
||||||
|
name: 'home_index'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: currentPathObj.title,
|
||||||
|
path: '',
|
||||||
|
name: name
|
||||||
|
}
|
||||||
|
];
|
||||||
|
} else {
|
||||||
|
let childObj = currentPathObj.children.filter((child) => {
|
||||||
|
return child.name == name;
|
||||||
|
})[0];
|
||||||
|
currentPathArr = [
|
||||||
|
{
|
||||||
|
title: '首页',
|
||||||
|
path: '/home',
|
||||||
|
name: 'home_index'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: currentPathObj.title,
|
||||||
|
path: '',
|
||||||
|
name: currentPathObj.name
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: childObj.title,
|
||||||
|
path: currentPathObj.path + '/' + childObj.path,
|
||||||
|
name: name
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vm.$store.commit('setCurrentPath', currentPathArr);
|
||||||
|
|
||||||
return currentPathArr;
|
return currentPathArr;
|
||||||
};
|
};
|
||||||
|
|
||||||
util.openNewPage = function (vm, name, argu, query) {
|
util.openNewPage = function (vm, name, argu, query) {
|
||||||
if (!vm.$store) {
|
if (!vm.$store) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
let storeOpenedList = vm.$store.state.app.storeOpenedList;
|
||||||
|
let openedPageLen = storeOpenedList.length;
|
||||||
|
let i = 0;
|
||||||
|
let tagHasOpened = false;
|
||||||
|
while (i < openedPageLen) {
|
||||||
|
if (name == storeOpenedList[i].name) { // 页面已经打开
|
||||||
|
vm.$store.commit('storeOpenedList', {
|
||||||
|
index: i,
|
||||||
|
argu: argu,
|
||||||
|
query: query
|
||||||
|
});
|
||||||
|
tagHasOpened = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
let storeOpenedList = vm.$store.state.app.storeOpenedList;
|
i++;
|
||||||
let openedPageLen = storeOpenedList.length;
|
}
|
||||||
let i = 0;
|
if (!tagHasOpened) {
|
||||||
let tagHasOpened = false;
|
let tag = vm.$store.state.app.tagsList.filter((item) => {
|
||||||
while (i < openedPageLen) {
|
if (item.children) {
|
||||||
if (name == storeOpenedList[i].name) { // 页面已经打开
|
return name == item.children[0].name;
|
||||||
vm.$store.commit('storeOpenedList', {
|
} else {
|
||||||
index: i,
|
return name == item.name;
|
||||||
argu: argu,
|
}
|
||||||
query: query
|
});
|
||||||
});
|
tag = tag[0];
|
||||||
tagHasOpened = true;
|
if (tag) {
|
||||||
break;
|
tag = tag.children ? tag.children[0] : tag;
|
||||||
}
|
if (argu) {
|
||||||
i++;
|
tag.argu = argu;
|
||||||
|
}
|
||||||
|
if (query) {
|
||||||
|
tag.query = query;
|
||||||
|
}
|
||||||
|
vm.$store.commit('increateTag', tag);
|
||||||
}
|
}
|
||||||
if (!tagHasOpened) {
|
}
|
||||||
let tag = vm.$store.state.app.tagsList.filter((item) => {
|
vm.$store.commit('setCurrentPageName', name);
|
||||||
if (item.children) {
|
|
||||||
return name == item.children[0].name;
|
|
||||||
} else {
|
|
||||||
return name == item.name;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
tag = tag[0];
|
|
||||||
if (tag) {
|
|
||||||
tag = tag.children ? tag.children[0] : tag;
|
|
||||||
if (argu) {
|
|
||||||
tag.argu = argu;
|
|
||||||
}
|
|
||||||
if (query) {
|
|
||||||
tag.query = query;
|
|
||||||
}
|
|
||||||
vm.$store.commit('increateTag', tag);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
vm.$store.commit('setCurrentPageName', name);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
util.toDefaultPage = function (routers, name, route, next) {
|
util.toDefaultPage = function (routers, name, route, next) {
|
||||||
let len = routers.length;
|
let len = routers.length;
|
||||||
let i = 0;
|
let i = 0;
|
||||||
let notHandle = true;
|
let notHandle = true;
|
||||||
while (i < len) {
|
while (i < len) {
|
||||||
if (routers[i].name == name && routers[i].children && routers[i].redirect == undefined) {
|
if (routers[i].name == name && routers[i].children && routers[i].redirect == undefined) {
|
||||||
route.replace({
|
route.replace({
|
||||||
name: routers[i].children[0].name
|
name: routers[i].children[0].name
|
||||||
});
|
});
|
||||||
notHandle = false;
|
notHandle = false;
|
||||||
next();
|
next();
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
if (notHandle) {
|
|
||||||
next();
|
|
||||||
}
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
if (notHandle) {
|
||||||
|
next();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// 将Csv文件解析为二维数组
|
// 将Csv文件解析为二维数组
|
||||||
export const getArrayFromFile = (file) => {
|
export const getArrayFromFile = (file) => {
|
||||||
let nameSplit = file.name.split('.')
|
let nameSplit = file.name.split('.')
|
||||||
let format = nameSplit[nameSplit.length - 1]
|
let format = nameSplit[nameSplit.length - 1]
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
let reader = new FileReader()
|
let reader = new FileReader()
|
||||||
reader.readAsText(file) // 以文本格式读取
|
reader.readAsText(file) // 以文本格式读取
|
||||||
let arr = []
|
let arr = []
|
||||||
reader.onload = function (evt) {
|
reader.onload = function (evt) {
|
||||||
let data = evt.target.result // 读到的数据
|
let data = evt.target.result // 读到的数据
|
||||||
let pasteData = data.trim()
|
let pasteData = data.trim()
|
||||||
arr = pasteData.split((/[\n\u0085\u2028\u2029]|\r\n?/g)).map(row => {
|
arr = pasteData.split((/[\n\u0085\u2028\u2029]|\r\n?/g)).map(row => {
|
||||||
return row.split('\t')
|
return row.split('\t')
|
||||||
}).map(item => {
|
}).map(item => {
|
||||||
return item[0].split(',')
|
return item[0].split(',')
|
||||||
})
|
})
|
||||||
if (format == 'csv') resolve(arr)
|
if (format == 'csv') resolve(arr)
|
||||||
else reject(new Error('[Format Error]:不是Csv文件'))
|
else reject(new Error('[Format Error]:不是Csv文件'))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 将二维数组转为表格数据
|
// 将二维数组转为表格数据
|
||||||
export const getTableDataFromArray = (array) => {
|
export const getTableDataFromArray = (array) => {
|
||||||
let columns = []
|
let columns = []
|
||||||
let tableData = []
|
let tableData = []
|
||||||
if (array.length > 1) {
|
if (array.length > 1) {
|
||||||
let titles = array.shift()
|
let titles = array.shift()
|
||||||
columns = titles.map(item => {
|
columns = titles.map(item => {
|
||||||
return {
|
return {
|
||||||
title: item,
|
title: item,
|
||||||
key: item
|
key: item
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
tableData = array.map(item => {
|
tableData = array.map(item => {
|
||||||
let res = {}
|
let res = {}
|
||||||
item.forEach((col, i) => {
|
item.forEach((col, i) => {
|
||||||
res[titles[i]] = col
|
res[titles[i]] = col
|
||||||
})
|
})
|
||||||
return res
|
return res
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
columns,
|
columns,
|
||||||
tableData
|
tableData
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
util.initRouter = function (vm) { // 初始化路由
|
util.initRouter = function (vm) { // 初始化路由
|
||||||
const constRoutes = [];
|
const constRoutes = [];
|
||||||
const otherRoutes = [];
|
const otherRoutes = [];
|
||||||
|
|
||||||
// 404路由需要和动态路由一起加载
|
// 404路由需要和动态路由一起加载
|
||||||
const otherRouter = [{
|
const otherRouter = [{
|
||||||
path: '/*',
|
path: '/*',
|
||||||
name: 'error-404',
|
name: 'error-404',
|
||||||
meta: {
|
meta: {
|
||||||
title: '404-页面不存在'
|
title: '404-页面不存在'
|
||||||
},
|
},
|
||||||
component: 'error-page/404'
|
component: 'error-page/404'
|
||||||
}];
|
}];
|
||||||
// 判断用户是否登录
|
// 判断用户是否登录
|
||||||
let userInfo = Cookies.get('userInfoSeller')
|
let userInfo = Cookies.get('userInfoSeller')
|
||||||
if (!userInfo) {
|
if (!userInfo) {
|
||||||
// 未登录
|
// 未登录
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 加载菜单
|
||||||
|
|
||||||
|
getCurrentPermissionList().then(res => {
|
||||||
|
if (!res.success) return false;
|
||||||
|
let menuData = res.result;
|
||||||
|
// 格式化数据,设置 空children 为 null
|
||||||
|
for (let i = 0; i < menuData.length; i++) {
|
||||||
|
let t = menuData[i].children
|
||||||
|
for (let k = 0; k < t.length; k++) {
|
||||||
|
let tt = t[k].children;
|
||||||
|
for (let z = 0; z < tt.length; z++) {
|
||||||
|
tt[z].children = null
|
||||||
|
// 给所有三级路由添加字段,显示一级菜单name,方便点击页签时的选中筛选
|
||||||
|
tt[z].firstRouterName = menuData[i].name
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if (!menuData) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
util.initAllMenuData(constRoutes, menuData);
|
||||||
|
util.initRouterNode(otherRoutes, otherRouter);
|
||||||
|
// 添加所有主界面路由
|
||||||
|
vm.$store.commit('updateAppRouter', constRoutes.filter(item => item.children.length > 0));
|
||||||
|
// 添加全局路由
|
||||||
|
vm.$store.commit('updateDefaultRouter', otherRoutes);
|
||||||
|
// 添加菜单路由
|
||||||
|
util.initMenuData(vm, menuData);
|
||||||
|
// 缓存数据 修改加载标识
|
||||||
|
window.localStorage.setItem('menuData', JSON.stringify(menuData));
|
||||||
|
vm.$store.commit('setAdded', true);
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
// 加载菜单
|
|
||||||
|
|
||||||
getCurrentPermissionList().then(res => {
|
|
||||||
if (!res.success) return false;
|
|
||||||
let menuData = res.result;
|
|
||||||
// 格式化数据,设置 空children 为 null
|
|
||||||
for (let i = 0; i < menuData.length; i++) {
|
|
||||||
let t = menuData[i].children
|
|
||||||
for (let k = 0; k < t.length; k++) {
|
|
||||||
let tt = t[k].children;
|
|
||||||
for (let z = 0; z < tt.length; z++) {
|
|
||||||
tt[z].children = null
|
|
||||||
// 给所有三级路由添加字段,显示一级菜单name,方便点击页签时的选中筛选
|
|
||||||
tt[z].firstRouterName = menuData[i].name
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!menuData) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
util.initAllMenuData(constRoutes, menuData);
|
|
||||||
util.initRouterNode(otherRoutes, otherRouter);
|
|
||||||
// 添加所有主界面路由
|
|
||||||
vm.$store.commit('updateAppRouter', constRoutes.filter(item => item.children.length > 0));
|
|
||||||
// 添加全局路由
|
|
||||||
vm.$store.commit('updateDefaultRouter', otherRoutes);
|
|
||||||
// 添加菜单路由
|
|
||||||
util.initMenuData(vm, menuData);
|
|
||||||
// 缓存数据 修改加载标识
|
|
||||||
window.localStorage.setItem('menuData', JSON.stringify(menuData));
|
|
||||||
vm.$store.commit('setAdded', true);
|
|
||||||
})
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// 添加所有顶部导航栏下的菜单路由
|
// 添加所有顶部导航栏下的菜单路由
|
||||||
util.initAllMenuData = function (constRoutes, data) {
|
util.initAllMenuData = function (constRoutes, data) {
|
||||||
|
|
||||||
let allMenuData = [];
|
let allMenuData = [];
|
||||||
data.forEach(e => {
|
data.forEach(e => {
|
||||||
if (e.level == 0) {
|
if (e.level == 0) {
|
||||||
e.children.forEach(item => {
|
e.children.forEach(item => {
|
||||||
allMenuData.push(item);
|
allMenuData.push(item);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
util.initRouterNode(constRoutes, allMenuData);
|
util.initRouterNode(constRoutes, allMenuData);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 生成菜单格式数据
|
// 生成菜单格式数据
|
||||||
util.initMenuData = function (vm, data) {
|
util.initMenuData = function (vm, data) {
|
||||||
const menuRoutes = [];
|
const menuRoutes = [];
|
||||||
let menuData = data;
|
let menuData = data;
|
||||||
// 顶部菜单
|
// 顶部菜单
|
||||||
let navList = [];
|
let navList = [];
|
||||||
menuData.forEach(e => {
|
menuData.forEach(e => {
|
||||||
let nav = {
|
let nav = {
|
||||||
name: e.name,
|
name: e.name,
|
||||||
title: e.title,
|
title: e.title,
|
||||||
}
|
|
||||||
navList.push(nav);
|
|
||||||
})
|
|
||||||
if (navList.length < 1) {
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
// 存入vuex
|
navList.push(nav);
|
||||||
vm.$store.commit('setNavList', navList);
|
})
|
||||||
let currNav = window.localStorage.getItem('currNav')
|
if (navList.length < 1) {
|
||||||
if (currNav) {
|
return;
|
||||||
// 读取缓存title
|
}
|
||||||
for (var item of navList) {
|
// 存入vuex
|
||||||
if (item.name == currNav) {
|
vm.$store.commit('setNavList', navList);
|
||||||
vm.$store.commit('setCurrNavTitle', item.title);
|
let currNav = window.localStorage.getItem('currNav')
|
||||||
break;
|
if (currNav) {
|
||||||
}
|
// 读取缓存title
|
||||||
}
|
for (var item of navList) {
|
||||||
} else {
|
if (item.name == currNav) {
|
||||||
// 默认第一个
|
vm.$store.commit('setCurrNavTitle', item.title);
|
||||||
currNav = navList[0].name;
|
break;
|
||||||
vm.$store.commit('setCurrNavTitle', navList[0].title);
|
}
|
||||||
}
|
}
|
||||||
vm.$store.commit('setCurrNav', currNav);
|
} else {
|
||||||
for (var item of menuData) {
|
// 默认第一个
|
||||||
if (item.name == currNav) {
|
currNav = navList[0].name;
|
||||||
// 过滤
|
vm.$store.commit('setCurrNavTitle', navList[0].title);
|
||||||
menuData = item.children;
|
}
|
||||||
break;
|
vm.$store.commit('setCurrNav', currNav);
|
||||||
}
|
for (var item of menuData) {
|
||||||
|
if (item.name == currNav) {
|
||||||
|
// 过滤
|
||||||
|
menuData = item.children;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
util.initRouterNode(menuRoutes, menuData);
|
}
|
||||||
// 刷新界面菜单
|
util.initRouterNode(menuRoutes, menuData);
|
||||||
vm.$store.commit('updateMenulist', menuRoutes.filter(item => item.children.length > 0));
|
// 刷新界面菜单
|
||||||
|
vm.$store.commit('updateMenulist', menuRoutes.filter(item => item.children.length > 0));
|
||||||
|
|
||||||
let tagsList = [];
|
let tagsList = [];
|
||||||
vm.$store.state.app.routers.map((item) => {
|
vm.$store.state.app.routers.map((item) => {
|
||||||
if (item.children.length <= 1) {
|
if (item.children.length <= 1) {
|
||||||
tagsList.push(item.children[0]);
|
tagsList.push(item.children[0]);
|
||||||
} else {
|
} else {
|
||||||
tagsList.push(...item.children);
|
tagsList.push(...item.children);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
vm.$store.commit('setTagsList', tagsList);
|
vm.$store.commit('setTagsList', tagsList);
|
||||||
};
|
};
|
||||||
|
|
||||||
// 生成路由节点
|
// 生成路由节点
|
||||||
util.initRouterNode = function (routers, data) { // data为所有子菜单数据
|
util.initRouterNode = function (routers, data) { // data为所有子菜单数据
|
||||||
|
|
||||||
for (var item of data) {
|
for (var item of data) {
|
||||||
let menu = Object.assign({}, item);
|
let menu = Object.assign({}, item);
|
||||||
menu.component = lazyLoading(menu.frontRoute);
|
menu.component = lazyLoading(menu.frontRoute);
|
||||||
if (item.children && item.children.length > 0) {
|
if (item.children && item.children.length > 0) {
|
||||||
menu.children = [];
|
menu.children = [];
|
||||||
util.initRouterNode(menu.children, item.children);
|
util.initRouterNode(menu.children, item.children);
|
||||||
}
|
|
||||||
let meta = {};
|
|
||||||
// 给页面添加标题
|
|
||||||
meta.title = menu.title ? menu.title + " - " + config.title + "商家后台" : null;
|
|
||||||
meta.firstRouterName = item.firstRouterName
|
|
||||||
meta.keepAlive = menu.keepAlive ? true : false
|
|
||||||
menu.meta = meta;
|
|
||||||
|
|
||||||
routers.push(menu);
|
|
||||||
}
|
}
|
||||||
|
let meta = {};
|
||||||
|
// 给页面添加标题
|
||||||
|
meta.title = menu.title ? menu.title + " - " + config.title + "商家后台" : null;
|
||||||
|
meta.firstRouterName = item.firstRouterName
|
||||||
|
meta.keepAlive = menu.keepAlive ? true : false
|
||||||
|
menu.meta = meta;
|
||||||
|
|
||||||
|
routers.push(menu);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export default util;
|
export default util;
|
||||||
|
|
|
@ -5,6 +5,7 @@ import "./styles/theme.less";
|
||||||
import "core-js/stable";
|
import "core-js/stable";
|
||||||
import vueQr from "vue-qr";
|
import vueQr from "vue-qr";
|
||||||
|
|
||||||
|
import liliDialog from '@/views/lili-dialog'
|
||||||
import App from "./App";
|
import App from "./App";
|
||||||
import { router } from "./router/index";
|
import { router } from "./router/index";
|
||||||
import store from "./store";
|
import store from "./store";
|
||||||
|
@ -21,7 +22,6 @@ import { setStore, getStore, removeStore } from "@/libs/storage";
|
||||||
import i18nBox from '@/views/lili-components/i18n-translate'
|
import i18nBox from '@/views/lili-components/i18n-translate'
|
||||||
import util from "@/libs/util";
|
import util from "@/libs/util";
|
||||||
|
|
||||||
import liliDialog from '@/views/lili-dialog'
|
|
||||||
import VueLazyload from "vue-lazyload";
|
import VueLazyload from "vue-lazyload";
|
||||||
|
|
||||||
import * as filters from "@/utils/filters"; // global filter
|
import * as filters from "@/utils/filters"; // global filter
|
||||||
|
@ -37,6 +37,7 @@ Vue.use(VueLazyload, {
|
||||||
Vue.use(ViewUI);
|
Vue.use(ViewUI);
|
||||||
Vue.component('liliDialog',liliDialog)
|
Vue.component('liliDialog',liliDialog)
|
||||||
Vue.component('i18nBox',i18nBox)
|
Vue.component('i18nBox',i18nBox)
|
||||||
|
Vue.component('liliDialog',liliDialog)
|
||||||
Vue.component("vue-qr", vueQr); //此处将vue-qr添加为全局组件
|
Vue.component("vue-qr", vueQr); //此处将vue-qr添加为全局组件
|
||||||
|
|
||||||
// 挂载全局使用的方法
|
// 挂载全局使用的方法
|
||||||
|
|
|
@ -102,6 +102,18 @@ export const otherRouter = {
|
||||||
name: "order-detail",
|
name: "order-detail",
|
||||||
component: () => import("@/views/order/order/orderDetail.vue")
|
component: () => import("@/views/order/order/orderDetail.vue")
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/floorList/main",
|
||||||
|
title: "编辑模板",
|
||||||
|
name: "main",
|
||||||
|
component: () => import("@/views/shop/wap/main.vue")
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/pcFloorList/main",
|
||||||
|
title: "编辑模板",
|
||||||
|
name: "renovation",
|
||||||
|
component: () => import("@/views/shop/renovation.vue")
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "order-complaint-detail",
|
path: "order-complaint-detail",
|
||||||
title: "投诉详情",
|
title: "投诉详情",
|
||||||
|
|
|
@ -15,7 +15,7 @@ export function unitPrice(val, unit, location) {
|
||||||
}
|
}
|
||||||
return (unit || "") + price;
|
return (unit || "") + price;
|
||||||
}
|
}
|
||||||
// 转义
|
// 转义
|
||||||
export function enCode(v1) {
|
export function enCode(v1) {
|
||||||
var entry = {
|
var entry = {
|
||||||
"'": "'",
|
"'": "'",
|
||||||
|
@ -162,3 +162,60 @@ export function formatDate(date, fmt) {
|
||||||
}
|
}
|
||||||
return fmt;
|
return fmt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 楼层装修,选择链接处理跳转方式
|
||||||
|
export function formatLinkType (item) {
|
||||||
|
const types = ['goods', 'category', 'shops', 'marketing', 'pages', 'other'] // 所有跳转的分类 依次为 商品、分类、店铺、活动、页面、其他
|
||||||
|
let url = '';
|
||||||
|
switch (item.___type) {
|
||||||
|
case 'goods':
|
||||||
|
url = `/goodsDetail?skuId=${item.id}&goodsId=${item.goodsId}`;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'category':
|
||||||
|
url = `/goodsList?categoryId=${item.allId}`;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'shops':
|
||||||
|
url = `/merchant?id=${item.id}`;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'marketing': // 暂无数据,需要后续修改
|
||||||
|
url = `/seckill?id=${item.id}`;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'pages': // 暂无数据,需要后续修改
|
||||||
|
url = `/article?id=${item.id}`;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'other':
|
||||||
|
switch (item.title) {
|
||||||
|
case '首页':
|
||||||
|
url = '/';
|
||||||
|
break;
|
||||||
|
case '购物车':
|
||||||
|
url = '/cart';
|
||||||
|
break;
|
||||||
|
case '我的订单':
|
||||||
|
url = '/home/MyOrder';
|
||||||
|
break;
|
||||||
|
case '收藏商品':
|
||||||
|
url = '/home/Favorites';
|
||||||
|
break;
|
||||||
|
case '个人中心':
|
||||||
|
url = '/home';
|
||||||
|
break;
|
||||||
|
case '外部链接':
|
||||||
|
url = item.url;
|
||||||
|
break;
|
||||||
|
case '秒杀频道':
|
||||||
|
url = '/seckill';
|
||||||
|
break;
|
||||||
|
case '领券中心':
|
||||||
|
url = '/coupon';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
|
@ -181,7 +181,7 @@
|
||||||
</div>
|
</div>
|
||||||
</Modal>
|
</Modal>
|
||||||
<Modal title="导入商品信息" v-model="importModal" :mask-closable="false">
|
<Modal title="导入商品信息" v-model="importModal" :mask-closable="false">
|
||||||
<div>
|
<div style="text-align: center">
|
||||||
<Upload :before-upload="handleUpload" name="files" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
|
<Upload :before-upload="handleUpload" name="files" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
|
||||||
multiple type="drag" :action="action" :headers="accessToken">
|
multiple type="drag" :action="action" :headers="accessToken">
|
||||||
<div style="padding: 50px 0">
|
<div style="padding: 50px 0">
|
||||||
|
@ -189,6 +189,7 @@
|
||||||
<h2>选择或拖拽文件上传</h2>
|
<h2>选择或拖拽文件上传</h2>
|
||||||
</div>
|
</div>
|
||||||
</Upload>
|
</Upload>
|
||||||
|
<Button @click="exportGoods" type="text" style="color: red">下载导入模板</Button>
|
||||||
</div>
|
</div>
|
||||||
<div slot="footer">
|
<div slot="footer">
|
||||||
<Button type="text" @click="importModal = false">确定</Button>
|
<Button type="text" @click="importModal = false">确定</Button>
|
||||||
|
@ -206,9 +207,12 @@ import {
|
||||||
lowGoods,
|
lowGoods,
|
||||||
deleteGoods,
|
deleteGoods,
|
||||||
batchShipTemplate,
|
batchShipTemplate,
|
||||||
|
downLoadGoods
|
||||||
} from "@/api/goods";
|
} from "@/api/goods";
|
||||||
import { baseUrl } from "@/libs/axios.js";
|
import { baseUrl } from "@/libs/axios.js";
|
||||||
import * as API_Shop from "@/api/shops";
|
import * as API_Shop from "@/api/shops";
|
||||||
|
import Cookies from "js-cookie";
|
||||||
|
import {uploadGoodsExcel} from "../../../api/goods";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "goods",
|
name: "goods",
|
||||||
|
@ -511,9 +515,51 @@ export default {
|
||||||
this.upload();
|
this.upload();
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
* 上传文件
|
||||||
|
*/
|
||||||
|
async upload() {
|
||||||
|
let fd = new FormData();
|
||||||
|
fd.append("files", this.file);
|
||||||
|
let res = await uploadGoodsExcel(fd);
|
||||||
|
if (res.success) {
|
||||||
|
this.stepList.map((item) => {
|
||||||
|
item.checked = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
this.stepList[2].checked = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
openImportGoods(){
|
openImportGoods(){
|
||||||
this.importModal = true
|
this.importModal = true
|
||||||
},
|
},
|
||||||
|
async exportGoods(){
|
||||||
|
downLoadGoods()
|
||||||
|
.then((res) => {
|
||||||
|
console.log(res)
|
||||||
|
const blob = new Blob([res], {
|
||||||
|
type: "application/vnd.ms-excel;charset=utf-8",
|
||||||
|
});
|
||||||
|
//对于<a>标签,只有 Firefox 和 Chrome(内核) 支持 download 属性
|
||||||
|
//IE10以上支持blob但是依然不支持download
|
||||||
|
if ("download" in document.createElement("a")) {
|
||||||
|
//支持a标签download的浏览器
|
||||||
|
const link = document.createElement("a"); //创建a标签
|
||||||
|
link.download = "商品批量导入模板.xls"; //a标签添加属性
|
||||||
|
link.style.display = "none";
|
||||||
|
link.href = URL.createObjectURL(blob);
|
||||||
|
document.body.appendChild(link);
|
||||||
|
link.click(); //执行下载
|
||||||
|
URL.revokeObjectURL(link.href); //释放url
|
||||||
|
document.body.removeChild(link); //释放标签
|
||||||
|
} else {
|
||||||
|
navigator.msSaveBlob(blob, fileName);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
|
},
|
||||||
// 更新库存
|
// 更新库存
|
||||||
updateStock() {
|
updateStock() {
|
||||||
let updateStockList = this.stockList.map((i) => {
|
let updateStockList = this.stockList.map((i) => {
|
||||||
|
|
|
@ -11,6 +11,17 @@ export default [
|
||||||
// name: "category"
|
// name: "category"
|
||||||
// },
|
// },
|
||||||
|
|
||||||
|
// {
|
||||||
|
// title: "活动",
|
||||||
|
// url: "3",
|
||||||
|
// name: "marketing"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// title: "页面",
|
||||||
|
// url: "3",
|
||||||
|
// name: "pages"
|
||||||
|
// },
|
||||||
|
|
||||||
// {
|
// {
|
||||||
// title: "活动",
|
// title: "活动",
|
||||||
// url: "3",
|
// url: "3",
|
||||||
|
|
|
@ -126,7 +126,7 @@ export default {
|
||||||
const data = this.formData;
|
const data = this.formData;
|
||||||
data.status ? (data.pageShow = "OPEN") : (data.pageShow = "CLOSE");
|
data.status ? (data.pageShow = "OPEN") : (data.pageShow = "CLOSE");
|
||||||
delete data.status;
|
delete data.status;
|
||||||
(data.pageType = "INDEX"), (data.pageClientType = "PC");
|
(data.pageType = "STORE"), (data.pageClientType = "PC");
|
||||||
if (data.id) {
|
if (data.id) {
|
||||||
API_floor.updateHome(data.id, data).then((res) => {
|
API_floor.updateHome(data.id, data).then((res) => {
|
||||||
this.$Message.success("编辑模板成功");
|
this.$Message.success("编辑模板成功");
|
||||||
|
|
|
@ -1,98 +1,5 @@
|
||||||
export const modelData = [{
|
|
||||||
type: 'carousel',
|
export const modelData = [
|
||||||
name: '图片轮播',
|
|
||||||
icon: 'md-image',
|
|
||||||
showName: '',
|
|
||||||
size: "790*340",
|
|
||||||
options: {
|
|
||||||
list: [{
|
|
||||||
img: require('@/assets/nav/1.jpg'),
|
|
||||||
url: ''
|
|
||||||
},
|
|
||||||
{
|
|
||||||
img: require('@/assets/nav/2.jpg'),
|
|
||||||
url: ''
|
|
||||||
},
|
|
||||||
{
|
|
||||||
img: require('@/assets/nav/3.jpg'),
|
|
||||||
url: ''
|
|
||||||
}
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
// {
|
|
||||||
// type: 'carousel1',
|
|
||||||
// name: '图片轮播1',
|
|
||||||
// icon: 'md-image',
|
|
||||||
// size: "1200*470",
|
|
||||||
// options: {
|
|
||||||
// list: [{
|
|
||||||
// img: require('@/assets/nav/1.jpg'),
|
|
||||||
// url: '',
|
|
||||||
// bgColor: 'yellow'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// img: require('@/assets/nav/2.jpg'),
|
|
||||||
// url: '',
|
|
||||||
// bgColor: 'purple'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// img: require('@/assets/nav/3.jpg'),
|
|
||||||
// url: '',
|
|
||||||
// bgColor: 'blue'
|
|
||||||
// }
|
|
||||||
// ],
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// type: 'carousel2',
|
|
||||||
// name: '图片轮播2',
|
|
||||||
// icon: 'md-image',
|
|
||||||
// size: "590*470",
|
|
||||||
// options: {
|
|
||||||
// list: [{
|
|
||||||
// img: require('@/assets/nav/1.jpg'),
|
|
||||||
// url: ''
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// img: require('@/assets/nav/2.jpg'),
|
|
||||||
// url: ''
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// img: require('@/assets/nav/3.jpg'),
|
|
||||||
// url: ''
|
|
||||||
// }
|
|
||||||
// ],
|
|
||||||
// listRight: [
|
|
||||||
// [{
|
|
||||||
// img: require('@/assets/nav/1.jpg'),
|
|
||||||
// url: ''
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// img: require('@/assets/nav/2.jpg'),
|
|
||||||
// url: ''
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// img: require('@/assets/nav/3.jpg'),
|
|
||||||
// url: ''
|
|
||||||
// }
|
|
||||||
// ],
|
|
||||||
// [{
|
|
||||||
// img: require('@/assets/nav/1.jpg'),
|
|
||||||
// url: ''
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// img: require('@/assets/nav/2.jpg'),
|
|
||||||
// url: ''
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// img: require('@/assets/nav/3.jpg'),
|
|
||||||
// url: ''
|
|
||||||
// }
|
|
||||||
// ],
|
|
||||||
// ]
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
type: 'hotAdvert',
|
type: 'hotAdvert',
|
||||||
name: '热门广告',
|
name: '热门广告',
|
||||||
|
|
|
@ -61,7 +61,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>)
|
||||||
</div>
|
</div>
|
||||||
<!-- 左侧轮播装修 -->
|
<!-- 左侧轮播装修 -->
|
||||||
<Modal
|
<Modal
|
||||||
|
@ -166,14 +166,12 @@
|
||||||
</table>
|
</table>
|
||||||
</TabPane>
|
</TabPane>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</Modal>
|
</Modal>
|
||||||
<!-- 选择商品。链接 -->
|
<!-- 选择商品。链接 -->
|
||||||
<liliDialog
|
<liliDialog
|
||||||
ref="liliDialog"
|
ref="liliDialog"
|
||||||
@selectedLink="selectedLink"
|
@selectedLink="selectedLink"
|
||||||
|
|
||||||
></liliDialog>
|
></liliDialog>
|
||||||
<!-- 选择图片 -->
|
<!-- 选择图片 -->
|
||||||
<Modal width="1200px" v-model="picModelFlag" footer-hide>
|
<Modal width="1200px" v-model="picModelFlag" footer-hide>
|
||||||
|
|
|
@ -459,10 +459,9 @@ export default {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
<<<<<<< HEAD
|
pageShow(type) {
|
||||||
pageShow(type){
|
|
||||||
this.form.pageShow = type
|
this.form.pageShow = type
|
||||||
=======
|
},
|
||||||
getDeliverAddress(){
|
getDeliverAddress(){
|
||||||
API_Shop.getDeliverAddress().then(res=>{
|
API_Shop.getDeliverAddress().then(res=>{
|
||||||
if(res.success){
|
if(res.success){
|
||||||
|
@ -474,7 +473,6 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
>>>>>>> 4ea142ea086a3f534419a31b595de80497e16d90
|
|
||||||
},
|
},
|
||||||
//修改售后地址
|
//修改售后地址
|
||||||
regionClick() {
|
regionClick() {
|
||||||
|
|
|
@ -116,7 +116,7 @@ export default {
|
||||||
: (this.submitWay.pageShow = "CLOSE");
|
: (this.submitWay.pageShow = "CLOSE");
|
||||||
|
|
||||||
this.submitWay.pageData = JSON.stringify(this.$store.state.styleStore);
|
this.submitWay.pageData = JSON.stringify(this.$store.state.styleStore);
|
||||||
this.submitWay.pageType = "INDEX";
|
this.submitWay.pageType = "STORE";
|
||||||
|
|
||||||
this.$route.query.id ? this.update() : this.submit(this.submitWay);
|
this.$route.query.id ? this.update() : this.submit(this.submitWay);
|
||||||
},
|
},
|
||||||
|
@ -128,7 +128,7 @@ export default {
|
||||||
pageData: JSON.stringify(this.$store.state.styleStore),
|
pageData: JSON.stringify(this.$store.state.styleStore),
|
||||||
name: this.submitWay.name,
|
name: this.submitWay.name,
|
||||||
pageShow: this.submitWay.pageShow,
|
pageShow: this.submitWay.pageShow,
|
||||||
pageType: "INDEX",
|
pageType: "STORE",
|
||||||
pageClientType: "H5",
|
pageClientType: "H5",
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
|
|
@ -63,7 +63,7 @@ export default {
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
sort: "createTime",
|
sort: "createTime",
|
||||||
order: "desc",
|
order: "desc",
|
||||||
pageType: "INDEX",
|
pageType: "STORE",
|
||||||
pageClientType: "H5",
|
pageClientType: "H5",
|
||||||
},
|
},
|
||||||
total: 0, // 页面数量
|
total: 0, // 页面数量
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
style="width: 200px"
|
style="width: 200px"
|
||||||
/>
|
/>
|
||||||
</Form-item>
|
</Form-item>
|
||||||
|
|
||||||
<Form-item label="上传时间">
|
<Form-item label="上传时间">
|
||||||
<DatePicker
|
<DatePicker
|
||||||
v-model="selectDate"
|
v-model="selectDate"
|
||||||
|
@ -189,7 +189,7 @@
|
||||||
</Row>
|
</Row>
|
||||||
</Card>
|
</Card>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Modal
|
<Modal
|
||||||
:title="modalTitle"
|
:title="modalTitle"
|
||||||
|
@ -815,6 +815,6 @@ export default {
|
||||||
this.init();
|
this.init();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
Loading…
Reference in New Issue