科室管理优化

This commit is contained in:
wuyy 2026-07-03 18:04:09 +08:00
parent b3e26589ef
commit 476c5ea082
5 changed files with 50 additions and 9 deletions

View File

@ -18,6 +18,10 @@ export interface SysDept extends BaseEntity {
ancestors?: string;
/** 部门名称 */
deptName?: string;
/** 部门编码 */
deptCode?: string;
/** 部门类别 */
deptType?: string;
/** 显示顺序 */
orderNum?: number;
/** 负责人 */

View File

@ -1,3 +1,10 @@
/**
* @file index.vue
* @description: 输血申请
* @author: w
* @since: 2026-06-30
*/
<template>
<div class="box-container">
<!-- 顶部工具栏 -->
@ -69,8 +76,12 @@
</el-col>
<el-col :span="6">
<el-form-item label="性别" prop="gender">
<el-input v-model="formData.gender" />
<el-form-item label="性别" prop="patient_sex">
<el-select v-model="formData.patient_sex" style="width:100%">
<el-option label="男" value="男" />
<el-option label="女" value="女" />
<el-option label="未知" value="未知" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
@ -446,7 +457,7 @@ const formData = reactive({
hospitalNo: '',
name: '',
bloodType: '',
gender: '',
patient_sex: '',
age: '',
rhd: '',
dept: '',

View File

@ -40,7 +40,8 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
<el-button type="primary" plain icon="Plus" :disabled="queryParams.dictType == 'ks'"
@click="handleAdd">新增</el-button>
</el-col>
<!-- <el-col :span=" 1.5">
<el-button type="info" plain icon="Upload" @click="handleImport">导入</el-button>

View File

@ -19,7 +19,7 @@
<el-form inline :model="searchForm">
<el-form-item label="发血单号:">
<el-input v-model="searchForm.fhNo" placeholder="" />
<el-button type="primary" @click="queryByFh" class="ml10">查询</el-button>
<!-- <el-button type="primary" @click="queryByFh" class="ml10">查询</el-button> -->
</el-form-item>
<el-form-item label="用住院号查找:">
<el-input v-model="searchForm.inNo" placeholder="" />

View File

@ -30,6 +30,12 @@
:default-expand-all="isExpandAll" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
height="calc(100vh - 250px)">
<el-table-column prop="deptName" label="部门名称"></el-table-column>
<el-table-column prop="deptCode" label="部门代码"></el-table-column>
<el-table-column prop="deptType" label="部门类别">
<template #default="scope">
{{ formatDict(scope.row.deptType, 'kslb') }}
</template>
</el-table-column>
<el-table-column prop="orderNum" label="排序" width="100"></el-table-column>
<el-table-column prop="status" label="状态" width="100">
<template #default="scope">
@ -54,7 +60,7 @@
</el-table>
<!-- 添加或修改部门对话框 -->
<el-dialog :title="title" v-model="open" width="600px" append-to-body>
<el-dialog :title="title" v-model="open" width="600px" append-to-body :close-on-click-modal="false">
<el-form ref="deptRef" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="24" v-if="form.parentId !== 0">
@ -69,6 +75,16 @@
<el-input v-model="form.deptName" placeholder="请输入部门名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="部门代码" prop="deptCode">
<el-input v-model="form.deptCode" placeholder="请输入部门代码" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="部门类别" prop="deptType">
<SelectTable v-model:data="form.deptType" :tableData="dictData.kslb" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="显示排序" prop="orderNum">
<el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
@ -92,8 +108,9 @@
<el-col :span="12">
<el-form-item label="部门状态">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label
}}</el-radio>
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">
{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
@ -113,6 +130,7 @@
import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept"
import type { SysDept, DeptQueryParams } from '@/types/api/system/dept'
import type { TreeSelect } from '@/types/api/common'
import { getDictData, formatDict, dictData } from "@/hooks"
const { proxy } = getCurrentInstance()
const { sys_normal_disable } = proxy.useDict("sys_normal_disable")
@ -135,6 +153,7 @@ const data = reactive({
rules: {
parentId: [{ required: true, message: "上级部门不能为空", trigger: "blur" }],
deptName: [{ required: true, message: "部门名称不能为空", trigger: "blur" }],
deptCode: [{ required: true, message: "部门代码不能为空", trigger: "blur" }],
orderNum: [{ required: true, message: "显示排序不能为空", trigger: "blur" }],
email: [{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
phone: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
@ -164,6 +183,7 @@ function reset() {
deptId: undefined,
parentId: undefined,
deptName: undefined,
deptCode: undefined,
orderNum: 0,
leader: undefined,
phone: undefined,
@ -212,8 +232,9 @@ function handleUpdate(row: SysDept) {
listDeptExcludeChild(row.deptId!).then(response => {
deptOptions.value = proxy.handleTree(response.data, "deptId")
})
getDept(row.deptId!).then(response => {
getDept(row.deptId!).then((response: any) => {
form.value = response.data!
form.value.deptCodeOld = response.data.deptCode
open.value = true
title.value = "修改部门"
})
@ -251,4 +272,8 @@ function handleDelete(row: SysDept) {
}
getList()
onMounted(() => {
getDictData('kslb')
})
</script>