import { message } from 'ant-design-vue'
import { queryItemInfos } from '../api'
import { upcloud_base_wh,  } from "@/config/serviceSettings";

const span8 = { span: 8, labelCol: { span: 6 } }
let warehouseId = null
let cargoOwnerId = null
let bldgId = null

// export const items = [
//   { type: 'input', name: 'itemId', label: '商品ID', value: '', hidden: true },
//   { type: 'input', name: 'itemCode', label: '商品编码', value: '', hidden: true },
//   {
//     type: 'searchModal',
//     name: 'itemName',
//     label: '商品',
//     value: '',
//     title: '商品',
//     rowKey: 'drId',
//     // disabled: true,
//     targetValueKey: 'itemName',
//     modalWidth: 850,
//     targetClick: true,
//     remoteUrl: { url: upcloud_base_wh+'-control/warehouseitem/itempage', method: 'post' },
//     remoteData: {},
//     ...span8,
//     toolBar: {
//       items: [
//         { type: 'input', name: 'itemName', label: '商品名称', span: 8 },
//         { type: 'input', name: 'itemCode', label: '商品编码', span: 8 }
//       ]
//     },
//     tableConfig: {
//       columns: [
//         { dataIndex: 'itemId', title: '商品ID', hidden: true },
//         { dataIndex: 'itemCode', title: '商品编码' },
//         { dataIndex: 'itemName', title: '商品名称' }
//       ],
//       remoteBefore(res, p) {
//         if (!warehouseId) {
//           message.warning('请先选择仓库')
//           return false
//         }
//         if (!cargoOwnerId) {
//           message.warning('请先选择货主')
//           return false
//         }
//         p.data.warehouseId = warehouseId
//         p.data.cargoOwnerId = cargoOwnerId
//         return p
//       }
//     },
//     destroyOnClose: true,
//     on: {
//       ok(event, value, rowData, form) {
//         form.setFieldsValue({
//           itemName: rowData[0].itemName,
//           itemCode: rowData[0].itemCode,
//           itemId: rowData[0].itemId
//         })
//         queryItemInfos({ itemIds: [rowData[0].itemId] }).then(res => {
//           if (!res.success) {
//             this.$exception(res)
//             return
//           }
//           form.setFieldsValue({
//             caseUom: res.data.list[0].caseUom,
//             caseConversionRate: res.data.list[0].caseConversionRate,
//             itemHealthType: res.data.list[0].itemHealthType,
//             pieceConversionRate: res.data.list[0].pieceConversionRate,
//             storeTemperature: res.data.list[0].storeTemperature
//           })
//         })
//       },
//       change(event, value, rowData, form) {
//         if (!value) {
//           form.setFieldsValue({
//             itemName: null,
//             itemCode: null,
//             itemId: null,

//             caseUom: null,
//             caseConversionRate: null,
//             itemHealthType: null,
//             pieceConversionRate: null,
//             storeTemperature: null
//           })
//         }
//       }
//     }
//   }
// ]

export const warehouseLogic = function (self) {
  return {
    type: 'searchModal',
    width: 150,
    title: '逻辑区',
    dataIndex: 'warehouseLogicCode',
    key: 'warehouseLogicCode',
    required: true,
    remoteUrl: upcloud_base_wh+'/baseWmsWarehouseLogic/page2',
    targetValueKey: 'warehouseLogicCode',
    targetClick: true,
    rowKey: 'warehouseLogicId',
    toolBar: {
      items: [
        { type: 'input', name: 'warehouseLogicName', label: '逻辑区名称', span: 9 },
        { type: 'input', name: 'warehouseLogicCode', label: '逻辑区编码', span: 9 }
      ]
    },
    tableConfig: {
      columns: [
        { hidden: true, title: 'id', key: 'warehouseLogicId', dataIndex: 'warehouseLogicId' },
        { title: '逻辑区编码', key: 'warehouseLogicCode', dataIndex: 'warehouseLogicCode' },
        { title: '逻辑区名称', key: 'warehouseLogicName', dataIndex: 'warehouseLogicName' }
      ],
      remoteBefore(res, p) {
        let vals = self.$refs.form.form.getFieldsValue();
        p.params.warehouseId = vals.warehouseId;
        p.params.bldgId = vals.bldgId;
        p.params.warehouseAreaCategory = vals.warehouseCategoryCode;
        return p
      }
    },
    destroyOnClose: true,
    on:{
      change({ modalRowData, index, value, record }){
        if (value){
          self.logicData[index].warehouseLogicId = modalRowData[0].warehouseLogicId;
          self.logicData[index].warehouseLogicName = modalRowData[0].warehouseLogicName;
        }
      }
    }
  }
}
