Explorar el Código

bugfix:1.ETA图库-新增图表-查看数据无法正确跳转到预测指标;2.编辑预测指标时,提示选择分类

cxmo hace 1 año
padre
commit
b6af526635

+ 19 - 3
src/views/predictEdb_manage/addPredicEdb.vue

@@ -322,7 +322,7 @@
               <!-- 年度值倒退 -->
               <div v-else-if="item.predict_type===16">
                 <div class="item">
-                  <span class="label">分配方式</span>
+                  <span class="label">余额分配方式</span>
                   <el-select
                     v-model="item.distribute_type"
                     placeholder="请选择方式"
@@ -369,8 +369,7 @@
         />
       </div>
       <div class="empty-box" v-show="!edbData.DataList">
-        <img src="~@/assets/img/cus_m/nodata.png" alt="" />
-        <p>暂无信息</p>
+        <tableNoData text="暂无信息"/>
       </div>
     </div>
 
@@ -630,8 +629,25 @@ export default {
         if (res.Ret !== 200) return;
 
         this.classifyArr = res.Data.AllNodes || [];
+        //将formData.classify转为数组的格式
+        this.formData.classify = this.findParentNodeHandle(this.classifyArr,this.formData.classify).reverse()
+
       });
     },
+    findParentNodeHandle(arr, id) {
+      // 遍历取父级code push数组
+      for (let i of arr) {
+        if (i.ClassifyId === id) {
+          return [i.ClassifyId];
+        }
+        if (i.Children) {
+          let node = this.findParentNodeHandle(i.Children, id);
+          if (node) {
+            return node.concat(i.ClassifyId);
+          }
+        }
+      }
+    },
 
     searchLoad() {
       if (!this.search_have_more) return;

+ 3 - 12
src/views/predictEdb_manage/components/childData.vue

@@ -31,17 +31,7 @@
         </template>
       </el-table-column>
       <div slot="empty" style="padding: 50px 0 320px">
-        <img
-          src="~@/assets/img/data_m/table_no.png"
-          alt=""
-          style="
-            display: block;
-            width: 135px;
-            height: 90px;
-            margin: 20px auto 10px;
-          "
-        />
-        <span>暂无数据</span>
+        <tableNoData text="暂无数据" size="mini"/>
       </div>
     </el-table>
     <ul
@@ -153,8 +143,9 @@ export default {
         this.$emit('updateTit',{
           edb_name: Item.EdbName,
           edb_nameEn: Item.EdbNameEn,
-          userid: Item.SysUserId
+          userid: Item.SysUserId,
         })
+        this.$emit('setCurrentClassify',Item.ClassifyId)
 
       })
     },

+ 2 - 0
src/views/predictEdb_manage/components/edbDetail.vue

@@ -80,6 +80,8 @@ export default {
                     userid: res.Data.EdbInfo.SysUserId
                 })
                 this.$emit('setOpera',res.Data.Button)
+
+                this.$emit('setCurrentClassify',res.Data.EdbInfo.ClassifyId)
                 //更新图片
                 if(type==='updateImg' || !res.Data.EdbInfo.ChartImage) {
                     console.log(type);

+ 4 - 7
src/views/predictEdb_manage/mixins/mixin.js

@@ -41,15 +41,12 @@ export default {
   methods: {
     /* 根据unicode展开树结构并选中当前图表 重置图表配置 日期区间 */
     selectCurrentNode({ code, id, classifyId }) {
-        console.log('params',code,id,classifyId)
-      let deep_arr = _.cloneDeep(this.treeData);
-      // 查找图表的分类父级id
-      let arr = this.findParentNodeHandle(deep_arr, classifyId).reverse(); // 父的父的父-父的父-父
-      this.defaultShowNodes = arr;
+      console.log('params',code,id,classifyId)
       this.select_node = code;
-      this.$refs.treeRef.setCurrentKey(this.select_node);
-      // // 重置筛选状态
       this.select_id = id;
+      
+      // 查找图表的分类父级id
+      
     },
 
     // 查找树节点所有父节点

+ 32 - 12
src/views/predictEdb_manage/predictEdb.vue

@@ -14,7 +14,7 @@
 						<el-button type="primary" @click="addComputedHandler" style="margin-right:10px;">计算指标</el-button>
 						<change-lang :lang="currentLang" style="height: 32px;" @changeLang="changeLangHandle"/>
 				</div>
-				<div class="search-cont">
+				<div class="search-cont" v-loading="searchLoading">
 					<el-select
 						v-model="search_txt"
 						ref="searchRef"
@@ -177,6 +177,7 @@
 							ref="detailComponentRef"
 							
 							@updateTit="setNameBack"
+							@setCurrentClassify="setCurrentClassify"
 							@setOpera="(obj) => { edbButton = obj }"
 							@openEnNameDia="openEnNameDia"
 						/>
@@ -216,17 +217,7 @@
 						</el-col>
 					</div>
 					<div v-if="!edb_total" class="nodata">
-						<img
-						src="~@/assets/img/data_m/table_no.png"
-						alt=""
-						style="
-							display: block;
-							width: 140px;
-							height: 148px;
-							margin: 10% auto 0;
-						"
-						/>
-						暂无指标
+						<tableNoData text="暂无指标"/>
 					</div>
 				</div>
 			</div>
@@ -556,6 +547,7 @@ export default {
 			/* 查看历史弹窗 */
 			isLookHistory: false,
 			lookEdbId: 0,
+			searchLoading:false,
 		};
 	},
 	computed: {
@@ -621,7 +613,35 @@ export default {
 		}
 	},
 	methods: {
+		setCurrentClassify(classifyId){
+			//获取指标详情后才能拿到准确的classifyId
+			//根据准备的id查找指标的父级目录并展开
+			let deep_arr = _.cloneDeep(this.treeData);
+			let arr = this.findParentNodeHandle(deep_arr, classifyId).reverse();
 
+			this.defaultShowNodes = arr;
+			this.$refs.treeRef.setCurrentKey(this.select_node);
+
+			//滚动到高亮节点位置
+			this.$nextTick(()=>{
+				setTimeout(() => {
+				const dom = document.querySelector(".el-tree-node.is-current");
+				const parentDom = document.querySelector(".tree-cont");
+				if (!dom || !parentDom) {
+					this.searchLoading = false;
+					return;
+				}
+				if (dom.offsetTop > parentDom.offsetHeight) {
+					parentDom.scrollTo({
+						top: dom.offsetTop - parentDom.offsetHeight / 2,
+						left: 0,
+						behavior: "smooth",
+					});
+				}
+				this.searchLoading = false;
+			}, 300);
+			})
+		},
 		setNameBack({edb_name,edb_nameEn,userid}) {
 			this.edbName=edb_name;
 			this.edb_nameEn= edb_nameEn;