提交 30c7633b 编写于 作者: vino's avatar vino

商品分佣

上级 adc9945d
...@@ -432,7 +432,7 @@ export default { ...@@ -432,7 +432,7 @@ export default {
path: `/shop-list` path: `/shop-list`
}) })
} else { } else {
this.$message({ type: "error", message: "保存失败!" }); this.$message({ type: "error", message: res.message });
} }
}) })
.finally((res) => { .finally((res) => {
......
...@@ -3,15 +3,19 @@ ...@@ -3,15 +3,19 @@
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb> <bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb>
<div class="yqshop-content screenSet" id="screenSet"> <div class="yqshop-content screenSet" id="screenSet">
<div class="header-title">商品管理</div> <div class="header-title">商品管理</div>
<el-form ref="searchForm" :model="searchForm" label-width="80px" label-suffix=":" :inline="true"> <el-form ref="searchForm" :model="searchForm" label-width="100px" label-suffix=":" :inline="true">
<el-row :gutter="30" type="flex" style="margin-top: 10px"> <el-row :gutter="30" type="flex" style="margin-top: 10px">
<el-col :span="18"> <el-col :span="6">
<el-form-item label="商品名称"> <el-form-item label="商品名称">
<el-input v-model="searchForm.goodsName" size="small" placeholder="请输入商品名称"></el-input> <el-input v-model="searchForm.goodsName" size="small" placeholder="请输入商品名称"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="商品ID"> <el-form-item label="商品ID">
<el-input v-model="id" size="small" placeholder="请输入商品ID"></el-input> <el-input v-model="id" size="small" placeholder="请输入商品ID"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="商品类型"> <el-form-item label="商品类型">
<el-select <el-select
v-model="searchForm.goodsType" v-model="searchForm.goodsType"
...@@ -26,6 +30,10 @@ ...@@ -26,6 +30,10 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row :gutter="30" type="flex" style="margin-top: 10px">
<el-col :span="6">
<el-form-item label="分佣方式" v-if="commissionFlag == 2"> <el-form-item label="分佣方式" v-if="commissionFlag == 2">
<el-select <el-select
v-model="searchForm.commissionType" v-model="searchForm.commissionType"
...@@ -41,11 +49,28 @@ ...@@ -41,11 +49,28 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item label="药代分佣方式">
<el-select
v-model="searchForm.proxyCommissionType"
placeholder="请选择分佣方式"
size="small"
clearable>
<el-option
v-for="item in commissionTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" style="text-align: right"> <el-col :span="6" style="text-align: right">
<el-button type="primary" size="small" @click="searchList">查询</el-button> <el-button type="primary" size="small" @click="searchList">查询</el-button>
<el-button type="default" size="small" @click="resetForm" style="margin-left:0;">重置</el-button> <el-button type="default" size="small" @click="resetForm" style="margin-left:0;">重置</el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="30" type="flex" style="margin-top: 10px"> <el-row :gutter="30" type="flex" style="margin-top: 10px">
<el-col :span="12"> <el-col :span="12">
<el-button type="primary" size="small" @click="batchOpt('on')">批量上架</el-button> <el-button type="primary" size="small" @click="batchOpt('on')">批量上架</el-button>
...@@ -102,6 +127,17 @@ ...@@ -102,6 +127,17 @@
<span v-if="scope.row.commissionType == 2">{{scope.row.commissionPrice | priceNum}}</span> <span v-if="scope.row.commissionType == 2">{{scope.row.commissionPrice | priceNum}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="commissionType" label="药代分佣方式" width="120" align="center">
<template slot-scope="scope">
<span>{{ scope.row.proxyCommissionType | commissionTypeFormat}}</span>
</template>
</el-table-column>
<el-table-column prop="commissionPrice" label="药代分佣" width="120" align="center">
<template slot-scope="scope">
<span v-if="scope.row.proxyCommissionType == 1">{{scope.row.proxyCommissionPrice | priceNum}}%</span>
<span v-if="scope.row.proxyCommissionType == 2">{{scope.row.proxyCommissionPrice | priceNum}}</span>
</template>
</el-table-column>
<el-table-column prop="saleTime" label="发布时间" width="170" align="center"> <el-table-column prop="saleTime" label="发布时间" width="170" align="center">
</el-table-column> </el-table-column>
...@@ -211,20 +247,50 @@ ...@@ -211,20 +247,50 @@
label-position="right" label-position="right"
size="mini" size="mini"
style="width: 100%;"> style="width: 100%;">
<el-form-item label="分佣方式" prop="commissionType"> <div v-for="(item, index) in setPriceForm.adminCommissionGoodsRespList" :key="index" >
<el-col :span="18"> <el-form-item v-if="item.commissionKind == 1" label="分佣方式" prop="commissionType">
<el-radio-group v-model="setPriceForm.commissionType" size="small" style="line-height: 45px;"> <el-col :span="18">
<div> <el-radio-group v-model="item.commissionType" size="small" style="line-height: 45px;">
<el-radio :label="1" style="float: left;margin-top: 5px;line-height: 20px;">按比例分佣(%)</el-radio> <div>
<span style="float: right;width: 100px;"><el-input-number v-model="setPriceForm.commissionPrice1" size="small" :precision="2" :min="0"></el-input-number></span> <el-radio :label="1" style="float: left;margin-top: 5px;line-height: 20px;">按比例分佣(%)</el-radio>
</div> <span style="float: right;width: 100px;"><el-input-number v-model="item.commissionPrice1" size="small" :precision="2" :min="0"></el-input-number></span>
<div> </div>
<el-radio :label="2" style="float: left;margin-top: 30px;line-height: 20px;">固定分佣金额(元)</el-radio> <div>
<span style="float: right;width: 100px;margin-left: 14px;"><el-input-number v-model="setPriceForm.commissionPrice2" size="small" :precision="2" :min="0" :max="9999.99"></el-input-number></span> <el-radio :label="2" style="float: left;margin-top: 30px;line-height: 20px;">固定分佣金额(元)</el-radio>
</div> <span style="float: right;width: 100px;margin-left: 14px;"><el-input-number v-model="item.commissionPrice2" size="small" :precision="2" :min="0" :max="9999.99"></el-input-number></span>
</el-radio-group> </div>
</el-col> </el-radio-group>
</el-form-item> </el-col>
</el-form-item>
<el-form-item v-if="item.commissionKind == 2" label="药代分佣方式">
<el-col :span="18">
<el-radio-group v-model="item.commissionType" size="small" style="line-height: 45px;">
<div>
<el-radio :label="1" style="float: left;margin-top: 5px;line-height: 20px;">按比例分佣(%)</el-radio>
<span style="float: right;width: 100px;"><el-input-number v-model="item.commissionPrice1" size="small" :precision="2" :min="0"></el-input-number></span>
</div>
<div>
<el-radio :label="2" style="float: left;margin-top: 30px;line-height: 20px;">固定分佣金额(元)</el-radio>
<span style="float: right;width: 100px;margin-left: 14px;"><el-input-number v-model="item.commissionPrice2" size="small" :precision="2" :min="0" :max="9999.99"></el-input-number></span>
</div>
</el-radio-group>
</el-col>
</el-form-item>
</div>
<!-- <el-form-item label="分佣方式" prop="commissionType">-->
<!-- <el-col :span="18">-->
<!-- <el-radio-group v-model="setPriceForm.commissionType" size="small" style="line-height: 45px;">-->
<!-- <div>-->
<!-- <el-radio :label="1" style="float: left;margin-top: 5px;line-height: 20px;">按比例分佣(%)</el-radio>-->
<!-- <span style="float: right;width: 100px;"><el-input-number v-model="setPriceForm.commissionPrice1" size="small" :precision="2" :min="0"></el-input-number></span>-->
<!-- </div>-->
<!-- <div>-->
<!-- <el-radio :label="2" style="float: left;margin-top: 30px;line-height: 20px;">固定分佣金额(元)</el-radio>-->
<!-- <span style="float: right;width: 100px;margin-left: 14px;"><el-input-number v-model="setPriceForm.commissionPrice2" size="small" :precision="2" :min="0" :max="9999.99"></el-input-number></span>-->
<!-- </div>-->
<!-- </el-radio-group>-->
<!-- </el-col>-->
<!-- </el-form-item>-->
</el-form> </el-form>
<!-- </el-row>--> <!-- </el-row>-->
...@@ -282,7 +348,8 @@ ...@@ -282,7 +348,8 @@
pageNo:1, pageNo:1,
pageSize: 10, pageSize: 10,
storeId:0, storeId:0,
commissionType: 0 commissionType: 0,
proxyCommissionType:0
}, },
innerVisible:false, innerVisible:false,
selectList:[], selectList:[],
...@@ -320,13 +387,14 @@ ...@@ -320,13 +387,14 @@
commissionFlag: 2, commissionFlag: 2,
setPriceVisible: false, setPriceVisible: false,
setPriceForm:{ setPriceForm:{
commissionType: 1, // commissionType: 1,
commissionPrice: '', // commissionPrice: '',
commissionPrice1: '', // commissionPrice1: '',
commissionPrice2: '', // commissionPrice2: '',
storeId: '', // storeId: '',
goodsId: '', // goodsId: '',
maxPrice: '' // maxPrice: ''
adminCommissionGoodsRespList:[]
}, },
setPriceRules: { setPriceRules: {
commissionType: [ commissionType: [
...@@ -693,22 +761,79 @@ ...@@ -693,22 +761,79 @@
if(this.$refs.setPriceForm) { if(this.$refs.setPriceForm) {
this.$refs.setPriceForm.resetFields() this.$refs.setPriceForm.resetFields()
} }
this.batchUpdatePriceFlag = batchUpdatePriceFlag;
this.setPriceForm.storeId = row.storeId; if(row.adminCommissionGoodsRespList){
this.setPriceForm.goodsId = row.goodsId; this.setPriceForm.adminCommissionGoodsRespList = row.adminCommissionGoodsRespList;
this.setPriceForm.commissionType = ""; for(let i = 0; i < this.setPriceForm.adminCommissionGoodsRespList.length; i++){
this.setPriceForm.commissionPrice1 = undefined; if(this.setPriceForm.adminCommissionGoodsRespList[i].commissionType == 1){
this.setPriceForm.commissionPrice2 = undefined; this.setPriceForm.adminCommissionGoodsRespList[i].commissionPrice1 = this.setPriceForm.adminCommissionGoodsRespList[i].commissionPrice/100;
this.setPriceForm.commissionType = row.commissionType; }
if(this.setPriceForm.commissionType == 1){ else if(this.setPriceForm.adminCommissionGoodsRespList[i].commissionType == 2){
this.setPriceForm.commissionPrice1 = row.commissionPrice/100; this.setPriceForm.adminCommissionGoodsRespList[i].commissionPrice2 = this.setPriceForm.adminCommissionGoodsRespList[i].commissionPrice/100;
}
}
let newArray = this.setPriceForm.adminCommissionGoodsRespList.filter(function (item) {
return item.commissionKind == 1;
});
if(newArray == null || newArray.length == 0){
this.setPriceForm.adminCommissionGoodsRespList.push({
commissionKind: 1,
commissionPrice: "",
commissionType: 1,
goodsId: row.goodsId,
maxPrice: "",
storeId: row.id,
});
}
let array = this.setPriceForm.adminCommissionGoodsRespList.filter(function (item) {
return item.commissionKind == 2;
});
if(array == null || array.length == 0){
this.setPriceForm.adminCommissionGoodsRespList.push({
commissionKind: 2,
commissionPrice: "",
commissionType: 1,
goodsId: row.goodsId,
maxPrice: "",
storeId: row.id,
});
}
} }
else if(this.setPriceForm.commissionType == 2){ else {
this.setPriceForm.commissionPrice2 = row.commissionPrice/100; this.setPriceForm.adminCommissionGoodsRespList = [{
commissionKind: 1,
commissionPrice: "",
commissionType: 1,
goodsId: row.goodsId,
maxPrice: "",
storeId: row.id,
},
{
commissionKind: 2,
commissionPrice: "",
commissionType: 1,
goodsId: row.goodsId,
maxPrice: "",
storeId: row.id,
}]
} }
// this.batchUpdatePriceFlag = batchUpdatePriceFlag;
// this.setPriceForm.storeId = row.storeId;
// this.setPriceForm.goodsId = row.goodsId;
// this.setPriceForm.commissionType = "";
// this.setPriceForm.commissionPrice1 = undefined;
// this.setPriceForm.commissionPrice2 = undefined;
// this.setPriceForm.commissionType = row.commissionType;
// if(this.setPriceForm.commissionType == 1){
// this.setPriceForm.commissionPrice1 = row.commissionPrice/100;
// }
// else if(this.setPriceForm.commissionType == 2){
// this.setPriceForm.commissionPrice2 = row.commissionPrice/100;
// }
this.setPriceVisible = true; this.setPriceVisible = true;
// this.setPriceForm.price = row.price; // this.setPriceForm.price = row.price;
this.setPriceVisible = true;
// if(this.$refs.setPriceForm) { // if(this.$refs.setPriceForm) {
// this.$refs.setPriceForm.resetFields() // this.$refs.setPriceForm.resetFields()
// } // }
...@@ -716,34 +841,49 @@ ...@@ -716,34 +841,49 @@
}, },
confirmSetPrice() { confirmSetPrice() {
if(this.setPriceForm.commissionType == null || this.setPriceForm.commissionType == ""){ for(let i = 0; i < this.setPriceForm.adminCommissionGoodsRespList.length; i++){
this.$message({ if(this.setPriceForm.adminCommissionGoodsRespList[i].commissionKind == 1
message: '请选择分佣方式', && (this.setPriceForm.adminCommissionGoodsRespList[i].commissionType == null || this.setPriceForm.adminCommissionGoodsRespList[i].commissionType == "")){
type: "warning"
}); this.$message({
return; message: '请选择分佣方式',
} type: "warning"
});
return;
}
if(this.setPriceForm.adminCommissionGoodsRespList[i].commissionKind == 1
&& this.setPriceForm.adminCommissionGoodsRespList[i].commissionType == 1 && this.setPriceForm.adminCommissionGoodsRespList[i].commissionPrice1 == undefined ){
this.$message({
message: '请输入按比例分佣',
type: "warning"
});
return;
}
else if(this.setPriceForm.adminCommissionGoodsRespList[i].commissionKind == 1
&& this.setPriceForm.adminCommissionGoodsRespList[i].commissionType == 1 && this.setPriceForm.adminCommissionGoodsRespList[i].commissionPrice1 > 100){
this.$message({
message: '请输入按比例分佣0-100',
type: "warning"
});
return;
}
if(this.setPriceForm.adminCommissionGoodsRespList[i].commissionKind == 1
&& this.setPriceForm.adminCommissionGoodsRespList[i].commissionType == 2 && this.setPriceForm.adminCommissionGoodsRespList[i].commissionPrice2 == undefined ){
this.$message({
message: '请输入固定分佣金额',
type: "warning"
});
return;
}
if(this.setPriceForm.adminCommissionGoodsRespList[i].commissionType == 1){
this.setPriceForm.adminCommissionGoodsRespList[i].commissionPrice = this.setPriceForm.adminCommissionGoodsRespList[i].commissionPrice1 * 100;
}
else if(this.setPriceForm.adminCommissionGoodsRespList[i].commissionType == 2){
this.setPriceForm.adminCommissionGoodsRespList[i].commissionPrice = this.setPriceForm.adminCommissionGoodsRespList[i].commissionPrice2 * 100;
}
if(this.setPriceForm.commissionType == 1 && this.setPriceForm.commissionPrice1 == undefined ){
this.$message({
message: '请输入按比例分佣',
type: "warning"
});
return;
}
else if(this.setPriceForm.commissionType == 1 && this.setPriceForm.commissionPrice1 > 100){
this.$message({
message: '请输入按比例分佣0-100',
type: "warning"
});
return;
}
if(this.setPriceForm.commissionType == 2 && this.setPriceForm.commissionPrice2 == undefined ){
this.$message({
message: '请输入固定分佣金额',
type: "warning"
});
return;
} }
let timeoutId = null let timeoutId = null
...@@ -754,23 +894,23 @@ ...@@ -754,23 +894,23 @@
}, },
// 防止按钮多次点击 // 防止按钮多次点击
clickHandle() { clickHandle() {
this.$refs.setPriceForm.validate((valid) => { // this.$refs.setPriceForm.validate((valid) => {
if(valid) { // if(valid) {
vm.loading = true vm.loading = true
// 批量设置价格 // 批量设置价格
if(vm.batchUpdatePriceFlag){ if(vm.batchUpdatePriceFlag){
let setPriceList = []; let setPriceList = [];
if(vm.setPriceForm.commissionType == 1){ // if(vm.setPriceForm.commissionType == 1){
vm.setPriceForm.commissionPriceStr = vm.setPriceForm.commissionPrice1; // vm.setPriceForm.commissionPriceStr = vm.setPriceForm.commissionPrice1;
} // }
else if(vm.setPriceForm.commissionType == 2){ // else if(vm.setPriceForm.commissionType == 2){
vm.setPriceForm.commissionPriceStr = vm.setPriceForm.commissionPrice2; // vm.setPriceForm.commissionPriceStr = vm.setPriceForm.commissionPrice2;
} // }
let parm = { let parm = {
commissionPrice: vm.setPriceForm.commissionPriceStr * 100, adminCommissionGoodsReqList:vm.setPriceForm.adminCommissionGoodsRespList,
commissionType: vm.setPriceForm.commissionType, // commissionPrice: vm.setPriceForm.commissionPriceStr * 100,
goodsIdList:[], // commissionType: vm.setPriceForm.commissionType,
storeId: vm.setPriceForm.storeId goodsIdList:[]
} }
for(let i = 0; i < vm.selectList.length; i++){ for(let i = 0; i < vm.selectList.length; i++){
parm.goodsIdList.push(vm.selectList[i].goodsId); parm.goodsIdList.push(vm.selectList[i].goodsId);
...@@ -794,14 +934,14 @@ ...@@ -794,14 +934,14 @@
}); });
} }
else { else {
if(vm.setPriceForm.commissionType == 1){ // if(vm.setPriceForm.commissionType == 1){
vm.setPriceForm.commissionPriceStr = vm.setPriceForm.commissionPrice1; // vm.setPriceForm.commissionPriceStr = vm.setPriceForm.commissionPrice1;
} // }
else if(vm.setPriceForm.commissionType == 2){ // else if(vm.setPriceForm.commissionType == 2){
vm.setPriceForm.commissionPriceStr = vm.setPriceForm.commissionPrice2; // vm.setPriceForm.commissionPriceStr = vm.setPriceForm.commissionPrice2;
} // }
vm.setPriceForm.commissionPrice = vm.setPriceForm.commissionPriceStr * 100; // vm.setPriceForm.commissionPrice = vm.setPriceForm.commissionPriceStr * 100;
vm.POST('/store/commission/admin/goods/save', vm.setPriceForm).then(res => { vm.POST('/store/commission/admin/goods/save', vm.setPriceForm.adminCommissionGoodsRespList).then(res => {
vm.loading = false vm.loading = false
// closeLoading(this); // closeLoading(this);
if (res.code == "000000") { if (res.code == "000000") {
...@@ -820,8 +960,8 @@ ...@@ -820,8 +960,8 @@
}); });
} }
} // }
}) // })
}, },
}, },
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册