diff --git a/src/api/base/common.ts b/src/api/base/common.ts index ed2a98e..2c02882 100644 --- a/src/api/base/common.ts +++ b/src/api/base/common.ts @@ -16,6 +16,11 @@ export const jsFindAll = async () => { return await get("/api/js/findAllBasicInfo"); }; +// 所有教师基础信息(Vo版本) +export const jsFindAllBasicInfoVo = async () => { + return await get("/api/js/findAllBasicInfoVo"); +}; + // 所有职务 export const zwFindAllApi = async () => { return await get("/api/zw/findAll"); diff --git a/src/api/base/jsQjApi.ts b/src/api/base/jsQjApi.ts index 3cbc491..10fb788 100644 --- a/src/api/base/jsQjApi.ts +++ b/src/api/base/jsQjApi.ts @@ -4,26 +4,26 @@ import { get, post } from "@/utils/request"; /** - * 申请 + * 教师申请请假 */ export const jsQjSqApi = async (params: any) => { return await post("/api/jsQj/sq", params); }; /** - * 审批 - */ -export const jsQjSpApi = async (params: any) => { - return await post("/api/jsQj/sp", params); -}; - -/** - * 重新提交 + * 教师重新提交请假 */ export const jsQjCxtjApi = async (params: any) => { return await post("/api/jsQj/cxtj", params); }; +/** + * 教师审批请假申请 + */ +export const jsQjSpApi = async (params: any) => { + return await post("/api/jsQj/sp", params); +}; + /** * 教务处确认 */ @@ -39,19 +39,12 @@ export const jsQjJwcXtApi = async (params: any) => { }; /** - * 代课确认 + * 代课教师确认 */ export const jsQjDkQrApi = async (params: any) => { return await post("/api/jsQj/dk/qr", params); }; -/** - * 转办 - */ -export const jsQjZbApi = async (params: any) => { - return await post("/api/jsQj/zb", params); -}; - /** * 查询请假信息 */ @@ -89,8 +82,39 @@ export const findQjListApi = async (params: any) => { }; /** - * 查询请假流程处理历史 + * 根据规则ID获取默认审批人和抄送人 */ -export const getQjActivitiHistoryApi = async (params: any) => { - return await get("/activiti/history/historicFlow", params); +export const getApproversByRuleId = async (ruleId: string) => { + return await get("/api/jsQj/getApproversByRuleId", { ruleId }); +}; + +/** + * 根据ID获取请假详情 + */ +export const findQjByIdApi = async (params: { id: string }) => { + return await get("/api/jsQj/findById", params); +}; + +// 保留旧的接口方法以兼容现有代码,但标记为废弃 +/** + * @deprecated 使用 jsQjSqApi 替代 + */ +export const jsQjSaveOrUpdateApi = async (params: any) => { + return await post("/api/jsQj/sq", params); +}; + +/** + * @deprecated 使用 jsQjSpApi 替代 + */ +export const jsQjApproveApi = async (params: any) => { + return await post("/api/jsQj/sp", params); +}; + +/** + * 获取教师请假审批流程 + * @param ywId 业务ID + * @param ywType 业务类型 + */ +export const getJsQjApprovalProcessApi = (ywId: string, ywType: string = 'JS_QJ') => { + return get("/api/lcglSp/getByYwIdAndYwType", { ywId, ywType }); }; diff --git a/src/api/base/lcglSpApi.ts b/src/api/base/lcglSpApi.ts new file mode 100644 index 0000000..581fb18 --- /dev/null +++ b/src/api/base/lcglSpApi.ts @@ -0,0 +1,64 @@ +import { get, post } from "@/utils/request"; + +// 流程审批相关API接口 + +/** + * 根据业务ID和业务类型获取审批流程 + * @param ywId 业务ID + * @param ywType 业务类型 + */ +export function getByYwIdAndYwTypeApi(ywId: string, ywType: string) { + return get('/api/lcglSp/getByYwIdAndYwType', { ywId, ywType }); +} + +/** + * 根据业务ID、业务类型和审批类型获取审批流程 + * @param ywId 业务ID + * @param ywType 业务类型 + * @param spType 审批类型 + */ +export function getByYwIdAndYwTypeAndSpTypeApi(ywId: string, ywType: string, spType: string) { + return get('/api/lcglSp/getByYwIdAndYwTypeAndSpType', { ywId, ywType, spType }); +} + +/** + * 分页查询审批流程 + * @param params 查询参数 + */ +export function lcglSpFindPageApi(params: { + page: number; + pageSize: number; + ywId?: string; + ywType?: string; + spType?: string; + approveStatus?: string; +}) { + return get('/api/lcglSp/findPage', params); +} + +/** + * 新增/修改审批流程 + * @param params 审批流程数据 + */ +export function lcglSpSaveApi(params: { + id?: string; + ywId: string; + ywType: string; + userId: string; + userName: string; + spType: string; + approveStatus?: string; + approveRemark?: string; + setId?: string; + sort?: number; +}) { + return post('/api/lcglSp/save', params); +} + +/** + * 逻辑删除审批流程 + * @param params 删除参数 + */ +export function lcglSpLogicDeleteApi(params: { id: string }) { + return post('/api/lcglSp/logicDelete', params); +} diff --git a/src/components/BasicJsPicker/Picker.vue b/src/components/BasicJsPicker/Picker.vue index 829af95..22a6721 100644 --- a/src/components/BasicJsPicker/Picker.vue +++ b/src/components/BasicJsPicker/Picker.vue @@ -1,12 +1,18 @@ + \ No newline at end of file diff --git a/src/components/BasicSpCsMgr/index.vue b/src/components/BasicSpCsMgr/index.vue new file mode 100644 index 0000000..29e65d1 --- /dev/null +++ b/src/components/BasicSpCsMgr/index.vue @@ -0,0 +1,477 @@ + + + + + diff --git a/src/pages/components/JsPicker/index.vue b/src/pages/components/JsPicker/index.vue deleted file mode 100644 index 3c6732d..0000000 --- a/src/pages/components/JsPicker/index.vue +++ /dev/null @@ -1,217 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/pages/view/hr/jsQj/components/jsQjDetail.vue b/src/pages/view/hr/jsQj/components/jsQjDetail.vue index e8f165d..48ca4e5 100644 --- a/src/pages/view/hr/jsQj/components/jsQjDetail.vue +++ b/src/pages/view/hr/jsQj/components/jsQjDetail.vue @@ -81,7 +81,7 @@ - + diff --git a/src/pages/view/hr/jsQj/components/jsQjDkEdit.vue b/src/pages/view/hr/jsQj/components/jsQjDkEdit.vue index 363d7d6..af71a4a 100644 --- a/src/pages/view/hr/jsQj/components/jsQjDkEdit.vue +++ b/src/pages/view/hr/jsQj/components/jsQjDkEdit.vue @@ -1,348 +1,143 @@ + \ No newline at end of file diff --git a/src/pages/view/hr/jsQj/components/jsQjEdit.vue b/src/pages/view/hr/jsQj/components/jsQjEdit.vue index 7496dce..56c9cdf 100644 --- a/src/pages/view/hr/jsQj/components/jsQjEdit.vue +++ b/src/pages/view/hr/jsQj/components/jsQjEdit.vue @@ -1,251 +1,233 @@ + + \ No newline at end of file diff --git a/src/pages/view/hr/jsQj/components/progressList.vue b/src/pages/view/hr/jsQj/components/progressList.vue index 44f1682..fc9841a 100644 --- a/src/pages/view/hr/jsQj/components/progressList.vue +++ b/src/pages/view/hr/jsQj/components/progressList.vue @@ -1,63 +1,163 @@ @@ -75,12 +175,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 +193,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/view/hr/jsQj/cxTj.vue b/src/pages/view/hr/jsQj/cxTj.vue index cb35369..bd145d0 100644 --- a/src/pages/view/hr/jsQj/cxTj.vue +++ b/src/pages/view/hr/jsQj/cxTj.vue @@ -1,81 +1,76 @@ diff --git a/src/pages/view/hr/jsQj/dkQr.vue b/src/pages/view/hr/jsQj/dkQr.vue index e9ce623..335f32e 100644 --- a/src/pages/view/hr/jsQj/dkQr.vue +++ b/src/pages/view/hr/jsQj/dkQr.vue @@ -1,321 +1,250 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/pages/view/hr/jsQj/jwcQr.vue b/src/pages/view/hr/jsQj/jwcQr.vue index d278949..217bbb3 100644 --- a/src/pages/view/hr/jsQj/jwcQr.vue +++ b/src/pages/view/hr/jsQj/jwcQr.vue @@ -3,10 +3,10 @@ 驳回原因 @@ -18,32 +18,11 @@ maxlength="200" /> - 取消 + 取消 确定 - - - - 转到教师 - - - - 取消 - 确定 - - -