Merge branch 'dev'

This commit is contained in:
zoujiandong 2023-07-21 12:00:48 +08:00
commit c81aaf1d52
3 changed files with 325 additions and 195 deletions

View File

@ -587,6 +587,30 @@
if (code == 200) {
Object.assign(modalForm, data);
if (!data.user_doctor_info) {
data.user_doctor_info = {};
modalForm.user_doctor_info = {};
}
if (!data.hospital) {
modalForm.hospital = {};
}
if (!data.doctor_bank_card) {
modalForm.doctor_bank_card = {
province_id: '',
city_id: '',
county_id: '',
bank_id: ''
}
};
if(data.doctor_title==0){
modalForm.doctor_title='';
}
if(data.hospital_id==0){
modalForm.hospital_id='';
}
if(data.department_custom_id==0){
modalForm.department_custom_id=''
}
if (data.doctor_expertise && data.doctor_expertise.length > 0) {
let arr = [];
data.doctor_expertise.forEach((item) => {

View File

@ -60,9 +60,8 @@
<a-table :columns="columns" :data="tableData" :scroll="{ x: 1500 }"
:row-selection="{ type: 'checkbox', showCheckedAll: true }"
:pagination="{ 'show-total': true, 'show-jumper': true, 'show-page-size': true, total: pager.total, current: currentPage }"
row-key="doctor_id"
@selection-change="(selection) => {deleteData = selection;console.log(selection)}" @page-change="handlePageChange"
@page-size-change="handlepage_sizeChange">
row-key="doctor_id" @selection-change="(selection) => {deleteData = selection;console.log(selection)}"
@page-change="handlePageChange" @page-size-change="handlepage_sizeChange">
<template #doctor_id="{record,rowIndex}">
<div>{{(rowIndex+1)+(pager.page-1)*10}}</div>
</template>
@ -110,7 +109,8 @@
<a-space>
<a-button v-has="'admin:sysDoctorList:detail'" type="text"
@click="handleDetail(record)"><icon-book />详情</a-button>
<a-button v-has="'admin:sysDoctorList:edit'" type="text" @click="handleUpdate(record)"><icon-edit /> 修改</a-button>
<a-button v-has="'admin:sysDoctorList:edit'" type="text" @click="handleUpdate(record)"><icon-edit />
修改</a-button>
<!-- <a-button v-has="'admin:sysDoctorList:remove'" type="text"
@click="() => { deleteVisible = true; deleteData = [record.doctor_id]; }"><icon-delete /> 删除</a-button> -->
</a-space>
@ -125,8 +125,7 @@
<div class="name">医生信息</div>
</div>
<a-form :model="modalForm" :disabled="modalSatus=='detail' || modalForm.iden_auth_status==2
" :rules="rules" ref="modalFormRef"
:auto-label-width="true">
" :rules="rules" ref="modalFormRef" :auto-label-width="true">
<a-row :gutter="24">
<a-col :span="12">
<a-form-item field="avatar" label="医生头像:">
@ -184,9 +183,10 @@
<a-col :span="12">
<a-form-item field="hospital_id" label="医院名称:">
<a-space direction="vertical" size="large">
<a-select :style="{width:'400px'}" allow-search placeholder="请选择所在医院" v-model="hospital_name" :loading="loading" @change="changeHospital" @search="handleHospitalList" >
<a-option size="large" style="max-width:500px" v-for="item in hospitalData" :key="item.hospital_id" :value="item.hospital_id"
:label="item.hospital_name">
<a-select :style="{width:'400px'}" allow-search placeholder="请选择所在医院" v-model="hospital_name"
:loading="loading" @change="changeHospital" @search="handleHospitalList">
<a-option size="large" style="max-width:500px" v-for="item in hospitalData" :key="item.hospital_id"
:value="item.hospital_id" :label="item.hospital_name">
{{item.hospital_name+'('+item.province+item.city+item.county+')'}}
</a-option>
</a-select>
@ -255,7 +255,8 @@
<a-col :span="24">
<a-form-item field="be_good_at" label="擅长信息:">
<a-textarea :auto-size="{minRows:2}" :max-length="{length:1000,errorOnly:true}" allow-clear
show-word-limit v-model="modalForm.be_good_at" placeholder="请填写医生擅长信息。内容为医生专业领域、擅长疾病、研究方法等信息字数在10-1000字" />
show-word-limit v-model="modalForm.be_good_at"
placeholder="请填写医生擅长信息。内容为医生专业领域、擅长疾病、研究方法等信息字数在10-1000字" />
</a-form-item>
</a-col>
</a-row>
@ -263,7 +264,8 @@
<a-col :span="24">
<a-form-item field="brief_introduction" label="个人简介:">
<a-textarea :auto-size="{minRows:2}" :max-length="{length:1000,errorOnly:true}" allow-clear
show-word-limit v-model="modalForm.brief_introduction" placeholder="请填写医生从业经历职称和所获荣誉等信息字数在10-1000字" />
show-word-limit v-model="modalForm.brief_introduction"
placeholder="请填写医生从业经历职称和所获荣誉等信息字数在10-1000字" />
</a-form-item>
</a-col>
</a-row>
@ -326,13 +328,15 @@
</a-select>
</a-space>
<a-space size="large" style="margin-right: 12px;">
<a-select placeholder="请选择城市" :style="{minWidth:'140px'}" v-model="modalForm.doctor_bank_card.city_id" @change="changeCity">
<a-select placeholder="请选择城市" :style="{minWidth:'140px'}" v-model="modalForm.doctor_bank_card.city_id"
@change="changeCity">
<a-option v-for="item in cityData" :key="item.area_id" :value="Number(item.area_id)"
:label="item.area_name">{{item.area_name}}</a-option>
</a-select>
</a-space>
<a-space size="large">
<a-select placeholder="请选择地区" :style="{minWidth:'140px'}" v-model="modalForm.doctor_bank_card.county_id">
<a-select placeholder="请选择地区" :style="{minWidth:'140px'}"
v-model="modalForm.doctor_bank_card.county_id">
<a-option v-for="item in countryData" :key="item.area_id" :value="Number(item.area_id)"
:label="item.area_name">{{item.area_name}}</a-option>
</a-select>
@ -516,7 +520,8 @@
<DeleteModal :data="deleteData" :visible="deleteVisible" :apiDelete="removeDoctor"
@deleteVisibleChange="() => deleteVisible = false" />
<!-- Akiraka 20230223 删除与批量删除 结束 -->
<a-modal v-model:visible="okVisible" :modal-style="{width:'320px'}" body-class="okmodal" @ok="handleSubmit" @cancel="()=>okVisible=false">
<a-modal v-model:visible="okVisible" :modal-style="{width:'320px'}" body-class="okmodal" @ok="handleSubmit"
@cancel="()=>okVisible=false">
<template #title>
提示
</template>
@ -560,7 +565,11 @@
inquiry_service: ''
});
const modalForm = reactive({
hospital: {},
hospital: {
address: '',
hospital_name: '',
hospital_id: ''
},
user_doctor_info: {
},
@ -588,7 +597,7 @@
});
const hospital_name = ref('');
watch(() => modalForm.hospital, () => {
if(modalForm.hospital.hospital_name){
if (modalForm.hospital && modalForm.hospital.hospital_name) {
hospital_name.value = modalForm.hospital.hospital_name + '(' + modalForm.hospital.province + modalForm.hospital.city + modalForm.hospital.county + ')'
} else {
hospital_name.value = ''
@ -895,7 +904,11 @@
modalTitle.value = '新增医生';
modalSatus.value = 'add';
modalForm.doctor_id = null;
modalForm.hospital = {};
modalForm.hospital = {
address: '',
hospital_name: '',
hospital_id: ''
};
modalForm.user = {};
modalForm.license_cert = '';
modalForm.qualification_cert = '';
@ -905,7 +918,10 @@
modalForm.id_card_back = '';
modalForm.sign_image = '';
modalForm.doctor_bank_card = {
bank_card_province_id: '',
bank_card_city_id: '',
bank_card_county_id: '',
bank_id: ''
}
//$refs.modalFormRef.resetFields();
};
@ -919,6 +935,22 @@
if (code == 200) {
Object.assign(modalForm, data);
if (!data.hospital) {
modalForm.hospital = {};
}
if(data.doctor_title==0){
modalForm.doctor_title='';
}
if(data.hospital_id==0){
modalForm.hospital_id='';
}
if(data.department_custom_id==0){
modalForm.department_custom_id=''
}
if (!data.user_doctor_info) {
data.user_doctor_info = {};
modalForm.user_doctor_info = {};
}
if (data.doctor_expertise && data.doctor_expertise.length > 0) {
let arr = [];
data.doctor_expertise.forEach((item) => {
@ -929,15 +961,23 @@
handelAreaList('', data.doctor_bank_card.province_id, 3);
} else {
modalForm.doctor_bank_card = {
bank_card_province_id: '',
bank_card_city_id: '',
bank_card_county_id: '',
province_id: '',
city_id: '',
county_id: '',
bank_id: ''
}
};
if (data.doctor_bank_card && data.doctor_bank_card.city_id) {
handelAreaList('', data.doctor_bank_card.city_id, 4);
}
if (!data.doctor_bank_card) {
modalForm.doctor_bank_card = {
province_id: '',
city_id: '',
county_id: '',
bank_id: ''
}
}
modalForm.cur_doctor_expertise = arr;
}
}
@ -951,16 +991,10 @@
if (code == 200) {
Object.assign(modalForm, data);
handleDecryptBank();
if (data.doctor_bank_card && data.doctor_bank_card.province_id) {
handelAreaList('', data.doctor_bank_card.province_id, 3);
}else{
modalForm.doctor_bank_card = {
bank_card_province_id: '',
bank_card_city_id: '',
bank_card_county_id: '',
bank_id: ''
}
};
if (data.doctor_bank_card && data.doctor_bank_card.city_id) {
handelAreaList('', data.doctor_bank_card.city_id, 4);
}
@ -968,13 +1002,33 @@
data.user_doctor_info = {};
modalForm.user_doctor_info = {};
}
if (!data.hospital) {
modalForm.hospital = {};
}
if (!data.doctor_bank_card) {
modalForm.doctor_bank_card = {
province_id: '',
city_id: '',
county_id: '',
bank_id: ''
}
};
if(data.doctor_title==0){
modalForm.doctor_title='';
}
if(data.hospital_id==0){
modalForm.hospital_id='';
}
if(data.department_custom_id==0){
modalForm.department_custom_id=''
}
let { license_cert, qualification_cert, work_cert, id_card_front, id_card_back, sign_image } = data.user_doctor_info;
license_cert_list.value = transArr(license_cert);
qualification_cert_list.value = transArr(qualification_cert);
work_cert_list.value = transArr(work_cert);
id_card_front_list.value = id_card_front && transArr(id_card_front);
id_card_back_list.value = id_card_back && transArr(id_card_back);
sign_image_list.value = sign_image && transArr(sign_image);
id_card_front_list.value = id_card_front ? transArr(id_card_front) : [];
id_card_back_list.value = id_card_back ? transArr(id_card_back) : [];
sign_image_list.value = sign_image ? transArr(sign_image) : [];
oldFrontImg.value = id_card_front;
oldBackImg.value = id_card_back;
oldSignImg.value = sign_image;
@ -1054,6 +1108,31 @@
bank_id: modalForm.doctor_bank_card.bank_id
}
if (!modalForm.doctor_id) {
if (modalForm.id_card_front && modalForm.id_card_back && modalForm.sign_image) {
if (modalForm.doctor_bank_card) {
if (!modalForm.doctor_bank_card.province_id || !modalForm.doctor_bank_card.city_id || !modalForm.doctor_bank_card.county_id) {
proxy.$notification.error("请选择开户银行所在地省市区信息");
return false
};
if (!modalForm.doctor_bank_card.bank_id) {
proxy.$notification.error("请选择开户银行");
return false
};
};
if (!modalForm.bank_card_code) {
proxy.$notification.error("请输入银行卡号");
return false
}
if (modalForm.bank_card_code) {
const reg = /^([1-9]{1})(\d{15}|\d{18})$/;
if (!reg.test(modalForm.bank_card_code)) {
proxy.$notification.error("请输入正确的银行卡号");
return false
}
}
}
proxy.$loading.show();
const { code, message } = await addDoctor(modalData);
if (code == 200) {
@ -1350,9 +1429,11 @@
.action {
margin-bottom: 12px;
}
.okmodal div {
text-align: center;
}
.hospital_name {
width: 140px;
white-space: nowrap;
@ -1398,6 +1479,7 @@
color: red;
margin-top: 5px;
}
.cardNum {
width: 148px;
}

View File

@ -381,6 +381,30 @@
if (code == 200) {
Object.assign(modalForm, data);
if(data.doctor_title==0){
modalForm.doctor_title='';
}
if(data.hospital_id==0){
modalForm.hospital_id='';
}
if(data.department_custom_id==0){
modalForm.department_custom_id=''
}
if (!data.user_doctor_info) {
data.user_doctor_info = {};
modalForm.user_doctor_info = {};
}
if (!data.hospital) {
modalForm.hospital = {};
}
if (!data.doctor_bank_card) {
modalForm.doctor_bank_card = {
province_id: '',
city_id: '',
county_id: '',
bank_id: ''
}
};
if (data.doctor_expertise && data.doctor_expertise.length > 0) {
let arr = [];
data.doctor_expertise.forEach((item) => {