获取小数请假天数

This commit is contained in:
XaoLi717 2024-12-16 10:08:10 +08:00
parent 4b2d958e17
commit 02e20cd063

View File

@ -44,7 +44,7 @@
<el-form-item label="销假天数" prop="day">
<el-row style="width: 100%;margin-bottom: 5px;" :gutter="2">
<el-col :span="22">
<el-input v-model.number="formData.day" placeholder="请输入销假天数" disabled />
<el-input v-model="formData.day" placeholder="请输入销假天数" disabled />
</el-col>
</el-row>
</el-form-item>
@ -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'); // 01
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)
}
}
/** 获取数据后赋值 */