|
@@ -436,12 +436,19 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
- <el-form-item label="资格证" prop="certificateImages">
|
|
|
|
|
- <ImageUpload v-model="form.certificateImages" type="image" :num="10" :width="150" :height="150" />
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="执业证" prop="practiseImages">
|
|
|
|
|
- <ImageUpload v-model="form.practiseImages" type="image" :num="10" :width="150" :height="150" />
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
|
|
+ <div class="doc-upload-panel">
|
|
|
|
|
+ <div class="doc-upload-panel__header">
|
|
|
|
|
+ <i class="el-icon-postcard"></i>
|
|
|
|
|
+ <span class="doc-upload-panel__title">资质证件</span>
|
|
|
|
|
+ <span class="doc-upload-panel__desc">请上传清晰、完整的证件照片</span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <el-form-item label="资格证" prop="certificateImages">
|
|
|
|
|
+ <ImageUpload v-model="form.certificateImages" type="image" :num="10" :width="150" :height="150" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="执业证" prop="practiseImages">
|
|
|
|
|
+ <ImageUpload v-model="form.practiseImages" type="image" :num="10" :width="150" :height="150" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </div>
|
|
|
<el-row>
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
<el-form-item label="身份证号" prop="idCard">
|
|
<el-form-item label="身份证号" prop="idCard">
|
|
@@ -454,70 +461,51 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
- <el-row>
|
|
|
|
|
- <el-col :span="12">
|
|
|
|
|
- <el-form-item label="身份证正面" prop="idCardFrontUrl">
|
|
|
|
|
- <el-upload id="sf"
|
|
|
|
|
- v-model="form.idCardFrontUrl"
|
|
|
|
|
- class="avatar-uploader"
|
|
|
|
|
- :action="fruploadUrl"
|
|
|
|
|
- :headers="uploadHeaders"
|
|
|
|
|
- :show-file-list="false"
|
|
|
|
|
- :on-success="frhandleAvatarSuccess"
|
|
|
|
|
- :before-upload="beforeAvatarUpload">
|
|
|
|
|
- <img v-if="form.idCardFrontUrl" :src="form.idCardFrontUrl" class="avatar" width="150px">
|
|
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
|
- </el-upload>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :span="12">
|
|
|
|
|
- <el-form-item label="工作照" prop="avatar">
|
|
|
|
|
- <el-upload
|
|
|
|
|
- v-model="form.avatar"
|
|
|
|
|
- class="avatar-uploader"
|
|
|
|
|
- :action="avataruploadUrl"
|
|
|
|
|
- :headers="uploadHeaders"
|
|
|
|
|
- :show-file-list="false"
|
|
|
|
|
- :on-success="avatarhandleAvatarSuccess"
|
|
|
|
|
- :before-upload="beforeAvatarUpload">
|
|
|
|
|
- <img v-if="form.avatar" :src="form.avatar" class="avatar" width="150px" >
|
|
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
|
- </el-upload>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- </el-row>
|
|
|
|
|
- <el-row>
|
|
|
|
|
- <el-col :span="12">
|
|
|
|
|
- <el-form-item label="身份证反面" prop="idCardBackUrl">
|
|
|
|
|
- <el-upload id="sf"
|
|
|
|
|
- v-model="form.idCardBackUrl"
|
|
|
|
|
- class="avatar-uploader"
|
|
|
|
|
- :action="bauploadUrl"
|
|
|
|
|
- :headers="uploadHeaders"
|
|
|
|
|
- :show-file-list="false"
|
|
|
|
|
- :on-success="bahandleAvatarSuccess"
|
|
|
|
|
- :before-upload="beforeAvatarUpload">
|
|
|
|
|
- <img v-if="form.idCardBackUrl" :src="form.idCardBackUrl" class="avatar" width="150px">
|
|
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
|
- </el-upload>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :span="12">
|
|
|
|
|
- <el-form-item label="医生签名" prop="signUrl">
|
|
|
|
|
- <el-upload id="sign"
|
|
|
|
|
- v-model="form.signUrl"
|
|
|
|
|
- class="avatar-uploader"
|
|
|
|
|
- :action="bauploadUrl"
|
|
|
|
|
- :headers="uploadHeaders"
|
|
|
|
|
- :show-file-list="false"
|
|
|
|
|
- :on-success="signhandleAvatarSuccess"
|
|
|
|
|
- :before-upload="beforeAvatarUpload">
|
|
|
|
|
- <img v-if="form.signUrl" :src="form.signUrl" class="avatar" width="150px">
|
|
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
|
- </el-upload>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- </el-row>
|
|
|
|
|
|
|
+ <div class="doc-upload-panel">
|
|
|
|
|
+ <div class="doc-upload-panel__header">
|
|
|
|
|
+ <i class="el-icon-camera"></i>
|
|
|
|
|
+ <span class="doc-upload-panel__title">身份与形象</span>
|
|
|
|
|
+ <span class="doc-upload-panel__desc">支持 jpg/png 格式,单张不超过 1MB</span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <el-row :gutter="24" class="doc-upload-grid">
|
|
|
|
|
+ <el-col :span="12">
|
|
|
|
|
+ <el-form-item label="身份证正面" prop="idCardFrontUrl">
|
|
|
|
|
+ <SingleImageUpload
|
|
|
|
|
+ v-model="form.idCardFrontUrl"
|
|
|
|
|
+ placeholder="上传身份证正面"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="12">
|
|
|
|
|
+ <el-form-item label="工作照" prop="avatar">
|
|
|
|
|
+ <SingleImageUpload
|
|
|
|
|
+ v-model="form.avatar"
|
|
|
|
|
+ placeholder="上传工作照"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ <el-row :gutter="24" class="doc-upload-grid">
|
|
|
|
|
+ <el-col :span="12">
|
|
|
|
|
+ <el-form-item label="身份证反面" prop="idCardBackUrl">
|
|
|
|
|
+ <SingleImageUpload
|
|
|
|
|
+ v-model="form.idCardBackUrl"
|
|
|
|
|
+ placeholder="上传身份证反面"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="12">
|
|
|
|
|
+ <el-form-item label="医生签名" prop="signUrl">
|
|
|
|
|
+ <SingleImageUpload
|
|
|
|
|
+ v-model="form.signUrl"
|
|
|
|
|
+ placeholder="上传医生签名"
|
|
|
|
|
+ tip="透明背景效果更佳"
|
|
|
|
|
+ :contain="true"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
<el-row>
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
@@ -758,11 +746,11 @@ import doctorinquiryDetails from '../../components/his/doctorinquiryDetails.vue'
|
|
|
import doctorDetails from '../../components/his/doctorDetails.vue';
|
|
import doctorDetails from '../../components/his/doctorDetails.vue';
|
|
|
import { Form } from "element-ui";
|
|
import { Form } from "element-ui";
|
|
|
import ImageUpload from '@/components/ImageUpload'
|
|
import ImageUpload from '@/components/ImageUpload'
|
|
|
|
|
+import SingleImageUpload from '@/components/SingleImageUpload'
|
|
|
import { listStore } from "@/api/his/storeProduct";
|
|
import { listStore } from "@/api/his/storeProduct";
|
|
|
-import { getToken } from "@/utils/auth";
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: "Doctor",
|
|
name: "Doctor",
|
|
|
- components: { doctorDetails,doctorinquiryDetails,ImageUpload },
|
|
|
|
|
|
|
+ components: { doctorDetails, doctorinquiryDetails, ImageUpload, SingleImageUpload },
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
doctorName: {name:"1"},
|
|
doctorName: {name:"1"},
|
|
@@ -773,15 +761,6 @@ export default {
|
|
|
toId:null,
|
|
toId:null,
|
|
|
},
|
|
},
|
|
|
followDoctorList:[],
|
|
followDoctorList:[],
|
|
|
- //身份证
|
|
|
|
|
- fruploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
|
|
|
|
|
- bauploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
|
|
|
|
|
- //头像
|
|
|
|
|
- avataruploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
|
|
|
|
|
- uploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
|
|
|
|
|
- certificateBack:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
|
|
|
|
|
- practise:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
|
|
|
|
|
- practiseBack:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
|
|
|
|
|
baseUrl: process.env.VUE_APP_BASE_API,
|
|
baseUrl: process.env.VUE_APP_BASE_API,
|
|
|
orOptions: [],
|
|
orOptions: [],
|
|
|
storeOPtions: [],
|
|
storeOPtions: [],
|
|
@@ -979,13 +958,6 @@ export default {
|
|
|
});
|
|
});
|
|
|
this.getAllAiRoleList();
|
|
this.getAllAiRoleList();
|
|
|
},
|
|
},
|
|
|
- computed: {
|
|
|
|
|
- uploadHeaders() {
|
|
|
|
|
- return {
|
|
|
|
|
- Authorization: "Bearer " + getToken(),
|
|
|
|
|
- };
|
|
|
|
|
- },
|
|
|
|
|
- },
|
|
|
|
|
methods: {
|
|
methods: {
|
|
|
getlistdocuser(){
|
|
getlistdocuser(){
|
|
|
listdocuser(this.doctorName).then(response => {
|
|
listdocuser(this.doctorName).then(response => {
|
|
@@ -1083,87 +1055,6 @@ export default {
|
|
|
this.citys=res.data;
|
|
this.citys=res.data;
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
- avatarhandleAvatarSuccess(res, file) {
|
|
|
|
|
- if(res.code==200){
|
|
|
|
|
- this.form.avatar=res.url;
|
|
|
|
|
- this.$forceUpdate();
|
|
|
|
|
- }
|
|
|
|
|
- else{
|
|
|
|
|
- this.msgError(res.msg);
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- frhandleAvatarSuccess(res, file) {
|
|
|
|
|
- if(res.code==200){
|
|
|
|
|
- this.form.idCardFrontUrl=res.url;
|
|
|
|
|
- this.$forceUpdate();
|
|
|
|
|
- }
|
|
|
|
|
- else{
|
|
|
|
|
- this.msgError(res.msg);
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- bahandleAvatarSuccess(res, file) {
|
|
|
|
|
- if(res.code==200){
|
|
|
|
|
- this.form.idCardBackUrl=res.url;
|
|
|
|
|
- this.$forceUpdate();
|
|
|
|
|
- }
|
|
|
|
|
- else{
|
|
|
|
|
- this.msgError(res.msg);
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- signhandleAvatarSuccess(res, file) {
|
|
|
|
|
- if(res.code==200){
|
|
|
|
|
- this.form.signUrl=res.url;
|
|
|
|
|
- this.$forceUpdate();
|
|
|
|
|
- }
|
|
|
|
|
- else{
|
|
|
|
|
- this.msgError(res.msg);
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
-
|
|
|
|
|
- handleAvatarSuccess(res, file) {
|
|
|
|
|
- if(res.code==200){
|
|
|
|
|
- this.form.certificateImages=res.url;
|
|
|
|
|
- this.$forceUpdate();
|
|
|
|
|
- }
|
|
|
|
|
- else{
|
|
|
|
|
- this.msgError(res.msg);
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- handleCertificateBackSuccess(res, file) {
|
|
|
|
|
- if(res.code==200){
|
|
|
|
|
- this.form.certificateImagesBack=res.url;
|
|
|
|
|
- this.$forceUpdate();
|
|
|
|
|
- }
|
|
|
|
|
- else{
|
|
|
|
|
- this.msgError(res.msg);
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- handlePractiseSuccess(res, file) {
|
|
|
|
|
- if(res.code==200){
|
|
|
|
|
- this.form.practiseImages=res.url;
|
|
|
|
|
- console.log(this.form)
|
|
|
|
|
- this.$forceUpdate();
|
|
|
|
|
- }
|
|
|
|
|
- else{
|
|
|
|
|
- this.msgError(res.msg);
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- handlePractiseBackSuccess(res, file) {
|
|
|
|
|
- if(res.code==200){
|
|
|
|
|
- this.form.practiseImagesBack=res.url;
|
|
|
|
|
- this.$forceUpdate();
|
|
|
|
|
- }
|
|
|
|
|
- else{
|
|
|
|
|
- this.msgError(res.msg);
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- beforeAvatarUpload(file) {
|
|
|
|
|
- const isLt1M = file.size / 1024 / 1024 < 1;
|
|
|
|
|
- if (!isLt1M) {
|
|
|
|
|
- this.$message.error('上传图片大小不能超过 1MB!');
|
|
|
|
|
- }
|
|
|
|
|
- return isLt1M;
|
|
|
|
|
- },
|
|
|
|
|
/** 查询科室列表 */
|
|
/** 查询科室列表 */
|
|
|
getdeplist() {
|
|
getdeplist() {
|
|
|
listDepartment().then(response => {
|
|
listDepartment().then(response => {
|
|
@@ -1487,45 +1378,52 @@ export default {
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
</script>
|
|
</script>
|
|
|
-<style>
|
|
|
|
|
- .el-upload .el-upload-list__item-thumbnail img {
|
|
|
|
|
- width: 150px;
|
|
|
|
|
- height: 150px;
|
|
|
|
|
|
|
+<style scoped lang="scss">
|
|
|
|
|
+.pStar {
|
|
|
|
|
+ padding-top: 10px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.doc-upload-panel {
|
|
|
|
|
+ margin-bottom: 20px;
|
|
|
|
|
+ padding: 16px 20px 4px;
|
|
|
|
|
+ background: #fafbfc;
|
|
|
|
|
+ border: 1px solid #ebeef5;
|
|
|
|
|
+ border-radius: 8px;
|
|
|
|
|
+
|
|
|
|
|
+ &__header {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ gap: 8px;
|
|
|
|
|
+ margin-bottom: 16px;
|
|
|
|
|
+ padding-bottom: 12px;
|
|
|
|
|
+ border-bottom: 1px solid #ebeef5;
|
|
|
|
|
+
|
|
|
|
|
+ i {
|
|
|
|
|
+ font-size: 18px;
|
|
|
|
|
+ color: #409eff;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- .pStar{
|
|
|
|
|
- padding-top: 10px;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ &__title {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ color: #303133;
|
|
|
}
|
|
}
|
|
|
- .avatar-uploader .el-upload {
|
|
|
|
|
- border: 1px dashed #d9d9d9;
|
|
|
|
|
- border-radius: 6px;
|
|
|
|
|
- cursor: pointer;
|
|
|
|
|
- position: relative;
|
|
|
|
|
- overflow: hidden;
|
|
|
|
|
- }
|
|
|
|
|
- .avatar-uploader .el-upload:hover {
|
|
|
|
|
- border-color: #409EFF;
|
|
|
|
|
- }
|
|
|
|
|
- .avatar-uploader-icon {
|
|
|
|
|
- font-size: 28px;
|
|
|
|
|
- color: #8c939d;
|
|
|
|
|
- width: 150px;
|
|
|
|
|
- height: 150px;
|
|
|
|
|
- line-height: 150px;
|
|
|
|
|
- text-align: center;
|
|
|
|
|
- }
|
|
|
|
|
- #sf .avatar{
|
|
|
|
|
- min-width: 240px;
|
|
|
|
|
- min-height: 150px;
|
|
|
|
|
- display: block;
|
|
|
|
|
- }
|
|
|
|
|
- #sign .avatar{
|
|
|
|
|
- min-width: 120px;
|
|
|
|
|
- min-height: 80px;
|
|
|
|
|
- display: block;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ &__desc {
|
|
|
|
|
+ font-size: 12px;
|
|
|
|
|
+ color: #909399;
|
|
|
|
|
+ margin-left: 4px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ ::v-deep .el-form-item:last-child {
|
|
|
|
|
+ margin-bottom: 16px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .doc-upload-grid {
|
|
|
|
|
+ ::v-deep .el-form-item__content {
|
|
|
|
|
+ line-height: normal;
|
|
|
}
|
|
}
|
|
|
- .avatar {
|
|
|
|
|
- min-width: 150px;
|
|
|
|
|
- min-height: 150px;
|
|
|
|
|
- display: block;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
</style>
|
|
</style>
|