src/views/equipment/management/mould/equipmentRequisitionDialog.vue
@@ -7,7 +7,7 @@
  >
    <el-form :model="form" :rules="rules" ref="formRef" label-width="150px">
      <el-form-item label="领用人" prop="userId">
        <el-select v-model="form.userId" placeholder="请选择">
        <el-select v-model="form.userId" placeholder="请选择" :disabled="isViewMode">
          <el-option
            v-for="item in userList"
            :key="item.userId"
@@ -17,7 +17,7 @@
        </el-select>
      </el-form-item>
      <el-form-item label="设备名称" prop="equipmentId">
        <el-select v-model="form.equipmentId" placeholder="请选择">
        <el-select v-model="form.equipmentId" placeholder="请选择" :disabled="isViewMode">
          <el-option
            v-for="item in equipmentList"
            :key="item.id"
@@ -42,6 +42,7 @@
          :min="1"
          :max="maxQuantity || 999"
          style="width: 100%"
          :disabled="isViewMode"
        />
        <span
          v-if="maxQuantity !== null"
@@ -50,12 +51,10 @@
        >
      </el-form-item>
      <el-form-item label="使用状态" prop="equipmentStatus">
        <el-select v-model="form.equipmentStatus" placeholder="请选择">
          <el-option label="启用" :value="1" />
          <el-option label="禁用" :value="0" />
          <el-option label="维修中" :value="2" />
          <el-option label="报废" :value="3" />
          <el-option label="待领用" :value="4" />
        <!-- 编辑的时候自动匹配 -->
        <el-select v-model="form.equipmentStatus" placeholder="请选择" :disabled="isViewMode">
          <el-option label="使用中" value="0" />
          <el-option label="已归还" value="1" />
        </el-select>
      </el-form-item>
      <el-form-item label="使用开始时间" prop="usageStartTime">
@@ -66,6 +65,7 @@
          style="width: 100%"
          value-format="YYYY-MM-DD"
          format="YYYY-MM-DD"
          :disabled="isViewMode"
        />
      </el-form-item>
      <!-- <el-form-item label="使用结束时间" prop="usageEndTime">
@@ -81,12 +81,13 @@
          v-model="form.remarks"
          type="textarea"
          placeholder="请输入备注"
          :disabled="isViewMode"
        />
      </el-form-item>
    </el-form>
    <template #footer>
      <el-button @click="handleClose">取消</el-button>
      <el-button type="primary" @click="handleSubmit">确定</el-button>
      <el-button type="primary" @click="handleSubmit" v-if="!isViewMode">确定</el-button>
    </template>
  </el-dialog>
</template>
@@ -116,11 +117,27 @@
    type: Object,
    default: () => ({}),
  },
  beforeClose: {
    type: Function,
    default: () => {},
  },
  addOrEdit: {
    type: String,
    default: "add",
  },
  title: {
    type: String,
    default: "",
  },
  equipmentStatus:{
    type: String,
    default: "0"
  }
});
const maxQuantity = computed(() => {
  if (!props.formData.equipmentId) return 0;
  if (!form.value.equipmentId) return 0;
  const eq = equipmentList.value.find(
    (item) => item.id == props.formData.equipmentId
    (item) => item.id == form.value.equipmentId
  );
  // 防止为0或负数,最小为1
  return eq && eq.quantity > 0 ? eq.quantity : 999;
@@ -131,6 +148,7 @@
  get: () => props.modelValue,
  set: (v) => emit("update:modelValue", v),
});
const isViewMode = computed(() => props.addOrEdit === "view" || props.addOrEdit === "viewRow" || props.equipmentStatus ==="1");
const isEdit = computed(() => !!props.formData?.id);
const formRef = ref();