diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md index 17df41e87f5c620329838f241ca0ce91efd2d696..5cfd011e35420601fa971228f606057d90bcaedc 100644 --- a/CHANGELOG.zh_CN.md +++ b/CHANGELOG.zh_CN.md @@ -1,5 +1,9 @@ # Wip +### 🎫 Chores + +- 表格默认不显示边框 + ### ⚡ Performance Improvements - 优化首屏体积大小 diff --git a/src/components/Authority/index.tsx b/src/components/Authority/index.tsx index a93f71c288fcbe49658e782a9baf1716710d296d..2c42f1e7422400f31caaa7cf89deb467f93ff1e8 100644 --- a/src/components/Authority/index.tsx +++ b/src/components/Authority/index.tsx @@ -19,16 +19,17 @@ export default defineComponent({ const getModeRef = computed(() => { return appStore.getProjectConfig.permissionMode; }); + /** * 渲染角色按钮 */ function renderRoleAuth() { const { value } = props; if (!value) { - return getSlot(slots, 'default'); + return getSlot(slots); } const { hasPermission } = usePermission(); - return hasPermission(value) ? getSlot(slots, 'default') : null; + return hasPermission(value) ? getSlot(slots) : null; } /** @@ -38,11 +39,12 @@ export default defineComponent({ function renderCodeAuth() { const { value } = props; if (!value) { - return getSlot(slots, 'default'); + return getSlot(slots); } const { hasPermission } = usePermission(); - return hasPermission(value) ? getSlot(slots, 'default') : null; + return hasPermission(value) ? getSlot(slots) : null; } + return () => { const mode = unref(getModeRef); // 基于角色渲染 @@ -53,7 +55,7 @@ export default defineComponent({ if (mode === PermissionModeEnum.BACK) { return renderCodeAuth(); } - return getSlot(slots, 'default'); + return getSlot(slots); }; }, }); diff --git a/src/components/Drawer/src/BasicDrawer.tsx b/src/components/Drawer/src/BasicDrawer.tsx index 4b2f9d7bacbb8e45c4ac53f90b3ae17a24d4cf5d..a83a4db8fa96722c4098981cf7d2242f58ac0921 100644 --- a/src/components/Drawer/src/BasicDrawer.tsx +++ b/src/components/Drawer/src/BasicDrawer.tsx @@ -33,18 +33,7 @@ export default defineComponent({ props: basicProps, emits: ['visible-change', 'ok', 'close', 'register'], setup(props, { slots, emit, attrs }) { - // const { currentRoute } = useRouter(); const scrollRef = ref(null); - // /** - // * @description: 获取配置ScrollContainer - // */ - // const getScrollOptions = computed( - // (): ScrollContainerOptions => { - // return { - // ...(props.scrollOptions as any), - // }; - // } - // ); const visibleRef = ref(false); const propsRef = ref | null>(null); @@ -85,7 +74,6 @@ export default defineComponent({ watch( () => visibleRef.value, (visible) => { - // appStore.commitLockMainScrollState(visible); nextTick(() => { emit('visible-change', visible); }); @@ -95,27 +83,6 @@ export default defineComponent({ } ); - // function scrollBottom() { - // const scroll = unref(scrollRef); - // if (scroll) { - // scroll.scrollBottom(); - // } - // } - - // function scrollTo(to: number) { - // const scroll = unref(scrollRef); - // if (scroll) { - // scroll.scrollTo(to); - // } - // } - - // function getScrollWrap() { - // const scroll = unref(scrollRef); - // if (scroll) { - // return scroll.getScrollWrap(); - // } - // return null; - // } // 取消事件 async function onClose(e: any) { const { closeFunc } = unref(getProps); @@ -219,12 +186,6 @@ export default defineComponent({ ); } - // const currentInstance = getCurrentInstance() as any; - // if (getCurrentInstance()) { - // currentInstance.scrollBottom = scrollBottom; - // currentInstance.scrollTo = scrollTo; - // currentInstance.getScrollWrap = getScrollWrap; - // } const drawerInstance: DrawerInstance = { setDrawerProps: setDrawerProps, }; @@ -253,15 +214,6 @@ export default defineComponent({ class={[!unref(getProps).loading ? 'hidden' : '']} tip="加载中..." /> - {/* - {() => getSlot(slots, 'default')} - */}
(null); - const loadingRef = ref(false); - - /** - * @description: 第一行作为头部 - */ - function getHeaderRow(sheet: XLSX.WorkSheet) { - if (!sheet || !sheet['!ref']) return []; - const headers: string[] = []; - // A3:B7=>{s:{c:0, r:2}, e:{c:1, r:6}} - const range = XLSX.utils.decode_range(sheet['!ref']); - - const R = range.s.r; - /* start in the first row */ - for (let C = range.s.c; C <= range.e.c; ++C) { - /* walk every column in the range */ - const cell = sheet[XLSX.utils.encode_cell({ c: C, r: R })]; - /* find the cell in the first row */ - let hdr = 'UNKNOWN ' + C; // <-- replace with your desired default - if (cell && cell.t) hdr = XLSX.utils.format_cell(cell); - headers.push(hdr); - } - return headers; - } - - /** - * @description: 获得excel数据 - */ - function getExcelData(workbook: XLSX.WorkBook) { - const excelData: ExcelData[] = []; - for (const sheetName of workbook.SheetNames) { - const worksheet = workbook.Sheets[sheetName]; - const header: string[] = getHeaderRow(worksheet); - const results = XLSX.utils.sheet_to_json(worksheet); - excelData.push({ - header, - results, - meta: { - sheetName, - }, - }); - } - return excelData; - } - - /** - * @description: 读取excel数据 - */ - function readerData(rawFile: File) { - loadingRef.value = true; - return new Promise((resolve, reject) => { - const reader = new FileReader(); - reader.onload = async (e) => { - try { - const data = e.target && e.target.result; - const workbook = XLSX.read(data, { type: 'array' }); - // console.log(workbook); - /* DO SOMETHING WITH workbook HERE */ - const excelData = getExcelData(workbook); - emit('success', excelData); - resolve(); - } catch (error) { - reject(error); - } finally { - loadingRef.value = false; - } - }; - reader.readAsArrayBuffer(rawFile); - }); - } - - async function upload(rawFile: File) { - const inputRefDom = unref(inputRef); - if (inputRefDom) { - // fix can't select the same excel - inputRefDom.value = ''; - } - readerData(rawFile); - } - /** - * @description: 触发选择文件管理器 - */ - function handleInputClick(e: Event) { - const files = e && (e.target as HTMLInputElement).files; - const rawFile = files && files[0]; // only use files[0] - if (!rawFile) return; - upload(rawFile); - } - /** - * @description: 点击上传按钮 - */ - function handleUpload() { - const inputRefDom = unref(inputRef); - inputRefDom && inputRefDom.click(); - } - - return () => { - return ( -
- -
{getSlot(slots)}
-
- ); - }; - }, -}); diff --git a/src/components/Excel/src/ImportExcel.vue b/src/components/Excel/src/ImportExcel.vue new file mode 100644 index 0000000000000000000000000000000000000000..9c706545043d21f33c0679c1fdf36fe219a2c018 --- /dev/null +++ b/src/components/Excel/src/ImportExcel.vue @@ -0,0 +1,123 @@ + + diff --git a/src/router/routes/modules/demo/excel.ts b/src/router/routes/modules/demo/excel.ts index a486804f3730460d32ffd51c4e1bc897c4dbd5c1..24fa5a5c79299310ad77a9e1b0b05d8431dd515a 100644 --- a/src/router/routes/modules/demo/excel.ts +++ b/src/router/routes/modules/demo/excel.ts @@ -9,7 +9,7 @@ export default { component: PAGE_LAYOUT_COMPONENT, redirect: '/excel/customExport', meta: { - icon: 'ant-design:area-chart-outlined', + icon: 'mdi:microsoft-excel', title: 'Excel', }, }, @@ -18,7 +18,7 @@ export default { { path: '/customExport', name: 'CustomExport', - component: () => import('/@/views/demo/echarts/excel/CustomExport.vue'), + component: () => import('/@/views/demo/excel/CustomExport.vue'), meta: { title: '选择导出格式', }, @@ -26,7 +26,7 @@ export default { { path: '/jsonExport', name: 'JsonExport', - component: () => import('/@/views/demo/echarts/excel/JsonExport.vue'), + component: () => import('/@/views/demo/excel/JsonExport.vue'), meta: { title: 'JSON数据导出', }, @@ -34,7 +34,7 @@ export default { { path: '/arrayExport', name: 'ArrayExport', - component: () => import('/@/views/demo/echarts/excel/ArrayExport.vue'), + component: () => import('/@/views/demo/excel/ArrayExport.vue'), meta: { title: 'Array数据导出', }, @@ -42,12 +42,10 @@ export default { { path: '/importExcel', name: 'ImportExcel', - component: () => import('/@/views/demo/echarts/excel/ImportExcel.vue'), + component: () => import('/@/views/demo/excel/ImportExcel.vue'), meta: { title: '导入', }, }, - // ], - // }, ], } as AppRouteModule; diff --git a/src/router/routes/modules/demo/tree.ts b/src/router/routes/modules/demo/tree.ts index 9d837ea109731489a2251fed09d388c14b9b3ec0..75d060a70b7abcf3138aecdaa74229884dfc2623 100644 --- a/src/router/routes/modules/demo/tree.ts +++ b/src/router/routes/modules/demo/tree.ts @@ -9,7 +9,7 @@ export default { component: PAGE_LAYOUT_COMPONENT, redirect: '/tree/basic', meta: { - icon: 'ant-design:table-outlined', + icon: 'clarity:tree-view-line', title: 'Tree', }, }, diff --git a/src/views/demo/echarts/excel/ArrayExport.vue b/src/views/demo/excel/ArrayExport.vue similarity index 100% rename from src/views/demo/echarts/excel/ArrayExport.vue rename to src/views/demo/excel/ArrayExport.vue diff --git a/src/views/demo/echarts/excel/CustomExport.vue b/src/views/demo/excel/CustomExport.vue similarity index 100% rename from src/views/demo/echarts/excel/CustomExport.vue rename to src/views/demo/excel/CustomExport.vue diff --git a/src/views/demo/echarts/excel/ImportExcel.vue b/src/views/demo/excel/ImportExcel.vue similarity index 100% rename from src/views/demo/echarts/excel/ImportExcel.vue rename to src/views/demo/excel/ImportExcel.vue diff --git a/src/views/demo/echarts/excel/JsonExport.vue b/src/views/demo/excel/JsonExport.vue similarity index 100% rename from src/views/demo/echarts/excel/JsonExport.vue rename to src/views/demo/excel/JsonExport.vue diff --git a/src/views/demo/echarts/excel/data.ts b/src/views/demo/excel/data.ts similarity index 100% rename from src/views/demo/echarts/excel/data.ts rename to src/views/demo/excel/data.ts