Browse Source

非结构化

tengmingxue 1 year ago
parent
commit
a27d3c1efb
1 changed files with 135 additions and 46 deletions
  1. 135 46
      src/views/dashboard/workbench/component/UnstructuredStatistic.vue

+ 135 - 46
src/views/dashboard/workbench/component/UnstructuredStatistic.vue

@@ -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();