自动化立体仓库 - WMS系统
#
lty
17 小时以前 5a8616e1b51f7ac0ca5972f3f773ef22c3579fdd
src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html
@@ -284,6 +284,7 @@
            </el-table-column>
            <el-table-column prop="anfme" label="erp下发数量" min-width="80" align="center"></el-table-column>
            <el-table-column prop="sortingAnfme" label="待下发数量" min-width="80" align="center"></el-table-column>
               <el-table-column prop="beBatch" label="已下发数量" min-width="80" align="center"></el-table-column>
<!--            <el-table-column prop="status" label="状态" min-width="100" align="center" :formatter="formatStatusB"></el-table-column>-->
            <el-table-column prop="inspect" label="状态" min-width="100" align="center" :formatter="formatStatusC"></el-table-column>
            <!-- 修改为删除列 -->
@@ -860,89 +861,70 @@
         confirmReport(orderNo, done) {
            this.reportLoading = true;
            // // 收集要上报的数据
            // const reportData = this.tableDataB.map(item => {
            //    const itemKey = this.getItemKey(item);
            //    return {
            //       orderNo: groupOrderNo,             // 组货单号
            //       matnr: item.matnr,                 // 商品编号
            //       maktx: item.maktx,                 // 商品名称
            //       standby1: item.standby1,           // 客户PO
            //       standby2: item.standby2,           // UPC
            //       standby3: item.standby3,           // 客户SKU
            //       boxType3: item.boxType3,           // 采购单号
            //       anfme: this.modifiedQuantities[itemKey] || item.anfme, // 数量(使用修改后的数量)
            //       erpAnfme: item.erpAnfme,           // ERP下架数量
            //       status: item.status,               // 状态
            //       batch: item.batch,                 // 箱号
            //       // 其他必要参数
            //       modified: this.modifiedQuantities[itemKey] !== undefined // 标记是否修改
            //    };
            // });
            //
            // // 收集删除记录
            // const deleteData = this.deletedRecords.map(record => ({
            //    orderNo: groupOrderNo,
            //    matnr: record.matnr,
            //    maktx: record.maktx,
            //    standby1: record.standby1,
            //    standby2: record.standby2,
            //    standby3: record.standby3,
            //    boxType3: record.boxType3,
            //    anfme: record.anfme,
            //    erpAnfme: record.erpAnfme,
            //    status: record.status,
            //    batch: record.batch,
            //    deleteTime: record.deleteTime
            // }));
            //
            // // 构建提交数据
            // const submitData = {
            //    orderNo: groupOrderNo,
            //    details: reportData,
            //    deletedDetails: deleteData,
            //    totalCount: reportData.length,
            //    modifiedCount: Object.keys(this.modifiedQuantities).length,
            //    deletedCount: deleteData.length
            // };
            // 先将每条明细的 待下发数量 写入 beBatch 字段
            const updates = (this.tableDataB || []).map(item => {
               const beBatchVal = Math.floor(parseFloat(item.sortingAnfme || 0));
               return new Promise((resolve) => {
                  $.ajax({
                     url: baseUrl + "/order/pakin/orderDetl/update/auth",
                     headers: { 'token': localStorage.getItem('token') },
                     data: {
                        id: item.id,
                        beBatch: beBatchVal
                     },
                     method: 'POST',
                     success: (res) => {
                        if (res.code === 200 || res.success) {
                           this.$set(item, 'beBatch', beBatchVal);
                           resolve({ ok: true });
                        } else {
                           resolve({ ok: false, msg: res.msg || '更新失败' });
                        }
                     },
                     error: () => resolve({ ok: false, msg: '网络异常' })
                  });
               });
            });
            // 调用后台API上报数据
            $.ajax({
               url: baseUrl + "/order/pakin/actual/shipment/order/report/auth",
               headers: {'token': localStorage.getItem('token')},
               data: {
                  orderNo: orderNo // 传递订单号
               },
               method: 'POST',
               success: (res) => {
            Promise.all(updates).then(results => {
               const failed = results.find(r => !r.ok);
               if (failed) {
                  this.reportLoading = false;
                  if (typeof done === 'function') {
                     done();
                  }
                  if (res.code === 200 || res.success) {
                     this.$message({
                        message: `订单号 ${orderNo} 下发成功`,
                        type: 'success',
                        duration: 5000,
                        dangerouslyUseHTMLString: true
                     });
                     // 下发成功后关闭弹窗并刷新数据
                     setTimeout(() => {
                        this.closeDetailDialog();
                        this.getTableDataA(); // 刷新主表数据
                     }, 1500);
                  } else {
                     this.$message.error(res.msg || '下发失败');
                  }
               },
               error: (error) => {
                  this.reportLoading = false;
                  if (typeof done === 'function') {
                     done();
                  }
                  console.error('下发失败:', error);
                  this.$message.error('下发失败,请检查网络连接');
                  if (typeof done === 'function') done();
                  this.$message.error(failed.msg || '同步beBatch失败');
                  return;
               }
               // 同步完成后调用后台API进行下发
               $.ajax({
                  url: baseUrl + "/order/pakin/actual/shipment/order/report/auth",
                  headers: {'token': localStorage.getItem('token')},
                  data: { orderNo: orderNo },
                  method: 'POST',
                  success: (res) => {
                     this.reportLoading = false;
                     if (typeof done === 'function') done();
                     if (res.code === 200 || res.success) {
                        this.$message({
                           message: `订单号 ${orderNo} 下发成功`,
                           type: 'success',
                           duration: 5000,
                           dangerouslyUseHTMLString: true
                        });
                        setTimeout(() => {
                           this.closeDetailDialog();
                           this.getTableDataA();
                        }, 1500);
                     } else {
                        this.$message.error(res.msg || '下发失败');
                     }
                  },
                  error: (error) => {
                     this.reportLoading = false;
                     if (typeof done === 'function') done();
                     console.error('下发失败:', error);
                     this.$message.error('下发失败,请检查网络连接');
                  }
               });
            });
         },
@@ -1162,4 +1144,4 @@
   });
</script>
</body>
</html>
</html>