祖安之光
2025-11-27 0190c057e1d818b580ac7977b14b967fea231cd9
src/views/work/qualityInfo/infrastructureMng/maintainPlan/components/editDialog.vue
@@ -9,7 +9,7 @@
        :close-on-click-modal="false"
    >
      <el-form :model="state.form" size="default" ref="superRef" :rules="state.formRules" label-width="180px">
        <el-form-item v-if="state.isAdmin" label="企业:" prop="companyId">
        <el-form-item v-if="state.isAdmin" label="单位:" prop="companyId">
          <el-select v-model="state.form.companyId" placeholder="请选择" :disabled="state.title =='查看'" clearable @change="getDeptList">
            <el-option
                v-for="item in state.companyList"
@@ -133,7 +133,15 @@
            <tr>
              <td>{{deviceIndex + 1}}</td>
              <td>
                <el-input v-model.trim="device.deviceName" type="textarea" style="width: 100%;" clearable :readonly="state.title =='查看'"></el-input>
<!--                <el-input v-model.trim="device.deviceName" type="textarea" style="width: 100%;" clearable :readonly="state.title =='查看'"></el-input>-->
                <el-select clearable v-model="device.deviceName" :readonly="state.title =='查看'" filterable placeholder="设备名称" style="width: 100%" @change="getDeviceInfo(device.deviceName,deviceIndex)">
                  <el-option
                      v-for="item in state.deviceList"
                      :key="item.id"
                      :label="item.name"
                      :value="item.id"
                  />
                </el-select>
              </td>
              <td>
                <el-input v-model.trim="device.model" type="textarea" style="width: 100%;" clearable :readonly="state.title =='查看'"></el-input>
@@ -223,8 +231,8 @@
} from "@/api/innerReview/meetingReview";
import {getDepart} from "@/api/orgStructure/depart";
import {listUser} from "@/api/system/user";
import {getMaintenancePlanDetail, updateMaintenancePlan} from "@/api/infrastructureMng/ledger";
import {getMaintenancePlanDetail, getStandingBookList, updateMaintenancePlan} from "@/api/infrastructureMng/ledger";
import {getEmployeeRecords} from "@/api/onlineEducation/user";
const emit = defineEmits(["getList"]);
const dialogVisible = ref(false)
const superRef = ref()
@@ -253,6 +261,7 @@
    delDeviceIds: []
  },
  oldDeviceList: [],
  deviceList: [],
  formRules:{
    companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
    year: [{ required: true, message: '请选择年份', trigger: 'blur' }],
@@ -290,12 +299,33 @@
    state.companyList = companyList
  }
  await getUserList(companyId)
  await getDeviceList(companyId)
  state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看'
  state.form.companyId = companyId
  state.form.year = new Date().getFullYear().toString()
  if(state.title == '编辑'||state.title == '查看'){
    await getInfo(value.id)
  }
  dialogVisible.value = true
}
const getDeviceList = async (companyId) => {
  const res = await getStandingBookList({pageNum: 1, pageSize: 999, companyId: companyId})
  if(res.code == 200){
    state.deviceList = res.data.list || []
  }else{
    ElMessage.warning(res.message)
  }
}
const getDeviceInfo = (name,index)=>{
  const foundNode = state.deviceList.find(i=>i.id == name)
  state.form.annualMaintenanceDeviceSaveDTOReqs[index] = {
    ...state.form.annualMaintenanceDeviceSaveDTOReqs[index],
    deviceName: foundNode.name,
    model: foundNode.model,
    factoryNumber: foundNode.number
  }
}
const addLine = () => {
@@ -433,19 +463,13 @@
  state.form.processId = null
  state.form.finishId = null
  await getUserList(state.form.companyId)
  await getDeviceList(state.form.companyId)
}
const getUserList = async (companyId)=> {
  const res = await listUser({pageIndex: 1,pageSize: 999,companyId: companyId})
  const res = await getEmployeeRecords({companyId: companyId})
  if(res.code == 200){
    state.userList = res.data.list?res.data.list.map(item=>{
      const user = item.id
      const {id, ...data} = item
      return {
        ...data,
        userId: user
      }
    }):[]
    state.userList = res.data ? res.data :[]
    if(state.form.deptId){
      state.interUserList = state.userList.filter(i=>i.deptId !== state.form.deptId)
    }else{