Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui

master
Chopper 2021-05-20 09:17:51 +08:00
commit 530fd30cc2
23 changed files with 197 additions and 130 deletions

View File

@ -147,9 +147,7 @@ export default {
}, },
watch: { watch: {
id: { id: {
immediate: true,
handler: function (v) { handler: function (v) {
console.log(v);
if (v) { if (v) {
this.getAddrById(v); this.getAddrById(v);
} else { } else {

View File

@ -17,10 +17,15 @@ export default {
* @description api请求基础路径 * @description api请求基础路径
*/ */
api_dev: { api_dev: {
common: 'https://common-api.pickmall.cn', common: 'http://192.168.0.100:8890',
buyer: 'https://buyer-api.pickmall.cn', buyer: 'http://192.168.0.100:8888',
seller: 'https://store-api.pickmall.cn', seller: 'http://192.168.0.100:8889',
manager: 'https://admin-api.pickmall.cn' 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'
}, },
api_prod: { api_prod: {
common: 'https://common-api.pickmall.cn', common: 'https://common-api.pickmall.cn',

View File

@ -44,7 +44,6 @@
<div> <div>
<Checkbox v-model="shop.checked" @on-change="changeChecked(shop.checked, 'shop', shop.storeId)"></Checkbox> <Checkbox v-model="shop.checked" @on-change="changeChecked(shop.checked, 'shop', shop.storeId)"></Checkbox>
<span class="go-shop-page" @click="goShopPage(shop.storeId)">{{shop.storeName}}</span> <span class="go-shop-page" @click="goShopPage(shop.storeId)">{{shop.storeName}}</span>
<Icon class="customer-service" custom="icomoon icon-customer-service" />
</div> </div>
<span class="shop-coupon" v-if="shop.couponList.length" :class="couponAvailable === index ? 'shop-coupon-show' : ''" @click.stop="showCoupon(shop.id, index)"> <span class="shop-coupon" v-if="shop.couponList.length" :class="couponAvailable === index ? 'shop-coupon-show' : ''" @click.stop="showCoupon(shop.id, index)">
<!-- 优惠券模态框 --> <!-- 优惠券模态框 -->

View File

@ -64,7 +64,7 @@
<div> <div>
<span @click="shopPage(order.storeId)">{{ order.storeName }}</span <span @click="shopPage(order.storeId)">{{ order.storeName }}</span
>&nbsp;<Icon custom="icomoon icon-customer-service" /> >
</div> </div>
<div> <div>
<!-- 订单基础操作 --> <!-- 订单基础操作 -->

View File

@ -39,7 +39,7 @@
<!-- 订单商品 --> <!-- 订单商品 -->
<div class="goods"> <div class="goods">
<div class="shop-name"> <div class="shop-name">
<span @click="shopPage(order.order.storeId)">{{ order.order.storeName }}</span> &nbsp; <Icon custom="icomoon icon-customer-service" /> <span @click="shopPage(order.order.storeId)">{{ order.order.storeName }}</span>
</div> </div>
<table> <table>
<thead> <thead>

View File

@ -63,14 +63,13 @@
<div class="shop-name"> <div class="shop-name">
<span> <span>
<span class="hover-color" @click="goShopPage(shop.storeId)">{{shop.storeName}}</span>&nbsp;&nbsp; <span class="hover-color" @click="goShopPage(shop.storeId)">{{shop.storeName}}</span>&nbsp;&nbsp;
<Icon class="hover-color" custom="icomoon icon-customer-service" />
</span> </span>
<span> <!-- <span>
<p style="width:120px">配送方式</p> <p style="width:120px">配送方式</p>
<Select v-model="shop.deliveryMethod" size="small"> <Select v-model="shop.deliveryMethod" size="small">
<Option v-for="item in deliveryList" :value="item.value" :key="item.value">{{ item.label }}</Option> <Option v-for="item in deliveryList" :value="item.value" :key="item.value">{{ item.label }}</Option>
</Select> </Select>
</span> </span> -->
</div> </div>
<div class="goods-list"> <div class="goods-list">
<div class="goods-item" v-for="(goods,goodsIndex) in shop.skuList" :key="goodsIndex"> <div class="goods-item" v-for="(goods,goodsIndex) in shop.skuList" :key="goodsIndex">
@ -200,7 +199,7 @@ export default {
// {value: 'LOCAL_TOWN_DELIVERY', label: ''} // {value: 'LOCAL_TOWN_DELIVERY', label: ''}
], ],
addressList: [], // addressList: [], //
selectedAddress: {}, // id selectedAddress: {}, //
goodsList: [], // goodsList: [], //
priceDetailDTO: {}, // priceDetailDTO: {}, //
totalNum: 0, // totalNum: 0, //
@ -227,7 +226,6 @@ export default {
methods: { methods: {
init () { init () {
this.getGoodsDetail(); this.getGoodsDetail();
this.getAddress();
}, },
goAddressManage () { // goAddressManage () { //
this.$router.push('/home/MyAddress'); this.$router.push('/home/MyAddress');
@ -236,8 +234,10 @@ export default {
memberAddress().then(res => { memberAddress().then(res => {
if (res.success) { if (res.success) {
this.addressList = res.result.records; this.addressList = res.result.records;
this.addressList.forEach((e) => { this.addressList.forEach((e, index) => {
if (e.isDefault) this.selectedAddress = e; if (e.id === this.selectedAddress.id && index > 2) {
this.moreAddr = true
}
}); });
} }
}); });
@ -250,13 +250,30 @@ export default {
this.goodsList = res.result.cartList; this.goodsList = res.result.cartList;
this.priceDetailDTO = res.result.priceDetailDTO; this.priceDetailDTO = res.result.priceDetailDTO;
this.skuList = res.result.skuList; this.skuList = res.result.skuList;
let notSupArea = res.result.notSupportFreight
if (notSupArea) {
let content = [];
let title = ''
notSupArea.forEach(e => {
title = e.errorMessage
content.push(e.goodsSku.goodsName)
})
this.$Modal.warning({
title: '以下商品超出配送区域' || title,
content: content.toString()
})
}
if (res.result.memberAddress) {
this.selectedAddress = res.result.memberAddress
}
this.getAddress()
this.totalNum = 0; this.totalNum = 0;
for (let i = 0; i < this.skuList.length; i++) { for (let i = 0; i < this.skuList.length; i++) {
this.totalNum += this.skuList[i].num; this.totalNum += this.skuList[i].num;
} }
this.getCouponNum() this.getCouponNum()
} }
}).catch(() => { this.$Spin.hide(); }); }).catch(() => { this.$Spin.hide() });
}, },
getCouponNum () { // getCouponNum () { //
couponNum({way: this.$route.query.way}).then(res => { couponNum({way: this.$route.query.way}).then(res => {

View File

@ -11,7 +11,7 @@ import App from './App'
import { router } from './router/index' import { router } from './router/index'
import store from './store' import store from './store'
import i18n from '@/locale' import i18n from '@/locale'
import vueQr from 'vue-qr'
import { getRequest, postRequest, putRequest, deleteRequest, importRequest, uploadFileRequest } from '@/libs/axios' import { getRequest, postRequest, putRequest, deleteRequest, importRequest, uploadFileRequest } from '@/libs/axios'
import { setStore, getStore, removeStore } from '@/libs/storage' import { setStore, getStore, removeStore } from '@/libs/storage'
import util from '@/libs/util' import util from '@/libs/util'
@ -22,6 +22,12 @@ import liliDialog from '@/views/lili-dialog'
import {md5} from '@/utils/md5.js'; import {md5} from '@/utils/md5.js';
Vue.config.devtools = true; Vue.config.devtools = true;
Vue.config.productionTip = false Vue.config.productionTip = false
Vue.prototype.linkTo = function (goodsId, skuId, link='https://pc-b2b2c.pickmall.cn') { // 跳转买家端商品
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}`
};
Vue.use(VueLazyload, { Vue.use(VueLazyload, {
error: require('./assets/img-error.png'), error: require('./assets/img-error.png'),
loading: require('./assets/loading2.gif') loading: require('./assets/loading2.gif')
@ -31,6 +37,7 @@ Vue.use(ViewUI, {
}); });
Vue.component('liliDialog',liliDialog) Vue.component('liliDialog',liliDialog)
Vue.component(vueQr)

View File

@ -21,7 +21,21 @@
<Button @click="delAll"></Button> <Button @click="delAll"></Button>
</Row> </Row>
<Row> <Row>
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect">
<template slot="goodsName" slot-scope="{row}">
<div>
<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>
</template>
</Table>
</Row> </Row>
<Row type="flex" justify="end" class="page"> <Row type="flex" justify="end" class="page">
<Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" size="small" show-total show-elevator show-sizer></Page> <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" size="small" show-total show-elevator show-sizer></Page>
@ -84,7 +98,7 @@ export default {
}, },
{ {
title: "商品名称", title: "商品名称",
key: "goodsName", slot: "goodsName",
minWidth: 200, minWidth: 200,
tooltip: true tooltip: true
}, },
@ -99,7 +113,6 @@ export default {
{ {
title: "库存", title: "库存",
key: "quantity", key: "quantity",
minWidth: 80
}, },
{ {
title: "添加时间", title: "添加时间",
@ -109,13 +122,11 @@ export default {
{ {
title: "店铺名称", title: "店铺名称",
key: "storeName", key: "storeName",
minWidth: 120,
tooltip: true tooltip: true
}, },
{ {
title: "佣金金额", title: "佣金金额",
key: "commission", key: "commission",
minWidth: 120,
sortable: false, sortable: false,
render: (h, params) => { render: (h, params) => {
return h("div", this.$options.filters.unitPrice(params.row.commission,'¥')); return h("div", this.$options.filters.unitPrice(params.row.commission,'¥'));

View File

@ -262,24 +262,24 @@
}; };
}, },
methods: { methods: {
init() { init() { //
this.getDataList(); this.getDataList();
}, },
changePage(v) { changePage(v) { //
this.searchForm.pageNumber = v; this.searchForm.pageNumber = v;
this.getDataList(); this.getDataList();
this.clearSelectAll(); this.clearSelectAll();
}, },
changePageSize(v) { changePageSize(v) { //
this.searchForm.pageSize = v; this.searchForm.pageSize = v;
this.getDataList(); this.getDataList();
}, },
handleSearch() { handleSearch() { //
this.searchForm.pageNumber = 1; this.searchForm.pageNumber = 1;
this.searchForm.pageSize = 10; this.searchForm.pageSize = 10;
this.getDataList(); this.getDataList();
}, },
changeSort(e) { changeSort(e) { //
this.searchForm.sort = e.key; this.searchForm.sort = e.key;
this.searchForm.order = e.order; this.searchForm.order = e.order;
if (e.order === "normal") { if (e.order === "normal") {
@ -287,14 +287,14 @@
} }
this.getDataList(); this.getDataList();
}, },
clearSelectAll() { clearSelectAll() { //
this.$refs.table.selectAll(false); this.$refs.table.selectAll(false);
}, },
changeSelect(e) { changeSelect(e) { //
this.selectList = e; this.selectList = e;
this.selectCount = e.length; this.selectCount = e.length;
}, },
getDataList() { getDataList() { //
this.loading = true; this.loading = true;
// //
this.searchForm.isAuth = 0; this.searchForm.isAuth = 0;
@ -306,7 +306,7 @@
} }
}); });
}, },
examine(v, isAuth) { examine(v, isAuth) { //
let examine = "通过"; let examine = "通过";
this.goodsAuditForm.isAuth = "PASS"; this.goodsAuditForm.isAuth = "PASS";
if (isAuth != 1) { if (isAuth != 1) {

View File

@ -87,16 +87,22 @@
@on-selection-change="changeSelect" @on-selection-change="changeSelect"
> >
<!-- 商品栏目格式化 --> <!-- 商品栏目格式化 -->
<template slot="goodsSlot" slot-scope="scope"> <template slot="goodsSlot" slot-scope="{row}">
<div style="margin-top: 5px;height: 80px; display: flex;"> <div style="margin-top: 5px;height: 80px; display: flex;">
<div style=""> <div style="">
<img :src="scope.row.goodsImage" style="height: 60px;margin-top: 3px"> <img :src="row.goodsImage" style="height: 60px;margin-top: 3px">
</div> </div>
<div style="margin-left: 13px;margin-top: 3px;"> <div style="margin-left: 13px;">
<div class="div-zoom"> <div class="div-zoom">
<a>{{scope.row.goodsName}}</a> <a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a>
</div> </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>
</div> </div>

View File

@ -47,7 +47,17 @@
sortable="custom" sortable="custom"
@on-sort-change="changeSort" @on-sort-change="changeSort"
@on-selection-change="changeSelect" @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>
<Row type="flex" justify="end" class="page"> <Row type="flex" justify="end" class="page">
<Page <Page
@ -167,7 +177,7 @@
}, },
{ {
title: "商品名称", title: "商品名称",
key: "goodsName", slot: "goodsName",
minWidth: 170, minWidth: 170,
tooltip: true tooltip: true
@ -175,7 +185,6 @@
{ {
title: "投诉主题", title: "投诉主题",
key: "complainTopic", key: "complainTopic",
minWidth: 120,
tooltip: true tooltip: true
}, },
{ {

View File

@ -158,26 +158,30 @@
sortable="custom" 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="margin-top: 5px; height: 80px; display: flex">
<div style=""> <div style="">
<img <img
:src="scope.row.image" :src="row.image"
style="height: 60px; margin-top: 1px; width: 60px" style="height: 60px; margin-top: 1px; width: 60px"
/> />
</div> </div>
<div style="margin-left: 13px"> <div style="margin-left: 13px">
<div class="div-zoom"> <div class="div-zoom">
<a>{{ scope.row.goodsName }}</a> <a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a>
</div> </div>
<div> <span v-for="(item, key) in JSON.parse(row.specs)">
<span v-for="(item, key) in JSON.parse(scope.row.specs)">
<span v-show="key!='images'" style="font-size: 12px;color: #999999;"> <span v-show="key!='images'" style="font-size: 12px;color: #999999;">
{{key}} : {{item}} {{key}} : {{item}}
</span> </span>
</span> </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> </div>
<img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt="">
</Poptip>
</div> </div>
</div> </div>
</template> </template>

View File

@ -225,7 +225,6 @@ export default {
{ {
title: "状态", title: "状态",
key: "promotionStatus", key: "promotionStatus",
minWidth: 100,
fixed: "right", fixed: "right",
render: (h, params) => { render: (h, params) => {
let text = "未知", let text = "未知",

View File

@ -156,13 +156,16 @@
:data="form.promotionGoodsList" :data="form.promotionGoodsList"
@on-selection-change="changeSelect" @on-selection-change="changeSelect"
> >
<template slot-scope="{ row }" slot="QRCode"> <template slot-scope="{ row }" slot="goodsName">
<img <div>
:src="row.QRCode || '../../../assets/lili.png'" <a class="mr_10" @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a>
width="50px" <Poptip trigger="hover" title="扫码在手机中查看" transfer>
height="50px" <div slot="content">
alt="" <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:middle;" class="hover-pointer" width="20" height="20" alt="">
</Poptip>
</div>
</template> </template>
</Table> </Table>
</FormItem> </FormItem>
@ -201,7 +204,7 @@ export default {
}, },
{ {
title: "商品名称", title: "商品名称",
key: "goodsName", slot: "goodsName",
minWidth: 120, minWidth: 120,
}, },
{ {
@ -215,20 +218,11 @@ export default {
); );
}, },
}, },
{
title: "图片",
key: "quantity",
minWidth: 40,
},
{ {
title: "库存", title: "库存",
key: "quantity", key: "quantity",
minWidth: 40, minWidth: 40,
}, }
// {
// title: "",
// slot: "QRCode",
// },
], ],
options: { options: {
disabledDate(date) { disabledDate(date) {

View File

@ -22,17 +22,17 @@
@on-selection-change="changeSelect" @on-selection-change="changeSelect"
> >
<template slot-scope="{ row }" slot="goodsName"> <template slot-scope="{ row }" slot="goodsName">
<span>{{ row.goodsName }}</span> <div>
</template> <a class="mr_10" @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a>
<template slot-scope="{ row }" slot="QRCode"> <Poptip trigger="hover" title="扫码在手机中查看" transfer>
<Button @click="toBuyerGoods(row)" type="info">商品链接地址</Button> <div slot="content">
<Button <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)" :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr>
v-if="row.QRCode != null" </div>
type="success" <img src="../../../assets/qrcode.svg" style="vertical-align:middle;" class="hover-pointer" width="20" height="20" alt="">
@click="viewImg(row.QRCode)" </Poptip>
>查看二维码</Button </div>
>
</template> </template>
</Table> </Table>
</Row> </Row>
<Row type="flex" justify="end" class="page operation"> <Row type="flex" justify="end" class="page operation">

View File

@ -70,8 +70,14 @@
ref="table" ref="table"
> >
<template slot-scope="{ row }" slot="goodsName"> <template slot-scope="{ row }" slot="goodsName">
<div class="div-zoom" > <div>
<a>{{ row.goodsSku.goodsName }}</a> <a class="mr_10" @click="linkTo(row.goodsSku.goodsId,row.goodsSku.skuId)">{{row.goodsSku.goodsName}}</a>
<Poptip trigger="hover" title="扫码在手机中查看" transfer>
<div slot="content">
<vue-qr :text="wapLinkTo(row.goodsSku.goodsId,row.goodsSku.skuId)" :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr>
</div>
<img src="../../../assets/qrcode.svg" style="vertical-align:middle;" class="hover-pointer" width="20" height="20" alt="">
</Poptip>
</div> </div>
</template> </template>
<template slot-scope="{ row }" slot="price"> <template slot-scope="{ row }" slot="price">
@ -83,6 +89,11 @@
<template slot-scope="{ row }" slot="quantity"> <template slot-scope="{ row }" slot="quantity">
<div>{{ row.goodsSku.quantity }}</div> <div>{{ row.goodsSku.quantity }}</div>
</template> </template>
<template slot-scope="{ row }" slot="startTime">
<div>{{ row.startTime }}</div>
<div>{{ row.endTime }}</div>
</template>
<template slot-scope="{ row }" slot="action"> <template slot-scope="{ row }" slot="action">
<Button <Button
v-if="row.promotionStatus == 'NEW'" v-if="row.promotionStatus == 'NEW'"
@ -166,52 +177,39 @@ export default {
{ {
title: "市场价", title: "市场价",
slot: "price", slot: "price",
minWidth: 60,
}, },
{ {
title: "结算价", title: "结算价",
slot: "settlementPrice", slot: "settlementPrice",
minWidth: 60,
}, },
{ {
title: "分类", title: "分类",
key: "pointsGoodsCategoryName", key: "pointsGoodsCategoryName",
minWidth: 60,
}, },
{ {
title: "库存数量", title: "库存数量",
slot: "quantity", slot: "quantity",
minWidth: 60,
}, },
{ {
title: "活动剩余库存", title: "活动剩余库存",
key: "activeStock", key: "activeStock",
minWidth:90,
}, },
{ {
title: "兑换积分", title: "兑换积分",
key: "points", key: "points",
minWidth: 60,
}, },
{ {
title: "所属店铺", title: "所属店铺",
key: "storeName", key: "storeName",
minWidth: 60,
}, },
{ {
title: "活动开始时间", title: "活动开始时间",
key: "startTime", slot: "startTime",
minWidth: 140, minWidth:100
},
{
title: "活动结束时间",
key: "endTime",
minWidth: 140,
}, },
{ {
title: "状态", title: "状态",
key: "promotionStatus", key: "promotionStatus",
minWidth: 60,
render: (h, params) => { render: (h, params) => {
let text = "未知", let text = "未知",
color = ""; color = "";

View File

@ -57,7 +57,7 @@ Vue.prototype.getStore = getStore;
Vue.prototype.removeStore = removeStore; Vue.prototype.removeStore = removeStore;
Vue.prototype.md5 = md5; Vue.prototype.md5 = md5;
Vue.prototype.linkTo = function (goodsId, skuId, link='https://pc-b2b2c.pickmall.cn') { // 跳转买家端商品 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端二维码 Vue.prototype.wapLinkTo = function (goodsId, skuId) { // app端二维码
return `https://m-b2b2c.pickmall.cn/pages/product/goods?id=${skuId}&goodsId=${goodsId}` return `https://m-b2b2c.pickmall.cn/pages/product/goods?id=${skuId}&goodsId=${goodsId}`

View File

@ -33,7 +33,7 @@
<div class="div-zoom"> <div class="div-zoom">
<a @click="linkTo(row.id,row.skuId)">{{row.goodsName}}</a> <a @click="linkTo(row.id,row.skuId)">{{row.goodsName}}</a>
</div> </div>
<Poptip trigger="hover" title="扫码APP查看" transfer> <Poptip trigger="hover" title="扫码在手机中查看" transfer>
<div slot="content"> <div slot="content">
<vue-qr :text="wapLinkTo(row.id,row.skuId)" :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> <vue-qr :text="wapLinkTo(row.id,row.skuId)" :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr>
</div> </div>

View File

@ -1176,8 +1176,8 @@ export default {
}, },
// //
logisticsTemplateChange(v) { logisticsTemplateChange(v) {
if (v == "STORE") { if (v == "BUYER") {
// //
API_Shop.getShipTemplate().then((res) => { API_Shop.getShipTemplate().then((res) => {
if (res.success) { if (res.success) {
this.logisticsTemplate = res.result; this.logisticsTemplate = res.result;
@ -1244,7 +1244,7 @@ export default {
...response.result, ...response.result,
}; };
console.warn(this.baseInfoForm); console.warn(this.baseInfoForm);
if (this.baseInfoForm.freightPayer != "BUYER") { if (this.baseInfoForm.freightPayer === "BUYER") {
API_Shop.getShipTemplate().then((res) => { API_Shop.getShipTemplate().then((res) => {
if (res.success) { if (res.success) {
this.logisticsTemplate = res.result; this.logisticsTemplate = res.result;
@ -1847,8 +1847,8 @@ export default {
// this.$Message.error(""); // this.$Message.error("");
// return; // return;
// } // }
// 0 // 0
if (this.baseInfoForm.freightPayer == "BUYER") { if (this.baseInfoForm.freightPayer !== "BUYER") {
this.baseInfoForm.templateId = 0; this.baseInfoForm.templateId = 0;
} }

View File

@ -48,7 +48,17 @@
sortable="custom" sortable="custom"
@on-sort-change="changeSort" @on-sort-change="changeSort"
@on-selection-change="changeSelect" @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>
<Row type="flex" justify="end" class="page"> <Row type="flex" justify="end" class="page">
<Page <Page
@ -156,35 +166,29 @@
{ {
title: "会员名称", title: "会员名称",
key: "memberName", key: "memberName",
minWidth: 120,
sortable: false, sortable: false,
}, },
{ {
title: "订单编号", title: "订单编号",
key: "orderSn", key: "orderSn",
minWidth: 120,
sortType: "desc", sortType: "desc",
}, },
{ {
title: "商品名称", title: "商品名称",
key: "goodsName", slot: "goodsName",
minWidth: 120,
sortType: "desc", sortType: "desc",
}, },
{ {
title: "投诉主题", title: "投诉主题",
key: "complainTopic", key: "complainTopic",
minWidth: 120,
}, },
{ {
title: "投诉时间", title: "投诉时间",
key: "createTime", key: "createTime",
minWidth: 120,
}, },
{ {
title: "投诉状态", title: "投诉状态",
key: "complainStatus", key: "complainStatus",
minWidth: 120,
render: (h, params) => { render: (h, params) => {
if (params.row.complainStatus == "NEW") { if (params.row.complainStatus == "NEW") {
return h('div', [h('span', { }, '新投诉'),]); return h('div', [h('span', { }, '新投诉'),]);
@ -206,7 +210,7 @@
title: "操作", title: "操作",
key: "action", key: "action",
align: "center", align: "center",
width: 200, width: 120,
render: (h, params) => { render: (h, params) => {
if(params.row.complainStatus === "COMPLETE"){ if(params.row.complainStatus === "COMPLETE"){
return h("div", [ 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="margin-top: 5px;height: 90px; display: flex;">
<div style=""> <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>
<div style="margin-left: 13px;margin-top: 3px;"> <div style="margin-left: 13px;">
<div class="div-zoom"> <div class="div-zoom">
<a>{{scope.row.goodsName}}</a> <a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a>
</div> </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>
</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="margin-top: 5px;height: 90px; display: flex;">
<div style=""> <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>
<div style="margin-left: 13px;margin-top: 3px;"> <div style="margin-left: 13px;">
<div class="div-zoom"> <div class="div-zoom">
<a>{{scope.row.goodsName}}</a> <a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a>
</div> </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>
</div> </div>

View File

@ -115,23 +115,27 @@
<Card> <Card>
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom"> <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="margin-top: 5px; height: 80px; display: flex">
<div style=""> <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>
<div style="margin-left: 13px"> <div style="margin-left: 13px">
<div class="div-zoom"> <div class="div-zoom">
<a>{{ scope.row.goodsName }}</a> <a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a>
</div> </div>
<div> <span v-for="(item, key) in JSON.parse(row.specs)">
<span v-for="(item, key) in JSON.parse(scope.row.specs)">
<span v-show="key!='images'" style="font-size: 12px;color: #999999;"> <span v-show="key!='images'" style="font-size: 12px;color: #999999;">
{{key}} : {{item}} {{key}} : {{item}}
</span> </span>
</span> </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> </div>
<img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt="">
</Poptip>
</div> </div>
</div> </div>
</template> </template>