Просмотр исходного кода

feat:成本监审辅助管理、监审项目管理的其他页面添加暂无数据组件
fix:年度监审项目监审地区跟监审主体关联,优化监审立项监审地区跟选择人员关联

luzhixia 3 недель назад
Родитель
Сommit
0fa152f089

+ 3 - 0
src/components/costAudit/CostAuditTable.vue

@@ -19,6 +19,9 @@
         @current-change="handleCurrentChange"
         @sort-change="handleSortChange"
       >
+        <template slot="empty">
+          <Empty></Empty>
+        </template>
         <!-- 多选列 -->
         <el-table-column
           v-if="showSelection"

+ 23 - 10
src/components/costAudit/EstablishmentDialog.vue

@@ -93,7 +93,7 @@
             clearable
           >
             <el-option
-              v-for="Org in OrgList"
+              v-for="Org in areaOrgList"
               :key="Org.id"
               :label="Org.name"
               :value="Org.id"
@@ -339,7 +339,9 @@
             <el-button v-if="type === 1" type="primary" @click="handleSave">
               保存
             </el-button>
-            <el-button @click="handleCancel">取消</el-button>
+            <el-button :disabled="false" @click="handleCancel">
+              {{ type == '2' ? '关闭' : '取消' }}
+            </el-button>
           </div>
         </el-form-item>
       </el-form>
@@ -410,6 +412,7 @@
         userList: [],
         unitList: [],
         OrgList: [],
+        areaOrgList: [],
         showUnitDialog: false, // 选择被监审单位弹窗
         showOrgDialog: false, // 选择监审主体弹窗
         dialogAddUnitVisible: false, // 新增单位弹窗
@@ -630,14 +633,6 @@
           this.updateAuditPeriodString()
         },
       },
-      // 'formData.areaCode': function(newVal) {
-      //   if (newVal) {
-      //     const region = this.getRegionByCode(newVal)
-      //     if (region) {
-      //       this.filterUser(region)
-      //     }
-      //   }
-      // }
     },
     mounted() {
       this.getAllUnitList()
@@ -668,6 +663,7 @@
         getOrgListByDemId({ demId }).then((res) => {
           if (res && res.code === 200) {
             this.OrgList = res.value || []
+            this.areaOrgList = this.OrgList
           }
         })
       },
@@ -738,6 +734,8 @@
           this.formData.areaCode = region.code
           // 筛选一下该地区的用户
           this.filterUser(region)
+          // 筛选一下该地区的主体
+          this.filterOrg(region)
         }
       },
       filterUser(region) {
@@ -755,6 +753,21 @@
           )
         }
       },
+      filterOrg(region) {
+        if (region.level == 0) {
+          this.areaOrgList = this.OrgList.filter(
+            (item) => item.provinceCode === region.code
+          )
+        } else if (region.level == 1) {
+          this.areaOrgList = this.OrgList.filter(
+            (item) => item.cityCode == region.code
+          )
+        } else if (region.level == 2) {
+          this.areaOrgList = this.OrgList.filter(
+            (item) => item.countyCode == region.code
+          )
+        }
+      },
 
       // 处理监审目录选择后的回调
       handleCatalogChange(value) {

+ 2 - 2
src/styles/costAudit.scss

@@ -19,10 +19,10 @@
 }
 // 删除按钮样式
 .delete-btn {
-  color: #fe6654; // 使用基础红色变量 $base-color-red
+  color: #ff6264; // 使用基础红色变量 $base-color-red
 }
 .table-description {
-  color: #fe6654;
+  color: #ff6264;
 }
 
 .mt20 {

+ 3 - 0
src/views/costAudit/baseInfo/auditDocManage/index.vue

@@ -54,6 +54,9 @@
       border
       style="width: 100%"
     >
+      <template slot="empty">
+        <Empty></Empty>
+      </template>
       <el-table-column
         prop="title"
         label="标题"

+ 4 - 0
src/views/costAudit/baseInfo/auditReviewDocManage/index.vue

@@ -87,6 +87,9 @@
           align="center"
           @selection-change="handleSelectionChange"
         >
+          <template slot="empty">
+            <Empty></Empty>
+          </template>
           <!-- 多选列 -->
           <el-table-column
             type="selection"
@@ -398,6 +401,7 @@
                 :files-list="formData.fileUrl"
                 action-url="/api/file/v1/tempUpload"
                 button-text="上传模板"
+                :is-disabled="isDisabled"
                 @removeFile="removeFile"
                 @saveFiles="saveFiles"
               />

+ 5 - 2
src/views/costAudit/baseInfo/catalogManage/index.vue

@@ -348,6 +348,9 @@
             </div>
           </template>
         </el-table-column>
+        <template slot="empty">
+          <Empty></Empty>
+        </template>
       </el-table>
 
       <!--添加、修改类别弹窗 -->
@@ -675,7 +678,7 @@
       <el-dialog
         :title="policyDialogTitle"
         :visible.sync="policyDialogVisible"
-        width="50%"
+        width="40%"
         :close-on-click-modal="false"
       >
         <el-form
@@ -723,7 +726,7 @@
           :table-data="formatterSelectFilesData"
           :columns="selectPolicyColumns"
           :table-props="{
-            maxHeight: '400',
+            maxHeight: '450',
           }"
           :show-selection="true"
           :show-pagination="true"

+ 6 - 1
src/views/costAudit/baseInfo/costFormManage/infoMaintain.vue

@@ -97,7 +97,12 @@
               category: 'costFormManage',
               action: 'edit',
             }" -->
-          <el-button type="text" size="small" @click="handleEdit(row)">
+          <el-button
+            v-if="row.status != '0'"
+            type="text"
+            size="small"
+            @click="handleEdit(row)"
+          >
             修改
           </el-button>
           <!-- v-region-permission="{

+ 3 - 0
src/views/costAudit/baseInfo/costVerifyManage/index.vue

@@ -81,6 +81,9 @@
         :default-sort="{ prop: 'createTime', order: 'descending' }"
         @selection-change="handleSelectionChange"
       >
+        <template slot="empty">
+          <Empty></Empty>
+        </template>
         <!-- :default-sort="{ prop: 'createTime', order: 'descending' }" -->
         <el-table-column
           type="selection"

+ 20 - 3
src/views/costAudit/projectInfo/auditProjectManage/annualReviewPlan/RegionSelector.vue

@@ -9,6 +9,7 @@
         $permission.getUserInfo().dataScope === 1 ||
         $permission.getUserInfo().dataScope === 2
       "
+      clearable
       @change="handleProvinceChange"
     >
       <el-option
@@ -28,6 +29,7 @@
         $permission.getUserInfo().dataScope === 1 ||
         $permission.getUserInfo().dataScope === 2
       "
+      clearable
       @change="handleCityChange"
     >
       <el-option
@@ -44,6 +46,7 @@
         !cityId || disabled || $permission.getUserInfo().dataScope === 2
       "
       style="width: 30%"
+      clearable
       @change="handleDistrictChange"
     >
       <el-option
@@ -333,9 +336,17 @@
           const areaInfo = res.value
           if (!areaInfo) return
 
-          const { id: finalId, name: finalName, pid, level } = areaInfo
+          const {
+            id: finalId,
+            name: finalName,
+            pid,
+            level,
+            code: finalCode,
+          } = areaInfo
           let provinceId = ''
           let cityId = ''
+          let cityCode = ''
+          let districtCode = ''
           let districtId = ''
           let provinceName = ''
           let cityName = ''
@@ -346,6 +357,7 @@
             // 县
             districtId = finalId
             districtName = finalName
+            districtCode = finalCode
 
             // 市
             const cityList = await getDistrictTree()
@@ -355,6 +367,7 @@
             )
             cityId = Number(city.id)
             cityName = city.name
+            cityCode = city.code
 
             // 获取市对应的区县列表(确保区县选项有数据)
             const districtRes = await getCityListByPid({ pid: cityId })
@@ -367,6 +380,7 @@
             )
             provinceId = Number(province.id)
             provinceName = province.name
+            provinceCode = province.code
 
             // 获取省对应的城市列表(确保城市选项有数据)
             const cityRes = await getCityListByPid({ pid: provinceId })
@@ -383,11 +397,11 @@
             // 市
             cityId = finalId
             cityName = finalName
+            cityCode = finalCode
 
             // 获取市对应的区县列表(确保区县选项有数据)
             const districtRes = await getCityListByPid({ pid: cityId })
             this.districts = districtRes.value || []
-
             // 省
             if (pid) {
               provinceId = pid
@@ -396,7 +410,6 @@
                 provinceName = result.name
                 provinceCode = result.code
               }
-
               // 获取省对应的城市列表(确保城市选项有数据)
               const cityRes = await getCityListByPid({ pid: provinceId })
               this.cities = cityRes.value || []
@@ -405,6 +418,7 @@
             // 省
             provinceId = finalId
             provinceName = finalName
+            provinceCode = finalCode
 
             // 获取省对应的城市列表(确保城市选项有数据)
             const cityRes = await getCityListByPid({ pid: provinceId })
@@ -412,8 +426,11 @@
           }
 
           this.provinceId = provinceId
+          this.provinceCode = provinceCode
           this.cityId = cityId
+          this.cityCode = cityCode
           this.districtId = districtId
+          this.districtCode = districtCode
           this.provinceName = provinceName
           this.cityName = cityName
           this.districtName = districtName

+ 30 - 17
src/views/costAudit/projectInfo/auditProjectManage/annualReviewPlan/index.vue

@@ -131,6 +131,7 @@
         header-align="center"
         align="left"
         show-overflow-tooltip
+        width="260"
       >
         <template slot-scope="scope">
           {{ orgNameMap[scope.row.orgId] }}
@@ -141,7 +142,12 @@
           <el-button size="mini" type="text" @click="handleEdit(scope.row)">
             修改
           </el-button>
-          <el-button size="mini" type="text" @click="handleDelete(scope.row)">
+          <el-button
+            class="delete-btn"
+            size="mini"
+            type="text"
+            @click="handleDelete(scope.row)"
+          >
             删除
           </el-button>
           <el-button
@@ -153,6 +159,9 @@
           </el-button>
         </template>
       </el-table-column>
+      <template slot="empty">
+        <Empty></Empty>
+      </template>
     </el-table>
 
     <!-- 分页 -->
@@ -620,24 +629,10 @@
             },
           ],
         },
+        areaOrgList: [],
       }
     },
-    computed: {
-      areaOrgList() {
-        // 过滤出区域单位
-        let user = this.$permission.getUserInfo()
-        let arr = []
-        if (this.$permission.isAdminOrProvince()) {
-          // 管理员或省级权限,显示所有数据
-          arr = this.OrgList
-        } else {
-          console.log('this.OrgList', this.OrgList)
-          // 非管理员且数据范围为区域时,筛选出当前用户区域下的市区数据
-          arr = this.OrgList
-        }
-        return arr
-      },
-    },
+    computed: {},
     mounted() {
       this.handleSearch() //加载数据
       this.getDefaultDem()
@@ -694,6 +689,7 @@
         getOrgListByDemId({ demId }).then((res) => {
           if (res && res.code === 200) {
             this.OrgList = res.value || []
+            this.areaOrgList = this.OrgList
           }
         })
       },
@@ -720,6 +716,23 @@
       handleRegionChange(region) {
         this.areaCode = region.code
         this.currentProject.areaLevel = region.level
+        // 筛选一下该地区的主体
+        this.filterOrg(region)
+      },
+      filterOrg(region) {
+        if (region.level == 0) {
+          this.areaOrgList = this.OrgList.filter(
+            (item) => item.provinceCode === region.code
+          )
+        } else if (region.level == 1) {
+          this.areaOrgList = this.OrgList.filter(
+            (item) => item.cityCode == region.code
+          )
+        } else if (region.level == 2) {
+          this.areaOrgList = this.OrgList.filter(
+            (item) => item.countyCode == region.code
+          )
+        }
       },
 
       handleSearch() {

+ 4 - 1
src/views/costAudit/projectInfo/auditProjectManage/initiation/index.vue

@@ -213,6 +213,9 @@
             </el-button>
           </template>
         </el-table-column>
+        <template slot="empty">
+          <Empty></Empty>
+        </template>
       </el-table>
 
       <!-- 分页组件 -->
@@ -366,7 +369,7 @@
       // 提取年度计划
       async handleExtractPlan() {
         this.$confirm(
-          '确定要提取本年度计划项目吗?提取后将覆盖当前未审核的项目数据',
+          '确定要提取本年度计划项目吗?提取后将覆盖当前未审核的项目数据',
           '提示',
           {
             confirmButtonText: '确定',

+ 9 - 2
src/views/costAudit/projectInfo/auditProjectManage/memoManage/index.vue

@@ -123,7 +123,11 @@
                   <el-button type="text" @click="handleEdit(row)">
                     修改
                   </el-button>
-                  <el-button type="text" @click="handleDelete(row)">
+                  <el-button
+                    class="delete-btn"
+                    type="text"
+                    @click="handleDelete(row)"
+                  >
                     删除
                   </el-button>
                 </template>
@@ -233,7 +237,9 @@
         <template #action-buttons="{ row }">
           <el-button type="text" @click="handleView(row)">详情</el-button>
           <el-button type="text" @click="handleEdit(row)">修改</el-button>
-          <el-button type="text" @click="handleDelete(row)">删除</el-button>
+          <el-button class="delete-btn" type="text" @click="handleDelete(row)">
+            删除
+          </el-button>
         </template>
       </CostAuditTable>
     </div>
@@ -395,5 +401,6 @@
 </script>
 
 <style scoped lang="scss">
+  @import '@/styles/costAudit.scss';
   @import './memoManage.scss';
 </style>

+ 4 - 1
src/views/costAudit/projectInfo/auditTaskManage/taskCustomizedRelease/index.vue

@@ -270,12 +270,14 @@
             label: '监审期间',
             headerAlign: 'center',
             align: 'center',
+            width: 240,
           },
           {
             prop: 'sourceType',
             label: '立项来源',
             headerAlign: 'center',
             align: 'center',
+            width: 120,
             formatter: (row) => {
               return this.getDictName('projectProposal', row.sourceType)
             },
@@ -285,6 +287,7 @@
             label: '监审形式',
             headerAlign: 'center',
             align: 'center',
+            width: 120,
             formatter: (row) => {
               return this.getDictName('auditType', row.auditType)
             },
@@ -300,7 +303,7 @@
           {
             prop: 'action',
             label: '操作',
-            width: 300,
+            width: 260,
             headerAlign: 'center',
             align: 'center',
             slotName: 'action',

+ 13 - 1
src/views/costAudit/projectInfo/auditTaskManage/taskProgressManage/index.vue

@@ -58,6 +58,14 @@
         }"
         @pagination-change="handlePaginationChange"
       >
+        <template #projectName="{ row }">
+          <span v-if="row.isSubTask" class="link-text" @click="handleView(row)">
+            {{ row.projectName }}
+          </span>
+          <span v-else class="link-text" @click="handleViewTaskDetail(row)">
+            {{ row.projectName }}
+          </span>
+        </template>
         <!-- 预警列自定义内容 -->
         <template #warning="{ row }">
           <span :class="['warning-point', computeWarning(row)]"></span>
@@ -120,6 +128,9 @@
             </el-button>
           </template>
         </template>
+        <template slot="empty">
+          <Empty></Empty>
+        </template>
       </cost-audit-table>
     </div>
     <!-- 详情内容 -->
@@ -390,6 +401,7 @@
             align: 'left',
             headerAlign: 'center',
             showOverflowTooltip: true,
+            slotName: 'projectName',
           },
           {
             prop: 'auditedUnitId',
@@ -440,7 +452,7 @@
           {
             prop: 'status',
             label: '状态',
-            width: 100,
+            width: 150,
             align: 'center',
             formatter: (row) => {
               const left = row.currentNodeName || ''

+ 3 - 0
src/views/costAudit/projectInfo/auditTaskManage/taskQueryStatistics/index.vue

@@ -114,6 +114,9 @@
             </el-button>
           </template>
         </template>
+        <template slot="empty">
+          <Empty></Empty>
+        </template>
       </cost-audit-table>
       <!-- 分页 -->
       <el-pagination

+ 3 - 0
src/views/costAudit/projectInfo/taskSuperviseManage/superviseMattersManage/index.vue

@@ -182,6 +182,9 @@
           </template>
         </template>
       </el-table-column>
+      <template slot="empty">
+        <Empty></Empty>
+      </template>
     </el-table>
 
     <!-- 督办报告弹出框 -->

+ 6 - 0
src/views/costAudit/projectInfo/taskSuperviseManage/superviseResultManage/index.vue

@@ -194,6 +194,9 @@
           </template>
         </template>
       </el-table-column>
+      <template slot="empty">
+        <Empty></Empty>
+      </template>
     </el-table>
 
     <!-- 督办情况弹窗 -->
@@ -246,6 +249,9 @@
               </span>
             </template>
           </el-table-column>
+          <template slot="empty">
+            <Empty></Empty>
+          </template>
         </el-table>
         <div class="button-group">
           <el-button @click="handleBack">返回</el-button>

+ 4 - 0
src/views/home/index.vue

@@ -69,6 +69,7 @@
               <span class="news-author">{{ item.remark || '管理员' }}</span>
               <span class="news-time">{{ item.createTime }}</span>
             </li>
+            <Empty v-if="newsList.length == 0"></Empty>
           </ul>
         </el-card>
       </el-col>
@@ -107,6 +108,9 @@
             row-key="id"
             :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
           >
+            <template slot="empty">
+              <Empty></Empty>
+            </template>
             <el-table-column
               type="index"
               label="序号"