2023-09-11 15:11:28 +08:00

868 lines
32 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="app-container">
<a-form :model="queryForm" ref="queryFormRef" layout="inline">
<a-form-item field="user_name" label="医生名字">
<a-input v-model="queryForm.user_name" placeholder="请输入医生名字" @press-enter="handleQuery" />
</a-form-item>
<a-form-item field="mobile" label="电话号码">
<a-input v-model="queryForm.mobile" placeholder="请输入电话号码" @press-enter="handleQuery" />
</a-form-item>
<!-- <a-form-item field="iden_auth_status" label="审核状态">
<a-select v-model="queryForm.iden_auth_status" placeholder="请选择审核状态" :style="{ width: '180px' }">
<a-option :value="2">审核中</a-option>
<a-option :value="3">认证失败</a-option>
</a-select>
</a-form-item> -->
<a-form-item>
<a-space>
<a-button type="primary" @click="handleQuery"><icon-search /> 搜索</a-button>
<a-button @click="handleResetQuery"><icon-loop /> 重置</a-button>
</a-space>
</a-form-item>
</a-form>
<!-- <a-divider /> -->
<!-- action -->
<!-- table -->
<a-table :columns="columns" :data="tableData"
: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;}" @page-change="handlePageChange"
@page-size-change="handlepage_sizeChange">
<template #doctor_id="{record,rowIndex}">
<div>{{(rowIndex+1)+(pager.page-1)*10}}</div>
</template>
<template #doctor_title="{ record }">
<!-- 医生职称1:主任医师 2:主任中医师 3:副主任医师 4:副主任中医师 5:主治医师 6:住院医师) -->
<div v-if="record.doctor_title==1">主任医师</div>
<div v-else-if="record.doctor_title==2">主任中医师</div>
<div v-else-if="record.doctor_title==3">副主任医师</div>
<div v-else-if="record.doctor_title==4">副主任中医师</div>
<div v-else-if="record.doctor_title==5">主治医师</div>
<div v-else-if="record.doctor_title==6">住院医师</div>
</template>
<template #created_at="{ record }">
{{ parseTime(record.created_at) }}
</template>
<template #hospital_name="{record}">
<div class="hospital_name" :title="record.hospital_name">{{record.hospital_name}}</div>
</template>
<template #inquiry_service="{ record }">
<span>{{filterService(record)}}</span>
</template>
<template #iden_auth_status="{ record }">
<!-- 身份认证状态0:未认证 1:认证通过 2:审核中 3:认证失败) -->
<a-tag v-if="record.iden_auth_status == 0" color="gray">未认证</a-tag>
<a-tag v-else-if="record.iden_auth_status == 1" color="green">认证通过</a-tag>
<a-tag v-else-if="record.iden_auth_status == 2" color="#ffb400">审核中</a-tag>
<a-tag v-else color="red">认证失败</a-tag>
</template>
<template #is_recommend="{ record }">
<!-- 身份认证状态0:未认证 1:认证通过 2:审核中 3:认证失败) -->
<a-tag v-if="record.is_recommend == 0" color="gray">否</a-tag>
<a-tag v-else color="green">是</a-tag>
</template>
<template #status="{ record }">
<!-- 状态0:禁用 1:正常 2:删除) -->
<a-switch v-model="record.status" checked-color="#14C9C9" :checked-value="1" unchecked-value="0" />
</template>
<template #action="{ record }">
<a-space>
<a-button v-has="'admin:sysDoctorExamine:check'" type="text"
@click="handleDetail(record)"><icon-book />审核</a-button>
</a-space>
</template>
</a-table>
<!-- Modal -->
<a-modal v-model:visible="modalVisible" body-class="myModal" fullscreen :title="modalTitle" title-align="start" :footer="false"
@close="() => {$refs.modalFormRef.resetFields(); modalForm.doctor_id = null;}">
<div class="titlebox">
<div class="bar"></div>
<div class="name">医生信息</div>
</div>
<a-form :model="modalForm" :disabled="true" ref="modalFormRef"
:auto-label-width="true">
<a-row :gutter="24">
<a-col :span="12">
<a-form-item field="avatar" label="医生头像:">
<a-space size="large">
<a-image width="80" height="80" class="headImg" :src="modalForm.avatar">
</a-image>
</a-space>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<a-form-item field="user_name" label="医生名字:">
<a-input v-model="modalForm.user_name" placeholder="请输入医生名字" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item field="idCard" label="身份证号:" >
<div class="box" v-show="!showEye">
<div class="cardNum">{{modalForm.user_doctor_info.card_num_mask}}</div>
<icon-eye-invisible class="eye" @click="handelDecryptCard(modalForm.user_id)" />
</div>
<div class="box" v-show="showEye">
<div class="cardNum">{{id_card_num}}</div>
<icon-eye class="eye" @click="()=>{showEye=false}" />
</div>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24" >
<a-col :span="12">
<a-form-item field="user.mobile" label="联系电话:">
<a-input v-model="modalForm.user.mobile" placeholder="请输入联系电话" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item field="multi_point_status" label="多点执业:">
<span v-if="modalForm.multi_point_status==1">可处方</span>
<span v-else>不可处方</span>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<a-form-item field="hospital.hospital_name" label="医院名称:">
<a-select placeholder="请选择所在医院" v-model="modalForm.hospital.hospital_name">
<a-option v-for="item in hospitalData" :key="item.hospital_id" :value="item.hospital_id"
:label="item.hospital_name">{{item.hospital_name}}</a-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item field="hospital.address" label="医院地址:">
<a-input v-model="modalForm.hospital.address" placeholder="请输入医院地址" />
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<a-form-item field="department_custom_id" label="所在科室:">
<a-select placeholder="请选择所在科室" v-model="modalForm.department_custom_id" @change="changeSelect">
<a-option v-for="item in departmentData" :key="item.department_custom_id"
:value="item.department_custom_id" :label="item.department_custom_name">
{{item.department_custom_name}}
</a-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item field="department_custom_name" label="科室名称:">
<a-input v-model="modalForm.department_custom_name" placeholder="请输入科室名称" />
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<a-form-item field="doctor_title" label="职 称 ">
<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"
:label="item.doctor_title_name">{{item.doctor_title_name}}</a-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item field="department_custom_mobile" label="科室电话:">
<a-input v-model="modalForm.department_custom_mobile" placeholder="请输入科室电话" />
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="24">
<a-form-item field="cur_doctor_expertise" label="专长:">
<a-select multiple placeholder="请选择专长" v-model="modalForm.cur_doctor_expertise">
<a-option v-for="item in expertiseData" :key="item.expertise_id" :value="item.expertise_id"
:label="item.expertise_name">{{item.expertise_name}}</a-option>
</a-select>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="24">
<a-form-item field="be_good_at" label="擅长信息:">
<a-textarea :auto-size="{minRows:2}" v-model="modalForm.be_good_at" placeholder="请填写医生擅长信息。内容为医生专业领域、擅长疾病、研究方法等信息字数在10-1000字" />
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="24">
<a-form-item field="brief_introduction" label="个人简介:">
<a-textarea :auto-size="{minRows:2}" v-model="modalForm.brief_introduction" placeholder="请填写医生从业经历职称和所获荣誉等信息字数在10-1000字" />
</a-form-item>
</a-col>
</a-row>
<a-divider />
<div class="titlebox">
<div class="bar"></div>
<div class="name">是否推荐</div>
</div>
<a-row :gutter="24" style="margin-top: 35px;">
<a-col :span="12">
<a-form-item field="is_recommend" label="状态:">
<a-space size="large">
<a-switch checked-color="#14C9C9" :checked-value="1" :unchecked-value="0"
v-model="modalForm.is_recommend" />
</a-space>
</a-form-item>
</a-col>
<!-- <a-col :span="12" v-if="modalForm.is_recommend==1">
<div>理由:平台合作</div>
</a-col> -->
</a-row>
<a-divider />
<div class="titlebox">
<div class="bar"></div>
<div class="name">平台合作</div>
</div>
<a-row :gutter="24" style="margin-top: 35px;">
<a-col :span="4">
<a-form-item field="is_platform_deep_cooperation" label="平台深度合作医生:">
<a-space size="large">
<a-switch checked-color="#14C9C9" :checked-value="1" :unchecked-value="0"
v-model="modalForm.is_platform_deep_cooperation" />
</a-space>
</a-form-item>
</a-col>
<a-col :span="20">
<a-form-item field="is_sys_diagno_cooperation" label="先思达合作医生:">
<a-space size="large">
<a-switch checked-color="#14C9C9" :checked-value="1" :unchecked-value="0"
v-model="modalForm.is_sys_diagno_cooperation" />
</a-space>
</a-form-item>
</a-col>
</a-row>
<a-divider />
<div class="titlebox">
<div class="bar"></div>
<div class="name">医师证件</div>
</div>
<a-row :gutter="24" style="margin-top: 35px;"
v-if="(modalForm.user_doctor_info.license_cert && modalForm.user_doctor_info.license_cert.length>0)">
<a-col :span="24">
<div class="titletip"><span
class="arco-form-item-label-required-symbol red">*</span>医师执业证<span>(点击图片查看大图)</span></div>
<a-form-item field="license_cert" :hide-label="true" :validate-trigger="['change']">
<a-image-preview-group infinite>
<a-space >
<a-image width="120" height="120" fit="cover" v-for="item in modalForm.user_doctor_info.license_cert"
show-loader :src="item" />
</a-space>
</a-image-preview-group>
</a-form-item>
</a-col>
</a-row>
<a-row class="codebox_cert" :gutter="24" style="margin-top: 35px;"
v-if="(modalForm.user_doctor_info.qualification_cert && modalForm.user_doctor_info.qualification_cert.length>0)">
<a-col :span="24">
<div class="titletip"><span
class="arco-form-item-label-required-symbol red">*</span>医师资格证<span>(点击图片查看大图)</span></div>
<a-form-item field="qualification_cert" label="" :hide-label="true">
<a-image-preview-group infinite>
<a-space >
<a-image width="120" height="120" fit="cover"
v-for="item in modalForm.user_doctor_info.qualification_cert" show-loader :src="item" />
</a-space>
</a-image-preview-group>
</a-form-item>
<div class="codbox">
<div class="labelname"><span
class="arco-form-item-label-required-symbol red">*</span>资格证编号:</div>
<a-input v-model="modalForm.user_doctor_info.qualification_cert_num" style="width:500px" placeholder="请输入资格证编码" />
</div>
</a-col>
</a-row>
<!-- <a-row :gutter="24">
<a-col :span="24">
<a-form-item field="user_doctor_info.qualification_cert_num" label="资格证编码:">
</a-form-item>
</a-col>
</a-row> -->
<a-row :gutter="24" style="margin-top: 35px;"
v-if="(modalForm.user_doctor_info.work_cert && modalForm.user_doctor_info.work_cert.length>0)">
<a-col :span="24">
<div class="titletip"><span
class="arco-form-item-label-required-symbol red">*</span>医师职称证<span>(点击图片查看大图)</span></div>
<a-form-item field="work_cert" label="" :hide-label="true">
<a-image-preview-group infinite>
<a-space >
<a-image width="120" height="120" fit="cover" v-for="item in modalForm.user_doctor_info.work_cert"
show-loader :src="item" />
</a-space>
</a-image-preview-group>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24" style="margin-top: 35px;"
v-if="modalForm.user_doctor_info.id_card_front">
<a-col :span="24">
<div class="titletip">医师身份证正面<span>(点击图片查看大图)</span></div>
<a-form-item field="id_card_front" label="" no-style>
<a-image-preview-group infinite>
<a-space >
<a-image width="120" height="120" fit="cover" show-loader
:src="modalForm.user_doctor_info.id_card_front" />
</a-space>
</a-image-preview-group>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24" style="margin-top: 35px;"
v-if="modalForm.user_doctor_info.id_card_back">
<a-col :span="24">
<a-form-item field="id_card_back" label="" no-style>
<div class="titletip">医师身份证反面<span>(点击图片查看大图)</span></div>
<a-image-preview-group infinite>
<a-space >
<a-image width="120" height="120" fit="cover" show-loader
:src="modalForm.user_doctor_info.id_card_back" />
</a-space>
</a-image-preview-group>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24" style="margin-top: 35px;"
v-if="modalForm.user_doctor_info.sign_image">
<a-col :span="24">
<a-form-item field="sign_image" label="" no-style>
<div class="titletip">医师手写签名<span>(点击图片查看大图)</span></div>
<a-image-preview-group infinite>
<a-space >
<a-image width="120" height="120" fit="cover" show-loader
:src="modalForm.user_doctor_info.sign_image" />
</a-space>
</a-image-preview-group>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24" style="margin-top: 35px;" v-if="modalForm.qr_code">
<a-col :span="24">
<a-form-item field="qr_code" label="" no-style>
<div class="titletip">医师二维码<span>(点击图片查看大图)</span></div>
<a-image-preview-group infinite>
<a-space>
<a-image width="120" height="120" fit="cover" show-loader :src="modalForm.qr_code" />
</a-space>
</a-image-preview-group>
</a-form-item>
</a-col>
</a-row>
<a-divider />
</a-form>
<div class="titlebox" >
<div class="bar"></div>
<div class="name">操作</div>
</div>
<a-row :gutter="24" style="margin-top: 35px;" >
<a-col :span="24">
<a-form-item field="" label="" no-style>
<a-space >
<a-button type="primary" v-has="'admin:sysDoctorExamine:ok'" @click="handleCheck('ok')">审核通过</a-button>
<a-button type="primary" status="danger" v-has="'admin:sysDoctorExamine:deny'" @click="handleCheck(deny)">审核拒绝</a-button>
</a-space>
<!-- <a-space v-if="modalSatus=='edit'">
<a-button type="primary" status="warning">拉黑</a-button>
<a-button type="primary" status="danger">删除</a-button>
</a-space> -->
</a-form-item>
</a-col>
</a-row>
</a-modal>
<!-- 审核失败弹框 -->
<a-modal :mask-closable="false" v-model:visible="modalCheckVisible" :title="'拒绝理由'" title-align="start"
@before-ok="handleSubmit" @close="() => { $refs.checkFormRef.resetFields();}">
<a-form :model="modalCheckForm" ref="checkFormRef"
:auto-label-width="true" :mask-closable="false" :rules="rules">
<a-form-item field="option" label="原因:">
<a-select multiple placeholder="请选择原因" v-model="modalCheckForm.option" @change="changeReason">
<a-option v-for="item in resasonData" :value="item" :label="item.label"></a-option>
</a-select>
</a-form-item>
<a-form-item v-for="(item,index) of modalCheckForm.reasons" :field="item.key" :label="item.label+':'" :key="index">
<a-textarea v-model="modalCheckForm[item.key]" :placeholder="'请输入'+item.label" />
</a-form-item>
</a-form>
</a-modal>
</div>
</template>
<script setup>
import { reactive, ref, getCurrentInstance, onMounted, nextTick, watch, computed } from 'vue';
import { getDoctorList,getDoctorDetail,checkDoctor} from '@/api/doctor/examine';
import {departmentList, decryptCard, hospitalList, expertiseList } from '@/api/doctor/list';
import dayjs from 'dayjs'
import { parseTime } from '@/utils/parseTime';
// Akiraka 20230210 删除数据
const deleteData = ref([])
// Akiraka 20230210 删除对话框
const deleteVisible = ref(false)
const modalCheckVisible = ref(false)
// Akiraka 20230210 监听删除事件
watch(() => deleteVisible.value, (value) => {
if (value == false) {
getDoctorInfo(pager);
}
});
const file = ref();
const { proxy } = getCurrentInstance();
const currentPage = ref(1);
// Pager
const pager = {
total: 0,
page: 1,
page_size: 10,
};
// form
const queryForm = reactive({
inquiry_service: ''
});
const modalCheckForm = reactive({
option:null,
reasons:[]
});
const modalForm = reactive({
hospital: {},
user_doctor_info: {
},
user: {},
doctor_id: '',
license_cert: [],
qualification_cert: [],
work_cert: [],
department_custom_name: '',
user_id: '',
status: 1,
id_card_front: '',
id_card_back: '',
sign_image: '',
card_num: null,
cur_doctor_expertise: [],
avatar: 'https://img.applets.igandanyiyuan.com/basic/file/doctor_avatar.png'
});
// Modal
const modalVisible = ref(false);
const modalTitle = ref('默认标题');
//let obj = { 1: '主任医师', 2: '主任中医师', 3: '副主任医师', 4: '副主任中医师', 5: '主治医师', 6: '住院医师' };
const doctor_title_data = [
{
doctor_title: 1,
doctor_title_name: '主任医师'
},
{
doctor_title: 2,
doctor_title_name: '主任中医师'
},
{
doctor_title: 3,
doctor_title_name: '副主任医师'
},
{
doctor_title: 4,
doctor_title_name: '副主任中医师'
},
{
doctor_title: 5,
doctor_title_name: '主治医师'
},
{
doctor_title: 6,
doctor_title_name: '住院医师'
}
];
const resasonData=ref([
{
value:1,
label:'头像原因',
key:'avatar_reason',
content:''
},
{
value:2,
label:'科室电话原因',
key:'department_custom_mobile_reason',
content:''
},
{
value:3,
label:'科室名称原因',
key:'department_custom_name_reason',
content:''
},
{
value:4,
label:'医生简介原因',
key:'brief_introduction_reason',
content:''
},
{
value:5,
label:'擅长原因',
key:'be_good_at_reason'
},
{
value:6,
label:'医师执业证原因',
key:'license_cert_reason',
content:''
},
{
value:7,
label:'医师资格证原因',
key:'qualification_cert_reason',
content:''
},
{
value:8,
label:'医师职称证原因',
key:'work_cert_reason',
content:''
}
])
// rules
const rules = reactive({
option: [{
required: true,
message: '请选择原因'
}],
roleKey: [{
required: true,
message: '请输入权限字符'
}],
});
// Batch Del List
let batchList = [];
// Table Columns
const columns = [
{ title: '编号', dataIndex: 'doctor_id', slotName: 'doctor_id', width: '90' },
{ title: '医生名字', dataIndex: 'user_name' },
{ title: '手机号码', dataIndex: 'mobile' },
{ title: '医院', dataIndex: 'hospital_name', width: 160, slotName: 'hospital_name' },
{ title: '科室', dataIndex: 'department_custom_name',},
{ title: '职称', dataIndex: 'doctor_title', slotName: 'doctor_title' },
{ title: '申请时间', dataIndex: 'created_at', slotName: 'created_at' },
{ title: '审核状态', dataIndex: 'iden_auth_status', slotName: 'iden_auth_status' },
{ title: '操作', slotName: 'action' },
];
// Table Data
const tableData = ref([]);
//改变科室
const changeSelect = (value) => {
let arr = departmentData.value.filter((item) => {
return item.department_custom_id == value
})
modalForm.department_custom_name = arr[0].department_custom_name
}
//详情
const handleDetail = async (record) => {
modalVisible.value = true;
modalTitle.value = '医生详情';
const { code, data, message } = await getDoctorDetail(record.doctor_id);
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) => {
arr.push(item.expertise_id)
})
modalForm.cur_doctor_expertise = arr;
}
}
};
const changeReason=(value)=>{
console.log(value)
modalCheckForm.reasons=value;
value.forEach((item,index)=>{
rules[item.key]=[{required: true,message: '请输入'+item.label}]
})
}
//开启服务处理
const filterService = (record) => {
let arr = [];
let str = '';
if (record.is_img_expert_reception == 1) {
arr.push("专家问诊");
}
if (record.is_img_welfare_reception == 1) {
arr.push("公益问诊")
}
if (record.is_img_quick_reception == 1) {
arr.push("快速问诊")
};
if (record.multi_point_status == 1) {
arr.push("问诊购药")
}
arr.forEach((item) => {
if (!str) {
str += item
} else {
str += ',' + item
}
})
return str ? str : "暂无"
}
/**
* 分页改变
* @param {Number} [page]
*/
const handlePageChange = (page) => {
pager.page = page;
// 修改当前页码
currentPage.value = page;
getDoctorInfo({ ...pager, ...queryForm });
};
// 每页数据量
const handlepage_sizeChange = (page_size) => {
pager.page_size = page_size;
getDoctorInfo({ ...pager, ...queryForm });
};
// 获取医生信息
const getDoctorInfo = async (params = {}) => {
const { data, code, message } = await getDoctorList(params);
if (code == 200) {
tableData.value = data.data;
Object.assign(pager, { total: data.total, page: data.page, page_size: data.page_size });
}
};
// 查询医生信息
const handleQuery = async () => {
pager.page=1;
const params = {
page: pager.page,
page_size: pager.page_size,
...queryForm,
};
getDoctorInfo(params);
};
const departmentData = ref([]);
//获取科室列表
const getDepartmentList = () => {
departmentList().then((res) => {
const { data, code, message } = res;
if (code == 200) {
departmentData.value = data;
}
});
}
//切换小眼睛
const showEye = ref(false);
const id_card_num = ref('');
//解密身份证号码
const handelDecryptCard = async (user_id) => {
showEye.value=true
const { data, code, message } = await decryptCard({
user_id
});
if (code == 200) {
id_card_num.value = data;
}
};
const hospitalData = ref([]);
//获取医院列表
const handleHospitalList = () => {
hospitalList().then((res) => {
const { data, code, message } = res;
if (code == 200) {
hospitalData.value = data;
}
});
}
const expertiseData = ref([]);
// 获取专长列表
const handlExpertiseList = () => {
expertiseList().then((res) => {
const { data, code, message } = res;
if (code == 200) {
expertiseData.value = data;
}
})
}
// 异步关闭Modal需要调用 done()
const handleSubmit = (done) => {
proxy.$refs.checkFormRef.validate(async (valid) => {
if (!valid) {
proxy.$loading.show();
const {code,message,data}= await checkDoctor(modalCheckForm,modalForm.doctor_id);
if (code == 200) {
proxy.$notification.success("提交成功");
getDoctorInfo(pager);
modalVisible.value=false;
}
proxy.$loading.hide();
done();
} else {
console.log(valid)
proxy.$message.error('表单校验失败');
done(false);
}
});
};
const getElementTop=(elem)=> {
let elemTop = elem.offsetTop; // 获取当前元素顶部距离父元素顶部的距离
let parentElem = elem.offsetParent; // 获取当前元素的父元素
while (parentElem) {
elemTop += parentElem.offsetTop;
parentElem = parentElem.offsetParent;
}
return elemTop;
}
//审核
const handleCheck= async(type)=>{
if(type=="ok"){
let id=modalForm.user_doctor_info.qualification_cert_num;
if(!id){
proxy.$message.error("请填写资格证编号");
let top=getElementTop(document.querySelector(".codebox_cert"));
document.querySelector(".myModal").scrollTo(0,top)
return false
}
proxy.$loading.show();
const {code,message,data}= await checkDoctor({
iden_auth_status:1,
qualification_cert_num:id
},modalForm.doctor_id);
if (code == 200) {
proxy.$notification.success("审核通过");
getDoctorInfo(pager);
proxy.$loading.hide();
modalVisible.value=false;
}
}else{
modalCheckForm.iden_auth_status=3;
modalCheckVisible.value=true;
}
}
// 重置搜索
const handleResetQuery = () => {
proxy.$refs.queryFormRef.resetFields();
getDoctorInfo(queryForm);
}
onMounted(() => {
getDoctorInfo(pager);
handleHospitalList();
getDepartmentList();
handlExpertiseList();
});
</script>
<style lang="scss" scoped>
.action {
margin-bottom: 12px;
}
.hospital_name {
width: 160px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.headImg {
margin-right: 20px;
border-radius: 50%;
}
.arco-form-item-layout-horizontal:first-child,
.arco-form-item-layout-horizontal:nth-child(2) {
align-items: center;
}
.upload {
margin-left: 20px;
}
.eye {
margin-left: 20px;
cursor: pointer;
font-size: 18px;
}
.box {
display: flex;
align-items: center;
}
.cert .arco-form-item-label-col {
flex: 0 0 8px !important;
}
.red {
display: inline-block;
margin-right: 5px;
font-size: 14px;
color: red;
margin-top: 5px;
}
.cardNum{
width: 148px;
}
.codbox{
display: flex;
align-items: center;
}
</style>