浏览代码

首页调整

xy 4 天之前
父节点
当前提交
b157bb0541

+ 2 - 2
yudao-ui-admin-vue3/src/api/common/home.ts

@@ -4,5 +4,5 @@ export const getTodoList = () => {
   return request.get({ url: '/pressure/statistics/todo' })
 }
 export const getAuditTodoList = () => {
-  return request.get({ url: '/pressure/task-order/getTaskOrderBpmCount' })
-}
+  return request.get({ url: '/pressure2/boiler-task-order/index-page/getTaskOrderBpmCount' })
+}

+ 46 - 0
yudao-ui-admin-vue3/src/api/pressure2/indextodo/index.ts

@@ -0,0 +1,46 @@
+import request from '@/config/axios'
+
+// 首页待办/审核数量统计 VO
+export interface IndexTodoCountVO {
+  // ===== 锅炉-待办 =====
+  boilerPlanSchedulingCount: number
+  boilerTaskOrderConfirmCount: number
+  boilerMyTaskCount: number
+  boilerPrepareReportCount: number
+  // ===== 锅炉-审核 =====
+  boilerRecheckOrderItemCount: number
+  boilerApproveOrderItemCount: number
+  boilerRatifyOrderItemCount: number
+  boilerReportCityBureauCount: number
+  boilerAcceptOrderCount: number
+  boilerPressureNonTaxCount: number
+  boilerTaskOrderCount: number
+  boilerPressureInspectionOpinionNoticeCount: number
+  boilerPressureSeriousAccidentCount: number
+  boilerPressureInspectionSchemeCount: number
+  boilerPressureWorkingInstructionCount: number
+  // ===== 管道-待办 =====
+  pipePlanSchedulingCount: number
+  pipeTaskOrderConfirmCount: number
+  pipeMyTaskCount: number
+  pipePrepareReportCount: number
+  // ===== 管道-审核 =====
+  pipeRecheckOrderItemCount: number
+  pipeApproveOrderItemCount: number
+  pipeRatifyOrderItemCount: number
+  pipeReportCityBureauCount: number
+  pipeAcceptOrderCount: number
+  pipePressureNonTaxCount: number
+  pipeTaskOrderCount: number
+  pipePressureInspectionOpinionNoticeCount: number
+  pipePressureSeriousAccidentCount: number
+  pipePressureInspectionSchemeCount: number
+  pipePressureWorkingInstructionCount: number
+}
+
+export const IndexTodoApi = {
+  // 获取首页待办/审核数量统计
+  getTodoCount: async () => {
+    return await request.get({ url: `/pressure2/index-todo/count` })
+  },
+}

+ 94 - 279
yudao-ui-admin-vue3/src/views/Home/Index.vue

@@ -8,9 +8,9 @@
               <img :src="ywdbIcon" alt="" />
               待办
             </span>
-            <el-button link type="default"
-              >查看更多 <el-icon><ArrowRight /></el-icon
-            ></el-button>
+<!--            <el-button link type="default"-->
+<!--              >查看更多 <el-icon><ArrowRight /></el-icon-->
+<!--            ></el-button>-->
           </div>
         </template>
         <div v-if="showTodoList" class="audit-list">
@@ -19,7 +19,11 @@
               <img :src="todo.iconUrl" alt="" />
               <div>
                 <i v-if="typeof todo.task === 'number'">{{ todo.task }}</i>
-                <span>{{ todo.title }}</span>
+                <span class="todo-title-row">
+                  <span v-if="todo.equipType === 'boiler'" class="equip-tag-boiler">[锅]</span>
+                  <span v-if="todo.equipType === 'pipe'" class="equip-tag-pipe">[管]</span>
+                  {{ todo.title }}
+                </span>
               </div>
             </div>
           </template>
@@ -33,9 +37,9 @@
               <img :src="ywdbIcon" alt="" />
               审批
             </span>
-            <el-button link type="default"
-              >查看更多 <el-icon><ArrowRight /></el-icon
-            ></el-button>
+<!--            <el-button link type="default"-->
+<!--              >查看更多 <el-icon><ArrowRight /></el-icon-->
+<!--            ></el-button>-->
           </div>
         </template>
         <div v-if="showAuditList" class="audit-list">
@@ -48,7 +52,11 @@
               <img :src="todo.iconUrl" alt="" />
               <div>
                 <i>{{ todo.task }}</i>
-                <span>{{ todo.title }}</span>
+                <span class="todo-title-row">
+                  <span v-if="todo.equipType === 'boiler'" class="equip-tag-boiler">[锅]</span>
+                  <span v-if="todo.equipType === 'pipe'" class="equip-tag-pipe">[管]</span>
+                  {{ todo.title }}
+                </span>
               </div>
             </div>
           </template>
@@ -111,9 +119,9 @@
               <img :src="tzIcon" alt="" />
               通知公告
             </span>
-            <el-button v-if="noticeList.length" link type="default" @click="toMoreNotice"
-              >查看更多 <el-icon><ArrowRight /></el-icon
-            ></el-button>
+<!--            <el-button v-if="noticeList.length" link type="default" @click="toMoreNotice"-->
+<!--              >查看更多 <el-icon><ArrowRight /></el-icon-->
+<!--            ></el-button>-->
           </div>
         </template>
         <div class="todo-list">
@@ -159,6 +167,7 @@ import { useUserStore } from '@/store/modules/user'
 import { useWatermark } from '@/hooks/web/useWatermark'
 import { ArrowRight, List } from '@element-plus/icons-vue'
 import { getTodoList, getAuditTodoList } from '@/api/common/home'
+import { IndexTodoApi } from '@/api/pressure2/indextodo'
 
 import yjIcon from '@/assets/imgs/index_imgs/约检@2x.png'
 import jhpqIcon from '@/assets/imgs/index_imgs/计划排期@2x.png'
@@ -191,235 +200,40 @@ const msgTypeMap = {
   2: '系统消息'
 }
 
-// 业务待办列表
+// 业务待办列表(锅炉和管道分别显示)
 const todoList = ref([
-  {
-    title: '中止检验',
-    key: 'confirmOrderRefuseItemCount',
-    iconUrl: yjIcon,
-    task: 0,
-    routerName: 'AppointmentConfirmOrderRefuseItem'
-  },
-  // {
-  //   title: '拒绝年检',
-  //   key: 'confirmRefuseYearItemCount',
-  //   iconUrl: jhpqIcon,
-  //   task: 0,
-  //   routerName: 'refuseAnnualInspection'
-  // },
-  {
-    title: '检验意见通知',
-    key: 'inspectionOpinionCount',
-    iconUrl: jhdtIcon,
-    task: 0,
-    routerName: 'inspectionOpinion'
-  },
-  {
-    title: '计划排期',
-    key: 'planSchedulingCount',
-    iconUrl: zlfpIcon,
-    task: 0,
-    routerName: 'PressurePlan'
-  },
-  {
-    title: '我的排班',
-    key: 'scheduleCount',
-    iconUrl: yjIcon,
-    task: 0,
-    routerName: 'Scheduling'
-  },
-  {
-    title: '任务确认',
-    key: 'taskOrderConfirmCount',
-    iconUrl: jhpqIcon,
-    task: 0,
-    routerName: 'CheckerTaskList'
-  },
-  // {
-  //   title: '检测录入',
-  //   key: 'inspectionEnteringCount',
-  //   iconUrl: jhdtIcon,
-  //   task: 0,
-  //   routerName: 'MyTask'
-  // },
-  {
-    title: '待认领',
-    key: 'inspectionEnteringCount',
-    iconUrl: jhdtIcon,
-    task: 0,
-    routerName: 'MyTask',
-    routerQuery: {
-      claimStatus: 'unclaim'
-    }
-  },
-  {
-    title: '已认领',
-    key: 'inspectionClaimedCount',
-    iconUrl: jhdtIcon,
-    task: 0,
-    routerName: 'MyTask',
-    routerQuery: {
-      claimStatus: 'claim'
-    }
-  },
-  {
-    title: '已分配',
-    key: 'inspectionAllotCount',
-    iconUrl: jhdtIcon,
-    task: 0,
-    routerName: 'MyTask',
-    routerQuery: {
-      claimStatus: 'allot',
-    }
-  },
-  {
-    title: '报告编制',
-    key: 'prepareReportCount',
-    iconUrl: zlfpIcon,
-    task: 0,
-    routerName: 'ReportPreparationList'
-  }
-  // {
-  //   title: '约检',
-  //   key: 'appointmentCount',
-  //   iconUrl: yjIcon,
-  //   task: 0
-  // },
-  // {
-  // {
-  //   title: '计划待调',
-  //   key: 'prePlanCount',
-  //   iconUrl: jhdtIcon,
-  //   task: 0
-  // },
-  // {
-  //   title: '资料分配',
-  //   key: 'profileCheck',
-  //   iconUrl: zlfpIcon,
-  //   task: 0,
-  //   routerName: 'ProfileCheck'
-  // },
-  // {
-  //   title: '资料审核',
-  //   key: 'profileReview',
-  //   iconUrl: zlshIcon,
-  //   task: 0
-  // },
-  // {
-  //   title: '工作排班',
-  //   iconComponent: true,
-  //   iconUrl: ArrowRight
-  // }
+  { title: '计划表', key: 'boilerScheduleCount', equipType: 'boiler', iconUrl: zlfpIcon, task: 0, routerName: 'ScheduleBoiler' },
+  { title: '任务确认', key: 'boilerTaskOrderConfirmCount', equipType: 'boiler', iconUrl: jhpqIcon, task: 0, routerName: 'BoilerCheckerTaskList' },
+  { title: '检验录入', key: 'boilerMyTaskCount', equipType: 'boiler', iconUrl: jhdtIcon, task: 0, routerName: 'BoilerMyTask'},
+  { title: '报告编制', key: 'boilerPrepareReportCount', equipType: 'boiler', iconUrl: zlfpIcon, task: 0, routerName: 'BoilerReportPreparationList' },
+  { title: '计划表', key: 'pipeScheduleCount', equipType: 'pipe', iconUrl: zlfpIcon, task: 0, routerName: 'SchedulePipe' },
+  { title: '任务确认', key: 'pipeTaskOrderConfirmCount', equipType: 'pipe', iconUrl: jhpqIcon, task: 0, routerName: 'PipeCheckerTaskList' },
+  { title: '检验录入', key: 'pipeMyTaskCount', equipType: 'pipe', iconUrl: jhdtIcon, task: 0, routerName: 'PipeMyTask'},
+  { title: '报告编制', key: 'pipePrepareReportCount', equipType: 'pipe', iconUrl: zlfpIcon, task: 0, routerName: 'PipeReportPreparationList' },
 ])
 
-// 业务审批列表
+// 业务审批列表(锅炉和管道分别显示)
 const auditLoading = ref(false)
 const auditTodoList = ref([
-  {
-    title: '任务单',
-    key: 'taskOrderUnclaimedCount',
-    iconUrl: rwdshIcon,
-    task: 0,
-    routerName: 'TaskOrder'
-  },
-  {
-    title: '记录校核',
-    iconUrl: jljhIcon,
-    key: 'recheckOrderItemCount',
-    task: 0,
-    routerName: 'CheckerRecordCheck'
-  },
-  {
-    title: '报告审核',
-    iconUrl: bgspIcon,
-    key: 'approveOrderItemCount',
-    task: 0,
-    routerName: 'CheckerReportCheck'
-  },
-  {
-    title: '报告审批',
-    iconUrl: zlshIcon,
-    key: 'ratifyOrderItemCount',
-    task: 0,
-    routerName: 'CheckerReportRatify'
-  },
-  {
-    title: '上报市局审核',
-    iconUrl: rwdshIcon,
-    key: 'reportCityBureauCount',
-    task: 0,
-    routerName: 'CityBureauAudit'
-  },
-  {
-    title: '受理单审核',
-    iconUrl: jljhIcon,
-    key: 'acceptOrderCount',
-    task: 0,
-    routerName: 'AcceptOrderAudit'
-  },
-  {
-    title: '模板审核',
-    iconUrl: bgspIcon,
-    key: 'reportTemplateCount',
-    task: 0,
-    routerName: 'TemplateAudit'
-  },
-  {
-    title: '缴费单待校核',
-    iconUrl: zlshIcon,
-    key: 'pressureNonTaxCount',
-    task: 0,
-    routerName: 'PaymentReceiptApprove'
-  },
-  {
-    title: '任务单修改审核',
-    iconUrl: rwdshIcon,
-    key: 'taskOrderCount',
-    task: 0,
-    routerName: 'TaskOrderReview'
-  },
-  {
-    title: '检验意见通知书审核',
-    iconUrl: jljhIcon,
-    key: 'pressureInspectionOpinionNoticeCount',
-    task: 0,
-    routerName: 'AuditInspectionCommentsNotice'
-  },
-  {
-    title: '重大问题线索告知审核',
-    iconUrl: bgspIcon,
-    key: 'pressureSeriousAccidentCount',
-    task: 0,
-    routerName: 'majorIssueCluesNotice'
-  },
-  {
-    title: '检验方案审核',
-    iconUrl: zlshIcon,
-    key: 'pressureInspectionSchemeCount',
-    task: 0,
-    routerName: 'InspectionPlanAudit'
-  },
-  {
-    title: '检验方案批准',
-    iconUrl: zlshIcon,
-    key: 'pressureInspectionSchemeRatifyCount',
-    task: 0,
-    routerName: 'InspectionApproval'
-  },
-  {
-    title: '操作指导书审核',
-    iconUrl: rwdshIcon,
-    key: 'pressureWorkingInstructionCount',
-    task: 0,
-    routerName: 'WorkInstructionAudit'
-  }
-  // {
-  //   title: '任务单作废',
-  //   key: 'taskOrderCancel',
-  //   iconUrl: rwdzfIcon,
-  //   task: 0,
-  //   // routerName: 'TaskOrderCancel'
-  // },
+  { title: '模板审核', key: 'reportTemplateCount', iconUrl: bgspIcon, task: 0, routerName: 'TemplateAudit' },
+
+  { title: '记录校核', key: 'boilerRecheckOrderItemCount', equipType: 'boiler', iconUrl: jljhIcon, task: 0, routerName: 'BoilerCheckerRecordCheck' },
+  { title: '上报市局审核', key: 'boilerReportCityBureauCount', equipType: 'boiler', iconUrl: rwdshIcon, task: 0, routerName: 'appointmentconfirmorderCityBureauListPressure2' },
+  { title: '受理单审核', key: 'boilerAcceptOrderCount', equipType: 'boiler', iconUrl: jljhIcon, task: 0, routerName: 'AcceptOrderAuditBoiler' },
+  { title: '缴费单待校核', key: 'boilerPressureNonTaxCount', equipType: 'boiler', iconUrl: zlshIcon, task: 0, routerName: 'PaymentReceiptApprovePressure2' },
+  { title: '任务单修改审核', key: 'boilerTaskOrderCount', equipType: 'boiler', iconUrl: rwdshIcon, task: 0, routerName: 'TaskOrderReviewBoiler' },
+  { title: '检验意见通知书审核', key: 'boilerPressureInspectionOpinionNoticeCount', equipType: 'boiler', iconUrl: jljhIcon, task: 0, routerName: 'AuditInspectionCommentsNoticeBoiler' },
+  { title: '检验方案审核', key: 'boilerPressureInspectionSchemeCount', equipType: 'boiler', iconUrl: zlshIcon, task: 0, routerName: 'InspectionPlanAuditBoiler' },
+  { title: '操作指导书审核', key: 'boilerPressureWorkingInstructionCount', equipType: 'boiler', iconUrl: rwdshIcon, task: 0, routerName: 'WorkInstructionAuditBoiler' },
+
+  { title: '记录校核', key: 'pipeRecheckOrderItemCount', equipType: 'pipe', iconUrl: jljhIcon, task: 0, routerName: 'PipeCheckerRecordCheck' },
+  { title: '上报市局审核', key: 'pipeReportCityBureauCount', equipType: 'pipe', iconUrl: rwdshIcon, task: 0, routerName: 'appointmentconfirmorderCityBureauListPressure2' },
+  { title: '受理单审核', key: 'pipeAcceptOrderCount', equipType: 'pipe', iconUrl: jljhIcon, task: 0, routerName: 'AcceptOrderAuditPipe' },
+  { title: '缴费单待校核', key: 'pipePressureNonTaxCount', equipType: 'pipe', iconUrl: zlshIcon, task: 0, routerName: 'PaymentReceiptApprovePressure2' },
+  { title: '任务单修改审核', key: 'pipeTaskOrderCount', equipType: 'pipe', iconUrl: rwdshIcon, task: 0, routerName: 'TaskOrderReviewPipe' },
+  { title: '检验意见通知书审核', key: 'pipePressureInspectionOpinionNoticeCount', equipType: 'pipe', iconUrl: jljhIcon, task: 0, routerName: 'AuditInspectionCommentsNoticePipe' },
+  { title: '检验方案审核', key: 'pipePressureInspectionSchemeCount', equipType: 'pipe', iconUrl: zlshIcon, task: 0, routerName: 'InspectionPlanAuditPipe' },
+  { title: '操作指导书审核', key: 'pipePressureWorkingInstructionCount', equipType: 'pipe', iconUrl: rwdshIcon, task: 0, routerName: 'WorkInstructionAuditPipe' },
 ])
 
 const showAuditList = computed(() => {
@@ -447,15 +261,16 @@ const riskTodoList = ref([
 // 快捷入口
 const quickAccessList = ref([
   {
-    title: '资料登记',
+    title: '锅炉档案',
     iconUrl: zldjIcon,
     routerUrl: '',
-    routerName: 'ProfileRegister'
+    routerName: 'EquipBoiler'
   },
   {
-    title: '审核中心',
+    title: '管道档案',
     iconUrl: shzxIcon,
-    routerUrl: ''
+    routerUrl: '',
+    routerName: 'PipeEquipment'
   },
   {
     title: '前台约检',
@@ -475,15 +290,15 @@ const handleRouteTo = (item: any) => {
   if (item.routerName) {
     // 特殊处理任务单跳转:默认带上 inspectorIds 和 taskStatusList 参数
     const query: any = {
-      bpmUserId: id,
+      //bpmUserId: id,
       ...(item.routerQuery || {})
     }
 
     // 如果是任务单页面,额外添加 inspectorIds 和 taskStatusList 参数
-    if (item.routerName === 'TaskOrder') {
-      query.inspectorIds = id
-      query.taskStatusList = 100
-    }
+    // if (item.routerName === 'TaskOrder') {
+    //   query.inspectorIds = id
+    //   query.taskStatusList = 100
+    // }
 
     router.push({
       name: item.routerName,
@@ -492,45 +307,33 @@ const handleRouteTo = (item: any) => {
   }
 }
 
-// 获取业务待办列表的待办数据
-const fetchTodoList = async () => {
-  const result = await getTodoList()
-  todoList.value = todoList.value.map((item: any) => {
-    if (result[item.key]) {
-      item.task = result[item.key]
-    }
-    return item
-  })
-  todoList.value = todoList.value.map((item: any) => {
-    if (result[item.key]) {
-      item.task = result[item.key]
-    }
-    return item
-  })
-}
-// 获取审批列表的待办数据
-const fetchAuditTodoList = async () => {
+// 获取首页待办/审核统计数据(新接口:压力2 index-todo 表,锅炉管道分别展示)
+const fetchAllCounts = async () => {
   auditLoading.value = true
-  getAuditTodoList()
-    .then((result) => {
-      auditTodoList.value = auditTodoList.value.map((item: any) => {
-        if (result[item.key]) {
-          item.task = result[item.key]
-        }
-        return item
-      })
-      todoList.value = todoList.value.map((item: any) => {
-        if (result[item.key]) {
-          item.task = result[item.key]
-        }
-        return item
-      })
+  try {
+    const result = await IndexTodoApi.getTodoCount()
+    // 直接映射 API 返回字段到待办/审核列表的 key
+    todoList.value = todoList.value.map((item: any) => {
+      if (result[item.key] !== undefined) {
+        item.task = result[item.key]
+      }
+      return item
     })
-    .finally(() => {
-      auditLoading.value = false
+    auditTodoList.value = auditTodoList.value.map((item: any) => {
+      if (result[item.key] !== undefined) {
+        item.task = result[item.key]
+      }
+      return item
     })
+  } finally {
+    auditLoading.value = false
+  }
 }
 
+// 旧逻辑保留(注释)
+// const fetchTodoList = ... 
+// const fetchAuditTodoList = ...
+
 // 通知公告
 const noticeList = ref<any>([])
 
@@ -592,7 +395,8 @@ const toMoreNotice = () => {
 }
 
 // fetchTodoList()
-fetchAuditTodoList()
+// fetchAuditTodoList()
+fetchAllCounts()
 selectNoticeList()
 </script>
 
@@ -1004,4 +808,15 @@ selectNoticeList()
     }
   }
 }
+.todo-title-row {
+  display: flex !important;
+  align-items: center;
+  gap: 4px;
+}
+.equip-tag-boiler {
+  color: #f56c6c !important;
+}
+.equip-tag-pipe {
+  color: #67c23a !important;
+}
 </style>