From d3215f0051943a83f459009359d0039c3a0e1a4e Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期五, 04 八月 2023 10:29:48 +0800 Subject: [PATCH] 信息管理 --- src/views/datamanage/metadataManage.vue | 310 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 259 insertions(+), 51 deletions(-) diff --git a/src/views/datamanage/metadataManage.vue b/src/views/datamanage/metadataManage.vue index 5713039..9a74259 100644 --- a/src/views/datamanage/metadataManage.vue +++ b/src/views/datamanage/metadataManage.vue @@ -158,49 +158,6 @@ </el-form-item> </div> </div> - - <!-- <el-form-item style="float:right"> - <el-button - @click="queryInfo()" - icon="el-icon-search" - class="primary" - size="small" - >{{ $t('common.iquery') }}</el-button> - </el-form-item> - <el-form-item style="float:right"> - <el-button - @click="resetInfo('queryForm')" - icon="el-icon-refresh" - type="info" - size="small" - >{{ $t('common.reset') }}</el-button> - </el-form-item> --> - - <!-- <el-form-item v-if="btnStatus.insert"> - <el-button - type="success" - size="small" - @click="showAddDialog" - icon="el-icon-plus" - >{{ $t('common.append') }}</el-button - > - </el-form-item> --> - <!-- <el-form-item v-if="btnStatus.delete" style="float:right"> - <el-button - type="danger" - size="small" - @click="deleteMetaInfo" - icon="el-icon-delete" - >{{ $t('common.delete') }}</el-button> - </el-form-item> - <el-form-item v-if="btnStatus.download" style="float:right"> - <el-button - @click="downFormData" - icon="el-icon-download" - type="success" - size="small" - >{{ $t('common.download') }}</el-button> - </el-form-item> --> </el-form> </div> <div class="dividing-line"></div> @@ -249,7 +206,24 @@ <el-table-column prop="type" :label="$t('dataManage.vmobj.format')" - /> + > + <template slot-scope="scope"> + <span v-if="scope.row.type == 'gdb'"> + <el-link + @click="setSelectGdbByGuid(scope.row)" + style="color: #409eff" + > + {{ scope.row.type }} + </el-link> + </span> + <span v-else> + + {{ scope.row.type }} + </span> + </template> + + </el-table-column> + <el-table-column prop="sizes" :label="$t('dataManage.vmobj.size')" @@ -290,6 +264,13 @@ prop="rows" :label="$t('dataManage.vmobj.row')" /> + + <el-table-column + :label="$t('common.dataStatus')" + :formatter="stateFormat" + > + + </el-table-column> <el-table-column prop="uname" :label="$t('dataManage.vmobj.createonuser')" @@ -350,6 +331,7 @@ <div class="infoBox_box" v-show="showinfoBox" + style="z-index:99999" > <div class="infoBox box_div"> <div @@ -770,7 +752,7 @@ @size-change="handleMetaSizeChange" @current-change="handMetaCurrentChange" :current-page="listMetaData.pageIndex" - :page-sizes="[10, 50, 100, 200]" + :page-sizes="[10, 50, 100, 200,500]" :page-size="listMetaData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="listMetaData.count" @@ -938,11 +920,170 @@ </el-form-item> </el-form> </el-dialog> + <el-dialog + title="" + :visible.sync="gdbDialog" + width="80%" + top="8vh" + :modal="false" + :close-on-click-modal="false" + > + <div class="gdbTableBox"> + <el-table + :data="gdbData" + style="width: 100%" + max-height="38.54167vw" + > + <el-table-column + type="selection" + width="55" + /> + <el-table-column + :label="$t('dataManage.dictionaryManageObj.number')" + type="index" + width="50" + > + </el-table-column> + <el-table-column :label="$t('dataManage.vmobj.name')"> + <template slot-scope="scope"> + <span v-if="scope.row.ismeta > 0"> + <el-link + style="color: #409eff" + title="婧愭暟鎹煡璇�" + @click="setQueryMetaData(scope.row)" + target="_blank" + >{{ scope.row.name }}</el-link> + </span> + <span v-else-if="scope.row.metaid > 0"> + <el-link + style="color: #409eff" + title="鍏冩暟鎹煡璇�" + @click="setMetaDataQuery(scope.row)" + target="_blank" + >{{ scope.row.name }}</el-link></span> + <span v-else>{{ scope.row.name }}</span> + </template> + </el-table-column> + + <el-table-column + prop="type" + :label="$t('dataManage.vmobj.format')" + > + + </el-table-column> + + <el-table-column + prop="sizes" + :label="$t('dataManage.vmobj.size')" + :formatter="stateFormatSizes" + /> + <el-table-column + prop="depName" + :label="$t('dataManage.vmobj.depName')" + /> + <el-table-column + prop="dirName" + :label="$t('dataManage.vmobj.dirName')" + width="200" + /> + <el-table-column + prop="verName" + :label="$t('dataManage.vmobj.versionNumber')" + /> + <el-table-column :label="$t('dataManage.dataUpObj.tableName')"> + <template slot-scope="scope"> + + <el-link></el-link> + <el-link + :underline="false" + @click="detail(scope.row)" + >{{ + scope.row.tab + }}</el-link> + </template> + </el-table-column> + + <el-table-column + prop="rows" + :label="$t('dataManage.vmobj.row')" + /> + + <el-table-column + :label="$t('common.dataStatus')" + :formatter="stateFormat" + > + + </el-table-column> + <el-table-column + prop="uname" + :label="$t('dataManage.vmobj.createonuser')" + /> + <el-table-column + prop="createTime" + :label="$t('dataManage.vmobj.createontime')" + :formatter="formatData" + /> + <el-table-column + min-width="210" + :label="$t('common.operate')" + > + <template slot-scope="scope"> + <el-button + @click="showDetail(scope.row)" + type="primary" + plain + size="small" + >{{ $t("common.details") }} + </el-button> + <el-button + type="warning" + plain + size="small" + v-if="btnStatus.update" + @click="editInfo(scope.row)" + style="margin-left: 10px" + >{{ $t("common.edit") }} + </el-button> + <el-button + plain + size="small" + v-if="showPreview(scope.row)" + @click="handlePreview(scope.row)" + style="margin-left: 10px" + >{{ $t("common.preview") }} + </el-button> + </template> + </el-table-column> + </el-table> + </div> + + </el-dialog> <iframe id="downFrame" src="" style="display: none; border: 0; padding: 0; height: 0; width: 0" ></iframe> + + <div + class="loadBox" + v-if="loadDialogVisible" + > + <div style="widht:100%; margin:20px; color:white"> + <div style="margin-left:99%"> + <!-- <el-link + @click="setloadDialogVisible()" + style="color:white" + > X</el-link> --> + </div> + </div> + <div + v-loading="true" + element-loading-background="rgba(0, 0, 0, 0.0) " + element-loading-text="鏁版嵁鍒犻櫎涓�" + style="margin: 0px 20px;widht:100%;height:calc(100% - 80px); " + > + </div> + </div> </div> </template> @@ -968,6 +1109,7 @@ meta_selectMetaOverflowDep, meta_selectDepsByCodes, apply_insertApply, + meta_selectGdbByGuid, } from "../../api/api"; import MyBread from "../../components/MyBread.vue"; @@ -1108,6 +1250,10 @@ pwd: null, depcodes: null, }, + gdbData: [], + gdbDialog: false, + gdbGuid: null, + loadDialogVisible: false }; }, created() { @@ -1137,6 +1283,36 @@ }, }, methods: { + //gdb 鐐瑰嚮浜嬩欢 + setSelectGdbByGuid(row) { + this.gdbGuid = row.guid + this.getSelectGdbByGuid(); + }, + async getSelectGdbByGuid() { + if (!this.gdbGuid) return + const data = await meta_selectGdbByGuid({ guid: this.gdbGuid }) + if (data.code != 200) { + return this.$message.error("鏍规嵁GUID鏌ヨGDB鏁版嵁澶辫触"); + } + if (data.count <= 0) { + return this.$message("鏌ユ棤鏇村鏁版嵁"); + } + this.gdbData = data.result; + this.gdbDialog = true; + + }, + + + stateFormat(row, column) { + var val = ['shp', 'gdb', 'xls', 'xlsx'] + if (val.indexOf(row.type) > -1 && row.rows > 0) { + return '宸蹭笂浼�,宸插叆搴�' + } else if (val.indexOf(row.type) > -1 && row.rows == 0) { + return '宸蹭笂浼�,鏈叆搴�' + } else { + return '宸蹭笂浼�' + } + }, //澶у皬鍊兼敼鍙� changeSizeFile(row, column, cellValue, index) { if (cellValue >= 1024) { @@ -1176,10 +1352,7 @@ this.fromQueryMeta.title = row.name; this.listMetaData = { id: row.metaid, - // name: "", - // pageIndex: 1, - // pageSize: 10, - // count: 0, + }; const data = await meta_selectById(this.listMetaData); if (data.code != 200) { @@ -1190,6 +1363,8 @@ this.metaDataTable1 = [data.result]; // this.listMetaData.count = data.count; }, + + //婧愭暟鎹煡璇� setQueryMetaData(row) { this.fromQueryMeta.title = row.name; @@ -1557,6 +1732,9 @@ }, // 鍒犻櫎澶氭潯 deleteMetaInfo() { + if (this.multipleSelection.length <= 0) { + return this.$message("璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁"); + } this.$confirm("纭畾鏄惁鍒犻櫎鎵�閫夊唴瀹�?", "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", @@ -1567,8 +1745,10 @@ for (var i in this.multipleSelection) { std.push(this.multipleSelection[i].id); } + this.loadDialogVisible = true; deleteMeta({ ids: std.toString() }).then((res) => { if (res.code == 200) { + this.loadDialogVisible = false; this.$message({ type: "success", message: "鍒犻櫎鎴愬姛!", @@ -1576,9 +1756,12 @@ this.multipleSelection = []; // this.listData.pageSize = 10 this.listData.pageIndex = 1; + this.getMetaData(); } else { + this.loadDialogVisible = false; this.$message.error("鍒犻櫎澶辫触"); + this.multipleSelection = []; } }); @@ -1592,7 +1775,7 @@ showDetail(row) { // console.log(index, row); this.showinfoBox = true; - debugger + this.itemdetail = row; }, @@ -1638,7 +1821,14 @@ if (res.code == 200) { this.listData.pageSize = 10; this.listData.pageIndex = 1; - this.getMetaData(); + + if (this.gdbDialog) { + this.getSelectGdbByGuid(); + } else { + this.getMetaData(); + } + + this.$message({ message: "淇敼鎴愬姛", type: "success", @@ -1653,6 +1843,7 @@ alert("淇敼澶辫触锛岃閲嶈瘯锛�"); this.fullscreenLoading = false; }); + }, cancelEdit() { this.$nextTick(() => { @@ -1888,5 +2079,22 @@ .el-divider--horizontal { margin: 15px 0; } + .gdbTableBox { + width: 100%; + height: 740px; + overflow-y: auto; + } + .loadBox { + position: fixed; + z-index: 2002; + background: rgba(0, 0, 0, 0.2); + width: 100%; + height: 100%; + top: 0; + left: 0; + .el-loading-mask { + background: transparent !important; + } + } } </style> -- Gitblit v1.9.3