From 02e20cd06336c2cd69e7511bd5fedea8b938216b Mon Sep 17 00:00:00 2001 From: XaoLi717 <144221124+XaoLi717@users.noreply.github.com> Date: Mon, 16 Dec 2024 10:08:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=B0=8F=E6=95=B0=E8=AF=B7?= =?UTF-8?q?=E5=81=87=E5=A4=A9=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/Home/xjgl/XjglCreate.vue | 48 ++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 13 deletions(-) diff --git a/src/views/Home/xjgl/XjglCreate.vue b/src/views/Home/xjgl/XjglCreate.vue index 74bdb1b..4d770bd 100644 --- a/src/views/Home/xjgl/XjglCreate.vue +++ b/src/views/Home/xjgl/XjglCreate.vue @@ -44,7 +44,7 @@ - + @@ -114,6 +114,7 @@ import {getUserProfile} from "@/api/system/user/profile"; import {FormProcessMappingApi} from "@/api/bpm/formprocessmapping"; import SelectQjgl from "@/views/Home/qjgl/SelectQjgl.vue"; import QjglViewForm from "@/views/Home/qjgl/QjglViewForm.vue"; +import {CalendarApi} from "@/api/home/calendar"; /** 销假管理 表单 */ defineOptions({ name: 'XjglForm' }) @@ -153,7 +154,7 @@ const formRules = reactive({ qjglType: [{ required: true, message: '请假类型不能为空', trigger: 'change' }], startTime: [{ required: true, message: '开始时间不能为空', trigger: 'blur' }], endTime: [{ required: true, message: '结束时间不能为空', trigger: 'blur' }], - day: [{ required: true,type: 'number', message: '天数不能为空且是数字', trigger: 'blur' }], + day: [{ required: true,message: '天数不能为空且是数字', trigger: 'blur' }], cancelReason: [{ required: true, message: '原因不能为空', trigger: 'blur' }], }) const formRef = ref() // 表单 Ref @@ -171,9 +172,30 @@ const openForm = () => { selectRef.value.open(formData.value.userId) } -const oneDay = 24 * 60 * 60 * 1000; +// 获取日期时间 年月日 +function formatDate(dat: number|Date) { + const date = new Date(dat) + const year = date.getFullYear(); + const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以加1 + const day = String(date.getDate()).padStart(2, '0'); + return `${year}-${month}-${day}`; +} -const getDay = ()=> { +//获取天数数据模型 +const queryParamsDate = reactive({ + pageNo: 1, + pageSize: 1, + id: undefined, + date: ['',''],//只获取本年的数据 + isWorkday: 1, + content: undefined, + startTime: undefined, + endTime: undefined, + createTime: [], +}) + +//判断开始结束时间,向后端传递必要数据获取天数 +const getDay = async ()=> { if (formData.value.startTime && formData.value.endTime) { const startTime = formData.value.startTime const endTime = formData.value.endTime @@ -182,15 +204,15 @@ const getDay = ()=> { message.error("开始时间必须大于结束时间") return; } - const timeDiff = endTime - startTime; - if (timeDiff != undefined && timeDiff > 0) { - formData.value.day = Math.floor(timeDiff / oneDay); - }else { - formData.value.startTime = undefined - formData.value.endTime = undefined - message.error("开始时间必须大于结束时间") - return; - } + // //根据日期数据,获取字符串年月日数据 + const sTime= formatDate(startTime) + const eTime= formatDate(endTime) + //设置年月日区间,开始结束时间 + queryParamsDate.date = [sTime,eTime] + queryParamsDate.startTime = startTime + queryParamsDate.endTime = endTime + //设置完后获取后台数据 + formData.value.day = await CalendarApi.getWorkDay(queryParamsDate) } } /** 获取数据后赋值 */