From 985b26624b69ad91b9e3a723c19bd4bbf1a36250 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期五, 03 三月 2023 13:03:47 +0800 Subject: [PATCH] 空间查询列表细化,工点表添加挂接信息界面 --- src/views/datamanage/SpatialData.vue | 305 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 209 insertions(+), 96 deletions(-) diff --git a/src/views/datamanage/SpatialData.vue b/src/views/datamanage/SpatialData.vue index 51325bf..d472862 100644 --- a/src/views/datamanage/SpatialData.vue +++ b/src/views/datamanage/SpatialData.vue @@ -112,7 +112,7 @@ <div class="dividing-line"></div> <div class="table_box" - style="height:calc(100% - 130px)" + style="height:calc(100% - 130px); " > <!-- border--> <!-- ref="filterTable"--> @@ -125,7 +125,7 @@ :data="tableData" style="width: 100% ;" border - height="100% " + height="100%" > <el-table-column type="selection" @@ -148,7 +148,7 @@ align="center" ></el-table-column> <el-table-column - min-width="180" + min-width="240" :label="$t('common.operate')" > <template slot-scope="scope"> @@ -162,8 +162,14 @@ plain size="small" @click="getAttachTable(scope.$index, scope.row)" - style="margin-left: 20px; " >{{$t('common.enclosure')}}</el-button> + <el-button + plain + size="small" + type="info" + v-if="matchState1(scope, /[]/)" + @click="getAttributeTable(scope.$index, scope.row)" + >{{$t('common.attribute')}}</el-button> </template> </el-table-column> </el-table> @@ -227,7 +233,7 @@ :title="$t('common.attachinform')" :visible.sync="dialogFormVisible" > - <div style="height: 500px; overflow: auto"> + <div style="height:68vh"> <el-form :model="formInline" class="demo-form-inline" @@ -274,57 +280,49 @@ <!-- <el-col :span="3"> <el-link class="elLink" :underline="false" >{{$t('common.reset')}}</i></el-link></el-col> --> </el-row> </el-form-item> - <el-form-item> - <el-table - :data="tableAttach" - ref="filterTable" - height="calc(100% - 100px)" - border - style="width: 100%" - @selection-change="handleAttatchChange" - > - <el-table-column - type="selection" - width="55" - /> - <el-table-column - width="60" - type="index" - :label="$t('common.index')" - /> - <el-table-column - prop="date" - :label="$t('common.fileNme')" - /> - - <el-table-column - prop="name" - :label="$t('common.filePath')" - /> - - </el-table> - </el-form-item> - <!-- <el-form-item> - - <el-row :gutter="20"> - <el-col - :span="12" - :offset="8" - > - <el-button - type="primary" - size="small" - @click="dialogFormVisible = false" - >纭</el-button> - <el-button - type="info" - size="small" - @click="dialogFormVisible = false" - >鍙栨秷</el-button> - </el-col> - </el-row> - </el-form-item> --> </el-form> + <el-table + :data="tableAttach" + ref="filterTable" + height="calc(100% - 130px)" + border + style="width: 100%" + @selection-change="handleAttatchChange" + > + <el-table-column + type="selection" + width="70" + /> + <el-table-column + width="60" + type="index" + :label="$t('common.index')" + /> + <el-table-column + prop="name" + :label="$t('common.fileNme')" + /> + + <el-table-column + prop="sizes" + :label="$t('common.size')" + :formatter="statSizeChange" + /> + <el-table-column + align="center" + :label="$t('common.operate')" + min-width="100" + > + <template slot-scope="scope"> + <el-link + v-if="matchState(scope, /[]/)" + @click="setAttatchDetail(scope.$index, scope.row)" + class="elLink" + >{{ $t('common.see') }}</el-link> + + </template> + </el-table-column> + </el-table> </div> </el-dialog> <el-dialog @@ -413,6 +411,45 @@ <map-sdk v-if='showMapVisible'></map-sdk> </div> </el-dialog> + <el-dialog + title="棰勮" + :append-to-body="false" + :visible.sync="dialog.dialogVisible" + width="70%" + :close-on-click-modal="false" + > + <div + v-if="dialog.isPdf" + class="pdfClass" + > + <iframe + :src="dialog.src" + type="application/x-google-chrome-pdf" + width="100%" + height="100%" + > + </iframe> + </div> + <div + v-if="dialog.isJpg" + class="pdfClass" + > + <img + style="width:100%; height:100%" + :src="dialog.src" + alt="" + /> + </div> + </el-dialog> + <el-dialog + :title="attribute.name" + :append-to-body="false" + :visible.sync="AttributedialogVisible" + width="70%" + :close-on-click-modal="false" + > + + </el-dialog> </div> </template> @@ -461,30 +498,6 @@ }, fromSqlflag: false, tree: [ - { - tabDesc: "鍩虹鏁版嵁", - label: "鍩虹鏁版嵁", - value: "BD", - ns: "bd", - id: 1, - children: [], - }, - { - id: 2, - tabDesc: "涓氬姟鏁版嵁", - label: "涓氬姟鏁版嵁", - value: "BS", - ns: "bs", - children: [], - }, - { - id: 3, - tabDesc: "鍏冩暟鎹�", - label: "鍏冩暟鎹�", - value: "MD", - ns: "md", - children: [], - }, ], tableAttach: [], filedsOption: [], @@ -549,6 +562,19 @@ eventid: null, }, filterText: "", + dialog: { + dialogVisible: false, + isPdf: false, + isJpg: false, + src: '' + }, + AttributedialogVisible: false, + attribute: { + name: null, + pageIndex: 1, + pageSize: 10, + count: 0, + } }; }, created() { @@ -564,6 +590,30 @@ }, methods: { + getAttributeTable(idnex, row) { + this.attribute.name = row.workname; + this.AttributedialogVisible = true; + }, + matchState1(state = "", reg) { + var row = state.row; + if ( + this.listData.name == "ssurveyworksite" + ) { + return true; + } + return false; + }, + statSizeChange(row, column) { + return this.stateFormatSizes(row.sizes) + }, + stateFormatSizes(res) { + if (res >= 1024) { + const val = parseFloat(res / 1024).toFixed(3); + return val + ' GB'; + } else { + return res + ' MB'; + } + }, filterNode(value, data) { if (!value) return true; return data.label.indexOf(value) !== -1; @@ -593,6 +643,45 @@ this.$store.state.mapPopBoolean = false; this.$store.state.mapPopBoxFlag = null; }, + + refreshAttatchDetail() { + this.dialog.src = ""; + this.dialog.dialogVisible = false; + this.dialog.isPdf = false; + this.dialog.isJpg = false; + }, + //闄勪欢鏌ョ湅 + setAttatchDetail(index, row) { + + this.refreshAttatchDetail() + var name = row.name; + if (name.indexOf('.pdf') != -1) { + this.dialog.dialogVisible = true; + this.dialog.isPdf = true; + var url = BASE_URL + "/res/downloadForView?guid=" + row.guid + "&token=" + getToken(); + this.dialog.src = url + } else if (name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) { + this.dialog.dialogVisible = true; + this.dialog.isJpg = true; + var url = BASE_URL + "/res/downloadForView?guid=" + row.guid + "&token=" + getToken(); + this.dialog.src = url + } + }, + + matchState(state = "", reg) { + var row = state.row; + var name = row.name; + + if (name) { + if (name.indexOf('.pdf') != -1 || name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) { + return true; + } + } + + return false; + }, + + async setAttachDel() { var std = []; for (var i in this.attacgSelection) { @@ -689,26 +778,43 @@ if (data.code != 200) { this.$message.error("鍒楄〃璋冪敤澶辫触"); } - var option = data.result; + var val = data.result; - for (var i in option) { - var val_Data = option[i]; - val_Data.id = "1" + i; - // val_Data.label = val_Data.tabDesc + "(" + val_Data.tab + ")" - val_Data.label = val_Data.tabDesc; - option[i].id = parseInt(option[i].id); - for (var j in this.tree) { - if (this.tree[j].ns == option[i].ns) { - this.tree[j].children.push(val_Data); - } + // for (var i in option) { + // var val_Data = option[i]; + // val_Data.id = "1" + i; + // // val_Data.label = val_Data.tabDesc + "(" + val_Data.tab + ")" + // val_Data.label = val_Data.tabDesc; + // option[i].id = parseInt(option[i].id); + // for (var j in this.tree) { + // if (this.tree[j].ns == option[i].ns) { + // this.tree[j].children.push(val_Data); + // } + // } + + // } + var std = []; + val.filter((item) => { + if (std.indexOf(item.bak) == -1) { + std.push(item.bak); + this.tree.push( + { + val: item.bak, + label: item.tabDesc, + children: [], + } + ) } - // if (option[i].ns == 'bd') { + }); - // this.tree[0].children.push(val_Data); - // } else { - // this.tree[1].children.push(val_Data); - // } - } + this.tree.filter((item) => { + val.filter((res) => { + if (item.val === res.bak) { + res.label = res.tabDesc + item.children.push(res) + } + }) + }) this.handleNodeClick(this.tree[0].children[0]); }, //鎺堟潈绠$悊 @@ -725,10 +831,12 @@ handleNodeClick(data) { //鍒ゆ柇鐐瑰嚮鏄惁涓哄瓙鑺傜偣 if (data.children != null) return; + this.listData.name = data.entity; //瑕佹煡璇㈣〃鏍肩被鍨嬶紱 this.getClickTable = data; this.listData.pageIndex = 1; this.listData.pageSize = 10; + this.count = 0; this.upAttach.tabName = data.ns + "." + data.tab; this.filedsLayer = this.getCollapseDomFiled(); //鑾峰彇姣忎釜琛ㄥ瓧娈靛悕绉板強闃堝�� @@ -1205,6 +1313,11 @@ border: 1px solid #dcdfe6; } } + .pdfClass { + height: 70vh; + width: 100%; + position: relative; + } } .table_box2 { -- Gitblit v1.9.3