提交 e6052bf3 编写于 作者: changdi.hao's avatar changdi.hao

优化仓库地址管理

上级 bd300ef2
...@@ -137,3 +137,12 @@ export const getRefundDesc = (aid) => { ...@@ -137,3 +137,12 @@ export const getRefundDesc = (aid) => {
description: '退款说明', description: '退款说明',
}) })
}; };
export const getLgCompanyList = () => {
return fetch({
headers,
url: getBaseUrl(`/basic-data/constants/app/no-chars/P307`),
method: "get",
description: "获取物流公司",
});
};
\ No newline at end of file
...@@ -76,6 +76,7 @@ ...@@ -76,6 +76,7 @@
</div> </div>
</el-upload> </el-upload>
<p class="upload-message" v-if="!isgoodsImages">请上传商品头图</p> <p class="upload-message" v-if="!isgoodsImages">请上传商品头图</p>
<!-- <p class="upload-message" v-if="uploadImgMessage1">请上传商品头图</p> -->
</el-form-item> </el-form-item>
<el-form-item label="商品类型" prop="goodsType"> <el-form-item label="商品类型" prop="goodsType">
<el-select <el-select
...@@ -92,7 +93,15 @@ ...@@ -92,7 +93,15 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <p class="upload-message" v-if="uploadImgMessage1">请上传商品头图</p> --> <el-form-item label="是否支持退货退款" prop="hcd">
<el-radio-group v-model="formData.hcd" disabled="hcd">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
<p class="backTip">若需设置商品支持退货退款,需先至店铺页<span class="ad-back">设置退款地址</span></p>
</el-form-item>
</div> </div>
</el-form> </el-form>
...@@ -1856,7 +1865,13 @@ ...@@ -1856,7 +1865,13 @@
font-size: 12px; font-size: 12px;
color: #f56c6c; color: #f56c6c;
} }
.backTip {
font-size: 12px;
color: red;
}
.ad-back {
color: #449284;
}
.img-delete { .img-delete {
position: absolute; position: absolute;
left: 0px; left: 0px;
......
const form1 = { const form1 = {
categoryIdLevel2: '', categoryIdLevel2: "",
categoryIdLevel3: '', categoryIdLevel3: "",
categoryIdLevel4: '', categoryIdLevel4: "",
categoryIdLevel5: '', categoryIdLevel5: "",
medicCommonName:'', medicCommonName: "",
medicGoodsName:'', medicGoodsName: "",
size:'', size: "",
dosageId:null, dosageId: null,
usage:'', usage: "",
otc1:'1', otc1: "1",
approvalNumber:'', approvalNumber: "",
manufacturer:'', manufacturer: "",
department:'', department: "",
expiredTime:'', expiredTime: "",
specification_url:'', specification_url: "",
treatDisease:'', treatDisease: "",
barCode: '', barCode: "",
modelNo: '', // 型号 modelNo: "", // 型号
standardNo: '', // 执行标准号 standardNo: "", // 执行标准号
} hcd: '1' //是否支持退货退款
};
const form2 = { const form2 = {
checkPackageId: '', // 检测登记表,暂无,先隐藏!!!!!!!!!!! checkPackageId: '', // 检测登记表,暂无,先隐藏!!!!!!!!!!!
......
...@@ -99,6 +99,9 @@ const rules = { ...@@ -99,6 +99,9 @@ const rules = {
goodsType:[ goodsType:[
{ required: true, message: "请选择商品类型", trigger: "change" } { required: true, message: "请选择商品类型", trigger: "change" }
], ],
hcd:[
{ required: true, message: "请选择是否支持退货退款", trigger: "change" }
],
optPrice: [ optPrice: [
{ required: true, message: "请输入价格", trigger: "blur" }, { required: true, message: "请输入价格", trigger: "blur" },
], ],
......
...@@ -119,283 +119,107 @@ ...@@ -119,283 +119,107 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<div> <div>
<div v-if="formData.storeType == 1"> <div v-if="formData.storeType == 1">
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item <el-form-item
label="入驻企业名称" label="入驻企业名称"
prop="compainName" prop="compainName"
class="required-label" class="required-label"
>
<el-input
type="text"
maxlength="50"
size="small"
v-model="formData.compainName"
placeholder="请输入入驻企业名称"
style="width: 85%"
></el-input>
<span class="word-num"
>{{
formData.compainName.replace(/\s+/g, "").length
}}/50</span
>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item
label="联系手机号"
prop="phoneNum"
label-width="95px"
class="required-label"
>
<el-input
type="text"
size="small"
maxlength="11"
:disabled="isDisabled"
v-model="formData.phoneNum"
placeholder="请输入联系电话"
style="width: 85%"
></el-input>
</el-form-item>
</el-col>
</el-row>
<div
class="main-content"
v-for="(item, index) in formData.adminList"
:key="index"
>
<el-row>
<el-col :span="10">
<el-form-item label="管理员姓名" class="required-label">
<el-input
type="text"
maxlength="10"
size="small"
v-model="item.adminName"
placeholder="请输入管理员姓名"
style="width: 85%"
></el-input>
<span class="word-num"
>{{ item.adminName.replace(/\s+/g, "").length }}/10</span
>
</el-form-item>
</el-col>
<el-col :span="1" style="text-align: right">
<img
style="margin-top: 5px"
src="../../assets/image/lianjie_icon.png"
/>
</el-col>
<el-col :span="10">
<el-form-item
label="手机号"
label-width="95px"
class="required-label"
>
<el-input
type="text"
size="small"
maxlength="11"
v-model="item.adminMobile"
placeholder="请输入管理员手机号"
style="width: 85%"
></el-input>
</el-form-item>
</el-col>
<el-col :span="2" class="span-mt-10">
<img
v-if="index < 4 && index == formData.adminList.length - 1"
@click="addItem(index)"
class="edit-img"
src="../../assets/image/plus.png"
/>
<img
v-if="formData.adminList.length > 1"
@click="deleteItem(index)"
class="edit-img"
src="../../assets/image/trash.png"
/>
</el-col>
</el-row>
</div>
<el-form-item label="营业证明">
<p class="p-tips">
若填写的联系人注册不是法定代表人,请上传委托书<br />
仅支持jpg、png图片文件,且文件小于3M<br />
上传的证件图片内,必须是加盖过红色公章和法人章,否则视为无效
</p>
<div style="display: flex">
<div class="flex-upload">
<el-upload
v-model="formData.imgUrlP1"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeUploadProve1"
>
<img
v-if="formData.imgUrlP1"
:src="formData.imgUrlP1"
@mouseover.stop="imgMouseOverP1 = true"
class="bg-img"
/>
<img
v-if="!formData.imgUrlP1"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete add-left-18"
v-show="imgMouseOverP1"
@click.stop="deleteImg('imgUrlP1')"
@mouseout.stop="imgMouseOverP1 = false"
>
<i class="el-icon-delete"></i>
</div>
</el-upload>
<p class="tips">营业执照</p>
</div>
<div class="flex-upload">
<el-upload
v-model="formData.imgUrlP2"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeUploadProve2"
> >
<img <el-input
v-if="formData.imgUrlP2" type="text"
:src="formData.imgUrlP2" maxlength="50"
@mouseover.stop="imgMouseOverP2 = true" size="small"
class="bg-img" v-model="formData.compainName"
/> placeholder="请输入入驻企业名称"
<img style="width: 85%"
v-if="!formData.imgUrlP2" ></el-input>
class="bg-img" <span class="word-num"
src="../../assets/image/small.png" >{{
/> formData.compainName.replace(/\s+/g, "").length
<div }}/50</span
class="img-delete add-left-18"
v-show="imgMouseOverP2"
@click.stop="deleteImg('imgUrlP2')"
@mouseout.stop="imgMouseOverP2 = false"
> >
<i class="el-icon-delete"></i> </el-form-item>
</div> </el-col>
</el-upload> <el-col :span="10" :offset="1">
<p class="tips">药品经营许可证</p> <el-form-item
</div> label="联系手机号"
<div class="flex-upload"> prop="phoneNum"
<el-upload label-width="95px"
v-model="formData.imgUrlP3" class="required-label"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeUploadProve3"
> >
<img <el-input
v-if="formData.imgUrlP3" type="text"
:src="formData.imgUrlP3" size="small"
@mouseover.stop="imgMouseOverP3 = true" maxlength="11"
class="bg-img" :disabled="isDisabled"
/> v-model="formData.phoneNum"
<img placeholder="请输入联系电话"
v-if="!formData.imgUrlP3" style="width: 85%"
class="bg-img" ></el-input>
src="../../assets/image/small.png" </el-form-item>
/> </el-col>
<div </el-row>
class="img-delete add-left-18" <div
v-show="imgMouseOverP3" class="main-content"
@click.stop="deleteImg('imgUrlP3')" v-for="(item, index) in formData.adminList"
@mouseout.stop="imgMouseOverP3 = false" :key="index"
>
<i class="el-icon-delete"></i>
</div>
</el-upload>
<p class="tips">委托书</p>
</div>
</div>
</el-form-item>
</div>
<div v-if="formData.storeType == 3">
<el-form-item
label="医生姓名"
prop="docName"
class="required-label"
>
<el-input
:disabled="storeData && storeData.tradeStore.storeType == 3"
type="text"
maxlength="50"
size="small"
v-model="formData.docName"
placeholder="请输入医生姓名"
style="width: 35%"
></el-input>
<span class="word-num"
>{{ formData.docName.replace(/\s+/g, "").length }}/50</span
>
</el-form-item>
<el-form-item
label="联系手机号"
prop="docPhone"
class="required-label"
>
<el-input
type="text"
size="small"
maxlength="11"
v-model="formData.docPhone"
:disabled="isDisabled"
placeholder="请输入联系电话"
style="width: 35%"
></el-input>
</el-form-item>
</div>
<div v-if="formData.storeType == 2">
<el-col :span="10">
<el-form-item
label="入驻药店名称"
prop="drugstoreName"
class="required-label"
>
<el-input
type="text"
maxlength="50"
size="small"
v-model="formData.drugstoreName"
placeholder="请输入入驻药店名称"
style="width: 85%"
></el-input>
<span class="word-num"
>{{
formData.drugstoreName.replace(/\s+/g, "").length
}}/50</span
> >
</el-form-item> <el-row>
</el-col> <el-col :span="10">
<el-col :span="10" :offset="1"> <el-form-item label="管理员姓名" class="required-label">
<el-form-item <el-input
label="联系电话" type="text"
prop="drugstorePhone" maxlength="10"
label-width="95px" size="small"
class="required-label" v-model="item.adminName"
> placeholder="请输入管理员姓名"
<el-input style="width: 85%"
type="text" ></el-input>
size="small" <span class="word-num"
maxlength="11" >{{ item.adminName.replace(/\s+/g, "").length }}/10</span
v-model="formData.drugstorePhone" >
:disabled="isDisabled" </el-form-item>
placeholder="请输入联系电话" </el-col>
style="width: 85%" <el-col :span="1" style="text-align: right">
></el-input> <img
</el-form-item> style="margin-top: 5px"
</el-col> src="../../assets/image/lianjie_icon.png"
<el-col :span="24"> />
</el-col>
<el-col :span="10">
<el-form-item
label="手机号"
label-width="95px"
class="required-label"
>
<el-input
type="text"
size="small"
maxlength="11"
v-model="item.adminMobile"
placeholder="请输入管理员手机号"
style="width: 85%"
></el-input>
</el-form-item>
</el-col>
<el-col :span="2" class="span-mt-10">
<img
v-if="index < 4 && index == formData.adminList.length - 1"
@click="addItem(index)"
class="edit-img"
src="../../assets/image/plus.png"
/>
<img
v-if="formData.adminList.length > 1"
@click="deleteItem(index)"
class="edit-img"
src="../../assets/image/trash.png"
/>
</el-col>
</el-row>
</div>
<el-form-item label="营业证明"> <el-form-item label="营业证明">
<p class="p-tips"> <p class="p-tips">
若填写的联系人注册不是法定代表人,请上传委托书<br /> 若填写的联系人注册不是法定代表人,请上传委托书<br />
...@@ -405,28 +229,28 @@ ...@@ -405,28 +229,28 @@
<div style="display: flex"> <div style="display: flex">
<div class="flex-upload"> <div class="flex-upload">
<el-upload <el-upload
v-model="formData.imgUrlC1" v-model="formData.imgUrlP1"
class="bg-uploader" class="bg-uploader"
action="#" action="#"
:show-file-list="false" :show-file-list="false"
:before-upload="beforeUploadC1" :before-upload="beforeUploadProve1"
> >
<img <img
v-if="formData.imgUrlC1" v-if="formData.imgUrlP1"
:src="formData.imgUrlC1" :src="formData.imgUrlP1"
@mouseover.stop="imgMouseOverC1 = true" @mouseover.stop="imgMouseOverP1 = true"
class="bg-img" class="bg-img"
/> />
<img <img
v-if="!formData.imgUrlC1" v-if="!formData.imgUrlP1"
class="bg-img" class="bg-img"
src="../../assets/image/small.png" src="../../assets/image/small.png"
/> />
<div <div
class="img-delete add-left-18" class="img-delete add-left-18"
v-show="imgMouseOverC1" v-show="imgMouseOverP1"
@click.stop="deleteImg('imgUrlC1')" @click.stop="deleteImg('imgUrlP1')"
@mouseout.stop="imgMouseOverC1 = false" @mouseout.stop="imgMouseOverP1 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
...@@ -435,28 +259,28 @@ ...@@ -435,28 +259,28 @@
</div> </div>
<div class="flex-upload"> <div class="flex-upload">
<el-upload <el-upload
v-model="formData.imgUrlC2" v-model="formData.imgUrlP2"
class="bg-uploader" class="bg-uploader"
action="#" action="#"
:show-file-list="false" :show-file-list="false"
:before-upload="beforeUploadC2" :before-upload="beforeUploadProve2"
> >
<img <img
v-if="formData.imgUrlC2" v-if="formData.imgUrlP2"
:src="formData.imgUrlC2" :src="formData.imgUrlP2"
@mouseover.stop="imgMouseOverC2 = true" @mouseover.stop="imgMouseOverP2 = true"
class="bg-img" class="bg-img"
/> />
<img <img
v-if="!formData.imgUrlC2" v-if="!formData.imgUrlP2"
class="bg-img" class="bg-img"
src="../../assets/image/small.png" src="../../assets/image/small.png"
/> />
<div <div
class="img-delete add-left-18" class="img-delete add-left-18"
v-show="imgMouseOverC2" v-show="imgMouseOverP2"
@click.stop="deleteImg('imgUrlC2')" @click.stop="deleteImg('imgUrlP2')"
@mouseout.stop="imgMouseOverC2 = false" @mouseout.stop="imgMouseOverP2 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
...@@ -465,28 +289,28 @@ ...@@ -465,28 +289,28 @@
</div> </div>
<div class="flex-upload"> <div class="flex-upload">
<el-upload <el-upload
v-model="formData.imgUrlC3" v-model="formData.imgUrlP3"
class="bg-uploader" class="bg-uploader"
action="#" action="#"
:show-file-list="false" :show-file-list="false"
:before-upload="beforeUploadC3" :before-upload="beforeUploadProve3"
> >
<img <img
v-if="formData.imgUrlC3" v-if="formData.imgUrlP3"
:src="formData.imgUrlC3" :src="formData.imgUrlP3"
@mouseover.stop="imgMouseOverC3 = true" @mouseover.stop="imgMouseOverP3 = true"
class="bg-img" class="bg-img"
/> />
<img <img
v-if="!formData.imgUrlC3" v-if="!formData.imgUrlP3"
class="bg-img" class="bg-img"
src="../../assets/image/small.png" src="../../assets/image/small.png"
/> />
<div <div
class="img-delete add-left-18" class="img-delete add-left-18"
v-show="imgMouseOverC3" v-show="imgMouseOverP3"
@click.stop="deleteImg('imgUrlC3')" @click.stop="deleteImg('imgUrlP3')"
@mouseout.stop="imgMouseOverC3 = false" @mouseout.stop="imgMouseOverP3 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
...@@ -495,8 +319,186 @@ ...@@ -495,8 +319,186 @@
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </div>
</div> <div v-if="formData.storeType == 3">
<el-form-item
label="医生姓名"
prop="docName"
class="required-label"
>
<el-input
:disabled="storeData && storeData.tradeStore.storeType == 3"
type="text"
maxlength="50"
size="small"
v-model="formData.docName"
placeholder="请输入医生姓名"
style="width: 35%"
></el-input>
<span class="word-num"
>{{ formData.docName.replace(/\s+/g, "").length }}/50</span
>
</el-form-item>
<el-form-item
label="联系手机号"
prop="docPhone"
class="required-label"
>
<el-input
type="text"
size="small"
maxlength="11"
v-model="formData.docPhone"
:disabled="isDisabled"
placeholder="请输入联系电话"
style="width: 35%"
></el-input>
</el-form-item>
</div>
<div v-if="formData.storeType == 2">
<el-row>
<el-col :span="10">
<el-form-item
label="入驻药店名称"
prop="drugstoreName"
class="required-label"
>
<el-input
type="text"
maxlength="50"
size="small"
v-model="formData.drugstoreName"
placeholder="请输入入驻药店名称"
style="width: 85%"
></el-input>
<span class="word-num"
>{{
formData.drugstoreName.replace(/\s+/g, "").length
}}/50</span
>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item
label="联系电话"
prop="drugstorePhone"
label-width="95px"
class="required-label"
>
<el-input
type="text"
size="small"
maxlength="11"
v-model="formData.drugstorePhone"
:disabled="isDisabled"
placeholder="请输入联系电话"
style="width: 85%"
></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="营业证明">
<p class="p-tips">
若填写的联系人注册不是法定代表人,请上传委托书<br />
仅支持jpg、png图片文件,且文件小于3M<br />
上传的证件图片内,必须是加盖过红色公章和法人章,否则视为无效
</p>
<div style="display: flex">
<div class="flex-upload">
<el-upload
v-model="formData.imgUrlC1"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeUploadC1"
>
<img
v-if="formData.imgUrlC1"
:src="formData.imgUrlC1"
@mouseover.stop="imgMouseOverC1 = true"
class="bg-img"
/>
<img
v-if="!formData.imgUrlC1"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete add-left-18"
v-show="imgMouseOverC1"
@click.stop="deleteImg('imgUrlC1')"
@mouseout.stop="imgMouseOverC1 = false"
>
<i class="el-icon-delete"></i>
</div>
</el-upload>
<p class="tips">营业执照</p>
</div>
<div class="flex-upload">
<el-upload
v-model="formData.imgUrlC2"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeUploadC2"
>
<img
v-if="formData.imgUrlC2"
:src="formData.imgUrlC2"
@mouseover.stop="imgMouseOverC2 = true"
class="bg-img"
/>
<img
v-if="!formData.imgUrlC2"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete add-left-18"
v-show="imgMouseOverC2"
@click.stop="deleteImg('imgUrlC2')"
@mouseout.stop="imgMouseOverC2 = false"
>
<i class="el-icon-delete"></i>
</div>
</el-upload>
<p class="tips">药品经营许可证</p>
</div>
<div class="flex-upload">
<el-upload
v-model="formData.imgUrlC3"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeUploadC3"
>
<img
v-if="formData.imgUrlC3"
:src="formData.imgUrlC3"
@mouseover.stop="imgMouseOverC3 = true"
class="bg-img"
/>
<img
v-if="!formData.imgUrlC3"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete add-left-18"
v-show="imgMouseOverC3"
@click.stop="deleteImg('imgUrlC3')"
@mouseout.stop="imgMouseOverC3 = false"
>
<i class="el-icon-delete"></i>
</div>
</el-upload>
<p class="tips">委托书</p>
</div>
</div>
</el-form-item>
</el-col>
</el-row>
</div>
</div> </div>
<div> <div>
<el-col :span="24"> <el-col :span="24">
...@@ -513,56 +515,57 @@ ...@@ -513,56 +515,57 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</div> </div>
<el-form-item label="仓库地址管理" prop="warehouseAdress" class="required-label warehouseAdress-wrap"> <el-form-item label="仓库地址管理" prop="selectedKey" class="required-label warehouseAdress-wrap" v-if="formData.storeType < 3">
<p class="warehouseAdress-tip">(该地址用于买家退货时退回地址,请准确填写)</p> <p class="warehouseAdress-tip">(该地址用于买家退货时退回地址,请准确填写)</p>
<el-button type="success" plain class="warehouseAdress-add" size="small" @click="createAdress">+新增地址</el-button> <el-button type="success" plain class="warehouseAdress-add" size="small" @click="createAdress(0)">+新增地址</el-button>
<el-radio-group v-model="warehouseAdressRadio" class="warehouseAdress-list"> <el-radio-group v-model="formData.selectedKey" class="warehouseAdress-list">
<el-radio :label="3" class="warehouseAdress-item"> <el-radio :label="addressItem.key" class="warehouseAdress-item" v-for="(addressItem, index) of formData.repotList" :key="index">
<span>默认</span> <span>默认</span>
<span class="warehouseAdress-msg">王小丫</span> <span class="warehouseAdress-main">
<span class="warehouseAdress-msg">13889873821</span> <span class="warehouseAdress-msg">{{addressItem.receiver}}</span>
<span class="warehouseAdress-msg">上海市浦东新区兰花路333号世纪大厦22楼云鹊医疗科技有限公司</span> <span class="warehouseAdress-msg">{{addressItem.receiverMobile}}</span>
<span class="warehouseAdress-msg">{{setAddress(addressItem)}}</span>
</span>
<span class="warehouseAdress-do"> <span class="warehouseAdress-do">
<span @click="createAdress(2)">编辑</span><span @click="deleteAdress">删除</span> <span @click.prevent="createAdress(1,index)">编辑</span><span @click.prevent="deleteAdress(index)">删除</span>
</span> </span>
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="退货支持的物流公司" class="required-label"> <el-form-item label="退货支持的物流公司" class="required-label" v-if="formData.storeType < 3">
<el-radio-group v-model="formData.logisticsRadio" @change="changeLogisticsRadio"> <el-radio-group v-model="formData.expressLimitFlag" @change="changeExpressLimitFlag">
<el-radio :label="1">无限制</el-radio> <el-radio :label="1">无限制</el-radio>
<el-radio :label="2">有限制</el-radio> <el-radio :label="2">有限制</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="物流公司名称" class="required-label" v-if="formData.logisticsRadio == 2"> <el-form-item label="物流公司名称" prop="repotExpressList" class="required-label" v-if="formData.expressLimitFlag == 2 && formData.storeType < 3">
<el-select <el-select
v-model="formData.logisticsCmp" v-model="formData.repotExpressList"
filterable filterable
clearable clearable
multiple multiple
placeholder="选择物流公司" placeholder="选择物流公司"
@change="changeProvince"
> >
<el-option <el-option
v-for="item in provincesList" v-for="item in cpmList"
:key="item.provinceId" :key="item.value"
:label="item.provinceName" :label="item.value"
:value="item.provinceId" :value="item.value"
> >
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="退货物流说明"> <el-form-item label="退货物流说明" v-if="formData.storeType < 3">
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-input <el-input
size="small" size="small"
v-model="formData.refundMsg" v-model="formData.expressDesc"
placeholder="请输入退货物流说明" placeholder="请输入退货物流说明"
maxlength="20" maxlength="20"
style="width: 85%" style="width: 85%"
></el-input> ></el-input>
<span class="word-num">{{ formData.refundMsg.replace(/\s+/g, "").length }}/20</span> <span class="word-num">{{ formData.expressDesc.replace(/\s+/g, "").length }}/20</span>
</el-col> </el-col>
</el-row> </el-row>
<p class="p-tips"><i class="el-icon-warning-outline"></i>该文字会在云鹊医App买家退货处显示</p> <p class="p-tips"><i class="el-icon-warning-outline"></i>该文字会在云鹊医App买家退货处显示</p>
...@@ -588,13 +591,13 @@ ...@@ -588,13 +591,13 @@
</div> </div>
</el-dialog> </el-dialog>
<!-- 创建/编辑收货地址弹框 --> <!-- 创建/编辑收货地址弹框 -->
<el-dialog :title="warehouseAdressFormTitle" :visible.sync="warehouseAdressFormVisible"> <el-dialog :title="warehouseAdressFormTitle" :visible.sync="warehouseAdressFormVisible" >
<el-form :model="warehouseAdressForm" :rules="warehouseAdressRules" ref="warehouseAdressForm"> <el-form :model="warehouseAdressForm" :rules="warehouseAdressRules" ref="warehouseAdressForm">
<el-form-item label="收件人" label-width="70px" prop="name"> <el-form-item label="收件人" label-width="70px" prop="receiver">
<el-input v-model="warehouseAdressForm.name" autocomplete="off" clear class="warehouseAdress-input" placeholder="请输入收货人姓名"></el-input> <el-input v-model="warehouseAdressForm.receiver" autocomplete="off" clearable class="warehouseAdress-input" placeholder="请输入收货人姓名"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系方式" label-width="70px" prop="iphone"> <el-form-item label="联系方式" label-width="70px" prop="receiverMobile">
<el-input v-model="warehouseAdressForm.iphone" autocomplete="off" clear class="warehouseAdress-input" placeholder="请输入收货人联系方式"></el-input> <el-input v-model="warehouseAdressForm.receiverMobile" autocomplete="off" clearable class="warehouseAdress-input" placeholder="请输入收货人联系方式"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="provinceId" label="省" label-width="70px"> <el-form-item prop="provinceId" label="省" label-width="70px">
<el-select <el-select
...@@ -639,6 +642,7 @@ ...@@ -639,6 +642,7 @@
filterable filterable
clearable clearable
placeholder="区/县" placeholder="区/县"
@change="changeCounty"
> >
<el-option <el-option
v-for="item in countyList" v-for="item in countyList"
...@@ -649,12 +653,11 @@ ...@@ -649,12 +653,11 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="详细地址" label-width="70px" prop="adress"> <el-form-item label="详细地址" label-width="70px" prop="addr">
<el-input v-model="warehouseAdressForm.adress" autocomplete="off" clear class="warehouseAdress-input"></el-input> <el-input v-model="warehouseAdressForm.addr" autocomplete="off" clearable class="warehouseAdress-input"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="warehouseAdressFormVisible = false">取 消</el-button>
<el-button type="primary" @click="warehouseAdressFormSet">确 定</el-button> <el-button type="primary" @click="warehouseAdressFormSet">确 定</el-button>
</div> </div>
</el-dialog> </el-dialog>
...@@ -667,7 +670,7 @@ let vm = null; ...@@ -667,7 +670,7 @@ let vm = null;
import { openLoading, closeLoading } from "../../utils/utils"; import { openLoading, closeLoading } from "../../utils/utils";
import { doUpload, getFilePath } from "../../utils/qiniu-util"; import { doUpload, getFilePath } from "../../utils/qiniu-util";
import Cropper from "@/components/common/cropper.vue"; import Cropper from "@/components/common/cropper.vue";
import { saveStore, queryStore } from "@/utils/shop"; import { saveStore, queryStore, getLgCompanyList } from "@/utils/shop";
import { getProvinces, getCities, getCounties } from '@/utils/base/baseApi'; import { getProvinces, getCities, getCounties } from '@/utils/base/baseApi';
import { checkMobile } from "@/utils/patients/checkValid"; import { checkMobile } from "@/utils/patients/checkValid";
export default { export default {
...@@ -734,19 +737,39 @@ export default { ...@@ -734,19 +737,39 @@ export default {
imgUrlC1: "", //证明图1 imgUrlC1: "", //证明图1
imgUrlC2: "", //证明图2 imgUrlC2: "", //证明图2
imgUrlC3: "", //证明图3 imgUrlC3: "", //证明图3
warehouseAdress: "",//仓库地址 repotList:[//仓库地址
logisticsRadio: 1, //是否限制物流公司 {
logisticsCmp:[], //支持的物流公司 addr: "asdasd",
refundMsg: '' //退款说明 cityId: 130300000000,
cityName: "秦皇岛市",
countyId: 130306000000,
countyName: "抚宁县",
key: 0,
provinceId: 130,
provinceName: "河北省",
receiver: "河北省河北省河北省河北省河北省河北省河北省河北省河北省河北省河北省河北省",
receiverMobile: "13889873718"
}
],
selectedKey: '', //默认收货地址
expressLimitFlag: 1, //是否限制物流公司
repotExpressList:[], //支持的物流公司
expressDesc: '' //退款说明
}, },
warehouseAdressRadio: 3, //默认收货地址 cpmList: [], //所有的物流公司
warehouseAdressType: 0, // 0为新建地址,1为编辑地址
warehouseAdressIndex: 0, // 编辑的第几条地址
warehouseAdressForm: { //收货地址form warehouseAdressForm: { //收货地址form
name: 'asd', receiver: '',
iphone: '', receiverMobile: '',
provinceId: '', provinceId: '',
cityId: '', cityId: '',
countyId: '', countyId: '',
adress: '' provinceName: '',
cityName: '',
countyName: '',
addr: '',
key: ''
}, },
warehouseAdressFormVisible: false, warehouseAdressFormVisible: false,
warehouseAdressFormTitle: '创建地址', warehouseAdressFormTitle: '创建地址',
...@@ -754,7 +777,7 @@ export default { ...@@ -754,7 +777,7 @@ export default {
cityList: [], cityList: [],
countyList: [], countyList: [],
warehouseAdressRules: { warehouseAdressRules: {
name: [ receiver: [
{ required: true, message: "请输入店铺名称", trigger: "blur" }, { required: true, message: "请输入店铺名称", trigger: "blur" },
{ {
min: 2, min: 2,
...@@ -762,14 +785,14 @@ export default { ...@@ -762,14 +785,14 @@ export default {
trigger: "blur", trigger: "blur",
}, },
], ],
iphone:[ receiverMobile:[
{ required: true, message: "请输入联系电话", trigger: "blur" }, { required: true, message: "请输入联系电话", trigger: "blur" },
{ validator: checkMobile, trigger: ["change", "blur"] }, { validator: checkMobile, trigger: ["change", "blur"] },
], ],
provinceId: { required: true, message: "请选择省", trigger: ["change", "blur"] }, provinceId: { required: true, message: "请选择省", trigger: ["change", "blur"] },
cityId: { required: true, message: "请选择市", trigger: ["change", "blur"] }, cityId: { required: true, message: "请选择市", trigger: ["change", "blur"] },
countyId: { required: true, message: "请选择区/", trigger: ["change", "blur"] }, countyId: { required: true, message: "请选择区/", trigger: ["change", "blur"] },
adress:[ addr:[
{ required: true, message: "请输入详细收货地址", trigger: "blur" } { required: true, message: "请输入详细收货地址", trigger: "blur" }
], ],
}, },
...@@ -867,6 +890,12 @@ export default { ...@@ -867,6 +890,12 @@ export default {
{ required: true, message: "请输入联系电话", trigger: "blur" }, { required: true, message: "请输入联系电话", trigger: "blur" },
{ validator: checkMobile, trigger: ["change", "blur"] }, { validator: checkMobile, trigger: ["change", "blur"] },
], ],
selectedKey: [
{ required: true, message: "请增加地址并选择默认地址", trigger: "change" },
],
repotExpressList: [
{ required: true, message: "请选择物流公司名称", trigger: "change" },
],
}, },
imgMouseOver1: false, imgMouseOver1: false,
uploadImgMessage1: false, //未上传图片,校验提示语 uploadImgMessage1: false, //未上传图片,校验提示语
...@@ -897,6 +926,7 @@ export default { ...@@ -897,6 +926,7 @@ export default {
this.isDisabled = false; this.isDisabled = false;
} }
this.getProvincesList(); this.getProvincesList();
this.getCompanyList();
}, },
methods: { methods: {
//回显数据处理 //回显数据处理
...@@ -989,6 +1019,10 @@ export default { ...@@ -989,6 +1019,10 @@ export default {
}, },
complete() { complete() {
let flag = this.submitForm(); let flag = this.submitForm();
console.log('====== this.formData==============================');
console.log( this.formData);
console.log('====================================');
return
if (flag) { if (flag) {
// let para = { // let para = {
// storeId: this.formData.storeId, // storeId: this.formData.storeId,
...@@ -1455,16 +1489,41 @@ export default { ...@@ -1455,16 +1489,41 @@ export default {
this.formData.adminList.splice(index, 1); this.formData.adminList.splice(index, 1);
}, },
// 创建或编辑地址 type // 创建或编辑地址 type
createAdress(type) { // 编辑第几条数据 index
this.warehouseAdressFormVisible = true; createAdress(type,index) {
this.warehouseAdressType = type;
this.warehouseAdressFormTitle = type ? '编辑地址' : '创建地址'; this.warehouseAdressFormTitle = type ? '编辑地址' : '创建地址';
this.warehouseAdressIndex = type ? index : '';
if (type) {
Object.assign(this.warehouseAdressForm,this.formData.repotList[index]);
this.getCitiesList();
this.getCountiesList();
} else {
this.warehouseAdressForm = {
receiver: '',
receiverMobile: '',
provinceId: '',
cityId: '',
countyId: '',
provinceName: '',
cityName: '',
countyName: '',
addr: '',
key: ''
}
}
this.warehouseAdressFormVisible = true;
}, },
deleteAdress() { deleteAdress(index) {
this.$confirm('确定要删除这条地址信息么?', '提示', { this.$confirm('确定要删除这条地址信息么?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '',
type: 'warning' type: 'error'
}).then(() => { }).then(() => {
if (this.formData.repotList[index].key == this.formData.selectedKey) {
this.formData.selectedKey = '';
}
this.formData.repotList.splice(index,1)
this.$message({ this.$message({
type: 'success', type: 'success',
message: '删除成功!' message: '删除成功!'
...@@ -1478,17 +1537,21 @@ export default { ...@@ -1478,17 +1537,21 @@ export default {
}, },
// 选择省 // 选择省
changeProvince() { changeProvince() {
this.getCitiesList(); this.warehouseAdressForm.cityId = "";
this.warehouseAdressForm.countyId = ""; this.warehouseAdressForm.countyId = "";
this.countyList = []; this.countyList = [];
this.getCitiesList();
this.selectGet(this.warehouseAdressForm.provinceId, 'provinceId', 'provinceName',this.provincesList);
}, },
// 选择市 // 选择市
changeCity() { changeCity() {
this.warehouseAdressForm.countyId = "";
this.getCountiesList(); this.getCountiesList();
this.selectGet(this.warehouseAdressForm.cityId, 'cityId', 'cityName',this.cityList);
}, },
// 选择区 // 选择区
changeCounty() { changeCounty() {
this.getHospitalList(3); this.selectGet(this.warehouseAdressForm.countyId, 'countyId', 'countyName',this.countyList);
}, },
//获取省列表 //获取省列表
getProvincesList() { getProvincesList() {
...@@ -1502,7 +1565,6 @@ export default { ...@@ -1502,7 +1565,6 @@ export default {
}, },
//获取市列表 //获取市列表
getCitiesList() { getCitiesList() {
this.warehouseAdressForm.cityId = "";
let params = { let params = {
provinceId: this.warehouseAdressForm.provinceId, provinceId: this.warehouseAdressForm.provinceId,
}; };
...@@ -1516,7 +1578,6 @@ export default { ...@@ -1516,7 +1578,6 @@ export default {
}, },
//获取区列表 //获取区列表
getCountiesList() { getCountiesList() {
this.warehouseAdressForm.countyId = "";
let params = { let params = {
cityId: this.warehouseAdressForm.cityId, cityId: this.warehouseAdressForm.cityId,
}; };
...@@ -1528,22 +1589,93 @@ export default { ...@@ -1528,22 +1589,93 @@ export default {
}) })
.catch({}); .catch({});
}, },
/* slelect时,获取省市区对应的名称
* vId:省市区id
* cId: id对应的key值名称
* cname: 省市区名称对应的key值
* list: 省市区列表
*/
selectGet(vId,cId,cname, list){
if (!cId || !cname) return;
let obj = {};
obj = list.find((item)=>{//这里的userList就是上面遍历的数据源
return item[cId] === vId;//筛选出匹配数据
});
this.warehouseAdressForm[cname] = obj[cname];
},
// 确认地址 // 确认地址
warehouseAdressFormSet() { warehouseAdressFormSet() {
const {warehouseAdressForm, warehouseAdressIndex, warehouseAdressFormTitle, warehouseAdressType} = this;
const { repotList } = this.formData;
this.$refs['warehouseAdressForm'].validate((valid) => { this.$refs['warehouseAdressForm'].validate((valid) => {
if (valid) { if (valid) {
if (warehouseAdressType) {
repotList[warehouseAdressIndex] = JSON.parse(JSON.stringify(warehouseAdressForm));
} else {
warehouseAdressForm.key = repotList.length + Math.round(Math.random()*1000);
repotList.push(JSON.parse(JSON.stringify(warehouseAdressForm)));
}
this.$message({ this.$message({
type: 'success', type: 'success',
message: `${this.warehouseAdressFormTitle}成功!` message: `${warehouseAdressFormTitle}成功!`
}); });
this.$refs['warehouseAdressForm'].resetFields();
// this.warehouseAdressFormVisible = false;
} }
}); });
}, },
// 切换退货支持的物流公司类型 // 切换退货支持的物流公司类型
changeLogisticsRadio() { changeExpressLimitFlag() {
if(this.formData.logisticsRadio == 1) { if(this.formData.expressLimitFlag == 1) {
this.formData.logisticsCmp = []; this.formData.repotExpressList = [];
} }
},
// 格式化地址
setAddress(arg) {
return arg.provinceName + arg.cityName + arg.countyName + arg.addr;
},
// 获取退货物流
getCompanyList() {
getLgCompanyList()
.then(({ code, data, message }) => {
console.log(data);
if (code == '000000') {
this.cpmList = data;
} else {
this.$toast(message);
}
})
.catch(() => {});
},
// 数据A- Z排序
componentSort() {
if (this.cpmList.length == 0) return;
if (!String.prototype.localeCompare) return null;
var letters = 'ABCDEFGHJKLMNOPQRSTWXYZ'.split('');
var segs = []; // 存放数据
let curr;
letters.filter((items, i) => {
curr = {
key: i,
initial: '', //字母
data: [] //数据
};
this.cpmList.map(v => {
if (v.no_char.toUpperCase() == items) {
curr.data.push(v);
}
});
if (curr.data.length) {
curr.initial = items;
segs.push(curr);
curr.data = curr.data.sort((a, b) => {
return a.no_char.localeCompare(b.no_char);
});
}
});
return Array.from(new Set(segs));
} }
}, },
}; };
...@@ -1699,28 +1831,36 @@ export default { ...@@ -1699,28 +1831,36 @@ export default {
border: 1px solid #DCDFE6; border: 1px solid #DCDFE6;
padding: 10px; padding: 10px;
border-radius: 4px; border-radius: 4px;
height: 100px; height: 114px;
width: 900px; width: 900px;
overflow: scroll; overflow-y: scroll;
&::-webkit-scrollbar { &::-webkit-scrollbar {
height: 2px; height: 2px;
width: 4px; width: 4px;
background-color: #ddd; background-color: #ddd;
} }
.warehouseAdress-item { .warehouseAdress-item {
display: block; display: flex;
width: 100%;
margin-bottom: 20px; margin-bottom: 20px;
position: relative;
&:last-of-type { &:last-of-type {
margin-bottom: 0; margin-bottom: 0;
} }
} }
.warehouseAdress-main {
padding-right: 60px;
}
.warehouseAdress-msg { .warehouseAdress-msg {
color: #606266; color: #606266;
margin: 0 10px; margin: 0 10px;
} }
.warehouseAdress-do { .warehouseAdress-do {
margin-left: 10px; position: sticky;
color: #449284; right: -10px;
color: #449284;
background: #fff;
padding: 0 10px 0 10px;
} }
} }
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册