获取小数请假天数
This commit is contained in:
parent
4b2d958e17
commit
02e20cd063
@ -44,7 +44,7 @@
|
|||||||
<el-form-item label="销假天数" prop="day">
|
<el-form-item label="销假天数" prop="day">
|
||||||
<el-row style="width: 100%;margin-bottom: 5px;" :gutter="2">
|
<el-row style="width: 100%;margin-bottom: 5px;" :gutter="2">
|
||||||
<el-col :span="22">
|
<el-col :span="22">
|
||||||
<el-input v-model.number="formData.day" placeholder="请输入销假天数" disabled />
|
<el-input v-model="formData.day" placeholder="请输入销假天数" disabled />
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -114,6 +114,7 @@ import {getUserProfile} from "@/api/system/user/profile";
|
|||||||
import {FormProcessMappingApi} from "@/api/bpm/formprocessmapping";
|
import {FormProcessMappingApi} from "@/api/bpm/formprocessmapping";
|
||||||
import SelectQjgl from "@/views/Home/qjgl/SelectQjgl.vue";
|
import SelectQjgl from "@/views/Home/qjgl/SelectQjgl.vue";
|
||||||
import QjglViewForm from "@/views/Home/qjgl/QjglViewForm.vue";
|
import QjglViewForm from "@/views/Home/qjgl/QjglViewForm.vue";
|
||||||
|
import {CalendarApi} from "@/api/home/calendar";
|
||||||
|
|
||||||
/** 销假管理 表单 */
|
/** 销假管理 表单 */
|
||||||
defineOptions({ name: 'XjglForm' })
|
defineOptions({ name: 'XjglForm' })
|
||||||
@ -153,7 +154,7 @@ const formRules = reactive({
|
|||||||
qjglType: [{ required: true, message: '请假类型不能为空', trigger: 'change' }],
|
qjglType: [{ required: true, message: '请假类型不能为空', trigger: 'change' }],
|
||||||
startTime: [{ required: true, message: '开始时间不能为空', trigger: 'blur' }],
|
startTime: [{ required: true, message: '开始时间不能为空', trigger: 'blur' }],
|
||||||
endTime: [{ 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' }],
|
cancelReason: [{ required: true, message: '原因不能为空', trigger: 'blur' }],
|
||||||
})
|
})
|
||||||
const formRef = ref() // 表单 Ref
|
const formRef = ref() // 表单 Ref
|
||||||
@ -171,9 +172,30 @@ const openForm = () => {
|
|||||||
selectRef.value.open(formData.value.userId)
|
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) {
|
if (formData.value.startTime && formData.value.endTime) {
|
||||||
const startTime = formData.value.startTime
|
const startTime = formData.value.startTime
|
||||||
const endTime = formData.value.endTime
|
const endTime = formData.value.endTime
|
||||||
@ -182,15 +204,15 @@ const getDay = ()=> {
|
|||||||
message.error("开始时间必须大于结束时间")
|
message.error("开始时间必须大于结束时间")
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const timeDiff = endTime - startTime;
|
// //根据日期数据,获取字符串年月日数据
|
||||||
if (timeDiff != undefined && timeDiff > 0) {
|
const sTime= formatDate(startTime)
|
||||||
formData.value.day = Math.floor(timeDiff / oneDay);
|
const eTime= formatDate(endTime)
|
||||||
}else {
|
//设置年月日区间,开始结束时间
|
||||||
formData.value.startTime = undefined
|
queryParamsDate.date = [sTime,eTime]
|
||||||
formData.value.endTime = undefined
|
queryParamsDate.startTime = startTime
|
||||||
message.error("开始时间必须大于结束时间")
|
queryParamsDate.endTime = endTime
|
||||||
return;
|
//设置完后获取后台数据
|
||||||
}
|
formData.value.day = await CalendarApi.getWorkDay(queryParamsDate)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/** 获取数据后赋值 */
|
/** 获取数据后赋值 */
|
||||||
|
Loading…
Reference in New Issue
Block a user