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

优化仓库地址管理

上级 bd300ef2
......@@ -137,3 +137,12 @@ export const getRefundDesc = (aid) => {
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 @@
</div>
</el-upload>
<p class="upload-message" v-if="!isgoodsImages">请上传商品头图</p>
<!-- <p class="upload-message" v-if="uploadImgMessage1">请上传商品头图</p> -->
</el-form-item>
<el-form-item label="商品类型" prop="goodsType">
<el-select
......@@ -92,7 +93,15 @@
></el-option>
</el-select>
</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>
</el-form>
......@@ -1856,7 +1865,13 @@
font-size: 12px;
color: #f56c6c;
}
.backTip {
font-size: 12px;
color: red;
}
.ad-back {
color: #449284;
}
.img-delete {
position: absolute;
left: 0px;
......
const form1 = {
categoryIdLevel2: '',
categoryIdLevel3: '',
categoryIdLevel4: '',
categoryIdLevel5: '',
medicCommonName:'',
medicGoodsName:'',
size:'',
dosageId:null,
usage:'',
otc1:'1',
approvalNumber:'',
manufacturer:'',
department:'',
expiredTime:'',
specification_url:'',
treatDisease:'',
barCode: '',
modelNo: '', // 型号
standardNo: '', // 执行标准号
}
categoryIdLevel2: "",
categoryIdLevel3: "",
categoryIdLevel4: "",
categoryIdLevel5: "",
medicCommonName: "",
medicGoodsName: "",
size: "",
dosageId: null,
usage: "",
otc1: "1",
approvalNumber: "",
manufacturer: "",
department: "",
expiredTime: "",
specification_url: "",
treatDisease: "",
barCode: "",
modelNo: "", // 型号
standardNo: "", // 执行标准号
hcd: '1' //是否支持退货退款
};
const form2 = {
checkPackageId: '', // 检测登记表,暂无,先隐藏!!!!!!!!!!!
......
......@@ -99,6 +99,9 @@ const rules = {
goodsType:[
{ required: true, message: "请选择商品类型", trigger: "change" }
],
hcd:[
{ required: true, message: "请选择是否支持退货退款", trigger: "change" }
],
optPrice: [
{ required: true, message: "请输入价格", trigger: "blur" },
],
......
......@@ -119,283 +119,107 @@
</el-select>
</el-form-item>
<div>
<div v-if="formData.storeType == 1">
<el-row>
<el-col :span="10">
<el-form-item
label="入驻企业名称"
prop="compainName"
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"
<div v-if="formData.storeType == 1">
<el-row>
<el-col :span="10">
<el-form-item
label="入驻企业名称"
prop="compainName"
class="required-label"
>
<img
v-if="formData.imgUrlP2"
:src="formData.imgUrlP2"
@mouseover.stop="imgMouseOverP2 = true"
class="bg-img"
/>
<img
v-if="!formData.imgUrlP2"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete add-left-18"
v-show="imgMouseOverP2"
@click.stop="deleteImg('imgUrlP2')"
@mouseout.stop="imgMouseOverP2 = false"
<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
>
<i class="el-icon-delete"></i>
</div>
</el-upload>
<p class="tips">药品经营许可证</p>
</div>
<div class="flex-upload">
<el-upload
v-model="formData.imgUrlP3"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeUploadProve3"
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item
label="联系手机号"
prop="phoneNum"
label-width="95px"
class="required-label"
>
<img
v-if="formData.imgUrlP3"
:src="formData.imgUrlP3"
@mouseover.stop="imgMouseOverP3 = true"
class="bg-img"
/>
<img
v-if="!formData.imgUrlP3"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete add-left-18"
v-show="imgMouseOverP3"
@click.stop="deleteImg('imgUrlP3')"
@mouseout.stop="imgMouseOverP3 = false"
>
<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-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-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-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 />
......@@ -405,28 +229,28 @@
<div style="display: flex">
<div class="flex-upload">
<el-upload
v-model="formData.imgUrlC1"
v-model="formData.imgUrlP1"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeUploadC1"
:before-upload="beforeUploadProve1"
>
<img
v-if="formData.imgUrlC1"
:src="formData.imgUrlC1"
@mouseover.stop="imgMouseOverC1 = true"
v-if="formData.imgUrlP1"
:src="formData.imgUrlP1"
@mouseover.stop="imgMouseOverP1 = true"
class="bg-img"
/>
<img
v-if="!formData.imgUrlC1"
v-if="!formData.imgUrlP1"
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"
v-show="imgMouseOverP1"
@click.stop="deleteImg('imgUrlP1')"
@mouseout.stop="imgMouseOverP1 = false"
>
<i class="el-icon-delete"></i>
</div>
......@@ -435,28 +259,28 @@
</div>
<div class="flex-upload">
<el-upload
v-model="formData.imgUrlC2"
v-model="formData.imgUrlP2"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeUploadC2"
:before-upload="beforeUploadProve2"
>
<img
v-if="formData.imgUrlC2"
:src="formData.imgUrlC2"
@mouseover.stop="imgMouseOverC2 = true"
v-if="formData.imgUrlP2"
:src="formData.imgUrlP2"
@mouseover.stop="imgMouseOverP2 = true"
class="bg-img"
/>
<img
v-if="!formData.imgUrlC2"
v-if="!formData.imgUrlP2"
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"
v-show="imgMouseOverP2"
@click.stop="deleteImg('imgUrlP2')"
@mouseout.stop="imgMouseOverP2 = false"
>
<i class="el-icon-delete"></i>
</div>
......@@ -465,28 +289,28 @@
</div>
<div class="flex-upload">
<el-upload
v-model="formData.imgUrlC3"
v-model="formData.imgUrlP3"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeUploadC3"
:before-upload="beforeUploadProve3"
>
<img
v-if="formData.imgUrlC3"
:src="formData.imgUrlC3"
@mouseover.stop="imgMouseOverC3 = true"
v-if="formData.imgUrlP3"
:src="formData.imgUrlP3"
@mouseover.stop="imgMouseOverP3 = true"
class="bg-img"
/>
<img
v-if="!formData.imgUrlC3"
v-if="!formData.imgUrlP3"
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"
v-show="imgMouseOverP3"
@click.stop="deleteImg('imgUrlP3')"
@mouseout.stop="imgMouseOverP3 = false"
>
<i class="el-icon-delete"></i>
</div>
......@@ -495,8 +319,186 @@
</div>
</div>
</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>
<el-col :span="24">
......@@ -513,56 +515,57 @@
</el-form-item>
</el-col>
</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>
<el-button type="success" plain class="warehouseAdress-add" size="small" @click="createAdress">+新增地址</el-button>
<el-radio-group v-model="warehouseAdressRadio" class="warehouseAdress-list">
<el-radio :label="3" class="warehouseAdress-item">
<el-button type="success" plain class="warehouseAdress-add" size="small" @click="createAdress(0)">+新增地址</el-button>
<el-radio-group v-model="formData.selectedKey" class="warehouseAdress-list">
<el-radio :label="addressItem.key" class="warehouseAdress-item" v-for="(addressItem, index) of formData.repotList" :key="index">
<span>默认</span>
<span class="warehouseAdress-msg">王小丫</span>
<span class="warehouseAdress-msg">13889873821</span>
<span class="warehouseAdress-msg">上海市浦东新区兰花路333号世纪大厦22楼云鹊医疗科技有限公司</span>
<span class="warehouseAdress-main">
<span class="warehouseAdress-msg">{{addressItem.receiver}}</span>
<span class="warehouseAdress-msg">{{addressItem.receiverMobile}}</span>
<span class="warehouseAdress-msg">{{setAddress(addressItem)}}</span>
</span>
<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>
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="退货支持的物流公司" class="required-label">
<el-radio-group v-model="formData.logisticsRadio" @change="changeLogisticsRadio">
<el-form-item label="退货支持的物流公司" class="required-label" v-if="formData.storeType < 3">
<el-radio-group v-model="formData.expressLimitFlag" @change="changeExpressLimitFlag">
<el-radio :label="1">无限制</el-radio>
<el-radio :label="2">有限制</el-radio>
</el-radio-group>
</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
v-model="formData.logisticsCmp"
v-model="formData.repotExpressList"
filterable
clearable
multiple
placeholder="选择物流公司"
@change="changeProvince"
>
<el-option
v-for="item in provincesList"
:key="item.provinceId"
:label="item.provinceName"
:value="item.provinceId"
v-for="item in cpmList"
:key="item.value"
:label="item.value"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="退货物流说明">
<el-form-item label="退货物流说明" v-if="formData.storeType < 3">
<el-row>
<el-col :span="10">
<el-input
size="small"
v-model="formData.refundMsg"
v-model="formData.expressDesc"
placeholder="请输入退货物流说明"
maxlength="20"
style="width: 85%"
></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-row>
<p class="p-tips"><i class="el-icon-warning-outline"></i>该文字会在云鹊医App买家退货处显示</p>
......@@ -588,13 +591,13 @@
</div>
</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-item label="收件人" label-width="70px" prop="name">
<el-input v-model="warehouseAdressForm.name" autocomplete="off" clear class="warehouseAdress-input" placeholder="请输入收货人姓名"></el-input>
<el-form-item label="收件人" label-width="70px" prop="receiver">
<el-input v-model="warehouseAdressForm.receiver" autocomplete="off" clearable class="warehouseAdress-input" placeholder="请输入收货人姓名"></el-input>
</el-form-item>
<el-form-item label="联系方式" label-width="70px" prop="iphone">
<el-input v-model="warehouseAdressForm.iphone" autocomplete="off" clear class="warehouseAdress-input" placeholder="请输入收货人联系方式"></el-input>
<el-form-item label="联系方式" label-width="70px" prop="receiverMobile">
<el-input v-model="warehouseAdressForm.receiverMobile" autocomplete="off" clearable class="warehouseAdress-input" placeholder="请输入收货人联系方式"></el-input>
</el-form-item>
<el-form-item prop="provinceId" label="省" label-width="70px">
<el-select
......@@ -639,6 +642,7 @@
filterable
clearable
placeholder="区/县"
@change="changeCounty"
>
<el-option
v-for="item in countyList"
......@@ -649,12 +653,11 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="详细地址" label-width="70px" prop="adress">
<el-input v-model="warehouseAdressForm.adress" autocomplete="off" clear class="warehouseAdress-input"></el-input>
<el-form-item label="详细地址" label-width="70px" prop="addr">
<el-input v-model="warehouseAdressForm.addr" autocomplete="off" clearable class="warehouseAdress-input"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="warehouseAdressFormVisible = false">取 消</el-button>
<el-button type="primary" @click="warehouseAdressFormSet">确 定</el-button>
</div>
</el-dialog>
......@@ -667,7 +670,7 @@ let vm = null;
import { openLoading, closeLoading } from "../../utils/utils";
import { doUpload, getFilePath } from "../../utils/qiniu-util";
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 { checkMobile } from "@/utils/patients/checkValid";
export default {
......@@ -734,19 +737,39 @@ export default {
imgUrlC1: "", //证明图1
imgUrlC2: "", //证明图2
imgUrlC3: "", //证明图3
warehouseAdress: "",//仓库地址
logisticsRadio: 1, //是否限制物流公司
logisticsCmp:[], //支持的物流公司
refundMsg: '' //退款说明
repotList:[//仓库地址
{
addr: "asdasd",
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
name: 'asd',
iphone: '',
receiver: '',
receiverMobile: '',
provinceId: '',
cityId: '',
countyId: '',
adress: ''
provinceName: '',
cityName: '',
countyName: '',
addr: '',
key: ''
},
warehouseAdressFormVisible: false,
warehouseAdressFormTitle: '创建地址',
......@@ -754,7 +777,7 @@ export default {
cityList: [],
countyList: [],
warehouseAdressRules: {
name: [
receiver: [
{ required: true, message: "请输入店铺名称", trigger: "blur" },
{
min: 2,
......@@ -762,14 +785,14 @@ export default {
trigger: "blur",
},
],
iphone:[
receiverMobile:[
{ required: true, message: "请输入联系电话", trigger: "blur" },
{ validator: checkMobile, trigger: ["change", "blur"] },
],
provinceId: { required: true, message: "请选择省", trigger: ["change", "blur"] },
cityId: { required: true, message: "请选择市", trigger: ["change", "blur"] },
countyId: { required: true, message: "请选择区/", trigger: ["change", "blur"] },
adress:[
addr:[
{ required: true, message: "请输入详细收货地址", trigger: "blur" }
],
},
......@@ -867,6 +890,12 @@ export default {
{ required: true, message: "请输入联系电话", trigger: "blur" },
{ validator: checkMobile, trigger: ["change", "blur"] },
],
selectedKey: [
{ required: true, message: "请增加地址并选择默认地址", trigger: "change" },
],
repotExpressList: [
{ required: true, message: "请选择物流公司名称", trigger: "change" },
],
},
imgMouseOver1: false,
uploadImgMessage1: false, //未上传图片,校验提示语
......@@ -897,6 +926,7 @@ export default {
this.isDisabled = false;
}
this.getProvincesList();
this.getCompanyList();
},
methods: {
//回显数据处理
......@@ -989,6 +1019,10 @@ export default {
},
complete() {
let flag = this.submitForm();
console.log('====== this.formData==============================');
console.log( this.formData);
console.log('====================================');
return
if (flag) {
// let para = {
// storeId: this.formData.storeId,
......@@ -1455,16 +1489,41 @@ export default {
this.formData.adminList.splice(index, 1);
},
// 创建或编辑地址 type
createAdress(type) {
this.warehouseAdressFormVisible = true;
// 编辑第几条数据 index
createAdress(type,index) {
this.warehouseAdressType = 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('确定要删除这条地址信息么?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
cancelButtonText: '',
type: 'error'
}).then(() => {
if (this.formData.repotList[index].key == this.formData.selectedKey) {
this.formData.selectedKey = '';
}
this.formData.repotList.splice(index,1)
this.$message({
type: 'success',
message: '删除成功!'
......@@ -1478,17 +1537,21 @@ export default {
},
// 选择省
changeProvince() {
this.getCitiesList();
this.warehouseAdressForm.cityId = "";
this.warehouseAdressForm.countyId = "";
this.countyList = [];
this.getCitiesList();
this.selectGet(this.warehouseAdressForm.provinceId, 'provinceId', 'provinceName',this.provincesList);
},
// 选择市
changeCity() {
this.warehouseAdressForm.countyId = "";
this.getCountiesList();
this.selectGet(this.warehouseAdressForm.cityId, 'cityId', 'cityName',this.cityList);
},
// 选择区
changeCounty() {
this.getHospitalList(3);
this.selectGet(this.warehouseAdressForm.countyId, 'countyId', 'countyName',this.countyList);
},
//获取省列表
getProvincesList() {
......@@ -1502,7 +1565,6 @@ export default {
},
//获取市列表
getCitiesList() {
this.warehouseAdressForm.cityId = "";
let params = {
provinceId: this.warehouseAdressForm.provinceId,
};
......@@ -1516,7 +1578,6 @@ export default {
},
//获取区列表
getCountiesList() {
this.warehouseAdressForm.countyId = "";
let params = {
cityId: this.warehouseAdressForm.cityId,
};
......@@ -1528,22 +1589,93 @@ export default {
})
.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() {
const {warehouseAdressForm, warehouseAdressIndex, warehouseAdressFormTitle, warehouseAdressType} = this;
const { repotList } = this.formData;
this.$refs['warehouseAdressForm'].validate((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({
type: 'success',
message: `${this.warehouseAdressFormTitle}成功!`
message: `${warehouseAdressFormTitle}成功!`
});
this.$refs['warehouseAdressForm'].resetFields();
// this.warehouseAdressFormVisible = false;
}
});
},
// 切换退货支持的物流公司类型
changeLogisticsRadio() {
if(this.formData.logisticsRadio == 1) {
this.formData.logisticsCmp = [];
changeExpressLimitFlag() {
if(this.formData.expressLimitFlag == 1) {
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 {
border: 1px solid #DCDFE6;
padding: 10px;
border-radius: 4px;
height: 100px;
height: 114px;
width: 900px;
overflow: scroll;
overflow-y: scroll;
&::-webkit-scrollbar {
height: 2px;
width: 4px;
background-color: #ddd;
}
.warehouseAdress-item {
display: block;
display: flex;
width: 100%;
margin-bottom: 20px;
position: relative;
&:last-of-type {
margin-bottom: 0;
}
}
.warehouseAdress-main {
padding-right: 60px;
}
.warehouseAdress-msg {
color: #606266;
margin: 0 10px;
}
.warehouseAdress-do {
margin-left: 10px;
color: #449284;
position: sticky;
right: -10px;
color: #449284;
background: #fff;
padding: 0 10px 0 10px;
}
}
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册