This commit is contained in:
zoujiandong 2023-12-07 09:22:23 +08:00
commit 644b1aabcc
4 changed files with 158 additions and 61 deletions

View File

@ -34,28 +34,28 @@
alt="" alt=""
/> />
</a-avatar> </a-avatar>
<div class="msgcon" :class="item.message_type=='TIMCustomElem'?'tipcon':''" <div class="msgcon" :class="item.message_type=='TIMCustomElem'?'tipcon':''"
:style="(item.message_type=='TIMCustomElem'&& JSON.parse(JSON.parse(item.message_content).Data) :style="(item.message_type=='TIMCustomElem'&& JSON.parse(item.message_content) instanceof Object && JSON.parse(JSON.parse(item.message_content).Data)
.message_type == 7)?'margin:6px;':''"> .message_type == 7)?'margin:6px;':''">
<div class="msgtext" v-if="item.message_type == 'TIMTextElem'"> <div class="msgtext" v-if="item.message_type == 'TIMTextElem' &&JSON.parse(item.message_content) instanceof Object">
{{ JSON.parse(item.message_content).Text }} {{ JSON.parse(item.message_content).Text }}
</div> </div>
<div class="msgtext" v-if="item.message_type == 'TIMImageElem'"> <div class="msgtext" v-else-if="item.message_type == 'TIMImageElem'">
<a-image width="200" :src="(JSON.parse(item.message_content).ImageInfoArray)[0].URL" :preview-props="{ <a-image width="200" :src="JSON.parse(item.message_content) instanceof Object?(JSON.parse(item.message_content).ImageInfoArray)[0].URL:''" :preview-props="{
actionsLayout: ['rotateRight', 'zoomIn', 'zoomOut'], actionsLayout: ['rotateRight', 'zoomIn', 'zoomOut'],
}" /> }" />
</div> </div>
<div <div
class="msgtext" class="msgtext"
v-else-if="item.message_type == 'TIMCustomElem'" v-else-if="item.message_type == 'TIMCustomElem' && JSON.parse(item.message_content) instanceof Object"
:class="JSON.parse(JSON.parse(item.message_content).Data) :class="JSON.parse(JSON.parse(item.message_content).Data)
.message_type == 7?'otherColor':''" .message_type == 7?'otherColor':''"
> >
<div <div
v-if=" v-if="
JSON.parse(JSON.parse(item.message_content).Data) JSON.parse(JSON.parse(item.message_content).Data)
.message_type == 1 .message_type == 1 && JSON.parse(item.message_content) instanceof Object
" "
class="text" class="text"
> >
@ -65,7 +65,7 @@
<div <div
v-else-if=" v-else-if="
JSON.parse(JSON.parse(item.message_content).Data) JSON.parse(JSON.parse(item.message_content).Data)
.message_type == 2 .message_type == 2 && JSON.parse(item.message_content) instanceof Object
" "
class="text" class="text"
> >
@ -74,7 +74,7 @@
<div <div
v-else-if=" v-else-if="
JSON.parse(JSON.parse(item.message_content).Data) JSON.parse(JSON.parse(item.message_content).Data)
.message_type == 3 .message_type == 3 && JSON.parse(item.message_content) instanceof Object
" "
class="text" class="text"
> >
@ -83,7 +83,7 @@
<div <div
v-else-if=" v-else-if="
JSON.parse(JSON.parse(item.message_content).Data) JSON.parse(JSON.parse(item.message_content).Data)
.message_type == 4 .message_type == 4 && JSON.parse(item.message_content) instanceof Object
" "
class="text" class="text"
> >
@ -92,7 +92,7 @@
<div <div
v-else-if=" v-else-if="
JSON.parse(JSON.parse(item.message_content).Data) JSON.parse(JSON.parse(item.message_content).Data)
.message_type == 5 .message_type == 5 && JSON.parse(item.message_content) instanceof Object
" "
class="text" class="text"
> >
@ -101,7 +101,7 @@
<div <div
v-else-if=" v-else-if="
JSON.parse(JSON.parse(item.message_content).Data) JSON.parse(JSON.parse(item.message_content).Data)
.message_type == 6 .message_type == 6 && JSON.parse(item.message_content) instanceof Object
" "
class="text" class="text"
> >
@ -110,7 +110,7 @@
<div <div
v-else-if=" v-else-if="
JSON.parse(JSON.parse(item.message_content).Data) JSON.parse(JSON.parse(item.message_content).Data)
.message_type == 7 .message_type == 7 && JSON.parse(item.message_content) instanceof Object
" "
class="text" class="text"
> >
@ -134,16 +134,16 @@
<div <div
v-else-if=" v-else-if="
JSON.parse(JSON.parse(item.message_content).Data) JSON.parse(JSON.parse(item.message_content).Data)
.message_type == 10 .message_type == 10 && JSON.parse(item.message_content) instanceof Object
" "
class="text" class="text"
> >
系统推送糖组检测报告 系统推送糖组检测报告
</div> </div>
<div <div
v-else-if=" v-else-if="
JSON.parse(JSON.parse(item.message_content).Data) JSON.parse(JSON.parse(item.message_content).Data)
.message_type == 11 .message_type == 11 && JSON.parse(item.message_content) instanceof Object
" "
class="text" class="text"
> >
@ -152,15 +152,16 @@
<div <div
v-else-if=" v-else-if="
JSON.parse(JSON.parse(item.message_content).Data) JSON.parse(JSON.parse(item.message_content).Data)
.message_type == 11 .message_type == 11 && JSON.parse(item.message_content) instanceof Object
" "
class="text" class="text"
> >
系统推送患者信息 系统推送患者信息
</div> </div>
</div>
<div class="date" v-if="item.message_type != 'TIMCustomElem'">{{ parseTime(item.message_send_time) }}</div> </div>
</div> <div class="date" v-if="item.message_type != 'TIMCustomElem'">{{ parseTime(item.message_send_time) }}</div>
</div>
</div> </div>
</div> </div>
<div class="phonecont" v-else> <div class="phonecont" v-else>
@ -177,11 +178,15 @@ const props = defineProps({
default:'', default:'',
}, },
user_doctor:{ user_doctor:{
type:Object type:Object,
default:{
}
} }
}); });
const {user_doctor}=toRefs(props); const {user_doctor}=toRefs(props);
console.log(user_doctor.value)
const firstIn=ref(false); const firstIn=ref(false);
const pager = reactive({ const pager = reactive({
page: 1, page: 1,
@ -191,6 +196,7 @@ const chatlist = ref([]);
const showMore = ref(true); const showMore = ref(true);
const HandleGetIm = async (params = {}) => { const HandleGetIm = async (params = {}) => {
const { code, data } = await getIm(params); const { code, data } = await getIm(params);
console.log(data)
if (code == 200) { if (code == 200) {
if ( data.data.length < 10) { if ( data.data.length < 10) {
@ -198,7 +204,9 @@ const HandleGetIm = async (params = {}) => {
}else{ }else{
showMore.value = true; showMore.value = true;
} }
chatlist.value = data.data.reverse().concat(chatlist.value); chatlist.value = data.data.reverse().concat(chatlist.value);
console.log(chatlist.value)
if(!firstIn.value){ if(!firstIn.value){
nextTick(() => { nextTick(() => {
// //
@ -206,7 +214,6 @@ const HandleGetIm = async (params = {}) => {
let ele = document.querySelector('.phonecont'); let ele = document.querySelector('.phonecont');
ele.scrollTop = ele.scrollHeight; ele.scrollTop = ele.scrollHeight;
} catch (error) { } catch (error) {
} }
}); });
} }

View File

@ -245,7 +245,7 @@
</a-col> </a-col>
</a-row> </a-row>
<a-divider /> <a-divider />
<div class="titlebox" v-if="Object.keys(modalForm.user_doctor_info).length != 0"> <div class="titlebox" >
<div class="bar"></div> <div class="bar"></div>
<div class="name">医师证件</div> <div class="name">医师证件</div>
</div> </div>
@ -372,19 +372,19 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<a-divider v-if="Object.keys(modalForm.user_doctor_info).length != 0" /> <a-divider />
<div class="titlebox" v-if="modalForm.department_custom_name && modalForm.iden_auth_status==1 && modalForm.user_doctor_info.sign_image && modalForm.multi_point_status==1"> <div class="titlebox" v-if="modalForm.iden_auth_status==1 && modalForm.user_ca_cert">
<div class="bar"></div> <div class="bar"></div>
<div class="name">CA证书配置</div> <div class="name">CA证书配置</div>
</div> </div>
<a-row :gutter="24" style="margin-top: 35px;" v-if="modalForm.department_custom_name && modalForm.iden_auth_status==1 && modalForm.user_doctor_info.sign_image && modalForm.multi_point_status==1"> <a-row :gutter="24" style="margin-top: 35px;" v-if="modalForm.department_custom_name && modalForm.iden_auth_status==1 && modalForm.user_doctor_info.sign_image && !modalForm.user_ca_cert">
<a-col :span="24"> <a-col :span="24">
<a-form-item field="" label="" no-style> <a-form-item field="" label="" no-style>
<div v-if="modalForm.user_ca_cert">证书有效期:{{parseTime(modalForm.user_ca_cert.cert_application_time,'{y}-{m}-{d}')}}-{{parseTime(modalForm.user_ca_cert.cert_expire_time,'{y}-{m}-{d}')}}</div> <div v-if="modalForm.user_ca_cert">证书有效期:{{parseTime(modalForm.user_ca_cert.cert_application_time,'{y}-{m}-{d}')}}-{{parseTime(modalForm.user_ca_cert.cert_expire_time,'{y}-{m}-{d}')}}</div>
<a-space style="margin-top: 15px;"> <a-space style="margin-top: 15px;">
<a-button type="primary" @click="()=>{okVisible=true;okStatus=6;}" v-has="'admin:sysDoctorList:applyCA'">证书申请</a-button> <a-button type="primary" @click="()=>{okVisible=true;okStatus=6;}" v-has="'admin:sysDoctorList:applyCA'">证书申请</a-button>
<a-button type="primary" status="success" @click="()=>{okVisible=true;okStatus=2;}" v-has="'admin:sysDoctorList:updateCA'">证书续期</a-button> <a-button type="primary" status="success" @click="()=>{okVisible=true;okStatus=2;}" v-has="'admin:sysDoctorList:updateCA'">证书续期</a-button>
<a-button type="primary" status="danger" @click="()=>{okVisible=true;okStatus=3;}" v-has="'admin:sysDoctorList:removeCA'">证书注销</a-button> <!-- <a-button type="primary" status="danger" @click="()=>{okVisible=true;okStatus=3;}" v-has="'admin:sysDoctorList:removeCA'">证书注销</a-button> -->
</a-space> </a-space>
<a-divider /> <a-divider />
<div class="title">签章配置</div> <div class="title">签章配置</div>
@ -396,7 +396,7 @@
</a-col> </a-col>
</a-row> </a-row>
</a-form> </a-form>
<a-divider v-show="modalSatus!='detail' " v-if="modalForm.department_custom_name && modalForm.iden_auth_status==1 && modalForm.user_doctor_info.sign_image && modalForm.multi_point_status==1"/> <a-divider v-show="modalSatus!='detail' " v-if="modalForm.iden_auth_status==1 && modalForm.user_ca_cert"/>
<div class="titlebox" v-if="modalSatus!='detail'"> <div class="titlebox" v-if="modalSatus!='detail'">
<div class="bar"></div> <div class="bar"></div>
<div class="name">操作</div> <div class="name">操作</div>

View File

@ -367,7 +367,22 @@
</a-col> </a-col>
</a-row> </a-row>
<a-divider /> <a-divider />
</a-form> </a-form>
<div class="titlebox" v-if="!modalForm.user_ca_cert">
<div class="bar"></div>
<div class="name">CA证书配置</div>
</div>
<a-row :gutter="24" style="margin-top: 35px;" v-if="!modalForm.user_ca_cert">
<a-col :span="24">
<a-form-item field="" label="" no-style>
<a-space style="margin-top: 15px;">
<a-button type="primary" @click="()=>{checkokVisible=true;checkokStatus=2;}" v-has="'admin:sysDoctorExamine:applyCA'" v-if="!modalForm.user_ca_cert">证书申请</a-button>
</a-space>
<a-divider />
</a-form-item>
</a-col>
</a-row>
<div class="titlebox" > <div class="titlebox" >
<div class="bar"></div> <div class="bar"></div>
<div class="name">操作</div> <div class="name">操作</div>
@ -376,8 +391,8 @@
<a-col :span="24"> <a-col :span="24">
<a-form-item field="" label="" no-style> <a-form-item field="" label="" no-style>
<a-space > <a-space >
<a-button type="primary" v-has="'admin:sysDoctorExamine:ok'" @click="handleCheck('ok')">审核通过</a-button> <a-button type="primary" v-has="'admin:sysDoctorExamine:ok'" @click="handleCheck('ok')" v-if="modalForm.user_ca_cert">审核通过</a-button>
<a-button type="primary" status="danger" v-has="'admin:sysDoctorExamine:deny'" @click="handleCheck(deny)">审核拒绝</a-button> <a-button type="primary" status="danger" v-has="'admin:sysDoctorExamine:deny'" @click="handleCheck(deny)" v-if="!modalForm.user_ca_cert">审核拒绝</a-button>
</a-space> </a-space>
<!-- <a-space v-if="modalSatus=='edit'"> <!-- <a-space v-if="modalSatus=='edit'">
<a-button type="primary" status="warning">拉黑</a-button> <a-button type="primary" status="warning">拉黑</a-button>
@ -403,12 +418,24 @@
</a-form-item> </a-form-item>
</a-form> </a-form>
</a-modal> </a-modal>
<!-- 审核通过弹框 -->
<a-modal v-model:visible="checkokVisible" :modal-style="{width:'320px'}" body-class="okmodal" @ok="checkokhandleSubmit"
@cancel="()=>checkokokVisible=false">
<template #title>
提示
</template>
<div v-if="checkokStatus==1">必须先在[四川省互联网医疗服务监管平台] 对医师备案通过后才可点击[医师身份审核通过] 按钮</div>
<div v-if="checkokStatus==2">确定申请CA证书</div>
</a-modal>
</div> </div>
</template> </template>
<script setup> <script setup>
import { reactive, ref, getCurrentInstance, onMounted, nextTick, watch, computed } from 'vue'; import { reactive, ref, getCurrentInstance, onMounted, nextTick, watch, computed } from 'vue';
import { getDoctorList,getDoctorDetail,checkDoctor} from '@/api/doctor/examine'; import { getDoctorList,getDoctorDetail,checkDoctor} from '@/api/doctor/examine';
import {departmentList, decryptCard, hospitalList, expertiseList } from '@/api/doctor/list'; import {departmentList, decryptCard, hospitalList, expertiseList } from '@/api/doctor/list';
import { applyCA} from '@/api/doctor/ca';
import { Message } from '@arco-design/web-vue';
import dayjs from 'dayjs' import dayjs from 'dayjs'
import { parseTime } from '@/utils/parseTime'; import { parseTime } from '@/utils/parseTime';
// Akiraka 20230210 // Akiraka 20230210
@ -416,6 +443,9 @@
// Akiraka 20230210 // Akiraka 20230210
const deleteVisible = ref(false) const deleteVisible = ref(false)
const modalCheckVisible = ref(false) const modalCheckVisible = ref(false)
const checkokVisible=ref(false);
const checkokStatus=ref(1); // 1 ca //2
// Akiraka 20230210 // Akiraka 20230210
watch(() => deleteVisible.value, (value) => { watch(() => deleteVisible.value, (value) => {
if (value == false) { if (value == false) {
@ -680,7 +710,16 @@
}; };
//
const handleApplyCA=()=>{
applyCA(modalForm.user_doctor_info.user_id).then(data=>{
if(data.code==200){
Message.success('证书申请成功');
handleDetail({doctor_id:modalForm.doctor_id})
}
})
}
// //
const handleQuery = async () => { const handleQuery = async () => {
@ -770,6 +809,16 @@
return elemTop; return elemTop;
} }
const checkokhandleSubmit=()=>{
if(checkokStatus.value==1){
checkok();
}else if(checkokStatus.value==2){
handleApplyCA();
}
};
// //
const handleCheck= async(type)=>{ const handleCheck= async(type)=>{
if(type=="ok"){ if(type=="ok"){
@ -780,10 +829,20 @@
document.querySelector(".myModal").scrollTo(0,top) document.querySelector(".myModal").scrollTo(0,top)
return false return false
} }
checkokVisible.value=true;
checkokStatus.value=1;
}else{
modalCheckForm.iden_auth_status=3;
modalCheckVisible.value=true;
}
}
const checkok=async()=>{
proxy.$loading.show(); proxy.$loading.show();
const {code,message,data}= await checkDoctor({ const {code,message,data}= await checkDoctor({
iden_auth_status:1, iden_auth_status:1,
qualification_cert_num:id qualification_cert_num:modalForm.user_doctor_info.qualification_cert_num
},modalForm.doctor_id); },modalForm.doctor_id);
if (code == 200) { if (code == 200) {
proxy.$notification.success("审核通过"); proxy.$notification.success("审核通过");
@ -791,13 +850,7 @@
proxy.$loading.hide(); proxy.$loading.hide();
modalVisible.value=false; modalVisible.value=false;
} }
}
}else{
modalCheckForm.iden_auth_status=3;
modalCheckVisible.value=true;
}
}
// //
const handleResetQuery = () => { const handleResetQuery = () => {
proxy.$refs.queryFormRef.resetFields(); proxy.$refs.queryFormRef.resetFields();

View File

@ -282,7 +282,7 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<a-form-item field="doctor_title" label="职 称 "> <a-form-item field="doctor_title" label="职 称 ">
<a-select placeholder="请选择所在职称" v-model="modalForm.doctor_title"> <a-select placeholder="请选择所在职称" v-model="modalForm.doctor_title" >
<a-option v-for="item in doctor_title_data" :key="item.doctor_title" :value="item.doctor_title" <a-option v-for="item in doctor_title_data" :key="item.doctor_title" :value="item.doctor_title"
:label="item.doctor_title_name">{{item.doctor_title_name}}</a-option> :label="item.doctor_title_name">{{item.doctor_title_name}}</a-option>
</a-select> </a-select>
@ -425,7 +425,7 @@
</a-col> </a-col>
</a-row> </a-row>
<a-divider v-if="modalForm.doctor_bank_card"/> <a-divider v-if="modalForm.doctor_bank_card"/>
<div class="titlebox" v-if="Object.keys(modalForm.user_doctor_info).length != 0"> <div class="titlebox" >
<div class="bar"></div> <div class="bar"></div>
<div class="name">医师证件</div> <div class="name">医师证件</div>
</div> </div>
@ -565,19 +565,19 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<a-divider v-if="Object.keys(modalForm.user_doctor_info).length != 0"/> <a-divider />
<div class="titlebox" v-if="modalForm.department_custom_name && modalForm.iden_auth_status==1 && modalForm.user_doctor_info.sign_image && modalForm.multi_point_status==1"> <div class="titlebox" v-if="modalForm.iden_auth_status==1 && modalForm.user_ca_cert">
<div class="bar"></div> <div class="bar"></div>
<div class="name">CA证书配置</div> <div class="name">CA证书配置</div>
</div> </div>
<a-row :gutter="24" style="margin-top: 35px;" v-if="modalForm.department_custom_name && modalForm.iden_auth_status==1 && modalForm.user_doctor_info.sign_image && modalForm.multi_point_status==1"> <a-row :gutter="24" style="margin-top: 35px;" v-if="modalForm.iden_auth_status==1 && modalForm.user_ca_cert">
<a-col :span="24"> <a-col :span="24">
<a-form-item field="" label="" no-style> <a-form-item field="" label="" no-style>
<div v-if="modalForm.user_ca_cert">证书有效期:{{parseTime(modalForm.user_ca_cert.cert_application_time,'{y}-{m}-{d}')}}-{{parseTime(modalForm.user_ca_cert.cert_expire_time,'{y}-{m}-{d}')}}</div> <div v-if="modalForm.user_ca_cert">证书有效期:{{parseTime(modalForm.user_ca_cert.cert_application_time,'{y}-{m}-{d}')}}-{{parseTime(modalForm.user_ca_cert.cert_expire_time,'{y}-{m}-{d}')}}</div>
<a-space style="margin-top: 15px;"> <a-space style="margin-top: 15px;">
<a-button type="primary" @click="()=>{okVisible=true;okStatus=6;}" v-has="'admin:sysDoctorList:applyCA'">证书申请</a-button> <a-button type="primary" @click="()=>{okVisible=true;okStatus=6;}" v-has="'admin:sysDoctorList:applyCA'">证书申请</a-button>
<a-button type="primary" status="success" @click="()=>{okVisible=true;okStatus=2;}" v-has="'admin:sysDoctorList:updateCA'">证书续期</a-button> <a-button type="primary" status="success" @click="()=>{okVisible=true;okStatus=2;}" v-has="'admin:sysDoctorList:updateCA'">证书续期</a-button>
<a-button type="primary" status="danger" @click="()=>{okVisible=true;okStatus=3;}" v-has="'admin:sysDoctorList:removeCA'">证书注销</a-button> <!-- <a-button type="primary" status="danger" @click="()=>{okVisible=true;okStatus=3;}" v-has="'admin:sysDoctorList:removeCA'">证书注销</a-button> -->
</a-space> </a-space>
<a-divider /> <a-divider />
@ -590,7 +590,7 @@
</a-col> </a-col>
</a-row> </a-row>
</a-form> </a-form>
<a-divider v-show="modalSatus!='detail' " v-if="modalForm.department_custom_name && modalForm.iden_auth_status==1 && modalForm.user_doctor_info.sign_image && modalForm.multi_point_status==1"/> <a-divider v-show="modalSatus!='detail' " v-if="modalForm.iden_auth_status==1 && modalForm.user_ca_cert"/>
<div class="titlebox" v-if="modalSatus!='detail'"> <div class="titlebox" v-if="modalSatus!='detail'">
<div class="bar"></div> <div class="bar"></div>
<div class="name">操作</div> <div class="name">操作</div>
@ -599,7 +599,7 @@
<a-col :span="24"> <a-col :span="24">
<a-form-item field="" label="" no-style> <a-form-item field="" label="" no-style>
<a-space v-if="modalSatus!='detail'" style="margin-right: 8px;"> <a-space v-if="modalSatus!='detail'" style="margin-right: 8px;">
<a-button type="primary" @click="()=>{okVisible=true,okStatus=1}" v-has="'admin:sysDoctorList:save'">保存</a-button> <a-button type="primary" @click="saveBefore" v-has="'admin:sysDoctorList:save'">保存</a-button>
</a-space> </a-space>
<!-- <a-space v-if="modalSatus=='edit'"> <!-- <a-space v-if="modalSatus=='edit'">
<a-button type="primary" status="warning">拉黑</a-button> <a-button type="primary" status="warning">拉黑</a-button>
@ -612,7 +612,7 @@
<!-- Akiraka 20230223 删除与批量删除 开始 --> <!-- Akiraka 20230223 删除与批量删除 开始 -->
<DeleteModal :data="deleteData" :visible="deleteVisible" :apiDelete="removeDoctor" <DeleteModal :data="deleteData" :visible="deleteVisible" :apiDelete="removeDoctor"
@deleteVisibleChange="() => deleteVisible = false" /> @deleteVisibleChange="() => deleteVisible = false" :cancelText="okStatus==7?'未修改备案':'取消'"/>
<!-- Akiraka 20230223 删除与批量删除 结束 --> <!-- Akiraka 20230223 删除与批量删除 结束 -->
<a-modal v-model:visible="okVisible" :modal-style="{width:'320px'}" body-class="okmodal" @ok="handleSubmit" <a-modal v-model:visible="okVisible" :modal-style="{width:'320px'}" body-class="okmodal" @ok="handleSubmit"
@cancel="()=>okVisible=false"> @cancel="()=>okVisible=false">
@ -625,6 +625,7 @@
<div v-else-if="okStatus==4">确定申请签章</div> <div v-else-if="okStatus==4">确定申请签章</div>
<div v-else-if="okStatus==5">确定更新签章</div> <div v-else-if="okStatus==5">确定更新签章</div>
<div v-else-if="okStatus==6">确定申请CA证书</div> <div v-else-if="okStatus==6">确定申请CA证书</div>
<div v-else-if="okStatus==7">修改职称或者执业证/资格证需要先在四川省互联网医疗服务监管平台修改备案信息成功后才可保存 (谨慎操作) </div>
</a-modal> </a-modal>
</div> </div>
</template> </template>
@ -644,12 +645,15 @@
const deleteVisible = ref(false) const deleteVisible = ref(false)
// Akiraka 20230210 // Akiraka 20230210
const okVisible = ref(false); const okVisible = ref(false);
const okStatus=ref(1); //1 2 3// //4 //5 const okStatus=ref(1); //1isChange_license 2 3// //4 //5 //7 /
watch(() => deleteVisible.value, (value) => { watch(() => deleteVisible.value, (value) => {
if (value == false) { if (value == false) {
getDoctorInfo(pager); getDoctorInfo(pager);
} }
}) })
const oldTitle=ref('');//
const isChange_license=ref(false);
const isChange_qualification=ref(false);
const tableRef=ref(); const tableRef=ref();
const showCheckedAll=ref(true); const showCheckedAll=ref(true);
const file = ref(); const file = ref();
@ -677,9 +681,7 @@ const showCheckedAll=ref(true);
user_doctor_info: { user_doctor_info: {
card_num_mask:'' card_num_mask:''
}, },
user_ca_cert:{ user_ca_cert:null,
},
doctor_bank_card: { doctor_bank_card: {
province_id:'', province_id:'',
bank_card_province_id: '', bank_card_province_id: '',
@ -733,7 +735,10 @@ const showCheckedAll=ref(true);
if (value.dealType == "add") { if (value.dealType == "add") {
license_cert_list.value.push({ license_cert_list.value.push({
url: value.url url: value.url
}) });
if(modalForm.doctor_id){
isChange_license.value=true;
}
} else { } else {
license_cert_list.value.splice(license_cert_list.value.findIndex(item => item.url === value.url), 1) license_cert_list.value.splice(license_cert_list.value.findIndex(item => item.url === value.url), 1)
} }
@ -743,6 +748,9 @@ const showCheckedAll=ref(true);
qualification_cert_list.value.push({ qualification_cert_list.value.push({
url: value.url url: value.url
}) })
if(modalForm.doctor_id){
isChange_qualification.value=true;
}
} else { } else {
qualification_cert_list.value.splice(qualification_cert_list.value.findIndex(item => item.url === value.url), 1) qualification_cert_list.value.splice(qualification_cert_list.value.findIndex(item => item.url === value.url), 1)
} }
@ -848,7 +856,14 @@ const showCheckedAll=ref(true);
}, { deep: true }); }, { deep: true });
// Rules // Rules
const rules = { const rules = {
avatar: [{ required: true, message: '请上传医生头像' }], avatar: [{ required: true, message: '请上传医生头像' },{
validator: (value, cb) => {
if (value=='https://img.applets.igandanyiyuan.com/basic/file/doctor_avatar.png') {
cb('请上传新的医生头像');
}
}
}],
user_name: [ user_name: [
{ required: true, message: '请输入医生名字' }, { required: true, message: '请输入医生名字' },
{ {
@ -1028,6 +1043,7 @@ const showCheckedAll=ref(true);
hospital_name: '', hospital_name: '',
hospital_id: '' hospital_id: ''
}; };
modalForm.user_ca_cert=null;
modalForm.user = {}; modalForm.user = {};
modalForm.license_cert = ''; modalForm.license_cert = '';
modalForm.qualification_cert = ''; modalForm.qualification_cert = '';
@ -1037,8 +1053,14 @@ const showCheckedAll=ref(true);
modalForm.id_card_back = ''; modalForm.id_card_back = '';
modalForm.sign_image = ''; modalForm.sign_image = '';
modalForm.doctor_bank_card = { modalForm.doctor_bank_card = {
} }
license_cert_list.value=[];
qualification_cert_list.value=[];
work_cert_list.value=[];
id_card_front_list.value=[];
id_card_back_list.value=[]
sign_image_list.value=[];
//$refs.modalFormRef.resetFields(); //$refs.modalFormRef.resetFields();
}; };
@ -1056,7 +1078,7 @@ const showCheckedAll=ref(true);
} }
if(data.doctor_title==0){ if(data.doctor_title==0){
modalForm.doctor_title=''; modalForm.doctor_title='';
} };
if(data.hospital_id==0){ if(data.hospital_id==0){
modalForm.hospital_id=''; modalForm.hospital_id='';
} }
@ -1136,6 +1158,7 @@ const showCheckedAll=ref(true);
if(data.doctor_title==0){ if(data.doctor_title==0){
modalForm.doctor_title=''; modalForm.doctor_title='';
} }
oldTitle.value=data.doctor_title;
if(data.hospital_id==0){ if(data.hospital_id==0){
modalForm.hospital_id=''; modalForm.hospital_id='';
} }
@ -1210,6 +1233,8 @@ const showCheckedAll=ref(true);
} }
}) })
} }
// //
// const filterService = (record) => { // const filterService = (record) => {
// let arr = []; // let arr = [];
@ -1237,8 +1262,18 @@ const showCheckedAll=ref(true);
// } // }
// Modal ok // Modal ok
// Modal done() // Modal done()
const saveBefore=()=>{
if((oldTitle.value!=modalForm.doctor_title || isChange_license.value || isChange_qualification.value) && modalForm.doctor_id){
okStatus.value=7
}else{
okStatus.value=1
}
okVisible.value=true;
}
const handleSubmit = (done) => { const handleSubmit = (done) => {
if(okStatus.value==1){ if(okStatus.value==1 || okStatus.value==7){
proxy.$refs.modalFormRef.validate(async (valid) => { proxy.$refs.modalFormRef.validate(async (valid) => {
if (!valid) { if (!valid) {
let res; let res;
@ -1348,6 +1383,8 @@ const showCheckedAll=ref(true);
if (code == 200) { if (code == 200) {
proxy.$notification.success('更新成功'); proxy.$notification.success('更新成功');
modalVisible.value = false; modalVisible.value = false;
isChange_license.value=false;
isChange_qualification.value=false;
} }
proxy.$loading.hide(); proxy.$loading.hide();
} }