diff --git a/src/api/home/clgl/index.ts b/src/api/home/clgl/index.ts index bbabf9f..e10e905 100644 --- a/src/api/home/clgl/index.ts +++ b/src/api/home/clgl/index.ts @@ -56,4 +56,12 @@ export const ClglApi = { exportClgl: async (params) => { return await request.download({ url: `/home/clgl/export-excel`, params }) }, + // 保存为草稿 + saveDraft: async (data: ClglVO) => { + return await request.post({ url: `/home/clgl/saveDraft`, data }) + }, + // 查询草稿 + getDraft: async (params: any) => { + return await request.get({ url: `/home/clgl/draft`, params }) + }, } diff --git a/src/views/Home/clnr/clgl/ClglCreate.vue b/src/views/Home/clnr/clgl/ClglCreate.vue index 4831f88..4d5cdbe 100644 --- a/src/views/Home/clnr/clgl/ClglCreate.vue +++ b/src/views/Home/clnr/clgl/ClglCreate.vue @@ -145,6 +145,7 @@ @@ -262,6 +263,24 @@ const changeDriverForm = (val:any) => { form.carDriverInfo = val.contactInfo } +const draftButton = ref(false) +const saveDraft = async () => { + // 校验表单 + await formRef.value.validate() + // 提交请求 + formLoading.value = true + try { + const data = formData.value as unknown as ClglVO + await ClglApi.saveDraft(data) + message.success(t('存为草稿成功!')) + // 关闭当前 Tab + delView(unref(currentRoute)) + await push({ name: 'Clgl' }) + } finally { + formLoading.value = false + } +} + /** 提交表单 */ const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调 const submitForm = async () => { @@ -281,11 +300,14 @@ const submitForm = async () => { 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 @@ -326,7 +348,18 @@ const getUserInfo = async () => { onMounted(async () => { await getUserInfo() - 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 ClglApi.getClgl(Number( id) ) + draftButton.value= true + } + } const processKey = await FormProcessMappingApi.selectProcessKey( curFullPath ) diff --git a/src/views/Home/clnr/draft/indexDraftClgl.vue b/src/views/Home/clnr/draft/indexDraftClgl.vue new file mode 100644 index 0000000..b43bf1d --- /dev/null +++ b/src/views/Home/clnr/draft/indexDraftClgl.vue @@ -0,0 +1,247 @@ + + +