Kaynağa Gözat

出库单界面

andy 3 yıl önce
ebeveyn
işleme
6360b154cd

+ 32 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/order/WmsDocOrderHeaderController.java

@@ -1,7 +1,12 @@
 package com.ruoyi.web.controller.warewms.order;
 
+import java.util.Date;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.ams.asn.domain.WmsDocAsnHeader;
+import com.ruoyi.base.service.SysIdsequenceService;
+import com.ruoyi.common.core.domain.model.LoginUser;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -33,6 +38,8 @@ public class WmsDocOrderHeaderController extends BaseController
 {
     @Autowired
     private IWmsDocOrderHeaderService wmsDocOrderHeaderService;
+    @Autowired
+    private SysIdsequenceService sysIdsequenceService;
 
     /**
      * 查询出库单头列表
@@ -101,4 +108,29 @@ public class WmsDocOrderHeaderController extends BaseController
     {
         return toAjax(wmsDocOrderHeaderService.deleteWmsDocOrderHeaderByOrderNos(orderNos));
     }
+
+    /**
+     * 新增入库单明细
+     */
+    @GetMapping(value = "/initOrderHeader/{orderNo}")
+    public AjaxResult initOrderHeader(@PathVariable("orderNo") String orderNo)
+    {
+        WmsDocOrderHeader orderHeader = new WmsDocOrderHeader();
+        LoginUser loginUser = getLoginUser();
+        if (orderNo == null || "undefine".equals(orderNo)) {
+            orderNo = sysIdsequenceService.getCurrent("ORDERNO");
+            Date now = new Date();
+            orderHeader.setOrderNo(orderNo);
+            orderHeader.setCreateBy(loginUser.getUsername());
+            orderHeader.setCreateTime(now);
+            orderHeader.setOrderType("PR");
+            orderHeader.setOrderStatus("00");
+        } else {
+            orderHeader = wmsDocOrderHeaderService.selectWmsDocOrderHeaderByOrderNo(orderNo);
+            if(orderHeader == null) {
+                return AjaxResult.error("出库单号不存在");
+            }
+        }
+        return AjaxResult.success("",orderHeader);
+    }
 }

+ 8 - 0
ruoyi-ui/src/api/docOrder/docOrder.js

@@ -42,3 +42,11 @@ export function delDocOrder(orderNo) {
     method: 'delete'
   })
 }
+
+// 初始化表头
+export function initOrderHeader(orderNo) {
+  return request({
+    url: '/docOrder/docOrder/initOrderHeader/' + orderNo,
+    method: 'get'
+  })
+}

+ 2 - 2
ruoyi-ui/src/views/docAsn/docAsnDetails-add-or-update.vue

@@ -112,7 +112,7 @@
           </template>
         </el-table-column>
       </el-table>
-      <sku-search-dialog v-if="skuSearchDialogVisible" ref="skuSearch" @dochose="afterChoseUser"></sku-search-dialog>
+      <sku-search-dialog v-if="skuSearchDialogVisible" ref="skuSearch" @dochose="afterChoseSku"></sku-search-dialog>
     </el-form>
     <span slot="footer" class="dialog-footer">
        <el-button @click="visible = false">取消</el-button>
@@ -220,7 +220,7 @@
           this.$refs.skuSearch.init()
         })
       },
-      afterChoseUser: function (userName, value) {
+      afterChoseSku: function (userName, value) {
         this.dataForm.sku = value
       },
       locationZoneChange: function (value) {

+ 5 - 5
ruoyi-ui/src/views/docAsn/docAsnDetails.vue

@@ -79,10 +79,10 @@
       :total="total"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
-      @pagination="getList"
+      @pagination="getDataList"
     />
     <div>
-      <el-button type="primary" size="mini" @click="addOrUpdateHandle(dataForm.asnNo)">明细新增</el-button>
+      <el-button type="primary" size="mini" @click="addOrUpdateHandle()">明细新增</el-button>
       <el-button type="primary" size="mini" >明细编辑</el-button>
       <el-button type="primary" size="mini" >明细删除</el-button>
     </div>
@@ -124,7 +124,7 @@
     methods: {
       // 获取数据列表
       getDataList (asnNo) {
-        this.dataForm.asnNo = asnNo
+        this.queryParams.asnNo = asnNo
         this.initLotatt()
         /*if (asnNo) {
           this.dataForm.asnNo = asnNo
@@ -157,10 +157,10 @@
         this.dataListSelections = val
       },
       // 新增 / 修改
-      addOrUpdateHandle (id) {
+      addOrUpdateHandle () {
         this.addOrUpdateVisible = true
         this.$nextTick(() => {
-          this.$refs.addOrUpdate.init(id)
+          this.$refs.addOrUpdate.init(this.queryParams.asnNo)
         })
       },
       initLotatt() {

+ 1 - 1
ruoyi-ui/src/views/docAsn/docAsnHeader-add-or-update.vue

@@ -175,11 +175,11 @@
               this.dataFormHead.supplierId = parseInt(asnHeader.supplierId) ? parseInt(asnHeader.supplierId) : ''
               this.dataFormHead.customerId = parseInt(asnHeader.customerId) ? parseInt(asnHeader.customerId) : ''
               this.dataFormHead.notes = asnHeader.notes
+              this.$refs.asnDetails.getDataList(this.dataFormHead.asnNo)
             } else {
               this.$modal.msgError(response.msg);
             }
           })
-          this.$refs.asnDetails.getDataList(this.dataFormHead.asnNo)
         })
       },
       initData () {

+ 192 - 0
ruoyi-ui/src/views/docOrder/docOrderDetails-add-or-update.vue

@@ -0,0 +1,192 @@
+<template>
+  <el-dialog
+    :title="!dataForm.id ? '明细新增' : '明细修改'"
+    :close-on-click-modal="false"
+    :modal="false"
+    :visible.sync="visible">
+    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()"
+             label-width="80px">
+      <el-row>
+        <el-col :span="8">
+          <el-form-item label="入库单号" prop="orderNo">
+            <el-input v-model="dataForm.orderNo" placeholder=""></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="客户" prop="customerId">
+            <el-select v-model="dataForm.customerId" placeholder="请选择" style="width: 100%" clearable>
+              <el-option
+                v-for="item in customerIdCombo"
+                :key="item.value"
+                :label="item.customerName"
+                :value="item.customerId">
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="单据状态" prop="orderStatus">
+            <el-select v-model="dataForm.orderStatus" :disabled=" id === '' ? true : false" placeholder="请选择" style="width: 100%">
+              <el-option
+                v-for="dict in dict.type.so_status"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="8">
+          <el-form-item label="物料" prop="sku">
+            <el-input v-model="dataForm.sku" placeholder="">
+              <i class="el-icon-search el-input__icon" slot="suffix" @click="handleSkuIconClick"></i>
+            </el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="产品名称" prop="editUserId">
+            <el-input v-model="dataForm.editUserId" placeholder=""></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="收货库位" prop="supplierId">
+            <el-input v-model="dataForm.supplierId" placeholder=""></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <div style="cursor: pointer;" @click="showHidden">
+        <el-divider content-position="center">批次属性信息...</el-divider>
+      </div>
+      <el-table v-show="attShowFlag" :data="tableOption" ref="flowConfigDetails">
+        <el-table-column label="批次属性" prop="lotattId">
+          <template slot-scope="scope">
+            <div style="display: inline-block;width: 10px;color:red;">
+              <div v-show="scope.row.lotattFlag === 'Required'">*</div>
+            </div>
+            <div style="display: inline-block;width: 185px;">
+              {{scope.row.lotattName}}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="属性值" prop="defaultValue">
+          <template slot-scope="scope">
+            <div v-if="scope.row.inputType === 'Text'">
+              <el-input v-model="scope.row.defaultValue" placeholder=""/>
+            </div>
+            <div v-if="scope.row.inputType === 'DateBox'">
+              <el-date-picker v-model="scope.row.defaultValue" type="date" placeholder="" style="width: 100%"
+                              value-format="yyyy-MM-dd"/>
+            </div>
+            <div v-if="scope.row.inputType === 'ComboBox'">
+              <el-select v-model="scope.row.defaultValue" placeholder="请选择" clearable size="small" style="width: 100%">
+                <el-option
+                  v-for="dict in dict.type[scope.row.inputScope]"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <sku-search-dialog v-if="skuSearchDialogVisible" ref="skuSearch" @dochose="afterChoseSku"></sku-search-dialog>
+    </el-form>
+    <span slot="footer" class="dialog-footer">
+       <el-button @click="visible = false">取消</el-button>
+       <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
+     </span>
+  </el-dialog>
+</template>
+
+<script>
+  import {lotattConfigList} from "@/api/ams/config"
+  import {queryCustomerDict} from "@/api/base/customer"
+  import SkuSearchDialog from '@/views/base/baseSku/skuSearchDialog'
+
+  export default {
+    dicts: ['sys_yes_no', 'ams_inv_quality', 'asn_status'],
+    data () {
+      return {
+        visible: false,
+        attShowFlag: false,
+        skuSearchDialogVisible: false,
+        roleList: [],
+        id: '',
+        dataForm: {
+          createUserId: '',
+          notes: '',
+          supplierId: '',
+          editUserId: '',
+          paNo: '',
+          qcNo: '',
+          userdefine1: '',
+          userdefine2: '',
+          userdefine3: '',
+          editDate: '',
+          userdefine4: '',
+          userdefine5: '',
+          orderNo: '',
+          asnReference1: '',
+          asnReference2: '',
+          customerId: '',
+          releaseStatus: '',
+          orderType: '',
+          expectedArriveTime: '',
+          orderStatus: '',
+          customerNo: '',
+          createDate: '',
+          activeFlag: '',
+          sku: ''
+        },
+        dataRule: {},
+        tableOption: [],
+        customerIdCombo: []
+      }
+    },
+    components: {
+      SkuSearchDialog
+    },
+    methods: {
+      init (id) {
+        this.id = id
+        this.initData()
+        this.visible = true
+        this.$nextTick(() => {
+            console.log('123123123')
+        })
+      },
+      // 表单提交
+      dataFormSubmit () {
+        this.$refs['dataForm'].validate((valid) => {
+          if (valid) {
+          }
+        })
+      },
+      initData () {
+        queryCustomerDict().then(response => {
+          this.customerIdCombo = response.data;
+        });
+
+        this.tableOption.length = 0
+        lotattConfigList().then(response => {
+          this.tableOption = response.data
+        })
+      },
+      showHidden() {
+        this.attShowFlag = !this.attShowFlag
+      },
+      handleSkuIconClick() {
+        this.skuSearchDialogVisible = true
+        this.$nextTick(() => {
+          this.$refs.skuSearch.init()
+        })
+      },
+      afterChoseSku: function (userName, value) {
+        this.dataForm.sku = value
+      },
+    }
+  }
+</script>

+ 133 - 0
ruoyi-ui/src/views/docOrder/docOrderDetails.vue

@@ -0,0 +1,133 @@
+<template>
+  <div class="mod-user">
+    <el-table
+      :data="dataList"
+      border
+      v-loading="dataListLoading"
+      style="width: 100%;">
+      <el-table-column
+        type="selection"
+        header-align="center"
+        align="center"
+        width="50">
+      </el-table-column>
+      <el-table-column
+        prop="orderLineNo"
+        header-align="center"
+        align="center"
+        label="行号">
+      </el-table-column>
+      <el-table-column
+        prop="sku"
+        header-align="center"
+        align="center"
+        label="物料">
+      </el-table-column>
+      <el-table-column
+        prop="lineStatus"
+        header-align="center"
+        align="center"
+        label="行状态">
+      </el-table-column>
+      <el-table-column
+        prop="qtyOrdered"
+        header-align="center"
+        align="center"
+        label="订单数量">
+      </el-table-column>
+      <el-table-column
+        prop="qtyAllocated"
+        header-align="center"
+        align="center"
+        label="分配数量">
+      </el-table-column>
+      <el-table-column
+        prop="qtyPicked"
+        header-align="center"
+        align="center"
+        label="拣货数量">
+      </el-table-column>
+      <el-table-column
+        v-for="(item, index) in tableOption"
+        :key="index"
+        :label="item.label"
+        align="center" :prop="item.prop" width="150">
+      </el-table-column>
+    </el-table>
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getDataList"
+    />
+    <div>
+      <el-button type="primary" size="mini" @click="addOrUpdateHandle()">明细新增</el-button>
+      <el-button type="primary" size="mini" >明细编辑</el-button>
+      <el-button type="primary" size="mini" >明细删除</el-button>
+    </div>
+    <!-- 弹窗, 新增 / 修改 -->
+    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
+  </div>
+</template>
+
+<script>
+  import AddOrUpdate from './docOrderDetails-add-or-update'
+  import { lotattConfigList } from "@/api/ams/config"
+
+  export default {
+    data () {
+      return {
+        dataForm: {
+          orderNo: ''
+        },
+        // 总条数
+        total: 0,
+        dataList: [],
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10
+        },
+        dataListLoading: false,
+        dataListSelections: [],
+        tableOption: [],
+        addOrUpdateVisible: false
+      }
+    },
+    mounted () {
+    },
+    components: {
+      AddOrUpdate
+    },
+    activated () {
+    },
+    methods: {
+      // 获取数据列表
+      getDataList (orderNo) {
+        this.initLotatt()
+        if (orderNo) {
+          this.dataForm.orderNo = orderNo
+        }
+      },
+      // 新增 / 修改
+      addOrUpdateHandle () {
+        this.addOrUpdateVisible = true
+        this.$nextTick(() => {
+          this.$refs.addOrUpdate.init(this.dataForm.orderNo)
+        })
+      },
+      initLotatt() {
+        this.tableOption.length = 0
+        lotattConfigList().then(response => {
+          let data = response.data
+          for(let i=0;i<data.length;i++) {
+            let obj = new Object();
+            obj.label = data[i].lotattName
+            obj.prop = data[i].lotattId
+            this.tableOption.push(obj)
+          }
+        })
+      }
+    }
+  }
+</script>

+ 142 - 0
ruoyi-ui/src/views/docOrder/docOrderHeader-add-or-update.vue

@@ -0,0 +1,142 @@
+<template>
+  <el-dialog
+    :title="!dataFormHead.orderNo ? '新增' : '修改'"
+    :close-on-click-modal="false"
+    :fullscreen="true"
+    :modal="false"
+    :visible.sync="visible">
+    <div style="border: 1px solid rgba(0, 0, 0, 0.1);height: 150px;margin-top: -30px;padding: 10px;">
+      <el-form :model="dataFormHead" ref="dataFormHead" label-width="105px">
+        <el-row>
+          <el-col :span="6">
+            <el-form-item label="出库单号" prop="orderNo">
+              <el-input v-model="dataFormHead.orderNo" placeholder="" :disabled="true"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="单据状态" prop="orderStatus">
+              <el-select v-model="dataFormHead.orderStatus" :disabled=" id === '' ? true : false" placeholder="请选择" style="width: 100%">
+                <el-option
+                  v-for="dict in dict.type.so_status"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="发货时间" prop="shipmentTime">
+              <el-date-picker
+                v-model="dataFormHead.shipmentTime"
+                type="date"
+                placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="客户" prop="customerId">
+              <el-select v-model="dataFormHead.customerId" placeholder="请选择" style="width: 100%" clearable>
+                <el-option
+                  v-for="item in customerIdCombo"
+                  :key="item.value"
+                  :label="item.customerName"
+                  :value="item.customerId">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="客户单号1" prop="soReference1">
+              <el-input v-model="dataFormHead.soReference1" placeholder=""></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="客户单号2" prop="soReference2">
+              <el-input v-model="dataFormHead.soReference2" placeholder=""></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6" style="text-align: right;">
+            <el-button size="mini" type="primary" :disabled=" id !== '' ? true : false" @click="dataFormHeadSubmit()">提交</el-button>
+            <el-button size="mini" type="primary" :disabled=" id === '' ? true : false" @click="dataFormHeadSubmit()">修改</el-button>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <div>
+      <el-tabs v-model="activeTap">
+        <el-tab-pane label="出库明细" name="orderDetails">
+          <OrderDetails ref="orderDetails"/>
+        </el-tab-pane>
+      </el-tabs>
+    </div>
+  </el-dialog>
+</template>
+
+<script>
+  import { initOrderHeader } from '@/api/docOrder/docOrder'
+  import OrderDetails from './docOrderDetails'
+  import {queryCustomerDict} from "@/api/base/customer";
+
+  export default {
+    dicts: ['so_status', 'so_type'],
+    data () {
+      return {
+        choseId: '',
+        id: '',
+        visible: false,
+        roleList: [],
+        dataFormHead: {
+          orderNo: '',
+          orderType: '',
+          orderStatus: '',
+          shipmentTime: '',
+          soReference1: '',
+          soReference2: '',
+          soReference3: '',
+          customerId: ''
+        },
+        activeTap: 'orderDetails',
+        customerIdCombo: []
+      }
+    },
+    components: {
+      OrderDetails
+    },
+    methods: {
+      initData () {
+        queryCustomerDict().then(response => {
+          this.customerIdCombo = response.data;
+        });
+      },
+      init (id) {
+        console.log(id)
+        this.initData()
+        this.visible = true
+        this.$nextTick(() => {
+          initOrderHeader(id).then(response => {
+            if(response.code == 200) {
+              let orderHeader = response.data;
+              this.id = orderHeader.orderNo
+              this.dataFormHead.orderNo = orderHeader.orderNo
+              this.dataFormHead.orderType = orderHeader.orderType
+              this.dataFormHead.orderStatus = orderHeader.orderStatus
+              this.dataFormHead.shipmentTime = orderHeader.shipmentTime
+              this.dataFormHead.soReference1 = orderHeader.soReference1
+              this.dataFormHead.soReference2 = orderHeader.soReference2
+              this.dataFormHead.soReference3 = orderHeader.soReference3
+              this.dataFormHead.customerId
+              console.log(this.dataFormHead.orderNo)
+              this.$refs.orderDetails.getDataList(this.dataFormHead.orderNo)
+            } else {
+              this.$modal.msgError(response.msg);
+            }
+          })
+        })
+      },
+      // 表单提交
+      dataFormHeadSubmit () {
+      }
+    }
+  }
+</script>

+ 39 - 200
ruoyi-ui/src/views/docOrder/index.vue

@@ -1,10 +1,10 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="货主代码" prop="customerId">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="80px">
+      <el-form-item label="客户" prop="customerId">
         <el-input
           v-model="queryParams.customerId"
-          placeholder="请输入货主代码"
+          placeholder="请输入客户"
           clearable
           size="small"
           @keyup.enter.native="handleQuery"
@@ -30,50 +30,25 @@
           />
         </el-select>
       </el-form-item>
-      <el-form-item label="客户单号1" prop="soReference1">
-        <el-input
-          v-model="queryParams.soReference1"
-          placeholder="请输入客户单号1"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="客户单号2" prop="soReference2">
-        <el-input
-          v-model="queryParams.soReference2"
-          placeholder="请输入客户单号2"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
+      <el-form-item label="发货时间" prop="shipmentTime">
+        <el-date-picker clearable size="small"
+                        v-model="queryParams.shipmentTime"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="发货时间">
+        </el-date-picker>
       </el-form-item>
-      <el-form-item label="客户单号3" prop="soReference3">
-        <el-input
-          v-model="queryParams.soReference3"
-          placeholder="请输入客户单号3"
-          clearable
+      <el-form-item label="创建时间">
+        <el-date-picker
+          v-model="dateRange"
           size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="单据操作优先级" prop="priority">
-        <el-input
-          v-model="queryParams.priority"
-          placeholder="请输入单据操作优先级"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="收货单位名称" prop="consigneeName">
-        <el-input
-          v-model="queryParams.consigneeName"
-          placeholder="请输入收货单位名称"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
+          style="width: 240px"
+          value-format="yyyy-MM-dd"
+          type="daterange"
+          range-separator="-"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
+        ></el-date-picker>
       </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -92,7 +67,7 @@
           v-hasPermi="['docOrder:docOrder:add']"
         >新增</el-button>
       </el-col>
-      <el-col :span="1.5">
+      <!--<el-col :span="1.5">
         <el-button
           type="success"
           plain
@@ -123,7 +98,7 @@
           @click="handleExport"
           v-hasPermi="['docOrder:docOrder:export']"
         >导出</el-button>
-      </el-col>
+      </el-col>-->
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
@@ -144,8 +119,8 @@
       <el-table-column label="客户单号1" align="center" prop="soReference1" />
       <el-table-column label="客户单号2" align="center" prop="soReference2" />
       <el-table-column label="客户单号3" align="center" prop="soReference3" />
-      <el-table-column label="单据操作优先级" align="center" prop="priority" />
-      <el-table-column label="收货单位名称" align="center" prop="consigneeName" />
+      <!--<el-table-column label="单据操作优先级" align="center" prop="priority" />-->
+      <!--<el-table-column label="收货单位名称" align="center" prop="consigneeName" />-->
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -165,7 +140,7 @@
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
       v-show="total>0"
       :total="total"
@@ -174,155 +149,20 @@
       @pagination="getList"
     />
 
-    <!-- 添加或修改出库单头对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="货主代码" prop="customerId">
-          <el-input v-model="form.customerId" placeholder="请输入货主代码" />
-        </el-form-item>
-        <el-form-item label="单据状态" prop="orderStatus">
-          <el-select v-model="form.orderStatus" placeholder="请选择单据状态">
-            <el-option
-              v-for="dict in dict.type.so_status"
-              :key="dict.value"
-              :label="dict.label"
-:value="dict.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="单据类型" prop="orderType">
-          <el-select v-model="form.orderType" placeholder="请选择单据类型">
-            <el-option
-              v-for="dict in dict.type.so_type"
-              :key="dict.value"
-              :label="dict.label"
-:value="dict.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="客户单号1" prop="soReference1">
-          <el-input v-model="form.soReference1" placeholder="请输入客户单号1" />
-        </el-form-item>
-        <el-form-item label="客户单号2" prop="soReference2">
-          <el-input v-model="form.soReference2" placeholder="请输入客户单号2" />
-        </el-form-item>
-        <el-form-item label="客户单号3" prop="soReference3">
-          <el-input v-model="form.soReference3" placeholder="请输入客户单号3" />
-        </el-form-item>
-        <el-form-item label="单据操作优先级" prop="priority">
-          <el-input v-model="form.priority" placeholder="请输入单据操作优先级" />
-        </el-form-item>
-        <el-form-item label="收货单位名称" prop="consigneeName">
-          <el-input v-model="form.consigneeName" placeholder="请输入收货单位名称" />
-        </el-form-item>
-        <el-form-item label="备注" prop="remark">
-          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="仓库id" prop="warehouseId">
-          <el-input v-model="form.warehouseId" placeholder="请输入仓库id" />
-        </el-form-item>
-        <el-form-item label="目标货柜(移转目标刀具柜)" prop="userdefine1">
-          <el-input v-model="form.userdefine1" placeholder="请输入目标货柜(移转目标刀具柜)" />
-        </el-form-item>
-        <el-form-item label="预留字段2" prop="userdefine2">
-          <el-input v-model="form.userdefine2" placeholder="请输入预留字段2" />
-        </el-form-item>
-        <el-form-item label="预留字段3" prop="userdefine3">
-          <el-input v-model="form.userdefine3" placeholder="请输入预留字段3" />
-        </el-form-item>
-        <el-form-item label="预留字段4" prop="userdefine4">
-          <el-input v-model="form.userdefine4" placeholder="请输入预留字段4" />
-        </el-form-item>
-        <el-form-item label="预留字段5" prop="userdefine5">
-          <el-input v-model="form.userdefine5" placeholder="请输入预留字段5" />
-        </el-form-item>
-        <el-form-item label="拣货时保存之前状态" prop="userdefine6">
-          <el-input v-model="form.userdefine6" placeholder="请输入拣货时保存之前状态" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="addTime">
-          <el-date-picker clearable size="small"
-            v-model="form.addTime"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="选择${comment}">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="${comment}" prop="addWho">
-          <el-input v-model="form.addWho" placeholder="请输入${comment}" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="editTime">
-          <el-date-picker clearable size="small"
-            v-model="form.editTime"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="选择${comment}">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="${comment}" prop="editWho">
-          <el-input v-model="form.editWho" placeholder="请输入${comment}" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="hEdi01">
-          <el-input v-model="form.hEdi01" placeholder="请输入${comment}" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="hEdi02">
-          <el-input v-model="form.hEdi02" placeholder="请输入${comment}" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="hEdi03">
-          <el-input v-model="form.hEdi03" placeholder="请输入${comment}" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="hEdi04">
-          <el-input v-model="form.hEdi04" placeholder="请输入${comment}" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="hEdi05">
-          <el-input v-model="form.hEdi05" placeholder="请输入${comment}" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="hEdi06">
-          <el-input v-model="form.hEdi06" placeholder="请输入${comment}" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="hEdi07">
-          <el-input v-model="form.hEdi07" placeholder="请输入${comment}" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="hEdi08">
-          <el-input v-model="form.hEdi08" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="hEdi09">
-          <el-input v-model="form.hEdi09" placeholder="请输入${comment}" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="hEdi10">
-          <el-input v-model="form.hEdi10" placeholder="请输入${comment}" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="hEdi11">
-          <el-input v-model="form.hEdi11" placeholder="请输入${comment}" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="hEdi12">
-          <el-input v-model="form.hEdi12" placeholder="请输入${comment}" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="hEdi13">
-          <el-input v-model="form.hEdi13" placeholder="请输入${comment}" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="hEdi14">
-          <el-input v-model="form.hEdi14" placeholder="请输入${comment}" />
-        </el-form-item>
-        <el-form-item label="${comment}" prop="hEdi15">
-          <el-input v-model="form.hEdi15" placeholder="请输入${comment}" />
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
+    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList=""></add-or-update>
   </div>
 </template>
 
 <script>
 import { listDocOrder, getDocOrder, delDocOrder, addDocOrder, updateDocOrder } from "@/api/docOrder/docOrder";
+import AddOrUpdate from './docOrderHeader-add-or-update'
 
 export default {
   name: "DocOrder",
   dicts: ['so_status', 'so_type'],
   data() {
     return {
+      addOrUpdateVisible: false,
       // 遮罩层
       loading: true,
       // 选中数组
@@ -341,6 +181,7 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
+      dateRange: [],
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -353,23 +194,19 @@ export default {
         soReference3: null,
         priority: null,
         consigneeName: null,
+        shipmentTime: '',
+        createTime: ''
       },
       // 表单参数
       form: {},
       // 表单校验
       rules: {
-        customerId: [
-          { required: true, message: "货主代码不能为空", trigger: "blur" }
-        ],
-        orderStatus: [
-          { required: true, message: "单据状态不能为空", trigger: "change" }
-        ],
-        addTime: [
-          { required: true, message: "$comment不能为空", trigger: "blur" }
-        ],
       }
     };
   },
+  components: {
+    AddOrUpdate
+  },
   created() {
     this.getList();
   },
@@ -377,7 +214,7 @@ export default {
     /** 查询出库单头列表 */
     getList() {
       this.loading = true;
-      listDocOrder(this.queryParams).then(response => {
+      listDocOrder(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
         this.docOrderList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -463,8 +300,10 @@ export default {
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();
-      this.open = true;
-      this.title = "添加出库单头";
+      this.addOrUpdateVisible = true
+      this.$nextTick(() => {
+        this.$refs.addOrUpdate.init('undefine')
+      })
     },
     /** 修改按钮操作 */
     handleUpdate(row) {