提交 b3436032 编写于 作者: 张磊's avatar 张磊

save

上级 2cf557d3
...@@ -2103,6 +2103,11 @@ ...@@ -2103,6 +2103,11 @@
"assert-plus": "^1.0.0" "assert-plus": "^1.0.0"
} }
}, },
"dayjs": {
"version": "1.10.7",
"resolved": "http://192.168.110.93:4873/dayjs/-/dayjs-1.10.7.tgz",
"integrity": "sha1-LPX5Gt0oEWdIRAhmoKHSbzps5Gg="
},
"de-indent": { "de-indent": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "http://192.168.110.93:4873/de-indent/-/de-indent-1.0.2.tgz", "resolved": "http://192.168.110.93:4873/de-indent/-/de-indent-1.0.2.tgz",
......
...@@ -155,3 +155,41 @@ export const getStoreAdressRepot = (storeId) => { ...@@ -155,3 +155,41 @@ export const getStoreAdressRepot = (storeId) => {
description: "获取店铺退货地址信息", description: "获取店铺退货地址信息",
}); });
}; };
export const OCRStore = (params) => {
return fetch({
headers,
url: getBaseUrl(`store/ocr/license`),
method: 'post',
data: params,
description: 'ocr店铺',
})
};
export const idCardOcr = (params) => {
return fetch({
headers,
url: getBaseUrl(`store/ocr/idCard`),
method: 'post',
data: params,
description: '身份证ocr',
})
};
export const orgOptionList = () => {
return fetch({
headers,
url: getBaseUrl(`store/cert/constant/org/type`),
method: 'get',
description: '企业类型列表',
})
};
export const orgScopeOptionList = () => {
return fetch({
headers,
url: getBaseUrl(`store/cert/constant/biz/scope`),
method: 'get',
description: '经营范围',
})
};
...@@ -7,7 +7,12 @@ ...@@ -7,7 +7,12 @@
<div class="create-shop-content screenSet" id="screenSet"> <div class="create-shop-content screenSet" id="screenSet">
<el-row class="step-content"> <el-row class="step-content">
<el-col :span="20"> <el-col :span="20">
<p class="title">{{curmbSecond}}</p> <p class="title">
<span>
{{curmbSecond}}
</span>
<span class="verify-status" style="margin-left: 20px">{{1 | verifyStatus}}</span>
</p>
</el-col> </el-col>
<el-col :span="4" style="text-align: right"> <el-col :span="4" style="text-align: right">
<el-button <el-button
...@@ -29,6 +34,9 @@ ...@@ -29,6 +34,9 @@
class="basic-form" class="basic-form"
style="margin-top: 15px" style="margin-top: 15px"
> >
<div>
<el-tabs v-model="activeTabName" @tab-click="handleTabName">
<el-tab-pane label="基本信息" name="first">
<div class="basic-item-icon"> <div class="basic-item-icon">
<el-form-item label="店铺LOGO" class="required-label"> <el-form-item label="店铺LOGO" class="required-label">
<el-upload <el-upload
...@@ -118,6 +126,12 @@ ...@@ -118,6 +126,12 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="" prop="storeType">
<el-button class="ml" size="small" type="primary" @click="nextStepFirst">下一步</el-button>
</el-form-item>
</el-tab-pane>
<el-tab-pane v-if="formData.storeType != 3" label="资质信息" name="second">
<div> <div>
<div v-if="formData.storeType == 1"> <div v-if="formData.storeType == 1">
<el-row> <el-row>
...@@ -220,297 +234,706 @@ ...@@ -220,297 +234,706 @@
</el-col> </el-col>
</el-row> </el-row>
</div> </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>
<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-row>
</div>
</div>
<el-form-item
label="企业类型"
prop="certifyReq.orgType"
>
<el-select
v-model="formData.certifyReq.orgType"
placeholder="请选择企业类型类型"
size="small"
clearable
:disabled="isDisabled"
style="width: 35%"
>
<el-option
v-for="(item, index) in orgLIST"
:key="index"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label="企业地区"
>
<el-cascader
style="width:35%"
size="small"
:options="optionsRegion"
:props="propsRegion"
@change="handleRegionChange"
placeholder="请选择地区"
></el-cascader>
</el-form-item>
<el-form-item
label="详细地址"
prop="certifyReq.orgAddress"
>
<el-input
size="small"
v-model="formData.certifyReq.orgAddress"
placeholder="请填写详细地址"
style="width: 35%"
></el-input>
</el-form-item>
<el-form-item
label="经营范围"
>
<el-cascader
v-model="formData.certifyReq.bizScope"
style="width: 360px"
size="small"
:options="orgScopeLIST"
@change="orgScopeLISTChange"
:props="{value: 'id', label: 'name',children: 'list', multiple: true, checkStrictly: true}"
>
</el-cascader>
</el-form-item>
<el-form-item label="营业证明"> <el-form-item label="营业证明">
<p class="tips">营业执照</p>
<p class="p-tips"> <p class="p-tips">
若填写的联系人注册不是法定代表人,请上传委托书<br /> 仅支持jpg、png图片文件,且文件小于2M<br />
仅支持jpg、png图片文件,且文件小于3M<br />
上传的证件图片内,必须是加盖过红色公章和法人章,否则视为无效 上传的证件图片内,必须是加盖过红色公章和法人章,否则视为无效
</p> </p>
<div style="display: flex"> <div>
<div class="flex-upload"> <div>
<el-upload <el-upload
v-model="formData.imgUrlP1" v-model="formData.imgUrlC1"
class="bg-uploader" class="bg-uploader"
action="#" action="#"
:show-file-list="false" :show-file-list="false"
:before-upload="beforeUploadProve1" :before-upload="(file) => {this.beforeUploadOrg(file, 'imgUrlC1')}"
> >
<img <img
v-if="formData.imgUrlP1" v-if="formData.imgUrlC1"
:src="formData.imgUrlP1" :src="formData.imgUrlC1"
@mouseover.stop="imgMouseOverP1 = true" @mouseover.stop="imgMouseOverC1 = true"
class="bg-img" class="bg-img"
/> />
<img <img
v-if="!formData.imgUrlP1" v-if="!formData.imgUrlC1"
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"
v-show="imgMouseOverP1" v-show="imgMouseOverC1"
@click.stop="deleteImg('imgUrlP1')" @click.stop="deleteImg('imgUrlC1')"
@mouseout.stop="imgMouseOverP1 = false" @mouseout.stop="imgMouseOverC1 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
</el-upload> </el-upload>
<p class="tips">营业执照</p> <div class="img-data">
<el-form-item
label="企业名称"
label-width="80px"
>
<el-input
size="small"
placeholder="请输入"
v-model="formData.certifyReq.orgName"
></el-input>
</el-form-item>
<el-form-item
label="信用代码"
>
<el-input
size="small"
placeholder="请输入"
v-model="formData.certifyReq.creditCode"
></el-input>
</el-form-item>
<el-form-item
label="有效日期"
>
<el-date-picker
v-model="imgUrlC1Date"
@change="(v) => {this.orgDate(v, 'imgUrlC1')}"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
</div> </div>
<div class="flex-upload"> </div>
<el-form-item label="认证类型" label-width="80px">
<el-radio-group v-model="formData.isLegal">
<el-radio :label="1">法人认证</el-radio>
<el-radio :label="2">委托人认证</el-radio>
</el-radio-group>
</el-form-item>
<div v-if="formData.isLegal == 2">
<div>委托人身份证</div>
<div class="flex-wrap">
<el-upload <el-upload
v-model="formData.imgUrlP2" v-model="formData.imgUrlC4"
class="bg-uploader" class="bg-uploader"
action="#" action="#"
:show-file-list="false" :show-file-list="false"
:before-upload="beforeUploadProve2" :before-upload="(file) => {this.beforeUploadOrg(file, 'imgUrlC4')}"
> >
<img <img
v-if="formData.imgUrlP2" v-if="formData.imgUrlC4"
:src="formData.imgUrlP2" :src="formData.imgUrlC4"
@mouseover.stop="imgMouseOverP2 = true" @mouseover.stop="imgMouseOverC4 = true"
class="bg-img" class="bg-img"
/> />
<img <img
v-if="!formData.imgUrlP2" v-if="!formData.imgUrlC4"
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"
v-show="imgMouseOverP2" v-show="imgMouseOverC4"
@click.stop="deleteImg('imgUrlP2')" @click.stop="deleteImg('imgUrlC4')"
@mouseout.stop="imgMouseOverP2 = false" @mouseout.stop="imgMouseOverC4 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
</el-upload> </el-upload>
<p class="tips">药品经营许可证</p>
</div>
<div class="flex-upload">
<el-upload <el-upload
v-model="formData.imgUrlP3" v-model="formData.imgUrlC5"
class="bg-uploader" class="bg-uploader"
action="#" action="#"
:show-file-list="false" :show-file-list="false"
:before-upload="beforeUploadProve3" :before-upload="(file) => {this.beforeUploadOrg(file, 'imgUrlC5')}"
> >
<img <img
v-if="formData.imgUrlP3" v-if="formData.imgUrlC5"
:src="formData.imgUrlP3" :src="formData.imgUrlC5"
@mouseover.stop="imgMouseOverP3 = true" @mouseover.stop="imgMouseOverC5 = true"
class="bg-img" class="bg-img"
/> />
<img <img
v-if="!formData.imgUrlP3" v-if="!formData.imgUrlC5"
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"
v-show="imgMouseOverP3" v-show="imgMouseOverC5"
@click.stop="deleteImg('imgUrlP3')" @click.stop="deleteImg('imgUrlC5')"
@mouseout.stop="imgMouseOverP3 = false" @mouseout.stop="imgMouseOverC5 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
</el-upload> </el-upload>
<p class="tips">委托书</p>
</div>
</div> </div>
<div class="img-data">
<el-form-item
label="委托人姓名"
label-width="80px"
v-model="formData.certifyReq.assignorName"
>
<el-input
size="small"
placeholder="请输入"
></el-input>
</el-form-item> </el-form-item>
</div>
<div v-if="formData.storeType == 3">
<el-form-item <el-form-item
label="医生姓名" label="证件号码"
prop="docName"
class="required-label"
> >
<el-input <el-input
:disabled="storeData && storeData.tradeStore.storeType == 3"
type="text"
maxlength="50"
size="small" size="small"
v-model="formData.docName" placeholder="请输入"
placeholder="请输入医生姓名" v-model="formData.certifyReq.assignorCertNo"
style="width: 35%"
></el-input> ></el-input>
<span class="word-num" </el-form-item>
>{{ formData.docName.replace(/\s+/g, "").length }}/50</span <el-form-item
label="有效日期"
> >
<el-date-picker
v-model="imgUrlC5Date"
@change="(v) => {this.orgDate(v, 'imgUrlC5')}"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item> </el-form-item>
</div>
</div>
<div v-if="formData.isLegal == 2" class="flex-upload">
<div>委托书</div>
<el-upload
v-model="formData.imgUrlP7"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP7')}"
>
<img
v-if="formData.imgUrlP7"
:src="formData.imgUrlP7"
@mouseover.stop="imgMouseOverP7 = true"
class="bg-img"
/>
<img
v-if="!formData.imgUrlP7"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete"
v-show="imgMouseOverP7"
@click.stop="deleteImg('imgUrlP7')"
@mouseout.stop="imgMouseOverP7 = false"
>
<i class="el-icon-delete"></i>
</div>
</el-upload>
</div>
<div>
<div>法人身份证</div>
<div class="flex-wrap">
<el-upload
v-model="formData.imgUrlC2"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="(file) => {this.beforeUploadOrg(file, 'imgUrlC2')}"
>
<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"
v-show="imgMouseOverC2"
@click.stop="deleteImg('imgUrlC2')"
@mouseout.stop="imgMouseOverC2 = false"
>
<i class="el-icon-delete"></i>
</div>
<div>身份证正面</div>
</el-upload>
<el-upload
v-model="formData.imgUrlC3"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="(file) => {this.beforeUploadOrg(file, 'imgUrlC3')}"
>
<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"
v-show="imgMouseOverC3"
@click.stop="deleteImg('imgUrlC3')"
@mouseout.stop="imgMouseOverC3 = false"
>
<i class="el-icon-delete"></i>
</div>
<div>身份证反面</div>
</el-upload>
</div>
<div class="img-data">
<el-form-item <el-form-item
label="联系手机号" label="法人姓名"
prop="docPhone" label-width="80px"
class="required-label"
> >
<el-input <el-input
type="text"
size="small" size="small"
maxlength="11" placeholder="请输入"
v-model="formData.docPhone" v-model="formData.certifyReq.legalName"
:disabled="isDisabled"
placeholder="请输入联系电话"
style="width: 35%"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</div>
<div v-if="formData.storeType == 2">
<el-row>
<el-col :span="10">
<el-form-item <el-form-item
label="入驻药店名称" label="证件号码"
prop="drugstoreName"
class="required-label"
> >
<el-input <el-input
type="text"
maxlength="50"
size="small" size="small"
v-model="formData.drugstoreName" placeholder="请输入"
placeholder="请输入入驻药店名称" v-model="formData.certifyReq.legalCertNo"
style="width: 85%"
></el-input> ></el-input>
<span class="word-num" </el-form-item>
>{{ <el-form-item
formData.drugstoreName.replace(/\s+/g, "").length label="有效日期"
}}/50</span >
<el-date-picker
v-model="imgUrlC3Date"
@change="(v) => {this.orgDate(v, 'imgUrlC3')}"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
</div>
</div>
<div class="line-section"></div>
</div>
</el-form-item>
<el-form-item label="资质信息" v-if="formData.storeType < 3">
<div >
<p class="tips">药品经营许可证</p>
<el-upload
v-model="formData.imgUrlP1"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP1')}"
>
<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"
v-show="imgMouseOverP1"
@click.stop="deleteImg('imgUrlP1')"
@mouseout.stop="imgMouseOverP1 = false"
> >
</el-form-item> <i class="el-icon-delete"></i>
</el-col> </div>
<el-col :span="10" :offset="1"> </el-upload>
<el-form-item <el-form-item
label="联系电话" label="有效日期"
prop="drugstorePhone" label-width="80px"
label-width="95px"
class="required-label"
> >
<el-input <el-date-picker
type="text" v-model="imgUrlP1Date"
size="small" @change="(v) => {this.orgDate(v, 'imgUrlP1')}"
maxlength="11" type="daterange"
v-model="formData.drugstorePhone" range-separator="至"
:disabled="isDisabled" start-placeholder="开始日期"
placeholder="请输入联系电话" end-placeholder="结束日期">
style="width: 85%" </el-date-picker>
></el-input>
</el-form-item> </el-form-item>
</el-col> </div>
<el-col :span="24"> <div >
<el-form-item label="营业证明"> <p class="tips">药品经营质量管理规范认证证书</p>
<p class="p-tips">
若填写的联系人注册不是法定代表人,请上传委托书<br />
仅支持jpg、png图片文件,且文件小于3M<br />
上传的证件图片内,必须是加盖过红色公章和法人章,否则视为无效
</p>
<div style="display: flex">
<div class="flex-upload">
<el-upload <el-upload
v-model="formData.imgUrlC1" v-model="formData.imgUrlP2"
class="bg-uploader" class="bg-uploader"
action="#" action="#"
:show-file-list="false" :show-file-list="false"
:before-upload="beforeUploadC1" :before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP2')}"
> >
<img <img
v-if="formData.imgUrlC1" v-if="formData.imgUrlP2"
:src="formData.imgUrlC1" :src="formData.imgUrlP2"
@mouseover.stop="imgMouseOverC1 = true" @mouseover.stop="imgMouseOverP2 = true"
class="bg-img" class="bg-img"
/> />
<img <img
v-if="!formData.imgUrlC1" 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"
v-show="imgMouseOverC1" v-show="imgMouseOverP2"
@click.stop="deleteImg('imgUrlC1')" @click.stop="deleteImg('imgUrlP2')"
@mouseout.stop="imgMouseOverC1 = false" @mouseout.stop="imgMouseOverP2 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
</el-upload> </el-upload>
<p class="tips">营业执照</p> <el-form-item
label="有效日期"
label-width="80px"
>
<el-date-picker
v-model="imgUrlP2Date"
@change="(v) => {this.orgDate(v, 'imgUrlP2')}"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
</div> </div>
<div class="flex-upload"> <div >
<p class="tips">食品经营(流通)许可证</p>
<el-upload <el-upload
v-model="formData.imgUrlC2" v-model="formData.imgUrlP3"
class="bg-uploader" class="bg-uploader"
action="#" action="#"
:show-file-list="false" :show-file-list="false"
:before-upload="beforeUploadC2" :before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP3')}"
> >
<img <img
v-if="formData.imgUrlC2" v-if="formData.imgUrlP3"
:src="formData.imgUrlC2" :src="formData.imgUrlP3"
@mouseover.stop="imgMouseOverC2 = true" @mouseover.stop="imgMouseOverP3 = true"
class="bg-img" class="bg-img"
/> />
<img <img
v-if="!formData.imgUrlC2" 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"
v-show="imgMouseOverC2" v-show="imgMouseOverP3"
@click.stop="deleteImg('imgUrlC2')" @click.stop="deleteImg('imgUrlP3')"
@mouseout.stop="imgMouseOverC2 = false" @mouseout.stop="imgMouseOverP3 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
</el-upload> </el-upload>
<p class="tips">药品经营许可证</p> <el-form-item
label="有效日期"
label-width="80px"
>
<el-date-picker
v-model="imgUrlP3Date"
@change="(v) => {this.orgDate(v, 'imgUrlP3')}"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
</div> </div>
<div class="flex-upload"> <div >
<p class="tips">医疗器械经营许可证</p>
<el-upload <el-upload
v-model="formData.imgUrlC3" v-model="formData.imgUrlP4"
class="bg-uploader" class="bg-uploader"
action="#" action="#"
:show-file-list="false" :show-file-list="false"
:before-upload="beforeUploadC3" :before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP4')}"
> >
<img <img
v-if="formData.imgUrlC3" v-if="formData.imgUrlP4"
:src="formData.imgUrlC3" :src="formData.imgUrlP4"
@mouseover.stop="imgMouseOverC3 = true" @mouseover.stop="imgMouseOverP4 = true"
class="bg-img" class="bg-img"
/> />
<img <img
v-if="!formData.imgUrlC3" v-if="!formData.imgUrlP4"
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"
v-show="imgMouseOverC3" v-show="imgMouseOverP4"
@click.stop="deleteImg('imgUrlC3')" @click.stop="deleteImg('imgUrlP4')"
@mouseout.stop="imgMouseOverC3 = false" @mouseout.stop="imgMouseOverP4 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
</el-upload> </el-upload>
<p class="tips">委托书</p> <el-form-item
label="有效日期"
label-width="80px"
>
<el-date-picker
v-model="imgUrlP4Date"
@change="(v) => {this.orgDate(v, 'imgUrlP4')}"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
</div> </div>
<div >
<p class="tips">医疗器械网络销售备案</p>
<el-upload
v-model="formData.imgUrlP5"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP5')}"
>
<img
v-if="formData.imgUrlP5"
:src="formData.imgUrlP5"
@mouseover.stop="imgMouseOverP5 = true"
class="bg-img"
/>
<img
v-if="!formData.imgUrlP5"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete"
v-show="imgMouseOverP5"
@click.stop="deleteImg('imgUrlP5')"
@mouseout.stop="imgMouseOverP5 = false"
>
<i class="el-icon-delete"></i>
</div> </div>
</el-upload>
<el-form-item
label="有效日期"
label-width="80px"
>
<el-date-picker
v-model="imgUrlP5Date"
@change="(v) => {this.orgDate(v, 'imgUrlP5')}"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item> </el-form-item>
</el-col>
</el-row>
</div> </div>
<div >
<p class="tips">二类医疗器械经营备案凭证</p>
<el-upload
v-model="formData.imgUrlP6"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP6')}"
>
<img
v-if="formData.imgUrlP6"
:src="formData.imgUrlP6"
@mouseover.stop="imgMouseOverP6 = true"
class="bg-img"
/>
<img
v-if="!formData.imgUrlP6"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete"
v-show="imgMouseOverP6"
@click.stop="deleteImg('imgUrlP6')"
@mouseout.stop="imgMouseOverP6 = false"
>
<i class="el-icon-delete"></i>
</div> </div>
</el-upload>
<el-form-item <el-form-item
label="医疗资质" label="有效日期"
prop="storeQualityUrl" label-width="80px"
> >
<el-input <el-date-picker
size="small" v-model="imgUrlP6Date"
v-model="formData.storeQualityUrl" @change="(v) => {this.orgDate(v, 'imgUrlP6')}"
placeholder="请填写URL,仅对批发商品生效" type="daterange"
style="width: 35%" range-separator="至"
></el-input> start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item> </el-form-item>
</div>
</el-form-item>
<el-form-item label="" prop="storeType">
<el-button class="ml" size="small" @click="nextStepFirst">上一步</el-button>
<el-button class="ml" size="small" type="primary" @click="nextStepFirst">下一步</el-button>
</el-form-item>
</el-tab-pane>
<el-tab-pane v-if="formData.storeType != 3" label="其他设置" name="third">
<el-form-item label="仓库地址管理" prop="selectedKey" class="required-label warehouseAdress-wrap" v-if="formData.storeType < 3"> <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(0)">+新增地址</el-button> <el-button type="success" plain class="warehouseAdress-add" size="small" @click="createAdress(0)">+新增地址</el-button>
...@@ -566,6 +989,9 @@ ...@@ -566,6 +989,9 @@
</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>
</el-form-item> </el-form-item>
</el-tab-pane>
</el-tabs>
</div>
</el-form> </el-form>
<!-- 图片裁剪弹框 --> <!-- 图片裁剪弹框 -->
<el-dialog <el-dialog
...@@ -681,13 +1107,15 @@ ...@@ -681,13 +1107,15 @@
</template> </template>
<script> <script>
import BreadCrumb from "@/components/breadcrumb.vue"; import BreadCrumb from "@/components/breadcrumb.vue";
let vm = null; import dayjs from 'dayjs';
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, getLgCompanyList, getStoreAdressRepot } from "@/utils/shop"; import { saveStore, queryStore, getLgCompanyList, getStoreAdressRepot, OCRStore, idCardOcr, orgOptionList, orgScopeOptionList} from "@/utils/shop";
import { getProvinces, getCities, getCounties, getTowns } from '@/utils/base/baseApi'; import { getProvinces, getCities, getCounties, getTowns } from '@/utils/base/baseApi';
import { checkMobile } from "@/utils/patients/checkValid"; import { checkMobile } from "@/utils/patients/checkValid";
import * as operationData from "../../utils/operation";
let vm = null;
export default { export default {
components: { components: {
BreadCrumb, BreadCrumb,
...@@ -704,6 +1132,7 @@ export default { ...@@ -704,6 +1132,7 @@ export default {
} }
}; };
return { return {
activeTabName:'first',
curmbFirst: "云鹊店铺", curmbFirst: "云鹊店铺",
curmbSecond: "新建店铺", curmbSecond: "新建店铺",
isDisabled: false, isDisabled: false,
...@@ -722,6 +1151,7 @@ export default { ...@@ -722,6 +1151,7 @@ export default {
value: 3, value: 3,
}, },
], ],
licenseDate: '',
formData: { formData: {
storeId: null, storeId: null,
userId: null, userId: null,
...@@ -745,6 +1175,10 @@ export default { ...@@ -745,6 +1175,10 @@ export default {
imgUrlP1: "", //证明图1 imgUrlP1: "", //证明图1
imgUrlP2: "", //证明图2 imgUrlP2: "", //证明图2
imgUrlP3: "", //证明图3 imgUrlP3: "", //证明图3
imgUrlP4: "", //证明图4
imgUrlP5: "", //证明图5
imgUrlP6: "", //证明图6
imgUrlP7: "", //证明图7
docName: "", //医生小店-医生姓名 docName: "", //医生小店-医生姓名
docPhone: "", //医生小店-联系电话 docPhone: "", //医生小店-联系电话
drugstoreName: "", //小药房-药店名称 drugstoreName: "", //小药房-药店名称
...@@ -752,6 +1186,8 @@ export default { ...@@ -752,6 +1186,8 @@ export default {
imgUrlC1: "", //证明图1 imgUrlC1: "", //证明图1
imgUrlC2: "", //证明图2 imgUrlC2: "", //证明图2
imgUrlC3: "", //证明图3 imgUrlC3: "", //证明图3
imgUrlC4: "",
imgUrlC5: "",
repotList:[//仓库地址 repotList:[//仓库地址
// { // {
// addr: "asdasd", // addr: "asdasd",
...@@ -769,7 +1205,20 @@ export default { ...@@ -769,7 +1205,20 @@ export default {
selectedKey: '', //默认收货地址 selectedKey: '', //默认收货地址
expressLimitFlag: 0, //是否限制物流公司 expressLimitFlag: 0, //是否限制物流公司
repotExpressList:[], //支持的物流公司 repotExpressList:[], //支持的物流公司
expressDesc: '' //退款说明 expressDesc: '', //退款说明
isLegal: 1,
certifyReq:{
orgType: '',
orgName:'',
licenseUrl:'',
licenseValidDateBegin:'',
licenseValidDateEnd:'',
licenseType: 1,
creditCode:'',
assignor_letter_url:'',
bizScope:''
},
certifyLicenseImgList: []
}, },
cpmList: [], //所有的物流公司 cpmList: [], //所有的物流公司
warehouseAdressType: 0, // 0为新建地址,1为编辑地址 warehouseAdressType: 0, // 0为新建地址,1为编辑地址
...@@ -921,20 +1370,74 @@ export default { ...@@ -921,20 +1370,74 @@ export default {
imgMouseOverP1: false, imgMouseOverP1: false,
imgMouseOverP2: false, imgMouseOverP2: false,
imgMouseOverP3: false, imgMouseOverP3: false,
imgMouseOverP4: false,
imgMouseOverP5: false,
imgMouseOverP6: false,
imgMouseOverP7: false,
imgMouseOverC1: false, imgMouseOverC1: false,
imgMouseOverC2: false, imgMouseOverC2: false,
imgMouseOverC3: false, imgMouseOverC3: false,
addItemFlag: true, imgMouseOverC4: false,
enterType: 1, imgMouseOverC5: false,
imgUrlP6Date: '',
imgUrlP5Date: '',
imgUrlP4Date: '',
imgUrlP3Date: '',
imgUrlP2Date: '',
imgUrlP1Date: '',
imgUrlC3Date:'',
imgUrlC5Date:'',
imgUrlC1Date:'',
optionsRegion: [],
propsRegion: {
lazy: true,
lazyLoad(node, resolve) {
console.log("node", node);
if (node.level == 1) {
let req = {
provinceId: node.data.value
};
vm.GET("basic-data/position/cities", req).then(res => {
let newData = vm.setMoreOption(res.data.cityList, "cities");
console.log("newData", newData);
resolve(newData);
});
} else if (node.level == 2) {
let req = {
cityId: node.data.value
};
vm.GET("basic-data/position/counties", req).then(res => {
let newData = vm.setMoreOption(res.data.countyList, "counties");
console.log("newData", newData);
resolve(newData);
});
} else if (node.level == 3) {
let req = {
countyId: node.data.value
};
vm.GET("basic-data/position/towns", req).then(res => {
let newData = vm.setMoreOption(res.data.townList, "towns");
console.log("newData", newData);
resolve(newData);
});
}
}
},
orgLIST: [],
orgScopeLIST:[]
}; };
}, },
computed: {
},
watch: {}, watch: {},
created() { created() {
vm = this; vm = this;
this.activeTabName = this.$route.query.currentTab || 'first';
this.formData.storeId = this.$route.query.storeId || null; this.formData.storeId = this.$route.query.storeId || null;
// this.storeData = this.$route.query.storeData || null;
this.getProvincesList(); this.getProvincesList();
vm.getRegionOption();
this.getCompanyList(); this.getCompanyList();
this.orgOptionList();
if (this.formData.storeId) { if (this.formData.storeId) {
this.curmbSecond = "编辑店铺"; this.curmbSecond = "编辑店铺";
this.isDisabled = true; this.isDisabled = true;
...@@ -993,6 +1496,10 @@ export default { ...@@ -993,6 +1496,10 @@ export default {
this.formData.imgUrlP1 = ""; this.formData.imgUrlP1 = "";
this.formData.imgUrlP2 = ""; this.formData.imgUrlP2 = "";
this.formData.imgUrlP3 = ""; this.formData.imgUrlP3 = "";
this.formData.imgUrlP4 = "";
this.formData.imgUrlP5 = "";
this.formData.imgUrlP6 = "";
this.formData.imgUrlP7 = "";
} }
//处理管理员数据 //处理管理员数据
if (this.storeData.adminList && this.storeData.adminList.length) { if (this.storeData.adminList && this.storeData.adminList.length) {
...@@ -1029,6 +1536,8 @@ export default { ...@@ -1029,6 +1536,8 @@ export default {
this.formData.imgUrlC1 = ""; this.formData.imgUrlC1 = "";
this.formData.imgUrlC2 = ""; this.formData.imgUrlC2 = "";
this.formData.imgUrlC3 = ""; this.formData.imgUrlC3 = "";
this.formData.imgUrlC4 = "";
this.formData.imgUrlC5 = "";
} }
} }
}, },
...@@ -1247,7 +1756,6 @@ export default { ...@@ -1247,7 +1756,6 @@ export default {
show: "uploadImgMessage1", show: "uploadImgMessage1",
}; };
this.beforeUploadLogo(file, fileLimit); this.beforeUploadLogo(file, fileLimit);
//this.beforeUpload1(file, fileLimit);
}, },
//上传logo add //上传logo add
beforeUploadLogo(file, fileLimit) { beforeUploadLogo(file, fileLimit) {
...@@ -1269,10 +1777,8 @@ export default { ...@@ -1269,10 +1777,8 @@ export default {
_img.onload = function (theFile) { _img.onload = function (theFile) {
let image = new Image(); let image = new Image();
image.src = theFile.target.result; image.src = theFile.target.result;
//vm.slide2.oriUrl = theFile.target.result;
image.onload = function () { image.onload = function () {
let _this = this; let _this = this;
// if (_this.width != fileLimit.width || _this.height != fileLimit.height) {
let l = _this.width / _this.height; let l = _this.width / _this.height;
if (l != 1) { if (l != 1) {
vm.$message.error("图片宽高比例请控制在1:1"); vm.$message.error("图片宽高比例请控制在1:1");
...@@ -1288,7 +1794,6 @@ export default { ...@@ -1288,7 +1794,6 @@ export default {
1 1
).then(function (path) { ).then(function (path) {
closeLoading(vm); closeLoading(vm);
vm.formData[fileLimit.key] = path.fullPath; vm.formData[fileLimit.key] = path.fullPath;
vm.formData[fileLimit.more] = { vm.formData[fileLimit.more] = {
attachmentName: path.storeName, attachmentName: path.storeName,
...@@ -1302,11 +1807,6 @@ export default { ...@@ -1302,11 +1807,6 @@ export default {
}; };
}, },
setOption(type) { setOption(type) {
// this.currentOption.aspectRatio = 1/1;
// this.currentOption.cropBoxResizable = true;
// this.currentOption.minCropBoxWidth = 160;
// this.currentOption.minCropBoxHeight = 160;
// this.currentOption.currentPic = type;
let fileLimit = { let fileLimit = {
width: "", width: "",
height: "", height: "",
...@@ -1317,31 +1817,81 @@ export default { ...@@ -1317,31 +1817,81 @@ export default {
}; };
return fileLimit; return fileLimit;
}, },
beforeUploadProve1(file) { //日期 设置
let fileLimit = this.setOption("imgUrlP1"); orgDate (v, type) {
this.beforeUpload(file, fileLimit); const b = dayjs(v[0]).format('YYYY-MM-DD');
}, const e = dayjs(v[1]).format('YYYY-MM-DD');
beforeUploadProve2(file) { const l = this.formData.certifyLicenseImgList;
let fileLimit = this.setOption("imgUrlP2"); const t = type.charAt(type.length-1);
this.beforeUpload(file, fileLimit); switch (type) {
}, case 'imgUrlC1':
beforeUploadProve3(file) { // 营业执照
let fileLimit = this.setOption("imgUrlP3"); this.formData.certifyReq.legalValidDateBegin = b;
this.beforeUpload(file, fileLimit); this.formData.certifyReq.legalValidDateEnd = e;
}, break;
beforeUploadC1(file) { case 'imgUrlC5':
let fileLimit = this.setOption("imgUrlC1"); // 委托人身份证
this.beforeUpload(file, fileLimit); this.formData.certifyReq.assignorValidDateBegin = b;
this.formData.certifyReq.assignorValidDateEnd = e;
break;
case 'imgUrlC3':
// 法人身份证
this.formData.certifyReq.legalValidDateBegin = b;
this.formData.certifyReq.legalValidDateEnd = e;
break;
case 'imgUrlP1':
// 药品经营许可证
case 'imgUrlP2':
// 药品经营质量管理规范认证
case 'imgUrlP3':
// 食品经营(流通)许可证
case 'imgUrlP4':
// 医疗器械经营许可证
case 'imgUrlP5':
// 二类医疗器械经营备案凭证
case 'imgUrlP6':
// 年度报告
const r = l.filter( i => {return i.imageType == t})[0] || {};
l.push(Object.assign(r, {validDateBegin: b, validDateEnd: e, imageType: t}));
this.formData.certifyLicenseImgList = this.clearRepeat(l, 'imageType');
console.log('--this.formData', this.formData);
break;
default:
return false;
break;
}
}, },
beforeUploadC2(file) { // 资质信息上传
let fileLimit = this.setOption("imgUrlC2"); beforeUploadProve(file, type) {
this.beforeUpload(file, fileLimit); let fileLimit = this.setOption(type);
this.beforeUploadCommon(file, fileLimit);
}, },
beforeUploadC3(file) { // 需要ocr 上传
let fileLimit = this.setOption("imgUrlC3"); beforeUploadOrg(file, type) {
this.beforeUpload(file, fileLimit); let fileLimit = this.setOption(type);
switch (type) {
case 'imgUrlC1':
this.beforeUploadCommon(file, fileLimit, 'licenseFileHandle');
break;
case 'imgUrlC2':
this.beforeUploadCommon(file, fileLimit, 'idCardFileHandle', 1);
break;
case 'imgUrlC3':
this.beforeUploadCommon(file, fileLimit, 'idCardFileHandle', 2);
break;
case 'imgUrlC4':
this.beforeUploadCommon(file, fileLimit, 'idCardFileHandle', 1);
break;
case 'imgUrlC5':
this.beforeUploadCommon(file, fileLimit, 'idCardFileHandle', 2);
break;
default:
return false;
break;
}
}, },
beforeUpload(file, fileLimit) {
beforeUploadCommon(file, fileLimit, needOCR, isFront) {
let vm = this; let vm = this;
const isJPG = file.type === "image/jpeg"; const isJPG = file.type === "image/jpeg";
const isPNG = file.type === "image/png"; const isPNG = file.type === "image/png";
...@@ -1361,7 +1911,6 @@ export default { ...@@ -1361,7 +1911,6 @@ export default {
image.src = theFile.target.result; image.src = theFile.target.result;
vm.slide2.oriUrl = theFile.target.result; vm.slide2.oriUrl = theFile.target.result;
image.onload = function () { image.onload = function () {
let _this = this;
openLoading(vm); openLoading(vm);
doUpload( doUpload(
vm, vm,
...@@ -1372,82 +1921,80 @@ export default { ...@@ -1372,82 +1921,80 @@ export default {
1 1
).then(function (path) { ).then(function (path) {
closeLoading(vm); closeLoading(vm);
console.log('path--', path, fileLimit);
vm.formData[fileLimit.key] = path.fullPath; vm.formData[fileLimit.key] = path.fullPath;
vm.formData[fileLimit.more] = { vm.formData[fileLimit.more] = {
attachmentName: path.storeName, attachmentName: path.storeName,
attachmentExt: path.ext, attachmentExt: path.ext,
attachmentSize: path.size, attachmentSize: path.size,
}; };
console.log('vm.formData--', vm.formData, fileLimit);
vm.setImgUrl(path, fileLimit);
vm.$message.success("上传成功"); vm.$message.success("上传成功");
}); });
}; };
}; const s = {file64Str:theFile.currentTarget.result, name:file.name};
return isJPG && isLt2M; if(needOCR && needOCR == 'licenseFileHandle'){
}, vm.licenseFileHandle(s)
//上传图片
beforeUpload1(file, fileLimit) {
let vm = this;
const isJPG = file.type === "image/jpeg";
const isPNG = file.type === "image/png";
const isLt2M = file.size / 1024 / 1024 < fileLimit.size;
if (!isJPG && !isPNG) {
vm.$message.error("仅支持jpegpng格式");
// return;
}
// if (!isLt2M) {
// vm.$message.error("图片大小不符合规范,请根据规范上传图片 ");
// return;
// }
let _img = new FileReader();
_img.readAsDataURL(file);
_img.onload = function (theFile) {
let image = new Image();
image.src = theFile.target.result;
vm.slide2.oriUrl = theFile.target.result;
image.onload = function () {
let _this = this;
// if (_this.width != fileLimit.width || _this.height != fileLimit.height) {
if (
_this.width < fileLimit.width ||
_this.height < fileLimit.height
) {
vm.$message.error("图片尺寸不符合规范,请根据规范上传图片");
return;
} else if (
_this.width > fileLimit.width ||
_this.height > fileLimit.height
) {
vm.showCropper = true;
vm.currentOption.cvWidth = _this.width;
vm.currentOption.cvHeight = _this.height;
return;
} else {
openLoading(vm);
doUpload(
vm,
file,
getFilePath(file, null),
"preview4",
"progress1",
1
).then(function (path) {
closeLoading(vm);
if (fileLimit.show == "uploadImgMessage1") {
vm.uploadImgMessage1 = false;
} }
vm.formData[fileLimit.key] = path.fullPath; if(needOCR && needOCR == 'idCardFileHandle'){
vm.formData[fileLimit.more] = { vm.idCardFileHandle(s, isFront)
attachmentName: path.storeName,
attachmentExt: path.ext,
attachmentSize: path.size,
};
vm.$message.success("上传成功");
});
} }
}; };
};
return isJPG && isLt2M; return isJPG && isLt2M;
}, },
setImgUrl (path, fileLimit) {
const l = this.formData.certifyLicenseImgList;
const f = path.fullPath;
const imgName = fileLimit.key;
const u = this.formData[imgName];
const t = imgName.charAt(imgName.length-1);
switch (imgName) {
case 'imgUrlC1':
// 营业执照
this.formData.certifyReq.licenseUrl = u;
break;
case 'imgUrlC4':
// 委托人身份证正面
this.formData.certifyReq.assignorCertFrontUrl = u;
break;
case 'imgUrlC5':
// 委托人身份证反面
this.formData.certifyReq.assignorCertBackUrl = u;
break;
case 'imgUrlC2':
// 法人身份证正面
this.formData.certifyReq.legalCertFrontUrl = u;
break;
case 'imgUrlC3':
// 法人身份证反面
this.formData.certifyReq.legalCertBackUrl = u;
break;
case 'imgUrlP7':
// 委托书
this.formData.certifyReq.assignor_letter_url = u;
break;
case 'imgUrlP1':
// 药品经营许可证
case 'imgUrlP2':
// 药品经营质量管理规范认证
case 'imgUrlP3':
// 食品经营(流通)许可证
case 'imgUrlP4':
// 医疗器械经营许可证
case 'imgUrlP5':
// 二类医疗器械经营备案凭证
case 'imgUrlP6':
// 年度报告
const r = l.filter( i => {return i.imageType == t})[0] || {};
l.push(Object.assign(r, {url: f, imageType: t}));
this.formData.certifyLicenseImgList = this.clearRepeat(l, 'imageType');
break;
default:
return false;
break;
}
},
//删除图片 //删除图片
deleteImg(type) { deleteImg(type) {
vm.formData[type] = ""; vm.formData[type] = "";
...@@ -1456,24 +2003,72 @@ export default { ...@@ -1456,24 +2003,72 @@ export default {
.set("imgUrlP1", "imgMouseOverP1") .set("imgUrlP1", "imgMouseOverP1")
.set("imgUrlP2", "imgMouseOverP2") .set("imgUrlP2", "imgMouseOverP2")
.set("imgUrlP3", "imgMouseOverP3") .set("imgUrlP3", "imgMouseOverP3")
.set("imgUrlP4", "imgMouseOverP4")
.set("imgUrlP5", "imgMouseOverP5")
.set("imgUrlP6", "imgMouseOverP6")
.set("imgUrlC1", "imgMouseOverC1") .set("imgUrlC1", "imgMouseOverC1")
.set("imgUrlC2", "imgMouseOverC2") .set("imgUrlC2", "imgMouseOverC2")
.set("imgUrlC3", "imgMouseOverC3"); .set("imgUrlC3", "imgMouseOverC3")
.set("imgUrlC4", "imgMouseOverC4")
.set("imgUrlC5", "imgMouseOverC5");
function matchType(type) { function matchType(type) {
return testMouse.get(type) || ""; return testMouse.get(type) || "";
} }
let mark = matchType(type); let mark = matchType(type);
vm[mark] = false; vm[mark] = false;
/* if (type == 'storeLogo') { this.deleteImgFormData(type);
vm.imgMouseOver1 = false; },
}else if (type == 'imgUrlP1') { deleteImgFormData (type) {
vm.imgMouseOverP1 = false; const l = this.formData.certifyLicenseImgList;
}else if (type == 'imgUrlP2') { const t = type.charAt(type.length-1);
vm.imgMouseOverP2 = false; switch (type) {
}else if (type == 'imgUrlP3') { case 'imgUrlC1':
vm.imgMouseOverP3 = false; // 营业执照
}*/ this.formData.certifyReq.licenseUrl = '';
break;
case 'imgUrlC4':
// 委托人身份证正面
this.formData.certifyReq.assignorCertFrontUrl = '';
break;
case 'imgUrlC5':
// 委托人身份证反面
this.formData.certifyReq.assignorCertBackUrl = '';
break;
case 'imgUrlC2':
// 法人身份证正面
this.formData.certifyReq.legalCertFrontUrl = '';
break;
case 'imgUrlC3':
// 法人身份证反面
this.formData.certifyReq.legalCertBackUrl = '';
break;
case 'imgUrlP7':
this.formData.certifyReq.assignor_letter_url = '';
// 委托书
break;
case 'imgUrlP1':
// 药品经营许可证
case 'imgUrlP2':
// 药品经营质量管理规范认证
case 'imgUrlP3':
// 食品经营(流通)许可证
case 'imgUrlP4':
// 医疗器械经营许可证
case 'imgUrlP5':
// 二类医疗器械经营备案凭证
case 'imgUrlP6':
// 年度报告
const r = l.filter( i => {return i.imageType != t}) || [];
this.formData.certifyLicenseImgList = r;
break;
default:
return false;
break;
}
},
orgScopeLISTChange(v){
console.log(v)
}, },
// 获取裁剪的图片数据 // 获取裁剪的图片数据
getCropImg(argument) { getCropImg(argument) {
...@@ -1734,8 +2329,127 @@ export default { ...@@ -1734,8 +2329,127 @@ export default {
} }
}); });
return Array.from(new Set(segs)); return Array.from(new Set(segs));
},
handleTabName() {
vm.$router.push({ path: "create-shop", query: {currentTab: this.activeTabName}});
},
nextStepFirst() {
this.activeTabName = 'second';
},
handleRegionChange(v) {
console.log(v);
},
//获取地区
getRegionOption() {
let req = {};
openLoading(vm);
vm.GET("basic-data/position/provinces", req).then(res => {
closeLoading(vm);
if (res.code == "000000") {
vm.optionsRegion = operationData.setRegionOption2(
res.data.provinceList
);
}
});
},
setMoreOption(data, type) {
let option = [];
for (let i = 0; i < data.length; i++) {
let obj = data[i];
if (type == "cities") {
obj.label = data[i].cityName;
obj.value = data[i].cityId;
} else if (type == "counties") {
obj.label = data[i].countyName;
obj.value = data[i].countyId;
// obj.leaf = true;
} else if (type == "towns") {
obj.label = data[i].townName;
obj.value = data[i].townId;
obj.leaf = true;
}
option.push(obj);
}
return option;
},
OCRStore () {},
// 企业执照OCR上传后的回调处理
licenseFileHandle(file) {
OCRStore(file).then((res) => {
try {
const { code, data } = res;
if (code === '000000') {
console.log(data);
} else {
console.log(res);
}
} catch (e) {
console.log(e);
}
});
},
// 身份证正面/反面OCR上传后的回调处理
idCardFileHandle(file, type) {
file['cardSide'] = type;
console.log('---cardSide', file);
idCardOcr(file).then((res) => {
try {
const { code, data } = res;
if (code === '000000') {
console.log(data);
} else {
console.log(res);
}
} catch (e) {
console.log(e);
}
});
},
clearRepeat (arr,key) {
const m = new Map();
arr.map(item => {
m.set(item[key], item)
})
return [...m.values()];
},
orgOptionList () {
orgOptionList().then(res => {
if(res.code == '000000') {
this.orgLIST = res.data;
}
});
orgScopeOptionList().then( res => {
if(res.code == '000000') {
console.log(res)
const m = [
{id: '1_first', name: '药品', list: []},
{id: '2_first', name: '医疗器械', list: []},
{id: '3_first', name: '食品', list: []},
{id: '4_first', name: '其他', list: []},
];
m.map(item => {
item.list = res.data.filter(v => v.type == item.id.charAt(0) );
});
this.orgScopeLIST = m;
}
});
},
},
filters: {
verifyStatus: function(value){
if (!value && value != 0) {
return "-";
} else {
let hash = {
1: "审核通过",
2: "审核中",
3: "审核不通过"
};
return hash[value];
} }
}, },
},
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
...@@ -1752,6 +2466,12 @@ export default { ...@@ -1752,6 +2466,12 @@ export default {
font-size: 13px; font-size: 13px;
color: #449284; color: #449284;
} }
.verify-status{
padding: 5px;
border: 1px solid;
text-align: center;
border-radius: 5px;
}
} }
} }
.el-button--text { .el-button--text {
...@@ -1821,7 +2541,7 @@ export default { ...@@ -1821,7 +2541,7 @@ export default {
} }
.bg-uploader { .bg-uploader {
position: relative; position: relative;
/*margin-right: 20px;*/ margin-right: 20px;
.bg-img { .bg-img {
float: left; float: left;
width: 84px; width: 84px;
...@@ -1836,9 +2556,6 @@ export default { ...@@ -1836,9 +2556,6 @@ export default {
background: #000; background: #000;
opacity: 0.7; opacity: 0.7;
z-index: 999; z-index: 999;
&.add-left-18 {
left: 18px;
}
i { i {
color: #fff; color: #fff;
margin-top: 39px; margin-top: 39px;
...@@ -1869,6 +2586,7 @@ export default { ...@@ -1869,6 +2586,7 @@ export default {
} }
} }
.p-tips { .p-tips {
display: inline-block;
font-size: 13px; font-size: 13px;
color: #8c8c8c; color: #8c8c8c;
line-height: 26px; line-height: 26px;
...@@ -1931,5 +2649,21 @@ export default { ...@@ -1931,5 +2649,21 @@ export default {
.warehouseAdress-input { .warehouseAdress-input {
width: 500px; width: 500px;
} }
.img-data{
width: 100%;
max-width: 1200px;
display: flex;
justify-content: space-between;
}
.flex-wrap{
display: flex;
}
.line-section{
height: 1px;
display: block;
width: 100%;
padding: 30px 0px;
border-bottom: 1px solid #C7C8C9;
}
} }
</style> </style>
...@@ -93,6 +93,22 @@ ...@@ -93,6 +93,22 @@
<span>{{ scope.row.tradeStore.storeType | storeTypeFormat}}</span> <span>{{ scope.row.tradeStore.storeType | storeTypeFormat}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="storeType" label="审核状态" min-width="100" align="center">
<template slot-scope="scope">
<span :class="scope.row.tradeStore.storeType == 3 ? 'red' : 'green'">
{{ scope.row.tradeStore.storeType | storeStatusFormat}}
</span>
<el-popover
placement="top-start"
title="标题"
width="200"
trigger="hover"
content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。">
<i v-if="scope.row.tradeStore.storeType == 3" slot="reference" class="el-icon-warning-outline red"></i>
</el-popover>
</template>
</el-table-column>
<el-table-column prop="storeStatus" label="店铺状态" min-width="100" align="center"> <el-table-column prop="storeStatus" label="店铺状态" min-width="100" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.tradeStore.storeStatus | statusFormat }}</span> <span>{{ scope.row.tradeStore.storeStatus | statusFormat }}</span>
...@@ -242,16 +258,6 @@ ...@@ -242,16 +258,6 @@
canAdd: false, canAdd: false,
totalRows: 0, totalRows: 0,
tableData: [ tableData: [
// {
// tradeStore: {
// id: 12,
// storeName: '康爱多',
// storeType: 1,
// storeStatus: 0,
// count: 2,
// createdTime: ''
// }
// }
], ],
typeList: [ typeList: [
{ {
...@@ -311,9 +317,6 @@ ...@@ -311,9 +317,6 @@
}, },
}, },
setPriceRules: { setPriceRules: {
// commissionType: [
// {required: true, message: "请选择分佣方式", trigger: 'blur'}
// ]
}, },
} }
}, },
...@@ -391,14 +394,6 @@ ...@@ -391,14 +394,6 @@
} }
}); });
window.open(routeData.href, '_blank'); window.open(routeData.href, '_blank');
// this.$router.push({
// path: '/goods-manage',
// query: {
// storeId: row.tradeStore.id,
// commissionFlag:row.tradeStore.commissionFlag
// }
// })
}, },
orderManage(row) { orderManage(row) {
let routeData = this.$router.resolve({ let routeData = this.$router.resolve({
...@@ -408,12 +403,6 @@ ...@@ -408,12 +403,6 @@
} }
}); });
window.open(routeData.href, '_blank'); window.open(routeData.href, '_blank');
// this.$router.push({
// path: '/order-manage',
// query: {
// storeId: row.tradeStore.id,
// }
// })
}, },
//编辑 //编辑
editShop(row) { editShop(row) {
...@@ -421,7 +410,6 @@ ...@@ -421,7 +410,6 @@
path: `/create-shop`, path: `/create-shop`,
query:{ query:{
storeId: row.tradeStore.id, storeId: row.tradeStore.id,
storeData: JSON.stringify(row),
} }
}) })
}, },
...@@ -495,52 +483,6 @@ ...@@ -495,52 +483,6 @@
}); });
return; return;
} }
// for(let i = 0; i < this.setPriceForm.adminCommissionGoodsRespList.length; i++){
// if(this.setPriceForm.adminCommissionGoodsRespList[i].commissionKind == 1
// && (this.setPriceForm.adminCommissionGoodsRespList[i].commissionType == null || this.setPriceForm.adminCommissionGoodsRespList[i].commissionType == "")){
//
// this.$message({
// 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;
// }
//
// }
let timeoutId = null let timeoutId = null
timeoutId && clearTimeout(timeoutId) timeoutId && clearTimeout(timeoutId)
timeoutId = setTimeout(() => { timeoutId = setTimeout(() => {
...@@ -567,13 +509,6 @@ ...@@ -567,13 +509,6 @@
} }
vm.setPriceForm.adminCommissionGoodsRespList[0] = vm.setPriceForm.commission; vm.setPriceForm.adminCommissionGoodsRespList[0] = vm.setPriceForm.commission;
vm.setPriceForm.adminCommissionGoodsRespList[1] = vm.setPriceForm.proxyCommission; vm.setPriceForm.adminCommissionGoodsRespList[1] = vm.setPriceForm.proxyCommission;
// if(vm.setPriceForm.commissionType == 1){
// vm.setPriceForm.commissionPriceStr = vm.setPriceForm.commissionPrice1;
// }
// else if(vm.setPriceForm.commissionType == 2){
// vm.setPriceForm.commissionPriceStr = vm.setPriceForm.commissionPrice2;
// }
// vm.setPriceForm.commissionPrice = vm.setPriceForm.commissionPriceStr * 100;
vm.POST('/store/commission/admin/store/save', vm.setPriceForm.adminCommissionGoodsRespList).then(res => { vm.POST('/store/commission/admin/store/save', vm.setPriceForm.adminCommissionGoodsRespList).then(res => {
vm.loading = false vm.loading = false
// closeLoading(this); // closeLoading(this);
...@@ -689,26 +624,7 @@ ...@@ -689,26 +624,7 @@
storeId: row.tradeStore.id, storeId: row.tradeStore.id,
}; };
} }
// this.batchUpdatePriceFlag = batchUpdatePriceFlag;
// this.setPriceForm.storeId = row.tradeStore.id;
// this.setPriceForm.goodsId = row.tradeStore.goodsId;
// this.setPriceForm.commissionType = "";
// this.setPriceForm.commissionPrice1 = undefined;
// this.setPriceForm.commissionPrice2 = undefined;
// this.setPriceForm.commissionType = row.tradeStore.commissionType;
// if(this.setPriceForm.commissionType == 1){
// this.setPriceForm.commissionPrice1 = row.tradeStore.commissionPrice/100;
// }
// else if(this.setPriceForm.commissionType == 2){
// this.setPriceForm.commissionPrice2 = row.tradeStore.commissionPrice/100;
// }
this.setPriceVisible = true; this.setPriceVisible = true;
// if(this.$refs.setPriceForm) {
// this.$refs.setPriceForm.resetFields()
// }
// this.getProfit(row);
}, },
// 运费配置 // 运费配置
setFreight(row) { setFreight(row) {
...@@ -769,6 +685,27 @@ ...@@ -769,6 +685,27 @@
return value; return value;
} }
}, },
storeStatusFormat(v) {
let s = '';
switch (v) {
case 2:
s = '审核通过'
break;
case 3:
s = '审核不通过'
break;
case 4:
s = '信息待完善'
break;
case 5:
s = '待审核'
break;
default:
s ='审核通过'
break;
}
return s;
}
}, },
} }
</script> </script>
...@@ -805,5 +742,11 @@ ...@@ -805,5 +742,11 @@
} }
} }
} }
.red{
color: #FF4B33;
}
.green{
color: #449284;
}
} }
</style> </style>
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册