123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486 |
- import CONFIG from "@/config";
- import { iunitprice } from "@/utils/expression";
- export default function useColumns() {
- const TableColumns = [
- {
- item: { key: "priceCode", title: "价格编码" },
- attr: { is: "el-input", disabled: true, readonly: true },
- },
- {
- item: { key: "supplierName", title: "供应商", required: true },
- attr: {
- is: "el-popover-select-v2",
- valueKey: "name",
- referName: "SUPPLIER_PARAM",
- dataMapping: {
- supplier: "id",
- supplierCode: "code",
- supplierName: "name",
- },
- },
- },
- {
- item: { key: "puOrgName", title: "采购组织", required: true },
- attr: {
- is: "el-popover-select-v2",
- valueKey: "name",
- referName: "ORG_PARAM",
- dataMapping: { puOrg: "id", puOrgCode: "code", puOrgName: "name" },
- },
- },
- {
- item: { key: "currencyName", title: "币种", required: true },
- attr: {
- is: "el-popover-select-v2",
- valueKey: "name",
- referName: "CURRENCY_PARAM",
- dataMapping: {
- currency: "id",
- currencyCode: "code",
- currencyName: "name",
- },
- },
- },
- {
- item: { key: "explainStr", title: "价格合理性说明", required: true },
- attr: { is: "el-input" },
- },
- {
- item: { key: "buyerName", title: "采购员", required: true },
- attr: {
- is: "el-popover-select-v2",
- valueKey: "name",
- referName: "CONTACTS_PARAM",
- dataMapping: { buyer: "code", buyerName: "name" },
- },
- },
- {
- item: { key: "puDeptName", title: "采购部门", required: true },
- attr: {
- is: "el-popover-select-v2",
- valueKey: "name",
- referName: "DEPT_PARAM",
- dataMapping: { puDept: "id", puDeptCode: "code", puDeptName: "name" },
- },
- },
- {
- item: { key: "createByName", title: "创建人" },
- attr: { is: "el-input", disabled: true, readonly: true },
- },
- {
- item: { key: "isEffective", title: "是否已推价格" },
- attr: {
- is: "el-select",
- dictName: "is_effective",
- value: "N",
- disabled: true,
- },
- },
- {
- item: { key: "approveTime", title: "单据申请日期" },
- attr: { is: "el-input", disabled: true, readonly: true },
- },
- {
- item: { key: "sourceType", title: "来源单据类型" },
- attr: { is: "el-input", disabled: true, readonly: true },
- },
- {
- item: { key: "status", title: "单据状态" },
- attr: {
- is: "el-select",
- dictName: "sys_status",
- disabled: true,
- readonly: true,
- value: "0",
- },
- },
- {
- item: { key: "file", title: "附件", span: 24 },
- attr: { is: "el-file-upload" },
- },
- ].map(({ item, attr }) => ({
- attr,
- item: { ...item, hidden: true, span: item.span || 6 },
- }));
- const TabColumns = [
- {
- item: {
- title: "物料信息表",
- key: "priceApplyItems",
- },
- attr: {
- value: [],
- },
- TableColumns: [
- {
- item: { key: "materialCode", title: "物料编码", required: true },
- attr: {
- is: "el-input",
- clearable: true,
- },
- },
- {
- item: { key: "materialName", title: "物料名称", required: true },
- attr: {
- is: "el-popover-select-v2",
- checkbox: true,
- clearable: true,
- valueKey: "name",
- referName: "MATERIAL_PARAM",
- dataMapping: {
- model: "model",
- material: "id",
- materialCode: "code",
- materialName: "name",
- unitName: "unitIdName",
- puUnitName: "unitIdName",
- specification: "specification",
- manufacturer: "manufacturerId",
- manufacturerName: "manufacturerIdName",
- tax: "materialRateName",
- },
- },
- },
- { item: { key: "specification", title: "规格" }, attr: {} },
- { item: { key: "model", title: "型号" }, attr: {} },
- { item: { key: "manufacturerName", title: "生产厂家" }, attr: {} },
- {
- item: { key: "unitName", title: "单位" },
- attr: {
- is: "el-popover-select-v2",
- valueKey: "name",
- referName: "UNIT_PARAM",
- dataMapping: { unit: "id", unitCode: "code", unitName: "name" },
- },
- },
- // {
- // item: { key: "puUnitName", title: "采购单位", hidden: false },
- // attr: {
- // is: "el-popover-select-v2",
- // valueKey: "name",
- // referName: "UNIT_PARAM",
- // dataMapping: {
- // puUnit: "id",
- // puUnitCode: "code",
- // puUnitName: "name",
- // },
- // },
- // },
- {
- item: { key: "customerName", title: "客户" },
- attr: {
- is: "el-popover-select-v2",
- valueKey: "name",
- referName: "CUSTOMER_PARAM",
- dataMapping: {
- customer: "id",
- customerCode: "code",
- customerName: "name",
- },
- },
- },
- {
- item: { key: "taxPrice", title: "含税单价", required: true },
- attr: {
- is: "el-input-number",
- min: 0.00000001,
- },
- },
- {
- item: { key: "tax", title: "税率%", required: true },
- attr: {
- is: "el-popover-select-v2",
- valueKey: "ntaxrate",
- referName: "TAX_RATE_PARAM",
- dataMapping: { tax: "ntaxrate" },
- disabled: true,
- },
- },
- {
- item: { key: "price", title: "无税单价", required: true },
- attr: {
- // formatter: (prop) => {
- // const { tax = 0, taxPrice = 0 } = prop;
- // return (prop.price = iunitprice(tax, taxPrice));
- // },
- },
- },
- // {
- // item: { key: "currencyName", title: "币种" },
- // attr: {
- // is: "el-popover-select-v2",
- // valueKey: "name",
- // referName: "CURRENCY_PARAM",
- // dataMapping: {
- // currency: "id",
- // currencyCode: "code",
- // currencyName: "name",
- // },
- // },
- // },
- {
- item: {
- key: "periodBegin",
- title: "价格有效期(起)",
- required: true,
- },
- attr: {
- is: "el-date-picker",
- valueFormat: "yyyy-MM-dd",
- value: new Date(),
- },
- },
- {
- item: { key: "periodEnd", title: "价格有效期(止)", required: true },
- attr: {
- is: "el-date-picker",
- valueFormat: "yyyy-MM-dd",
- pickerOptions: {
- disabledDate(time) {
- return time.getTime() < Date.now() + 3600 * 1000 * 24 * 365;
- },
- },
- value: new Date(new Date().getTime() + 3600 * 1000 * 24 * 366),
- },
- },
- {
- item: { key: "recentlyPrice", title: "最近价格" },
- attr: {
- is: "el-input-number",
- min: 0,
- precision: CONFIG.precision,
- disabled: true,
- },
- },
- {
- item: {
- key: "recentlyPriceDate",
- title: "最近价格日期",
- },
- attr: {
- is: "el-date-picker",
- valueFormat: "yyyy-MM-dd",
- },
- },
- {
- item: { key: "isApprovalFirst", title: "首次报批" },
- attr: {
- is: "el-select",
- dictName: "is_effective",
- disabled: true,
- },
- },
- {
- item: { key: "isPriceAdjustment", title: "调价类型" },
- attr: {
- value: 'no',
- is: "el-select",
- dictName: "price_adjustment_type",
- disabled: true,
- // value: '无',
- // formatter: (prop) => {
- // const { priceDiffer } = prop;
- // return (prop.isPriceAdjustment = priceDiffer > 0 ? '涨价' : priceDiffer < 0 ? '降价' : '无');
- // },
- },
- },
- {
- item: { width: 100, key: "priceDiffer", title: "单价差" },
- attr: {
- // formatter: (prop) => {
- // const { taxPrice = 0, recentlyPrice = 0 } = prop;
- // return (prop.priceDiffer = Number(recentlyPrice) !== 0 ? Number(taxPrice) - Number(recentlyPrice) : 0);
- // },
- },
- },
- {
- item: { width: 100, key: "increase", title: "涨幅(%)" },
- attr: {
- // formatter: (prop) => {
- // const { priceDiffer = 0, recentlyPrice = 0 } = prop;
- // return (prop.increase = recentlyPrice ? ((Number(priceDiffer) / Number(recentlyPrice)) * 100).toFixed(1) : 0);
- // },
- },
- },
- {
- item: { width: 100, key: "yPurchaseQuantity", title: "预计年采购量" },
- attr: {
- // is: "el-computed-input-v2",
- formatter: (prop) => {
- return prop.yPurchaseQuantity
- },
- },
- },
- {
- item: { width: 100, key: "yPurchaseVolume", title: "预计年采购额" },
- attr: {
- // formatter: (prop) => {
- // const { taxPrice = 0, yPurchaseQuantity = 0 } = prop;
- // return (prop.yPurchaseVolume = (Number(taxPrice) * Number(yPurchaseQuantity)).toFixed(2));
- // },
- },
- },
- {
- item: { width: 100, key: "yAffectedAmount", title: "预计年影响金额" },
- attr: {
- // formatter: (prop) => {
- // const { priceDiffer = 0, yPurchaseQuantity = 0 } = prop;
- // return (prop.yAffectedAmount =
- // Number(priceDiffer) * Number(yPurchaseQuantity));
- // },
- },
- },
- {
- item: { key: "priceType", title: "价格类型", required: true },
- attr: {
- is: "el-select",
- dictName: "sys_price_type",
- value: "order",
- },
- },
- {
- item: { key: "isDistributionPrice", title: "配送价", required: true },
- attr: {
- is: "el-select",
- dictName: "is_effective",
- value: "N",
- },
- },
- {
- item: { width: 100, key: "isChannel", title: "是否渠道变更" },
- attr: {
- is: "el-select",
- dictName: "is_effective",
- value: "N",
- },
- },
- {
- item: { width: 100, key: "brandReplacement", title: "是否品牌替换" },
- attr: {
- is: "el-select",
- dictName: "is_effective",
- value: "N",
- },
- },
- {
- item: { width: 150, key: "supplierName", title: "供应商名称1" },
- attr: { is: "el-input" },
- },
- {
- item: { width: 150, key: "bidPrice", title: "中标价1" },
- attr: {
- is: "el-input-number",
- min: 0,
- precision: CONFIG.precision,
- },
- },
- {
- item: { width: 150, key: "unitPrice", title: "单价1" },
- attr: {
- is: "el-input-number",
- min: 0,
- precision: CONFIG.precision,
- },
- },
- {
- item: { width: 150, key: "profit", title: "利润比1" },
- attr: {
- is: "el-input-number",
- min: 0,
- precision: CONFIG.precision,
- },
- },
- {
- item: { width: 150, key: "supplierName1", title: "供应商名称2" },
- attr: { is: "el-input" },
- },
- {
- item: { width: 150, key: "bidPrice1", title: "中标价2" },
- attr: {
- is: "el-input-number",
- min: 0,
- precision: CONFIG.precision,
- },
- },
- {
- item: { width: 150, key: "unitPrice1", title: "单价2" },
- attr: {
- is: "el-input-number",
- min: 0,
- precision: CONFIG.precision,
- },
- },
- {
- item: { width: 150, key: "profit1", title: "利润比2" },
- attr: {
- is: "el-input-number",
- min: 0,
- precision: CONFIG.precision,
- },
- },
- {
- item: { width: 150, key: "supplierName2", title: "供应商名称3" },
- attr: { is: "el-input" },
- },
- {
- item: { width: 150, key: "bidPrice2", title: "中标价3" },
- attr: {
- is: "el-input-number",
- min: 0,
- precision: CONFIG.precision,
- },
- },
- {
- item: { width: 150, key: "unitPrice2", title: "单价3" },
- attr: {
- is: "el-input-number",
- min: 0,
- precision: CONFIG.precision,
- },
- },
- {
- item: { width: 150, key: "profit2", title: "利润比3" },
- attr: {
- is: "el-input-number",
- min: 0,
- precision: CONFIG.precision,
- },
- },
- // { item: { key: "createByName", title: "创建人名称" }, attr: {} },
- // { item: { key: "updateByName", title: "更新人名称" }, attr: {} },
- // {
- // item: { key: "isPriceAdjustment", title: "", width: 10 },
- // attr: {
- // value: 'no',
- // // formatter: (prop) => {
- // // const { priceDiffer } = prop;
- // // return (prop.isPriceAdjustment = priceDiffer > 0 ? 'up' : priceDiffer < 0 ? 'down' : 'no');
- // // },
- // },
- // },
- // 采购换算率隐藏
- {
- item: { key: "conversionRate", title: "", required: true, width: 5 },
- attr: {
- is: "el-input-number",
- min: 0,
- precision: CONFIG.precision,
- value: 1,
- disabled: true,
- },
- },
- ],
- },
- ];
- return { TableColumns, TabColumns };
- }
|