gzhbk

js

 

import * as echarts from \'../../../../components/ec-canvas/echarts.js\';
let chart = null;
const app  = getApp();
Page({

  data: {
    tabs: [
      {
        key: \'tab1\',
        title: \'合同关系\',
      },
      {
        key: \'tab2\',
        title: \'从众关系\',
      },
    ],
    type: \'0\',
    customer:{},//客户信息
    treeData:{}
  },
  //tab切换
  onTabsChange(e) {

    const { key } = e.detail
    const index = this.data.tabs.map((n) => n.key).indexOf(key)
    this.setData({
      key,
      type: index,

    });
    var customerNo=this.data.customer.customerNo;
    this.getTreeDate(this.data.type,customerNo);
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    if(options.customer){
      this.setData({
        customer:JSON.parse(options.customer)
      })
    }
    var type =0;
    var customerNo = this.data.customer.customerNo;
    console.log("customerNo",customerNo);
   this.getTreeDate(type,customerNo);
    console.log("tree data:begin ",this.data.treeData);
    this.initChart();
  },
 
  getTreeDate:function(type,customerNo){
    const that = this;
    wx.request({
      url: app.myGlobal.httpUrl+\'crmTreeView/queryData.do?customerNo=\'+customerNo+\'&type=\'+type,
      data:{customerNo:customerNo,type:type},
      success:function(res){
        console.log(res);
        if(res.statusCode==200 && res.data.code==\'200\' && res.data.value!=null){
          that.setData({
            treeData:res.data.value
          });
          console.log("that.data.treeData",that.data.treeData);
          that.initChart()
        }
      },fail:function(res){
        wx.showToast({
          title: \'查询无\'+(type==0?\'合同\':\'从众\')+\'关系\',
        })
      },complete:function(res){
        console.log("");
      }
    })
  },

  initChart() {
    const that = this;

    console.log("tree data:after", that.data.treeData);

    let data = that.data.treeData;
    if(!data){
      console.error("没有树的数据",data);
      wx.showToast({
        title: \'没有查询到树的数据\',
      })
      return ;
    }
    this.ecComponent = this.selectComponent(\'#mychart-dom-bar\')
    this.ecComponent.init((canvas, width, height) => {
      let data = that.data.treeData;
      let id = data.id
      chart = echarts.init(canvas, null, {
        width: width,
        height: height
      });
      canvas.setChart(chart);
      let option = {
        tooltip: {
          show: true,
          trigger: \'item\',
          triggerOn: \'click\',
          formatter: function (params) {
            // console.log(params)
            return params.data.intro
          },
          position: function (pos, params, dom, rect, size) {
            // console.log(pos)
            // 鼠标在左侧时 tooltip 显示到右侧,鼠标在右侧时 tooltip 显示到左侧。
            var obj = { top: pos[1] + 3, right: size.viewSize[0] - pos[0] + 8 };
            if (params.data.id == id) {
              obj = { top: pos[1] + 3, left: pos[0] + 8 };
            }
            return obj;
          }
        },
        series: [
          {
            type: \'tree\',
            data: [data],
            top: \'5%\',
            left: \'5%\',
            bottom: \'5%\',
            right: \'5%\',
            symbolSize: 12,
            edgeShape: \'polyline\', // 直线
            orient: \'vertical\', //竖着

            label: {
              position: \'right\',
              verticalAlign: \'bottom\',
              align: \'left\',
              fontSize: 12
            },

            leaves: {
              label: {
                position: \'left\',
                verticalAlign: \'bottom\',
                align: \'right\',
                fontSize: 12
              }
            },

            expandAndCollapse: true,
            animationDuration: 550,
            animationDurationUpdate: 750
          }
        ]
      };
      chart.setOption(option);
      chart.on(\'click\', function (params) {
        console.log(params)
      });
      return chart;
    })
  },

})
 
 
xml:
 
<view class="page">
  <view class="page_bd">

    <wux-tabs wux-class="bordered" controlled current="{{ key }}" bindchange="onTabsChange">
      <block wx:for="{{ tabs }}" wx:key="key">
        <wux-tab key="{{ item.key }}" title="{{ item.title }}"></wux-tab>
      </block>
    </wux-tabs>

    <view class="hetong" wx:if="{{type==0}}">
      <view class="box" style="height: 1000rpx;border:none">
        <echart id="mychart-dom-bar" canvas-id="mychart-bar" ec="{{ treeData }}"></echart>
      </view>
    </view>

    <view class="conghzong" wx:if="{{type==1}}">
      <view class="box" style="height: 1000rpx;border:0">
        <echart id="mychart-dom-bar" canvas-id="mychart-bar" ec="{{ treeData }}"></echart>
      </view>
    </view>
  </view>

</view>
 
 
josn:
{
  "navigationBarTitleText": "客户关系图",
  "usingComponents": {
    "echart": "/components/ec-canvas/ec-canvas",
    "wux-tabs": "/components/wux/tabs/index",
    "wux-tab": "/components/wux/tab/index"
  }
}
 
 
---
wcss
/* pages/admin/client/treeView/treeView.wxss */
/* .page_bd .wux-tabs {
  position: fixed;
  bottom: 10rpx;
  left: 0;
} */

分类:

技术点:

相关文章: