浏览代码

专家库调整

yanghao 4 天之前
父节点
当前提交
dd6514bb87
共有 3 个文件被更改,包括 41 次插入 和 25 次删除
  1. 3 1
      src/utils/dict.ts
  2. 8 6
      src/views/researchProject/breakdown/index.vue
  3. 30 18
      src/views/researchProject/list/index.vue

+ 3 - 1
src/utils/dict.ts

@@ -277,5 +277,7 @@ export enum DICT_TYPE {
   // 科研项目
   PROJECT_TYPE = 'rd_project_type', // 项目类型
   // 项目级别
-  PROJECT_LEVEL = 'rd_project_level'
+  PROJECT_LEVEL = 'rd_project_level',
+  // 执行单位
+  EXECUTION_UNIT = 'execution_unit'
 }

+ 8 - 6
src/views/researchProject/breakdown/index.vue

@@ -36,7 +36,11 @@
         </template>
       </zm-table-column>
       <zm-table-column label="生效日期" prop="projectDate" width="120">
-        <template #default="{ row }">{{ formatDate(row.projectDate) }}</template>
+        <template #default="scope">
+          <span v-if="scope.row.projectDate">
+            {{ formatToDate(scope.row.projectDate) }}
+          </span>
+        </template>
       </zm-table-column>
       <zm-table-column label="任务数" prop="taskTotal" width="90" align="center" />
       <zm-table-column label="操作" width="200" fixed="right" align="center">
@@ -140,9 +144,7 @@
     destroy-on-close
   >
     <div class="drawer-header">
-      <span
-        >项目负责人:{{ currentProject?.projectLeader }} · 已分解 {{ taskTree.length }} 个任务</span
-      >
+      <span>共 {{ taskTree.length }} 个任务</span>
       <el-button
         type="primary"
         style="background-color: #1560fc"
@@ -172,7 +174,7 @@
           <!-- 将 div 换成 span,并设为 flex 布局 -->
           <span class="task-name">
             <span>{{ row.taskName }}</span>
-            <el-tag v-if="row.level === 3" type="info" effect="plain" size="small">末级</el-tag>
+            <!-- <el-tag v-if="row.level === 3" type="info" effect="plain" size="small">末级</el-tag> -->
           </span>
         </template>
       </el-table-column>
@@ -243,7 +245,7 @@ import {
   updateTask as updateTaskApi,
   deleteTask as deleteTaskApi
 } from '@/api/project-task'
-
+import { formatToDate } from '@/utils/dateUtil'
 defineOptions({ name: 'ResearchProjectBreakdown' })
 
 // ========== 项目列表 ==========

+ 30 - 18
src/views/researchProject/list/index.vue

@@ -60,12 +60,17 @@
         </template>
       </zm-table-column>
 
-      <zm-table-column
-        label="执行单位"
-        prop="executingUnitName"
-        min-width="180"
-        show-overflow-tooltip
-      />
+      <zm-table-column label="执行单位" min-width="180" show-overflow-tooltip>
+        <template #default="scope">
+          <dict-tag
+            class="mr-5px"
+            v-for="(item, index) in scope.row.executingUnit"
+            :key="index"
+            :type="DICT_TYPE.EXECUTION_UNIT"
+            :value="item"
+          />
+        </template>
+      </zm-table-column>
       <zm-table-column label="项目级别" prop="projectLevel" min-width="150">
         <template #default="scope">
           <dict-tag :type="DICT_TYPE.PROJECT_LEVEL" :value="scope.row.projectLevel" />
@@ -170,18 +175,19 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="执行单位" prop="executingUnit">
-            <el-tree-select
-              clearable
+            <el-select
               v-model="formData.executingUnit"
-              :data="deptList"
-              :props="defaultProps"
-              :check-strictly="true"
-              node-key="id"
-              filterable
               multiple
               placeholder="请选择执行单位"
-              class="w-full"
-            />
+              clearable
+            >
+              <el-option
+                v-for="dict in getIntDictOptions(DICT_TYPE.EXECUTION_UNIT)"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="12">
@@ -455,7 +461,13 @@
           />
         </el-descriptions-item>
         <el-descriptions-item label="执行单位">
-          {{ detailData.executingUnitName || '-' }}
+          <dict-tag
+            class="mr-5px"
+            v-for="(item, index) in detailData.executingUnit"
+            :key="index"
+            :type="DICT_TYPE.EXECUTION_UNIT"
+            :value="item"
+          />
         </el-descriptions-item>
         <el-descriptions-item label="项目负责人">
           {{ detailData.projectLeader }}
@@ -603,7 +615,7 @@
 <script setup lang="ts">
 import { computed, reactive, ref, onMounted } from 'vue'
 import { ElMessage, ElMessageBox, type FormRules } from 'element-plus'
-import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
+import { DICT_TYPE, getStrDictOptions, getIntDictOptions } from '@/utils/dict'
 import { getSimpleDeptList } from '@/api/system/dept'
 import {
   getProjectPage,
@@ -616,7 +628,7 @@ import {
   approvePre,
   approveFormal
 } from '@/api/project'
-import { formatToDateTime, formatToDate } from '@/utils/dateUtil'
+import { formatToDate } from '@/utils/dateUtil'
 
 defineOptions({ name: 'ResearchProjectList' })