maven
2025-12-03 067a7119d3175c9ea9b7c0d46b59df6e8ccb994c
src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
@@ -16,19 +16,20 @@
        </el-row>
        <el-row>
          <el-col :span="24">
            <el-form-item label="申请部门:" prop="approveDeptId">
                     <el-select
                        disabled
                        v-model="form.approveDeptId"
                        placeholder="选择部门"
                     >
                        <el-option
                           v-for="user in productOptions"
                           :key="user.deptId"
                           :label="user.deptName"
                           :value="user.deptId"
                        />
                     </el-select>
            <el-form-item label="申请部门:" prop="approveDeptName">
              <el-input v-model="form.approveDeptName" placeholder="请输入" clearable/>
<!--                     <el-select-->
<!--                        disabled-->
<!--                        v-model="form.approveDeptId"-->
<!--                        placeholder="选择部门"-->
<!--                     >-->
<!--                        <el-option-->
<!--                           v-for="user in productOptions"-->
<!--                           :key="user.deptId"-->
<!--                           :label="user.deptName"-->
<!--                           :value="user.deptId"-->
<!--                        />-->
<!--                     </el-select>-->
            </el-form-item>
          </el-col>
        </el-row>
@@ -42,9 +43,9 @@
        <!-- 请假时间(仅当 approveType 为 2 时显示) -->
        <el-row :gutter="30" v-if="props.approveType == 2">
          <el-col :span="12">
            <el-form-item label="请假开始时间:" prop="leaveStartTime">
            <el-form-item label="请假开始时间:" prop="startDate">
              <el-date-picker
                  v-model="form.leaveStartTime"
                  v-model="form.startDate"
                  type="date"
                  placeholder="请选择开始日期"
                  value-format="YYYY-MM-DD"
@@ -55,9 +56,9 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="请假结束时间:" prop="leaveEndTime">
            <el-form-item label="请假结束时间:" prop="endDate">
              <el-date-picker
                  v-model="form.leaveEndTime"
                  v-model="form.endDate"
                  type="date"
                  placeholder="请选择结束日期"
                  value-format="YYYY-MM-DD"
@@ -71,9 +72,9 @@
        <!-- 报销金额(仅当 approveType 为 4 时显示) -->
        <el-row v-if="props.approveType == 4">
          <el-col :span="24">
            <el-form-item label="报销金额:" prop="reimbursementAmount">
            <el-form-item label="报销金额:" prop="price">
              <el-input-number
                  v-model="form.reimbursementAmount"
                  v-model="form.price"
                  placeholder="请输入报销金额"
                  :min="0"
                  :precision="2"
@@ -87,9 +88,9 @@
        <!-- 出差地点(仅当 approveType 为 3 时显示) -->
        <el-row v-if="props.approveType == 3">
          <el-col :span="24">
            <el-form-item label="出差地点:" prop="businessTripLocation">
            <el-form-item label="出差地点:" prop="location">
              <el-input
                  v-model="form.businessTripLocation"
                  v-model="form.location"
                  placeholder="请输入出差地点"
                  clearable
              />
@@ -145,6 +146,9 @@
                     <el-select
                        v-model="form.approveUser"
                        placeholder="选择人员"
                filterable
                default-first-option
                :reserve-keyword="false"
                     >
                        <el-option
                           v-for="user in userList"
@@ -229,26 +233,27 @@
    approveId: "",
    approveUser: "",
      approveDeptId: "",
    approveDeptName: "",
    approveReason: "",
    checkResult: "",
    tempFileIds: [],
    approverList: [], // 新增字段,存储所有节点的审批人id
    leaveStartTime: "", // 请假开始时间
    leaveEndTime: "", // 请假结束时间
    reimbursementAmount: null, // 报销金额
    businessTripLocation: "" // 出差地点
    startDate: "", // 请假开始时间
    endDate: "", // 请假结束时间
    price: null, // 报销金额
    location: "" // 出差地点
  },
  rules: {
    approveTime: [{ required: false, message: "请输入", trigger: "change" },],
    approveId: [{ required: false, message: "请输入", trigger: "blur" }],
    approveUser: [{ required: false, message: "请输入", trigger: "blur" }],
      approveDeptId: [{ required: true, message: "请输入", trigger: "blur" }],
    approveDeptName: [{ 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" }],
    startDate: [{ required: true, message: "请选择请假开始时间", trigger: "change" }],
    endDate: [{ required: true, message: "请选择请假结束时间", trigger: "change" }],
    price: [{ required: true, message: "请输入报销金额", trigger: "blur" }],
    location: [{ required: true, message: "请输入出差地点", trigger: "blur" }],
  },
});
const { form, rules } = toRefs(data);
@@ -344,30 +349,30 @@
  }
  // 当 approveType 为 2 时,校验请假时间
  if (props.approveType == 2) {
    if (!form.value.leaveStartTime) {
    if (!form.value.startDate) {
      proxy.$modal.msgError("请选择请假开始时间!")
      return
    }
    if (!form.value.leaveEndTime) {
    if (!form.value.endDate) {
      proxy.$modal.msgError("请选择请假结束时间!")
      return
    }
    // 校验结束时间不能早于开始时间
    if (new Date(form.value.leaveEndTime) < new Date(form.value.leaveStartTime)) {
    if (new Date(form.value.endDate) < new Date(form.value.startDate)) {
      proxy.$modal.msgError("请假结束时间不能早于开始时间!")
      return
    }
  }
  // 当 approveType 为 3 时,校验出差地点
  if (props.approveType == 3) {
    if (!form.value.businessTripLocation || form.value.businessTripLocation.trim() === '') {
    if (!form.value.location || form.value.location.trim() === '') {
      proxy.$modal.msgError("请输入出差地点!")
      return
    }
  }
  // 当 approveType 为 4 时,校验报销金额
  if (props.approveType == 4) {
    if (!form.value.reimbursementAmount || form.value.reimbursementAmount <= 0) {
    if (!form.value.price || form.value.price <= 0) {
      proxy.$modal.msgError("请输入有效的报销金额!")
      return
    }