zxl
2025-03-03 7f26338a7f7b8a4ca86eb20369bbe9cb990a67e3
项目法人单位登记信息
2个文件已修改
75 ■■■■■ 已修改文件
src/api/projectEngineering/projectUnitRegistrationInfo.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/projectEngineering/projectLibrary/component/legalPerson.vue 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/projectEngineering/projectUnitRegistrationInfo.js
@@ -59,3 +59,11 @@
        data: params
    })
}
//
export function getUnitRegistrationInfoByName(data){
    return request({
      url: "/project/unitRegistrationInfo/getUnitRegistrationInfoByName",
      method:'POST',
      data: data
    })
}
src/views/projectEngineering/projectLibrary/component/legalPerson.vue
@@ -10,10 +10,29 @@
<!--          </el-form-item>-->
<!--        </el-col>-->
        <el-col :span="12">
          <el-form-item label="项目单位" label-width="120px" prop="investmentType" style="width: 100%">
            <el-input v-model="legalPersonForm.projectUnit" class="item" clearable maxlength="255" placeholder="请输入"/>
          <el-form-item label="项目单位" label-width="120px" prop="investmentType"
                        >
            <el-select
              v-model="legalPersonForm.projectUnit"
              filterable
              placeholder="请选择或输入"
              style="width: 100%;"
              @change="handleSelectChange"
              remote
              :remote-method="handleBlur"
            >
              <el-option
                v-for="item in options"
                :key="item.id"
                :label="item.projectUnit"
                :value="item.id"
              >
              </el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item label="项目单位类型" label-width="120px" prop="projectType" style="width: 100%">
            <el-select
@@ -163,7 +182,8 @@
import {
  addProjectUnitRegistrationInfo,
  editProjectUnitRegistrationInfo,
  getProjectUnitRegistrationInfoById
  getProjectUnitRegistrationInfoById,
  getUnitRegistrationInfoByName
} from "@/api/projectEngineering/projectUnitRegistrationInfo";
export default {
@@ -178,11 +198,15 @@
  },
  data() {
    return {
      //项目单位选择框
      selectProjectUnit:'',
      projectForm: {},
      //单位法人信息
      options:[],
      legalPersonForm: {
        // id: '',
        // totalInvestment: '',
        // projectUnit: '',
        projectUnit: '',
        // projectUnitType: '',
        // registrationType: '',
        // holdingSituation: '',
@@ -222,11 +246,33 @@
    }
    this.legalPersonForm.projectId = this.projectForm.id;
    this.handleBlur();
  },
  beforeDestroy() {
    if(Object.keys(this.legalPersonForm).length !==0)  localStorage.setItem("legalPersonForm", JSON.stringify(this.legalPersonForm));
  },
  methods: {
    handleSelectChange(row) {
      if (this.options !== null) {
        this.options.forEach(item => {
          if (item.id === row) {
            this.legalPersonForm = item;
          }
        })
      }
    },
    //项目单位输入时触发
    handleBlur(query){
      console.log(query)
      this.legalPersonForm.projectUnit = query;
      if (this.legalPersonForm.projectUnit !== null && this.legalPersonForm.projectUnit !== '' && this.legalPersonForm.projectUnit !== undefined){
        getUnitRegistrationInfoByName(this.legalPersonForm).then(res =>{
          this.options = res.data;
        })
      }
    },
    getProjectUnitRegistrationInfo() {
      getProjectUnitRegistrationInfoById(this.$route.query.projectId).then(res => {
        this.legalPersonForm = res.data;
@@ -255,12 +301,23 @@
    },
  },
  watch: {
    'legalPersonForm.projectUnit':{
      deep:true,
      handler(newVal) {
        if (newVal === null || newVal === ''){
          this.options = null;
        }
      }
    },
    legalPersonForm: {
      deep: true,
      handler(newVal) {
        this.$emit('legalPersonForm', newVal)
      }
    }
    },
  }
}
</script>