diff --git a/src/api/home/qjgl/index.ts b/src/api/home/qjgl/index.ts
index ffc01fa..1152b79 100644
--- a/src/api/home/qjgl/index.ts
+++ b/src/api/home/qjgl/index.ts
@@ -48,6 +48,13 @@ export const QjglApi = {
deleteQjgl: async (id: number) => {
return await request.delete({ url: `/home/qjgl/delete?id=` + id })
},
+ saveDraft: async (data: QjglVO) => {
+ return await request.post({ url: `/home/qjgl/saveDraft`, data })
+ },
+ // 查询草稿
+ getQjglDraft: async (params: any) => {
+ return await request.get({ url: `/home/qjgl/draft`, params })
+ },
// 导出请假管理 Excel
exportQjgl: async (params) => {
diff --git a/src/views/Home/qjgl/QjglCreate.vue b/src/views/Home/qjgl/QjglCreate.vue
index c760312..6f2d881 100644
--- a/src/views/Home/qjgl/QjglCreate.vue
+++ b/src/views/Home/qjgl/QjglCreate.vue
@@ -93,18 +93,10 @@
-
-
-
-
-
-
-
-
-
-
+
- 确 定
+ 提交审批
+ 存为草稿
@@ -116,7 +108,6 @@ import * as DefinitionApi from '@/api/bpm/definition'
import * as UserApi from '@/api/system/user'
import {useTagsViewStore} from "@/store/modules/tagsView";
import {getUserProfile, ProfileVO} from "@/api/system/user/profile";
-import {DeptVO, getDept} from "@/api/system/dept";
import {FormProcessMappingApi} from "@/api/bpm/formprocessmapping";
import {CalendarApi, CalendarVO} from "@/api/home/calendar";
import {NjglApi, NjglVO} from "@/api/home/njgl";
@@ -130,6 +121,7 @@ const { push, currentRoute } = useRouter() // 路由
// const dialogVisible = ref(false) // 弹窗的是否展示
// const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
+const draftButton = ref(false)
const formType = ref('') // 表单的类型:create - 新增;update - 修改
const formData = ref({
id: undefined,
@@ -214,23 +206,7 @@ const formRef = ref() // 表单 Ref
const userInfo = ref('')
// const deptInfo = ref({} as DeptVO )
const deptInfo = ref('')
-/** 打开弹窗 */
-// const open = async (type: string, id?: number) => {
-// dialogVisible.value = true
-// dialogTitle.value = t('action.' + type)
-// formType.value = type
-// resetForm()
-// // 修改时,设置数据
-// if (id) {
-// formLoading.value = true
-// try {
-// formData.value = await QjglApi.getQjgl(id)
-// } finally {
-// formLoading.value = false
-// }
-// }
-// }
-// defineExpose({ open }) // 提供 open 方法,用于打开弹窗
+
const getUserInfo = async () => {
const users = await getUserProfile()
if (formData.value.deptId == ''||formData.value.deptId == undefined){
@@ -287,6 +263,25 @@ const queryParamsNjgl = reactive({
/** 提交表单 */
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
+const saveDraft = async () => {
+ // 校验表单
+ await formRef.value.validate()
+ // 提交请求
+ formLoading.value = true
+ try {
+ const data = formData.value as unknown as QjglVO
+
+ await QjglApi.saveDraft(data)
+ message.success(t('存为草稿成功!'))
+ // 关闭当前 Tab
+ delView(unref(currentRoute))
+ await push({ name: 'Qjglindex' })
+
+ } finally {
+ formLoading.value = false
+ }
+
+}
const submitForm = async () => {
// 校验表单
await formRef.value.validate()
@@ -327,10 +322,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
@@ -387,9 +386,22 @@ const resetForm = () => {
}
/** 初始化 */
onMounted(async () => {
- await getUserInfo()
- // await getKnowtypeTree()
- const curFullPath = currentRoute.value.fullPath
+ await getUserInfo()
+ 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];
+ //console.log("Path:", curFullPath);
+ //console.log("id:", id);
+ if ( id != "") {
+ formData.value = await QjglApi.getQjgl(Number( id) )
+ draftButton.value= true
+ }
+ }
const processKey = await FormProcessMappingApi.selectProcessKey( curFullPath )
if ( !processKey ) {
diff --git a/src/views/Home/qjgl/QjglForm.vue b/src/views/Home/qjgl/QjglDraft.vue
similarity index 58%
rename from src/views/Home/qjgl/QjglForm.vue
rename to src/views/Home/qjgl/QjglDraft.vue
index d52b610..acf9497 100644
--- a/src/views/Home/qjgl/QjglForm.vue
+++ b/src/views/Home/qjgl/QjglDraft.vue
@@ -1,70 +1,88 @@
+
+
+ 创建请假管理流程
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- 确 定
-
-
-
+
+
+ 提交审批
+
+