import orderApi from "@/api/business/purchase/purchase-order";
import Cookies from "js-cookie";
// 集采中心
const PurColumns = [
  {
    key: "puOrgName",
    title: "采购组织",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "ORG_PARAM",
    dataMapping: {
      puOrg: "id",
      puOrgName: "name",
    },
    queryParams: () => ({}),
    require: true,
    isShow: true,
  },
  {
    key: "createTime",
    title: "制单日期",
    inputType: "DatePicker",
    type: 'datetime',
    // valueFormat: "yyyy-MM-dd HH:mm:ss",
    require: true,
    disabled: true,
    isShow: true,
  },
  {
    key: "status",
    title: "单据状态",
    inputType: "Select",
    referName: "documents_status", // 字典名
    disabled: true,
    isShow: true,
  },
  {
    key: "paymentAgreementName",
    title: "付款协议",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "PAYAGREEMENT_PARAM",
    dataMapping: {
      paymentAgreement: 'id',
      paymentAgreementName: 'name'
    },
    queryParams: () => ({}),
    isShow: true,
    disabled: true,
  },
  {
    key: "updateTime",
    title: "修改日期",
    inputType: "DatePicker",
    valueFormat: "yyyy-MM-dd HH-MM-SS",
    width: 200,
    disabled: true,
    isShow: true,
  },
  {
    key: "billType",
    title: "订单类型",
    inputType: "Select",
    referName: "sys_order_type", // 字典名
    isShow: true,
    require: true,
  },
  {
    key: "supplierName",
    title: "供应商",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "SUPPLIER_PARAM",
    dataMapping: {
      supplier: "id",
      supplierCode: 'code',
      supplierName: "name",
      paymentAgreement: 'paymentId',
      paymentAgreementName: 'paymentName',
    },
    queryParams: () => ({}),
    require: true,
    isShow: true,
  },
  {
    key: "qty",
    title: "总数量",
    inputType: "InputNumber",
    controlsPosition: "right",
    isShow: true,
    disabled: true,

  },
  {
    key: "warehouseName",
    title: "WMS入库仓库",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "WAREHOUSE_PARAM",
    dataMapping: {
      warehouse: 'id',
      warehouseName: 'name',
    },
    queryParams: (params) => ({
      pkOrg: params.puOrg,
      isWms: ['21-Cxx-02', '21-Cxx-04', '21-Cxx-10'].find(item => item === params.billType) ? 'Y' : 'N',
    }),
    isShow: true,

    // require: true,
  },

  {
    key: "originalQty",
    title: "原始总数量",
    inputType: "InputNumber",
    controlsPosition: "right",
    isShow: true,
    disabled: true,
  },
  {
    key: "createByName",
    title: "制单人",
    inputType: "Input",
    isShow: true,
    disabled: true,
  },
  {
    key: "code",
    title: "订单编号",
    inputType: "Input",
    readonly: true,
    disabled: true,
    isShow: true,
  },
  {
    key: "money",
    title: "价税合计",
    inputType: "InputNumber",
    controlsPosition: "right",
    // precision:2,
    isShow: true,
    disabled: true,
  },
  {
    key: "goodsWarehouseName",
    title: "收货仓库",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "ADDRESS_PARAM",
    isShow: true,
    require: true,
    dataMapping: {
      address: 'address',
      // addressName: '',
      goodsWarehouse: 'id',
      goodsWarehouseName: 'name',
      contacts: 'contactsName',
      contactsPhone: 'contactsPhone'
    },
    queryParams: () => ({}),
  },


  {
    key: "originalMoney",
    title: "原始金额",
    inputType: "InputNumber",
    controlsPosition: "right",
    // precision:2,
    isShow: true,
    disabled: true,
    width: 180,
  },
  {
    key: "buyerName",
    title: "采购员",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "CONTACTS_PARAM",
    dataMapping: {
      buyer: 'code',
      buyerName: 'name'
    },
    queryParams: () => ({}),
    require: true,
    isShow: true,
  },
  {
    key: "erpOrderCode",
    title: "erp订单编号",
    inputType: "Input",
    readonly: true,
    disabled: true,
    isShow: true,
  },
  {
    key: "rebateMoney",
    title: "订单使用返利金额",
    inputType: "InputNumber",
    controlsPosition: "right",
    // precision:2,
    isShow: true,
    require: true,
  },
  {
    key: "address",
    title: "收货地址",
    inputType: "Input",
    require: true,
    disabled: true,
    isShow: true,
    width: 180
  },

  {
    key: "isEnd",
    title: "整单关闭标识",
    inputType: "Checkbox",
    isShow: true,
  },
  {
    key: "isBack",
    title: "退货",
    inputType: "Input",
    inputType: "Checkbox",
    isShow: true,
  },
  {
    key: "deductionMoney",
    title: "订单抵扣余款金额",
    inputType: "InputNumber",
    controlsPosition: "right",
    // precision:2,
    isShow: true,
    require: true,
  },
  {
    key: "contacts",
    title: "收货联系人",
    inputType: "Input",
    isShow: true,
    disabled: true,
  },
  {
    key: "isClose",
    title: "最终关闭",
    inputType: "Checkbox",
    isShow: true,
    disabled: true,
  },
  {
    key: "retReasonName",
    title: "退换原因",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "RETREASON_PARAM",
    dataMapping: {
      retReason: 'id',
      retReasonName: 'name'
    },
    isShow: true,
    queryParams: () => ({}),
  },
  {
    key: "applyPaymentMoney",
    title: "累计付款申请金额",
    inputType: "InputNumber",
    controlsPosition: "right",
    // precision:2,
    isShow: true,
    disabled: true,
  },
  {
    key: "puDeptName",
    title: "采购部门",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "DEPT_PARAM",
    dataMapping: {
      puDept: 'id',
      puDeptName: 'name'
    },
    queryParams: (params) => ({
      drpOrg: params.puOrg,
    }),
    require: true,
    isShow: true,
  },
  {
    key: "closeTime",
    title: "最终关闭日期",
    inputType: "DatePicker",
    valueFormat: "yyyy-MM-dd",
    isShow: true,
    disabled: true,
  },
  {
    key: "processTypeName",
    title: "处理方式",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "PROCESSTYPE_PARAM",
    dataMapping: {
      processType: 'id',
      processTypeName: 'name'
    },
    isShow: true,
    queryParams: () => ({}),
  },
  {
    key: "paymentMoney",
    title: "累计付款金额",
    inputType: "InputNumber",
    controlsPosition: "right",
    // precision:2,
    isShow: true,
  },

  {
    key: "freezeCause",
    title: "冻结原因",
    inputType: "Checkbox",
    isShow: true,
  },
  {
    key: "closeReason",
    title: "关闭原因",
    inputType: "Input",
    disabled: true,
    isShow: true,
  },
  {
    key: "invoiceMoney",
    title: "发票金额",
    inputType: "InputNumber",
    controlsPosition: "right",
    isShow: true,
  },

  {
    key: "oaDemandNo",
    title: "OA需求单号",
    inputType: "Input",
    isShow: true,

  },

  {
    key: "remark",
    title: "备注",
    // span: 12,
    rows: 1,
    inputType: "Textarea",
    isShow: true,
    maxlength: 60,
  },
  {
    key: "sysFileRecordList",
    title: "附件",
    inputType: "Upload",
    span: 24,
    // fileType: ["pdf",""],
    isShow: true,
  },

];
const PurchaseTabColumns = [
  {
    title: '物料信息',
    key: 'puOrderItemList',
    tableColumns: [
      {
        key: "customerName",
        title: "收货客户",
        inputType: "PopoverSelect",
        valueKey: "name",
        referName: "CUSTOMER_PARAM",
        width: 180,
        copy: true,
        clearable: true,
        dataMapping: {
          customer: 'id',
          customerName: 'name',
        },
      },
      {
        key: "goodsAllocationName",
        title: "货位",
        inputType: "PopoverSelect",
        valueKey: "name",
        referName: "ALLOCATION_PARAM",
        dataMapping: {
          goodsAllocation: 'id',
          goodsAllocationName: 'name',

        },
        isShow: true,
        copy: true,
        clearable: true,
        queryParams: (params) => ({
          stordocId: params.warehouse,
          pkOrg: params.puOrg,
        }),
        width: 180,
      },
      {
        key: "rowNo",
        title: "行号",
        inputType: "Input",
        disabled: true,
        require: false,
      },
      {
        key: "materialCode",
        title: "物料编码",
        inputType: "PopoverSelect",
        width: 180,
        require: true,
        valueKey: "code",
        referName: "MATERIAL_PARAM",
        copy: true,
        dataMapping: {
          material: "id",
          materialName: "name",
          materialCode: "code",
          // materialClassify:'classifyIdName',
          materialManufacturersCode: 'manufacturersMaterialCode',
          specification: 'specification',
          model: 'model',
          isMedcine: 'isMedicineYN',
          manufacturer: 'manufacturerId',
          manufacturerName: 'manufacturerIdName',
          unit: 'unitId',
          unitName: 'unitIdName',
          storageCondition: 'storageCondition',
          carriageCondition: 'transportationCondition',
          materialClassifyOneName: 'oneClass',
          materialClassifyTwoName: 'twoClass',
          materialClassifyThreeName: 'threeClass',
          materialClassifyFourName: 'fourClass',
          registration: 'registrationNo',
          isDrug: 'isDrug',
          rateCode: "materialRateName",
          materialManufacturersCode: "materialManufacturersCode",
          materialRemark: "remark",
        },
        queryParams: () => ({}),
        width: 180,
      },
      {
        key: "materialManufacturersCode",
        title: "厂家物料编码",
        inputType: "Input",
        width: 180,
        disabled: true,
        readonly: true,
      },
      {
        key: "materialName",
        title: "物料名称",
        inputType: "Input",
        require: true,
        width: 180,
        disabled: true,
        readonly: true,
      },
      {
        key: "specification",
        title: "规格",
        inputType: "Input",
        width: 180,
        disabled: true,
        readonly: true,
      },
      {
        key: "model",
        title: "型号",
        inputType: "Input",
        disabled: true,
        readonly: true,
      },
      {
        key: "materialRemark",
        title: "物料备注",
        inputType: "Input",
        disabled: true,
        width: 180,
        readonly: true,
      },
      { // manufacturerId  manufacturerIdName
        key: "manufacturerName",
        title: "生产厂家代理人",
        inputType: "Input",
        width: 180,
        disabled: true,
        readonly: true,
      },
      { //unitId  unitIdName
        key: "unitName",
        title: "单位",
        inputType: "Input",
        disabled: true,
        readonly: true,
      },
      {
        key: "qty",
        title: "数量",
        inputType: "Input",
        copy: true,
        // inputType: "InputNumber",
        // controlsPosition: "right",
        width: 120,
        require: true,
        isSummary: true,
      },
      {
        key: "taxPrice",
        title: "含税单价",
        inputType: "InputNumber",
        controlsPosition: "right",
        // precision:2,
        require: true,
        disabled: true,
        width: 180,
      },
      {
        key: "money",
        title: "价税合计",
        inputType: "InputNumber",
        controlsPosition: "right",
        // precision:2,
        disabled: true,
        width: 180,
        isSummary: true,
        // formatter: (prop) => {
        //   const { tax = 0, taxPrice = 0 } = prop;
        //   return (prop.price = iunitprice(tax, taxPrice));
        // },
      },

      {
        key: "isGift",
        title: "赠品",
        inputType: "Checkbox",
      },
      {
        key: "nitemdiscountrate",
        title: "折扣(%)",
        inputType: "Input",
        // precision:2,
        disabled: true,
        width: 180,
      },
      {
        key: "taxDeductMoneya",
        title: "折扣金额",
        inputType: "InputNumber",
        controlsPosition: "right",
        // precision:2,
        disabled: true,
        width: 180,
        isSummary: true,
      },
      {
        key: "discountRule",
        title: "折扣规则编码",
        inputType: "Input",
        width: 180
      },
      { //materialRate  materialRateName
        key: "tax",
        title: "税率",
        // inputType: "Input",
        inputType: "InputNumber",
        controlsPosition: "right",
        // precision:2,
        disabled: true,
        width: 180,
      },
      {
        key: "registration",
        title: "注册证号",
        inputType: "Input",
        width: 180,
        disabled: true,
      },
      {
        key: "demandCode",
        title: "采购需求单号",
        inputType: "Input",
        width: 180
      },
      {
        key: "isReplenishment",
        title: "补单标识",
        inputType: "Checkbox",
      },
      {
        key: "isUrgency",
        title: "紧急标识",
        inputType: "Checkbox",
      },
      {
        key: "priceType",
        title: "价格类型",
        inputType: "Select",
        referName: "sys_price_type", // 字典名
        width: 180,
      },
      {
        key: "isDistributionPrice",
        title: "配送价",
        inputType: "Checkbox",
      },
      {
        key: "deliveryDate",
        title: "交货日期",
        inputType: "DatePicker",
        type: 'date',
        // disabled: true,
        isShow: true,
        width: 180,
      },
      {
        key: "floatQty",
        title: "未到货数量",
        inputType: "InputNumber",
        controlsPosition: "right",
        width: 180,
        isSummary: true,
      },
      { key: "isArrival", title: "到货关闭", inputType: "Checkbox", disabled: true, },
      { key: "isStorage", title: "入库关闭", inputType: "Checkbox", disabled: true, },
      { key: "isPayment", title: "付款关闭", inputType: "Checkbox", disabled: true, },
      { key: "isInvoice", title: "开票关闭", inputType: "Checkbox", disabled: true, },
      { //isMedicine  isMedicineValue
        key: "isMedcine",
        title: "医药物料",
        inputType: "Checkbox",
        disabled: true,
        readonly: true,
      },
      {
        key: "originalQty",
        title: "原始数量",
        inputType: "InputNumber",
        controlsPosition: "right",
        disabled: true,
        width: 180,
        isSummary: true,
      },
      {
        key: "originalMoney",
        title: "原始金额",
        inputType: "InputNumber",
        controlsPosition: "right",
        // precision:2,
        disabled: true,
        width: 180,
        isSummary: true,
      },

      {
        key: "closeReason",
        title: "行关闭/打开原因",
        inputType: "Input",
        width: 180,
        disabled: true,
      },
      {
        key: "sourceBillDate",
        title: "原单据生成时间",
        inputType: "DatePicker",
        type: 'datetime',
        // valueFormat: "yyyy-MM-dd HH:mm:ss",
        disabled: true,
        isShow: true,
        width: 180,
      },

    ]
  },
  // {
  //   title: '执行结果',
  //   key: 'puOrderExecuteList',
  //   tableColumns: [
  //     // { key: "orderId", title: "采购订单ID", inputType: "Input", width: 180 },
  //     {
  //       key: "rowno",
  //       title: "行号",
  //       inputType: "Input",
  //       disabled:true,
  //       require:false,
  //     },
  //     {
  //       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:'isMedicine',
  //         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: 180,
  //       require: true,
  //       isSummary:true,
  //     },
  //     {
  //       key: "stroageQty",
  //       title: "累计到货主数量",
  //       inputType: "InputNumber",
  //       controlsPosition: "right",
  //       width: 180,
  //       isSummary:true,
  //     },
  //     {
  //       key: "stockQty",
  //       title: "累计入库主数量",
  //       inputType: "InputNumber",
  //       controlsPosition: "right",
  //       width: 180,
  //       isSummary:true,
  //     },
  //     {
  //       key: "invoiceQty",
  //       title: "累计开票主数量",
  //       inputType: "InputNumber",
  //       controlsPosition: "right",
  //       width: 180,
  //       isSummary:true,
  //     },
  //     {
  //       key: "rollbackQty",
  //       title: "累计退货主数量",
  //       inputType: "InputNumber",
  //       controlsPosition: "right",
  //       width: 180,
  //       isSummary:true,
  //     },
  //     {
  //       key: "backStockQty",
  //       title: "累计退库主数量",
  //       inputType: "InputNumber",
  //       controlsPosition: "right",
  //       width: 180,
  //       isSummary:true,
  //     },
  //     {
  //       key: "floatQty",
  //       title: "未到货数量",
  //       inputType: "InputNumber",
  //       controlsPosition: "right",
  //       width: 180,
  //       isSummary:true,
  //     },
  //     // {
  //     //   key: "createByName",
  //     //   title: "创建人",
  //     //   inputType: "Input",
  //     //   width: 120
  //     // },
  //     // {
  //     //   key: "updateByName",
  //     //   title: "更新人",
  //     //   inputType: "Input",
  //     //   width: 120
  //     // },
  //   ]
  // },
];

// 事业发展部
const CauseColumns = [
  {
    key: "puOrgName",
    title: "采购组织",
    inputType: "PopoverSelect",
    valueKey: "name",
    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: "code",
    title: "订单编号",
    inputType: "Input",
    readonly: true,
    disabled: true,
    isShow: true,
  },
  {
    key: "billDate",
    title: "订单日期",
    inputType: "DatePicker",
    valueFormat: "yyyy-MM-dd",
    width: 200,
    require: true,
    isShow: true,
  },
  {
    key: "billType",
    title: "订单类型编号",
    inputType: "Input",
    disabled: true,
    isShow: true,
    require: true,
  },
  {
    key: "supplierName",
    title: "供应商",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "SUPPLIER_PARAM",
    dataMapping: {
      supplier: "id",
      supplierCode: 'code',
      supplierName: "name",
      paymentAgreement: 'paymentId',
      paymentAgreementName: 'paymentName',
    },
    queryParams: () => ({}),
    require: true,
    isShow: true,
  },
  {
    key: "paymentAgreementName",
    title: "付款协议",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "PAYAGREEMENT_PARAM",
    dataMapping: {
      paymentAgreement: 'id',
      paymentAgreementName: 'name'
    },
    queryParams: () => ({}),
    isShow: true,
    disabled: true,
    require: true,
  },
  // {
  //   key: "currencyName",
  //   title: "币种",
  //   inputType: "PopoverSelect",
  //   valueKey: "id",
  //   referName: "CURRENCY_PARAM",
  //   dataMapping: {
  //     currency: 'id',
  //     currencyName: 'name'
  //   },
  //   queryParams: () => ({}),
  //   width: 180,
  // },
  {
    key: "buyerName",
    title: "采购员",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "CONTACTS_PARAM",
    dataMapping: {
      buyer: 'code',
      buyerName: 'name'
    },
    queryParams: () => ({}),
    require: true,
    isShow: true,
  },
  {
    key: "puDeptName",
    title: "采购部门",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "DEPT_PARAM",
    dataMapping: {
      puDept: 'id',
      puDeptName: 'name'
    },
    queryParams: (params) => ({
      drpOrg: params.puOrg,
    }),
    require: true,
    isShow: true,
  },
  {
    key: "customerName",
    title: "收货客户",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "CUSTOMER_PARAM",
    width: 180,
    dataMapping: {
      customer: 'id',
      customerName: 'name',
    },
    isShow: true,
  },
  { key: "isBack", title: "退货", inputType: "Input", inputType: "Checkbox", isShow: true, },
  { key: "freezeCause", title: "冻结原因", inputType: "Checkbox", isShow: true, },
  {
    key: "qty",
    title: "总数量",
    inputType: "InputNumber",
    controlsPosition: "right",
    isShow: true,
    disabled: true,
  },
  {
    key: "money",
    title: "价税合计",
    inputType: "InputNumber",
    controlsPosition: "right",
    // precision:2,
    isShow: true,
    disabled: true,
  },
  // {
  //   key: "remark",
  //   title: "备注",
  //   inputType: "Textarea",
  //   isShow:true,
  //  },
  { key: "isMarketing", title: "已协同生成销售订单", inputType: "Checkbox", isShow: true, },
  { key: "isMarketingSource", title: "由销售订单协同生成", inputType: "Checkbox", isShow: true, },
  {
    key: "isInvoice",
    title: "发票标识",
    inputType: "Checkbox",
    isShow: true,
    disabled: true,
  },
  {
    key: "rebateMoney",
    title: "订单使用返利金额",
    inputType: "InputNumber",
    controlsPosition: "right",
    // precision:2,
    isShow: true,
  },
  {
    key: "deductionMoney",
    title: "订单抵扣余款金额",
    inputType: "InputNumber",
    controlsPosition: "right",
    // precision:2,
    isShow: true,
  },
  {
    key: "warehouseName",
    title: "WMS入库仓库",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "WAREHOUSE_PARAM",
    dataMapping: {
      warehouse: 'id',
      warehouseName: 'name',
    },
    queryParams: (params) => ({
      pkOrg: params.puOrg,
      isWms: ['21-Cxx-02', '21-Cxx-04', '21-Cxx-10'].find(item => item === params.billType) ? 'Y' : 'N',
    }),
    isShow: true,

    // require: true,
  },

  {
    key: "customerDeptName",
    title: "客户部门",
    inputType: "PopoverSelect",
    width: 200,
    valueKey: "name",
    referName: "CUSTOMERDEPT_PARAM",
    dataMapping: {
      customerDept: 'id',
      customerDeptName: 'name'
    },
    isShow: true,
    queryParams: () => ({}),

  },

  // { key: "place", title: "收货地点", inputType: "Input", width: 180 },
  {
    key: "goodsWarehouseName",
    title: "收货仓库",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "ADDRESS_PARAM",
    width: 200,
    isShow: true,
    dataMapping: {
      address: 'address',
      goodsWarehouse: 'id',
      goodsWarehouseName: 'name',
      contacts: 'contactsName',
      contactsPhone: 'contactsPhone'
    }
  },
  {
    key: "address",
    title: "收货地址",
    inputType: "Input",
    width: 180,
    isShow: true,
    disabled: true,

  },

  {
    key: "contacts",
    title: "收货联系人",
    inputType: "Input",
    isShow: true,
    disabled: true,
  },
  {
    key: "isClose",
    title: "最终关闭",
    inputType: "Checkbox",
    isShow: true,
    disabled: true,
  },
  {
    key: "supplierContactsName",
    title: "供应商业务联系人",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "SUPPLIERCONTACTS_PARAM",
    dataMapping: {
      supplierContacts: 'id',
      supplierContactsName: 'name'
    },
    isShow: true,
    queryParams: (params) => ({
      supplierId: params.supplier
    }),
    width: 200,
  },
  {
    key: "isUrgency",
    title: "紧急程度",
    inputType: "Checkbox",
    isShow: true,
    disabled: true,
  },
  {
    key: "agentName",
    title: "代理人",
    inputType: "PopoverSelect",
    valueKey: "name",
    referName: "CONTACTS_PARAM",
    dataMapping: {
      agent: 'code',
      agentName: 'name'
    },
    isShow: true,
    queryParams: () => ({}),
    width: 200,
  },
  {
    key: "closeReason",
    title: "关闭原因",
    inputType: "Input",
    isShow: true,
    disabled: true,
  },
  {
    key: "invoiceMoney",
    title: "发票金额",
    inputType: "InputNumber",
    controlsPosition: "right",
    // precision:2,
    isShow: true,
  },
  {
    key: "closeTime",
    title: "最终关闭日期",
    inputType: "DatePicker",
    valueFormat: "yyyy-MM-dd",
    isShow: true,
    disabled: true,
  },
  {
    key: "applyPaymentMoney",
    title: "累计付款申请金额",
    inputType: "InputNumber",
    controlsPosition: "right",
    // precision:2,
    isShow: true,
    disabled: true,
  },
  {
    key: "paymentMoney",
    title: "累计付款金额",
    inputType: "InputNumber",
    controlsPosition: "right",
    // precision:2,
    isShow: true,
  },
  {
    key: "supplierPersonalName",
    title: "供应商业务员",
    inputType: "PopoverSelect",
    valueKey: "name",
    // referName: "SUPPLIERCONTACTS_PARAM",
    referName: "PSNLICENSE_PARAM",
    dataMapping: {
      supplierPersonal: 'id',
      supplierPersonalName: 'name'
    },
    isShow: true,
    queryParams: (params) => ({
      // 组织、供应商id
      pkOrg: params.puOrg,
      supplierId: params.supplier
    }),
  },
  {
    key: "isSendSrm",
    title: "是否同步SRM",
    inputType: "Checkbox",
    isShow: true,
  },
  {
    key: "oaDemandNo",
    title: "OA需求单号",
    inputType: "Input",
    isShow: true,

  },
  {
    key: "remark",
    title: "备注",
    rows: 1,
    inputType: "Textarea",
    isShow: true,
    maxlength: 60,
  },
  {
    key: "sysFileRecordList",
    title: "附件",
    inputType: "Upload",
    // fileType: ["pdf",""],
    span: 24,
    isShow: true,
  },
];
const CauseTabColumns = [
  {
    title: '物料信息',
    key: 'puOrderItemList',
    tableColumns: [
      {
        key: "customerName",
        title: "收货客户",
        inputType: "PopoverSelect",
        valueKey: "name",
        referName: "CUSTOMER_PARAM",
        width: 180,
        dataMapping: {
          customer: 'id',
          customerName: 'name',
        },
        copy: true,
        clearable: true,
      },
      {
        key: "goodsAllocationName",
        title: "货位",
        inputType: "PopoverSelect",
        valueKey: "name",
        referName: "ALLOCATION_PARAM",
        dataMapping: {
          goodsAllocation: 'id',
          goodsAllocationName: 'name',

        },
        isShow: true,
        copy: true,
        clearable: true,
        queryParams: (params) => ({
          stordocId: params.warehouse,
          pkOrg: params.puOrg,
        }),
        width: 180,
      },
      {
        key: "rowNo",
        title: "行号",
        inputType: "Input",
        disabled: true,
        require: false,
      },
      {
        key: "materialCode",
        title: "物料编码",
        inputType: "PopoverSelect",
        width: 180,
        require: true,
        valueKey: "code",
        referName: "MATERIAL_PARAM",
        copy: true,
        dataMapping: {
          material: "id",
          materialName: "name",
          materialCode: "code",
          materialManufacturersCode: 'manufacturersMaterialCode',
          specification: 'specification',
          model: 'model',
          isMedcine: 'isMedicineYN',
          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',
          rateCode: "materialRateName",
          materialManufacturersCode: "materialManufacturersCode",
          materialRemark: "remark",
        },
        queryParams: () => ({}),
      },
      {
        key: "materialManufacturersCode",
        title: "厂家物料编码",
        inputType: "Input",
        width: 180,
        disabled: true,
        readonly: true,
      },
      {
        key: "materialName",
        title: "物料名称",
        inputType: "Input",
        require: true,
        width: 180,
        disabled: true,
        readonly: true,
      },
      {
        key: "specification",
        title: "规格",
        inputType: "Input",
        width: 180,
        disabled: true,
        readonly: true,
      },
      {
        key: "model",
        title: "型号",
        inputType: "Input",
        disabled: true,
        readonly: true,
      },
      {
        key: "materialRemark",
        title: "物料备注",
        inputType: "Input",
        disabled: true,
        readonly: true,
        width: 180,
      },
      { //isMedicine  isMedicineValue
        key: "isMedcine",
        title: "医药物料",
        inputType: "Checkbox",
        disabled: true,
        readonly: true,
      },
      { //unitId  unitIdName
        key: "unitName",
        title: "主单位",
        inputType: "Input",
        disabled: true,
        readonly: true,
      },
      {
        key: "qty",
        title: "主数量",
        inputType: "InputNumber",
        controlsPosition: "right",
        width: 120,
        require: true,
        isSummary: true,
      },
      {
        key: "taxPrice",
        title: "主含税单价",
        inputType: "InputNumber",
        controlsPosition: "right",
        // precision:2,
        require: true,
        width: 180,
      },
      { //unitId  unitIdName
        key: "unitName",
        title: "单位",
        inputType: "Input",
        disabled: true,
        readonly: true,
        require: true,
      },
      {
        key: "qty",
        title: "数量",
        // inputType: "InputNumber",
        // controlsPosition: "right",
        inputType: "Input",
        copy: true,
        width: 120,
        isSummary: true,
      },
      {
        key: "taxPrice",
        title: "含税单价",
        inputType: "InputNumber",
        controlsPosition: "right",
        // precision:2,
        width: 180,
      },
      {
        key: "money",
        title: "价税合计",
        inputType: "InputNumber",
        controlsPosition: "right",
        // precision:2,
        disabled: true,
        width: 180,
        isSummary: true,
      },

      {
        key: "ntaxnetprice",
        title: "含税净价",
        inputType: "Input",
        controlsPosition: "right",
        // precision:2,
        disabled: true,
        width: 180,
      },
      { //materialRate  materialRateName
        key: "tax",
        title: "税率",
        // inputType: "Input",
        inputType: "InputNumber",
        controlsPosition: "right",
        // precision:2,
        disabled: true,
        require: true,
        width: 180,
      },
      {
        key: "taxDeductClassify",
        title: "扣税类别",
        inputType: "Select",
        referName: "tax_deduction_category", // 字典名
        width: 180,
        require: true,
      },
      {
        key: "exchangeRate",
        title: "折本汇率",
        inputType: "Input",
        disabled: true,
        width: 180,
        require: true,
      },
      {
        key: "nitemdiscountrate",
        title: "折扣(%)",
        inputType: "Input",
        // precision:2,
        disabled: true,
        width: 180,
        require: true,
      },
      {
        key: "taxDeductMoneya",
        title: "折扣金额",
        inputType: "InputNumber",
        controlsPosition: "right",
        require: true,
        // precision:2,
        disabled: true,
        width: 180,
        isSummary: true,
      },
      {
        key: "deliveryDate",
        title: "交货日期",
        inputType: "DatePicker",
        type: 'date',
        // disabled: true,
        isShow: true,
        width: 180,
      },
      {
        key: "goodsWarehouseName",
        title: "收货仓库",
        inputType: "Input",
        width: 200,
        disabled: true,
      },
      { key: "productBatch", title: "产品批号", inputType: "Input", width: 180 },
      {
        key: "registration",
        title: "注册证号",
        inputType: "Input",
        width: 180,
        disabled: true,
      },
      { key: "isStorage", title: "入库关闭", inputType: "Checkbox", disabled: true, },
      { key: "isInvoice", title: "开票关闭", inputType: "Checkbox", disabled: true, },
      { key: "isArrival", title: "到货关闭", inputType: "Checkbox", disabled: true, },
      { key: "isPayment", title: "付款关闭", inputType: "Checkbox", disabled: true, },
      { key: "isGift", title: "赠品", inputType: "Checkbox", },
      { //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: "originalQty",
        title: "原始数量",
        inputType: "InputNumber",
        controlsPosition: "right",
        disabled: true,
        width: 180,
        isSummary: true,
      },
      {
        key: "originalMoney",
        title: "原始金额",
        inputType: "InputNumber",
        controlsPosition: "right",
        // precision:2,
        disabled: true,
        width: 180,
        isSummary: true,
      },
      { key: "discountRule", title: "折扣规则编码", inputType: "Input", width: 180 },
      { key: "demandCode", title: "采购需求单号", inputType: "Input", width: 180 },
      { key: "remark", title: "备注", inputType: "Input", width: 200 },

      {
        key: "closeReason",
        title: "关闭原因",
        inputType: "Input",
        isShow: true,
        disabled: true,
        width: 180,
      },
      {
        key: "sourceBillDate",
        title: "原单据生成时间",
        inputType: "DatePicker",
        type: 'datetime',
        // valueFormat: "yyyy-MM-dd HH:mm:ss",
        disabled: true,
        isShow: true,
        width: 180,
      },
    ]
  },
  // {
  //   title: '执行结果',
  //   key: 'puOrderExecuteList',
  //   tableColumns: [
  //     // { key: "orderId", title: "采购订单ID", inputType: "Input", width: 180 },
  //     {
  //       key: "rowno",
  //       title: "行号",
  //       inputType: "Input",
  //       disabled:true,
  //       require:false,
  //     },
  //     {
  //       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:'isMedicine',
  //         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: 180,
  //       require: true,
  //       isSummary:true,
  //     },
  //     {
  //       key: "stroageQty",
  //       title: "累计到货主数量",
  //       inputType: "InputNumber",
  //       controlsPosition: "right",
  //       width: 180,
  //       isSummary:true,
  //     },
  //     {
  //       key: "stockQty",
  //       title: "累计入库主数量",
  //       inputType: "InputNumber",
  //       controlsPosition: "right",
  //       width: 180,
  //       isSummary:true,
  //     },
  //     {
  //       key: "invoiceQty",
  //       title: "累计开票主数量",
  //       inputType: "InputNumber",
  //       controlsPosition: "right",
  //       width: 180,
  //       isSummary:true,
  //     },
  //     {
  //       key: "rollbackQty",
  //       title: "累计退货主数量",
  //       inputType: "InputNumber",
  //       controlsPosition: "right",
  //       width: 180,
  //       isSummary:true,
  //     },
  //     {
  //       key: "backStockQty",
  //       title: "累计退库主数量",
  //       inputType: "InputNumber",
  //       controlsPosition: "right",
  //       width: 180,
  //       isSummary:true,
  //     },
  //     {
  //       key: "floatQty",
  //       title: "未到货数量",
  //       inputType: "InputNumber",
  //       controlsPosition: "right",
  //       width: 180,
  //       isSummary:true,
  //     },
  //     // {
  //     //   key: "createByName",
  //     //   title: "创建人",
  //     //   inputType: "Input",
  //     //   width: 120
  //     // },
  //     // {
  //     //   key: "updateByName",
  //     //   title: "更新人",
  //     //   inputType: "Input",
  //     //   width: 120
  //     // },
  //   ]
  // },
];
// export const initTabColumns = () => tabColumns;


export default function judgeColumns() {
  let Columns = _.cloneDeep(PurColumns);
  let TabColumns = _.cloneDeep(PurchaseTabColumns);

  let roles = Cookies.get('roles').split(',');
  let role = roles.find(item => item === "syfz-purchaseorder") || "procurementManager";

  if (role === "syfz-purchaseorder") {
    // 事业发展部
    Columns = _.cloneDeep(CauseColumns);
    TabColumns = _.cloneDeep(CauseTabColumns);
  }

  return { Columns, TabColumns }



}




