diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue index 17469fb..6c93b78 100644 --- a/src/layout/components/Sidebar/SidebarItem.vue +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -69,9 +69,9 @@ export default { }) // When there is only one child router, the child router is displayed by default - if (showingChildren.length === 1) { - return true - } + // if (showingChildren.length === 1) { + // return true + // } // Show parent if there are no child router to display if (showingChildren.length === 0) { diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js index 9f5f268..1264500 100644 --- a/src/store/modules/permission.js +++ b/src/store/modules/permission.js @@ -7,13 +7,13 @@ import Nested from "@/layout/nested.vue" const loadView = (view) => { return (resolve) => require([`@/views${view}`], resolve); } -const componentHandle = (path, route)=> { - if (/^#+/.test(path)) { +const componentHandle = (url, route)=> { + if (/^#+/.test(route.path) && route.pid === 0) { return Layout - } else if (/^#+/.test(path) && route.pid !== 0) { + } else if (/^#+/.test(route.path) && route.pid !== 0) { return Nested } else { - return loadView(path) + return loadView(url) } } @@ -22,6 +22,23 @@ export function filterAsyncRoutes(routes) { routes.forEach(route => { if (!route.visible) return + let params = {}; + if(route.path?.includes('?')){ + let flag = route.path.split('?') + route.path = flag[0] + if(flag[1]){ + let list = flag[1].split('&') + list.forEach(item => { + let kv = item.split('=') + Object.defineProperty(params,kv[0],{ + value:kv[1], + writable:true, + enumerable:true, + configurable:false + }) + }) + } + } let tmp= { key: `key-${route.id}`, path: route.path === '#' ? '' : route.path, @@ -33,6 +50,7 @@ export function filterAsyncRoutes(routes) { icon: route.icon, guard: route.guard_name, folder: route.folder, + params } } diff --git a/src/views/attendance/YearStatistics.vue b/src/views/attendance/YearStatistics.vue index 0d7e4b2..9d09d13 100644 --- a/src/views/attendance/YearStatistics.vue +++ b/src/views/attendance/YearStatistics.vue @@ -1,78 +1,110 @@ - - - - - diff --git a/src/views/attendance/otherovertimechart.vue b/src/views/attendance/otherovertimechart.vue index 3886d3a..b69c3ad 100644 --- a/src/views/attendance/otherovertimechart.vue +++ b/src/views/attendance/otherovertimechart.vue @@ -4,15 +4,21 @@ @@ -48,7 +54,15 @@ + title="本月折算累计(h)"> + + + + + @@ -72,7 +86,7 @@ page_size: 10, month: this.$moment().format('YYYY-MM'), department_id: '', - is_week: 1 + is_week: 0 }, my_department_id: "", is_bgs: false, // 是否是办公室 @@ -121,7 +135,10 @@ id, name, department, - overtime + overtime, + time_off, + use_overtime, + discount, } = item; let obj = {} const allDay = overtime.reduce((sum, overtimeItem) => sum + parseFloat(overtimeItem.jiabanshichang), 0); @@ -148,7 +165,10 @@ overtimeItem.sortnumber = department.sortnumber overtimeItem.department_id = department.id overtimeItem.allDay = parseFloat(allDay).toFixed(2); - overtimeItem.allConvertTime = parseFloat(allConvertTime).toFixed(2); + overtimeItem.allConvertTime = parseFloat(allConvertTime).toFixed(2); + overtimeItem.time_off = parseFloat(time_off).toFixed(2); + overtimeItem.use_overtime = parseFloat(use_overtime).toFixed(2); + overtimeItem.discount = parseFloat(discount).toFixed(2); result.push(overtimeItem); // 累计折算时长 @@ -179,8 +199,9 @@ // 合并单元格 generateMergeCells(data) { const columns = this.$refs.table.getColumns(); - let mergeCells = []; - const columnsToMerge = ['department_name', 'name', 'allDay', 'allConvertTime']; + let mergeCells = []; + + const columnsToMerge = ['department_name', 'name', 'allDay', 'allConvertTime','time_off','use_overtime','discount']; columnsToMerge.forEach(key => { const col = columns.findIndex(item => item['field'] === key); diff --git a/src/views/attendance/statistics.vue b/src/views/attendance/statistics.vue index 0005c04..c4fc0ac 100644 --- a/src/views/attendance/statistics.vue +++ b/src/views/attendance/statistics.vue @@ -4,6 +4,13 @@ @@ -93,12 +100,18 @@