添加test打包命令以及oss上传
This commit is contained in:
parent
8e656552b9
commit
3b666aa539
2
.env.test
Normal file
2
.env.test
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
BASE_URL= "https://vue3.go-admin.dev"
|
||||||
|
VITE_BASE_URL= "http://dev.hospital.admin.api.igandanyiyuan.com"
|
||||||
@ -5,6 +5,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
"build": "vite build",
|
"build": "vite build",
|
||||||
|
"test": "vite --mode=test build",
|
||||||
"preview": "vite preview"
|
"preview": "vite preview"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@ -40,3 +40,23 @@ export function getDoctorDetail(id){
|
|||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
export function departmentList(){ //获取科室列表
|
||||||
|
return request({
|
||||||
|
url:'/admin/department/custom/list',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export function decryptCard(user_id){
|
||||||
|
return request({
|
||||||
|
url:'/decrypt/card/'+user_id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export function hospitalList(params){ //获取医院地址列表
|
||||||
|
return request({
|
||||||
|
url:'/admin/hospital/list',
|
||||||
|
method: 'get',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
18
src/api/oss.js
Normal file
18
src/api/oss.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import request from '../utils/request'
|
||||||
|
export function ossSign(params){
|
||||||
|
return request({
|
||||||
|
url:"/sign/oss",
|
||||||
|
method: 'get',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export function ossUpload(url,data){
|
||||||
|
return request({
|
||||||
|
url,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
header:{
|
||||||
|
'Content-Type': 'multipart/form-data'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -12,11 +12,7 @@
|
|||||||
<a-input v-model="queryForm.hospital_name" placeholder="请输入所属医院" @press-enter="handleQuery" />
|
<a-input v-model="queryForm.hospital_name" placeholder="请输入所属医院" @press-enter="handleQuery" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item field="inquiry_service" label="服务类型">
|
<a-form-item field="inquiry_service" label="服务类型">
|
||||||
<a-select
|
<a-select v-model="queryForm.inquiry_service" placeholder="请选择服务类型" :style="{ width: '182px' }">
|
||||||
v-model="queryForm.inquiry_service"
|
|
||||||
placeholder="请选择服务类型"
|
|
||||||
:style="{ width: '182px' }"
|
|
||||||
>
|
|
||||||
<!-- 1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药 -->
|
<!-- 1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药 -->
|
||||||
<a-option :value="1">专家问诊</a-option>
|
<a-option :value="1">专家问诊</a-option>
|
||||||
<a-option :value="2">快速问诊</a-option>
|
<a-option :value="2">快速问诊</a-option>
|
||||||
@ -25,11 +21,7 @@
|
|||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item field="multi_point_status" label="认 证">
|
<a-form-item field="multi_point_status" label="认 证">
|
||||||
<a-select
|
<a-select v-model="queryForm.multi_point_status" placeholder="请选择多点认证状态" :style="{ width: '180px' }">
|
||||||
v-model="queryForm.multi_point_status"
|
|
||||||
placeholder="请选择多点认证状态"
|
|
||||||
:style="{ width: '180px' }"
|
|
||||||
>
|
|
||||||
<!-- 医生多点执业认证状态(0:未认证 1:认证通过 2:审核中 3:认证失败) -->
|
<!-- 医生多点执业认证状态(0:未认证 1:认证通过 2:审核中 3:认证失败) -->
|
||||||
<a-option :value="0">未认证</a-option>
|
<a-option :value="0">未认证</a-option>
|
||||||
<a-option :value="1">认证通过</a-option>
|
<a-option :value="1">认证通过</a-option>
|
||||||
@ -51,22 +43,17 @@
|
|||||||
<div class="action">
|
<div class="action">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-button v-has="'admin:sysDoctor:add'" type="primary" @click="handleAdd"><icon-plus /> 新增 </a-button>
|
<a-button v-has="'admin:sysDoctor:add'" type="primary" @click="handleAdd"><icon-plus /> 新增 </a-button>
|
||||||
<a-button v-has="'admin:sysDoctor:remove'" type="primary" status="danger" @click="() => { deleteVisible = true; }"><icon-delete /> 批量删除 </a-button>
|
<a-button v-has="'admin:sysDoctor:remove'" type="primary" status="danger"
|
||||||
|
@click="() => { deleteVisible = true; }"><icon-delete /> 批量删除 </a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- table -->
|
<!-- table -->
|
||||||
<a-table
|
<a-table :columns="columns" :scroll="{ x: 2000 }" :data="tableData"
|
||||||
:columns="columns"
|
|
||||||
:scroll="{ x: 2000 }"
|
|
||||||
:data="tableData"
|
|
||||||
:pagination="{ 'show-total': true, 'show-jumper': true, 'show-page-size': true, total: pager.total, current: currentPage }"
|
:pagination="{ 'show-total': true, 'show-jumper': true, 'show-page-size': true, total: pager.total, current: currentPage }"
|
||||||
:row-selection="{ type: 'checkbox', showCheckedAll: true }"
|
:row-selection="{ type: 'checkbox', showCheckedAll: true }" row-key="doctor_id"
|
||||||
row-key="doctor_id"
|
@selection-change="(selection) => {deleteData = selection;}" @page-change="handlePageChange"
|
||||||
@selection-change="(selection) => {deleteData = selection;}"
|
@page-size-change="handlepage_sizeChange">
|
||||||
@page-change="handlePageChange"
|
|
||||||
@page-size-change="handlepage_sizeChange"
|
|
||||||
>
|
|
||||||
<template #doctor_id="{record,rowIndex}">
|
<template #doctor_id="{record,rowIndex}">
|
||||||
<div>{{(rowIndex+1)+(pager.page-1)*10}}</div>
|
<div>{{(rowIndex+1)+(pager.page-1)*10}}</div>
|
||||||
</template>
|
</template>
|
||||||
@ -103,129 +90,140 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #action="{ record }">
|
<template #action="{ record }">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-button v-has="'admin:sysDoctor:detail'" type="text" @click="handleDetail(record)"><icon-edit />详情</a-button>
|
<a-button v-has="'admin:sysDoctor:detail'" type="text"
|
||||||
|
@click="handleDetail(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:edit'" type="text" @click="handleUpdate(record)"><icon-edit /> 修改</a-button>
|
||||||
<a-button v-has="'admin:sysDoctor:remove'" type="text" @click="() => { deleteVisible = true; deleteData = [record.doctor_id]; }"><icon-delete /> 删除</a-button>
|
<a-button v-has="'admin:sysDoctor:remove'" type="text"
|
||||||
|
@click="() => { deleteVisible = true; deleteData = [record.doctor_id]; }"><icon-delete /> 删除</a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
</a-table>
|
</a-table>
|
||||||
|
|
||||||
<!-- Modal -->
|
<!-- Modal -->
|
||||||
<a-modal
|
<a-modal v-model:visible="modalVisible" fullscreen :title="modalTitle" title-align="start" :footer="false"
|
||||||
v-model:visible="modalVisible"
|
@before-ok="handleSubmit" @close="() => {$refs.modalFormRef.resetFields(); modalForm.doctor_id = null;}">
|
||||||
fullscreen
|
|
||||||
:title="modalTitle"
|
|
||||||
title-align="start"
|
|
||||||
:footer="false"
|
|
||||||
@before-ok="handleSubmit"
|
|
||||||
@close="() => {$refs.modalFormRef.resetFields(); modalForm.doctor_id = null;}"
|
|
||||||
>
|
|
||||||
<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-form :model="modalForm" :rules="rules" ref="modalFormRef" :auto-label-width="true">
|
<a-form :model="modalForm" :disabled="modalSatus=='detail'" :rules="rules" ref="modalFormRef"
|
||||||
<a-form-item field="user_name" label="医生头像">
|
:auto-label-width="true">
|
||||||
|
<a-form-item field="avatar" label="医生头像:">
|
||||||
<a-space size="large">
|
<a-space size="large">
|
||||||
<a-avatar :size="80" :shape="circle" imageUrl="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/3ee5f13fb09879ecb5185e440cef6eb9.png~tplv-uwbnlip3yd-webp.webp">
|
<a-avatar :size="80" :imageUrl="modalForm.avatar">
|
||||||
</a-avatar>
|
</a-avatar>
|
||||||
</a-space>
|
</a-space>
|
||||||
<a-upload action="/" />
|
<a-upload action="/" :fileList="file ? [file] : []" class="upload" :auto-upload="false" @change="onChangeFile"
|
||||||
|
accept="image/png, image/jpeg" @before-upload="beforeUpload" :show-file-list="false"
|
||||||
|
v-if="modalSatus!='detail'" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<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}}
|
{{modalForm.user_name}}
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item field="user_name" label="身份证号">
|
<a-form-item field="idCard" label="身份证号:">
|
||||||
<!-- {{modalForm.user_doctor_info.card_num_mask}} -->
|
<div class="box" v-show="!showEye">
|
||||||
|
<div>{{modalForm.user_doctor_info.card_num_mask}}</div>
|
||||||
|
<icon-eye-invisible class="eye" @click="()=>{showEye=true}" />
|
||||||
|
</div>
|
||||||
|
<div class="box" v-show="showEye">
|
||||||
|
<div>{{id_card_num}}</div>
|
||||||
|
<icon-eye class="eye" @click="()=>{showEye=false}" />
|
||||||
|
</div>
|
||||||
</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="user_name" label="联系电话">
|
<a-form-item field="mobile" label="联系电话:">
|
||||||
{{modalForm.user_name}}
|
{{modalForm.user.mobile}}
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item field="user_name" label="多点执业">
|
<a-form-item field="multi_point_status" label="多点执业:">
|
||||||
<!-- {{modalForm.user_doctor_info.card_num_mask}} -->
|
<span v-if="modalForm.multi_point_status==1">可处方</span>
|
||||||
|
<span v-else>不可处方</span>
|
||||||
</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="user_name" label="医院地址">
|
<a-form-item field="address" label="医院地址:">
|
||||||
<a-input v-model="queryForm.dept_name" 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="user_name" label="医院名称">
|
<a-form-item field="hospital_name" label="医院名称:">
|
||||||
<a-input v-model="queryForm.dept_name" placeholder="请输入部门名称" />
|
<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="user_name" label="所在科室">
|
<a-form-item field="department_custom_id" label="所在科室:">
|
||||||
<a-input v-model="queryForm.dept_name" placeholder="请输入部门名称" />
|
<a-select placeholder="请选择所在科室" v-model="modalForm.department_custom_id">
|
||||||
|
<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-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item field="user_name" label="科室名称">
|
<a-form-item field="department_custom_name" label="科室名称:">
|
||||||
<a-input v-model="queryForm.dept_name" placeholder="请输入部门名称" />
|
<a-input v-model="modalForm.department_custom_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="user_name" label="职 称">
|
<a-form-item field="doctor_title" label="职 称 :">
|
||||||
<a-input v-model="queryForm.dept_name" placeholder="请输入部门名称" />
|
<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">
|
||||||
<a-form-item field="user_name" label="科室电话">
|
<a-form-item field="department_custom_mobile" label="科室电话:">
|
||||||
<a-input v-model="queryForm.dept_name" placeholder="请输入部门名称" />
|
<a-input v-model="modalForm.department_custom_mobile" placeholder="请输入科室电话" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
|
<!-- <a-row :gutter="24">
|
||||||
|
<a-col :span="24">
|
||||||
|
<a-form-item field="license_cert_num" label="执业证编码:">
|
||||||
|
<a-input v-model="modalForm.license_cert.license_cert_num" placeholder="请输入部门名称" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
|
||||||
|
</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="qualification_cert_num" label="资格证编码:">
|
||||||
<a-input v-model="queryForm.dept_name" 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="user_name" label="专长:">
|
||||||
<a-input v-model="queryForm.dept_name" placeholder="请输入部门名称" />
|
|
||||||
</a-form-item>
|
|
||||||
</a-col>
|
|
||||||
|
|
||||||
</a-row>
|
|
||||||
<a-row :gutter="24">
|
|
||||||
<a-col :span="24">
|
|
||||||
<a-form-item field="user_name" label="专长">
|
|
||||||
<a-textarea v-model="modalForm.remark" placeholder="请输入备注内容" />
|
<a-textarea v-model="modalForm.remark" 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="be_good_at" label="擅长信息:">
|
||||||
<a-textarea v-model="modalForm.remark" placeholder="请输入备注内容" />
|
<a-textarea v-model="modalForm.be_good_at" 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="brief_introduction" label="个人简介:">
|
||||||
<a-textarea v-model="modalForm.remark" placeholder="请输入备注内容" />
|
<a-textarea v-model="modalForm.brief_introduction" placeholder="请输入备注内容" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@ -236,93 +234,93 @@
|
|||||||
</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="4">
|
||||||
<a-form-item field="" label="状态">
|
<a-form-item field="" label="状态:">
|
||||||
<a-switch checked-color="#14C9C9" />
|
<a-space size="large">
|
||||||
|
<a-switch checked-color="#14C9C9" :checked-value="1" :unchecked-value="0"
|
||||||
|
v-model="modalForm.is_recommend" style="cursor: not-allowed!important;" />
|
||||||
|
</a-space>
|
||||||
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="20"><div>理由:平台合作</div></a-col>
|
<a-col :span="20" v-if="modalForm.is_recommend==1">
|
||||||
|
<div>理由:平台合作</div>
|
||||||
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-divider />
|
<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">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item field="" label="" no-style>
|
<a-form-item field="" 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 show-loader src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/cd7a1aaea8e1c5e3d26fe2591e561798.png~tplv-uwbnlip3yd-webp.webp" width="200" />
|
<a-image v-for="item in modalForm.user_doctor_info.license_cert" show-loader :src="item" />
|
||||||
<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-space>
|
||||||
</a-image-preview-group>
|
</a-image-preview-group>
|
||||||
</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">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item field="" label="" no-style>
|
<a-form-item field="" 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 show-loader src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/cd7a1aaea8e1c5e3d26fe2591e561798.png~tplv-uwbnlip3yd-webp.webp" width="200" />
|
<a-image v-for="item in modalForm.user_doctor_info.license_cert" show-loader :src="item" />
|
||||||
<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-space>
|
||||||
</a-image-preview-group>
|
</a-image-preview-group>
|
||||||
</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">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item field="" label="" no-style>
|
<a-form-item field="" 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 show-loader src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/cd7a1aaea8e1c5e3d26fe2591e561798.png~tplv-uwbnlip3yd-webp.webp" width="200" />
|
<a-image v-for="item in modalForm.user_doctor_info.work_cert" show-loader :src="item" />
|
||||||
<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-space>
|
||||||
</a-image-preview-group>
|
</a-image-preview-group>
|
||||||
</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 ">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item field="" label="" no-style>
|
<a-form-item field="" 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 show-loader src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/cd7a1aaea8e1c5e3d26fe2591e561798.png~tplv-uwbnlip3yd-webp.webp" width="200" />
|
<a-image
|
||||||
<a-image show-loader src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/6480dbc69be1b5de95010289787d64f1.png~tplv-uwbnlip3yd-webp.webp" width="200" />
|
v-for="item in [modalForm.user_doctor_info.id_card_front,modalForm.user_doctor_info.id_card_back]"
|
||||||
<a-image show-loader src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/0265a04fddbd77a19602a15d9d55d797.png~tplv-uwbnlip3yd-webp.webp" width="200" />
|
show-loader :src="item" v-show="item" />
|
||||||
<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-space>
|
||||||
</a-image-preview-group>
|
</a-image-preview-group>
|
||||||
</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.sign_image">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item field="" label="" no-style>
|
<a-form-item field="" 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 show-loader src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/cd7a1aaea8e1c5e3d26fe2591e561798.png~tplv-uwbnlip3yd-webp.webp" width="200" />
|
<a-image v-for="item in [modalForm.user_doctor_info.sign_image]" show-loader :src="item"
|
||||||
<a-image show-loader src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/6480dbc69be1b5de95010289787d64f1.png~tplv-uwbnlip3yd-webp.webp" width="200" />
|
v-show="item" />
|
||||||
<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-space>
|
||||||
</a-image-preview-group>
|
</a-image-preview-group>
|
||||||
</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;">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item field="" label="" no-style>
|
<a-form-item field="" label="" no-style>
|
||||||
<div class="titletip">医师云证书<span>(点击图片查看大图)</span></div>
|
<div class="titletip">医师云证书<span>(点击图片查看大图)</span></div>
|
||||||
@ -336,23 +334,21 @@
|
|||||||
</a-image-preview-group>
|
</a-image-preview-group>
|
||||||
</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">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item field="" label="" no-style>
|
<a-form-item field="" 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 show-loader src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/cd7a1aaea8e1c5e3d26fe2591e561798.png~tplv-uwbnlip3yd-webp.webp" width="200" />
|
<a-image v-for="item in [modalForm.qr_code]" show-loader :src="item" v-show="item" 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-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 />
|
||||||
|
</a-form>
|
||||||
<div class="titlebox">
|
<div class="titlebox">
|
||||||
<div class="bar"></div>
|
<div class="bar"></div>
|
||||||
<div class="name">操作</div>
|
<div class="name">操作</div>
|
||||||
@ -361,52 +357,40 @@
|
|||||||
<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">保存</a-button>
|
<a-button type="primary" status="success" v-if="modalSatus=='detail'">启用</a-button>
|
||||||
|
<a-button type="primary" status="danger" v-if="modalSatus=='detail'">禁用</a-button>
|
||||||
|
<a-button type="primary" v-if="modalSatus=='edit'">保存</a-button>
|
||||||
<a-button type="primary" status="warning">拉黑</a-button>
|
<a-button type="primary" status="warning">拉黑</a-button>
|
||||||
<a-button type="primary" status="danger">删除</a-button>
|
<a-button type="primary" status="danger" v-if="modalSatus=='edit'">删除</a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<!-- <a-form-item field="status" label="医生状态">
|
|
||||||
<a-radio-group v-model="modalForm.status">
|
|
||||||
<a-radio :value="2"> 正常 </a-radio>
|
|
||||||
<a-radio :value="1"> 停用 </a-radio>
|
|
||||||
</a-radio-group>
|
|
||||||
</a-form-item>
|
|
||||||
<a-form-item field="remark" label="备注">
|
|
||||||
<a-textarea v-model="modalForm.remark" placeholder="请输入备注内容" />
|
|
||||||
</a-form-item> -->
|
|
||||||
</a-form>
|
|
||||||
</a-modal>
|
</a-modal>
|
||||||
|
|
||||||
<!-- Akiraka 20230223 删除与批量删除 开始 -->
|
<!-- Akiraka 20230223 删除与批量删除 开始 -->
|
||||||
<DeleteModal
|
<DeleteModal :data="deleteData" :visible="deleteVisible" :apiDelete="removeDoctor"
|
||||||
:data="deleteData"
|
@deleteVisibleChange="() => deleteVisible = false" />
|
||||||
:visible="deleteVisible"
|
|
||||||
:apiDelete="removeDoctor"
|
|
||||||
@deleteVisibleChange="() => deleteVisible = false"
|
|
||||||
/>
|
|
||||||
<!-- Akiraka 20230223 删除与批量删除 结束 -->
|
<!-- Akiraka 20230223 删除与批量删除 结束 -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import { reactive, ref, getCurrentInstance, onMounted, nextTick, watch } from 'vue';
|
|
||||||
import { getDoctorList, addDoctor, removeDoctor, updateDoctor } from '@/api/doctor/list';
|
|
||||||
import { parseTime } from '@/utils/parseTime';
|
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { reactive, ref, getCurrentInstance, onMounted, nextTick, watch, computed } from 'vue';
|
||||||
|
import { getDoctorList, addDoctor, removeDoctor, updateDoctor, getDoctorDetail, departmentList, decryptCard, hospitalList } from '@/api/doctor/list';
|
||||||
|
import { ossSign, ossUpload } from '@/api/oss';
|
||||||
// Akiraka 20230210 删除数据
|
// Akiraka 20230210 删除数据
|
||||||
const deleteData = ref([])
|
const deleteData = ref([])
|
||||||
// Akiraka 20230210 删除对话框
|
// Akiraka 20230210 删除对话框
|
||||||
const deleteVisible = ref(false)
|
const deleteVisible = ref(false)
|
||||||
// Akiraka 20230210 监听删除事件
|
// Akiraka 20230210 监听删除事件
|
||||||
watch(() => deleteVisible.value ,(value) => {
|
watch(() => deleteVisible.value, (value) => {
|
||||||
if ( value == false ) {
|
if (value == false) {
|
||||||
getDoctorInfo(pager);
|
getDoctorInfo(pager);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
|
||||||
|
const file = ref();
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
|
|
||||||
const currentPage = ref(1);
|
const currentPage = ref(1);
|
||||||
@ -418,13 +402,26 @@
|
|||||||
};
|
};
|
||||||
// form
|
// form
|
||||||
const queryForm = reactive({
|
const queryForm = reactive({
|
||||||
inquiry_service:''
|
inquiry_service: ''
|
||||||
});
|
});
|
||||||
const modalForm = reactive({
|
const modalForm = reactive({
|
||||||
sort: 0,
|
hospital: {},
|
||||||
|
user_doctor_info: {},
|
||||||
|
user: {},
|
||||||
|
doctor_id: '',
|
||||||
|
user_id: '',
|
||||||
status: 1,
|
status: 1,
|
||||||
});
|
});
|
||||||
|
watch(() => modalForm.user_id, (value) => {
|
||||||
|
if (value) {
|
||||||
|
handelDecryptCard(value);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const doctor_title_name = computed(() => {
|
||||||
|
let obj = { 1: '主任医师', 2: '主任中医师', 3: '副主任医师', 4: '副主任中医师', 5: '主治医师', 6: '住院医师' };
|
||||||
|
return obj[modalForm.doctor_title]
|
||||||
|
|
||||||
|
})
|
||||||
// Rules
|
// Rules
|
||||||
const rules = {
|
const rules = {
|
||||||
user_name: [{ required: true, message: '请输入医生名字' }]
|
user_name: [{ required: true, message: '请输入医生名字' }]
|
||||||
@ -439,66 +436,81 @@
|
|||||||
|
|
||||||
// Table Columns
|
// Table Columns
|
||||||
const columns = [
|
const columns = [
|
||||||
{ title: '编号', dataIndex: 'doctor_id',slotName: 'doctor_id',width:'100'},
|
{ title: '编号', dataIndex: 'doctor_id', slotName: 'doctor_id', width: '100' },
|
||||||
{ title: '医生名字', dataIndex: 'user_name' },
|
{ title: '医生名字', dataIndex: 'user_name' },
|
||||||
{ title: '手机号码', dataIndex: 'mobile' },
|
{ title: '手机号码', dataIndex: 'mobile' },
|
||||||
{ title: '医院', dataIndex: 'hospital_name',width:'180', slotName:'hospital_name'},
|
{ title: '医院', dataIndex: 'hospital_name', width: '180', slotName: 'hospital_name' },
|
||||||
{ title: '职称', dataIndex: 'doctor_title',slotName:'doctor_title' },
|
{ title: '职称', dataIndex: 'doctor_title', slotName: 'doctor_title' },
|
||||||
{ title: '开启服务', dataIndex: 'inquiry_service',slotName:'inquiry_service' },
|
{ title: '开启服务', dataIndex: 'inquiry_service', slotName: 'inquiry_service' },
|
||||||
{ title: '审核状态', dataIndex: 'iden_auth_status',slotName: 'iden_auth_status' },
|
{ title: '审核状态', dataIndex: 'iden_auth_status', slotName: 'iden_auth_status' },
|
||||||
{ title: '是否推荐', dataIndex: 'is_recommend',slotName:'is_recommend' },
|
{ title: '是否推荐', dataIndex: 'is_recommend', slotName: 'is_recommend' },
|
||||||
{ title: '申请人', dataIndex: 'user_name' },
|
{ title: '申请人', dataIndex: 'user_name' },
|
||||||
{ title: '启用状态', dataIndex: 'status',slotName:'status'},
|
{ title: '启用状态', dataIndex: 'status', slotName: 'status' },
|
||||||
// { title: '创建时间', dataIndex: 'created_at', slotName: 'created_at' },
|
// { title: '创建时间', dataIndex: 'created_at', slotName: 'created_at' },
|
||||||
{ title: '操作', slotName: 'action',fixed: 'right',width:'300'},
|
{ title: '操作', slotName: 'action', fixed: 'right', width: '300' },
|
||||||
];
|
];
|
||||||
|
|
||||||
// Table Data
|
// Table Data
|
||||||
const tableData = ref([]);
|
const tableData = ref([]);
|
||||||
|
//弹框状态
|
||||||
|
const modalSatus = ref('add');
|
||||||
|
|
||||||
// 新增
|
// 新增Satus
|
||||||
const handleAdd = () => {
|
const handleAdd = () => {
|
||||||
modalVisible.value = true;
|
modalVisible.value = true;
|
||||||
modalTitle.value = '新增医生';
|
modalTitle.value = '新增医生';
|
||||||
|
modalSatus.value = 'add';
|
||||||
};
|
};
|
||||||
//详情
|
//详情
|
||||||
const handleDetail = () => {
|
const handleDetail = async (record) => {
|
||||||
modalVisible.value = true;
|
modalVisible.value = true;
|
||||||
modalTitle.value = '医生详情';
|
modalTitle.value = '医生详情';
|
||||||
|
modalSatus.value = 'detail';
|
||||||
|
const { code, data, message } = await getDoctorDetail(record.doctor_id);
|
||||||
|
if (code == 200) {
|
||||||
|
Object.assign(modalForm, data);
|
||||||
|
} else {
|
||||||
|
proxy.$notification.error(message);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
// 修改
|
// 修改
|
||||||
const handleUpdate = async (record) => {
|
const handleUpdate = async (record) => {
|
||||||
modalVisible.value = true;
|
modalVisible.value = true;
|
||||||
modalTitle.value = '修改医生';
|
modalTitle.value = '修改医生';
|
||||||
|
modalSatus.value = 'edit';
|
||||||
|
const { code, data, message } = await getDoctorDetail(record.doctor_id);
|
||||||
|
if (code == 200) {
|
||||||
|
Object.assign(modalForm, data);
|
||||||
|
} else {
|
||||||
|
proxy.$notification.error(message);
|
||||||
|
}
|
||||||
|
//await nextTick();
|
||||||
|
|
||||||
await nextTick();
|
|
||||||
Object.assign(modalForm, record);
|
|
||||||
};
|
};
|
||||||
//开启服务处理
|
//开启服务处理
|
||||||
const filterService=(record)=>{
|
const filterService = (record) => {
|
||||||
let arr=[];
|
let arr = [];
|
||||||
let str='';
|
let str = '';
|
||||||
if(record.is_img_expert_reception==1){
|
if (record.is_img_expert_reception == 1) {
|
||||||
arr.push("专家问诊");
|
arr.push("专家问诊");
|
||||||
}
|
}
|
||||||
if(record.is_img_welfare_reception==1){
|
if (record.is_img_welfare_reception == 1) {
|
||||||
arr.push("公益问诊")
|
arr.push("公益问诊")
|
||||||
}
|
}
|
||||||
if(record.is_img_quick_reception==1){
|
if (record.is_img_quick_reception == 1) {
|
||||||
arr.push("快速问诊")
|
arr.push("快速问诊")
|
||||||
};
|
};
|
||||||
if(record.multi_point_status==1){
|
if (record.multi_point_status == 1) {
|
||||||
arr.push("问诊购药")
|
arr.push("问诊购药")
|
||||||
}
|
}
|
||||||
arr.forEach((item)=>{
|
arr.forEach((item) => {
|
||||||
if(!str){
|
if (!str) {
|
||||||
str+=item
|
str += item
|
||||||
}else{
|
} else {
|
||||||
str+=','+item
|
str += ',' + item
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
return str ? str : "暂无"
|
||||||
return str?str:"暂无"
|
|
||||||
}
|
}
|
||||||
// Modal ok
|
// Modal ok
|
||||||
// 异步关闭Modal需要调用 done()
|
// 异步关闭Modal需要调用 done()
|
||||||
@ -508,14 +520,14 @@
|
|||||||
let res;
|
let res;
|
||||||
if (!modalForm.doctor_id) {
|
if (!modalForm.doctor_id) {
|
||||||
const { code, message } = await addDoctor(modalForm);
|
const { code, message } = await addDoctor(modalForm);
|
||||||
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(modalForm, 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);
|
||||||
@ -572,7 +584,7 @@
|
|||||||
// 获取医生信息
|
// 获取医生信息
|
||||||
const getDoctorInfo = async (params = {}) => {
|
const getDoctorInfo = async (params = {}) => {
|
||||||
const { data, code, message } = await getDoctorList(params);
|
const { data, code, message } = await getDoctorList(params);
|
||||||
if ( code == 200 ) {
|
if (code == 200) {
|
||||||
tableData.value = data.data;
|
tableData.value = data.data;
|
||||||
Object.assign(pager, { total: data.total, page: data.page, page_size: data.page_size });
|
Object.assign(pager, { total: data.total, page: data.page, page_size: data.page_size });
|
||||||
} else {
|
} else {
|
||||||
@ -591,34 +603,123 @@
|
|||||||
getDoctorInfo(params);
|
getDoctorInfo(params);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const departmentData = ref([]);
|
||||||
|
//获取科室列表
|
||||||
|
const getDepartmentList = () => {
|
||||||
|
const { data, code, message } = departmentList();
|
||||||
|
if (code == 200) {
|
||||||
|
departmentData.value = data;
|
||||||
|
} else {
|
||||||
|
proxy.$notification.error(message);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
//切换小眼睛
|
||||||
|
const showEye = ref(false);
|
||||||
|
const id_card_num = ref('');
|
||||||
|
//解密身份证号码
|
||||||
|
const handelDecryptCard = () => {
|
||||||
|
const { data, code, message } = decryptCard();
|
||||||
|
if (code == 200) {
|
||||||
|
id_card_num.value = data;
|
||||||
|
} else {
|
||||||
|
proxy.$notification.error(message);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
//获取医院列表
|
||||||
|
const handleHospitalList = () => {
|
||||||
|
const { data, code, message } = hospitalList();
|
||||||
|
if (code == 200) {
|
||||||
|
//id_card_num.value = data;
|
||||||
|
} else {
|
||||||
|
proxy.$notification.error(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
// 重置搜索
|
// 重置搜索
|
||||||
const handleResetQuery = () => {
|
const handleResetQuery = () => {
|
||||||
proxy.$refs.queryFormRef.resetFields();
|
proxy.$refs.queryFormRef.resetFields();
|
||||||
|
|
||||||
getDoctorInfo(queryForm);
|
getDoctorInfo(queryForm);
|
||||||
}
|
}
|
||||||
|
//获取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 index = File.lastIndexOf("/");
|
||||||
|
let filename = File.name;
|
||||||
|
let formData = new FormData();
|
||||||
|
formData.append('OSSAccessKeyId',access_id);
|
||||||
|
formData.append('policy', policy);
|
||||||
|
formData.append('signature', signature);
|
||||||
|
formData.append('key',dir+filename);
|
||||||
|
formData.append('file',File,filename);
|
||||||
|
ossUpload(host,formData).then((res)=>{
|
||||||
|
console.log(res);
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
proxy.$notification.error(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//上传前验证
|
||||||
|
const beforeUpload = (file) => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
if (file.size >= 10 * 1024 * 1024) {
|
||||||
|
proxy.$notification.error("图片大小不能超过10M");
|
||||||
|
reject('cancel')
|
||||||
|
} else {
|
||||||
|
resolve(true)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
//上传文件
|
||||||
|
const onChangeFile = (fileList) => {
|
||||||
|
console.log(fileList)
|
||||||
|
getOssSign(1, fileList[0].file);
|
||||||
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getDoctorInfo(pager);
|
getDoctorInfo(pager);
|
||||||
});
|
handleHospitalList();
|
||||||
</script>
|
getDepartmentList();
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
.action {
|
.action {
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
}
|
}
|
||||||
.hospital_name{
|
|
||||||
width:100%;
|
.hospital_name {
|
||||||
|
width: 100%;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
.headImg{
|
|
||||||
|
.headImg {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
.arco-form-item-layout-horizontal:first-child{
|
|
||||||
|
.arco-form-item-layout-horizontal:first-child {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
</style>
|
|
||||||
|
|
||||||
|
.upload {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eye {
|
||||||
|
margin-left: 20px;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Loading…
x
Reference in New Issue
Block a user