| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- 请假/出差时间(当 approveType 为 2 或 3 时显示) --> |
| | | <el-row :gutter="30" |
| | | v-if="props.approveType == 2 || props.approveType == 3"> |
| | | <el-col :span="12"> |
| | | <el-form-item :label="props.approveType == 2 ? '请假开始时间:' : '开始时间:'" |
| | | prop="startDate"> |
| | | <el-date-picker v-model="form.startDate" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | disabled |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item :label="props.approveType == 2 ? '请假结束时间:' : '结束时间:'" |
| | | prop="endDate"> |
| | | <el-date-picker v-model="form.endDate" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | disabled |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- 审批人选择(动态节点) --> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | |
| | | approveDeptId: "", |
| | | approveReason: "", |
| | | checkResult: "", |
| | | startDate: "", |
| | | endDate: "", |
| | | }, |
| | | }); |
| | | const { form } = toRefs(data); |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- 请假时间(仅当 approveType 为 2 时显示) --> |
| | | <!-- 请假/出差时间(当 approveType 为 2 或 3 时显示) --> |
| | | <el-row :gutter="30" |
| | | v-if="props.approveType == 2"> |
| | | v-if="props.approveType == 2 || props.approveType == 3"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="请假开始时间:" |
| | | <el-form-item :label="props.approveType == 2 ? '请假开始时间:' : '开始时间:'" |
| | | prop="startDate"> |
| | | <el-date-picker v-model="form.startDate" |
| | | type="date" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="请假结束时间:" |
| | | <el-form-item :label="props.approveType == 2 ? '请假结束时间:' : '结束时间:'" |
| | | prop="endDate"> |
| | | <el-date-picker v-model="form.endDate" |
| | | type="date" |
| | |
| | | approveReason: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | checkResult: [{ required: false, message: "请输入", trigger: "blur" }], |
| | | startDate: [ |
| | | { required: true, message: "请选择请假开始时间", trigger: "change" }, |
| | | { required: true, message: "请选择开始时间", trigger: "change" }, |
| | | ], |
| | | endDate: [ |
| | | { required: true, message: "请选择请假结束时间", trigger: "change" }, |
| | | { required: true, message: "请选择结束时间", trigger: "change" }, |
| | | ], |
| | | price: [{ required: true, message: "请输入报销金额", trigger: "blur" }], |
| | | location: [{ required: true, message: "请输入出差地点", trigger: "blur" }], |
| | |
| | | proxy.$modal.msgError("请为所有审批节点选择审批人!"); |
| | | return; |
| | | } |
| | | // 当 approveType 为 2 时,校验请假时间 |
| | | if (props.approveType == 2) { |
| | | // 当 approveType 为 2 或 3 时,校验请假/出差时间 |
| | | if (props.approveType == 2 || props.approveType == 3) { |
| | | if (!form.value.startDate) { |
| | | proxy.$modal.msgError("请选择请假开始时间!"); |
| | | proxy.$modal.msgError(props.approveType == 2 ? "请选择请假开始时间!" : "请选择开始时间!"); |
| | | return; |
| | | } |
| | | if (!form.value.endDate) { |
| | | proxy.$modal.msgError("请选择请假结束时间!"); |
| | | proxy.$modal.msgError(props.approveType == 2 ? "请选择请假结束时间!" : "请选择结束时间!"); |
| | | return; |
| | | } |
| | | // 校验结束时间不能早于开始时间 |
| | | if (new Date(form.value.endDate) < new Date(form.value.startDate)) { |
| | | proxy.$modal.msgError("请假结束时间不能早于开始时间!"); |
| | | proxy.$modal.msgError(props.approveType == 2 ? "请假结束时间不能早于开始时间!" : "结束时间不能早于开始时间!"); |
| | | return; |
| | | } |
| | | } |
| | |
| | | // 动态表格列配置,根据审批类型生成列 |
| | | const tableColumnCopy = computed(() => { |
| | | const isLeaveType = currentApproveType.value === 2; // 请假管理 |
| | | const isBusinessTripType = currentApproveType.value === 3; // 出差管理 |
| | | const showDateRange = isLeaveType || isBusinessTripType; // 是否显示时间段 |
| | | const isReimburseType = currentApproveType.value === 4; // 报销管理 |
| | | const isQuotationType = currentApproveType.value === 6; // 报价审批 |
| | | const isPurchaseType = currentApproveType.value === 5; // 采购审批 |
| | |
| | | }); |
| | | } |
| | | |
| | | // 日期列(根据类型动态配置) |
| | | // 基础日期列 |
| | | baseColumns.push( |
| | | { |
| | | label: isLeaveType ? "开始日期" : "申请日期", |
| | | prop: isLeaveType ? "startDate" : "approveTime", |
| | | width: 200, |
| | | label: "申请日期", |
| | | prop: "approveTime", |
| | | width: 160, |
| | | }, |
| | | { |
| | | label: "结束日期", |
| | | prop: isLeaveType ? "endDate" : "approveOverTime", |
| | | width: 120, |
| | | label: "审批日期", |
| | | prop: "approveOverTime", |
| | | width: 160, |
| | | } |
| | | ); |
| | | |
| | | // 开始和结束日期列 |
| | | if (showDateRange) { |
| | | baseColumns.push( |
| | | { |
| | | label: "开始日期", |
| | | prop: "startDate", |
| | | width: 120, |
| | | }, |
| | | { |
| | | label: "结束日期", |
| | | prop: "endDate", |
| | | width: 120, |
| | | } |
| | | ); |
| | | } |
| | | |
| | | // 当前审批人列 |
| | | baseColumns.push({ |
| | | label: "当前审批人", |