hsy
20 小时以前 2d3530a7c11557a40807ad7c0b9e302ce6ce3a9f
src/views/equipmentManagement/repair/Modal/RepairModal.vue
@@ -58,6 +58,18 @@
      </el-row>
      <el-row>
        <el-col :span="12">
          <el-form-item label="报修类型">
            <el-select v-model="form.repairType"
                       placeholder="请选择报修类型"
                       :disabled="operationType === 'view'">
              <el-option v-for="dict in device_repair_type"
                         :key="dict.value"
                         :label="dict.label"
                         :value="Number(dict.value)"></el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="维修人">
            <el-input v-model="form.maintenanceName"
                      placeholder="请输入维修人姓名"
@@ -76,7 +88,26 @@
                         :value="1"></el-option>
              <el-option label="失败"
                         :value="2"></el-option>
              <el-option label="待验收"
                         :value="3"></el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="12" v-if="form.status !== 0">
          <el-form-item label="维修时间">
            <el-input v-model="form.maintenanceTime"
                      disabled />
          </el-form-item>
        </el-col>
      </el-row>
      <el-row v-if="form.status !== 0">
        <el-col :span="24">
          <el-form-item label="维修结果">
            <el-input v-model="form.maintenanceResult"
                      :rows="2"
                      type="textarea"
                      placeholder="暂无维修结果"
                      :disabled="operationType === 'view'" />
          </el-form-item>
        </el-col>
      </el-row>
@@ -114,6 +145,37 @@
          </el-form-item>
        </el-col>
      </el-row>
      <el-row v-if="form.status !== 0">
        <el-col :span="24">
          <el-form-item label="原因分析">
            <el-input v-model="form.reasonAnalysis"
                      :rows="2"
                      type="textarea"
                      placeholder="请输入原因分析"
                      :disabled="operationType === 'view'" />
          </el-form-item>
        </el-col>
        <el-col :span="24">
          <el-form-item label="处理措施">
            <el-input v-model="form.handlingMeasures"
                      :rows="2"
                      type="textarea"
                      placeholder="请输入处理措施"
                      :disabled="operationType === 'view'" />
          </el-form-item>
        </el-col>
      </el-row>
      <!-- 配件使用明细展示 -->
      <el-row v-if="sparePartsDetails.length > 0">
        <el-col :span="24">
          <el-form-item label="配件使用明细">
            <el-table :data="sparePartsDetails" size="small" border style="width: 100%">
              <el-table-column prop="sparePartName" label="配件名称" />
              <el-table-column prop="quantity" label="使用数量" width="100" />
            </el-table>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row v-if="operationType !== 'view'"
              :gutter="30">
        <el-col :span="24">
@@ -147,6 +209,8 @@
  });
  const emits = defineEmits(["ok"]);
  const { proxy } = getCurrentInstance();
  const { device_repair_type } = proxy.useDict("device_repair_type");
  const id = ref();
  const visible = ref(false);
@@ -163,6 +227,7 @@
  const userStore = useUserStore();
  const deviceOptions = ref([]);
  const fileList = ref([]);
  const sparePartsDetails = ref([]);
  const loadDeviceName = async () => {
    const { data } = await getDeviceLedger();
@@ -174,12 +239,17 @@
    deviceName: undefined, // 设备名称
    deviceModel: undefined, // 规格型号
    repairTime: dayjs().format("YYYY-MM-DD"), // 报修日期,默认当天
    repairType: undefined, // 报修类型
    repairName: userStore.nickName, // 报修人
    remark: undefined, // 故障现象
    reasonAnalysis: undefined, // 原因分析
    handlingMeasures: undefined, // 处理措施
    status: 0, // 报修状态
    machineryCategory: undefined,
    storageBlobDTOs: [],
    maintenanceName: undefined, // 维修人
    maintenanceTime: undefined,
    maintenanceResult: undefined,
  });
  const setDeviceModel = deviceId => {
@@ -192,15 +262,21 @@
    form.deviceName = data.deviceName;
    form.deviceModel = data.deviceModel;
    form.repairTime = data.repairTime;
    form.repairType = data.repairType;
    form.repairName = data.repairName;
    form.remark = data.remark;
    form.reasonAnalysis = data.reasonAnalysis;
    form.handlingMeasures = data.handlingMeasures;
    form.status = data.status;
    form.machineryCategory = data.machineryCategory;
    form.storageBlobDTOs = data.storageBlobVOs || [];
    form.maintenanceName = data.maintenanceName;
    form.maintenanceTime = data.maintenanceTime;
    form.maintenanceResult = data.maintenanceResult;
    form.acceptanceName = data.acceptanceName;
    form.acceptanceTime = data.acceptanceTime;
    form.acceptanceRemark = data.acceptanceRemark;
    sparePartsDetails.value = data.sparePartsUseListDetails || [];
  };
  const sendForm = async () => {
@@ -234,6 +310,7 @@
    operationType.value = "add";
    visible.value = true;
    fileList.value = [];
    sparePartsDetails.value = [];
    await nextTick();
    await loadDeviceName();
  };