refactor(dashboard): 将页面英文文本替换为中文并优化操作功能

替换页面中的英文标签为中文,新增勘察流水行详情操作按钮,为工作流链接添加点击事件处理,移除未使用的图标组件。
This commit is contained in:
andyesfly committed 2026-10-21 16:55:00 +08:00
1 parent 184b8d03e2
commit be91d04431
1 file changed
+25 -10
+25 -10
View File
@@ -70,7 +70,7 @@
<div> <div>
<div class="card-title-row"> <div class="card-title-row">
<h3 class="card-title">近7日业务增长趋势</h3> <h3 class="card-title">近7日业务增长趋势</h3>
<span class="card-tag">REALTIME 新增统计</span> <span class="card-tag">实时新增统计</span>
</div> </div>
<p class="card-sub">每日新增托管客户与新增合同的对比走势</p> <p class="card-sub">每日新增托管客户与新增合同的对比走势</p>
</div> </div>
@@ -138,12 +138,12 @@
<div> <div>
<div class="card-title-row"> <div class="card-title-row">
<h3 class="card-title">待办勘察派单流水</h3> <h3 class="card-title">待办勘察派单流水</h3>
<span class="live-alerts">LIVE ORDERS</span> <span class="live-alerts">实时单量</span>
</div> </div>
<p class="card-sub">最新勘察派单与承接状态的实时跟踪</p> <p class="card-sub">最新勘察派单与承接状态的实时跟踪</p>
</div> </div>
<button class="ghost-btn" @click="handleRefresh"> <button class="ghost-btn" @click="handleRefresh">
<span class="material-symbols-outlined">filter_list</span> <ReloadOutlined />
刷新 刷新
</button> </button>
</div> </div>
@@ -184,8 +184,14 @@
</td> </td>
<td class="ta-r"> <td class="ta-r">
<div class="ops"> <div class="ops">
<button class="icon-btn" title="催办"><PhoneOutlined /></button> <a-dropdown trigger="click" placement="bottomRight">
<button class="icon-btn" title="更多"><MoreOutlined /></button> <button class="icon-btn" title="更多"><MoreOutlined /></button>
<template #overlay>
<a-menu @click="({ key }) => handleRowAction(key as string, row)">
<a-menu-item key="detail">查看详情</a-menu-item>
</a-menu>
</template>
</a-dropdown>
</div> </div>
</td> </td>
</tr> </tr>
@@ -196,7 +202,7 @@
<div class="card-foot"> <div class="card-foot">
<span class="mono muted">显示 {{ stats?.surveyList?.length || 0 }} / {{ formatNum(stats?.surveyPending) }} 个待办勘察单</span> <span class="mono muted">显示 {{ stats?.surveyList?.length || 0 }} / {{ formatNum(stats?.surveyPending) }} 个待办勘察单</span>
<a class="card-link">进入勘察派单工作流<ArrowRightOutlined /></a> <a class="card-link" @click="goSurveyWorkflow">进入勘察派单工作流<ArrowRightOutlined /></a>
</div> </div>
</div> </div>
@@ -241,7 +247,7 @@
<div> <div>
<div class="card-title-row"> <div class="card-title-row">
<h3 class="card-title">电工资质到期提醒</h3> <h3 class="card-title">电工资质到期提醒</h3>
<span class="card-tag">CERT ALERT</span> <span class="card-tag">证照预警</span>
</div> </div>
<p class="card-sub">临期(30 天内)与已过期的电工资质证照清单,已过期优先展示</p> <p class="card-sub">临期(30 天内)与已过期的电工资质证照清单,已过期优先展示</p>
</div> </div>
@@ -297,7 +303,6 @@ import {
ScheduleOutlined, ScheduleOutlined,
FieldTimeOutlined, FieldTimeOutlined,
DeploymentUnitOutlined, DeploymentUnitOutlined,
PhoneOutlined,
MoreOutlined, MoreOutlined,
UserOutlined, UserOutlined,
RiseOutlined, RiseOutlined,
@@ -305,7 +310,7 @@ import {
} from '@ant-design/icons-vue'; } from '@ant-design/icons-vue';
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import { dashboardApi, type DashboardStats } from '@/api/dashboard'; import { dashboardApi, type DashboardStats, type SurveyOrderItem } from '@/api/dashboard';
import { workerRegistryApi } from '@/api/workerRegistry'; import { workerRegistryApi } from '@/api/workerRegistry';
const router = useRouter(); const router = useRouter();
@@ -515,6 +520,17 @@ function handleRefresh() {
loadStats(); loadStats();
} }
// 勘察流水行操作
function handleRowAction(key: string, row: SurveyOrderItem) {
if (key === 'detail') {
router.push({ name: 'DispatchSurveyEdit', params: { id: String(row.id) } });
}
}
function goSurveyWorkflow() {
router.push('/dispatch/survey');
}
function initCharts() { function initCharts() {
if (trendChartRef.value) trendChart = echarts.init(trendChartRef.value); if (trendChartRef.value) trendChart = echarts.init(trendChartRef.value);
if (donutChartRef.value) donutChart = echarts.init(donutChartRef.value); if (donutChartRef.value) donutChart = echarts.init(donutChartRef.value);
@@ -905,6 +921,5 @@ function disposeCharts() {
0%, 100% { opacity: 1; } 0%, 100% { opacity: 1; }
50% { opacity: 0.4; } 50% { opacity: 0.4; }
} }
.material-symbols-outlined { font-size: 16px; line-height: 1; }
} }
</style> </style>