jwyu 1 年之前
父节点
当前提交
f206334e90

+ 7 - 0
src/api/modules/dataSource.js

@@ -56,7 +56,14 @@ const apiDataSource={
     // 获取终端编码数据
     terminalCodeArr:params=>{
         return http.get('/data_stat/terminal/code',{})
+    },
+
+    //数据刷新失败详情列表
+    updateFailDetailList:params=>{
+        return http.get('/data_stat/edb_update_stat/failed/detail',params)
     }
+
+
     
 
 }

+ 4 - 3
src/views/dataSource_manage/components/DelEDBTable.vue

@@ -149,11 +149,12 @@ export default {
         // 设置列的宽度
         getColWidth(key){
             const widthMap={
-                DataUpdateTime:'150px',
-                ErDataUpdateDate:'200px',
+                EdbCode:'180px',
+                CreateTime:'150px',
                 StartDate:'150px',
                 LatestDate:'150px',
-                CreateTime:'150px'
+                DataUpdateTime:'150px',
+                ErDataUpdateDate:'120px',
             }
 
             return widthMap[key]

+ 5 - 8
src/views/dataSource_manage/components/DetailTable.vue

@@ -143,7 +143,7 @@ export default {
             checkAll:false,
             tableColOpts:[],
             tableData:[],
-            pageSize:15,
+            pageSize:10,
             page:1,
             total:0,
             tableLoading:false,
@@ -260,14 +260,11 @@ export default {
         // 设置列的宽度
         getColWidth(key){
             const widthMap={
-                EdbNameSource:'120px',
-                DataUpdateTime:'120px',
+                EdbCode:'150px',
+                LatestDate:'150px',
+                DataUpdateTime:'180px',
                 ErDataUpdateDate:'200px',
-                NeedRefresh:'200px',
-                HasRefresh:'200px',
-                SourceUpdateTime:'120px',
-                DataUpdateResult:'120px',
-                SourceUpdateFailedReason:'120px'
+                UpdateTime:'180px'
             }
 
             return widthMap[key]

+ 54 - 10
src/views/dataSource_manage/components/EDBInfoChangeTable.vue

@@ -1,6 +1,22 @@
 <template>
     <div class="edbinfo-table-wrap">
-        <div>
+        <div class="top-wrap">
+            <div class="filter-box">
+                <el-select
+                    v-model="filterState.changeType"
+                    placeholder="请选择变更类型"
+                    clearable
+                    style="width:250px"
+                    @change="handleRefreshList"
+                >
+                    <el-option
+                        v-for="item in changeTypeOpt"
+                        :key="item.value"
+                        :label="item.label"
+                        :value="item.value"
+                    />
+                </el-select> 
+            </div>
             <img src="~@/assets/img/data_m/set_icon.png" alt="" style="cursor: pointer;float:right" @click="showSetTableCols=true">
         </div>
         <el-table
@@ -68,7 +84,22 @@ export default {
                 dateVal:this.$moment().format('YYYY-MM-DD')||'',
                 sortKey:'',
                 sortType:'',
+                changeType:''
             },
+            changeTypeOpt:[
+                {
+                    label:'基础信息变更',
+                    value:1
+                },
+                {
+                    label:'数据明细变更',
+                    value:0
+                },
+                {
+                    label:'新增指标',
+                    value:2
+                }
+            ],
 
             showSetTableCols:false,
         }
@@ -86,6 +117,7 @@ export default {
                 SortParam:this.filterState.sortKey,
                 SortType:this.filterState.sortType,
                 CreateTime:this.filterState.dateVal,
+                UpdateType:this.filterState.changeType===''?-1:this.filterState.changeType
             }).then(res=>{
                 this.tableLoading=false
                 if(res.Ret===200){
@@ -153,13 +185,12 @@ export default {
         // 设置列的宽度
         getColWidth(key){
             const widthMap={
-                EdbName:'150px',
-                DataUpdateTime:'150px',
-                ErDataUpdateDate:'200px',
+                EdbCode:'150px',
+                CreateTime:'150px',
                 StartDate:'150px',
                 LatestDate:'150px',
-                CreateTime:'150px',
-                EdbNameSource:'150px'
+                DataUpdateTime:'150px',
+                ErDataUpdateDate:'200px',
             }
 
             return widthMap[key]
@@ -172,11 +203,24 @@ export default {
 .edbinfo-table-wrap{
     .top-wrap{
         display: flex;
-        justify-content: flex-end;
+        justify-content: space-between;
+        align-items: flex-start;
         margin-bottom: 30px;
-        .set-icon{
-            width: 40px;
-            cursor: pointer;
+        .filter-box{
+            margin-right: 100px;
+            display: flex;
+            flex-wrap: wrap;
+            align-items: center;
+            gap: 10px 20px;
+        }
+        .right-opt-box{
+            display: flex;
+            align-items: center;
+            gap: 20px;
+            .set-icon{
+                width: 40px;
+                cursor: pointer;
+            }
         }
     }
 }

+ 138 - 4
src/views/dataSource_manage/components/GLRefreshFailDetail.vue

@@ -1,4 +1,4 @@
-<template>
+ <template>
     <el-dialog
         title="更新失败指标详情"
         :visible.sync="show"
@@ -40,6 +40,9 @@
                     prop="Num"
                     align="center"
                 >
+                    <template slot-scope="scope">
+                        <span style="color:#409EFF;cursor: pointer;" @click="handleShowFailDetail(scope.row)">{{scope.row.Num}}</span>
+                    </template>
                 </el-table-column>
                 <el-table-column
                     label="原因"
@@ -71,6 +74,51 @@
                 <div>5、打开文件目录下的一个Excel,选中“钢联数据2.0”插件,点击“更新所有页”按钮后,等待十几秒,查看Excel左下角是否提示额度超限。</div>
             </div>
         </el-dialog>
+
+        <!-- 失败详情 -->
+        <el-dialog
+            title="指标详情"
+            :visible.sync="showEDBList"
+            :close-on-click-modal="false"
+            :center="true"
+            v-dialogDrag
+            :append-to-body="true"
+            width="80vw"
+        >
+            <div class="gl-refresh-fail-edb-list-wrap">
+                <p class="info"> 
+                    <span>终端名称:{{info.Name}} </span>
+                    <span>文件夹路径:{{info.DirPath}} </span>
+                    <span>频度:{{activeFrequency}} </span>
+                    <span>原因:{{activeReason}} </span>
+                </p>
+                <el-table
+                    :data="edbList"
+                    border
+                    height="700"
+                >
+                    <el-table-column
+                        v-for="col in edbListTableCol"
+                        :key="col.key"
+                        :label="col.label"
+                        :prop="col.key"
+                        align="center"
+                    />
+                    <div slot="empty">
+                        <tableNoData text="暂无数据"/>
+                    </div>
+                </el-table>
+                <el-pagination
+                    layout="total,prev,pager,next,jumper"
+                    background
+                    @current-change="handleCurrentChange"
+                    :page-size="pageSize"
+                    :total="total"
+                    style="float: right;margin-top:20px"
+                />
+            </div>
+        </el-dialog>
+
     </el-dialog>
     
 </template>
@@ -106,7 +154,53 @@ export default {
     data() {
         return {
             info:{},
-            showBZ:false
+            showBZ:false,
+
+            showEDBList:false,
+            edbList:[],
+            edbListTableCol:[
+                {
+                    label:'指标全称',
+                    key:'EdbName'
+                },
+                {
+                    label:'指标编码',
+                    key:'EdbCode'
+                },
+                {
+                    label:'起始时间',
+                    key:'StartDate'
+                },
+                {
+                    label:'最新日期',
+                    key:'LatestDate'
+                },
+                {
+                    label:'最新值',
+                    key:'LatestValue'
+                },
+                {
+                    label:'终端编码',
+                    key:'TerminalCode'
+                },
+                {
+                    label:'创建人',
+                    key:'SysUserRealName'
+                },
+                {
+                    label:'频度',
+                    key:'Frequency'
+                },
+                {
+                    label:'单位',
+                    key:'Unit'
+                },
+            ],
+            activeFrequency:'',
+            activeReason:'',
+            page:1,
+            pageSize:10,
+            total:0
         }
     },
     methods: {
@@ -123,7 +217,37 @@ export default {
                     this.info=res.Data
                 }
             })
-        }
+        },
+
+        handleShowFailDetail(e){
+            this.page=1
+            this.edbList=[]
+            this.activeFrequency=e.Frequency
+            this.activeReason=e.SourceUpdateFailedReason
+            this.getFailDetailList()
+            this.showEDBList=true
+        },
+
+        async getFailDetailList(){
+            const res=await apiDataSource.updateFailDetailList({
+                CreateTime:this.date,
+                TerminalCode:this.TerminalCode,
+                Frequency:this.activeFrequency,
+                SourceUpdateFailedReason:this.activeReason,
+                CurrentIndex:this.page,
+                PageSize:this.pageSize,
+            })
+            if(res.Ret===200){
+                const arr=res.Data.List||[]
+                this.edbList=arr
+                this.total=res.Data.Paging.Totals
+            }
+        },
+
+        handleCurrentChange(e){
+            this.page=e
+            this.getFailDetailList()
+        },
     },
 }
 </script>
@@ -133,5 +257,15 @@ export default {
     color: #333;
     padding-bottom: 30px;
 }
-
+.gl-refresh-fail-edb-list-wrap{
+    padding-bottom: 80px;
+    .info{
+        color: #000;
+        margin-bottom: 20px;
+        span{
+            display: inline-block;
+            margin-right: 20px;
+        }
+    }
+}
 </style>

+ 3 - 3
src/views/dataSource_manage/components/StatisticTable.vue

@@ -22,10 +22,10 @@
                     <span>{{col.ColumnName}}</span>
                     <el-tooltip 
                         effect="dark" 
-                        :content="getTableHeadTips(col.ColumnKey)" 
                         placement="top-start"
                     >
                         <i class="el-icon-info" v-if="tipsKeysArr.includes(col.ColumnKey)"></i>
+                        <div slot="content" v-html="getTableHeadTips(col.ColumnKey)"></div>
                     </el-tooltip>
                 </template>
                 <template slot-scope="scope">
@@ -147,8 +147,8 @@ export default {
         // table说明文案
         getTableHeadTips(key){
             const tipsMap={
-                NeedRefreshNum:'今日该终端需定时刷新的指标数量',
-                HasRefreshNum:'今日该终端发起刷新任务的指标数量',
+                NeedRefreshNum:'1、今日该终端需定时刷新的指标数量<br>2、今日需刷新指标数=今日已更新指标数+今日更新失败指标数',
+                HasRefreshNum:'1、今日该终端发起刷新任务的指标数量<br>2、今日发起刷新任务指标数=今日已刷新成功指标数+今日刷新失败指标数',
                 RefreshSuccessNum:'今日该终端刷新成功的指标数量',
                 RefreshFailedNum:'今日该终端刷新失败的指标数量',
                 UpdateFailedNum:'今日该终端成功发起刷新任务,但指标数据未变化的指标数量',