From f088e6887fe88f0be698892c9883521e9e57d5c3 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期二, 25 七月 2023 09:31:53 +0800 Subject: [PATCH] 信息管理 GDB数据修改 --- src/views/datamanage/metadataManage.vue | 532 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 407 insertions(+), 125 deletions(-) diff --git a/src/views/datamanage/metadataManage.vue b/src/views/datamanage/metadataManage.vue index 0c92ee3..8ee4f93 100644 --- a/src/views/datamanage/metadataManage.vue +++ b/src/views/datamanage/metadataManage.vue @@ -1,14 +1,19 @@ <template> <div class="authorityManagement_box"> - <My-bread - :list="[ + <My-bread :list="[ `${$t('dataManage.dataManage')}`, `${$t('dataManage.metadataManage')}`, - ]" - ></My-bread> + ]"></My-bread> <el-divider /> - <div class="inquire subpage_Div" ref="container"> - <el-form ref="queryForm" :model="queryForm" :inline="true"> + <div + class="inquire subpage_Div" + ref="container" + > + <el-form + ref="queryForm" + :model="queryForm" + :inline="true" + > <div class="flex_box"> <div style="margin-right: auto"> <el-form-item size="small"> @@ -95,19 +100,21 @@ </el-option> </el-select> </el-form-item> - <el-form-item prop="name" size="small"> + <el-form-item + prop="name" + size="small" + > <!-- suffix-icon="el-icon-edit" :placeholder="$t('common.pleaseInput')"--> <el-input v-model="queryForm.name" :placeholder="$t('shuJuGuanLi.lable2')" style="width: 200px" - ><i + ><i slot="suffix" class="el-icon-search" @click="queryInfo()" style="padding-right: 8px" - ></i - ></el-input> + ></i></el-input> </el-form-item> </div> <div> @@ -127,7 +134,7 @@ size="small" @click="deleteMetaInfo" icon="el-icon-delete" - >{{ $t("common.delete") }} + >{{ $t("common.delete") }} </el-button> </el-form-item> <el-form-item v-if="btnStatus.download"> @@ -136,7 +143,7 @@ icon="el-icon-download" type="success" size="small" - >{{ $t("common.download") }} + >{{ $t("common.download") }} </el-button> </el-form-item> @@ -146,58 +153,18 @@ icon="el-icon-refresh" type="info" size="small" - >{{ $t("common.reset") }} + >{{ $t("common.reset") }} </el-button> </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> - <div class="table_box subpage_Div" :style="styleVar"> + <div + class="table_box subpage_Div" + :style="styleVar" + > <el-table :data="tableData" style="width: 100%" @@ -205,7 +172,10 @@ @selection-change="handleSelectionChange" height="calc(100% - 57px)" > - <el-table-column type="selection" width="55" /> + <el-table-column + type="selection" + width="55" + /> <el-table-column :label="$t('dataManage.dictionaryManageObj.number')" type="index" @@ -220,8 +190,7 @@ title="婧愭暟鎹煡璇�" @click="setQueryMetaData(scope.row)" target="_blank" - >{{ scope.row.name }}</el-link - > + >{{ scope.row.name }}</el-link> </span> <span v-else-if="scope.row.metaid > 0"> <el-link @@ -229,14 +198,32 @@ title="鍏冩暟鎹煡璇�" @click="setMetaDataQuery(scope.row)" target="_blank" - >{{ scope.row.name }}</el-link - ></span - > + >{{ 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 + 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')" @@ -259,7 +246,10 @@ <template slot-scope="scope"> <!-- <span ></span> --> <el-link></el-link> - <el-link :underline="false" @click="detail(scope.row)">{{ + <el-link + :underline="false" + @click="detail(scope.row)" + >{{ scope.row.tab }}</el-link> </template> @@ -270,7 +260,17 @@ :label="$t('dataManage.vmobj.tab')" :formatter="formatData" /> --> - <el-table-column prop="rows" :label="$t('dataManage.vmobj.row')" /> + <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')" @@ -280,14 +280,17 @@ :label="$t('dataManage.vmobj.createontime')" :formatter="formatData" /> - <el-table-column min-width="210" :label="$t('common.operate')"> + <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") }} + >{{ $t("common.details") }} </el-button> <el-button type="warning" @@ -296,7 +299,7 @@ v-if="btnStatus.update" @click="editInfo(scope.row)" style="margin-left: 10px" - >{{ $t("common.edit") }} + >{{ $t("common.edit") }} </el-button> <el-button plain @@ -304,12 +307,15 @@ v-if="showPreview(scope.row)" @click="handlePreview(scope.row)" style="margin-left: 10px" - >{{ $t("common.preview") }} + >{{ $t("common.preview") }} </el-button> </template> </el-table-column> </el-table> - <div class="pagination_box" style="margin-top: 15px"> + <div + class="pagination_box" + style="margin-top: 15px" + > <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" @@ -322,16 +328,29 @@ </el-pagination> </div> </div> - <div class="infoBox_box" v-show="showinfoBox"> + <div + class="infoBox_box" + v-show="showinfoBox" + style="z-index:99999" + > <div class="infoBox box_div"> - <div slot="header" class="clearfix"> + <div + slot="header" + class="clearfix" + > <span>{{ $t("common.details") }}</span> - <div style="float: right; cursor: pointer" @click="closeDetial"> + <div + style="float: right; cursor: pointer" + @click="closeDetial" + > <i class="el-icon-close"></i> </div> </div> <el-divider></el-divider> - <div class="contentBox" style="padding: 1%"> + <div + class="contentBox" + style="padding: 1%" + > <p>{{ $t("dataManage.vmobj.name") }}锛歿{ itemdetail.name }}</p> <el-divider></el-divider> <p>{{ $t("dataManage.vmobj.format") }}锛歿{ itemdetail.type }}</p> @@ -348,7 +367,7 @@ <el-divider></el-divider> <p>{{ $t("dataManage.vmobj.tab") }}锛歿{ itemdetail.tab }}</p> <el-divider></el-divider> - <p>{{ $t("dataManage.vmobj.row") }}锛歿{ itemdetail.row }}</p> + <p>{{ $t("dataManage.vmobj.row") }}锛歿{ itemdetail.rows }}</p> <el-divider></el-divider> <p> {{ $t("dataManage.vmobj.createonuser") }}锛歿{ itemdetail.uname }} @@ -360,7 +379,7 @@ }} </p> <el-divider></el-divider> - <p> + <!-- <p> {{ $t("dataManage.vmobj.depName") }}锛歿{ itemdetail.updateUser }} </p> <el-divider></el-divider> @@ -368,7 +387,7 @@ {{ $t("dataManage.vmobj.depName") }}锛歿{ setInfoBoxTime(itemdetail.updateTime) }} - </p> + </p> --> </div> </div> </div> @@ -384,24 +403,36 @@ :visible.sync="dialogFormVisible" :before-close="handleClose" > - <el-form :model="editForm" ref="editForm"> + <el-form + :model="editForm" + ref="editForm" + > <el-form-item :label="$t('dataManage.vmobj.name')" :label-width="formLabelWidth" > - <el-input v-model="editForm.name" autocomplete="off"></el-input> + <el-input + v-model="editForm.name" + autocomplete="off" + ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.vmobj.format')" :label-width="formLabelWidth" > - <el-input v-model="editForm.type" autocomplete="off"></el-input> + <el-input + v-model="editForm.type" + autocomplete="off" + ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.vmobj.size')" :label-width="formLabelWidth" > - <el-input v-model="editForm.sizes" autocomplete="off"></el-input> + <el-input + v-model="editForm.sizes" + autocomplete="off" + ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.vmobj.depName')" @@ -467,7 +498,10 @@ :label="$t('dataManage.vmobj.describe')" :label-width="formLabelWidth" > - <el-input v-model="editForm.describe" autocomplete="off"></el-input> + <el-input + v-model="editForm.describe" + autocomplete="off" + ></el-input> </el-form-item> <!-- <el-form-item :label="$t('dataManage.vmobj.gather')" @@ -476,28 +510,40 @@ <el-input v-model="editForm.gather" autocomplete="off"></el-input> </el-form-item> --> </el-form> - <div v-if="behavior == '淇敼淇℃伅'" slot="footer" class="dialog-footer"> - <el-button size="small" @click="cancelEdit()" - >{{ $t("common.reset") }} + <div + v-if="behavior == '淇敼淇℃伅'" + slot="footer" + class="dialog-footer" + > + <el-button + size="small" + @click="cancelEdit()" + >{{ $t("common.reset") }} </el-button> <el-button size="small" type="primary" @click="sendEdit('editForm')" v-loading.fullscreen.lock="fullscreenLoading" - >{{ $t("common.submit") }} + >{{ $t("common.submit") }} </el-button> </div> - <div v-else slot="footer" class="dialog-footer"> - <el-button size="small" @click="cancelAdd('editForm')" - >{{ $t("common.reset") }} + <div + v-else + slot="footer" + class="dialog-footer" + > + <el-button + size="small" + @click="cancelAdd('editForm')" + >{{ $t("common.reset") }} </el-button> <el-button size="small" type="primary" @click="sendAdd('editForm')" v-loading.fullscreen.lock="fullscreenLoading" - >{{ $t("common.submit") }} + >{{ $t("common.submit") }} </el-button> </div> </el-dialog> @@ -529,7 +575,10 @@ align="center" ></el-table-column> </el-table> - <div style="margin-top: 10px" class="pagination_box"> + <div + style="margin-top: 10px" + class="pagination_box" + > <el-pagination @size-change="handleLoaderSizeChange" @current-change="handleLoaderCurrentChange" @@ -543,7 +592,10 @@ </div> </div> </el-dialog> - <div class="downloadBox box_div subpage_Div" v-if="showCodeBox"> + <div + class="downloadBox box_div subpage_Div" + v-if="showCodeBox" + > <h4 style="padding: 20px">{{ $t("common.passworld") }}</h4> <el-form :model="codeForm" @@ -552,14 +604,20 @@ label-width="100px" class="codeForm" > - <el-form-item :label="$t('common.passworld')" prop="password"> + <el-form-item + :label="$t('common.passworld')" + prop="password" + > <el-input type="password" v-model="codeForm.password" show-password ></el-input> </el-form-item> - <el-form-item :label="$t('common.SPassword')" prop="repassword"> + <el-form-item + :label="$t('common.SPassword')" + prop="repassword" + > <el-input type="password" v-model="codeForm.repassword" @@ -567,11 +625,17 @@ ></el-input> </el-form-item> <el-form-item> - <el-button class="primary" size="small" @click="download('codeForm')" - >{{ $t("common.confirm") }} + <el-button + class="primary" + size="small" + @click="download('codeForm')" + >{{ $t("common.confirm") }} </el-button> - <el-button type="info" size="small" @click="closeDown('codeForm')" - >{{ $t("common.cancel") }} + <el-button + type="info" + size="small" + @click="closeDown('codeForm')" + >{{ $t("common.cancel") }} </el-button> </el-form-item> </el-form> @@ -582,17 +646,30 @@ width="70%" > <div style="height: 65vh; width: 100%"> - <el-form :inline="true" :model="fromQueryMeta" class="demo-form-inline"> + <el-form + :inline="true" + :model="fromQueryMeta" + class="demo-form-inline" + > <el-form-item> - <el-input size="small" v-model="fromQueryMeta.name"></el-input> + <el-input + size="small" + v-model="fromQueryMeta.name" + ></el-input> </el-form-item> <el-form-item> - <el-button type="primary" size="small" @click="setSearchMetaData()" - >鏌ヨ + <el-button + type="primary" + size="small" + @click="setSearchMetaData()" + >鏌ヨ </el-button> - <el-button type="info" size="small" @click="setRestMetaData()" - >閲嶇疆 + <el-button + type="info" + size="small" + @click="setRestMetaData()" + >閲嶇疆 </el-button> </el-form-item> </el-form> @@ -648,7 +725,10 @@ :label="$t('dataManage.dataUpObj.tableName')" > <template slot-scope="scope"> - <a class="scopeRowColor" @click="detail(scope.row)">{{ + <a + class="scopeRowColor" + @click="detail(scope.row)" + >{{ scope.row.tab }}</a> </template> @@ -664,7 +744,10 @@ :label="$t('dataManage.dataUpObj.describe')" /> </el-table> - <div class="pagination_box" style="margin-top: 15px"> + <div + class="pagination_box" + style="margin-top: 15px" + > <el-pagination @size-change="handleMetaSizeChange" @current-change="handMetaCurrentChange" @@ -736,7 +819,10 @@ :label="$t('dataManage.dataUpObj.tableName')" > <template slot-scope="scope"> - <a class="scopeRowColor" @click="detail(scope.row)">{{ + <a + class="scopeRowColor" + @click="detail(scope.row)" + >{{ scope.row.tab }}</a> </template> @@ -762,7 +848,10 @@ width="70%" :close-on-click-modal="false" > - <div v-if="dialog.isPdf" class="pdfClass"> + <div + v-if="dialog.isPdf" + class="pdfClass" + > <iframe :src="dialog.src" type="application/x-google-chrome-pdf" @@ -771,7 +860,10 @@ > </iframe> </div> - <div v-if="dialog.isJpg" class="pdfClass"> + <div + v-if="dialog.isJpg" + class="pdfClass" + > <el-image style="width: 100%; height: 100%" :src="dialog.src" @@ -789,7 +881,11 @@ :close-on-click-modal="false" :show-close="false" > - <el-form ref="form" :model="fileFrom" label-width="100px"> + <el-form + ref="form" + :model="fileFrom" + label-width="100px" + > <el-form-item label="瀹℃牳鍗曚綅"> <div> <ul> @@ -815,16 +911,151 @@ class="primary" size="small" @click="getFileInsertApply()" - >{{ $t("common.confirm") }}</el-button - > + >{{ $t("common.confirm") }}</el-button> <el-button type="info" size="small" @click="handleInsertFileClose()" - >{{ $t("common.cancel") }}</el-button - > + >{{ $t("common.cancel") }}</el-button> </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%" + > + <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" @@ -856,6 +1087,7 @@ meta_selectMetaOverflowDep, meta_selectDepsByCodes, apply_insertApply, + meta_selectGdbByGuid, } from "../../api/api"; import MyBread from "../../components/MyBread.vue"; @@ -907,8 +1139,8 @@ dirid: "", depid: "", verid: "", - depName:"", - + depName: "", + }, behavior: "", initialForm: "", @@ -996,6 +1228,9 @@ pwd: null, depcodes: null, }, + gdbData: [], + gdbDialog: false, + gdbGuid: null, }; }, created() { @@ -1016,15 +1251,45 @@ }, watch: { "queryForm.depName"() { - + this.$refs.treeSelect.visible = false; }, "queryForm.dirid"() { - + this.$refs.treeSelect1.visible = false; }, }, 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) { @@ -1064,10 +1329,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) { @@ -1078,6 +1340,8 @@ this.metaDataTable1 = [data.result]; // this.listMetaData.count = data.count; }, + + //婧愭暟鎹煡璇� setQueryMetaData(row) { this.fromQueryMeta.title = row.name; @@ -1480,7 +1744,9 @@ showDetail(row) { // console.log(index, row); this.showinfoBox = true; + this.itemdetail = row; + }, // 鍏抽棴鏌ョ湅 closeDetial() { @@ -1506,7 +1772,7 @@ this.editForm = {}; done(); }) - .catch((_) => {}); + .catch((_) => { }); }, // 鎻愪氦淇敼 @@ -1524,7 +1790,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", @@ -1539,6 +1812,7 @@ alert("淇敼澶辫触锛岃閲嶈瘯锛�"); this.fullscreenLoading = false; }); + }, cancelEdit() { this.$nextTick(() => { @@ -1771,5 +2045,13 @@ position: relative; } } + .el-divider--horizontal { + margin: 15px 0; + } + .gdbTableBox { + width: 100%; + height: 740px; + overflow-y: auto; + } } </style> -- Gitblit v1.9.3