Browse Source

科室相关字典优化

hsh 3 months ago
parent
commit
a53a234f0f

+ 4 - 2
src/views/dictionary/personnel/DeptDict.vue

@@ -3,7 +3,7 @@
     <header>
       <el-input v-model="text" class="w-50 m-2" style="width: 160px" placeholder="请输入关键字" clearable />
       <el-button type="primary" icon="Search" @click="qeryDeptDict" style="margin-left: 5px">查询</el-button>
-      <el-button type="primary" icon="Plus" @click="addDeptInfo" style="margin-left: 5px">新增科室</el-button>
+<!--      <el-button type="primary" icon="Plus" @click="addDeptInfo" style="margin-left: 5px">新增科室</el-button>-->
       <el-button type="primary" icon="Download" @click="exportData" style="margin-left: 5px">导出</el-button>
     </header>
     <div class="layout_main">
@@ -125,7 +125,7 @@ const qeryDeptDict = () => {
 
 // 新增科室字典
 const addDeptInfo = () => {
-    deptDetail.value = {}
+    deptDetail.value.type = '1'
     showDeptEdit.value = true
 }
 
@@ -133,6 +133,8 @@ const handleEdit = (row) => {
     selectDeptDictByCode(row.code).then((res) => {
         deptTitle.value = '编辑科室信息'
         deptDetail.value = res
+        // 修改
+        deptDetail.value.type = '1'
         showDeptEdit.value = true
     })
 }

+ 17 - 16
src/views/dictionary/personnel/DeptInformation.vue

@@ -10,17 +10,17 @@
                 <el-row>
                     <el-col :span="6">
                         <el-form-item label="科室编码" prop="code">
-                            <el-input v-model="deptForm.code" minlength="0" maxlength="7" show-word-limit />
+                            <el-input v-model="deptForm.code" minlength="0" maxlength="7" disabled show-word-limit />
                         </el-form-item>
                     </el-col>
                     <el-col :span="6">
                         <el-form-item label="科室名称" prop="name">
-                            <el-input v-model="deptForm.name" minlength="0" maxlength="30" show-word-limit />
+                            <el-input v-model="deptForm.name" minlength="0" maxlength="30" :disabled="isEdit" show-word-limit />
                         </el-form-item>
                     </el-col>
                     <el-col :span="6">
                         <el-form-item label="分类" prop="classCode">
-                            <el-select v-model="deptForm.classCode" placeholder="请选择科室分类" clearable>
+                            <el-select v-model="deptForm.classCode" placeholder="请选择科室分类" :disabled="isEdit" clearable>
                                 <el-option v-for="item in unitClassList" :key="item.code" :label="item.name"
                                     :value="item.code">
                                     <span style="float: left">{{ item.code }}</span>
@@ -33,7 +33,7 @@
                     </el-col>
                     <el-col :span="6">
                         <el-form-item label="父科室" prop="parentCode">
-                            <el-select v-model="deptForm.parentCode" placeholder="请选择父科室" clearable>
+                            <el-select v-model="deptForm.parentCode" placeholder="请选择父科室" :disabled="isEdit" clearable>
                                 <el-option v-for="item in deptUseList" :key="item.code" :label="item.name"
                                     :value="item.code">
                                     <span style="float: left">{{ item.code }}</span>
@@ -48,48 +48,48 @@
                 <el-row>
                     <el-col :span="6">
                         <el-form-item label="院内码" prop="ncode">
-                            <el-input v-model="deptForm.ncode" minlength="0" maxlength="8" show-word-limit />
+                            <el-input v-model="deptForm.ncode" minlength="0" maxlength="8" :disabled="isEdit" show-word-limit />
                         </el-form-item>
                     </el-col>
                     <el-col :span="6">
                         <el-form-item label="是否停用" prop="delFlag">
-                            <el-switch v-model="deptForm.delFlag" active-value="0" inactive-value="1" active-color="#13ce66"
+                            <el-switch v-model="deptForm.delFlag" active-value="0" :disabled="isEdit" inactive-value="1" active-color="#13ce66"
                                 inactive-color="#ff4949" />
                         </el-form-item>
                     </el-col>
                     <el-col :span="6">
                         <el-form-item label="新农合科室编码" prop="xnhDeptCode">
-                            <el-input v-model="deptForm.xnhDeptCode" minlength="0" maxlength="18" show-word-limit />
+                            <el-input v-model="deptForm.xnhDeptCode" minlength="0" maxlength="18" :disabled="isEdit" show-word-limit />
                         </el-form-item>
                     </el-col>
                     <el-col :span="6">
                         <el-form-item label="新农合科室名称" prop="xnhDeptName">
-                            <el-input v-model="deptForm.xnhDeptName" minlength="0" maxlength="48" show-word-limit />
+                            <el-input v-model="deptForm.xnhDeptName" minlength="0" maxlength="48" :disabled="isEdit" show-word-limit />
                         </el-form-item>
                     </el-col>
                 </el-row>
                 <el-row>
                     <el-col :span="6">
                         <el-form-item label="门诊开放" prop="mzFlag">
-                            <el-switch v-model="deptForm.mzFlag" active-value="1" inactive-value="0" active-color="#13ce66"
+                            <el-switch v-model="deptForm.mzFlag" active-value="1" inactive-value="0" :disabled="isEdit" active-color="#13ce66"
                                 inactive-color="#ff4949" />
                         </el-form-item>
                     </el-col>
                     <el-col :span="6">
                         <el-form-item label="医技上线" prop="yjFlag">
-                            <el-switch v-model="deptForm.yjFlag" active-value="1" inactive-value="0" active-color="#13ce66"
+                            <el-switch v-model="deptForm.yjFlag" active-value="1" inactive-value="0" :disabled="isEdit" active-color="#13ce66"
                                 inactive-color="#ff4949" />
                         </el-form-item>
                     </el-col>
                     <el-col :span="6">
                         <el-form-item label="收取挂号费" prop="ghChargeFlag">
-                            <el-switch v-model="deptForm.ghChargeFlag" active-value="1" inactive-value="0"
+                            <el-switch v-model="deptForm.ghChargeFlag" active-value="1" :disabled="isEdit" inactive-value="0"
                                 active-color="#13ce66" inactive-color="#ff4949" />
                         </el-form-item>
                     </el-col>
                     <el-col :span="6">
                         <el-form-item label="门诊挂号就诊" prop="ghjzFlag">
-                            <el-switch v-model="deptForm.ghjzFlag" active-value="1" inactive-value="0"
+                            <el-switch v-model="deptForm.ghjzFlag" active-value="1" :disabled="isEdit" inactive-value="0"
                                 active-color="#13ce66" inactive-color="#ff4949" />
                         </el-form-item>
                     </el-col>
@@ -97,7 +97,7 @@
                 <el-row>
                     <el-col :span="6">
                         <el-form-item label="用药方式执行科室" prop="supplyFlag">
-                            <el-switch v-model="deptForm.supplyFlag" active-value="1" inactive-value="0"
+                            <el-switch v-model="deptForm.supplyFlag" active-value="1" :disabled="isEdit" inactive-value="0"
                                 active-color="#13ce66" inactive-color="#ff4949" />
                         </el-form-item>
                     </el-col>
@@ -143,6 +143,7 @@ const formSize = ref('default')
 const ruleFormRef = ref()
 const deptUseList = ref([])
 const unitClassList = ref([])
+const isEdit = ref(false)
 
 watch(() => props.deptDetail, () => {
     deptForm.value = props.deptDetail
@@ -153,6 +154,7 @@ onMounted(() => {
         selectDeptUseData()
         selectUnitClassData()
         deptForm.value = props.deptDetail
+        isEdit.value = props.deptDetail.type === '1';
     })
 })
 
@@ -172,7 +174,7 @@ const selectUnitClassData = () => {
         });
 }
 
-// ---------- 保存报表 ------------
+// ---------- 保存科室信息 ------------
 const submitForm = async (formEl) => {
     if (!formEl) return
 
@@ -190,7 +192,6 @@ const submitForm = async (formEl) => {
                 duration: 2500,
                 showClose: true,
             });
-            return
         })
     }).catch((action) => {
         if (action === 'cancel') {
@@ -200,7 +201,7 @@ const submitForm = async (formEl) => {
 
 }
 
-// ---------- 重置报表 ------------
+// ---------- 重置科室信息 ------------
 const resetForm = (formEl) => {
     if (!formEl) return
     formEl.resetFields()

+ 5 - 5
src/views/dictionary/personnel/DeptRoomDict.vue

@@ -22,7 +22,7 @@
                 <el-table-column prop="deptName" label="科室名称" width="240">
                   <template v-slot="scope">
                     <div v-if="scope.row.isEdit">
-                      <el-select v-model="scope.row.deptName" placeholder="请选择科室" @change="deptChange(scope.row)">
+                      <el-select v-model="scope.row.deptName" filterable placeholder="请选择科室" @change="deptChange(scope.row)">
                         <el-option v-for="option in unitData" :key="option.code" :label="option.name"
                                    :value="option.name"></el-option>
                       </el-select>
@@ -37,10 +37,10 @@
                 </el-table-column>
                 <el-table-column prop="wardCode" label="病房编码" width="100"></el-table-column>
                 <el-table-column prop="wardName" label="病房名称" width="240"></el-table-column>
-                <el-table-column prop="openBedNum" label="开放床位数" width="100">
+                <el-table-column prop="openbedNum" label="开放床位数" width="100">
                   <template v-slot="scope">
-                    <el-input v-if="scope.row.isEdit" size="small" v-model="scope.row.openBedNum"></el-input>
-                    <span v-else>{{ scope.row.openBedNum }}</span>
+                    <el-input v-if="scope.row.isEdit" size="small" v-model="scope.row.openbedNum"></el-input>
+                    <span v-else>{{ scope.row.openbedNum }}</span>
                   </template>
                 </el-table-column>
                 <el-table-column prop="oweLimit" label="欠费底限" width="100">
@@ -277,7 +277,7 @@ const onAddItem = () => {
       deptDCode: '',
       wardPyCode: '',
       wardDCode: '',
-      openBedNum: 0,
+      openbedNum: 0,
       oweLimit: 0.00,
       isEdit: true,
       isAdd: true,