获取小数请假天数
This commit is contained in:
parent
4b2d958e17
commit
02e20cd063
@ -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'); // 月份从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)
|
||||
}
|
||||
}
|
||||
/** 获取数据后赋值 */
|
||||
|
Loading…
Reference in New Issue
Block a user