export const Columns = [
  {
    key: "puOrgName",
    title: "采购组织",
    inputType: "PopoverSelect",
    valueKey: "id",
    referName: "ORG_PARAM",
    dataMapping: {
      puOrg: "id",
      puOrgName: "name",
    },
    queryParams: () => ({}),
    require: true,
    isShow:true,
  },
  {
    key: "billType",
    title: "订单类型",
    inputType: "Select",
    referName: "sys_order_type", // 字典名
    isShow:true,
    require: true,
  },
  { key: "oaDemandNo", title: "OA需求单号", inputType: "Input",  isShow:true,},
  {
    key: "code",
    title: "订单编号",
    inputType: "Input",
    readonly: true,
    disabled: true,
    isShow:true,
  },
  {
    key: "billDate",
    title: "订单日期",
    inputType: "DatePicker",
    valueFormat: "yyyy-MM-dd",
    width: 200, 
    isShow:true,
  },
  {
    key: "supplierName",
    title: "供应商",
    inputType: "PopoverSelect",
    valueKey: "id",
    referName: "SUPPLIER_PARAM",
    dataMapping: {
      supplier: "id",
      supplierName: "name",
    },
    queryParams: () => ({}),
    require: true,
    isShow:true,
  },
  {
    key: "paymentAgreementName",
    title: "付款协议",
    inputType: "PopoverSelect",
    valueKey: "id",
    referName: "PAYAGREEMENT_PARAM",
    dataMapping: {
      paymentAgreement: 'id',
      paymentAgreementName: 'name'
    },
    queryParams: () => ({}),
    isShow:true,
    require: true,
  },
  {
    key: "finalTypeName",
    title: "结算方式",
    inputType: "PopoverSelect",
    valueKey: "id",
    referName: "BALATYPE_PARAM",
    dataMapping: {
      finalType: 'id',
      finalTypeName: 'name'
    },
    queryParams: () => ({}),
    isShow:true,
  },
  {
    key: "buyerName",
    title: "采购员",
    inputType: "PopoverSelect",
    valueKey: "code",
    referName: "CONTACTS_PARAM",
    dataMapping: {
      buyer: 'code',
      buyerName: 'name'
    },
    queryParams: () => ({}),
    require: true,
    isShow:true,
  },
  {
    key: "puDeptName",
    title: "采购部门",
    inputType: "PopoverSelect",
    valueKey: "id",
    referName: "DEPT_PARAM",
    dataMapping: {
      puDept: 'id',
      puDeptName: 'name'
    },
    queryParams: () => ({}),
    require: true,
    isShow:true,
  },
  {
    key: "customerName",
    title: "收货客户",
    inputType: "PopoverSelect",
    width: 200,
    valueKey: "id",
    referName: "CUSTOMER_PARAM",
    dataMapping: {
      customer: 'id',
      customerName: 'name'
    },
    queryParams: () => ({}),
    isShow:true,
  },
  {
    key: "qty",
    title: "总数量",
    inputType: "InputNumber",
    controlsPosition: "right",
    isShow:true,
  },
  {
    key: "originalQty",
    title: "原始总数量",
    inputType: "InputNumber",
    controlsPosition: "right",
    isShow:true,
  },
  { key: "money", title: "价税合计", inputType: "Input", isShow:true, },
  { key: "originalMoney", title: "原始总金额", inputType: "Input",  isShow:true,},
  { key: "notaxMoney", title: "无税金额", inputType: "Input",  isShow:true,},
  {
    key: "status",
    title: "单据状态",
    inputType: "Select",
    referName: "documents_status", // 字典名
    disabled: true,
    isShow:true,
  },
  { key: "freezeCause", title: "冻结原因", inputType: "Checkbox", isShow:true, },
  { key: "isBack", title: "退货", inputType: "Input", inputType: "Checkbox",  isShow:true,},
  { key: "isMarketing", title: "已协同生成销售订单", inputType: "Checkbox",  isShow:true,},
  { key: "isMarketingSource", title: "由销售订单协同生成", inputType: "Checkbox",  isShow:true,},
  {
    key: "warehouseName",
    title: "WMS入库仓库", 
    inputType: "PopoverSelect",
    valueKey: "id",
    referName: "WAREHOUSE_PARAM",
    dataMapping: {
      warehouse: 'id',
      warehouseName: 'name'
    },
    queryParams: (params) => ({
      pkOrg: params.puOrg,
    }),
    isShow:true,
    require: true,
  },
  {
    key: "goodsAllocationName",
    title: "货位",
    inputType: "PopoverSelect",
    valueKey: "id",
    referName: "ALLOCATION_PARAM",
    dataMapping: {
      goodsAllocation: 'id',
      goodsAllocationName: 'name'
    },
     isShow:true,
     require: true,
    queryParams: (params) => ({
      stordocId: params.warehouse,
    }),
    width: 200,
  },
  { key: "isSendSrm", title: "是否同步SRM", inputType: "Checkbox",isShow:true, },
  { key: "isInvoice", title: "发票标识", inputType: "Checkbox", isShow:true,},
  { key: "supplierOrderNo", title: "供应商订单号", inputType: "Input",isShow:true, },
  { 
    key: "rebateMoney", 
    title: "订单使用返利金额", 
    inputType: "Input",
    isShow:true, 
  },
  { 
    key: "deductionMoney", 
    title: "订单抵扣余款金额", 
    inputType: "Input",
    isShow:true, 
  },
  { 
    key: "goodsWarehouseName",
    title: "收货仓库",
    inputType: "Input",
    isShow:true,
    disabled:true,
    require: true,
  },
  { 
    key: "address",
    title: "收货地址",
    inputType: "PopoverSelect",
    valueKey: "address",
    referName: "ADDRESS_PARAM",
    require: true,
    isShow:true,
    dataMapping: {
      // address: 'address',
      // addressName: '',
      goodsWarehouse:'id',
      goodsWarehouseName:'name',
      contacts:'contactsName',
      contactsPhone:'contactsPhone'
    },
    queryParams: () => ({}),
    width: 180
  },
  { 
    key: "contacts", 
    title: "收货联系人", 
    inputType: "Input",
    isShow:true, 
    disabled:true,
  },
  { 
    key: "contactsPhone", 
    title: "收货联系人电话", 
    inputType: "Input",
    isShow:true, 
    disabled:true,
  },
  {
    key: "customerDeptName",
    title: "客户部门",
    inputType: "PopoverSelect",
    width: 200,
    valueKey: "id",
    referName: "CUSTOMERDEPT_PARAM",
    dataMapping: {
      customerDept: 'id',
      customerDeptName: 'name'
    },
     isShow:true,
    queryParams: () => ({}),

  },
  {
    key: "supplierContactsName",
    title: "供应商业务联系人",
    inputType: "PopoverSelect",
    valueKey: "id",
    referName: "SUPPLIERCONTACTS_PARAM",
    dataMapping: {
      supplierContacts: 'id',
      supplierContactsName: 'name'
    },
     isShow:true,
    queryParams: (params) => ({
      supplierId:params.supplier
    }),
    width: 200,
  },
  { key: "isUrgency", title: "紧急程度", inputType: "Checkbox",isShow:true, },
  { key: "isSendWms", title: "已同步WMS", inputType: "Checkbox",isShow:true, },
  // { key: "agent", title: "代理人", inputType: "Input", }, // 建议删除
  {
    key: "agentName",
    title: "代理人",
    inputType: "PopoverSelect",
    valueKey: "code",
    referName: "CONTACTS_PARAM",
    dataMapping: {
      agent: 'code',
      agentName: 'name'
    },
     isShow:true,
    queryParams: () => ({}),
    width: 200,
  },
  { key: "isClose", title: "最终关闭", inputType: "Checkbox", isShow:true, },
  {
    key: "closeTime",
    title: "最终关闭日期",
    inputType: "DatePicker",
    valueFormat: "yyyy-MM-dd",
    isShow:true,
  },
  { key: "applyPaymentMoney", title: "累计付款申请金额", inputType: "Input", isShow:true,},
  { key: "paymentMoney", title: "累计付款金额", inputType: "Input", isShow:true,},
  { key: "invoiceMoney", title: "发票金额", inputType: "Input",isShow:true, },
  {
    key: "supplierPersonalName",
    title: "供应商业务员",
    inputType: "PopoverSelect",
    valueKey: "id",
    // referName: "SUPPLIERCONTACTS_PARAM",
    referName: "PSNLICENSE_PARAM",
    dataMapping: {
      supplierPersonal: 'id',
      supplierPersonalName: 'name'
    },
     isShow:true,
    queryParams: (params) => ({
      // 组织、供应商id
      pkOrg: params.puOrg,
      supplierId:params.supplier
    }),
  },
  { key: "isDeliver", title: "是否发货", inputType: "Checkbox",  isShow:true,},
  {
    key: "retReasonName",
    title: "退换原因",
    inputType: "PopoverSelect",
    valueKey: "id",
    referName: "RETREASON_PARAM",
    dataMapping: {
      retReason: 'id',
      retReasonName: 'name'
    },
     isShow:true,
    queryParams: () => ({}),
  },
  {
    key: "processTypeName",
    title: "处理方式",
    inputType: "PopoverSelect",
    valueKey: "id",
    referName: "PROCESSTYPE_PARAM",
    dataMapping: {
      processType: 'id',
      processTypeName: 'name'
    },
     isShow:true,
    queryParams: () => ({}),
  },
  { key: "isEnd", title: "整单关闭标识", inputType: "Input", isShow:true, },
  {
    key: "projectNowName",
    title: "在建工程项目",
    inputType: "PopoverSelect",
    valueKey: "id",
    referName: "PROJECT_PARAM",
    dataMapping: {
      projectNow: 'id',
      projectNowName: 'name'
    },
     isShow:true,
    queryParams: () => ({}),
  },
  {
    key: "operatingItemsName",
    title: "经营性项目",
    inputType: "PopoverSelect",
    valueKey: "id",
    referName: "OPERATING_PARAM",
    dataMapping: {
      operatingItems: 'id',
      operatingItemsName: 'name'
    },
     isShow:true,
    queryParams: () => ({}),

  },
  { key: "isArrivalReson", title: "到货超期原因", inputType: "Input", isShow:true, },
  { key: "midOrderNo", title: "中台采购订单号", inputType: "Input", isShow:true, },
  { key: "marketingCode", title: "销售订单号", inputType: "Input", isShow:true, },
  { key: "isArrival", title: "到货超期", inputType: "Checkbox",  isShow:true,},
  { key: "createByName", title: "创建人名称", inputType: "Input", isShow:false, },
  { key: "updateByName", title: "更新人名称", inputType: "Input", isShow:false, },
  { key: "flowId", title: "OA流程ID", inputType: "Input", isShow:false, },
  { key: "approver", title: "审批人", inputType: "Input", isShow:false, },
  {
    key: "approverFinishTime",
    title: "审批时间",
    inputType: "DatePicker",
    valueFormat: "yyyy-MM-dd",
    isShow:false,
  },
  {
    key: "approveTime",
    title: "提交时间",
    inputType: "DatePicker",
    valueFormat: "yyyy-MM-dd",
    isShow:false,
  },
  {
    key: "sysFileRecordList",
    title: "附件",
    inputType: "Upload",
    // fileType: ["pdf",""],
    span: 24,
    isShow:true,
  },
  { 
    key: "remark",
    title: "备注",
    inputType: "Textarea",
    isShow:true,
   },

];

// export const initColumns = () => columns;

export const TabColumns = [
  {
    title: '物料信息',
    key: 'puOrderItemList',
    tableColumns: [
      { 
        key: "rowNo", 
        title: "行号", 
        inputType: "Input", 
        disabled:true,
        require:false,
      },
      // { key: "orderId", title: "采购订单ID", inputType: "Input", width: 180 },
      // {key: "material",title: "物料",inputType: "Input",   },
      {
        key: "materialName",
        title: "物料",
        inputType: "PopoverSelect",
        width: 180,
        require: true,
        valueKey: "id",
        referName: "MATERIAL_PARAM",
        dataMapping: {
          material: "id",
          materialName: "name",
          materialCode: "code",
          materialClassify:'classifyIdName',
          materialManufacturersCode:'manufacturersMaterialCode',
          specification:'specification',
          model:'model',
          isMedcine:'isMedicineValue',
          manufacturer:'manufacturerId',
          manufacturerName:'manufacturerIdName',
          unit:'unitId',
          unitName:'unitIdName',
          // tax:'materialRateName',
          storageCondition:'storageCondition',
          carriageCondition:'transportationCondition',
          materialClassifyOneName:'oneClass',
          materialClassifyTwoName:'twoClass',
          materialClassifyThreeName:'threeClass',
          materialClassifyFourName:'fourClass',
          registration:'registrationNo',
          isDrug:'isDrug',
        },
        queryParams: () => ({}),
      },
      {
        key: "materialCode",
        title: "物料编码",
        inputType: "Input",
        require: true,
        width: 180,
        disabled:true,
        readonly:true,
      },
      { //classifyIdName   classifyId
        key: "materialClassify",
        title: "物料分类", 
        inputType: "Input",
        width: 180,
        disabled:true,
        readonly:true, 
      },
      { // manufacturersMaterialCode  manufacturersMaterialName
        key: "materialManufacturersCode",
         title: "厂家物料编码", 
         inputType: "Input",
          width: 180,
          disabled:true,
        readonly:true,
         },
      { //specification
        key: "specification",
        title: "规格", 
        inputType: "Input",
        width: 180 ,
        disabled:true,
        readonly:true,
        },
      { //model
        key: "model",
        title: "型号", 
        inputType: "Input",
        disabled:true,
        readonly:true,
      },
      { //isMedicine  isMedicineValue
        key: "isMedcine",
        title: "医药物料", 
        inputType: "Checkbox", 
        width: 180,
        disabled:true,
        readonly:true,
        },
      { // manufacturerId  manufacturerIdName
        key: "manufacturerName",
        title: "生产厂家代理人",
        inputType: "Input",
        width: 180,
        disabled:true,
        readonly:true,
      },
      { 
        key: "isDrug",
         title: "物料药品属性", 
         inputType: "Checkbox", 
         disabled:true,
      },
      { //unitId  unitIdName
        key: "unitName", 
        title: "单位", 
        inputType: "Input",
        disabled:true,
        readonly:true,
       },
      {
        key: "qty",
        title: "数量",
        inputType: "InputNumber",
        controlsPosition: "right",
        width: 120,
        require: true,
      },
      {
        key: "currencyName",
        title: "币种",
        inputType: "PopoverSelect",
        valueKey: "id",
        referName: "CURRENCY_PARAM",
        dataMapping: {
          currency: 'id',
          currencyName: 'name'
        },
        queryParams: () => ({}),
        width: 180,
      },
      { 
        key: "taxPrice", 
        title: "含税单价", 
        inputType: "Input",
        require: true,
        width: 120,
       },
      { key: "money", title: "价税合计", inputType: "Input", },
      { //materialRate  materialRateName
        key: "tax", 
        title: "税率",
        inputType: "Input",
      },
      { key: "taxDeductMoneya", title: "折扣金额", inputType: "Input", },
      { key: "arrivalQty", title: "已到货数量", inputType: "Input", },
      { key: "unarrivedQty", title: "未到货数量", inputType: "Input", },
      { key: "notaxMoney", title: "无税金额", inputType: "Input", },
      // { key: "priceSource", title: "价格目录ID", inputType: "Input", },
      { key: "isStorage", title: "入库关闭", inputType: "Checkbox", },
      { key: "isInvoice", title: "开票关闭", inputType: "Checkbox", },
      { key: "isArrival", title: "到货关闭", inputType: "Checkbox", },
      { key: "isPayment", title: "付款关闭", inputType: "Checkbox", },
      { key: "isGift", title: "赠品", inputType: "Checkbox", },
      {
        key: "goodsWarehouseName",
        title: "收货仓库", 
        inputType: "Input",
        width: 200,
        disabled:true,
      },
      // { key: "place", title: "收货地点", inputType: "Input", width: 180 },
      { 
        key: "address",
        title: "收货地址",
        inputType: "PopoverSelect",
        valueKey: "address",
        referName: "ADDRESS_PARAM",
        width: 180,
        dataMapping:{
          // address: 'address',
          // addressName: '',
          goodsWarehouse:'id',
          goodsWarehouseName:'name',
          contacts:'contactsName',
          contactsPhone:'contactsPhone'
        }
      },
      { 
        key: "customerName",
        title: "收货客户", 
        inputType: "PopoverSelect",
        valueKey: "id",
        referName: "CUSTOMER_PARAM",
        width: 180,
        dataMapping:{
          customer:'id',
          customerName:'name',
        },
      },
      { key: "productBatch", title: "产品批号", inputType: "Input", width: 180 },
      { key: "manufactureDate", title: "生产日期", inputType: "Input", width: 180 },
      { 
        key: "efficacyLoseDate", 
        title: "有效期至/失效日期", 
        inputType: "Input",
         width: 180
         },
      { 
        key: "approvalNumber",
         title: "批准文号",
          inputType: "Input", 
          width: 180
         },
      { 
        key: "registration",
         title: "注册证号", 
         inputType: "Input", 
         width: 180 ,
         disabled:true,
        },

      { //storageCondition storageConditionName
        key: "storageCondition",
        title: "存储条件",
        inputType: "Select",
        referName: "sys_storage_condition", // 字典名
        width: 180,
        disabled:true,
        readonly:true,
      },
      { // transportationCondition  transportationConditionName
        key: "carriageCondition",
        title: "运输条件",
        inputType: "Select",
        referName: "sys_conditions_carriage", // 字典名
        width: 180,
        disabled:true,
        readonly:true,
      },

      { key: "isBatchLock", title: "批号锁定标识", inputType: "Checkbox", },
      { key: "isReplenishment", title: "补单标识", inputType: "Checkbox", },
      { key: "isUrgency", title: "紧急标识", inputType: "Input", },
      { key: "originalQty", title: "原始数量", inputType: "Input", },
      { key: "originalMoney", title: "原始金额", inputType: "Input", },
      { key: "directProductBatch", title: "直运产品批号", inputType: "Input", width: 180 },
      { key: "discountRule", title: "折扣规则编码", inputType: "Input", width: 180 },
      { key: "reservedQty", title: "预留数量", inputType: "Input", },
      { key: "reservedPeriod", title: "预留周期", inputType: "Input", },
      { 
        key: "taxDeductClassify", 
        title: "扣税类别", 
        inputType: "Select",
        referName: "tax_deduction_category", // 字典名
        width: 180,
       },
      { key: "exchangeRate", title: "折本汇率", inputType: "Input", },
      { key: "source", title: "上游单据号", inputType: "Input", width: 180 },
      { key: "sourceId", title: "上游单据ID", inputType: "Input", width: 180 },
      { key: "demandCode", title: "采购需求单号", inputType: "Input", width: 180 },
      { key: "arrivalDatePlan", title: "计划到货日期", inputType: "Input", width: 180 },
      {
        key: "priceType",
        title: "价格类型",
        inputType: "Select",
        referName: "sys_price_type", // 字典名
        width: 180,
      },
      { key: "isDistributionPrice", title: "配送价", inputType: "Input", },
      { key: "createByName", title: "创建人名称", inputType: "Input", },
      { key: "updateByName", title: "更新人名称", inputType: "Input", },
      { //threeClass
        key: "materialClassifyOneName", 
        title: "物料一级分类名称", 
        inputType: "Input",
        width: 180,
        disabled:true,
        readonly:true, 
      },
      { //twoClass
        key: "materialClassifyTwoName",
        title: "物料二级分类名称", 
        inputType: "Input",
        width: 180,
        disabled:true,
        readonly:true, 
      },
      { //threeClass
        key: "materialClassifyThreeName", 
        title: "物料三级分类名称", 
        inputType: "Input", 
        width: 180,
        disabled:true,
        readonly:true,
      },
      { //fourClass
        key: "materialClassifyFourName", 
        title: "物料四级分类名称",
        inputType: "Input", 
        width: 180,
        disabled:true,
        readonly:true,
      },
      { 
        key: "price",
        title: "无税单价",
        inputType: "Input",
      }
    ]
  },
  {
    title: '执行结果',
    key: 'puOrderExecuteList',
    tableColumns: [
      // { key: "orderId", title: "采购订单ID", inputType: "Input", width: 180 },
      { 
        key: "rowno", 
        title: "行号", 
        inputType: "Input", 
        disabled:true,
        require:false,
      },
      {
        key: "materialName",
        title: "物料",
        require: true,
        inputType: "PopoverSelect",
        valueKey: "id",
        referName: "MATERIAL_PARAM",
        dataMapping: {
          material: "id",
          materialName: "name",
          materialCode: "code",
          materialClassify:'classifyIdName',
          materialManufacturersCode:'manufacturersMaterialCode',
          specification:'specification',
          model:'model',
          isMedcine:'isMedicineValue',
          manufacturer:'manufacturerId',
          manufacturerName:'manufacturerIdName',
          unit:'unitId',
          unitName:'unitIdName',
          // tax:'materialRateName',
          storageCondition:'storageCondition',
          carriageCondition:'transportationCondition',
          materialClassifyOneName:'oneClass',
          materialClassifyTwoName:'twoClass',
          materialClassifyThreeName:'threeClass',
          materialClassifyFourName:'fourClass',
          registration:'registrationNo',
          isDrug:'isDrug',
        },
        queryParams: () => ({}),
        width: 180
      },
      { 
        key: "specification",
        title: "规格", 
        inputType: "Input", 
        disabled:true,
        readonly:true, 
      },
      {
        key: "qty",
        title: "数量",
        inputType: "InputNumber",
        controlsPosition: "right",
        width: 120,
        require: true,
      },
      { 
        key: "stroageQty", 
        title: "累计到货主数量", 
        inputType: "Input", 
        width: 120 
      },
      { 
        key: "stockQty", 
        title: "累计入库主数量", 
        inputType: "Input", 
        width: 120 
      },
      { 
        key: "invoiceQty", 
        title: "累计开票主数量", 
        inputType: "Input", 
        width: 120 
      },
      { 
        key: "rollbackQty", 
        title: "累计退货主数量", 
        inputType: "Input", 
        width: 120 
      },
      { 
        key: "backStockQty", 
        title: "累计退库主数量", 
        inputType: "Input", 
        width: 120 
      },
      { 
        key: "floatQty", 
        title: "未到货数量", 
        inputType: "Input", 
        width: 120 
      },
      { 
        key: "createByName", 
        title: "创建人名称", 
        inputType: "Input", 
        width: 120 
      },
      { 
        key: "updateByName", 
        title: "更新人名称", 
        inputType: "Input", 
        width: 120 
      },
    ]
  },
];

// export const initTabColumns = () => tabColumns;
