zhouwx
2024-06-13 d1958c0d72946b04b7949eee1a28c06430a73874
src/views/safetyReview/projectSupplement/components/supplemenrtDialog.vue
@@ -9,12 +9,12 @@
      <el-form :model="state.form" size="default" ref="suppleRef" :rules="state.formRules" label-width="110px" >
        <el-form-item label="所属机构:"  prop="agencyId">
          <el-input v-if="isAgency" v-model="state.agencyName" disabled></el-input>
          <el-select v-model="state.form.agencyId" v-else style="width: 100%" :disabled="isReview" v-loadMore="loadMore" class="m-2" placeholder="请选择机构" popper-class="more_select_dropdown"   >
          <el-select v-model="state.form.agencyName"  v-else style="width: 100%" @change="selectValue" :disabled="isReview" v-loadMore="loadMore" class="m-2" placeholder="请选择机构" popper-class="more_select_dropdown"   >
            <el-option
                v-for="item in state.agencyList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
                :value="item.name"
            />
          </el-select>
        </el-form-item>
@@ -118,8 +118,10 @@
  agencyId: '',
  agencyList: [],
  pageNum: 1,
  pageSize: 10
  pageSize: 10,
  agency: {
  }
})
const isAgency = ref(false);
@@ -130,7 +132,7 @@
    state.form.agencyId = userInfo.agentId;
    isAgency.value = true;
  } else {
    getAgency()
    getAgency('open')
  }
}
const openDialog = async (type, value) => {
@@ -151,6 +153,8 @@
          name: item.originName,
        }
      })
      state.agency.id = res.data.agencyId;
      state.agency.name = res.data.agencyName
      console.log('state.fileList',state.form)
    }else{
      ElMessage.warning(res.message)
@@ -354,27 +358,38 @@
}
const finshed = ref(false)
const getAgency = async () => {
  const queryParams = {
    pageNum: state.pageNum,
    pageSize: state.pageSize,
  }
  const res = await getInsitutionList(queryParams)
  if(res.code == 200){
    if(res.data.pageNum === state.pageNum){
      finshed.value = false;
      if(state.pageNum == 1){
        state.agencyList = res.data.list
      }else {
        state.agencyList =state.agencyList .concat(res.data.list)
      }
    }else {
      finshed.value = true;
    }
const getAgency = async (type) => {
  if (type === 'open' && state.pageNum !== 1) {
  }else{
    ElMessage.warning(res.message)
  } else {
    const queryParams = {
      pageNum: state.pageNum,
      pageSize: state.pageSize,
    }
    const res = await getInsitutionList(queryParams)
    if(res.code == 200){
      if(res.data.pageNum === state.pageNum){
        finshed.value = false;
        if(state.pageNum == 1){
          state.agencyList = res.data.list
        }else {
          state.agencyList =state.agencyList .concat(res.data.list)
        }
      }else {
        finshed.value = true;
      }
    }else{
      ElMessage.warning(res.message)
    }
  }
}
const selectValue = (val) => {
  state.agencyList.forEach(item => {
    if(item.name === val){
      state.form.agencyId = item.id
    }
  })
}
//触底函数
const loadMore = () => {
@@ -383,7 +398,7 @@
  setTimeout(() => {
    if (finshed.value) return //值为true,则代表没有数据了
    state.pageNum += 1
    getAgency()
    getAgency('')
  }, 500)
}