合并master

This commit is contained in:
lemon橪
2021-05-20 11:11:56 +08:00
28 changed files with 230 additions and 164 deletions

View File

@@ -18,14 +18,14 @@ export default {
* @description api请求基础路径
*/
api_dev: {
// common: 'https://common-api.pickmall.cn',
// buyer: 'https://buyer-api.pickmall.cn',
// seller: 'https://store-api.pickmall.cn',
// manager: 'https://admin-api.pickmall.cn'
common: 'http://192.168.0.100:8890',
buyer: 'http://192.168.0.100:8888',
seller: 'http://192.168.0.100:8889',
manager: 'http://192.168.0.100:8887'
common: 'https://common-api.pickmall.cn',
buyer: 'https://buyer-api.pickmall.cn',
seller: 'https://store-api.pickmall.cn',
manager: 'https://admin-api.pickmall.cn'
// common: 'http://192.168.0.100:8890',
// buyer: 'http://192.168.0.100:8888',
// seller: 'http://192.168.0.100:8889',
// manager: 'http://192.168.0.100:8887'
},
api_prod: {
common: 'https://common-api.pickmall.cn',

View File

@@ -6,6 +6,7 @@ import "./styles/theme.less";
import "core-js/stable";
import "regenerator-runtime/runtime";
import vueQr from 'vue-qr'
import App from "./App";
import { router } from "./router/index";
@@ -42,6 +43,7 @@ Vue.use(ViewUI, {
});
Vue.use(VueClipboard);
Vue.component(vueQr)
// 挂载全局使用的方法
Vue.prototype.getRequest = getRequest;
@@ -55,7 +57,7 @@ Vue.prototype.getStore = getStore;
Vue.prototype.removeStore = removeStore;
Vue.prototype.md5 = md5;
Vue.prototype.linkTo = function (goodsId, skuId, link='https://pc-b2b2c.pickmall.cn') { // 跳转买家端商品
window.open(`${link}/goodsDetail?goodsId=${goodsId}&skuId=${skuId}`, '_blank')
window.open(`${link}/goodsDetail?skuId=${skuId}&goodsId=${goodsId}`, '_blank')
};
Vue.prototype.wapLinkTo = function (goodsId, skuId) { // app端二维码
return `https://m-b2b2c.pickmall.cn/pages/product/goods?id=${skuId}&goodsId=${goodsId}`

View File

@@ -88,6 +88,9 @@ ul,li{
text-overflow:ellipsis;
white-space: nowrap;
}
.hover-pointer {
cursor: pointer;
}
/*
* @Author: LMR

View File

@@ -23,16 +23,22 @@
<Row>
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect">
<!-- 商品栏目格式化 -->
<template slot="goodsSlot" slot-scope="scope">
<template slot="goodsSlot" slot-scope="{row}">
<div style="margin-top: 5px;height: 70px; display: flex;">
<div style="">
<img :src="scope.row.thumbnail" style="height: 60px;margin-top: 3px;width: 60px">
<img :src="row.thumbnail" style="height: 60px;margin-top: 3px;width: 60px">
</div>
<div style="margin-left: 13px;">
<div class="div-zoom" >
<a @click="linkTo(scope.row.id,scope.row.skuId)">{{scope.row.goodsName}}</a>
<div class="div-zoom">
<a @click="linkTo(row.id,row.skuId)">{{row.goodsName}}</a>
</div>
<Poptip trigger="hover" title="扫码在手机中查看" transfer>
<div slot="content">
<vue-qr :text="wapLinkTo(row.id,row.skuId)" :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr>
</div>
<img src="../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt="">
</Poptip>
</div>
</div>

View File

@@ -527,10 +527,10 @@
@on-change="logisticsTemplateChange"
v-model="baseInfoForm.freightPayer"
>
<Radio label="BUYER">
<Radio label="STORE">
<span>卖家承担运费</span>
</Radio>
<Radio label="STORE">
<Radio label="BUYER">
<span>使用物流规则</span>
</Radio>
</RadioGroup>
@@ -709,7 +709,7 @@ export default {
this.baseInfoForm = {
salesModel: "RETAIL",
goodsParamsList: [],
freightPayer: "BUYER",
freightPayer: "STORE",
weight: "",
goodsGalleryFiles: [],
release: "true",
@@ -853,7 +853,7 @@ export default {
/** 商品参数列表 */
goodsParamsList: [],
/** 运费承担者 */
freightPayer: "BUYER",
freightPayer: "STORE",
/** 商品重量 */
weight: "",
/** 商品相册列表 */
@@ -1016,7 +1016,7 @@ export default {
this.baseInfoForm = {
salesModel: "RETAIL",
goodsParamsList: [],
freightPayer: "BUYER",
freightPayer: "STORE",
weight: "",
goodsGalleryFiles: [],
release: "true",
@@ -1176,8 +1176,8 @@ export default {
},
//选择运费模板则展示运费规则
logisticsTemplateChange(v) {
if (v == "STORE") {
//如果家承担运费 则需要查询运费规则
if (v == "BUYER") {
// 如果家承担运费 则需要查询运费规则
API_Shop.getShipTemplate().then((res) => {
if (res.success) {
this.logisticsTemplate = res.result;
@@ -1244,7 +1244,7 @@ export default {
...response.result,
};
console.warn(this.baseInfoForm);
if (this.baseInfoForm.freightPayer != "BUYER") {
if (this.baseInfoForm.freightPayer === "BUYER") {
API_Shop.getShipTemplate().then((res) => {
if (res.success) {
this.logisticsTemplate = res.result;
@@ -1847,8 +1847,8 @@ export default {
// this.$Message.error("请选择店内分类");
// return;
// }
//如果选择的是家承担运费 则运费模板重置为0
if (this.baseInfoForm.freightPayer == "BUYER") {
//如果选择的是家承担运费 则运费模板重置为0
if (this.baseInfoForm.freightPayer !== "BUYER") {
this.baseInfoForm.templateId = 0;
}

View File

@@ -56,7 +56,7 @@
</Row>
<Footer />
</Col>
<LangSwitch />
<!-- <LangSwitch /> -->
</Row>
</div>
</template>
@@ -65,8 +65,6 @@
import {
login,
userMsg,
initCaptcha,
drawCodeImage,
} from "@/api/index";
import { validateMobile } from "@/libs/validate";
import Cookies from "js-cookie";
@@ -135,13 +133,6 @@ export default {
// 获取用户信息
userMsg().then((res) => {
if (res.success) {
// 避免超过大小限制
/* delete res.result.permissions;
let roles = [];
res.result.roles.forEach((e) => {
roles.push(e.name);
});
this.setStore("roles", roles); */
this.setStore("saveLogin", this.saveLogin);
if (this.saveLogin) {
// 保存7天
@@ -180,11 +171,7 @@ export default {
}
})
},
},
mounted() {
// this.getCaptchaImg();
},
}
};
</script>
<style lang="scss" scoped>

View File

@@ -48,7 +48,17 @@
sortable="custom"
@on-sort-change="changeSort"
@on-selection-change="changeSelect"
></Table>
>
<template slot-scope="{row}" slot="goodsName">
<a class="mr_10" @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a>
<Poptip trigger="hover" title="扫码在手机中查看" transfer>
<div slot="content">
<vue-qr :text="wapLinkTo(row.goodsId,row.skuId)" :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr>
</div>
<img src="../../../assets/qrcode.svg" style="vertical-align:bottom;" class="hover-pointer" width="20" height="20" alt="">
</Poptip>
</template>
</Table>
</Row>
<Row type="flex" justify="end" class="page">
<Page
@@ -156,35 +166,29 @@
{
title: "会员名称",
key: "memberName",
minWidth: 120,
sortable: false,
},
{
title: "订单编号",
key: "orderSn",
minWidth: 120,
sortType: "desc",
},
{
title: "商品名称",
key: "goodsName",
minWidth: 120,
slot: "goodsName",
sortType: "desc",
},
{
title: "投诉主题",
key: "complainTopic",
minWidth: 120,
},
{
title: "投诉时间",
key: "createTime",
minWidth: 120,
},
{
title: "投诉状态",
key: "complainStatus",
minWidth: 120,
render: (h, params) => {
if (params.row.complainStatus == "NEW") {
return h('div', [h('span', { }, '新投诉'),]);
@@ -206,7 +210,7 @@
title: "操作",
key: "action",
align: "center",
width: 200,
width: 120,
render: (h, params) => {
if(params.row.complainStatus === "COMPLETE"){
return h("div", [

View File

@@ -61,16 +61,22 @@
>
<!-- 商品栏目格式化 -->
<template slot="goodsSlot" slot-scope="scope">
<template slot="goodsSlot" slot-scope="{row}">
<div style="margin-top: 5px;height: 90px; display: flex;">
<div style="">
<img :src="scope.row.goodsImage" style="height: 80px;margin-top: 3px">
<img :src="row.goodsImage" style="height: 80px;margin-top: 3px">
</div>
<div style="margin-left: 13px;margin-top: 3px;">
<div class="div-zoom" >
<a>{{scope.row.goodsName}}</a>
<div style="margin-left: 13px;">
<div class="div-zoom">
<a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a>
</div>
<Poptip trigger="hover" title="扫码在手机中查看" transfer>
<div slot="content">
<vue-qr :text="wapLinkTo(row.goodsId,row.skuId)" :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr>
</div>
<img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt="">
</Poptip>
</div>
</div>

View File

@@ -61,16 +61,22 @@
>
<!-- 商品栏目格式化 -->
<template slot="goodsSlot" slot-scope="scope">
<template slot="goodsSlot" slot-scope="{row}">
<div style="margin-top: 5px;height: 90px; display: flex;">
<div style="">
<img :src="scope.row.goodsImage" style="height: 80px;margin-top: 3px">
<img :src="row.goodsImage" style="height: 80px;margin-top: 3px">
</div>
<div style="margin-left: 13px;margin-top: 3px;">
<div class="div-zoom" >
<a>{{scope.row.goodsName}}</a>
<div style="margin-left: 13px;">
<div class="div-zoom">
<a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a>
</div>
<Poptip trigger="hover" title="扫码在手机中查看" transfer>
<div slot="content">
<vue-qr :text="wapLinkTo(row.goodsId,row.skuId)" :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr>
</div>
<img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt="">
</Poptip>
</div>
</div>

View File

@@ -115,23 +115,27 @@
<Card>
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom">
<!-- 商品栏目格式化 -->
<template slot="goodsSlot" slot-scope="scope">
<template slot="goodsSlot" slot-scope="{row}">
<div style="margin-top: 5px; height: 80px; display: flex">
<div style="">
<img :src="scope.row.image" style="height: 60px; margin-top: 1px; width: 60px" />
<img :src="row.image" style="height: 60px; margin-top: 1px; width: 60px" />
</div>
<div style="margin-left: 13px">
<div class="div-zoom">
<a>{{ scope.row.goodsName }}</a>
<a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a>
</div>
<div>
<span v-for="(item, key) in JSON.parse(scope.row.specs)">
<span v-show="key!='images'" style="font-size: 12px;color: #999999;">
{{key}} : {{item}}
</span>
<span v-for="(item, key) in JSON.parse(row.specs)">
<span v-show="key!='images'" style="font-size: 12px;color: #999999;">
{{key}} : {{item}}
</span>
</div>
</span>
<Poptip trigger="hover" style="display: block;" title="扫码在手机中查看" transfer>
<div slot="content">
<vue-qr :text="wapLinkTo(row.goodsId,row.skuId)" :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr>
</div>
<img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt="">
</Poptip>
</div>
</div>
</template>