Browse Source

【装箱单-面料】列表页、新增、详情、编辑抽屉

liangyan0105 3 years ago
parent
commit
ddf8869e2d

+ 1 - 1
src/views/advance-packingList/editAdpackingDrawer.vue

@@ -472,7 +472,7 @@ export default {
   methods: {
     // 参照发运明细
     referShipmentDetails() {
-      console.log('打开参照订单数据')
+      console.log('打开发运明细')
       this.$refs.referShipmentDetailsModal.referShipmentDetailsModVis = true
     },
     // 増行

+ 14 - 17
src/views/advance-packingList/referShipmentDetailsModal.vue

@@ -8,7 +8,7 @@
     width="86%"
     style="top:330px;left:100px;"
   >
-    <!-- tabel 加载 -->
+
     <a-spin :spinning="confirmLoading">
       <!-- 查询  -->
       <div class="table-page-search-wrapper">
@@ -40,21 +40,19 @@
         </a-form>
       </div>
 
-      <!-- table , y: 300 -->
-      <div>
-        <a-table
-          :columns="referShipmentDetailsColumns"
-          :data-source="referShipmentDetailsData"
-          :loading="loading"
-          :pagination="ipagination"
-          :row-key="record => record.id"
-          :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
-          @change="handleTableChange"
-          bordered
-          :scroll="{ x: 1500 }"
-        >
-        </a-table>
-      </div>
+      <!-- table -->
+      <a-table
+        :columns="referShipmentDetailsColumns"
+        :data-source="referShipmentDetailsData"
+        :loading="loading"
+        :pagination="ipagination"
+        :row-key="record => record.id"
+        :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
+        @change="handleTableChange"
+        bordered
+        :scroll="{ x: 1500 }"
+      >
+      </a-table>
     </a-spin>
   </a-modal>
 </template>
@@ -70,7 +68,6 @@ export default {
 
   data() {
     let ellipsis = (v, l = 20) => <j-ellipsis value={v} length={l} /> // 省略
-
     return {
       selectedRowKeys: [], // 勾选航
       loading: false, // 表格加载

+ 11 - 12
src/views/packing-list/clothes-list.vue

@@ -1,5 +1,5 @@
 <template>
-  <!-- 装箱单-成衣列表 -->
+  <!-- 装箱单-成衣 -->
   <div id="clothesList">
     <!-- 查询 -->
     <a-card :bordered="false">
@@ -163,7 +163,7 @@ import detailsClothesDrawer from '@views/packing-list/packinglist-clothes/detail
 import editClothesDrawer from '@views/packing-list/packinglist-clothes/editClothesDrawer.vue'
 
 export default {
-  name: 'ClothesList', // 装箱单-成衣列表
+  name: 'ClothesList', // 装箱单-成衣
   mixins: [JeecgListMixin],
   components: { JEllipsis, clothesAddDrawer, detailsClothesDrawer, editClothesDrawer },
   data() {
@@ -395,16 +395,6 @@ export default {
     // this.getAdPaListClothes()
   },
   methods: {
-    // 推送
-    push() {},
-    // 导入
-    importData() {},
-    // 新增
-    openClothesAdd() {
-      console.log('新增-成衣')
-      this.$refs.clothesAddDrawer.visible = true
-    },
-    // --------------------------------------
     // 查询按钮
     searchQuery() {
       // this.getAnnList() // 装箱单-成衣列表
@@ -414,6 +404,15 @@ export default {
       this.queryParam = {}
       // this.getAnnList()
     },
+    // 推送
+    push() {},
+    // 导入
+    importData() {},
+    // 新增
+    openClothesAdd() {
+      console.log('新增-装箱单 成衣')
+      this.$refs.clothesAddDrawer.visible = true
+    },
     // --------------------------------------
     // 操作 附件上传
     accessoryUpload() {},

+ 313 - 0
src/views/packing-list/fabric-list.vue

@@ -0,0 +1,313 @@
+<template>
+  <!-- 装箱单-面料列表 -->
+  <div id="fabricList">
+    <!-- 查询 -->
+    <a-card :bordered="false">
+      <div class="table-page-search-wrapper">
+        <a-form layout="inline" @keyup.enter.native="searchQuery">
+          <a-row :gutter="24">
+            <a-col :md="6" :sm="8">
+              <a-form-item label="订单号">
+                <a-input placeholder="请输入订单号" v-model="queryParam.orderNum"></a-input>
+              </a-form-item>
+            </a-col>
+
+            <a-col :md="6" :sm="8">
+              <a-form-item label="集装箱号">
+                <a-input placeholder="请输入集装箱号" v-model="queryParam.containerNo"></a-input>
+              </a-form-item>
+            </a-col>
+
+            <a-col :md="6" :sm="8">
+              <a-form-item label="发票号">
+                <a-input placeholder="请输入发票号" v-model="queryParam.invoiceNum"></a-input>
+              </a-form-item>
+            </a-col>
+
+            <a-col :md="6" :sm="8">
+              <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
+                <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
+                <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
+                <a @click="handleToggleSearch" style="margin-left: 8px">
+                  {{ toggleSearchStatus ? '收起' : '展开' }}
+                  <a-icon :type="toggleSearchStatus ? 'up' : 'down'" />
+                </a>
+              </span>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+    </a-card>
+
+    <!-- 操作按钮区域 推送 新增-->
+    <a-card :bordered="false" style="marginTop:10px;">
+      <div class="table-operator">
+        <a-button type="primary" @click="push" icon="export">推送</a-button>
+        <a-button type="primary" @click="addFabric" icon="plus">新增</a-button>
+      </div>
+
+      <!-- 子表  :scroll="{ x: 1500 }" 内容少 无需滚动-->
+      <a-table
+        bordered
+        :columns="fabricListColumns"
+        :data-source="fabricListData"
+        :loading="loading"
+        :pagination="ipagination"
+        :row-key="record => record.id"
+        :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
+        @change="handleTableChange"
+      >
+        <!-- 集装箱号 输入框-->
+        <a-form-model
+          slot="containerNo"
+          slot-scope="text, record"
+          :ref="record.index"
+          :model="record"
+          style="width:100%;height:40px"
+        >
+          <a-form-model-item prop="containerNo">
+            <a-input style="width:100%" v-model="record.containerNo" />
+          </a-form-model-item>
+        </a-form-model>
+
+        <!-- 操作 -->
+        <span slot="operationSlot" slot-scope="text, record">
+          <a @click="accessoryUpload(record)" style="color:green;">附件上传</a>
+          <a-divider type="vertical" />
+          <a-dropdown>
+            <a class="ant-dropdown-link">更多<a-icon type="down"/></a>
+            <a-menu slot="overlay">
+              <a-menu-item><a @click="details(record)">详情</a></a-menu-item>
+              <a-menu-item><a @click="edit(record)">编辑</a></a-menu-item>
+              <a-menu-item>
+                <a-popconfirm title="确定删除吗?" ok-text="是" cancel-text="否" @confirm="handleDelete(record.id)">
+                  <a href="javascript:void(0);" style="color:red;">删除</a>
+                </a-popconfirm>
+              </a-menu-item>
+            </a-menu>
+          </a-dropdown>
+        </span>
+      </a-table>
+    </a-card>
+
+    <!-- 抽屉 -->
+    <div>
+      <addFabric-drawer ref="addFabricDrawer" :father="aa" @ok="modalFormOk"></addFabric-drawer>
+      <detailsFabric-drawer ref="detailsFabricDrawer" :father="bb" @ok="modalFormOk"></detailsFabric-drawer>
+      <editFabric-drawer ref="editFabricDrawer" :father="cc" @ok="modalFormOk"></editFabric-drawer>
+    </div>
+  </div>
+</template>
+
+<script>
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import JEllipsis from '@/components/jeecg/JEllipsis'
+import moment from 'moment'
+import addFabricDrawer from '@views/packing-list/packinglist-fabrics/addFabricDrawer.vue'
+import detailsFabricDrawer from '@views/packing-list/packinglist-fabrics/detailsFabricDrawer.vue'
+import editFabricDrawer from '@views/packing-list/packinglist-fabrics/editFabricDrawer.vue'
+
+export default {
+  name: 'FabricList', // 装箱单-面料
+  mixins: [JeecgListMixin],
+  components: { JEllipsis, moment, addFabricDrawer, detailsFabricDrawer, editFabricDrawer },
+
+  data() {
+    // let ellipsis = (v, l = 20) => <j-ellipsis value={v} length={l} />
+    return {
+      // 表头
+      fabricListColumns: [
+        {
+          title: '订单号',
+          dataIndex: 'orderNum',
+          width: 160,
+          className: 'replacecolor'
+        },
+        {
+          title: '外销发票号',
+          dataIndex: 'exportInvoiceNo',
+          width: 160,
+          className: 'replacecolor'
+        },
+        {
+          title: '集装箱号',
+          dataIndex: 'containerNo',
+          width: 140,
+          scopedSlots: { customRender: 'containerNo' },
+          className: 'replacecolor'
+        },
+
+        {
+          title: '装柜日期',
+          dataIndex: 'loadingDate ',
+          width: 120,
+          // 有问题,自动显示当日日期
+          // customRender: text => {
+          //   return moment(text).format('YYYY-MM-DD')
+          // },
+          className: 'replacecolor'
+        },
+        {
+          title: '成衣工厂',
+          dataIndex: 'clothesFactory',
+          width: 160,
+          className: 'replacecolor'
+        },
+        {
+          title: '发票号',
+          dataIndex: 'invoiceNum',
+          width: 160,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '制单人',
+          dataIndex: 'preparedBy',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '制单日期',
+          dataIndex: 'preparedDate',
+          width: 120,
+          // 有问题,自动显示当日日期
+          // customRender: text => {
+          //   return moment(text).format('YYYY-MM-DD')
+          // },
+          className: 'replacecolor'
+        },
+        {
+          title: '托书号',
+          dataIndex: 'bookNum',
+          width: 160,
+          className: 'replacecolor'
+        },
+        {
+          title: '预托书号',
+          dataIndex: 'preBookNum',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '操作',
+          dataIndex: 'operation',
+          scopedSlots: { customRender: 'operationSlot' },
+          width: 160,
+          fixed: 'right',
+          className: 'replacecolor'
+        }
+      ],
+
+      fabricListData: [{}, {}, {}],
+
+      selectedRowKeys: [], // 勾选航
+      loading: false, // 表格加载
+
+      // 查询条件
+      queryParam: {
+        orderNum: '',
+        containerNo: '', // 集装箱号
+        invoiceNum: '' // 发票号
+      },
+      url: {
+        // syncUser: '/act/process/extActProcess/doSyncUser',
+        list: '/sys/user/list',
+        // delete: '/sys/user/delete',
+        // deleteBatch: '/sys/user/deleteBatch',
+        exportXlsUrl: '/sys/user/exportXls', // 导出
+        importExcelUrl: 'sys/user/importExcel' // 导入
+      }
+    }
+  },
+  created() {
+    // this.getAdPaListClothes()
+  },
+  methods: {
+    // 查询按钮
+    searchQuery() {
+      // this.getAnnList() // 装箱单-成衣列表
+    },
+    searchReset() {
+      // console.log('>>>>重置')
+      this.queryParam = {}
+      // this.getAnnList()
+    },
+    // ------------------------------------
+    // 推送
+    push() {},
+    // 新增
+    addFabric() {
+      console.log('新增-装箱单面料')
+      this.$refs.addFabricDrawer.visible = true
+    },
+    // --------------------------------------
+    // 操作 附件上传
+    accessoryUpload() {},
+
+    // 操作 详情
+    details(record) {
+      console.log('详情', record.id)
+      this.$refs.detailsFabricDrawer.visible = true
+    },
+    // 操作 编辑
+    edit(record) {
+      console.log('编辑')
+      this.$refs.editFabricDrawer.visible = true
+    },
+    // 操作 删除
+    handleDelete() {},
+    // --------------------------------------
+    // ??
+    modalFormOk() {},
+    // 选中行
+    onSelectChange(keys, rows) {
+      this.selectedRowKeys = keys
+      this.selectedRows = rows
+    },
+    // --------------------------------------
+    aa() {},
+    bb() {},
+    cc() {}
+    // 分页、排序、筛选变化时触发
+    // handleTableChange(pagination, filters, sorter) {
+    //   // console.log('当前页信息>>>>',pagination)
+    //   this.queryParam.pageNo = pagination.current
+    //   // this.getAnnList()
+    // }
+  },
+  computed: {
+    // 选中项
+    rowSelection() {
+      return {
+        onChange: (selectedRowKeys, selectedRows) => {
+          console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows)
+        },
+        getCheckboxProps: record => ({
+          props: {
+            disabled: record.title === 'Disabled User',
+            // Column configuration not to be checked
+            title: record.title
+          }
+        })
+      }
+    }
+  },
+  mounted() {}
+}
+</script>
+<style lang="less" scoped>
+@import '~@assets/less/common.less';
+@import '~@assets/less/overwriter.less';
+/deep/ .ant-table-thead > tr > th {
+  text-align: center;
+  // font-weight: 700;
+}
+
+/deep/ .ant-table-tbody {
+  text-align: center;
+}
+
+// /deep/ th.replacecolor {
+//   background-color: #ccc;
+// }
+</style>

+ 525 - 0
src/views/packing-list/packinglist-fabrics/addFabricDrawer.vue

@@ -0,0 +1,525 @@
+<template>
+  <!-- 新增面料 装箱单  -->
+  <div id="addFabricDrawer">
+    <a-drawer
+      title="新增面料"
+      width="89%"
+      placement="right"
+      :closable="true"
+      :visible="visible"
+      @close="handleCancel">
+      <!-- 主表信息 填写-->
+      <a-card :bordered="true">
+        <div class="table-page-search-wrapper">
+          <a-form-model layout="inline" ref="form" :model="addFabric" :rules="validatorRules">
+            <a-row :gutter="24">
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="单号" prop="oddNum">
+                  <a-input placeholder="请输入单号" v-model="addFabric.oddNum"></a-input>
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="集装箱号" prop="styleNum">
+                  <a-input placeholder="请输入集装箱号" v-model="addFabric.containerNo"></a-input>
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="装柜日期" prop="loadingDate">
+                  <a-date-picker
+                    placeholder="请选择装柜日期"
+                    :format="dateFormat"
+                    style="width: 100%"
+                    v-model="addFabric.loadingDate"
+                  />
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="成衣工厂" prop="clothesFactory">
+                  <a-input placeholder="请输入成衣工厂" v-model="addFabric.clothesFactory"></a-input>
+                  <!-- <a-select placeholder="请选择成衣工厂">
+                <a-select-option value="">请选择</a-select-option>
+                <a-select-option value="0">成衣工厂1</a-select-option>
+                <a-select-option value="1">成衣工厂2</a-select-option>
+                <a-select-option value="2">成衣工厂3</a-select-option>
+              </a-select> -->
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="发票号" prop="invoiceNum">
+                  <a-input placeholder="请输入发票号" v-model="addFabric.invoiceNum"></a-input>
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="制单人" prop="preparedBy">
+                  <a-input placeholder="请输入制单人" v-model="addFabric.preparedBy"></a-input>
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="制单日期" prop="preparedDate">
+                  <a-date-picker
+                    placeholder="请选择制单日期"
+                    :format="dateFormat"
+                    style="width: 100%"
+                    v-model="addFabric.preparedDate"
+                  />
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="外销发票号" prop="exportInvoiceNo">
+                  <a-input placeholder="请输入外销发票号" v-model="addFabric.exportInvoiceNo"></a-input>
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="托书号" prop="bookNum">
+                  <a-input placeholder="请输入托书号" v-model="addFabric.bookNum"></a-input>
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="备注" prop="note">
+                  <a-input placeholder="请输入备注" v-model="addFabric.note"></a-input>
+                </a-form-model-item>
+              </a-col>
+            </a-row>
+          </a-form-model>
+        </div>
+      </a-card>
+
+      <!--操作按钮区域 参照发运明细 増行-->
+      <a-card :bordered="true" style="margin:10px 0 60px 0;">
+        <div class="table-operator">
+          <a-button type="primary" @click="referadvancePackingList" icon="ordered-list">参照发运明细</a-button>
+          <a-button type="primary" @click="handleAddColumn" icon="plus" style="margin-left: 20px">増行</a-button>
+        </div>
+
+        <!-- 子表   -->
+        <a-spin :spinning="confirmLoading">
+          <a-form-model ref="formRef" :rules="validatorRules">
+            <a-table
+              bordered
+              :row-key="record => record.id"
+              :columns="addFabricColumns"
+              :data-source="addFabricData"
+              :loading="loading"
+              :pagination="ipagination"
+              :scroll="{ x: 1500 }"
+              @change="handleTableChange"
+            >
+              <!-- 操作 -->
+              <span slot="operationSlot" slot-scope="text, record">
+                <a-popconfirm title="确定删除吗?" ok-text="是" cancel-text="否" @confirm="handleDelete(record.id)">
+                  <a href="javascript:void(0);" style="color:red;">删除</a>
+                </a-popconfirm>
+              </span>
+            </a-table>
+          </a-form-model>
+        </a-spin>
+      </a-card>
+      <!-- 页面底部提交取消 -->
+      <div
+        :style="{
+          position: 'absolute',
+          right: 0,
+          bottom: 0,
+          width: '100%',
+          borderTop: '1px solid #e9e9e9',
+          padding: '10px 16px',
+          background: '#fff',
+          textAlign: 'right',
+          zIndex: 1
+        }"
+      >
+        <a-popconfirm title="确定放弃新增?" @confirm="handleCancel" okText="确定" cancelText="取消">
+          <a-button :style="{ marginRight: '8px' }">取消</a-button>
+        </a-popconfirm>
+        <a-button type="primary" @click="submitAdd">
+          提交
+        </a-button>
+      </div>
+    </a-drawer>
+
+    <!-- 参照发运明细弹框 -->
+    <referShipDetails-modal ref="referShipDetailsModal" :father="aa" @ok="modalFormOk"></referShipDetails-modal>
+  </div>
+</template>
+
+<script>
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import JEllipsis from '@/components/jeecg/JEllipsis'
+import referShipDetailsModal from '@views/packing-list/packinglist-fabrics/referShipDetailsModal.vue'
+
+export default {
+  name: 'AddFabricDrawer', //  新增 装箱单 -面料
+  mixins: [JeecgListMixin],
+  computed: {},
+  components: { JEllipsis, referShipDetailsModal }, // 参照发运明细 弹框
+  data() {
+    let ellipsis = (v, l = 20) => <j-ellipsis value={v} length={l} />
+    return {
+      // 表头
+      addFabricColumns: [
+        {
+          title: '业务员 Merchandiser',
+          dataIndex: 'merchandiser',
+          width: 120,
+          fixed: 'left',
+          className: 'replacecolor'
+        },
+        {
+          title: '计划单号',
+          dataIndex: 'planNum',
+          width: 160,
+          fixed: 'left',
+          className: 'replacecolor'
+        },
+        {
+          title: '款号/Kimball',
+          dataIndex: 'Kimball',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '缸号/Batch no.',
+          dataIndex: 'batchNo',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '颜色/Color',
+          dataIndex: 'color',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '项目/Item(存货编码)',
+          dataIndex: 'itemCode',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '存货名称(辅料名称)',
+          dataIndex: 'inventoryName',
+          width: 160,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '报关品名',
+          dataIndex: 'declarationName',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '成分/Composition',
+          dataIndex: 'composition',
+          width: 150,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '门幅/Width',
+          dataIndex: 'larghezza',
+          width: 140,
+          className: 'replacecolor'
+        },
+        {
+          title: '匹数/Rolls',
+          dataIndex: 'rolls',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '毛重/GW/kg',
+          dataIndex: 'roughWeigh',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '净重/NW/kg',
+          dataIndex: 'suttle',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '染后重',
+          dataIndex: 'postDyeingWweight',
+          width: 90,
+          className: 'replacecolor'
+        },
+        {
+          title: '拷布重',
+          dataIndex: 'clothWeight',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '米数/Length/m',
+          dataIndex: '米数',
+          width: 130,
+          className: 'replacecolor'
+        },
+        {
+          title: '价格',
+          dataIndex: 'price',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '克重/G',
+          dataIndex: 'gramWeight',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '供应商编码(染厂)',
+          dataIndex: 'supplierCodeDye',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '供应商(染厂)',
+          dataIndex: 'supplierDye',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '供应商编码(印厂)',
+          dataIndex: 'supplierCodePrint',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '供应商(印厂)',
+          dataIndex: 'supplierPrint',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '包装方式',
+          dataIndex: 'packingWay ',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '处理方式',
+          dataIndex: 'treatmentMethod',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '是否手册纱',
+          dataIndex: 'isManualYarn',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '手册纱单价',
+          dataIndex: 'manualYarnPrice',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '柜号',
+          dataIndex: 'containerNum',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '备注',
+          dataIndex: 'note',
+          width: 160,
+          customRender: t => ellipsis(t),
+          className: 'replacecolor'
+        },
+        {
+          title: '入库数量',
+          dataIndex: 'inQuantity',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '规格型号',
+          dataIndex: 'specificationsModels',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '实际报关数量',
+          dataIndex: 'actualDeclaredQuantity',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '超发',
+          dataIndex: 'superHair',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '单位',
+          dataIndex: 'unit',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '备注(U8)',
+          dataIndex: 'noteU8',
+          width: 160,
+          fixed: 'right',
+          customRender: t => ellipsis(t),
+          className: 'replacecolor'
+        },
+
+        {
+          title: '操作',
+          dataIndex: 'operation',
+          scopedSlots: { customRender: 'operationSlot' },
+          width: 120,
+          fixed: 'right',
+          className: 'replacecolor'
+        }
+      ],
+      addFabricData: [{}, {}, {}],
+      loading: false, // 表格加载
+      addFabric: {},
+      visible: false,
+      confirmLoading: false,
+      validatorRules: {
+        oddNum: [{ required: true, message: '单号不能为空', trigger: 'blur' }],
+        containerNo: [{ required: true, message: '款号不能为空', trigger: 'blur' }]
+        // 待确定还有哪些必填信息
+      },
+      dateFormat: 'YYYY-MM-DD'
+    }
+  },
+  created() {},
+  mounted() {},
+  methods: {
+    // 参照发运明细 弹框
+    referadvancePackingList() {
+      console.log('打开参照发运明细 弹框')
+      this.$refs.referShipDetailsModal.referShipDetailsModVis = true
+    },
+    // 増行
+    handleAddColumn() {
+      console.log('増行')
+      const addrow = {
+        accountSet: '',
+        clothesFactory: '',
+        hod: '',
+        styleNo: '',
+        poNo: '',
+        itemNo: '',
+        dcLabel: '',
+        s: '',
+        m: '',
+        l: '',
+        xl: '',
+        xxl: '',
+        xxxl: '',
+        inceptionBoxNo: '',
+        endBoxNo: '',
+        colorChUsa: '',
+        configCode: '',
+        packagesBox: '',
+        boxes: '',
+        totalPackagesNum: '',
+        suttle: '',
+        totalSuttle: '',
+        roughWeight: '',
+        totalRoughWeigh: '',
+        boxLength: '',
+        boxWidth: '',
+        boxHeight: '',
+        totalVolume: '',
+        netNetWeight: '',
+        price: '',
+        totalPrices: '',
+        note: '',
+        operation: ''
+      }
+      this.addFabricData.push(addrow)
+    },
+
+    // -------------------------------------
+    // 操作 删除
+    handleDelete(id) {
+      console.log('id:', id)
+    },
+    // -------------------------------------
+
+    // 抽屉 取消
+    handleCancel() {
+      console.log('点击抽屉取消')
+      this.close()
+    },
+    // 抽屉 提交
+    submitAdd() {
+      console.log('保存新增、刷新装箱单-面料')
+      const that = this
+      // 触发表单验证
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          that.confirmLoading = true
+        }
+      })
+      this.close()
+      // this.getShipmentList() // 刷新 装箱单-面料
+    },
+
+    // -------------------------------------
+    close() {
+      this.$emit('close')
+      this.visible = false
+      this.$refs.form.resetFields()
+    },
+    // - father------------------------------------
+    aa() {},
+    modalFormOk() {}
+
+    // 分页、排序、筛选变化时触发
+    // handleTableChange(pagination, filters, sorter) {
+    //   // console.log('当前页信息>>>>',pagination)
+    //   this.queryParam.pageNo = pagination.current
+    //   this.getAnnList()
+    // }'
+  }
+}
+</script>
+
+<style lang="less" scoped>
+@import '~@assets/less/common.less';
+@import '~@assets/less/overwriter.less';
+/deep/ .ant-table-thead > tr > th {
+  text-align: center;
+  // font-weight: 700;
+}
+
+/deep/ .ant-table-tbody {
+  text-align: center;
+}
+
+// /deep/ th.replacecolor {
+//   background-color: #ccc;
+// }
+
+// 抽屉里的card样式
+/deep/ .ant-drawer-content {
+  background-color: #f0f2f5;
+}
+/deep/ .ant-drawer-body {
+  padding: 10px;
+}
+</style>

+ 408 - 0
src/views/packing-list/packinglist-fabrics/detailsFabricDrawer.vue

@@ -0,0 +1,408 @@
+<template>
+  <!-- 详情 回显所有信息 面料 装箱单  -->
+  <div id="addFabricDrawer">
+    <a-drawer
+      title="详情"
+      width="89%"
+      placement="right"
+      :closable="true"
+      :visible="visible"
+      @close="handleCancel">
+      <!-- 主表信息 填写-->
+      <a-card :bordered="true">
+        <div class="table-page-search-wrapper">
+          <a-form-model layout="inline" ref="form" :model="editFabric">
+            <a-row :gutter="24">
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="单号" prop="oddNum">
+                  YT67889
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="集装箱号" prop="styleNum">
+                  <!-- <a-input placeholder="请输入集装箱号" v-model="editFabric.containerNo"></a-input> -->
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="装柜日期" prop="loadingDate">
+                  <!-- <a-date-picker
+                    placeholder="请选择装柜日期"
+                    :format="dateFormat"
+                    style="width: 100%"
+                    v-model="editFabric.loadingDate"
+                  /> -->
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="成衣工厂" prop="clothesFactory">
+                  <!-- <a-input placeholder="请输入成衣工厂" v-model="editFabric.clothesFactory"></a-input> -->
+                  <!-- <a-select placeholder="请选择成衣工厂">
+                <a-select-option value="">请选择</a-select-option>
+                <a-select-option value="0">成衣工厂1</a-select-option>
+                <a-select-option value="1">成衣工厂2</a-select-option>
+                <a-select-option value="2">成衣工厂3</a-select-option>
+              </a-select> -->
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="发票号" prop="invoiceNum">
+                  <!-- <a-input placeholder="请输入发票号" v-model="editFabric.invoiceNum"></a-input> -->
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="制单人" prop="preparedBy">
+                  <!-- <a-input placeholder="请输入制单人" v-model="editFabric.preparedBy"></a-input> -->
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="制单日期" prop="preparedDate">
+                  <!-- <a-date-picker
+                    placeholder="请选择制单日期"
+                    :format="dateFormat"
+                    style="width: 100%"
+                    v-model="editFabric.preparedDate"
+                  /> -->
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="外销发票号" prop="exportInvoiceNo">
+                  <!-- <a-input placeholder="请输入外销发票号" v-model="editFabric.exportInvoiceNo"></a-input> -->
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="托书号" prop="bookNum">
+                  <!-- <a-input placeholder="请输入托书号" v-model="editFabric.bookNum"></a-input> -->
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="备注" prop="note">
+                  <!-- <a-input placeholder="请输入备注" v-model="editFabric.note"></a-input> -->
+                </a-form-model-item>
+              </a-col>
+            </a-row>
+          </a-form-model>
+        </div>
+      </a-card>
+
+      <!-- 子表   -->
+      <a-card :bordered="true" style="margin:10px 0 60px 0;">
+        <a-spin :spinning="confirmLoading">
+          <a-form-model ref="formRef">
+            <a-table
+              bordered
+              :row-key="record => record.id"
+              :columns="columns"
+              :data-source="data"
+              :loading="loading"
+              :pagination="ipagination"
+              :scroll="{ x: 1500 }"
+              @change="handleTableChange"
+            >
+            </a-table>
+          </a-form-model>
+        </a-spin>
+      </a-card>
+    </a-drawer>
+  </div>
+</template>
+
+<script>
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import JEllipsis from '@/components/jeecg/JEllipsis'
+
+export default {
+  name: 'AddFabricDrawer', //  详情 装箱单 -面料
+  mixins: [JeecgListMixin],
+  computed: {},
+  components: { JEllipsis },
+  data() {
+    let ellipsis = (v, l = 20) => <j-ellipsis value={v} length={l} />
+    return {
+      // 表头
+      columns: [
+        {
+          title: '业务员 Merchandiser',
+          dataIndex: 'merchandiser',
+          width: 120,
+          fixed: 'left',
+          className: 'replacecolor'
+        },
+        {
+          title: '计划单号',
+          dataIndex: 'planNum',
+          width: 160,
+          fixed: 'left',
+          className: 'replacecolor'
+        },
+        {
+          title: '款号/Kimball',
+          dataIndex: 'Kimball',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '缸号/Batch no.',
+          dataIndex: 'batchNo',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '颜色/Color',
+          dataIndex: 'color',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '项目/Item(存货编码)',
+          dataIndex: 'itemCode',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '存货名称(辅料名称)',
+          dataIndex: 'inventoryName',
+          width: 160,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '报关品名',
+          dataIndex: 'declarationName',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '成分/Composition',
+          dataIndex: 'composition',
+          width: 150,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '门幅/Width',
+          dataIndex: 'larghezza',
+          width: 140,
+          className: 'replacecolor'
+        },
+        {
+          title: '匹数/Rolls',
+          dataIndex: 'rolls',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '毛重/GW/kg',
+          dataIndex: 'roughWeigh',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '净重/NW/kg',
+          dataIndex: 'suttle',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '染后重',
+          dataIndex: 'postDyeingWweight',
+          width: 90,
+          className: 'replacecolor'
+        },
+        {
+          title: '拷布重',
+          dataIndex: 'clothWeight',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '米数/Length/m',
+          dataIndex: '米数',
+          width: 130,
+          className: 'replacecolor'
+        },
+        {
+          title: '价格',
+          dataIndex: 'price',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '克重/G',
+          dataIndex: 'gramWeight',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '供应商编码(染厂)',
+          dataIndex: 'supplierCodeDye',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '供应商(染厂)',
+          dataIndex: 'supplierDye',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '供应商编码(印厂)',
+          dataIndex: 'supplierCodePrint',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '供应商(印厂)',
+          dataIndex: 'supplierPrint',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '包装方式',
+          dataIndex: 'packingWay ',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '处理方式',
+          dataIndex: 'treatmentMethod',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '是否手册纱',
+          dataIndex: 'isManualYarn',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '手册纱单价',
+          dataIndex: 'manualYarnPrice',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '柜号',
+          dataIndex: 'containerNum',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '备注',
+          dataIndex: 'note',
+          width: 160,
+          customRender: t => ellipsis(t),
+          className: 'replacecolor'
+        },
+        {
+          title: '入库数量',
+          dataIndex: 'inQuantity',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '规格型号',
+          dataIndex: 'specificationsModels',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '实际报关数量',
+          dataIndex: 'actualDeclaredQuantity',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '超发',
+          dataIndex: 'superHair',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '单位',
+          dataIndex: 'unit',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '备注(U8)',
+          dataIndex: 'noteU8',
+          width: 160,
+          fixed: 'right',
+          customRender: t => ellipsis(t),
+          className: 'replacecolor'
+        }
+      ],
+      data: [{}, {}, {}],
+      loading: false, // 表格加载
+      editFabric: {},
+      visible: false,
+      confirmLoading: false,
+      dateFormat: 'YYYY-MM-DD'
+    }
+  },
+  created() {},
+  mounted() {},
+  methods: {
+    // 抽屉 取消
+    handleCancel() {
+      console.log('点击抽屉取消')
+      this.close()
+    },
+
+    // -------------------------------------
+    close() {
+      this.$emit('close')
+      this.visible = false
+      this.$refs.form.resetFields()
+    },
+    // - father------------------------------------
+    aa() {},
+    modalFormOk() {}
+
+    // 分页、排序、筛选变化时触发
+    // handleTableChange(pagination, filters, sorter) {
+    //   // console.log('当前页信息>>>>',pagination)
+    //   this.queryParam.pageNo = pagination.current
+    //   this.getAnnList()
+    // }'
+  }
+}
+</script>
+
+<style lang="less" scoped>
+@import '~@assets/less/common.less';
+@import '~@assets/less/overwriter.less';
+/deep/ .ant-table-thead > tr > th {
+  text-align: center;
+  // font-weight: 700;
+}
+
+/deep/ .ant-table-tbody {
+  text-align: center;
+}
+
+// /deep/ th.replacecolor {
+//   background-color: #ccc;
+// }
+
+// 抽屉里的card样式
+/deep/ .ant-drawer-content {
+  background-color: #f0f2f5;
+}
+/deep/ .ant-drawer-body {
+  padding: 10px;
+}
+</style>

+ 525 - 0
src/views/packing-list/packinglist-fabrics/editFabricDrawer.vue

@@ -0,0 +1,525 @@
+<template>
+  <!-- 编辑 回显 可编辑的 面料 装箱单  -->
+  <div id="addFabricDrawer">
+    <a-drawer
+      title="编辑"
+      width="89%"
+      placement="right"
+      :closable="true"
+      :visible="visible"
+      @close="handleCancel">
+      <!-- 主表信息 填写-->
+      <a-card :bordered="true">
+        <div class="table-page-search-wrapper">
+          <a-form-model layout="inline" ref="form" :model="editFabric" :rules="validatorRules">
+            <a-row :gutter="24">
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="单号" prop="oddNum">
+                  <a-input>YT67889</a-input>
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="集装箱号" prop="styleNum">
+                  <a-input placeholder="请输入集装箱号" v-model="editFabric.containerNo"></a-input>
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="装柜日期" prop="loadingDate">
+                  <a-date-picker
+                    placeholder="请选择装柜日期"
+                    :format="dateFormat"
+                    style="width: 100%"
+                    v-model="editFabric.loadingDate"
+                  />
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="成衣工厂" prop="clothesFactory">
+                  <a-input placeholder="请输入成衣工厂" v-model="editFabric.clothesFactory"></a-input>
+                  <!-- <a-select placeholder="请选择成衣工厂">
+                <a-select-option value="">请选择</a-select-option>
+                <a-select-option value="0">成衣工厂1</a-select-option>
+                <a-select-option value="1">成衣工厂2</a-select-option>
+                <a-select-option value="2">成衣工厂3</a-select-option>
+              </a-select> -->
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="发票号" prop="invoiceNum">
+                  <a-input placeholder="请输入发票号" v-model="editFabric.invoiceNum"></a-input>
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="制单人" prop="preparedBy">
+                  <a-input placeholder="请输入制单人" v-model="editFabric.preparedBy"></a-input>
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="制单日期" prop="preparedDate">
+                  <a-date-picker
+                    placeholder="请选择制单日期"
+                    :format="dateFormat"
+                    style="width: 100%"
+                    v-model="editFabric.preparedDate"
+                  />
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="外销发票号" prop="exportInvoiceNo">
+                  <a-input placeholder="请输入外销发票号" v-model="editFabric.exportInvoiceNo"></a-input>
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="托书号" prop="bookNum">
+                  <a-input placeholder="请输入托书号" v-model="editFabric.bookNum"></a-input>
+                </a-form-model-item>
+              </a-col>
+
+              <a-col :md="6" :sm="8">
+                <a-form-model-item label="备注" prop="note">
+                  <a-input placeholder="请输入备注" v-model="editFabric.note"></a-input>
+                </a-form-model-item>
+              </a-col>
+            </a-row>
+          </a-form-model>
+        </div>
+      </a-card>
+
+      <!--操作按钮区域 参照发运明细 増行-->
+      <a-card :bordered="true" style="margin:10px 0 60px 0;">
+        <div class="table-operator">
+          <a-button type="primary" @click="referadvancePackingList" icon="ordered-list">参照发运明细</a-button>
+          <a-button type="primary" @click="handleAddColumn" icon="plus" style="margin-left: 20px">増行</a-button>
+        </div>
+
+        <!-- 子表   -->
+        <a-spin :spinning="confirmLoading">
+          <a-form-model ref="formRef" :rules="validatorRules">
+            <a-table
+              bordered
+              :row-key="record => record.id"
+              :columns="columns"
+              :data-source="data"
+              :loading="loading"
+              :pagination="ipagination"
+              :scroll="{ x: 1500 }"
+              @change="handleTableChange"
+            >
+              <!-- 操作 -->
+              <span slot="operationSlot" slot-scope="text, record">
+                <a-popconfirm title="确定删除吗?" ok-text="是" cancel-text="否" @confirm="handleDelete(record.id)">
+                  <a href="javascript:void(0);" style="color:red;">删除</a>
+                </a-popconfirm>
+              </span>
+            </a-table>
+          </a-form-model>
+        </a-spin>
+      </a-card>
+      <!-- 页面底部提交取消 -->
+      <div
+        :style="{
+          position: 'absolute',
+          right: 0,
+          bottom: 0,
+          width: '100%',
+          borderTop: '1px solid #e9e9e9',
+          padding: '10px 16px',
+          background: '#fff',
+          textAlign: 'right',
+          zIndex: 1
+        }"
+      >
+        <a-popconfirm title="确定放弃编辑?" @confirm="handleCancel" okText="确定" cancelText="取消">
+          <a-button :style="{ marginRight: '8px' }">取消</a-button>
+        </a-popconfirm>
+        <a-button type="primary" @click="submitAdd">
+          提交
+        </a-button>
+      </div>
+    </a-drawer>
+
+    <!-- 参照发运明细弹框 -->
+    <referShipDetails-modal ref="referShipDetailsModal" :father="aa" @ok="modalFormOk"></referShipDetails-modal>
+  </div>
+</template>
+
+<script>
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import JEllipsis from '@/components/jeecg/JEllipsis'
+import referShipDetailsModal from '@views/packing-list/packinglist-fabrics/referShipDetailsModal.vue'
+
+export default {
+  name: 'AddFabricDrawer', //  新增 装箱单 -面料
+  mixins: [JeecgListMixin],
+  computed: {},
+  components: { JEllipsis, referShipDetailsModal }, // 参照发运明细 弹框
+  data() {
+    let ellipsis = (v, l = 20) => <j-ellipsis value={v} length={l} />
+    return {
+      // 表头
+      columns: [
+        {
+          title: '业务员 Merchandiser',
+          dataIndex: 'merchandiser',
+          width: 120,
+          fixed: 'left',
+          className: 'replacecolor'
+        },
+        {
+          title: '计划单号',
+          dataIndex: 'planNum',
+          width: 160,
+          fixed: 'left',
+          className: 'replacecolor'
+        },
+        {
+          title: '款号/Kimball',
+          dataIndex: 'Kimball',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '缸号/Batch no.',
+          dataIndex: 'batchNo',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '颜色/Color',
+          dataIndex: 'color',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '项目/Item(存货编码)',
+          dataIndex: 'itemCode',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '存货名称(辅料名称)',
+          dataIndex: 'inventoryName',
+          width: 160,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '报关品名',
+          dataIndex: 'declarationName',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '成分/Composition',
+          dataIndex: 'composition',
+          width: 150,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '门幅/Width',
+          dataIndex: 'larghezza',
+          width: 140,
+          className: 'replacecolor'
+        },
+        {
+          title: '匹数/Rolls',
+          dataIndex: 'rolls',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '毛重/GW/kg',
+          dataIndex: 'roughWeigh',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '净重/NW/kg',
+          dataIndex: 'suttle',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '染后重',
+          dataIndex: 'postDyeingWweight',
+          width: 90,
+          className: 'replacecolor'
+        },
+        {
+          title: '拷布重',
+          dataIndex: 'clothWeight',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '米数/Length/m',
+          dataIndex: '米数',
+          width: 130,
+          className: 'replacecolor'
+        },
+        {
+          title: '价格',
+          dataIndex: 'price',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '克重/G',
+          dataIndex: 'gramWeight',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '供应商编码(染厂)',
+          dataIndex: 'supplierCodeDye',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '供应商(染厂)',
+          dataIndex: 'supplierDye',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '供应商编码(印厂)',
+          dataIndex: 'supplierCodePrint',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '供应商(印厂)',
+          dataIndex: 'supplierPrint',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '包装方式',
+          dataIndex: 'packingWay ',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '处理方式',
+          dataIndex: 'treatmentMethod',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '是否手册纱',
+          dataIndex: 'isManualYarn',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '手册纱单价',
+          dataIndex: 'manualYarnPrice',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '柜号',
+          dataIndex: 'containerNum',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '备注',
+          dataIndex: 'note',
+          width: 160,
+          customRender: t => ellipsis(t),
+          className: 'replacecolor'
+        },
+        {
+          title: '入库数量',
+          dataIndex: 'inQuantity',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '规格型号',
+          dataIndex: 'specificationsModels',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '实际报关数量',
+          dataIndex: 'actualDeclaredQuantity',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '超发',
+          dataIndex: 'superHair',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '单位',
+          dataIndex: 'unit',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '备注(U8)',
+          dataIndex: 'noteU8',
+          width: 160,
+          fixed: 'right',
+          customRender: t => ellipsis(t),
+          className: 'replacecolor'
+        },
+
+        {
+          title: '操作',
+          dataIndex: 'operation',
+          scopedSlots: { customRender: 'operationSlot' },
+          width: 120,
+          fixed: 'right',
+          className: 'replacecolor'
+        }
+      ],
+      data: [{}, {}, {}],
+      loading: false, // 表格加载
+      editFabric: {},
+      visible: false,
+      confirmLoading: false,
+      validatorRules: {
+        oddNum: [{ required: true, message: '单号不能为空', trigger: 'blur' }],
+        containerNo: [{ required: true, message: '款号不能为空', trigger: 'blur' }]
+        // 待确定还有哪些必填信息
+      },
+      dateFormat: 'YYYY-MM-DD'
+    }
+  },
+  created() {},
+  mounted() {},
+  methods: {
+    // 参照发运明细 弹框
+    referadvancePackingList() {
+      console.log('打开参照发运明细 弹框')
+      this.$refs.referShipDetailsModal.referShipDetailsModVis = true
+    },
+    // 増行
+    handleAddColumn() {
+      console.log('増行')
+      const addrow = {
+        accountSet: '',
+        clothesFactory: '',
+        hod: '',
+        styleNo: '',
+        poNo: '',
+        itemNo: '',
+        dcLabel: '',
+        s: '',
+        m: '',
+        l: '',
+        xl: '',
+        xxl: '',
+        xxxl: '',
+        inceptionBoxNo: '',
+        endBoxNo: '',
+        colorChUsa: '',
+        configCode: '',
+        packagesBox: '',
+        boxes: '',
+        totalPackagesNum: '',
+        suttle: '',
+        totalSuttle: '',
+        roughWeight: '',
+        totalRoughWeigh: '',
+        boxLength: '',
+        boxWidth: '',
+        boxHeight: '',
+        totalVolume: '',
+        netNetWeight: '',
+        price: '',
+        totalPrices: '',
+        note: '',
+        operation: ''
+      }
+      this.data.push(addrow)
+    },
+
+    // -------------------------------------
+    // 操作 删除
+    handleDelete(id) {
+      console.log('id:', id)
+    },
+
+    // -------------------------------------
+    // 抽屉 取消
+    handleCancel() {
+      console.log('点击抽屉取消')
+      this.close()
+    },
+    // 抽屉 提交
+    submitAdd() {
+      console.log('保存新增、刷新装箱单-面料')
+      const that = this
+      // 触发表单验证
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          that.confirmLoading = true
+        }
+      })
+      this.close()
+      // this.getShipmentList() // 刷新 装箱单-面料
+    },
+
+    // -------------------------------------
+    close() {
+      this.$emit('close')
+      this.visible = false
+      this.$refs.form.resetFields()
+    },
+    // - father------------------------------------
+    aa() {},
+    modalFormOk() {}
+
+    // 分页、排序、筛选变化时触发
+    // handleTableChange(pagination, filters, sorter) {
+    //   // console.log('当前页信息>>>>',pagination)
+    //   this.queryParam.pageNo = pagination.current
+    //   this.getAnnList()
+    // }'
+  }
+}
+</script>
+
+<style lang="less" scoped>
+@import '~@assets/less/common.less';
+@import '~@assets/less/overwriter.less';
+/deep/ .ant-table-thead > tr > th {
+  text-align: center;
+  // font-weight: 700;
+}
+
+/deep/ .ant-table-tbody {
+  text-align: center;
+}
+
+// /deep/ th.replacecolor {
+//   background-color: #ccc;
+// }
+
+// 抽屉里的card样式
+/deep/ .ant-drawer-content {
+  background-color: #f0f2f5;
+}
+/deep/ .ant-drawer-body {
+  padding: 10px;
+}
+</style>

+ 328 - 0
src/views/packing-list/packinglist-fabrics/referShipDetailsModal.vue

@@ -0,0 +1,328 @@
+<template>
+  <!-- 装箱单 新增面料 -->
+  <a-modal
+    title="参照发运明细"
+    v-model="referShipDetailsModVis"
+    :confirmLoading="confirmLoading"
+    @ok="onSubmit"
+    @cancel="handleCancel"
+    width="86%"
+    style="top:330px;left:100px;"
+  >
+
+    <a-spin :spinning="confirmLoading">
+      <!-- 查询  -->
+      <div class="table-page-search-wrapper">
+        <a-form layout="inline" @keyup.enter.native="searchQuery">
+          <a-row :gutter="24">
+            <a-col :md="6" :sm="8">
+              <a-form-item label="订单号">
+                <a-input placeholder="请输入订单号" v-model="queryParam.orderNum"></a-input>
+              </a-form-item>
+            </a-col>
+
+            <a-col :md="6" :sm="8">
+              <a-form-item label="品名">
+                <a-input placeholder="请输入品名" v-model="queryParam.name"></a-input>
+              </a-form-item>
+            </a-col>
+
+            <a-col :md="6" :sm="8">
+              <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
+                <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
+                <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
+                <a @click="handleToggleSearch" style="margin-left: 8px">
+                  {{ toggleSearchStatus ? '收起' : '展开' }}
+                  <a-icon :type="toggleSearchStatus ? 'up' : 'down'" />
+                </a>
+              </span>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+
+      <!-- table -->
+      <a-table
+        :columns="referShipDetailsColumns"
+        :data-source="referShipDetailsData"
+        :loading="loading"
+        :pagination="ipagination"
+        :row-key="record => record.id"
+        :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
+        @change="handleTableChange"
+        bordered
+        :scroll="{ x: 1500 }"
+      >
+      </a-table>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import JEllipsis from '@/components/jeecg/JEllipsis'
+import moment from 'moment'
+export default {
+  name: 'ReferShipmentDetailsModal',
+  mixins: [JeecgListMixin],
+  components: { JEllipsis, moment },
+
+  data() {
+    let ellipsis = (v, l = 20) => <j-ellipsis value={v} length={l} /> // 省略
+    return {
+      selectedRowKeys: [], // 勾选航
+      loading: false, // 表格加载
+      // 表头
+      referShipDetailsColumns: [
+        {
+          title: '单据号',
+          dataIndex: 'documentNum',
+          width: 120,
+          fixed: 'left',
+          className: 'replacecolor'
+        },
+        {
+          title: '销售订单号',
+          dataIndex: 'saleOrderNo',
+          width: 120,
+          fixed: 'left',
+          className: 'replacecolor'
+        },
+
+        {
+          title: '客户简称',
+          dataIndex: 'customerShortName',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '部门',
+          dataIndex: 'department',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '业务员',
+          dataIndex: 'salesman',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '小po',
+          dataIndex: 'smallPo',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: 'Pack Id',
+          dataIndex: 'packId',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '分销点',
+          dataIndex: 'distributionPoint',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '款号',
+          dataIndex: 'styleNum',
+          width: 120,
+          className: 'replacecolor'
+        },
+        //         {
+        //   title: '创建时间',
+        //   dataIndex: 'createTime',
+        //   align: 'center',
+        //   sorter: true,
+        //   customRender: text => {
+        //     return moment(text).format('YYYY-MM-DD')
+        //   }
+        // },
+        {
+          title: '预发货日期',
+          dataIndex: 'scheduledShipDate',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '计划到货日期',
+          dataIndex: 'plannedArrivalDate',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '存货名称',
+          dataIndex: 'inventoryName',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '数量(合计)',
+          dataIndex: 'quantity',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '单价(销售)',
+          dataIndex: 'price',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '采购/委外订单号',
+          dataIndex: 'purchaseAboardOrderNum',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '订单类型',
+          dataIndex: 'orderType',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '工厂单价(采购/委外单价)',
+          dataIndex: 'factoryPrice',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '申报要素(单证维护)',
+          dataIndex: 'declareElements',
+          width: 140,
+          customRender: t => ellipsis(t),
+          className: 'replacecolor'
+        },
+
+        {
+          title: '套装件数(存货自定义项)',
+          dataIndex: 'suitQuantity',
+          width: 120,
+
+          className: 'replacecolor'
+        },
+        {
+          title: '是否TC',
+          dataIndex: 'isTC',
+          width: 90,
+          className: 'replacecolor'
+        },
+        {
+          title: 'HScode',
+          dataIndex: 'HScode',
+          width: 120,
+          className: 'replacecolor'
+        },
+
+        {
+          title: '中文品名',
+          dataIndex: 'chineseProName',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '英文品名',
+          dataIndex: 'englishProName',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '成衣工厂',
+          dataIndex: 'clothesFactory',
+          width: 120,
+          className: 'replacecolor'
+        },
+        {
+          title: '报关单价',
+          dataIndex: 'declarationPrice',
+          width: 120,
+          className: 'replacecolor'
+        }
+      ],
+      referShipDetailsData: [{}, {}, {}],
+      confirmLoading: false,
+      referShipDetailsModVis: false,
+
+      // 查询条件
+      queryParam: {
+        orderNum: '',
+        name: ''
+      }
+    }
+  },
+  // 接收父组件 方法
+  props: {
+    father: {
+      type: Function,
+      default: null
+    }
+  },
+  created() {},
+  methods: {
+    // 弹框查询按钮
+    searchQuery() {},
+    // 重置
+    searchReset() {
+      this.queryParam = {}
+      // this.getShipmentList()
+    },
+    // 弹框确定
+    onSubmit() {},
+    close() {
+      this.$emit('close')
+      this.visible = false
+    },
+    handleCancel() {
+      this.close()
+    },
+    // 选中行
+    onSelectChange(keys, rows) {
+      this.selectedRowKeys = keys
+      this.selectedRows = rows
+    }
+    // handleTableChange(pagination, filters, sorter) {
+    //   // console.log('当前页信息>>>>',pagination)
+    //   this.queryParam.pageNo = pagination.current
+    //   this.getAnnList()
+    // }
+  },
+  computed: {
+    // 选中项
+    rowSelection() {
+      return {
+        onChange: (selectedRowKeys, selectedRows) => {
+          console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows)
+        },
+        getCheckboxProps: record => ({
+          props: {
+            disabled: record.title === 'Disabled User',
+            // Column configuration not to be checked
+            title: record.title
+          }
+        })
+      }
+    }
+  }
+}
+</script>
+<style lang="less" scoped>
+@import '~@assets/less/common.less';
+@import '~@assets/less/overwriter.less';
+/deep/ .ant-table-thead > tr > th {
+  text-align: center;
+  // font-weight: 700;
+}
+
+/deep/ .ant-table-tbody {
+  text-align: center;
+}
+
+// /deep/ th.replacecolor {
+//   background-color: #ccc;
+// }
+</style>