This commit is contained in:
ChenQiuYu 2025-05-21 11:04:02 +08:00
parent 920de4f19a
commit 950f19503d
5 changed files with 59 additions and 31 deletions

View File

@ -24,6 +24,7 @@ const imageName = defineModel()
const imageUrl = ref<any>() const imageUrl = ref<any>()
const uploadUrl= ref<any>() const uploadUrl= ref<any>()
const getImageUrl = (imageName:any) => { const getImageUrl = (imageName:any) => {
if (!imageName) return
loadConfig().then(res => { loadConfig().then(res => {
imageUrl.value = res.base_url + 'file/getImage/' + imageName imageUrl.value = res.base_url + 'file/getImage/' + imageName
}) })

View File

@ -2,7 +2,8 @@
<Mask :is-show="isShow" @close="exit" :width="800" :height="600" title="成员管理" :show-footer="true"> <Mask :is-show="isShow" @close="exit" :width="800" :height="600" title="成员管理" :show-footer="true">
<el-scrollbar> <el-scrollbar>
<div style="padding: 24px"> <div style="padding: 24px">
<el-form :model="userInfo" label-width="auto" style="width: 100%;height: 100%"> <el-form :model="userInfo" label-width="auto" :rules="rulesBasic" ref="ruleBasicFormRef"
style="width: 100%;height: 100%">
<el-descriptions <el-descriptions
title="基本信息" title="基本信息"
:column="3" :column="3"
@ -59,7 +60,7 @@
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="角色"> <el-descriptions-item label="角色">
<el-form-item> <el-form-item prop="role">
<el-select <el-select
v-model="memberInfo.role" v-model="memberInfo.role"
placeholder="选择角色" placeholder="选择角色"
@ -80,11 +81,13 @@
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="科室"> <el-descriptions-item label="科室">
<el-form-item> <el-form-item prop="sectionIds">
<el-select <el-select
v-model="sectionIds" v-model="memberInfo.sectionIds"
placeholder="选择科室" placeholder="选择科室"
multiple multiple
collapse-tags
collapse-tags-tooltip
> >
<el-option <el-option
v-for="item in sectionList" v-for="item in sectionList"
@ -133,14 +136,15 @@ import UpLoad from "@/components/UpLoad.vue";
import {ElMessage} from 'element-plus' import {ElMessage} from 'element-plus'
import Mask from "@/components/common/Mask.vue"; import Mask from "@/components/common/Mask.vue";
import {apiConfig} from "@/assets/config/apiConfig.ts"; import {apiConfig} from "@/assets/config/apiConfig.ts";
const ganderOptions = [ const ganderOptions = [
{ {
label: '男', label: '男',
value: '1' value: 1
}, },
{ {
label: '女', label: '女',
value: '2' value: 2
} }
] ]
@ -186,7 +190,7 @@ const memberInfo = ref<any>({
tel: "", // tel: "", //
socialMemberCode: "", // socialMemberCode: "", //
role: "", // role: "", //
sectionId: "", // id sectionIds: [], // id
electronicSignature: "", // electronicSignature: "", //
memo: '',// memo: '',//
password: "", password: "",
@ -196,6 +200,14 @@ const userInfo = ref<any>({
name: "", name: "",
password: "", password: "",
}) })
const rulesBasic = {
username: [
{required: true, message: '请输入账号', trigger: 'blur'},
],
password: [
{required: true, message: '请输入密码', trigger: 'blur'},
]
}
const rules = { const rules = {
username: [ username: [
{required: true, message: '请输入账号', trigger: 'blur'}, {required: true, message: '请输入账号', trigger: 'blur'},
@ -215,6 +227,12 @@ const rules = {
idCardNumber: [ idCardNumber: [
{required: true, message: '请输入身份证号', trigger: 'blur'}, {required: true, message: '请输入身份证号', trigger: 'blur'},
], ],
sectionIds: [
{required: true, message: '请选择科室', trigger: 'change'},
],
role: [
{required: true, message: '请选择角色', trigger: 'change'},
]
} }
const isShow = ref(false) const isShow = ref(false)
const emit = defineEmits(['close']) const emit = defineEmits(['close'])
@ -227,22 +245,31 @@ const exit = () => {
} }
const sectionIds = ref<any>([]) const sectionIds = ref<any>([])
const ruleFormRef = ref<any>('') const ruleFormRef = ref<any>('')
const ruleBasicFormRef = ref<any>('')
const save = () => { const save = () => {
let form = { let form = {
memberInfo: memberInfo.value, memberInfo: memberInfo.value,
userInfo: userInfo.value, userInfo: userInfo.value,
sectionIds: sectionIds.value sectionIds: memberInfo.value.sectionIds
} }
ruleBasicFormRef.value.validate((valid: any) => {
if (valid) {
ruleFormRef.value.validate((valid: any) => { ruleFormRef.value.validate((valid: any) => {
if (valid) { if (valid) {
post(apiConfig.OrganizationMemberSave, {data: form}).then(() => { post(apiConfig.OrganizationMemberSave, {data: form}).then(() => {
if(memberInfo.value.id){
ElMessage.success('修改成功')
}else{
ElMessage.success('添加成功')
}
exit() exit()
ElMessage.success('已修改')
}) })
} }
}) })
}
})
}
}
const uploadRef = ref<any>('') const uploadRef = ref<any>('')
const getById = (id: any) => { const getById = (id: any) => {
memberInfo.value = {} memberInfo.value = {}
@ -252,7 +279,7 @@ const getById = (id:any) => {
if (res.userInfo) { if (res.userInfo) {
userInfo.value = res.userInfo userInfo.value = res.userInfo
} }
sectionIds.value = res.sectionIds memberInfo.value.sectionIds = res.sectionIds
if (memberInfo.value.electronicSignature) { if (memberInfo.value.electronicSignature) {
uploadRef.value?.getImageUrl(memberInfo.value.electronicSignature) uploadRef.value?.getImageUrl(memberInfo.value.electronicSignature)
} }
@ -274,6 +301,7 @@ const deleteDetail = () => {
ElMessage.error('已删除'); ElMessage.error('已删除');
}) })
} }
const id = ref('')
const init = (id: any) => { const init = (id: any) => {
isShow.value = true isShow.value = true
uploadURL.value = '' uploadURL.value = ''

View File

@ -30,9 +30,8 @@
<span class="default-btn" @click="openDialog(null)">新增</span> <span class="default-btn" @click="openDialog(null)">新增</span>
</div> </div>
</div> </div>
<div class="table"> <div class="table">
<el-table :data="tableData" style="width: 100%" @row-click="rowClick"> <el-table :data="tableData" style="width: 100%;height: 100%" @row-click="rowClick">
<el-table-column prop="date" label="日期" width="180" show-overflow-tooltip> <el-table-column prop="date" label="日期" width="180" show-overflow-tooltip>
<template #default="scope"> <template #default="scope">
{{ formatDate(scope.row.memberInfo.createDatetime) }} {{ formatDate(scope.row.memberInfo.createDatetime) }}
@ -176,6 +175,7 @@ const resetSearch = () => {
.table { .table {
flex: 1; flex: 1;
min-height: 0;
} }
.bottom { .bottom {

View File

@ -25,17 +25,16 @@
</div> </div>
<div class="table"> <div class="table">
<el-table :data="tableData" style="width: 100%" @row-click="rowClick"> <el-table :data="tableData" style="width: 100%" @row-click="rowClick">
<el-table-column prop="name" label="科室类型" show-overflow-tooltip/> <el-table-column prop="name" label="科室类型" width="120" show-overflow-tooltip/>
<el-table-column prop="bedCnt" label="病床数量" width="80" show-overflow-tooltip/> <el-table-column prop="bedCnt" label="病床数量" width="80" show-overflow-tooltip/>
<el-table-column prop="beginDate" label="开始日期" width="100" show-overflow-tooltip/> <el-table-column prop="beginDate" label="开始日期" width="120" show-overflow-tooltip/>
<el-table-column prop="caty" label="类别" show-overflow-tooltip> <el-table-column prop="caty" label="类别" show-overflow-tooltip width="150">
<template #default="scope"> <template #default="scope">
{{ getDeptDisplayName(scope.row.caty) }} {{ getDeptDisplayName(scope.row.caty) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="code" label="编码" width="180" show-overflow-tooltip/> <el-table-column prop="code" label="编码" width="180" show-overflow-tooltip/>
<el-table-column prop="creationDate" label="创建日期" width="120" show-overflow-tooltip/> <el-table-column prop="creationDate" label="创建日期" width="120" show-overflow-tooltip/>
<el-table-column prop="delFlag" label="删除标志" show-overflow-tooltip/>
<el-table-column prop="drPsncnt" label="医生人数" show-overflow-tooltip/> <el-table-column prop="drPsncnt" label="医生人数" show-overflow-tooltip/>
<el-table-column prop="endDate" label="结束日期" width="120" show-overflow-tooltip/> <el-table-column prop="endDate" label="结束日期" width="120" show-overflow-tooltip/>
<el-table-column prop="info" label="信息" show-overflow-tooltip/> <el-table-column prop="info" label="信息" show-overflow-tooltip/>
@ -44,7 +43,7 @@
<el-table-column prop="nursPsncnt" label="护士人数" show-overflow-tooltip/> <el-table-column prop="nursPsncnt" label="护士人数" show-overflow-tooltip/>
<el-table-column prop="pharPsncnt" label="药剂师人数" width="100" show-overflow-tooltip/> <el-table-column prop="pharPsncnt" label="药剂师人数" width="100" show-overflow-tooltip/>
<el-table-column prop="resperName" label="负责人姓名" width="100" show-overflow-tooltip/> <el-table-column prop="resperName" label="负责人姓名" width="100" show-overflow-tooltip/>
<el-table-column prop="resperTel" label="负责人电话" width="100" show-overflow-tooltip/> <el-table-column prop="resperTel" label="负责人电话" width="200" show-overflow-tooltip/>
<el-table-column prop="socialBedCnt" label="社会病床数量" width="200" show-overflow-tooltip/> <el-table-column prop="socialBedCnt" label="社会病床数量" width="200" show-overflow-tooltip/>
<el-table-column prop="tecnPsncnt" label="技术人员人数" width="200" show-overflow-tooltip/> <el-table-column prop="tecnPsncnt" label="技术人员人数" width="200" show-overflow-tooltip/>
</el-table> </el-table>