fix(attendance,report): 修复并优化代码细节
1. 新增考勤打卡状态"未打卡"的中文翻译映射 2. 格式化页面组件代码行内样式,统一代码风格 3. 简化报表导出逻辑,统一使用actionIds参数进行导出
This commit is contained in:
@@ -679,6 +679,7 @@ export default {
|
||||
case 'absent_half': return '半天旷工'
|
||||
case 'absent_full': return '全天旷工'
|
||||
case 'abnormal': return '迟到/早退'
|
||||
case 'missed': return '未打卡'
|
||||
default: return '无'
|
||||
}
|
||||
},
|
||||
|
||||
@@ -5,27 +5,21 @@
|
||||
<!-- 根据 reportType 显示不同的日期选择器 -->
|
||||
<template v-if="['out', 'loss'].includes(reportType)">
|
||||
<el-form-item label="时间范围" prop="timeRange">
|
||||
<time-range-picker
|
||||
v-model="queryParams"
|
||||
start-key="startTime"
|
||||
end-key="endTime"
|
||||
:default-start-time="defaultStartTime"
|
||||
:default-end-time="defaultEndTime"
|
||||
@quick-select="handleQuery"
|
||||
/>
|
||||
<time-range-picker v-model="queryParams" start-key="startTime" end-key="endTime"
|
||||
:default-start-time="defaultStartTime" :default-end-time="defaultEndTime" @quick-select="handleQuery" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
<el-form-item v-else-if="reportType === 'day'" label="日期" prop="date">
|
||||
<el-date-picker style="width: 200px;" v-model="dayDate" type="date"
|
||||
value-format="yyyy-MM-dd" placeholder="选择日期" @change="handleDateChange"></el-date-picker>
|
||||
<el-date-picker style="width: 200px;" v-model="dayDate" type="date" value-format="yyyy-MM-dd"
|
||||
placeholder="选择日期" @change="handleDateChange"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item v-else-if="reportType === 'month'" label="日期" prop="date">
|
||||
<el-date-picker style="width: 200px;" v-model="monthDate" type="month"
|
||||
value-format="yyyy-MM" placeholder="选择月份" @change="handleDateChange"></el-date-picker>
|
||||
<el-date-picker style="width: 200px;" v-model="monthDate" type="month" value-format="yyyy-MM"
|
||||
placeholder="选择月份" @change="handleDateChange"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item v-else-if="reportType === 'year'" label="日期" prop="date">
|
||||
<el-date-picker style="width: 200px;" v-model="yearDate" type="year"
|
||||
value-format="yyyy" placeholder="选择年份" @change="handleDateChange"></el-date-picker>
|
||||
<el-date-picker style="width: 200px;" v-model="yearDate" type="year" value-format="yyyy" placeholder="选择年份"
|
||||
@change="handleDateChange"></el-date-picker>
|
||||
</el-form-item>
|
||||
<template v-else-if="reportType === 'team'">
|
||||
<el-form-item label="开始日期">
|
||||
@@ -78,18 +72,23 @@
|
||||
placeholder="请选择厂家" clearable @keyup.enter.native="handleQuery" multiple />
|
||||
</el-form-item>
|
||||
<!-- 逻辑库位仅在 team, day, month, year, all 类型时显示 -->
|
||||
<el-form-item v-if="['team', 'day', 'month', 'year', 'all'].includes(reportType)" label="逻辑库位" prop="warehouseIds">
|
||||
<el-form-item v-if="['team', 'day', 'month', 'year', 'all'].includes(reportType)" label="逻辑库位"
|
||||
prop="warehouseIds">
|
||||
<el-select v-model="warehouseIds" collapse-tags multiple placeholder="请选择逻辑库位" style="width: 200px;">
|
||||
<el-option v-for="item in warehouseOptions" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="handleQuery">查询</el-button>
|
||||
<el-button v-if="['out', 'team', 'day', 'month', 'year', 'all'].includes(reportType)" type="primary" @click="exportData">导出产出钢卷</el-button>
|
||||
<el-button v-if="['loss', 'team', 'day', 'month', 'year', 'all'].includes(reportType)" type="primary" @click="exportLossData">导出消耗钢卷</el-button>
|
||||
<el-button v-if="['out', 'team', 'day', 'month', 'year', 'all'].includes(reportType)" type="primary"
|
||||
@click="exportData">导出产出钢卷</el-button>
|
||||
<el-button v-if="['loss', 'team', 'day', 'month', 'year', 'all'].includes(reportType)" type="primary"
|
||||
@click="exportLossData">导出消耗钢卷</el-button>
|
||||
<el-button type="primary" @click="settingVisible = true">列设置</el-button>
|
||||
<el-button v-if="['out', 'team', 'day', 'month', 'year', 'all'].includes(reportType)" type="primary" @click="saveOutputReport">保存产出报表</el-button>
|
||||
<el-button v-if="['loss', 'team', 'day', 'month', 'year', 'all'].includes(reportType)" type="primary" @click="saveLossReport">保存消耗报表</el-button>
|
||||
<el-button v-if="['out', 'team', 'day', 'month', 'year', 'all'].includes(reportType)" type="primary"
|
||||
@click="saveOutputReport">保存产出报表</el-button>
|
||||
<el-button v-if="['loss', 'team', 'day', 'month', 'year', 'all'].includes(reportType)" type="primary"
|
||||
@click="saveLossReport">保存消耗报表</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
@@ -471,6 +470,7 @@ export default {
|
||||
// 获取两层数据
|
||||
const lossIds = res.rows.filter(item => item.coilId).map(item => item.coilId);
|
||||
const lossActionIds = res.rows.filter(item => item.actionId).map(item => item.actionId);
|
||||
this.actionIds = lossActionIds.join(',')
|
||||
// 使用new Set去重
|
||||
const outIds = [...new Set(res.rows.filter(item => item.processedCoilIds).map(item => item.processedCoilIds))];
|
||||
|
||||
@@ -558,15 +558,10 @@ export default {
|
||||
if (['day', 'month', 'year'].includes(this.reportType)) {
|
||||
fileName = `materialCoil_${this.queryParams.date || ''}_${new Date().getTime()}.xlsx`;
|
||||
}
|
||||
if (this.reportType === 'loss' || this.reportType === 'team') {
|
||||
|
||||
this.download('wms/materialCoil/export', {
|
||||
actionIds: this.actionIds
|
||||
}, fileName)
|
||||
} else {
|
||||
this.download('wms/materialCoil/export', {
|
||||
coilIds: this.lossList.map(item => item.coilId).join(',')
|
||||
}, fileName)
|
||||
}
|
||||
},
|
||||
// 保存产出报表
|
||||
saveOutputReport() {
|
||||
|
||||
Reference in New Issue
Block a user