diff --git a/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java b/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java
index 6b106a3..67acf2e 100644
--- a/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java
+++ b/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java
@@ -17,4 +17,7 @@ public interface ContainerService extends IService<Container>{
 
     void updateLocationCodeAndStatus(String containerCode, String locationCode, String status);
 
+    void removeContainer(String containType, String containCode);
+
+    void removeByCode(String containCode);
 }
diff --git a/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java b/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java
index 09c1ec2..4db7b0e 100644
--- a/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java
@@ -18,6 +18,7 @@ import java.util.List;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huaheng.pc.config.container.domain.Container;
 import com.huaheng.pc.config.container.mapper.ContainerMapper;
+import org.springframework.transaction.annotation.Transactional;
 
 @Service
 public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container> implements ContainerService{
@@ -127,5 +128,38 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container
             containerMapper.updateLocationCodeAndStatus(ShiroUtils.getWarehouseCode(), containerCode, locationCode, status);
     }
 
+    /**
+     * 如果为临时容器,在取消组盘和出库任务完成时删除容器
+     * @param containerType 容器类型
+     * @param containerCode 容器编码
+     * @return
+     */
+    @Transactional
+    public void removeContainer(String containerType, String containerCode) {
+        if ("LS".equals(containerType)) {
+            LambdaQueryWrapper<Container> lambdaQueryWrapper = Wrappers.lambdaQuery();
+            lambdaQueryWrapper.eq(Container::getCode,containerCode);
+            if (!this.remove(lambdaQueryWrapper)){
+                throw new ServiceException("删除临时容器失败");
+            }
+        }
+    }
+
+    /**
+     * 如果为临时容器出库任务完成时删除容器
+     * @param containCode
+     */
+    @Override
+    @Transactional
+    public void removeByCode(String containCode) {
+        LambdaQueryWrapper<Container> lambdaQueryWrapper = Wrappers.lambdaQuery();
+        lambdaQueryWrapper.eq(Container::getCode, containCode);
+        Container container = this.getOne(lambdaQueryWrapper);
+        if ("LS".equals(container.getContainerType())) {
+            if (!this.removeById(container.getId())){
+                throw new ServiceException("删除临时容器失败");
+            }
+        }
 
+    }
 }
diff --git a/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceServiceImpl.java b/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceServiceImpl.java
index e53547a..2071bff 100644
--- a/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceServiceImpl.java
@@ -7,6 +7,8 @@ import com.huaheng.common.exception.service.ServiceException;
 import com.huaheng.common.support.Convert;
 import com.huaheng.common.utils.StringUtils;
 import com.huaheng.common.utils.security.ShiroUtils;
+import com.huaheng.pc.config.configValue.domain.ConfigValue;
+import com.huaheng.pc.config.configValue.service.ConfigValueService;
 import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference;
 import com.huaheng.pc.config.shipmentPreference.mapper.ShipmentPreferenceMapper;
 import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail;
@@ -32,6 +34,8 @@ public class ShipmentPreferenceServiceImpl extends ServiceImpl<ShipmentPreferenc
     private StatusFlowDetailService statusFlowDetailService;
     @Autowired
     private ShipmentHeaderService shipmentHeaderService;
+    @Autowired
+    private ConfigValueService configValueService;
 
 
     /**
@@ -46,6 +50,15 @@ public class ShipmentPreferenceServiceImpl extends ServiceImpl<ShipmentPreferenc
      */
     @Override
     public List<ShipmentHeader> checkShipmentProcess(String ids, Integer code) {
+
+        LambdaQueryWrapper<ConfigValue> configValueLambdaQueryWrapper=Wrappers.lambdaQuery();
+        configValueLambdaQueryWrapper.eq(ConfigValue::getModuleType,"shipment")
+                .eq(ConfigValue::getWarehouseCode,ShiroUtils.getWarehouseCode());
+        ConfigValue configValue=configValueService.getOne(configValueLambdaQueryWrapper);
+        if(configValue==null){
+            throw new ServiceException("仓库的出库配置不存在");
+        }
+
         //查找出库首选项
         ShipmentPreference shipmentPreference = shipmentPreferenceService.list().get(0);
         if(shipmentPreference == null){
diff --git a/src/main/java/com/huaheng/pc/config/waveMaster/controller/WaveMasterController.java b/src/main/java/com/huaheng/pc/config/waveMaster/controller/WaveMasterController.java
index 34ba0b0..4230767 100644
--- a/src/main/java/com/huaheng/pc/config/waveMaster/controller/WaveMasterController.java
+++ b/src/main/java/com/huaheng/pc/config/waveMaster/controller/WaveMasterController.java
@@ -146,7 +146,4 @@ public class WaveMasterController extends BaseController {
         }
         return toAjax(waveMasterService.removeByIds(list));
     }
-
-
-
 }
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java
index a8c9a78..77adfb0 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java
@@ -2,6 +2,7 @@ package com.huaheng.pc.inventory.inventoryDetail.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.huaheng.framework.web.domain.AjaxResult;
+import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference;
 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
 
@@ -14,7 +15,7 @@ public interface InventoryDetailService extends IService<InventoryDetail> {
 
     void detailcreateCheckOutTask (Integer id);
 
-    List<InventoryDetail> selectBysql(String sql, ShipmentDetail shipmentDetail,String sqll);
+    List<InventoryDetail> selectBysql(String sql, ShipmentDetail shipmentDetail, String sqll, ShipmentPreference shipmentPreference);
 
 
     AjaxResult detailCheckTask (Integer[] ids) throws InvocationTargetException, IllegalAccessException;
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
index 65504f1..1a4b5ad 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
@@ -12,6 +12,7 @@ import com.huaheng.pc.check.checkHeader.domain.CheckHeader;
 import com.huaheng.pc.check.checkHeader.service.CheckHeaderService;
 import com.huaheng.pc.config.location.domain.Location;
 import com.huaheng.pc.config.location.service.LocationService;
+import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference;
 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
 import com.huaheng.pc.inventory.inventoryHeader.service.InventoryHeaderService;
 import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
@@ -128,18 +129,19 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe
     }
 
     @Override
-    public List<InventoryDetail> selectBysql(String sql, ShipmentDetail shipmentDetail,String sqll) {
-        if(StringUtils.isEmpty(sqll)) {
-            sql = sql + " \n" + "and warehouseCode='" + shipmentDetail.getWarehouseCode() + "' \n" +
-                    "and companyCode='" + shipmentDetail.getCompanyCode() + "' \n" +
-                    "and materialCode='" + shipmentDetail.getMaterialCode() + "' \n" +
-                    "and inventorySts='" + shipmentDetail.getInventorySts() + "'";
-        }else {
-            sql = sql + " \n" + "and warehouseCode='" + shipmentDetail.getWarehouseCode() + "' \n" +
-                    "and companyCode='" + shipmentDetail.getCompanyCode() + "' \n" +
-                    "and materialCode='" + shipmentDetail.getMaterialCode() + "' \n" +
-                    "and inventorySts='" + shipmentDetail.getInventorySts() + "'"+ " \n" +sqll;
-        }
+    public List<InventoryDetail> selectBysql(String sql, ShipmentDetail shipmentDetail, String sqll, ShipmentPreference shipmentPreference) {
+       if(shipmentPreference.getAllowQcCheckResult() == true) {
+           sql = sql + " \n" + "and warehouseCode='" + shipmentDetail.getWarehouseCode() + "' \n" +
+                   "and companyCode='" + shipmentDetail.getCompanyCode() + "' \n" +
+                   "and materialCode='" + shipmentDetail.getMaterialCode() + "' \n" +
+                   "and inventorySts='" + shipmentDetail.getInventorySts() + "'\n"+
+                   "and inventorySts='" + shipmentDetail.getInventorySts() + "'\n"+ sqll;
+       }else {
+           sql = sql + " \n" + "and warehouseCode='" + shipmentDetail.getWarehouseCode() + "' \n" +
+                   "and companyCode='" + shipmentDetail.getCompanyCode() + "' \n" +
+                   "and materialCode='" + shipmentDetail.getMaterialCode() + "' \n" +
+                   "and qcCheck=1\n"+ sqll;
+       }
         return inventoryDetailMapper.selectBysql(sql);
     }
 
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
index 69aa26d..a88329a 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
@@ -14,6 +14,7 @@ import com.huaheng.pc.config.location.domain.Location;
 import com.huaheng.pc.config.location.service.LocationService;
 import com.huaheng.pc.config.material.domain.Material;
 import com.huaheng.pc.config.material.service.MaterialService;
+import com.huaheng.pc.config.warehouse.domain.Warehouse;
 import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail;
 import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService;
 import com.huaheng.pc.receipt.receiptContainerHeader.domain.ReceiptContainerHeader;
@@ -142,6 +143,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai
      * @return
      */
     @Override
+    @Transactional
     public Boolean cancelByIds(List<Integer> ids) {
         for (Integer id : ids) {
             //如果已生成任务则不允许取消组盘
@@ -160,6 +162,10 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai
                     containerDetailLambda = Wrappers.lambdaQuery();
                     containerDetailLambda.eq(ReceiptContainerDetail::getReceiptId, receiptContainerDetail.getReceiptId());
                     List<ReceiptContainerDetail> containerDetailList = receiptContainerDetailService.list(containerDetailLambda);
+
+                    //如果是临时容器,取消组盘时删除容器表
+                    containerService.removeContainer(receiptContainerDetail.getContainerType(), receiptContainerDetail.getContainerCode());
+
                     //如果入库组盘没有该入库单的组盘信息,回滚入库单状态
                     if (containerDetailList == null){
                         ReceiptHeader receiptHeader = new ReceiptHeader();
diff --git a/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java b/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
index a603558..e01c992 100644
--- a/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
+++ b/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
@@ -46,6 +46,23 @@ public class ShippingCombinationService {
 
     //根据分配规则查找库存
     public List<InventoryDetail> getInventorys(ShipmentDetail shipmentDetail) {
+        LambdaQueryWrapper<ConfigValue> configValueLambdaQueryWrapper=Wrappers.lambdaQuery();
+        configValueLambdaQueryWrapper.eq(ConfigValue::getModuleType,"shipment")
+                .eq(ConfigValue::getWarehouseCode,shipmentDetail.getWarehouseCode());
+        ConfigValue configValue=configValueService.getOne(configValueLambdaQueryWrapper);
+        if(configValue==null){
+            throw new ServiceException("仓库的出库配置不存在");
+        }
+
+        //查找出库首选项
+        LambdaQueryWrapper<ShipmentPreference> slam=Wrappers.lambdaQuery();
+        slam.eq(ShipmentPreference::getCode,configValue.getIdentifier())
+                .eq(ShipmentPreference::getWarehouseCode,configValue.getWarehouseCode());
+        ShipmentPreference shipmentPreference=shipmentPreferenceService.getOne(slam);
+        if(shipmentPreference==null){
+            throw new ServiceException("仓库的出库配置中出库首选项不存在");
+        }
+
         List<InventoryDetail> list=new ArrayList<>();
         FilterConfigDetail filterConfigDetail=new FilterConfigDetail();
         LambdaQueryWrapper<FilterConfigDetail> filterConfigDetailLambdaQueryWrapper= Wrappers.lambdaQuery();
@@ -61,7 +78,7 @@ public class ShippingCombinationService {
 
             //根据sql查库存
             try {
-                list = inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll());
+                list = inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll(),shipmentPreference);
             }catch (Exception e){
                 throw new ServiceException("sql错误");
             }
@@ -81,27 +98,12 @@ public class ShippingCombinationService {
             }
 
             //根据sql查库存
-            list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll());
+            list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll(),shipmentPreference);
             return list;
         }
 
         //都没有时,默认仓库的分配规则
-        LambdaQueryWrapper<ConfigValue> configValueLambdaQueryWrapper=Wrappers.lambdaQuery();
-        configValueLambdaQueryWrapper.eq(ConfigValue::getModuleType,"shipment")
-                .eq(ConfigValue::getWarehouseCode,shipmentDetail.getWarehouseCode());
-        ConfigValue configValue=configValueService.getOne(configValueLambdaQueryWrapper);
-        if(configValue==null){
-            throw new ServiceException("仓库的出库配置不存在");
-        }
 
-        //查找出库首选项
-        LambdaQueryWrapper<ShipmentPreference> slam=Wrappers.lambdaQuery();
-        slam.eq(ShipmentPreference::getCode,configValue.getIdentifier())
-                .eq(ShipmentPreference::getWarehouseCode,configValue.getWarehouseCode());
-        ShipmentPreference shipmentPreference=shipmentPreferenceService.getOne(slam);
-        if(shipmentPreference==null){
-            throw new ServiceException("仓库的出库配置中出库首选项不存在");
-        }
         //查找分配规则
         filterConfigDetailLambdaQueryWrapper.eq(FilterConfigDetail::getCode,shipmentPreference.getAllocationRule());
         filterConfigDetail=filterConfigDetailService.getOne(filterConfigDetailLambdaQueryWrapper);
@@ -110,7 +112,7 @@ public class ShippingCombinationService {
         }
 
         //根据sql查库存
-        list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll());
+        list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll(),shipmentPreference);
         return list;
     }
 
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
index 51aaf6a..71b50a9 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
@@ -1174,6 +1174,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
      * 完成出库任务
      * */
     @Override
+    @Transactional
     public void completeShipmentTask(TaskHeader task) {
         //获取所有子任务
         TaskDetail condition = new TaskDetail();
@@ -1246,6 +1247,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         task.setLastUpdatedBy(ShiroUtils.getLoginName());
         task.setLastUpdated(new Date());
         taskHeaderService.updateById(task);
+
+        //如果是临时容器出库完成后删除容器
+        containerService.removeByCode(task.getContainerCode());
+
         //将库位状态改为空闲,如果是整出的对应的容器也清空
         Location locationRecord = new Location();
         locationRecord.setStatus("empty");
diff --git a/src/main/resources/templates/config/waveMaster/waveMaster.html b/src/main/resources/templates/config/waveMaster/waveMaster.html
index fdd2b32..496759c 100644
--- a/src/main/resources/templates/config/waveMaster/waveMaster.html
+++ b/src/main/resources/templates/config/waveMaster/waveMaster.html
@@ -48,10 +48,10 @@
                         </div>
 
                         <div class="btn-group hidden-xs" id="toolbar" role="group">
-                            <a class="btn btn-outline btn-success btn-rounded" onclick="matserAdd()" shiro:hasPermission="config:waveMaster:add">
+                            <a class="btn btn-outline btn-success btn-rounded" onclick="masterAdd()" shiro:hasPermission="config:waveMaster:add">
                                 <i class="fa fa-plus"></i> 新增
                             </a>
-                            <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="config:waveMaster:remove">
+                            <a class="btn btn-outline btn-danger btn-rounded" onclick="masterBatRemove()" shiro:hasPermission="config:waveMaster:remove">
                                 <i class="fa fa-trash-o"></i> 删除
                             </a>
                         </div>
@@ -87,11 +87,11 @@
                             </form>
                         </div>
                         <div class="btn-group hidden-xs" id="toolbar1" role="group">
-                            <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()"
+                            <a class="btn btn-outline btn-success btn-rounded" onclick="headerAdd()"
                                shiro:hasPermission="config:waveFlowHeader:add">
                                 <i class="fa fa-plus"></i> 新增
                             </a>
-                            <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()"
+                            <a class="btn btn-outline btn-danger btn-rounded" onclick="headerBatRemove()"
                                shiro:hasPermission="config:waveFlowHeader:remove">
                                 <i class="fa fa-trash-o"></i> 删除
                             </a>
@@ -102,6 +102,18 @@
                     </div>
 
                     <div class="tab-pane fade" id="tabDetail">
+
+                        <div class="btn-group hidden-xs" id="toolbar2" role="group">
+                            <a class="btn btn-outline btn-success btn-rounded" onclick="detailAdd()"
+                               shiro:hasPermission="config:waveFlowHeader:add">
+                                <i class="fa fa-plus"></i> 新增
+                            </a>
+                            <a class="btn btn-outline btn-danger btn-rounded" onclick="detailBatRemove()"
+                               shiro:hasPermission="config:waveFlowHeader:remove">
+                                <i class="fa fa-trash-o"></i> 删除
+                            </a>
+                        </div>
+
                         <table id="bootstrap-table2" data-mobile-responsive="true"
                                class="table table-bordered table-hover"></table>
                     </div>
@@ -261,8 +273,8 @@
                             align: 'center',
                             formatter: function(value, row, index) {
                                 var actions = [];
-                                actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')" ><i class="fa fa-edit"></i>编辑</a> ');
-                                actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')" ><i class="fa fa-trash-o"></i>删除</a>');
+                                actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="masterEdit(\''+row.id+'\')" ><i class="fa fa-edit"></i>编辑</a> ');
+                                actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="masterDel(\'' + row.id + '\')" ><i class="fa fa-trash-o"></i>删除</a>');
                                 return actions.join('');
                             }
                         }],
@@ -342,8 +354,8 @@
                         align: 'center',
                         formatter: function(value, row, index) {
                             var actions = [];
-                            actions.push('<a class="btn btn-success btn-xs ' + editFlag1 + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
-                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag1 + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag1 + '" href="#" onclick="headerEdit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag1 + '" href="#" onclick="headerRemove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
                             return actions.join('');
                         }
                     }],
@@ -374,6 +386,7 @@
                 search: false,
                 sortName: "id",
                 sortOrder: "desc",
+                toolbar: "#toolbar2",
                 columns: [{
                     checkbox: true
                 },
@@ -453,8 +466,8 @@
                         align: 'center',
                         formatter: function(value, row, index) {
                             var actions = [];
-                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
-                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="detailEdit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="detailRemove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
                             return actions.join('');
                         }
                     }]
@@ -463,6 +476,7 @@
             function header() {
                 $("#myTab li").removeClass("active");
                 $("#tabMaster").removeClass("in active");
+                $("#tabDetail").removeClass("in active");
                 $("#myTab li:eq(1)").addClass("active");
                 $("#tabHeader").addClass("in active");
                 loadHeader();
@@ -513,9 +527,109 @@
                 detail();
             }
 
-            function matserAdd() {
+            function masterAdd() {
                 var url = prefix+"/add";
-                $.modal.open("添加" + $.table._option.modalName, url);
+                $.modal.open("添加波次主表", url);
+            }
+
+            function masterEdit(id) {
+                var url = prefix+"/edit/"+id;
+                $.modal.open("修改主表",url);
+            }
+
+            function masterDel(id) {
+                $.modal.confirm("确定删除该条波次主表信息吗?", function() {
+                    var url = prefix+"remove";
+                    var data = { "ids": id };
+                    $.operate.submit(url, "post", "json", data);
+                });
+            }
+            
+            function masterBatRemove() {
+                var rows = $("#bootstrap-table").bootstrapTable('getSelections');
+                if (rows.length == 0) {
+                    $.modal.alertWarning("请至少选择一条记录");
+                    return;
+                }
+                $.modal.confirm("确认要删除选中的" + rows.length + "条数据吗?", function() {
+                    var url = prefix+"/remove";
+                    var ids;
+                    $.each(rows, function (i, row) {
+                        ids = row.id+",";
+                    });
+                    var data = { "ids": ids };
+                    $.operate.submit(url, "post", "json", data);
+                });
+            }
+            
+            function headerAdd() {
+                var url = prefix1+"/add";
+                $.modal.open("添加主表", url);
+            }
+
+            function headerEdit(id){
+                var url = prefix1+"/edit/"+id;
+                $.modal.open("修改主表", url);
+            }
+
+            function headerRemove(id) {
+                $.modal.confirm("确定删除该条主表信息吗?", function() {
+                    var url = prefix1+"remove";
+                    var data = { "ids": id };
+                    $.operate.submit(url, "post", "json", data);
+                });
+            }
+
+            function headerBatRemove() {
+                var rows = $("#bootstrap-table1").bootstrapTable('getSelections');
+                if (rows.length == 0) {
+                    $.modal.alertWarning("请至少选择一条记录");
+                    return;
+                }
+                $.modal.confirm("确认要删除选中的" + rows.length + "条数据吗?", function() {
+                    var url = prefix1+"/remove";
+                    var ids;
+                    $.each(rows, function (i, row) {
+                        ids = row.id+",";
+                    });
+                    var data = { "ids": ids };
+                    $.operate.submit(url, "post", "json", data);
+                });
+            }
+
+            function detailAdd() {
+                var url = prefix2+"/add";
+                $.modal.open("添加明细", url);
+            }
+
+            function detailEdit(id) {
+                var url = prefix2+"/edit/"+id;
+                $.modal.open("修改明细", url);
+            }
+
+            function detailRemove(id) {
+                $.modal.confirm("确定删除该条明细信息吗?", function() {
+                    var url = prefix2+"remove";
+                    var data = { "ids": id };
+                    $.operate.submit(url, "post", "json", data);
+                });
+            }
+
+            function detailBatRemove() {
+                var rows = $("#bootstrap-table2").bootstrapTable('getSelections');
+                if (rows.length == 0) {
+                    $.modal.alertWarning("请至少选择一条记录");
+                    return;
+                }
+                $.modal.confirm("确认要删除选中的" + rows.length + "条数据吗?", function() {
+                    var url = prefix2+"/remove";
+                    var ids;
+                    $.each(rows, function (i, row) {
+                        ids = row.id+",";
+                    });
+                    var data = { "ids": ids };
+                    $.operate.submit(url, "post", "json", data);
+                });
             }
         </script>
 </body>
diff --git a/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html b/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html
index 27614b7..74d6ec0 100644
--- a/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html
+++ b/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html
@@ -50,6 +50,7 @@
 									   </li>
 									   <li>
 										   <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+										   <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('receiptContainerHeader-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
 										   <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="receipt:receiptHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
 									   </li>
 								   </ul>
diff --git a/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html b/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html
index 8a22280..9bd9d9b 100644
--- a/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html
+++ b/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html
@@ -24,6 +24,7 @@
                         <!--</li>-->
                         <li>
                             <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                            <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('receiptDetail-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
                             <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="receipt:receiptDetail:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
                         </li>
                     </ul>
diff --git a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
index 16ee09c..96aee72 100644
--- a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
+++ b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
@@ -36,7 +36,7 @@
                                         入库单号:<input type="text" name="code"/>
                                     </li>
                                     <li>
-                                        上游单号:<input type="text" name="sourceCode"/>
+                                        上游单号:<input type="text" name="referCode"/>
                                     </li>
                                     <li>
                                         货主:<select id="companyCode" name="companyCode" th:with="list=${@companyService.getCode()}">
@@ -72,6 +72,7 @@
                                     </li>
                                     <li>
                                         <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                        <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('receiptHeader-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
                                     </li>
                                 </ul>
                             </div>
diff --git a/src/main/resources/templates/receipt/receiptHeaderHistory/receiptHeaderHistory.html b/src/main/resources/templates/receipt/receiptHeaderHistory/receiptHeaderHistory.html
index 00df531..3d02497 100644
--- a/src/main/resources/templates/receipt/receiptHeaderHistory/receiptHeaderHistory.html
+++ b/src/main/resources/templates/receipt/receiptHeaderHistory/receiptHeaderHistory.html
@@ -21,6 +21,9 @@
                                         入库单号:<input type="text" name="code"/>
                                     </li>
                                     <li>
+                                        上游单号:<input type="text" name="referCode"/>
+                                    </li>
+                                    <li>
                                         <!--入库类型:<input type="text" name="sourceCode"/>-->
                                         入库类型:<select name="type" th:with="type=${@receiptTypeService.getType()}">
                                         <option value="">所有</option>