|
|
@@ -66,24 +66,24 @@
|
|
|
:summary-method="getSummaries" tooltip-effect="dark" :data="rdetailstableData" row-key="ID" >
|
|
|
<!-- <el-table-column align="center" type="selection" width="40"/> -->
|
|
|
<el-table-column align="left" label="退还单号" prop="出库单据编号" width="140"/>
|
|
|
- <el-table-column align="left" label="批次号" prop="批次号" width="90"/>
|
|
|
- <el-table-column align="left" label="订单编号" prop="订单编号" width="105"/>
|
|
|
- <el-table-column align="left" label="客户" prop="客户编号" width="70"/>
|
|
|
- <el-table-column align="left" label="生产款号" prop="款号" width="140"/>
|
|
|
- <el-table-column align="left" label="款式" prop="款式" width="120"/>
|
|
|
- <el-table-column align="left" label="物料编码" prop="物料编码" width="150"/>
|
|
|
- <el-table-column align="left" label="物料名称" prop="物料名称" width="150"/>
|
|
|
- <el-table-column align="left" label="颜色" prop="颜色" width="120"/>
|
|
|
- <!-- <el-table-column align="left" label="计划用料" prop="计划用料" width="90"/> -->
|
|
|
- <!-- <el-table-column align="left" label="计划门幅" prop="计划门幅" width="90"/> -->
|
|
|
- <el-table-column align="left" label="定额用料" prop="定额用料" width="90"/>
|
|
|
- <el-table-column align="left" label="定额门幅" prop="定额门幅" width="90"/>
|
|
|
- <el-table-column align="left" label="退还数量" prop="入仓总量" width="90"/>
|
|
|
- <el-table-column align="left" label="库存总量" prop="库存数量" width="90"/>
|
|
|
- <el-table-column align="left" label="面料结余" prop="面料结余" width="90"/>
|
|
|
- <el-table-column align="left" label="投料单位" prop="单位" width="90"/>
|
|
|
- <el-table-column align="left" label="退还人员" prop="操作机台" width="100"/>
|
|
|
- <el-table-column align="left" label="退还日期" prop="日期" width="160"/>
|
|
|
+ <el-table-column align="left" label="批次号" prop="批次号" width="90"/>
|
|
|
+ <el-table-column align="left" label="订单编号" prop="订单编号" width="105"/>
|
|
|
+ <el-table-column align="left" label="客户" prop="客户编号" width="70"/>
|
|
|
+ <el-table-column align="left" label="生产款号" prop="款号" width="140"/>
|
|
|
+ <el-table-column align="left" label="款式" prop="款式" width="120"/>
|
|
|
+ <el-table-column align="left" label="物料编码" prop="物料编码" width="150"/>
|
|
|
+ <el-table-column align="left" label="物料名称" prop="物料名称" width="150"/>
|
|
|
+ <el-table-column align="left" label="颜色" prop="BOM_颜色" width="120"/>
|
|
|
+ <!-- <el-table-column align="left" label="计划用料" prop="计划用料" width="90"/> -->
|
|
|
+ <!-- <el-table-column align="left" label="计划门幅" prop="计划门幅" width="90"/> -->
|
|
|
+ <el-table-column align="left" label="定额用料" prop="实际门幅" width="90"/>
|
|
|
+ <el-table-column align="left" label="定额门幅" prop="定额门幅" width="90"/>
|
|
|
+ <el-table-column align="left" label="退还数量" prop="数量" width="90"/>
|
|
|
+ <el-table-column align="left" label="入仓总量" prop="入仓总量" width="90"/>
|
|
|
+ <el-table-column align="left" label="库存总量" prop="库存数量" width="90"/>
|
|
|
+ <el-table-column align="left" label="投料单位" prop="单位" width="90"/>
|
|
|
+ <el-table-column align="left" label="退还人员" prop="操作机台" width="100"/>
|
|
|
+ <el-table-column align="left" label="退还日期" prop="日期" width="160"/>
|
|
|
</el-table>
|
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
|
@@ -392,81 +392,87 @@
|
|
|
|
|
|
//表格行点击
|
|
|
const tableRowClick = async (row) => {
|
|
|
- setTimeout(() => {
|
|
|
- const inputElement = document.getElementById('rksl');
|
|
|
- if (inputElement) {
|
|
|
- inputElement.focus();
|
|
|
- }
|
|
|
- }, 100);//100毫秒
|
|
|
-
|
|
|
- add_searchInfo.value = row.订单编号;
|
|
|
- _orderid.value = row.订单编号;
|
|
|
- _kh.value = row.生产款号;
|
|
|
-
|
|
|
- ddhformData.glbh = row['关联编号'];
|
|
|
- ddhformData.ddh = row['订单编号'];
|
|
|
- ddhformData.kh = row['客户编号'];
|
|
|
- ddhformData.sckh = row['生产款号'];
|
|
|
- ddhformData.wlbh = row['物料编码'];
|
|
|
- ddhformData.ks = row['款式'];
|
|
|
-
|
|
|
- // 获取详情数据
|
|
|
- const Detailres = await getInputDetail({
|
|
|
- 关联编号: row.关联编号,
|
|
|
- 订单编号: row.订单编号,
|
|
|
- 物料编码: row.物料编码
|
|
|
- });
|
|
|
-
|
|
|
- console.log(Detailres);
|
|
|
-
|
|
|
- // 将 Detailres.data 中的数据赋值给 mianliaotabData
|
|
|
- if (Detailres.code === 0 && Detailres.data) {
|
|
|
- mianliaotabData.value = {
|
|
|
- 订单编号: row.订单编号,
|
|
|
- 客户编号: row.客户编号,
|
|
|
- 生产款号: row.生产款号,
|
|
|
- 款式: row.款式,
|
|
|
- 物料编号: Detailres.data.BOM_物料编码,
|
|
|
- 物料名称: Detailres.data.BOM_物料名称,
|
|
|
- 关联号: Detailres.data.关联编号,
|
|
|
- 批次号: Detailres.data.批次号,
|
|
|
- 计划用料: Detailres.data.计划用料,
|
|
|
- 计划门幅: Detailres.data.BOM_计划门幅,
|
|
|
- 定额用料: Detailres.data.定额用料,
|
|
|
- 定额门幅: Detailres.data.BOM_定额门幅,
|
|
|
- 退还数量: Detailres.data.退还数量,
|
|
|
- 入仓总数量: Detailres.data.退还数量?Detailres.data.退还数量:0,
|
|
|
- 库存数量: Detailres.data.库存数量?Detailres.data.库存数量:0,
|
|
|
- 领用数量: Detailres.data.领用数量,
|
|
|
- 关联订单: Detailres.data.关联订单,
|
|
|
- 颜色: Detailres.data.BOM_颜色,
|
|
|
- 单位:'米',
|
|
|
- 实际门幅:Detailres.data.实际门幅
|
|
|
- };
|
|
|
- // 计算 danjutableData 中相同物料名称和颜色的退还数量总和
|
|
|
- const { 物料名称, 颜色 } = mianliaotabData.value;
|
|
|
-
|
|
|
- // 计算退还的总数量
|
|
|
- const totalOutbound = danjutableData.value
|
|
|
- .filter((item) => item.物料名称 === 物料名称 && item.颜色 === 颜色)
|
|
|
- .reduce((sum, item) => sum + Number(item.退还数量), 0);
|
|
|
-
|
|
|
- // 根据退还类型更新库存数量
|
|
|
- if (danjutableData.value.退还类型 === '退面料') {
|
|
|
- // 退面料,增加库存数量
|
|
|
- mianliaotabData.value.库存数量 += totalOutbound;
|
|
|
- } else if (danjutableData.value.退还类型 === '退厂商') {
|
|
|
- // 退厂商,减少库存数量
|
|
|
- mianliaotabData.value.库存数量 -= totalOutbound;
|
|
|
- } else {
|
|
|
- // 其他退还类型可以根据需要加入处理逻辑
|
|
|
- console.log('未知的退还类型');
|
|
|
- }
|
|
|
- // mianliaotabData.value.库存数量 -= totalOutbound;
|
|
|
- } else {
|
|
|
- console.error('获取详情数据失败:', Detailres.msg);
|
|
|
- }
|
|
|
- };
|
|
|
+ // 延迟 100 毫秒后聚焦输入框
|
|
|
+ setTimeout(() => {
|
|
|
+ const inputElement = document.getElementById('rksl');
|
|
|
+ if (inputElement) {
|
|
|
+ inputElement.focus();
|
|
|
+ }
|
|
|
+ }, 100);
|
|
|
+
|
|
|
+ // 更新表单数据
|
|
|
+ add_searchInfo.value = row.订单编号;
|
|
|
+ _orderid.value = row.订单编号;
|
|
|
+ _kh.value = row.生产款号;
|
|
|
+
|
|
|
+ ddhformData.glbh = row['关联编号'];
|
|
|
+ ddhformData.ddh = row['订单编号'];
|
|
|
+ ddhformData.kh = row['客户编号'];
|
|
|
+ ddhformData.sckh = row['生产款号'];
|
|
|
+ ddhformData.wlbh = row['物料编码'];
|
|
|
+ ddhformData.ks = row['款式'];
|
|
|
+
|
|
|
+ // 获取详情数据
|
|
|
+ const Detailres = await getInputDetail({
|
|
|
+ 关联编号: row.关联编号,
|
|
|
+ 订单编号: row.订单编号,
|
|
|
+ 物料编码: row.物料编码,
|
|
|
+ });
|
|
|
+
|
|
|
+ console.log(Detailres);
|
|
|
+
|
|
|
+ // 如果获取详情数据成功
|
|
|
+ if (Detailres.code === 0 && Detailres.data) {
|
|
|
+ // 初始化 mianliaotabData
|
|
|
+ mianliaotabData.value = {
|
|
|
+ 订单编号: row.订单编号,
|
|
|
+ 客户编号: row.客户编号,
|
|
|
+ 生产款号: row.生产款号,
|
|
|
+ 款式: row.款式,
|
|
|
+ 物料编号: Detailres.data.BOM_物料编码,
|
|
|
+ 物料名称: Detailres.data.BOM_物料名称,
|
|
|
+ 关联号: Detailres.data.关联编号,
|
|
|
+ 批次号: Detailres.data.批次号,
|
|
|
+ 计划用料: Detailres.data.计划用料,
|
|
|
+ 计划门幅: Detailres.data.BOM_计划门幅,
|
|
|
+ 定额用料: Detailres.data.定额用料,
|
|
|
+ 定额门幅: Detailres.data.BOM_定额门幅,
|
|
|
+ 退还数量: Detailres.data.退还数量,
|
|
|
+ 入仓总数量: Detailres.data.退还数量 ? Detailres.data.退还数量 : 0,
|
|
|
+ 库存数量: Detailres.data.库存数量 ? Detailres.data.库存数量 : 0,
|
|
|
+ 领用数量: Detailres.data.领用数量,
|
|
|
+ 关联订单: Detailres.data.关联订单,
|
|
|
+ 颜色: Detailres.data.BOM_颜色,
|
|
|
+ 单位: '米',
|
|
|
+ 实际门幅: Detailres.data.实际门幅,
|
|
|
+ };
|
|
|
+
|
|
|
+ // 获取 mianliaotabData 的物料名称和颜色
|
|
|
+ const { 物料名称, 颜色 } = mianliaotabData.value;
|
|
|
+
|
|
|
+ // 计算 danjutableData 中相同物料名称和颜色的退还数量总和
|
|
|
+ const totalOutbound = danjutableData.value
|
|
|
+ .filter(
|
|
|
+ (item) =>
|
|
|
+ item.物料名称 === 物料名称 &&
|
|
|
+ item.颜色 === 颜色
|
|
|
+ )
|
|
|
+ .reduce((sum, item) => {
|
|
|
+ // 根据退还类型决定是加还是减
|
|
|
+ if (item.退还类型 === '退面料') {
|
|
|
+ return sum + Number(item.退还数量); // 退面料,增加退还数量
|
|
|
+ } else if (item.退还类型 === '退厂商') {
|
|
|
+ return sum - Number(item.退还数量); // 退厂商,减少退还数量
|
|
|
+ }
|
|
|
+ return sum; // 其他退还类型不处理
|
|
|
+ }, 0);
|
|
|
+
|
|
|
+ // 更新 mianliaotabData 的库存数量
|
|
|
+ mianliaotabData.value.库存数量 += totalOutbound;
|
|
|
+ } else {
|
|
|
+ console.error('获取详情数据失败:', Detailres.msg);
|
|
|
+ }
|
|
|
+};
|
|
|
|
|
|
|
|
|
const danjutableData = ref([]); // 使用 ref 定义响应式数组
|