lemon橪 2021-05-21 16:56:51 +08:00
commit 9e9abe9e1e
23 changed files with 156 additions and 108 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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=""> &nbsp;{{ detail.goodsName }}</td> <td class="hover-color" @click="linkTo(`/goodsDetail?goodsId=${detail.goodsId}&skuId=${detail.skuId}`)"><img :src="detail.goodsImage" width="60" alt=""> &nbsp;{{ detail.goodsName }}</td>
</tr> </tr>
<tr> <tr>
<td>投诉主题</td> <td>投诉主题</td>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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(",");

View File

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

View File

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

View File

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