From 2fe7eb79670f8d9a64a501596b18c4e098278c89 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期一, 17 三月 2025 11:50:59 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/projectEngineering/projectLibrary/index.vue | 164 ++++++++++++-------------------- src/api/projectEngineering/projectInfo.js | 10 ++ src/views/projectEngineering/projectLibrary/component/legalPerson.vue | 67 ++++++++++++- src/components/VisibilityToolbar/index.vue | 29 ++--- src/api/projectEngineering/projectUnitRegistrationInfo.js | 8 + 5 files changed, 153 insertions(+), 125 deletions(-) diff --git a/src/api/projectEngineering/projectInfo.js b/src/api/projectEngineering/projectInfo.js index af8f0d7..9d561d1 100644 --- a/src/api/projectEngineering/projectInfo.js +++ b/src/api/projectEngineering/projectInfo.js @@ -88,6 +88,7 @@ params: data }) } +//鍒嗛〉琛ㄥご export function getHiddenList(data){ return request({ url:'/hidden-admin/page', @@ -95,6 +96,7 @@ params: data }) } +//淇敼琛ㄥご export function saveHiddenList(data){ return request({ url:'/hidden-admin/updateList', @@ -102,6 +104,7 @@ data: data }) } +//鏂板琛ㄥご export function addList(data){ return request({ url:'/hidden-admin/addList', @@ -109,3 +112,10 @@ data:data }) } +//鑾峰緱鎵�鏈夎〃澶� +export function getAll(){ + return request({ + url:'/hidden-admin/list', + method:'get', + }) +} diff --git a/src/api/projectEngineering/projectUnitRegistrationInfo.js b/src/api/projectEngineering/projectUnitRegistrationInfo.js index 2be1ab0..d8db14a 100644 --- a/src/api/projectEngineering/projectUnitRegistrationInfo.js +++ b/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 + }) +} diff --git a/src/components/VisibilityToolbar/index.vue b/src/components/VisibilityToolbar/index.vue index 871a291..9471870 100644 --- a/src/components/VisibilityToolbar/index.vue +++ b/src/components/VisibilityToolbar/index.vue @@ -39,7 +39,7 @@ </el-table-column> <el-table-column prop="date" label="鎺掑簭"> <template slot-scope="scope"> - <el-input-number v-model="scope.row.serialNumber" :min="0" style="width: 120px" @change="sortChange(scope.row, $event)"></el-input-number> + <el-input-number v-model="scope.row.sort" :min="0" style="width: 120px" @change="sortChange(scope.row, $event)"></el-input-number> </template> </el-table-column> </el-table> @@ -129,7 +129,6 @@ this.table = true; }, switchChange(row) { - row.sort = row.serialNumber; if (row.visible === true){ row.display = "1" }else { @@ -139,17 +138,16 @@ this.saveList.push(row) }else { let have = true; - this.saveList.forEach((item ,index)=>{ - if (item.id === row.id){ - item[index] =item; + let index = this.saveList.findIndex(item => item.id === row.id); + if (index !== -1){ + this.saveList[index] = row; have =false; - } - }) + } + if (have){ this.saveList.push(row) } } - console.log(this.saveList) this.$emit('update:columns', row); }, handlePageChange(page) { @@ -185,11 +183,12 @@ if (this.saveList.length !== 0){ saveHiddenList(CircularJSON.stringify(this.saveList)).then(res =>{ this.$modal.msgSuccess("淇濆瓨鎴愬姛"); + //鍒锋柊椤甸潰 + this.$emit('update:resetSort'); }); } }, sortChange(row, val) { - row.sort = row.serialNumber; if (row.visible === true){ row.display = "1" }else { @@ -199,12 +198,11 @@ this.saveList.push(row) }else { let have = true; - this.saveList.forEach((item ,index)=>{ - if (item.id === row.id){ - item[index] =item; - have =false; - } - }) + let index = this.saveList.findIndex(item => item.id === row.id); + if (index !== -1){ + this.saveList[index] = row; + have =false; + } if (have){ this.saveList.push(row) } @@ -221,7 +219,6 @@ // // // 鏍规嵁serialNumber瀵筺ewColumns杩涜鎺掑簭 // this.cpList = this.cpList.sort((a, b) => a.serialNumber - b.serialNumber); - // // // 瑙﹀彂浜嬩欢閫氱煡鐖剁粍浠禼olumns宸叉洿鏂帮紙濡傛灉鐖剁粍浠堕渶瑕佺煡閬撹繖涓彉鍖栵級 // this.$emit('update:sort', this.cpList); this.$emit('update:sort', row); diff --git a/src/views/projectEngineering/projectLibrary/component/legalPerson.vue b/src/views/projectEngineering/projectLibrary/component/legalPerson.vue index e57e757..26a9ed0 100644 --- a/src/views/projectEngineering/projectLibrary/component/legalPerson.vue +++ b/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> diff --git a/src/views/projectEngineering/projectLibrary/index.vue b/src/views/projectEngineering/projectLibrary/index.vue index ac4390f..2698103 100644 --- a/src/views/projectEngineering/projectLibrary/index.vue +++ b/src/views/projectEngineering/projectLibrary/index.vue @@ -323,7 +323,7 @@ </template> <script> -import {listProject, getProject, delProject, addProject, updateProject,getHiddenList,addList} from "@/api/projectEngineering/projectInfo"; +import {listProject, getProject, delProject, addProject, updateProject,getHiddenList,addList,getAll} from "@/api/projectEngineering/projectInfo"; import {current, currentRest} from '@/views/projectEngineering/projectLibrary/list'; import FileDialog from '@/views/projectEngineering/projectLibrary/component/FileDialog'; import Cookies from "js-cookie"; @@ -426,39 +426,24 @@ if (projectPhase) { this.isProjectCategory = true; } - // const columns = current.map((item, index) => { - // item.index = index + 1; - // item.key = index; - // item.serialNumber = index + 1; - // if(item.id ==='usedStatus' ){ - // if(projectPhase !== '6') { - // item.visible = false - // } else { - // item.visible = true - // } - // } - // return item; - // }); - // this.columns = columns; - // this.defaultColumns = JSON.parse(JSON.stringify(columns)); - this.hiddenList(); - + this.hiddenColumnsList(); + this.pageHiddenColumnsList(); this.getList(this.$route.query.projectPhase == '5' || this.$route.query.projectPhase == '6' ? null : this.$route.query.projectPhase); }, beforeDestroy() { this.removeStore(); }, methods: { - hiddenList(){ - getHiddenList().then(res =>{ + + //鏌ヨ鍚庣鎵�鏈夎〃澶存暟鎹� + hiddenColumnsList(){ + getAll().then(res =>{ const projectPhase = this.$route.query.projectPhase; //杞崲 res.data.forEach((item,index)=>{ item.index = index + 1; item.key = index; - item.serialNumber = item.sort; item.label = item.name; - // item.slotName = item.columns; if(item.display === '0'){ item.visible = false }else { @@ -472,13 +457,45 @@ } } }); - - this.defaultColumns = res.data; this.columnsNew = res.data; - console.log(this.columnsNew) + }) + }, + pageHiddenColumnsList(){ + getHiddenList(this.pageQueryParams).then(res =>{ + this.buildColumns(res.data); this.hiddenTotal = res.total; }) - + }, + //闅愯棌鍒楄〃缈婚〉 + handlePage(page){ + this.pageQueryParams.currentPage = page; + getHiddenList(this.pageQueryParams).then(res =>{ + this.buildColumns(res.data); + }) + }, + buildColumns(data){ + const projectPhase = this.$route.query.projectPhase; + //杞崲 + data.forEach((item,index)=>{ + item.index = index + 1; + item.key = index; + item.label = item.name; + // item.slotName = item.columns; + if(item.display === '0'){ + item.visible = false + }else { + item.visible = true; + } + if(item.columns ==='usedStatus' ){ + if(projectPhase !== '6') { + item.visible = false + } else { + item.visible = true + } + } + }); + //鍒嗛〉鏁版嵁浼犲叆鏄鹃殣缁勪欢 + this.defaultColumns = data; }, // async getProjectSubType(projectType, projectSubType) { // if (!projectType || !projectSubType) { @@ -522,40 +539,7 @@ localStorage.removeItem("policyInfoForm") localStorage.removeItem("documentsInfoForm") }, - //闅愯棌鍒楄〃缈婚〉 - handlePage(page){ - this.pageQueryParams.currentPage = page; - getHiddenList(this.pageQueryParams).then(res =>{ - this.buildColumns(res.data); - }) - }, - buildColumns(data){ - const projectPhase = this.$route.query.projectPhase; - //杞崲 - data.forEach((item,index)=>{ - item.index = index + 1; - item.key = index; - item.serialNumber = item.sort; - item.label = item.name; - // item.slotName = item.columns; - if(item.display === '0'){ - item.visible = false - }else { - item.visible = true; - } - if(item.columns ==='usedStatus' ){ - if(projectPhase !== '6') { - item.visible = false - } else { - item.visible = true - } - } - }); - this.columnsNew = data; - this.defaultColumns = data; - - }, save(){ const list =current.map((item, index) => { item.name = item.label; @@ -580,69 +564,41 @@ }, // 閲嶇疆鎺掑簭鐨勬柟娉� handleResetSort() { - this.hiddenList() - // const projectPhase = this.$route.query.projectPhase; - // this.defaultColumns= currentRest.map((item, index) => { - // item.index = index + 1; - // item.key = index; - // item.serialNumber = index + 1 - // if(item.id ==='usedStatus' ){ - // if(projectPhase !== '6') { - // item.visible = false - // } else { - // item.visible = true - // } - // } - // return item; - // }); - - - // this.columnsNew = currentRest.map((item, index) => { - // item.index = index + 1; - // item.key = index; - // item.serialNumber = index + 1 - // if(item.id ==='usedStatus' ){ - // if(projectPhase !== '6') { - // item.visible = false - // } else { - // item.visible = true - // } - // } - // return item; - // }); - //寮哄埗table娓叉煋 - - // this.defaultColumns = this.resetColumns; - // - // - // this.columnsNew = this.resetColumns; - + this.hiddenColumnsList(); + this.pageHiddenColumnsList(); this.tableKey = this.tableKey + 1; }, // 鏇存柊鍒楃殑鏂规硶 handleUpdateColumns(row) { - // this.currentColumns = row; - row.key = Number(row.key) + //鏇挎崲鍏冪礌 this.columnsNew = this.columnsNew.map(item => { - if (item.key === row.key) { + if (item.columns === row.columns) { return row; } return item; }); + }, handleUpdateSort(row) { - console.log(this.columnsNew, '鎺掑簭鍓嶇殑鍒�'); + //鏇挎崲琛ㄥご鍏冪礌 this.columnsNew = this.columnsNew.map(item => { - if (item.key === row.key) { + if (item.columns === row.columns) { return row; } return item; }); - this.defaultColumns = this.columnsNew.sort((a, b) => a.index - b.index); - this.columnsNew.sort((a, b) => a.serialNumber - b.serialNumber); + //鏇挎崲浼犲叆鏄鹃殣缁勪欢鏁版嵁 + this.defaultColumns = this.defaultColumns.map(item => { + if (item.columns === row.columns) { + return row; + } + return item; + }); + this.defaultColumns = this.defaultColumns.sort((a, b) => a.sort - b.sort); + this.columnsNew.sort((a, b) => a.sort - b.sort); + //寮哄埗table娓叉煋 this.tableKey = this.tableKey + 1; - console.log(this.columnsNew, '鎺掑簭鍚庣殑鍒�'); }, // 鍏抽棴鏂囦欢澶勭悊寮规鐨勬柟娉� fileDialogCancel() { -- Gitblit v1.8.0