|
|
@@ -284,6 +284,16 @@
|
|
|
<div class="right-content">
|
|
|
<!-- 第一行:4个图标,每个占据25%宽度 -->
|
|
|
<div class="icons-row">
|
|
|
+ <el-card class="floating-card icon-item" @click="toRoute(0)">
|
|
|
+ <div class="icon-wrapper">
|
|
|
+ <div class="icon-circle bg-color-red">
|
|
|
+ <el-icon class="fa fa-exclamation-triangle text-danger"></el-icon>
|
|
|
+ <!-- 角标 -->
|
|
|
+ <div v-if="homePageData.timeOutNum>0" class="badge">{{ homePageData.timeOutNum }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="icon-label">超时工单</div>
|
|
|
+ </el-card>
|
|
|
<el-card class="floating-card icon-item" @click="toRoute(1)">
|
|
|
<div class="icon-wrapper">
|
|
|
<div class="icon-circle bg-color-blue">
|
|
|
@@ -458,6 +468,7 @@ import { ref, reactive } from 'vue';
|
|
|
import { getHomePageOrderListData } from '@/api/gxt/gxtOrder';
|
|
|
import { selectHomePageData } from '@/api/gxt/repairOrder';
|
|
|
import { listAllEquipment } from '@/api/gxt/equipment';
|
|
|
+import { encryptParams } from '@/utils/encrypt';
|
|
|
|
|
|
export default {
|
|
|
name: 'Index4',
|
|
|
@@ -575,7 +586,8 @@ export default {
|
|
|
repairPending: 0,
|
|
|
workPending: 0,
|
|
|
pendingNum: 0,
|
|
|
- hasCenter: null
|
|
|
+ hasCenter: null,
|
|
|
+ timeOutNum: 0,
|
|
|
},
|
|
|
// 多级筛选数据
|
|
|
selectedFilterCombination: [],
|
|
|
@@ -1379,6 +1391,7 @@ export default {
|
|
|
this.homePageData.workPending = response.data.workPending || 0;
|
|
|
this.homePageData.pendingNum = this.homePageData.repairPending + this.homePageData.workPending;
|
|
|
this.homePageData.hasCenter = response.data.hasCenter;
|
|
|
+ this.homePageData.timeOutNum = response.data.timeOutNum;
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
@@ -1392,7 +1405,20 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
toRoute(num) {
|
|
|
- if(num==1) {
|
|
|
+ if(num==0) {
|
|
|
+ // 加密参数并传递到目标路由页面
|
|
|
+ const params = {
|
|
|
+ timeOutNum: this.homePageData.timeOutNum,
|
|
|
+ workOrderStatus: 'assigned'
|
|
|
+ };
|
|
|
+ const encryptedParams = encryptParams(params);
|
|
|
+ this.$router.push({
|
|
|
+ path: "/workOrder/repairOrder",
|
|
|
+ query: {
|
|
|
+ data: encryptedParams
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }else if(num==1) {
|
|
|
if(this.homePageData.repairPending>0 && this.homePageData.workPending==0) {
|
|
|
this.$router.push("/workOrder/repairOrder");
|
|
|
}else{
|
|
|
@@ -1580,7 +1606,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.icon-item {
|
|
|
- width: 24%;
|
|
|
+ width: 19%;
|
|
|
text-align: center;
|
|
|
cursor: pointer;
|
|
|
transition: all 0.3s ease;
|