From c17dba9251df86e0fe23afe87ef540c493fae219 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 25 二月 2025 16:08:40 +0800 Subject: [PATCH] treeselect禁用设置 --- src/views/projectEngineering/projectLibrary/component/BasicInfo.vue | 380 ++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 266 insertions(+), 114 deletions(-) diff --git a/src/views/projectEngineering/projectLibrary/component/BasicInfo.vue b/src/views/projectEngineering/projectLibrary/component/BasicInfo.vue index f0d25eb..d27e24c 100644 --- a/src/views/projectEngineering/projectLibrary/component/BasicInfo.vue +++ b/src/views/projectEngineering/projectLibrary/component/BasicInfo.vue @@ -5,7 +5,7 @@ <div style="font-size: small;margin-bottom: 10px">鍩虹淇℃伅锛�</div> <div> <el-row :gutter="20"> - <el-col :span="6"> + <el-col :span="10"> <el-form-item class="item" label="椤圭洰鍚嶇О" label-width="100px" prop="projectName"> <el-input v-model.trim="projectForm.projectName" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�"/> </el-form-item> @@ -16,33 +16,46 @@ placeholder="璇疯緭鍏�"/> </el-form-item> </el-col> - <el-col :span="12" style="position: relative"> - <div style="width: 100%; height: 100%; position: absolute;"> + <el-col :span="3"> <el-form-item class="item" label="璧嬬爜" label-width="50px" prop="coding"> - <template slot-scope="scope"> - <!-- <div class="yellow-dot" v-if="scope.row.coding === 'yellow'"></div>--> - <!-- <div class="green-dot" v-if="scope.row.coding === 'green'"></div>--> - <!-- <div class="red-dot" v-if="scope.row.coding === 'red'"></div>--> - <div class="red-dot"></div> - <tag-list></tag-list> - </template> - </el-form-item> - <!-- <img alt="" src="../../../../assets/images/s.png"/>--> - </div> + <template slot-scope="scope"> + <!-- <div class="yellow-dot" v-if="scope.row.coding === 'yellow'"></div>--> + <!-- <div class="green-dot" v-if="scope.row.coding === 'green'"></div>--> + <!-- <div class="red-dot" v-if="scope.row.coding === 'red'"></div>--> + <div class="red-dot"></div> + </template> + + </el-form-item> </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item class="item" label="寤鸿鍐呭" label-width="100px" prop="content"> - <el-input v-model.trim="projectForm.content" style="width: 100%;" clearable maxlength="255" - placeholder="璇疯緭鍏�" type="textarea"/> + <el-col :span="5"> + <el-form-item label="鏍囩" label-width="50px" prop="tag"> + <template slot-scope="scope"> + <tag-list :tag-list="tagList" ref="tagList" @getTags="getTagList"></tag-list> + </template> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> + <el-col :span="24"> + <el-form-item class="item" label="寤鸿鍐呭" label-width="100px" prop="content"> + <el-input v-model.trim="projectForm.content" style="width: 100%;" :rows="4" maxlength="1000" + placeholder="璇疯緭鍏�" type="textarea"/> + </el-form-item> + </el-col> + </el-row> + + + + <el-row :gutter="20"> <el-col :span="6"> - <el-form-item label="璧勯噾绫诲瀷" label-width="100px" prop="fundType" style="width: 100%"> - <el-select v-model="projectForm.fundType" clearable placeholder="璇烽�夋嫨" style="width: 100%"> + <el-form-item label="璧勯噾绫诲瀷" label-width="100px" style="width: 100%"> + <el-select + v-model="projectForm.fundTypeList" + clearable + :multiple="true" + placeholder="璇烽�夋嫨" + style="width: 100%" + > <el-option v-for="item in dict.type.sys_funding_type" :key="item.value" :label="item.label" :value="item.value"/> </el-select> @@ -58,30 +71,53 @@ </el-col> <el-col :span="6"> - <el-col :span="6"> - <el-form-item label="寤鸿鎬ц川" label-width="100px" prop="constructionNature" style="width: 100%; min-width: 260px"> - <el-select - v-model="projectForm.constructionNature" - clearable - placeholder="璇烽�夋嫨" - style="width: 100%" - > - <el-option v-for="item in dict.type.construction_nature" :key="item.value" :label="item.label" - :value="item.value"/> - </el-select> - </el-form-item> - </el-col> + <el-form-item label="寤鸿鎬ц川" label-width="100px" prop="constructionNature" + style="width: 100%; min-width: 260px"> + <el-select + v-model="projectForm.constructionNature" + clearable + placeholder="璇烽�夋嫨" + style="width: 100%" + > + <el-option v-for="item in dict.type.construction_nature" :key="item.value" :label="item.label" + :value="item.value"/> + </el-select> + </el-form-item> + </el-col> + + <el-col :span="6"> + <el-form-item label="鎷涘晢寮曡祫椤圭洰" label-width="100px" prop="attractInvestment" + style="width: 100%; min-width: 260px"> + <el-select + v-model="projectForm.attractInvestment" + clearable + placeholder="璇烽�夋嫨" + style="width: 100%" + > + <el-option v-for="item in dict.type.attract_investment" :key="item.value" :label="item.label" + :value="item.value"/> + </el-select> + </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="6"> - <el-form-item label="椤圭洰绫诲瀷" label-width="100px" prop="projectType" style="width: 100%"> - <el-select v-model="projectForm.projectType" clearable placeholder="璇烽�夋嫨" style="width: 100%"> + <el-form-item label="椤圭洰鎺ㄨ繘绫诲瀷" label-width="100px" prop="projectType" style="width: 100%"> + <el-select v-model="projectForm.projectType" @change="getChildSelect" clearable placeholder="璇烽�夋嫨" style="width: 100%"> <el-option v-for="item in dict.type.sys_project_type" :key="item.value" :label="item.label" :value="item.value"/> </el-select> </el-form-item> </el-col> +<!-- <el-col :span="6">--> +<!-- <el-form-item label="椤圭洰瀛愮被鍨�" label-width="100px" prop="projectSubType" style="width: 100%">--> +<!-- <el-select v-model="projectForm.projectSubType" :disabled="projectForm.projectType === ''" clearable placeholder="璇烽�夋嫨" style="width: 100%">--> +<!-- <el-option v-for="item in projectSubTypeList" :key="item.dictCode + 'zd'" :label="item.dictLabel"--> +<!-- :value="item.dictValue"/>--> +<!-- </el-select>--> +<!-- </el-form-item>--> +<!-- </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%"> @@ -91,17 +127,19 @@ </el-form-item> </el-col> <el-col :span="6"> - <el-form-item label="椤圭洰闃舵" label-width="100px" prop="fundsType" style="width: 100%"> - <el-input v-model.trim="projectForm.projectPhase" class="item" clearable disabled maxlength="255" - placeholder="璇疯緭鍏�"/> + <el-form-item label="椤圭洰闃舵" label-width="100px" prop="projectPhase" style="width: 100%"> + <el-select v-model="projectForm.projectPhase" clearable placeholder="璇烽�夋嫨" style="width: 100%"> + <el-option v-for="item in dict.type.sys_project_phases" :key="item.value" :label="item.label" + :value="item.value"/> + </el-select> </el-form-item> </el-col> - <!-- <el-col :span="6">--> - <!-- <el-form-item label="椤圭洰涓氫富鍗曚綅" label-width="100px" prop="projectOwnerUnit" style="width: 100%">--> - <!-- <el-input v-model.trim="projectForm.projectOwnerUnit" class="item" clearable maxlength="255"--> - <!-- placeholder="璇疯緭鍏�"/>--> - <!-- </el-form-item>--> - <!-- </el-col>--> +<!-- <el-col :span="6">--> +<!-- <el-form-item label="椤圭洰涓氫富鍗曚綅" label-width="100px" prop="projectOwnerUnit" style="width: 100%">--> +<!-- <el-input v-model.trim="projectForm.projectOwnerUnit" class="item" clearable maxlength="255"--> +<!-- placeholder="璇疯緭鍏�"/>--> +<!-- </el-form-item>--> +<!-- </el-col>--> </el-row> <el-row :gutter="20"> <el-col :span="6"> @@ -111,42 +149,61 @@ </el-form-item> </el-col> <el-col :span="6"> - <el-form-item label="鑱旂郴鏂瑰紡" label-width="100px" prop="contact" style="width: 100%"> + <el-form-item label="椤圭洰鑱旂郴鏂瑰紡" label-width="100px" prop="contact" style="width: 100%"> <el-input v-model.trim="projectForm.contact" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�"/> </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="engineering" 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%"> - <el-option v-for="item in selectOptions" :key="item.id" :label="item.engineeringName" :value="item.id"/> +<!-- <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" :disabled="disabled" :options="selectOptions" noChildrenText="鏃犲尮閰嶆暟鎹�" :normalizer="normalizer" placeholder="閫夋嫨鍗曚綅" /> <!-- <RemoteSelect v-if="selectOptions.length" :hasMore="hasMore" :loading="loading" :page="page" @loadMore="handleLoadMore" />--> - </el-select> +<!-- </el-select>--> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="6"> - <el-form-item label="涓荤閮ㄩ棬" label-width="100px" prop="competentDepartmentList" style="width: 100%"> + <el-form-item label="涓荤閮ㄩ棬" label-width="100px" prop="competentDepartment" style="width: 100%"> + <treeselect v-model="projectForm.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-select - v-model="projectForm.competentDepartmentList" + v-model="projectForm.competentDepartmentPerson" clearable - :multiple="true" + filterable + allow-create placeholder="璇烽�夋嫨" - style="width: 100%" - collapse-tags + @change="handleDeptContactChange" + style="width: 100%;" > <el-option - v-for="item in approvalList" - :key="item.id" - :value="item.id" - :label="item.value" + v-for="person in deptPersonList" + :key="person.userId" + :value="person.userId" + :label="person.nickName" /> </el-select> </el-form-item> </el-col> + <el-col :span="6"> + <el-form-item label="涓荤閮ㄩ棬鑱旂郴鏂瑰紡" label-width="140px" style="width: 100%"> + <el-input + v-model="projectForm.competentDepartmentPhone" + clearable + placeholder="璇疯緭鍏ヨ仈绯绘柟寮�" + /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20"> <el-col :span="6"> <el-form-item label="琛屾斂鍖哄垝" label-width="100px" prop="area" style="width: 100%"> <el-select @@ -168,7 +225,6 @@ :multiple="true" placeholder="璇烽�夋嫨" style="width: 100%" - collapse-tags > <el-option v-for="item in dict.type.sys_centralized_management" :key="item.value" :label="item.label" :value="item.value"/> @@ -199,8 +255,8 @@ <el-col :span="6"> <el-form-item label="閲嶇偣鍒嗙被" label-width="100px" style="width: 100%"> <el-select - v-model="projectForm.importanceType" - clearable + v-model="projectForm.importanceTypeList" + :multiple="true" placeholder="璇烽�夋嫨" style="width: 100%" > @@ -209,6 +265,10 @@ </el-select> </el-form-item> </el-col> + + + + </el-row> <el-row :gutter="20"> <el-col :span="6"> @@ -242,27 +302,16 @@ <el-row :gutter="20"> <el-col :span="6"> <el-form-item label="琛屼笟涓荤閮ㄩ棬" label-width="100px" prop="industryCompetentDepartment" style="width: 100%"> - <el-select - v-model="projectForm.industryCompetentDepartment" - clearable - @change="handleDepartmentChange" - placeholder="璇烽�夋嫨" - style="width: 100%;" - > - <el-option - v-for="item in approvalList" - :key="item.id" - :value="item.id" - :label="item.value" - /> - </el-select> + <treeselect v-model="projectForm.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="100px" style="width: 100%"> + <el-form-item label="琛屼笟涓荤閮ㄩ棬鑱旂郴浜�" label-width="160px" style="width: 100%"> <el-select v-model="projectForm.industryCompetentDepartmentPerson" clearable + filterable + allow-create placeholder="璇烽�夋嫨" @change="handleContactChange" style="width: 100%;" @@ -277,7 +326,7 @@ </el-form-item> </el-col> <el-col :span="6"> - <el-form-item label="鑱旂郴浜鸿仈绯绘柟寮�" label-width="100px" style="width: 100%"> + <el-form-item label="琛屼笟涓荤閮ㄩ棬鑱旂郴鏂瑰紡" label-width="160px" style="width: 100%"> <el-input v-model="projectForm.departmentPersonPhone" clearable @@ -292,7 +341,7 @@ <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="4"> + <el-col :span="5"> <el-form-item label="鍗曚綅鍚嶇О" label-width="100px" prop="setTime" style="width: 100%"> <el-input v-model.trim="winUnit.winUnit" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�"/> </el-form-item> @@ -303,7 +352,7 @@ type="number"/> </el-form-item> </el-col> - <el-col :span="4"> + <el-col :span="5"> <el-form-item label="涓爣鏃堕棿" label-width="100px" style="width: 100%"> <el-date-picker v-model="winUnit.winTime" placeholder="閫夋嫨鏃堕棿" @@ -312,7 +361,7 @@ value-format="yyyy-MM-dd HH:mm:ss"/> </el-form-item> </el-col> - <el-col :span="4"> + <el-col :span="3"> <el-form-item label="鍗曚綅鑱旂郴浜�" label-width="100px" style="width: 100%"> <el-input v-model.trim="winUnit.contacts" class="item" clearable maxlength="20" placeholder="璇疯緭鍏�"/> </el-form-item> @@ -323,7 +372,7 @@ </el-form-item> </el-col> <el-col :span="1"> - <el-button type="danger" icon="el-icon-delete" v-show="projectForm.winUnitList.length > 1" @click="removeWinUnit(index)" circle></el-button> + <el-button type="danger" icon="el-icon-delete" @click="removeWinUnit(index)" circle></el-button> </el-col> </el-row> </div> @@ -349,11 +398,11 @@ </el-select> </el-form-item> </el-col> - <el-col :span="6"> + <el-col :span="7"> <el-form-item label="骞村害鎶曡祫閲戦" label-width="100px" prop="company" style="width: 100%; min-width: 260px"> <el-input v-model.trim="yearPlan.yearTotalMoney" clearable maxlength="255" placeholder="璇疯緭鍏�" style="width: 90%" type="number"/> - <span style="margin-left: 2px">鍏�</span> + <span style="margin-left: 2px">涓囧厓</span> </el-form-item> </el-col> <el-col :span="10"> @@ -362,7 +411,7 @@ </el-form-item> </el-col> <el-col :span="1"> - <el-button type="danger" icon="el-icon-delete" v-show="projectForm.yearPlanList.length > 1" @click="removeYearPlan(index)" circle></el-button> + <el-button type="danger" icon="el-icon-delete" @click="removeYearPlan(index)" circle></el-button> </el-col> </el-row> </div> @@ -384,15 +433,15 @@ </el-form-item> </el-col> </el-row> - <el-row :gutter="0"> - <el-col :span="18"> - <el-form-item label="瀹℃壒璁″垝涔�:" label-width="100px" prop="medicalAddr" style="width: 100%"> - <file-upload v-model="projectForm.fileList" - :fileType="accept" - :isShowTip="false"/> - </el-form-item> - </el-col> - </el-row> +<!-- <el-row :gutter="0">--> +<!-- <el-col :span="18">--> +<!-- <el-form-item label="瀹℃壒璁″垝涔�:" label-width="100px" prop="medicalAddr" style="width: 100%">--> +<!-- <file-upload v-model="projectForm.fileList"--> +<!-- :fileType="accept"--> +<!-- :isShowTip="false"/>--> +<!-- </el-form-item>--> +<!-- </el-col>--> +<!-- </el-row>--> </el-form> <el-dialog :visible.sync="dialogMap" width="900px"> @@ -411,6 +460,8 @@ <script> // import Upload from '@element-plus/icons-vue/dist/Upload.vue'; +import Treeselect from '@riophae/vue-treeselect' +import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import Map from '@/views/components/Map/index.vue'; import TagList from "./TagList.vue"; // import MapMouseEvent from '@/views/components/Map/types'; @@ -420,14 +471,19 @@ // import RemoteSelect from '@/components/RemoteSelect/index.vue'; import Cookies from "js-cookie"; import {addProject, getProject, updateProject, getProjectCode, editProject} from '@/api/projectEngineering/projectInfo'; -import {approvalList} from "@/api/system/dept"; +import {approvalList,listDept} from "@/api/system/dept"; import {getByDept} from "@/api/system/user"; +import {getChildList, getDicts} from "@/api/system/dict/data"; +import log from "@/views/monitor/job/log"; +import { deptList2 } from '../../../../api/system/dept' export default { name: 'BasicInfo', dicts: ['sys_funding_type', 'sys_investment_type', 'sys_project_type', 'sys_project_status', 'sys_competent_department' - , 'sys_administrative_divisions', 'sys_centralized_management', 'sys_approval_type', 'sys_key_categories', 'sys_annual_plan', 'construction_nature'], + , 'sys_administrative_divisions', 'sys_centralized_management', 'sys_approval_type', 'sys_key_categories', 'sys_annual_plan' + , 'construction_nature', 'attract_investment', 'sys_project_phases'], components: { + Treeselect, Map, TagList, // UploadStandard, @@ -445,18 +501,24 @@ }, data() { return { + tagList: [], + projectSubTypeList: [], // 椤圭洰瀛愮被鍨� projectForm: { id: '', projectName: '', + attractInvestment: '', projectCode: '', projectType: '', + projectSubType: '', projectStatus: 'pendding', - fundType: '', + fundTypeList: [], //璧勯噾绫诲瀷 investType: '', - importanceType: '', + importanceTypeList: [], //閲嶇偣鍒嗙被 projectPhase: '鍌ㄥ瑙勫垝闃舵', tag: '', competentDepartment: '', + competentDepartmentPerson: '', + competentDepartmentPhone: '', projectLocation: '', longitude: '', latitude: '', @@ -482,7 +544,7 @@ projectImageProgress: '', }], projectAddress: '', - engineeringIdList: [], + engineeringIdList: null, content: '', constructionNature: '', contact: '', @@ -492,7 +554,6 @@ projectContactPerson: '', fileList: [], engineeringInfos: [], - competentDepartmentList: [], managementCentralizationList: [], remark: '', industryCompetentDepartment: null, @@ -500,6 +561,7 @@ departmentPersonPhone: null, }, personList: [], + deptPersonList: [], subclass: '', largeCategory: '', approvalList: [], @@ -511,6 +573,7 @@ page: 1, loading: false, hasMore: true, + deptOptions: [], selectOptions: [], accept: ['pdf', 'docx', 'xlsx', 'jpg', 'jpeg'], mapCreateInfo: {}, @@ -529,6 +592,8 @@ }, }, mounted() { + this.getDeptList(); + this.projectForm.id = this.$route.query.projectId; const projectForm = localStorage.getItem("projectForm"); //鍒濆鍖栦富绠¢儴闂ㄤ笅鎷夋 @@ -540,6 +605,17 @@ // 鏍规嵁閫変腑鐨勯儴闂↖D鏌ヨ浜哄憳 getByDept(this.projectForm.industryCompetentDepartment).then((res) => { this.personList = res.data; + }) + } + if (this.projectForm.projectType) { + // 鏍规嵁椤圭洰绫诲瀷鏌ュ瓙绫诲瀷 + getDicts("sys_project_type").then(res => { + const projectType = res.data.find(item => item.dictValue === this.projectForm.projectType); + if (projectType) { + getChildList(projectType.dictCode).then(res => { + this.projectSubTypeList = res.data + }) + } }) } this.$emit('updateIsShow', true); @@ -554,26 +630,81 @@ } // 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: { + getTagList(list) { + console.log("鎷垮埌浜�") + if (!list || list.length < 1) { + this.projectForm.tag = '' + } else { + this.projectForm.tag = list.join(","); + } + }, + getChildSelect(select) { + this.projectForm.projectSubType = '' + if (select) { + getChildList(this.dict.type.sys_project_type.filter(item => item.raw.dictValue === select)[0].raw.dictCode).then(res => { + this.projectSubTypeList = res.data + }) + } + }, + /** 杞崲閮ㄩ棬鏁版嵁缁撴瀯 */ + normalizer(node) { + if (node.children && !node.children.length) { + delete node.children; + } + return { + id: node.deptId, + label: node.deptName, + children: node.children + }; + }, // 鐩戝惉鑱旂郴浜洪�夋嫨浜嬩欢 handleContactChange(userId) { if (userId) { // 鏍规嵁閫変腑鐨剈serId鏌ユ壘瀵瑰簲鐨勮仈绯讳汉 const selectedPerson = this.personList.find(person => person.userId === userId); - if (selectedPerson) { + if (selectedPerson && selectedPerson.phonenumber) { // 灏嗚仈绯讳汉鐨刾hone瀛楁鍥炲~鍒拌仈绯荤數璇濊緭鍏ユ this.projectForm.departmentPersonPhone = selectedPerson.phonenumber; - } else { - // 濡傛灉鏈壘鍒拌仈绯讳汉锛屾竻绌鸿仈绯荤數璇� - this.projectForm.departmentPersonPhone = ''; } + } + }, + handleDeptContactChange(userId) { + if (userId) { + // 鏍规嵁閫変腑鐨剈serId鏌ユ壘瀵瑰簲鐨勮仈绯讳汉 + const selectedPerson = this.deptPersonList.find(person => person.userId === userId); + if (selectedPerson && selectedPerson.phonenumber) { + // 灏嗚仈绯讳汉鐨刾hone瀛楁鍥炲~鍒拌仈绯荤數璇濊緭鍏ユ + this.projectForm.competentDepartmentPhone = selectedPerson.phonenumber; + } + } + }, + getIndustryCompetentDepartmentInfo(deptId) { + if (deptId) { + getByDept(deptId).then((res) => { + this.personList = res.data; + }) } else { - // 濡傛灉userId涓虹┖锛屾竻绌鸿仈绯荤數璇� - this.projectForm.departmentPersonPhone = ''; + this.personList = []; + } + }, + getCompetentDepartmentInfo(deptId) { + if (deptId) { + getByDept(deptId).then((res) => { + this.deptPersonList = res.data; + }) + } else { + this.deptPersonList = []; } }, handleDepartmentChange(departmentId) { @@ -630,15 +761,41 @@ this.personList = res.data; }) } + if (this.projectForm.projectType) { + // 鏍规嵁椤圭洰绫诲瀷鏌ュ瓙绫诲瀷 + getDicts("sys_project_type").then(res => { + const projectType = res.data.find(item => item.dictValue === this.projectForm.projectType); + if (projectType) { + getChildList(projectType.dictCode).then(res => { + this.projectSubTypeList = res.data + }) + } + }) + } this.$emit('updateIsShow', true); + console.log(this.projectForm, "鍘熷鍊�") + this.$nextTick(() => { + console.log("璁剧疆浜�") + this.tagList = this.projectForm.tag ? this.projectForm.tag.split(",") : [] + console.log(this.tagList) + }) }); }, getApprovalList() { approvalList().then(res => { - this.approvalList = res.data; + this.approvalList = this.handleTree(res.data, "deptId");; }); }, + getDeptList(){ + listDept().then(response => { + console.log(response.data) + + this.selectOptions = this.handleTree(response.data, "deptId"); + }); + }, + submit(usedStatus) { + console.log((this.projectForm)); this.$refs["projectForm"].validate(valid => { if (valid) { this.projectForm.usedStatus = usedStatus; @@ -682,6 +839,7 @@ // this.subclass = labels.join(','); // }, async loadDataList(newPage) { + try { this.loading = true; const res = await getList({pageNum: newPage, pageSize: 10000}); @@ -733,12 +891,6 @@ .filter(item => newVal.managementCentralizationList.includes(item.value)) .map(item => item.label); this.subclass = labels.join(','); - } - if (newVal.competentDepartmentList) { - const labels = this.approvalList - .filter(item => newVal.competentDepartmentList.includes(item.id)) - .map(item => item.value); - this.largeCategory = labels.join(','); } }, 1000); this.$emit('basicInfoForm', newVal) -- Gitblit v1.8.0