From 5a98e5f9ce50bb5de56a54cae14e5ea49fbe2c07 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 17 三月 2025 16:19:29 +0800
Subject: [PATCH] 更新流程实现
---
src/views/projectEngineering/projectLibrary/component/legalPerson.vue | 188 +++++++++++++++++++++++++++++++++-------------
1 files changed, 135 insertions(+), 53 deletions(-)
diff --git a/src/views/projectEngineering/projectLibrary/component/legalPerson.vue b/src/views/projectEngineering/projectLibrary/component/legalPerson.vue
index 219626f..26a9ed0 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,99 @@
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;
+ this.handleBlur();
},
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;
+ }
+ })
+ }
+
+ },
+ //椤圭洰鍗曚綅杈撳叆鏃惰Е鍙�
+ 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.legalPersonForm.projectId ).then(res => {
+ getProjectUnitRegistrationInfoById(this.$route.query.projectId).then(res => {
this.legalPersonForm = res.data;
});
},
@@ -224,7 +283,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 +299,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 +335,11 @@
width: 100%;
}
}
-
+.money {
+ font-size: 12px;
+ margin-left: 2px;
+ color: #909399;
+}
.map-btn {
width: 32px;
height: 32px;
--
Gitblit v1.8.0