功能测试与修改

master
Chopper 2022-08-26 17:12:48 +08:00 committed by chc
parent ba91d7c26d
commit a345586b25
27 changed files with 2468 additions and 986 deletions

2107
buyer/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

@ -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
@ -28,7 +26,7 @@
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,7 +51,8 @@
: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>
@ -65,84 +65,65 @@
<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>
<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> <model-form ref="modelForm" :data="modelForm"></model-form>
<!-- 底部栏 -->
<BaseFooter></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,7 +206,10 @@ 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.storeMsg = res.result;
this.getIndexData(); this.getIndexData();
let that = this; let that = this;
window.onscroll = function () { window.onscroll = function () {
@ -238,23 +221,6 @@ export default {
that.topSearchShow = false; 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.getGoodsList();
}
} }
}); });
}, },
@ -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");

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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,
// }
] ]
} }
] ]

View File

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

View File

@ -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添加为全局组件
// 挂载全局使用的方法 // 挂载全局使用的方法

View File

@ -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: "投诉详情",

View File

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

View File

@ -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
//IE10blobdownload
if ("download" in document.createElement("a")) {
//adownload
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) => {

0
seller/src/views/lili-dialog/goods-dialog.vue Normal file → Executable file
View File

0
seller/src/views/lili-dialog/index.vue Normal file → Executable file
View File

0
seller/src/views/lili-dialog/link-dialog.vue Normal file → Executable file
View File

0
seller/src/views/lili-dialog/style.scss Normal file → Executable file
View File

View File

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

View File

@ -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("编辑模板成功");

View File

@ -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: '热门广告',

View File

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

View File

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

View File

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

View File

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