提交 ee27b09f 编写于 作者: bo.dang's avatar bo.dang

Merge branch 'dev-20210712' into 'release'

Dev 20210712,code review:bo.dang

See merge request com.pica.cloud.education.frontend/pica.cloud.web-education-admin!278
......@@ -647,32 +647,56 @@
<div class="basic-item-icon">
<div class="part-tit">销售信息</div>
<div class="inline">
<el-form-item label="销售方式" prop="saleType">
<el-radio-group v-model="formData.saleType" size="small">
<el-radio :label="1">零售</el-radio>
<el-radio :label="2" :disabled="commissionFlag == 1">批发</el-radio>
</el-radio-group>
<!-- <el-select-->
<!-- v-model="formData.saleType"-->
<!-- placeholder="请选择销售方式"-->
<!-- size="small"-->
<!-- @change="getSaleType(formData.saleType,2)">-->
<!-- <el-option-->
<!-- v-for="item in saleTypeList"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- ></el-option>-->
<!-- </el-select>-->
</el-form-item>
</div>
<div class="inline" v-if="formData.saleType == 1">
<el-form-item label="零售价" prop="optPrice">
<el-col :span="20">
<el-input
@input="$forceUpdate();"
size="small"
v-model="formData.optPrice"
placeholder="请输入零售价"
></el-input>
<!-- <span class="word-num">{{(formData.name).replace(/\s+/g,"").length}}/60</span> -->
<!-- <el-input-->
<!-- @input="$forceUpdate();"-->
<!-- size="small"-->
<!-- v-model="formData.optPrice"-->
<!-- placeholder="请输入零售价"-->
<!-- ></el-input>-->
<el-input-number class="stock-com" @input="$forceUpdate();" v-model="formData.optPrice" size="small" :precision="2" :min="0.00" :max="99999.99"></el-input-number>
<!-- <span class="word-num">{{(formData.name).replace(/\s+/g,"").length}}/60</span> -->
</el-col>
</el-form-item>
<!-- <el-form-item label="折扣价" prop="name">
</div>
<div class="inline" v-if="formData.saleType == 2">
<el-form-item label="批发价" prop="optPrice">
<el-col :span="20">
<el-input
size="small"
v-model="formData.name"
placeholder="请输入折扣价"
></el-input>
<!-- <el-input-->
<!-- @input="$forceUpdate();"-->
<!-- size="small"-->
<!-- v-model="formData.optPrice"-->
<!-- placeholder="请输入批发价"></el-input>-->
<el-input-number class="stock-com" @input="$forceUpdate();" v-model="formData.optPrice" size="small" :precision="2" :min="0" :max="99999.99"></el-input-number>
</el-col>
</el-form-item> -->
</el-form-item>
</div>
<div class="inline">
<el-form-item label="库存" prop="name" class="required-label">
<el-form-item label="库存" prop="stock" class="required-label">
<el-col :span="20">
<div class="stock-com">
<span class="sp sp-l" @click="changeStock(1)" :class="{'opac':formData.stock == 0}"><i class="el-icon-minus"></i></span>
......@@ -692,8 +716,8 @@
</el-form-item>
</div>
<div class="inline">
<el-form-item label="最小起购件数" prop="name" class="required-label">
<div class="inline" v-if="formData.saleType == 1">
<el-form-item label="最小起购件数" prop="leastCount" class="required-label">
<el-col :span="20">
<div class="stock-com">
<span class="sp sp-l" @click="minusCount(1)"><i class="el-icon-minus"></i></span>
......@@ -705,8 +729,8 @@
</el-form-item>
</div>
<div class="inline" v-if="formData.leastCount > 1">
<el-form-item label="递增方式" prop="incrType">
<div class="inline" v-if="formData.saleType == 1 && formData.leastCount > 1">
<el-form-item label="递增方式">
<el-col :span="24">
<el-radio size="mini" v-model="formData.incrType" :label="2">倍数递增</el-radio>
<el-radio v-model="formData.incrType" :label="1">1件递增</el-radio>
......@@ -714,8 +738,8 @@
</el-form-item>
</div>
<div class="inline">
<el-form-item label="单次购买上限" prop="name" class="required-label">
<div class="inline" v-if="formData.saleType == 1">
<el-form-item label="单次购买上限" prop="mostCount" class="required-label">
<el-col :span="20" style="width: 300%;">
<div class="stock-com" style="width: 500px;">
<span class="sp sp-l" @click="minusCount(2)"><i class="el-icon-minus"></i></span>
......@@ -730,8 +754,8 @@
</div>
<div class="inline">
<el-form-item label="第三方商品编码" prop="externalGoodsCode">
<div class="inline" v-if="formData.saleType == 1">
<el-form-item label="第三方商品编码">
<el-col :span="20">
<el-input
size="small"
......@@ -741,18 +765,31 @@
</el-col>
</el-form-item>
</div>
</div>
</el-form>
<div class="inline" v-if="formData.saleType == 2">
<el-form-item label="最小起批" prop="minWhole" class="required-label">
<el-col :span="20">
<div class="stock-com">
<span class="sp sp-l" @click="minusCount(3)"><i class="el-icon-minus"></i></span>
<span class="sp sp-c">{{formData.minWhole}}</span>
<span class="sp sp-r" @click="plusCount(3)"><i class="el-icon-plus"></i></span>
</div>
<p class="error-message" v-if="formData.minWhole <= 0">最小起批不能为0</p>
</el-col>
</el-form-item>
</div>
<el-form
ref="formData"
:model="formData"
:rules="rules"
label-width="150px"
label-suffix=":"
class="basic-form"
>
<div class="basic-item-icon">
</div>
<!-- </el-form>-->
<!-- <el-form-->
<!-- ref="formData"-->
<!-- :model="formData"-->
<!-- :rules="rules"-->
<!-- label-width="150px"-->
<!-- label-suffix=":"-->
<!-- class="basic-form"-->
<!-- >-->
<div class="basic-item-icon" v-if="formData.saleType == 1">
<div class="part-tit">限购条件</div>
<div v-for="(item, index) in buyLimitDtoList" :key="index" >
<el-form-item label="限制条件">
......@@ -895,6 +932,15 @@
label: '年',
value: 365,
}],
saleTypeList: [
{
value: 1,
label: "零售"
},
{
value: 2,
label: "批发"
}],
checkPackageIdList: [{name:'其他',content:0}],
hospitalTypeList: [{label:'村卫生室',value:1},{label:'乡镇卫生院/中心',value:2}], // 医疗机构类型
checkTypeList: [{label:'常规检测',value:1}], // 检测类型
......@@ -985,7 +1031,7 @@
this.checkPackageIdList = res.data;
})
}
debugger;
// debugger;
// 判空
if (this.formData.leastCount == null || this.formData.leastCount === '') {
this.formData.leastCount = 1;
......@@ -1186,6 +1232,10 @@
this.fileIntrList = this.getImges(imageList,2)
});
},
// 销售方式
getSaleType(saleType, type){
},
getGoodsTypes(goodsType,type){
this.goodsType = goodsType;
......@@ -1378,12 +1428,23 @@
}
let isTrue = false;
formNameList.map(item=>{
this.$refs[item].validate((valid) => {
// formNameList.map(item=>{
// this.$refs[item].validate((valid,object) => {
// isTrue = valid;
// if (!valid) return false;
// });
// });
let item = "";
for(let i = 0; i < formNameList.length; i++){
item = formNameList[i];
this.$refs[item].validate((valid,object) => {
isTrue = valid;
if (!valid) return false;
});
});
if(!isTrue){
return;
}
}
if(!isTrue){
return false;
......@@ -1592,6 +1653,11 @@
this.formData1.mostCount = this.formData.mostCount;
}
}
else if(type === 3){
if (this.formData.minWhole >= 2) {
this.formData.minWhole -= 1;
}
}
// if (this.formData.mostCount < this.formData.leastCount) {
// this.formData.mostCount = this.formData.leastCount;
// }
......@@ -1604,6 +1670,9 @@
this.formData.mostCount += 1;
this.formData1.mostCount = this.formData.mostCount;
}
else if(type === 3){
this.formData.minWhole += 1;
}
// if (this.formData.mostCount < this.formData.leastCount) {
// this.formData.mostCount = this.formData.leastCount;
// }
......@@ -1675,7 +1744,7 @@
checkCount(){
let flag = true;
if(this.formData.mostCount == 0){
if(this.formData.saleType == 1 && this.formData.mostCount == 0){
flag = false;
this.$message({
message: '单次购买上限不能为0',
......@@ -1684,7 +1753,7 @@
return flag;
}
if(this.formData.mostCount != -1 && this.formData.mostCount < this.formData.leastCount){
if(this.formData.saleType == 1 && this.formData.mostCount != -1 && this.formData.mostCount < this.formData.leastCount){
flag = false;
this.$message({
message: '单次购买上限不能小于最小起购件数',
......@@ -1901,4 +1970,28 @@
margin-right: 15px;
position: relative;
}
//.el-input-number__increase {
// right: 1px;
// border-radius: 0 4px 4px 0;
// border-left: 1px solid #449284;
//}
.el-input-number__decrease, .el-input-number__increase {
position: absolute;
z-index: 1;
top: 1px;
width: 40px;
height: auto;
text-align: center;
background: #449284;
color: #606266;
cursor: pointer;
font-size: 13px;
}
.el-icon-plus {
color:#ffffff;
}
.el-icon-minus {
color:#ffffff;
}
</style>
......@@ -63,7 +63,9 @@ const form = {
externalGoodsCode: '',
leastCount:1,
mostCount: -1,
incrType:1
incrType:1,
saleType:1,
minWhole:0
};
......
......@@ -65,6 +65,22 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="销售方式" v-if="commissionFlag == 2">
<el-select
v-model="searchForm.saleType"
placeholder="请选择销售方式"
size="small"
clearable>
<el-option
v-for="item in saleTypeList"
: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-button type="primary" size="small" @click="searchList">查询</el-button>
<el-button type="default" size="small" @click="resetForm" style="margin-left:0;">重置</el-button>
......@@ -138,9 +154,10 @@
<span v-if="scope.row.proxyCommissionType == 2">{{scope.row.proxyCommissionPrice | priceNum}}</span>
</template>
</el-table-column>
<el-table-column prop="saleTypeStr" label="销售方式" width="170" align="center">
</el-table-column>
<el-table-column prop="saleTime" label="发布时间" width="170" align="center">
</el-table-column>
<el-table-column label="操作" width="200" align="center" fixed="right">
<template slot-scope="scope">
<div v-if="scope.row.commissionFlag == 2">
......@@ -377,6 +394,7 @@
pageSize: 10,
storeId:0,
commissionType: 0,
saleType:0,
proxyCommissionType:0
},
innerVisible:false,
......@@ -405,6 +423,19 @@
value: 2,
label: "固定分佣"
}],
saleTypeList: [
{
value: 0,
label: "全部"
},
{
value: 1,
label: "零售"
},
{
value: 2,
label: "批发"
}],
typeList: [],
//uploadUrl:getBaseUrl('store/goods/import'),
postData:{},
......@@ -769,6 +800,7 @@
this.searchForm.goodsName = ''
this.searchForm.goodsType = ''
this.searchForm.commissionType = 0;
this.searchForm.saleType = 0;
this.searchForm.pageNo = 1
this.searchForm.pageSize = 10
......@@ -785,9 +817,9 @@
this.getLists();
},
exportOpt() {
const { goodsIdList, goodsType, goodsName, storeId } = this.searchForm;
const { goodsIdList, goodsType, goodsName, storeId, saleType } = this.searchForm;
getGoodsExportUrl({ goodsIdList, goodsType, goodsName, storeId }).then(res => {
getGoodsExportUrl({ goodsIdList, goodsType, goodsName, storeId, saleType }).then(res => {
if (res.code != '000000') {
this.$message({ message: res.message, type: 'error' });
return;
......
......@@ -71,6 +71,7 @@
<p v-if="showStatus == 1 || showStatus == 2 || showStatus == 3">&nbsp;&nbsp;&nbsp;招募人:{{orderDetailData.ownerName}}</p>
<p v-if="showStatus == 1 || showStatus == 2 || showStatus == 3">所属药代:{{orderDetailData.brokerName}}</p>
<p>下单人手机号:{{orderDetailData.prescriberMobile}}</p>
<p>订单类型:{{orderDetailData.saleTypeStr}}</p>
<!--<p>发货时间:{{orderDetailData.sendTime}}</p>-->
<!--<p>成交时间:{{orderDetailData.finishTime}}</p>-->
</div>
......@@ -183,6 +184,7 @@
brokerName:'',//药代名称
prescriberMobile:'',//下单人手机号
// showStatus: null,//订单展示状态,1已完成,2已发货,3待发货,4待支付,5交易关闭
saleTypeStr:'',// 订单类型
},
rulesExpress: {
expressName: [
......
......@@ -5,7 +5,7 @@
<div class="header-title">订单管理</div>
<el-form ref="searchForm" :model="searchForm" label-width="80px" label-suffix=":" :inline="true">
<el-row :gutter="30" type="flex" style="margin-top: 10px">
<el-col :span="18">
<el-col :span="24">
<el-form-item label="商品名称">
<el-input v-model="searchForm.goodsName" size="small" placeholder="请输入商品名称"></el-input>
</el-form-item>
......@@ -21,7 +21,7 @@
</el-col>
</el-row>
<el-row :gutter="30" type="flex" style="margin-top: 10px">
<el-col :span="18">
<el-col :span="24">
<el-form-item label="下单时间" class="t-b">
<el-date-picker
v-model="createRangeTime"
......@@ -41,7 +41,6 @@
placeholder="请输入招募人"
@change="changeOwner"
clearable
style="width:110%;height: 32px;line-height: 32px;"
>
<el-option
v-for="item in brokerOwnerList"
......@@ -57,7 +56,6 @@
id="statusSelector"
placeholder="请输入药代姓名"
clearable
style="width:110%;height: 32px;line-height: 32px;"
>
<el-option
v-for="item in brokerList"
......@@ -67,7 +65,37 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="订单类型">
<el-select
v-model="searchForm.saleType"
placeholder="请选择订单类型"
size="small"
clearable>
<el-option
v-for="item in saleTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="6">-->
<!-- <el-form-item label="订单类型">-->
<!-- <el-select-->
<!-- v-model="searchForm.saleType"-->
<!-- placeholder="请选择订单类型"-->
<!-- size="small"-->
<!-- clearable>-->
<!-- <el-option-->
<!-- v-for="item in saleTypeList"-->
<!-- :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-button type="primary" size="small" @click="searchList">查询</el-button>
<el-button type="default" size="small" @click="resetForm" style="margin-left:0;">重置</el-button>
......@@ -118,6 +146,8 @@
<p v-for="(item, index) in scope.row.priceList" :key="index" class="p-normal">{{item | toFixed2}}</p>
</template>
</el-table-column>
<el-table-column prop="saleTypeStr" label="销售方式" width="170" align="center">
</el-table-column>
<el-table-column prop="createTime" label="下单时间" min-width="100" align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
......@@ -349,6 +379,7 @@
ownerId:'',
pageNo: 1,
pageSize: 10,
saleType:0,
},
totalRows: 0,
tableData: [],
......@@ -425,6 +456,19 @@
value: 2,
},
],
saleTypeList: [
{
value: 0,
label: "全部"
},
{
value: 1,
label: "零售"
},
{
value: 2,
label: "批发"
}],
ownerId:'',
brokerList:[],
brokerOwnerList:[],
......@@ -476,6 +520,7 @@
orderDate: '',
brokerId:'',
ownerId:'',
saleType:0,
pageNo: 1,
pageSize: 10,
};
......@@ -677,9 +722,9 @@
});
},
exportOrder() {
const { goodsName, orderNo, receiver, orderDate, storeId, brokerId, ownerId, prescriberName, orderBeginTime, orderEndTime} = this.searchForm;
const { goodsName, orderNo, receiver, orderDate, storeId, brokerId, ownerId, prescriberName, orderBeginTime, orderEndTime, saleType} = this.searchForm;
getOrdersExportUrl({ goodsName, orderNo, receiver, orderDate, storeId,brokerId,ownerId,prescriberName, orderBeginTime, orderEndTime}).then(res => {
getOrdersExportUrl({ goodsName, orderNo, receiver, orderDate, storeId,brokerId,ownerId,prescriberName, orderBeginTime, orderEndTime, saleType}).then(res => {
if (res.code != '000000') {
this.$message({ message: res.message, type: 'error' });
return;
......
const checkBarcode = (rule, value, cb) => {
const valedBarcode = new RegExp("[\\u4E00-\\u9FFF]+","g");
const valedBarcode = new RegExp("[\\u4E00-\\u9FFF]+","g");
if(value && valedBarcode.test(value)) cb(new Error('条形码不能输入中文'));
cb();
};
......@@ -100,7 +100,16 @@ const rules = {
{ required: true, message: "请选择商品类型", trigger: "change" }
],
optPrice: [
{ required: true, message: "请输入零售价", trigger: "blur" },
{ required: true, message: "请输入价格", trigger: "blur" },
],
saleType:[
{ required: true, message: "请选择销售方式", trigger: "change" }
],
stock: [
{ required: true, message: "请输入库存", trigger: "blur" },
],
minWhole: [
{ required: true, message: "请输入最小起批", trigger: "blur" },
],
// introduce: [
// { required: true, message: "请输入圈子介绍", trigger: "blur" },
......@@ -119,4 +128,3 @@ export const originRules1 = rules1;
export const originRules2 = rules2;
export const originRules = rules;
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册