diff --git a/src/views/Home/jbgl/JbglCreate.vue b/src/views/Home/jbgl/JbglCreate.vue index e9078c4..0db82a8 100644 --- a/src/views/Home/jbgl/JbglCreate.vue +++ b/src/views/Home/jbgl/JbglCreate.vue @@ -10,54 +10,80 @@ label-width="100px" v-loading="formLoading" > - - - - -
{{ userInfo}}
-
获取失败
-
- -
{{ deptInfo}}
-
获取失败
-
- - - - - - - - - - - - - - - - - + + + +
{{ userInfo}}
+
获取失败
+
+
+ + +
{{ deptInfo}}
+
获取失败
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -74,6 +100,7 @@ import * as DefinitionApi from '@/api/bpm/definition' import * as UserApi from '@/api/system/user' import {useTagsViewStore} from "@/store/modules/tagsView"; import {getUserProfile} from "@/api/system/user/profile"; +import {number} from "echarts"; /** 加班管理 表单 */ defineOptions({ name: 'JbglCreate' }) @@ -93,7 +120,7 @@ const formData = ref({ type: undefined, startDate: undefined, endDate: undefined, - duration: undefined, + duration: number | null, reason: undefined, status: undefined, processInstanceId: undefined, @@ -111,6 +138,29 @@ const userList = ref([]) // 用户列表 const deptInfo = ref('') // 部门信息 const userInfo = ref('') // 用户名字 +// 计算属性:计算时间差 +watchEffect(() => { + if (formData.value.startDate && formData.value.endDate) { + const start = formData.value.startDate + const end = formData.value.endDate + const differenceInMs = end - start + formData.value.duration = differenceInMs > 0 ? Math.floor(differenceInMs / (1000 * 60 * 60)) : -1; + }else { + formData.value.duration = 0 + } +}) + +// 方法:验证开始时间是否小于结束时间 +const validateDate = () => { + if (formData.value.startDate && formData.value.endDate) { + const start = formData.value.startDate + const end = formData.value.endDate + if (start > end) { + formData.value.endDate = undefined + message.error('开始时间不能大于结束时间') + } + } +} // 获取用户部门 const getUserInfo = async () => { const user = await getUserProfile(); @@ -180,7 +230,7 @@ const formRules = reactive({ type: [{ required: true, message: '加班类型不能为空', trigger: 'change' }], startDate: [{ required: true, message: '加班开始时间不能为空', trigger: 'blur' }], endDate: [{ required: true, message: '加班结束时间不能为空', trigger: 'blur' }], - duration: [{ required: true,type: 'number', message: '加班总时长不能为空且是数字', trigger: 'blur' }], + // duration: [{ required: true,type: 'number', message: '加班总时长不能为空且是数字', trigger: 'blur' }], }) const formRef = ref() // 表单 Ref diff --git a/src/views/Home/jbgl/JbglDetail.vue b/src/views/Home/jbgl/JbglDetail.vue index 4770474..0a61790 100644 --- a/src/views/Home/jbgl/JbglDetail.vue +++ b/src/views/Home/jbgl/JbglDetail.vue @@ -9,58 +9,82 @@ label-width="100px" v-loading="formLoading" > - - - - -
{{ userInfo}}
-
获取失败
-
- -
{{ deptInfo}}
-
获取失败
-
- - - - - - - - - - - - - - - - - + + + +
{{ userInfo}}
+
获取失败
+
+
+ + +
{{ deptInfo}}
+
获取失败
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +