|
|
@@ -2,7 +2,7 @@
|
|
|
* @Author: tengmingxue 1473375109@qq.com
|
|
|
* @Date: 2023-09-13 10:06:22
|
|
|
* @LastEditors: tengmingxue 1473375109@qq.com
|
|
|
- * @LastEditTime: 2024-02-29 21:23:44
|
|
|
+ * @LastEditTime: 2024-03-01 20:48:34
|
|
|
* @FilePath: \xld-gis-admin\src\views\dashboard\workbench\component\TopCardStatistic.vue
|
|
|
* @Description: 统计卡片
|
|
|
-->
|
|
|
@@ -22,11 +22,11 @@
|
|
|
<div class="contenter">
|
|
|
<div class="res-title">DOM影像(L1级)</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">160</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[0].sum}}</div>
|
|
|
<div class="name">文件个数</div>
|
|
|
</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">200GB</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[0].size}}GB</div>
|
|
|
<div class="name">文件总大小</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -41,11 +41,11 @@
|
|
|
<div class="contenter">
|
|
|
<div class="res-title">DOM影像(L2级)</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">160</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[1].sum}}</div>
|
|
|
<div class="name">文件个数</div>
|
|
|
</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">200GB</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[1].size}}GB</div>
|
|
|
<div class="name">文件总大小</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -60,11 +60,11 @@
|
|
|
<div class="contenter">
|
|
|
<div class="res-title">DOM影像(L3级)</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">160</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[2].sum}}</div>
|
|
|
<div class="name">文件个数</div>
|
|
|
</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">200GB</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[2].size}}GB</div>
|
|
|
<div class="name">文件总大小</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -79,11 +79,11 @@
|
|
|
<div class="contenter">
|
|
|
<div class="res-title">DEM高程数据(L1级)</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">160</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[3].sum}}</div>
|
|
|
<div class="name">文件个数</div>
|
|
|
</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">200GB</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[3].size}}GB</div>
|
|
|
<div class="name">文件总大小</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -98,11 +98,11 @@
|
|
|
<div class="contenter">
|
|
|
<div class="res-title">DEM高程数据(L2级)</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">160</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[4].sum}}</div>
|
|
|
<div class="name">文件个数</div>
|
|
|
</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">200GB</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[4].size}}GB</div>
|
|
|
<div class="name">文件总大小</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -117,16 +117,37 @@
|
|
|
<div class="contenter">
|
|
|
<div class="res-title">DEM高程数据(L3级)</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">160</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[5].sum}}</div>
|
|
|
<div class="name">文件个数</div>
|
|
|
</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">200GB</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[5].size}}GB</div>
|
|
|
<div class="name">文件总大小</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</a-col>
|
|
|
+ <!-- <tempalte v-for="(item, index) in dataTypeStatistic" :key="item.typeName">
|
|
|
+ <a-col v-if="index >= 0 && index < 6" :span="8" class="card">
|
|
|
+ <div class="card-info">
|
|
|
+ <div class="bkg">
|
|
|
+ <div :class="item.imgClass"></div>
|
|
|
+ </div>
|
|
|
+ <div class="contenter">
|
|
|
+ <div class="res-title">{{item.typeName}}</div>
|
|
|
+ <div class="res-file">
|
|
|
+ <div class="num">{{item.sun}}</div>
|
|
|
+ <div class="name">文件个数</div>
|
|
|
+ </div>
|
|
|
+ <div class="res-file">
|
|
|
+ <div class="num">{{item.size}} GB</div>
|
|
|
+ <div class="name">文件总大小</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </a-col>
|
|
|
+ </tempalte> -->
|
|
|
+
|
|
|
</a-row>
|
|
|
</div>
|
|
|
<!-- 第二页 -->
|
|
|
@@ -140,11 +161,11 @@
|
|
|
<div class="contenter">
|
|
|
<div class="res-title">BIM数据(L1级)</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">160</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[6].sum}}</div>
|
|
|
<div class="name">文件个数</div>
|
|
|
</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">200GB</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[6].size}}GB</div>
|
|
|
<div class="name">文件总大小</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -159,11 +180,11 @@
|
|
|
<div class="contenter">
|
|
|
<div class="res-title">BIM数据(L2级)</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">160</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[7].sum}}</div>
|
|
|
<div class="name">文件个数</div>
|
|
|
</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">200GB</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[7].size}}GB</div>
|
|
|
<div class="name">文件总大小</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -178,11 +199,11 @@
|
|
|
<div class="contenter">
|
|
|
<div class="res-title">BIM数据(L3级)</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">160</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[8].sum}}</div>
|
|
|
<div class="name">文件个数</div>
|
|
|
</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">200GB</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[8].size}}GB</div>
|
|
|
<div class="name">文件总大小</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -192,16 +213,16 @@
|
|
|
<a-col :span="8" class="card">
|
|
|
<div class="card-info">
|
|
|
<div class="bkg">
|
|
|
- <div class="img4"></div>
|
|
|
+ <div class="img5"></div>
|
|
|
</div>
|
|
|
<div class="contenter">
|
|
|
- <div class="res-title">矢量数据</div>
|
|
|
+ <div class="res-title">文件数据</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">160</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[9].sum}}</div>
|
|
|
<div class="name">文件个数</div>
|
|
|
</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">200GB</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[9].size}}GB</div>
|
|
|
<div class="name">文件总大小</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -211,40 +232,59 @@
|
|
|
<a-col :span="8" class="card">
|
|
|
<div class="card-info">
|
|
|
<div class="bkg">
|
|
|
- <div class="img5"></div>
|
|
|
+ <div class="img6"></div>
|
|
|
</div>
|
|
|
<div class="contenter">
|
|
|
- <div class="res-title">文件数据</div>
|
|
|
+ <div class="res-title">倾斜摄影</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">{{ file.num }}</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[10].sum}}</div>
|
|
|
<div class="name">文件个数</div>
|
|
|
</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">{{ file.size }}GB</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[10].size}}GB</div>
|
|
|
<div class="name">文件总大小</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</a-col>
|
|
|
-
|
|
|
<a-col :span="8" class="card">
|
|
|
<div class="card-info">
|
|
|
<div class="bkg">
|
|
|
- <div class="img6"></div>
|
|
|
+ <div class="img4"></div>
|
|
|
</div>
|
|
|
<div class="contenter">
|
|
|
- <div class="res-title">倾斜摄影</div>
|
|
|
+ <div class="res-title">激光点云</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">160</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[11].sum}}</div>
|
|
|
<div class="name">文件个数</div>
|
|
|
</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">200GB</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[11].size}}GB</div>
|
|
|
<div class="name">文件总大小</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</a-col>
|
|
|
+ <!-- <tempalte v-for="(item, x) in dataTypeStatistic" :key="item.typeName">
|
|
|
+ <a-col v-if="x>=6 && x < 12" :span="8" class="card">
|
|
|
+ <div class="card-info">
|
|
|
+ <div class="bkg">
|
|
|
+ <div :class="item.imgClass"></div>
|
|
|
+ </div>
|
|
|
+ <div class="contenter">
|
|
|
+ <div class="res-title">{{item.typeName}}</div>
|
|
|
+ <div class="res-file">
|
|
|
+ <div class="num">{{item.sun}}</div>
|
|
|
+ <div class="name">文件个数</div>
|
|
|
+ </div>
|
|
|
+ <div class="res-file">
|
|
|
+ <div class="num">{{item.size}} GB</div>
|
|
|
+ <div class="name">文件总大小</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </a-col>
|
|
|
+ </tempalte> -->
|
|
|
</a-row>
|
|
|
</div>
|
|
|
|
|
|
@@ -257,18 +297,19 @@
|
|
|
<div class="img4"></div>
|
|
|
</div>
|
|
|
<div class="contenter">
|
|
|
- <div class="res-title">激光点云</div>
|
|
|
+ <div class="res-title">矢量数据</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">160</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[12].sum}}</div>
|
|
|
<div class="name">文件个数</div>
|
|
|
</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">200GB</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[12].size}}GB</div>
|
|
|
<div class="name">文件总大小</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</a-col>
|
|
|
+
|
|
|
<a-col :span="8" class="card">
|
|
|
<div class="card-info">
|
|
|
<div class="bkg">
|
|
|
@@ -277,11 +318,11 @@
|
|
|
<div class="contenter">
|
|
|
<div class="res-title">条带数据</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">{{ file.num }}</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[13].sum}}</div>
|
|
|
<div class="name">文件个数</div>
|
|
|
</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">{{ file.size }}GB</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[13].size}}GB</div>
|
|
|
<div class="name">文件总大小</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -295,16 +336,36 @@
|
|
|
<div class="contenter">
|
|
|
<div class="res-title">其他数据</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">160</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[14].sum}}</div>
|
|
|
<div class="name">文件个数</div>
|
|
|
</div>
|
|
|
<div class="res-file">
|
|
|
- <div class="num">200GB</div>
|
|
|
+ <div class="num">{{dataTypeStatistic[14].size}}GB</div>
|
|
|
<div class="name">文件总大小</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</a-col>
|
|
|
+ <!-- <tempalte v-for="(item, y) in dataTypeStatistic" :key="item.typeName">
|
|
|
+ <a-col v-if="y>=12 && y < dataTypeStatistic.length" :span="8" class="card">
|
|
|
+ <div class="card-info">
|
|
|
+ <div class="bkg">
|
|
|
+ <div :class="item.imgClass"></div>
|
|
|
+ </div>
|
|
|
+ <div class="contenter">
|
|
|
+ <div class="res-title">{{item.typeName}}</div>
|
|
|
+ <div class="res-file">
|
|
|
+ <div class="num">{{item.sun}}</div>
|
|
|
+ <div class="name">文件个数</div>
|
|
|
+ </div>
|
|
|
+ <div class="res-file">
|
|
|
+ <div class="num">{{item.size}} GB</div>
|
|
|
+ <div class="name">文件总大小</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </a-col>
|
|
|
+ </tempalte> -->
|
|
|
</a-row>
|
|
|
</div>
|
|
|
</a-carousel>
|
|
|
@@ -312,7 +373,11 @@
|
|
|
</template>
|
|
|
<script lang="ts">
|
|
|
import { defineComponent, onMounted, toRefs, onUnmounted, nextTick, reactive } from 'vue';
|
|
|
-import { DataStoreGroupByStatistics,QueryDataStoreData,QueryDRResourceFileSize } from '/@/api/interface/interface';
|
|
|
+import {
|
|
|
+ DataStoreGroupByStatistics,
|
|
|
+ QueryDataStoreData,
|
|
|
+ QueryDRResourceFileSize,
|
|
|
+} from '/@/api/interface/interface';
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'UnstructuredStatistic',
|
|
|
@@ -332,6 +397,23 @@ export default defineComponent({
|
|
|
num: '0',
|
|
|
size: '0',
|
|
|
},
|
|
|
+ dataTypeStatistic: [
|
|
|
+ { typeName: 'DOM影像(L1级)', typeAlias: 'DOML1级', sum: 0, size: 0, imgClass: 'img1' },
|
|
|
+ { typeName: 'DOM影像(L2级)', typeAlias: 'DOML2级', sum: 0, size: 0, imgClass: 'img1' },
|
|
|
+ { typeName: 'DOM影像(L3级)', typeAlias: 'DOML3级', sum: 0, size: 0, imgClass: 'img1' },
|
|
|
+ { typeName: 'DEM高程数据(L1级)', typeAlias: 'DEML1级', sum: 0, size: 0, imgClass: 'img2' },
|
|
|
+ { typeName: 'DEM高程数据(L2级)', typeAlias: 'DEML2级', sum: 0, size: 0, imgClass: 'img2' },
|
|
|
+ { typeName: 'DEM高程数据(L3级)', typeAlias: 'DEML3级', sum: 0, size: 0, imgClass: 'img2' },
|
|
|
+ { typeName: 'BIM数据(L2级)', typeAlias: 'BIML2', sum: 0, size: 0, imgClass: 'img3' },
|
|
|
+ { typeName: 'BIM数据(L3级)', typeAlias: 'BIML3', sum: 0, size: 0, imgClass: 'img3' },
|
|
|
+ { typeName: 'BIM数据(L3+)', typeAlias: 'BIML3+', sum: 0, size: 0, imgClass: 'img3' },
|
|
|
+ { typeName: '文件数据', typeAlias: 'pdf文件', sum: 0, size: 0, imgClass: 'img5' },
|
|
|
+ { typeName: '倾斜摄影', typeAlias: '倾斜摄影', sum: 0, size: 0, imgClass: 'img6' },
|
|
|
+ { typeName: '激光点云', typeAlias: '激光点云', sum: 0, size: 0, imgClass: 'img4' },
|
|
|
+ { typeName: '矢量数据', typeAlias: 'shp文件', sum: 0, size: 0, imgClass: 'img4' },
|
|
|
+ { typeName: '条带数据', typeAlias: 'tiff文件', sum: 0, size: 0, imgClass: 'img5' },
|
|
|
+ { typeName: '其他数据', typeAlias: '其他', sum: 0, size: 0, imgClass: 'img6' },
|
|
|
+ ],
|
|
|
});
|
|
|
|
|
|
nextTick(() => {});
|
|
|
@@ -345,12 +427,19 @@ export default defineComponent({
|
|
|
data.file.num = res[0]['num'];
|
|
|
data.file.size = parseFloat(parseInt(res[0]['size']) / (1024 * 1024 * 1024)).toFixed(2);
|
|
|
}
|
|
|
- console.log('文件数据统计', res, data.file);
|
|
|
- const result = await QueryDataStoreData({})
|
|
|
- console.log('非结构化数据统计',result)
|
|
|
- debugger
|
|
|
- const res2 = await QueryDRResourceFileSize({})
|
|
|
- console.log('非结构化数据分类统计',res2)
|
|
|
+
|
|
|
+ const res2 = await QueryDRResourceFileSize({}) as any;
|
|
|
+ //文件个数字段sumcount(SUMCOUNT),文件大小字段SUMSIZE
|
|
|
+ console.log('非结构化数据分类统计', res2);
|
|
|
+ if(res2 && res2.length >0){
|
|
|
+ data.dataTypeStatistic.forEach(item => {
|
|
|
+ let obj = res2.find(r=>r.NAME === item.typeAlias)
|
|
|
+ if(obj){
|
|
|
+ item.sum = obj?.SUMCOUNT
|
|
|
+ item.size = obj?.SUMSIZE
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
};
|
|
|
onMounted(() => {
|
|
|
queryData();
|