diff --git a/src/api/kanban/equipment.js b/src/api/kanban/equipment.js
index 924d45e..49db052 100644
--- a/src/api/kanban/equipment.js
+++ b/src/api/kanban/equipment.js
@@ -100,3 +100,11 @@ export function getRepairWorkOrderCostTime(data) {
params: data,
});
}
+
+export function getFaultRateList(data) {
+ return request({
+ url: '/device/deviceInterface/getFaultRateList',
+ method: 'get',
+ params: data
+ });
+}
diff --git a/src/views/cs/index5/cards.vue b/src/views/cs/index5/cards.vue
index b0f6c21..fdfe0e2 100644
--- a/src/views/cs/index5/cards.vue
+++ b/src/views/cs/index5/cards.vue
@@ -25,6 +25,10 @@
+
@@ -33,6 +37,7 @@ import {
getCompletedRate,
} from "@/api/kanban/spectaculars";
+import {getFaultRateList, getworkFaultDesc} from "@/api/kanban/equipment";
export default {
name: 'Cards',
data () {
@@ -41,6 +46,12 @@ export default {
],
equipmentinfo: {},
+ config: {
+ data: [],
+ unit:"%",
+ sort:false,
+ rowNum: 13
+ }
}
},
methods: {
@@ -129,12 +140,31 @@ export default {
},
- randomExtend (minNum, maxNum) {
- if (arguments.length === 1) {
- return parseInt(Math.random() * minNum + 1, 10)
- } else {
- return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10)
- }
+
+ async getdatalist() {
+ getFaultRateList({ poolName: "ds_1000" }).then(res=>{
+ if (res.data){
+ let processedData = [];
+ for (const item of res.data){
+ processedData.push({
+ name: item.lineName || '未知分类', // 处理空名称
+ value: Number(item.faultRate).toFixed(2) || 0 // 确保数值类型
+ })
+ }
+ const asc = [...processedData].sort((a, b) => b.value - a.value);
+ this.config = {
+ ...this.config, // 保留其他配置项
+ data: asc
+ };
+ }else {
+ // 空数据兜底处理
+ this.config.data = [{ name: '暂无数据', value: 0 }];
+ }
+ }).catch((error)=>{
+ console.error('数据获取失败:', error);
+ // 错误状态显示(保持数据结构一致)
+ this.config.data = [{ name: '数据异常', value: 0 }];
+ })
}
},
mounted () {
@@ -142,9 +172,15 @@ export default {
createData()
+ this.getdatalist();
+ // 添加定时刷新(可选)
+ this.timer = setInterval(() => {
+ this.getdatalist();
+ }, 60000); // 60秒刷新
setInterval(this.createData, 30000)
- }
+ },
+
}
@@ -217,4 +253,27 @@ export default {
}
}
}
+#ranking-board {
+ width: 20%;
+ height: 100%;
+ box-shadow: 0 0 3px blue;
+ display: flex;
+ flex-direction: column;
+ background-color: rgba(6, 30, 93, 0.5);
+ border-top: 2px solid rgba(1, 153, 209, .5);
+ box-sizing: border-box;
+ padding: 0px 30px;
+
+ .ranking-board-title {
+ font-weight: bold;
+ height: 50px;
+ display: flex;
+ align-items: center;
+ font-size: 20px;
+ }
+
+ .dv-scroll-ranking-board {
+ flex: 1;
+ }
+}