瀏覽代碼

Merge branch 'master' of http://1.71.9.215:3000/feiyi/cbjsxt-front-master

shiyanyu 2 周之前
父節點
當前提交
882781cbd5

+ 0 - 6
src/views/costAudit/auditInfo/archivesManage/ArchiveDetail.vue

@@ -66,9 +66,6 @@
       nextStep() {
         if (this.currentStep < 2) {
           this.currentStep++
-        } else {
-          this.$message.success('归档完成')
-          this.backToList()
         }
       },
       prevStep() {
@@ -78,9 +75,6 @@
       },
       completeArchive() {
         // 归档确认已在 ArchivePreview 组件中处理
-        this.backToList()
-      },
-      backToList() {
         this.$emit('back')
       },
     },

+ 2 - 1
src/views/costAudit/auditInfo/archivesManage/ArchivePreview.vue

@@ -13,7 +13,7 @@
         <el-button style="margin-right: 10px" @click="handlePrevStep">
           上一步
         </el-button>
-        <el-button type="success" @click="handleComplete">完成</el-button>
+        <el-button type="success" @click="handleComplete">归档完成</el-button>
       </div>
     </div>
 
@@ -328,6 +328,7 @@
               const response = await queConfirmArchive(this.taskId)
               if (response && response.success !== false) {
                 this.$message.success(response.message || '归档成功')
+                // 关闭弹窗并刷新主页面列表
                 this.$emit('complete')
               } else {
                 this.$message.error(response.message || '归档失败')

+ 73 - 95
src/views/costAudit/auditInfo/archivesManage/archiveList.vue

@@ -14,10 +14,21 @@
             ></el-date-picker>
           </el-form-item>
 
-          <el-form-item label="监审项目名称:">
+          <el-form-item label="地区:" prop="region">
+            <el-select
+              v-model="searchForm.region"
+              placeholder="请选择地区"
+              clearable
+              style="width: 150px"
+            >
+              <el-option label="山西省" value="山西省"></el-option>
+            </el-select>
+          </el-form-item>
+
+          <el-form-item label="卷宗号:" prop="archiveNo">
             <el-input
-              v-model="searchForm.projectName"
-              placeholder="请输入监审项目名称"
+              v-model="searchForm.archiveNo"
+              placeholder="请输入卷宗号"
               clearable
               style="width: 200px"
             ></el-input>
@@ -29,15 +40,7 @@
               icon="el-icon-search"
               @click="handleSearch"
             >
-              搜索
-            </el-button>
-            <el-button
-              plain
-              type="primary"
-              icon="el-icon-refresh"
-              @click="handleReset"
-            >
-              重置
+              查询
             </el-button>
           </el-form-item>
         </el-form>
@@ -49,25 +52,15 @@
         :data="tableData"
         style="width: 100%"
         border
-        default-expand-all
         row-key="id"
-        :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
       >
         <el-table-column
           type="index"
           label="序号"
-          width="80"
+          width="60"
           header-align="center"
           align="center"
-        >
-          <template slot-scope="scope">
-            <!-- 只显示父节点的序号 -->
-            <span v-if="scope.row.children || !scope.row.isSubTask">
-              {{ getParentNodeIndex(scope.row) }}
-            </span>
-            <span v-else></span>
-          </template>
-        </el-table-column>
+        />
         <el-table-column
           prop="year"
           label="立项年度"
@@ -76,11 +69,27 @@
           align="center"
         />
         <el-table-column
+          prop="region"
+          label="立项地区"
+          width="100"
+          header-align="center"
+          align="center"
+        />
+        <el-table-column
+          prop="archiveNo"
+          label="卷宗号"
+          width="150"
+          header-align="center"
+          align="center"
+          show-overflow-tooltip
+        />
+        <el-table-column
           prop="projectName"
           label="成本监审项目名称"
           show-overflow-tooltip
           header-align="center"
           align="left"
+          min-width="180"
         >
           <template slot-scope="scope">
             <div class="cell-content cell-content--left">
@@ -95,44 +104,45 @@
           label="监审对象"
           header-align="center"
           align="left"
+          min-width="150"
         />
         <el-table-column
           prop="auditPeriod"
           label="监审期间"
           header-align="center"
           align="center"
-          width="200"
-        />
-        <el-table-column
-          prop="source"
-          label="立项来源"
-          header-align="center"
-          align="center"
-          width="120"
+          width="150"
         />
         <el-table-column
-          prop="form"
-          label="监审形式"
+          prop="archiver"
+          label="归档人"
+          width="100"
           header-align="center"
           align="center"
-          width="120"
         />
-        <el-table-column label="操作" align="center" width="200" fixed="right">
+        <el-table-column label="操作" align="center" width="180" fixed="right">
           <template slot-scope="scope">
             <span class="action-buttons">
               <el-button
                 type="text"
                 size="small"
-                @click="handleTaskDetail(scope.row)"
+                @click="handleView(scope.row)"
               >
                 任务详情
               </el-button>
               <el-button
                 type="text"
                 size="small"
-                @click="handleView(scope.row)"
+                @click="handleDownload(scope.row)"
+              >
+                回归档
+              </el-button>
+              <el-button
+                type="text"
+                size="small"
+                @click="handleDelete(scope.row)"
               >
-                查看
+                下载
               </el-button>
             </span>
           </template>
@@ -167,7 +177,8 @@
       return {
         searchForm: {
           projectYear: '2025',
-          projectName: '',
+          region: '',
+          archiveNo: '',
         },
         loading: false,
         tableData: [],
@@ -184,18 +195,6 @@
       this.fetchData()
     },
     methods: {
-      // 获取父节点的连续序号
-      getParentNodeIndex(row) {
-        // 过滤出所有父节点
-        const parentNodes = this.tableData.filter(
-          (item) =>
-            (item.children && item.children.length > 0) || !item.isSubTask
-        )
-        // 找到当前行在父节点数组中的索引
-        const index = parentNodes.findIndex((item) => item.id === row.id)
-        // 返回序号(索引+1)
-        return index + 1
-      },
       // 获取数据
       async fetchData() {
         try {
@@ -204,7 +203,8 @@
             currentPage: this.pagination.currentPage,
             pageSize: this.pagination.pageSize,
             projectYear: this.searchForm.projectYear,
-            projectName: this.searchForm.projectName,
+            region: this.searchForm.region,
+            archiveNo: this.searchForm.archiveNo,
             isGd: 1, // 已归档
           }
           const response = await getArchiveList(params)
@@ -213,35 +213,25 @@
           if (response && response.value) {
             // 获取记录列表
             const records = response.value.records || []
-            // 转换数据格式,将childTasks转换为children以适应表格组件
-            this.tableData = records.map((record) => {
+            // 只加载第一级数据,过滤掉子任务
+            const firstLevelRecords = records.filter(
+              (record) => !record.pid || record.pid === '0'
+            )
+
+            // 转换数据格式
+            this.tableData = firstLevelRecords.map((record) => {
               return {
                 id: record.id,
                 year: record.projectYear || record.year || '',
+                region: record.region || '',
+                archiveNo: record.archiveNo || '',
                 projectName: record.projectName,
                 auditObject: record.auditedUnitName || record.auditObject || '',
                 auditPeriod: record.auditPeriod || '',
-                source: this.getSourceTypeText(record.sourceType),
-                form: this.getAuditTypeText(record.auditType),
-                isSubTask: record.pid && record.pid !== '0',
+                archiver: record.archiver || '',
                 projectId: record.projectId,
                 auditedUnitId: record.auditedUnitId,
                 taskId: record.id,
-                children: record.childTasks
-                  ? record.childTasks.map((child) => ({
-                      id: child.id,
-                      year: '',
-                      projectName: child.projectName,
-                      auditObject: child.auditedUnitName || '',
-                      auditPeriod: record.auditPeriod || '', // 子任务可能使用父任务的审核期间
-                      source: '',
-                      form: '',
-                      isSubTask: true,
-                      projectId: child.projectId,
-                      auditedUnitId: child.auditedUnitId,
-                      taskId: child.id,
-                    }))
-                  : [],
               }
             })
             // 设置总数
@@ -259,22 +249,6 @@
           this.loading = false
         }
       },
-      // 获取来源类型文本
-      getSourceTypeText(type) {
-        const typeMap = {
-          1: '年度计划内',
-          2: '年度计划外',
-        }
-        return typeMap[type] || type || ''
-      },
-      // 获取审核类型文本
-      getAuditTypeText(type) {
-        const typeMap = {
-          1: '定期监审',
-          2: '定调价监审',
-        }
-        return typeMap[type] || type || ''
-      },
       handleSearch() {
         this.pagination.currentPage = 1
         this.fetchData()
@@ -282,7 +256,8 @@
       handleReset() {
         this.searchForm = {
           projectYear: '2025',
-          projectName: '',
+          region: '',
+          archiveNo: '',
         }
         this.pagination.currentPage = 1
         this.fetchData()
@@ -301,14 +276,17 @@
         // 可以在这里处理详情点击
         console.log('详情:', row)
       },
-      handleTaskDetail(row) {
+      handleView(row) {
         // 打开任务详情弹窗
         this.$refs.taskDetail.open(row, 'chengben')
       },
-      handleView(row) {
-        // 查看操作,可以打开查看弹窗或跳转
-        console.log('查看:', row)
-        this.$message.info('查看功能待实现')
+      handleDownload(row) {
+        // 回归档操作
+        this.$message.info('回归档功能待实现')
+      },
+      handleDelete(row) {
+        // 下载操作
+        this.$message.info('下载功能待实现')
       },
       backToList() {
         this.activeTab = 'list'

+ 1 - 0
src/views/costAudit/auditInfo/archivesManage/pendingArchiveList.vue

@@ -287,6 +287,7 @@
       },
 
       handleArchiveDrawerClose() {
+        this.fetchData()
         this.archiveDrawerVisible = false
         this.currentArchiveTaskId = ''
       },

+ 3 - 3
src/views/costAudit/baseInfo/statistics/components/TaskCustomizedReleaseDialog.vue

@@ -101,7 +101,7 @@
 
           <!-- 报送资料要求 -->
           <el-tab-pane label="报送资料要求" name="material">
-            <materialTab :project="project" :is-view="isView" />
+            <MaterialTab :project="project" :is-view="isView" />
           </el-tab-pane>
 
           <!-- 成本调查表 -->
@@ -138,7 +138,7 @@
 <script>
   import UploadComponent from '@/components/costAudit/UploadComponent.vue'
   import basicInfoTab from './BasicInfoTab.vue'
-  import materialTab from './materialTab.vue'
+  import MaterialTab from './materialTab.vue'
   import surveyTab from './surveyTab.vue'
   import workflowTab from './workflowTab.vue'
   import auditNoticeTab from './auditNoticeTab.vue'
@@ -153,7 +153,7 @@
     components: {
       UploadComponent,
       basicInfoTab,
-      materialTab,
+      MaterialTab,
       surveyTab,
       workflowTab,
       auditNoticeTab,

+ 33 - 4
src/views/costAudit/baseInfo/statistics/comprehensiveQuery.vue

@@ -33,12 +33,28 @@
           ></el-date-picker>
         </el-form-item>
         <el-form-item label="被监审单位:">
-          <el-input
+          <!-- <el-input
             v-model="searchForm.auditedUnitName"
             placeholder="请输入被监审单位"
             style="width: 200px"
             clearable
-          ></el-input>
+          ></el-input> -->
+          <el-select
+            v-model="searchForm.auditedUnitId"
+            placeholder="请选择被监审单位"
+            style="width: 200px"
+            clearable
+            filterable
+            allow-create
+            default-first-option
+          >
+            <el-option
+              v-for="item in auditedUnitOptions"
+              :key="item.unitId"
+              :label="item.unitName"
+              :value="item.unitId"
+            ></el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="立项年度:">
           <el-date-picker
@@ -228,7 +244,7 @@
   import TaskCustomizedReleaseDialog from '@/components/task/TaskCustomizedReleaseDialog.vue'
   import cbjsInfo from './components/cbjsInfo.vue'
   import { getCostProjectDetail } from '@/api/taskCustomizedRelease.js'
-
+  import { getAllUnitList } from '@/api/auditEntityManage.js'
   export default {
     name: 'ComprehensiveQuery',
     components: {
@@ -246,7 +262,7 @@
           projectName: '',
           startYear: '',
           endYear: '',
-          auditedUnitName: '',
+          auditedUnitId: '',
           year: '',
         },
         // 表格数据
@@ -268,12 +284,25 @@
         cbjsInfoVisible: false,
         cbjsInfoData: null,
         loading: false,
+        auditedUnitOptions: [],
       }
     },
     mounted() {
+      this.getOptions()
       this.handleQuery()
     },
     methods: {
+      getOptions() {
+        getAllUnitList()
+          .then((res) => {
+            if (res && res.value) {
+              this.auditedUnitOptions = res.value
+            }
+          })
+          .catch((e) => {
+            console.warn('获取单位列表失败', e)
+          })
+      },
       // 加载项目列表(优化分页数据处理)
       async handleQuery() {
         try {

+ 55 - 2
src/views/costAudit/baseInfo/statistics/historyAnalysis.vue

@@ -11,6 +11,7 @@
           filterable
           allow-create
           default-first-option
+          @change="handleProjectChange"
         >
           <el-option
             v-for="item in projectOptions"
@@ -29,9 +30,10 @@
           filterable
           allow-create
           default-first-option
+          :disabled="!searchForm.projectId"
         >
           <el-option
-            v-for="item in auditedUnitOptions"
+            v-for="item in projectAuditedUnitOptions"
             :key="item.unitId"
             :label="item.unitName"
             :value="item.unitId"
@@ -187,6 +189,8 @@
         selectedIndicators: [],
         // 原始数据源(用于过滤)
         rawDataSource: null,
+        // 项目被监审单位选项
+        projectAuditedUnitOptions: [],
         // 分页相关属性
         trendTotalPages: 0,
         trendCurrentPage: 1,
@@ -206,7 +210,7 @@
     },
     mounted() {
       this.initCharts()
-      this.updateChartData()
+      // this.updateChartData()
     },
     beforeDestroy() {
       // 组件销毁时停止轮播,避免内存泄漏
@@ -214,6 +218,55 @@
       this.pauseCompositionCarousel()
     },
     methods: {
+      handleProjectChange() {
+        // 清空之前的选择
+        this.searchForm.auditedUnitId = ''
+        this.searchForm.auditedUnitName = ''
+        this.searchForm.startYear = ''
+        this.searchForm.endYear = ''
+        this.projectAuditedUnitOptions = []
+
+        if (this.searchForm.projectId) {
+          // 获取项目的被监审单位,监审期间
+          const selectedProject = this.projectOptions.find(
+            (item) => item.projectId === this.searchForm.projectId
+          )
+
+          if (selectedProject) {
+            // 设置被监审单位选项
+            if (selectedProject.auditedUnitId) {
+              const unit = selectedProject.auditedUnitId.split(',')
+              this.auditedUnitOptions.forEach((item) => {
+                if (unit.includes(item.unitId)) {
+                  this.projectAuditedUnitOptions.push(item)
+                }
+              })
+            }
+
+            // 设置监审期间
+            if (selectedProject.auditPeriod) {
+              if (typeof selectedProject.auditPeriod === 'string') {
+                const auditPeriod = selectedProject.auditPeriod
+                  .split(',')
+                  .map((year) => year.trim())
+                // 转换为数字并过滤无效年份
+                const yearNumbers = auditPeriod
+                  .map((year) => parseInt(year, 10))
+                  .filter((year) => !isNaN(year) && year > 0)
+
+                if (yearNumbers.length > 0) {
+                  // 计算最小和最大年份
+                  const start = Math.min(...yearNumbers)
+                  const end = Math.max(...yearNumbers)
+                  // 确保赋值为字符串类型
+                  this.searchForm.startYear = start.toString()
+                  this.searchForm.endYear = end.toString()
+                }
+              }
+            }
+          }
+        }
+      },
       // 初始化图表
       initCharts() {
         this.initTrendChart()

+ 1 - 0
src/views/costAudit/baseInfo/statistics/index.js

@@ -212,6 +212,7 @@ export const comprehensiveMixin = {
         .then((res) => {
           if (!this.isDestroyed && res && res.value) {
             this.projectOptions = res.value
+            console.log('项目列表:', this.projectOptions)
           }
         })
         .catch((e) => {

+ 88 - 86
src/views/costAudit/baseInfo/statistics/industryAnalysis.vue

@@ -92,31 +92,17 @@
             <div class="custom-list">
               <div class="list-header">项目</div>
               <div class="list-content">
-                <div v-if="leftDataItems && leftDataItems.length > 0">
-                  <div v-for="item in leftDataItems" :key="item.id">
-                    <div
-                      class="list-item level-0"
-                      :class="{ selected: isSelected(item.id, 'left') }"
-                      @click="selectItem(item.id, 'left')"
-                    >
-                      <span class="item-label">{{ item.label }}</span>
-                    </div>
-                    <div
-                      v-if="item.children && item.children.length > 0"
-                      class="list-children"
-                    >
-                      <div
-                        v-for="child in item.children"
-                        :key="child.id"
-                        class="list-item level-1"
-                        :class="{ selected: isSelected(child.id, 'left') }"
-                        @click="selectItem(child.id, 'left')"
-                      >
-                        <span class="item-label">{{ child.label }}</span>
-                      </div>
-                    </div>
-                  </div>
-                </div>
+                <el-tree
+                  v-if="leftDataItems && leftDataItems.length > 0"
+                  ref="leftIndicatorTree"
+                  class="indicator-tree"
+                  :data="leftDataItems"
+                  show-checkbox
+                  node-key="id"
+                  :props="treeProps"
+                  :check-strictly="true"
+                  @check="handleLeftCheck"
+                ></el-tree>
                 <Empty v-else description="暂无数据"></Empty>
               </div>
             </div>
@@ -354,6 +340,10 @@
         rightProportionAllData: [],
         rightProportionTotalPages: 0,
         rightProportionCurrentPage: 1,
+        treeProps: {
+          children: 'children',
+          label: 'label',
+        },
       }
     },
     computed: {
@@ -422,7 +412,7 @@
       // 初始化图表
       this.initCharts()
       // 加载初始数据
-      this.loadInitialData()
+      // this.loadInitialData()
       // 监听窗口大小变化,调整图表大小
       window.addEventListener('resize', this.handleResize)
     },
@@ -920,6 +910,16 @@
         }
       },
 
+      // 左侧树选中变更
+      handleLeftCheck() {
+        const checkedKeys =
+          this.$refs.leftIndicatorTree?.getCheckedKeys?.() || []
+        this.leftSelectedItems = checkedKeys
+          .map((id) => this.findItemById(id, 'left'))
+          .filter(Boolean)
+        this.updateLeftChartsBySelection()
+      },
+
       // 判断节点是否被选中
       isSelected(id, type = 'left') {
         const selectedItems =
@@ -1060,14 +1060,16 @@
         }
       },
 
-      // 获取树的父级(拥有子节点)id 列表
+      // 获取根节点(parentId 为 -1)的 id 列表与节点列表(与 history 页一致)
       getParentIds(tree = []) {
         const ids = []
         const items = []
         const dfs = (node) => {
-          if (node.children && node.children.length > 0) {
+          if (String(node.parentId) === '-1') {
             ids.push(node.id)
             items.push(node)
+          }
+          if (node.children && node.children.length > 0) {
             node.children.forEach(dfs)
           }
         }
@@ -1075,16 +1077,6 @@
         return { ids, items }
       },
 
-      // 获取根节点(parentId 为 -1 或未定义)的列表
-      getRootItems(tree = []) {
-        return (tree || []).filter(
-          (item) =>
-            item.parentId === '-1' ||
-            item.parentId === null ||
-            item.parentId === undefined
-        )
-      },
-
       // 加载初始数据和树形结构
       async loadInitialData() {
         // 如果组件已销毁,不执行查询
@@ -1123,27 +1115,26 @@
           // 构建左右侧指标树结构
           this.leftDataItems = this.buildIndicatorTree(dedupedList)
           this.rightDataItems = this.buildIndicatorTree(dedupedList)
-          // 设置默认选中状态
-          setTimeout(() => {
-            // 从数据中获取所有父级节点作为默认选中项
-            if (this.leftDataItems && this.leftDataItems.length > 0) {
+          // 设置默认选中状态(左侧与 history 页一致)
+          this.$nextTick(() => {
+            this.setLeftDefaultSelection()
+            if (this.rightDataItems && this.rightDataItems.length > 0) {
               const { items: parentItems } = this.getParentIds(
-                this.leftDataItems
+                this.rightDataItems
               )
-
-              // 设置左右侧默认选中项(单选,优先第一个父级,否则第一个节点)
               const defaultItem =
-                parentItems.length > 0 ? parentItems[0] : this.leftDataItems[0]
-              this.leftSelectedItems = defaultItem ? [defaultItem] : []
+                parentItems.length > 0
+                  ? parentItems[0]
+                  : this.rightDataItems[0] || null
               this.rightSelectedItems = defaultItem ? [defaultItem] : []
-
-              // 更新图表
-              if (!this.isDestroyed) {
-                this.updateLeftChartsBySelection()
-                this.updateRightChartsBySelection()
-              }
+            } else {
+              this.rightSelectedItems = []
+            }
+            if (!this.isDestroyed) {
+              this.updateLeftChartsBySelection()
+              this.updateRightChartsBySelection()
             }
-          }, 100)
+          })
         } catch (error) {
           // 如果是请求中止错误,静默处理
           if (error && error.message && !error.message.includes('aborted')) {
@@ -1204,25 +1195,9 @@
           this.leftDataSource = normalizedDataSource
           // 更新左侧指标树结构
           this.leftDataItems = this.buildIndicatorTree(dedupedList)
-          // 校验原选中项;无效则清空
-          if (this.leftSelectedItems.length > 0) {
-            const selectedId = this.leftSelectedItems[0].id
-            const found = this.findItemById(selectedId, 'left')
-            if (!found) {
-              this.leftSelectedItems = []
-            }
-          }
-          // 若无选中项,默认选中 parentId 为 -1 的根节点(单选),否则用第一个节点
-          if (this.leftSelectedItems.length === 0) {
-            const rootItems = this.getRootItems(this.leftDataItems)
-            const defaultItem =
-              (rootItems && rootItems.length > 0
-                ? rootItems[0]
-                : this.leftDataItems && this.leftDataItems.length > 0
-                ? this.leftDataItems[0]
-                : null) || null
-            this.leftSelectedItems = defaultItem ? [defaultItem] : []
-          }
+          this.$nextTick(() => {
+            this.setLeftDefaultSelection()
+          })
           // 重置左侧占比轮播页
           this.leftProportionCurrentPage = 1
           // 根据选中的项更新图表
@@ -1299,7 +1274,7 @@
           }
           // 若无选中项,默认选中 parentId 为 -1 的根节点(单选),否则用第一个节点
           if (this.rightSelectedItems.length === 0) {
-            const rootItems = this.getRootItems(this.rightDataItems)
+            const { items: rootItems } = this.getParentIds(this.rightDataItems)
             const defaultItem =
               (rootItems && rootItems.length > 0
                 ? rootItems[0]
@@ -1336,25 +1311,44 @@
           endYear: '2025',
         }
         // 重置左侧树形选择
-        if (this.$refs.leftDataTree) {
-          this.$refs.leftDataTree.clearChecked()
-        }
-        // 重置后默认选中第一个父级节点(单选)
-        if (this.leftDataItems && this.leftDataItems.length > 0) {
-          const { items: parentItems } = this.getParentIds(this.leftDataItems)
-          const defaultItem =
-            parentItems.length > 0 ? parentItems[0] : this.leftDataItems[0]
-          this.leftSelectedItems = defaultItem ? [defaultItem] : []
-        } else {
-          // 如果没有数据,清空选中项
-          this.leftSelectedItems = []
+        if (this.$refs.leftIndicatorTree) {
+          this.$refs.leftIndicatorTree.clearChecked()
         }
+        // 重置后默认选中(与 history 页一致)
+        this.setLeftDefaultSelection()
         // 重置左侧图表
         this.leftProportionCurrentPage = 1
         this.updateLeftTrendChart()
         this.updateLeftProportionChart()
       },
 
+      // 左侧默认选中:优先根节点(parentId 为 -1),否则第一个叶子
+      setLeftDefaultSelection() {
+        if (!this.$refs.leftIndicatorTree || !this.leftDataItems.length) {
+          this.leftSelectedItems = []
+          return
+        }
+        const { ids: parentIds } = this.getParentIds(this.leftDataItems)
+        if (parentIds.length > 0) {
+          this.leftSelectedItems = parentIds
+            .map((id) => this.findItemById(id, 'left'))
+            .filter(Boolean)
+          this.$refs.leftIndicatorTree.setCheckedKeys(parentIds)
+          return
+        }
+        const leafIds = this.getLeafIds(this.leftDataItems)
+        if (leafIds.length > 0) {
+          const firstLeaf = leafIds[0]
+          this.leftSelectedItems = [
+            this.findItemById(firstLeaf, 'left'),
+          ].filter(Boolean)
+          this.$refs.leftIndicatorTree.setCheckedKeys([firstLeaf])
+        } else {
+          this.leftSelectedItems = []
+          this.$refs.leftIndicatorTree.setCheckedKeys([])
+        }
+      },
+
       // 右侧重置按钮点击事件
       handleRightReset() {
         // 重置右侧搜索表单
@@ -1451,6 +1445,14 @@
     overflow-x: hidden;
   }
 
+  .indicator-tree {
+    border: 1px solid #e8e8e8;
+    height: 500px;
+    max-height: 500px;
+    overflow-y: auto;
+    overflow-x: hidden;
+  }
+
   .chart-section {
     flex: 1;
     display: flex;

+ 9 - 1
src/views/costAudit/projectInfo/auditTaskManage/taskCustomizedRelease/auditNoticeTab.vue

@@ -186,7 +186,7 @@
               <el-input
                 v-model="document.documentNumber"
                 placeholder="请选择通知书文号"
-                style="width: 80%"
+                style="width: 78%"
                 disabled
               ></el-input>
               <!-- disabled -->
@@ -813,6 +813,10 @@
                   // 获取当前时间,格式为YYYY-MM-DD
                   item.dataValue = moment(new Date()).format('YYYY-MM-DD')
                 }
+                if (item.pinyin.includes('JieLunBaoGaoChuangJianRiQi')) {
+                  // 获取当前时间,格式为YYYY-MM-DD
+                  item.dataValue = moment(new Date()).format('YYYY-MM-DD')
+                }
                 if (item.pinyin.includes('JianShenRenWuFaBuShiJian')) {
                   let dataValue = this.resCostDocumentTemplateFiles.find(
                     (item2) => item2.pinyin === 'JianShenRenWuFaBuShiJian'
@@ -954,6 +958,10 @@
                   // 获取当前时间,格式为YYYY-MM-DD
                   item.dataValue = moment(new Date()).format('YYYY-MM-DD')
                 }
+                if (item.pinyin.includes('JieLunBaoGaoChuangJianRiQi')) {
+                  // 获取当前时间,格式为YYYY-MM-DD
+                  item.dataValue = moment(new Date()).format('YYYY-MM-DD')
+                }
                 if (item.pinyin.includes('JianShenRenWuFaBuShiJian')) {
                   let dataValue = this.resCostDocumentTemplateFiles.find(
                     (item2) => item2.pinyin === 'JianShenRenWuFaBuShiJian'