编辑代码

const VXE_TABLE_CUSTOM_COLUMN_WIDTH = {
  _v: 0,
  importOrderListTable: {
    transactionType: 125,
    _invoiceNumber: 84,
    _totalAmount: 145,
    useInstName: 292,
  },
  goodsInformationHealthTable: {
    orderGoodsCustomSns: 340,
    processList: 102,
  },
};

const VXE_TABLE_CUSTOM_COLUMN_VISIBLE = {
  _v: 0,
  certificateManagementTable:
    "containerNo,countryName,endHavenName,applyCompanyName",
  importOrderListTable: "orderNo,hasInspectProveAttach,customerAlias",
};

const VXE_TABLE_CUSTOM_COLUMN_MOVE = {
  receiptVerificationStatement: [
    "acceptanceCustomerName|6",
    "receiptReceiptBankName|7",
    "acceptanceAmount|7",
    "receiptPaymentAt|8",
    "acceptState|6",
  ],
  importOrderListTable: ["_fileState|3", "_originalReceivedAt|4", "orderNo|8"],
};

const VXE_TABLE_CUSTOM_COLUMN_FIXED = {
  _v: 0,
  certificateManagementTable: "sort|left",
  importOrderListTable: "orderNo|left",
};

// 转换过程
const VXE_CUSTOM_STORE = { _v: 1 };

const allTableNames = new Set([
  ...Object.keys(VXE_TABLE_CUSTOM_COLUMN_WIDTH),
  ...Object.keys(VXE_TABLE_CUSTOM_COLUMN_VISIBLE),
  ...Object.keys(VXE_TABLE_CUSTOM_COLUMN_MOVE),
  ...Object.keys(VXE_TABLE_CUSTOM_COLUMN_FIXED),
]);

allTableNames.delete("_v"); // 排除版本号字段



for (const table of allTableNames) {
  const tableData = {};

  // resizableData
  if (VXE_TABLE_CUSTOM_COLUMN_WIDTH[table]) {
    tableData.resizableData = { ...VXE_TABLE_CUSTOM_COLUMN_WIDTH[table] };
  }

  // sortData
  if (VXE_TABLE_CUSTOM_COLUMN_MOVE[table]) {
    const sortData = {};
    for (const item of VXE_TABLE_CUSTOM_COLUMN_MOVE[table]) {
      const [key, val] = item.split("|");
      sortData[key] = Number(val);
    }
    tableData.sortData = sortData;
  }

  // fixedData
  if (VXE_TABLE_CUSTOM_COLUMN_FIXED[table]) {
    const fixedData = {};
    const items = VXE_TABLE_CUSTOM_COLUMN_FIXED[table].split(",");
    for (const item of items) {
      const [key, val] = item.split("|");
      fixedData[key] = val;
    }
    tableData.fixedData = fixedData;
  }

  // visibleData
  if (VXE_TABLE_CUSTOM_COLUMN_VISIBLE[table]) {
    const visibleData = {};
    const keys = VXE_TABLE_CUSTOM_COLUMN_VISIBLE[table].split(",");
    for (const key of keys) {
      visibleData[key] = false;
    }
    tableData.visibleData = visibleData;
  }

  VXE_CUSTOM_STORE[table] = tableData;
}

console.log(VXE_CUSTOM_STORE);