From bf2b736d548c4d2b2a32819c7d94b95f7b364636 Mon Sep 17 00:00:00 2001 From: ywyonui Date: Sat, 20 Sep 2025 23:05:04 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E8=B0=83=E6=95=B4=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E7=BB=84=E4=BB=B6=202=E3=80=81=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=AE=8C=E5=96=84=E5=AD=A6=E7=94=9F=E8=AF=B7=E5=81=87?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E7=9A=84=E5=AE=A1=E6=89=B9=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/base/jsQjApi.ts | 12 +- src/api/base/lcglSpApi.ts | 11 + src/api/base/server.ts | 10 + src/api/base/xkTfApi.ts | 15 +- src/components/BasicSpCsMgr/index.vue | 53 +- src/components/LcglSp/index.vue | 542 +++++++++++++++++++++ src/components/TransferSpCsMgr/index.vue | 562 ++++++++++++++++++++++ src/pages/base/message/index.vue | 4 +- src/pages/base/xs/qj/detail.vue | 13 +- src/pages/base/xs/qj/sp.vue | 142 ++---- src/pages/components/YwConfirm/index.vue | 135 ++++-- src/pages/components/YwTransfer/index.vue | 176 +++++++ src/pages/view/hr/jsQj/dkQr.vue | 22 +- src/pages/view/hr/jsQj/jwcQr.vue | 9 +- src/pages/view/hr/jsQj/sp.vue | 129 +---- src/pages/view/routine/xk/tf/sp.vue | 23 +- src/store/modules/common.ts | 9 +- src/store/modules/data.ts | 9 +- 18 files changed, 1559 insertions(+), 317 deletions(-) create mode 100644 src/components/LcglSp/index.vue create mode 100644 src/components/TransferSpCsMgr/index.vue create mode 100644 src/pages/components/YwTransfer/index.vue diff --git a/src/api/base/jsQjApi.ts b/src/api/base/jsQjApi.ts index 10fb788..01f0b0c 100644 --- a/src/api/base/jsQjApi.ts +++ b/src/api/base/jsQjApi.ts @@ -18,12 +18,22 @@ export const jsQjCxtjApi = async (params: any) => { }; /** - * 教师审批请假申请 + * 教师请假审批 */ export const jsQjSpApi = async (params: any) => { return await post("/api/jsQj/sp", params); }; +// 教师请假审批终止 +export const jsQjStopApi = async (params: any) => { + return await post("/api/jsQj/stop", params); +}; + +// 教师请假审批转办 +export const jsQjTransferApi = async (params: any) => { + return await post("/api/jsQj/transfer", params); +}; + /** * 教务处确认 */ diff --git a/src/api/base/lcglSpApi.ts b/src/api/base/lcglSpApi.ts index 581fb18..c376e47 100644 --- a/src/api/base/lcglSpApi.ts +++ b/src/api/base/lcglSpApi.ts @@ -62,3 +62,14 @@ export function lcglSpSaveApi(params: { export function lcglSpLogicDeleteApi(params: { id: string }) { return post('/api/lcglSp/logicDelete', params); } + +/** + * 查询审批流程 + * @param params 查询参数 + */ +export function getLcglApi(params: { + ywId?: string; + ywType?: string; +}) { + return get('/api/lcglSp/getLcgl', params); +} \ No newline at end of file diff --git a/src/api/base/server.ts b/src/api/base/server.ts index 92aba44..21a22d4 100644 --- a/src/api/base/server.ts +++ b/src/api/base/server.ts @@ -168,6 +168,16 @@ export const xsQjSpApi = async (params: any) => { return await post("/api/xsQj/sp", params); }; +// 学生请假审批终止 +export const xsQjStopApi = async (params: any) => { + return await post("/api/xsQj/stop", params); +}; + +// 学生请假审批转办 +export const xsQjTransferApi = async (params: any) => { + return await post("/api/xsQj/transfer", params); +}; + // 获取学生请假审批流程 export const getXsQjApprovalProcessApi = async (ywId: string, ywType: string = 'XS_QJ') => { return await get("/api/lcglSp/getByYwIdAndYwType", { ywId, ywType }); diff --git a/src/api/base/xkTfApi.ts b/src/api/base/xkTfApi.ts index 62f3c52..8229818 100644 --- a/src/api/base/xkTfApi.ts +++ b/src/api/base/xkTfApi.ts @@ -19,15 +19,18 @@ export const getXkTfDetailByIdApi = async (id: string) => { }; /** - * 审批退费 + * 选课退费审批 */ export const xkTfSpApi = async (params: any) => { return await post("/api/xkTf/sp", params); }; -/** - * 审批转办 - */ -export const xkTfSpTransferApi = async (params: any) => { - return await post("/api/xkTf/spTransfer", params); +// 选课退费审批审批终止 +export const xkTfStopApi = async (params: any) => { + return await post("/api/xkTf/stop", params); +}; + +// 选课退费审批审批转办 +export const xkTfTransferApi = async (params: any) => { + return await post("/api/xkTf/transfer", params); }; diff --git a/src/components/BasicSpCsMgr/index.vue b/src/components/BasicSpCsMgr/index.vue index d165ec1..3fe49eb 100644 --- a/src/components/BasicSpCsMgr/index.vue +++ b/src/components/BasicSpCsMgr/index.vue @@ -29,9 +29,36 @@ {{ spr.jsxm }} - + - 删除 + + + + + + + + @@ -283,6 +310,28 @@ const notifyChange = () => { }); }; +// 上移审批人 +const moveApproverUp = (index: number) => { + if (index > 0) { + const temp = approvers.value[index]; + approvers.value[index] = approvers.value[index - 1]; + approvers.value[index - 1] = temp; + notifyChange(); + console.log('Moved up:', index); + } +}; + +// 下移审批人 +const moveApproverDown = (index: number) => { + if (index < approvers.value.length - 1) { + const temp = approvers.value[index]; + approvers.value[index] = approvers.value[index + 1]; + approvers.value[index + 1] = temp; + notifyChange(); + console.log('Moved down:', index); + } +}; + // 处理审批人选择变更 const handleApproverChange = (selectedTeachers: any[]) => { if (Array.isArray(selectedTeachers)) { diff --git a/src/components/LcglSp/index.vue b/src/components/LcglSp/index.vue new file mode 100644 index 0000000..d50c007 --- /dev/null +++ b/src/components/LcglSp/index.vue @@ -0,0 +1,542 @@ + + + + + \ No newline at end of file diff --git a/src/components/TransferSpCsMgr/index.vue b/src/components/TransferSpCsMgr/index.vue new file mode 100644 index 0000000..81a0d74 --- /dev/null +++ b/src/components/TransferSpCsMgr/index.vue @@ -0,0 +1,562 @@ + + + + + \ No newline at end of file diff --git a/src/pages/base/message/index.vue b/src/pages/base/message/index.vue index 5498cb9..116f458 100644 --- a/src/pages/base/message/index.vue +++ b/src/pages/base/message/index.vue @@ -89,9 +89,7 @@ const currentTab = ref('A'); // 0: 待办, 1: 已办 const fetchListData = async (tabIndex: string) => { setParam({ dbZt: tabIndex, - jsrId: getJs.id, - sidx: "xxtstime", - sord: "desc", + jsrId: getJs.id }); reload(); }; diff --git a/src/pages/base/xs/qj/detail.vue b/src/pages/base/xs/qj/detail.vue index 8b6d3ea..cbf689d 100644 --- a/src/pages/base/xs/qj/detail.vue +++ b/src/pages/base/xs/qj/detail.vue @@ -36,7 +36,7 @@ 是否离校: {{ qjData.sflx === 1 ? '是' : '否' }} - + 请假事由: {{ qjData.qjsy }} @@ -48,7 +48,7 @@ - + \ No newline at end of file diff --git a/src/pages/view/hr/jsQj/dkQr.vue b/src/pages/view/hr/jsQj/dkQr.vue index 05e36a7..33a752a 100644 --- a/src/pages/view/hr/jsQj/dkQr.vue +++ b/src/pages/view/hr/jsQj/dkQr.vue @@ -36,8 +36,7 @@ @@ -55,7 +54,7 @@ import YwConfirm from "@/pages/components/YwConfirm/index.vue"; import { QjPageUtils } from "@/utils/qjPageUtils"; const { getJs } = useUserStore(); -const { setData } = useDataStore(); +const { setData, getXxts } = useDataStore(); const tabList = ref([{ name: "请假信息", id: "tab-qj" }]); const curTabIndex = ref(0); @@ -66,8 +65,8 @@ const showDkTab = ref(false); const spParams = computed(() => { return { - qjId: qjId.value, - jsId: getJs.id, + xxtsId: getXxts.id, + ywId: qjId.value }; }); @@ -98,19 +97,6 @@ const handleDkListLoaded = (list: any[]) => { // 代课明细数据已由JsQjDetail组件处理 }; -const submit = async () => { - setTimeout(() => { - uni.reLaunch({ url: '/pages/base/message/index' }); - }, 1000); -}; - -// 驳回处理 -const handleReject = async () => { - setTimeout(() => { - uni.reLaunch({ url: '/pages/base/message/index' }); - }, 1000); -}; - onLoad(async (data?: any) => { const ret = await QjPageUtils.init(data); if (!ret || !ret.success) { diff --git a/src/pages/view/hr/jsQj/jwcQr.vue b/src/pages/view/hr/jsQj/jwcQr.vue index a66f430..13d4ec5 100644 --- a/src/pages/view/hr/jsQj/jwcQr.vue +++ b/src/pages/view/hr/jsQj/jwcQr.vue @@ -36,8 +36,7 @@ @@ -56,7 +55,7 @@ import YwConfirm from "@/pages/components/YwConfirm/index.vue"; import { QjPageUtils } from "@/utils/qjPageUtils"; const { getJs } = useUserStore(); -const { setData } = useDataStore(); +const { setData, getXxts } = useDataStore(); const tabList = ref([{ name: "请假信息", id: "tab-qj" }]); const curTabIndex = ref(0); @@ -67,8 +66,8 @@ const showDkTab = ref(false); const spParams = computed(() => { return { - qjId: qjId.value, - jsId: getJs.id, + xxtsId: getXxts.id, + ywId: qjId.value }; }); diff --git a/src/pages/view/hr/jsQj/sp.vue b/src/pages/view/hr/jsQj/sp.vue index 9e18dd0..89951df 100644 --- a/src/pages/view/hr/jsQj/sp.vue +++ b/src/pages/view/hr/jsQj/sp.vue @@ -1,29 +1,14 @@