提交 8016e7a7 编写于 作者: shuang.zhou's avatar shuang.zhou

Merge branch 'develop-3.18.0' of...

Merge branch 'develop-3.18.0' of 192.168.110.53:com.pica.cloud.education.frontend/pica.cloud.web-education-admin into feature/shuang
...@@ -123,3 +123,13 @@ export const getGoodsIdList = (params) => { ...@@ -123,3 +123,13 @@ export const getGoodsIdList = (params) => {
description: '商品ID列表查询', description: '商品ID列表查询',
}) })
}; };
export const getTypeCodeList = () => {
return fetch({
headers,
url: getBaseUrl(`basic-data/constants/app?typeCodeList=P306`),
method: "get",
description: "获取适用人群类别",
});
};
...@@ -540,7 +540,7 @@ ...@@ -540,7 +540,7 @@
v-model="formData2.suitableArr" v-model="formData2.suitableArr"
:multiple="true" :multiple="true"
placeholder="请选择" placeholder="请选择"
size="small" class="suitableList-select"
> >
<el-option <el-option
v-for="(item,index) in suitableList" v-for="(item,index) in suitableList"
...@@ -859,7 +859,7 @@ ...@@ -859,7 +859,7 @@
let vm = null; let vm = null;
import { openLoading, closeLoading } from "../../utils/utils"; import { openLoading, closeLoading } from "../../utils/utils";
import { doUpload, getFilePath } from "../../utils/qiniu-util"; import { doUpload, getFilePath } from "../../utils/qiniu-util";
import { updateGoods ,updateStock,dosageAll,getDeparts,getGoodsList, getGoodDetails, updateGoodsV2, getHospitalInfoByStoreId, getCheckPackageIdList } from '@/utils/goods'; import { updateGoods ,updateStock,dosageAll,getDeparts,getGoodsList, getGoodDetails, updateGoodsV2, getHospitalInfoByStoreId, getCheckPackageIdList, getTypeCodeList } from '@/utils/goods';
import Cropper from '@/components/common/cropper.vue' import Cropper from '@/components/common/cropper.vue'
import { originRules1, originRules2, originRules } from './rules'; import { originRules1, originRules2, originRules } from './rules';
...@@ -947,8 +947,8 @@ ...@@ -947,8 +947,8 @@
checkPackageIdList: [{name:'其他',content:0}], checkPackageIdList: [{name:'其他',content:0}],
hospitalTypeList: [{label:'村卫生室',value:1},{label:'乡镇卫生院/中心',value:2}], // 医疗机构类型 hospitalTypeList: [{label:'村卫生室',value:1},{label:'乡镇卫生院/中心',value:2}], // 医疗机构类型
checkTypeList: [{label:'常规检测',value:1}], // 检测类型 checkTypeList: [{label:'常规检测',value:1}], // 检测类型
suitableList: [{label:'儿童',value:'1'},{label:'青年',value:'2'},{label:'中年',value:'4'},{label:'老年',value:'8'},{label:'40-74岁的结直肠癌高风险人群',value:'10'}], // 适用人群 // suitableList: [{label:'儿童',value:'1'},{label:'青年',value:'2'},{label:'中年',value:'4'},{label:'老年',value:'8'},{label:'40-74岁的结直肠癌高风险人群',value:'10'}], // 适用人群
suitableList: [],
// 不同类型服务的表单通用字段 // 不同类型服务的表单通用字段
// 不同类型服务的表单通用字段 // 不同类型服务的表单通用字段
// 不同类型服务的表单通用字段 // 不同类型服务的表单通用字段
...@@ -1017,6 +1017,7 @@ ...@@ -1017,6 +1017,7 @@
this.isEdit = id != 'add'; this.isEdit = id != 'add';
this.curmbThird = this.title; this.curmbThird = this.title;
this.formData.storeId = Number(storeId) || ''; this.formData.storeId = Number(storeId) || '';
this.getTypeCodeList();
this.getLever(0,1) this.getLever(0,1)
dosageAll().then((res)=>{ dosageAll().then((res)=>{
this.doseAll = res.data this.doseAll = res.data
...@@ -1047,11 +1048,26 @@ ...@@ -1047,11 +1048,26 @@
} }
}, },
methods: { methods: {
// 获取适用人群
getTypeCodeList() {
return getTypeCodeList().then((res) => {
if (res.code == '000000') {
this.suitableList = [];
for (const item of res.data) {
this.suitableList.push({
label: item.value,
value: item.no + ''
})
}
}
}).catch((err)=>{})
},
//eidt状态 //eidt状态
async getDetailByEdit(id, goodsType){ async getDetailByEdit(id, goodsType){
this.goodsId = id ; this.goodsId = id ;
if(goodsType == 337){ if(goodsType == 337){
this.isCheckServe = true; this.isCheckServe = true;
await this.getTypeCodeList();
const res = await getGoodDetails(id); const res = await getGoodDetails(id);
console.log(`========================>`, res); console.log(`========================>`, res);
if(res.code != '000000'){ if(res.code != '000000'){
...@@ -1790,6 +1806,9 @@ ...@@ -1790,6 +1806,9 @@
} }
} }
} }
.suitableList-select {
width: 445px;
}
.el-button--text{ .el-button--text{
color: #449284; color: #449284;
font-size: 14px; font-size: 14px;
......
...@@ -44,16 +44,13 @@ ...@@ -44,16 +44,13 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="status" prop="goodsShowStatusStr"
label="状态" label="状态"
min-width="100" min-width="100"
align="center" align="center"
:filters="getFilterStatusArr('status','showStatusStr')" :filters="getFilterArr('goodsShowStatusStr')"
:filter-method="filterStatusHandler" :filter-method="filterStatusHandler"
> >
<template slot-scope="scope">
<span>{{scope.row.goodsShowStatusStr}}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column prop="expressCompany" label="物流公司" min-width="100" align="center"> <el-table-column prop="expressCompany" label="物流公司" min-width="100" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -70,7 +67,7 @@ ...@@ -70,7 +67,7 @@
label="所属包裹" label="所属包裹"
min-width="100" min-width="100"
align="center" align="center"
:filters="getFilterPackageArr('belongPackage')" :filters="getFilterArr('belongPackage')"
:filter-method="filterPackageHandler" :filter-method="filterPackageHandler"
> >
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -520,35 +517,16 @@ ...@@ -520,35 +517,16 @@
} }
}); });
}, },
getFilterStatusArr(value,valueStr) { getFilterArr(value) {
let newFilterArr = [];
for (const newItem of this.tableData) {
for (const item of newFilterArr) {
if(item.text == this.orderDetailData[valueStr]) {
return newFilterArr;
}
}
if (newItem[value]) {
newFilterArr.push({
text: this.orderDetailData[valueStr],
value: newItem[value]
})
}
}
return newFilterArr;
},
filterStatusHandler(value, row, column) {
return row.status === value;
},
getFilterPackageArr(value) {
let newFilterArr = []; let newFilterArr = [];
for (const newItem of this.tableData) { for (const newItem of this.tableData) {
let flag = true;
for (const item of newFilterArr) { for (const item of newFilterArr) {
if(item.text == newItem[value]) { if(item.text == newItem[value]) {
return newFilterArr; flag = false;
} }
} }
if (newItem[value]) { if(newItem[value] && flag) {
newFilterArr.push({ newFilterArr.push({
text: newItem[value], text: newItem[value],
value: newItem[value] value: newItem[value]
...@@ -557,6 +535,9 @@ ...@@ -557,6 +535,9 @@
} }
return newFilterArr; return newFilterArr;
}, },
filterStatusHandler(value, row, column) {
return row.goodsShowStatusStr === value;
},
filterPackageHandler(value, row, column) { filterPackageHandler(value, row, column) {
return row.belongPackage === value; return row.belongPackage === value;
}, },
......
<template> <template>
<div class="create-shop-wrapper"> <div class="create-shop-wrapper">
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb> <bread-crumb
:curmbFirst="curmbFirst"
:curmbSecond="curmbSecond"
></bread-crumb>
<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">新建店铺</p> <p class="title">新建店铺</p>
</el-col> </el-col>
<el-col :span="4" style="text-align: right"> <el-col :span="4" style="text-align: right">
<el-button size="small" type="primary" :disabled="storeData && storeData.tradeStore.storeType == 3" @click="complete">完成</el-button> <el-button
size="small"
type="primary"
:disabled="storeData && storeData.tradeStore.storeType == 3"
@click="complete"
>完成</el-button
>
<el-button size="small" type="primary" @click="back">返回</el-button> <el-button size="small" type="primary" @click="back">返回</el-button>
</el-col> </el-col>
</el-row> </el-row>
...@@ -32,15 +41,20 @@ ...@@ -32,15 +41,20 @@
<img <img
v-if="formData.storeLogo" v-if="formData.storeLogo"
:src="formData.storeLogo" :src="formData.storeLogo"
@mouseover.stop="imgMouseOver1=true" @mouseover.stop="imgMouseOver1 = true"
class="bg-img" class="bg-img"
/> />
<img v-if="!formData.storeLogo" class="bg-img" src="../../assets/image/small.png" /> <img
<div v-if="storeData && storeData.tradeStore.storeType == 3" v-if="!formData.storeLogo"
class="bg-img"
src="../../assets/image/small.png"
/>
<div
v-if="storeData && storeData.tradeStore.storeType == 3"
class="img-delete" class="img-delete"
v-show="imgMouseOver1" v-show="imgMouseOver1"
@click.stop="deleteImg('storeLogo')" @click.stop="deleteImg('storeLogo')"
@mouseout.stop="imgMouseOver1=false" @mouseout.stop="imgMouseOver1 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
...@@ -61,9 +75,11 @@ ...@@ -61,9 +75,11 @@
v-model="formData.storeName" v-model="formData.storeName"
placeholder="请输入店铺名称" placeholder="请输入店铺名称"
maxlength="16" maxlength="16"
style="width:85%;" style="width: 85%"
></el-input> ></el-input>
<span class="word-num">{{(formData.storeName).replace(/\s+/g,"").length}}/16</span> <span class="word-num"
>{{ formData.storeName.replace(/\s+/g, "").length }}/16</span
>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="店铺简介" prop="storeDescription"> <el-form-item label="店铺简介" prop="storeDescription">
...@@ -76,9 +92,13 @@ ...@@ -76,9 +92,13 @@
size="small" size="small"
v-model="formData.storeDescription" v-model="formData.storeDescription"
placeholder="请输入店铺简介" placeholder="请输入店铺简介"
style="width:85%;" style="width: 85%"
></el-input> ></el-input>
<span class="word-num">{{(formData.storeDescription).replace(/\s+/g,"").length}}/400</span> <span class="word-num"
>{{
formData.storeDescription.replace(/\s+/g, "").length
}}/400</span
>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="店铺类型" prop="storeType"> <el-form-item label="店铺类型" prop="storeType">
...@@ -91,30 +111,44 @@ ...@@ -91,30 +111,44 @@
style="width: 35%" style="width: 35%"
> >
<el-option <el-option
v-for="(item,index) in typeList" v-for="(item, index) in typeList"
:key="index" :key="index"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<div>
<div v-if="formData.storeType == 1"> <div v-if="formData.storeType == 1">
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="入驻企业名称" prop="compainName" class="required-label"> <el-form-item
label="入驻企业名称"
prop="compainName"
class="required-label"
>
<el-input <el-input
type="text" type="text"
maxlength="50" maxlength="50"
size="small" size="small"
v-model="formData.compainName" v-model="formData.compainName"
placeholder="请输入入驻企业名称" placeholder="请输入入驻企业名称"
style="width:85%;" style="width: 85%"
></el-input> ></el-input>
<span class="word-num">{{(formData.compainName).replace(/\s+/g,"").length}}/50</span> <span class="word-num"
>{{
formData.compainName.replace(/\s+/g, "").length
}}/50</span
>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10" :offset="1"> <el-col :span="10" :offset="1">
<el-form-item label="联系手机号" prop="phoneNum" label-width="95px" class="required-label"> <el-form-item
label="联系手机号"
prop="phoneNum"
label-width="95px"
class="required-label"
>
<el-input <el-input
type="text" type="text"
size="small" size="small"
...@@ -122,12 +156,16 @@ ...@@ -122,12 +156,16 @@
:disabled="isDisabled" :disabled="isDisabled"
v-model="formData.phoneNum" v-model="formData.phoneNum"
placeholder="请输入联系电话" placeholder="请输入联系电话"
style="width:85%;" style="width: 85%"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="main-content" v-for="(item, index) in formData.adminList" :key="index"> <div
class="main-content"
v-for="(item, index) in formData.adminList"
:key="index"
>
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="管理员姓名" class="required-label"> <el-form-item label="管理员姓名" class="required-label">
...@@ -137,29 +175,38 @@ ...@@ -137,29 +175,38 @@
size="small" size="small"
v-model="item.adminName" v-model="item.adminName"
placeholder="请输入管理员姓名" placeholder="请输入管理员姓名"
style="width:85%;" style="width: 85%"
></el-input> ></el-input>
<span class="word-num">{{(item.adminName).replace(/\s+/g,"").length}}/10</span> <span class="word-num"
>{{ item.adminName.replace(/\s+/g, "").length }}/10</span
>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="1" style="text-align: right"> <el-col :span="1" style="text-align: right">
<img style="margin-top: 5px;" src="../../assets/image/lianjie_icon.png" /> <img
style="margin-top: 5px"
src="../../assets/image/lianjie_icon.png"
/>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="手机号" label-width="95px" class="required-label"> <el-form-item
label="手机号"
label-width="95px"
class="required-label"
>
<el-input <el-input
type="text" type="text"
size="small" size="small"
maxlength="11" maxlength="11"
v-model="item.adminMobile" v-model="item.adminMobile"
placeholder="请输入管理员手机号" placeholder="请输入管理员手机号"
style="width:85%;" style="width: 85%"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="2" class="span-mt-10"> <el-col :span="2" class="span-mt-10">
<img <img
v-if="index < 4 && (index == formData.adminList.length-1)" v-if="index < 4 && index == formData.adminList.length - 1"
@click="addItem(index)" @click="addItem(index)"
class="edit-img" class="edit-img"
src="../../assets/image/plus.png" src="../../assets/image/plus.png"
...@@ -174,9 +221,11 @@ ...@@ -174,9 +221,11 @@
</el-row> </el-row>
</div> </div>
<el-form-item label="营业证明"> <el-form-item label="营业证明">
<p class="p-tips">若填写的联系人注册不是法定代表人,请上传委托书<br/> <p class="p-tips">
仅支持jpg、png图片文件,且文件小于3M<br/> 若填写的联系人注册不是法定代表人,请上传委托书<br />
上传的证件图片内,必须是加盖过红色公章和法人章,否则视为无效</p> 仅支持jpg、png图片文件,且文件小于3M<br />
上传的证件图片内,必须是加盖过红色公章和法人章,否则视为无效
</p>
<div style="display: flex"> <div style="display: flex">
<div class="flex-upload"> <div class="flex-upload">
<el-upload <el-upload
...@@ -189,15 +238,19 @@ ...@@ -189,15 +238,19 @@
<img <img
v-if="formData.imgUrlP1" v-if="formData.imgUrlP1"
:src="formData.imgUrlP1" :src="formData.imgUrlP1"
@mouseover.stop="imgMouseOverP1=true" @mouseover.stop="imgMouseOverP1 = true"
class="bg-img"
/>
<img
v-if="!formData.imgUrlP1"
class="bg-img" class="bg-img"
src="../../assets/image/small.png"
/> />
<img v-if="!formData.imgUrlP1" class="bg-img" src="../../assets/image/small.png" />
<div <div
class="img-delete add-left-18" class="img-delete add-left-18"
v-show="imgMouseOverP1" v-show="imgMouseOverP1"
@click.stop="deleteImg('imgUrlP1')" @click.stop="deleteImg('imgUrlP1')"
@mouseout.stop="imgMouseOverP1=false" @mouseout.stop="imgMouseOverP1 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
...@@ -215,19 +268,24 @@ ...@@ -215,19 +268,24 @@
<img <img
v-if="formData.imgUrlP2" v-if="formData.imgUrlP2"
:src="formData.imgUrlP2" :src="formData.imgUrlP2"
@mouseover.stop="imgMouseOverP2=true" @mouseover.stop="imgMouseOverP2 = true"
class="bg-img"
/>
<img
v-if="!formData.imgUrlP2"
class="bg-img" class="bg-img"
src="../../assets/image/small.png"
/> />
<img v-if="!formData.imgUrlP2" class="bg-img" src="../../assets/image/small.png" />
<div <div
class="img-delete add-left-18" class="img-delete add-left-18"
v-show="imgMouseOverP2" v-show="imgMouseOverP2"
@click.stop="deleteImg('imgUrlP2')" @click.stop="deleteImg('imgUrlP2')"
@mouseout.stop="imgMouseOverP2=false" @mouseout.stop="imgMouseOverP2 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
</el-upload><p class="tips">药品经营许可证</p> </el-upload>
<p class="tips">药品经营许可证</p>
</div> </div>
<div class="flex-upload"> <div class="flex-upload">
<el-upload <el-upload
...@@ -240,26 +298,34 @@ ...@@ -240,26 +298,34 @@
<img <img
v-if="formData.imgUrlP3" v-if="formData.imgUrlP3"
:src="formData.imgUrlP3" :src="formData.imgUrlP3"
@mouseover.stop="imgMouseOverP3=true" @mouseover.stop="imgMouseOverP3 = true"
class="bg-img" class="bg-img"
/> />
<img v-if="!formData.imgUrlP3" class="bg-img" src="../../assets/image/small.png" /> <img
v-if="!formData.imgUrlP3"
class="bg-img"
src="../../assets/image/small.png"
/>
<div <div
class="img-delete add-left-18" class="img-delete add-left-18"
v-show="imgMouseOverP3" v-show="imgMouseOverP3"
@click.stop="deleteImg('imgUrlP3')" @click.stop="deleteImg('imgUrlP3')"
@mouseout.stop="imgMouseOverP3=false" @mouseout.stop="imgMouseOverP3 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
</el-upload><p class="tips">委托书</p> </el-upload>
<p class="tips">委托书</p>
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
</div> </div>
<div v-if="formData.storeType == 3"> <div v-if="formData.storeType == 3">
<el-col :span="10"> <el-form-item
<el-form-item label="医生姓名" prop="docName" class="required-label"> label="医生姓名"
prop="docName"
class="required-label"
>
<el-input <el-input
:disabled="storeData && storeData.tradeStore.storeType == 3" :disabled="storeData && storeData.tradeStore.storeType == 3"
type="text" type="text"
...@@ -267,13 +333,17 @@ ...@@ -267,13 +333,17 @@
size="small" size="small"
v-model="formData.docName" v-model="formData.docName"
placeholder="请输入医生姓名" placeholder="请输入医生姓名"
style="width:85%;" style="width: 35%"
></el-input> ></el-input>
<span class="word-num">{{(formData.docName).replace(/\s+/g,"").length}}/50</span> <span class="word-num"
>{{ formData.docName.replace(/\s+/g, "").length }}/50</span
>
</el-form-item> </el-form-item>
</el-col> <el-form-item
<el-col :span="10" :offset="1"> label="联系手机号"
<el-form-item label="联系手机号" prop="docPhone" label-width="95px" class="required-label"> prop="docPhone"
class="required-label"
>
<el-input <el-input
type="text" type="text"
size="small" size="small"
...@@ -281,27 +351,39 @@ ...@@ -281,27 +351,39 @@
v-model="formData.docPhone" v-model="formData.docPhone"
:disabled="isDisabled" :disabled="isDisabled"
placeholder="请输入联系电话" placeholder="请输入联系电话"
style="width:85%;" style="width: 35%"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col>
</div> </div>
<div v-if="formData.storeType == 2"> <div v-if="formData.storeType == 2">
<el-col :span="10"> <el-col :span="10">
<el-form-item label="入驻药店名称" prop="drugstoreName" class="required-label"> <el-form-item
label="入驻药店名称"
prop="drugstoreName"
class="required-label"
>
<el-input <el-input
type="text" type="text"
maxlength="50" maxlength="50"
size="small" size="small"
v-model="formData.drugstoreName" v-model="formData.drugstoreName"
placeholder="请输入入驻药店名称" placeholder="请输入入驻药店名称"
style="width:85%;" style="width: 85%"
></el-input> ></el-input>
<span class="word-num">{{(formData.drugstoreName).replace(/\s+/g,"").length}}/50</span> <span class="word-num"
>{{
formData.drugstoreName.replace(/\s+/g, "").length
}}/50</span
>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10" :offset="1"> <el-col :span="10" :offset="1">
<el-form-item label="联系电话" prop="drugstorePhone" label-width="95px" class="required-label"> <el-form-item
label="联系电话"
prop="drugstorePhone"
label-width="95px"
class="required-label"
>
<el-input <el-input
type="text" type="text"
size="small" size="small"
...@@ -309,15 +391,17 @@ ...@@ -309,15 +391,17 @@
v-model="formData.drugstorePhone" v-model="formData.drugstorePhone"
:disabled="isDisabled" :disabled="isDisabled"
placeholder="请输入联系电话" placeholder="请输入联系电话"
style="width:85%;" style="width: 85%"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="营业证明"> <el-form-item label="营业证明">
<p class="p-tips">若填写的联系人注册不是法定代表人,请上传委托书<br/> <p class="p-tips">
仅支持jpg、png图片文件,且文件小于3M<br/> 若填写的联系人注册不是法定代表人,请上传委托书<br />
上传的证件图片内,必须是加盖过红色公章和法人章,否则视为无效</p> 仅支持jpg、png图片文件,且文件小于3M<br />
上传的证件图片内,必须是加盖过红色公章和法人章,否则视为无效
</p>
<div style="display: flex"> <div style="display: flex">
<div class="flex-upload"> <div class="flex-upload">
<el-upload <el-upload
...@@ -330,15 +414,19 @@ ...@@ -330,15 +414,19 @@
<img <img
v-if="formData.imgUrlC1" v-if="formData.imgUrlC1"
:src="formData.imgUrlC1" :src="formData.imgUrlC1"
@mouseover.stop="imgMouseOverC1=true" @mouseover.stop="imgMouseOverC1 = true"
class="bg-img" class="bg-img"
/> />
<img v-if="!formData.imgUrlC1" class="bg-img" src="../../assets/image/small.png" /> <img
v-if="!formData.imgUrlC1"
class="bg-img"
src="../../assets/image/small.png"
/>
<div <div
class="img-delete add-left-18" class="img-delete add-left-18"
v-show="imgMouseOverC1" v-show="imgMouseOverC1"
@click.stop="deleteImg('imgUrlC1')" @click.stop="deleteImg('imgUrlC1')"
@mouseout.stop="imgMouseOverC1=false" @mouseout.stop="imgMouseOverC1 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
...@@ -356,19 +444,24 @@ ...@@ -356,19 +444,24 @@
<img <img
v-if="formData.imgUrlC2" v-if="formData.imgUrlC2"
:src="formData.imgUrlC2" :src="formData.imgUrlC2"
@mouseover.stop="imgMouseOverC2=true" @mouseover.stop="imgMouseOverC2 = true"
class="bg-img" class="bg-img"
/> />
<img v-if="!formData.imgUrlC2" class="bg-img" src="../../assets/image/small.png" /> <img
v-if="!formData.imgUrlC2"
class="bg-img"
src="../../assets/image/small.png"
/>
<div <div
class="img-delete add-left-18" class="img-delete add-left-18"
v-show="imgMouseOverC2" v-show="imgMouseOverC2"
@click.stop="deleteImg('imgUrlC2')" @click.stop="deleteImg('imgUrlC2')"
@mouseout.stop="imgMouseOverC2=false" @mouseout.stop="imgMouseOverC2 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
</el-upload><p class="tips">药品经营许可证</p> </el-upload>
<p class="tips">药品经营许可证</p>
</div> </div>
<div class="flex-upload"> <div class="flex-upload">
<el-upload <el-upload
...@@ -381,35 +474,57 @@ ...@@ -381,35 +474,57 @@
<img <img
v-if="formData.imgUrlC3" v-if="formData.imgUrlC3"
:src="formData.imgUrlC3" :src="formData.imgUrlC3"
@mouseover.stop="imgMouseOverC3=true" @mouseover.stop="imgMouseOverC3 = true"
class="bg-img" class="bg-img"
/> />
<img v-if="!formData.imgUrlC3" class="bg-img" src="../../assets/image/small.png" /> <img
v-if="!formData.imgUrlC3"
class="bg-img"
src="../../assets/image/small.png"
/>
<div <div
class="img-delete add-left-18" class="img-delete add-left-18"
v-show="imgMouseOverC3" v-show="imgMouseOverC3"
@click.stop="deleteImg('imgUrlC3')" @click.stop="deleteImg('imgUrlC3')"
@mouseout.stop="imgMouseOverC3=false" @mouseout.stop="imgMouseOverC3 = false"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
</el-upload><p class="tips">委托书</p> </el-upload>
<p class="tips">委托书</p>
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</div> </div>
</div>
<div>
<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>
</el-form> </el-form>
<el-dialog <el-dialog
class="dialog-title-border-old" class="dialog-title-border-old"
title="图片裁剪" title="图片裁剪"
:visible.sync="showCropper" :visible.sync="showCropper"
:width="currentOption.cropDialogWidth" :width="currentOption.cropDialogWidth"
center> center
<div slot="title" style="text-align: left;"> >
<span style="font-weight: 700;">图片裁剪</span> <div slot="title" style="text-align: left">
<span style="font-weight: 700">图片裁剪</span>
</div> </div>
<div v-if="showCropper" style="margin-bottom: 20px;"> <div v-if="showCropper" style="margin-bottom: 20px">
<Cropper <Cropper
:cropOption="currentOption" :cropOption="currentOption"
@getCropImg="getCropImg(arguments)" @getCropImg="getCropImg(arguments)"
...@@ -421,19 +536,19 @@ ...@@ -421,19 +536,19 @@
</div> </div>
</template> </template>
<script> <script>
import BreadCrumb from "@/components/breadcrumb.vue"; import BreadCrumb from "@/components/breadcrumb.vue";
let vm = null; let vm = null;
import { openLoading, closeLoading } from "../../utils/utils"; import { openLoading, closeLoading } from "../../utils/utils";
import { doUpload, getFilePath } from "../../utils/qiniu-util"; import { doUpload, getFilePath } from "../../utils/qiniu-util";
import Cropper from '@/components/common/cropper.vue' import Cropper from "@/components/common/cropper.vue";
import { saveStore, queryStore } from '@/utils/shop'; import { saveStore, queryStore } from "@/utils/shop";
import { checkMobile } from '@/utils/patients/checkValid' import { checkMobile } from "@/utils/patients/checkValid";
export default { export default {
components: { components: {
BreadCrumb, BreadCrumb,
Cropper Cropper,
}, },
data(){ data() {
let checkProjectStr = (rule, value, callback) => { let checkProjectStr = (rule, value, callback) => {
if (value.indexOf("\\") != -1) { if (value.indexOf("\\") != -1) {
callback(new Error("请勿输入字符“ \\ ")); callback(new Error("请勿输入字符“ \\ "));
...@@ -443,88 +558,91 @@ ...@@ -443,88 +558,91 @@
callback(); callback();
} }
}; };
return{ return {
curmbFirst: '云鹊店铺', curmbFirst: "云鹊店铺",
curmbSecond: '新建店铺', curmbSecond: "新建店铺",
isDisabled: false, isDisabled: false,
storeData: null, storeData: null,
typeList: [ typeList: [
{ {
label: '供货商', label: "供货商",
value: 1, value: 1,
}, { },
label: '小药房', {
label: "小药房",
value: 2, value: 2,
}, { },
label: '医生小店', {
label: "医生小店",
value: 3, value: 3,
} },
], ],
formData: { formData: {
storeId: null, storeId: null,
userId: null, userId: null,
storeLogo: '',//店铺logo storeQualityUrl:"",
storeName: '', storeLogo: "", //店铺logo
storeDescription: '', storeName: "",
storeType: '', storeDescription: "",
storeOwner: '', storeType: "",
storePhone: '', storeOwner: "",
storePhone: "",
imageList: [], imageList: [],
adminList: [ adminList: [
{ {
adminName: '', adminName: "",
adminMobile: '', adminMobile: "",
id: null, id: null,
} },
],//供货商-管理员信息 ], //供货商-管理员信息
compainName: '',//供货商-入驻企业名称 compainName: "", //供货商-入驻企业名称
phoneNum: '',//供货商-联系电话 phoneNum: "", //供货商-联系电话
imgUrlP1: '',//证明图1 imgUrlP1: "", //证明图1
imgUrlP2: '',//证明图2 imgUrlP2: "", //证明图2
imgUrlP3: '',//证明图3 imgUrlP3: "", //证明图3
docName: '',//医生小店-医生姓名 docName: "", //医生小店-医生姓名
docPhone: '',//医生小店-联系电话 docPhone: "", //医生小店-联系电话
drugstoreName: '',//小药房-药店名称 drugstoreName: "", //小药房-药店名称
drugstorePhone: '',//小药房-联系电话 drugstorePhone: "", //小药房-联系电话
imgUrlC1: '',//证明图1 imgUrlC1: "", //证明图1
imgUrlC2: '',//证明图2 imgUrlC2: "", //证明图2
imgUrlC3: '',//证明图3 imgUrlC3: "", //证明图3
}, },
supplierImg1: { supplierImg1: {
id: null, id: null,
imageSort: 1, imageSort: 1,
imageType: 2, imageType: 2,
imageUrl: '', imageUrl: "",
}, },
supplierImg2: { supplierImg2: {
id: null, id: null,
imageSort: 2, imageSort: 2,
imageType: 2, imageType: 2,
imageUrl: '', imageUrl: "",
}, },
supplierImg3: { supplierImg3: {
id: null, id: null,
imageSort: 3, imageSort: 3,
imageType: 2, imageType: 2,
imageUrl: '', imageUrl: "",
}, },
drugstoreImg1: { drugstoreImg1: {
id: null, id: null,
imageSort: 1, imageSort: 1,
imageType: 2, imageType: 2,
imageUrl: '', imageUrl: "",
}, },
drugstoreImg2: { drugstoreImg2: {
id: null, id: null,
imageSort: 2, imageSort: 2,
imageType: 2, imageType: 2,
imageUrl: '', imageUrl: "",
}, },
drugstoreImg3: { drugstoreImg3: {
id: null, id: null,
imageSort: 3, imageSort: 3,
imageType: 2, imageType: 2,
imageUrl: '', imageUrl: "",
}, },
showCropper: false, showCropper: false,
currentOption: { currentOption: {
...@@ -535,15 +653,15 @@ ...@@ -535,15 +653,15 @@
cvWidth: 1000, cvWidth: 1000,
cvHeight: 800, cvHeight: 800,
uploadType: 1, uploadType: 1,
cropDialogWidth: '900px', cropDialogWidth: "900px",
cropBoxResizable: true, cropBoxResizable: true,
minCropBoxWidth: 100, minCropBoxWidth: 100,
minCropBoxHeight: 100, minCropBoxHeight: 100,
aspectRatio: 16/9, aspectRatio: 16 / 9,
currentPic: '', currentPic: "",
}, },
slide2: { slide2: {
oriUrl: '', // 原图 oriUrl: "", // 原图
}, },
rules: { rules: {
storeName: [ storeName: [
...@@ -552,13 +670,13 @@ ...@@ -552,13 +670,13 @@
min: 2, min: 2,
max: 16, max: 16,
message: "输入长度为2-16的内容,可包含中英文、数字及特殊符号", message: "输入长度为2-16的内容,可包含中英文、数字及特殊符号",
trigger: "blur" trigger: "blur",
}, },
{ validator: checkProjectStr, trigger: "blur" } { validator: checkProjectStr, trigger: "blur" },
], ],
storeDescription: [ storeDescription: [
{ required: false, message: "请输入店铺简介", trigger: "blur" }, { required: false, message: "请输入店铺简介", trigger: "blur" },
{ validator: checkProjectStr, trigger: "blur" } { validator: checkProjectStr, trigger: "blur" },
], ],
storeType: [ storeType: [
{ required: true, message: "请选择店铺类型", trigger: "blur" }, { required: true, message: "请选择店铺类型", trigger: "blur" },
...@@ -568,25 +686,25 @@ ...@@ -568,25 +686,25 @@
], ],
phoneNum: [ phoneNum: [
{ required: true, message: "请输入联系电话", trigger: "blur" }, { required: true, message: "请输入联系电话", trigger: "blur" },
{validator: checkMobile, trigger: ['change','blur']} { validator: checkMobile, trigger: ["change", "blur"] },
], ],
docName: [ docName: [
{ required: true, message: "请输入医生姓名", trigger: "blur" }, { required: true, message: "请输入医生姓名", trigger: "blur" },
], ],
docPhone: [ docPhone: [
{ required: true, message: "请输入联系电话", trigger: "blur" }, { required: true, message: "请输入联系电话", trigger: "blur" },
{validator: checkMobile, trigger: ['change','blur']} { validator: checkMobile, trigger: ["change", "blur"] },
], ],
drugstoreName: [ drugstoreName: [
{ required: true, message: "请输入入驻药店名称", trigger: "blur" }, { required: true, message: "请输入入驻药店名称", trigger: "blur" },
], ],
drugstorePhone: [ drugstorePhone: [
{ required: true, message: "请输入联系电话", trigger: "blur" }, { required: true, message: "请输入联系电话", trigger: "blur" },
{validator: checkMobile, trigger: ['change','blur']} { validator: checkMobile, trigger: ["change", "blur"] },
], ],
}, },
imgMouseOver1: false, imgMouseOver1: false,
uploadImgMessage1: false,//未上传图片,校验提示语 uploadImgMessage1: false, //未上传图片,校验提示语
imgMouseOverP1: false, imgMouseOverP1: false,
imgMouseOverP2: false, imgMouseOverP2: false,
imgMouseOverP3: false, imgMouseOverP3: false,
...@@ -595,7 +713,7 @@ ...@@ -595,7 +713,7 @@
imgMouseOverC3: false, imgMouseOverC3: false,
addItemFlag: true, addItemFlag: true,
enterType: 1, enterType: 1,
} };
}, },
watch: {}, watch: {},
created() { created() {
...@@ -604,13 +722,13 @@ ...@@ -604,13 +722,13 @@
this.storeData = this.$route.query.storeData || null; this.storeData = this.$route.query.storeData || null;
if (this.formData.storeId) { if (this.formData.storeId) {
this.curmbSecond = '编辑店铺'; this.curmbSecond = "编辑店铺";
this.storeData = JSON.parse(this.storeData); this.storeData = JSON.parse(this.storeData);
this.isDisabled = true; this.isDisabled = true;
this.initInfo(); this.initInfo();
this.getStoreInfo(); this.getStoreInfo();
}else { } else {
this.curmbSecond = '新建店铺'; this.curmbSecond = "新建店铺";
this.isDisabled = false; this.isDisabled = false;
} }
}, },
...@@ -618,9 +736,18 @@ ...@@ -618,9 +736,18 @@
//回显数据处理 //回显数据处理
getStoreInfo() { getStoreInfo() {
if (!this.storeData || !this.storeData.tradeStore) return; if (!this.storeData || !this.storeData.tradeStore) return;
const { storeLogo, storeName, storeDescription, storeType, storeOwner, storePhone, } = this.storeData.tradeStore; const {
storeLogo,
storeName,
storeDescription,
storeType,
storeOwner,
storePhone,
storeQualityUrl
} = this.storeData.tradeStore;
this.formData.storeLogo = storeLogo; this.formData.storeLogo = storeLogo;
this.formData.storeName = storeName; this.formData.storeName = storeName;
this.formData.storeQualityUrl=storeQualityUrl;
this.formData.storeDescription = storeDescription; this.formData.storeDescription = storeDescription;
this.formData.storeType = storeType; this.formData.storeType = storeType;
...@@ -628,70 +755,71 @@ ...@@ -628,70 +755,71 @@
this.formData.compainName = storeOwner; this.formData.compainName = storeOwner;
this.formData.phoneNum = storePhone; this.formData.phoneNum = storePhone;
if (this.storeData.imageList && this.storeData.imageList.length) { if (this.storeData.imageList && this.storeData.imageList.length) {
this.storeData.imageList.map(item => { this.storeData.imageList.map((item) => {
if (item.imageSort == 1) { if (item.imageSort == 1) {
this.supplierImg1 = item; this.supplierImg1 = item;
this.formData.imgUrlP1 = item.imageUrl; this.formData.imgUrlP1 = item.imageUrl;
}else if (item.imageSort == 2) { } else if (item.imageSort == 2) {
this.supplierImg2 = item; this.supplierImg2 = item;
this.formData.imgUrlP2 = item.imageUrl; this.formData.imgUrlP2 = item.imageUrl;
}else if (item.imageSort == 3) { } else if (item.imageSort == 3) {
this.supplierImg3 = item; this.supplierImg3 = item;
this.formData.imgUrlP3 = item.imageUrl; this.formData.imgUrlP3 = item.imageUrl;
} }
}) });
}else { } else {
this.formData.imgUrlP1 = ''; this.formData.imgUrlP1 = "";
this.formData.imgUrlP2 = ''; this.formData.imgUrlP2 = "";
this.formData.imgUrlP3 = ''; this.formData.imgUrlP3 = "";
} }
//处理管理员数据 //处理管理员数据
if (this.storeData.adminList && this.storeData.adminList.length) { if (this.storeData.adminList && this.storeData.adminList.length) {
this.formData.adminList = this.storeData.adminList this.formData.adminList = this.storeData.adminList;
}else { } else {
this.formData.adminList = [{ this.formData.adminList = [
adminName: '', {
adminMobile: '', adminName: "",
adminMobile: "",
id: null, id: null,
}] },
];
} }
}else if (storeType == 3) { } else if (storeType == 3) {
this.formData.docName = storeOwner; this.formData.docName = storeOwner;
this.formData.docPhone = storePhone; this.formData.docPhone = storePhone;
}else if (storeType == 2) { } else if (storeType == 2) {
this.formData.drugstoreName = storeOwner; this.formData.drugstoreName = storeOwner;
this.formData.drugstorePhone = storePhone; this.formData.drugstorePhone = storePhone;
if (this.storeData.imageList && this.storeData.imageList.length) { if (this.storeData.imageList && this.storeData.imageList.length) {
this.storeData.imageList.map(item => { this.storeData.imageList.map((item) => {
if (item.imageSort == 1) { if (item.imageSort == 1) {
this.drugstoreImg1 = item; this.drugstoreImg1 = item;
this.formData.imgUrlC1 = item.imageUrl; this.formData.imgUrlC1 = item.imageUrl;
}else if (item.imageSort == 2) { } else if (item.imageSort == 2) {
this.drugstoreImg2 = item; this.drugstoreImg2 = item;
this.formData.imgUrlC2 = item.imageUrl; this.formData.imgUrlC2 = item.imageUrl;
}else if (item.imageSort == 3) { } else if (item.imageSort == 3) {
this.drugstoreImg3 = item; this.drugstoreImg3 = item;
this.formData.imgUrlC3 = item.imageUrl; this.formData.imgUrlC3 = item.imageUrl;
} }
}) });
}else { } else {
this.formData.imgUrlC1 = ''; this.formData.imgUrlC1 = "";
this.formData.imgUrlC2 = ''; this.formData.imgUrlC2 = "";
this.formData.imgUrlC3 = ''; this.formData.imgUrlC3 = "";
} }
} }
}, },
initInfo() { initInfo() {
let req = { let req = {
storeId: this.formData.storeId storeId: this.formData.storeId,
}; };
queryStore(req).then(res => { queryStore(req).then((res) => {
if (res.code == '000000') { if (res.code == "000000") {
} else {
}else {
this.$message.error(res.message); this.$message.error(res.message);
} }
}) });
}, },
complete() { complete() {
let flag = this.submitForm(); let flag = this.submitForm();
...@@ -709,35 +837,35 @@ ...@@ -709,35 +837,35 @@
// adminList:this.formData.adminList, // adminList:this.formData.adminList,
// } // }
this.formData.storeType = Number(this.formData.storeType); this.formData.storeType = Number(this.formData.storeType);
this.formData.storeEntry = 'PCKAIDIAN'; // 添加店铺渠道 this.formData.storeEntry = "PCKAIDIAN"; // 添加店铺渠道
console.log('提交的数据',this.formData) console.log("提交的数据", this.formData);
saveStore(this.formData).then(res => { saveStore(this.formData).then((res) => {
if (res.code == '000000') { if (res.code == "000000") {
this.$message.success("操作成功"); this.$message.success("操作成功");
this.$router.push({ this.$router.push({
path: '/shop-list' path: "/shop-list",
}) });
}else { } else {
this.$message.error(res.message); this.$message.error(res.message);
} }
}) });
} }
}, },
// 返回 // 返回
back() { back() {
this.$router.push({ this.$router.push({
path: '/shop-list' path: "/shop-list",
}) });
}, },
checkPhone(val) { checkPhone(val) {
if(!(/^1[3456789]\d{9}$/.test(val))) { if (!/^1[3456789]\d{9}$/.test(val)) {
return false; return false;
} else { } else {
return true; return true;
} }
}, },
resetType(type){ resetType(type) {
this.formData.imageList = []; this.formData.imageList = [];
if (type == 1) { if (type == 1) {
this.formData.storeOwner = this.formData.compainName; this.formData.storeOwner = this.formData.compainName;
...@@ -754,11 +882,11 @@ ...@@ -754,11 +882,11 @@
this.supplierImg3.imageUrl = this.formData.imgUrlP3; this.supplierImg3.imageUrl = this.formData.imgUrlP3;
this.formData.imageList.push(this.supplierImg3); this.formData.imageList.push(this.supplierImg3);
} }
}else if (type == 3) { } else if (type == 3) {
this.formData.storeOwner = this.formData.docName; this.formData.storeOwner = this.formData.docName;
this.formData.storePhone = this.formData.docPhone; this.formData.storePhone = this.formData.docPhone;
this.formData.adminList = []; this.formData.adminList = [];
}else if (type == 2) { } else if (type == 2) {
this.formData.storeOwner = this.formData.drugstoreName; this.formData.storeOwner = this.formData.drugstoreName;
this.formData.storePhone = this.formData.drugstorePhone; this.formData.storePhone = this.formData.drugstorePhone;
this.formData.adminList = []; this.formData.adminList = [];
...@@ -780,30 +908,30 @@ ...@@ -780,30 +908,30 @@
let flag = false; let flag = false;
if (this.formData.storeType == 1) { if (this.formData.storeType == 1) {
if (!this.formData.compainName) { if (!this.formData.compainName) {
this.$message.warning('请输入入驻企业名称'); this.$message.warning("请输入入驻企业名称");
return; return;
} }
if (!this.formData.phoneNum) { if (!this.formData.phoneNum) {
this.$message.warning('请输入联系电话'); this.$message.warning("请输入联系电话");
return; return;
}else { } else {
if(!this.checkPhone(this.formData.phoneNum)) { if (!this.checkPhone(this.formData.phoneNum)) {
this.$message.warning('请输入正确的手机号'); this.$message.warning("请输入正确的手机号");
return; return;
} }
} }
if (this.formData.adminList && this.formData.adminList.length) { if (this.formData.adminList && this.formData.adminList.length) {
for(let i=0; i<this.formData.adminList.length; i++) { for (let i = 0; i < this.formData.adminList.length; i++) {
if (!this.formData.adminList[i].adminName) { if (!this.formData.adminList[i].adminName) {
this.$message.warning(`请输入第${i+1}个管理员的姓名`); this.$message.warning(`请输入第${i + 1}个管理员的姓名`);
return; return;
} }
if(!this.formData.adminList[i].adminMobile) { if (!this.formData.adminList[i].adminMobile) {
this.$message.warning(`请输入第${i+1}个管理员的联系电话`); this.$message.warning(`请输入第${i + 1}个管理员的联系电话`);
return; return;
}else { } else {
if(!this.checkPhone(this.formData.adminList[i].adminMobile)) { if (!this.checkPhone(this.formData.adminList[i].adminMobile)) {
this.$message.warning(`请输入第${i+1}个管理员的正确联系电话`); this.$message.warning(`请输入第${i + 1}个管理员的正确联系电话`);
return; return;
} }
} }
...@@ -814,15 +942,15 @@ ...@@ -814,15 +942,15 @@
} }
if (this.formData.storeType == 3) { if (this.formData.storeType == 3) {
if (!this.formData.docName) { if (!this.formData.docName) {
this.$message.warning('请输入医生姓名'); this.$message.warning("请输入医生姓名");
return; return;
} }
if (!this.formData.docPhone) { if (!this.formData.docPhone) {
this.$message.warning('请输入联系电话'); this.$message.warning("请输入联系电话");
return; return;
}else { } else {
if(!this.checkPhone(this.formData.docPhone)) { if (!this.checkPhone(this.formData.docPhone)) {
this.$message.warning('请输入正确的联系电话'); this.$message.warning("请输入正确的联系电话");
return; return;
} }
} }
...@@ -830,15 +958,15 @@ ...@@ -830,15 +958,15 @@
} }
if (this.formData.storeType == 2) { if (this.formData.storeType == 2) {
if (!this.formData.drugstoreName) { if (!this.formData.drugstoreName) {
this.$message.warning('请输入入驻药店名称'); this.$message.warning("请输入入驻药店名称");
return; return;
} }
if (!this.formData.drugstorePhone) { if (!this.formData.drugstorePhone) {
this.$message.warning('请输入联系电话'); this.$message.warning("请输入联系电话");
return; return;
}else { } else {
if(!this.checkPhone(this.formData.drugstorePhone)) { if (!this.checkPhone(this.formData.drugstorePhone)) {
this.$message.warning('请输入正确的联系电话'); this.$message.warning("请输入正确的联系电话");
return; return;
} }
} }
...@@ -851,13 +979,13 @@ ...@@ -851,13 +979,13 @@
let formName = "formData"; let formName = "formData";
let submitFlag = false; let submitFlag = false;
if (!this.formData.storeLogo){ if (!this.formData.storeLogo) {
this.uploadImgMessage1 = true; this.uploadImgMessage1 = true;
return; return;
}else { } else {
this.uploadImgMessage1 = false; this.uploadImgMessage1 = false;
} }
this.$refs[formName].validate(valid => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
if (!this.setTypeForData()) { if (!this.setTypeForData()) {
return; return;
...@@ -872,11 +1000,11 @@ ...@@ -872,11 +1000,11 @@
}, },
//上传店铺logo //上传店铺logo
beforeUploadPic1(file) { beforeUploadPic1(file) {
this.currentOption.aspectRatio = 1/1; this.currentOption.aspectRatio = 1 / 1;
this.currentOption.cropBoxResizable = true; this.currentOption.cropBoxResizable = true;
this.currentOption.minCropBoxWidth = 128; this.currentOption.minCropBoxWidth = 128;
this.currentOption.minCropBoxHeight = 128; this.currentOption.minCropBoxHeight = 128;
this.currentOption.currentPic = 'storeLogo'; this.currentOption.currentPic = "storeLogo";
let fileLimit = { let fileLimit = {
width: 128, width: 128,
height: 128, height: 128,
...@@ -884,9 +1012,9 @@ ...@@ -884,9 +1012,9 @@
sizeText: "200K", sizeText: "200K",
key: "storeLogo", key: "storeLogo",
more: "imgUrl1More", more: "imgUrl1More",
show: "uploadImgMessage1" show: "uploadImgMessage1",
}; };
this.beforeUploadLogo(file,fileLimit) this.beforeUploadLogo(file, fileLimit);
//this.beforeUpload1(file, fileLimit); //this.beforeUpload1(file, fileLimit);
}, },
//上传logo add //上传logo add
...@@ -907,33 +1035,39 @@ ...@@ -907,33 +1035,39 @@
let _img = new FileReader(); let _img = new FileReader();
_img.readAsDataURL(file); _img.readAsDataURL(file);
_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; //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) { // 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");
return; return;
} else { } else {
openLoading(vm); openLoading(vm);
doUpload(vm, file, getFilePath(file, null), "preview4", "progress1", 1).then(function (path) { doUpload(
vm,
file,
getFilePath(file, null),
"preview4",
"progress1",
1
).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,
attachmentExt: path.ext, attachmentExt: path.ext,
attachmentSize: path.size attachmentSize: path.size,
}; };
vm.$message.success("上传成功"); vm.$message.success("上传成功");
}); });
} }
}; };
}; };
}, },
setOption(type) { setOption(type) {
// this.currentOption.aspectRatio = 1/1; // this.currentOption.aspectRatio = 1/1;
...@@ -942,8 +1076,8 @@ ...@@ -942,8 +1076,8 @@
// this.currentOption.minCropBoxHeight = 160; // this.currentOption.minCropBoxHeight = 160;
// this.currentOption.currentPic = type; // this.currentOption.currentPic = type;
let fileLimit = { let fileLimit = {
width: '', width: "",
height: '', height: "",
size: 3, size: 3,
sizeText: "3M", sizeText: "3M",
key: type, key: type,
...@@ -952,27 +1086,27 @@ ...@@ -952,27 +1086,27 @@
return fileLimit; return fileLimit;
}, },
beforeUploadProve1(file) { beforeUploadProve1(file) {
let fileLimit = this.setOption('imgUrlP1'); let fileLimit = this.setOption("imgUrlP1");
this.beforeUpload(file, fileLimit); this.beforeUpload(file, fileLimit);
}, },
beforeUploadProve2(file) { beforeUploadProve2(file) {
let fileLimit = this.setOption('imgUrlP2'); let fileLimit = this.setOption("imgUrlP2");
this.beforeUpload(file, fileLimit); this.beforeUpload(file, fileLimit);
}, },
beforeUploadProve3(file) { beforeUploadProve3(file) {
let fileLimit = this.setOption('imgUrlP3'); let fileLimit = this.setOption("imgUrlP3");
this.beforeUpload(file, fileLimit); this.beforeUpload(file, fileLimit);
}, },
beforeUploadC1(file) { beforeUploadC1(file) {
let fileLimit = this.setOption('imgUrlC1'); let fileLimit = this.setOption("imgUrlC1");
this.beforeUpload(file, fileLimit); this.beforeUpload(file, fileLimit);
}, },
beforeUploadC2(file) { beforeUploadC2(file) {
let fileLimit = this.setOption('imgUrlC2'); let fileLimit = this.setOption("imgUrlC2");
this.beforeUpload(file, fileLimit); this.beforeUpload(file, fileLimit);
}, },
beforeUploadC3(file) { beforeUploadC3(file) {
let fileLimit = this.setOption('imgUrlC3'); let fileLimit = this.setOption("imgUrlC3");
this.beforeUpload(file, fileLimit); this.beforeUpload(file, fileLimit);
}, },
beforeUpload(file, fileLimit) { beforeUpload(file, fileLimit) {
...@@ -991,19 +1125,26 @@ ...@@ -991,19 +1125,26 @@
let _img = new FileReader(); let _img = new FileReader();
_img.readAsDataURL(file); _img.readAsDataURL(file);
_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; vm.slide2.oriUrl = theFile.target.result;
image.onload = function () { image.onload = function () {
let _this = this; let _this = this;
openLoading(vm); openLoading(vm);
doUpload(vm, file, getFilePath(file, null), "preview4", "progress1", 1).then(function (path) { doUpload(
vm,
file,
getFilePath(file, null),
"preview4",
"progress1",
1
).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,
attachmentExt: path.ext, attachmentExt: path.ext,
attachmentSize: path.size attachmentSize: path.size,
}; };
vm.$message.success("上传成功"); vm.$message.success("上传成功");
}); });
...@@ -1028,23 +1169,36 @@ ...@@ -1028,23 +1169,36 @@
let _img = new FileReader(); let _img = new FileReader();
_img.readAsDataURL(file); _img.readAsDataURL(file);
_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; 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) { // if (_this.width != fileLimit.width || _this.height != fileLimit.height) {
if (_this.width < fileLimit.width || _this.height < fileLimit.height) { if (
_this.width < fileLimit.width ||
_this.height < fileLimit.height
) {
vm.$message.error("图片尺寸不符合规范,请根据规范上传图片"); vm.$message.error("图片尺寸不符合规范,请根据规范上传图片");
return; return;
} else if(_this.width > fileLimit.width || _this.height > fileLimit.height){ } else if (
_this.width > fileLimit.width ||
_this.height > fileLimit.height
) {
vm.showCropper = true; vm.showCropper = true;
vm.currentOption.cvWidth = _this.width; vm.currentOption.cvWidth = _this.width;
vm.currentOption.cvHeight = _this.height; vm.currentOption.cvHeight = _this.height;
return; return;
} else { } else {
openLoading(vm); openLoading(vm);
doUpload(vm, file, getFilePath(file, null), "preview4", "progress1", 1).then(function (path) { doUpload(
vm,
file,
getFilePath(file, null),
"preview4",
"progress1",
1
).then(function (path) {
closeLoading(vm); closeLoading(vm);
if (fileLimit.show == "uploadImgMessage1") { if (fileLimit.show == "uploadImgMessage1") {
vm.uploadImgMessage1 = false; vm.uploadImgMessage1 = false;
...@@ -1053,7 +1207,7 @@ ...@@ -1053,7 +1207,7 @@
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,
}; };
vm.$message.success("上传成功"); vm.$message.success("上传成功");
}); });
...@@ -1066,16 +1220,16 @@ ...@@ -1066,16 +1220,16 @@
deleteImg(type) { deleteImg(type) {
vm.formData[type] = ""; vm.formData[type] = "";
const testMouse = new Map() const testMouse = new Map()
.set('storeLogo','imgMouseOver1') .set("storeLogo", "imgMouseOver1")
.set('imgUrlP1','imgMouseOverP1') .set("imgUrlP1", "imgMouseOverP1")
.set('imgUrlP2','imgMouseOverP2') .set("imgUrlP2", "imgMouseOverP2")
.set('imgUrlP3','imgMouseOverP3') .set("imgUrlP3", "imgMouseOverP3")
.set('imgUrlC1','imgMouseOverC1') .set("imgUrlC1", "imgMouseOverC1")
.set('imgUrlC2','imgMouseOverC2') .set("imgUrlC2", "imgMouseOverC2")
.set('imgUrlC3','imgMouseOverC3'); .set("imgUrlC3", "imgMouseOverC3");
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;
...@@ -1092,27 +1246,36 @@ ...@@ -1092,27 +1246,36 @@
// 获取裁剪的图片数据 // 获取裁剪的图片数据
getCropImg(argument) { getCropImg(argument) {
this.showCropper = false; this.showCropper = false;
this.cropData = argument[1] this.cropData = argument[1];
vm.doUploadQiNiu(argument[2]) vm.doUploadQiNiu(argument[2]);
argument[3] && argument[3].destroy(); argument[3] && argument[3].destroy();
// vm.slide2.oriUrl = ""; // vm.slide2.oriUrl = "";
}, },
// 上传七牛 // 上传七牛
doUploadQiNiu(file){ doUploadQiNiu(file) {
doUpload(this,file, getFilePath(file,null), 'preview4', 'uploadProgress1', '').then(function (path) { doUpload(
this,
file,
getFilePath(file, null),
"preview4",
"uploadProgress1",
""
).then(function (path) {
vm.formData[vm.currentOption.currentPic] = path.fullPath; vm.formData[vm.currentOption.currentPic] = path.fullPath;
vm.$message.success('上传成功'); vm.$message.success("上传成功");
}); });
}, },
//新增管理员 //新增管理员
addItem(index) { addItem(index) {
if(this.formData.adminList != null && this.formData.adminList.length >= 5){ if (
this.formData.adminList != null &&
this.formData.adminList.length >= 5
) {
this.$message.warning("只可新增5位管理员!"); this.$message.warning("只可新增5位管理员!");
} else { } else {
let item = { let item = {
adminName: '', adminName: "",
adminMobile: '', adminMobile: "",
id: null, id: null,
}; };
this.formData.adminList.push(item); this.formData.adminList.push(item);
...@@ -1120,45 +1283,45 @@ ...@@ -1120,45 +1283,45 @@
}, },
//删除管理员 //删除管理员
deleteItem(index) { deleteItem(index) {
if ((this.formData.adminList.length == 1) && (index == 0)) { if (this.formData.adminList.length == 1 && index == 0) {
this.$message.warning("最少需要1位管理员哦!"); this.$message.warning("最少需要1位管理员哦!");
return; return;
} }
this.formData.adminList.splice(index, 1); this.formData.adminList.splice(index, 1);
}, },
}, },
} };
</script> </script>
<style lang="scss"> <style lang="scss">
.create-shop-wrapper{ .create-shop-wrapper {
.create-shop-content{ .create-shop-content {
background: #fff; background: #fff;
padding: 10px; padding: 10px;
.step-content { .step-content {
overflow: hidden; overflow: hidden;
height: 60px; height: 60px;
padding: 10px 10px 50px ; padding: 10px 10px 50px;
border-bottom: 1px solid #efefef; border-bottom: 1px solid #efefef;
.title{ .title {
font-size: 13px; font-size: 13px;
color: #449284; color: #449284;
} }
} }
} }
.el-button--text{ .el-button--text {
color: #449284; color: #449284;
font-size: 14px; font-size: 14px;
&::after{ &::after {
content: ''; content: "";
position: relative; position: relative;
height: 14px; height: 14px;
/*border-right: 1px solid #EBEEF5;*/ /*border-right: 1px solid #EBEEF5;*/
border-right: 1px solid #aaaaaa; border-right: 1px solid #aaaaaa;
padding-right: 10px; padding-right: 10px;
} }
&:last-of-type{ &:last-of-type {
&::after{ &::after {
content: ''; content: "";
position: relative; position: relative;
width: 1px; width: 1px;
height: 14px; height: 14px;
...@@ -1166,13 +1329,13 @@ ...@@ -1166,13 +1329,13 @@
} }
} }
} }
} }
.required-label .el-form-item__label::before { .required-label .el-form-item__label::before {
content: "*"; content: "*";
color: #f56c6c; color: #f56c6c;
margin-right: 4px; margin-right: 4px;
} }
.basic-item-icon { .basic-item-icon {
position: relative; position: relative;
.require { .require {
...@@ -1189,31 +1352,29 @@ ...@@ -1189,31 +1352,29 @@
font-size: 12px; font-size: 12px;
color: #f56c6c; color: #f56c6c;
} }
}
.word-num {
}
.word-num {
font-size: 12px; font-size: 12px;
color: #999; color: #999;
padding-top: 5px; padding-top: 5px;
} }
.line { .line {
margin-left: 10px; margin-left: 10px;
width: 20px; width: 20px;
} }
.flex-upload{ .flex-upload {
width: 120px; width: 120px;
text-align: center; text-align: center;
.tips{ .tips {
font-size: 13px; font-size: 13px;
color: #8C8C8C; color: #8c8c8c;
line-height: 24px; line-height: 24px;
} }
} }
.bg-uploader { .bg-uploader {
position: relative; position: relative;
/*margin-right: 20px;*/ /*margin-right: 20px;*/
.bg-img { .bg-img {
...@@ -1230,7 +1391,7 @@ ...@@ -1230,7 +1391,7 @@
background: #000; background: #000;
opacity: 0.7; opacity: 0.7;
z-index: 999; z-index: 999;
&.add-left-18{ &.add-left-18 {
left: 18px; left: 18px;
} }
i { i {
...@@ -1250,22 +1411,22 @@ ...@@ -1250,22 +1411,22 @@
text-align: left; text-align: left;
} }
} }
} }
.el-upload__tip { .el-upload__tip {
position: absolute; position: absolute;
top: -6px; top: -6px;
left: 130px; left: 130px;
} }
.span-mt-10{ .span-mt-10 {
.edit-img { .edit-img {
width: 20px; width: 20px;
margin-top: 10px; margin-top: 10px;
} }
} }
.p-tips{ .p-tips {
font-size: 13px; font-size: 13px;
color: #8C8C8C; color: #8c8c8c;
line-height: 26px; line-height: 26px;
margin-bottom: 15px; margin-bottom: 15px;
} }
</style> </style>
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册