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

Merge branch 'release' into 'develop'

Release

See merge request com.pica.cloud.education.frontend/pica.cloud.web-education-admin!410
......@@ -47,3 +47,14 @@ export const uploadPersonExcel = (data, projectId) => {
})
// })
}
export const uploadShieldExcel = (data, projectId) => {
return fetch({
headers: {
token: localStorage.getItem('storageToken'),
},
url: getBaseUrl('aggregate/black/setPeopleBlackStatus/batch/' + projectId),
method: 'post',
data: data,
description: '上传excel文件',
})
}
\ No newline at end of file
......@@ -49,6 +49,7 @@
</el-col>
<el-col :span="6" style="padding:0;text-align:right;padding-right:10px;">
<el-button type="primary" size="small" @click="searchList()">搜索</el-button>
<el-button type="primary" size="small" @click="importOrder()" v-if="shieldType == 1">批量导入</el-button>
</el-col>
</el-form>
</el-row>
......@@ -103,12 +104,60 @@
</span>
</el-dialog>
</div>
<!-- 导入屏蔽人员名单 -->
<el-dialog
class="exportlogistics-dialog"
title="批量导入"
:visible="isShowImport"
@close="isShowImport = false"
width="600px"
>
<el-form label-width="120px">
<el-form-item label="导入文档:">
<el-upload
class="upload-excel"
action="#"
accept=".xlsx"
multiple
:limit="1"
:show-file-list="true"
:before-upload="uploadfile"
>
<div class="upload-container">
<el-input
class="file-name"
v-model="fileData.fileName"
size="mini"
readonly
></el-input
>
<el-button type="primary" size="mini">选择文件</el-button>
</div>
</el-upload>
</el-form-item>
<el-form-item label="模板:">
<a class="import-url" :href="logisticsUrl" style="color: #449284">
批量导入模板.xlxs</a>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="cancelImport">取消</el-button>
<el-button
size="small"
:loading="isLoading"
type="primary"
@click="confirmImport"
>确认</el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
import BreadCrumb from "../../components/breadcrumb.vue";
import { mapGetters } from "vuex";
import { openLoading, closeLoading } from "../../utils/utils";
import { uploadShieldExcel } from "@/utils/education/educationApi";
import * as commonUtil from "../../utils/utils";
import * as operationData from "../../utils/operation";
let vm = null;
......@@ -118,6 +167,14 @@ export default {
},
data() {
return {
isShowImport: false,
isLoading: false,
logisticsUrl: 'https://files.yunqueyi.com/template/portal_template.xlsx',
fileData: {
ext: '',
file: "",
fileName: "",
},
curmbFirst: "教培项目",
curmbSecond: "屏蔽",
projectId: "",
......@@ -232,6 +289,69 @@ export default {
// }
// },
methods: {
// 批量导入
importOrder() {
this.isShowImport = true;
},
uploadfile(file) {
console.log(file, '导入file');
let _this = this;
let arr = file.name.split(".");
let ext = "." + arr[1];
let name = file.name;
let reader = new FileReader();
reader.onload = function (e) {
_this.fileData.fileName = name;
_this.fileData.file = e.target.result.substr(
e.target.result.indexOf("base64,") + 7
);
_this.fileData.ext = ext;
console.log("fileJson", _this.fileData);
};
reader.readAsDataURL(file);
},
// 确认导入
confirmImport() {
this.isLoading = true;
let parmas = {
base64: this.fileData,
type: ''
}
uploadShieldExcel(parmas, this.projectId).then(res => {
if (res.code == '000000') {
if (res.data == '') {
this.isLoading = false;
this.isShowImport = false;
this.$message({
message: '导入成功',
type: 'success'
});
} else {
let a = document.createElement('a');
let href = res.data;
a.setAttribute('href',href);
a.click();
this.isLoading = false;
this.$message.error('导入失败');
}
} else {
this.isLoading = false;
this.$message.error(res.message);
}
}).catch(error => {
this.isLoading = false;
this.$message.error(error.message);
})
},
// 取消导入
cancelImport() {
this.fileData = {
file: "",
fileName: "",
};
this.isShowImport = false;
},
handleChange(value) {
let areaId = "000";
for (let i = 0; i < value.length; i++) {
......
......@@ -726,6 +726,13 @@
</el-col>
</el-form-item>
</div>
<div class="inline" v-if="formData.saleType == 1">
<el-form-item label="绩效分值">
<el-col :span="20">
<el-input-number class="stock-com" @input="$forceUpdate();" v-model="formData.scorePerformance" size="small" :precision="2" :min="0.00" :max="999999.99"></el-input-number>
</el-col>
</el-form-item>
</div>
<div class="inline">
<el-form-item label="库存" prop="stock" class="required-label">
<el-col :span="20">
......@@ -1138,8 +1145,9 @@
this.hasRepoFlag = hasRepoFlag;
this.$set(this.formData2, 'suitableArr', this.formData.suitable.split(','));
this.$set(this.formData, 'suitableArr', this.formData.suitable.split(','));
this.formData.optPrice = this.formData.costPrice/100;
this.formData.stock = this.formData.goodsStock;
this.formData.scorePerformance = this.formData.scorePerformance/100;
this.formData.optPrice = this.formData.costPrice/100;
this.fileGoodsList = this.getImges(goodsInfo.goodsHeaderImages,1);
this.goodsCheckList = this.getImges(medicalService.goodsCheckImages, goodsType);
if (goodsInfo.goodsVideoList.length > 0) {
......@@ -1191,6 +1199,7 @@
this.hasRepoFlag = hasRepoFlag;
this.buyLimitDtoList = this.formData.buyLimitDtoList;
this.formData.optPrice = this.formData.costPrice/100;
this.formData.scorePerformance = this.formData.scorePerformance/100;
this.fileGoodsList = this.getImges(goodsList[0].goodsImgList,1);
this.fileIntrList = this.getImges(goodsList[0].medicImgList,2);
this.formData.stock = this.formData.goodsStock;
......@@ -1524,7 +1533,6 @@
return;
}
}
if(!isTrue){
return false;
}else{
......@@ -1548,9 +1556,11 @@
},
//更新商品
updateGoodsInfo(){
console.log('提交值',this.formData);
console.log('提交值',JSON.parse(JSON.stringify(this.formData)));
const submieFn = this.isCheckServe ? updateGoodsV2 : updateGoods;
submieFn(this.formData).then((res)=>{
let params = JSON.parse(JSON.stringify(this.formData))
params.scorePerformance = params.scorePerformance * 100;
submieFn(params).then((res)=>{
if (res.code !== '000000') {
return this.$message({
message: res.message,
......
......@@ -58,6 +58,7 @@ const form = {
incrStock: "", //增加库存
storeId: "",
optPrice: "",
scorePerformance: 0,
goodsStock: 0,
stock: 0,
externalGoodsCode: "",
......
......@@ -11,7 +11,7 @@
<span>
{{curmbSecond}}
</span>
<span v-if="certifyStatus > 1" class="verify-status" :class="certifyStatusColor" style="margin-left: 20px">{{ certifyStatus | storeStatusFormat}}</span>
<span v-if="certifyStatus >= 1" class="verify-status" :class="certifyStatusColor" style="margin-left: 20px">{{ certifyStatus | storeStatusFormat}}</span>
</p>
</el-col>
<el-col :span="4" style="text-align: right">
......@@ -106,7 +106,7 @@
></el-input>
<span class="word-num"
>{{
formData.storeDescription.replace(/\s+/g, "").length
formData.storeDescription ? formData.storeDescription.replace(/\s+/g, "").length : ''
}}/400</span
>
</el-col>
......@@ -129,7 +129,7 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="" v-if="formData.storeType != 3" prop="storeType">
<el-form-item>
<el-button class="ml" size="small" type="primary" @click="nextStepFirst('second')">下一步</el-button>
</el-form-item>
</el-tab-pane>
......@@ -320,17 +320,17 @@
</el-form-item>
</el-col>
</el-row>
<el-form-item
label="医疗资质"
prop="storeQualityUrl"
>
<el-input
size="small"
v-model="formData.storeQualityUrl"
placeholder="请填写URL,仅对批发商品生效"
style="width: 35%"
></el-input>
</el-form-item>
<!-- <el-form-item-->
<!-- label="医疗资质"-->
<!-- prop="storeQualityUrl"-->
<!-- >-->
<!-- <el-input-->
<!-- size="small"-->
<!-- v-model="formData.storeQualityUrl"-->
<!-- placeholder="请填写URL,仅对批发商品生效"-->
<!-- style="width: 35%"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
</div>
</div>
<el-form-item
......@@ -344,7 +344,6 @@
placeholder="请选择企业类型类型"
size="small"
clearable
:disabled="isDisabled"
style="width: 35%"
>
<el-option
......@@ -392,8 +391,8 @@
prop="certifyReq.bizScope"
>
<el-cascader
v-model="bizScopeCasValue"
ref="cascaderBizScope"
v-model="formData.certifyReq.bizScope"
style="width: 360px"
size="small"
:options="orgScopeLIST"
......@@ -411,7 +410,7 @@
</p>
<div>
<div>
<el-form-item prop="imgUrlC1">
<el-form-item prop="imgUrlC1" ref="imgUrlC1">
<el-upload
v-model="formData.imgUrlC1"
:disabled="Boolean(formData.imgUrlC1)"
......@@ -491,6 +490,7 @@
<div v-if="formData.storeType == 1">
<div>委托人身份证</div>
<div class="flex-wrap">
<el-form-item prop="imgUrlC4" ref="fIdCard">
<el-upload
v-model="formData.imgUrlC4"
:disabled="Boolean(formData.imgUrlC4)"
......@@ -520,6 +520,8 @@
<i class="el-icon-delete"></i>
</div>
</el-upload>
</el-form-item>
<el-form-item prop="imgUrlC5" ref="fIdCardBack">
<el-upload
:disabled="Boolean(formData.imgUrlC5)"
v-model="formData.imgUrlC5"
......@@ -549,6 +551,7 @@
<i class="el-icon-delete"></i>
</div>
</el-upload>
</el-form-item>
</div>
<div class="img-data">
<el-form-item
......@@ -590,43 +593,45 @@
</div>
<div v-if="formData.certifyReq.certType == 2|| formData.storeType == 2 " class="flex-upload">
<p v-if="certifyValidDtoList(5)" class="red">{{certifyValidDtoList(5)}}</p>
<div>委托书</div>
<div class="required-star" >委托书</div>
<el-form-item prop="imgUrlP5" ref="pIdCardBack">
<el-upload
:disabled="Boolean(formData.imgUrlP7)"
v-model="formData.imgUrlP7"
:disabled="Boolean(formData.imgUrlP5)"
v-model="formData.imgUrlP5"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP7')}"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP5')}"
>
<el-image
class="bg-img"
v-if="formData.imgUrlP7"
:src="formData.imgUrlP7"
@mouseover.stop="imgMouseOverP7 = true"
:preview-src-list="[formData.imgUrlP7]">
v-if="formData.imgUrlP5"
:src="formData.imgUrlP5"
@mouseover.stop="imgMouseOverP5 = true"
:preview-src-list="[formData.imgUrlP5]">
</el-image>
<img
v-if="!formData.imgUrlP7"
v-if="!formData.imgUrlP5"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete"
v-show="imgMouseOverP7"
@click.stop="deleteImg('imgUrlP7')"
@mouseout.stop="imgMouseOverP7 = false"
v-show="imgMouseOverP5"
@click.stop="deleteImg('imgUrlP5')"
@mouseout.stop="imgMouseOverP5 = false"
>
<i class="el-icon-delete"></i>
</div>
</el-upload>
</el-form-item>
</div>
<div v-if="formData.storeType == 1 && formData.certifyReq.certType === 1">
<p v-if="certifyValidDtoList(6)" class="red">{{certifyValidDtoList(6)}}</p>
<div>法人身份证</div>
<div class="flex-wrap">
<el-form-item prop="imgUrlC2">
<el-form-item prop="imgUrlC2" ref="idCard">
<el-upload
:disabled="Boolean(formData.imgUrlC2)"
v-model="formData.imgUrlC2"
......@@ -658,7 +663,7 @@
<div>身份证正面</div>
</el-upload>
</el-form-item>
<el-form-item prop="imgUrlC3">
<el-form-item prop="imgUrlC3" ref="idCardBack">
<el-upload
:disabled="Boolean(formData.imgUrlC3)"
v-model="formData.imgUrlC3"
......@@ -690,6 +695,9 @@
<div>身份证反面</div>
</el-upload>
</el-form-item>
<el-form-item>
<div v-show="idCardError" style="color:#F56C6C">身份证内容识别失败,请手动输入</div>
</el-form-item>
</div>
<div class="img-data">
......@@ -733,7 +741,7 @@
<p v-if="certifyValidDtoList(6)" class="red">{{certifyValidDtoList(6)}}</p>
<div>法人身份证</div>
<div class="flex-wrap">
<el-form-item>
<el-form-item ref="idCard">
<el-upload
:disabled="Boolean(formData.imgUrlC2)"
v-model="formData.imgUrlC2"
......@@ -765,7 +773,7 @@
<div>身份证正面</div>
</el-upload>
</el-form-item>
<el-form-item>
<el-form-item ref="idCardBack">
<el-upload
:disabled="Boolean(formData.imgUrlC3)"
v-model="formData.imgUrlC3"
......@@ -797,6 +805,9 @@
<div>身份证反面</div>
</el-upload>
</el-form-item>
<el-form-item>
<div v-show="idCardError" style="color:#F56C6C">身份证内容识别失败,请手动输入</div>
</el-form-item>
</div>
<div class="img-data">
......@@ -837,35 +848,35 @@
</div>
</el-form-item>
<el-form-item label="资质信息" class="required-label" v-if="formData.storeType < 3">
<div v-if="controlLicense.includes('1') || formData.storeType == 2">
<div v-if="controlLicense.filter((i => { return String(i).charAt(0) == '1'; })).length > 0 || formData.storeType == 2">
<p v-if="certifyValidDtoList(7)" class="red">{{certifyValidDtoList(7)}}</p>
<p class="tips">药品经营许可证</p>
<el-form-item prop="imgUrlP1">
<el-form-item prop="imgUrlP7">
<el-upload
:disabled="Boolean(formData.imgUrlP1)"
v-model="formData.imgUrlP1"
:disabled="Boolean(formData.imgUrlP7)"
v-model="formData.imgUrlP7"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP1')}"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP7')}"
>
<el-image
class="bg-img"
v-if="formData.imgUrlP1"
:src="formData.imgUrlP1"
@mouseover.stop="imgMouseOverP1 = true"
:preview-src-list="[formData.imgUrlP1]">
v-if="formData.imgUrlP7"
:src="formData.imgUrlP7"
@mouseover.stop="imgMouseOverP7 = true"
:preview-src-list="[formData.imgUrlP7]">
</el-image>
<img
v-if="!formData.imgUrlP1"
v-if="!formData.imgUrlP7"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete"
v-show="imgMouseOverP1"
@click.stop="deleteImg('imgUrlP1')"
@mouseout.stop="imgMouseOverP1 = false"
v-show="imgMouseOverP7"
@click.stop="deleteImg('imgUrlP7')"
@mouseout.stop="imgMouseOverP7 = false"
>
<i class="el-icon-delete"></i>
</div>
......@@ -875,11 +886,11 @@
v-if="formData.storeType == 1"
label="有效日期"
label-width="100px"
prop="imgUrlP1Date"
prop="imgUrlP7Date"
>
<el-date-picker
v-model="formData.imgUrlP1Date"
@change="(v) => {this.orgDate(v, 'imgUrlP1')}"
v-model="formData.imgUrlP7Date"
@change="(v) => {this.orgDate(v, 'imgUrlP7')}"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
......@@ -887,84 +898,84 @@
</el-date-picker>
</el-form-item>
</div>
<div v-if="controlLicense.includes('1')">
<p v-if="certifyValidDtoList(8)" class="red">{{certifyValidDtoList(8)}}</p>
<p class="tips">药品经营质量管理规范认证证书</p>
<el-form-item prop="imgUrlP2">
<el-upload
:disabled="Boolean(formData.imgUrlP2)"
v-model="formData.imgUrlP2"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP2')}"
>
<el-image
class="bg-img"
v-if="formData.imgUrlP2"
:src="formData.imgUrlP2"
@mouseover.stop="imgMouseOverP2 = true"
:preview-src-list="[formData.imgUrlP2]">
</el-image>
<img
v-if="!formData.imgUrlP2"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete"
v-show="imgMouseOverP2"
@click.stop="deleteImg('imgUrlP2')"
@mouseout.stop="imgMouseOverP2 = false"
>
<i class="el-icon-delete"></i>
</div>
</el-upload>
</el-form-item>
<el-form-item
label="有效日期"
label-width="100px"
prop="imgUrlP2Date"
>
<el-date-picker
v-model="formData.imgUrlP2Date"
@change="(v) => {this.orgDate(v, 'imgUrlP2')}"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
</div>
<div v-if="controlLicense.includes('3')">
<!-- <div v-if="controlLicense.includes('1')">-->
<!-- <p v-if="certifyValidDtoList(8)" class="red">{{certifyValidDtoList(8)}}</p>-->
<!-- <p class="tips">药品经营质量管理规范认证证书</p>-->
<!-- <el-form-item prop="imgUrlP8">-->
<!-- <el-upload-->
<!-- :disabled="Boolean(formData.imgUrlP8)"-->
<!-- v-model="formData.imgUrlP8"-->
<!-- class="bg-uploader"-->
<!-- action="#"-->
<!-- :show-file-list="false"-->
<!-- :before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP8')}"-->
<!-- >-->
<!-- <el-image-->
<!-- class="bg-img"-->
<!-- v-if="formData.imgUrlP8"-->
<!-- :src="formData.imgUrlP8"-->
<!-- @mouseover.stop="imgMouseOverP8 = true"-->
<!-- :preview-src-list="[formData.imgUrlP8]">-->
<!-- </el-image>-->
<!-- <img-->
<!-- v-if="!formData.imgUrlP8"-->
<!-- class="bg-img"-->
<!-- src="../../assets/image/small.png"-->
<!-- />-->
<!-- <div-->
<!-- class="img-delete"-->
<!-- v-show="imgMouseOverP8"-->
<!-- @click.stop="deleteImg('imgUrlP8')"-->
<!-- @mouseout.stop="imgMouseOverP8 = false"-->
<!-- >-->
<!-- <i class="el-icon-delete"></i>-->
<!-- </div>-->
<!-- </el-upload>-->
<!-- </el-form-item>-->
<!-- <el-form-item-->
<!-- label="有效日期"-->
<!-- label-width="100px"-->
<!-- prop="imgUrlP8Date"-->
<!-- >-->
<!-- <el-date-picker-->
<!-- v-model="formData.imgUrlP8Date"-->
<!-- @change="(v) => {this.orgDate(v, 'imgUrlP8')}"-->
<!-- type="daterange"-->
<!-- range-separator="至"-->
<!-- start-placeholder="开始日期"-->
<!-- end-placeholder="结束日期">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- </div>-->
<div v-if="controlLicense.filter((i => { return String(i).charAt(0) == '3'; })).length > 0">
<p v-if="certifyValidDtoList(9)" class="red">{{certifyValidDtoList(9)}}</p>
<p class="tips">食品经营(流通)许可证</p>
<el-form-item prop="imgUrlP3">
<el-form-item prop="imgUrlP9">
<el-upload
:disabled="Boolean(formData.imgUrlP3)"
v-model="formData.imgUrlP3"
:disabled="Boolean(formData.imgUrlP9)"
v-model="formData.imgUrlP9"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP3')}"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP9')}"
>
<el-image
class="bg-img"
v-if="formData.imgUrlP3"
:src="formData.imgUrlP3"
@mouseover.stop="imgMouseOverP3 = true"
:preview-src-list="[formData.imgUrlP3]">
v-if="formData.imgUrlP9"
:src="formData.imgUrlP9"
@mouseover.stop="imgMouseOverP9 = true"
:preview-src-list="[formData.imgUrlP9]">
</el-image>
<img
v-if="!formData.imgUrlP3"
v-if="!formData.imgUrlP9"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete"
v-show="imgMouseOverP3"
@click.stop="deleteImg('imgUrlP3')"
@mouseout.stop="imgMouseOverP3 = false"
v-show="imgMouseOverP9"
@click.stop="deleteImg('imgUrlP9')"
@mouseout.stop="imgMouseOverP9 = false"
>
<i class="el-icon-delete"></i>
</div>
......@@ -973,11 +984,11 @@
<el-form-item
label="有效日期"
label-width="100px"
prop="imgUrlP3Date"
prop="imgUrlP9Date"
>
<el-date-picker
v-model="formData.imgUrlP3Date"
@change="(v) => {this.orgDate(v, 'imgUrlP3')}"
v-model="formData.imgUrlP9Date"
@change="(v) => {this.orgDate(v, 'imgUrlP9')}"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
......@@ -985,35 +996,35 @@
</el-date-picker>
</el-form-item>
</div>
<div v-if="controlLicense.includes('2')">
<div v-if="controlLicense.filter((i => { return String(i).charAt(0) == '2'; })).length > 0">
<p v-if="certifyValidDtoList(10)" class="red">{{certifyValidDtoList(10)}}</p>
<p class="tips">医疗器械经营许可证</p>
<el-form-item prop="imgUrlP4">
<el-form-item prop="imgUrlP10">
<el-upload
:disabled="Boolean(formData.imgUrlP4)"
v-model="formData.imgUrlP4"
:disabled="Boolean(formData.imgUrlP10)"
v-model="formData.imgUrlP10"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP4')}"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP10')}"
>
<el-image
class="bg-img"
v-if="formData.imgUrlP4"
:src="formData.imgUrlP4"
@mouseover.stop="imgMouseOverP4 = true"
:preview-src-list="[formData.imgUrlP4]">
v-if="formData.imgUrlP10"
:src="formData.imgUrlP10"
@mouseover.stop="imgMouseOverP10 = true"
:preview-src-list="[formData.imgUrlP10]">
</el-image>
<img
v-if="!formData.imgUrlP4"
v-if="!formData.imgUrlP10"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete"
v-show="imgMouseOverP4"
@click.stop="deleteImg('imgUrlP4')"
@mouseout.stop="imgMouseOverP4 = false"
v-show="imgMouseOverP10"
@click.stop="deleteImg('imgUrlP10')"
@mouseout.stop="imgMouseOverP10 = false"
>
<i class="el-icon-delete"></i>
</div>
......@@ -1022,11 +1033,11 @@
<el-form-item
label="有效日期"
label-width="100px"
prop="imgUrlP4Date"
prop="imgUrlP10Date"
>
<el-date-picker
v-model="formData.imgUrlP4Date"
@change="(v) => {this.orgDate(v, 'imgUrlP4')}"
v-model="formData.imgUrlP10Date"
@change="(v) => {this.orgDate(v, 'imgUrlP10')}"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
......@@ -1034,34 +1045,34 @@
</el-date-picker>
</el-form-item>
</div>
<div v-if="controlLicense.includes('2')">
<div v-if="controlLicense.filter((i => { return String(i).charAt(0) == '2' && String(i).charAt(3) == '3'; })).length > 0">
<p class="tips">医疗器械网络销售备案</p>
<el-form-item prop="imgUrlP5">
<el-form-item prop="imgUrlP13">
<el-upload
:disabled="Boolean(formData.imgUrlP5)"
v-model="formData.imgUrlP5"
:disabled="Boolean(formData.imgUrlP13)"
v-model="formData.imgUrlP13"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP5')}"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP13')}"
>
<el-image
class="bg-img"
v-if="formData.imgUrlP5"
:src="formData.imgUrlP5"
@mouseover.stop="imgMouseOverP5 = true"
:preview-src-list="[formData.imgUrlP5]">
v-if="formData.imgUrlP13"
:src="formData.imgUrlP13"
@mouseover.stop="imgMouseOverP13 = true"
:preview-src-list="[formData.imgUrlP13]">
</el-image>
<img
v-if="!formData.imgUrlP5"
v-if="!formData.imgUrlP13"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete"
v-show="imgMouseOverP5"
@click.stop="deleteImg('imgUrlP5')"
@mouseout.stop="imgMouseOverP5 = false"
v-show="imgMouseOverP13"
@click.stop="deleteImg('imgUrlP13')"
@mouseout.stop="imgMouseOverP13 = false"
>
<i class="el-icon-delete"></i>
</div>
......@@ -1070,11 +1081,11 @@
<el-form-item
label="有效日期"
label-width="100px"
prop="imgUrlP5Date"
prop="imgUrlP13Date"
>
<el-date-picker
v-model="formData.imgUrlP5Date"
@change="(v) => {this.orgDate(v, 'imgUrlP5')}"
v-model="formData.imgUrlP13Date"
@change="(v) => {this.orgDate(v, 'imgUrlP13')}"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
......@@ -1082,35 +1093,35 @@
</el-date-picker>
</el-form-item>
</div>
<div v-if="controlLicense.includes('2')">
<div v-if="controlLicense.filter((i => { return String(i).charAt(0) == '2' && String(i).charAt(3) == '2'; })).length > 0">
<p v-if="certifyValidDtoList(11)" class="red">{{certifyValidDtoList(11)}}</p>
<p class="tips">二类医疗器械经营备案凭证</p>
<el-form-item prop="imgUrlP6">
<el-form-item prop="imgUrlP11">
<el-upload
:disabled="Boolean(formData.imgUrlP6)"
v-model="formData.imgUrlP6"
:disabled="Boolean(formData.imgUrlP11)"
v-model="formData.imgUrlP11"
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP6')}"
:before-upload="(file) => {this.beforeUploadProve(file, 'imgUrlP11')}"
>
<el-image
class="bg-img"
v-if="formData.imgUrlP6"
:src="formData.imgUrlP6"
@mouseover.stop="imgMouseOverP6 = true"
:preview-src-list="[formData.imgUrlP6]">
v-if="formData.imgUrlP11"
:src="formData.imgUrlP11"
@mouseover.stop="imgMouseOverP11 = true"
:preview-src-list="[formData.imgUrlP11]">
</el-image>
<img
v-if="!formData.imgUrlP6"
v-if="!formData.imgUrlP11"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
class="img-delete"
v-show="imgMouseOverP6"
@click.stop="deleteImg('imgUrlP6')"
@mouseout.stop="imgMouseOverP6 = false"
v-show="imgMouseOverP11"
@click.stop="deleteImg('imgUrlP11')"
@mouseout.stop="imgMouseOverP11 = false"
>
<i class="el-icon-delete"></i>
</div>
......@@ -1119,11 +1130,11 @@
<el-form-item
label="有效日期"
label-width="100px"
prop="imgUrlP6Date"
prop="imgUrlP11Date"
>
<el-date-picker
v-model="formData.imgUrlP6Date"
@change="(v) => {this.orgDate(v, 'imgUrlP6')}"
v-model="formData.imgUrlP11Date"
@change="(v) => {this.orgDate(v, 'imgUrlP11')}"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
......@@ -1326,6 +1337,7 @@ import { checkMobile } from "@/utils/patients/checkValid";
import * as operationData from "../../utils/operation";
import storejs from 'storejs'
let vm = null;
// 图片type:1: 公司信息,2:营业执照,3:上一年年度报告,4:委托人身份证照片,5:委托书,6:法人身份证照片,7:药品经营许可证,8:药品经营质量管理规范认证证书,9:食品经营许可证,10:医疗器械经营许可证,11:二级医疗器械经营备案凭证,12:事业单位法人证")
export default {
components: {
BreadCrumb,
......@@ -1342,6 +1354,7 @@ export default {
}
};
return {
bizScopeCasValue: [],
disabledFORM: false,
controlLicense: [],
activeTabName:'first',
......@@ -1385,11 +1398,12 @@ export default {
], //供货商-管理员信息
compainName: "", //供货商-入驻企业名称
phoneNum: "", //供货商-联系电话
imgUrlP1: "", //证明图1
imgUrlP2: "", //证明图2
imgUrlP3: "", //证明图3
imgUrlP4: "", //证明图4
imgUrlP5: "", //证明图5
imgUrlP5: "", //证明图1
imgUrlP8: "", //证明图2
imgUrlP9: "", //证明图3
imgUrlP10: "", //证明图4
imgUrlP11: "", //证明图5
imgUrlP13: "", //证明图5
imgUrlP6: "", //证明图6
imgUrlP7: "", //证明图7
docName: "", //医生小店-医生姓名
......@@ -1401,13 +1415,14 @@ export default {
imgUrlC3: "", //证明图3
imgUrlC4: "",
imgUrlC5: "",
imgUrlP7Date: '',
imgUrlP6Date: '',
imgUrlP5Date: '',
imgUrlP4Date: '',
imgUrlP3Date: '',
imgUrlP2Date: '',
imgUrlP1Date: '',
imgUrlP6Date: '',
imgUrlP11Date: '',
imgUrlP13Date: '',
imgUrlP10Date: '',
imgUrlP9Date: '',
imgUrlP8Date: '',
imgUrlP7Date: '',
imgUrlC3Date:'',
imgUrlC5Date:'',
imgUrlC1Date:'',
......@@ -1421,7 +1436,9 @@ export default {
areaStr: [],
orgType: '',
orgName:'',
legalName:'',
licenseUrl:'',
legalCertNo:'',
licenseValidDateBegin:'',
licenseValidDateEnd:'',
licenseType: 1,
......@@ -1429,7 +1446,9 @@ export default {
creditCode:'',
assignorLetterUrl:'',
bizScope:'',
certifyLicenseImgList: []
certifyLicenseImgList: [],
assignorName:'',
assignorCertNo:''
},
},
cpmList: [], //所有的物流公司
......@@ -1579,40 +1598,45 @@ export default {
'certifyReq.orgType':[{required: true, message: '请填企业类型', trigger: 'blur'}], //有多条校验条件的时候可以放个ob
'certifyReq.orgAddress':[{type: "string", required: true, message: '请填写详细地址', trigger: 'blur'}],
'certifyReq.bizScope':[{type: "array", required: true, message: '请选择经营范围', trigger: 'change'}],
'certifyReq.orgName':[{type: "string", required: true, message: '请输入企业名称', trigger: 'blur'}],
'certifyReq.creditCode':[{type: "string", required: true, message: '请输入信用代码', trigger: 'blur'}],
'certifyReq.orgName':[{type: "string", required: true, message: '请输入企业名称', trigger: 'change'}],
'certifyReq.creditCode':[{type: "string", required: true, message: '请输入信用代码', trigger: 'change'}],
imgUrlC1Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'blur'}],
'certifyReq.assignorName':[{type: "string", required: true, message: '请输入委托人姓名', trigger: 'blur'}],
'certifyReq.assignorCertNo':[{type: "string", required: true, message: '请输入证件号码', trigger: 'blur'}],
'certifyReq.assignorName':[{type: "string", required: true, message: '请输入委托人姓名', trigger: 'change'}],
'certifyReq.assignorCertNo':[{type: "string", required: true, message: '请输入证件号码', trigger: 'change'}],
imgUrlC5Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'change'}],
'certifyReq.legalName':[{type: "string", required: true, message: '请输入法人姓名', trigger: 'blur'}],
'certifyReq.legalCertNo':[{type: "string", required: true, message: '请输入证件号码', trigger: 'blur'}],
'certifyReq.legalName':[{type: "string", required: true, message: '请输入法人姓名', trigger: 'change'}],
'certifyReq.legalCertNo':[{type: "string", required: true, message: '请输入证件号码', trigger: 'change'}],
imgUrlC3Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'change'}],
imgUrlP1:[{type: "string", required: true, message: '请上传图片', trigger: 'blur'}],
imgUrlP1Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'change'}],
imgUrlP2:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlP3:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlP4:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlP5:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlP5Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'change'}],
imgUrlP8:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlP9:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlP10:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlP11:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlP13:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlP6:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlP7:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlC1:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlC2:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlC3:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlP2Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'change'}],
imgUrlP3Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'change'}],
imgUrlP4Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'change'}],
imgUrlP5Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'change'}],
imgUrlC4:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlC5:[{type: "string", required: true, message: '请上传图片', trigger: 'change'}],
imgUrlP8Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'change'}],
imgUrlP9Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'change'}],
imgUrlP10Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'change'}],
imgUrlP11Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'change'}],
imgUrlP13Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'change'}],
imgUrlP6Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'change'}],
imgUrlP7Date:[{type: "array", required: true, message: '请选择有效日期', trigger: 'change'}],
},
imgMouseOver1: false,
uploadImgMessage1: false, //未上传图片,校验提示语
imgMouseOverP1: false,
imgMouseOverP2: false,
imgMouseOverP3: false,
imgMouseOverP4: false,
imgMouseOverP5: false,
imgMouseOverP8: false,
imgMouseOverP9: false,
imgMouseOverP10: false,
imgMouseOverP11: false,
imgMouseOverP13: false,
imgMouseOverP6: false,
imgMouseOverP7: false,
imgMouseOverC1: false,
......@@ -1652,9 +1676,21 @@ export default {
}
}
},
orgLIST: [],
orgLIST: [
{
id: 5,
intro: "生产企业",
name: "生产企业",
},
{
id: 6,
intro: "商业公司",
name: "商业公司",
}
],
orgScopeLIST:[],
certifyStatus: ''
certifyStatus: '',
idCardError:false,
};
},
computed: {
......@@ -1663,21 +1699,6 @@ export default {
}
},
watch: {
"formData.certifyReq.bizScope": {
handler(val) {
const j = [];
if(val) {
val.map( i => {
if( i[0].includes('first') ){
const m = i[0].charAt(0);
j.includes(m) || j.push(m);
}
})
this.controlLicense = j;
}
},
deep: true,
},
},
created() {
vm = this;
......@@ -1695,8 +1716,8 @@ export default {
const e = await this.orgOptionList();
if(q && w && e){
const storeId = this.$route.query.storeId || null;
const s = storejs.get('store_info');
if(storeId){
// 编辑 详情
this.curmbSecond = "编辑店铺";
......@@ -1713,7 +1734,6 @@ export default {
const {areaStr} = s.certifyReq;
const v = areaStr.map(i => {return i.label;}).join('/');
this.orgRegionValueFirst = v;
this.areaStr = v;
this.orgDateReverse();
this.resetImgUrl();
}else{
......@@ -1728,31 +1748,31 @@ export default {
storejs.remove('store_info');
this.curmbSecond = "新建店铺";
this.isDisabled = false;
if(s){
// 存在数据 就反现
this.formData = s;
const {areaStr} = s.certifyReq;
const v = areaStr.map(i => {return i.label;}).join('/');
this.orgRegionValueFirst = v;
this.orgDateReverse();
}
}
}
},
//日期 设置
orgDateReverse () {
const {licenseValidDateBegin,licenseValidDateEnd,legalValidDateBegin, legalValidDateEnd, assignorValidDateBegin, assignorValidDateEnd} = this.formData.certifyReq;
const {certifyLicenseImgList, certifyReportImgList} = this.formData.certifyReq;
const {certifyLicenseImgList, certifyReportImgList, bizScope} = this.formData.certifyReq;
this.formData.imgUrlC1Date = [licenseValidDateBegin, licenseValidDateEnd];
this.formData.imgUrlC5Date = [assignorValidDateBegin, assignorValidDateEnd];
this.formData.imgUrlC3Date = [legalValidDateBegin, legalValidDateEnd];
// imgUrlC3Date
(certifyReportImgList || []).concat(certifyLicenseImgList).map(i => {
const cl = certifyLicenseImgList || [];
(certifyReportImgList || []).concat(cl).map(i => {
const n = `imgUrlP${i.imageType}Date`;
const m = `imgUrlP${i.imageType}`;
this.formData[n] = [i.validDateBegin, i.validDateEnd];
this.formData[m] = i.url;
});
if(bizScope){
const j = [];
bizScope.map( i => {
i.type && j.push(String(i.type) + '__' + i.id,)
})
this.controlLicense = j;
}
},
resetImgUrl () {
// 营业执照 legalCertBackUrl legalCertFrontUrl
......@@ -1764,25 +1784,30 @@ export default {
this.formData.imgUrlC5 = s.assignorCertBackUrl;
this.formData.imgUrlC4 = s.assignorCertFrontUrl;
this.formData.imgUrlP7 = s.assignorLetterUrl;
this.formData.imgUrlP5 = s.assignorLetterUrl;
// 反显 经营范围
const f = s.bizScope && s.bizScope.map( d => {
if(d && d.type){
return [String(d.type), d.id];
}
});
this.bizScopeCasValue = f;
},
getDetail() {
getStoreAdressRepot(this.formData.storeId).then(res => {
if (res.code == "000000") {
if (res.code == "000000" && res.data) {
const l = res.data;
const {areaStr, bizScope} = l.certifyReq;
if(areaStr && bizScope){
l.certifyReq.areaStr = JSON.parse(areaStr);
l.certifyReq.bizScope = JSON.parse(bizScope);
Object.assign(this.formData, l);
const v = JSON.parse(areaStr).map(i => {return i.label;}).join('/');
this.orgRegionValueFirst = v;
this.areaStr = v;
}
this.orgDateReverse();
this.resetImgUrl();
} else {
this.$message.error(res.message);
}
})
},
......@@ -1810,21 +1835,22 @@ export default {
this.storeData.imageList.map((item) => {
if (item.imageSort == 1) {
this.supplierImg1 = item;
this.formData.imgUrlP1 = item.imageUrl;
this.formData.imgUrlP5 = item.imageUrl;
} else if (item.imageSort == 2) {
this.supplierImg2 = item;
this.formData.imgUrlP2 = item.imageUrl;
this.formData.imgUrlP8 = item.imageUrl;
} else if (item.imageSort == 3) {
this.supplierImg3 = item;
this.formData.imgUrlP3 = item.imageUrl;
this.formData.imgUrlP9 = item.imageUrl;
}
});
} else {
this.formData.imgUrlP1 = "";
this.formData.imgUrlP2 = "";
this.formData.imgUrlP3 = "";
this.formData.imgUrlP4 = "";
this.formData.imgUrlP5 = "";
this.formData.imgUrlP8 = "";
this.formData.imgUrlP9 = "";
this.formData.imgUrlP10 = "";
this.formData.imgUrlP11 = "";
this.formData.imgUrlP13 = "";
this.formData.imgUrlP6 = "";
this.formData.imgUrlP7 = "";
}
......@@ -1887,9 +1913,9 @@ export default {
completeWholeForm() {
let flag = this.submitForm();
if (flag && this.certifyStatus == 3) {
this.$confirm('确定要删除这条地址信息么?', '提示', {
this.$confirm('您的店铺已经审核通过,重新提交后需要重新审核。', '确认重新提交店铺信息吗?', {
confirmButtonText: '确定',
cancelButtonText: '',
cancelButtonText: '取消',
type: 'error'
}).then(() => {
this.formData.storeType = Number(this.formData.storeType);
......@@ -1963,16 +1989,16 @@ export default {
if (type == 1) {
this.formData.storeOwner = this.formData.compainName;
this.formData.storePhone = this.formData.phoneNum;
if (this.formData.imgUrlP1) {
this.supplierImg1.imageUrl = this.formData.imgUrlP1;
if (this.formData.imgUrlP5) {
this.supplierImg1.imageUrl = this.formData.imgUrlP5;
this.formData.imageList.push(this.supplierImg1);
}
if (this.formData.imgUrlP2) {
this.supplierImg2.imageUrl = this.formData.imgUrlP2;
if (this.formData.imgUrlP8) {
this.supplierImg2.imageUrl = this.formData.imgUrlP8;
this.formData.imageList.push(this.supplierImg2);
}
if (this.formData.imgUrlP3) {
this.supplierImg3.imageUrl = this.formData.imgUrlP3;
if (this.formData.imgUrlP9) {
this.supplierImg3.imageUrl = this.formData.imgUrlP9;
this.formData.imageList.push(this.supplierImg3);
}
} else if (type == 3) {
......@@ -2166,7 +2192,7 @@ export default {
size: 3,
sizeText: "3M",
key: type,
more: "imgUrlP1More",
more: "imgUrlP7More",
};
return fileLimit;
},
......@@ -2176,6 +2202,13 @@ export default {
const e = dayjs(v[1]).format('YYYY-MM-DD');
const l = this.formData.certifyReq.certifyLicenseImgList;
const t = type.charAt(type.length-1);
const t2 = type.charAt(type.length-2);
let last;
if(isNaN(t2)){
last = t
}else{
last = t2 + t;
}
switch (type) {
case 'imgUrlC1':
// 营业执照
......@@ -2192,24 +2225,25 @@ export default {
this.formData.certifyReq.legalValidDateBegin = b;
this.formData.certifyReq.legalValidDateEnd = e;
break;
case 'imgUrlP1':
case 'imgUrlP7':
// 药品经营许可证
case 'imgUrlP2':
case 'imgUrlP8':
// 药品经营质量管理规范认证
case 'imgUrlP3':
case 'imgUrlP9':
// 食品经营(流通)许可证
case 'imgUrlP4':
case 'imgUrlP10':
// 医疗器械经营许可证
case 'imgUrlP5':
case 'imgUrlP11':
// 二类医疗器械经营备案凭证
case 'imgUrlP13':
// 二类医疗器械经营备案凭证
case 'imgUrlP6':
// 委托书
case 'imgUrlP7':
case 'imgUrlP5':
// 年度报告
const r = l.filter( i => {return i.imageType == t})[0] || {};
l.push(Object.assign(r, {validDateBegin: b, validDateEnd: e, imageType: t}));
const r = l.filter( i => {return i.imageType == last})[0] || {};
l.push(Object.assign(r, {validDateBegin: b, validDateEnd: e, imageType: last}));
this.formData.certifyReq.certifyLicenseImgList = this.clearRepeat(l, 'imageType');
console.log('--this.formData', this.formData);
break;
default:
return false;
......@@ -2283,7 +2317,7 @@ export default {
attachmentExt: path.ext,
attachmentSize: path.size,
};
console.log('vm.formData--', vm.formData, fileLimit);
console.log(vm.formData.imgUrlC2,'--------------');
vm.setImgUrl(path, fileLimit);
vm.$message.success("上传成功");
});
......@@ -2306,9 +2340,18 @@ export default {
setImgUrl (path, fileLimit) {
const l = this.formData.certifyReq.certifyLicenseImgList;
const f = path.fullPath;
const imgName = fileLimit.key;
const u = this.formData[imgName];
const t = imgName.charAt(imgName.length-1);
const t2 = imgName.charAt(imgName.length-2);
let last;
if(isNaN(t2)){
last = t
}else{
last = t2 + t;
}
console.log('imgName', imgName, t, t2, last);
switch (imgName) {
case 'imgUrlC1':
// 营业执照
......@@ -2330,25 +2373,28 @@ export default {
// 法人身份证反面
this.formData.certifyReq.legalCertBackUrl = u;
break;
case 'imgUrlP7':
case 'imgUrlP5':
// 委托书
this.$refs.pIdCardBack.clearValidate();
this.formData.certifyReq.assignorLetterUrl = u;
break;
case 'imgUrlP1':
case 'imgUrlP7':
// 药品经营许可证
case 'imgUrlP2':
case 'imgUrlP8':
// 药品经营质量管理规范认证
case 'imgUrlP3':
case 'imgUrlP9':
// 食品经营(流通)许可证
case 'imgUrlP4':
case 'imgUrlP10':
// 医疗器械经营许可证
case 'imgUrlP5':
case 'imgUrlP11':
// 二类医疗器械经营备案凭证
case 'imgUrlP13':
// 二类医疗器械经营备案凭证
case 'imgUrlP6':
// 委托书
// 年度报告
const r = l.filter( i => {return i.imageType == t})[0] || {};
l.push(Object.assign(r, {url: f, imageType: t}));
const r = l.filter( i => {return i.imageType == last})[0] || {};
l.push(Object.assign(r, {url: f, imageType: last}));
this.formData.certifyReq.certifyLicenseImgList = this.clearRepeat(l, 'imageType');
break;
default:
......@@ -2362,11 +2408,12 @@ export default {
vm.formData[type] = "";
const testMouse = new Map()
.set("storeLogo", "imgMouseOver1")
.set("imgUrlP1", "imgMouseOverP1")
.set("imgUrlP2", "imgMouseOverP2")
.set("imgUrlP3", "imgMouseOverP3")
.set("imgUrlP4", "imgMouseOverP4")
.set("imgUrlP5", "imgMouseOverP5")
.set("imgUrlP7", "imgMouseOverP7")
.set("imgUrlP8", "imgMouseOverP8")
.set("imgUrlP9", "imgMouseOverP9")
.set("imgUrlP10", "imgMouseOverP10")
.set("imgUrlP11", "imgMouseOverP11")
.set("imgUrlP13", "imgMouseOverP13")
.set("imgUrlP6", "imgMouseOverP6")
.set("imgUrlP7", "imgMouseOverP7")
.set("imgUrlC1", "imgMouseOverC1")
......@@ -2406,19 +2453,21 @@ export default {
// 法人身份证反面
this.formData.certifyReq.legalCertBackUrl = '';
break;
case 'imgUrlP7':
case 'imgUrlP5':
this.formData.certifyReq.assignorLetterUrl = '';
// 委托书
break;
case 'imgUrlP1':
case 'imgUrlP7':
// 药品经营许可证
case 'imgUrlP2':
case 'imgUrlP8':
// 药品经营质量管理规范认证
case 'imgUrlP3':
case 'imgUrlP9':
// 食品经营(流通)许可证
case 'imgUrlP4':
case 'imgUrlP10':
// 医疗器械经营许可证
case 'imgUrlP5':
case 'imgUrlP11':
// 二类医疗器械经营备案凭证
case 'imgUrlP13':
// 二类医疗器械经营备案凭证
case 'imgUrlP6':
// 年度报告
......@@ -2431,7 +2480,23 @@ export default {
}
},
orgScopeLISTChange(v){
console.log(v);
const that = this;
this.$nextTick(() => {
const c = that.$refs['cascaderBizScope'].getCheckedNodes();
const m = c.filter( i => {return !i.hasChildren;}).map(k => {return {...k.data}});
const j = [];
if(m) {
m.map( i => {
i.type && j.push(String(i.type) + '__' + i.id,)
})
this.controlLicense = j;
}
});
const checkedNodes = this.$refs['cascaderBizScope'].getCheckedNodes();
const n = checkedNodes.filter( i => {return !i.hasChildren;}).map(k => {return {...k.data}});
vm.formData.certifyReq.bizScope = n;
this.bizScopeCasValue = v;
},
// 获取裁剪的图片数据
getCropImg(argument) {
......@@ -2591,21 +2656,22 @@ export default {
return new Promise((resolve) => {
orgOptionList().then(res => {
if(res.code == '000000') {
this.orgLIST = res.data;
// this.orgLIST = res.data;
}
});
orgScopeOptionList().then( res => {
if(res.code == '000000') {
const m = [
{id: '1_first', name: '药品', list: []},
{id: '2_first', name: '医疗器械', list: []},
{id: '3_first', name: '食品', list: []},
{id: '4_first', name: '其他', list: []},
{id: '1', name: '药品', list: []},
{id: '2', name: '医疗器械', list: []},
{id: '3', name: '食品', list: []},
{id: '4', name: '其他', list: []},
];
m.map(item => {
item.list = res.data.filter(v => v.type == item.id.charAt(0) );
});
this.orgScopeLIST = m;
console.log(this.orgScopeLIST);
}
});
resolve(true);
......@@ -2795,9 +2861,14 @@ export default {
const {wordsResult} = data.ocrCardDto;
if(wordsResult) {
const {creditCode, establishmentDate, orgName, validDate} = wordsResult;
this.$refs.imgUrlC1.clearValidate();
vm.formData.certifyReq.orgName = orgName;
vm.formData.certifyReq.creditCode = creditCode;
if(establishmentDate && validDate) {
vm.formData.imgUrlC1Date = [establishmentDate,validDate];
vm.formData.certifyReq.licenseValidDateBegin = establishmentDate;
vm.formData.certifyReq.licenseValidDateEnd = validDate;
}
console.log('-establishmentDate', establishmentDate, validDate);
}
} else {
......@@ -2807,6 +2878,7 @@ export default {
},
// 身份证正面/反面OCR上传后的回调处理
idCardFileHandle(file, type, legal) {
console.log(type);
file['cardSide'] = type;
console.log('---cardSide', file);
idCardOcr(file).then((res) => {
......@@ -2814,24 +2886,53 @@ export default {
const { code, data } = res;
if (code === '000000') {
console.log('---data', data);
if(!data.ocrCardDto.ocrStatus) {
this.$message.error(data.ocrCardDto.ocrMessage || '身份证识别失败,请重新上传');
if(type === 1){
console.log('上传身份证正面');
setTimeout(() => {
this.formData.imgUrlC2 = ''
this.formData.imgUrlC4 = ''
}, 500);
}
if(type === 2){
setTimeout(() => {
this.formData.imgUrlC3 = ''
this.formData.imgUrlC5 = ''
}, 500);
}
return;
}
if(data.ocrCardDto.wordsResultDto){
this.$refs.idCard.clearValidate();
const {cardNo,name} = data.ocrCardDto.wordsResultDto;
if(!cardNo || !name) { // 身份证内容识别失败
this.idCardError = true
}
if(legal == 'legal'){
vm.formData.certifyReq.legalName = name;
vm.formData.certifyReq.legalCertNo = cardNo;
}else {
this.$refs.fIdCard.clearValidate();
vm.formData.certifyReq.assignorName = name;
vm.formData.certifyReq.assignorCertNo = cardNo;
}
}
if(data.ocrCardDto.wordsResultBackDto){
console.log(this.$refs.idCardBack);
const {signYmd, endYmd} = data.ocrCardDto.wordsResultBackDto;
if(!signYmd || !endYmd) { // 身份证内容识别失败
this.idCardError = true
}
if(legal == 'legal'){
this.$refs.idCardBack.clearValidate();
vm.formData.imgUrlC3Date = [signYmd, endYmd];
vm.formData.certifyReq.legalValidDateBegin = signYmd;
vm.formData.certifyReq.legalValidDateEnd = endYmd;
}else {
this.$refs.fIdCardBack.clearValidate();
vm.formData.imgUrlC5Date = [signYmd, endYmd];
vm.formData.certifyReq.assignorValidDateBegin = signYmd;
vm.formData.certifyReq.assignorValidDateEnd = endYmd;
......@@ -2869,6 +2970,9 @@ export default {
storeStatusFormat(v) {
let s = '';
switch (String(v)) {
case '1':
s = '信息待完善'
break;
case '2':
s = '待审核'
break;
......@@ -3093,9 +3197,13 @@ export default {
}
.img-data{
width: 100%;
max-width: 1200px;
max-width: 1400px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
.el-range-editor{
width: 500px;
}
}
.flex-wrap{
display: flex;
......@@ -3124,6 +3232,13 @@ export default {
.certifyStatusColor3{
color: #f6ffed;
}
.el-range-editor{
width: 500px;
}
.required-star::before{
content: "*";
color: #f56c6c;
margin-right: 4px;
}
}
</style>
......@@ -109,12 +109,16 @@
<span>{{ scope.row.tradeStore.storeType | storeTypeFormat}}</span>
</template>
</el-table-column>
<el-table-column prop="storeType" label="审核状态" min-width="100" align="center">
<el-table-column prop="storeType" label="店铺状态" min-width="100" align="center">
<template slot-scope="scope">
<span :class="scope.row.tradeStore.certifyStatus == 4 ? 'red' : 'green'">
<span v-if="scope.row.tradeStore.storeType != 2" :class="scope.row.tradeStore.certifyStatus == 4 ? 'red' : 'green'">
{{ scope.row.tradeStore.certifyStatus | storeStatusFormat}}
</span>
<span v-else>
上线
</span>
<el-popover
v-if="scope.row.tradeStore.storeType != 2"
placement="top-start"
width="200"
trigger="hover"
......@@ -124,11 +128,6 @@
</template>
</el-table-column>
<el-table-column prop="storeStatus" label="店铺状态" min-width="100" align="center">
<template slot-scope="scope">
<span>{{ scope.row.tradeStore.storeStatus | statusFormat }}</span>
</template>
</el-table-column>
<el-table-column prop="count" label="已上架商品数" min-width="120" align="center">
<template slot-scope="scope">
<span>{{ scope.row.tradeStore.count }}</span>
......@@ -163,15 +162,40 @@
</template>
</el-table-column>
<el-table-column label="操作" min-width="230" align="center" fixed="right">
<!-- <template slot-scope="scope">-->
<!-- <div>-->
<!-- <el-button v-if="scope.row.tradeStore.storeType == 1 && scope.row.tradeStore.certifyStatus == 3" @click="setPrice(scope.row, false)" type="text" size="small">设置分佣</el-button>-->
<!-- <el-button @click="editShop(scope.row, 'true')" type="text" size="small">查看</el-button>-->
<!-- <el-button v-if="scope.row.tradeStore.storeType == 1 && scope.row.tradeStore.certifyStatus > 2" @click="editShop(scope.row, 'false')" type="text" size="small">编辑</el-button>-->
<!-- <el-button v-if="checkIsEdit(scope.row)" @click="shopManage(scope.row)" type="text" size="small">商品管理</el-button>-->
<!-- <el-button v-if="checkIsEdit(scope.row)" @click="orderManage(scope.row)" type="text" size="small">订单管理</el-button>-->
<!-- <el-button v-if="scope.row.tradeStore.storeType == 1 && scope.row.tradeStore.certifyStatus == 3"@click="setFreight(scope.row)" type="text" size="small">运费配置</el-button>-->
<!-- <el-button v-if="scope.row.tradeStore.storeType == 3" @click="closeShopAction(scope.row)" type="text" size="small">关闭店铺</el-button>-->
<!-- </div>-->
<!-- </template>-->
<template slot-scope="scope">
<div>
<el-button v-if="scope.row.tradeStore.commissionFlag == 2" @click="setPrice(scope.row, false)" type="text" size="small">设置分佣</el-button>
<el-button v-if="scope.row.tradeStore.storeStatus <= 2" @click="editShop(scope.row, 'true')" type="text" size="small">{{scope.row.tradeStore.storeStatus <= 2 ? '查看' : ''}}</el-button>
<el-button v-if="scope.row.tradeStore.storeType != 3" @click="editShop(scope.row, 'false')" type="text" size="small">编辑</el-button>
<el-button @click="shopManage(scope.row)" type="text" size="small">商品管理</el-button>
<el-button @click="orderManage(scope.row)" type="text" size="small">订单管理</el-button>
<el-button v-if="scope.row.tradeStore.commissionFlag == 2" @click="setFreight(scope.row)" type="text" size="small">运费配置</el-button>
<el-button v-if="storageIdType == 1 && (scope.row.tradeStore.storeType == 3 && scope.row.tradeStore.storeStatus == 1)" @click="closeShopAction(scope.row)" type="text" size="small">关闭店铺</el-button>
<el-button @click="editShop(scope.row, 'true')" type="text" size="small">查看</el-button>
<el-button v-if="checkIsEdit(scope.row)" checkIsEdit @click="editShop(scope.row, 'false')" type="text" size="small">编辑</el-button>
<el-button v-if="checkGoods(scope.row)" @click="shopManage(scope.row)" type="text" size="small">商品管理</el-button>
<el-button v-if="checkBills(scope.row)" @click="orderManage(scope.row)" type="text" size="small">订单管理</el-button>
<el-button v-if="checkSpe(scope.row)" @click="setPrice(scope.row, false)" type="text" size="small">设置分佣</el-button>
<el-button v-if="checkSpe(scope.row)" @click="setFreight(scope.row)" type="text" size="small">运费配置</el-button>
<el-button v-if="scope.row.tradeStore.storeType == 3 && isOutsideGetted == 'no'" @click="closeShopAction(scope.row)" type="text" size="small">关闭店铺</el-button>
</div>
</template>
</el-table-column>
......@@ -249,12 +273,14 @@
import { openLoading, closeLoading } from "../../utils/utils";
import BreadCrumb from "@/components/breadcrumb.vue";
import { queryStore, queryShopAuth, closeShop } from '@/utils/shop';
import { getUserTypeReq } from "@/utils/cme/cmeApi";
export default {
components: {
BreadCrumb
},
data(){
return{
isOutsideGetted: 'no',
curmbFirst: '云鹊店铺',
showAllFlag: false,
showNewFlag: false,
......@@ -302,13 +328,17 @@
}],
storeTypeList: [
{
value: 1,
label: "待完善"
},
{
value: 2,
label: "认证提交中"
label: "待审核"
},
{
value: 3,
label: "认证通过"
label: "审核通过"
},
{
value: 4,
......@@ -348,6 +378,7 @@
// this.idType = localStorage.getItem("storageIdType");
this.storageIdType = localStorage.getItem("storageIdType") - 0;
console.log(this.storageIdType);
this.getUserTypeReq();
this.getAddAuth();
this.searchList();
},
......@@ -360,6 +391,15 @@
}
})
},
getUserTypeReq () {
getUserTypeReq().then(res => {
console.log('--res', res);
if(res.code == '000000'){
this.isOutsideGetted = res.data.code;
}
});
},
searchList() {
openLoading(this);
let params = this.searchForm;
......@@ -666,8 +706,51 @@
});
}
return v;
},
checkIsEdit (row){
const {storeType, certifyStatus} = row.tradeStore;
if(storeType == 1 && Number(certifyStatus) > 2){
return true;
}else if(storeType == 2){
return true;
}else{
return false;
}
},
checkGoods(row) {
const {storeType, certifyStatus} = row.tradeStore;
if(storeType == 1 && Number(certifyStatus) === 3){
return true
}else if(storeType == 2){
return true
}else if(storeType == 3){
if(Number(certifyStatus) == 1 || Number(certifyStatus) == 3){
return true;
}else{
return false;
}
}else{
return false;
}
},
checkBills(row) {
const {storeType, certifyStatus} = row.tradeStore;
if(storeType == 1 && Number(certifyStatus) !== 3){
return false;
}else{
return true;
}
},
checkSpe(row) {
const {storeType, certifyStatus} = row.tradeStore;
if(storeType == 1 && Number(certifyStatus) == 3){
return true;
}else if(storeType == 2){
return true;
}else{
return false;
}
},
},
filters: {
storeTypeFormat: function(value){
......@@ -718,6 +801,9 @@
storeStatusFormat(v) {
let s = '';
switch (v) {
case 1:
s = '信息待完善'
break;
case 2:
s = '待审核'
break;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册