From 1fc68b33af77ea086aa62757da21d03155d7ac38 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 24 三月 2025 11:40:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/views/projectEngineering/projectLibrary/component/BasicInfo.vue | 146 ++++++++++++++++++++++++++++++++----------------
1 files changed, 96 insertions(+), 50 deletions(-)
diff --git a/src/views/projectEngineering/projectLibrary/component/BasicInfo.vue b/src/views/projectEngineering/projectLibrary/component/BasicInfo.vue
index 23f2f62..350d4d6 100644
--- a/src/views/projectEngineering/projectLibrary/component/BasicInfo.vue
+++ b/src/views/projectEngineering/projectLibrary/component/BasicInfo.vue
@@ -48,7 +48,7 @@
<el-row :gutter="20">
<el-col :span="6">
- <el-form-item label="璧勯噾绫诲瀷" label-width="100px" style="width: 100%">
+ <el-form-item label="璧勯噾绫诲瀷" label-width="100px" prop="fundTypeList" style="width: 100%">
<el-select
v-model="projectForm.fundTypeList"
clearable
@@ -119,8 +119,8 @@
<!-- </el-col>-->
<el-col :span="6">
- <el-form-item label="椤圭洰鐘舵��" label-width="100px" prop="projectstatus" style="width: 100%">
- <el-select v-model="projectForm.projectStatus" clearable placeholder="璇烽�夋嫨" @change="handleProjectStatusChange" style="width: 100%">
+ <el-form-item label="椤圭洰鐘舵��" label-width="100px" prop="projectStatus" style="width: 100%">
+ <el-select v-model="projectForm.projectStatus" clearable placeholder="璇烽�夋嫨" style="width: 100%">
<el-option v-for="item in dict.type.sys_project_status" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
@@ -154,14 +154,13 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <!-- TODO锛氭殏鏃朵笉鍋� -->
- <el-form-item label="椤圭洰涓氫富鍗曚綅" label-width="100px" prop="engineering" style="width: 100%">
+ <el-form-item label="椤圭洰涓氫富鍗曚綅" label-width="100px" prop="projectOwnerUnit" style="width: 100%">
<!-- <el-input v-model.trim="getEngineeringName" class="item" clearable disabled maxlength="255" placeholder="璇峰湪宸ョ▼涓�夋嫨椤圭洰" />-->
<!-- <el-select v-model="projectForm.engineeringIdList" :multiple="true" collapse-tags placeholder="璇烽�夋嫨"-->
<!-- style="width: 100%">-->
<!-- <treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="閫夋嫨涓婄骇閮ㄩ棬" />-->
- <treeselect v-model="projectForm.projectOwnerUnit" :options="selectOptions" :normalizer="normalizer" placeholder="閫夋嫨鍗曚綅" />
+ <treeselect v-model="projectForm.projectOwnerUnit" :disabled="disabled" :options="selectOptions" @input="getProjectOwnerUnit" noChildrenText="鏃犲尮閰嶆暟鎹�" :normalizer="normalizer" placeholder="閫夋嫨鍗曚綅" />
<!-- <RemoteSelect v-if="selectOptions.length" :hasMore="hasMore" :loading="loading" :page="page" @loadMore="handleLoadMore" />-->
<!-- </el-select>-->
</el-form-item>
@@ -170,11 +169,11 @@
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="涓荤閮ㄩ棬" label-width="100px" prop="competentDepartment" style="width: 100%">
- <treeselect v-model="projectForm.competentDepartment" @input="getCompetentDepartmentInfo" noChildrenText="鏃犲尮閰嶆暟鎹�" :options="approvalList" :normalizer="normalizer" placeholder="閫夋嫨鍗曚綅" />
+ <treeselect v-model="competentDepartment" :disabled="disabled" @input="getCompetentDepartmentInfo" noChildrenText="鏃犲尮閰嶆暟鎹�" :options="approvalList" :normalizer="normalizer" placeholder="閫夋嫨鍗曚綅" />
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="涓荤閮ㄩ棬鑱旂郴浜�" label-width="140px" style="width: 100%">
+ <el-form-item label="涓荤閮ㄩ棬鑱旂郴浜�" prop="competentDepartmentPerson" label-width="140px" style="width: 100%">
<el-select
v-model="projectForm.competentDepartmentPerson"
clearable
@@ -194,7 +193,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="涓荤閮ㄩ棬鑱旂郴鏂瑰紡" label-width="140px" style="width: 100%">
+ <el-form-item label="涓荤閮ㄩ棬鑱旂郴鏂瑰紡" prop="competentDepartmentPhone" label-width="140px" style="width: 100%">
<el-input
v-model="projectForm.competentDepartmentPhone"
clearable
@@ -218,7 +217,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="绠$悊褰掑彛" label-width="100px" style="width: 100%">
+ <el-form-item label="绠$悊褰掑彛" prop="managementCentralizationList" label-width="100px" style="width: 100%">
<el-select
v-model="projectForm.managementCentralizationList"
clearable
@@ -234,7 +233,7 @@
</el-row>
<el-row :gutter="20">
<el-col :span="6">
- <el-form-item label="椤圭洰瀹℃壒绫诲瀷" label-width="100px" style="width: 100%">
+ <el-form-item label="椤圭洰瀹℃壒绫诲瀷" prop="projectApprovalType" label-width="100px" style="width: 100%">
<el-select
v-model="projectForm.projectApprovalType"
clearable
@@ -247,13 +246,13 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="鎶曡祫绫诲埆" label-width="100px" style="width: 100%">
+ <el-form-item label="鎶曡祫绫诲埆" prop="largeCategory" label-width="100px" style="width: 100%">
<el-input v-model="largeCategory" clearable disabled placeholder="璇烽�夋嫨澶х被" style="width: 49%"/>
<el-input v-model="subclass" clearable disabled placeholder="璇烽�夋嫨灏忕被" style="width: 49%;margin-left: 2%"/>
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="閲嶇偣鍒嗙被" label-width="100px" style="width: 100%">
+ <el-form-item label="閲嶇偣鍒嗙被" prop="importanceTypeList" label-width="100px" style="width: 100%">
<el-select
v-model="projectForm.importanceTypeList"
:multiple="true"
@@ -265,9 +264,6 @@
</el-select>
</el-form-item>
</el-col>
-
-
-
</el-row>
<el-row :gutter="20">
@@ -281,7 +277,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="璁″垝寮�宸ユ椂闂�" label-width="100px" style="width: 100%">
+ <el-form-item label="璁″垝寮�宸ユ椂闂�" prop="planStartTime" label-width="100px" style="width: 100%">
<el-date-picker v-model="projectForm.planStartTime "
placeholder="閫夋嫨鏃堕棿"
style="width: 100%"
@@ -290,7 +286,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="璁″垝绔e伐鏃堕棿" label-width="100px" style="width: 100%">
+ <el-form-item label="璁″垝绔e伐鏃堕棿" prop="planCompleteTime" label-width="100px" style="width: 100%">
<el-date-picker v-model="projectForm.planCompleteTime "
placeholder="閫夋嫨鏃堕棿"
style="width: 100%"
@@ -302,11 +298,11 @@
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="琛屼笟涓荤閮ㄩ棬" label-width="100px" prop="industryCompetentDepartment" style="width: 100%">
- <treeselect v-model="projectForm.industryCompetentDepartment" noChildrenText="鏃犲尮閰嶆暟鎹�" @input="getIndustryCompetentDepartmentInfo" :options="approvalList" :normalizer="normalizer" placeholder="閫夋嫨鍗曚綅" />
+ <treeselect v-model="industryCompetentDepartment" :disabled="disabled" noChildrenText="鏃犲尮閰嶆暟鎹�" @input="getIndustryCompetentDepartmentInfo" :options="approvalList" :normalizer="normalizer" placeholder="閫夋嫨鍗曚綅" />
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="琛屼笟涓荤閮ㄩ棬鑱旂郴浜�" label-width="160px" style="width: 100%">
+ <el-form-item label="琛屼笟涓荤閮ㄩ棬鑱旂郴浜�" prop="industryCompetentDepartmentPerson" label-width="160px" style="width: 100%">
<el-select
v-model="projectForm.industryCompetentDepartmentPerson"
clearable
@@ -326,7 +322,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="琛屼笟涓荤閮ㄩ棬鑱旂郴鏂瑰紡" label-width="160px" style="width: 100%">
+ <el-form-item label="琛屼笟涓荤閮ㄩ棬鑱旂郴鏂瑰紡" prop="departmentPersonPhone" label-width="160px" style="width: 100%">
<el-input
v-model="projectForm.departmentPersonPhone"
clearable
@@ -340,20 +336,20 @@
<div class="label">
<div style="font-size: small;margin-bottom: 10px">涓爣鍗曚綅锛�</div>
<div>
- <el-row :gutter="20" v-for="(winUnit,index) in projectForm.winUnitList" :key="'zb' + index">
- <el-col :span="5">
- <el-form-item label="鍗曚綅鍚嶇О" label-width="100px" prop="setTime" style="width: 100%">
+ <el-row :gutter="10" v-for="(winUnit,index) in projectForm.winUnitList" :key="'zb' + index">
+ <el-col :span="7">
+ <el-form-item label="鍗曚綅鍚嶇О" label-width="80px" prop="setTime" style="width: 100%">
<el-input v-model.trim="winUnit.winUnit" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="4">
- <el-form-item label="涓爣閲戦" label-width="100px" style="width: 100%">
+ <el-form-item label="涓爣閲戦" label-width="80px" style="width: 100%">
<el-input v-model.trim="winUnit.winAmount" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�"
type="number"/>
</el-form-item>
</el-col>
<el-col :span="5">
- <el-form-item label="涓爣鏃堕棿" label-width="100px" style="width: 100%">
+ <el-form-item label="涓爣鏃堕棿" label-width="80px" style="width: 100%">
<el-date-picker v-model="winUnit.winTime"
placeholder="閫夋嫨鏃堕棿"
style="width: 100%"
@@ -367,7 +363,7 @@
</el-form-item>
</el-col>
<el-col :span="4">
- <el-form-item label="鑱旂郴鐢佃瘽" label-width="100px" style="width: 100%">
+ <el-form-item label="鑱旂郴鐢佃瘽" label-width="80px" style="width: 100%">
<el-input v-model.trim="winUnit.phone" class="item" clearable maxlength="20" placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
@@ -503,6 +499,8 @@
return {
tagList: [],
projectSubTypeList: [], // 椤圭洰瀛愮被鍨�
+ competentDepartment: '',
+ industryCompetentDepartment: '',
projectForm: {
id: '',
projectName: '',
@@ -514,7 +512,7 @@
fundTypeList: [], //璧勯噾绫诲瀷
investType: '',
importanceTypeList: [], //閲嶇偣鍒嗙被
- projectPhase: '鍌ㄥ瑙勫垝闃舵',
+ projectPhase: '1',
tag: '',
competentDepartment: '',
competentDepartmentPerson: '',
@@ -579,8 +577,32 @@
mapCreateInfo: {},
demoFormRef: null,
rules: {
- projectName: [{required: true, message: '璇疯緭鍏ラ」鐩悕绉�', trigger: 'blur'}]
- }
+ projectName: [{required: true, message: '璇疯緭鍏ラ」鐩悕绉�', trigger: 'blur'}],
+ content: [{required: true, message: '璇疯緭鍏ュ缓璁惧唴瀹�', trigger: 'blur'}],
+ fundTypeList: [{required: true, message: '璇烽�夋嫨璧勯噾绫诲瀷', trigger: 'change'}],
+ investType: [{required: true, message: '璇烽�夋嫨椤圭洰鎶曡祫绫诲埆', trigger: 'change'}],
+ constructionNature: [{required: true, message: '璇烽�夋嫨寤鸿鎬ц川', trigger: 'change'}],
+ attractInvestment: [{required: true, message: '璇烽�夋嫨鏄惁鎷涘晢寮曡祫椤圭洰', trigger: 'change'}],
+ projectType: [{required: true, message: '璇烽�夋嫨椤圭洰鎺ㄨ繘绫诲瀷', trigger: 'change'}],
+ projectStatus: [{required: true, message: '璇烽�夋嫨椤圭洰鐘舵��', trigger: 'change'}],
+ projectPhase: [{required: true, message: '璇烽�夋嫨椤圭洰闃舵', trigger: 'change'}],
+ projectContactPerson: [{required: true, message: '璇疯緭鍏ラ」鐩仈绯讳汉', trigger: 'blur'}],
+ contact: [{required: true, message: '璇疯緭鍏ラ」鐩仈绯绘柟寮�', trigger: 'blur'}],
+ projectOwnerUnit: [{required: true, message: '璇烽�夋嫨椤圭洰涓氫富鍗曚綅', trigger: 'change'}],
+ competentDepartment: [{required: true, message: '璇烽�夋嫨涓荤閮ㄩ棬', trigger: 'change'}],
+ competentDepartmentPerson: [{required: true, message: '璇烽�夋嫨涓荤閮ㄩ棬鑱旂郴浜�', trigger: 'change'}],
+ competentDepartmentPhone: [{required: true, message: '璇疯緭鍏ヤ富绠¢儴闂ㄨ仈绯绘柟寮�', trigger: 'blur'}],
+ area: [{required: true, message: '璇烽�夋嫨琛屾斂鍖哄垝', trigger: 'change'}],
+ managementCentralizationList: [{required: true, message: '璇烽�夋嫨绠$悊褰掑彛', trigger: 'change'}],
+ projectApprovalType: [{required: true, message: '璇烽�夋嫨椤圭洰瀹℃壒绫诲瀷', trigger: 'change'}],
+ importanceTypeList: [{required: true, message: '璇烽�夋嫨閲嶇偣鍒嗙被', trigger: 'change'}],
+ planStartTime: [{required: true, message: '璇烽�夋嫨璁″垝寮�宸ユ椂闂�', trigger: 'change'}],
+ planCompleteTime: [{required: true, message: '璇烽�夋嫨璁″垝绔e伐鏃堕棿', trigger: 'change'}],
+ industryCompetentDepartment: [{required: true, message: '璇烽�夋嫨琛屼笟涓荤閮ㄩ棬', trigger: 'change'}],
+ industryCompetentDepartmentPerson: [{required: true, message: '璇疯緭鍏ヨ涓氫富绠¢儴闂ㄨ仈绯讳汉', trigger: 'blur'}],
+ departmentPersonPhone: [{required: true, message: '璇疯緭鍏ヨ涓氫富绠¢儴闂ㄨ仈绯绘柟寮�', trigger: 'blur'}],
+ },
+ needClearPeople: true
};
},
computed: {
@@ -601,12 +623,6 @@
if (projectForm) {
this.projectForm = JSON.parse(projectForm);
- if (this.projectForm.industryCompetentDepartment) {
- // 鏍规嵁閫変腑鐨勯儴闂↖D鏌ヨ浜哄憳
- getByDept(this.projectForm.industryCompetentDepartment).then((res) => {
- this.personList = res.data;
- })
- }
if (this.projectForm.projectType) {
// 鏍规嵁椤圭洰绫诲瀷鏌ュ瓙绫诲瀷
getDicts("sys_project_type").then(res => {
@@ -619,6 +635,8 @@
})
}
this.$emit('updateIsShow', true);
+ this.competentDepartment = this.projectForm.competentDepartment
+ this.industryCompetentDepartment = this.projectForm.industryCompetentDepartment
} else {
this.projectForm.id = this.$route.query.projectId;
// 鍦ㄧ粍浠跺垱寤烘椂鑾峰彇椤圭洰淇℃伅锛屽鏋� projectId 瀛樺湪
@@ -630,17 +648,29 @@
}
// this.handleLoadMore(1);
}
- console.log(this.projectForm, "鍘熷鍊�")
+
this.$nextTick(() => {
- console.log("璁剧疆浜�")
this.tagList = this.projectForm.tag ? this.projectForm.tag.split(",") : []
- console.log(this.tagList)
})
},
beforeDestroy() {
localStorage.setItem("projectForm", JSON.stringify(this.projectForm));
},
methods: {
+ getIndustryCompetentDepartmentPeople(deptId) {
+ // 鏍规嵁閫変腑鐨勯儴闂↖D鏌ヨ浜哄憳
+ getByDept(deptId).then((res) => {
+ this.personList = res.data;
+ this.personList.forEach(item => item.userId += '')
+ })
+ },
+ getCompetentDepartmentPeople(deptId) {
+ // 鏍规嵁閫変腑鐨勯儴闂↖D鏌ヨ浜哄憳
+ getByDept(deptId).then((res) => {
+ this.deptPersonList = res.data;
+ this.deptPersonList.forEach(item => item.userId += '')
+ })
+ },
getTagList(list) {
console.log("鎷垮埌浜�")
if (!list || list.length < 1) {
@@ -691,28 +721,41 @@
},
getIndustryCompetentDepartmentInfo(deptId) {
if (deptId) {
- getByDept(deptId).then((res) => {
- this.personList = res.data;
- })
+ if (this.projectForm.industryCompetentDepartment != deptId) {
+ this.projectForm.industryCompetentDepartmentPerson = ""
+ this.projectForm.departmentPersonPhone = ""
+ }
+ this.projectForm.industryCompetentDepartment = deptId
+ this.getIndustryCompetentDepartmentPeople(deptId)
} else {
+ this.projectForm.industryCompetentDepartment = ''
this.personList = [];
+ }
+ },
+ getProjectOwnerUnit(deptId) {
+ if (deptId) {
+ this.projectForm.projectOwnerUnit = deptId
+ } else {
+ this.projectForm.projectOwnerUnit = ''
}
},
getCompetentDepartmentInfo(deptId) {
if (deptId) {
- getByDept(deptId).then((res) => {
- this.deptPersonList = res.data;
- })
+ if (this.projectForm.competentDepartment != deptId) {
+ this.projectForm.competentDepartmentPerson = ""
+ this.projectForm.competentDepartmentPhone = ""
+ }
+ this.projectForm.competentDepartment = deptId
+ this.getCompetentDepartmentPeople(deptId)
} else {
+ this.projectForm.competentDepartment = ''
this.deptPersonList = [];
}
},
handleDepartmentChange(departmentId) {
if (departmentId) {
// 鏍规嵁閫変腑鐨勯儴闂↖D鏌ヨ浜哄憳
- getByDept(departmentId).then((res) => {
- this.personList = res.data;
- })
+ this.getIndustryCompetentDepartmentPeople(departmentId)
} else {
// 濡傛灉鏈�夋嫨閮ㄩ棬锛屾竻绌轰汉鍛樺垪琛�
this.personList = [];
@@ -779,18 +822,21 @@
this.tagList = this.projectForm.tag ? this.projectForm.tag.split(",") : []
console.log(this.tagList)
})
+ this.competentDepartment = this.projectForm.competentDepartment
+ this.industryCompetentDepartment = this.projectForm.industryCompetentDepartment
});
},
getApprovalList() {
approvalList().then(res => {
- this.approvalList = this.handleTree(res.data, "deptId");;
+ this.approvalList = this.handleTree(res.data, "deptId");
+ this.approvalList.push({deptId: '', deptName: '鏃�', children: []})
});
},
getDeptList(){
listDept().then(response => {
console.log(response.data)
-
this.selectOptions = this.handleTree(response.data, "deptId");
+ this.selectOptions.push({deptId: '', deptName: '鏃�', children: []})
});
},
--
Gitblit v1.8.0