From ddb0cc1e55eb2235e168f708b8f756d8a4f54dce Mon Sep 17 00:00:00 2001 From: XaoLi717 <144221124+XaoLi717@users.noreply.github.com> Date: Tue, 24 Dec 2024 15:38:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=A6=E8=BE=86=E8=8D=89=E7=A8=BF=E5=86=85?= =?UTF-8?q?=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/home/clgl/index.ts | 8 + src/views/Home/clnr/clgl/ClglCreate.vue | 37 ++- src/views/Home/clnr/draft/indexDraftClgl.vue | 247 +++++++++++++++++++ 3 files changed, 290 insertions(+), 2 deletions(-) create mode 100644 src/views/Home/clnr/draft/indexDraftClgl.vue 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 @@ + + +