<template>
  <!-- 编辑预托书 回显可编辑输入框-->
  <div id="editPreBookDrawer">
    <a-drawer
      title="编辑"
      width="89%"
      placement="right"
      :closable="true"
      :visible="visible"
      @close="handleCancel">
      <!-- 主表信息 :rules="validatorRules"-->
      <a-card :bordered="true">
        <div class="table-page-search-wrapper">
          <a-form-model layout="inline" ref="form" :model="editPreBook" >
            <a-row :gutter="24">
              <a-col :md="6" :sm="8">
                <a-form-model-item label="托书日期" prop="bookDate">
                  <a-date-picker
                    placeholder="请选择托书日期"
                    style="width:100%;"
                    :format="dateFormat"
                    v-model="editPreBook.bookDate"
                  />
                </a-form-model-item>
              </a-col>

              <a-col :md="6" :sm="8">
                <a-form-model-item label="托书号" prop="bookNum">
                  <a-input placeholder="请输入托书号" v-model="editPreBook.bookNum"></a-input>
                </a-form-model-item>
              </a-col>

              <a-col :md="12" :sm="12">
                <a-form-model-item label="外销发票号码" prop="exportInvoiceNo">
                  <a-input placeholder="请输入外销发票号码" v-model="editPreBook.exportInvoiceNo"></a-input>
                </a-form-model-item>
              </a-col>

              <a-col :md="6" :sm="8">
                <a-form-model-item label="经营单位" prop="businessUnit">
                  <a-input placeholder="请输入经营单位" v-model="editPreBook.businessUnit"></a-input>
                </a-form-model-item>
              </a-col>

              <a-col :md="6" :sm="8">
                <a-form-model-item label="经营单位地址" prop="businessUnitAdd">
                  <a-select placeholder="请选择经营单位地址" v-model="editPreBook.businessUnitAdd">
                    <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="inLoadDate">
                  <a-date-picker
                    placeholder="请选择进仓/装柜日期"
                    style="width:100%;"
                    :format="dateFormat"
                    v-model="editPreBook.inLoadDate"
                  />
                </a-form-model-item>
              </a-col>

              <a-col :md="6" :sm="8">
                <a-form-model-item label="最终船期" prop="finalShipDate">
                  <a-input placeholder="请输入最终船期" v-model="editPreBook.finalShipDate"></a-input>
                </a-form-model-item>
              </a-col>

              <a-col :md="6" :sm="8">
                <a-form-model-item label="收货人" prop="consignee">
                  <a-input placeholder="请输入收货人" v-model="editPreBook.consignee"></a-input>
                </a-form-model-item>
              </a-col>

              <a-col :md="6" :sm="8">
                <a-form-model-item label="收货人地址" prop="consigneeAdd">
                  <a-select placeholder="请选择收货人地址" v-model="editPreBook.consigneeAdd">
                    <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="notifying">
                  <a-input placeholder="请输入通知方" v-model="editPreBook.notifying"></a-input>
                </a-form-model-item>
              </a-col>

              <a-col :md="6" :sm="8">
                <a-form-model-item label="通知方地址" prop="notifyingAdd">
                  <a-input placeholder="请输入通知方地址" v-model="editPreBook.notifyingAdd"></a-input>
                </a-form-model-item>
              </a-col>

              <a-col :md="6" :sm="8">
                <a-form-model-item label="贸易国别" prop="tradeCountry">
                  <a-input placeholder="请输入贸易国别" v-model="editPreBook.tradeCountry"></a-input>
                </a-form-model-item>
              </a-col>

              <a-col :md="6" :sm="8">
                <a-form-model-item label="运抵国别" prop="arriveCountry">
                  <a-input placeholder="请输入运抵国别" v-model="editPreBook.arriveCountry"></a-input>
                </a-form-model-item>
              </a-col>
              <a-col :md="6" :sm="8">
                <a-form-model-item label="出口口岸" prop="exportPort">
                  <a-input placeholder="请输入出口口岸" v-model="editPreBook.exportPort"></a-input>
                </a-form-model-item>
              </a-col>

              <a-col :md="6" :sm="8">
                <a-form-model-item label="目的港" prop="destinationport">
                  <a-input placeholder="请输入目的港" v-model="editPreBook.destinationport"></a-input>
                </a-form-model-item>
              </a-col>

              <a-col :md="6" :sm="8">
                <a-form-model-item label="收汇方式" prop="collectionMethod">
                  <a-input placeholder="请输入收汇方式" v-model="editPreBook.collectionMethod"></a-input>
                </a-form-model-item>
              </a-col>

              <a-col :md="6" :sm="8">
                <a-form-model-item label="成交方式" prop="soldType">
                  <a-input placeholder="请输入成交方式" v-model="editPreBook.soldType"></a-input>
                </a-form-model-item>
              </a-col>

              <a-col :md="6" :sm="8">
                <a-form-model-item label="金额" prop="money">
                  <a-input placeholder="请输入金额" v-model="editPreBook.money"></a-input>
                </a-form-model-item>
              </a-col>

              <a-col :md="6" :sm="8">
                <a-form-model-item label="人民币" prop="RMB">
                  <a-input placeholder="请输入人民币" v-model="editPreBook.RMB"></a-input>
                </a-form-model-item>
              </a-col>

              <a-col :md="6" :sm="8">
                <a-form-model-item label="美元" prop="dollar">
                  <a-input placeholder="请输入美元" v-model="editPreBook.dollar"></a-input>
                </a-form-model-item>
              </a-col>
            </a-row>
          </a-form-model>
        </div>
      </a-card>

      <!--操作按钮区域 参照预装箱单  増行-->
      <a-card :bordered="true" style="marginTop:10px;">
        <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>

        <!-- table :rules="validatorRules"-->
        <a-spin :spinning="confirmLoading">
          <a-form-model ref="formRef" >
            <a-table
              bordered
              rowKey="id"
              :columns="columns"
              :data-source="data"
              :loading="loading"
              :pagination="ipagination"
              :scroll="{ x: 1500 }"
              @change="handleTableChange"
            >
              <!-- 集装箱代号 输入框 -->
              <template slot="containerCode" slot-scope="text, record, index">
                <a-form-model-item prop="containerCode" :rules="rules.containerCode" required>
                  <a-input style="width:100%" type="text" v-model="record.containerCode" />
                </a-form-model-item>
              </template>

              <!-- 集装箱号 输入框-->
              <template slot="containerNo" slot-scope="text, record, index">
                <a-form-model-item prop="containerNo" :rules="rules.containerNo">
                  <a-input style="width:100%" type="text" v-model="record.containerNo" />
                </a-form-model-item>
              </template>

              <!-- 操作 -->
              <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-row style="marginTop:10px;marginBottom:50px;background:white;padding:10px;">
          <div class="purchase-order-table" style="width:48%;marginRight:4%;float:left;">
            <h6 class="table-title">人民币</h6>
            <a-table
              :row-key="record => record.id"
              :loading="loading"
              :columns="CNYColumns"
              :data-source="CNYData"
              bordered
              :pagination="false"
            >
              <!-- CNY项目列 -->
              <template slot="CNYProjectList" slot-scope="text, record, index">
                <a-form-model-item prop="CNYProjectList" :rules="rules.CNYProjectList">
                  <a-select v-model="record.CNYProjectList" style="width:100%">
                    <a-select-option :value="1">项目列1</a-select-option>
                    <a-select-option :value="2">项目列2</a-select-option>
                  </a-select>
                </a-form-model-item>
              </template>
            </a-table>
          </div>

          <div class="purchase-order-table" style="width:48%;float:right;">
            <h6 class="table-title">美金</h6>
            <a-table
              :row-key="record => record.id"
              :loading="loading"
              :columns="USDColumns"
              :data-source="USDData"
              bordered
              :pagination="false"
            >
              <!-- USD项目列  -->
              <template slot="USDProjectList" slot-scope="text, record, index">
                <a-form-model-item prop="USDProjectList" :rules="rules.USDProjectList">
                  <a-select v-model="record.USDProjectList" style="width:100%">
                    <a-select-option :value="1">项目列1</a-select-option>
                    <a-select-option :value="2">项目列2</a-select-option>
                  </a-select>
                </a-form-model-item>
              </template>
            </a-table>
          </div>
        </a-row>
      </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>
    <!-- 参照预装箱单 -->
    <advancePackingList-modal ref="advancePackingListModal" :father="aa" @ok="modalFormOk"></advancePackingList-modal>
  </div>
</template>

<script>
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import JEllipsis from '@/components/jeecg/JEllipsis'
import moment from 'moment'
import AdvancePackingListModal from '@views/pre-book/advancePackingListModal.vue'

export default {
  name: 'EditPreBookDrawer', // 编辑预托书
  computed: {},
  mixins: [JeecgListMixin],
  components: { AdvancePackingListModal, JEllipsis, moment }, // 参照预装箱单 弹框
  data() {
    return {
      // 表头
      columns: [
        {
          title: '英文名称',
          dataIndex: 'englishName',
          width: 120,

          // fixed: 'left',
          className: 'replacecolor'
        },
        {
          title: '款号',
          dataIndex: 'styleNum',
          width: 120,

          // fixed: 'left',
          className: 'replacecolor'
        },
        {
          title: '小po号',
          dataIndex: 'smallPoNum',
          width: 120,

          className: 'replacecolor'
        },
        {
          title: '数量',
          dataIndex: 'quantity',
          width: 120,

          className: 'replacecolor'
        },
        {
          title: '箱数',
          dataIndex: 'boxedNum',
          width: 90,

          className: 'replacecolor'
        },

        {
          title: '毛重',
          dataIndex: 'roughWeigh',
          width: 120,

          className: 'replacecolor'
        },
        {
          title: '净重',
          dataIndex: 'suttle',
          width: 120,

          className: 'replacecolor'
        },
        {
          title: '体积',
          dataIndex: 'volume',
          width: 160,

          className: 'replacecolor'
        },
        {
          title: '分销点',
          dataIndex: 'distributionPoint',
          width: 120,

          className: 'replacecolor'
        },
        {
          title: '集装箱代号',
          dataIndex: 'containerCode',
          width: 120,
          scopedSlots: { customRender: 'containerCode' },
          className: 'replacecolor'
        },

        {
          title: '集装箱号',
          dataIndex: 'containerNo',
          width: 120,
          scopedSlots: { customRender: 'containerNo' },
          className: 'replacecolor'
        },
        {
          title: '单价',
          dataIndex: 'price',
          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: 'salesman',
          width: 120,

          className: 'replacecolor'
        },

        {
          title: '业务部门',
          dataIndex: 'operatingDepartment',
          width: 120,

          className: 'replacecolor'
        },
        {
          title: '采购/委外订单号',
          dataIndex: 'purchaseAboardOrderNum',
          width: 160,

          className: 'replacecolor'
        },

        {
          title: '采购/委外工厂',
          dataIndex: 'purchaseAboardFactory',
          width: 160,

          className: 'replacecolor'
        },

        {
          title: '操作',
          dataIndex: 'operation',
          scopedSlots: { customRender: 'operationSlot' },
          width: 160,

          fixed: 'right',
          className: 'replacecolor'
        }
      ],
      data: [],
      CNYColumns: [
        {
          title: '货代',
          dataIndex: 'CNYfreighForward',
          width: 60,
          className: 'replacecolor'
        },
        {
          title: '金额',
          dataIndex: 'CNYmoney',
          width: 60,
          className: 'replacecolor'
        },
        {
          title: '项目列',
          dataIndex: 'CNYProjectList',
          width: 60,
          scopedSlots: { customRender: 'CNYProjectList' },
          className: 'replacecolor'
        }
      ],
      CNYData: [],

      USDColumns: [
        {
          title: '货代',
          dataIndex: 'USDfreighForward',
          width: 60,
          className: 'replacecolor'
        },
        {
          title: '金额',
          dataIndex: 'USDmoney',
          width: 60,
          className: 'replacecolor'
        },
        {
          title: '项目列',
          dataIndex: 'USDProjectList',
          width: 60,
          scopedSlots: { customRender: 'USDProjectList' },
          className: 'replacecolor'
        }
      ],
      USDData: [],

      loading: false, // 表格加载
      editPreBook: {},
      confirmLoading: false,
      visible: false,
      dateFormat: 'YYYY-MM-DD',
      // validatorRules: {
      //   bookDate: [{ required: true, message: '托书日期不能为空', trigger: 'blur' }]
      //   // 确定必填项
      // }
    }
  },
  created() {},
  methods: {
    // 参照预装箱单
    referadvancePackingList() {
      console.log('打开参照订单数据')
      // 打开订单数据弹框
      this.$refs.advancePackingListModal.advancePackingListModVis = true
    },
    // 増行
    handleAddColumn() {
      console.log('増行')

      const addrow = {
        englishName: '',
        styleNum: '',
        smallPoNum: '',
        quantity: '',
        boxedNum: '',
        roughWeigh: '',
        suttle: '',
        volume: '',
        distributionPoint: '',
        containerCode: '',
        containerNo: '',
        price: '',
        scheduledShipDate: '',
        salesman: '',
        operatingDepartment: '',
        purchaseAboardOrderNum: '',
        purchaseAboardFactory: '',
        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()
    },

    // ------------------------------------------
    modalFormOk() {},
    aa() {}
    // // 分页、排序、筛选变化时触发
    // handleTableChange(pagination, filters, sorter) {
    //   // console.log('当前页信息>>>>',pagination)
    //   this.queryParam.pageNo = pagination.current
    //   this.getAnnList()
    // }
  },

  mounted() {}
}
</script>
<style lang="less" scoped>
@import '~@assets/less/common.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>
