| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- 请假时间(仅当 approveType 为 2 时显示) --> |
| | | <el-row :gutter="30" v-if="props.approveType == 2"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="请假开始时间:" prop="leaveStartTime"> |
| | | <el-date-picker |
| | | v-model="form.leaveStartTime" |
| | | type="date" |
| | | placeholder="请选择开始日期" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | clearable |
| | | style="width: 100%" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="请假结束时间:" prop="leaveEndTime"> |
| | | <el-date-picker |
| | | v-model="form.leaveEndTime" |
| | | type="date" |
| | | placeholder="请选择结束日期" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | clearable |
| | | style="width: 100%" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- 报销金额(仅当 approveType 为 4 时显示) --> |
| | | <el-row v-if="props.approveType == 4"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="报销金额:" prop="reimbursementAmount"> |
| | | <el-input-number |
| | | v-model="form.reimbursementAmount" |
| | | placeholder="请输入报销金额" |
| | | :min="0" |
| | | :precision="2" |
| | | :step="0.01" |
| | | style="width: 100%" |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- 出差地点(仅当 approveType 为 3 时显示) --> |
| | | <el-row v-if="props.approveType == 3"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="出差地点:" prop="businessTripLocation"> |
| | | <el-input |
| | | v-model="form.businessTripLocation" |
| | | placeholder="请输入出差地点" |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- 审批人选择(动态节点) --> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | |
| | | approveReason: "", |
| | | checkResult: "", |
| | | tempFileIds: [], |
| | | approverList: [] // 新增字段,存储所有节点的审批人id |
| | | approverList: [], // 新增字段,存储所有节点的审批人id |
| | | leaveStartTime: "", // 请假开始时间 |
| | | leaveEndTime: "", // 请假结束时间 |
| | | reimbursementAmount: null, // 报销金额 |
| | | businessTripLocation: "" // 出差地点 |
| | | }, |
| | | rules: { |
| | | approveTime: [{ required: false, message: "请输入", trigger: "change" },], |
| | |
| | | approveDeptId: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | approveReason: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | checkResult: [{ required: false, message: "请输入", trigger: "blur" }], |
| | | leaveStartTime: [{ required: true, message: "请选择请假开始时间", trigger: "change" }], |
| | | leaveEndTime: [{ required: true, message: "请选择请假结束时间", trigger: "change" }], |
| | | reimbursementAmount: [{ required: true, message: "请输入报销金额", trigger: "blur" }], |
| | | businessTripLocation: [{ required: true, message: "请输入出差地点", trigger: "blur" }], |
| | | }, |
| | | }); |
| | | const { form, rules } = toRefs(data); |
| | |
| | | |
| | | // 打开弹框 |
| | | const openDialog = (type, row) => { |
| | | console.log('openDialog', type, row) |
| | | operationType.value = type; |
| | | dialogFormVisible.value = true; |
| | | userListNoPageByTenantId().then((res) => { |
| | |
| | | proxy.$modal.msgError("请为所有审批节点选择审批人!") |
| | | return |
| | | } |
| | | // 当 approveType 为 2 时,校验请假时间 |
| | | if (props.approveType == 2) { |
| | | if (!form.value.leaveStartTime) { |
| | | proxy.$modal.msgError("请选择请假开始时间!") |
| | | return |
| | | } |
| | | if (!form.value.leaveEndTime) { |
| | | proxy.$modal.msgError("请选择请假结束时间!") |
| | | return |
| | | } |
| | | // 校验结束时间不能早于开始时间 |
| | | if (new Date(form.value.leaveEndTime) < new Date(form.value.leaveStartTime)) { |
| | | proxy.$modal.msgError("请假结束时间不能早于开始时间!") |
| | | return |
| | | } |
| | | } |
| | | // 当 approveType 为 3 时,校验出差地点 |
| | | if (props.approveType == 3) { |
| | | if (!form.value.businessTripLocation || form.value.businessTripLocation.trim() === '') { |
| | | proxy.$modal.msgError("请输入出差地点!") |
| | | return |
| | | } |
| | | } |
| | | // 当 approveType 为 4 时,校验报销金额 |
| | | if (props.approveType == 4) { |
| | | if (!form.value.reimbursementAmount || form.value.reimbursementAmount <= 0) { |
| | | proxy.$modal.msgError("请输入有效的报销金额!") |
| | | return |
| | | } |
| | | } |
| | | proxy.$refs.formRef.validate(valid => { |
| | | if (valid) { |
| | | if (operationType.value === "add" || currentApproveStatus.value == 3) { |