src/api/projectEngineering/projectInfo.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/projectEngineering/projectUnitRegistrationInfo.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/VisibilityToolbar/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/projectEngineering/projectLibrary/component/legalPerson.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/projectEngineering/projectLibrary/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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', }) } 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 }) } 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对newColumns进行排序 // this.cpList = this.cpList.sort((a, b) => a.serialNumber - b.serialNumber); // // // 触发事件通知父组件columns已更新(如果父组件需要知道这个变化) // this.$emit('update:sort', this.cpList); this.$emit('update:sort', row); 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> 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() {