huminmin
5 小时以前 f7bd6321d824a92da49b1b35aa729a29502f19bc
src/views/equipmentManagement/repair/Modal/MaintainModal.vue
@@ -32,6 +32,16 @@
          style="width: 100%"
        />
      </el-form-item>
      <el-form-item label="设备备件">
        <el-select v-model="form.sparePartsIds" :loading="loadingSparePartOptions" placeholder="请选择设备备件" multiple filterable>
          <el-option
              v-for="item in sparePartOptions"
              :key="item.id"
              :label="item.name"
              :value="item.id"
          />
        </el-select>
      </el-form-item>
    </el-form>
  </FormDialog>
</template>
@@ -43,6 +53,7 @@
import useUserStore from "@/store/modules/user";
import dayjs from "dayjs";
import { ElMessage } from "element-plus";
import {getSparePartsOptions} from "@/api/equipmentManagement/spareParts.js";
defineOptions({
  name: "维修模态框",
@@ -61,7 +72,10 @@
  maintenanceResult: undefined, // 维修结果
  maintenanceTime: undefined, // 维修日期
  status: 0,
  sparePartsIds: undefined,
});
const sparePartOptions = ref([])
const loadingSparePartOptions = ref(true)
const setForm = (data) => {
  form.maintenanceName = data.maintenanceName ?? userStore.nickName;
@@ -71,6 +85,7 @@
      ? dayjs(data.maintenanceTime).format("YYYY-MM-DD HH:mm:ss")
      : dayjs().format("YYYY-MM-DD HH:mm:ss");
  form.status = 1; // 默认状态为完结
  form.sparePartsIds = data.sparePartsIds;
};
const sendForm = async () => {
@@ -88,6 +103,17 @@
  }
};
const fetchSparePartOptions = (deviceLedgerId) => {
  loadingSparePartOptions.value = true;
  getSparePartsOptions({ deviceLedgerId: deviceLedgerId }).then((res) => {
    if (res.code == 200) {
      sparePartOptions.value = res.data || [];
    }
  }).finally(() => {
    loadingSparePartOptions.value = false;
  })
}
const handleCancel = () => {
  resetForm();
  visible.value = false;
@@ -103,6 +129,7 @@
  visible.value = true;
  await nextTick();
  setForm(row);
  fetchSparePartOptions(row.deviceLedgerId)
};
defineExpose({