合并master
commit
38dc952a07
|
@ -147,13 +147,11 @@ export default {
|
|||
},
|
||||
watch: {
|
||||
id: {
|
||||
immediate: true,
|
||||
handler: function (v) {
|
||||
console.log(v);
|
||||
if (v) {
|
||||
this.getAddrById(v);
|
||||
} else {
|
||||
this.formData = {}
|
||||
this.formData = {isDefault: false}
|
||||
this.$refs.form.resetFields();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,10 +17,15 @@ 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'
|
||||
},
|
||||
api_prod: {
|
||||
common: 'https://common-api.pickmall.cn',
|
||||
|
|
|
@ -44,7 +44,6 @@
|
|||
<div>
|
||||
<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>
|
||||
<Icon class="customer-service" custom="icomoon icon-customer-service" />
|
||||
</div>
|
||||
<span class="shop-coupon" v-if="shop.couponList.length" :class="couponAvailable === index ? 'shop-coupon-show' : ''" @click.stop="showCoupon(shop.id, index)">
|
||||
<!-- 优惠券模态框 -->
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
|
||||
<div>
|
||||
<span @click="shopPage(order.storeId)">{{ order.storeName }}</span
|
||||
> <Icon custom="icomoon icon-customer-service" />
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<!-- 订单基础操作 -->
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
<!-- 订单商品 -->
|
||||
<div class="goods">
|
||||
<div class="shop-name">
|
||||
<span @click="shopPage(order.order.storeId)">{{ order.order.storeName }}</span> <Icon custom="icomoon icon-customer-service" />
|
||||
<span @click="shopPage(order.order.storeId)">{{ order.order.storeName }}</span>
|
||||
</div>
|
||||
<table>
|
||||
<thead>
|
||||
|
|
|
@ -63,14 +63,13 @@
|
|||
<div class="shop-name">
|
||||
<span>
|
||||
<span class="hover-color" @click="goShopPage(shop.storeId)">{{shop.storeName}}</span>
|
||||
<Icon class="hover-color" custom="icomoon icon-customer-service" />
|
||||
</span>
|
||||
<span>
|
||||
<!-- <span>
|
||||
<p style="width:120px">配送方式:</p>
|
||||
<Select v-model="shop.deliveryMethod" size="small">
|
||||
<Option v-for="item in deliveryList" :value="item.value" :key="item.value">{{ item.label }}</Option>
|
||||
</Select>
|
||||
</span>
|
||||
</span> -->
|
||||
</div>
|
||||
<div class="goods-list">
|
||||
<div class="goods-item" v-for="(goods,goodsIndex) in shop.skuList" :key="goodsIndex">
|
||||
|
@ -200,7 +199,7 @@ export default {
|
|||
// {value: 'LOCAL_TOWN_DELIVERY', label: '同城配送'}
|
||||
],
|
||||
addressList: [], // 地址列表
|
||||
selectedAddress: {}, // 所选地址的id
|
||||
selectedAddress: {}, // 所选地址
|
||||
goodsList: [], // 商品列表
|
||||
priceDetailDTO: {}, // 商品价格
|
||||
totalNum: 0, // 购买数量
|
||||
|
@ -227,7 +226,6 @@ export default {
|
|||
methods: {
|
||||
init () {
|
||||
this.getGoodsDetail();
|
||||
this.getAddress();
|
||||
},
|
||||
goAddressManage () { // 跳转地址管理页面
|
||||
this.$router.push('/home/MyAddress');
|
||||
|
@ -236,8 +234,10 @@ export default {
|
|||
memberAddress().then(res => {
|
||||
if (res.success) {
|
||||
this.addressList = res.result.records;
|
||||
this.addressList.forEach((e) => {
|
||||
if (e.isDefault) this.selectedAddress = e;
|
||||
this.addressList.forEach((e, index) => {
|
||||
if (e.id === this.selectedAddress.id && index > 2) {
|
||||
this.moreAddr = true
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
@ -250,13 +250,30 @@ export default {
|
|||
this.goodsList = res.result.cartList;
|
||||
this.priceDetailDTO = res.result.priceDetailDTO;
|
||||
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;
|
||||
for (let i = 0; i < this.skuList.length; i++) {
|
||||
this.totalNum += this.skuList[i].num;
|
||||
}
|
||||
this.getCouponNum()
|
||||
}
|
||||
}).catch(() => { this.$Spin.hide(); });
|
||||
}).catch(() => { this.$Spin.hide() });
|
||||
},
|
||||
getCouponNum () { // 获取可用优惠券数量
|
||||
couponNum({way: this.$route.query.way}).then(res => {
|
||||
|
|
|
@ -269,11 +269,12 @@ export default {
|
|||
});
|
||||
},
|
||||
selectedRegion (item) {
|
||||
console.log(item);
|
||||
// 地址选择回显
|
||||
this.$set(this.form, 'storeAddressIdPath', item[0].toString());
|
||||
this.$set(
|
||||
this.form,
|
||||
'companyAddressPath',
|
||||
'storeAddressPath',
|
||||
item[1].toString().replace(/\s/g, '')
|
||||
);
|
||||
},
|
||||
|
|
|
@ -11,7 +11,7 @@ import App from './App'
|
|||
import { router } from './router/index'
|
||||
import store from './store'
|
||||
import i18n from '@/locale'
|
||||
|
||||
import vueQr from 'vue-qr'
|
||||
import { getRequest, postRequest, putRequest, deleteRequest, importRequest, uploadFileRequest } from '@/libs/axios'
|
||||
import { setStore, getStore, removeStore } from '@/libs/storage'
|
||||
import util from '@/libs/util'
|
||||
|
@ -22,6 +22,12 @@ import liliDialog from '@/views/lili-dialog'
|
|||
import {md5} from '@/utils/md5.js';
|
||||
Vue.config.devtools = true;
|
||||
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, {
|
||||
error: require('./assets/img-error.png'),
|
||||
loading: require('./assets/loading2.gif')
|
||||
|
@ -31,6 +37,7 @@ Vue.use(ViewUI, {
|
|||
});
|
||||
|
||||
Vue.component('liliDialog',liliDialog)
|
||||
Vue.component(vueQr)
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -21,7 +21,21 @@
|
|||
<Button @click="delAll">批量删除</Button>
|
||||
</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 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>
|
||||
|
@ -84,7 +98,7 @@ export default {
|
|||
},
|
||||
{
|
||||
title: "商品名称",
|
||||
key: "goodsName",
|
||||
slot: "goodsName",
|
||||
minWidth: 200,
|
||||
tooltip: true
|
||||
},
|
||||
|
@ -99,7 +113,6 @@ export default {
|
|||
{
|
||||
title: "库存",
|
||||
key: "quantity",
|
||||
minWidth: 80
|
||||
},
|
||||
{
|
||||
title: "添加时间",
|
||||
|
@ -109,13 +122,11 @@ export default {
|
|||
{
|
||||
title: "店铺名称",
|
||||
key: "storeName",
|
||||
minWidth: 120,
|
||||
tooltip: true
|
||||
},
|
||||
{
|
||||
title: "佣金金额",
|
||||
key: "commission",
|
||||
minWidth: 120,
|
||||
sortable: false,
|
||||
render: (h, params) => {
|
||||
return h("div", this.$options.filters.unitPrice(params.row.commission,'¥'));
|
||||
|
|
|
@ -262,24 +262,24 @@
|
|||
};
|
||||
},
|
||||
methods: {
|
||||
init() {
|
||||
init() { // 初始化数据
|
||||
this.getDataList();
|
||||
},
|
||||
changePage(v) {
|
||||
changePage(v) { // 改变页码
|
||||
this.searchForm.pageNumber = v;
|
||||
this.getDataList();
|
||||
this.clearSelectAll();
|
||||
},
|
||||
changePageSize(v) {
|
||||
changePageSize(v) { // 改变每页数量
|
||||
this.searchForm.pageSize = v;
|
||||
this.getDataList();
|
||||
},
|
||||
handleSearch() {
|
||||
handleSearch() { // 搜索
|
||||
this.searchForm.pageNumber = 1;
|
||||
this.searchForm.pageSize = 10;
|
||||
this.getDataList();
|
||||
},
|
||||
changeSort(e) {
|
||||
changeSort(e) { // 排序
|
||||
this.searchForm.sort = e.key;
|
||||
this.searchForm.order = e.order;
|
||||
if (e.order === "normal") {
|
||||
|
@ -287,14 +287,14 @@
|
|||
}
|
||||
this.getDataList();
|
||||
},
|
||||
clearSelectAll() {
|
||||
clearSelectAll() { // 取消全部选中
|
||||
this.$refs.table.selectAll(false);
|
||||
},
|
||||
changeSelect(e) {
|
||||
changeSelect(e) { // 选中一项
|
||||
this.selectList = e;
|
||||
this.selectCount = e.length;
|
||||
},
|
||||
getDataList() {
|
||||
getDataList() { // 获取列表数据
|
||||
this.loading = true;
|
||||
// 带多条件搜索参数获取表单数据
|
||||
this.searchForm.isAuth = 0;
|
||||
|
@ -306,7 +306,7 @@
|
|||
}
|
||||
});
|
||||
},
|
||||
examine(v, isAuth) {
|
||||
examine(v, isAuth) { // 审核商品
|
||||
let examine = "通过";
|
||||
this.goodsAuditForm.isAuth = "PASS";
|
||||
if (isAuth != 1) {
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
</div>
|
||||
<Footer />
|
||||
</Col>
|
||||
<LangSwitch />
|
||||
<!-- <LangSwitch /> -->
|
||||
</Row>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -87,16 +87,22 @@
|
|||
@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="">
|
||||
<img :src="scope.row.goodsImage" style="height: 60px;margin-top: 3px">
|
||||
<img :src="row.goodsImage" style="height: 60px;margin-top: 3px">
|
||||
</div>
|
||||
|
||||
<div style="margin-left: 13px;margin-top: 3px;">
|
||||
<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>
|
||||
<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>
|
||||
|
||||
|
|
|
@ -47,7 +47,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
|
||||
|
@ -167,7 +177,7 @@
|
|||
},
|
||||
{
|
||||
title: "商品名称",
|
||||
key: "goodsName",
|
||||
slot: "goodsName",
|
||||
minWidth: 170,
|
||||
tooltip: true
|
||||
|
||||
|
@ -175,7 +185,6 @@
|
|||
{
|
||||
title: "投诉主题",
|
||||
key: "complainTopic",
|
||||
minWidth: 120,
|
||||
tooltip: true
|
||||
},
|
||||
{
|
||||
|
|
|
@ -158,26 +158,30 @@
|
|||
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"
|
||||
: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-for="(item, key) in JSON.parse(row.specs)">
|
||||
<span v-show="key!='images'" style="font-size: 12px;color: #999999;">
|
||||
{{key}} : {{item}}
|
||||
</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>
|
||||
<img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt="">
|
||||
</Poptip>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -225,7 +225,6 @@ export default {
|
|||
{
|
||||
title: "状态",
|
||||
key: "promotionStatus",
|
||||
minWidth: 100,
|
||||
fixed: "right",
|
||||
render: (h, params) => {
|
||||
let text = "未知",
|
||||
|
|
|
@ -156,13 +156,16 @@
|
|||
:data="form.promotionGoodsList"
|
||||
@on-selection-change="changeSelect"
|
||||
>
|
||||
<template slot-scope="{ row }" slot="QRCode">
|
||||
<img
|
||||
:src="row.QRCode || '../../../assets/lili.png'"
|
||||
width="50px"
|
||||
height="50px"
|
||||
alt=""
|
||||
/>
|
||||
<template slot-scope="{ row }" slot="goodsName">
|
||||
<div>
|
||||
<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:middle;" class="hover-pointer" width="20" height="20" alt="">
|
||||
</Poptip>
|
||||
</div>
|
||||
</template>
|
||||
</Table>
|
||||
</FormItem>
|
||||
|
@ -201,7 +204,7 @@ export default {
|
|||
},
|
||||
{
|
||||
title: "商品名称",
|
||||
key: "goodsName",
|
||||
slot: "goodsName",
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
|
@ -215,20 +218,11 @@ export default {
|
|||
);
|
||||
},
|
||||
},
|
||||
{
|
||||
title: "图片",
|
||||
key: "quantity",
|
||||
minWidth: 40,
|
||||
},
|
||||
{
|
||||
title: "库存",
|
||||
key: "quantity",
|
||||
minWidth: 40,
|
||||
},
|
||||
// {
|
||||
// title: "商品二维码",
|
||||
// slot: "QRCode",
|
||||
// },
|
||||
}
|
||||
],
|
||||
options: {
|
||||
disabledDate(date) {
|
||||
|
|
|
@ -22,17 +22,17 @@
|
|||
@on-selection-change="changeSelect"
|
||||
>
|
||||
<template slot-scope="{ row }" slot="goodsName">
|
||||
<span>{{ row.goodsName }}</span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="QRCode">
|
||||
<Button @click="toBuyerGoods(row)" type="info">商品链接地址</Button>
|
||||
<Button
|
||||
v-if="row.QRCode != null"
|
||||
type="success"
|
||||
@click="viewImg(row.QRCode)"
|
||||
>查看二维码</Button
|
||||
>
|
||||
<div>
|
||||
<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:middle;" class="hover-pointer" width="20" height="20" alt="">
|
||||
</Poptip>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</Table>
|
||||
</Row>
|
||||
<Row type="flex" justify="end" class="page operation">
|
||||
|
|
|
@ -70,8 +70,14 @@
|
|||
ref="table"
|
||||
>
|
||||
<template slot-scope="{ row }" slot="goodsName">
|
||||
<div class="div-zoom" >
|
||||
<a>{{ row.goodsSku.goodsName }}</a>
|
||||
<div>
|
||||
<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>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="price">
|
||||
|
@ -83,6 +89,11 @@
|
|||
<template slot-scope="{ row }" slot="quantity">
|
||||
<div>{{ row.goodsSku.quantity }}</div>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="startTime">
|
||||
<div>{{ row.startTime }}</div>
|
||||
<div>{{ row.endTime }}</div>
|
||||
</template>
|
||||
|
||||
<template slot-scope="{ row }" slot="action">
|
||||
<Button
|
||||
v-if="row.promotionStatus == 'NEW'"
|
||||
|
@ -166,52 +177,39 @@ export default {
|
|||
{
|
||||
title: "市场价",
|
||||
slot: "price",
|
||||
minWidth: 60,
|
||||
},
|
||||
{
|
||||
title: "结算价",
|
||||
slot: "settlementPrice",
|
||||
minWidth: 60,
|
||||
},
|
||||
{
|
||||
title: "分类",
|
||||
key: "pointsGoodsCategoryName",
|
||||
minWidth: 60,
|
||||
},
|
||||
{
|
||||
title: "库存数量",
|
||||
slot: "quantity",
|
||||
minWidth: 60,
|
||||
},
|
||||
{
|
||||
title: "活动剩余库存",
|
||||
key: "activeStock",
|
||||
minWidth:90,
|
||||
},
|
||||
{
|
||||
title: "兑换积分",
|
||||
key: "points",
|
||||
minWidth: 60,
|
||||
},
|
||||
{
|
||||
title: "所属店铺",
|
||||
key: "storeName",
|
||||
minWidth: 60,
|
||||
},
|
||||
{
|
||||
title: "活动开始时间",
|
||||
key: "startTime",
|
||||
minWidth: 140,
|
||||
},
|
||||
{
|
||||
title: "活动结束时间",
|
||||
key: "endTime",
|
||||
minWidth: 140,
|
||||
slot: "startTime",
|
||||
minWidth:100
|
||||
},
|
||||
{
|
||||
title: "状态",
|
||||
key: "promotionStatus",
|
||||
minWidth: 60,
|
||||
render: (h, params) => {
|
||||
let text = "未知",
|
||||
color = "";
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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}`
|
||||
|
|
|
@ -88,6 +88,9 @@ ul,li{
|
|||
text-overflow:ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.hover-pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/*
|
||||
* @Author: LMR
|
||||
|
|
|
@ -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>
|
||||
<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>
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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", [
|
||||
|
|
|
@ -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 style="margin-left: 13px;">
|
||||
<div class="div-zoom">
|
||||
<a>{{scope.row.goodsName}}</a>
|
||||
<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>
|
||||
|
||||
|
|
|
@ -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 style="margin-left: 13px;">
|
||||
<div class="div-zoom">
|
||||
<a>{{scope.row.goodsName}}</a>
|
||||
<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>
|
||||
|
||||
|
|
|
@ -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-for="(item, key) in JSON.parse(row.specs)">
|
||||
<span v-show="key!='images'" style="font-size: 12px;color: #999999;">
|
||||
{{key}} : {{item}}
|
||||
</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>
|
||||
<img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt="">
|
||||
</Poptip>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
Loading…
Reference in New Issue