From ef012984e2a1d92e4a35844c6dce92ebb66c7c87 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 23 十二月 2025 11:01:45 +0800
Subject: [PATCH] #getArmType$
---
src/main/java/com/zy/asrs/entity/OrderDetlPakout.java | 8
src/main/java/com/zy/asrs/controller/OrderPakinController.java | 11
src/main/java/com/zy/asrs/entity/OrderDetl.java | 8
src/main/resources/mapper/OrderPakinMapper.xml | 7
src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java | 109 +++++++
src/main/java/com/zy/asrs/entity/OrderDetlPakin.java | 8
src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java | 5
src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html | 686 +++++++++++++++++++++++++++------------------
src/main/resources/mapper/OrderDetlPakinMapper.xml | 1
src/main/resources/mapper/OrderDetlMapper.xml | 1
src/main/java/com/zy/asrs/service/OrderPakinService.java | 1
src/main/java/com/zy/asrs/entity/param/ReportOrderBatchDetlParam.java | 19 +
src/main/java/com/zy/asrs/mapper/OrderPakinMapper.java | 1
src/main/resources/mapper/OrderDetlPakoutMapper.xml | 1
src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java | 18 +
15 files changed, 603 insertions(+), 281 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java b/src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java
index 403fca0..0f5532f 100644
--- a/src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java
@@ -10,6 +10,7 @@
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.OrderDetlPakin;
+import com.zy.asrs.entity.param.ReportOrderBatchDetlParam;
import com.zy.asrs.service.OrderDetlPakinService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
@@ -69,6 +70,23 @@
}
}
+ @RequestMapping(value = "/orderDetl/batch/report/auth")
+ @ManagerAuth(memo = "淇敼涓嬪彂椤�")
+ public R reportBatch(ReportOrderBatchDetlParam param) {
+ if (param.getAnfme()<1 && param.getInspect()==1){
+ return R.error("涓嬪彂鏁伴噺涓嶈兘灏忎簬1").add("涓嬪彂鏁伴噺涓嶈兘灏忎簬1");
+ }
+ List<OrderDetlPakin> orderDetlPakinList = orderDetlService.selectList(new EntityWrapper<OrderDetlPakin>()
+ .eq("order_no", param.getOrderNo()).eq("id", param.getId())
+ );
+ for (OrderDetlPakin orderDetl : orderDetlPakinList){
+ orderDetl.setInspect(param.getInspect());
+ orderDetl.setSortingAnfme(param.getAnfme());
+ orderDetlService.updateById(orderDetl);
+ }
+ return R.ok();
+ }
+
@RequestMapping(value = "/orderDetl/add/auth")
@ManagerAuth
public R add(OrderDetlPakin orderDetl) {
diff --git a/src/main/java/com/zy/asrs/controller/OrderPakinController.java b/src/main/java/com/zy/asrs/controller/OrderPakinController.java
index 05e35be..277a5c0 100644
--- a/src/main/java/com/zy/asrs/controller/OrderPakinController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderPakinController.java
@@ -87,9 +87,20 @@
wrapper.orderBy("settle").orderBy("create_time", false);
}
wrapper.eq("status", 1);
+ wrapper.eq("move_status", 0);
return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
}
+ @RequestMapping(value = "/actual/shipment/order/report/auth")
+ @ManagerAuth(memo = "涓婃姤MES瀹為檯缁勮揣鍗�")
+ public R actualShipmentOrder(@RequestParam String orderNo) {
+ try{
+ orderService.updateOrderStatus(orderNo); //鏇存柊璁㈠崟鐘舵�� 0 -> 1
+ return R.ok("鎴愬姛").add("鎴愬姛");
+ } catch (Exception e) {}
+ return R.error("澶辫触").add("澶辫触");
+ }
+
@RequestMapping(value = "/order/detl/all/auth")
@ManagerAuth
public R head(@RequestParam Long orderId){
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index 61acbd7..4ae57c5 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -374,6 +374,14 @@
@TableField("erp_anfme")
private Double erpAnfme;
+
+ /**
+ * 鏁伴噺
+ */
+ @ApiModelProperty(value= "涓嬪彂鍒嗘嫞绾挎暟閲�")
+ @TableField("sorting_anfme")
+ private Double sortingAnfme;
+
public OrderDetl() {}
public OrderDetl(Long orderId, String orderNo, Double anfme, Double qty, String matnr, String maktx, String batch, String specs, String model, String color, String brand, String unit, Double price, String sku, Double units, String barcode, String origin, String manu, String manuDate, String itemNum, Double safeQty, Double weight, Double manLength, Double volume, String threeCode, String supp, String suppCode, Integer beBatch, String deadTime, Integer deadWarn, Integer source, Integer inspect, Integer danger, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo,Double width,Double height) {
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java b/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java
index c026a1a..22e63d6 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java
@@ -55,6 +55,14 @@
@ApiModelProperty(value= "鏁伴噺")
private Double anfme;
+
+ /**
+ * 鏁伴噺
+ */
+ @ApiModelProperty(value= "涓嬪彂鍒嗘嫞绾挎暟閲�")
+ @TableField("sorting_anfme")
+ private Double sortingAnfme;
+
/**
* 浣滀笟鏁伴噺
*
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetlPakout.java b/src/main/java/com/zy/asrs/entity/OrderDetlPakout.java
index cac0882..1c59e32 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetlPakout.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetlPakout.java
@@ -373,6 +373,14 @@
@TableField("erp_anfme")
private Double erpAnfme;
+
+ /**
+ * 鏁伴噺
+ */
+ @ApiModelProperty(value= "涓嬪彂鍒嗘嫞绾挎暟閲�")
+ @TableField("sorting_anfme")
+ private Double sortingAnfme;
+
public OrderDetlPakout() {}
public OrderDetlPakout(Long orderId, String orderNo, Double anfme, Double qty, String matnr, String maktx, String batch, String specs, String model, String color, String brand, String unit, Double price, String sku, Double units, String barcode, String origin, String manu, String manuDate, String itemNum, Double safeQty, Double weight, Double manLength, Double volume, String threeCode, String supp, String suppCode, Integer beBatch, String deadTime, Integer deadWarn, Integer source, Integer inspect, Integer danger, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
diff --git a/src/main/java/com/zy/asrs/entity/param/ReportOrderBatchDetlParam.java b/src/main/java/com/zy/asrs/entity/param/ReportOrderBatchDetlParam.java
new file mode 100644
index 0000000..9753a36
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/ReportOrderBatchDetlParam.java
@@ -0,0 +1,19 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2020/6/28
+ */
+@Data
+public class ReportOrderBatchDetlParam {
+
+ private String orderNo;
+
+ private Long id;
+ private Integer inspect;
+
+ private Double anfme;
+
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/OrderPakinMapper.java b/src/main/java/com/zy/asrs/mapper/OrderPakinMapper.java
index f5882ec..d51c094 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderPakinMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderPakinMapper.java
@@ -29,4 +29,5 @@
List<String> AllStatusSatisfyOrder(@Param("moveStatus") Integer moveStatus);
boolean updateOrderStatus(@Param("orderNo")String orderNo);
+ boolean updateOrderStatus0(@Param("orderNo")String orderNo);
}
diff --git a/src/main/java/com/zy/asrs/service/OrderPakinService.java b/src/main/java/com/zy/asrs/service/OrderPakinService.java
index 7d2abd7..5462f0e 100644
--- a/src/main/java/com/zy/asrs/service/OrderPakinService.java
+++ b/src/main/java/com/zy/asrs/service/OrderPakinService.java
@@ -40,6 +40,7 @@
List<String> AllStatusSatisfyOrder(Integer moveStatus);
boolean updateOrderStatus(String orderNo);
+ boolean updateOrderStatus0(String orderNo);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java
index b57dd3c..db05cb8 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java
@@ -223,5 +223,10 @@
return this.baseMapper.updateOrderStatus(orderNo);
}
+ @Override
+ public boolean updateOrderStatus0(String orderNo){
+ return this.baseMapper.updateOrderStatus0(orderNo);
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java b/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
index 3b2e4ba..a08a345 100644
--- a/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
@@ -35,7 +35,7 @@
@Autowired
private BasArmMastSignService basArmMastSignService;
- @Scheduled(cron = "0/3 * * * * ? ")
+// @Scheduled(cron = "0/3 * * * * ? ")
private void orderToSortLine() {
//鑾峰彇鏈笅鍙戝崟鎹�
List<String> orderNos = orderPakinService.AllStatusSatisfyOrder(0);
@@ -138,4 +138,111 @@
}
}
+ @Scheduled(cron = "0/3 * * * * ? ")
+ private void orderToSortLine2() {
+ //鑾峰彇鏈笅鍙戝崟鎹�
+ List<String> orderNos = orderPakinService.AllStatusSatisfyOrder(1);
+ if(orderNos == null || orderNos.isEmpty()) {
+// log.info("鏈湁鏂拌鍗�");
+ return;
+ }
+
+ //閬嶅巻鍗曟嵁
+ for (String orderNo : orderNos) {
+ OrderPakin orderPakin = orderPakinService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no",orderNo));
+ if(orderPakin.getDocType() == 16){
+ orderPakin.setMoveStatus(0);
+ orderPakinService.updateById(orderPakin);
+ continue;
+ }
+
+ try{
+ List<OrderDetlPakin> orderDetlPakinListAll = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_no",orderNo).eq("inspect",1));
+ if (orderDetlPakinListAll.size()<1){
+ orderPakinService.updateOrderStatus0(orderNo); //鏇存柊璁㈠崟鐘舵�� 1 -> 0
+ continue;
+ }
+ List<String> boxType3List = new ArrayList<>();
+ for (OrderDetlPakin orderDetl:orderDetlPakinListAll){
+ if (!boxType3List.contains(orderDetl.getBoxType3())){
+ boxType3List.add(orderDetl.getBoxType3());
+ }
+ }
+ for (String boxType3 : boxType3List){
+ List<OrderDetlPakin> orderDetlPakinList = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_no",orderNo).eq("box_type3",boxType3).eq("inspect",1));
+ if (orderDetlPakinList.size()<1){
+ continue;
+ }
+ List<ItemUtilParam.Item> items = new ArrayList<>();
+ for (OrderDetlPakin orderDetl:orderDetlPakinList){
+ Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
+ Integer number = basArmRulesService.getNumber(mat.getWeight(),mat.getVolume(),mat.getManLength(),mat.getWidth(),mat.getHeight());
+ if (number == null) {
+ BasArmRules basArmRules = new BasArmRules();
+ basArmRules.setMaterialHeight(mat.getHeight());
+ basArmRules.setMaterialWeight(mat.getWeight());
+ basArmRules.setMaterialLength(mat.getManLength());
+ basArmRules.setMaterialWidth(mat.getWidth());
+ basArmRulesService.insert(basArmRules);
+ return;
+ } else if (number == 0){
+
+ Integer status = basArmRulesService.getStatus(mat.getWeight(),mat.getVolume(),mat.getManLength(),mat.getWidth(),mat.getHeight());
+ if (!Cools.isEmpty(status) && status == 2){
+ continue;
+ } else {
+ return;
+ }
+ }
+ String name = ToSortLineUtils.MergerParameter(orderDetl.getMatnr(),orderDetl.getStandby3(),orderDetl.getStandby1(),orderDetl.getStandby2());
+ int maxCapacity = number;
+ if (orderDetl.getSortingAnfme()<1){
+ continue;
+ }
+ int stock = orderDetl.getSortingAnfme().intValue();
+ items.add(new ItemUtilParam.Item(name, maxCapacity, stock));
+ }
+
+ OrderToLine orderToLine = new OrderToLine();
+ orderToLine.setOrderNo(boxType3); //鍗曟嵁缂栧彿
+ orderToLine.setCreateTime(System.currentTimeMillis()); //鍒涘缓鏃堕棿
+ OrderToLine orderToLineR = ToSortLineUtils.GetOrderToLine(items, orderToLine,"Opt3");
+
+ try{
+ ReturnT<String> returnT = orderToLineHandler.start(orderToLineR);
+ if (!returnT.isSuccess()) {
+// log.error("涓嬪彂鍗曟嵁澶辫触===>"+ JSON.toJSON(orderToLineR));
+ } else {
+ try{
+ for (OrderToLine.MatList matList:orderToLineR.getMatList()){
+ BasArmMastSign basArmMastSign = new BasArmMastSign();
+ basArmMastSign.setMatnr(matList.getItem());
+ basArmMastSign.setOrderNo(boxType3);//b3
+ basArmMastSign.setSku(matList.getSku());//s3
+ basArmMastSign.setPo(matList.getPo());//s1
+ basArmMastSign.setUpc(matList.getUpc());//s2
+// basArmMastSign.setSupplier(matList.getSupplier());
+ basArmMastSign.setStatus(0);
+ basArmMastSign.setAnfme(matList.getCtns());
+ basArmMastSign.setCreateTime(matList.getBindingTags());
+ basArmMastSignService.insert(basArmMastSign);
+ }
+ for (OrderDetlPakin orderDetl:orderDetlPakinList){
+ orderDetl.setSortingAnfme(0.0);
+ orderDetl.setInspect(0);
+ orderDetlPakinService.updateById(orderDetl);
+ }
+ }catch (Exception e){}
+ }
+ } catch (Exception e){
+ log.error("涓嬪彂鍗曟嵁寮傚父===>"+e.getMessage());
+ }
+ }
+
+ } catch (Exception e){
+ log.error("涓嬪彂鍗曟嵁寮傚父,璺宠浆涓嬩竴涓鍗�===>"+e.getMessage());
+ }
+ }
+ }
+
}
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 65b1329..06758c9 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -56,6 +56,7 @@
<result column="width" property="width" />
<result column="height" property="height" />
<result column="erp_anfme" property="erpAnfme" />
+ <result column="sorting_anfme" property="sortingAnfme" />
</resultMap>
diff --git a/src/main/resources/mapper/OrderDetlPakinMapper.xml b/src/main/resources/mapper/OrderDetlPakinMapper.xml
index eb237ec..1cad3ff 100644
--- a/src/main/resources/mapper/OrderDetlPakinMapper.xml
+++ b/src/main/resources/mapper/OrderDetlPakinMapper.xml
@@ -56,6 +56,7 @@
<result column="width" property="width" />
<result column="height" property="height" />
<result column="erp_anfme" property="erpAnfme" />
+ <result column="sorting_anfme" property="sortingAnfme" />
</resultMap>
diff --git a/src/main/resources/mapper/OrderDetlPakoutMapper.xml b/src/main/resources/mapper/OrderDetlPakoutMapper.xml
index 1d8f626..95942aa 100644
--- a/src/main/resources/mapper/OrderDetlPakoutMapper.xml
+++ b/src/main/resources/mapper/OrderDetlPakoutMapper.xml
@@ -56,6 +56,7 @@
<result column="width" property="width" />
<result column="height" property="height" />
<result column="erp_anfme" property="erpAnfme" />
+ <result column="sorting_anfme" property="sortingAnfme" />
</resultMap>
<sql id="standbyAll">
diff --git a/src/main/resources/mapper/OrderPakinMapper.xml b/src/main/resources/mapper/OrderPakinMapper.xml
index e0a6372..7d6a828 100644
--- a/src/main/resources/mapper/OrderPakinMapper.xml
+++ b/src/main/resources/mapper/OrderPakinMapper.xml
@@ -130,6 +130,13 @@
and order_no = #{orderNo}
</update>
+ <update id="updateOrderStatus0">
+ update man_order_pakin
+ set move_status = 0
+ where 1=1
+ and order_no = #{orderNo}
+ </update>
+
</mapper>
diff --git a/src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html b/src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html
index 954b721..6f0c7e1 100644
--- a/src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html
+++ b/src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html
@@ -94,6 +94,19 @@
.confirm-dialog .el-message-box__status {
font-size: 24px !important;
}
+ /* 鏁伴噺杈撳叆妗嗘牱寮� */
+ .quantity-input {
+ width: 100px;
+ }
+ /* 鍒犻櫎鎸夐挳鏍峰紡 */
+ .delete-btn {
+ color: #F56C6C;
+ border-color: #F56C6C;
+ }
+ .delete-btn:hover {
+ background-color: #F56C6C;
+ color: white;
+ }
</style>
</head>
<body>
@@ -102,10 +115,10 @@
<div class="search-container" style="width: 100%;">
<el-form :inline="true" class="search-form">
<div class="search-item">
- <span class="search-label">缁勮揣鍗曞彿:</span>
+ <span class="search-label">璁㈠崟鍙�:</span>
<el-input
v-model="searchForm.orderNo"
- placeholder="璇疯緭鍏ョ粍璐у崟鍙�"
+ placeholder="璇疯緭鍏ヨ鍗曞彿"
clearable
style="width: 150px;"
@keyup.enter.native="handleSearch"
@@ -161,11 +174,11 @@
style="width: 100%"
v-loading="loading"
@sort-change="handleSortChange">
- <el-table-column prop="orderNo" label="璁㈠崟鍙�" width="240" align="center" sortable="custom"></el-table-column>
+ <el-table-column prop="orderNo" label="璁㈠崟鍙�" width="120" align="center" sortable="custom"></el-table-column>
+<!-- <el-table-column prop="itemName" label="缁勮揣鍗曞彿" width="120" align="center" sortable="custom"></el-table-column>-->
<el-table-column prop="cstmrName" label="璐т富" min-width="120" align="center"></el-table-column>
-<!-- <el-table-column prop="orderCount" label="缁勮揣鍗曟暟" width="80" align="center"></el-table-column>-->
<el-table-column prop="settle$" label="鐘舵��" min-width="100" align="center" :formatter="formatStatus"></el-table-column>
- <el-table-column prop="createTime" label="鏃ユ湡" min-width="100" align="center" :formatter="formatDateColumn"></el-table-column>
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="100" align="center" :formatter="formatDateColumn"></el-table-column>
<el-table-column prop="updateTime" label="鏇存柊鏃ユ湡" min-width="100" align="center" :formatter="formatDateColumn"></el-table-column>
<el-table-column label="鎿嶄綔" width="150" align="center" fixed="right">
<template slot-scope="scope">
@@ -203,7 +216,7 @@
class="detail-dialog"
@close="closeDetailDialog">
<div v-if="currentRow">
- <h3>缁勮揣鍗曚富琛� (缁勮揣鍗曞彿: {{ currentRow.itemName }})</h3>
+ <h3>缁勮揣鍗曚富琛� (璁㈠崟鍙�: {{ currentRow.orderNo }})</h3>
<el-descriptions :column="2" border>
<el-descriptions-item label="瀹㈡埛鍚嶇О">{{ currentRow.cstmrName }}</el-descriptions-item>
<el-descriptions-item label="鐘舵��">{{ formatStatus(currentRow)}}</el-descriptions-item>
@@ -217,36 +230,62 @@
:data="tableDataB"
style="width: 100%"
v-loading="detailLoading">
+ <el-table-column prop="id" label="id" min-width="50" align="center"></el-table-column>
<el-table-column prop="matnr" label="鍟嗗搧缂栧彿" min-width="80" align="center"></el-table-column>
<el-table-column prop="maktx" label="鍚嶇О" min-width="80" align="center"></el-table-column>
- <el-table-column prop="standby1" label="瀹㈡埛PO" min-width="80" align="center" ></el-table-column>
- <el-table-column prop="standby2" label="UPC" min-width="80" align="center" ></el-table-column>
- <el-table-column prop="standby3" label="瀹㈡埛SKU" min-width="80" align="center" ></el-table-column>
-<!-- <el-table-column prop="boxType1" label="璐т富" min-width="80" align="center" ></el-table-column>-->
-<!-- <el-table-column prop="boxType2" label="璐т富" min-width="80" align="center" ></el-table-column>-->
- <el-table-column prop="boxType3" label="閲囪喘鍗曞彿" min-width="80" align="center" ></el-table-column>
- <el-table-column prop="anfme" label="鏁伴噺" min-width="80" align="center"></el-table-column>
+ <el-table-column prop="standby1" label="瀹㈡埛PO" min-width="80" align="center"></el-table-column>
+ <el-table-column prop="standby2" label="UPC" min-width="80" align="center"></el-table-column>
+ <el-table-column prop="standby3" label="瀹㈡埛SKU" min-width="80" align="center"></el-table-column>
+ <el-table-column prop="boxType3" label="閲囪喘鍗曞彿" min-width="80" align="center"></el-table-column>
+ <el-table-column prop="anfme" label="鏁伴噺" min-width="80" align="center">
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.anfme"
+ :min="0"
+ :precision="0"
+ controls-position="right"
+ size="small"
+ class="quantity-input"
+ @change="handleQuantityChange(scope.row, $event)"
+ ></el-input-number>
+ </template>
+ </el-table-column>
<el-table-column prop="erpAnfme" label="erp涓嬪彂鏁伴噺" min-width="80" align="center"></el-table-column>
- <el-table-column prop="status" label="鐘舵��" min-width="80" align="center" :formatter="formatStatusB"></el-table-column>
- <!-- 鏂板鎿嶄綔鍒楋紝鏍规嵁status鍊兼帶鍒舵樉绀� -->
+ <el-table-column prop="sortingAnfme" 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>
+ <!-- 淇敼涓哄垹闄ゅ垪 -->
<el-table-column label="鏄惁涓婃姤" width="120" align="center" fixed="right">
<template slot-scope="scope">
<div class="operation-cell">
- <el-button v-if="scope.row.status === 2"
+ <el-button v-if="scope.row.inspect === 1"
type="primary"
size="mini"
@click="handleModifyN(scope.row)">
- 鍚�
+ 鍙栨秷涓嬪彂椤�
</el-button>
- <el-button v-if="scope.row.status === 1"
+ <el-button v-if="scope.row.inspect === 0"
type="primary"
size="mini"
@click="handleModifyY(scope.row)">
- 鏄�
+ 鍔犲叆涓嬪彂椤�
</el-button>
</div>
</template>
</el-table-column>
+<!-- <el-table-column label="鎿嶄綔" width="100" align="center" fixed="right">-->
+<!-- <template slot-scope="scope">-->
+<!-- <div class="operation-cell">-->
+<!-- <el-button-->
+<!-- class="delete-btn"-->
+<!-- type="danger"-->
+<!-- size="mini"-->
+<!-- icon="el-icon-delete"-->
+<!-- @click="handleDelete(scope.row)"-->
+<!-- ></el-button>-->
+<!-- </div>-->
+<!-- </template>-->
+<!-- </el-table-column>-->
</el-table>
<!-- 瀛愯〃鍒嗛〉 -->
@@ -268,8 +307,7 @@
class="confirm-report-btn"
@click="showConfirmDialog"
:loading="reportLoading">
- <!-- 鐩存帴鍦ㄦā鏉夸腑鍒ゆ柇 -->
- {{ settleA === 17 ? '鍐嶆涓婃姤' : '纭涓婃姤' }}
+ {{ settleA === 17 ? '鍐嶆涓嬪彂' : '纭涓嬪彂' }}
</el-button>
<el-button @click="closeDetailDialog">鍏抽棴</el-button>
</div>
@@ -282,10 +320,9 @@
data: {
// 鎼滅储琛ㄥ崟
searchForm: {
- item_name: '',
- cstmr_name: '',
- settle: '',
- order_no: ''
+ orderNo: '',
+ cstmrName: '',
+ settle: ''
},
// 鎺掑簭鐩稿叧
orderByField: '',
@@ -309,7 +346,11 @@
// 鍔犺浇鐘舵��
loading: false,
detailLoading: false,
- reportLoading: false
+ reportLoading: false,
+ // 瀛樺偍淇敼鍚庣殑鏁伴噺
+ modifiedQuantities: {},
+ // 瀛樺偍鍒犻櫎鐨勮褰�
+ deletedRecords: []
},
created() {
this.init();
@@ -324,30 +365,25 @@
}, 10000);
},
- // 鑾峰彇涓昏〃A鏁版嵁 - 浣跨敤鏂扮殑API
+ // 鑾峰彇涓昏〃A鏁版嵁
getTableDataA() {
let that = this;
that.loading = true;
- // 鏋勫缓璇锋眰鍙傛暟
let params = {
curr: that.currentPage,
limit: that.pageSize
};
- // 娣诲姞鎺掑簭鍙傛暟
if (that.orderByField) {
params.orderByField = that.orderByField;
params.orderByType = that.orderByType;
}
- // 娣诲姞鎼滅储鍙傛暟
Object.keys(that.searchForm).forEach(key => {
if (that.searchForm[key] !== '') {
if (key === 'orderNo'){
params['order_no'] = that.searchForm[key];
- } else if (key === 'itemName'){
- params['item_name'] = that.searchForm[key];
} else if (key === 'cstmrName'){
params['cstmr_name'] = that.searchForm[key];
} else {
@@ -369,7 +405,7 @@
that.tableDataA = res.data.records || [];
that.total = res.data.total || 0;
} else {
- that.$message.error(res.message || '鑾峰彇鏁版嵁澶辫触');
+ that.$message.error(res.msg || '鑾峰彇鏁版嵁澶辫触');
that.tableDataA = [];
that.total = 0;
}
@@ -379,25 +415,23 @@
that.loading = false;
that.$message.error('缃戠粶璇锋眰澶辫触');
console.error('API璋冪敤澶辫触:', error);
- // 妯℃嫙鏁版嵁锛堝疄闄呴」鐩腑搴斿垹闄わ級
+ // 妯℃嫙鏁版嵁
that.mockTableAData();
}
});
},
- // 鑾峰彇瀛愯〃B鏁版嵁锛堟牴鎹疄闄呬笟鍔¤皟鏁达級
+ // 鑾峰彇瀛愯〃B鏁版嵁
getTableDataB(orderNo) {
let that = this;
that.detailLoading = true;
- // 鏋勫缓璇锋眰鍙傛暟
let params = {
order_no: orderNo,
curr: that.detailCurrentPage,
limit: that.detailPageSize
};
- // 妯℃嫙API璋冪敤 - 鏍规嵁瀹為檯涓氬姟璋冩暣API鍦板潃
$.ajax({
url: baseUrl + "/order/pakin/orderDetl/list/auth",
headers: {
@@ -411,8 +445,15 @@
if (res.code === 200 || res.success) {
that.tableDataB = res.data.records || [];
that.detailTotal = res.data.total || 0;
+
+ // 鍒濆鍖栨暟閲忕紦瀛�
+ that.modifiedQuantities = {};
+ that.tableDataB.forEach(item => {
+ const itemKey = that.getItemKey(item);
+ that.$set(that.modifiedQuantities, itemKey, item.anfme);
+ });
} else {
- that.$message.error(res.message || '鑾峰彇鏁版嵁澶辫触');
+ that.$message.error(res.msg || '鑾峰彇鏁版嵁澶辫触');
that.tableDataB = [];
that.detailTotal = 0;
}
@@ -420,10 +461,101 @@
},
error: function() {
that.detailLoading = false;
- // 瀹為檯椤圭洰涓簲浣跨敤鐪熷疄API锛岃繖閲屼娇鐢ㄦā鎷熸暟鎹�
- that.mockTableBData(itemName);
+ // 妯℃嫙鏁版嵁
+ that.mockTableBData();
}
});
+ },
+
+ // 鑾峰彇鍟嗗搧鍞竴鏍囪瘑
+ getItemKey(item) {
+ return item.matnr + '_' + (item.batch || '') + '_' + (item.standby1 || '');
+ },
+
+ // 澶勭悊鍒犻櫎鎸夐挳鐐瑰嚮浜嬩欢
+ handleDelete(row) {
+ if (!this.currentRow) {
+ this.$message.error('娌℃湁閫夋嫨涓昏〃鏁版嵁');
+ return;
+ }
+
+ const groupOrderNo = this.currentRow.itemName;
+ const matnr = row.matnr;
+ const maktx = row.maktx;
+ const itemKey = this.getItemKey(row);
+
+ this.$confirm(
+ `纭畾瑕佸垹闄ょ粍璐у崟 <strong style="color: #409EFF;">${groupOrderNo}</strong> 涓殑鍟嗗搧 <strong style="color: #409EFF;">${matnr} - ${maktx}</strong> 鍚楋紵`,
+ '纭鍒犻櫎',
+ {
+ confirmButtonText: '纭鍒犻櫎',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ dangerouslyUseHTMLString: true
+ }
+ ).then(() => {
+ // 浠庤〃鏍间腑绉婚櫎璇ヨ
+ const index = this.tableDataB.findIndex(item =>
+ this.getItemKey(item) === itemKey
+ );
+ if (index !== -1) {
+ // 淇濆瓨鍒犻櫎璁板綍
+ this.deletedRecords.push({
+ ...this.tableDataB[index],
+ deleteTime: new Date().toISOString()
+ });
+
+ // 浠庤〃鏍间腑鍒犻櫎
+ this.tableDataB.splice(index, 1);
+ this.detailTotal -= 1;
+
+ // 浠庝慨鏀圭紦瀛樹腑鍒犻櫎
+ if (this.modifiedQuantities[itemKey]) {
+ delete this.modifiedQuantities[itemKey];
+ }
+
+ this.$message({
+ message: '鍒犻櫎鎴愬姛',
+ type: 'success',
+ duration: 2000
+ });
+ }
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑堝垹闄�'
+ });
+ });
+ },
+
+ // 澶勭悊鏁伴噺淇敼
+ handleQuantityChange(row, newValue) {
+ if (!row || !row.matnr) return;
+
+ const itemKey = this.getItemKey(row);
+ const oldValue = row.anfme;
+
+ // 楠岃瘉鏂板��
+ if (isNaN(newValue) || newValue < 0) {
+ this.$message.warning('璇疯緭鍏ユ湁鏁堢殑鏁伴噺');
+ this.$set(row, 'anfme', oldValue);
+ this.modifiedQuantities[itemKey] = oldValue;
+ return;
+ }
+
+ // 楠岃瘉ERP涓嬪彂鏁伴噺
+ if (row.erpAnfme && newValue > parseInt(row.erpAnfme)) {
+ this.$message.warning('淇敼鏁伴噺涓嶈兘澶т簬ERP涓嬫灦鏁伴噺');
+ this.$set(row, 'anfme', oldValue);
+ this.modifiedQuantities[itemKey] = oldValue;
+ return;
+ }
+
+ // 鏇存柊缂撳瓨
+ this.modifiedQuantities[itemKey] = parseInt(newValue);
+ this.$set(row, 'anfme', parseInt(newValue));
+
+ this.$message.success('鏁伴噺宸蹭慨鏀�');
},
// 澶勭悊淇敼鎸夐挳鐐瑰嚮浜嬩欢
@@ -433,12 +565,12 @@
return;
}
- const groupOrderNo = this.currentRow.itemName; // 缁勮揣鍗曞彿
- const batch = row.batch; // 绠卞彿
- const status = 2; // 绠卞彿
+ const orderNo = this.currentRow.orderNo; // 璁㈠崟鍙�
+ const anfme = row.anfme; // 鏁伴噺
+ const id = row.id; // 绠卞彿
this.$confirm(
- `纭畾灏嗙粍璐у崟鍙凤細 <strong style="color: #409EFF;">${groupOrderNo}</strong> 涓殑绠卞彿锛� <strong style="color: #409EFF;">${batch}</strong> 娣诲姞鍒颁笂鎶ュ垪鍚楋紵`,
+ `纭畾灏嗚鍗曞彿锛� <strong style="color: #409EFF;">${orderNo}</strong> 涓殑id锛� <strong style="color: #409EFF;">${id}</strong> 娣诲姞鍒颁笅鍙戝垪鍚楋紵`,
'纭淇敼',
{
confirmButtonText: '纭淇敼',
@@ -447,7 +579,7 @@
dangerouslyUseHTMLString: true
}
).then(() => {
- this.submitModify(groupOrderNo, batch, status);
+ this.submitModify(orderNo, id, anfme,1);
}).catch(() => {
this.$message({
type: 'info',
@@ -456,6 +588,7 @@
});
},
+
// 澶勭悊淇敼鎸夐挳鐐瑰嚮浜嬩欢
handleModifyN(row) {
if (!this.currentRow) {
@@ -463,12 +596,12 @@
return;
}
- const groupOrderNo = this.currentRow.itemName; // 缁勮揣鍗曞彿
- const batch = row.batch; // 绠卞彿
- const status = 1; // 绠卞彿
+ const orderNo = this.currentRow.orderNo; // 璁㈠崟鍙�
+ const anfme = 0.0; // 鏁伴噺
+ const id = row.id; // 绠卞彿
this.$confirm(
- `纭畾灏嗙粍璐у崟鍙凤細 <strong style="color: #409EFF;">${groupOrderNo}</strong> 銆佺鍙凤細 <strong style="color: #409EFF;">${batch}</strong> 娣诲姞鍒颁笂鎶ュ垪鍚楋紵`,
+ `纭畾灏嗚鍗曞彿锛� <strong style="color: #409EFF;">${orderNo}</strong> 涓殑id锛� <strong style="color: #409EFF;">${id}</strong> 鍙栨秷涓嬪彂鍒楀悧锛焋,
'纭淇敼',
{
confirmButtonText: '纭淇敼',
@@ -477,7 +610,7 @@
dangerouslyUseHTMLString: true
}
).then(() => {
- this.submitModify(groupOrderNo, batch, status);
+ this.submitModify(orderNo, id, anfme,0);
}).catch(() => {
this.$message({
type: 'info',
@@ -487,7 +620,7 @@
},
// 鎻愪氦淇敼鍒板悗鍙�
- submitModify(groupOrderNo, batch, status) {
+ submitModify(orderNo, id, anfme,inspect) {
// 鏄剧ず鍔犺浇鐘舵��
const loadingInstance = this.$loading({
lock: true,
@@ -497,12 +630,13 @@
});
$.ajax({
- url: baseUrl + "/order/pakout/orderDetl/batch/report/auth",
+ url: baseUrl + "/order/pakin/orderDetl/batch/report/auth",
headers: {'token': localStorage.getItem('token')},
data: top.reObject({
- item_name: groupOrderNo, // 缁勮揣鍗曞彿
- batch: batch, // 绠卞彿
- status: status // 绠卞彿
+ orderNo: orderNo, // 缁勮揣鍗曞彿
+ id: id, // 绠卞彿
+ anfme: anfme, // 绠卞彿
+ inspect: inspect // 绠卞彿
}),
method: 'POST',
success: (res) => {
@@ -517,13 +651,153 @@
this.getTableDataB(groupOrderNo);
} else {
- this.$message.error(res.message || '淇敼澶辫触');
+ this.$message.error(res.msg || '淇敼澶辫触');
}
},
error: (error) => {
loadingInstance.close();
console.error('淇敼澶辫触:', error);
this.$message.error('淇敼澶辫触锛岃妫�鏌ョ綉缁滆繛鎺�');
+ }
+ });
+ },
+
+ // 鏄剧ず纭瀵硅瘽妗�
+ showConfirmDialog() {
+ if (!this.currentRow) {
+ this.$message.error('娌℃湁閫夋嫨瑕佷笂鎶ョ殑鏁版嵁');
+ return;
+ }
+
+ const orderNo = this.currentRow.orderNo;
+ const remainingCount = this.tableDataB.length;
+ const modifiedCount = Object.keys(this.modifiedQuantities).filter(key => {
+ const item = this.tableDataB.find(item => this.getItemKey(item) === key);
+ return item && item.anfme !== this.modifiedQuantities[key];
+ }).length;
+
+ let message = `鏄惁纭涓嬪彂璁㈠崟鍙� <strong style="color: #F56C6C; font-size: 16px;">${orderNo}</strong>?<br/><br/>`;
+ // message += `灏嗘彁浜や互涓嬫暟鎹細<br/>`;
+ // message += `- 鍓╀綑鍟嗗搧鏁伴噺: ${remainingCount} 涓�<br/>`;
+ // message += `- 淇敼鏁伴噺: ${modifiedCount} 涓�<br/>`;
+ // message += `- 鍒犻櫎鍟嗗搧: ${this.deletedRecords.length} 涓�<br/><br/>`;
+ message += `姝ゆ搷浣滀笉鍙�嗭紝纭缁х画鍚楋紵`;
+
+ this.$confirm(
+ message,
+ '纭涓嬪彂',
+ {
+ confirmButtonText: '纭涓嬪彂',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ dangerouslyUseHTMLString: true,
+ customClass: 'confirm-dialog',
+ confirmButtonClass: 'confirm-report-btn',
+ beforeClose: (action, instance, done) => {
+ if (action === 'confirm') {
+ instance.confirmButtonLoading = true;
+ this.confirmReport(orderNo, done);
+ } else {
+ done();
+ }
+ }
+ }
+ ).then(() => {
+ // 纭涓婃姤鍚庣殑澶勭悊鍦╞eforeClose涓畬鎴�
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑堟搷浣�'
+ });
+ });
+ },
+
+ // 纭涓婃姤
+ 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
+ // };
+
+ // 璋冪敤鍚庡彴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('涓嬪彂澶辫触锛岃妫�鏌ョ綉缁滆繛鎺�');
}
});
},
@@ -541,86 +815,6 @@
this.getTableDataA();
},
- showConfirmDialog() {
- if (!this.currentRow) {
- this.$message.error('娌℃湁閫夋嫨瑕佷笂鎶ョ殑鏁版嵁');
- return;
- }
-
- const groupOrderNo = this.currentRow.itemName;
-
- this.$confirm(
- `鏄惁纭寮�濮嬩笂鎶ョ粍璐у崟鍙� <strong style="color: #F56C6C; font-size: 16px;">${groupOrderNo}</strong>?<br/><br/>灏嗙敓鎴愬疄闄呯粍璐у崟锛屽崟涓�缁勮揣鍗曞彿鍙兘鎿嶄綔涓�娆�!!!`,
- '纭涓婃姤',
- {
- confirmButtonText: '纭涓婃姤',
- cancelButtonText: '鍙栨秷',
- type: 'warning',
- dangerouslyUseHTMLString: true,
- customClass: 'confirm-dialog',
- confirmButtonClass: 'confirm-report-btn',
- beforeClose: (action, instance, done) => {
- if (action === 'confirm') {
- instance.confirmButtonLoading = true;
- this.confirmReport(groupOrderNo, done);
- } else {
- done();
- }
- }
- }
- ).then(() => {
- // 纭涓婃姤鍚庣殑澶勭悊鍦╞eforeClose涓畬鎴�
- }).catch(() => {
- this.$message({
- type: 'info',
- message: '宸插彇娑堟搷浣�'
- });
- });
- },
-
- // 纭涓婃姤
- confirmReport(groupOrderNo, done) {
- this.reportLoading = true;
-
- // 璋冪敤鍚庡彴API涓婃姤鏁版嵁
- $.ajax({
- url: baseUrl + "/order/pakout/actual/shipment/order/report/auth",
- headers: {'token': localStorage.getItem('token')},
- data: {
- itemName: groupOrderNo // 浼犻�掔粍璐у崟鍙�
- },
- method: 'POST',
- success: (res) => {
- this.reportLoading = false;
- if (typeof done === 'function') {
- done();
- }
- if (res.code === 200 || res.success) {
- this.$message({
- message: `缁勮揣鍗曞彿 ${groupOrderNo} 涓婃姤鎴愬姛`,
- type: 'success',
- duration: 3000
- });
- // 涓婃姤鎴愬姛鍚庡叧闂脊绐楀苟鍒锋柊鏁版嵁
- setTimeout(() => {
- this.closeDetailDialog();
- this.getTableDataA(); // 鍒锋柊涓昏〃鏁版嵁
- }, 1500);
- } else {
- this.$message.error(res.message || '涓婃姤澶辫触');
- }
- },
- error: (error) => {
- this.reportLoading = false;
- if (typeof done === 'function') {
- done();
- }
- console.error('涓婃姤澶辫触:', error);
- this.$message.error('涓婃姤澶辫触锛岃妫�鏌ョ綉缁滆繛鎺�');
- }
- });
- },
-
// 鎼滅储澶勭悊
handleSearch() {
this.currentPage = 1;
@@ -632,10 +826,9 @@
// 閲嶇疆鎼滅储鏉′欢
handleReset() {
this.searchForm = {
- item_name: '',
- cstmr_name: '',
- settle: '',
- order_no: ''
+ orderNo: '',
+ cstmrName: '',
+ settle: ''
};
this.orderByField = '';
this.orderByType = 'asc';
@@ -649,6 +842,9 @@
this.detailDialogVisible = true;
this.detailCurrentPage = 1;
this.settleA = row.settle;
+ // 娓呯┖缂撳瓨
+ this.modifiedQuantities = {};
+ this.deletedRecords = [];
this.getTableDataB(row.orderNo);
},
@@ -658,6 +854,8 @@
this.currentRow = null;
this.tableDataB = [];
this.reportLoading = false;
+ this.modifiedQuantities = {};
+ this.deletedRecords = [];
},
// 涓昏〃鍒嗛〉澶у皬鏀瑰彉
@@ -678,7 +876,7 @@
this.detailPageSize = val;
this.detailCurrentPage = 1;
if (this.currentRow) {
- this.getTableDataB(this.currentRow.itemName);
+ this.getTableDataB(this.currentRow.orderNo);
}
},
@@ -686,86 +884,69 @@
handleDetailCurrentChange(val) {
this.detailCurrentPage = val;
if (this.currentRow) {
- this.getTableDataB(this.currentRow.itemName);
+ this.getTableDataB(this.currentRow.orderNo);
}
},
// 鏍煎紡鍖栫姸鎬佹樉绀�
formatStatus(row) {
- if (row.settle === 10) {
- return '寰呭鐞�';
- } else if (row.settle === 11) {
- return '妫�楠屼腑';
- } else if (row.settle === 12) {
- return '鍑哄簱涓�';
- } else if (row.settle === 13) {
- return '瀛樺湪涓嶅悎鏍�';
- } else if (row.settle === 15) {
- return '寰呬笂鎶�';
- } else if (row.settle === 16) {
- return '涓婃姤瀹屾垚';
- } else if (row.settle === 17) {
- return '涓婃姤澶辫触';
- } else if (row.settle === 98) {
- return '寮傚父';
- } else if (row.settle === 99) {
- return '搴熷純';
- } else {
- return row.settle || '鏈煡';
- }
+ const statusMap = {
+ 0: '鍒濆鍖�',
+ 1: '寰呭鐞�',
+ 2: '浣滀笟涓�',
+ 3: '宸插彇娑�',
+ 4: '宸插畬鎴�',
+ 5: '鍑嗗鍙栨秷',
+ 6: '涓婃姤瀹屾垚',
+ 7: '鏁版嵁寮傚父',
+ 8: '瀹℃牳瀹屾垚',
+ 9: '鎻愪氦瀹屾垚',
+ 10: '淇濆瓨瀹屾垚',
+ 98: '寮傚父',
+ 99: '搴熷純'
+ };
+ return statusMap[row.settle] || row.settle || '鏈煡';
},
// 鏍煎紡鍖栫姸鎬佹樉绀�
formatStatusB(row) {
- if (row.status === 0) {
- return '鍒濆鍖�';
- } else if (row.status === 1) {
- return '寰呭鐞�';
- } else if (row.status === 2) {
- return '浣滀笟涓�';
- } else if (row.status === 3) {
- return '宸插彇娑�';
- } else if (row.status === 4) {
- return '宸插畬鎴�';
- } else if (row.status === 5) {
- return '鍑嗗鍙栨秷';
- } else if (row.status === 6) {
- return '涓婃姤瀹屾垚';
- } else if (row.status === 7) {
- return '鏁版嵁寮傚父';
- } else if (row.status === 8) {
- return '瀹℃牳瀹屾垚';
- } else if (row.status === 9) {
- return '鎻愪氦瀹屾垚';
- } else if (row.status === 10) {
- return '淇濆瓨瀹屾垚';
- } else if (row.status === 98) {
- return '涓婃姤瀹屾垚鏈畬缁�';
- } else if (row.status === 99) {
- return '閲嶆柊涓嬪彂';
- } else {
- return row.status || '鏈煡';
- }
+ const statusMap = {
+ 0: '鍒濆鍖�',
+ 1: '寰呭鐞�',
+ 2: '浣滀笟涓�',
+ 3: '宸插彇娑�',
+ 4: '宸插畬鎴�',
+ 5: '鍑嗗鍙栨秷',
+ 6: '涓婃姤瀹屾垚',
+ 7: '鏁版嵁寮傚父',
+ 8: '瀹℃牳瀹屾垚',
+ 9: '鎻愪氦瀹屾垚',
+ 10: '淇濆瓨瀹屾垚',
+ 98: '涓婃姤瀹屾垚鏈畬缁�',
+ 99: '閲嶆柊涓嬪彂'
+ };
+ return statusMap[row.status] || row.status || '鏈煡';
},
- // 鏍煎紡鍖栭噾棰濇樉绀�
- formatCurrency(row) {
- if (row.totalFee) {
- return '楼' + parseFloat(row.totalFee).toFixed(2);
- }
- return '楼0.00';
+ // 鏍煎紡鍖栫姸鎬佹樉绀�
+ formatStatusC(row) {
+ const statusMap = {
+ 0: '涓嶄笅鍙�',
+ 1: '寰呬笅鍙�'
+ };
+ return statusMap[row.inspect] || row.inspect || '鏈煡';
},
- // 妯℃嫙涓昏〃鏁版嵁 - 瀹為檯椤圭洰涓簲鍒犻櫎
+ // 妯℃嫙涓昏〃鏁版嵁
mockTableAData() {
this.tableDataA = [
{
- itemName: 'zh20251110',
- orderNo: 'ORDER2024001',
- cstmrName: 'zh20251110',
- settle: 10,
- totalFee: 1500.00,
- createTime: '2025-11-10T09:50:16.343+0000',
+ itemName: '890506',
+ orderNo: '111804',
+ cstmrName: '娴嬭瘯',
+ settle: 2,
+ createTime: '2025-11-18T16:01:11.000+0000',
+ updateTime: '2025-11-18T16:01:11.000+0000',
memo: '娴嬭瘯鏁版嵁'
}
];
@@ -773,21 +954,31 @@
this.loading = false;
},
- // 妯℃嫙瀛愯〃鏁版嵁 - 瀹為檯椤圭洰涓簲鍒犻櫎
- mockTableBData(itemName) {
+ // 妯℃嫙瀛愯〃鏁版嵁
+ mockTableBData() {
this.tableDataB = [
{
- matnr: '6渭m脳436mm',
- batch: 'L241034114',
- model: '24092501D01A6',
- origin: '1',
- danger: '1',
- memo: '',
- status: 1 // 鐘舵�佷负1锛屼細鏄剧ず淇敼鎸夐挳
+ matnr: '娴嬭瘯',
+ maktx: '12inRealisticPlus',
+ standby1: 'hDogToy',
+ standby2: 'boarL',
+ standby3: '890506',
+ boxType3: '1',
+ anfme: 1,
+ erpAnfme: 1,
+ status: 2,
+ batch: 'L241034114'
}
];
this.detailTotal = 1;
this.detailLoading = false;
+
+ // 鍒濆鍖栨暟閲忕紦瀛�
+ this.modifiedQuantities = {};
+ this.tableDataB.forEach(item => {
+ const itemKey = this.getItemKey(item);
+ this.$set(this.modifiedQuantities, itemKey, item.anfme);
+ });
},
// 涓鸿〃鏍煎垪娣诲姞鏍煎紡鍖栨柟娉�
@@ -795,88 +986,23 @@
return this.formatDate(cellValue);
},
-
-
- // // 鏍煎紡鍖栨棩鏈熸樉绀�
- // formatDate(dateStr) {
- // if (!dateStr) return '';
- // // 绠�鍗曠殑鏃ユ湡鏍煎紡鍖栵紝鍙互鏍规嵁瀹為檯鏍煎紡璋冩暣
- // return dateStr;
- // },
-
- // 鍦╒ue瀹炰緥鐨刴ethods涓坊鍔犳垨淇敼formatDate鏂规硶
+ // 鏍煎紡鍖栨棩鏈熸樉绀�
formatDate(dateStr) {
if (!dateStr) return '';
try {
- // 鍒涘缓Date瀵硅薄
- const date = new Date(dateStr);
-
- // 妫�鏌ユ棩鏈熸槸鍚︽湁鏁�
- if (isNaN(date.getTime())) {
- return dateStr; // 濡傛灉瑙f瀽澶辫触锛岃繑鍥炲師瀛楃涓�
- }
-
- // 鑾峰彇鍚勪釜鏃堕棿缁勪欢
- const year = date.getFullYear();
- const month = String(date.getMonth() + 1).padStart(2, '0');
- const day = String(date.getDate()).padStart(2, '0');
- const hours = String(date.getHours()).padStart(2, '0');
- const minutes = String(date.getMinutes()).padStart(2, '0');
- const seconds = String(date.getSeconds()).padStart(2, '0');
-
- // 杩斿洖鏍煎紡鍖栧悗鐨勫瓧绗︿覆锛歒YYY-MM-DD HH:mm:ss
- return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
- } catch (error) {
- console.error('鏃ユ湡鏍煎紡鍖栭敊璇�:', error);
- return dateStr; // 濡傛灉鍑洪敊锛岃繑鍥炲師瀛楃涓�
- }
- },
-
-//鏈湴鏃跺尯鐨勬椂闂�
- formatDate2(dateStr) {
- if (!dateStr) return '';
-
- try {
const date = new Date(dateStr);
if (isNaN(date.getTime())) {
return dateStr;
}
- // 浣跨敤鏈湴鏃跺尯
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
const hours = String(date.getHours()).padStart(2, '0');
const minutes = String(date.getMinutes()).padStart(2, '0');
const seconds = String(date.getSeconds()).padStart(2, '0');
-
- return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
- } catch (error) {
- console.error('鏃ユ湡鏍煎紡鍖栭敊璇�:', error);
- return dateStr;
- }
- },
- //淇濇寔UTC鏃堕棿浣嗚浆鎹负鏇存槗璇荤殑鏍煎紡
- formatDate3(dateStr) {
- if (!dateStr) return '';
-
- try {
- // 鐩存帴瑙f瀽瀛楃涓诧紝涓嶈浆鎹㈡椂鍖�
- const date = new Date(dateStr);
-
- if (isNaN(date.getTime())) {
- return dateStr;
- }
-
- // 浣跨敤UTC鏃堕棿缁勪欢
- const year = date.getUTCFullYear();
- const month = String(date.getUTCMonth() + 1).padStart(2, '0');
- const day = String(date.getUTCDate()).padStart(2, '0');
- const hours = String(date.getUTCHours()).padStart(2, '0');
- const minutes = String(date.getUTCMinutes()).padStart(2, '0');
- const seconds = String(date.getUTCSeconds()).padStart(2, '0');
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
} catch (error) {
--
Gitblit v1.9.1