瀏覽代碼

Merge branch 'ETA1.5.4'

cxmo 1 年之前
父節點
當前提交
aeb6a3800b

+ 1 - 0
src/components/edbHistoryDialog.vue

@@ -1,4 +1,5 @@
 <template>
+    <!-- ETA1.5.4 将该组件作为一个页面,若上线后无回滚需求可删除 -->
   <el-dialog
 		:visible.sync="isOpenDialog"
 		:close-on-click-modal="false"

+ 22 - 0
src/main.js

@@ -24,6 +24,28 @@ import{endCalc,optionTimeCalc,init}from'@/utils/TimeOnPage.js';
 import setting from '@/mixins/theme.js'
 Vue.prototype.$setting = setting;
 
+Vue.prototype.toHistoryPage = (EdbInfoId,from=[])=>{
+    console.log('from',from)
+    let pathArr = from.map(p=>{
+        return {
+            name:p.name||'',
+            path:p.path||''
+        }
+    })
+    pathArr.push({
+        name:'指标溯源',
+        path:'/edbHistory'
+    })
+    sessionStorage.setItem('edbHistoryPath',JSON.stringify(pathArr))
+    const href = router.resolve({
+        path:'/edbHistory',
+        query:{
+            edbId:EdbInfoId,
+        }
+    }).href
+    window.open(href,"_blank")
+}
+
 //Import Froala Editor
 import "froala-editor/js/plugins.pkgd.min.js";
 import "froala-editor/js/plugins/quick_insert.min.js";

+ 9 - 0
src/routes/modules/oldRoutes.js

@@ -81,6 +81,15 @@ export default [
           keepAlive: false,
         },
       },
+      {
+        path: "edbHistory",
+        component: () => import("@/views/edbHistoryPage.vue"),
+        name: "指标溯源",
+        hidden: true,
+        meta: {
+          keepAlive: false,
+        },
+      },
     ],
   },
 

+ 2 - 2
src/utils/registryComponents.js

@@ -19,8 +19,8 @@ import selectUnit from '@/components/selectUnit.vue'
 Vue.component('selectUnit',selectUnit)
 
 //查看指标历史
-import edbHistoryDialog from '@/components/edbHistoryDialog.vue';
-Vue.component('edbHistoryDialog',edbHistoryDialog);
+/* import edbHistoryDialog from '@/components/edbHistoryDialog.vue';
+Vue.component('edbHistoryDialog',edbHistoryDialog); */
 
 //缺省图统一
 import tableNoData from '@/components/tableNoData.vue'

+ 17 - 1
src/views/Home.vue

@@ -131,7 +131,8 @@
               
               <!-- 面包屑 -->
               <el-breadcrumb separator="/" class="breadcrumb-inner">
-                <el-breadcrumb-item
+                <template v-if="$route.path!=='/edbHistory'">
+                    <el-breadcrumb-item
                   v-for="item in $route.matched"
                   :key="item.path"
                 >
@@ -190,6 +191,18 @@
                   </span>
                   <span v-else>{{ item.name }}</span>
                 </el-breadcrumb-item>
+                </template>
+                <template v-else>
+                    <el-breadcrumb-item v-for="(item,index) in edbHistoryPath" :key="item.path">
+                        <span v-if="index===0">{{item.name}}</span>
+                        <span v-else>
+                            <span @click.stop="$router.push(item.path)" :style="`cursor: pointer; color: ${$setting.theme_color}`">
+                                {{item.name}}
+                            </span>
+                        </span>
+                    </el-breadcrumb-item>
+                </template>
+                
               </el-breadcrumb>
             </div>
 
@@ -346,6 +359,9 @@ export default {
     },
   },
   computed: {
+    edbHistoryPath(){
+        return JSON.parse(sessionStorage.getItem('edbHistoryPath'))||[]
+    },
     breadSelfName() {
       return this.$store.state.breadSelfName;
     },  

+ 58 - 1
src/views/chartFrame_manage/common/config.js

@@ -29,7 +29,7 @@ export const textTool = {
         }]
     }
 }
-//基础节点
+//基础节点 有图分类的节点
 export const baseNode = {
     shape:'rect',
     width: 120,
@@ -86,6 +86,63 @@ export const baseNode = {
         }
     },
 }
+//基础节点2 无图分类的节点
+export const baseNode2 = {
+    shape:'rect',
+    width: 120,
+    height: 50,
+    attrs:{
+        text:{ //文字换行
+            textWrap: {
+                width: -10,
+                ellipsis: true,
+            }
+        },
+        body:{
+            fill:'#FFF1E9',//背景色
+            stroke:'#F7A340',//边框色
+            strokeWidth:1,//边框宽度
+            strokeDasharray:'',//虚线,如果赋值为0保存缩略图时会省略掉边框
+        },
+        label:{ //与svg text属性相同
+            fill:'#E37318',//文字颜色
+            fontSize:14,//文字大小
+            fontWeight:'normal',//文字粗细
+            fontStyle:'normal',//斜体
+            textDecoration:'normal',//下划线
+        }
+    },
+    ports: { //基础连接桩
+        items: [
+            { group: 'port-top', id: 'p_top' },
+            { group: 'port-bottom', id: 'p_bottom' },
+            { group: 'port-left', id: 'p_left' },
+            { group: 'port-right', id: 'p_right' },
+        ],
+        groups: {
+            "port-top": {
+                    position: 'top',
+                    zIndex: 20,
+                    ...portStyle
+            },
+            "port-bottom": {
+                    position: 'bottom',
+                    zIndex: 20,
+                    ...portStyle
+            },
+            "port-left": {
+                    position: 'left',
+                    zIndex: 20,
+                    ...portStyle
+            },
+            "port-right": {
+                    position: 'right',
+                    zIndex: 20,
+                    ...portStyle
+            },
+        }
+    },
+}
 //基础线条
 export const baseEdge = {
     attrs:{

+ 2 - 2
src/views/chartFrame_manage/common/event.js

@@ -12,8 +12,8 @@ export const myEvents = (graph,tempThis=null)=>{
 
     graph.on('node:click',({node,e})=>{
         if(!window.location.pathname.startsWith('/chartframe')) return 
-        console.log('node.data',node.data)
-        if(node.data&&node.data.id){
+        //console.log('node.data',node.data)
+        if(node.data){
             tempThis&&tempThis.$emit('showDialog',node.data)
         }
     })

+ 50 - 15
src/views/chartFrame_manage/components/frameContainer.vue

@@ -32,7 +32,7 @@
 <script>
 import { ElDropdownMenu } from 'element-ui';
 import { myGraph } from '../common/graph';
-import { baseNode , textTool } from '../common/config';
+import { baseNode , baseNode2 , textTool } from '../common/config';
 import FrameToolBar from './frameToolBar.vue';
 export default {
     components:{ElDropdownMenu,FrameToolBar},
@@ -95,7 +95,7 @@ export default {
             //如果有内容,初始化画布内容
             this.FrameworkContent.length&&this.graph.fromJSON(JSON.parse(this.FrameworkContent))
             //如果有内容,将画布内容居中
-            this.FrameworkContent.length&&this.graph.scrollToContent({ animation: { duration: 600 }})
+            this.FrameworkContent.length&&this.graph.scrollToContent(/* { animation: { duration: 600 }} */)
             //如果有内容,遍历每个节点,赋值chartNum
             this.FrameworkContent.length&&this.setNodeInfo()
             //如果是非编辑页,加载完成画布内容后冻结画布
@@ -113,48 +113,83 @@ export default {
                 const currentNode = nodes.find(item=>item.id===node.NodeId)
                 if(currentNode){
                     currentNode.removeTools()
+                    if(!currentNode.data.id) return
                     const toolOption = this.getToolOption({chartNum:node.ChartNum||0,color:currentNode.attrs.label.fill})
                     currentNode.addTools(toolOption)
                 }
             })
         },
         //添加/编辑节点
-        editNode(node){
+        editNode({nodeLink={},nodeName='',nodeId}){
             //获取视口范围
             const position = this.graph.getContentArea()
             const nodes = this.graph.getNodes()
-            const currentNode = nodes.find(item=>item.id===node.nodeId)
+            const currentNode = nodes.find(item=>item.id===nodeId)
+            let tempNode = currentNode
             if(currentNode){
-                currentNode.data.id=node.nodeLink.MyChartClassifyId
-                currentNode.label=node.nodeName
-                currentNode.data.nodeLink = node.nodeLink
+                const oldId = currentNode.data.id
+                const newId = nodeLink.MyChartClassifyId||0
+                const isSetStyle = (oldId===0&&newId!==0)||(oldId!==0&&newId===0)
+                isSetStyle&&this.setNodeStyle(newId,tempNode)
+                
+                tempNode.data.id=nodeLink.MyChartClassifyId||0
+                tempNode.label=nodeName
+                tempNode.data.nodeLink = nodeLink
+                /* currentNode.data.id=nodeLink.MyChartClassifyId||0
+                currentNode.label=nodeName
+                currentNode.data.nodeLink = nodeLink
                 currentNode.removeTools()
-                const toolOption = this.getToolOption({chartNum:node.nodeLink.ChartNum,color:currentNode.attrs.label.fill})
-                currentNode.addTools(toolOption)
+                const newId = currentNode.data.id
+                const isSetStyle = (oldId===0&&newId!==0)||(oldId!==0&&newId===0)
+                isSetStyle&&this.setNodeStyle(newId,currentNode)
+                if(!currentNode.data.id) return 
+                const toolOption = this.getToolOption({chartNum:nodeLink.ChartNum,color:currentNode.attrs.label.fill})
+                currentNode.addTools(toolOption) */
             }else{
                 //在视口范围内添加节点
-                this.graph.addNode({
-                    ...baseNode,
+                const nodeStyle = nodeLink.MyChartClassifyId?baseNode:baseNode2
+                tempNode = this.graph.addNode({
+                    ...nodeStyle,
                     ...{
                     x:position.x+position.width/2+20,
                     y:position.y+position.height/2+20,
                     width:120,
                     height:50,
                     data:{
-                        id:node.nodeLink.MyChartClassifyId,//存储节点对应的myETA分类id
-                        nodeLink:node.nodeLink,
+                        id:nodeLink.MyChartClassifyId||0,//存储节点对应的myETA分类id
+                        nodeLink:nodeLink,
                     },
-                    label:node.nodeName||'',
-                    tools:[this.getToolOption({chartNum:node.nodeLink.ChartNum,color:baseNode.attrs.label.fill})]
+                    label:nodeName,
                 }})
             }
+            tempNode.removeTools()
+            if(!tempNode.data.id) return 
+            const toolOption = this.getToolOption({chartNum:nodeLink.ChartNum,color:tempNode.attrs.label.fill})
+            tempNode.addTools(toolOption)
         },
+        //设置节点图分类的数量
         getToolOption({chartNum,color}){
             const options = _.cloneDeep(textTool)
             options.args.markup[0].textContent = chartNum +''
             options.args.markup[0].attrs.fill = color
             return options
         },
+        //设置有无图分类节点的样式
+        //type: 0 无图分类 非0 有图分类
+        //非0 表示节点从无图分类转换成有图分类,节点样式重置为baseNode
+        //0 表示节点从有图分类转换成无图分类,节点样式重置为baseNode2
+        setNodeStyle(type,node){
+            const {attrs={}} = type?baseNode:baseNode2
+            const {body,label} = attrs
+            const styleMap = {
+                'label/fill':label.fill,
+                'body/fill':body.fill,
+                'body/stroke':body.stroke
+            }
+            for(let k in styleMap){
+                node.attr(k,styleMap[k])
+            }
+        },
         //点击右键菜单事件
         handleContext(key){
             const select_cell = this.graph.getSelectedCells()

+ 13 - 5
src/views/chartFrame_manage/frameEditor.vue

@@ -36,10 +36,10 @@
                     :rules="rules"
                 >
                     <el-form-item label="节点名称" prop="nodeName">
-                        <el-input v-model.trim="modifyNode.nodeName" placeholder="请输入节点名称" style="width:217px;"></el-input>
+                        <el-input v-model="modifyNode.nodeName" placeholder="请输入节点名称" style="width:217px;"></el-input>
                     </el-form-item>
                     <el-form-item label="节点链接" prop="nodeLink">
-                        <el-select v-model="modifyNode.nodeLink" value-key="MyChartClassifyId" placeholder="请选择节点链接" style="width:217px;">
+                        <el-select v-model="modifyNode.nodeLink" value-key="MyChartClassifyId" placeholder="请选择节点链接" clearable style="width:217px;">
                             <el-option v-for="item in myList" 
                                 :key="item.MyChartClassifyId"
                                 :label="item.MyChartClassifyName"
@@ -75,11 +75,14 @@ export default {
                 Nodes:[]
             },
             lockLoding:null,
-            modifyNode: {},//正在编辑的节点
+            modifyNode: {
+                nodeName:'',
+                nodeLink:{}
+            },//正在编辑的节点
             isModifyNodeDialogShow: false,//编辑节点弹窗
             rules: {
                 nodeName: [{ required: true, message: "请输入节点名称", trigger: "blur" }],
-                nodeLink: [{ required: true, message: "请选择节点链接", trigger: "blur" }]
+                /* nodeLink: [{ required: true, message: "请选择节点链接", trigger: "blur" }] */
             },
             myList:[],//我的图库列表
         };
@@ -93,7 +96,12 @@ export default {
         },
         //编辑节点,更改子组件节点信息,隐藏弹窗
         async editNode() {
-            await this.$refs.refForm.validate();
+            this.modifyNode.nodeName&&(this.modifyNode.nodeName = this.modifyNode.nodeName.trim())
+            try{
+                await this.$refs.refForm.validate();
+            }catch(e){
+                return
+            }
             if(!this.$refs.container) return
             this.$refs.container.editNode(this.modifyNode)
             this.$message.success(`${this.modifyNode.nodeId ? '编辑' : '添加'}节点成功`);

+ 4 - 0
src/views/chartFrame_manage/index.vue

@@ -536,6 +536,10 @@ export default {
         },
         //点击框架内节点
         handleShowDialog({id,nodeLink}){
+            if(!id){
+                this.$message.warning("该节点没有选择图分类")
+                return
+            }
             //请求接口看有没有数据
             mychartInterface.myList({
                 PageSize:1200,

+ 10 - 1
src/views/chartRelevance_manage/crossVarietyAnalysis/components/edbTableSection.vue

@@ -14,7 +14,16 @@
         align="center"
       >
         <template slot-scope="scope">
-          <span>{{ scope.row[item.key] }}</span>
+            <span v-if="item.key==='SourceName'">
+                {{scope.row[item.key]}}
+                <i 
+                    class="el-icon-tickets" 
+                    style="color:#409EFF;font-size:18px" 
+                    @click="toHistoryPage(scope.row.EdbInfoId,$route.matched)"
+                    v-if="scope.row.EdbType===2"
+                />
+            </span>
+          <span v-else>{{ scope.row[item.key] }}</span>
         </template>
       </el-table-column>
       <el-table-column label="操作" key="Copy" align="center" width="140">

+ 9 - 0
src/views/chartRelevance_manage/relevance/list.vue

@@ -230,6 +230,15 @@
                     clearable
                   />
                 </div>
+                <span v-else-if="item.key==='SourceName'">
+                    {{scope.row[item.key]}}
+                    <i 
+                      class="el-icon-tickets" 
+                      style="color:#409EFF;font-size:18px" 
+                      @click="toHistoryPage(scope.row.EdbInfoId,$route.matched)"
+                      v-if="scope.row.EdbType===2"
+                    />
+                  </span>
                 <span v-else>{{ scope.row[item.key] }}</span>
               </template>
             </el-table-column>

+ 3 - 3
src/views/dataEntry_manage/adjustdata/adjustData.vue

@@ -27,7 +27,7 @@
               >
               </el-option>
             </el-select>
-            <i class="el-icon-tickets" style="color:#409EFF;font-size:18px" @click="isLookHistory=true;lookEdbId=select_target" v-if="select_target"/>
+            <i class="el-icon-tickets" style="color:#409EFF;font-size:18px" @click="toHistoryPage(select_target,$route.matched);lookEdbId=select_target" v-if="select_target"/>
           </li>
           <li v-show="old_edb_info.id">
             <label style="margin-right:5px;"> 查询结果:</label>
@@ -137,10 +137,10 @@
     </div>
 
     <!-- 指标历史记录 -->
-    <edbHistoryDialog
+    <!-- <edbHistoryDialog
       :isOpenDialog.sync="isLookHistory"
       :edbId="lookEdbId"
-    />
+    /> -->
   </div>
 </template>
 

+ 3 - 3
src/views/dataEntry_manage/chartSetting.vue

@@ -633,7 +633,7 @@
                     <i 
                       class="el-icon-tickets" 
                       style="color:#409EFF;font-size:18px" 
-                      @click="isLookHistory=true;lookEdbId=scope.row.EdbInfoId"
+                      @click="toHistoryPage(scope.row.EdbInfoId,$route.matched)"
                       v-if="scope.row.EdbType===2"
                     />
                   </span>
@@ -783,10 +783,10 @@
     />
 
     <!-- 指标历史记录 -->
-    <edbHistoryDialog
+    <!-- <edbHistoryDialog
       :isOpenDialog.sync="isLookHistory"
       :edbId="lookEdbId"
-    />
+    /> -->
   </div>
 </template>
 

+ 7 - 7
src/views/dataEntry_manage/databaseList.vue

@@ -241,7 +241,7 @@
 							<el-button v-if="activeTab==='Chart'&&isEdbBtnShow('saveEdb')"
 								type="text" @click.stop="saveEdbLimit">保存</el-button>
 							<el-button v-if="EdbData.EdbType===2&&isEdbBtnShow('toSource')"
-								type="text" @click="isLookHistory=true;lookEdbId=selected_edbid">指标溯源</el-button>
+								type="text" @click="toHistoryPage(selected_edbid,$route.matched);lookEdbId=selected_edbid">指标溯源</el-button>
 							<el-popover v-if="showPopver"
 								placement="bottom-end" 
 								trigger="hover"
@@ -356,7 +356,7 @@
 			@cancel="computed_type=0"
 			@addCallBack="addComputedCallBack"
 			@openPrev="isOpenComputed=true"
-			@lookHistory="id => {isLookHistory=true;lookEdbId=id;}"
+			@lookHistory="id => {toHistoryPage(id,$route.matched);lookEdbId=id;}"
 		/>
 		<!-- 计算弹窗控制 -->
 		<el-dialog
@@ -403,7 +403,7 @@
 			@cancel="computed_type=0"
 			@addCallBack="addComputedCallBack"
 			@openPrev="isOpenComputed=true"
-			@lookHistory="id => {isLookHistory=true;lookEdbId=id;}"
+			@lookHistory="id => {toHistoryPage(id,$route.matched);lookEdbId=id;}"
 			@changeSource="changeComputedType"
 		/>
 		<!-- 一键成图弹窗 -->
@@ -454,7 +454,7 @@
 			@cancel="computed_type=0"
 			@addCallBack="addComputedCallBack"
 			@openPrev="isOpenComputed=true"
-			@lookHistory="id => {isLookHistory=true;lookEdbId=id;}"
+			@lookHistory="id => {toHistoryPage(id,$route.matched);lookEdbId=id;}"
 			@changeSource="changeComputedType"
 		/>
 
@@ -477,10 +477,10 @@
 		/>
 
 		 <!-- 指标历史记录 -->
-    <edbHistoryDialog
+    <!-- <edbHistoryDialog
       :isOpenDialog.sync="isLookHistory"
       :edbId="lookEdbId"
-    />
+    /> -->
 		<!-- 指数修匀弹窗 -->
 		<SmoothEdbDialog 
 			:is-open-smooth="computed_type==='alpha'"
@@ -489,7 +489,7 @@
 			@cancel="computed_type=0"
 			@openPrev="isOpenComputed=true"
 			@addCallBack="addComputedCallBack"
-			@lookHistory="id => {isLookHistory=true;lookEdbId=id;}"
+			@lookHistory="id => {toHistoryPage(id,$route.matched);lookEdbId=id;}"
 		/>
 	</div>
 </template>

+ 127 - 0
src/views/edbHistoryPage.vue

@@ -0,0 +1,127 @@
+<template>
+    <!-- 指标溯源页 -->
+    <div class="edb-history-page-wrap">
+        <div class="edb-title">{{treeData.EdbName||''}}</div>
+        <div class="edb-source-wrap">
+            <vue2-org-tree
+                :data="treeData"
+                :props="{
+                    label: 'EdbName',
+                    children: 'Child',
+                }"
+                :horizontal="false"
+                :render-content="renderContent"
+                @on-node-click="handleClickNode"
+            />
+        </div>
+    </div>
+</template>
+
+<script>
+import { dataBaseInterface } from '@/api/api.js';
+export default {
+    data() {
+        return {
+            treeData:{}
+        };
+    },
+    methods: {
+        renderContent(h, data) {
+            return (
+                <el-tooltip content={data.RuleTitle} placement='top' popper-class='node-tooltip'>
+                    <span class='node'>{data.EdbName}</span>
+                </el-tooltip>
+            )
+        },
+        handleClickNode(e, data) {
+            //EdbInfoType=1 跳预测指标详情,=0跳指标库详情
+            const { ClassifyId, UniqueCode, EdbInfoId, EdbInfoType } = data
+            let { href } =
+            this.$router.resolve({ path: EdbInfoType === 1 ? '/predictEdb' : '/database', query: { code: UniqueCode, id:
+            EdbInfoId, classifyId: ClassifyId } });
+            window.open(href, '_blank');
+        },
+        async getData() {
+            const res = await dataBaseInterface.getEdbCreateHistory({ EdbInfoId: Number(this.$route.query.edbId) })
+            if (res.Ret !== 200) return
+            this.treeData = res.Data;
+        }
+    },
+    mounted(){
+        if(this.$route.query.edbId){
+            this.getData()
+        }
+    }
+};
+</script>
+
+<style scoped lang="scss">
+.edb-history-page-wrap{
+    display: flex;
+    flex-direction: column;
+    height: calc(100vh - 120px);
+    overflow:hidden ;
+    background-color: #fff;
+    border-radius: 4px;
+    border:1px solid #C8CDD9;
+    box-sizing: border-box;
+    padding:30px;
+    .edb-title{
+        margin:0 -30px;
+        text-align: center;
+        padding-bottom: 30px;
+        border-bottom: 1px solid #C8CDD9;
+        font-size: 16px;
+    }
+    .edb-source-wrap{
+        text-align: center;
+    }
+    .edb-source-wrap{
+        flex: 1;
+        overflow: auto;
+    }
+}
+</style>
+<style lang="scss">
+.edb-history-page-wrap{
+  .org-tree-container {
+    margin: 0 auto;
+    /* .org-tree-node-label {  } */
+    .org-tree-node-label-inner{
+        cursor: pointer;
+        background-color: #F2F6FA;
+        color: #333333;
+        padding:20px;
+        border-radius: 4px;
+        font-size: 16px;
+        max-width: 100px;
+        &:hover{
+            color:#0052D9;
+            text-decoration: underline;
+            background-color: #ECF5FF;
+        }
+    }
+    .org-tree{
+        >.org-tree-node{
+            >.org-tree-node-label{
+                .org-tree-node-label-inner{
+                    background-color: #0052D9;
+                    color: white;
+                }
+            }
+        }
+    }
+    .org-tree-node-children {
+        .org-tree-node ~ .org-tree-node{
+            padding-left: 40px;
+        }
+    }
+    
+  }
+}
+.node-tooltip{
+    font-size: 14px;
+    padding:10px;
+    text-align: center;
+}
+</style>

+ 3 - 3
src/views/mychart_manage/components/chartDetailDia.vue

@@ -506,7 +506,7 @@
                   <i 
                     class="el-icon-tickets" 
                     style="color:#409EFF;font-size:18px" 
-                    @click="isLookHistory=true;lookEdbId=scope.row.EdbInfoId"
+                    @click="toHistoryPage(scope.row.EdbInfoId,$route.matched);lookEdbId=scope.row.EdbInfoId"
                     v-if="scope.row.EdbType===2"
                   />
                 </span>
@@ -566,10 +566,10 @@
     />
 
     <!-- 指标历史记录 -->
-    <edbHistoryDialog
+    <!-- <edbHistoryDialog
       :isOpenDialog.sync="isLookHistory"
       :edbId="lookEdbId"
-    />
+    /> -->
   </div>
 </template>
 

+ 4 - 4
src/views/predictEdb_manage/addPredicEdb.vue

@@ -291,7 +291,7 @@
                     >
                     </el-option>
                   </el-select>
-                  <i class="el-icon-tickets" style="color:#409EFF;font-size:18px" @click="isLookHistory=true;lookEdbId=item.self_target;" v-if="item.self_target"/>
+                  <i class="el-icon-tickets" style="color:#409EFF;font-size:18px" @click="toHistoryPage(item.self_target,$route.matched);lookEdbId=item.self_target;" v-if="item.self_target"/>
                 </div>
                 <div class="item">
                   <span class="label">
@@ -406,14 +406,14 @@
       :edbList="dynamicDifferList"
       :info="dynamicDifferInfo"
       @ensureBack="saveDynamicDifferRule"
-      @lookHistory="id => {isLookHistory=true;lookEdbId=id;}"
+      @lookHistory="id => {toHistoryPage(id,$route.matched);lookEdbId=id;}"
     />
 
     <!-- 指标历史记录 -->
-    <edbHistoryDialog
+    <!-- <edbHistoryDialog
       :isOpenDialog.sync="isLookHistory"
       :edbId="lookEdbId"
-    />
+    /> -->
     
   </div>
 </template>

+ 7 - 27
src/views/predictEdb_manage/predictEdb.vue

@@ -193,7 +193,7 @@
 							<el-button type="text" @click="saveEdbHandle" 
 									v-if="detail_show_chart&&isEdbBtnShow('edbPreData_save')">保存</el-button>
 							<el-button v-permission="permissionBtn.predictEdbPermission.edbPreData_edbSource"
-								type="text" @click="isLookHistory=true;lookEdbId=select_id">指标溯源</el-button>
+								type="text" @click="toHistoryPage(select_id,$route.matched);lookEdbId=select_id">指标溯源</el-button>
 							<el-popover v-if="showPopover"
 								placement="bottom-end" 
 								trigger="hover"
@@ -217,26 +217,6 @@
 								</div>
 							</el-popover>
 						</div>
-						<!-- <div class="edb-tool">
-							<el-button v-permission="permissionBtn.predictEdbPermission.edbPreData_enNameSetting"
-								type="text" @click="clickEdbNameHandle" v-if="currentLang==='ch'||!edb_nameEn">
-								设置英文名称
-							</el-button>
-							<el-button v-permission="permissionBtn.predictEdbPermission.edbPreData_edbSource"
-							type="text" @click="isLookHistory=true;lookEdbId=select_id">指标溯源</el-button>
-							<el-button v-permission="permissionBtn.predictEdbPermission.edbPreData_update"
-								type="text" @click="updateEdbPartHandle">刷新</el-button>
-							<el-button type="text" @click="editEdbHandle('')" 
-								v-if="edbButton.OpButton&&isEdbBtnShow('edbPreData_edit')">编辑</el-button>
-							<el-button type="text" @click="saveEdbHandle" 
-								v-if="detail_show_chart&&isEdbBtnShow('edbPreData_save')">保存</el-button>
-							<el-button v-permission="permissionBtn.predictEdbPermission.edbPreData_recalcu"
-								type="text" @click="updateEdbHandle">重新计算</el-button>
-							<el-button class="deletesty" @click="delEdbHandle" type="text"
-								v-if="edbButton.DeleteButton&&isEdbBtnShow('edbPreData_del')">删除</el-button>
-							<el-button v-permission="permissionBtn.predictEdbPermission.edbPreData_copyData"
-								type="text" @click="copyData">复制数据</el-button>
-						</div> -->
 					</div>
 
 					<!--  -->
@@ -390,7 +370,7 @@
 			@cancel="computed_type=0"
 			@addCallBack="addComputedCallBack"
 			@openPrev="isOpenComputed=true"
-			@lookHistory="id => {isLookHistory=true;lookEdbId=id;}"
+			@lookHistory="id => {toHistoryPage(id,$route.matched);lookEdbId=id;}"
 		/>
 
 		<!-- 同比同差计算弹窗 -->
@@ -402,7 +382,7 @@
 			@cancel="computed_type=0"
 			@addCallBack="addComputedCallBack"
 			@openPrev="isOpenComputed=true"
-			@lookHistory="id => {isLookHistory=true;lookEdbId=id;}"
+			@lookHistory="id => {toHistoryPage(id,$route.matched);lookEdbId=id;}"
 			@changeSource="changeComputedType"
 		/>
 
@@ -421,7 +401,7 @@
 			@cancel="computed_type=0"
 			@addCallBack="addComputedCallBack"
 			@openPrev="isOpenComputed=true"
-			@lookHistory="id => {isLookHistory=true;lookEdbId=id;}"
+			@lookHistory="id => {toHistoryPage(id,$route.matched);lookEdbId=id;}"
 			@changeSource="changeComputedType"
 		/>
 			
@@ -458,10 +438,10 @@
 		/>
 
 		 <!-- 指标历史记录 -->
-    <edbHistoryDialog
+    <!-- <edbHistoryDialog
       :isOpenDialog.sync="isLookHistory"
       :edbId="lookEdbId"
-    />
+    /> -->
 	<!-- 指数修匀弹窗 -->
 	<SmoothEdbDialog 
 			:is-open-smooth="computed_type==='alpha'"
@@ -471,7 +451,7 @@
 			@cancel="computed_type=0"
 			@openPrev="isOpenComputed=true"
 			@addCallBack="addComputedCallBack"
-			@lookHistory="id => {isLookHistory=true;lookEdbId=id;}"
+			@lookHistory="id => {toHistoryPage(id,$route.matched);lookEdbId=id;}"
 		/>
 
 	</div>