首页修改

This commit is contained in:
猫猫guowen
2025-10-16 16:41:09 +08:00
parent af75c2bcb1
commit fc6c0ae4dd
2 changed files with 142 additions and 114 deletions

View File

@@ -2,7 +2,7 @@
<div class="app-container">
<!-- 统计卡片 -->
<el-row :gutter="20" class="stats-row">
<el-col :span="5" >
<el-col :span="4" >
<el-card class="stats-card">
<div class="stats-content">
<div class="stats-icon agv-icon">
@@ -10,25 +10,38 @@
</div>
<div class="stats-info">
<div class="stats-number">{{ deviceStats.agvCount }}</div>
<div class="stats-label">{{ $t('index.agvDeviceTotal') }}</div> <!-- AGV设备总数 -->
<div class="stats-label">AGV设备总数</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="5">
<el-col :span="4">
<el-card class="stats-card">
<div class="stats-content">
<div class="stats-icon ddj-icon">
<i class="el-icon-cpu"></i>
</div>
<div class="stats-info">
<div class="stats-number">{{ deviceStats.ddjCount }}</div>
<div class="stats-label">堆垛机设备总数</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="4">
<el-card class="stats-card">
<div class="stats-content">
<div class="stats-icon ctu-icon">
<i class="el-icon-s-grid"></i>
</div>
<div class="stats-info">
<div class="stats-number">{{ deviceStats.ctuCount }}</div>
<div class="stats-label">{{ $t('index.ctuDeviceTotal') }}</div> <!-- CTU设备总数 -->
<div class="stats-number">{{ deviceStats.ssjCount }}</div>
<div class="stats-label">输送机设备总数</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="5">
<el-col :span="4">
<el-card class="stats-card">
<div class="stats-content">
<div class="stats-icon queue-icon">
@@ -36,12 +49,12 @@
</div>
<div class="stats-info">
<div class="stats-number">{{ taskStats.pendingCount }}</div>
<div class="stats-label">{{ $t('index.pendingTasks') }}</div> <!-- 待执行任务 -->
<div class="stats-label">待执行任务</div> <!-- 待执行任务 -->
</div>
</div>
</el-card>
</el-col>
<el-col :span="5">
<el-col :span="4">
<el-card class="stats-card">
<div class="stats-content">
<div class="stats-icon running-icon">
@@ -49,7 +62,7 @@
</div>
<div class="stats-info">
<div class="stats-number">{{ taskStats.runningCount }}</div>
<div class="stats-label">{{ $t('index.runningTasks') }}</div> <!-- 执行中任务 -->
<div class="stats-label">执行中任务</div> <!-- 执行中任务 -->
</div>
</div>
</el-card>
@@ -62,7 +75,7 @@
</div>
<div class="stats-info">
<div class="stats-number">{{ taskStats.finishedCount }}</div>
<div class="stats-label">{{ $t('index.completedTasks') }}</div> <!-- 已完成任务 -->
<div class="stats-label">已完成任务</div> <!-- 已完成任务 -->
</div>
</div>
</el-card>
@@ -74,7 +87,7 @@
<el-col :span="12">
<el-card class="chart-card">
<div slot="header" class="card-header">
<span>{{ $t('index.taskTypeDistribution') }}</span> <!-- 任务类型分布 -->
<span>任务类型分布</span> <!-- 任务类型分布 -->
</div>
<div id="taskTypeChart" style="height: 300px;"></div>
</el-card>
@@ -82,7 +95,7 @@
<el-col :span="12">
<el-card class="chart-card">
<div slot="header" class="card-header">
<span>{{ $t('index.deviceStatusDistribution') }}</span> <!-- 设备状态分布 -->
<span>设备状态分布</span> <!-- 设备状态分布 -->
</div>
<div id="deviceStatusChart" style="height: 300px;"></div>
</el-card>
@@ -94,31 +107,34 @@
<el-col :span="12">
<el-card class="task-card">
<div slot="header" class="card-header">
<span>{{ $t('index.currentTaskQueue') }}</span> <!-- 当前任务队列 -->
<el-button type="text" @click="refreshTasks">{{ $t('index.refresh') }}</el-button> <!-- 刷新 -->
<span>正执行作业列表</span> <!-- 当前任务队列 -->
<el-button type="text" @click="refreshTasks">刷新</el-button> <!-- 刷新 -->
</div>
<el-table
:data="currentTasks"
style="width: 100%"
height="300"
v-loading="loading.tasks">
<el-table-column prop="reqCode" :label="$t('index.requestCode')" width="120"/> <!-- 请求编号 -->
<el-table-column prop="wmsTaskType" :label="$t('index.taskType')" width="100"> <!-- 任务类型 -->
<el-table-column prop="inOrOut" label="作业类型" width="100">
<template slot-scope="scope">
<dict-tag :options="dict.type.wms_task_type" :value="scope.row.wmsTaskType"/>
<dict-tag :options="dict.type.in_or_out" :value="scope.row.inOrOut"/>
</template>
</el-table-column>
<el-table-column prop="positionCode1" :label="$t('index.startPoint')" width="80"/> <!-- 起点 -->
<el-table-column prop="positionCode2" :label="$t('index.endPoint')" width="80"/> <!-- 终点 -->
<el-table-column prop="priority" :label="$t('index.priority')" width="80"/> <!-- 优先级 -->
<el-table-column prop="status" :label="$t('index.status')" width="100"> <!-- 状态 -->
<el-table-column prop="jobId" label="作业ID" width="80"/>
<el-table-column prop="taskNo" label="任务号" width="80"/>
<el-table-column prop="executionPhase" label="执行阶段" width="80">
<template slot-scope="scope">
<dict-tag :options="dict.type.job_ep" :value="scope.row.executionPhase"/>
</template>
</el-table-column>
<el-table-column prop="status" :label="$t('index.status')" width="100">
<template slot-scope="scope">
<el-tag :type="getStatusType(scope.row.status)">
<dict-tag :options="dict.type.task_status" :value="scope.row.status"/>
</el-tag>
</template>
</el-table-column>
<el-table-column prop="reqTime" :label="$t('index.requestTime')" show-overflow-tooltip/> <!-- 请求时间 -->
<el-table-column prop="createTime" label="创建时间" show-overflow-tooltip/>
</el-table>
</el-card>
</el-col>
@@ -154,7 +170,7 @@ import { getDeviceStats, getTaskStats, getCurrentTasks, getDeviceList, getTaskTy
export default {
name: 'Index',
dicts: ['task_status', 'wms_task_type'],
dicts: ['task_status', 'wms_task_type','job_ep','in_or_out'],
data() {
return {
// 统计数据
@@ -409,9 +425,9 @@ export default {
idleData[0] = statusData.AGV['其他'] || 0 // 其他
}
// CTU数据
if (statusData.CTU) {
runningData[1] = statusData.CTU['运行'] || 0 // 运行
idleData[1] = statusData.CTU['其他'] || 0 // 其他
if (statusData.DDJ) {
runningData[1] = statusData.DDJ['运行'] || 0 // 运行
idleData[1] = statusData.DDJ['其他'] || 0 // 其他
}
// SSJ数据
if (statusData.SSJ) {
@@ -436,7 +452,7 @@ export default {
},
xAxis: {
type: 'category',
data: ['AGV', 'CTU', 'SSJ']
data: ['AGV', 'DDJ', 'SSJ']
},
yAxis: {
type: 'value'
@@ -472,7 +488,7 @@ export default {
},
xAxis: {
type: 'category',
data: ['AGV', 'CTU', 'SSJ']
data: ['AGV', 'DDJ', 'SSJ']
},
yAxis: {
type: 'value'
@@ -599,6 +615,10 @@ export default {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.ddj-icon {
background: linear-gradient(135deg, #dcb536 0%, #e5845b 100%);
}
.ctu-icon {
background: linear-gradient(135deg, #36d1dc 0%, #5b86e5 100%);
}