diff --git a/src/apis/health-record/index.ts b/src/apis/health-record/index.ts index 23284c2..2326336 100644 --- a/src/apis/health-record/index.ts +++ b/src/apis/health-record/index.ts @@ -40,7 +40,7 @@ export function createHealthRecord(data: HealthRecord) { return request({ url: '/health-record', method: 'post', - data + data, }) } @@ -49,7 +49,7 @@ export function getHealthRecordList(params: HealthRecordListParams) { return request({ url: '/health-record/list', method: 'get', - params + params, }) } @@ -57,7 +57,7 @@ export function getHealthRecordList(params: HealthRecordListParams) { export function getHealthRecordDetail(id: string) { return request({ url: `/health-record/detail/${id}`, - method: 'get' + method: 'get', }) } @@ -66,7 +66,7 @@ export function updateHealthRecord(id: string, data: HealthRecord) { return request({ url: `/health-record/${id}`, method: 'put', - data + data, }) } @@ -74,7 +74,7 @@ export function updateHealthRecord(id: string, data: HealthRecord) { export function deleteHealthRecord(id: string) { return request({ url: `/health-record/${id}`, - method: 'delete' + method: 'delete', }) } @@ -83,14 +83,14 @@ export function uploadHealthReport(file: File, recordId: string) { const formData = new FormData() formData.append('file', file) formData.append('recordId', recordId) - + return request({ url: '/health-record/upload-report', method: 'post', data: formData, headers: { - 'Content-Type': 'multipart/form-data' - } + 'Content-Type': 'multipart/form-data', + }, }) } @@ -99,7 +99,7 @@ export function downloadHealthReport(fileId: string) { return request({ url: `/health-record/download-report/${fileId}`, method: 'get', - responseType: 'blob' + responseType: 'blob', }) } @@ -107,7 +107,7 @@ export function downloadHealthReport(fileId: string) { export function getEmployeeHealthHistory(employeeId: string) { return request({ url: `/health-record/employee/${employeeId}`, - method: 'get' + method: 'get', }) } @@ -117,7 +117,7 @@ export function exportHealthRecords(params: HealthRecordListParams) { url: '/health-record/export', method: 'get', params, - responseType: 'blob' + responseType: 'blob', }) } @@ -131,6 +131,6 @@ export function scheduleHealthCheck(data: { return request({ url: '/health-record/schedule', method: 'post', - data + data, }) -} \ No newline at end of file +} diff --git a/src/apis/index.ts b/src/apis/index.ts index 182c8cd..dad12f7 100644 --- a/src/apis/index.ts +++ b/src/apis/index.ts @@ -9,6 +9,7 @@ export * from './project' export * from './project/task' export * from './attach-info' export * from './model-config' +export * from './performance' // 保险相关模块 export * as InsuranceAPI from './insurance' export * as InsuranceCompanyAPI from './insurance-company' @@ -27,3 +28,5 @@ export * from './schedule/type' export * from './project/type' export * from './attach-info/type' export * from './model-config/type' +export * from './performance/type' +export * from './salary' diff --git a/src/apis/performance/index.ts b/src/apis/performance/index.ts new file mode 100644 index 0000000..98ec023 --- /dev/null +++ b/src/apis/performance/index.ts @@ -0,0 +1,59 @@ +import type * as T from './type' +import http from '@/utils/http' + +const BASE_URL = '/performance' + +/* ===== 维度 ===== */ +export const getDimensionList = () => http.get(`${BASE_URL}/dimension`) + +export const addDimension = (data: T.DimensionAddReq) => + http.post(`${BASE_URL}/dimension`, data) + +export const updateDimension = (id: string, data: T.DimensionUpdateReq) => + http.put(`${BASE_URL}/dimension/${id}`, data) + +export const deleteDimension = (id: string) => + http.del(`${BASE_URL}/dimension/${id}`) + +/** 维度详情(RuleDrawer.vue 需要) */ +export const getDimensionDetail = (id: string) => + http.get(`${BASE_URL}/dimension/${id}`) + +/* ===== 细则 ===== */ +export const getRuleList = (dimensionId: string) => + http.get(`${BASE_URL}/rule`, { dimensionId }) + +export const addRule = (data: T.RuleAddReq) => + http.post(`${BASE_URL}/rule`, data) + +export const updateRule = (id: string, data: T.RuleUpdateReq) => + http.put(`${BASE_URL}/rule/${id}`, data) + +export const deleteRule = (id: string) => + http.del(`${BASE_URL}/rule/${id}`) + +/** 细则详情(RuleDrawer.vue 需要) */ +export const getRuleDetail = (id: string) => + http.get(`${BASE_URL}/rule/${id}`) + +/* ===== 周期 ===== */ +export const getPeriodList = () => http.get(`${BASE_URL}/period`) +export const addPeriod = (data: T.PeriodResp) => http.post(`${BASE_URL}/period`, data) +export const deletePeriod = (id: string) => http.del(`${BASE_URL}/period/${id}`) +export const updataPeriod = (id: string, data: T.PeriodResp) => http.post(`${BASE_URL}/period/${id}`, data) + +/* ===== 评估 ===== */ +export const startEvaluate = (data: T.EvaluateReq) => + http.post(`${BASE_URL}/evaluate`, data) + +export const getEvaluatePage = (query?: T.EvaluateQuery) => + http.get>(`${BASE_URL}/evaluate/page`, query) +// 同样的修改和删除评估接口 + +/** 员工查看自己的绩效 */ +export const getMyEvaluate = (query?: T.EvaluateQuery) => + http.get>(`${BASE_URL}/evaluate/my`, query) + +/* ===== 反馈 ===== */ +export const submitFeedback = (data: T.FeedbackReq) => + http.post(`${BASE_URL}/feedback`, data) diff --git a/src/apis/performance/type.ts b/src/apis/performance/type.ts new file mode 100644 index 0000000..0cd4357 --- /dev/null +++ b/src/apis/performance/type.ts @@ -0,0 +1,87 @@ +// ========== 维度 ========== +export interface DimensionResp { + id: string + name: string + desc: string + weight: number + status: 0 | 1 + ruleCount: number + deptId: string +} + +export interface DimensionAddReq { + name: string + desc: string + weight: number + deptId: string +} + +export interface DimensionUpdateReq extends DimensionAddReq { + status: 0 | 1 +} + +// ========== 细则 ========== +export interface RuleResp { + id: string + dimensionId: string + name: string + ruleDesc: string + score: number + weight: number + isExtra: boolean +} + +export interface RuleAddReq { + dimensionId: string + name: string + ruleDesc: string + score: number + weight: number + isExtra: boolean +} + +export interface RuleUpdateReq extends RuleAddReq {} + +// ========== 绩效周期 ========== +export interface PeriodResp { + id: string + name: string + startDate: string + endDate: string +} + +// ========== 评估 ========== +export interface EvaluateReq { + userId: string + dimensionId: string + ruleId: string + periodId: string +} + +export interface EvaluateResp { + id: string // 细则id + userId: string + userName: string + dimensionName: string + ruleName: string + periodName: string + score: number + aiComment: string + status: 0 | 1 // 0待反馈 1已反馈 +} + +// ========== 查询 ========== +export interface EvaluateQuery { + keyword?: string + periodId?: string + dimensionId?: string + status?: 0 | 1 +} + +// ========== 反馈 ========== +export interface FeedbackReq { + evaluateId: string + level: 0 | 1 | 2 + content: string + userId: string +} diff --git a/src/apis/salary/index.ts b/src/apis/salary/index.ts new file mode 100644 index 0000000..1317359 --- /dev/null +++ b/src/apis/salary/index.ts @@ -0,0 +1,64 @@ +import type { SalaryRecord, SalaryQuery, SalaryCreateRequest } from '@/views/salary-management/types' +import http from '@/utils/http' + +const BASE_URL = '/salary' + +// 获取工资单列表 +export const getSalaryList = (query?: SalaryQuery) => { + return http.get>(`${BASE_URL}/list`, query) +} + +// 获取工资单详情 +export const getSalaryDetail = (id: string) => { + return http.get(`${BASE_URL}/${id}`) +} + +// 创建工资单 +export const createSalary = (data: SalaryCreateRequest) => { + return http.post(`${BASE_URL}`, data) +} + +// 更新工资单 +export const updateSalary = (id: string, data: Partial) => { + return http.put(`${BASE_URL}/${id}`, data) +} + +// 删除工资单 +export const deleteSalary = (id: string) => { + return http.del(`${BASE_URL}/${id}`) +} + +// 提交审批 +export const submitApproval = (id: string) => { + return http.post(`${BASE_URL}/${id}/submit`) +} + +// 审批工资单 +export const approveSalary = (id: string, data: { status: string; comment?: string }) => { + return http.put(`${BASE_URL}/${id}/approve`, data) +} + +// 导出工资单 +export const exportSalary = (id: string, format: 'excel' | 'pdf' = 'excel') => { + return http.download(`${BASE_URL}/${id}/export`, { format }) +} + +// 批量导出 +export const exportSalaryBatch = (ids: string[], format: 'excel' | 'pdf' = 'excel') => { + return http.download(`${BASE_URL}/export/batch`, { ids, format }) +} + +// 获取实习生配置 +export const getInternConfig = () => { + return http.get(`${BASE_URL}/config/intern`) +} + +// 获取员工列表 +export const getEmployeeList = (type?: string) => { + return http.get(`${BASE_URL}/employees`, { type }) +} + +// 获取项目列表 +export const getProjectList = () => { + return http.get(`${BASE_URL}/projects`) +} diff --git a/src/apis/system/user-new.ts b/src/apis/system/user-new.ts index f331dde..1b4d4b5 100644 --- a/src/apis/system/user-new.ts +++ b/src/apis/system/user-new.ts @@ -36,4 +36,4 @@ export function updateUserNew(userId: string, data: T.UserNewUpdateReq) { /** @desc 删除用户信息 */ export function deleteUserNew(userId: string) { return http.del(`${BASE_URL}/${userId}`) -} \ No newline at end of file +} diff --git a/src/router/route.ts b/src/router/route.ts index 3fbba31..b35f0f8 100644 --- a/src/router/route.ts +++ b/src/router/route.ts @@ -67,7 +67,7 @@ export const systemRoutes: RouteRecordRaw[] = [ { path: '/organization/hr/performance', name: 'HRPerformance', - component: () => import('@/views/hr/performance/index.vue'), + component: () => import('@/views/performance/index.vue'), meta: { title: '绩效', icon: 'performance', hidden: false }, }, { @@ -83,7 +83,7 @@ export const systemRoutes: RouteRecordRaw[] = [ component: () => import('@/views/hr/salary/index.vue'), meta: { title: '工资概览', icon: 'salary', hidden: false }, }, - ] + ], }, // { // path: '/organization/hr/salary/insurance', @@ -166,8 +166,8 @@ export const systemRoutes: RouteRecordRaw[] = [ name: 'HRSystemTypeManagement', component: () => import('@/views/hr/salary/system-insurance/type-management/index.vue'), meta: { title: '保险类型管理', icon: 'category', hidden: false }, - } - ] + }, + ], }, { path: '/organization/hr/salary/certification', @@ -180,15 +180,54 @@ export const systemRoutes: RouteRecordRaw[] = [ name: 'HRContribution', component: () => import('@/views/hr/contribution/index.vue'), meta: { title: '责献积分制度', icon: 'contribution', hidden: false }, - } - ] + }, + ], }, { path: '/organization/role', name: 'OrganizationRole', component: () => import('@/views/system/role/index.vue'), meta: { title: '角色管理', icon: 'role', hidden: false }, - } + }, + ], + }, + { + path: '/performance', + name: 'Performance', + component: Layout, + redirect: '/performance/dimension', + meta: { title: '绩效管理', icon: 'chart', hidden: false, sort: 3 }, + children: [ + { + path: '/performance/dimension', + name: 'PerformanceDimension', + component: () => import('@/views/performance/dimension.vue'), + meta: { title: '绩效维度管理', icon: 'dashboard', hidden: false }, + }, + { + path: '/performance/rule', + name: 'PerformanceRule', + component: () => import('@/views/performance/rule.vue'), + meta: { title: '细则管理', icon: 'setting', hidden: false }, + }, + { + path: '/performance/evaluate', + name: 'PerformanceEvaluate', + component: () => import('@/views/performance/evaluate.vue'), + meta: { title: '员工评估', icon: 'user', hidden: false }, + }, + { + path: '/performance/my', + name: 'PerformanceMy', + component: () => import('@/views/performance/my.vue'), + meta: { title: '我的绩效', icon: 'user', hidden: false }, + }, + { + path: '/salary-management', + name: 'SalaryManagement', + component: () => import('@/views/salary-management/index.vue'), + meta: { title: '工资管理', hidden: false }, + }, ], }, { @@ -203,7 +242,7 @@ export const systemRoutes: RouteRecordRaw[] = [ name: 'IntellectualProperty', component: () => import('@/views/system-resource/information-system/software-management/index.vue'), meta: { title: '其他资产', icon: 'copyright', hidden: false }, - } + }, ], }, { @@ -250,8 +289,8 @@ export const systemRoutes: RouteRecordRaw[] = [ name: 'BladeRobot', component: () => import('@/views/service/lightning-detection/index.vue'), meta: { title: '叶片维修机器人', icon: 'robot', hidden: false }, - } - ] + }, + ], }, { path: '/products-services/products/software', @@ -277,10 +316,10 @@ export const systemRoutes: RouteRecordRaw[] = [ name: 'GroundStation', component: () => import('@/views/service/lightning-detection/index.vue'), meta: { title: '无人机地面站软件', icon: 'station', hidden: false }, - } - ] - } - ] + }, + ], + }, + ], }, { path: '/products-services/services', @@ -342,9 +381,9 @@ export const systemRoutes: RouteRecordRaw[] = [ name: 'BladeMaintenance', component: () => import('@/views/service/lightning-detection/index.vue'), meta: { title: '叶片维修', icon: 'maintenance', hidden: false }, - } - ] - } + }, + ], + }, ], }, { @@ -362,7 +401,7 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '施工立项', icon: 'file-protect', - hidden: false + hidden: false, }, children: [ { @@ -372,8 +411,8 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '招标文件', icon: 'file-text', - hidden: false - } + hidden: false, + }, }, { path: '/project-management/project-template/bid-documents', @@ -382,8 +421,8 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '投标文件', icon: 'file-text', - hidden: false - } + hidden: false, + }, }, { path: '/project-management/project-template/award-notice', @@ -392,8 +431,8 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '中标通知书', icon: 'trophy', - hidden: false - } + hidden: false, + }, }, { path: '/project-management/projects/initiation', @@ -402,10 +441,10 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '立项管理', icon: 'plus-circle', - hidden: false - } + hidden: false, + }, }, - ] + ], }, { path: '/project-management/contract', @@ -415,7 +454,7 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '市场商务管理', icon: 'file-text', - hidden: false + hidden: false, }, children: [ { @@ -425,8 +464,8 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '收入合同', icon: 'dollar', - hidden: false - } + hidden: false, + }, }, { path: '/project-management/contract/expense-contract', @@ -435,8 +474,8 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '支出合同', icon: 'credit-card', - hidden: false - } + hidden: false, + }, }, { path: '/project-management/contract/cost-management', @@ -445,10 +484,10 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '成本费用', icon: 'bar-chart', - hidden: false - } - } - ] + hidden: false, + }, + }, + ], }, { path: '/project-management/projects', @@ -458,10 +497,10 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '组织实施管理', icon: 'briefcase', - hidden: false + hidden: false, }, children: [ - + { path: '/project-management/projects/progress', name: 'ProjectProgress', @@ -469,8 +508,8 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '进度管理', icon: 'schedule', - hidden: false - } + hidden: false, + }, }, { path: '/project-management/projects/budget', @@ -479,8 +518,8 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '预算管理', icon: 'fund', - hidden: false - } + hidden: false, + }, }, { path: '/project-management/projects/personnel-distribution', @@ -489,8 +528,8 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '人员分布图', icon: 'team', - hidden: false - } + hidden: false, + }, }, { path: '/project-management/projects/device', @@ -499,8 +538,8 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '设备管理', icon: 'plus-circle', - hidden: false - } + hidden: false, + }, }, { path: '/project-management/projects/safety', @@ -509,8 +548,8 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '安全管理', icon: 'safety', - hidden: false - } + hidden: false, + }, }, { path: '/project-management/projects/quality', @@ -519,11 +558,11 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '质量管理', icon: 'audit', - hidden: false - } - } - ] - } + hidden: false, + }, + }, + ], + }, ], }, { @@ -554,16 +593,16 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '项目列表', icon: 'unordered-list', - hidden: false - } + hidden: false, + }, }, { path: '/construction-operation-platform/implementation-workflow/field-construction/technology', name: 'FieldConstructionTechnology', component: () => import('@/views/project-operation-platform/implementation-workflow/field-construction/project-list/index.vue'), meta: { title: '现场工艺', icon: 'tool', hidden: false }, - } - ] + }, + ], }, { path: '/construction-operation-platform/implementation-workflow/data-processing', @@ -604,7 +643,7 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '模型配置', icon: 'robot', hidden: false }, }, - ] + ], }, { path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection', @@ -654,10 +693,10 @@ export const systemRoutes: RouteRecordRaw[] = [ name: 'ReportReview', component: () => import('@/views/project-operation-platform/data-processing/report-review/index.vue'), meta: { title: '报告修改审核', icon: 'audit', hidden: false }, - } - ] - } - ] + }, + ], + }, + ], }, { path: '/construction-operation-platform/implementation-workflow/tower-monitoring-video', @@ -683,8 +722,8 @@ export const systemRoutes: RouteRecordRaw[] = [ name: 'ImageDetection', component: () => import('@/views/project-operation-platform/data-processing/wide-angle-video/index.vue'), meta: { title: '图像检测', icon: 'picture', hidden: false }, - } - ] + }, + ], }, { path: '/construction-operation-platform/implementation-workflow/project-delivery', @@ -734,11 +773,11 @@ export const systemRoutes: RouteRecordRaw[] = [ name: 'ReportTemplateOther', component: () => import('@/views/project-operation-platform/data-processing/report-template/index.vue'), meta: { title: '报告模版库', icon: 'book', hidden: false }, - } - ] - } - ] - } + }, + ], + }, + ], + }, ], }, { @@ -758,7 +797,7 @@ export const systemRoutes: RouteRecordRaw[] = [ // hidden: false // } // } - ] + ], }, { path: '/enterprise-settings', @@ -773,9 +812,9 @@ export const systemRoutes: RouteRecordRaw[] = [ component: () => import('@/views/enterprise-settings/company-info/index.vue'), meta: { title: '企业信息', - icon: 'info-circle', - hidden: false - } + icon: 'info-circle', + hidden: false, + }, }, { path: '/enterprise-settings/admin-permissions', @@ -784,8 +823,8 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '管理员权限', icon: 'lock', - hidden: false - } + hidden: false, + }, }, { path: '/enterprise-settings/data-migration', @@ -794,20 +833,20 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '数据迁移', icon: 'database', - hidden: false - } + hidden: false, + }, }, { path: '/enterprise-settings/version-upgrade', name: 'VersionUpgrade', component: () => import('@/views/enterprise-settings/version-upgrade/index.vue'), meta: { - title: '版本升级提醒', + title: '版本升级提醒', icon: 'upgrade', - hidden: false - } - } - ] + hidden: false, + }, + }, + ], }, { path: '/enterprise-dashboard', @@ -823,8 +862,8 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '数据概览', icon: 'bar-chart', - hidden: false - } + hidden: false, + }, }, { path: '/enterprise-dashboard/member-data', @@ -833,8 +872,8 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '成员活跃数据', icon: 'team', - hidden: false - } + hidden: false, + }, }, { path: '/enterprise-dashboard/function-usage', @@ -843,8 +882,8 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '功能使用情况', icon: 'appstore', - hidden: false - } + hidden: false, + }, }, { path: '/enterprise-dashboard/application-data', @@ -853,10 +892,10 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '应用使用数据', icon: 'pie-chart', - hidden: false - } - } - ] + hidden: false, + }, + }, + ], }, { path: '/system-resource', @@ -865,60 +904,59 @@ export const systemRoutes: RouteRecordRaw[] = [ redirect: '/system-resource/device-management/warehouse', meta: { title: '关于平台', icon: 'server', hidden: false, sort: 9 }, children: [ + { + path: '/system-resource/device-management/warehouse', + name: 'DeviceWarehouse', + component: () => import('@/views/system-resource/device-management/index.vue'), + meta: { + title: '库存管理', + icon: 'warehouse', + hidden: false, + }, + }, + { + path: '/system-resource/device-management/online', + name: 'DeviceOnline', + component: () => import('@/components/ParentView/index.vue'), + redirect: '/system-resource/device-management/online/drone', + meta: { + title: '在线管理', + icon: 'cloud', + hidden: false, + }, + children: [ { - path: '/system-resource/device-management/warehouse', - name: 'DeviceWarehouse', + path: '/system-resource/device-management/online/drone', + name: 'DeviceDrone', component: () => import('@/views/system-resource/device-management/index.vue'), meta: { - title: '库存管理', - icon: 'warehouse', - hidden: false - } + title: '无人机', + icon: 'drone', + hidden: false, + }, }, { - path: '/system-resource/device-management/online', - name: 'DeviceOnline', - component: () => import('@/components/ParentView/index.vue'), - redirect: '/system-resource/device-management/online/drone', + path: '/system-resource/device-management/online/nest', + name: 'DeviceNest', + component: () => import('@/views/system-resource/device-management/index.vue'), meta: { - title: '在线管理', - icon: 'cloud', - hidden: false + title: '机巢', + icon: 'nest', + hidden: false, }, - children: [ - { - path: '/system-resource/device-management/online/drone', - name: 'DeviceDrone', - component: () => import('@/views/system-resource/device-management/index.vue'), - meta: { - title: '无人机', - icon: 'drone', - hidden: false - } - }, - { - path: '/system-resource/device-management/online/nest', - name: 'DeviceNest', - component: () => import('@/views/system-resource/device-management/index.vue'), - meta: { - title: '机巢', - icon: 'nest', - hidden: false - } - }, - { - path: '/system-resource/device-management/online/smart-terminal', - name: 'DeviceSmartTerminal', - component: () => import('@/views/system-resource/device-management/index.vue'), - meta: { - title: '其他智能终端', - icon: 'terminal', - hidden: false - } - } - ] - } - , + }, + { + path: '/system-resource/device-management/online/smart-terminal', + name: 'DeviceSmartTerminal', + component: () => import('@/views/system-resource/device-management/index.vue'), + meta: { + title: '其他智能终端', + icon: 'terminal', + hidden: false, + }, + }, + ], + }, { path: '/system-resource/information-system', name: 'InformationSystem', @@ -927,7 +965,7 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '信息化系统管理', icon: 'code', - hidden: false + hidden: false, }, children: [ { @@ -937,8 +975,8 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '软件管理', icon: 'appstore', - hidden: false - } + hidden: false, + }, }, { path: '/system-resource/information-system/system-backup', @@ -947,10 +985,10 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '系统备份管理', icon: 'save', - hidden: false - } - } - ] + hidden: false, + }, + }, + ], }, { path: '/system-resource/about', @@ -959,10 +997,10 @@ export const systemRoutes: RouteRecordRaw[] = [ meta: { title: '关于我们', icon: 'info-circle', - hidden: false - } - } - ] + hidden: false, + }, + }, + ], }, { @@ -1001,4 +1039,3 @@ export const constantRoutes: RouteRecordRaw[] = [ meta: { hidden: true }, }, ] - diff --git a/src/views/performance/components/DimensionDrawer.vue b/src/views/performance/components/DimensionDrawer.vue new file mode 100644 index 0000000..8c60994 --- /dev/null +++ b/src/views/performance/components/DimensionDrawer.vue @@ -0,0 +1,75 @@ + + + diff --git a/src/views/performance/components/EvaluateDetail.vue b/src/views/performance/components/EvaluateDetail.vue new file mode 100644 index 0000000..4f99e31 --- /dev/null +++ b/src/views/performance/components/EvaluateDetail.vue @@ -0,0 +1,100 @@ + + + diff --git a/src/views/performance/components/PerformanceMenu.vue b/src/views/performance/components/PerformanceMenu.vue new file mode 100644 index 0000000..833af84 --- /dev/null +++ b/src/views/performance/components/PerformanceMenu.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/views/performance/components/RuleDrawer.vue b/src/views/performance/components/RuleDrawer.vue new file mode 100644 index 0000000..c2c15db --- /dev/null +++ b/src/views/performance/components/RuleDrawer.vue @@ -0,0 +1,131 @@ + + + diff --git a/src/views/performance/components/RuleList.vue b/src/views/performance/components/RuleList.vue new file mode 100644 index 0000000..9e3db70 --- /dev/null +++ b/src/views/performance/components/RuleList.vue @@ -0,0 +1,67 @@ + + + diff --git a/src/views/performance/dimension.vue b/src/views/performance/dimension.vue new file mode 100644 index 0000000..79eb535 --- /dev/null +++ b/src/views/performance/dimension.vue @@ -0,0 +1,72 @@ + + + diff --git a/src/views/performance/evaluate.vue b/src/views/performance/evaluate.vue new file mode 100644 index 0000000..d869ea0 --- /dev/null +++ b/src/views/performance/evaluate.vue @@ -0,0 +1,70 @@ + + + diff --git a/src/views/performance/index.vue b/src/views/performance/index.vue new file mode 100644 index 0000000..0c49865 --- /dev/null +++ b/src/views/performance/index.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/views/performance/my.vue b/src/views/performance/my.vue new file mode 100644 index 0000000..fdb21fa --- /dev/null +++ b/src/views/performance/my.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/views/performance/rule.vue b/src/views/performance/rule.vue new file mode 100644 index 0000000..a6cb791 --- /dev/null +++ b/src/views/performance/rule.vue @@ -0,0 +1,61 @@ + + + diff --git a/src/views/salary-management/index.vue b/src/views/salary-management/index.vue new file mode 100644 index 0000000..26e6b99 --- /dev/null +++ b/src/views/salary-management/index.vue @@ -0,0 +1,229 @@ + + + + +