From fcbc21e8937a8c00b05a3d4acca6b1ce1b0a5ea0 Mon Sep 17 00:00:00 2001 From: ywyonui Date: Wed, 27 Aug 2025 16:54:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=AF=B7=E5=81=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/base/xsQjApi.ts | 94 +++++++ .../leave-request/components/progressList.vue | 243 ++++++++++++++---- .../leave-request/components/xsQjEdit.vue | 92 ++++++- src/pages/base/leave-request/detail.vue | 56 ++-- 4 files changed, 404 insertions(+), 81 deletions(-) create mode 100644 src/api/base/xsQjApi.ts diff --git a/src/api/base/xsQjApi.ts b/src/api/base/xsQjApi.ts new file mode 100644 index 0000000..96f5334 --- /dev/null +++ b/src/api/base/xsQjApi.ts @@ -0,0 +1,94 @@ +import { get, post } from "@/utils/request"; + +// 学生请假相关接口 + +/** + * 家长添加学生请假申请 + */ +export const jzAddXsQjApi = (data: any) => { + return post("/xsQj/jzAdd", data); +}; + +/** + * 家长获取学生请假列表 + */ +export const jzXsQjListApi = (params: any) => { + return get("/xsQj/jzList", params); +}; + +/** + * 获取学生请假详情 + */ +export const getXsQjDetailApi = (id: string) => { + return get("/xsQj/detail", { id }); +}; + +/** + * 获取请假审批流程 + */ +export const getXsQjApprovalProcessApi = (ywId: string, ywType: string = 'XS_QJ') => { + return get("/gzlSp/getByYwIdAndYwType", { ywId, ywType }); +}; + +/** + * 教师审批学生请假 + */ +export const approveXsQjApi = (data: any) => { + return post("/xsQj/approve", data); +}; + +/** + * 获取请假类型列表 + */ +export const getQjTypeListApi = () => { + return get("/xsQj/qjTypeList"); +}; + +/** + * 获取请假统计信息 + */ +export const getQjStatisticsApi = (params: any) => { + return get("/xsQj/statistics", params); +}; + +/** + * 导出请假数据 + */ +export const exportXsQjApi = (params: any) => { + return get("/xsQj/export", params); +}; + +/** + * 批量操作请假申请 + */ +export const batchOperateXsQjApi = (data: any) => { + return post("/xsQj/batchOperate", data); +}; + +/** + * 获取请假审批历史 + */ +export const getXsQjApprovalHistoryApi = (qjId: string) => { + return get("/xsQj/approvalHistory", { qjId }); +}; + +/** + * 获取请假待办列表 + */ +export const getXsQjTodoListApi = (params: any) => { + return get("/xsQj/todoList", params); +}; + +/** + * 获取请假已办列表 + */ +export const getXsQjDoneListApi = (params: any) => { + return get("/xsQj/doneList", params); +}; + +/** + * 获取请假抄送列表 + */ +export const getXsQjCcListApi = (params: any) => { + return get("/xsQj/ccList", params); +}; diff --git a/src/pages/base/leave-request/components/progressList.vue b/src/pages/base/leave-request/components/progressList.vue index ac3ab33..5704e97 100644 --- a/src/pages/base/leave-request/components/progressList.vue +++ b/src/pages/base/leave-request/components/progressList.vue @@ -1,63 +1,161 @@ @@ -75,12 +173,6 @@ if (props.procInstId) { color: #333; margin-bottom: 10px; - .title-icon { - width: 24px; - height: 24px; - margin-right: 8px; - } - .applicant-name { font-size: 16px; font-weight: bold; @@ -99,51 +191,88 @@ if (props.procInstId) { flex-direction: column; .progress-item { - .progress-item-row { + position: relative; + + .progress-item-row { display: flex; align-items: center; + padding: 10px 0; + .item-avatar { - flex: 0 0 40px; + width: 40px; height: 40px; + border-radius: 50%; + overflow: hidden; + margin-right: 12px; + flex-shrink: 0; } .item-middle { - margin-left: 16px; + flex: 1; display: flex; flex-direction: column; + + .item-name { + font-size: 14px; + color: #333; + font-weight: 500; + margin-bottom: 4px; + } + + .item-detail { + font-size: 12px; + color: #999; + } } .item-right { - flex: 1 0 1px; display: flex; + flex-direction: column; align-items: flex-end; + + .item-time { + font-size: 12px; + color: #999; + margin-bottom: 4px; + } + + .item-status { + font-size: 12px; + padding: 2px 8px; + border-radius: 10px; + + &.status-pending { + background-color: #fff7e6; + color: #fa8c16; + } + + &.status-approved { + background-color: #f6ffed; + color: #52c41a; + } + + &.status-rejected { + background-color: #fff2f0; + color: #ff4d4f; + } + + &.status-cc { + background-color: #f0f5ff; + color: #1890ff; + } + } } } + .progress-item-line { - width: 1px; - height: 30px; - background-color: #999; - margin: 10px 20px; + height: 20px; + width: 2px; + background-color: #e8e8e8; + margin-left: 19px; + margin-top: -10px; + margin-bottom: -10px; } } - - - .item-name { - font-size: 16px; - font-weight: bold; - } - - .item-detail { - font-size: 14px; - color: #666; - } - - .item-time, - .item-status { - font-size: 14px; - color: #999; - margin-left: auto; - } } } \ No newline at end of file diff --git a/src/pages/base/leave-request/components/xsQjEdit.vue b/src/pages/base/leave-request/components/xsQjEdit.vue index 69b4d2f..1966d54 100644 --- a/src/pages/base/leave-request/components/xsQjEdit.vue +++ b/src/pages/base/leave-request/components/xsQjEdit.vue @@ -2,6 +2,18 @@ + + + + 审批信息 + + + 审批人: + {{ approverName }} + (班主任) + + +