From 2aba5be94bcbb03bb5ec13d121fe945c2f8dce38 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期二, 13 六月 2023 14:01:32 +0800 Subject: [PATCH] 发布管理,数据统计 --- /dev/null | 0 src/views/datamanage/uploadmanage.vue | 4 src/api/api.js | 11 src/assets/lang/zh.js | 3 public/工程项目-目录管理模V20230613.xlsx | 0 public/config/config.js | 2 src/components/preview_map.vue | 602 ++++++++++++++++++++++-------------- src/assets/lang/en.js | 15 src/router/index.js | 12 src/views/datamanage/dataStatistics.vue | 301 ++++++++++++++---- 10 files changed, 630 insertions(+), 320 deletions(-) diff --git a/public/config/config.js b/public/config/config.js index 6ac1edf..525d8e4 100644 --- a/public/config/config.js +++ b/public/config/config.js @@ -59,7 +59,7 @@ ns: 'bs', }, ] -var dirTemplateFile = '宸ョ▼椤圭洰-鐩綍绠$悊妯20230413.xlsx' +var dirTemplateFile = '宸ョ▼椤圭洰-鐩綍绠$悊妯20230613.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\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" deleted file mode 100644 index 854ffc0..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\241V20230413.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\241V20230613.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\241V20230613.xlsx" new file mode 100644 index 0000000..6feda79 --- /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\241V20230613.xlsx" Binary files differ diff --git a/src/api/api.js b/src/api/api.js index 8219aa6..e19b059 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -906,6 +906,17 @@ export function dataCount_selectCountSizes(params) { return request.get('/dataCount/selectCountSizes', { params: params }); } +//鏁版嵁缁熻=>鎸夋枃浠剁被鍨嬬粺璁� +export function dataCount_countSizesByType(params) { + return request.get('/dataCount/countSizesByType', { params: params }); +} + +//鏁版嵁缁熻=>鎸夐」鐩粺璁℃暟鎹� +export function dataCount_countSizesByPrj(params) { + return request.get('/dataCount/countSizesByPrj', { params: params }); +} + + //鏁版嵁缁熻=>涓嬭浇鎶ュ憡 export function dataCount_downloadReport(params) { return request.get('/dataCount/downloadReport', { params: params }); diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js index 6fec354..69e8700 100644 --- a/src/assets/lang/en.js +++ b/src/assets/lang/en.js @@ -101,9 +101,18 @@ }, dataStaticObj: { - type1: 'Primary module', - type2: 'Secondary module', - type3: 'Statistical data', + // type1: 'Primary module', + // type2: 'Secondary module', + // type3: 'Statistical data', + + + type1: 'service name', + type2: 'visits', + type3: 'Unit Name', + type4: 'Data volume', + type5: 'menu name', + type7: 'visits', + type8: 'Number of statistics', }, projectObj: { projname: 'Project Name', diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js index 0d2d184..b3642d3 100644 --- a/src/assets/lang/zh.js +++ b/src/assets/lang/zh.js @@ -104,7 +104,8 @@ type3: '鍗曚綅鍚嶇О', type4: '鏁版嵁閲�', type5: '鑿滃崟鍚嶇О', - type7: '璁块棶娆℃暟' + type7: '璁块棶娆℃暟', + type8: '缁熻鏉℃暟', }, projectObj: { projname: '椤圭洰鍚嶇О', diff --git a/src/components/preview_map.vue b/src/components/preview_map.vue index b2f8517..eec2e45 100644 --- a/src/components/preview_map.vue +++ b/src/components/preview_map.vue @@ -1,139 +1,215 @@ <template> - <div id="mapdiv" - class="previewBox"> - <div v-if="modelLayer" - class="modelLayer box_divm"> + <div + id="mapdiv" + class="previewBox" + > + <div + v-if="modelLayer" + class="modelLayer box_divm" + > <div class="modelBox"> - <div style="float:right" - :title="$t('synthesis.undergroundMode')" - @click="setUndergroundMode"> + <div + style="float:right" + :title="$t('synthesis.undergroundMode')" + @click="setUndergroundMode" + > <i class="el-icon-sunrise "></i> </div> </div> <div class="modelBox"> - <el-tree :data="treeData" - show-checkbox - node-key="id" - ref="tree" - :default-expanded-keys="[1]" - :props="defaultProps" - @node-click="handleNodeClick" - @check="handleCheckChange"> + <el-tree + :data="treeData" + show-checkbox + node-key="id" + ref="tree" + :default-expanded-keys="[1]" + :props="defaultProps" + @node-click="handleNodeClick" + @check="handleCheckChange" + > </el-tree> </div> </div> - <div v-if="editModelFlag" - class="modelLayer box_divm"> - <el-form ref="form" - :model="modelForm" - label-width="80px"> + <div + v-if="editModelFlag" + class="modelLayer box_divm" + > + <el-form + ref="form" + :model="modelForm" + label-width="80px" + > <el-form-item> - <el-button size="small" - @click="locateTo">瀹氫綅</el-button> - <el-button size="small" - @click="showTileset">鏄鹃殣</el-button> - <el-button size="small" - @click="underground">鍦颁笅</el-button> - <el-button v-if="$store.state.previewLayer.type != '3dml'" - size="small" - @click="pickupCoords">鎷惧彇</el-button> - <el-button v-if="$store.state.previewLayer.type != '3dml'" - size="small" - @click="reload"> + <el-button + size="small" + @click="locateTo" + >瀹氫綅</el-button> + <el-button + size="small" + @click="showTileset" + >鏄鹃殣</el-button> + <el-button + size="small" + @click="underground" + >鍦颁笅</el-button> + <el-button + v-if="$store.state.previewLayer.type != '3dml' && + $store.state.previewLayer.type !='cpt'" + size=" + small" + @click="pickupCoords" + >鎷惧彇</el-button> + <el-button + v-if="$store.state.previewLayer.type != '3dml' && + $store.state.previewLayer.type !='cpt'" + size=" + small" + @click="reload" + > 閲嶈浇 </el-button> - <el-button v-if="modelForm.modelid == null && $store.state.previewLayer.type != '3dml'" - size="small" - @click="getModeKeyId">妯″瀷涓婚敭</el-button> - <el-button v-if="$store.state.previewLayer.type != '3dml'" - size="small" - @click="resave">淇濆瓨</el-button> + <el-button + v-if="modelForm.modelid == null && $store.state.previewLayer.type != '3dml'&& + $store.state.previewLayer.type !='cpt'" + size="small" + @click="getModeKeyId" + >妯″瀷涓婚敭</el-button> + <el-button + v-if="$store.state.previewLayer.type != '3dml'&& + $store.state.previewLayer.type !='cpt'" + size="small" + @click="resave" + >淇濆瓨</el-button> </el-form-item> - <el-form-item label="缁忓害:" - v-if="$store.state.previewLayer.type != '3dml'"> - <el-input size="small" - v-model="modelForm.lon" - @input="update"></el-input> - <el-slider v-model="modelForm.lon" - @input="update" - :min="73" - :step="0.001" - :max="135"></el-slider> + <el-form-item + label="缁忓害:" + v-if="$store.state.previewLayer.type != '3dml'&& + $store.state.previewLayer.type !='cpt'" + > + <el-input + size="small" + v-model="modelForm.lon" + @input="update" + ></el-input> + <el-slider + v-model="modelForm.lon" + @input="update" + :min="73" + :step="0.001" + :max="135" + ></el-slider> </el-form-item> - <el-form-item label="绾害:" - v-if="$store.state.previewLayer.type != '3dml'"> - <el-input size="small" - v-model="modelForm.lat" - @input="update"></el-input> - <el-slider v-model="modelForm.lat" - @input="update" - :min="3" - :step="0.001" - :max="54"></el-slider> + <el-form-item + label="绾害:" + v-if="$store.state.previewLayer.type != '3dml'&& + $store.state.previewLayer.type !='cpt'" + > + <el-input + size="small" + v-model="modelForm.lat" + @input="update" + ></el-input> + <el-slider + v-model="modelForm.lat" + @input="update" + :min="3" + :step="0.001" + :max="54" + ></el-slider> </el-form-item> - <el-form-item label="楂樺害:" - v-if="$store.state.previewLayer.type != '3dml'"> - <el-input size="small" - v-model="modelForm.height" - @input="update"></el-input> - <el-slider v-model="modelForm.height" - :min="-800" - :step="1" - @input="update" - :max="8800"></el-slider> + <el-form-item + label="楂樺害:" + v-if="$store.state.previewLayer.type != '3dml'&& + $store.state.previewLayer.type !='cpt'" + > + <el-input + size="small" + v-model="modelForm.height" + @input="update" + ></el-input> + <el-slider + v-model="modelForm.height" + :min="-800" + :step="1" + @input="update" + :max="8800" + ></el-slider> </el-form-item> - <el-form-item label="瑙掑害:" - v-if="$store.state.previewLayer.type != '3dml'"> - <el-input size="small" - v-model="modelForm.yaw" - @input="update"></el-input> - <el-slider v-model="modelForm.yaw" - :min="0" - @input="update" - :step="0.1" - :max="360"></el-slider> + <el-form-item + label="瑙掑害:" + v-if="$store.state.previewLayer.type != '3dml'&& + $store.state.previewLayer.type !='cpt'" + > + <el-input + size="small" + v-model="modelForm.yaw" + @input="update" + ></el-input> + <el-slider + v-model="modelForm.yaw" + :min="0" + @input="update" + :step="0.1" + :max="360" + ></el-slider> </el-form-item> <el-form-item label="閫忔槑搴�:"> - <el-input size="small" - v-model="modelForm.alpha" - @input="update"></el-input> - <el-slider v-model="modelForm.alpha" - @input="update" - :min="0" - :step="0.01" - :max="1"></el-slider> + <el-input + size="small" + v-model="modelForm.alpha" + @input="update" + ></el-input> + <el-slider + v-model="modelForm.alpha" + @input="update" + :min="0" + :step="0.01" + :max="1" + ></el-slider> </el-form-item> </el-form> </div> - <el-dialog :title="formInline.title" - :visible.sync="dialogVisible" - :modal="false" - :modal-append-to-body="false" - :close-on-click-modal="false" - :before-close="handleClose" - width="30%"> + <el-dialog + :title="formInline.title" + :visible.sync="dialogVisible" + :modal="false" + :modal-append-to-body="false" + :close-on-click-modal="false" + :before-close="handleClose" + width="30%" + > <div style="height:63vh"> - <el-tabs v-model="activeName" - @tab-click="handleClick"> - <el-tab-pane label="灞炴��" - name="first"> - <el-form ref="form" - :model="formInline" - label-width="80px"> + <el-tabs + v-model="activeName" + @tab-click="handleClick" + > + <el-tab-pane + label="灞炴��" + name="first" + > + <el-form + ref="form" + :model="formInline" + label-width="80px" + > <el-form-item :label="$t('common.name')"> <el-input v-model="formInline.name"></el-input> </el-form-item> <el-form-item :label="$t('common.type')"> - <el-select v-model="formInline.type" - style="width:100%"> - <el-option v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> + <el-select + v-model="formInline.type" + style="width:100%" + > + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value" + > </el-option> </el-select> @@ -144,78 +220,110 @@ </el-form-item> <el-form-item> - <el-button v-show="isShowModel" - type="success" - plain - size="small" - @click="InsertData">{{$t('common.increase')}}</el-button> - <el-button v-show="!isShowModel" - type="info" - plain - size="small" - @click="EditData">{{$t('common.update')}}</el-button> + <el-button + v-show="isShowModel" + type="success" + plain + size="small" + @click="InsertData" + >{{$t('common.increase')}}</el-button> + <el-button + v-show="!isShowModel" + type="info" + plain + size="small" + @click="EditData" + >{{$t('common.update')}}</el-button> </el-form-item> </el-form> </el-tab-pane> - <el-tab-pane label="闄勪欢" - name="second"> - <el-form :model="fromfile" - class="demo-form-inline"> + <el-tab-pane + label="闄勪欢" + name="second" + > + <el-form + :model="fromfile" + class="demo-form-inline" + > <el-form-item> - <el-input v-model="fromfile.file" - style="width: 300px; margin-right: 20px" - :placeholder="$t('common.choose')" - disabled></el-input> - <input name="file1" - type="file" - id="insertFile" - multiple="multiple" - style="display: none" - @change="insertFile( )" /> - <el-link @click="getInsertFile( )" - :underline="false"><i class="el-icon-folder-opened"></i></el-link> + <el-input + v-model="fromfile.file" + style="width: 300px; margin-right: 20px" + :placeholder="$t('common.choose')" + disabled + ></el-input> + <input + name="file1" + type="file" + id="insertFile" + multiple="multiple" + style="display: none" + @change="insertFile( )" + /> + <el-link + @click="getInsertFile( )" + :underline="false" + ><i class="el-icon-folder-opened"></i></el-link> </el-form-item> <el-form-item> <el-row> <el-col :span="3"> - <el-link class="elLink" - :underline="false" - @click="setAttachInsert">{{$t('common.append')}}</el-link> + <el-link + class="elLink" + :underline="false" + @click="setAttachInsert" + >{{$t('common.append')}}</el-link> </el-col> <el-col :span="3"> - <el-link class="elLink" - :underline="false" - @click="setAttachDel">{{$t('common.delete')}}</el-link> + <el-link + class="elLink" + :underline="false" + @click="setAttachDel" + >{{$t('common.delete')}}</el-link> </el-col> </el-row> </el-form-item> </el-form> - <el-table :data="tableData" - 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.name')" /> + <el-table + :data="tableData" + 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.name')" + /> - <el-table-column prop="sizes" - :label="$t('common.size')" - :formatter="statSizeChange" /> - <el-table-column align="center" - :label="$t('common.operate')" - min-width="100"> + <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> + <el-link + v-if="matchState(scope, /[]/)" + @click="setAttatchDetail(scope.$index, scope.row)" + class="elLink" + >{{ $t('common.see') }}</el-link> </template> </el-table-column> @@ -238,48 +346,66 @@ <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%"> + <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"> + <div + v-if="dialog.isJpg" + class="pdfClass" + > - <el-image style="width:100%; height:100%" - :src="dialog.src" - :preview-src-list="[dialog.src]"> + <el-image + style="width:100%; height:100%" + :src="dialog.src" + :preview-src-list="[dialog.src]" + > </el-image> </div> </el-dialog> - <div v-show="modelKeyFlag" - class="modelLayer box_divm" - v-drag> - <el-form ref="form" - :model="modelForm" - label-width="80px"> + <div + v-show="modelKeyFlag" + class="modelLayer box_divm" + v-drag + > + <el-form + ref="form" + :model="modelForm" + label-width="80px" + > <el-form-item label="涓婚敭ID"> <el-select v-model="modelLayerId"> - <el-option v-for="item in optionKey" - :key="item.value" - :label="item.label" - :value="item.value"> + <el-option + v-for="item in optionKey" + :key="item.value" + :label="item.label" + :value="item.value" + > </el-option> </el-select> </el-form-item> <el-form-item> - <el-button type="primary" - size="small" - @click="setSureKeyModelKey">{{$t('common.confirm')}}</el-button> + <el-button + type="primary" + size="small" + @click="setSureKeyModelKey" + >{{$t('common.confirm')}}</el-button> </el-form-item> </el-form> </div> @@ -305,7 +431,7 @@ components: { undergroundModel }, - data () { + data() { return { levelArray: [ 0, 40000000, 20000000, 10000000, 5000000, 2000000, 1000000, 500000, @@ -384,11 +510,11 @@ modelKeyFlag: false, } }, - mounted () { + mounted() { this.init3DMap(); }, methods: { - setUndergroundMode () { + setUndergroundMode() { if (window.UndergroundMode) { this.$refs && this.$refs.undergroundModel && @@ -399,14 +525,14 @@ this.$refs.undergroundModel.open("鍦颁笅妯″紡", null,); } }, - refreshAttatchDetail () { + refreshAttatchDetail() { this.dialog.src = ""; this.dialog.dialogVisible = false; this.dialog.isPdf = false; this.dialog.isJpg = false; }, //闄勪欢鏌ョ湅 - setAttatchDetail (index, row) { + setAttatchDetail(index, row) { this.refreshAttatchDetail() var name = row.name; if (name.indexOf('.pdf') != -1 || name.indexOf('.PDF') != -1) { @@ -432,7 +558,7 @@ this.dialog.src = url } }, - async setAttachDel () { + async setAttachDel() { var std = []; for (var i in this.attacgSelection) { std.push(this.attacgSelection[i].id); @@ -443,7 +569,7 @@ } this.getAttacthFlieList(); }, - setAttachInsert () { + setAttachInsert() { var token = getToken(); var fs = document.getElementById("insertFile"); if (fs.files.length == 0) { @@ -487,15 +613,15 @@ ); }, //闄勪欢=>鏂囦欢閫夋嫨 - getInsertFile () { + getInsertFile() { $('#insertFile').click(); }, - insertFile () { + insertFile() { var val = document.getElementById('insertFile').files; if (!val || !val.length) return; this.fromfile.file = val[0].name; }, - matchState (state = "", reg) { + matchState(state = "", reg) { var row = state.row; var name = row.name; if ( @@ -517,10 +643,10 @@ return false; }, - statSizeChange (row, column) { + statSizeChange(row, column) { return this.stateFormatSizes(row.sizes) }, - stateFormatSizes (res) { + stateFormatSizes(res) { if (res >= 1024) { const val = parseFloat(res / 1024).toFixed(3); return val + ' GB'; @@ -529,11 +655,11 @@ } }, // 闄勪欢=>琛ㄦ牸閫夋嫨 - handleAttatchChange (val) { + handleAttatchChange(val) { this.attacgSelection = val; }, //闄勪欢鍒楄〃鏌ヨ - async getAttacthFlieList () { + async getAttacthFlieList() { var obj = { eventid: this.layerID, tabName: "lf.sys_style" @@ -545,12 +671,12 @@ } this.tableData = res.result; }, - handleClick () { + handleClick() { if (this.activeName == "second") { this.getAttacthFlieList(); } }, - async EditData () { + async EditData() { const data = await comprehensive_updateModel(this.formInline) @@ -572,7 +698,7 @@ this.startModelData(); }, - async InsertData () { + async InsertData() { var std = { "bak": this.formInline.bak, "guid": this.formInline.Id, @@ -599,7 +725,7 @@ }, - handleClose () { + handleClose() { this.dialogVisible = false; this.formInline = { title: '', @@ -614,7 +740,7 @@ this.activeName = "first" }, - async setShowModelInfo (result) { + async setShowModelInfo(result) { var modelKey = 'id'; if (result.tileset) { @@ -654,7 +780,7 @@ this.dialogVisible = true; }, - async startModelData () { + async startModelData() { var obj = { layerid: this.formInline.layerId, modelid: this.formInline.Id @@ -672,7 +798,7 @@ this.formInline.title = this.formInline.name; } }, - setChangeTileset (result) { + setChangeTileset(result) { var value = this.$refs.tree.getCheckedNodes(); var std = []; for (var i in value) { @@ -691,7 +817,7 @@ } } }, - setAddLayers (rs) { + setAddLayers(rs) { if (rs.serveType == "Tileset" || rs.serveType == "3DML") { var url; @@ -724,7 +850,7 @@ } }, - async getArgsTileset (tileset, rs) { + async getArgsTileset(tileset, rs) { if (rs.pubid > 0) { @@ -747,7 +873,7 @@ } }, - tileSet (tileset, height) { + tileSet(tileset, height) { //3dtile妯″瀷鐨勮竟鐣岀悆浣� var boundingSphere = tileset.boundingSphere; //杩崱灏旂┖闂寸洿瑙掑潗鏍�=>鍦扮悊鍧愭爣锛堝姬搴﹀埗锛� @@ -761,7 +887,7 @@ tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); // Viewer.flyTo(tileset); }, - reloadTile (tileset, res) { + reloadTile(tileset, res) { var vm = JSON.parse(res) var pos = Cesium.Cartesian3.fromDegrees(vm.lon, vm.lat, vm.height); var converter = Cesium.Transforms.eastNorthUpToFixedFrame; @@ -773,7 +899,7 @@ - handleCheckChange (data, checked, indeterminate) { + handleCheckChange(data, checked, indeterminate) { if (data.type == 1) { this.getchilds(data); this.setChangeTileset(this.childOption, checked); @@ -781,7 +907,7 @@ this.setChangeTileset([data], checked); } }, - handleNodeClick (data) { + handleNodeClick(data) { if (data.type == 2) { this.currentData = data; for (var j in Viewer.scene.primitives._primitives) { @@ -791,7 +917,7 @@ } } }, - getchilds (source) { + getchilds(source) { if (source.children) { var child = source.children for (var i in child) { @@ -805,7 +931,7 @@ this.childOption.push(source) } }, - init3DMap () { + init3DMap() { //鍦板浘鍒濆鍖� window.sgworld = new SmartEarth.SGWorld("mapdiv", { licenseServer: window.sceneConfig.licenseServer, @@ -923,7 +1049,7 @@ } } }, - getModeKeyId () { + getModeKeyId() { window.ModeKeyIdHandler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas); window.ModeKeyIdHandler.setInputAction((event) => { @@ -942,7 +1068,7 @@ }, Cesium.ScreenSpaceEventType.LEFT_CLICK) }, - async resave () { + async resave() { if (!this.modelForm.modelid) { return this.$message('鏈�夋嫨妯″瀷涓婚敭ID'); } @@ -963,7 +1089,7 @@ } this.reload(); }, - reload () { + reload() { var json = JSON.stringify(this.modelForm); var url = this.$store.state.previewLayer.url.replace("{host}", iisHost); if (!url) return; @@ -989,7 +1115,7 @@ }, //鎷惧彇 - pickupCoords () { + pickupCoords() { if (this.app.handler) { this.app.handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); this.app.handler = undefined; @@ -1013,12 +1139,12 @@ }, Cesium.ScreenSpaceEventType.LEFT_CLICK); }, // 淇濈暀灏忔暟浣� - toFixed (d, n) { + toFixed(d, n) { var p = Math.pow(10, n); return Math.round(d * p) / p; }, - update () { + update() { if (!this.modelForm.lon || isNaN(this.modelForm.lon)) { var args = this.getEditTilesetArgs(); this.modelForm.lon = args.lon == null ? 0 : args.height; @@ -1052,7 +1178,7 @@ this.setTilesetArgs(this.modelForm); sgworld.Analysis.UndergroundMode(this.app.under, this.modelForm.alpha) }, - setTilesetArgs (f) { + setTilesetArgs(f) { if (!this.app.tileset || this.app.isBusy) return; @@ -1065,21 +1191,21 @@ model._root.transform = matrix; }, //鍦颁笅 - underground () { + underground() { this.app.under = !this.app.under; sgworld.Analysis.UndergroundMode(this.app.under, this.modelForm.alpha) }, //鏄鹃殣 - showTileset () { + showTileset() { if (!this.app.tileset) return; this.app.tileset.show = !this.app.tileset.show; }, //瀹氫綅 - locateTo () { + locateTo() { if (!this.app.tileset) return; Viewer.flyTo(this.app.tileset); }, - createTileset (res) { + createTileset(res) { res.url = res.url.replace('{host}', iisHost) return new Cesium.Cesium3DTileset({ url: res.url, @@ -1103,7 +1229,7 @@ dynamicScreenSpaceError: true // 鍑忓皯绂荤浉鏈鸿緝杩滅殑灞忓箷绌洪棿閿欒锛歠alse锛屽叏灞忓姞杞藉畬涔嬪悗鎵嶆竻鏅板寲鎴垮眿 }); }, - setEditModelLayer (res) { + setEditModelLayer(res) { this.editModelFlag = true; if (res.json) { var json = JSON.parse(res.json) @@ -1113,7 +1239,7 @@ this.getTilesetArgs(); } }, - setModleLocatin () { + setModleLocatin() { var res = this.$store.state.previewLayer; var type = res.type; @@ -1127,7 +1253,7 @@ } }, - setModeLayerID (res) { + setModeLayerID(res) { var value = res.getPropertyNames(); var std = []; @@ -1141,12 +1267,12 @@ this.modelLayerId = this.optionKey[0].label; this.modelKeyFlag = true; }, - setSureKeyModelKey () { + setSureKeyModelKey() { this.modelKeyFlag = false; this.modelForm.modelid = this.modelLayerId window.ModeKeyIdHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); //绉婚櫎浜嬩欢 }, - getTilesetArgs () { + getTilesetArgs() { this.app.isBusy = true; var cm = this.app.tileset._root.transform; var cartesian = new Cesium.Cartesian3(cm[12], cm[13], cm[14]); @@ -1159,7 +1285,7 @@ } this.app.isBusy = false; }, - getEditTilesetArgs () { + getEditTilesetArgs() { this.app.isBusy = true; var std = { lon: 0, @@ -1182,7 +1308,7 @@ return std }, - async setShowModelLayer () { + async setShowModelLayer() { const data = await perms_selectLayers(); if (data.code != 200) { @@ -1231,7 +1357,7 @@ }, Cesium.ScreenSpaceEventType.LEFT_CLICK) } }, - setTreeData (source) { + setTreeData(source) { let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕 return cloneData.filter((father) => { // 寰幆鎵�鏈夐」 @@ -1255,7 +1381,7 @@ // //淇敼妯″瀷鐭╅樀 // tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); // }, - getHeight (level) { + getHeight(level) { if (level > 0 && level < 23) { return this.levelArray[level] } diff --git a/src/router/index.js b/src/router/index.js index c6f8d4b..c3b608b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -55,7 +55,7 @@ import systemController from '@/views/maintenance/systemController.vue';//绯荤粺绠$悊 import empowerController from '@/views/maintenance/empowerController.vue';//鎺堟潈绠$悊 import opexController from '@/views/maintenance/opexController.vue';//杩愮淮鐩戞帶 - +import dataCount from '@/views/datamanage/dataStatistics.vue'; //鏁版嵁缁熻 //鍖呬簩 import WareInspection from '@/views/PackageTwo/WareInspection.vue'; //鏁版嵁璐ㄦ-鍏ュ簱璐ㄦ import QualityInspection from '@/views/PackageTwo/index.vue'; //鏁版嵁璐ㄦ-鍏ュ簱璐ㄦ @@ -206,7 +206,15 @@ requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� }, }, - + { + path: '/dataCount', + name: 'dataCount', + component: dataCount, + meta: { + title: '鏁版嵁缁熻', + requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� + }, + }, { path: '/Archive', name: 'Archive', diff --git a/src/views/datamanage/dataStatistics.vue b/src/views/datamanage/dataStatistics.vue index bbf3498..852dc7b 100644 --- a/src/views/datamanage/dataStatistics.vue +++ b/src/views/datamanage/dataStatistics.vue @@ -1,5 +1,5 @@ <template> - <div class="dataStatistics"> + <div class="box_div dataStatistics"> <My-bread :list="[ `${$t('dataManage.dataManage')}`, `${$t('dataManage.dataStatistics')}`, @@ -25,28 +25,66 @@ style="border: 1px solid #dcdfe6;" > <div - class="iquery subpage_Div" + class=" subpage_Div iquery" 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> - <el-button - icon="el-icon-pie-chart" - size="small" - type="primary" - @click="setCountFlagChange(2)" - >{{ $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> + + <el-form + :inline="true" + :model="tjlxData" + class="demo-form-inline" + > + <el-form-item + label="缁熻绫诲瀷" + v-show="!setCountFlag && tjlxData.flag" + > + <el-select + v-model="tjlxData.region" + size="small" + @change="setTjlxDataChange" + > + + <el-option + label="鏁版嵁瀛樺偍閲�" + value="sjccl" + > + </el-option> + <el-option + label="鏁版嵁鏉℃暟" + value="sjts" + > + + </el-option> + + </el-select> + </el-form-item> + <el-form-item> + <el-button + icon="el-icon-c-scale-to-original" + size="small" + type="warning" + @click="setCountFlagChange(1)" + >{{ $t("shuJuGuanLi.butten.Report") }}</el-button> + </el-form-item> + <el-form-item> + <el-button + icon="el-icon-pie-chart" + size="small" + type="primary" + @click="setCountFlagChange(2)" + >{{ $t("shuJuGuanLi.butten.Histogram") }}</el-button> + </el-form-item> + <el-form-item> + <el-button + icon="el-icon-download" + size="small" + type="success" + @click="setCountFlagChange(3)" + >{{ $t("shuJuGuanLi.butten.Download") }}</el-button> + </el-form-item> + </el-form> + </div> </div> <div class="dividing-line"></div> @@ -86,14 +124,21 @@ </el-table-column> <el-table-column v-if="queryData.value == 'countSizes'" - prop="count" + prop="sizes" key="4" align="center" :label="$t('dataManage.dataStaticObj.type4')" :formatter="formatterColumn" > </el-table-column> - + <el-table-column + v-if="queryData.value == 'countSizes'" + prop="count" + key="4" + align="center" + :label="$t('dataManage.dataStaticObj.type8')" + > + </el-table-column> <el-table-column v-if="queryData.value == 'countOperates'" prop="m1" @@ -110,27 +155,59 @@ :label="$t('dataManage.dataStaticObj.type7')" > </el-table-column> - - <!-- <el-table-column - v-if="queryData.value == 'countOperates'" - prop="m2" + <el-table-column + v-if="queryData.value == 'countSizesByType'" + prop="m1" + key="3" align="center" - :label="$t('dataManage.dataStaticObj.type6')" + :label="$t('common.fileType')" > - </el-table-column> --> + </el-table-column> + <el-table-column + v-if="queryData.value == 'countSizesByType'" + prop="sizes" + key="4" + align="center" + :label="$t('dataManage.dataStaticObj.type4')" + :formatter="formatterColumn" + > + </el-table-column> + <el-table-column + v-if="queryData.value == 'countSizesByType'" + prop="count" + key="4" + align="center" + :label="$t('dataManage.dataStaticObj.type8')" + > + </el-table-column> + + <el-table-column + v-if="queryData.value == 'countSizesByPrj'" + prop="m1" + key="3" + align="center" + :label="$t('dataManage.projectObj.projname')" + > + </el-table-column> + <el-table-column + v-if="queryData.value == 'countSizesByPrj'" + prop="sizes" + key="4" + align="center" + :label="$t('dataManage.dataStaticObj.type4')" + :formatter="formatterColumn" + > + </el-table-column> + <el-table-column + v-if="queryData.value == 'countSizesByPrj'" + prop="count" + key="4" + align="center" + :label="$t('dataManage.dataStaticObj.type8')" + > + </el-table-column> </el-table> - <!-- <div class="pagination_box"> - <el-pagination - @size-change="handleSizeChange" - @current-change="handleCurrentChange" - :current-page="listData.pageIndex" - :page-sizes="[10, 20, 50, 100]" - :page-size="listData.pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="listData.count" - > - </el-pagination> - </div> --> + </div> <div id="contentEchart subpage_Div" @@ -209,6 +286,8 @@ dataCount_selectCountServices, dataCount_selectCountSizes, dataCount_downloadReport, + dataCount_countSizesByType, + dataCount_countSizesByPrj } from "../../api/api.js"; export default { name: "DataStatistics", @@ -217,15 +296,19 @@ return { treeData: [ { - id: 1, - label: "鏈嶅姟璋冪敤閲忕粺璁�", - value: "countServices", + id: 5, + label: "椤圭洰缁熻鏁版嵁", + value: "countSizesByPrj", children: [], - }, - { + }, { id: 2, - label: "鏁版嵁閲忕粺璁�", + label: "鍗曚綅鏁版嵁缁熻", value: "countSizes", + children: [], + }, { + id: 4, + label: "鏁版嵁鏍煎紡缁熻", + value: "countSizesByType", children: [], }, { @@ -233,9 +316,18 @@ label: "鐢ㄦ埛娴侀噺缁熻", value: "countOperates", children: [], + }, { + id: 1, + label: "鏈嶅姟璋冪敤閲忕粺璁�", + value: "countServices", + children: [], }, - ], + ], + tjlxData: { + region: 'sjccl', + flag: false, + }, defaultProps: { children: "children", label: "label", @@ -250,17 +342,22 @@ tableData: [], modelData: [], queryData: null, - setCountFlag: true, + setCountFlag: false, option: null, showDownLoadFlag: false, + }; }, mounted() { this.setStartDataCount(); }, methods: { + setTjlxDataChange() { + this.showCountEchart() + }, formatterColumn(row, column, cellValue, index) { - return row.count + "MB"; + + return (row.sizes / 1024).toFixed(6) + "GB" }, setDownLoadRow(rows) { var url = @@ -336,8 +433,8 @@ dom.removeAttribute("_echarts_instance_"); // 绉婚櫎瀹瑰櫒涓婄殑 _echarts_instance } var resizeMainContainer = function () { - dom.style.width = window.innerWidth * 0.65 + "px"; - dom.style.height = window.innerHeight * 0.6 + "px"; + dom.style.width = window.innerWidth * 0.75 + "px"; + dom.style.height = window.innerHeight * 0.75 + "px"; }; //璁剧疆div瀹瑰櫒楂樺 resizeMainContainer(); @@ -348,24 +445,41 @@ var app = {}; let dataAxis = []; + let yMax = 0; + this.option = {} let data = []; - let yMax = 0; - for (var i in this.tableData) { - if (this.tableData[i].count > yMax) { - yMax = this.tableData[i].count; + window.sjName = this.queryData.value + window.sjType = this.tjlxData.region + if (sjName == 'countServices' || sjName == 'countOperates') { + for (var i in this.tableData) { + if (this.tableData[i].count > yMax) { + yMax = this.tableData[i].count; + } + data.push(this.tableData[i].count); + var m1 = this.tableData[i].m1; + dataAxis.push(m1); } + debugger + } else { + for (var i in this.tableData) { + if (this.tableData[i].count > yMax) { + yMax = this.tableData[i].count; + } + if (sjType == 'sjts') { + data.push(this.tableData[i].count); + } else if (sjType == 'sjccl') { + data.push((this.tableData[i].sizes / 1024).toFixed(6)); - data.push(this.tableData[i].count); - var m1 = this.tableData[i].m1; - if (this.tableData[i].m2 != null) { - m1 += "_" + this.tableData[i].m2; + } + var m1 = this.tableData[i].m1; + dataAxis.push(m1); } - dataAxis.push(m1); } yMax = yMax + 10; let dataShadow = []; + for (let i = 0; i < data.length; i++) { dataShadow.push(yMax); } @@ -385,7 +499,21 @@ type: "line", // 榛樿涓虹洿绾匡紝鍙�変负锛�'line' | 'shadow' }, - formatter: " {b} : <br/>缁熻閲� : {c}", + formatter: function (params) { + var p_name = params[0].axisValue; + var p_val; + if (sjName == 'countServices' || sjName == 'countOperates') { + p_val = p_name + '<br/>璁块棶娆℃暟 锛�' + params[0].data + '娆�' + + } else { + if (sjType == 'sjts') { + p_val = p_name + '<br/>鏁版嵁鏉℃暟:' + params[0].data + '鏉�' + } else { + p_val = p_name + '<br/>鏁版嵁瀛樺偍閲�:' + params[0].data + 'GB' + } + } + return p_val; + }, }, xAxis: { data: dataAxis, @@ -402,6 +530,7 @@ z: 10, }, yAxis: { + name: name, axisLine: { show: false, }, @@ -441,6 +570,9 @@ }, ], }; + + + // Enable data zoom when user click bar. const zoomSize = 6; myChart.on("click", function (params) { @@ -470,18 +602,23 @@ }); this.listData.code = this.queryData.value; this.setQueryCountData(); + }, //鏍戠偣鍑讳簨浠� handleNodeClick(data, node, prop) { - this.setCountFlag = true; + this.setCountFlag = false; this.queryData = data; this.listData.code = data.value; this.listData.pageIndex = 1; this.listData.pageSize = 10; this.setQueryCountData(); }, + handleIsopenSelect() { + this.$forceUpdate() + }, //鏌ヨ缁熻淇℃伅 async setQueryCountData() { + this.tjlxData.region = 'sjccl'; var data, val; if (this.queryData.value == "countServices") { data = await dataCount_selectCountServices(); @@ -490,16 +627,29 @@ data = await dataCount_selectCountSizes(); } else if (this.queryData.value == "countOperates") { data = await dataCount_selectCountOperates(); + } else if (this.queryData.value == "countSizesByType") { + data = await dataCount_countSizesByType(); + } else if (this.queryData.value == "countSizesByPrj") { + data = await dataCount_countSizesByPrj(); } + + if (this.queryData.value == 'countServices' || this.queryData.value == 'countOperates') { + this.tjlxData.flag = false; + debugger + } else { + this.tjlxData.flag = true; + } + + if (data.code != 200) { return; } - if (this.queryData.value == "countSizes") { - for (var i in data.result) { - data.result[i].count = data.result[i].sizes; - } - } + // if (this.queryData.value == "countSizes") { + // // for (var i in data.result) { + // // data.result[i].count = data.result[i].sizes; + // // } + // } if (this.queryData.value == "countOperates") { for (var i in data.result) { @@ -511,6 +661,7 @@ } this.tableData = data.result; + this.showCountEchart(); this.$nextTick(() => { this.$refs.table.doLayout(); }); @@ -522,23 +673,26 @@ <style lang="less" scoped> .dataStatistics { - height: 98%; - width: 98%; - padding: 1%; + width: calc(100% - 20px); + height: calc(100% - 20px); + padding: 10px; + position: relative; + overflow: hidden; .contentBox { padding-top: 10px; - height: calc(98% - 63px); + + height: calc(100% - 50px); width: 100%; display: flex; justify-content: space-around; .content_Left { - width: 18%; + width: 15%; height: calc(95% - 2px); border-radius: 5px; padding: 1%; } .content_Right { - width: 77%; + width: 80%; height: calc(95% - 2px); border-radius: 5px; padding: 1%; @@ -547,6 +701,7 @@ border-radius: 5px; display: flex; justify-content: flex-end; + padding: 0px !important; } .contentTable { width: 98%; diff --git a/src/views/datamanage/uploadmanage.vue b/src/views/datamanage/uploadmanage.vue index 19342e3..c81d195 100644 --- a/src/views/datamanage/uploadmanage.vue +++ b/src/views/datamanage/uploadmanage.vue @@ -889,12 +889,12 @@ return } if (this.formInline.type == "DOM" || this.formInline.type == "DEM") { - + debugger this.insertLayer.name = this.multipleSelection[0].name.split('.')[0]; this.insertLayer.number = this.multipleSelection.length this.insertLayer.noData = '0'; this.insertDialogVisible = true; - } if (this.formInline.type == "3DML" || this.formInline.type == "BIM") { + } else 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 -- Gitblit v1.9.3