import CONFIG from "@/config"; export default function useColumns() { const FormColumns = [ { item: { key: "puOrgName", title: "采购组织", require: true }, attr: { is: "el-popover-select-v2", valueKey: "name", referName: "ORG_PARAM", dataMapping: { puOrg: "code", puOrgName: "name", }, }, }, { item: { key: "code", title: "合同编码" }, attr: { is: "el-input" } }, { item: { key: "status", title: "状态" }, attr: { is: "el-select", dictName: "documents_status", disabled: true, value: "0", }, }, { item: { key: "lastPuMoney", title: "上年度采购额" }, attr: { is: "el-input-number", precision: CONFIG.precision, }, }, { item: { key: "buyerName", title: "采购员", require: true }, attr: { is: "el-popover-select-v2", valueKey: "name", referName: "CONTACTS_PARAM", dataMapping: { buyer: "code", buyerName: "name", puDept: "deptId", puDeptName: "deptName", }, }, }, { item: { key: "supplierName", title: "供应商", require: true }, attr: { is: "el-popover-select-v2", valueKey: "name", referName: "SUPPLIER_PARAM", dataMapping: { supplier: "code", supplierName: "name", }, }, }, { item: { key: "contractType", title: "合同类型" }, attr: { is: "el-select", dictName: "puarchase_contract_contract_type" }, }, { item: { key: "puMoneyYear", title: "本年度采购额" }, attr: { is: "el-input-number", precision: CONFIG.precision, }, }, { item: { key: "puDeptName", title: "采购部门", require: true }, attr: { is: "el-popover-select-v2", valueKey: "name", referName: "DEPT_PARAM", dataMapping: { puDept: "code", puDeptName: "name", }, }, }, { item: { key: "supplierTier", title: "供应商层级", require: true }, attr: { is: "el-select", dictName: "puarchase_contract_supplier_tier" }, }, { item: { key: "contractName", title: "合同名称", require: true }, attr: { is: "el-input" }, }, { item: { key: "grossRateAverage", title: "平均毛利率 (%)", require: true }, attr: { is: "el-input-number", precision: CONFIG.precision, }, }, { item: { key: "approveFlow", title: "审批流程", require: true }, attr: { is: "el-select", dictName: "puarchase_contract_approve_flow" }, }, { item: { key: "consumableClass", title: "耗材类别", require: true }, attr: { is: "el-select", dictName: "puarchase_contract_consumable_class", }, }, { item: { key: "effectiveDate", title: "合同生效日期", require: true }, attr: { is: "el-date-picker", valueFormat: "yyyy-MM-dd", }, }, { item: { key: "brandGrossRate", title: "同类品牌及毛利率 (%)", require: true, }, attr: { is: "el-input-number", precision: CONFIG.precision, }, }, { item: { key: "contractFormat", title: "合同格式", require: true }, attr: { is: "el-select", dictName: "puarchase_contract_contract_format", }, }, { item: { key: "productName", title: "产品类别&名称", require: true }, attr: { is: "el-input" }, }, { item: { key: "endDate", title: "合同终止日期", require: true }, attr: { is: "el-date-picker", valueFormat: "yyyy-MM-dd" }, }, { item: { key: "invoiceTax", title: "发票税率 (%)", require: true }, attr: { is: "el-popover-select-v2", valueKey: "ntaxrate", referName: "TAX_RATE_PARAM", dataMapping: { invoiceTax: "ntaxrate", }, }, }, { item: { key: "emergencyDegree", title: "紧急程度", require: true }, attr: { is: "el-select", dictName: "puarchase_contract_emergency_degree", }, }, { item: { key: "project", title: "项目医院", require: true }, attr: { is: "el-input" }, }, { item: { key: "deliveryType", title: "交货方式", require: true }, attr: { is: "el-select", dictName: "puarchase_contract_delivery_type" }, }, { item: { key: "source", title: "合同来源" }, attr: { is: "el-input", value: "自制", disabled: true }, }, { item: { key: "contractPartycName", title: "合同丙方" }, attr: { is: "el-popover-select-v2", valueKey: "name", referName: "SUPPLIER_PARAM", dataMapping: { contractPartyc: "code", contractPartycName: "name", }, }, }, { item: { key: "guaranteePeriodEnd", title: "质保期限", require: true }, attr: { is: "el-input-number", precision: CONFIG.precision }, }, { item: { key: "freightMethods", title: "运费承担方式" }, attr: { is: "el-select", dictName: "puarchase_contract_freight_methods", }, }, { item: { key: "signDate", title: "合同创建时间" }, attr: { is: "el-date-picker", valueFormat: "yyyy-MM-dd", disabled: true }, }, { item: { key: "isTarget", title: "是否有指标", require: true }, attr: { is: "el-select", dictName: "sys_yes_no" }, }, { item: { key: "contractTarget", title: "合同指标", require: true }, attr: { is: "el-input", placeholder: '当【是否有指标】="有"时,必填' }, }, { item: { key: "exemptionPostageCondtion", title: "包邮条件", span: 12 }, attr: { is: "el-input", placeholder: "当运费承担方式为供应商有条件承担时,该字段必填,填写要求,写明什么条件下供应商承担全部,什么条件下我方承担,什么条件下分别承担", }, }, { item: { key: "isRebate", title: "是否有返利", require: true }, attr: { is: "el-select", dictName: "sys_yes_no" }, }, { item: { key: "rebatePolicy", title: "返利政策", span: 18 }, attr: { is: "el-input", placeholder: '当【是否有返利】="有"时,必填', }, }, { item: { key: "externalContract", title: "外部合同号" }, attr: { is: "el-input" }, }, { item: { key: "rollbackPolicy", title: "退换货政策", require: true }, attr: { is: "el-input" }, }, { item: { key: "enquiryCode", title: "询价单号" }, attr: { is: "el-input" }, }, { item: { key: "contractContent", title: "合同主要内容", require: true, span: 24, }, attr: { is: "el-input", type: "textarea" }, }, { item: { key: "refusalReasons", title: "拒绝理由", span: 24 }, attr: { is: "el-input" }, }, // { // item: { key: "pigeonhole", title: "是否归档" }, // attr: { is: "el-select", dictName: "sys_yes_no", disabled: true }, // }, // { // item: { key: "pigeonholeFile", title: "归档附件", span: 24 }, // attr: { is: "el-file-upload", fileType: ["pdf"], disabled: true }, // }, { item: { key: "externalFile", title: "对外附件", span: 24 }, attr: { is: "el-file-upload", fileType: ["pdf"] }, }, { item: { key: "puFile", title: "采购商盖章合同附件", span: 24 }, attr: { is: "el-file-upload", fileType: ["pdf"] }, }, { item: { key: "supplierFile", title: "供应商盖章合同附件", span: 24 }, attr: { is: "el-file-upload", fileType: ["pdf"] }, }, { item: { key: "projectCode", title: "项目编号" }, attr: { is: "el-input" }, }, { item: { key: "projectName", title: "项目名称" }, attr: { is: "el-input" }, }, { item: { key: "area", title: "区域" }, attr: { is: "el-input" } }, { item: { key: "consigneePhone", title: "收货人联系方式" }, attr: { is: "el-input" }, }, { item: { key: "paymentAgreement", title: "付款协议", require: true }, attr: { is: "el-popover-select-v2", valueKey: "name", referName: "PAYAGREEMENT_PARAM", dataMapping: { paymentAgreement: "code", paymentAgreementName: "name", }, }, }, { item: { key: "taxPrice", title: "价税合计" }, attr: { is: "el-input-number", precision: CONFIG.precision, }, }, { item: { key: "currencyName", title: "币种", require: true }, attr: { is: "el-popover-select-v2", valueKey: "name", referName: "CURRENCY_PARAM", dataMapping: { currency: "code", currencyName: "name", }, }, }, { item: { key: "guaranteePeriod", title: "质保期" }, attr: { is: "el-input-number", precision: CONFIG.precision, }, }, ]; const TabColumns = [ { item: { title: "物料基本信息", key: "contractItemList" }, attr: { value: [] }, TableColumns: [ { item: { title: "物料名称", key: "materialName", }, attr: { is: "el-popover-select-v2", valueKey: "name", referName: "MATERIAL_PARAM", dataMapping: { material: "code", materialName: "name", puUnit: "unitIdName", registration: "registrationNo", specification: "specification", manufacturer: "manufacturerIdName", }, }, }, { item: { title: "物料编码", key: "material", }, attr: {}, }, { item: { title: "规格", key: "specification", }, attr: {}, }, { item: { title: "生产厂家", key: "manufacturer", }, attr: { is: "el-input", }, }, { item: { title: "采购单位", key: "puUnit" }, attr: { is: "el-popover-select-v2", valueKey: "name", referName: "UNIT_PARAM", dataMapping: { puUnit: "name", }, }, }, { item: { title: "税率%", key: "tax" }, attr: { is: "el-popover-select-v2", valueKey: "ntaxrate", referName: "TAX_RATE_PARAM", dataMapping: { tax: "ntaxrate", }, }, }, { item: { title: "采购数量", key: "qty" }, attr: { is: "el-input-number", }, }, { item: { title: "含税单价", key: "taxPrice" }, attr: { is: "el-input-number", precision: CONFIG.precision, }, }, { item: { title: "含税金额合计", key: "taxMoney" }, attr: { is: "el-computed-input-v2", formatter: (prop) => { const { qty = 0, taxPrice = 0 } = prop; return (qty * taxPrice * 1).toFixed(CONFIG.precision); }, }, }, { item: { title: "无税单价", key: "taxFreePrice" }, attr: { is: "el-computed-input-v2", formatter: (prop) => { const { tax = 0, taxPrice = 0 } = prop; return ((taxPrice / (tax / 100 + 1)) * 1).toFixed( CONFIG.precision ); }, }, }, { item: { title: "无税金额合计", key: "taxFreeMoney" }, attr: { is: "el-computed-input-v2", formatter: (prop) => { const { qty = 0, tax = 0, taxPrice = 0 } = prop; return (qty * (taxPrice / (tax / 100 + 1)) * 1).toFixed( CONFIG.precision ); }, }, }, { item: { title: "注册证号及备案凭证号", key: "registration" }, attr: { is: "el-input", }, }, { item: { title: "收货客户", key: "customerName" }, attr: { is: "el-popover-select-v2", valueKey: "name", referName: "CUSTOMER_PARAM", dataMapping: { customer: "code", customerName: "name", }, }, }, ], }, { item: { title: "合同条款", key: "contractClauseList" }, attr: { value: [], }, TableColumns: [ { item: { title: "条款编码", key: "code" }, attr: { is: "el-input" } }, { item: { title: "条款名称", key: "name" }, attr: { is: "el-input" } }, { item: { title: "条款内容", key: "content" }, attr: { is: "el-input" }, }, { item: { title: "变量序号", key: "variableRowno" }, attr: { is: "el-input" }, }, { item: { title: "变量内容", key: "variableContent" }, attr: { is: "el-input" }, }, ], }, { item: { title: "合同费用", key: "contractExpenseList" }, attr: { value: [], }, TableColumns: [ { item: { title: "费用编码", key: "code" }, attr: { is: "el-input" } }, { item: { title: "费用名称", key: "name" }, attr: { is: "el-input" } }, { item: { title: "费用金额", key: "money" }, attr: { is: "el-input-number", precision: CONFIG.precision }, }, ], }, { item: { title: "付款协议信息", key: "contractAgreementList" }, attr: { value: [], }, TableColumns: [ { item: { title: "付款阶段", key: "satge" }, attr: { is: "el-input-number" }, }, { item: { title: "付款起点", key: "origin", }, attr: { is: "el-select", dictName: "puarchase_contract_origin", }, }, { item: { title: "账期天数", key: "paymetDays" }, attr: { is: "el-input-number", precision: CONFIG.precision, }, }, { item: { title: "付款比例%", key: "ratio" }, attr: { is: "el-input-number", precision: CONFIG.precision, }, }, { item: { title: "付款金额", key: "money" }, attr: { is: "el-input-number", precision: CONFIG.precision, }, }, { item: { title: "是否预付款", key: "isAdvance", }, attr: { is: "el-select", dictName: "sys_yes_no", }, }, { item: { title: "是否质保金", key: "isQuality", }, attr: { is: "el-select", dictName: "sys_yes_no", }, }, { item: { title: "结算方式", key: "paymentMeans", }, attr: { is: "el-popover-select-v2", valueKey: "name", referName: "BALATYPE_PARAM", dataMapping: { paymentMeans: "name", }, }, }, { item: { title: "需进度确认", key: "schedule", }, attr: { is: "el-select", dictName: "sys_yes_no", }, }, ], }, { item: { title: "合同执行组织范围", key: "contractApplyOrgList" }, attr: { value: [] }, TableColumns: [ { item: { title: "组织名称", key: "orgName", }, attr: { is: "el-popover-select-v2", valueKey: "name", referName: "ORG_PARAM", dataMapping: { org: "code", orgName: "name", }, }, }, { item: { title: "组织编码", key: "org" }, attr: {} }, ], }, ]; return { FormColumns, TabColumns }; }