Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui
commit
9e9abe9e1e
|
@ -56,7 +56,7 @@
|
||||||
<Rate disabled :value="Number(item.descriptionScore)" allow-half class="remarks-star"></Rate>
|
<Rate disabled :value="Number(item.descriptionScore)" allow-half class="remarks-star"></Rate>
|
||||||
</p>
|
</p>
|
||||||
<p class="remarks-content">{{item.content}}</p>
|
<p class="remarks-content">{{item.content}}</p>
|
||||||
<div class="comment-img" v-if="item.haveImage">
|
<div class="comment-img" v-if="item.image">
|
||||||
<div v-for="(img, imgIndex) in item.image.split(',')"
|
<div v-for="(img, imgIndex) in item.image.split(',')"
|
||||||
@click="previewImg(img, item)"
|
@click="previewImg(img, item)"
|
||||||
:class="{borderColor:img === item.previewImg}"
|
:class="{borderColor:img === item.previewImg}"
|
||||||
|
|
|
@ -17,15 +17,15 @@ export default {
|
||||||
* @description api请求基础路径
|
* @description api请求基础路径
|
||||||
*/
|
*/
|
||||||
api_dev: {
|
api_dev: {
|
||||||
common: 'http://192.168.0.100:8890',
|
// common: 'http://192.168.0.103:8890',
|
||||||
buyer: 'http://192.168.0.100:8888',
|
// buyer: 'http://192.168.0.103:8888',
|
||||||
seller: 'http://192.168.0.100:8889',
|
// seller: 'http://192.168.0.103:8889',
|
||||||
manager: 'http://192.168.0.100:8887'
|
// manager: 'http://192.168.0.103:8887'
|
||||||
|
|
||||||
// common: 'https://common-api.pickmall.cn',
|
common: 'https://common-api.pickmall.cn',
|
||||||
// buyer: 'https://buyer-api.pickmall.cn',
|
buyer: 'https://buyer-api.pickmall.cn',
|
||||||
// seller: 'https://store-api.pickmall.cn',
|
seller: 'https://store-api.pickmall.cn',
|
||||||
// manager: 'https://admin-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',
|
||||||
|
|
|
@ -119,7 +119,7 @@
|
||||||
<div class="ml_20 total-price">
|
<div class="ml_20 total-price">
|
||||||
总价(不含运费):<span>{{ priceDetailDTO.billPrice | unitPrice("¥") }}</span>
|
总价(不含运费):<span>{{ priceDetailDTO.billPrice | unitPrice("¥") }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="pay ml_20" @click="pay">去支付</div>
|
<div class="pay ml_20" @click="pay">去结算</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<BreadcrumbItem v-for="(item, index) in categoryBar" :to="goGoodsList(index)" target="_blank" :key="index">{{item.name}}</BreadcrumbItem>
|
<BreadcrumbItem v-for="(item, index) in categoryBar" :to="goGoodsList(index)" target="_blank" :key="index">{{item.name}}</BreadcrumbItem>
|
||||||
</Breadcrumb>
|
</Breadcrumb>
|
||||||
<div class="store-collect">
|
<div class="store-collect">
|
||||||
<span class="mr_10"><router-link :to="'Merchant?id='+goodsMsg.data.storeId">{{goodsMsg.data.storeName}}</router-link></span>
|
<span class="mr_10"><router-link :to="'Merchant?id=' + goodsMsg.data.storeId">{{goodsMsg.data.storeName}}</router-link></span>
|
||||||
<span @click="collect" ><Icon type="ios-heart" :color="storeCollected ? '#ed3f14' : '#666'" />{{storeCollected?'已收藏店铺':'收藏店铺'}}</span>
|
<span @click="collect" ><Icon type="ios-heart" :color="storeCollected ? '#ed3f14' : '#666'" />{{storeCollected?'已收藏店铺':'收藏店铺'}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -157,11 +157,11 @@ export default {
|
||||||
window.open(routeUrl.href, '_blank');
|
window.open(routeUrl.href, '_blank');
|
||||||
},
|
},
|
||||||
changePageNum (val) {
|
changePageNum (val) {
|
||||||
this.params.pageNumber = val - 1;
|
this.params.pageNumber = val;
|
||||||
this.getGoodsList();
|
this.getGoodsList();
|
||||||
},
|
},
|
||||||
changePageSize (val) {
|
changePageSize (val) {
|
||||||
this.params.pageNumber = 0;
|
this.params.pageNumber = 1;
|
||||||
this.params.pageSize = val;
|
this.params.pageSize = val;
|
||||||
this.getGoodsList();
|
this.getGoodsList();
|
||||||
},
|
},
|
||||||
|
|
|
@ -146,11 +146,11 @@ export default {
|
||||||
this.getGoodsList()
|
this.getGoodsList()
|
||||||
},
|
},
|
||||||
changePageNum (val) {
|
changePageNum (val) {
|
||||||
this.params.pageNumber = val - 1;
|
this.params.pageNumber = val;
|
||||||
this.getGoodsList();
|
this.getGoodsList();
|
||||||
},
|
},
|
||||||
changePageSize (val) {
|
changePageSize (val) {
|
||||||
this.params.pageNumber = 0;
|
this.params.pageNumber = 1;
|
||||||
this.params.pageSize = val;
|
this.params.pageSize = val;
|
||||||
this.getGoodsList();
|
this.getGoodsList();
|
||||||
},
|
},
|
||||||
|
|
|
@ -22,10 +22,10 @@
|
||||||
</div>
|
</div>
|
||||||
<Row class="order-item-view">
|
<Row class="order-item-view">
|
||||||
<i-col span="12" class="item-view-name">
|
<i-col span="12" class="item-view-name">
|
||||||
<div class="order-img">
|
<div class="order-img hover-color" @click="linkTo(`/goodsDetail?goodsId=${item.goodsId}&skuId=${item.skuId}`)">
|
||||||
<img :src="item.goodsImage" alt="" />
|
<img :src="item.goodsImage" alt="" />
|
||||||
</div>
|
</div>
|
||||||
<div class="order-name">
|
<div class="order-name hover-color" @click="linkTo(`/goodsDetail?goodsId=${item.goodsId}&skuId=${item.skuId}`)">
|
||||||
{{item.goodsName}}
|
{{item.goodsName}}
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
<table cellspacing="0" cellpadding='0' border="1">
|
<table cellspacing="0" cellpadding='0' border="1">
|
||||||
<tr>
|
<tr>
|
||||||
<td>投诉商品</td>
|
<td>投诉商品</td>
|
||||||
<td><img :src="detail.goodsImage" width="60" alt=""> {{ detail.goodsName }}</td>
|
<td class="hover-color" @click="linkTo(`/goodsDetail?goodsId=${detail.goodsId}&skuId=${detail.skuId}`)"><img :src="detail.goodsImage" width="60" alt=""> {{ detail.goodsName }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>投诉主题</td>
|
<td>投诉主题</td>
|
||||||
|
|
|
@ -23,10 +23,10 @@
|
||||||
</div>
|
</div>
|
||||||
<Row class="order-item-view">
|
<Row class="order-item-view">
|
||||||
<i-col span="12" class="item-view-name">
|
<i-col span="12" class="item-view-name">
|
||||||
<div class="order-img">
|
<div class="order-img hover-color" @click="linkTo(`/goodsDetail?goodsId=${item.goodsId}&skuId=${item.skuId}`)">
|
||||||
<img :src="item.goodsImage" alt="" />
|
<img :src="item.goodsImage" alt="" />
|
||||||
</div>
|
</div>
|
||||||
<div class="order-name">
|
<div class="order-name hover-color" @click="linkTo(`/goodsDetail?goodsId=${item.goodsId}&skuId=${item.skuId}`)">
|
||||||
{{item.goodsName}}
|
{{item.goodsName}}
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -35,8 +35,8 @@
|
||||||
<Input type="textarea" maxlength="500" readonly show-word-limit :rows="4" v-model="orderGoods.content" />
|
<Input type="textarea" maxlength="500" readonly show-word-limit :rows="4" v-model="orderGoods.content" />
|
||||||
</div>
|
</div>
|
||||||
<div style="display:flex;align-items:center;">
|
<div style="display:flex;align-items:center;">
|
||||||
<template v-if="orderGoods.image">
|
<template v-if="orderGoods.images">
|
||||||
<div class="demo-upload-list" v-for="(img, index) in orderGoods.image.split(',')" :key="index">
|
<div class="demo-upload-list" v-for="(img, index) in orderGoods.images.split(',')" :key="index">
|
||||||
<img :src="img">
|
<img :src="img">
|
||||||
<div class="demo-upload-list-cover">
|
<div class="demo-upload-list-cover">
|
||||||
<Icon type="ios-eye-outline" @click.native="handleView(img)"></Icon>
|
<Icon type="ios-eye-outline" @click.native="handleView(img)"></Icon>
|
||||||
|
|
|
@ -56,16 +56,22 @@
|
||||||
>
|
>
|
||||||
|
|
||||||
<!-- 商品栏目格式化 -->
|
<!-- 商品栏目格式化 -->
|
||||||
<template slot="goodsSlot" slot-scope="scope">
|
<template slot="goodsSlot" slot-scope="{row}">
|
||||||
<div style="margin: 5px 0px;height: 80px; display: flex;">
|
<div style="margin: 5px 0px;height: 80px; display: flex;">
|
||||||
<div style="">
|
<div style="">
|
||||||
<img :src="scope.row.original" style="height: 60px;margin-top: 1px;width: 60px">
|
<img :src="row.original" 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.id,row.skuId)">{{row.goodsName}}</a>
|
||||||
</div>
|
</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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -244,6 +244,7 @@ export default {
|
||||||
//弹出品牌关联框
|
//弹出品牌关联框
|
||||||
brandOperation(v) {
|
brandOperation(v) {
|
||||||
getCategoryBrandListData(v.id).then((res) => {
|
getCategoryBrandListData(v.id).then((res) => {
|
||||||
|
console.warn(res)
|
||||||
this.categoryId = v.id;
|
this.categoryId = v.id;
|
||||||
this.modalBrandTitle = "品牌关联";
|
this.modalBrandTitle = "品牌关联";
|
||||||
this.brandForm.categoryBrands = res.result.map((item) => item.id);
|
this.brandForm.categoryBrands = res.result.map((item) => item.id);
|
||||||
|
|
|
@ -31,9 +31,7 @@
|
||||||
</p>
|
</p>
|
||||||
<template v-if="group.params && group.params.length > 0">
|
<template v-if="group.params && group.params.length > 0">
|
||||||
<div v-for="param in group.params" :key="param.param_id" class="params">
|
<div v-for="param in group.params" :key="param.param_id" class="params">
|
||||||
<span>{{ param.paramName }} 【{{
|
<span>{{ param.paramName }}</span>
|
||||||
param.paramType | paramTypeFilter
|
|
||||||
}}】</span>
|
|
||||||
|
|
||||||
<span>
|
<span>
|
||||||
<i-button type="text" @click="handleEditParams(group, param)">编辑</i-button>
|
<i-button type="text" @click="handleEditParams(group, param)">编辑</i-button>
|
||||||
|
@ -56,19 +54,30 @@
|
||||||
<FormItem label="参数名称" prop="paramName">
|
<FormItem label="参数名称" prop="paramName">
|
||||||
<Input v-model="paramForm.paramName" style="width: 100%" />
|
<Input v-model="paramForm.paramName" style="width: 100%" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="参数类型" prop="paramType">
|
<FormItem label="可选值" prop="options">
|
||||||
<Select :loading="userLoading" v-model="paramForm.paramType">
|
<Select
|
||||||
<Option :value="1" :key="1">输入项</Option>
|
v-model="paramForm.options"
|
||||||
<Option :value="2" :key="2">选择项</Option>
|
placeholder="输入后回车添加"
|
||||||
|
multiple
|
||||||
|
filterable
|
||||||
|
allow-create
|
||||||
|
:popper-append-to-body="false"
|
||||||
|
popper-class="spec-values-popper"
|
||||||
|
style="width: 100%; text-align: left; margin-right: 10px"
|
||||||
|
>
|
||||||
|
<Option
|
||||||
|
v-for="item in ops"
|
||||||
|
:value="item"
|
||||||
|
:key="item"
|
||||||
|
:label="item"
|
||||||
|
>
|
||||||
|
{{item}}
|
||||||
|
</Option>
|
||||||
</Select>
|
</Select>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="可选值" prop="options">
|
|
||||||
<i-input v-model="paramForm.options" type="textarea" :rows="3" placeholder="请输入可选值,选择项实用逗号分隔"></i-input>
|
|
||||||
</FormItem>
|
|
||||||
|
|
||||||
<FormItem label="选项" prop="specName3">
|
<FormItem label="选项" prop="specName3">
|
||||||
<Checkbox :value="Number" v-model="paramForm.required">必填</Checkbox>
|
<Checkbox label=1 v-model="paramForm.required">必填</Checkbox>
|
||||||
<Checkbox v-model="paramForm.isIndex">可索引</Checkbox>
|
<Checkbox label=1 v-model="paramForm.isIndex">可索引</Checkbox>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
||||||
|
@ -127,6 +136,10 @@ export default {
|
||||||
paramId: "",
|
paramId: "",
|
||||||
//参数表单
|
//参数表单
|
||||||
paramForm: {},
|
paramForm: {},
|
||||||
|
/** 参数值 **/
|
||||||
|
ops:{
|
||||||
|
options: []
|
||||||
|
},
|
||||||
paramGroupForm: {},
|
paramGroupForm: {},
|
||||||
/** 添加、编辑参数 规格 */
|
/** 添加、编辑参数 规格 */
|
||||||
formValidate: {
|
formValidate: {
|
||||||
|
@ -170,14 +183,15 @@ export default {
|
||||||
handleEditParams(group, param) {
|
handleEditParams(group, param) {
|
||||||
this.paramForm = {
|
this.paramForm = {
|
||||||
paramName: param.paramName,
|
paramName: param.paramName,
|
||||||
paramType: param.paramType,
|
options: param.options.split(","),
|
||||||
options: param.options,
|
required: param.required==1?true:false,
|
||||||
required: param.required,
|
isIndex: param.isIndex==1?true:false,
|
||||||
isIndex: param.isIndex,
|
|
||||||
groupId: group.groupId,
|
groupId: group.groupId,
|
||||||
categoryId: this.categoryId,
|
categoryId: this.categoryId,
|
||||||
id: param.id,
|
id: param.id,
|
||||||
};
|
};
|
||||||
|
console.warn(this.paramForm.options)
|
||||||
|
this.ops = this.paramForm.options
|
||||||
this.modalType = 1;
|
this.modalType = 1;
|
||||||
this.modalTitle = "修改参数";
|
this.modalTitle = "修改参数";
|
||||||
this.dialogParamsVisible = true;
|
this.dialogParamsVisible = true;
|
||||||
|
@ -194,7 +208,14 @@ export default {
|
||||||
this.dialogParamsGroupVisible = true;
|
this.dialogParamsGroupVisible = true;
|
||||||
},
|
},
|
||||||
handleAddParamsGroup() {
|
handleAddParamsGroup() {
|
||||||
|
this.paramGroupForm = {
|
||||||
|
|
||||||
|
};
|
||||||
|
this.ops = {
|
||||||
|
|
||||||
|
};
|
||||||
(this.paramGroupForm.categoryId = this.categoryId), (this.modalType = 0);
|
(this.paramGroupForm.categoryId = this.categoryId), (this.modalType = 0);
|
||||||
|
|
||||||
this.modalTitle = "添加参数组";
|
this.modalTitle = "添加参数组";
|
||||||
this.dialogParamsGroupVisible = true;
|
this.dialogParamsGroupVisible = true;
|
||||||
},
|
},
|
||||||
|
@ -212,6 +233,7 @@ export default {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
console.warn(this.paramGroupForm)
|
||||||
updateParamsGroup(this.paramGroupForm).then((res) => {
|
updateParamsGroup(this.paramGroupForm).then((res) => {
|
||||||
this.submitLoading = false;
|
this.submitLoading = false;
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
|
@ -242,6 +264,7 @@ export default {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
console.warn(this.paramForm.isIndex)
|
||||||
this.paramForm.isIndex = Number(this.paramForm.isIndex);
|
this.paramForm.isIndex = Number(this.paramForm.isIndex);
|
||||||
this.paramForm.required = Number(this.paramForm.required);
|
this.paramForm.required = Number(this.paramForm.required);
|
||||||
updateGoodsParams(this.paramForm).then((res) => {
|
updateGoodsParams(this.paramForm).then((res) => {
|
||||||
|
|
|
@ -63,14 +63,13 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="div-form-default" v-if="afterSaleInfo.serviceStatus=='APPLY'">
|
<div class="div-form-default" v-if="afterSaleInfo.serviceStatus=='APPLY'">
|
||||||
<h3>商家处理意见</h3>
|
<h3>处理意见</h3>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>商家</dt>
|
<dt>商家</dt>
|
||||||
<dd>
|
<dd>
|
||||||
<div class="div-content">
|
<div class="div-content">
|
||||||
{{afterSaleInfo.storeName}}
|
{{afterSaleInfo.storeName}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
|
@ -86,9 +85,18 @@
|
||||||
</Radio>
|
</Radio>
|
||||||
</RadioGroup>
|
</RadioGroup>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>申请退款金额</dt>
|
||||||
|
<dd>{{ afterSaleInfo.applyRefundPrice | unitPrice('¥') }}</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>实际退款金额</dt>
|
||||||
|
<dd>
|
||||||
|
<Input v-model="params.actualRefundPrice" style="width:260px"/>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>备注信息</dt>
|
<dt>备注信息</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
@ -169,7 +177,7 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!--"-->
|
<!--"-->
|
||||||
<div class="div-form-default" v-if="afterSaleInfo.afterSaleAllowOperationVO.refund">
|
<div class="div-form-default" v-if="afterSaleInfo.afterSaleAllowOperationVO && afterSaleInfo.afterSaleAllowOperationVO.refund">
|
||||||
<h3>平台退款</h3>
|
<h3>平台退款</h3>
|
||||||
|
|
||||||
<dl>
|
<dl>
|
||||||
|
@ -438,10 +446,10 @@ export default {
|
||||||
this.afterSaleInfo = res.result;
|
this.afterSaleInfo = res.result;
|
||||||
this.afterSaleImage = (res.result.afterSaleImage || "").split(",");
|
this.afterSaleImage = (res.result.afterSaleImage || "").split(",");
|
||||||
//退货地址去掉逗号
|
//退货地址去掉逗号
|
||||||
this.afterSaleInfo.mconsigneeAddressPath = this.afterSaleInfo.mconsigneeAddressPath.replaceAll(
|
if (this.afterSaleInfo.mconsigneeAddressPath)
|
||||||
",",
|
this.afterSaleInfo.mconsigneeAddressPath = this.afterSaleInfo.mconsigneeAddressPath.replaceAll(","," ");
|
||||||
" "
|
|
||||||
);
|
this.$set(this.params,'actualRefundPrice', this.afterSaleInfo.applyRefundPrice)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -538,6 +546,10 @@ export default {
|
||||||
this.$Message.error("请输入备注信息");
|
this.$Message.error("请输入备注信息");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (this.params.actualRefundPrice == "") {
|
||||||
|
this.$Message.error("请输入退款金额");
|
||||||
|
return;
|
||||||
|
}
|
||||||
API_Order.afterSaleSellerReview(this.sn, this.params).then((res) => {
|
API_Order.afterSaleSellerReview(this.sn, this.params).then((res) => {
|
||||||
this.submitLoading = false;
|
this.submitLoading = false;
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
|
|
|
@ -22,10 +22,10 @@ export default {
|
||||||
buyer: 'https://buyer-api.pickmall.cn',
|
buyer: 'https://buyer-api.pickmall.cn',
|
||||||
seller: 'https://store-api.pickmall.cn',
|
seller: 'https://store-api.pickmall.cn',
|
||||||
manager: 'https://admin-api.pickmall.cn'
|
manager: 'https://admin-api.pickmall.cn'
|
||||||
// common: 'http://192.168.0.100:8890',
|
// common: 'http://192.168.0.103:8890',
|
||||||
// buyer: 'http://192.168.0.100:8888',
|
// buyer: 'http://192.168.0.103:8888',
|
||||||
// seller: 'http://192.168.0.100:8889',
|
// seller: 'http://192.168.0.103:8889',
|
||||||
// manager: 'http://192.168.0.100:8887'
|
// manager: 'http://192.168.0.103:8887'
|
||||||
},
|
},
|
||||||
api_prod: {
|
api_prod: {
|
||||||
common: 'https://common-api.pickmall.cn',
|
common: 'https://common-api.pickmall.cn',
|
||||||
|
|
|
@ -39,16 +39,22 @@
|
||||||
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect">
|
<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: 90px; display: flex;">
|
<div style="margin-top: 5px;height: 90px; display: flex;">
|
||||||
<div style="">
|
<div style="">
|
||||||
<img :src="scope.row.original" style="height: 80px;margin-top: 3px;width: 70px">
|
<img :src="row.original" style="height: 80px;margin-top: 3px;width: 70px">
|
||||||
</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.id,row.skuId)">{{row.goodsName}}</a>
|
||||||
</div>
|
</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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -76,10 +82,10 @@
|
||||||
<Form ref="shipTemplateForm" :model="shipTemplateForm" :label-width="120">
|
<Form ref="shipTemplateForm" :model="shipTemplateForm" :label-width="120">
|
||||||
<FormItem class="form-item-view-el" label="运费" prop="freightPayer">
|
<FormItem class="form-item-view-el" label="运费" prop="freightPayer">
|
||||||
<RadioGroup type="button" button-style="solid" @on-change="logisticsTemplateUndertakerChange" v-model="shipTemplateForm.freightPayer">
|
<RadioGroup type="button" button-style="solid" @on-change="logisticsTemplateUndertakerChange" v-model="shipTemplateForm.freightPayer">
|
||||||
<Radio label="BUYER">
|
|
||||||
<span>买家承担运费</span>
|
|
||||||
</Radio>
|
|
||||||
<Radio label="STORE">
|
<Radio label="STORE">
|
||||||
|
<span>卖家承担运费</span>
|
||||||
|
</Radio>
|
||||||
|
<Radio label="BUYER">
|
||||||
<span>使用物流规则</span>
|
<span>使用物流规则</span>
|
||||||
</Radio>
|
</Radio>
|
||||||
</RadioGroup>
|
</RadioGroup>
|
||||||
|
@ -120,7 +126,7 @@ export default {
|
||||||
id: "", //要操作的id
|
id: "", //要操作的id
|
||||||
loading: true, // 表单加载状态
|
loading: true, // 表单加载状态
|
||||||
shipTemplateForm: {
|
shipTemplateForm: {
|
||||||
freightPayer: "BUYER",
|
freightPayer: "STORE",
|
||||||
},
|
},
|
||||||
shipTemplateShow: false, //物流模板是否显示
|
shipTemplateShow: false, //物流模板是否显示
|
||||||
shipTemplateModal: false, // 物流模板是否显示
|
shipTemplateModal: false, // 物流模板是否显示
|
||||||
|
@ -515,7 +521,7 @@ export default {
|
||||||
},
|
},
|
||||||
//保存运费模板信息
|
//保存运费模板信息
|
||||||
saveShipTemplate () {
|
saveShipTemplate () {
|
||||||
if (this.shipTemplateForm.freightPayer == "BUYER") {
|
if (this.shipTemplateForm.freightPayer == "STORE") {
|
||||||
{
|
{
|
||||||
this.shipTemplateForm.templateId = 0;
|
this.shipTemplateForm.templateId = 0;
|
||||||
}
|
}
|
||||||
|
@ -559,7 +565,7 @@ export default {
|
||||||
//运费承担者变化
|
//运费承担者变化
|
||||||
logisticsTemplateUndertakerChange(v) {
|
logisticsTemplateUndertakerChange(v) {
|
||||||
//如果是卖家承担运费 需要显示运费模板
|
//如果是卖家承担运费 需要显示运费模板
|
||||||
if (v == "STORE") {
|
if (v == "BUYER") {
|
||||||
API_Store.getShipTemplate().then((res) => {
|
API_Store.getShipTemplate().then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.logisticsTemplate = res.result;
|
this.logisticsTemplate = res.result;
|
||||||
|
@ -567,7 +573,7 @@ export default {
|
||||||
});
|
});
|
||||||
this.shipTemplateShow = true;
|
this.shipTemplateShow = true;
|
||||||
}
|
}
|
||||||
if (v == "BUYER") {
|
if (v == "STORE") {
|
||||||
this.shipTemplateShow = false;
|
this.shipTemplateShow = false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -576,13 +576,13 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="form-item-view-bottom">
|
<div class="form-item-view-bottom">
|
||||||
<Collapse
|
<Collapse
|
||||||
active-key="1"
|
v-model="show"
|
||||||
v-for="paramsgroup in goodsParams"
|
v-for="paramsgroup in goodsParams"
|
||||||
:title="paramsgroup.groupName"
|
:title="paramsgroup.groupName"
|
||||||
style="text-align: left"
|
style="text-align: left"
|
||||||
:key="paramsgroup.groupName"
|
:key="paramsgroup.groupName"
|
||||||
>
|
>
|
||||||
<Panel key="1">
|
<Panel key="1" name="1">
|
||||||
{{ paramsgroup.groupName }}
|
{{ paramsgroup.groupName }}
|
||||||
<p slot="content">
|
<p slot="content">
|
||||||
<FormItem
|
<FormItem
|
||||||
|
@ -592,25 +592,15 @@
|
||||||
:key="index"
|
:key="index"
|
||||||
:label="`${goodsParamsList.paramName}:`"
|
:label="`${goodsParamsList.paramName}:`"
|
||||||
>
|
>
|
||||||
<Input
|
|
||||||
v-if="goodsParamsList.paramType === 1"
|
|
||||||
type="text"
|
|
||||||
v-model="goodsParamsList.paramValue"
|
|
||||||
placeholder="长度为最多50个字符"
|
|
||||||
maxlength="50"
|
|
||||||
clearable
|
|
||||||
style="width: 260px"
|
|
||||||
/>
|
|
||||||
<Select
|
<Select
|
||||||
v-model="goodsParamsList.paramValue"
|
v-model="goodsParamsList.paramValue"
|
||||||
v-if="goodsParamsList.paramType === 2"
|
|
||||||
placeholder="请选择"
|
placeholder="请选择"
|
||||||
style="width: 200px"
|
style="width: 200px"
|
||||||
clearable
|
clearable
|
||||||
>
|
>
|
||||||
<Option
|
<Option
|
||||||
v-for="option in goodsParamsList.optionList"
|
v-for="option in goodsParamsList.optionList"
|
||||||
:key="option"
|
:key="option.paramValue"
|
||||||
:label="option"
|
:label="option"
|
||||||
:value="option"
|
:value="option"
|
||||||
></Option>
|
></Option>
|
||||||
|
@ -772,6 +762,7 @@ export default {
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
show: '1',
|
||||||
//提交状态
|
//提交状态
|
||||||
submitLoading: false,
|
submitLoading: false,
|
||||||
//上传图片路径
|
//上传图片路径
|
||||||
|
@ -1370,18 +1361,14 @@ export default {
|
||||||
(ij) => ij.paramName === elem.paramName
|
(ij) => ij.paramName === elem.paramName
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
if (elem.paramType === 2) {
|
elem.optionList = elem.options.split(",");
|
||||||
elem.optionList = elem.options.split(",");
|
|
||||||
}
|
|
||||||
this.baseInfoForm.goodsParamsList.push(elem);
|
this.baseInfoForm.goodsParamsList.push(elem);
|
||||||
}
|
}
|
||||||
if (this.$route.query.id || this.draftId) {
|
if (this.$route.query.id || this.draftId) {
|
||||||
this.baseInfoForm.goodsParamsList = this.baseInfoForm.goodsParamsList.map(
|
this.baseInfoForm.goodsParamsList = this.baseInfoForm.goodsParamsList.map(
|
||||||
(i) => {
|
(i) => {
|
||||||
if (i.paramId === elem.id || i.id === elem.id) {
|
if (i.paramId === elem.id || i.id === elem.id) {
|
||||||
if (elem.paramType === 2) {
|
elem.optionList = elem.options.split(",");
|
||||||
elem.optionList = elem.options.split(",");
|
|
||||||
}
|
|
||||||
i = {
|
i = {
|
||||||
...i,
|
...i,
|
||||||
...elem,
|
...elem,
|
||||||
|
@ -1839,19 +1826,24 @@ export default {
|
||||||
this.$Message.error("请上传商品图片");
|
this.$Message.error("请上传商品图片");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// if (
|
let flag = false;
|
||||||
// !this.baseInfoForm.storeCategoryPath ||
|
let paramValue = "";
|
||||||
// !this.baseInfoForm.storeCategoryPath.length
|
this.baseInfoForm.goodsParamsList.forEach((e)=> {
|
||||||
// ) {
|
if(e.required === 1 && e.paramValue === null || e.paramValue === undefined){
|
||||||
// this.submitLoading = false;
|
flag = true
|
||||||
// this.$Message.error("请选择店内分类");
|
paramValue = e.paramName
|
||||||
// return;
|
}
|
||||||
// }
|
});
|
||||||
|
if(flag){
|
||||||
|
this.$Message.error(paramValue +" 参数值不能为空");
|
||||||
|
this.submitLoading = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
//如果选择的是卖家承担运费 则运费模板重置为0
|
//如果选择的是卖家承担运费 则运费模板重置为0
|
||||||
if (this.baseInfoForm.freightPayer !== "BUYER") {
|
if (this.baseInfoForm.freightPayer !== "BUYER") {
|
||||||
this.baseInfoForm.templateId = 0;
|
this.baseInfoForm.templateId = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.baseInfoForm.skuList = this.skuTableData.map((sku) => {
|
this.baseInfoForm.skuList = this.skuTableData.map((sku) => {
|
||||||
delete sku._index;
|
delete sku._index;
|
||||||
delete sku._rowKey;
|
delete sku._rowKey;
|
||||||
|
@ -1865,6 +1857,12 @@ export default {
|
||||||
(i) => i.url
|
(i) => i.url
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
/** 参数校验 **/
|
||||||
|
/* Object.keys(this.baseInfoForm.goodsParamsList).forEach((item) => {
|
||||||
|
console.warn(item.paramName)
|
||||||
|
});*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (this.goodsId) {
|
if (this.goodsId) {
|
||||||
API_GOODS.editGoods(this.goodsId, this.baseInfoForm).then((res) => {
|
API_GOODS.editGoods(this.goodsId, this.baseInfoForm).then((res) => {
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="search">
|
<div class="search">
|
||||||
<Row>
|
|
||||||
<Col>
|
|
||||||
<Card>
|
<Card>
|
||||||
<Row v-show="openSearch" @keydown.enter.native="handleSearch">
|
<Row v-show="openSearch" @keydown.enter.native="handleSearch">
|
||||||
<Form
|
<Form
|
||||||
|
@ -97,8 +95,6 @@
|
||||||
></Page>
|
></Page>
|
||||||
</Row>
|
</Row>
|
||||||
</Card>
|
</Card>
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
<Modal
|
<Modal
|
||||||
title="更新库存"
|
title="更新库存"
|
||||||
v-model="updateStockModalVisible"
|
v-model="updateStockModalVisible"
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
<h4>待办事项</h4>
|
<h4>待办事项</h4>
|
||||||
|
|
||||||
<div class="detail-list">
|
<div class="detail-list">
|
||||||
<div class="detail-item" @click="navigateTo('order')">
|
<div class="detail-item" @click="navigateTo('orderList')">
|
||||||
<div>
|
<div>
|
||||||
<span>{{homeData.unPaidOrder || 0}}</span>
|
<span>{{homeData.unPaidOrder || 0}}</span>
|
||||||
<div>待付款</div>
|
<div>待付款</div>
|
||||||
|
@ -66,7 +66,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="detail-item" @click="navigateTo('order')">
|
<div class="detail-item" @click="navigateTo('orderList')">
|
||||||
<div>
|
<div>
|
||||||
<span>{{homeData.unDeliveredOrder || 0}}</span>
|
<span>{{homeData.unDeliveredOrder || 0}}</span>
|
||||||
<div>待发货</div>
|
<div>待发货</div>
|
||||||
|
@ -125,7 +125,7 @@
|
||||||
<span>{{homeData.seckillNum || 0}}</span>
|
<span>{{homeData.seckillNum || 0}}</span>
|
||||||
<div>待参加活动</div>
|
<div>待参加活动</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div @click="navigateTo('accountStatementBill')">
|
||||||
<span>{{homeData.waitPayBill || 0}}</span>
|
<span>{{homeData.waitPayBill || 0}}</span>
|
||||||
<div>待对账</div>
|
<div>待对账</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -161,7 +161,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="count-item">
|
<div class="count-item" @click="navigateTo('orderStatistics')">
|
||||||
<div>
|
<div>
|
||||||
<Icon class="icon" size="31" type="ios-card" />
|
<Icon class="icon" size="31" type="ios-card" />
|
||||||
</div>
|
</div>
|
||||||
|
@ -171,7 +171,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="count-item" @click="navigateTo('order')">
|
<div class="count-item" @click="navigateTo('orderList')">
|
||||||
<div>
|
<div>
|
||||||
|
|
||||||
<Icon class="icon" size="31" type="md-list" />
|
<Icon class="icon" size="31" type="md-list" />
|
||||||
|
@ -182,7 +182,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="count-item">
|
<div class="count-item" @click="navigateTo('trafficStatistics')">
|
||||||
<div>
|
<div>
|
||||||
<Icon class="icon" size="31" type="md-person" />
|
<Icon class="icon" size="31" type="md-person" />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -102,6 +102,7 @@
|
||||||
v-model="image"
|
v-model="image"
|
||||||
:disable="true"
|
:disable="true"
|
||||||
:remove="false"
|
:remove="false"
|
||||||
|
:isView="true"
|
||||||
></upload-pic-thumb>
|
></upload-pic-thumb>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="回复内容" prop="reply">
|
<FormItem label="回复内容" prop="reply">
|
||||||
|
@ -370,8 +371,8 @@ export default {
|
||||||
this.content = res.result.content
|
this.content = res.result.content
|
||||||
this.form.reply = res.result.reply
|
this.form.reply = res.result.reply
|
||||||
this.replyStatus = res.result.replyStatus
|
this.replyStatus = res.result.replyStatus
|
||||||
if (res.result.image) {
|
if (res.result.images) {
|
||||||
this.image = (res.result.image || "").split(",");
|
this.image = (res.result.images || "").split(",");
|
||||||
}
|
}
|
||||||
if (res.result.replyImage) {
|
if (res.result.replyImage) {
|
||||||
this.form.replyImage = (res.result.replyImage || "").split(",");
|
this.form.replyImage = (res.result.replyImage || "").split(",");
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
:action="uploadFileUrl"
|
:action="uploadFileUrl"
|
||||||
:headers="accessToken"
|
:headers="accessToken"
|
||||||
style="display: inline-block;width:58px;"
|
style="display: inline-block;width:58px;"
|
||||||
|
v-if="!isView"
|
||||||
>
|
>
|
||||||
<div style="width: 58px;height:58px;line-height: 58px;">
|
<div style="width: 58px;height:58px;line-height: 58px;">
|
||||||
<Icon type="md-camera" size="20"></Icon>
|
<Icon type="md-camera" size="20"></Icon>
|
||||||
|
@ -87,6 +88,10 @@ export default {
|
||||||
limit: {
|
limit: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 10
|
default: 10
|
||||||
|
},
|
||||||
|
isView: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
|
|
@ -69,7 +69,7 @@
|
||||||
<template slot-scope="{ row }" slot="action">
|
<template slot-scope="{ row }" slot="action">
|
||||||
<Button
|
<Button
|
||||||
v-if="row.promotionStatus === 'NEW' || row.promotionStatus === 'CLOSE'"
|
v-if="row.promotionStatus === 'NEW' || row.promotionStatus === 'CLOSE'"
|
||||||
type="primary"
|
type="info"
|
||||||
size="small"
|
size="small"
|
||||||
style="margin-right: 10px"
|
style="margin-right: 10px"
|
||||||
@click="edit(row)"
|
@click="edit(row)"
|
||||||
|
@ -259,7 +259,7 @@ export default {
|
||||||
slot: "action",
|
slot: "action",
|
||||||
align: "center",
|
align: "center",
|
||||||
fixed: "right",
|
fixed: "right",
|
||||||
width: 80,
|
minWidth: 80,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
data: [], // 表单数据
|
data: [], // 表单数据
|
||||||
|
|
|
@ -511,7 +511,7 @@ export default {
|
||||||
this.$store.state.app.storeOpenedList
|
this.$store.state.app.storeOpenedList
|
||||||
);
|
);
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: "promotion/coupon",
|
name: "coupon",
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
changeSelect(e) {
|
changeSelect(e) {
|
||||||
|
|
Loading…
Reference in New Issue