From 035ae011994018a6ab7774836d31e49dcd362f57 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期一, 12 六月 2023 15:54:12 +0800 Subject: [PATCH] 发布管理,添加模型发布类型;发布管理界面优化;目录管理上传文件改为上传目录,目录下载改为文件夹下载,默认选中最后一个菜单节点;钻孔柱状图效果修改;矢量数据入库修改 --- src/views/datamanage/metadataManage.vue | 19 + src/views/datamanage/uploadmanage.vue | 876 ++++++++++++++++++++++++++++++++++---------------- src/views/datamanage/dataUpdata.vue | 19 + src/components/chart/CountDataApply.vue | 7 /dev/null | 0 src/assets/lang/zh.js | 4 public/config/config.js | 2 public/工程项目-目录管理模V20230413.xlsx | 0 src/views/datamanage/catalogueManage.vue | 6 src/assets/lang/en.js | 3 src/views/Archive/dataApplication.vue | 2 src/components/MapView/mapSpacePop.vue | 4 src/views/datamanage/dataStatistics.vue | 63 ++- src/views/Tools/AddOnlineMap.vue | 2 14 files changed, 693 insertions(+), 314 deletions(-) diff --git a/public/config/config.js b/public/config/config.js index 0f63f43..6ac1edf 100644 --- a/public/config/config.js +++ b/public/config/config.js @@ -59,7 +59,7 @@ ns: 'bs', }, ] -var dirTemplateFile = '宸ョ▼椤圭洰-鐩綍绠$悊妯2023030901.xlsx' +var dirTemplateFile = '宸ョ▼椤圭洰-鐩綍绠$悊妯20230413.xlsx' var gaoDeBaseUrl = [{ url: 'http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}', label: '楂樺痉鐭㈤噺', diff --git "a/public/\345\267\245\347\250\213\351\241\271\347\233\256-\347\233\256\345\275\225\347\256\241\347\220\206\346\250\241V2023030901.xlsx" "b/public/\345\267\245\347\250\213\351\241\271\347\233\256-\347\233\256\345\275\225\347\256\241\347\220\206\346\250\241V2023030901.xlsx" deleted file mode 100644 index 51cf46c..0000000 --- "a/public/\345\267\245\347\250\213\351\241\271\347\233\256-\347\233\256\345\275\225\347\256\241\347\220\206\346\250\241V2023030901.xlsx" +++ /dev/null Binary files differ diff --git "a/public/\345\267\245\347\250\213\351\241\271\347\233\256-\347\233\256\345\275\225\347\256\241\347\220\206\346\250\241V20230413.xlsx" "b/public/\345\267\245\347\250\213\351\241\271\347\233\256-\347\233\256\345\275\225\347\256\241\347\220\206\346\250\241V20230413.xlsx" new file mode 100644 index 0000000..854ffc0 --- /dev/null +++ "b/public/\345\267\245\347\250\213\351\241\271\347\233\256-\347\233\256\345\275\225\347\256\241\347\220\206\346\250\241V20230413.xlsx" Binary files differ diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js index 3df1643..6fec354 100644 --- a/src/assets/lang/en.js +++ b/src/assets/lang/en.js @@ -3,6 +3,7 @@ preview: 'preview', publish: "Publish", releaseTime: 'Release time', + publishStatus: 'Publish Status', rublisher: 'Publisher', publishAddress: 'Publishing address', increase: 'increase', @@ -944,6 +945,8 @@ }, butten: { directoryDownload: 'Directory Download', + folderDownload: 'Folder Download', + uploads: 'uploads', templateDownload: "Template download", uploadFile: "Upload File", NewPeer: "New Peer", diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js index cdeb20f..0d2d184 100644 --- a/src/assets/lang/zh.js +++ b/src/assets/lang/zh.js @@ -1,8 +1,10 @@ const zh = { common: { + dataStatus: '鏁版嵁鐘舵��', preview: '棰勮', publish: "鍙戝竷", releaseTime: '鍙戝竷鏃堕棿', + publishStatus: '鍙戝竷鐘舵��', rublisher: '鍙戝竷浜哄憳', publishAddress: '鍙戝竷鍦板潃', increase: '娣诲姞', @@ -957,6 +959,8 @@ }, butten: { directoryDownload: '鐩綍涓嬭浇', + folderDownload: '鏂囦欢澶逛笅杞�', + uploads: '涓婁紶鐩綍', templateDownload: "妯℃澘涓嬭浇", uploadFile: "涓婁紶鏂囦欢", NewPeer: "鏂板鍚岀骇", diff --git a/src/components/MapView/mapSpacePop.vue b/src/components/MapView/mapSpacePop.vue index 042b5b3..6581e42 100644 --- a/src/components/MapView/mapSpacePop.vue +++ b/src/components/MapView/mapSpacePop.vue @@ -930,8 +930,8 @@ tag: 'Histogram', properties: std[i], ellipse: { - semiMinorAxis: 1.0, //鐭酱 - semiMajorAxis: 1.0, //闀胯酱 + semiMinorAxis: 2.0, //鐭酱 + semiMajorAxis: 2.0, //闀胯酱 height: height, //鎷変几楂樺害 elev gwaterdep extrudedHeight: num, //绂诲湴楂樺害 rotation: Cesium.Math.toRadians(0), //鏃嬭浆 diff --git a/src/components/chart/CountDataApply.vue b/src/components/chart/CountDataApply.vue index 0728704..1930ef1 100644 --- a/src/components/chart/CountDataApply.vue +++ b/src/components/chart/CountDataApply.vue @@ -1,5 +1,8 @@ <template> - <div class="CountDataApply" ref="chart"></div> + <div + class="CountDataApply" + ref="chart" + ></div> </template> <script> @@ -63,7 +66,7 @@ }, //鍧愭爣鍊兼爣娉� axisLabel: { - show: true, + show: false, textStyle: { color: "#fff", }, diff --git a/src/views/Archive/dataApplication.vue b/src/views/Archive/dataApplication.vue index 052da36..c22bf25 100644 --- a/src/views/Archive/dataApplication.vue +++ b/src/views/Archive/dataApplication.vue @@ -411,7 +411,7 @@ if (data.code != 200) { return this.$message.error("鍒楄〃璋冪敤澶辫触"); } - debugger + this.detailsFrom.tableData = data.result; this.detailsFrom.tabs = row.tabs; this.detailsFrom.uname = row.uname; diff --git a/src/views/Tools/AddOnlineMap.vue b/src/views/Tools/AddOnlineMap.vue index 3829134..c5a2635 100644 --- a/src/views/Tools/AddOnlineMap.vue +++ b/src/views/Tools/AddOnlineMap.vue @@ -290,7 +290,7 @@ format: "image/jpeg", tileMatrixSetID: "GoogleMapsCompatible", })) - debugger + window.olBaseMapLayer = new TileLayer({ title: "楂樺痉鍦板浘", source: new XYZ({ diff --git a/src/views/datamanage/catalogueManage.vue b/src/views/datamanage/catalogueManage.vue index b591f71..77f16aa 100644 --- a/src/views/datamanage/catalogueManage.vue +++ b/src/views/datamanage/catalogueManage.vue @@ -53,7 +53,7 @@ type="info" size="small" @click="setDirectoryDownload" - >{{ $t("shuJuGuanLi.butten.directoryDownload") }}</el-button> + >{{ $t("shuJuGuanLi.butten.folderDownload") }}</el-button> </el-form-item> <el-form-item> @@ -77,7 +77,7 @@ type="success" icon="el-icon-plus" size="small" - >{{ $t("shuJuGuanLi.butten.uploadFile") }}</el-button> + >{{ $t("shuJuGuanLi.butten.uploads") }}</el-button> </el-upload> </el-form-item> <el-form-item> @@ -713,7 +713,7 @@ var rs = JSON.parse(this.currentData); cdata = this.$refs.tree.getNode(rs.id).data; } else { - cdata = this.dirList[0] + cdata = this.dirList[this.dirList.length - 1] } this.$nextTick(() => { this.expandData = [cdata.id]; diff --git a/src/views/datamanage/dataStatistics.vue b/src/views/datamanage/dataStatistics.vue index 69757b6..bbf3498 100644 --- a/src/views/datamanage/dataStatistics.vue +++ b/src/views/datamanage/dataStatistics.vue @@ -1,14 +1,15 @@ <template> <div class="dataStatistics"> - <My-bread - :list="[ + <My-bread :list="[ `${$t('dataManage.dataManage')}`, `${$t('dataManage.dataStatistics')}`, - ]" - ></My-bread> + ]"></My-bread> <el-divider /> <div class="contentBox"> - <div class="content_Left subpage_Div" style="border: 1px solid #dcdfe6;"> + <div + class="content_Left subpage_Div" + style="border: 1px solid #dcdfe6;" + > <el-tree :data="treeData" @node-click="handleNodeClick" @@ -19,34 +20,40 @@ > </el-tree> </div> - <div class="content_Right subpage_Div" style="border: 1px solid #dcdfe6;"> - <div class="iquery subpage_Div" style="padding-bottom: 14px"> + <div + class="content_Right subpage_Div" + style="border: 1px solid #dcdfe6;" + > + <div + class="iquery subpage_Div" + style="padding-bottom: 14px" + > <div> <el-button icon="el-icon-c-scale-to-original" size="small" type="warning" @click="setCountFlagChange(1)" - >{{ $t("shuJuGuanLi.butten.Report") }}</el-button - > + >{{ $t("shuJuGuanLi.butten.Report") }}</el-button> <el-button icon="el-icon-pie-chart" size="small" type="primary" @click="setCountFlagChange(2)" - >{{ $t("shuJuGuanLi.butten.Histogram") }}</el-button - > + >{{ $t("shuJuGuanLi.butten.Histogram") }}</el-button> <el-button icon="el-icon-download" size="small" type="success" @click="setCountFlagChange(3)" - >{{ $t("shuJuGuanLi.butten.Download") }}</el-button - > + >{{ $t("shuJuGuanLi.butten.Download") }}</el-button> </div> </div> <div class="dividing-line"></div> - <div class="contentTable subpage_Div" v-show="setCountFlag"> + <div + class="contentTable subpage_Div" + v-show="setCountFlag" + > <el-table :data="tableData" style="width: 100%" @@ -167,9 +174,15 @@ :formatter="showFormat" > </el-table-column> - <el-table-column width="120" :label="$t('common.operate')"> + <el-table-column + width="120" + :label="$t('common.operate')" + > <template slot-scope="scope"> - <el-button @click="setDownLoadRow(scope.row)" size="small"> + <el-button + @click="setDownLoadRow(scope.row)" + size="small" + > {{ $t("common.download") }} </el-button> </template> @@ -278,7 +291,7 @@ this.closeDownLoadFlag(); done(); }) - .catch((_) => {}); + .catch((_) => { }); }, closeDownLoadFlag() { this.showDownLoadFlag = false; @@ -300,6 +313,7 @@ } }, async getQueryDownloadData() { + this.modelData = []; this.listData = { pageIndex: 1, pageSize: 10, @@ -436,7 +450,7 @@ startValue: dataAxis[Math.max(params.dataIndex - zoomSize / 2, 0)], endValue: dataAxis[ - Math.min(params.dataIndex + zoomSize / 2, data.length - 1) + Math.min(params.dataIndex + zoomSize / 2, data.length - 1) ], }); }); @@ -468,9 +482,10 @@ }, //鏌ヨ缁熻淇℃伅 async setQueryCountData() { - var data; + var data, val; if (this.queryData.value == "countServices") { data = await dataCount_selectCountServices(); + } else if (this.queryData.value == "countSizes") { data = await dataCount_selectCountSizes(); } else if (this.queryData.value == "countOperates") { @@ -485,6 +500,16 @@ data.result[i].count = data.result[i].sizes; } } + + if (this.queryData.value == "countOperates") { + for (var i in data.result) { + if (data.result[i].m2) { + data.result[i].m1 = data.result[i].m1 + '\\' + data.result[i].m2 + } + + } + } + this.tableData = data.result; this.$nextTick(() => { this.$refs.table.doLayout(); diff --git a/src/views/datamanage/dataUpdata.vue b/src/views/datamanage/dataUpdata.vue index 7d394db..f86fcf6 100644 --- a/src/views/datamanage/dataUpdata.vue +++ b/src/views/datamanage/dataUpdata.vue @@ -610,6 +610,14 @@ /> <el-table-column align="center" + :label="$t('common.dataStatus')" + :formatter="stateFormat" + > + + </el-table-column> + <el-table-column + align=" + center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> @@ -1690,7 +1698,16 @@ }, watch: {}, methods: { - + 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 '宸蹭笂浼�' + } + }, setRestMetaData() { this.fromQueryMeta.name = ""; this.listMetaData.name = this.fromQueryMeta.name; diff --git a/src/views/datamanage/metadataManage.vue b/src/views/datamanage/metadataManage.vue index 5713039..76dacfb 100644 --- a/src/views/datamanage/metadataManage.vue +++ b/src/views/datamanage/metadataManage.vue @@ -290,6 +290,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')" @@ -1137,6 +1144,16 @@ }, }, methods: { + 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) { @@ -1592,7 +1609,7 @@ showDetail(row) { // console.log(index, row); this.showinfoBox = true; - debugger + this.itemdetail = row; }, diff --git a/src/views/datamanage/uploadmanage.vue b/src/views/datamanage/uploadmanage.vue index c3d77b8..19342e3 100644 --- a/src/views/datamanage/uploadmanage.vue +++ b/src/views/datamanage/uploadmanage.vue @@ -8,230 +8,351 @@ <el-divider /> <!-- tabs鍒囨崲 --> <div class="tabs_box"> - <div class="tabs_pane" - @click="setTabsChange(1)"> - <div class="tabsSpan" - :class="{ changetabs : active == 'first'}"> + <div + class="tabs_pane" + @click="setTabsChange(1)" + > + <div + class="tabsSpan" + :class="{ changetabs : active == 'first'}" + > <span> {{$t('dataManage.uploadObj.dataRelease')}}</span> </div> </div> - <div class="tabs_pane" - @click="setTabsChange(2)"> - <div class="tabsSpan" - :class="{ changetabs : active == 'second'}"> + <div + class="tabs_pane" + @click="setTabsChange(2)" + > + <div + class="tabsSpan" + :class="{ changetabs : active == 'second'}" + > <span> {{$t('dataManage.uploadObj.releaseList')}}</span> </div> </div> - <div class="tabs_pane" - @click="setTabsChange(3)"> - <div class="tabsSpan" - :class="{ changetabs : active == 'third'}"> + <div + class="tabs_pane" + @click="setTabsChange(3)" + > + <div + class="tabsSpan" + :class="{ changetabs : active == 'third'}" + > <span> {{$t('dataManage.uploadObj.modelAttachMount')}}</span> </div> </div> </div> - <div v-if="active != 'third'" - class="content_box"> - <el-form :inline="true" - :model="formInline" - class="demo-form-inline"> + <div + v-if="active != 'third'" + class="content_box" + > + <el-form + :inline="true" + :model="formInline" + class="demo-form-inline" + > <!-- 鍗曚綅 --> <el-form-item v-if="active == 'first'"> - <el-select size="small" - v-model="formInline.depid"> - <el-option :value="formInline.depid" - :label="formInline.depName" - style="height: auto"> - <el-tree ref="tree" - :data="depOption" - node-key="id" - :props="defaultProps" - @node-click="handleDepChange" /> + <el-select + size="small" + v-model="formInline.depid" + > + <el-option + :value="formInline.depid" + :label="formInline.depName" + style="height: auto" + > + <el-tree + ref="tree" + :data="depOption" + node-key="id" + :props="defaultProps" + @node-click="handleDepChange" + /> </el-option> </el-select> </el-form-item> <!-- 鐩綍 --> <el-form-item v-if="active == 'first'"> - <el-select size="small" - v-model="formInline.dirid"> - <el-option :value="formInline.dirid" - :label="formInline.dirName" - style="height: auto"> - <el-tree ref="tree" - :data="dirOption" - node-key="id" - :props="defaultProps" - @node-click="handleDirChange" /> + <el-select + size="small" + v-model="formInline.dirid" + > + <el-option + :value="formInline.dirid" + :label="formInline.dirName" + style="height: auto" + > + <el-tree + ref="tree" + :data="dirOption" + node-key="id" + :props="defaultProps" + @node-click="handleDirChange" + /> </el-option> </el-select> </el-form-item> <!-- 鐗堟湰 --> <el-form-item v-if="active == 'first'"> - <el-select size="small" - v-model="formInline.verid" - @change="handleVerChange"> <el-option v-for="item in verOption" - :key="item.id" - :label="item.name" - :value="item.id"> + <el-select + size="small" + v-model="formInline.verid" + @change="handleVerChange" + > <el-option + v-for="item in verOption" + :key="item.id" + :label="item.name" + :value="item.id" + > </el-option> </el-select> </el-form-item> <!-- 绫诲瀷 --> <el-form-item v-if="active == 'first'"> - <el-select size="small" - v-model="formInline.type" - @change="handleTypeChange"> - <el-option v-for="item in typeOption" - :key="item.value" - :label="item.label" - :value="item.value"> + <el-select + size="small" + v-model="formInline.type" + @change="handleTypeChange" + > + <el-option + v-for="item in typeOption" + :key="item.value" + :label="item.label" + :value="item.value" + > </el-option> </el-select> </el-form-item> <el-form-item> - <el-input size="small" - :title="$t('dataManage.vmobj.keyword')" - v-model="formInline.name" - :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuedataName')"> <i @click="getTableData" - :title="$t('common.iquery')" - slot="suffix" - class="el-icon-search" - style="padding-right: 8px"></i></el-input> + <el-input + size="small" + :title="$t('dataManage.vmobj.keyword')" + v-model="formInline.name" + :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuedataName')" + > <i + @click="getTableData" + :title="$t('common.iquery')" + slot="suffix" + class="el-icon-search" + style="padding-right: 8px" + ></i></el-input> </el-form-item> <el-form-item style="float:right"> <!-- 鍙戝竷 --> - <el-button v-if="active == 'first'" - type="success" - size="small" - icon="el-icon-s-promotion" - @click="setPagePublish">{{$t('common.publish')}}</el-button> + <el-button + v-if="active == 'first'" + type="success" + size="small" + icon="el-icon-s-promotion" + @click="setPagePublish" + >{{$t('common.publish')}}</el-button> <!-- 鍒櫎 --> - <el-button v-if="active == 'second'" - type="danger" - size="small" - icon="el-icon-delete" - @click="setPageDelete">{{$t('common.delete')}}</el-button> + <el-button + v-if="active == 'second'" + type="danger" + size="small" + icon="el-icon-delete" + @click="setPageDelete" + >{{$t('common.delete')}}</el-button> <!-- 閲嶇疆 --> - <el-button type="info" - size="small" - @click="setPageStart" - icon="el-icon-refresh">{{$t('common.reset')}}</el-button> + <el-button + type="info" + size="small" + @click="setPageStart" + icon="el-icon-refresh" + >{{$t('common.reset')}}</el-button> </el-form-item> </el-form> <div class="dividing-line"></div> <div class="table_box content_Table"> - <el-table :data="tableData" - style="width: 100%" - @selection-change="handleSelectionChange" - @cell-dblclick="copyText" - height="calc(100% - 1px)"> - <el-table-column type="selection" - width="55" /> - <el-table-column :label="$t('dataManage.dictionaryManageObj.number')" - type="index" - width="50" - align="center"> + <el-table + :data="tableData" + style="width: 100%" + @selection-change="handleSelectionChange" + @cell-dblclick="copyText" + height="calc(100% - 1px)" + ref="tableBox" + > + <el-table-column + type="selection" + width="55" + key="1" + /> + <el-table-column + :label="$t('dataManage.dictionaryManageObj.number')" + type="index" + width="50" + align="center" + key="2" + > </el-table-column> - <el-table-column prop="name" - :label="$t('dataManage.vmobj.name')" - align="center" /> - <el-table-column prop="type" - :label="$t('dataManage.vmobj.format')" - align="center" /> - <el-table-column v-if="active == 'first'" - prop="sizes" - :label="$t('dataManage.vmobj.size')" - :formatter="stateFormatSizes" - align="center" /> - <el-table-column prop="depName" - :label="$t('dataManage.vmobj.depName')" - align="center" /> - <el-table-column prop="dirName" - :label="$t('dataManage.vmobj.dirName')" - width="200" - align="center" /> - <el-table-column prop="verName" - :label="$t('dataManage.vmobj.versionNumber')" - align="center" /> - <el-table-column prop="url" - :label="$t('common.publishAddress')" - align="center" /> - <el-table-column v-if="active == 'first'" - prop="uname" - :label="$t('common.rublisher')" - align="center" - :key="Math.random()" /> - <el-table-column v-if="active != 'first'" - prop="createName" - :label="$t('common.rublisher')" - align="center" - :key="Math.random()" /> - <el-table-column prop="createTime" - :label="$t('common.releaseTime')" - align="center" /> - - <el-table-column min-width="150" - :label="$t('common.operate')"> + <el-table-column + prop="name" + :label="$t('dataManage.vmobj.name')" + align="center" + key="3" + /> + <el-table-column + prop="type" + :label="$t('dataManage.vmobj.format')" + align="center" + key="4" + /> + <el-table-column + v-if="active == 'first'" + prop="sizes" + :label="$t('dataManage.vmobj.size')" + :formatter="stateFormatSizes" + align="center" + key="5" + /> + <el-table-column + prop="depName" + :label="$t('dataManage.vmobj.depName')" + align="center" + key="6" + /> + <el-table-column + prop="dirName" + :label="$t('dataManage.vmobj.dirName')" + width="200" + align="center" + key="7" + /> + <el-table-column + prop="verName" + :label="$t('dataManage.vmobj.versionNumber')" + align="center" + key="8" + /> + <el-table-column + prop="url" + :label="$t('common.publishAddress')" + align="center" + key="9" + /> + <el-table-column + v-if="active == 'first'" + prop="uname" + :label="$t('common.rublisher')" + align="center" + key="10" + /> + <el-table-column + v-if="active != 'first'" + prop="createName" + :label="$t('common.rublisher')" + align="center" + key="11" + /> + <el-table-column + prop="createTime" + :label="$t('common.releaseTime')" + align="center" + key="12" + /> + <el-table-column + v-if="active == 'first'" + prop="createTime" + :label="$t('common.publishStatus')" + align="center" + key="13" + > <template slot-scope="scope"> - <el-button v-if="active == 'second'" - size="small" - type="info" - plain - @click="setPreviewDetails(scope.row)">{{$t('common.details')}} + <span v-if="scope.row.url ">宸插彂甯�</span> + + </template> + </el-table-column> + <el-table-column + min-width="150" + :label="$t('common.operate')" + v-if="active == 'second'" + > + <template slot-scope="scope"> + <el-button + v-if="active == 'second'" + size="small" + type="info" + plain + @click="setPreviewDetails(scope.row)" + >{{$t('common.details')}} </el-button> - <el-button v-if="active == 'second'" - size="small" - type="warning" - plain - @click="setPreviewEdit(scope.row)">{{$t('common.update')}} + <el-button + v-if="active == 'second'" + size="small" + type="warning" + plain + @click="setPreviewEdit(scope.row)" + >{{$t('common.update')}} </el-button> - <el-button v-if="scope.row.url" - size="small" - type="success" - plain - @click="setPreviewLayer(scope.row)">{{$t('common.preview')}} + <el-button + v-if="scope.row.url && active == 'second'" + size="small" + type="success" + plain + @click="setPreviewLayer(scope.row)" + >{{$t('common.preview')}} + + </el-button> + <el-button + v-if="scope.row.url && active == 'first'" + size="small" + type="success" + plain + >宸插彂甯� </el-button> </template> </el-table-column> </el-table> </div> - <div class="pagination_box" - style="margin-top: 10px"> - <el-pagination @size-change="handleSizeChange" - @current-change="handleCurrentChange" - :current-page="listData.pageIndex" - :page-sizes="showPageSize" - :page-size="listData.pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="listData.count"> + <div + class="pagination_box" + style="margin-top: 10px" + > + <el-pagination + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="listData.pageIndex" + :page-sizes="showPageSize" + :page-size="listData.pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="listData.count" + > </el-pagination> </div> </div> - <div v-if="active == 'third'" - class="content_box"> + <div + v-if="active == 'third'" + class="content_box" + > <mapview v-if="active == 'third'"></mapview> </div> <!-- 鍦板潃棰勮 --> - <el-dialog :title="$t('common.preview')" - :class="isFullscreen ? '' : 'dialogClass_his'" - custom-class="handleDialogClass" - width="73.4%" - :fullscreen="isFullscreen" - v-if="dialogVisible" - :visible.sync="dialogVisible" - :show-close="false" - :close-on-click-modal="false" - :close-on-press-escape="false"> - <dialog-header slot="title" - :dialog-tittle="$t('common.preview')" - :fullscreen="isFullscreen" - @handle-closed="handleClose" - @is-fullscreen="onFullscreen"></dialog-header> + <el-dialog + :title="$t('common.preview')" + :class="isFullscreen ? '' : 'dialogClass_his'" + custom-class="handleDialogClass" + width="73.4%" + :fullscreen="isFullscreen" + v-if="dialogVisible" + :visible.sync="dialogVisible" + :show-close="false" + :close-on-click-modal="false" + :close-on-press-escape="false" + > + <dialog-header + slot="title" + :dialog-tittle="$t('common.preview')" + :fullscreen="isFullscreen" + @handle-closed="handleClose" + @is-fullscreen="onFullscreen" + ></dialog-header> <div :class="{'fullscreen1':isFullscreen}"> <mapview v-if="showMapView"></mapview> </div> @@ -251,57 +372,75 @@ id="MapDiv" style="background:red;widht:100%;height:calc(100% - 10px)" ></div> - <!-- + </el-dialog> --> <!-- 淇敼鏁版嵁 --> - <el-dialog :title="$t('common.update')" - :visible.sync="editDialogVisible" - width="50%" - :show-close="false" - :close-on-click-modal="false"> + <el-dialog + :title="$t('common.update')" + :visible.sync="editDialogVisible" + width="50%" + :show-close="false" + :close-on-click-modal="false" + > <div style="width:100%;height:50vh"> - <el-form ref="form" - :model="editLayer" - label-width="150px"> + <el-form + ref="form" + :model="editLayer" + label-width="150px" + > <el-form-item :label="$t('dataManage.vmobj.name')"> <el-input v-model="editLayer.name"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.vmobj.format')"> - <el-input disabled - v-model="editLayer.type"></el-input> + <el-input + disabled + v-model="editLayer.type" + ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.vmobj.depName')"> - <el-input disabled - v-model="editLayer.depName"></el-input> + <el-input + disabled + v-model="editLayer.depName" + ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.vmobj.dirName')"> - <el-input disabled - v-model="editLayer.dirName"></el-input> + <el-input + disabled + v-model="editLayer.dirName" + ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.vmobj.versionNumber')"> - <el-input disabled - v-model="editLayer.verName"></el-input> + <el-input + disabled + v-model="editLayer.verName" + ></el-input> </el-form-item> <el-form-item :label="$t('common.publishAddress')"> <el-input v-model="editLayer.url"></el-input> </el-form-item> <el-form-item> - <el-button size="small" - type="primary" - @click="setEditLayerSubmit">{{$t('common.submit')}}</el-button> - <el-button size="small" - type="info" - @click="setEditLayerCancle">{{$t('common.cancel')}}</el-button> + <el-button + size="small" + type="primary" + @click="setEditLayerSubmit" + >{{$t('common.submit')}}</el-button> + <el-button + size="small" + type="info" + @click="setEditLayerCancle" + >{{$t('common.cancel')}}</el-button> </el-form-item> </el-form> </div> </el-dialog> <!-- 鏁版嵁璇︽儏 --> - <el-dialog :title="$t('common.details')" - :visible.sync="detailsDialogVisible" - width="50%" - :close-on-click-modal="false"> + <el-dialog + :title="$t('common.details')" + :visible.sync="detailsDialogVisible" + width="50%" + :close-on-click-modal="false" + > <div style="width:100%;height:50vh"> <p>{{ $t("dataManage.vmobj.name") }}锛歿{ itemdetail.name }}</p> <el-divider></el-divider> @@ -326,89 +465,183 @@ </div> </el-dialog> <!-- 鍙戝竷 --> - <el-dialog :title="$t('common.publish')" - :visible.sync="insertDialogVisible" - width="40%" - :close-on-click-modal="false" - :show-close="false"> + <el-dialog + :title="$t('common.publish')" + :visible.sync="insertDialogVisible" + width="40%" + :close-on-click-modal="false" + :show-close="false" + > <div style="width:100%; "> - <el-form ref="form" - :model="insertLayer" - label-width="150px"> + <el-form + ref="form" + :model="insertLayer" + label-width="150px" + > <el-form-item :label="$t('dataManage.vmobj.name')"> - <el-input v-model="insertLayer.name" - :placeholder="$t('dataManage.vmobj.name')"></el-input> + <el-input + v-model="insertLayer.name" + :placeholder="$t('dataManage.vmobj.name')" + ></el-input> </el-form-item> <el-form-item :label="$t('dataManage.vmobj.numberFiles')"> - <el-input disabled - v-model="insertLayer.number"></el-input> + <el-input + disabled + v-model="insertLayer.number" + ></el-input> </el-form-item> - <el-form-item :label="$t('dataManage.vmobj.labe14')" - v-show="formInline.type =='DOM'"> - <el-select style="width:100%" - v-model="insertLayer.noData"> - <el-option label="榛戣壊" - value="0"></el-option> - <el-option label="鐧借壊" - value="255"></el-option> + <el-form-item + :label="$t('dataManage.vmobj.labe14')" + v-show="formInline.type =='DOM'" + > + <el-select + style="width:100%" + v-model="insertLayer.noData" + > + <el-option + label="榛戣壊" + value="0" + ></el-option> + <el-option + label="鐧借壊" + value="255" + ></el-option> </el-select> </el-form-item> - <el-form-item v-show="formInline.type !='DEM'" - :label="$t('dataManage.vmobj.minLevel')"> + <el-form-item + v-show="formInline.type !='DEM'" + :label="$t('dataManage.vmobj.minLevel')" + > <!-- <el-input v-model="insertLayer.min" :placeholder="$t('dataManage.vmobj.labe11')" ></el-input> --> - <el-select style="width:100%" - v-model="insertLayer.min" - :placeholder="$t('dataManage.vmobj.labe11')"> - <el-option v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> + <el-select + style="width:100%" + v-model="insertLayer.min" + :placeholder="$t('dataManage.vmobj.labe11')" + > + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value" + > </el-option> </el-select> </el-form-item> - <el-form-item :label="$t('dataManage.vmobj.maxLevel')" - v-show="formInline.type !='DEM'"> + <el-form-item + :label="$t('dataManage.vmobj.maxLevel')" + v-show="formInline.type !='DEM'" + > <!-- <el-input v-model="insertLayer.max" :placeholder="$t('dataManage.vmobj.labe12')" ></el-input> --> - <el-select style="width:100%" - v-model="insertLayer.max" - :placeholder="$t('dataManage.vmobj.labe12')"> - <el-option v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> + <el-select + style="width:100%" + v-model="insertLayer.max" + :placeholder="$t('dataManage.vmobj.labe12')" + > + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value" + > </el-option> </el-select> </el-form-item> <el-form-item> - <el-button size="small" - type="primary" - @click="setinsertLayerSubmit()">{{$t('common.submit')}}</el-button> - <el-button size="small" - type="info" - @click="setinsertLayerCancel()">{{$t('common.cancel')}}</el-button> + <el-button + size="small" + type="primary" + @click="setinsertLayerSubmit()" + >{{$t('common.submit')}}</el-button> + <el-button + size="small" + type="info" + @click="setinsertLayerCancel()" + >{{$t('common.cancel')}}</el-button> </el-form-item> </el-form> </div> </el-dialog> + <!--妯″瀷鍙戝竷 --> + <el-dialog + :title="$t('common.publish')" + :visible.sync="insertModelVisible" + width="25%" + :close-on-click-modal="false" + :show-close="false" + > + <div style="width:100%; "> - <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 + v-for="item in modelOptions" + style="margin: 5px;" + > + <el-row :gutter="20"> + <el-col :span="10"> + <div style="height: 64px; display: flex; align-items: center;"> + {{ item.name }} + </div> + </el-col> + <el-col :span="10"> + <div style="height: 64px; display: flex; align-items: center;"> + + <el-select + size="small" + v-model="item.isModel" + placeholder="璇烽�夋嫨鏁版嵁绫诲瀷" + > + <el-option + label="鍗曚綋妯″瀷" + value="1" + ></el-option> + <el-option + label="鍊炬枩妯″瀷" + value="0" + >鍊炬枩妯″瀷</el-option> + </el-select> + + </div> + </el-col> + </el-row> + </div> + <div style="display: flex; justify-content: end;margin-top:10px;"> + <el-button + size="small" + type="primary" + @click="setModelInsert" + >{{$t('common.submit')}}</el-button> + <el-button + size="small" + type="info" + @click="setModelCanel" + >{{$t('common.cancel')}}</el-button> </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); "> + </el-dialog> + + <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> @@ -437,7 +670,7 @@ MyBread, mapview, 'dialog-header': dialogHeader, }, - data () { + data() { return { active: 'first', formInline: { @@ -459,6 +692,7 @@ depOption: [], dirOption: [], verOption: [], + modelOptions: [], typeOption: [{ value: 'DOM', label: '褰卞儚鏁版嵁(.tif, .img)' @@ -494,14 +728,72 @@ detailsDialogVisible: false, itemdetail: {}, insertDialogVisible: false, + insertModelVisible: false, insertLayer: { name: '', number: null, min: 4, max: 18, noData: '0' }, loadDialogVisible: false, options: [], isFullscreen: false, + } }, methods: { - copyText (row, column, cell, event) { + + setModelCanel() { + this.insertModelVisible = false; + this.modelOptions = []; + }, + async setModelInsert() { + var val = this.modelOptions.filter(res => { + if (!res.isModel) { + return res + } + }) + var str = []; + if (val.length > 0) { + for (var i in val) { + str.push(val[i].name) + } + var mesage = str.toString() + '鏈�夋嫨鏁版嵁绫诲瀷' + this.$message(mesage); + return; + } + var ids = []; + var models = []; + for (var i in this.modelOptions) { + ids.push(this.modelOptions[i].id) + models.push(parseInt(this.modelOptions[i].isModel)) + } + var obj = { + dircode: this.formInline.dirid, + depcode: this.formInline.depid, + min: null, + max: null, + name: null, + type: this.formInline.type, + noData: null, + ids: ids, + models: models + + } + this.loadDialogVisible = true + this.insertModelVisible = false; + + const data = await publish_insert(obj); + + if (data.code == 200 && data.result > 0) { + this.$message({ + message: '鏁版嵁鍙戝竷鎴愬姛', + type: 'success' + }); + } else { + this.$message.error("鏁版嵁鍙戝竷澶辫触") + } + this.loadDialogVisible = false + this.getTableData(); + + + }, + copyText(row, column, cell, event) { // 鍙屽嚮澶嶅埗 let save = function (e) { e.clipboardData.setData('text/plain', event.target.innerText); @@ -511,7 +803,7 @@ document.execCommand("copy");//鎵цcopy鏂规硶 this.$message({ message: '澶嶅埗鎴愬姛', type: 'success' })//鎻愮ず }, - setOptions () { + setOptions() { var std = []; for (var i = 0; i < 23; i++) { std.push({ @@ -521,15 +813,15 @@ } this.options = std; }, - setloadDialogVisible () { + setloadDialogVisible() { this.loadDialogVisible = false }, - setinsertLayerCancel () { + setinsertLayerCancel() { this.insertDialogVisible = false; this.insertLayer = { name: '', number: null, min: 4, max: 18 }; }, //鍙戝竷鎻愪氦 - async setinsertLayerSubmit () { + async setinsertLayerSubmit() { var min = this.insertLayer.min; var max = this.insertLayer.max; @@ -591,7 +883,7 @@ }, //鏁版嵁鍙戝竷 - async setPagePublish () { + async setPagePublish() { if (this.multipleSelection.length == 0) { this.$message("璇烽�夋嫨瑕佸彂甯冪殑鏁版嵁") return @@ -602,6 +894,17 @@ this.insertLayer.number = this.multipleSelection.length this.insertLayer.noData = '0'; this.insertDialogVisible = true; + } if (this.formInline.type == "3DML" || this.formInline.type == "BIM") { + var val = JSON.parse(JSON.stringify(this.multipleSelection)) + for (var i in val) { + val[i].isModel = null + } + this.modelOptions = val; + + this.insertModelVisible = true; + + + } else { var std = []; for (var i in this.multipleSelection) { @@ -633,12 +936,12 @@ } }, //鏁版嵁璇︽儏 - setPreviewDetails (res) { + setPreviewDetails(res) { this.itemdetail = res; this.detailsDialogVisible = true; }, //淇敼鎻愪氦 - async setEditLayerSubmit () { + async setEditLayerSubmit() { if (this.editLayer.url) { var url = this.editLayer.url; this.editLayer.url = url.replace(iisHost, "{host}"); @@ -657,7 +960,7 @@ this.editDialogVisible = false; }, //淇敼鍙栨秷 - setEditLayerCancle () { + setEditLayerCancle() { if (this.editLayer == this.updateLayer) { this.editDialogVisible = false; } else { @@ -672,13 +975,13 @@ } }, //淇敼寮圭獥 - setPreviewEdit (res) { + setPreviewEdit(res) { this.updateLayer = JSON.stringify(res) //澶囦唤; this.editLayer = JSON.parse(JSON.stringify(res)); this.editDialogVisible = true; }, //鍒犻櫎 - setPageDelete () { + setPageDelete() { if (this.multipleSelection.length == 0) { return this.$message.error("璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁") } else { @@ -692,7 +995,7 @@ }); } }, - async deletePage () { + async deletePage() { var std = []; for (var i in this.multipleSelection) { std.push(this.multipleSelection[i].id); @@ -710,28 +1013,28 @@ } }, //棰勮寮圭獥鎵撳紑 - setPreviewLayer (res) { + setPreviewLayer(res) { this.$store.state.previewLayer = res; this.dialogVisible = true; this.showMapView = true; }, //鏄惁涓哄叏灞忓嚱鏁� - onFullscreen (fullscreen) { + onFullscreen(fullscreen) { this.isFullscreen = fullscreen; }, //棰勮寮圭獥鍏抽棴 - handleClose () { + handleClose() { this.getTableData(); this.dialogVisible = false; this.showMapView = false; }, // 鑾峰彇澶氶�夐�変腑鐨勫璞� - handleSelectionChange (val) { + handleSelectionChange(val) { this.multipleSelection = val }, //鍗曚綅杞崲 - stateFormatSizes (row, column) { + stateFormatSizes(row, column) { if (row.sizes >= 1024) { const val = parseFloat(row.sizes / 1024).toFixed(3) return val + " GB" @@ -740,7 +1043,7 @@ } }, //鏍煎紡鍖栧湴鍧� - formatLayer (row, column) { + formatLayer(row, column) { let data = row.layer if (data == null) { return data @@ -749,7 +1052,7 @@ return data.replace("{host}", iisHost) }, //鏍煎紡鍖栨椂闂� - formatData (row, column) { + formatData(row, column) { let data = row[column.property] if (data == null) { return data @@ -757,18 +1060,18 @@ return this.format(data) }, //鍒嗛〉鍒囨崲 - handleCurrentChange (val) { + handleCurrentChange(val) { this.listData.pageIndex = val; this.getTableData_one(); }, //姣忛〉鏄剧ず鏁伴噺 - handleSizeChange (val) { + handleSizeChange(val) { this.listData.pageSize = val; this.listData.pageIndex = 1; this.getTableData_one(); }, //tabs鍒囨彌 - setTabsChange (res) { + setTabsChange(res) { switch (res) { case 1: this.active = 'first'; @@ -783,12 +1086,19 @@ url: "menuLayer" } this.active = 'third'; - break; + + + + this.$nextTick(() => { + this.$refs.tableBox.doLayout() + }) + + } }, //椤甸潰鍒濆鍖� - setPageStart () { + setPageStart() { this.formInline = { dirid: null, dirName: null, @@ -819,7 +1129,7 @@ this.getDirTreeList(); }, //鑾峰彇鐩綍鍒楄〃 - async getDirTreeList () { + async getDirTreeList() { const data = await selectdirTab(); if (data.code != 200) { this.$message.error("鍗曚綅鍒楄〃鑾峰彇澶辫触") @@ -831,7 +1141,7 @@ this.getVerList(this.dirOption[0].id) }, //鑾峰彇鐗堟湰鍒楄〃 - async getVerList (res) { + async getVerList(res) { const data = await meta_selectVerByDirid({ dirid: res }) if (data.code != 200) { this.$message.error("鐗堟湰鍒楄〃鑾峰彇澶辫触") @@ -842,36 +1152,36 @@ this.getTableData(); }, //鐗堟湰鍒楄〃鍒囨崲 - handleVerChange (value) { + handleVerChange(value) { this.formInline.verid = value; this.getTableData(); }, //鏈嶅姟绫诲瀷鍒楄〃鍒囨崲 - handleTypeChange (value) { + handleTypeChange(value) { this.formInline.type = value; this.getTableData(); }, //鍗曚綅鍒楄〃鍒囨崲 - handleDepChange (data, node, nodeData) { + handleDepChange(data, node, nodeData) { this.formInline.depid = data.code this.formInline.depName = data.name this.getTableData(); }, //鐩綍鍒楄〃鍒囨崲 - handleDirChange (data, node, nodeData) { + handleDirChange(data, node, nodeData) { this.formInline.dirid = data.code this.formInline.dirName = data.name this.getVerList(data.id) }, //鑾峰彇Table琛ㄦ牸鏁版嵁 - async getTableData () { + async getTableData() { this.listData.count = 0; this.listData.pageIndex = 1; this.getTableData_one(); }, - async getTableData_one () { + async getTableData_one() { this.tableData = []; if (this.active == "first") { @@ -932,7 +1242,7 @@ } }, //鏍煎紡鍖栨椂闂� - format (shijianchuo) { + format(shijianchuo) { //shijianchuo鏄暣鏁帮紝鍚﹀垯瑕乸arseInt杞崲 var time = new Date(shijianchuo); var y = time.getFullYear(); @@ -956,11 +1266,11 @@ ); }, //鏍煎紡鍖栨椂闂� - add0 (m) { + add0(m) { return m < 10 ? '0' + m : m; }, //鑾峰彇鍗曚綅鍒楄〃 - async getDepTreeList () { + async getDepTreeList() { const data = await selectdepTab(); if (data.code != 200) { this.$message.error("鍗曚綅鍒楄〃鑾峰彇澶辫触") @@ -971,7 +1281,7 @@ this.formInline.depName = this.depOption[0].name }, //鏍戝垪琛ㄧ敓鎴� - treeData (source) { + treeData(source) { let cloneData = JSON.parse(JSON.stringify(source)) // 瀵规簮鏁版嵁娣卞害鍏嬮殕 return cloneData.filter(father => { // 寰幆鎵�鏈夐」 @@ -981,7 +1291,7 @@ }) }, }, - mounted () { + mounted() { this.active = 'first'; this.setPageStart(); this.setOptions(); -- Gitblit v1.9.3