Merge branch 'projects/mescc/develop' into projects/mescc/zjl
This commit is contained in:
		
							
								
								
									
										2
									
								
								.env.dev
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								.env.dev
									
									
									
									
									
								
							@@ -1,7 +1,7 @@
 | 
			
		||||
###
 | 
			
		||||
 # @Author: zhp
 | 
			
		||||
 # @Date: 2024-04-28 13:42:51
 | 
			
		||||
 # @LastEditTime: 2024-05-08 08:57:33
 | 
			
		||||
 # @LastEditTime: 2024-05-10 08:42:44
 | 
			
		||||
 # @LastEditors: zhp
 | 
			
		||||
 # @Description:
 | 
			
		||||
###
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
import * as echarts from "echarts";
 | 
			
		||||
 | 
			
		||||
function __resizeHandler(entries) {
 | 
			
		||||
  console.log(entries);
 | 
			
		||||
  for (const entry of entries) {
 | 
			
		||||
    if (entry.contentBoxSize) {
 | 
			
		||||
      // manipulate contentBoxSize
 | 
			
		||||
@@ -32,7 +33,7 @@ export default {
 | 
			
		||||
    const resizeObserver = new ResizeObserver(__resizeHandler.bind(this));
 | 
			
		||||
 | 
			
		||||
    return {
 | 
			
		||||
      MIN_WIDTH: 400,
 | 
			
		||||
      MIN_WIDTH: 390,
 | 
			
		||||
      chart_mixin_chartInstance: null,
 | 
			
		||||
      chart_mixin_observer: resizeObserver,
 | 
			
		||||
      chart_mixin_options: {
 | 
			
		||||
 
 | 
			
		||||
@@ -67,7 +67,7 @@ const mutations = {
 | 
			
		||||
        state.copilot.energy = payload.data;
 | 
			
		||||
        break;
 | 
			
		||||
      case "efficiency":
 | 
			
		||||
        console.log('222222', payload.chipOee)
 | 
			
		||||
        console.log('222222', payload)
 | 
			
		||||
        state.copilot.efficiency.chipOee = payload.chipOee;
 | 
			
		||||
        state.copilot.efficiency.transformRate = payload.transformRate;
 | 
			
		||||
        state.copilot.efficiency.chipRate = payload.chipRate;
 | 
			
		||||
@@ -81,8 +81,8 @@ const actions = {
 | 
			
		||||
  /** 初始化首页数据 */
 | 
			
		||||
  async initHome({ commit }) {
 | 
			
		||||
    const dataArr = await getHomeInfo();
 | 
			
		||||
    const targetArr = await getHomeTarget();
 | 
			
		||||
    const payload = splitCurrentAndPrevious(dataArr, targetArr);
 | 
			
		||||
    const targetArr = await getHomeInfo();
 | 
			
		||||
    const payload = splitCurrentAndPrevious(dataArr.prodOutputResultDO, targetArr.prodTargetDO);
 | 
			
		||||
    commit("SET_HOME_INFO", payload);
 | 
			
		||||
  },
 | 
			
		||||
  /** 初始化驾驶舱数据 */
 | 
			
		||||
@@ -98,18 +98,25 @@ const actions = {
 | 
			
		||||
      yield: splitCurrentAndPrevious,
 | 
			
		||||
      comprehensive: () => null,
 | 
			
		||||
      efficiency: splitCurrentAndPreviousA,
 | 
			
		||||
    }[source];
 | 
			
		||||
    }[source]
 | 
			
		||||
    console.log(handler)
 | 
			
		||||
    // 获取产量数据
 | 
			
		||||
    // console.log('qqqqqq',handler)
 | 
			
		||||
    let { data: factoryList, type } = await fetcher(period);
 | 
			
		||||
    let { data: factoryList, type } = await fetcher(period)
 | 
			
		||||
    console.log(factoryList,type);
 | 
			
		||||
    let targetList = null;
 | 
			
		||||
    if (source === "yield" || source === "efficiency") {
 | 
			
		||||
      // 获取目标数据
 | 
			
		||||
      let { data } = await fetcher(period, true)
 | 
			
		||||
      console.log('11111',data)
 | 
			
		||||
      targetList = data;
 | 
			
		||||
      // console.log('11111',data)
 | 
			
		||||
      targetList = data
 | 
			
		||||
    }
 | 
			
		||||
    const payload = handler(factoryList, targetList);
 | 
			
		||||
    let factoryData = factoryList.prodOutputResultDO ? factoryList.prodOutputResultDO : factoryList.prodOutputRateDO
 | 
			
		||||
    let targetData = targetList.ProdTargetDO ? targetList.ProdTargetDO : targetList.ProdTargetDO
 | 
			
		||||
    console.log(factoryList.ProdOutputDO)
 | 
			
		||||
    console.log('ryf',factoryList)
 | 
			
		||||
    const payload = handler(factoryData, targetData)
 | 
			
		||||
    console.log(payload)
 | 
			
		||||
    commit("SET_COPILOT_INFO", { type, payload });
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
@@ -127,58 +134,61 @@ function splitCurrentAndPreviousA(factoryListResponse, targetListResponse) {
 | 
			
		||||
 | 
			
		||||
  // 初始数据
 | 
			
		||||
  const { chipOee, transformRate, chipRate, stdRate } = initA();
 | 
			
		||||
  factoryListResponse = [
 | 
			
		||||
    {
 | 
			
		||||
      factory: 0,
 | 
			
		||||
      oee: 0.8,
 | 
			
		||||
      previousYearOee: 0.7,
 | 
			
		||||
      componentConversionEfficiency: 0.8,
 | 
			
		||||
      previousYearComponentConversionEfficiency: 0.7,
 | 
			
		||||
      glassType: 0,
 | 
			
		||||
      yieldRate: 0.8,
 | 
			
		||||
      previousYearYieldRate: 0.7,
 | 
			
		||||
      chipYieldRate: 0.38,
 | 
			
		||||
      componentYieldRate: 0.73,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      factory: 1,
 | 
			
		||||
      oee: 0.8,
 | 
			
		||||
      previousYearOee: 0.7,
 | 
			
		||||
      componentConversionEfficiency: 0.8,
 | 
			
		||||
      previousYearComponentConversionEfficiency: 0.7,
 | 
			
		||||
      glassType: 1,
 | 
			
		||||
      yieldRate: 0.8,
 | 
			
		||||
      previousYearYieldRate: 0.7,
 | 
			
		||||
      chipYieldRate: 0.38,
 | 
			
		||||
      componentYieldRate: 0.73,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      factory: 2,
 | 
			
		||||
      oee: 0.8,
 | 
			
		||||
      previousYearOee: 0.7,
 | 
			
		||||
      componentConversionEfficiency: 0.8,
 | 
			
		||||
      previousYearComponentConversionEfficiency: 0.7,
 | 
			
		||||
      glassType: 1,
 | 
			
		||||
      yieldRate: 0.8,
 | 
			
		||||
      previousYearYieldRate: 0.7,
 | 
			
		||||
      chipYieldRate: 0.38,
 | 
			
		||||
      componentYieldRate: 0.73,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      factory: 3,
 | 
			
		||||
      oee: 0.8,
 | 
			
		||||
      previousYearOee: 0.7,
 | 
			
		||||
      componentConversionEfficiency: 0.8,
 | 
			
		||||
      previousYearComponentConversionEfficiency: 0.7,
 | 
			
		||||
      glassType: 0,
 | 
			
		||||
      yieldRate: 0.8,
 | 
			
		||||
      previousYearYieldRate: 0.7,
 | 
			
		||||
      chipYieldRate: 0.38,
 | 
			
		||||
      componentYieldRate: 0.73,
 | 
			
		||||
    },
 | 
			
		||||
  ];
 | 
			
		||||
  // factoryListResponse = [
 | 
			
		||||
  //   {
 | 
			
		||||
  //     factory: 0,
 | 
			
		||||
  //     oee: 0.8,
 | 
			
		||||
  //     previousYearOee: 0.7,
 | 
			
		||||
  //     componentConversionEfficiency: 0.8,
 | 
			
		||||
  //     previousYearComponentConversionEfficiency: 0.7,
 | 
			
		||||
  //     glassType: 0,
 | 
			
		||||
  //     yieldRate: 0.8,
 | 
			
		||||
  //     previousYearYieldRate: 0.7,
 | 
			
		||||
  //     chipYieldRate: 0.38,
 | 
			
		||||
  //     componentYieldRate: 0.73,
 | 
			
		||||
  //   },
 | 
			
		||||
  //   {
 | 
			
		||||
  //     factory: 1,
 | 
			
		||||
  //     oee: 0.8,
 | 
			
		||||
  //     previousYearOee: 0.7,
 | 
			
		||||
  //     componentConversionEfficiency: 0.8,
 | 
			
		||||
  //     previousYearComponentConversionEfficiency: 0.7,
 | 
			
		||||
  //     glassType: 1,
 | 
			
		||||
  //     yieldRate: 0.8,
 | 
			
		||||
  //     previousYearYieldRate: 0.7,
 | 
			
		||||
  //     chipYieldRate: 0.38,
 | 
			
		||||
  //     componentYieldRate: 0.73,
 | 
			
		||||
  //   },
 | 
			
		||||
  //   {
 | 
			
		||||
  //     factory: 2,
 | 
			
		||||
  //     oee: 0.8,
 | 
			
		||||
  //     previousYearOee: 0.7,
 | 
			
		||||
  //     componentConversionEfficiency: 0.8,
 | 
			
		||||
  //     previousYearComponentConversionEfficiency: 0.7,
 | 
			
		||||
  //     glassType: 1,
 | 
			
		||||
  //     yieldRate: 0.8,
 | 
			
		||||
  //     previousYearYieldRate: 0.7,
 | 
			
		||||
  //     chipYieldRate: 0.38,
 | 
			
		||||
  //     componentYieldRate: 0.73,
 | 
			
		||||
  //   },
 | 
			
		||||
  //   {
 | 
			
		||||
  //     factory: 3,
 | 
			
		||||
  //     oee: 0.8,
 | 
			
		||||
  //     previousYearOee: 0.7,
 | 
			
		||||
  //     componentConversionEfficiency: 0.8,
 | 
			
		||||
  //     previousYearComponentConversionEfficiency: 0.7,
 | 
			
		||||
  //     glassType: 0,
 | 
			
		||||
  //     yieldRate: 0.8,
 | 
			
		||||
  //     previousYearYieldRate: 0.7,
 | 
			
		||||
  //     chipYieldRate: 0.38,
 | 
			
		||||
  //     componentYieldRate: 0.73,
 | 
			
		||||
  //   },
 | 
			
		||||
  // ];
 | 
			
		||||
  if (factoryListResponse) {
 | 
			
		||||
    for (const factory of factoryListResponse) {
 | 
			
		||||
        if (factory.glassType === 1) {
 | 
			
		||||
        console.log(factory.yieldRate)
 | 
			
		||||
      }
 | 
			
		||||
      const fId = getFactoryId(factory);
 | 
			
		||||
      // 获取目标值
 | 
			
		||||
      if (targetListResponse) {
 | 
			
		||||
@@ -222,6 +232,7 @@ function splitCurrentAndPrevious(factoryListResponse, targetListResponse) {
 | 
			
		||||
  const { chipInvest, ftoInvest, chipOutput, stdOutput, bipvOutput } = init();
 | 
			
		||||
  if (factoryListResponse) {
 | 
			
		||||
    for (const factory of factoryListResponse) {
 | 
			
		||||
 | 
			
		||||
      const fId = getFactoryId(factory);
 | 
			
		||||
      // 获取目标值
 | 
			
		||||
      if (targetListResponse) {
 | 
			
		||||
@@ -317,7 +328,6 @@ function initA() {
 | 
			
		||||
  };
 | 
			
		||||
  // 芯片良率
 | 
			
		||||
  const chipRate = deepClone(stdRate);
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    chipOee,
 | 
			
		||||
    transformRate,
 | 
			
		||||
@@ -369,7 +379,7 @@ function random_default(min = 0, max = 1) {
 | 
			
		||||
 | 
			
		||||
/* 接口 */
 | 
			
		||||
async function getHomeInfo() {
 | 
			
		||||
  const { code, data } = await axios.post("/ip/prod-output/query-by-date", {
 | 
			
		||||
  const { code, data } = await axios.post("ip/prod-output/cockpitData", {
 | 
			
		||||
    factorys: [],
 | 
			
		||||
    date: 4,
 | 
			
		||||
  });
 | 
			
		||||
@@ -401,14 +411,14 @@ function getUrl(copilot_module) {
 | 
			
		||||
  };
 | 
			
		||||
  switch (copilot_module) {
 | 
			
		||||
    case "yield":
 | 
			
		||||
      url.comparison = "/ip/prod-output/query-by-date";
 | 
			
		||||
      url.target = "/ip/prod-target/query-by-date";
 | 
			
		||||
      url.comparison = "ip/prod-output/cockpitData";
 | 
			
		||||
      // url.target = "/ip/prod-target/query-by-date";
 | 
			
		||||
      break;
 | 
			
		||||
    case "energy":
 | 
			
		||||
      break;
 | 
			
		||||
    case "efficiency":
 | 
			
		||||
      url.comparison = "/ip/prod-output/query-Rate-List";
 | 
			
		||||
      url.target = "/ip/prod-target/query-rate-target";
 | 
			
		||||
      url.comparison = "ip/prod-output/cockpitDataRate";
 | 
			
		||||
      // url.target = "/ip/prod-target/query-rate-target";
 | 
			
		||||
      break;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -418,7 +428,7 @@ function getUrl(copilot_module) {
 | 
			
		||||
async function doFetch(copilot_module = "yield", fetch_target, params) {
 | 
			
		||||
  const url = getUrl(copilot_module);
 | 
			
		||||
  const { code, data } = await axios.post(
 | 
			
		||||
    fetch_target ? url.target : url.comparison,
 | 
			
		||||
    url.comparison,
 | 
			
		||||
    {
 | 
			
		||||
      ...params,
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -7,13 +7,12 @@
 | 
			
		||||
-->
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="copilot-layout" ref="copilot-layout">
 | 
			
		||||
  <div class="copilot-layout" ref="copilot-layout" :class="[ page== '产量' ? 'produce': 'other' ]">
 | 
			
		||||
    <CopilotHeaderVue :active="page" :period="period" @update:active="page = $event" @update:period="period = $event" />
 | 
			
		||||
 | 
			
		||||
    <YieldCopilot v-if="page == '产量'" :period="period" />
 | 
			
		||||
    <EnergyCopilot v-if="page == '综合'" :period="period" />
 | 
			
		||||
    <EfficiencyCopilot v-if="page == '效率'" :period="period" />
 | 
			
		||||
 | 
			
		||||
    <div class="copilot-footer">© 中建材智能自动化研究院有限公司</div>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
@@ -36,8 +35,24 @@ export default {
 | 
			
		||||
    return {
 | 
			
		||||
      page: "产量",
 | 
			
		||||
      period: "日",
 | 
			
		||||
      currentsStyles: '',
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  // watch: {
 | 
			
		||||
  //   page(val) {
 | 
			
		||||
  //     if (val === '产量') {
 | 
			
		||||
  //       console.log(val)
 | 
			
		||||
  //       this.currentsStyles =
 | 
			
		||||
  //         'height: calc(100% + 38px)'
 | 
			
		||||
  //       console.log(this.currentsStyles)
 | 
			
		||||
  //     } else {
 | 
			
		||||
  //       console.log(val)
 | 
			
		||||
  //       this.currentsStyles = 'height:100%+38px'
 | 
			
		||||
  //       console.log(this.currentsStyles)
 | 
			
		||||
  //     }
 | 
			
		||||
  //     immediate: true
 | 
			
		||||
  //   }
 | 
			
		||||
  // }
 | 
			
		||||
  // mounted() {
 | 
			
		||||
  //   document.body.style.minHeight = "1024px";
 | 
			
		||||
  //   document.body.style.minWidth = "1550px";
 | 
			
		||||
@@ -54,9 +69,8 @@ export default {
 | 
			
		||||
  padding: 16px;
 | 
			
		||||
  background: url(../../assets/images/copilot-bg.png) 0 0 / 100% 100% no-repeat;
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  height: calc(100% + 38px);
 | 
			
		||||
  left: -16px;
 | 
			
		||||
  top: -8px;
 | 
			
		||||
  /* top: -8px; */
 | 
			
		||||
  width: calc(100% + 30px);
 | 
			
		||||
  z-index: 1001;
 | 
			
		||||
  color: #fff;
 | 
			
		||||
@@ -65,6 +79,12 @@ export default {
 | 
			
		||||
  gap: 8px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.produce{
 | 
			
		||||
  height: calc(100% + 38px);
 | 
			
		||||
}
 | 
			
		||||
.other {
 | 
			
		||||
  height: 100vh + 50px;
 | 
			
		||||
}
 | 
			
		||||
.copilot-footer {
 | 
			
		||||
  /** position: absolute;
 | 
			
		||||
  bottom: 10px; **/
 | 
			
		||||
 
 | 
			
		||||
@@ -88,7 +88,7 @@ export default {
 | 
			
		||||
function getTemplate(period, dataList) {
 | 
			
		||||
  const year = new Date().getFullYear();
 | 
			
		||||
  const month = new Date().getMonth() + 1;
 | 
			
		||||
  console.log('11111', dataList);
 | 
			
		||||
  // console.log('11111', dataList);
 | 
			
		||||
  return period == "日" || period == "周"
 | 
			
		||||
    ? [
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2024-05-07 10:25:10
 | 
			
		||||
 * @LastEditTime: 2024-05-08 15:55:24
 | 
			
		||||
 * @LastEditTime: 2024-05-09 08:44:21
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
@@ -53,7 +53,7 @@ export default {
 | 
			
		||||
  display: grid;
 | 
			
		||||
  gap: 8px;
 | 
			
		||||
  grid-template-columns: repeat(2, 1fr);
 | 
			
		||||
  grid-template-rows: repeat(1, 1fr);
 | 
			
		||||
  grid-template-rows: repeat(4, 1fr);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.span-2 {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
<!-- 
 | 
			
		||||
<!--
 | 
			
		||||
    filename: BarChartBase.vue
 | 
			
		||||
    author: liubin
 | 
			
		||||
    date: 2024-04-10 08:59:28
 | 
			
		||||
    description: 
 | 
			
		||||
    description:
 | 
			
		||||
-->
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2024-05-07 13:22:43
 | 
			
		||||
 * @LastEditTime: 2024-05-08 15:52:09
 | 
			
		||||
 * @LastEditTime: 2024-05-09 16:22:24
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
@@ -38,7 +38,7 @@ export default {
 | 
			
		||||
  props: {
 | 
			
		||||
    vHeight: {
 | 
			
		||||
      type: Number,
 | 
			
		||||
      default: 34,
 | 
			
		||||
      default: 36,
 | 
			
		||||
    },
 | 
			
		||||
    legend: {
 | 
			
		||||
      type: Array,
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,9 @@
 | 
			
		||||
    <div class="cities">
 | 
			
		||||
      <CopilotButtons :options="cities" @update:active="handleCityUpdate" />
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="chart" ref="chart"></div>
 | 
			
		||||
    <!-- <div style="flex:1;padding: 0 20%;"> -->
 | 
			
		||||
      <div class="chart" ref="chart"></div>
 | 
			
		||||
    <!-- </div> -->
 | 
			
		||||
    <div class="legend" v-if="period == '月' || period == '年'">
 | 
			
		||||
      <div class="legend-item" v-for="lgd in legend" :key="lgd.label">
 | 
			
		||||
        <span class="legend-item__value">{{ lgd.value }}</span>
 | 
			
		||||
@@ -123,6 +125,7 @@ export default {
 | 
			
		||||
  },
 | 
			
		||||
  watch: {
 | 
			
		||||
    period() {
 | 
			
		||||
      console.log(this.$store.getters.copilot.efficiency)
 | 
			
		||||
      this.initOptions(this.options);
 | 
			
		||||
    },
 | 
			
		||||
    factoryId() {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2024-05-07 10:25:10
 | 
			
		||||
 * @LastEditTime: 2024-05-08 14:54:24
 | 
			
		||||
 * @LastEditTime: 2024-05-09 09:04:07
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2024-05-07 10:04:53
 | 
			
		||||
 * @LastEditTime: 2024-05-08 15:58:14
 | 
			
		||||
 * @LastEditTime: 2024-05-09 08:56:44
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
@@ -73,8 +73,8 @@ export default {
 | 
			
		||||
  flex: 1;
 | 
			
		||||
  display: grid;
 | 
			
		||||
  gap: 16px;
 | 
			
		||||
  grid-template-columns: 1fr 1fr;
 | 
			
		||||
  grid-template-rows: .5fr .5fr;
 | 
			
		||||
  grid-template-columns:repeat(2, 1fr);
 | 
			
		||||
  grid-template-rows: repeat(2, 1fr)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.efficiency-copilot > div {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2024-05-07 10:25:10
 | 
			
		||||
 * @LastEditTime: 2024-05-08 15:29:28
 | 
			
		||||
 * @LastEditTime: 2024-05-09 08:41:11
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
@@ -74,7 +74,7 @@ export default {
 | 
			
		||||
  display: grid;
 | 
			
		||||
  gap: 16px;
 | 
			
		||||
  grid-template-columns: 1fr 1fr;
 | 
			
		||||
  /* grid-template-rows: 1fr 1fr; */
 | 
			
		||||
  grid-template-rows: 1fr 1fr;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.energy-copilot > div {
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,9 @@
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="double-ring-chart">
 | 
			
		||||
    <div ref="chart" class="double-ring-chart__container"></div>
 | 
			
		||||
    <div class="double-ring-chart__container">
 | 
			
		||||
      <div ref="chart" style="height: 90%;"></div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <!-- style="{ height: vHeight + 'vh' }" -->
 | 
			
		||||
    <div class="double-ring-chart__legend">
 | 
			
		||||
      <div v-for="item in legendItems" :key="item.label" class="legend-item">
 | 
			
		||||
@@ -169,7 +171,10 @@ function calculateItems(period, valueTuple) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.double-ring-chart__container {
 | 
			
		||||
  flex: 1;
 | 
			
		||||
  flex:1;
 | 
			
		||||
  padding: 0 10%;
 | 
			
		||||
  /* margin: 10%; */
 | 
			
		||||
  /* min-width: 300px; */
 | 
			
		||||
  height: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@ export default ({
 | 
			
		||||
  tooltip: {},
 | 
			
		||||
  title: {
 | 
			
		||||
    text: titleValue,
 | 
			
		||||
    left: "49%",
 | 
			
		||||
    top: "39%",
 | 
			
		||||
    left: "44%",
 | 
			
		||||
    top: "37%",
 | 
			
		||||
    textAlign: "center",
 | 
			
		||||
    textStyle: {
 | 
			
		||||
      fontWeight: 600,
 | 
			
		||||
@@ -37,7 +37,7 @@ export default ({
 | 
			
		||||
      type: "pie",
 | 
			
		||||
      name: "当前目标",
 | 
			
		||||
      radius: ["70%", "85%"],
 | 
			
		||||
      center: ["50%", "52%"],
 | 
			
		||||
      center: ["45%", "52%"],
 | 
			
		||||
      emptyCircleStyle: {
 | 
			
		||||
        color: "#042c5f33",
 | 
			
		||||
      },
 | 
			
		||||
@@ -46,7 +46,7 @@ export default ({
 | 
			
		||||
    {
 | 
			
		||||
      type: "pie",
 | 
			
		||||
      radius: ["70%", "85%"],
 | 
			
		||||
      center: ["50%", "52%"],
 | 
			
		||||
      center: ["45%", "52%"],
 | 
			
		||||
      avoidLabelOvervlap: false,
 | 
			
		||||
      label: {
 | 
			
		||||
        show: false,
 | 
			
		||||
@@ -97,7 +97,7 @@ export default ({
 | 
			
		||||
    {
 | 
			
		||||
      type: "pie",
 | 
			
		||||
      radius: ["55%", "70%"],
 | 
			
		||||
      center: ["50%", "52%"],
 | 
			
		||||
      center: ["45%", "52%"],
 | 
			
		||||
      avoidLabelOvervlap: false,
 | 
			
		||||
      label: {
 | 
			
		||||
        show: false,
 | 
			
		||||
 
 | 
			
		||||
		Viittaa uudesa ongelmassa
	
	Block a user