From 1fa6ac40e2ce16e1174cec9ca538d45eeb660fdc Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 05 六月 2025 18:17:56 +0800 Subject: [PATCH] 工作台 --- src/views/projectEngineering/projectLibrary/component/legalPerson.vue | 189 ++++++++++++++++++++++++++++++++++------------- 1 files changed, 136 insertions(+), 53 deletions(-) diff --git a/src/views/projectEngineering/projectLibrary/component/legalPerson.vue b/src/views/projectEngineering/projectLibrary/component/legalPerson.vue index 219626f..72aa0c8 100644 --- a/src/views/projectEngineering/projectLibrary/component/legalPerson.vue +++ b/src/views/projectEngineering/projectLibrary/component/legalPerson.vue @@ -2,16 +2,37 @@ <div class="basic-info"> <el-form ref="demoFormRef" :disabled="disabled" :model="legalPersonForm" class="dialog_form"> <el-row :gutter="20"> - <el-col :span="6"> - <el-form-item label="椤圭洰鎬绘姇棰�" label-width="120px" prop="investmentType" style="width: 100%"> - <el-input v-model="legalPersonForm.totalInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" /> +<!-- <el-col :span="6">--> +<!-- <el-form-item label="椤圭洰鎬绘姇棰�" label-width="120px" prop="investmentType" style="width: 100%">--> +<!-- <el-input v-model="legalPersonForm.totalInvestment" class="item" clearable maxlength="255" style="width: 90%"--> +<!-- placeholder="璇疯緭鍏�"/>--> +<!-- <span class="money">涓囧厓</span>--> +<!-- </el-form-item>--> +<!-- </el-col>--> + <el-col :span="12"> + <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="investmentType" style="width: 100%"> - <el-input v-model="legalPersonForm.projectUnit" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" /> - </el-form-item> - </el-col> + + <el-col :span="6"> <el-form-item label="椤圭洰鍗曚綅绫诲瀷" label-width="120px" prop="projectType" style="width: 100%"> <el-select @@ -70,75 +91,84 @@ <el-row :gutter="20"> <el-col :span="6"> <el-form-item label="璇佷欢鍙风爜" label-width="120px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="legalPersonForm.certificateNumber" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" /> + <el-input v-model.trim="legalPersonForm.certificateNumber" class="item" clearable maxlength="255" + placeholder="璇疯緭鍏�"/> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="娉ㄥ唽鍦板潃" label-width="120px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="legalPersonForm.registeredAddress" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" /> + <el-input v-model.trim="legalPersonForm.registeredAddress" class="item" clearable maxlength="255" + placeholder="璇疯緭鍏�"/> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="娉ㄥ唽璧勯噾" label-width="120px" prop="projectType" style="width: 100%"> - <el-input v-model.trim="legalPersonForm.registeredCapital" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" /> + <el-input v-model.trim="legalPersonForm.registeredCapital" class="item" clearable maxlength="255" + placeholder="璇疯緭鍏�"/> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="6"> <el-form-item label="娉曚汉浠h〃" label-width="120px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="legalPersonForm.legalRepresentative" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" /> + <el-input v-model.trim="legalPersonForm.legalRepresentative" class="item" clearable maxlength="255" + placeholder="璇疯緭鍏�"/> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="鍥哄畾鐢佃瘽" label-width="120px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="legalPersonForm.fixedPhone" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" /> + <el-input v-model.trim="legalPersonForm.fixedPhone" class="item" clearable maxlength="255" + placeholder="璇疯緭鍏�"/> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="娉曚汉韬唤璇佸彿" label-width="120px" prop="projectType" style="width: 100%"> - <el-input v-model.trim="legalPersonForm.legalPersonIdcard" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" /> + <el-input v-model.trim="legalPersonForm.legalPersonIdcard" class="item" clearable maxlength="255" + placeholder="璇疯緭鍏�"/> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="6"> <el-form-item label="椤圭洰鑱旂郴浜�" label-width="120px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="legalPersonForm.projectContactPerson" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" /> + <el-input v-model.trim="legalPersonForm.projectContactPerson" class="item" clearable maxlength="255" + placeholder="璇疯緭鍏�"/> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="绉诲姩鐢佃瘽" label-width="120px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="legalPersonForm.phone" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" /> + <el-input v-model.trim="legalPersonForm.phone" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�"/> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="鑱旂郴浜鸿韩浠借瘉鍙�" label-width="120px" prop="projectType" style="width: 100%"> - <el-input v-model.trim="legalPersonForm.contactIdcard" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" /> + <el-input v-model.trim="legalPersonForm.contactIdcard" class="item" clearable maxlength="255" + placeholder="璇疯緭鍏�"/> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="6"> <el-form-item label="寰俊鍙�" label-width="120px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="legalPersonForm.wechat" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" /> + <el-input v-model.trim="legalPersonForm.wechat" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�"/> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="鑱旂郴浜洪�氳鍦板潃" label-width="120px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="legalPersonForm.contactAddress" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" /> + <el-input v-model.trim="legalPersonForm.contactAddress" class="item" clearable maxlength="255" + placeholder="璇疯緭鍏�"/> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="閭斂缂栫爜" label-width="120px" prop="projectType" style="width: 100%"> - <el-input v-model.trim="legalPersonForm.postCode" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" /> + <el-input v-model.trim="legalPersonForm.postCode" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�"/> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="6"> <el-form-item label="鐢靛瓙閭" label-width="120px" prop="investmentType" style="width: 100%"> - <el-input v-model="legalPersonForm.email" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" /> + <el-input v-model="legalPersonForm.email" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�"/> </el-form-item> </el-col> </el-row> @@ -152,70 +182,100 @@ import { addProjectUnitRegistrationInfo, editProjectUnitRegistrationInfo, - getProjectUnitRegistrationInfoById + getProjectUnitRegistrationInfoById, + getUnitRegistrationInfoByName } from "@/api/projectEngineering/projectUnitRegistrationInfo"; export default { - dicts: ['sys_unit_type','sys_registration_type','sys_holding_situation','sys_license_type'], + dicts: ['sys_unit_type', 'sys_registration_type', 'sys_holding_situation', 'sys_license_type'], name: 'LegalPersonForm', props: { disabled: { type: Boolean, default: false, required: true - } + }, }, data() { return { + //椤圭洰鍗曚綅閫夋嫨妗� + selectProjectUnit:'', + projectForm: {}, + //鍗曚綅娉曚汉淇℃伅 + options:[], legalPersonForm: { - id: '', - totalInvestment: '', + // id: '', + // totalInvestment: '', projectUnit: '', - projectUnitType: '', - registrationType: '', - holdingSituation: '', - certificateType: '', - certificateNumber: '', - registeredAddress: '', - registeredCapital: '', - projectId: '', - legalRepresentative: '', - fixedPhone: '', - legalPersonIdcard: '', - projectContactPerson: '', - phone: '', - contactIdcard: '', - wechat: '', - contactAddress: '', - postCode: '', - email: '' + // projectUnitType: '', + // registrationType: '', + // holdingSituation: '', + // certificateType: '', + // certificateNumber: '', + // registeredAddress: '', + // registeredCapital: '', + // projectId: '', + // legalRepresentative: '', + // fixedPhone: '', + // legalPersonIdcard: '', + // projectContactPerson: '', + // phone: '', + // contactIdcard: '', + // wechat: '', + // contactAddress: '', + // postCode: '', + // email: '' }, } }, mounted() { - this.legalPersonForm.projectId = this.$route.query.projectId; - const legalPersonForm = Cookies.get("legalPersonForm"); - const projectForm = Cookies.get("projectForm"); + const legalPersonForm = localStorage.getItem("legalPersonForm"); + const projectForm = localStorage.getItem("projectForm"); const parsedLegalPersonForm = legalPersonForm ? JSON.parse(legalPersonForm) : null; const parsedProjectForm = projectForm ? JSON.parse(projectForm) : null; if (parsedLegalPersonForm) { this.legalPersonForm = parsedLegalPersonForm } - if (parsedProjectForm){ + if (parsedProjectForm) { this.projectForm = parsedProjectForm } // 濡傛灉璺敱瀛樺湪id涓旀病鏈夌紦瀛�,瑙嗕负缂栬緫鎴栨煡鐪嬶紝璋冪敤api - if (this.legalPersonForm.projectId && !parsedLegalPersonForm) { + if (this.$route.query.projectId && !parsedLegalPersonForm) { this.getProjectUnitRegistrationInfo(); } + + this.legalPersonForm.projectId = this.projectForm.id; + }, beforeDestroy() { - Cookies.set("legalPersonForm", JSON.stringify(this.legalPersonForm)); + 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; + this.legalPersonForm.id = null; + } + }) + } + + }, + //椤圭洰鍗曚綅杈撳叆鏃惰Е鍙� + handleBlur(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.legalPersonForm.projectId ).then(res => { + getProjectUnitRegistrationInfoById(this.$route.query.projectId).then(res => { this.legalPersonForm = res.data; }); }, @@ -224,7 +284,7 @@ this.$message.error("璇峰厛淇濆瓨鎶曡祫绠$悊鍩烘湰淇℃伅") } else { this.legalPersonForm.projectId = this.projectForm.id; - if (this.legalPersonForm.id != null) { + if (this.legalPersonForm.id) { editProjectUnitRegistrationInfo(this.legalPersonForm).then(response => { this.$modal.msgSuccess("淇敼鎴愬姛"); //璺宠浆鍒颁笅涓粍浠� @@ -240,6 +300,25 @@ } } }, + }, + watch: { + 'legalPersonForm.projectUnit':{ + deep:true, + handler(newVal) { + if (newVal === null || newVal === ''){ + this.options = null; + } + } + }, + legalPersonForm: { + deep: true, + handler(newVal) { + this.$emit('legalPersonForm', newVal) + } + }, + + + } } </script> @@ -257,7 +336,11 @@ width: 100%; } } - +.money { + font-size: 12px; + margin-left: 2px; + color: #909399; +} .map-btn { width: 32px; height: 32px; -- Gitblit v1.8.0