浏览代码

技术档案Ⅱ优化

hsh 1 年之前
父节点
当前提交
6342644317

+ 8 - 0
src/api/technology-archives/technology-archives.js

@@ -488,4 +488,12 @@ export function exportTechnologyArchivesInfo(params) {
             })
         }
     })
+}
+
+export function selectTechnologyArchivesMainDict(){
+    return request({
+        url: '/technologyArchives/selectTechnologyArchivesMainDict',
+        method: 'get',
+        params: { },
+    })
 }

+ 75 - 30
src/views/technology-archives/TechnologyArchivesCore.vue

@@ -11,6 +11,22 @@
               <el-table :data="eighthData" border style="width: 100%; height: 100%" stripe highlight-current-row :key="eighthKey">
                 <el-table-column type="index" prop="no" label="序号" width="80" />
                 <el-table-column prop="id" label="id号" width="80" v-if="false"/>
+                <el-table-column prop="accountAuthor" label="姓名" width="120">
+                  <template v-slot="scope">
+                    <div v-if="scope.row.isEdit">
+                      <el-select v-model="scope.row.accountAuthor" clearable placeholder="请选择" @change="authorCharge(scope.row)">
+                        <el-option v-for="option in baseInfoList" :key="option.accountAuthor" :label="option.accountName"
+                                   :value="option.accountAuthor"></el-option>
+                      </el-select>
+                    </div>
+                    <div v-else>
+                      <el-select v-model="scope.row.accountAuthor" disabled placeholder="请选择">
+                        <el-option v-for="option in baseInfoList" :key="option.accountAuthor" :label="option.accountName"
+                                   :value="option.accountAuthor"></el-option>
+                      </el-select>
+                    </div>
+                  </template>
+                </el-table-column>
                 <el-table-column prop="socialNo" label="身份证号" width="180">
                   <template v-slot="scope">
                     <el-input v-if="scope.row.isEdit" size="small" v-model="scope.row.socialNo"></el-input>
@@ -94,6 +110,22 @@
               <el-table :data="eleventhData" border style="width: 100%; height: 100%" stripe highlight-current-row :key="eleventhKey">
                 <el-table-column type="index" prop="no" label="序号" width="80" />
                 <el-table-column prop="id" label="id号" width="80" v-if="false"/>
+                <el-table-column prop="accountAuthor" label="姓名" width="120">
+                  <template v-slot="scope">
+                    <div v-if="scope.row.isEdit">
+                      <el-select v-model="scope.row.accountAuthor" clearable placeholder="请选择" @change="authorCharge(scope.row)">
+                        <el-option v-for="option in baseInfoList" :key="option.accountAuthor" :label="option.accountName"
+                                   :value="option.accountAuthor"></el-option>
+                      </el-select>
+                    </div>
+                    <div v-else>
+                      <el-select v-model="scope.row.accountAuthor" disabled placeholder="请选择">
+                        <el-option v-for="option in baseInfoList" :key="option.accountAuthor" :label="option.accountName"
+                                   :value="option.accountAuthor"></el-option>
+                      </el-select>
+                    </div>
+                  </template>
+                </el-table-column>
                 <el-table-column prop="socialNo" label="身份证号" width="180">
                   <template v-slot="scope">
                     <el-input v-if="scope.row.isEdit" size="small" v-model="scope.row.socialNo"></el-input>
@@ -159,6 +191,22 @@
               <el-table :data="fifteenthData" border style="width: 100%; height: 100%" stripe highlight-current-row :key="fifteenthKey">
                 <el-table-column type="index" prop="no" label="序号" width="80" />
                 <el-table-column prop="id" label="id号" width="80" v-if="false"/>
+                <el-table-column prop="accountAuthor" label="姓名" width="120">
+                  <template v-slot="scope">
+                    <div v-if="scope.row.isEdit">
+                      <el-select v-model="scope.row.accountAuthor" clearable filterable placeholder="请选择" @change="authorCharge(scope.row)">
+                        <el-option v-for="option in baseInfoList" :key="option.accountAuthor" :label="option.accountName"
+                                   :value="option.accountAuthor"></el-option>
+                      </el-select>
+                    </div>
+                    <div v-else>
+                      <el-select v-model="scope.row.accountAuthor" disabled placeholder="请选择">
+                        <el-option v-for="option in baseInfoList" :key="option.accountAuthor" :label="option.accountName"
+                                   :value="option.accountAuthor"></el-option>
+                      </el-select>
+                    </div>
+                  </template>
+                </el-table-column>
                 <el-table-column prop="socialNo" label="身份证号" width="180">
                   <template v-slot="scope">
                     <el-input v-if="scope.row.isEdit" size="small" v-model="scope.row.socialNo"></el-input>
@@ -251,7 +299,7 @@ import {QuestionFilled} from "@element-plus/icons-vue";
 import {
   selectTechnologyArchives8, saveTechnologyArchives8, delTechnologyArchives8ByCode,
   selectTechnologyArchives11, saveTechnologyArchives11, delTechnologyArchives11ByCode,
-  selectTechnologyArchives15, saveTechnologyArchives15, delTechnologyArchives15ByCode, selectEmployeeInfo
+  selectTechnologyArchives15, saveTechnologyArchives15, delTechnologyArchives15ByCode, selectTechnologyArchivesMainDict
 } from "@/api/technology-archives/technology-archives";
 import {useUserStore} from "@/pinia/user-store";
 
@@ -267,42 +315,33 @@ const permissionsOptions = [{ code: '1', name: '临床技能' }, { code: '2', na
   { code: '9', name: '麻精处方' }, { code: '10', name: '抗菌素处方分级' }]
 onMounted(() => {
   nextTick(() => {
-    queryEmployeeInfo()
+    queryTechnologyArchivesMainDict()
     queryTechnologyArchives8()
   })
 })
 
-let baseInfoForm = ref({
-  modeFlag: '', // 模式:edit 编辑; add 新增
-  name: '', // 姓名
-  sex: '', // 性别
-  socialNo: '', // 身份证号码
-  nation: '', // 民族
-  birthday: '', // 出生年月
-  nativePlace: '', // 籍贯
-  politicCountenance: '', // 政治面貌
-  education: '', // 最高学历
-  speciality: '', // 专业
-  graduationSchool: '', // 毕业学校
-  firstWorktime: '', // 参加工作时间
-  position: '', // 职务
-  address: '', // 现住地址
-  healthCondition: '', // 健康状况
-  phone: '', // 联系电话
-  physicianCertificate: '', // 医师资格证
-  physicianCertificateTime: '', // 医师资格证获取时间
-  physicianPracticingCertificate: '', // 医生执业证书
-  physicianPracticingCertificateTime: '', // 医生执业证书获取时间
-})
-const queryEmployeeInfo = () => {
-  selectEmployeeInfo(userInfo.code)
+let baseInfoList = ref([])
+const queryTechnologyArchivesMainDict = () => {
+  selectTechnologyArchivesMainDict()
     .then((res) => {
       if(res){
-        baseInfoForm.value = res
+        baseInfoList.value = res
       }
     })
 }
 
+const authorCharge = (row) => {
+  if(row.accountAuthor){
+    let ac = baseInfoList.value.filter((item) => {
+      return item.accountAuthor === row.accountAuthor
+    })
+    if(ac[0]){
+      row.socialNo = ac[0].socialNo
+      row.accountName = ac[0].accountName
+    }
+  }
+}
+
 // 切换tab
 const handleClick = (tab) => {
   // 查询哪个tab页面
@@ -372,7 +411,9 @@ const queryTechnologyArchives15 = () => {
 const onAddItem = () => {
   if (editableTabsValue.value === 'eighthInfo') {
     eighthData.value.push({
-      socialNo: baseInfoForm.value.socialNo,
+      accountAuthor: '',
+      accountName: '',
+      socialNo: '',
       time: '',
       name: '',
       opName: '',
@@ -384,7 +425,9 @@ const onAddItem = () => {
     })
   } else if (editableTabsValue.value === 'eleventhInfo') {
     eleventhData.value.push({
-      socialNo: baseInfoForm.value.socialNo,
+      accountAuthor: '',
+      accountName: '',
+      socialNo: '',
       time: '',
       record: '',
       comment: '',
@@ -393,7 +436,9 @@ const onAddItem = () => {
     })
   } else if (editableTabsValue.value === 'fifteenthInfo') {
     fifteenthData.value.push({
-      socialNo: baseInfoForm.value.socialNo,
+      accountAuthor: '',
+      accountName: '',
+      socialNo: '',
       time: '',
       name: '',
       content: '',