医生管理
This commit is contained in:
parent
3b666aa539
commit
2c69c3dae5
@ -18,6 +18,7 @@
|
|||||||
"axios": "^1.4.0",
|
"axios": "^1.4.0",
|
||||||
"codemirror": "^6.0.1",
|
"codemirror": "^6.0.1",
|
||||||
"cropperjs": "^1.5.13",
|
"cropperjs": "^1.5.13",
|
||||||
|
"dayjs": "^1.11.9",
|
||||||
"i": "^0.3.7",
|
"i": "^0.3.7",
|
||||||
"js-cookie": "^3.0.5",
|
"js-cookie": "^3.0.5",
|
||||||
"npm": "^9.6.6",
|
"npm": "^9.6.6",
|
||||||
@ -29,11 +30,11 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@arco-design/web-vue": "^2.45.3",
|
"@arco-design/web-vue": "^2.45.3",
|
||||||
"@vitejs/plugin-vue": "^4.2.1",
|
"@vitejs/plugin-vue": "^4.2.1",
|
||||||
"unplugin-vue-components": "^0.24.1",
|
|
||||||
"eslint": "^8.40.0",
|
"eslint": "^8.40.0",
|
||||||
"eslint-plugin-vue": "^9.12.0",
|
"eslint-plugin-vue": "^9.12.0",
|
||||||
"mockjs": "^1.1.0",
|
"mockjs": "^1.1.0",
|
||||||
"sass": "^1.62.1",
|
"sass": "^1.62.1",
|
||||||
|
"unplugin-vue-components": "^0.24.1",
|
||||||
"vite": "^4.3.5",
|
"vite": "^4.3.5",
|
||||||
"vite-plugin-mock": "^3.0.0",
|
"vite-plugin-mock": "^3.0.0",
|
||||||
"vite-svg-loader": "^4.0.0"
|
"vite-svg-loader": "^4.0.0"
|
||||||
|
|||||||
@ -42,21 +42,28 @@ export function getDoctorDetail(id){
|
|||||||
}
|
}
|
||||||
export function departmentList(){ //获取科室列表
|
export function departmentList(){ //获取科室列表
|
||||||
return request({
|
return request({
|
||||||
url:'/admin/department/custom/list',
|
url:'/basic/department/custom/list',
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function decryptCard(user_id){
|
export function decryptCard(params){
|
||||||
return request({
|
return request({
|
||||||
url:'/decrypt/card/'+user_id,
|
url:'/decrypt/card/num',
|
||||||
method: 'get'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
export function hospitalList(params){ //获取医院地址列表
|
|
||||||
return request({
|
|
||||||
url:'/admin/hospital/list',
|
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params
|
params
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
export function hospitalList(params){ //获取医院地址列表
|
||||||
|
return request({
|
||||||
|
url:'/basic/hospital/list',
|
||||||
|
method: 'get',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export function expertiseList(){ //获取专长列表
|
||||||
|
return request({
|
||||||
|
url:'/basic/expertise/list',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
@ -1,4 +1,5 @@
|
|||||||
import request from '../utils/request'
|
import request from '../utils/request'
|
||||||
|
|
||||||
export function ossSign(params){
|
export function ossSign(params){
|
||||||
return request({
|
return request({
|
||||||
url:"/sign/oss",
|
url:"/sign/oss",
|
||||||
@ -11,7 +12,7 @@ export function ossUpload(url,data){
|
|||||||
url,
|
url,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data,
|
data,
|
||||||
header:{
|
headers:{
|
||||||
'Content-Type': 'multipart/form-data'
|
'Content-Type': 'multipart/form-data'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@ -92,7 +92,6 @@ watch(() => props.visible,(value) => {
|
|||||||
const handleConfirm = () => {
|
const handleConfirm = () => {
|
||||||
proxy.$refs.modalFormRef.validate((valid) => {
|
proxy.$refs.modalFormRef.validate((valid) => {
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
console.log(delType.value)
|
|
||||||
// Akiraka 20230210 请求接口
|
// Akiraka 20230210 请求接口
|
||||||
props.apiDelete({ [delType.value]: data.value }).then(response => {
|
props.apiDelete({ [delType.value]: data.value }).then(response => {
|
||||||
// Akiraka 20230210 关闭弹窗
|
// Akiraka 20230210 关闭弹窗
|
||||||
@ -102,8 +101,6 @@ const handleConfirm = () => {
|
|||||||
proxy.$notification.error(response.message);
|
proxy.$notification.error(response.message);
|
||||||
}
|
}
|
||||||
deleteVisible.value = false;
|
deleteVisible.value = false;
|
||||||
console.log(response)
|
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@ -1,22 +1,82 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-upload action="/" :auto-upload="false" accept="image/png, image/jpeg" @before-upload="beforeUpload" @change="onChange" :fileList="file ? [file] : []" :show-file-list="false"/>
|
<a-upload list-type="picture-card" @change="onChangeFile" accept="image/*" :file-list="fileList"
|
||||||
</template>
|
@before-upload="beforeUpload" @before-remove="beforeMove" action="/" :multiple="isMultiple" :auto-upload="false" image-preview />
|
||||||
<script setup>
|
</template>
|
||||||
import { ref,getCurrentInstance,} from 'vue';
|
<script setup>
|
||||||
const { proxy } = getCurrentInstance();
|
import { ref, getCurrentInstance,toRefs,watch} from 'vue';
|
||||||
const file = ref();
|
import { ossSign, ossUpload } from '@/api/oss';
|
||||||
const beforeUpload = (file) => {
|
import dayjs from 'dayjs'
|
||||||
return new Promise((resolve, reject) => {
|
const { proxy } = getCurrentInstance();
|
||||||
if(file.size>=10*1024*1024){
|
const props = defineProps({
|
||||||
proxy.$notification.error("图片大小不能超过10M");
|
// 数组名称
|
||||||
reject('cancel')
|
fileList: {
|
||||||
}else{
|
type: Array,
|
||||||
resolve(true)
|
},
|
||||||
}
|
dataType:{
|
||||||
|
type:String
|
||||||
|
},
|
||||||
|
isMultiple: {
|
||||||
|
type: Boolean,
|
||||||
|
default:false
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const {fileList,isMultiple,dataType} = toRefs(props);
|
||||||
|
const emits = defineEmits(['changeData']);
|
||||||
|
const beforeUpload = (file) => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
alert(isMultiple.value);
|
||||||
|
alert(fileList.value.length)
|
||||||
|
if(!isMultiple.value && fileList.value.length>=1){
|
||||||
|
proxy.$notification.error("只能上传一张图片");
|
||||||
|
reject('cancel')
|
||||||
|
}else if (file.size >= 10 * 1024 * 1024) {
|
||||||
|
proxy.$notification.error("图片大小不能超过10M");
|
||||||
|
reject('cancel')
|
||||||
|
} else {
|
||||||
|
resolve(true);
|
||||||
|
getOssSign(1,file);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const beforeMove=(file)=>{
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
console.log(file);
|
||||||
|
emits("changeData",{url:file.url,type:dataType.value,dealType:"remove"})
|
||||||
|
resolve(true)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//上传文件
|
||||||
|
const onChangeFile = (fileList) => {
|
||||||
|
|
||||||
|
// for (let i = 0; i < fileList.length; i++) {
|
||||||
|
// getOssSign(1, fileList[i].file);
|
||||||
|
// }
|
||||||
|
// //getOssSign(1, fileList[0].file);
|
||||||
|
// console.log(fileList)
|
||||||
|
};
|
||||||
|
//const emit = defineEmits(['fileList'])
|
||||||
|
//获取oss签名
|
||||||
|
const getOssSign = async (scene, File) => {
|
||||||
|
const { data, code, message } = await ossSign({
|
||||||
|
user_type: 4,
|
||||||
|
scene,
|
||||||
|
});
|
||||||
|
if (code == 200) {
|
||||||
|
let { access_id, dir, policy, signature, host } = data;
|
||||||
|
let filename = File.name;
|
||||||
|
let time = dayjs().format("YYYYMMDDHHmmss")
|
||||||
|
let formData = new FormData();
|
||||||
|
formData.append('OSSAccessKeyId', access_id);
|
||||||
|
formData.append('policy', policy);
|
||||||
|
formData.append('signature', signature);
|
||||||
|
formData.append('key', dir + time + filename);
|
||||||
|
formData.append('file', File, filename);
|
||||||
|
ossUpload(host, formData).then((res) => {
|
||||||
|
emits("changeData",{url:host+"/"+ dir + time + filename,type:dataType.value,dealType:"add"})
|
||||||
});
|
});
|
||||||
};
|
|
||||||
const onChange = (_, currentFile) => {
|
|
||||||
console.log(currentFile);
|
|
||||||
|
|
||||||
};
|
} else {
|
||||||
</script>
|
proxy.$notification.error(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@ -6,7 +6,7 @@ export default {
|
|||||||
const { value } = binding;
|
const { value } = binding;
|
||||||
const permissions = store.buttonPermissions;
|
const permissions = store.buttonPermissions;
|
||||||
const all_permission = '*'
|
const all_permission = '*'
|
||||||
if (typeof value === 'string') {
|
if (typeof value === 'string' && permissions && permissions.length>0) {
|
||||||
const hasPermission = permissions.some((permission) => {
|
const hasPermission = permissions.some((permission) => {
|
||||||
return all_permission==permission || value === permission;
|
return all_permission==permission || value === permission;
|
||||||
})
|
})
|
||||||
|
|||||||
@ -8,7 +8,7 @@ const service = axios.create({
|
|||||||
baseURL:import.meta.env.VITE_BASE_URL,
|
baseURL:import.meta.env.VITE_BASE_URL,
|
||||||
timeout: 8000,
|
timeout: 8000,
|
||||||
headers:{
|
headers:{
|
||||||
'Content-Type':'application/x-www-form-urlencoded',
|
'Content-Type':'application/json',
|
||||||
'Authorization':''
|
'Authorization':''
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -21,7 +21,7 @@ service.interceptors.request.use(
|
|||||||
// 设置请求头部 Authorization
|
// 设置请求头部 Authorization
|
||||||
if (store.token) {
|
if (store.token) {
|
||||||
config.headers['Authorization'] = 'Bearer ' + store.token;
|
config.headers['Authorization'] = 'Bearer ' + store.token;
|
||||||
config.headers['Content-Type'] = 'application/json'
|
//config.headers['Content-Type'] = 'multipart/form-data'
|
||||||
}
|
}
|
||||||
return config;
|
return config;
|
||||||
},
|
},
|
||||||
|
|||||||
@ -108,7 +108,7 @@
|
|||||||
:check-strictly="false"
|
:check-strictly="false"
|
||||||
:data="treeData"
|
:data="treeData"
|
||||||
ref="tree"
|
ref="tree"
|
||||||
checked-strategy="child"
|
checked-strategy="all"
|
||||||
@check="checkTree"
|
@check="checkTree"
|
||||||
:only-check-leaf="true"
|
:only-check-leaf="true"
|
||||||
:default-expand-all="true"
|
:default-expand-all="true"
|
||||||
@ -155,7 +155,8 @@
|
|||||||
ref,
|
ref,
|
||||||
getCurrentInstance,
|
getCurrentInstance,
|
||||||
nextTick,
|
nextTick,
|
||||||
watch
|
watch,
|
||||||
|
shallowRef
|
||||||
} from 'vue';
|
} from 'vue';
|
||||||
import {
|
import {
|
||||||
getRole,
|
getRole,
|
||||||
@ -204,6 +205,7 @@
|
|||||||
sort: 0,
|
sort: 0,
|
||||||
role_status: '',
|
role_status: '',
|
||||||
is_admin: '',
|
is_admin: '',
|
||||||
|
menu_ids:[]
|
||||||
});
|
});
|
||||||
const scopeForm = reactive({});
|
const scopeForm = reactive({});
|
||||||
|
|
||||||
@ -314,8 +316,7 @@
|
|||||||
const tree=ref(null);
|
const tree=ref(null);
|
||||||
const checkTree=(checkedKeys,data)=>{
|
const checkTree=(checkedKeys,data)=>{
|
||||||
allCheckKeys.value=checkedKeys.concat(data.halfCheckedKeys);
|
allCheckKeys.value=checkedKeys.concat(data.halfCheckedKeys);
|
||||||
console.log(checkedKeys);
|
console.log(allCheckKeys.value);
|
||||||
console.log(data);
|
|
||||||
// if(data.checked){
|
// if(data.checked){
|
||||||
// console.log(data.node.parent_id)
|
// console.log(data.node.parent_id)
|
||||||
// tree.value.selectNode(data.node.parent_id,true);
|
// tree.value.selectNode(data.node.parent_id,true);
|
||||||
@ -345,6 +346,7 @@
|
|||||||
const { code, data, message } = await roleDetail(record.role_id);
|
const { code, data, message } = await roleDetail(record.role_id);
|
||||||
if (code == 200) {
|
if (code == 200) {
|
||||||
Object.assign(modalForm, data);
|
Object.assign(modalForm, data);
|
||||||
|
allCheckKeys.value=data.menu_ids;
|
||||||
//过滤掉父级节点
|
//过滤掉父级节点
|
||||||
const res2 = data.menu_ids.filter(item1 => !allParentId.some(item2 => item2 === item1))
|
const res2 = data.menu_ids.filter(item1 => !allParentId.some(item2 => item2 === item1))
|
||||||
checkedKeys.value = res2;
|
checkedKeys.value = res2;
|
||||||
@ -413,8 +415,7 @@
|
|||||||
proxy.$refs.modalFormRef.validate(async (valid) => {
|
proxy.$refs.modalFormRef.validate(async (valid) => {
|
||||||
// 如果 valid 为空则数据校验通过
|
// 如果 valid 为空则数据校验通过
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
console.log(checkedKeys.value);
|
modalForm.menu_ids= allCheckKeys.value;
|
||||||
modalForm.menu_ids = allCheckKeys.value;
|
|
||||||
let res;
|
let res;
|
||||||
if (modalForm.role_id) {
|
if (modalForm.role_id) {
|
||||||
const {
|
const {
|
||||||
|
|||||||
@ -87,7 +87,7 @@
|
|||||||
<div>{{(rowIndex+1)+(pager.page-1)*10}}</div>
|
<div>{{(rowIndex+1)+(pager.page-1)*10}}</div>
|
||||||
</template>
|
</template>
|
||||||
<template #role_name="{ record }">
|
<template #role_name="{ record }">
|
||||||
{{ record.role.role_name}}
|
{{ record.role_name?.role_name}}
|
||||||
</template>
|
</template>
|
||||||
<template #dept_name="{ record }">
|
<template #dept_name="{ record }">
|
||||||
{{ record.dept?.dept_name }}
|
{{ record.dept?.dept_name }}
|
||||||
@ -609,7 +609,8 @@ function useModalOperate() {
|
|||||||
const modalTitle = ref('默认标题');
|
const modalTitle = ref('默认标题');
|
||||||
|
|
||||||
// Form
|
// Form
|
||||||
const modalForm = reactive({ status: null });
|
const modalForm = reactive({ status: null,role:{},post:{},dept:{}
|
||||||
|
});
|
||||||
|
|
||||||
// AddRules
|
// AddRules
|
||||||
const rules = {
|
const rules = {
|
||||||
|
|||||||
@ -91,7 +91,7 @@
|
|||||||
<template #action="{ record }">
|
<template #action="{ record }">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-button v-has="'admin:sysDoctor:detail'" type="text"
|
<a-button v-has="'admin:sysDoctor:detail'" type="text"
|
||||||
@click="handleDetail(record)"><icon-edit />详情</a-button>
|
@click="handleDetail(record)"><icon-book />详情</a-button>
|
||||||
<a-button v-has="'admin:sysDoctor:edit'" type="text" @click="handleUpdate(record)"><icon-edit /> 修改</a-button>
|
<a-button v-has="'admin:sysDoctor:edit'" type="text" @click="handleUpdate(record)"><icon-edit /> 修改</a-button>
|
||||||
<a-button v-has="'admin:sysDoctor:remove'" type="text"
|
<a-button v-has="'admin:sysDoctor:remove'" type="text"
|
||||||
@click="() => { deleteVisible = true; deleteData = [record.doctor_id]; }"><icon-delete /> 删除</a-button>
|
@click="() => { deleteVisible = true; deleteData = [record.doctor_id]; }"><icon-delete /> 删除</a-button>
|
||||||
@ -108,38 +108,50 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-form :model="modalForm" :disabled="modalSatus=='detail'" :rules="rules" ref="modalFormRef"
|
<a-form :model="modalForm" :disabled="modalSatus=='detail'" :rules="rules" ref="modalFormRef"
|
||||||
:auto-label-width="true">
|
:auto-label-width="true">
|
||||||
<a-form-item field="avatar" label="医生头像:">
|
<a-row :gutter="24">
|
||||||
<a-space size="large">
|
<a-col :span="12">
|
||||||
<a-avatar :size="80" :imageUrl="modalForm.avatar">
|
<a-form-item field="avatar" label="医生头像:">
|
||||||
</a-avatar>
|
<a-space size="large">
|
||||||
</a-space>
|
<a-avatar :size="80" :imageUrl="modalForm.avatar">
|
||||||
<a-upload action="/" :fileList="file ? [file] : []" class="upload" :auto-upload="false" @change="onChangeFile"
|
</a-avatar>
|
||||||
accept="image/png, image/jpeg" @before-upload="beforeUpload" :show-file-list="false"
|
</a-space>
|
||||||
v-if="modalSatus!='detail'" />
|
<a-upload action="/" :fileList="file ? [file] : []" class="upload" :auto-upload="false"
|
||||||
</a-form-item>
|
@change="onChangeFile" accept="image/*" @before-upload="beforeUpload" :show-file-list="false"
|
||||||
|
v-if="modalSatus!='detail'" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="12" v-if="modalSatus=='add'">
|
||||||
|
<a-form-item field="user.mobile" label="联系电话:">
|
||||||
|
<a-input v-model="modalForm.user.mobile" placeholder="请输入联系电话" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item field="user_name" label="医生名字:">
|
<a-form-item field="user_name" label="医生名字:">
|
||||||
{{modalForm.user_name}}
|
<a-input v-model="modalForm.user_name" placeholder="请输入医生名字" :disabled="modalSatus=='edit'"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item field="idCard" label="身份证号:">
|
<a-form-item field="card_num" label="身份证号:" v-if="modalSatus=='add'">
|
||||||
<div class="box" v-show="!showEye">
|
<a-input v-model="modalForm.card_num" placeholder="请输入身份证号" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item field="idCard" label="身份证号:" v-else>
|
||||||
|
<div class="box" v-show="!showEye && modalSatus!='add'">
|
||||||
<div>{{modalForm.user_doctor_info.card_num_mask}}</div>
|
<div>{{modalForm.user_doctor_info.card_num_mask}}</div>
|
||||||
<icon-eye-invisible class="eye" @click="()=>{showEye=true}" />
|
<icon-eye-invisible class="eye" @click="()=>{showEye=true}" />
|
||||||
</div>
|
</div>
|
||||||
<div class="box" v-show="showEye">
|
<div class="box" v-show="showEye && modalSatus!='add'">
|
||||||
<div>{{id_card_num}}</div>
|
<div>{{id_card_num}}</div>
|
||||||
<icon-eye class="eye" @click="()=>{showEye=false}" />
|
<icon-eye class="eye" @click="()=>{showEye=false}" />
|
||||||
</div>
|
</div>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24" v-if="modalSatus!='add'">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item field="mobile" label="联系电话:">
|
<a-form-item field="user.mobile" label="联系电话:">
|
||||||
{{modalForm.user.mobile}}
|
<a-input v-model="modalForm.user.mobile" placeholder="请输入联系电话" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
@ -151,23 +163,28 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item field="address" label="医院地址:">
|
<a-form-item field="hospital.address" label="医院地址:">
|
||||||
<a-input v-model="modalForm.hospital.address" placeholder="请输入医院地址" />
|
<a-input v-model="modalForm.hospital.address" placeholder="请输入医院地址" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item field="hospital_name" label="医院名称:">
|
<a-form-item field="hospital.hospital_name" label="医院名称:">
|
||||||
<a-input v-model="modalForm.hospital.hospital_name" placeholder="请输入医院名称" />
|
<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-input v-model="modalForm.hospital.hospital_name" placeholder="请输入医院名称" /> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item field="department_custom_id" label="所在科室:">
|
<a-form-item field="department_custom_id" label="所在科室:">
|
||||||
<a-select placeholder="请选择所在科室" v-model="modalForm.department_custom_id">
|
<a-select placeholder="请选择所在科室" v-model="modalForm.department_custom_id" @change="changeSelect">
|
||||||
<a-option v-for="item in departmentData" :key="item.department_custom_id"
|
<a-option v-for="item in departmentData" :key="item.department_custom_id"
|
||||||
:value="item.department_custom_id"
|
:value="item.department_custom_id" :label="item.department_custom_name">
|
||||||
:label="item.department_custom_name">{{item.department_custom_name}}</a-option>
|
{{item.department_custom_name}}
|
||||||
|
</a-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -181,7 +198,11 @@
|
|||||||
<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-input v-model="doctor_title_name" placeholder="请输入职称" />
|
<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-input v-model="doctor_title_name" placeholder="请输入职称" /> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
@ -200,30 +221,33 @@
|
|||||||
</a-row> -->
|
</a-row> -->
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item field="qualification_cert_num" label="资格证编码:">
|
<a-form-item field="user_doctor_info.qualification_cert_num" label="资格证编码:">
|
||||||
<a-input v-model="modalForm.user_doctor_info.qualification_cert_num" placeholder="请输入部门名称" />
|
<a-input v-model="modalForm.user_doctor_info.qualification_cert_num" placeholder="请输入资格证编码" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item field="user_name" label="专长:">
|
<a-form-item field="cur_doctor_expertise" label="专长:">
|
||||||
<a-textarea v-model="modalForm.remark" placeholder="请输入备注内容" />
|
<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-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item field="be_good_at" label="擅长信息:">
|
<a-form-item field="be_good_at" label="擅长信息:">
|
||||||
<a-textarea v-model="modalForm.be_good_at" placeholder="请输入备注内容" />
|
<a-textarea v-model="modalForm.be_good_at" placeholder="请填写医生擅长信息。内容为医生专业领域、擅长疾病、研究方法等信息(字数在10-1000字)" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item field="brief_introduction" label="个人简介:">
|
<a-form-item field="brief_introduction" label="个人简介:">
|
||||||
<a-textarea v-model="modalForm.brief_introduction" placeholder="请输入备注内容" />
|
<a-textarea v-model="modalForm.brief_introduction" placeholder="请填写医生从业经历,职称和所获荣誉等信息(字数在10-1000字)" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@ -233,135 +257,193 @@
|
|||||||
<div class="name">是否推荐</div>
|
<div class="name">是否推荐</div>
|
||||||
</div>
|
</div>
|
||||||
<a-row :gutter="24" style="margin-top: 35px;">
|
<a-row :gutter="24" style="margin-top: 35px;">
|
||||||
<a-col :span="4">
|
<a-col :span="12">
|
||||||
<a-form-item field="" label="状态:">
|
<a-form-item field="is_recommend" label="状态:">
|
||||||
<a-space size="large">
|
<a-space size="large">
|
||||||
<a-switch checked-color="#14C9C9" :checked-value="1" :unchecked-value="0"
|
<a-switch checked-color="#14C9C9" :checked-value="1" :unchecked-value="0"
|
||||||
v-model="modalForm.is_recommend" style="cursor: not-allowed!important;" />
|
v-model="modalForm.is_recommend" />
|
||||||
</a-space>
|
</a-space>
|
||||||
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="20" v-if="modalForm.is_recommend==1">
|
<a-col :span="12" v-if="modalForm.is_recommend==1">
|
||||||
<div>理由:平台合作</div>
|
<div>理由:平台合作</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-divider />
|
<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="titlebox">
|
||||||
<div class="bar"></div>
|
<div class="bar"></div>
|
||||||
<div class="name">医师证件</div>
|
<div class="name">医师证件</div>
|
||||||
</div>
|
</div>
|
||||||
<a-row :gutter="24" style="margin-top: 35px;"
|
<a-row :gutter="24" style="margin-top: 35px;"
|
||||||
v-if="modalForm.user_doctor_info.license_cert && modalForm.user_doctor_info.license_cert.length>0">
|
v-if="(modalForm.user_doctor_info.license_cert && modalForm.user_doctor_info.license_cert.length>0) || modalSatus!='detail'">
|
||||||
<a-col :span="24">
|
|
||||||
<a-form-item field="" label="" no-style>
|
|
||||||
<div class="titletip">医师执业证<span>(点击图片查看大图)</span></div>
|
|
||||||
<a-image-preview-group infinite>
|
|
||||||
<a-space>
|
|
||||||
<a-image v-for="item in modalForm.user_doctor_info.license_cert" show-loader :src="item" />
|
|
||||||
|
|
||||||
|
<a-col :span="24">
|
||||||
|
<div class="titletip"><span class="arco-form-item-label-required-symbol">*</span>医师执业证<span>(点击图片查看大图)</span></div>
|
||||||
|
<a-form-item field="license_cert" :hide-label="true" :validate-trigger="['change']" >
|
||||||
|
<a-image-preview-group infinite>
|
||||||
|
<a-space v-show="modalSatus=='detail'">
|
||||||
|
<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-space>
|
||||||
</a-image-preview-group>
|
</a-image-preview-group>
|
||||||
|
<upload v-show="modalSatus!='detail'" :isMultiple="true" :fileList="license_cert_list"
|
||||||
|
:dataType="'license_cert_list'" @changeData="changeData"></upload>
|
||||||
|
<!-- <a-upload v-show="modalSatus!='detail'" list-type="picture-card" @change="onChangeFile" accept="image/*"
|
||||||
|
:file-list="license_cert_list" @before-upload="beforeUpload" action="/" :auto-upload="false"
|
||||||
|
image-preview /> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24" style="margin-top: 35px;"
|
<a-row :gutter="24" style="margin-top: 35px;"
|
||||||
v-if="modalForm.user_doctor_info.qualification_cert && modalForm.user_doctor_info.qualification_cert.length>0">
|
v-if="(modalForm.user_doctor_info.qualification_cert && modalForm.user_doctor_info.qualification_cert.length>0) || modalSatus!='detail'">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item field="" label="" no-style>
|
<div class="titletip"><span class="arco-form-item-label-required-symbol">*</span>医师资格证<span>(点击图片查看大图)</span></div>
|
||||||
<div class="titletip">医师资格证<span>(点击图片查看大图)</span></div>
|
<a-form-item field="qualification_cert" label="" :hide-label="true" >
|
||||||
<a-image-preview-group infinite>
|
<a-image-preview-group infinite>
|
||||||
<a-space>
|
<a-space v-show="modalSatus=='detail'">
|
||||||
<a-image v-for="item in modalForm.user_doctor_info.license_cert" show-loader :src="item" />
|
<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-space>
|
||||||
</a-image-preview-group>
|
</a-image-preview-group>
|
||||||
|
<upload v-show="modalSatus!='detail'" :isMultiple="true" :fileList="qualification_cert_list"
|
||||||
|
:dataType="'qualification_cert_list'" @changeData="changeData"></upload>
|
||||||
|
<!-- <a-upload v-show="modalSatus!='detail'" list-type="picture-card" :auto-upload="false"
|
||||||
|
@change="onChangeFile" accept="image/*" :file-list="qualification_cert_list"
|
||||||
|
@before-upload="beforeUpload" action="/" image-preview /> -->
|
||||||
|
</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) || modalSatus!='detail'">
|
||||||
|
<a-col :span="24">
|
||||||
|
<div class="titletip"><span class="arco-form-item-label-required-symbol">*</span>医师职称证<span>(点击图片查看大图)</span></div>
|
||||||
|
<a-form-item field="work_cert" label="" :hide-label="true" >
|
||||||
|
<a-image-preview-group infinite>
|
||||||
|
<a-space v-show="modalSatus=='detail'">
|
||||||
|
<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>
|
||||||
|
<upload v-show="modalSatus!='detail'" :isMultiple="true" :fileList="work_cert_list"
|
||||||
|
:dataType="'work_cert_list'" @changeData="changeData"></upload>
|
||||||
|
<!-- <a-upload v-show="modalSatus!='detail'" list-type="picture-card" :auto-upload="false"
|
||||||
|
@change="onChangeFile" accept="image/*" :file-list="work_cert_list"
|
||||||
|
@before-upload="beforeUpload('avatar')" action="/" image-preview /> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24" style="margin-top: 35px;"
|
<a-row :gutter="24" style="margin-top: 35px;"
|
||||||
v-if="modalForm.user_doctor_info.work_cert && modalForm.user_doctor_info.work_cert.length>0">
|
v-if="modalForm.user_doctor_info.id_card_front || modalSatus!='detail' ">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item field="" label="" no-style>
|
<div class="titletip">医师身份证正面<span>(点击图片查看大图)</span></div>
|
||||||
<div class="titletip">医师职称证<span>(点击图片查看大图)</span></div>
|
<a-form-item field="id_card_front" label="" no-style>
|
||||||
<a-image-preview-group infinite>
|
<a-image-preview-group infinite>
|
||||||
<a-space>
|
<a-space v-show="modalSatus=='detail'">
|
||||||
<a-image v-for="item in modalForm.user_doctor_info.work_cert" show-loader :src="item" />
|
<a-image width="120" height="120" fit="cover" show-loader
|
||||||
|
:src="modalForm.user_doctor_info.id_card_front" />
|
||||||
</a-space>
|
</a-space>
|
||||||
</a-image-preview-group>
|
</a-image-preview-group>
|
||||||
|
<upload v-show="modalSatus!='detail'" :isMultiple="false" :fileList="id_card_front_list"
|
||||||
|
:dataType="'id_card_front_list'" @changeData="changeData"></upload>
|
||||||
|
<!-- <a-upload v-show="modalSatus!='detail'" :file-list="id_card_front_list" list-type="picture-card"
|
||||||
|
action="/" :auto-upload="false" image-preview /> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24" style="margin-top: 35px;"
|
<a-row :gutter="24" style="margin-top: 35px;"
|
||||||
v-if="modalForm.user_doctor_info.id_card_front || modalForm.user_doctor_info.id_card_back ">
|
v-if="modalForm.user_doctor_info.id_card_back || modalSatus!='detail' ">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item field="" label="" no-style>
|
<a-form-item field="id_card_back" label="" no-style>
|
||||||
<div class="titletip">医师身份证<span>(点击图片查看大图)</span></div>
|
<div class="titletip">医师身份证反面<span>(点击图片查看大图)</span></div>
|
||||||
<a-image-preview-group infinite>
|
<a-image-preview-group infinite>
|
||||||
<a-space>
|
<a-space v-show="modalSatus=='detail'">
|
||||||
<a-image
|
<a-image width="120" height="120" fit="cover" show-loader
|
||||||
v-for="item in [modalForm.user_doctor_info.id_card_front,modalForm.user_doctor_info.id_card_back]"
|
:src="modalForm.user_doctor_info.id_card_back" />
|
||||||
show-loader :src="item" v-show="item" />
|
|
||||||
</a-space>
|
</a-space>
|
||||||
</a-image-preview-group>
|
</a-image-preview-group>
|
||||||
|
<upload v-show="modalSatus!='detail'" :isMultiple="false" :fileList="id_card_back_list"
|
||||||
|
:dataType="'id_card_back_list'" @changeData="changeData"></upload>
|
||||||
|
<!-- <a-upload v-show="modalSatus!='detail'" :file-list="id_card_back_list" list-type="picture-card" action="/"
|
||||||
|
:auto-upload="false" image-preview /> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24" style="margin-top: 35px;" v-if="modalForm.user_doctor_info.sign_image">
|
<a-row :gutter="24" style="margin-top: 35px;"
|
||||||
|
v-if="modalForm.user_doctor_info.sign_image || modalSatus!='detail'">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item field="" label="" no-style>
|
<a-form-item field="sign_image" label="" no-style>
|
||||||
<div class="titletip">医师手写签名<span>(点击图片查看大图)</span></div>
|
<div class="titletip">医师手写签名<span>(点击图片查看大图)</span></div>
|
||||||
<a-image-preview-group infinite>
|
|
||||||
<a-space>
|
|
||||||
<a-image v-for="item in [modalForm.user_doctor_info.sign_image]" show-loader :src="item"
|
|
||||||
v-show="item" />
|
|
||||||
|
|
||||||
|
<a-image-preview-group infinite>
|
||||||
|
<a-space v-show="modalSatus=='detail'">
|
||||||
|
<a-image width="120" height="120" fit="cover" show-loader
|
||||||
|
:src="modalForm.user_doctor_info.sign_image" />
|
||||||
</a-space>
|
</a-space>
|
||||||
</a-image-preview-group>
|
</a-image-preview-group>
|
||||||
|
<upload v-show="modalSatus!='detail'" :isMultiple="false" :fileList="sign_image_list"
|
||||||
|
:dataType="'sign_image_list'" @changeData="changeData"></upload>
|
||||||
|
<!-- <a-upload v-show="modalSatus!='detail'" :file-list="sign_image_list" list-type="picture-card" action="/"
|
||||||
|
:auto-upload="false" image-preview /> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<!-- <a-row :gutter="24" style="margin-top: 35px;">
|
<a-row :gutter="24" style="margin-top: 35px;" v-if="modalForm.qr_code && modalSatus!='add'">
|
||||||
<a-col :span="24">
|
|
||||||
<a-form-item field="" label="" no-style>
|
|
||||||
<div class="titletip">医师云证书<span>(点击图片查看大图)</span></div>
|
|
||||||
<a-image-preview-group infinite>
|
|
||||||
<a-space>
|
|
||||||
<a-image show-loader src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/cd7a1aaea8e1c5e3d26fe2591e561798.png~tplv-uwbnlip3yd-webp.webp" width="200" />
|
|
||||||
<a-image show-loader src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/6480dbc69be1b5de95010289787d64f1.png~tplv-uwbnlip3yd-webp.webp" width="200" />
|
|
||||||
<a-image show-loader src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/0265a04fddbd77a19602a15d9d55d797.png~tplv-uwbnlip3yd-webp.webp" width="200" />
|
|
||||||
<a-image show-loader src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/24e0dd27418d2291b65db1b21aa62254.png~tplv-uwbnlip3yd-webp.webp" width="200" />
|
|
||||||
</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-col :span="24">
|
||||||
<a-form-item field="" label="" no-style>
|
<a-form-item field="qr_code" label="" no-style>
|
||||||
<div class="titletip">医师二维码<span>(点击图片查看大图)</span></div>
|
<div class="titletip">医师二维码<span>(点击图片查看大图)</span></div>
|
||||||
<a-image-preview-group infinite>
|
<a-image-preview-group infinite>
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-image v-for="item in [modalForm.qr_code]" show-loader :src="item" v-show="item" width="200" />
|
<a-image width="120" height="120" fit="cover" show-loader :src="modalForm.qr_code" />
|
||||||
</a-space>
|
</a-space>
|
||||||
</a-image-preview-group>
|
</a-image-preview-group>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-divider />
|
<a-divider v-show="modalSatus!='detail'" />
|
||||||
</a-form>
|
</a-form>
|
||||||
<div class="titlebox">
|
<div class="titlebox" v-if="modalSatus!='detail'">
|
||||||
<div class="bar"></div>
|
<div class="bar"></div>
|
||||||
<div class="name">操作</div>
|
<div class="name">操作</div>
|
||||||
</div>
|
</div>
|
||||||
<a-row :gutter="24" style="margin-top: 35px;">
|
<a-row :gutter="24" style="margin-top: 35px;" v-if="modalSatus!='detail'">
|
||||||
<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 v-if="modalSatus!='detail'" style="margin-right: 8px;">
|
||||||
<a-button type="primary" status="success" v-if="modalSatus=='detail'">启用</a-button>
|
<a-button type="primary" @click="handleSubmit">保存</a-button>
|
||||||
<a-button type="primary" status="danger" v-if="modalSatus=='detail'">禁用</a-button>
|
</a-space>
|
||||||
<a-button type="primary" v-if="modalSatus=='edit'">保存</a-button>
|
<!-- <a-space v-if="modalSatus=='detail'">
|
||||||
|
<a-button type="primary" status="success">启用</a-button>
|
||||||
|
<a-button type="primary" status="danger">禁用</a-button>
|
||||||
|
</a-space> -->
|
||||||
|
<a-space v-if="modalSatus=='edit'">
|
||||||
|
<a-button type="primary" @click="handleSubmit">保存</a-button>
|
||||||
<a-button type="primary" status="warning">拉黑</a-button>
|
<a-button type="primary" status="warning">拉黑</a-button>
|
||||||
<a-button type="primary" status="danger" v-if="modalSatus=='edit'">删除</a-button>
|
<a-button type="primary" status="danger">删除</a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@ -377,8 +459,9 @@
|
|||||||
|
|
||||||
<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, addDoctor, removeDoctor, updateDoctor, getDoctorDetail, departmentList, decryptCard, hospitalList } from '@/api/doctor/list';
|
import { getDoctorList, addDoctor, removeDoctor, updateDoctor, getDoctorDetail, departmentList, decryptCard, hospitalList,expertiseList} from '@/api/doctor/list';
|
||||||
import { ossSign, ossUpload } from '@/api/oss';
|
import { ossSign, ossUpload } from '@/api/oss';
|
||||||
|
import dayjs from 'dayjs'
|
||||||
// Akiraka 20230210 删除数据
|
// Akiraka 20230210 删除数据
|
||||||
const deleteData = ref([])
|
const deleteData = ref([])
|
||||||
// Akiraka 20230210 删除对话框
|
// Akiraka 20230210 删除对话框
|
||||||
@ -389,7 +472,7 @@
|
|||||||
getDoctorInfo(pager);
|
getDoctorInfo(pager);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const file = ref();
|
const file = ref();
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
|
|
||||||
@ -406,30 +489,243 @@
|
|||||||
});
|
});
|
||||||
const modalForm = reactive({
|
const modalForm = reactive({
|
||||||
hospital: {},
|
hospital: {},
|
||||||
user_doctor_info: {},
|
user_doctor_info: {
|
||||||
|
|
||||||
|
},
|
||||||
user: {},
|
user: {},
|
||||||
doctor_id: '',
|
doctor_id: '',
|
||||||
|
license_cert: [],
|
||||||
|
qualification_cert: [],
|
||||||
|
work_cert: [],
|
||||||
|
department_custom_name:'',
|
||||||
user_id: '',
|
user_id: '',
|
||||||
status: 1,
|
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'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//const doctor_expertise=ref([]);
|
||||||
|
//证书计算
|
||||||
|
const transArr = (arr) => {
|
||||||
|
let newArr = [];
|
||||||
|
if (arr instanceof Array) {
|
||||||
|
arr.forEach((item) => {
|
||||||
|
newArr.push({ url: item })
|
||||||
|
});
|
||||||
|
} else if (typeof arr == "string") {
|
||||||
|
newArr.push({ url: arr })
|
||||||
|
}
|
||||||
|
return newArr
|
||||||
|
};
|
||||||
|
|
||||||
|
const changeData = (value) => {
|
||||||
|
switch (value.type) {
|
||||||
|
case 'license_cert_list':
|
||||||
|
if (value.dealType == "add") {
|
||||||
|
license_cert_list.value.push({
|
||||||
|
url: value.url
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
license_cert_list.value.splice(license_cert_list.value.findIndex(item => item.url === value.url), 1)
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'qualification_cert_list':
|
||||||
|
if (value.dealType == "add") {
|
||||||
|
qualification_cert_list.value.push({
|
||||||
|
url: value.url
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
qualification_cert_list.value.splice(qualification_cert_list.value.findIndex(item => item.url === value.url), 1)
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'work_cert_list':
|
||||||
|
if (value.dealType == "add") {
|
||||||
|
work_cert_list.value.push({
|
||||||
|
url: value.url
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
work_cert_list.value.splice(work_cert_list.value.findIndex(item => item.url === value.url), 1)
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'id_card_front_list':
|
||||||
|
if(value.dealType == "add") {
|
||||||
|
id_card_front_list.value.push({
|
||||||
|
url: value.url
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
id_card_front_list.value.splice(id_card_front_list.value.findIndex(item => item.url === value.url), 1)
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'id_card_back_list':
|
||||||
|
if(value.dealType == "add") {
|
||||||
|
id_card_back_list.value.push({
|
||||||
|
url: value.url
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
id_card_back_list.value.splice(id_card_back_list.value.findIndex(item => item.url === value.url), 1)
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'sign_image_list':
|
||||||
|
if(value.dealType == "add") {
|
||||||
|
sign_image_list.value.push({
|
||||||
|
url: value.url
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
sign_image_list.value.splice(sign_image_list.value.findIndex(item => item.url === value.url), 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// console.log(value);
|
||||||
|
// console.log([`${value.type}.value`]);
|
||||||
|
|
||||||
|
//[value.type].value=[value.type].value.concat([{url:value.url}]);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
const license_cert_list = ref([]);
|
||||||
|
const qualification_cert_list = ref([]);
|
||||||
|
const work_cert_list = ref([]);
|
||||||
|
const id_card_front_list = ref([]);
|
||||||
|
const id_card_back_list = ref([]);
|
||||||
|
const sign_image_list = ref([]);
|
||||||
watch(() => modalForm.user_id, (value) => {
|
watch(() => modalForm.user_id, (value) => {
|
||||||
if (value) {
|
if (value) {
|
||||||
handelDecryptCard(value);
|
handelDecryptCard(value);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
const doctor_title_name = computed(() => {
|
watch(() => license_cert_list.value, (value) => {
|
||||||
let obj = { 1: '主任医师', 2: '主任中医师', 3: '副主任医师', 4: '副主任中医师', 5: '主治医师', 6: '住院医师' };
|
let arr=[]
|
||||||
return obj[modalForm.doctor_title]
|
value.forEach((item)=>{
|
||||||
|
arr.push(item.url)
|
||||||
|
});
|
||||||
|
modalForm.license_cert=arr;
|
||||||
|
|
||||||
|
},{deep: true});
|
||||||
|
watch(() => qualification_cert_list.value, (value) => {
|
||||||
|
let arr=[]
|
||||||
|
value.forEach((item)=>{
|
||||||
|
arr.push(item.url)
|
||||||
|
});
|
||||||
|
modalForm.qualification_cert=arr;
|
||||||
|
},{deep: true });
|
||||||
|
|
||||||
})
|
watch(() => work_cert_list.value, (value) => {
|
||||||
|
let arr=[]
|
||||||
|
value.forEach((item)=>{
|
||||||
|
arr.push(item.url)
|
||||||
|
});
|
||||||
|
modalForm.work_cert=arr;
|
||||||
|
},{deep: true});
|
||||||
|
|
||||||
|
watch(() =>id_card_front_list.value, (value) => {
|
||||||
|
if(value.length>0){
|
||||||
|
modalForm.id_card_front=value[0].url;
|
||||||
|
}else{
|
||||||
|
modalForm.id_card_front=''
|
||||||
|
}
|
||||||
|
},{deep: true});
|
||||||
|
watch(() =>id_card_back_list.value, (value) => {
|
||||||
|
value.length>0? modalForm.id_card_back=value[0].url:modalForm.id_card_back=''
|
||||||
|
},{deep: true});
|
||||||
|
watch(() =>sign_image_list.value, (value) => {
|
||||||
|
if(value.length>0){
|
||||||
|
modalForm.sign_image=value[0].url;
|
||||||
|
}else{
|
||||||
|
modalForm.sign_image=''
|
||||||
|
}
|
||||||
|
},{deep: true});
|
||||||
// Rules
|
// Rules
|
||||||
const rules = {
|
const rules = {
|
||||||
user_name: [{ required: true, message: '请输入医生名字' }]
|
avatar: [{ required: true, message: '请上传医生头像' }],
|
||||||
|
user_name: [
|
||||||
|
{ required: true, message: '请输入医生名字' },
|
||||||
|
{
|
||||||
|
validator: (value, cb) => {
|
||||||
|
let reg=/^([\u4e00-\u9fa5\·]{2,10})$/;
|
||||||
|
if (!reg.test(value)) {
|
||||||
|
cb('姓名要求在2-10个汉字');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
card_num: [
|
||||||
|
{ required: true, message: '请输入身份证号' },
|
||||||
|
{
|
||||||
|
validator: (value, cb) => {
|
||||||
|
let reg=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
|
||||||
|
if (!reg.test(value)) {
|
||||||
|
cb('身份证号码格式不正确');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'user.mobile': [
|
||||||
|
{ required: true, message: '请输入手机号' },
|
||||||
|
{
|
||||||
|
validator: (value, cb) => {
|
||||||
|
let reg=/^1[3456789]\d{9}$/;
|
||||||
|
if (!reg.test(value)) {
|
||||||
|
cb('手机号码格式不正确');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
'hospital.address': [{ required: true, message: '请输入医院地址' }],
|
||||||
|
'hospital.hospital_name': [{ required: true, message: '请选择医院名称' }],
|
||||||
|
department_custom_id: [{ required: true, message: '请选择所在科室' }],
|
||||||
|
department_custom_name: [{ required: true, message: '请输入科室名称' }],
|
||||||
|
doctor_title: [{ required: true, message: '请选择职称' }],
|
||||||
|
'user_doctor_info.qualification_cert_num': [{ required: true, message: '请输入资格证编码' }],
|
||||||
|
cur_doctor_expertise:[{ type:'array',minLength:1,required: true, message: '请选择专长' }],
|
||||||
|
be_good_at: [{ required: true, message: '请输入擅长内容',maxLength:1000,minLength:2 }],
|
||||||
|
brief_introduction: [{ required: true, message: '请输入简介',maxLength:1000,minLength:2 }],
|
||||||
|
// license_cert: [
|
||||||
|
// {
|
||||||
|
// validator: (value, cb) => {
|
||||||
|
// if(license_cert_list.value.length==0){
|
||||||
|
// cb("请上传医师执业证")
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }],
|
||||||
|
// qualification_cert: [{ type:'array',required: true, message: '请上传医师资格证' }],
|
||||||
|
// work_cert: [{ type:'array',required: true, message: '请上传医师职称证' }],
|
||||||
|
// is_platform_deep_cooperation:[{required: true, message: '请选择是否是平台深度合作'}],
|
||||||
|
// is_platform_deep_cooperation:[{required: true, message: '请选择是否是平台深度合作'}],
|
||||||
|
//is_recommend
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Modal
|
// Modal
|
||||||
const modalVisible = ref(false);
|
const modalVisible = ref(false);
|
||||||
const modalTitle = ref('默认标题');
|
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: '住院医师'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
// Batch Del List
|
// Batch Del List
|
||||||
let batchList = [];
|
let batchList = [];
|
||||||
@ -454,21 +750,41 @@
|
|||||||
const tableData = ref([]);
|
const tableData = ref([]);
|
||||||
//弹框状态
|
//弹框状态
|
||||||
const modalSatus = ref('add');
|
const modalSatus = ref('add');
|
||||||
|
//改变科室
|
||||||
|
const changeSelect = (value) => {
|
||||||
|
let arr = departmentData.value.filter((item) => {
|
||||||
|
return item.department_custom_id == value
|
||||||
|
})
|
||||||
|
modalForm.department_custom_name = arr[0].department_custom_name
|
||||||
|
}
|
||||||
|
|
||||||
// 新增Satus
|
// 新增Satus
|
||||||
const handleAdd = () => {
|
const handleAdd = () => {
|
||||||
modalVisible.value = true;
|
modalVisible.value = true;
|
||||||
modalTitle.value = '新增医生';
|
modalTitle.value = '新增医生';
|
||||||
modalSatus.value = 'add';
|
modalSatus.value = 'add';
|
||||||
|
modalForm.doctor_id = null;
|
||||||
|
modalForm.hospital = {};
|
||||||
|
modalForm.user = {};
|
||||||
|
//$refs.modalFormRef.resetFields();
|
||||||
};
|
};
|
||||||
|
|
||||||
//详情
|
//详情
|
||||||
const handleDetail = async (record) => {
|
const handleDetail = async (record) => {
|
||||||
modalVisible.value = true;
|
modalVisible.value = true;
|
||||||
modalTitle.value = '医生详情';
|
modalTitle.value = '医生详情';
|
||||||
modalSatus.value = 'detail';
|
modalSatus.value = 'detail';
|
||||||
const { code, data, message } = await getDoctorDetail(record.doctor_id);
|
const { code, data, message } = await getDoctorDetail(record.doctor_id);
|
||||||
|
|
||||||
if (code == 200) {
|
if (code == 200) {
|
||||||
Object.assign(modalForm, data);
|
Object.assign(modalForm, data);
|
||||||
|
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;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
proxy.$notification.error(message);
|
proxy.$notification.error(message);
|
||||||
}
|
}
|
||||||
@ -481,6 +797,21 @@
|
|||||||
const { code, data, message } = await getDoctorDetail(record.doctor_id);
|
const { code, data, message } = await getDoctorDetail(record.doctor_id);
|
||||||
if (code == 200) {
|
if (code == 200) {
|
||||||
Object.assign(modalForm, data);
|
Object.assign(modalForm, data);
|
||||||
|
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 = transArr(id_card_front);
|
||||||
|
id_card_back_list.value = transArr(id_card_back);
|
||||||
|
sign_image_list.value = transArr(sign_image);
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
proxy.$notification.error(message);
|
proxy.$notification.error(message);
|
||||||
}
|
}
|
||||||
@ -518,26 +849,53 @@
|
|||||||
proxy.$refs.modalFormRef.validate(async (valid) => {
|
proxy.$refs.modalFormRef.validate(async (valid) => {
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
let res;
|
let res;
|
||||||
|
//alert(modalForm.id_card_front);
|
||||||
|
let modalData={
|
||||||
|
card_name:modalForm.user_name,
|
||||||
|
mobile:modalForm.user.mobile,
|
||||||
|
mobile:modalForm.user.mobile,
|
||||||
|
is_recommend:modalForm.is_recommend,
|
||||||
|
avatar:modalForm.avatar,
|
||||||
|
doctor_title:modalForm.doctor_title,
|
||||||
|
department_custom_id:modalForm.department_custom_id,
|
||||||
|
department_custom_name:modalForm.department_custom_name,
|
||||||
|
department_custom_mobile:modalForm.department_custom_mobile,
|
||||||
|
hospital_id:modalForm.hospital_id,
|
||||||
|
be_good_at:modalForm.be_good_at,
|
||||||
|
brief_introduction:modalForm.brief_introduction,
|
||||||
|
license_cert:modalForm.license_cert,
|
||||||
|
qualification_cert:modalForm.qualification_cert,
|
||||||
|
work_cert:modalForm.work_cert,
|
||||||
|
qualification_cert_num:modalForm.user_doctor_info.qualification_cert_num,
|
||||||
|
id_card_front:modalForm.id_card_front,
|
||||||
|
id_card_back:modalForm.id_card_back,
|
||||||
|
sign_image:modalForm.sign_image,
|
||||||
|
card_num:modalForm.card_num,
|
||||||
|
doctor_expertise:modalForm.cur_doctor_expertise,
|
||||||
|
is_platform_deep_cooperation:modalForm.is_platform_deep_cooperation,
|
||||||
|
is_sys_diagno_cooperation :modalForm.is_sys_diagno_cooperation
|
||||||
|
}
|
||||||
if (!modalForm.doctor_id) {
|
if (!modalForm.doctor_id) {
|
||||||
const { code, message } = await addDoctor(modalForm);
|
const { code, message } = await addDoctor(modalData);
|
||||||
if (code == 200) {
|
if (code == 200) {
|
||||||
proxy.$notification.success('新增成功');
|
proxy.$notification.success('新增成功');
|
||||||
} else {
|
} else {
|
||||||
proxy.$notification.error(message);
|
proxy.$notification.error(message);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const { code, message } = await updateDoctor(modalForm, modalForm.doctor_id);
|
const { code, message } = await updateDoctor(modalData, modalForm.doctor_id);
|
||||||
if (code == 200) {
|
if (code == 200) {
|
||||||
proxy.$notification.success('更新成功');
|
proxy.$notification.success('更新成功');
|
||||||
} else {
|
} else {
|
||||||
proxy.$notification.error(message);
|
proxy.$notification.error(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
done();
|
//done();
|
||||||
getDoctorInfo(pager);
|
getDoctorInfo(pager);
|
||||||
} else {
|
} else {
|
||||||
|
console.log(valid)
|
||||||
proxy.$message.error('表单校验失败');
|
proxy.$message.error('表单校验失败');
|
||||||
done(false);
|
//done(false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -606,34 +964,54 @@
|
|||||||
const departmentData = ref([]);
|
const departmentData = ref([]);
|
||||||
//获取科室列表
|
//获取科室列表
|
||||||
const getDepartmentList = () => {
|
const getDepartmentList = () => {
|
||||||
const { data, code, message } = departmentList();
|
departmentList().then((res) => {
|
||||||
if (code == 200) {
|
const { data, code, message } = res;
|
||||||
departmentData.value = data;
|
if (code == 200) {
|
||||||
} else {
|
departmentData.value = data;
|
||||||
proxy.$notification.error(message);
|
} else {
|
||||||
}
|
proxy.$notification.error(message);
|
||||||
};
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
//切换小眼睛
|
//切换小眼睛
|
||||||
const showEye = ref(false);
|
const showEye = ref(false);
|
||||||
const id_card_num = ref('');
|
const id_card_num = ref('');
|
||||||
//解密身份证号码
|
//解密身份证号码
|
||||||
const handelDecryptCard = () => {
|
const handelDecryptCard = async (user_id) => {
|
||||||
const { data, code, message } = decryptCard();
|
const { data, code, message } = await decryptCard({
|
||||||
|
user_id
|
||||||
|
});
|
||||||
if (code == 200) {
|
if (code == 200) {
|
||||||
id_card_num.value = data;
|
id_card_num.value = data;
|
||||||
} else {
|
} else {
|
||||||
proxy.$notification.error(message);
|
proxy.$notification.error(message);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
const hospitalData = ref([]);
|
||||||
//获取医院列表
|
//获取医院列表
|
||||||
const handleHospitalList = () => {
|
const handleHospitalList = () => {
|
||||||
const { data, code, message } = hospitalList();
|
hospitalList().then((res) => {
|
||||||
if (code == 200) {
|
const { data, code, message } = res;
|
||||||
//id_card_num.value = data;
|
if (code == 200) {
|
||||||
} else {
|
hospitalData.value = data;
|
||||||
proxy.$notification.error(message);
|
} else {
|
||||||
}
|
proxy.$notification.error(message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
const expertiseData=ref([]);
|
||||||
|
// 获取专长列表
|
||||||
|
const handlExpertiseList= () =>{
|
||||||
|
expertiseList().then((res) => {
|
||||||
|
const { data, code, message } = res;
|
||||||
|
if (code == 200) {
|
||||||
|
expertiseData.value = data;
|
||||||
|
} else {
|
||||||
|
proxy.$notification.error(message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
// 重置搜索
|
// 重置搜索
|
||||||
const handleResetQuery = () => {
|
const handleResetQuery = () => {
|
||||||
proxy.$refs.queryFormRef.resetFields();
|
proxy.$refs.queryFormRef.resetFields();
|
||||||
@ -649,22 +1027,28 @@
|
|||||||
let { access_id, dir, policy, signature, host } = data;
|
let { access_id, dir, policy, signature, host } = data;
|
||||||
//let index = File.lastIndexOf("/");
|
//let index = File.lastIndexOf("/");
|
||||||
let filename = File.name;
|
let filename = File.name;
|
||||||
|
let time = dayjs().format("YYYYMMDDHHmmss")
|
||||||
let formData = new FormData();
|
let formData = new FormData();
|
||||||
formData.append('OSSAccessKeyId',access_id);
|
formData.append('OSSAccessKeyId', access_id);
|
||||||
formData.append('policy', policy);
|
formData.append('policy', policy);
|
||||||
formData.append('signature', signature);
|
formData.append('signature', signature);
|
||||||
formData.append('key',dir+filename);
|
formData.append('key', dir + time + filename);
|
||||||
formData.append('file',File,filename);
|
formData.append('file', File, filename);
|
||||||
ossUpload(host,formData).then((res)=>{
|
ossUpload(host, formData).then((res) => {
|
||||||
console.log(res);
|
modalForm.avatar = host + "/" + dir + time + filename;
|
||||||
|
|
||||||
|
// if(res.code==204){
|
||||||
|
// alert('22')
|
||||||
|
// modalForm.avatar=host+dir+time+filename
|
||||||
|
// }
|
||||||
});
|
});
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
proxy.$notification.error(message);
|
proxy.$notification.error(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//上传前验证
|
//上传前验证
|
||||||
const beforeUpload = (file) => {
|
const beforeUpload = (file, type) => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
if (file.size >= 10 * 1024 * 1024) {
|
if (file.size >= 10 * 1024 * 1024) {
|
||||||
proxy.$notification.error("图片大小不能超过10M");
|
proxy.$notification.error("图片大小不能超过10M");
|
||||||
@ -676,14 +1060,14 @@
|
|||||||
};
|
};
|
||||||
//上传文件
|
//上传文件
|
||||||
const onChangeFile = (fileList) => {
|
const onChangeFile = (fileList) => {
|
||||||
console.log(fileList)
|
|
||||||
getOssSign(1, fileList[0].file);
|
getOssSign(1, fileList[0].file);
|
||||||
}
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getDoctorInfo(pager);
|
getDoctorInfo(pager);
|
||||||
handleHospitalList();
|
handleHospitalList();
|
||||||
getDepartmentList();
|
getDepartmentList();
|
||||||
|
handlExpertiseList();
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -704,7 +1088,8 @@
|
|||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.arco-form-item-layout-horizontal:first-child {
|
.arco-form-item-layout-horizontal:first-child,
|
||||||
|
.arco-form-item-layout-horizontal:nth-child(2) {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -722,4 +1107,7 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
.cert .arco-form-item-label-col{
|
||||||
|
flex: 0 0 8px!important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
Loading…
x
Reference in New Issue
Block a user