diff --git a/src/api/hrm/attendrecord/index.ts b/src/api/hrm/attendrecord/index.ts
new file mode 100644
index 000000000..70c313e46
--- /dev/null
+++ b/src/api/hrm/attendrecord/index.ts
@@ -0,0 +1,47 @@
+import request from '@/config/axios'
+
+// 考勤记录 VO
+export interface AttendRecordVO {
+ id: number // 主键ID
+ userId: number // 员工ID
+ deptId: number // 部门ID
+ postId: number // 岗位ID
+ clockStatus: string // 打卡状态(正常、迟到、早退、缺卡等)
+ clockType: string // 打卡类型(正常上下班、加班)
+ clockInTime: Date // 打卡开始时间(上班打卡)
+ clockOutTime: Date // 打卡结束时间(下班打卡)
+ attendanceDuration: number // 日出勤时长(小时)
+}
+
+// 考勤记录 API
+export const AttendRecordApi = {
+ // 查询考勤记录分页
+ getAttendRecordPage: async (params: any) => {
+ return await request.get({ url: `/hrm/attend-record/page`, params })
+ },
+
+ // 查询考勤记录详情
+ getAttendRecord: async (id: number) => {
+ return await request.get({ url: `/hrm/attend-record/get?id=` + id })
+ },
+
+ // 新增考勤记录
+ createAttendRecord: async (data: AttendRecordVO) => {
+ return await request.post({ url: `/hrm/attend-record/create`, data })
+ },
+
+ // 修改考勤记录
+ updateAttendRecord: async (data: AttendRecordVO) => {
+ return await request.put({ url: `/hrm/attend-record/update`, data })
+ },
+
+ // 删除考勤记录
+ deleteAttendRecord: async (id: number) => {
+ return await request.delete({ url: `/hrm/attend-record/delete?id=` + id })
+ },
+
+ // 导出考勤记录 Excel
+ exportAttendRecord: async (params) => {
+ return await request.download({ url: `/hrm/attend-record/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/hrm/attendrule/index.ts b/src/api/hrm/attendrule/index.ts
new file mode 100644
index 000000000..00cb12e48
--- /dev/null
+++ b/src/api/hrm/attendrule/index.ts
@@ -0,0 +1,58 @@
+import request from '@/config/axios'
+
+// 考勤规则 VO
+export interface AttendRuleVO {
+ id: number // 主键
+ name: string // 规则名称
+ isOvertimeAllowed: boolean // 是否允许加班
+ overtimeStartAfter: number // 下班多少分钟后算加班
+ restDayMode: number // 休息日打卡规则:1交替一次 2交替多次
+ holidayPunchRequired: boolean // 法定假日是否需要打卡
+}
+
+// 考勤规则 API
+export const AttendRuleApi = {
+ // 查询考勤规则分页
+ getAttendRulePage: async (params: any) => {
+ return await request.get({ url: `/hrm/attend-rule/page`, params })
+ },
+
+ // 查询考勤规则详情
+ getAttendRule: async (id: number) => {
+ return await request.get({ url: `/hrm/attend-rule/get?id=` + id })
+ },
+
+ // 新增考勤规则
+ createAttendRule: async (data: AttendRuleVO) => {
+ return await request.post({ url: `/hrm/attend-rule/create`, data })
+ },
+
+ // 修改考勤规则
+ updateAttendRule: async (data: AttendRuleVO) => {
+ return await request.put({ url: `/hrm/attend-rule/update`, data })
+ },
+
+ // 删除考勤规则
+ deleteAttendRule: async (id: number) => {
+ return await request.delete({ url: `/hrm/attend-rule/delete?id=` + id })
+ },
+
+ // 导出考勤规则 Excel
+ exportAttendRule: async (params) => {
+ return await request.download({ url: `/hrm/attend-rule/export-excel`, params })
+ },
+
+// ==================== 子表(考勤班次) ====================
+
+ // 获得考勤班次列表
+ getAttendShiftListByRuleId: async (ruleId) => {
+ return await request.get({ url: `/hrm/attend-rule/attend-shift/list-by-rule-id?ruleId=` + ruleId })
+ },
+
+// ==================== 子表(考勤关系) ====================
+
+ // 获得考勤关系列表
+ getUserAttendRelationListByRuleId: async (ruleId) => {
+ return await request.get({ url: `/hrm/attend-rule/user-attend-relation/list-by-rule-id?ruleId=` + ruleId })
+ }
+}
\ No newline at end of file
diff --git a/src/api/hrm/attendscheduleconfig/index.ts b/src/api/hrm/attendscheduleconfig/index.ts
new file mode 100644
index 000000000..ec2d71697
--- /dev/null
+++ b/src/api/hrm/attendscheduleconfig/index.ts
@@ -0,0 +1,45 @@
+import request from '@/config/axios'
+
+// 考勤排班调度配置 VO
+export interface AttendScheduleConfigVO {
+ id: number // 主键ID
+ ruleId: number // 所属考勤规则ID
+ scheduleType: number // 调度类型:1=按天,2=按周,3=按月
+ dayIndex: number // 调度下标:日(从1开始),周(1~7),月(1~12)
+ shiftId: number // 班次ID(为空表示休息)
+ isWorkingDay: boolean // 是否工作日(true 表示需打卡)
+ remarks: string // 备注说明
+}
+
+// 考勤排班调度配置 API
+export const AttendScheduleConfigApi = {
+ // 查询考勤排班调度配置分页
+ getAttendScheduleConfigPage: async (params: any) => {
+ return await request.get({ url: `/hrm/attend-schedule-config/page`, params })
+ },
+
+ // 查询考勤排班调度配置详情
+ getAttendScheduleConfig: async (id: number) => {
+ return await request.get({ url: `/hrm/attend-schedule-config/get?id=` + id })
+ },
+
+ // 新增考勤排班调度配置
+ createAttendScheduleConfig: async (data: AttendScheduleConfigVO) => {
+ return await request.post({ url: `/hrm/attend-schedule-config/create`, data })
+ },
+
+ // 修改考勤排班调度配置
+ updateAttendScheduleConfig: async (data: AttendScheduleConfigVO) => {
+ return await request.put({ url: `/hrm/attend-schedule-config/update`, data })
+ },
+
+ // 删除考勤排班调度配置
+ deleteAttendScheduleConfig: async (id: number) => {
+ return await request.delete({ url: `/hrm/attend-schedule-config/delete?id=` + id })
+ },
+
+ // 导出考勤排班调度配置 Excel
+ exportAttendScheduleConfig: async (params) => {
+ return await request.download({ url: `/hrm/attend-schedule-config/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/hrm/attendshift/index.ts b/src/api/hrm/attendshift/index.ts
new file mode 100644
index 000000000..11d54b163
--- /dev/null
+++ b/src/api/hrm/attendshift/index.ts
@@ -0,0 +1,43 @@
+import request from '@/config/axios'
+
+// 考勤班次 VO
+export interface AttendShiftVO {
+ id: number // 主键
+ ruleId: number // 所属考勤规则
+ name: string // 班次名称
+ shiftType: number // 班次类型:1固定班次 2轮班制(三班倒)
+ restIncluded: boolean // 是否包含休息时段
+}
+
+// 考勤班次 API
+export const AttendShiftApi = {
+ // 查询考勤班次分页
+ getAttendShiftPage: async (params: any) => {
+ return await request.get({ url: `/hrm/attend-shift/page`, params })
+ },
+
+ // 查询考勤班次详情
+ getAttendShift: async (id: number) => {
+ return await request.get({ url: `/hrm/attend-shift/get?id=` + id })
+ },
+
+ // 新增考勤班次
+ createAttendShift: async (data: AttendShiftVO) => {
+ return await request.post({ url: `/hrm/attend-shift/create`, data })
+ },
+
+ // 修改考勤班次
+ updateAttendShift: async (data: AttendShiftVO) => {
+ return await request.put({ url: `/hrm/attend-shift/update`, data })
+ },
+
+ // 删除考勤班次
+ deleteAttendShift: async (id: number) => {
+ return await request.delete({ url: `/hrm/attend-shift/delete?id=` + id })
+ },
+
+ // 导出考勤班次 Excel
+ exportAttendShift: async (params) => {
+ return await request.download({ url: `/hrm/attend-shift/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/hrm/attendshifttime/index.ts b/src/api/hrm/attendshifttime/index.ts
new file mode 100644
index 000000000..5a9ef256f
--- /dev/null
+++ b/src/api/hrm/attendshifttime/index.ts
@@ -0,0 +1,45 @@
+import request from '@/config/axios'
+
+// 考勤班次时间 VO
+export interface AttendShiftTimeVO {
+ id: number // 主键
+ shiftId: number // 关联班次ID
+ startTime: localtime // 上班时间
+ endTime: localtime // 下班时间
+ restStartTime: localtime // 休息开始时间
+ restEndTime: localtime // 休息结束时间
+ seq: number // 时段顺序(如早班、中班、晚班)
+}
+
+// 考勤班次时间 API
+export const AttendShiftTimeApi = {
+ // 查询考勤班次时间分页
+ getAttendShiftTimePage: async (params: any) => {
+ return await request.get({ url: `/hrm/attend-shift-time/page`, params })
+ },
+
+ // 查询考勤班次时间详情
+ getAttendShiftTime: async (id: number) => {
+ return await request.get({ url: `/hrm/attend-shift-time/get?id=` + id })
+ },
+
+ // 新增考勤班次时间
+ createAttendShiftTime: async (data: AttendShiftTimeVO) => {
+ return await request.post({ url: `/hrm/attend-shift-time/create`, data })
+ },
+
+ // 修改考勤班次时间
+ updateAttendShiftTime: async (data: AttendShiftTimeVO) => {
+ return await request.put({ url: `/hrm/attend-shift-time/update`, data })
+ },
+
+ // 删除考勤班次时间
+ deleteAttendShiftTime: async (id: number) => {
+ return await request.delete({ url: `/hrm/attend-shift-time/delete?id=` + id })
+ },
+
+ // 导出考勤班次时间 Excel
+ exportAttendShiftTime: async (params) => {
+ return await request.download({ url: `/hrm/attend-shift-time/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/hrm/userperformance/index.ts b/src/api/hrm/userperformance/index.ts
new file mode 100644
index 000000000..894c7a4c6
--- /dev/null
+++ b/src/api/hrm/userperformance/index.ts
@@ -0,0 +1,46 @@
+import request from '@/config/axios'
+
+// 员工绩效 VO
+export interface UserPerformanceVO {
+ id: number // 唯一主键
+ userId: number // 员工档案ID(关联 hrm_user_infor)
+ assessmentMonth: Date // 考核月份(格式:YYYY-MM)
+ performanceLevel: number // 绩效等级
+ assessmentScoreTotal: number // 考核得分合计
+ attendanceScore: number // 考勤得分
+ performanceAssessmentScore: number // 业绩考核得分
+ behaviorAssessmentScore: number // 行为考核得分
+}
+
+// 员工绩效 API
+export const UserPerformanceApi = {
+ // 查询员工绩效分页
+ getUserPerformancePage: async (params: any) => {
+ return await request.get({ url: `/hrm/user-performance/page`, params })
+ },
+
+ // 查询员工绩效详情
+ getUserPerformance: async (id: number) => {
+ return await request.get({ url: `/hrm/user-performance/get?id=` + id })
+ },
+
+ // 新增员工绩效
+ createUserPerformance: async (data: UserPerformanceVO) => {
+ return await request.post({ url: `/hrm/user-performance/create`, data })
+ },
+
+ // 修改员工绩效
+ updateUserPerformance: async (data: UserPerformanceVO) => {
+ return await request.put({ url: `/hrm/user-performance/update`, data })
+ },
+
+ // 删除员工绩效
+ deleteUserPerformance: async (id: number) => {
+ return await request.delete({ url: `/hrm/user-performance/delete?id=` + id })
+ },
+
+ // 导出员工绩效 Excel
+ exportUserPerformance: async (params) => {
+ return await request.download({ url: `/hrm/user-performance/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/system/postassessment/index.ts b/src/api/system/postassessment/index.ts
new file mode 100644
index 000000000..7224a0c93
--- /dev/null
+++ b/src/api/system/postassessment/index.ts
@@ -0,0 +1,44 @@
+import request from '@/config/axios'
+
+// 职位考核信息 VO
+export interface PostAssessmentVO {
+ id: number // 主键
+ postId: number // 岗位关联ID
+ assessType: string // 考核类型
+ assessName: string // 考核名称
+ assessDetail: string // 考核详情
+ score: number // 分数分值
+}
+
+// 职位考核信息 API
+export const PostAssessmentApi = {
+ // 查询职位考核信息分页
+ getPostAssessmentPage: async (params: any) => {
+ return await request.get({ url: `/system/post-assessment/page`, params })
+ },
+
+ // 查询职位考核信息详情
+ getPostAssessment: async (id: number) => {
+ return await request.get({ url: `/system/post-assessment/get?id=` + id })
+ },
+
+ // 新增职位考核信息
+ createPostAssessment: async (data: PostAssessmentVO) => {
+ return await request.post({ url: `/system/post-assessment/create`, data })
+ },
+
+ // 修改职位考核信息
+ updatePostAssessment: async (data: PostAssessmentVO) => {
+ return await request.put({ url: `/system/post-assessment/update`, data })
+ },
+
+ // 删除职位考核信息
+ deletePostAssessment: async (id: number) => {
+ return await request.delete({ url: `/system/post-assessment/delete?id=` + id })
+ },
+
+ // 导出职位考核信息 Excel
+ exportPostAssessment: async (params) => {
+ return await request.download({ url: `/system/post-assessment/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/system/postrequirement/index.ts b/src/api/system/postrequirement/index.ts
new file mode 100644
index 000000000..a08b7670e
--- /dev/null
+++ b/src/api/system/postrequirement/index.ts
@@ -0,0 +1,42 @@
+import request from '@/config/axios'
+
+// 任职条件 VO
+export interface PostRequirementVO {
+ id: number // 唯一主键
+ postId: number // 岗位关联ID
+ requirementName: string // 名称
+ qualificationDescription: string // 资格说明
+}
+
+// 任职条件 API
+export const PostRequirementApi = {
+ // 查询任职条件分页
+ getPostRequirementPage: async (params: any) => {
+ return await request.get({ url: `/system/post-requirement/page`, params })
+ },
+
+ // 查询任职条件详情
+ getPostRequirement: async (id: number) => {
+ return await request.get({ url: `/system/post-requirement/get?id=` + id })
+ },
+
+ // 新增任职条件
+ createPostRequirement: async (data: PostRequirementVO) => {
+ return await request.post({ url: `/system/post-requirement/create`, data })
+ },
+
+ // 修改任职条件
+ updatePostRequirement: async (data: PostRequirementVO) => {
+ return await request.put({ url: `/system/post-requirement/update`, data })
+ },
+
+ // 删除任职条件
+ deletePostRequirement: async (id: number) => {
+ return await request.delete({ url: `/system/post-requirement/delete?id=` + id })
+ },
+
+ // 导出任职条件 Excel
+ exportPostRequirement: async (params) => {
+ return await request.download({ url: `/system/post-requirement/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/system/postresponsibility/index.ts b/src/api/system/postresponsibility/index.ts
new file mode 100644
index 000000000..708fd26dd
--- /dev/null
+++ b/src/api/system/postresponsibility/index.ts
@@ -0,0 +1,43 @@
+import request from '@/config/axios'
+
+// 岗位职责 VO
+export interface PostResponsibilityVO {
+ id: number // 唯一主键
+ postId: number // 岗位关联ID
+ responsibility: string // 职责
+ task: string // 任务
+ timeAllocation: string // 时间分配
+}
+
+// 岗位职责 API
+export const PostResponsibilityApi = {
+ // 查询岗位职责分页
+ getPostResponsibilityPage: async (params: any) => {
+ return await request.get({ url: `/system/post-responsibility/page`, params })
+ },
+
+ // 查询岗位职责详情
+ getPostResponsibility: async (id: number) => {
+ return await request.get({ url: `/system/post-responsibility/get?id=` + id })
+ },
+
+ // 新增岗位职责
+ createPostResponsibility: async (data: PostResponsibilityVO) => {
+ return await request.post({ url: `/system/post-responsibility/create`, data })
+ },
+
+ // 修改岗位职责
+ updatePostResponsibility: async (data: PostResponsibilityVO) => {
+ return await request.put({ url: `/system/post-responsibility/update`, data })
+ },
+
+ // 删除岗位职责
+ deletePostResponsibility: async (id: number) => {
+ return await request.delete({ url: `/system/post-responsibility/delete?id=` + id })
+ },
+
+ // 导出岗位职责 Excel
+ exportPostResponsibility: async (params) => {
+ return await request.download({ url: `/system/post-responsibility/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/views/hrm/attendrecord/AttendRecordForm.vue b/src/views/hrm/attendrecord/AttendRecordForm.vue
new file mode 100644
index 000000000..7474a4f0e
--- /dev/null
+++ b/src/views/hrm/attendrecord/AttendRecordForm.vue
@@ -0,0 +1,154 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/attendrecord/index.vue b/src/views/hrm/attendrecord/index.vue
new file mode 100644
index 000000000..196ae545d
--- /dev/null
+++ b/src/views/hrm/attendrecord/index.vue
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/attendrule/AttendRuleForm.vue b/src/views/hrm/attendrule/AttendRuleForm.vue
new file mode 100644
index 000000000..7457955b7
--- /dev/null
+++ b/src/views/hrm/attendrule/AttendRuleForm.vue
@@ -0,0 +1,168 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/attendrule/components/AttendShiftForm.vue b/src/views/hrm/attendrule/components/AttendShiftForm.vue
new file mode 100644
index 000000000..075912b04
--- /dev/null
+++ b/src/views/hrm/attendrule/components/AttendShiftForm.vue
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ dict.label }}
+
+
+
+
+
+
+
+ —
+
+
+
+
+
+ + 添加考勤班次
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/attendrule/components/UserAttendRelationForm.vue b/src/views/hrm/attendrule/components/UserAttendRelationForm.vue
new file mode 100644
index 000000000..ed99bc71f
--- /dev/null
+++ b/src/views/hrm/attendrule/components/UserAttendRelationForm.vue
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ —
+
+
+
+
+
+ + 添加考勤关系
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/attendrule/index.vue b/src/views/hrm/attendrule/index.vue
new file mode 100644
index 000000000..75c701309
--- /dev/null
+++ b/src/views/hrm/attendrule/index.vue
@@ -0,0 +1,262 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/attendscheduleconfig/AttendScheduleConfigForm.vue b/src/views/hrm/attendscheduleconfig/AttendScheduleConfigForm.vue
new file mode 100644
index 000000000..bf7b57902
--- /dev/null
+++ b/src/views/hrm/attendscheduleconfig/AttendScheduleConfigForm.vue
@@ -0,0 +1,124 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/attendscheduleconfig/index.vue b/src/views/hrm/attendscheduleconfig/index.vue
new file mode 100644
index 000000000..cf9a85e92
--- /dev/null
+++ b/src/views/hrm/attendscheduleconfig/index.vue
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/attendshift/AttendShiftForm.vue b/src/views/hrm/attendshift/AttendShiftForm.vue
new file mode 100644
index 000000000..11b832580
--- /dev/null
+++ b/src/views/hrm/attendshift/AttendShiftForm.vue
@@ -0,0 +1,124 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/attendshift/index.vue b/src/views/hrm/attendshift/index.vue
new file mode 100644
index 000000000..7144c1818
--- /dev/null
+++ b/src/views/hrm/attendshift/index.vue
@@ -0,0 +1,241 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/attendshifttime/AttendShiftTimeForm.vue b/src/views/hrm/attendshifttime/AttendShiftTimeForm.vue
new file mode 100644
index 000000000..b6416d723
--- /dev/null
+++ b/src/views/hrm/attendshifttime/AttendShiftTimeForm.vue
@@ -0,0 +1,139 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/attendshifttime/index.vue b/src/views/hrm/attendshifttime/index.vue
new file mode 100644
index 000000000..294f29374
--- /dev/null
+++ b/src/views/hrm/attendshifttime/index.vue
@@ -0,0 +1,250 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/userperformance/UserPerformanceForm.vue b/src/views/hrm/userperformance/UserPerformanceForm.vue
new file mode 100644
index 000000000..131b89b69
--- /dev/null
+++ b/src/views/hrm/userperformance/UserPerformanceForm.vue
@@ -0,0 +1,135 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/userperformance/index.vue b/src/views/hrm/userperformance/index.vue
new file mode 100644
index 000000000..cc061cc0a
--- /dev/null
+++ b/src/views/hrm/userperformance/index.vue
@@ -0,0 +1,264 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/system/postassessment/PostAssessmentForm.vue b/src/views/system/postassessment/PostAssessmentForm.vue
new file mode 100644
index 000000000..bcb8e0eb0
--- /dev/null
+++ b/src/views/system/postassessment/PostAssessmentForm.vue
@@ -0,0 +1,121 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/system/postassessment/index.vue b/src/views/system/postassessment/index.vue
new file mode 100644
index 000000000..a6a0457e2
--- /dev/null
+++ b/src/views/system/postassessment/index.vue
@@ -0,0 +1,222 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/system/postrequirement/PostRequirementForm.vue b/src/views/system/postrequirement/PostRequirementForm.vue
new file mode 100644
index 000000000..aadd70433
--- /dev/null
+++ b/src/views/system/postrequirement/PostRequirementForm.vue
@@ -0,0 +1,103 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/system/postrequirement/index.vue b/src/views/system/postrequirement/index.vue
new file mode 100644
index 000000000..b67f07d98
--- /dev/null
+++ b/src/views/system/postrequirement/index.vue
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/system/postresponsibility/PostResponsibilityForm.vue b/src/views/system/postresponsibility/PostResponsibilityForm.vue
new file mode 100644
index 000000000..0875d0ca4
--- /dev/null
+++ b/src/views/system/postresponsibility/PostResponsibilityForm.vue
@@ -0,0 +1,109 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/system/postresponsibility/index.vue b/src/views/system/postresponsibility/index.vue
new file mode 100644
index 000000000..b9b68f6b2
--- /dev/null
+++ b/src/views/system/postresponsibility/index.vue
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file