feat(coil): 添加发货人选择功能并优化发货时间显示

- 新增发货人选择下拉框,支持从用户列表中选择发货人
- 调整发货时间列宽度和日期选择器样式
- 根据显示状态动态控制实际库区和更新人列的显示
- 添加获取用户列表的API调用和方法
- 实现发货人变更处理逻辑
This commit is contained in:
砂糖
2026-01-14 11:29:23 +08:00
parent 751dd598c1
commit e61ba39116

View File

@@ -85,7 +85,7 @@
</el-table-column>
<!-- <el-table-column label="厂家卷号" align="center" prop="supplierCoilNo" /> -->
<el-table-column label="逻辑库位" align="center" prop="warehouseName" v-if="!hideWarehouseQuery" />
<el-table-column label="实际库区" align="center" prop="actualWarehouseName" v-if="!hideWarehouseQuery" />
<el-table-column label="实际库区" align="center" prop="actualWarehouseName" v-if="!hideWarehouseQuery && !showExportTime" />
<!-- <el-table-column label="物料类型" align="center" prop="materialType" /> -->
<el-table-column label="产品类型" align="center" width="250">
<template slot-scope="scope">
@@ -95,16 +95,22 @@
</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="更新时间" align="center" prop="updateTime" />
<el-table-column label="发货时间" align="center" v-if="showExportTime" prop="exportTime" width="160">
<el-table-column label="更新时间" v-if="!showExportTime" align="center" prop="updateTime" />
<el-table-column label="发货时间" v-if="showExportTime" align="center" prop="exportTime" width="205">
<template slot-scope="scope">
<el-date-picker @change="handleExportTimeChange(scope.row)" v-if="canEditExportTime" style="width: 90%"
<el-date-picker @change="handleExportTimeChange(scope.row)" v-if="canEditExportTime" style="width: 100%"
v-model="scope.row.exportTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择发货时间" />
<div v-else>{{ scope.row.exportTime }}</div>
</template>
</el-table-column>
<el-table-column label="更新人" align="center" prop="updateByName" />
<el-table-column label="发货人" v-if="showExportTime" align="center" prop="exportByName" width="150">
<template slot-scope="scope">
<el-select v-model="scope.row.exportBy" placeholder="请选择发货人" filterable @change="handleExportByNameChange(scope.row)">
<el-option v-for="item in userList" :key="item.userName" :value="item.userName" :label="item.nickName" />
</el-select>
</template>
</el-table-column>
<el-table-column label="更新人" v-if="!showExportTime" align="center" prop="updateByName" />
<el-table-column label="二维码" v-if="qrcode">
<template slot-scope="scope">
<QRCode :content="scope.row.qrcodeRecordId" :size="50" />
@@ -311,6 +317,7 @@ import MemoInput from "@/components/MemoInput";
import MutiSelect from "@/components/MutiSelect";
import html2canvas from 'html2canvas';
import { PDFDocument } from 'pdf-lib';
import { listUser } from "@/api/system/user";
export default {
name: "MaterialCoil",
@@ -553,7 +560,8 @@ export default {
{ label: '厂家', prop: 'itemManufacturer' },
],
title: '详细信息'
}
},
userList: [],
};
},
computed: {
@@ -575,8 +583,14 @@ export default {
},
created() {
this.getList();
this.getUserList();
},
methods: {
getUserList() {
listUser({ pageNum: 1, pageSize: 1000 }).then(res => {
this.userList = res.rows || [];
});
},
// 打印标签
handlePrintLabel(row) {
const item = row.itemType === 'product' ? row.product : row.rawMaterial;
@@ -882,7 +896,7 @@ export default {
if (row.exportTime) {
row.exportTime = row.exportTime.replace('T', ' ');
}
console.log(row);
this.buttonLoading = true;
updateMaterialCoilSimple(row).then(_ => {
this.$modal.msgSuccess("发货时间修改成功");
this.getList();
@@ -890,6 +904,15 @@ export default {
this.buttonLoading = false;
});
},
handleExportByNameChange(row) {
this.buttonLoading = true;
updateMaterialCoilSimple(row).then(_ => {
this.$modal.msgSuccess("发货人修改成功");
this.getList();
}).finally(() => {
this.buttonLoading = false;
});
},
/** 删除按钮操作 */
handleDelete(row) {
const coilIds = row.coilId || this.ids;