|
|
|
|
@ -65,24 +65,34 @@
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view v-else class="trend-content">
|
|
|
|
|
<view class="trend-stats">
|
|
|
|
|
<view class="trend-stat-card">
|
|
|
|
|
<text class="trend-stat-value">{{ formatNumber(taskTrendData.totalNum) }}</text>
|
|
|
|
|
<text class="trend-stat-label">{{ t('dashboard.totalTask') }}</text>
|
|
|
|
|
<scroll-view scroll-x enable-flex class="trend-stats-scroll">
|
|
|
|
|
<view class="trend-stats">
|
|
|
|
|
<view class="trend-stat-card">
|
|
|
|
|
<text class="trend-stat-value">{{ formatNumber(taskTrendData.totalNum) }}</text>
|
|
|
|
|
<text class="trend-stat-label">{{ t('dashboard.totalTask') }}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="trend-stat-card">
|
|
|
|
|
<text class="trend-stat-value">{{ formatNumber(taskTrendData.issuedNum) }}</text>
|
|
|
|
|
<text class="trend-stat-label">{{ t('dashboard.issuedNum') }}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="trend-stat-card">
|
|
|
|
|
<text class="trend-stat-value">{{ formatNumber(taskTrendData.partialScheduledNum) }}</text>
|
|
|
|
|
<text class="trend-stat-label">{{ t('dashboard.partialScheduledNum') }}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="trend-stat-card">
|
|
|
|
|
<text class="trend-stat-value">{{ formatNumber(taskTrendData.waitingProductionNum) }}</text>
|
|
|
|
|
<text class="trend-stat-label">{{ t('dashboard.waitingProduction') }}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="trend-stat-card">
|
|
|
|
|
<text class="trend-stat-value">{{ formatNumber(taskTrendData.producingNum) }}</text>
|
|
|
|
|
<text class="trend-stat-label">{{ t('dashboard.producing') }}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="trend-stat-card">
|
|
|
|
|
<text class="trend-stat-value">{{ formatNumber(taskTrendData.completedNum) }}</text>
|
|
|
|
|
<text class="trend-stat-label">{{ t('dashboard.completed') }}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="trend-stat-card">
|
|
|
|
|
<text class="trend-stat-value pending">{{ formatNumber(taskTrendData.waitingProductionNum) }}</text>
|
|
|
|
|
<text class="trend-stat-label">{{ t('dashboard.waitingProduction') }}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="trend-stat-card">
|
|
|
|
|
<text class="trend-stat-value running">{{ formatNumber(taskTrendData.producingNum) }}</text>
|
|
|
|
|
<text class="trend-stat-label">{{ t('dashboard.producing') }}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="trend-stat-card">
|
|
|
|
|
<text class="trend-stat-value pass">{{ formatNumber(taskTrendData.completedNum) }}</text>
|
|
|
|
|
<text class="trend-stat-label">{{ t('dashboard.completed') }}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</scroll-view>
|
|
|
|
|
<view v-if="currentRange !== 'custom'" class="trend-chart">
|
|
|
|
|
<text class="chart-title">{{ t('dashboard.totalTask') }}</text>
|
|
|
|
|
<view class="chart-box">
|
|
|
|
|
@ -583,14 +593,20 @@ defineExpose({ loadData })
|
|
|
|
|
margin-top: 8rpx;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.trend-stats {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
.trend-stats-scroll {
|
|
|
|
|
width: 100%;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
margin-bottom: 24rpx;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.trend-stats {
|
|
|
|
|
display: inline-flex;
|
|
|
|
|
flex-wrap: nowrap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.trend-stat-card {
|
|
|
|
|
flex: 1;
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
width: 164rpx;
|
|
|
|
|
background: #f8fafc;
|
|
|
|
|
border-radius: 12rpx;
|
|
|
|
|
padding: 20rpx 12rpx;
|
|
|
|
|
|