From 2aa3cb47df411ba61352c27280db9154d706e376 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期日, 02 三月 2025 22:18:18 +0800
Subject: [PATCH] 工程
---
src/views/projectEngineering/projectLibrary/index.vue | 238 ++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 177 insertions(+), 61 deletions(-)
diff --git a/src/views/projectEngineering/projectLibrary/index.vue b/src/views/projectEngineering/projectLibrary/index.vue
index 2e07f92..0ee0d0b 100644
--- a/src/views/projectEngineering/projectLibrary/index.vue
+++ b/src/views/projectEngineering/projectLibrary/index.vue
@@ -180,15 +180,17 @@
<VisibilityToolbar
v-model:showSearch="showSearch"
:columns="defaultColumns"
+ :hiddenTotal="hiddenTotal"
@queryTable="handleQuery"
@update:sort="handleUpdateSort"
@update:columns="handleUpdateColumns"
@update:resetSort="handleResetSort"
+ @update:page="handlePage"
></VisibilityToolbar>
</div>
</div>
</el-form>
-
+<!-- <el-button type="primary" @click="save">鍒濆鍖栨坊鍔爈ist.js</el-button>-->
<el-table
:key="tableKey"
ref="elTable"
@@ -202,10 +204,10 @@
<el-table-column type="selection" width="55" align="center"/>
<!-- 鍔ㄦ�佸垪 -->
<el-table-column
- v-for="item in columns"
- :key="item.id"
+ v-for="item in columnsNew"
+ :key="item.columns"
v-if="item.visible"
- :prop="item.id"
+ :prop="item.columns"
:label="item.label"
:min-width="item.minWidth"
>
@@ -250,7 +252,7 @@
</template>
</template>
<!-- 榛樿鏄剧ず -->
- <span v-else>{{ scope.row[item.id] }}</span>
+ <span v-else>{{ scope.row[item.columns] }}</span>
</template>
</el-table-column>
<el-table-column v-if="this.$route.query.projectPhase==6" label="瀹℃牳澶囨敞" width="140" align="center" prop="remark"/>
@@ -307,21 +309,21 @@
:total="total"
:page.sync="queryParams.currentPage"
:limit.sync="queryParams.pageSize"
- @pagination="getList"
+ @pagination="() => getList(null)"
/>
<FileDialog
:fileDialogVisible.sync="fileDialogVisible"
:isImportOrExport="isImportOrExport"
@fileDialogCancel="fileDialogCancel"
- :currentColumns="columns"
+ :currentColumns="columnsNew"
:dataIdList="ids"
/>
</div>
</template>
<script>
-import {listProject, getProject, delProject, addProject, updateProject} from "@/api/projectEngineering/projectInfo";
+import {listProject, getProject, delProject, addProject, updateProject,getHiddenList,addList} 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";
@@ -344,8 +346,13 @@
//椤圭洰鐘舵�佺瓫閫夋潯浠�
isProjectCategory: false,
//琛ㄥご
- columns: [],
+ columnsNew: [],
+ //鏄鹃殣缁勪欢鐨勮〃澶撮泦鍚�
defaultColumns: [],
+ //閲嶇疆琛ㄥご
+ resetColumns:[],
+ //鏄鹃殣缁勪欢鐨勬煡璇㈡�绘暟
+ hiddenTotal: 0,
//鎺у埗鏇村绛涢�夋樉闅�
popoverValue: false,
// 閬僵灞�
@@ -372,10 +379,15 @@
queryParams: {
currentPage: 1,
pageSize: 10,
+ center: 0, // 1 浠h〃椤圭洰涓績
projectName: null,
projectCode: null,
projectStartTime: null,
projectEndTime: null,
+ },
+ //鏄鹃殣鍒楄〃鏌ヨ鍙傛暟
+ pageQueryParams:{
+ currentPage: 1,
},
moreQueryParams: {
projectType: '', // 椤圭洰绫诲瀷
@@ -405,33 +417,69 @@
created() {
this.queryParams.importanceType = this.$route.query.importanceType;
const projectPhase = this.$route.query.projectPhase;
+ if (projectPhase === '6') {
+ this.queryParams.center = 1
+ }
if (!projectPhase || projectPhase === '1' || projectPhase === '6') {
this.isReserve = true;
}
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.getList();
+ // 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.getList(this.$route.query.projectPhase == '5' || this.$route.query.projectPhase == '6' ? null : this.$route.query.projectPhase);
},
beforeDestroy() {
this.removeStore();
},
methods: {
+ hiddenList(){
+ getHiddenList().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 {
+ item.visible = true;
+ }
+ if(item.columns ==='usedStatus' ){
+ if(projectPhase !== '6') {
+ item.visible = false
+ } else {
+ item.visible = true
+ }
+ }
+ });
+
+ this.defaultColumns = res.data;
+ this.columnsNew = res.data;
+ console.log(this.columnsNew)
+ this.hiddenTotal = res.total;
+ })
+
+ },
// async getProjectSubType(projectType, projectSubType) {
// if (!projectType || !projectSubType) {
// return ''
@@ -474,42 +522,108 @@
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;
+ item.sort = index + 1;
+ item.columns = item.id;
+ item.id = 0;
+ if(item.slotName === undefined){
+ item.slotName = null;
+ }
+ if(item.visible){
+ item.display = "1";
+ }else {
+ item.display ="0";
+ }
+ return item;
+ });
+ console.log(list)
+ addList(list).then(res=>{
+ console.log(res.msg)
+ })
+
+ },
// 閲嶇疆鎺掑簭鐨勬柟娉�
handleResetSort() {
- 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.columns = 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.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.tableKey = this.tableKey + 1;
},
// 鏇存柊鍒楃殑鏂规硶
handleUpdateColumns(row) {
// this.currentColumns = row;
- this.columns = this.columns.map(item => {
+ row.key = Number(row.key)
+ this.columnsNew = this.columnsNew.map(item => {
if (item.key === row.key) {
return row;
}
@@ -517,18 +631,18 @@
});
},
handleUpdateSort(row) {
- console.log(this.columns, '鎺掑簭鍓嶇殑鍒�');
- this.columns = this.columns.map(item => {
+ console.log(this.columnsNew, '鎺掑簭鍓嶇殑鍒�');
+ this.columnsNew = this.columnsNew.map(item => {
if (item.key === row.key) {
return row;
}
return item;
});
- this.defaultColumns = JSON.parse(JSON.stringify(this.columns)).sort((a, b) => a.index - b.index);
- this.columns.sort((a, b) => a.serialNumber - b.serialNumber);
+ this.defaultColumns = this.columnsNew.sort((a, b) => a.index - b.index);
+ this.columnsNew.sort((a, b) => a.serialNumber - b.serialNumber);
//寮哄埗table娓叉煋
this.tableKey = this.tableKey + 1;
- console.log(this.columns, '鎺掑簭鍚庣殑鍒�');
+ console.log(this.columnsNew, '鎺掑簭鍚庣殑鍒�');
},
// 鍏抽棴鏂囦欢澶勭悊寮规鐨勬柟娉�
fileDialogCancel() {
@@ -544,9 +658,11 @@
this.popoverValue = false;
},
/** 鏌ヨ椤圭洰绠$悊鍩虹淇℃伅鍒楄〃 */
- getList() {
+ getList(projectPhase) {
this.loading = true;
- this.queryParams.projectPhase = this.$route.query.projectPhase;
+ if (projectPhase) {
+ this.queryParams.projectPhase = projectPhase;
+ }
if (this.timeRange) {
this.queryParams.projectStartTime = this.timeRange[0]
this.queryParams.projectEndTime = this.timeRange[1]
@@ -606,7 +722,7 @@
/** 鎼滅储鎸夐挳鎿嶄綔 */
handleQuery() {
this.queryParams.currentPage = 1;
- this.getList();
+ this.getList(null);
},
/** 閲嶇疆鎸夐挳鎿嶄綔 */
resetQuery() {
--
Gitblit v1.8.0