马宇豪
2024-11-13 12a7587eb12e3d33809ef9c169dd76b20ac707c4
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)
@@ -230,7 +234,6 @@
const handleClose = () => {
  reset();
  suppleRef.value.clearValidate();
  dialogVisible.value = false;
}
const reset = () => {
@@ -269,6 +272,14 @@
}
const picSize = async (rawFile) => {
  console.log("111",rawFile.name.length)
  if(rawFile.name.length >100){
    ElMessage({
      type: 'warning',
      message: '文件名不能超过100字'
    });
    return false
  }
  if(rawFile.size / 1024 / 1024 > 15){
    ElMessage({
      type: 'warning',
@@ -278,6 +289,7 @@
  }
};
const handleRemove = async (file, uploadFiles) => {
  if (file && file.status === 'success') {
  ElMessageBox.confirm(
      '确定删除该附件?',
      '提示',
@@ -286,29 +298,30 @@
        cancelButtonText: '取消',
        type: 'warning',
      })
      .then( async() => {
      .then(async () => {
        let path = "";
        if(file.path){
        if (file.path) {
          path = file.path
        }else {
        } else {
          path = file.response.data.path
        }
        const res = await delPic({path:path})
        if(res.code == 200){
        const res = await delPic({path: path})
        if (res.code == 200) {
          ElMessage({
            type: 'success',
            message: '文件已删除'
          })
          state.form.files = state.fileList;
        }else{
        } else {
          ElMessage({
            type: 'warning',
            message: res.message
          })
        }
      })
      .catch(()=>{
      .catch(() => {
      })
  }
}
const handlePreview = (file) => {
  let path = "";
@@ -344,27 +357,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 = () => {
@@ -373,7 +397,7 @@
  setTimeout(() => {
    if (finshed.value) return //值为true,则代表没有数据了
    state.pageNum += 1
    getAgency()
    getAgency('')
  }, 500)
}