Browse Source

技术文档修改权限内容为下拉选

hsh 1 year ago
parent
commit
dbd052085a

+ 9 - 0
src/api/dictionary/selection-options.js

@@ -0,0 +1,9 @@
+import request from '../../utils/request'
+
+export function selectDictByCode(code) {
+    return request({
+        url: '/selectionOptions/selectDictByCode',
+        method: 'get',
+        params: { code },
+    })
+}

+ 78 - 12
src/views/technology-archives/TechnologyArchivesCore.vue

@@ -221,23 +221,16 @@
                   </template>
                 </el-table-column>
                 <el-table-column prop="name" label="权限名称" width="200">
-                  <template #header>
-                    <span>权限名称</span>
-                    <el-tooltip class="box-item" effect="dark" placement="top">
-                      <template #content>注:<br />含临床技能、病历书写与审核、处方权限、值班、会诊、门诊开设、分级麻醉、分级手术/操作授权、麻精处方、抗菌素处方分级。</template>
-                      <el-icon color="red" size="14"><QuestionFilled /></el-icon>
-                    </el-tooltip>
-                  </template>
                   <template v-slot="scope">
                     <div v-if="scope.row.isEdit">
-                      <el-select v-model="scope.row.name" clearable placeholder="请选择权限名称">
-                        <el-option v-for="option in permissionsOptions" :key="option.code" :label="option.name"
+                      <el-select v-model="scope.row.name" clearable placeholder="请选择权限名称" @change="fqxChange(scope.row)">
+                        <el-option v-for="option in fqxList" :key="option.code" :label="option.name"
                                    :value="option.code"></el-option>
                       </el-select>
                     </div>
                     <div v-else>
                       <el-select v-model="scope.row.name" disabled placeholder="请选择权限名称">
-                        <el-option v-for="option in permissionsOptions" :key="option.code" :label="option.name"
+                        <el-option v-for="option in fqxList" :key="option.code" :label="option.name"
                                    :value="option.code"></el-option>
                       </el-select>
                     </div>
@@ -245,8 +238,18 @@
                 </el-table-column>
                 <el-table-column prop="content" label="权限内容" width="350" show-overflow-tooltip>
                   <template v-slot="scope">
-                    <el-input v-if="scope.row.isEdit" size="small" v-model="scope.row.content"></el-input>
-                    <span v-else>{{ scope.row.content }}</span>
+                    <div v-if="scope.row.isEdit">
+                      <el-select v-model="scope.row.content" clearable placeholder="请选择权限内容">
+                        <el-option v-for="option in zqx1List" :key="option.code" :label="option.name"
+                                   :value="option.code"></el-option>
+                      </el-select>
+                    </div>
+                    <div v-else>
+                      <el-select v-model="scope.row.content" disabled placeholder="请选择权限内容">
+                        <el-option v-for="option in zqx1List" :key="option.code" :label="option.name"
+                                   :value="option.code"></el-option>
+                      </el-select>
+                    </div>
                   </template>
                 </el-table-column>
                 <el-table-column prop="delFlag" label="权限资格" width="120">
@@ -302,6 +305,7 @@ import {
   selectTechnologyArchives15, saveTechnologyArchives15, delTechnologyArchives15ByCode, selectTechnologyArchivesMainDict
 } from "@/api/technology-archives/technology-archives";
 import {useUserStore} from "@/pinia/user-store";
+import {selectDictByCode} from "@/api/dictionary/selection-options";
 
 const editableTabsValue = ref('eighthInfo')
 const userInfo = useUserStore().userInfo
@@ -317,6 +321,8 @@ onMounted(() => {
   nextTick(() => {
     queryTechnologyArchivesMainDict()
     queryTechnologyArchives8()
+    queryDict1ByCode()
+    queryDict2ByCode()
   })
 })
 
@@ -330,6 +336,40 @@ const queryTechnologyArchivesMainDict = () => {
     })
 }
 
+let fqxList = ref([])
+let zqxList = ref([])
+// 父权限
+const queryDict1ByCode = () => {
+  selectDictByCode('t_pp')
+    .then((res) => {
+      if(res){
+        fqxList.value = res
+      } else {
+        fqxList.value = []
+      }
+    })
+}
+// 子权限
+const queryDict2ByCode = () => {
+  selectDictByCode('t_cp')
+    .then((res) => {
+      if(res){
+        zqxList.value = res
+      } else {
+        zqxList.value = []
+      }
+    })
+}
+// 父权限变更
+const zqx1List = ref([])
+const fqxChange = (row) => {
+  if(row.name){
+    zqx1List.value = zqxList.value.filter((item) => {
+      return item.pyCode === row.name
+    })
+  }
+}
+
 const authorCharge = (row) => {
   if(row.accountAuthor){
     let ac = baseInfoList.value.filter((item) => {
@@ -444,6 +484,8 @@ const onAddItem = () => {
       content: '',
       delFlag: '',
       comment: '',
+      nameStr: '',
+      contentStr: '',
       isEdit: true,
       isAdd: true,
     })
@@ -663,7 +705,19 @@ const updateFifteenthInfo = (row) => {
   callSaveFifteenthInfo(row)
 }
 
+const dataF = ref({
+  socialNo: '',
+  time: '',
+  name: '',
+  content: '',
+  delFlag: '',
+  nameStr: '',
+  contentStr: '',
+  accountAuthor: '',
+  accountName: '',
+})
 const callSaveFifteenthInfo = (row) => {
+  dataF.value = {}
   let permissionsData = permissionsOptions.filter((item) => {
     return item.code === row.name
   })
@@ -675,6 +729,18 @@ const callSaveFifteenthInfo = (row) => {
     distinguishCancelAndClose: true,
     dangerouslyUseHTMLString: true
   }).then(() => {
+    let fqx = fqxList.value.filter((item) => {
+      return item.code === row.name
+    })
+    if(fqx){
+      row.nameStr = fqx[0].name
+    }
+    let zqx = zqxList.value.filter((item) => {
+      return item.code === row.content
+    })
+    if(zqx){
+      row.contentStr = zqx[0].name
+    }
     saveTechnologyArchives15(row).then((res) => {
       ElMessage({
         type: "success",