diff --git a/src/api/home/hygl/index.ts b/src/api/home/hygl/index.ts index 8ca28b5..48fc588 100644 --- a/src/api/home/hygl/index.ts +++ b/src/api/home/hygl/index.ts @@ -63,4 +63,12 @@ export const HyglApi = { exportHygl: async (params) => { return await request.download({ url: `/home/hygl/export-excel`, params }) }, + // 保存为草稿 + saveDraft: async (data: HyglVO) => { + return await request.post({ url: `/home/hygl/saveDraft`, data }) + }, +// 查询草稿 + getDraft: async (params: any) => { + return await request.get({ url: `/home/hygl/draft`, params }) + }, } diff --git a/src/views/Home/hynr/draft/indexDraftHygl.vue b/src/views/Home/hynr/draft/indexDraftHygl.vue new file mode 100644 index 0000000..b94a8c8 --- /dev/null +++ b/src/views/Home/hynr/draft/indexDraftHygl.vue @@ -0,0 +1,265 @@ + + + diff --git a/src/views/Home/hynr/hygl/HyglCreate.vue b/src/views/Home/hynr/hygl/HyglCreate.vue index ef0ff62..ade15de 100644 --- a/src/views/Home/hynr/hygl/HyglCreate.vue +++ b/src/views/Home/hynr/hygl/HyglCreate.vue @@ -153,6 +153,7 @@ @@ -260,6 +261,24 @@ userInfo.value = formData.value.userName ?? ''; }; + const draftButton = ref(false) + const saveDraft = async () => { + // 校验表单 + await formRef.value.validate() + // 提交请求 + formLoading.value = true + try { + const data = formData.value as unknown as HyglVO + await HyglApi.saveDraft(data) + message.success(t('存为草稿成功!')) + // 关闭当前 Tab + delView(unref(currentRoute)) + await push({ name: 'Hygl' }) + } finally { + formLoading.value = false + } + } + /** 提交表单 */ const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调 const submitForm = async () => { @@ -279,11 +298,14 @@ data.startUserSelectAssignees = startUserSelectAssignees.value } - const curFullPath = currentRoute.value.fullPath + let curFullPath = currentRoute.value.fullPath if( curFullPath ) { data.curfullpath = curFullPath } + if (curFullPath.includes("?")) { + curFullPath = curFullPath.split("?")[0]; + } const processKey = await FormProcessMappingApi.selectProcessKey( curFullPath ) if ( processKey) { data.processDefinitionKey = processKey @@ -329,8 +351,18 @@ await getUserInfo() await getList() - const curFullPath = currentRoute.value.fullPath - + let curFullPath = currentRoute.value.fullPath + if (curFullPath.includes("?")) { + // 使用 URLSearchParams 提取查询参数 + const params = new URLSearchParams(curFullPath.split("?")[1]); + const id = params.get("id") ; + // 获取路径部分 + curFullPath = curFullPath.split("?")[0]; + if ( id != "") { + formData.value = await HyglApi.getHygl(Number( id) ) + draftButton.value= true + } + } const processKey = await FormProcessMappingApi.selectProcessKey( curFullPath ) if ( !processKey ) {