| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import XEUtils from "xe-utils";
- import VxeUI from "vxe-pc-ui";
- import VxeUITable from "vxe-table";
- import VxeUIPluginRenderElement from "@vxe-ui/plugin-render-element";
- import VxeUIPluginExportXLSX from "@vxe-ui/plugin-export-xlsx";
- import ExcelJS from "exceljs";
- import config from "@/config/select";
- import "vxe-pc-ui/lib/style.css";
- import "vxe-table/lib/style.css";
- import "@vxe-ui/plugin-render-element/dist/style.css";
- // 黑夜模式
- localStorage.getItem("APP_DARK") && VxeUITable.VxeUI.setTheme("dark");
- // 自定义renderer
- import tableSearch from "@/components/scTable/renderer/table-search";
- import formSelect from "@/components/scTable/renderer/form-select";
- import formRadio from "@/components/scTable/renderer/form-radio";
- import cellTag from "@/components/scTable/renderer/cell-tag";
- VxeUI.renderer.mixin({
- "$table-search": {
- renderToolbarButton(renderOpts, params) {
- return h(tableSearch, { renderOpts, params });
- }
- },
- "$form-select": {
- renderFormItemContent(renderOpts, params) {
- const field = XEUtils.get(params, "field")
- const defaultValue = XEUtils.get(params.data, field);
- const storageKey = XEUtils.get(renderOpts, "storageKey")
- const api = XEUtils.get(renderOpts, "api", {})
- const slot = XEUtils.get(renderOpts, "slot", {})
- const props = XEUtils.get(renderOpts, "props", {})
- const options = XEUtils.get(renderOpts, "options", [])
- const optionProps = XEUtils.get(renderOpts, "optionProps", config.props)
- const events = XEUtils.get(renderOpts, "events", {})
- return h(formSelect, { renderOpts: { defaultValue, storageKey, api, props, options, optionProps, slot, events }, params });
- }
- },
- "$form-radio": {
- renderFormItemContent(renderOpts, params) {
- return h(formRadio, { renderOpts, params });
- }
- },
- "$cell-tag": {
- renderTableCell(renderOpts, params) {
- const field = XEUtils.get(params, "column.field")
- const row = XEUtils.get(XEUtils.findTree(params.$grid.getData(), item => item.id == params.rowid), "item") || params.row
- const defaultValue = XEUtils.has(renderOpts, "formatter") && renderOpts.formatter(row) || params.$grid.getCellLabel(row, field)
- const props = XEUtils.get(renderOpts, "props", {})
- const options = XEUtils.get(renderOpts, "options", {})
- return h(cellTag, { renderOpts: { defaultValue, props, options }, params });
- }
- }
- })
- VxeUI.use(VxeUIPluginRenderElement).use(VxeUIPluginExportXLSX, { ExcelJS });
- export default {
- install(app) {
- app.use(VxeUI).use(VxeUITable);
- }
- }
|