fix(wms/coil/report): 修复并优化报表与钢卷面板功能

1.  钢卷列表新增发货业务员列与绑定负责人显示
2.  修复异常弹窗标签空格格式问题
3.  替换报表旧接口为listForPeriodComparison
4.  新增lossCoilIds变量优化盘亏数据获取逻辑
5.  优化导出功能的线圈ID获取方式
This commit is contained in:
2026-06-23 16:24:34 +08:00
parent 9fd96c3cf5
commit 6cf855b004
2 changed files with 21 additions and 11 deletions

View File

@@ -177,6 +177,11 @@
</el-table-column>
<el-table-column label="业务员" align="center" prop="saleName" width="60" />
<el-table-column label="合同号" align="center" prop="contractNo" width="120" />
<el-table-column v-if="showWaybill" label="发货业务员" align="center" prop="exportByName" width="100">
<template slot-scope="scope">
{{ scope.row.bindPrincipal || '-' }}
</template>
</el-table-column>
<el-table-column v-if="showAbnormal" label="异常数量" align="center" prop="abnormalCount"></el-table-column>
<el-table-column label="长度 (米)" align="center" prop="length" v-if="showLength" />
<el-table-column label="发货时间" v-if="showExportTime" align="center" prop="exportTime" width="205">
@@ -911,7 +916,7 @@
</el-dialog>
<el-dialog title="钢卷异常信息" :visible.sync="abmornal.visible" fullscreen>
<exception-manager :coilId="currentCoilId" :show-inherit-button="true"/>
<exception-manager :coilId="currentCoilId" :show-inherit-button="true" />
</el-dialog>
</div>
</template>

View File

@@ -437,7 +437,7 @@
</template>
<script>
import { listLightCoil, listCoilWithIds } from "@/api/wms/coil";
import { listForPeriodComparison, listCoilWithIds } from "@/api/wms/coil";
import {
listLightPendingAction,
} from '@/api/wms/pendingAction';
@@ -595,6 +595,7 @@ export default {
lossColumns: [],
outputColumns: [],
actionIds: '',
lossCoilIds: '',
outCoilIds: '',
outTableList: [],
lossTableList: [],
@@ -834,7 +835,9 @@ export default {
actionStatus: 2
});
const lossActionIds = res.data.filter(item => item.actionId).map(item => item.actionId);
const lossCoilIds = res.data.filter(item => item.coilId).map(item => item.coilId)
this.actionIds = lossActionIds.join(',')
this.lossCoilIds = lossCoilIds.join(',')
const outIds = [...new Set(res.data.filter(item => item.processedCoilIds).map(item => item.processedCoilIds))];
this.outCoilIds = outIds.join(',')
@@ -845,8 +848,8 @@ export default {
}
const [lossRes, outRes] = await Promise.all([
listLightCoil({ ...this.queryParams, actionIds: this.actionIds, startTime: '', endTime: '', selectType: 'raw_material' }),
listLightCoil({ ...this.queryParams, coilIds: this.outCoilIds, startTime: '', endTime: '', byCreateTimeStart: this.queryParams.startTime, byCreateTimeEnd: this.queryParams.endTime, selectType: 'product' }),
listForPeriodComparison({ ...this.queryParams, coilIds: this.lossCoilIds, startTime: '', endTime: '', selectType: 'raw_material' }),
listForPeriodComparison({ ...this.queryParams, coilIds: this.outCoilIds, startTime: '', endTime: '', byCreateTimeStart: this.queryParams.startTime, byCreateTimeEnd: this.queryParams.endTime, selectType: 'product' }),
]);
this.lossList = lossRes.map(item => {
@@ -879,7 +882,9 @@ export default {
actionStatus: 2
});
const lossActionIds = res.data.filter(item => item.actionId).map(item => item.actionId);
const lossCoilIds = res.data.filter(item => item.coilId).map(item => item.coilId)
this.actionIds = lossActionIds.join(',')
this.lossCoilIds = lossCoilIds.join(',')
const outIds = [...new Set(res.data.filter(item => item.processedCoilIds).map(item => item.processedCoilIds))];
this.outCoilIds = outIds.join(',')
@@ -890,8 +895,8 @@ export default {
}
const [lossRes, outRes] = await Promise.all([
listLightCoil({ ...this.queryParams, actionIds: this.actionIds, startTime: '', endTime: '', selectType: 'raw_material' }),
listLightCoil({ ...this.queryParams, coilIds: this.outCoilIds, startTime: '', endTime: '', byCreateTimeStart: this.queryParams.startTime, byCreateTimeEnd: this.queryParams.endTime, selectType: 'product' }),
listForPeriodComparison({ ...this.queryParams, coilIds: this.lossCoilIds, startTime: '', endTime: '', selectType: 'raw_material' }),
listForPeriodComparison({ ...this.queryParams, coilIds: this.outCoilIds, startTime: '', endTime: '', byCreateTimeStart: this.queryParams.startTime, byCreateTimeEnd: this.queryParams.endTime, selectType: 'product' }),
]);
if (this.reportType === 'out') {
@@ -960,8 +965,8 @@ export default {
}
const [lossRes, outRes] = await Promise.all([
listLightCoil({ ...yesterdayParams, actionIds: lossActionIds.join(',') || '', startTime: '', endTime: '', selectType: 'raw_material' }),
listLightCoil({ ...yesterdayParams, coilIds: outIds.join(',') || '', startTime: '', endTime: '', byCreateTimeStart: start, byCreateTimeEnd: end, selectType: 'product' }),
listForPeriodComparison({ ...yesterdayParams, actionIds: lossActionIds.join(',') || '', startTime: '', endTime: '', selectType: 'raw_material' }),
listForPeriodComparison({ ...yesterdayParams, coilIds: outIds.join(',') || '', startTime: '', endTime: '', byCreateTimeStart: start, byCreateTimeEnd: end, selectType: 'product' }),
])
const yesterdayLossList = lossRes.map(item => {
@@ -1118,10 +1123,10 @@ export default {
handleCustomExport(orderedColumns) {
const { pageNum, pageSize, startTime, endTime, ...filters } = this.queryParams
const type = this.customExportType
const list = type === 'loss' ? this.lossList : this.outList
const coilIds = type === 'loss' ? this.lossCoilIds : this.outCoilIds
this.download('wms/materialCoil/exportCustomOrdered', {
...filters,
coilIds: list.map(item => item.coilId).join(','),
coilIds: coilIds,
columnsOrdered: orderedColumns.join(','),
}, `materialCoil_${new Date().getTime()}.xlsx`)
},
@@ -1135,7 +1140,7 @@ export default {
fileName = `materialCoil_${this.queryParams.date || ''}_${new Date().getTime()}.xlsx`;
}
this.download('wms/materialCoil/export', {
coilIds: this.outList.map(item => item.coilId).join(',')
coilIds: this.outCoilIds
}, fileName)
},
exportLossData() {