Compare commits

..

1 Commits

Author SHA1 Message Date
d6dd66c4b3 fix bugs 47, 145 2025-08-11 11:51:28 +07:00
13 changed files with 132 additions and 173 deletions

View File

@ -140,7 +140,6 @@
&.ant-btn-popup-default { &.ant-btn-popup-default {
background:map-deep-get($config, #{$theme}, "ant-btn-popup-bg"); background:map-deep-get($config, #{$theme}, "ant-btn-popup-bg");
color:map-deep-get($config, #{$theme}, "ant-btn-popup-color"); color:map-deep-get($config, #{$theme}, "ant-btn-popup-color");
border: 1px solid map-deep-get($config, #{$theme}, "ant-btn-popup-border");
} }
&.ant-btn-danger { &.ant-btn-danger {

View File

@ -181,7 +181,6 @@ $config: (
ant-checkbox-border: #424242, ant-checkbox-border: #424242,
ant-btn-popup-bg: #212224, ant-btn-popup-bg: #212224,
ant-btn-popup-color: #FFFFFFD9, ant-btn-popup-color: #FFFFFFD9,
ant-btn-popup-border: #424242,
), ),
light: (w-g5: $--color-gray_555, light: (w-g5: $--color-gray_555,
g5-w: $--color-white, g5-w: $--color-white,
@ -326,6 +325,5 @@ $config: (
ant-checkbox-border: #D9D9D9, ant-checkbox-border: #D9D9D9,
ant-btn-popup-bg: #FFFFFF, ant-btn-popup-bg: #FFFFFF,
ant-btn-popup-color: #000000E0, ant-btn-popup-color: #000000E0,
ant-btn-popup-border: #D9D9D9,
), ),
); );

View File

@ -7,6 +7,8 @@
</label> </label>
</v-col> </v-col>
<v-col :cols="label ? textCols : ''"> <v-col :cols="label ? textCols : ''">
<a-checkbox v-model="chkValue" :disabled="disabledFlag" :readonly="readonly || false" <a-checkbox v-model="chkValue" :disabled="disabledFlag" :readonly="readonly || false"
:required="required || false" @change="modifyValue"> :required="required || false" @change="modifyValue">
</a-checkbox> </a-checkbox>
@ -61,10 +63,6 @@ export default {
require: false, require: false,
default: true default: true
}, },
labelClass: {
type: String,
require: false,
},
}, },
data() { data() {
return { return {

View File

@ -0,0 +1,46 @@
// Sankey chart options
export function getSankeyChartOption({ isDarkMode = false, data = [], links = [] }) {
const chartOption = {
backgroundColor: '#FFFFFF',
series: [
{
data,
links,
layoutIterations: 0,
type: 'sankey',
left: 25.0,
top: 20.0,
right: 120,
bottom: 50.0,
nodeGap: 10,
nodeAlign: 'left',
lineStyle: {
color: 'source',
curveness: 0.5,
},
// nodeWidth:10,
// triggerEvent: true,
itemStyle: {
//color: '#1f77b4',
//borderColor: '#1f77b4'
},
label: {
color: isDarkMode
? '#FFFFFFD9'
: '#000000E0',
// fontFamily: 'Arial',
fontSize: 14,
},
},
],
tooltip: {
trigger: 'item',
},
};
return chartOption;
}
export default getSankeyChartOption;

View File

@ -75,7 +75,7 @@
<v-card-actions class="pb-4"> <v-card-actions class="pb-4">
<v-spacer></v-spacer> <v-spacer></v-spacer>
<!-- <v-btn color="primary" dark @click="setUpdate()">확인</v-btn> --> <!-- <v-btn color="primary" dark @click="setUpdate()">확인</v-btn> -->
<div class="d-flex" style="gap: 8px"> <div class="pr-3">
<a-button @click="close()" class="ant-btn-popup-default">닫기</a-button> <a-button @click="close()" class="ant-btn-popup-default">닫기</a-button>
<a-button type="primary" @click="setUpdate()" class="v-btn-add-text"> <a-button type="primary" @click="setUpdate()" class="v-btn-add-text">
확인 확인

View File

@ -404,8 +404,8 @@ export default {
rowHeight: 'auto', rowHeight: 'auto',
}; };
if (this.isMulti) { if (this.isMulti) {
// myOptions['rowHeaders'] = [{ type: 'checkbox' }]; myOptions['rowHeaders'] = [{ type: 'checkbox' }];
// myOptions['rowHeight'] = 'auto'; myOptions['rowHeight'] = 'auto';
} }
@ -523,12 +523,11 @@ export default {
this.loadGrid = true; this.loadGrid = true;
// this.$nextTick(() => { this.$nextTick(() => {
// if (this.isMulti) { if (this.isMulti) {
// this.getChecked(); this.getChecked();
// } }
// }); });
}, },
setUpdate() { setUpdate() {
if (this.isMulti) { if (this.isMulti) {

View File

@ -11,7 +11,7 @@
:btnActionsFnc="btnActions" :btnActionsFnc="btnActions"
/> />
</div> </div>
<div ref="gridParent" style="height: calc(100vh - 700px);"> <div ref="gridParent" >
<component <component
:ref="gridName" :ref="gridName"
:is="loadGrid ? 'Grid' : null" :is="loadGrid ? 'Grid' : null"
@ -21,7 +21,7 @@
:innerTabGridInfo="innerTabGridInfo" :innerTabGridInfo="innerTabGridInfo"
/> />
</div> </div>
<div style="height: 60vh;" class="mt-5"> <div>
<component <component
:is="'Form'" :is="'Form'"
:bindingData="gridName" :bindingData="gridName"
@ -503,10 +503,3 @@ const myDetail = [
}, },
]; ];
</script> </script>
<style lang="scss" scoped>
::v-deep{
.tui-grid-layer-state{
top: 40px !important;
}
}
</style>

View File

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<div <div
class="d-flex justify-space-between mb-3 pr-4" class="d-flex justify-space-between"
style="height: 45px;" style="height: 45px;"
> >
<span class="txt custom-subtitle-tab">검침 대상 추가 정보</span> <span class="txt custom-subtitle-tab">검침 대상 추가 정보</span>
@ -102,7 +102,7 @@ export default {
this.gridInit(); this.gridInit();
}, },
gridInit() { gridInit() {
const gridHeight = this.$refs.gridParent.offsetHeight - 31; const gridHeight = this.$refs.gridParent.offsetHeight - 30;
const myOptions = { const myOptions = {
columnOptions: { columnOptions: {
@ -113,8 +113,8 @@ export default {
header: { header: {
height: 28, height: 28,
}, },
rowHeight: 36, rowHeight: 29,
minRowHeight: 36, minRowHeight: 29,
selectionUnit: 'row', selectionUnit: 'row',
editingEvent: 'click', editingEvent: 'click',
}; };
@ -440,15 +440,3 @@ export default {
}, },
}; };
</script> </script>
<style lang="scss" scoped >
::v-deep {
.tui-grid-layer-state {
top: 40px !important;
}
.tui-grid-cell-content-editor {
height: 36px !important;
}
}
</style>

View File

@ -432,7 +432,7 @@ const myDetail = [
labelCols: 12, labelCols: 12,
textCols: 12, textCols: 12,
iconShow: true, iconShow: true,
class: 'py-2 pr-4 mt-2', class: 'py-2 pr-4',
value: { '1': true, '0': false }, value: { '1': true, '0': false },
required: true, required: true,
}, },
@ -445,7 +445,7 @@ const myDetail = [
labelCols: 12, labelCols: 12,
textCols: 12, textCols: 12,
iconShow: true, iconShow: true,
class: 'py-2 pl-4 mt-2', class: 'py-2 pl-4',
}, },
// { // {
// type: "InputText", // type: "InputText",
@ -464,7 +464,7 @@ const myDetail = [
labelCols: 12, labelCols: 12,
textCols: 12, textCols: 12,
iconShow: true, iconShow: true,
class: 'py-2 pr-4 mt-2', class: 'py-2 pr-4',
placeholder: '시스템 자동입력', placeholder: '시스템 자동입력',
}, },
{ {
@ -476,7 +476,7 @@ const myDetail = [
labelCols: 12, labelCols: 12,
textCols: 12, textCols: 12,
iconShow: true, iconShow: true,
class: 'py-2 pl-4 mt-2', class: 'py-2 pl-4',
placeholder: '시스템 자동입력', placeholder: '시스템 자동입력',
}, },
{ {
@ -488,7 +488,7 @@ const myDetail = [
labelCols: 12, labelCols: 12,
textCols: 12, textCols: 12,
iconShow: true, iconShow: true,
class: 'py-2 pr-4 mt-2', class: 'py-2 pr-4',
placeholder: '시스템 자동입력', placeholder: '시스템 자동입력',
}, },
{ {
@ -500,7 +500,7 @@ const myDetail = [
labelCols: 12, labelCols: 12,
textCols: 12, textCols: 12,
iconShow: true, iconShow: true,
class: 'py-2 pl-4 mt-2', class: 'py-2 pl-4',
placeholder: '시스템 자동입력', placeholder: '시스템 자동입력',
}, },
]; ];

View File

@ -1,6 +1,5 @@
<template> <template>
<div ref="mainDiv" class="l-layout"> <div ref="mainDiv" class="l-layout">
<CommonPageTitle/>
<v-row ref="searchFilter"> <v-row ref="searchFilter">
<v-col :cols="12"> <v-col :cols="12">
<v-card class="searchFilter"> <v-card class="searchFilter">
@ -288,7 +287,7 @@ export default {
header: 'Data 형식', header: 'Data 형식',
name: 'addInfoDataKind', name: 'addInfoDataKind',
minWidth: 85, minWidth: 85,
align: 'left', align: 'center',
formatter({ value }) { formatter({ value }) {
let retVal = ''; let retVal = '';
const newValue = _this.pageData.addInfoDataKindList.filter( const newValue = _this.pageData.addInfoDataKindList.filter(
@ -305,7 +304,7 @@ export default {
header: '사용여부', header: '사용여부',
name: 'useFg', name: 'useFg',
minWidth: 85, minWidth: 85,
align: 'left', align: 'center',
formatter({ value }) { formatter({ value }) {
let retVal = ''; let retVal = '';
value = value === true ? '1' : '0'; value = value === true ? '1' : '0';

View File

@ -1,6 +1,5 @@
<template> <template>
<div class="l-layout"> <div class="l-layout">
<CommonPageTitle/>
<v-row ref="searchFilter"> <v-row ref="searchFilter">
<v-col :cols="12"> <v-col :cols="12">
<v-card class="searchFilter"> <v-card class="searchFilter">
@ -13,7 +12,6 @@
dataKey="searchLocKind" dataKey="searchLocKind"
:sendParam="{ commGrpCd: 'EM_LOC_KIND', useFg: '1' }" :sendParam="{ commGrpCd: 'EM_LOC_KIND', useFg: '1' }"
:addAll="true" :addAll="true"
customClass="select-large"
/> />
</v-col> </v-col>
<v-col :cols="2.5"> <v-col :cols="2.5">
@ -24,7 +22,6 @@
dataKey="searchEccKind" dataKey="searchEccKind"
:sendParam="{ commGrpCd: 'EM_ECC_KIND', useFg: '1' }" :sendParam="{ commGrpCd: 'EM_ECC_KIND', useFg: '1' }"
:addAll="true" :addAll="true"
customClass="select-large"
/> />
</v-col> </v-col>
<!-- 사업장 --> <!-- 사업장 -->
@ -45,7 +42,6 @@
dataKey="useFg" dataKey="useFg"
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }" :sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
:addAll="true" :addAll="true"
customClass="select-large"
/> />
</v-col> </v-col>
<v-col :cols="2.5"> <v-col :cols="2.5">
@ -56,7 +52,6 @@
:labelCols="12" :labelCols="12"
:textCols="12" :textCols="12"
:searchOption="true" :searchOption="true"
customClass="input-large"
/> />
</v-col> </v-col>
<v-col class="text-right"> <v-col class="text-right">
@ -69,7 +64,6 @@
:is="'SelectBlocMstr'" :is="'SelectBlocMstr'"
ref="SelectBlocMstr" ref="SelectBlocMstr"
:parentPrgmId="myPrgmId" :parentPrgmId="myPrgmId"
customClass="select-large"
/> />
</div> </div>
</v-row> </v-row>
@ -105,7 +99,7 @@
</v-col> </v-col>
<v-col :cols="7" style="min-height:75vh;"> <v-col :cols="7" style="min-height:75vh;">
<v-card class="pb-5"> <v-card class="pb-5">
<v-card-title class="custom-title-4" style="min-height:65px;" <v-card-title class="custom-title-4" style="min-height:76px;"
>공정 상세 >공정 상세
</v-card-title> </v-card-title>
<div class="px-5" style="height:calc(100% - 76px)"> <div class="px-5" style="height:calc(100% - 76px)">
@ -477,7 +471,7 @@ export default {
header: '사용 여부', header: '사용 여부',
name: 'useFg', name: 'useFg',
width: gridWidth * 0.18, width: gridWidth * 0.18,
align: 'left', align: 'center',
formatter({ value }) { formatter({ value }) {
value = value === true ? '1' : '0'; value = value === true ? '1' : '0';
const newValue = _this.pageData.useFgList.filter( const newValue = _this.pageData.useFgList.filter(
@ -927,7 +921,7 @@ const myDetail = [
cols: 6, cols: 6,
labelCols: 12, labelCols: 12,
textCols: 12, textCols: 12,
class: 'pb-0 mb-0 pr-4 mt-2', class: 'pb-0 mb-0 pr-4',
disableContent: true, disableContent: true,
}, },
{ {
@ -938,7 +932,7 @@ const myDetail = [
cols: 6, cols: 6,
labelCols: 12, labelCols: 12,
textCols: 12, textCols: 12,
class: 'py-2 mb-0 pb-0 pl-4 mt-2', class: 'py-2 mb-0 pb-0 pl-4',
list: 'locKindList', list: 'locKindList',
itemText: 'commCdNm', itemText: 'commCdNm',
itemValue: 'commCd', itemValue: 'commCd',
@ -950,13 +944,13 @@ const myDetail = [
valueNm: 'upEccNm', valueNm: 'upEccNm',
readonly: true, readonly: true,
cols: 6, cols: 6,
class: 'py-2 pr-4 mt-2', class: 'py-2 pr-4',
}, },
{ {
// 공백 처리 // 공백 처리
type: 'Label', type: 'Label',
cols: 6, cols: 6,
class: 'py-2 pl-4 mt-2', class: 'py-2 pl-4',
disabled: false, disabled: false,
labelCols: 12, labelCols: 12,
textCols: 12, textCols: 12,
@ -970,7 +964,7 @@ const myDetail = [
cols: 6, cols: 6,
labelCols: 12, labelCols: 12,
textCols: 12, textCols: 12,
class: 'py-2 pr-4 mt-2', class: 'py-2 pr-4',
list: 'eccKindList', list: 'eccKindList',
itemText: 'commCdNm', itemText: 'commCdNm',
itemValue: 'commCd', itemValue: 'commCd',
@ -985,7 +979,7 @@ const myDetail = [
cols: 6, cols: 6,
labelCols: 12, labelCols: 12,
textCols: 12, textCols: 12,
class: 'py-2 pl-4 mt-2', class: 'py-2 pl-4',
inputType: 'number', inputType: 'number',
iconShow: true iconShow: true
// onkeydown : "if(this.value > 100) this.value = 100;if(this.value < 0) this.value = 0;if(this.value == '') this.value = 0;" // onkeydown : "if(this.value > 100) this.value = 100;if(this.value < 0) this.value = 0;if(this.value == '') this.value = 0;"
@ -998,7 +992,7 @@ const myDetail = [
cols: 6, cols: 6,
labelCols: 12, labelCols: 12,
textCols: 12, textCols: 12,
class: 'py-2 pr-4 mt-2', class: 'py-2 pr-4',
list: 'blocIdList', list: 'blocIdList',
itemText: 'blocNm', itemText: 'blocNm',
itemValue: 'blocId', itemValue: 'blocId',
@ -1012,7 +1006,7 @@ const myDetail = [
cols: 6, cols: 6,
labelCols: 12, labelCols: 12,
textCols: 12, textCols: 12,
class: 'py-2 pl-4 mt-2', class: 'py-2 pl-4',
value: { '1': true, '0': false }, value: { '1': true, '0': false },
iconShow: true, iconShow: true,
required: true, required: true,
@ -1023,7 +1017,7 @@ const myDetail = [
valueNm: 'eccFg', valueNm: 'eccFg',
disabled: false, disabled: false,
cols: 6, cols: 6,
class: 'py-2 pr-4 mt-2', class: 'py-2 pr-4',
iconShow: true, iconShow: true,
value: { '1': true, '0': false }, value: { '1': true, '0': false },
}, },

View File

@ -50,7 +50,7 @@
<v-col :cols="5" class="h100"> <v-col :cols="5" class="h100">
<v-card class="pb-5"> <v-card class="pb-5">
<div class="d-flex align-center justify-space-between pa-5"> <div class="d-flex align-center justify-space-between pa-5">
<v-card-title class="pa-0 custom-title-4" <v-card-title class="pa-0 custom-title-4-new"
>검침 대상 정보</v-card-title >검침 대상 정보</v-card-title
> >
<Buttons <Buttons
@ -75,7 +75,7 @@
</v-col> </v-col>
<v-col :cols="7" class="h100"> <v-col :cols="7" class="h100">
<v-card class="pb-5"> <v-card class="pb-5">
<v-card-title class="custom-title-4-new" style="min-height:65px;" <v-card-title class="custom-title-4-new" style="min-height:76px;"
>검침대상 상세 >검침대상 상세
</v-card-title> </v-card-title>
<div class="px-5" style="height:calc(100% - 76px)"> <div class="px-5" style="height:calc(100% - 76px)">
@ -315,7 +315,7 @@ export default {
header: '검침 대상 ID', header: '검침 대상 ID',
name: 'readObjId', name: 'readObjId',
width: 130, width: 130,
align: 'left', align: 'center',
}, },
{ {
header: '검침 대상 명', header: '검침 대상 명',
@ -385,7 +385,7 @@ export default {
{ {
header: '사용여부', header: '사용여부',
name: 'useFg', name: 'useFg',
align: 'left', align: 'center',
width: 100, width: 100,
formatter({ value }) { formatter({ value }) {
value = value === true ? '1' : '0'; value = value === true ? '1' : '0';
@ -854,17 +854,6 @@ const myDetail = [
}, },
]; ];
</script> </script>
<style lang="scss" scoped> <style lang="scss">
@import '@/assets/scss/common.scss'; @import '@/assets/scss/common.scss';
::v-deep {
.tui-grid-layer-state {
top: 40px !important;
}
.tui-grid-layer-selection,
.tui-grid-cell-content-editor{
height: 36px !important;
}
}
</style> </style>

View File

@ -14,9 +14,9 @@
<!-- 대상일 --> <!-- 대상일 -->
<component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'대상일'" :labelCols="3" customClass="datepicker-large" /> <component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'대상일'" :labelCols="3" customClass="datepicker-large" />
</v-col> </v-col>
<v-col :cols="4" class="text-right"> <v-col :cols="6" class="text-right">
<BtnSearch @click="search" size="large" />
<!-- 조회버튼 --> <!-- 조회버튼 -->
<BtnSearch @click="search" size="large" />
</v-col> </v-col>
</v-row> </v-row>
</v-card> </v-card>
@ -47,8 +47,13 @@
</v-row> </v-row>
<div class="px-5" style="height: 80%"> <div class="px-5" style="height: 80%">
<div ref="chartParent" class="w100 h100"> <div ref="chartParent" class="w100 h100">
<component :ref="chartName" class="w100 h100" :is="loadChart ? 'Chart' : null" :parentPrgmId="myPrgmId" <component
:chartName="chartName" /> :ref="chartName"
class="w100 h100"
:is="loadChart ? 'Chart' : null"
:parentPrgmId="myPrgmId"
:chartName="chartName"
/>
</div> </div>
</div> </div>
</v-card> </v-card>
@ -68,6 +73,8 @@ import SelectBox from '@/components/common/select/SelectBox';
import DateUtility from '~/plugins/dateUtility'; import DateUtility from '~/plugins/dateUtility';
import Chart from '~/components/common/Chart'; import Chart from '~/components/common/Chart';
import getSankeyChartOption from "~/components/common/chartoptions/sankeyChart";
let myTitle; let myTitle;
let myPrgmId; let myPrgmId;
@ -101,6 +108,8 @@ export default {
selectValue01: null, selectValue01: null,
loadChart: false, loadChart: false,
chartName: 'sankeyChart', chartName: 'sankeyChart',
sankeyChartData: [],
sankeyChartLinks: []
}; };
}, },
computed: { computed: {
@ -148,6 +157,16 @@ export default {
}); });
} }
}, },
isDarkMode(newVal) {
this.setChartOption({
chartKey: this.chartName,
value: getSankeyChartOption({
isDarkMode: newVal,
data: this.sankeyChartData,
links: this.sankeyChartLinks
})
});
},
}, },
async beforeCreate() { async beforeCreate() {
myPrgmId = this.$route.query.prgmId; myPrgmId = this.$route.query.prgmId;
@ -159,9 +178,6 @@ export default {
}, },
async created() { }, async created() { },
async mounted() { async mounted() {
// this.initTest();
// return;
this.init(); this.init();
// document.querySelector('.icon_arrow').style.width = document.querySelector('.iconArrowCols').clientWidth-20 + "px"; // document.querySelector('.icon_arrow').style.width = document.querySelector('.iconArrowCols').clientWidth-20 + "px";
}, },
@ -176,10 +192,8 @@ export default {
...mapActions({ ...mapActions({
getCodeList: 'modules/search/getCodeList', getCodeList: 'modules/search/getCodeList',
}), }),
initTest() { initTestChart() {
const randomNumber = n => Math.floor(Math.random() * n) + 1; const randomNumber = n => Math.floor(Math.random() * n) + 1;
const makeData = [ const makeData = [
{ name: 'A' }, { name: 'A' },
{ name: 'B' }, { name: 'B' },
@ -205,45 +219,13 @@ export default {
]); ]);
} }
const chartOption = { this.sankeyChartData = makeData;
backgroundColor: '#FFFFFF', this.sankeyChartLinks = makeLinks;
series: [ const chartOption = getSankeyChartOption({
{ isDarkMode: this.isDarkMode,
layoutIterations: 0,
type: 'sankey',
left: 25.0,
top: 20.0,
right: 120,
bottom: 50.0,
// nodeWidth:10,
nodeGap: 10,
nodeAlign: 'left',
data: makeData, data: makeData,
links: makeLinks, links: makeLinks
lineStyle: { });
color: 'source',
curveness: 0.5,
},
// triggerEvent: true,
itemStyle: {
//color: '#1f77b4',
//borderColor: '#1f77b4'
},
label: {
color: this.isDarkMode
? 'rgba(250,250,250,0.7)'
: 'rgba(0,0,0,0.7)',
fontFamily: 'Arial',
fontSize: 12,
},
},
],
tooltip: {
trigger: 'item',
},
};
this.setChartOption({ chartKey: this.chartName, value: chartOption }); this.setChartOption({ chartKey: this.chartName, value: chartOption });
this.$nextTick(() => { this.$nextTick(() => {
this.loadChart = true; this.loadChart = true;
@ -254,7 +236,11 @@ export default {
this.setFromDt(); this.setFromDt();
}, },
async search() { async search() {
try{
await this.getChartData(); await this.getChartData();
}catch(err){
this.initTestChart();
}
this.setPageData({ this.setPageData({
isFind: false, isFind: false,
}); });
@ -458,43 +444,13 @@ export default {
}; };
} }
const chartOption = { this.sankeyChartData = makeData;
backgroundColor: '#FFFFFF', this.sankeyChartLinks = makeLinks;
series: [ const chartOption = getSankeyChartOption({
{ isDarkMode: this.isDarkMode,
layoutIterations: 0,
type: 'sankey',
left: 25.0,
top: 20.0,
right: 120,
bottom: 50.0,
// nodeWidth:10,
nodeGap: 10,
nodeAlign: 'left',
data: makeData, data: makeData,
links: makeLinks, links: makeLinks
lineStyle: { });
color: 'source',
curveness: 0.5,
},
// triggerEvent: true,
itemStyle: {
//color: '#1f77b4',
//borderColor: '#1f77b4'
},
label: {
color: this.isDarkMode
? 'rgba(250,250,250,0.7)'
: 'rgba(0,0,0,0.7)',
fontFamily: 'Arial',
fontSize: 12,
},
},
],
tooltip: {
trigger: 'item',
},
};
this.setChartOption({ chartKey: this.chartName, value: chartOption }); this.setChartOption({ chartKey: this.chartName, value: chartOption });