vue-grid-layout手动修改数据时,页面出现空白处理方法

文章讲述了在使用VueGridLayout时,遇到手动修改layout数据导致页面空白的问题,通过插入和删除元素触发自动调整的方法来解决此问题:`this.layout.push(this.oneLayout);this.layout.splice(-1);`。

在这里插入图片描述
手动修改layout数据时,页面出现空白,可以通过添加一个元素再删除一个元素,触发vue-grid-layout自动的页面调整
this.layout.push(this.oneLayout);
this.layout.splice(-1);

<route lang="yaml"> meta: enabled: false </route> <script setup lang="ts"> // import { VxeUI, VxeToolbarPropTypes, VxeToolbarEvents } from 'vxe-table' import type { VxePagerEvents,VxeGridListeners, VxeGridProps,VxeColumnPropTypes,VxeToolbarPropTypes, VxeToolbarEvents,VxeToolbarInstance,VxeTableInstance,VxeTablePropTypes} from 'vxe-table' import apiTransaction from '@/api/modules/transaction' import { timeShortcuts } from '@/utils/timeShortcuts' import VxeUI from 'vxe-pc-ui' import useUserStore from '@/store/modules/user' import defaultAvatar from '@/assets/images/default-avatar.png' import useSettingsStore from '@/store/modules/settings' import VxeUITable from 'vxe-table' import type { VxeFormProps, VxeFormListeners } from 'vxe-pc-ui' defineOptions({ name: 'TransactionList', }) const userStore = useUserStore() const tableData = shallowRef<RowVO[]>([]) const transactionTypeOptions = [ { value: '', label: '全部' }, { value: 0, label: '支付' }, { value: 1, label: '充值' }, { value: 2, label: '退款' }, { value: 3, label: '补缴' }, ] const statusOptions = [ { value: '', label: '全部' }, { value: 0, label: '待处理' }, { value: 1, label: '处理中' }, { value: 2, label: '成功' }, { value: 3, label: '失败' }, { value: 4, label: '已过期' }, { value: 5, label: '已关闭' } ]; // 退款类型 const refundTypesMap :Record<number, { name: string; color: string }> = { 1: { name: '本金退款', color: '#3B82F6' }, // 橙色 2: { name: '赠金扣款', color: '#2A9D8F' }, // 青绿色 } // 退款方式 const refundModeMap :Record<number, { name: string; color: string }> = { 1: { name: '原路退回', color: '#3B82F6' }, // 橙色 2: { name: '人工处理', color: '#2A9D8F' }, // 青绿色 } // 交易类型映射 const transactionTypeMap: Record<number, { name: string; color: string }> = { 0: { name: '支付', color: '#3B82F6' }, // 蓝色 - 充电订单支付 1: { name: '充值', color: '#10B981' }, // 绿色 - 用户/系统充值 2: { name: '退款', color: '#F59E0B' }, // 橙色 - 充电订单退款 3: { name: '补缴', color: '#EF4444' } // 红色 - 充电订单补缴 }; // 交易状态映射 const statusMap: Record<number, { name: string; color: string }> = { 0: { name: '待处理', color: '#9CA3AF' }, // 灰色 - 交易已创建 1: { name: '处理中', color: '#F59E0B' }, // 橙色 - 交易进行中 2: { name: '成功', color: '#10B981' }, // 绿色 - 交易成功 3: { name: '失败', color: '#EF4444' }, // 红色 - 交易失败 4: { name: '已过期', color: '#6B7280' }, // 深灰 - 交易超 5: { name: '已关闭', color: '#6B7280' } // 深灰 - 交易关闭 }; // 支付方式映射 // const payModeMap: Record<number, { name: string; color: string }> = { // 0: { name: '未知支付', color: '#9CA3AF' }, // 灰色 // 1: { name: '在线支付', color: '#3B82F6' }, // 蓝色 // 2: { name: '集团支付', color: '#8B5CF6' }, // 紫色 // 3: { name: '鉴权卡', color: '#EC4899' }, // 粉色 // 4: { name: '用户余额', color: '#10B981' }, // 绿色 // 5: { name: '钱包卡', color: '#F59E0B' }, // 橙色 // 6: { name: '后台', color: '#6366F1' }, // 靛蓝 // 7: { name: 'VIN', color: '#14B8A6' }, // 蓝绿色 // 1000: { name: '第三方平台', color: '#F97316' } // 深橙色 // }; // 支付渠道映射 const payChannelMap: Record<number, { name: string; color: string }> = { 0: { name: '未知渠道', color: '#9CA3AF' }, // 灰色 1: { name: '余额', color: '#10B981' }, // 绿色 2: { name: '微信', color: '#22C55E' } // 亮绿色(微信品牌色) }; const settingsStore = useSettingsStore() watch(() => settingsStore.currentColorScheme, () => { VxeUITable.setTheme(settingsStore.currentColorScheme!) }, { immediate: true, }) // 类型定义 interface RowVO { id: number; //id customer_id: string; // 客户ID avatar: string; // 头像 customer_name: string; // 客户 account_name: string; // 账户名称 operator_id: string; // 运营商ID operator_name: string; // 运营商名称 type: number; // 交易类型 pay_channel: number; // 支付渠道 pay_mode: number; // 支付方式 status: number; // 交易状态 platform_id: string; // 平台ID platform_name: string; // 平台名称 out_order_id: string; // 订单号 out_refund_order_id: string; // 退款订单号 platform_transaction_id: string; // 平台单号 amount: number; // 退款金额 principal_amount: number; gift_amount: number; // 赠金 before_balance: number; // 交易前余额 after_balance: number; // 交易后余额 refund_type: number; // 退款类型(1: 原路退回, 2: 人工退款) refund_mode: number; // 退款方式(1: 本金退款, 2: 赠金扣款) remark: string; // 备注 finish_time: string; // 完成间 created_at: string;// 创建间 loading?: boolean; } const data = ref({ loading:true, keyword:'', pagerConfig:{ total: 0, currentPage: 1, pageSize: 10 }, }) // 刷新流水 async function onRefresh(row: RowVO) { try { row.loading = true; await apiTransaction.refreshTransaction({ id: row.id.toString(), }); } catch (error) { console.error('刷新交易失败:', error); } finally { setTimeout(() => { row.loading = false }, 3000) } } // 加载表格数据 function getData() { data.value.loading = false const formData = formOptions.data const params = { page: data.value.pagerConfig.currentPage, pageSize: data.value.pagerConfig.pageSize, ...(formData?.type && { type: Number(formData.type) }), ...(formData?.status && { status: Number(formData.status) }), ...(formData?.phone?.trim() && { phone: formData.phone.trim() }), ...(formData?.id?.trim() && { id: formData.id.trim() }), ...(formData?.operator_id?.trim() && { operator_id: formData.operator_id.trim() }), ...(formData?.platform_id?.trim() && { platform_id: formData.platform_id.trim() }), ...(data.value.keyword && { keyword: data.value.keyword }), ...(formData?.created_at && { start_time: formData?.created_at[0], end_time: formData?.created_at[1], }), }; apiTransaction.transactionList(params).then((res) => { // 使用新数组替换,触发shallowRef更新 tableData.value = [...res.data.list]; data.value.pagerConfig.total = res.data.total; // data.tableData = tableData.value; }).catch((error) => { console.error('加载数据失败:', error) }).finally(() => { data.value.loading = false }) } // 初始化加载 onMounted(() => { for (let i = 0; i < 10; i++) { tableData.value.push({ id: 10002122121213111 + i, customer_id: '10002122121213111', avatar: 'https://p3-flow-imagex-sign.byteimg.com/ocean-cloud-tos/image_skill/55e1ac2e-7b0d-439c-a368-ae574eccb5b6_1749951146378770644~tplv-a9rns2rl98-web-thumb-watermark-v2.jpeg?rk3s=b14c611d&x-expires=1781487146&x-signature=rnQnWXNqI0XnI5ODJyBfNqTV0rM%3D', customer_name: '客户' + (i + 1), account_name: '账户' + (i + 1), operator_id: 'OP100013213232342' + (i % 3 + 1), operator_name: ['移动', '联通', '电信'][i % 3], type: [1, 2, 3][i % 3], // 假设1:充值 2:消费 3:退款 pay_channel: [1, 2, 3][i % 3], // 假设1:支付宝 2:微信 3:银联 pay_mode: [1, 2][i % 2], // 假设1:在线 2:线下 status: [0, 1, 2, 3][i % 4], // 0-3状态 platform_id: 'PL' + (100 + i), platform_name: ['支付宝', '微信支付', '银联'][i % 3], out_order_id: 'ORD' + Date.now().toString().slice(-12) + i, out_refund_order_id: 'REF' + Date.now().toString().slice(-12) + i, platform_transaction_id: 'TRX' + Date.now().toString().slice(-18) + i, amount: 100.50 + i * 10, principal_amount: 95.00 + i * 10, gift_amount: 5.50 + i, before_balance: 500.00 + i * 50, after_balance: 400.00 + i * 50, refund_type: [1, 2][i % 2], // 1:原路退回 2:人工退款 refund_mode: [1, 2][i % 2], // 1:本金退款 2:赠金扣款 remark: `测试交易数据${i + 1}` + (i % 3 === 0 ? '(加急处理)' : ''), finish_time:'2023-05-15 14:30:' + (22 + i).toString().padStart(2, '0'), created_at: '2023-05-15 14:30:' + (22 + i).toString().padStart(2, '0') }); } // data.tableData=tableData.value // getData() const $table = tableRef.value const $toolbar = toolbarRef.value if ($table && $toolbar) { $table.connect($toolbar) } }) // 清理工作 onUnmounted(() => { tableData.value = [] }) function formatLocal(date: Date): string { return new Intl.DateTimeFormat('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false }).format(date) .replace(/\//g, '-') .replace(/(\d{2}):(\d{2}):(\d{2})/, '$1:$2:$3'); } // 个性化列 const toolbarRef = ref<VxeToolbarInstance>() const tableRef = ref<VxeTableInstance>() // 实更新 const customConfig = reactive<VxeTablePropTypes.CustomConfig>({ immediate: true, }) // 搜索表单 interface FormDataVO { id: string type: string | number operator_id: string platform_id: string phone: string status: string | number created_at: [string, string] // 新增间范围字段 } // 搜索配置 const formOptions = reactive<VxeFormProps<FormDataVO>>({ data: { id: '', type: '', operator_id: '', // 运营商 id platform_id: '', // 平台 id phone: '', status: '', created_at: [ formatLocal(new Date(new Date().setHours(0, 0, 0, 0))), // 当天开始间 00:00:00 formatLocal(new Date(new Date().setHours(23, 59, 59, 0))), // 当天结束间 23:59:59 ], // 新增间范围 }, size:'small', items: [ { field: 'id', title: '单号', span: 4, folding: true,itemRender: { name: 'VxeInput' } }, { field: 'operator_id', title: '运营商ID', span: 4,folding: true, itemRender: { name: 'VxeInput' } }, { field: 'platform_id', title: '平台ID', span: 4,folding: true, itemRender: { name: 'VxeInput' } }, { field: 'phone', title: '手机号', span: 4, folding: true, itemRender: { name: 'VxeInput' } }, { field: 'type', title: '交易类型', span: 4, folding: false, itemRender: { name: 'VxeSelect', options: transactionTypeOptions, }, }, { field: 'status', title: '交易状态', span: 4, folding: false, itemRender: { name: 'VxeSelect', options: statusOptions, }, }, { field: 'created_at', // 新增间筛选字段 title: '交易间', span: 8, folding: false, slots: { default: 'default_created_at' }, // 使用插槽渲染 }, { span: 5, collapseNode: true, align: 'center', itemRender: { name: 'VxeButtonGroup', options: [ { type: 'submit',size:'small', content: '搜索',icon: 'i-ep:search', status: 'primary' }, // { type: 'reset', content: '重置' } ] } } ] }) // 表单搜索按钮操作 const formEvents: VxeFormListeners = { submit () { getData() }, reset () { getData() } } // 左侧按钮 const toolbarButtons = ref<VxeToolbarPropTypes.Buttons>([ { name: '刷新', code: 'refresh', status: 'info', icon: 'i-ep:refresh' }, ]) // 左侧按钮事件 const buttonClickEvent: VxeToolbarEvents.ButtonClick = ({ code }) => { if (code ==='refresh') { getData() } } // 分页查询事件 const onPageChange: VxePagerEvents.PageChange = ({ pageSize, currentPage }) => { data.value.pagerConfig.currentPage = currentPage data.value.pagerConfig.pageSize = pageSize getData() } </script> <template> <div> <FaPageMain> <vxe-form v-bind="formOptions" v-on="formEvents"> <template #default_created_at="{ data }"> <el-date-picker v-model="data.created_at" style="width: 100%;" type="datetimerange" start-placeholder="开始间" end-placeholder="结束间" range-separator="至" :shortcuts="timeShortcuts" :default-time="[ new Date(2000, 1, 1, 0, 0, 0), // 开始间默认 00:00:00 new Date(2000, 1, 1, 23, 59, 59), // 结束间默认 23:59:59 ]" /> </template> </vxe-form> <vxe-toolbar :buttons="toolbarButtons" @button-click="buttonClickEvent" ref="toolbarRef" size="mini" custom> <template #tools> <vxe-input v-model="data.keyword" type="search" clearable placeholder="单号/订单号/退款订单号/平台单号" style="width: 180px;margin-right: 10px;" @keyup.enter="data.pagerConfig.currentPage=1,getData()" @clear="data.pagerConfig.currentPage=1,getData()" /> </template> </vxe-toolbar> <vxe-table id="table_toolbar_custom" ref="tableRef" size="small" round stripe :loading="data.loading" :custom-config="customConfig" :column-config="{useKey: true}" :row-config="{useKey: true}" :data="tableData"> <vxe-column field="id" title="单号" width="185" align="center"></vxe-column> <vxe-column field="customer_id" title="客户ID" width="185" align="center"> <template #default="{ row }"> <vxe-button mode="text" status="primary" @click="onRefresh(row)">{{ row.customer_id }}</vxe-button> </template> </vxe-column> <vxe-column field="avatar" title="头像" :visible="false" width="185" align="center"> <template #default="{ row }"> <vxe-button mode="text" status="primary" @click="onRefresh(row)">刷新</vxe-button> </template> </vxe-column> <vxe-column field="customer_name" title="账户名称" width="185" align="center"></vxe-column> <vxe-column field="operator_name" title="运营商" width="185" align="center"> <template #default="{ row }"> <vxe-button mode="text" status="primary" @click="onRefresh(row)">{{row.operator_name}}</vxe-button> </template> </vxe-column> <vxe-column field="type" title="交易类型" :visible="false" width="185" align="center"></vxe-column> <vxe-column field="pay_channel" title="支付渠道" width="185" :visible="false" align="center"></vxe-column> <vxe-column field="platform" title="支付平台" width="185" :visible="false" align="center"></vxe-column> <vxe-column field="out_order_id" title="订单号" :visible="false" width="185" align="center"></vxe-column> <vxe-column field="out_refund_order_id" title="退款订单号" :visible="false" width="185" align="center"></vxe-column> <vxe-column field="refund_info" title="退款信息" width="185" :visible="false" align="center"></vxe-column> <vxe-column field="platform_transaction_id" title="平台支付单号" :visible="false" width="185" align="center"></vxe-column> <vxe-column field="amount" title="交易金额" width="185" align="center"></vxe-column> <vxe-column field="pay_amount" title="金额来源" width="185" align="center"></vxe-column> <vxe-column field="before_balance" title="交易前后余额" :visible="false" width="185" align="center"></vxe-column> <vxe-column field="status" title="状态" width="185" align="center" type="html" :formatter="({cellValue}) => { return `<span style='color: ${statusMap[cellValue].color}'>${statusMap[cellValue].name}</span>` }" ></vxe-column> <vxe-column field="remark" title="备注" :visible="false" width="180"> <template #default="{ row }"> <vxe-text-ellipsis line-clamp="2" :content="row.remark"></vxe-text-ellipsis> </template> </vxe-column> <vxe-column field="time" title="交易间" width="200" :formatter="({row}) => { return `创建:${row.created_at || '--'}\n完成:${row.finish_time || '--'}`; }"></vxe-column> <vxe-column title="操作" width="90" fixed="right" align="center"> <template #default="{ row }"> <vxe-button mode="text" status="primary" :loading="row.loading" @click="onRefresh(row)">刷新</vxe-button> </template> </vxe-column> <!-- <vxe-column field="操作" title="操作" width="185" fixed="right" align="center"></vxe-column> --> </vxe-table> <!-- 分页 --> <vxe-pager v-model:currentPage="data.pagerConfig.currentPage" v-model:pageSize="data.pagerConfig.pageSize" :total="100" :pageSizes="[10,20]" @page-change="onPageChange"> </vxe-pager> </FaPageMain> </div> </template> <style scoped> .loading-placeholder { min-height: 200px; padding: 16px; background-color: var(--el-bg-color); border-radius: 4px; } :deep(.transition-height) { /* 设置面板外边距 */ padding: 10px 20px !important; } /* 调整表格中搜索内容form和表格的间距 */ :deep(.vxe-grid--layout-header-wrapper) { margin-bottom: 10px; } </style> 设置骨架屏
最新发布
06-30
C# 怎么生成下面的json [ { "name": "home", "path": "/home", "meta": { "title": "首页", "icon": "el-icon-eleme-filled", "type": "menu" }, "children": [ { "name": "dashboard", "path": "/dashboard", "meta": { "title": "控制台", "icon": "el-icon-menu", "affix": true }, "component": "home" }, { "name": "userCenter", "path": "/usercenter", "meta": { "title": "帐号信息", "icon": "el-icon-user", "tag": "NEW" }, "component": "userCenter" } ] }, { "name": "vab", "path": "/vab", "meta": { "title": "组件", "icon": "el-icon-takeaway-box", "type": "menu" }, "children": [ { "path": "/vab/mini", "name": "minivab", "meta": { "title": "原子组件", "icon": "el-icon-magic-stick", "type": "menu" }, "component": "vab/mini" }, { "path": "/vab/iconfont", "name": "iconfont", "meta": { "title": "扩展图标", "icon": "el-icon-orange", "type": "menu" }, "component": "vab/iconfont" }, { "path": "/vab/data", "name": "vabdata", "meta": { "title": "Data 数据展示", "icon": "el-icon-histogram", "type": "menu" }, "children": [ { "path": "/vab/chart", "name": "chart", "meta": { "title": "图表 Echarts", "type": "menu" }, "component": "vab/chart" }, { "path": "/vab/statistic", "name": "statistic", "meta": { "title": "统计数值", "type": "menu" }, "component": "vab/statistic" }, { "path": "/vab/video", "name": "scvideo", "meta": { "title": "视频播放器", "type": "menu" }, "component": "vab/video" }, { "path": "/vab/qrcode", "name": "qrcode", "meta": { "title": "二维码", "type": "menu" }, "component": "vab/qrcode" } ] }, { "path": "/vab/form", "name": "vabform", "meta": { "title": "Form 数据录入", "icon": "el-icon-edit", "type": "menu" }, "children": [ { "path": "/vab/tableselect", "name": "tableselect", "meta": { "title": "表格选择器", "type": "menu" }, "component": "vab/tableselect" }, { "path": "/vab/formtable", "name": "formtable", "meta": { "title": "表单表格", "type": "menu" }, "component": "vab/formtable" }, { "path": "/vab/selectFilter", "name": "selectFilter", "meta": { "title": "分类筛选器", "type": "menu" }, "component": "vab/selectFilter" }, { "path": "/vab/filterbar", "name": "filterBar", "meta": { "title": "过滤器v2", "type": "menu" }, "component": "vab/filterBar" }, { "path": "/vab/upload", "name": "upload", "meta": { "title": "上传", "type": "menu" }, "component": "vab/upload" }, { "path": "/vab/select", "name": "scselect", "meta": { "title": "异步选择器", "type": "menu" }, "component": "vab/select" }, { "path": "/vab/iconselect", "name": "iconSelect", "meta": { "title": "图标选择器", "type": "menu" }, "component": "vab/iconselect" }, { "path": "/vab/cron", "name": "cron", "meta": { "title": "Cron规则生成器", "type": "menu" }, "component": "vab/cron" }, { "path": "/vab/editor", "name": "editor", "meta": { "title": "富文本编辑器", "type": "menu" }, "component": "vab/editor" }, { "path": "/vab/codeeditor", "name": "codeeditor", "meta": { "title": "代码编辑器", "type": "menu" }, "component": "vab/codeeditor" } ] }, { "path": "/vab/feedback", "name": "vabfeedback", "meta": { "title": "Feedback 反馈", "icon": "el-icon-mouse", "type": "menu" }, "children": [ { "path": "/vab/drag", "name": "drag", "meta": { "title": "拖拽排序", "type": "menu" }, "component": "vab/drag" }, { "path": "/vab/contextmenu", "name": "contextmenu", "meta": { "title": "右键菜单", "type": "menu" }, "component": "vab/contextmenu" }, { "path": "/vab/cropper", "name": "cropper", "meta": { "title": "图像剪裁", "type": "menu" }, "component": "vab/cropper" }, { "path": "/vab/fileselect", "name": "fileselect", "meta": { "title": "资源库选择器(弃用)", "type": "menu" }, "component": "vab/fileselect" }, { "path": "/vab/dialog", "name": "dialogExtend", "meta": { "title": "弹窗扩展", "type": "menu" }, "component": "vab/dialog" } ] }, { "path": "/vab/others", "name": "vabothers", "meta": { "title": "Others 其他", "icon": "el-icon-more-filled", "type": "menu" }, "children": [ { "path": "/vab/print", "name": "print", "meta": { "title": "打印", "type": "menu" }, "component": "vab/print" }, { "path": "/vab/watermark", "name": "watermark", "meta": { "title": "水印", "type": "menu" }, "component": "vab/watermark" }, { "path": "/vab/importexport", "name": "importexport", "meta": { "title": "文件导出导入", "type": "menu" }, "component": "vab/importexport" } ] }, { "path": "/vab/list", "name": "list", "meta": { "title": "Table 数据列表", "icon": "el-icon-fold", "type": "menu" }, "children": [ { "path": "/vab/table/base", "name": "tableBase", "meta": { "title": "基础数据列表", "type": "menu" }, "component": "vab/table/base" }, { "path": "/vab/table/thead", "name": "tableThead", "meta": { "title": "多级表头", "type": "menu" }, "component": "vab/table/thead" }, { "path": "/vab/table/column", "name": "tableCustomColumn", "meta": { "title": "动态列", "type": "menu" }, "component": "vab/table/column" }, { "path": "/vab/table/remote", "name": "tableRemote", "meta": { "title": "远程排序过滤", "type": "menu" }, "component": "vab/table/remote" } ] }, { "path": "/vab/workflow", "name": "workflow", "meta": { "title": "工作流设计器", "icon": "el-icon-share", "type": "menu" }, "component": "vab/workflow" }, { "path": "/vab/formrender", "name": "formRender", "meta": { "title": "动态表单(Beta)", "icon": "el-icon-message-box", "type": "menu" }, "component": "vab/form" } ] }, { "name": "template", "path": "/template", "meta": { "title": "模板", "icon": "el-icon-files", "type": "menu" }, "children": [ { "path": "/template/layout", "name": "layoutTemplate", "meta": { "title": "布局", "icon": "el-icon-grid", "type": "menu" }, "children": [ { "path": "/template/layout/blank", "name": "blank", "meta": { "title": "空白模板", "type": "menu" }, "component": "template/layout/blank" }, { "path": "/template/layout/layoutTCB", "name": "layoutTCB", "meta": { "title": "上中下布局", "type": "menu" }, "component": "template/layout/layoutTCB" }, { "path": "/template/layout/layoutLCR", "name": "layoutLCR", "meta": { "title": "左中右布局", "type": "menu" }, "component": "template/layout/layoutLCR" } ] }, { "path": "/template/list", "name": "list", "meta": { "title": "列表", "icon": "el-icon-document", "type": "menu" }, "children": [ { "path": "/template/list/crud", "name": "listCrud", "meta": { "title": "CRUD", "type": "menu" }, "component": "template/list/crud", "children": [ { "path": "/template/list/crud/detail/:id?", "name": "listCrud-detail", "meta": { "title": "新增/编辑", "hidden": true, "active": "/template/list/crud", "type": "menu" }, "component": "template/list/crud/detail" } ] }, { "path": "/template/list/tree", "name": "listTree", "meta": { "title": "左树右表", "type": "menu" }, "component": "template/list/tree" }, { "path": "/template/list/tab", "name": "listTab", "meta": { "title": "分类表格", "type": "menu" }, "component": "template/list/tab" }, { "path": "/template/list/son", "name": "listSon", "meta": { "title": "子母表", "type": "menu" }, "component": "template/list/son" }, { "path": "/template/list/widthlist", "name": "widthlist", "meta": { "title": "定宽列表", "type": "menu" }, "component": "template/list/width" } ] }, { "path": "/template/other", "name": "other", "meta": { "title": "其他", "icon": "el-icon-folder", "type": "menu" }, "children": [ { "path": "/template/other/stepform", "name": "stepform", "meta": { "title": "分步表单", "type": "menu" }, "component": "template/other/stepform" } ] } ] }, { "name": "other", "path": "/other", "meta": { "title": "其他", "icon": "el-icon-more-filled", "type": "menu" }, "children": [ { "path": "/other/directive", "name": "directive", "meta": { "title": "指令", "icon": "el-icon-price-tag", "type": "menu" }, "component": "other/directive" }, { "path": "/other/viewTags", "name": "viewTags", "meta": { "title": "标签操作", "icon": "el-icon-files", "type": "menu" }, "component": "other/viewTags", "children": [ { "path": "/other/fullpage", "name": "fullpage", "meta": { "title": "整页路由", "icon": "el-icon-monitor", "fullpage": true, "hidden": true, "type": "menu" }, "component": "other/fullpage" } ] }, { "path": "/other/verificate", "name": "verificate", "meta": { "title": "表单验证", "icon": "el-icon-open", "type": "menu" }, "component": "other/verificate" }, { "path": "/other/loadJS", "name": "loadJS", "meta": { "title": "异步加载JS", "icon": "el-icon-location-information", "type": "menu" }, "component": "other/loadJS" }, { "path": "/link", "name": "link", "meta": { "title": "外部链接", "icon": "el-icon-link", "type": "menu" }, "children": [ { "path": "https://baidu.com", "name": "百度", "meta": { "title": "百度", "type": "link" } }, { "path": "https://www.google.cn", "name": "谷歌", "meta": { "title": "谷歌", "type": "link" } } ] }, { "path": "/iframe", "name": "Iframe", "meta": { "title": "Iframe", "icon": "el-icon-position", "type": "menu" }, "children": [ { "path": "https://v3.cn.vuejs.org", "name": "vue3", "meta": { "title": "VUE 3", "type": "iframe" } }, { "path": "https://element-plus.gitee.io", "name": "elementplus", "meta": { "title": "Element Plus", "type": "iframe" } }, { "path": "https://lolicode.gitee.io/scui-doc", "name": "scuidoc", "meta": { "title": "SCUI文档", "type": "iframe" } } ] } ] }, { "name": "test", "path": "/test", "meta": { "title": "实验室", "icon": "el-icon-mouse", "type": "menu" }, "children": [ { "path": "/test/autocode", "name": "autocode", "meta": { "title": "代码生成器", "icon": "sc-icon-code", "type": "menu" }, "component": "test/autocode/index", "children": [ { "path": "/test/autocode/table", "name": "autocode-table", "meta": { "title": "CRUD代码生成", "hidden": true, "active": "/test/autocode", "type": "menu" }, "component": "test/autocode/table" } ] }, { "path": "/test/codebug", "name": "codebug", "meta": { "title": "异常处理", "icon": "sc-icon-bug-line", "type": "menu" }, "component": "test/codebug" } ] }, { "name": "setting", "path": "/setting", "meta": { "title": "配置", "icon": "el-icon-setting", "type": "menu" }, "children": [ { "path": "/setting/system", "name": "system", "meta": { "title": "系统设置", "icon": "el-icon-tools", "type": "menu" }, "component": "setting/system" }, { "path": "/setting/user", "name": "user", "meta": { "title": "用户管理", "icon": "el-icon-user-filled", "type": "menu" }, "component": "setting/user" }, { "path": "/setting/role", "name": "role", "meta": { "title": "角色管理", "icon": "el-icon-notebook", "type": "menu" }, "component": "setting/role" }, { "path": "/setting/dept", "name": "dept", "meta": { "title": "部门管理", "icon": "sc-icon-organization", "type": "menu" }, "component": "setting/dept" }, { "path": "/setting/dic", "name": "dic", "meta": { "title": "字典管理", "icon": "el-icon-document", "type": "menu" }, "component": "setting/dic" }, { "path": "/setting/table", "name": "tableSetting", "meta": { "title": "表格列管理", "icon": "el-icon-scale-to-original", "type": "menu" }, "component": "setting/table" }, { "path": "/setting/menu", "name": "settingMenu", "meta": { "title": "菜单管理", "icon": "el-icon-fold", "type": "menu" }, "component": "setting/menu" }, { "path": "/setting/task", "name": "task", "meta": { "title": "计划任务", "icon": "el-icon-alarm-clock", "type": "menu" }, "component": "setting/task" }, { "path": "/setting/client", "name": "client", "meta": { "title": "应用管理", "icon": "el-icon-help-filled", "type": "menu" }, "component": "setting/client" }, { "path": "/setting/log", "name": "log", "meta": { "title": "系统日志", "icon": "el-icon-warning", "type": "menu" }, "component": "setting/log" } ] }, { "path": "/other/about", "name": "about", "meta": { "title": "关于", "icon": "el-icon-info-filled", "type": "menu" }, "component": "other/about" } ]
05-23
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值