echart 组件
This commit is contained in:
@@ -10,6 +10,7 @@
|
|||||||
<AiSwiper v-else-if="data.type === 'swiper'" :heigth="'100%'" :data="data[data.dataType]"/>
|
<AiSwiper v-else-if="data.type === 'swiper'" :heigth="'100%'" :data="data[data.dataType]"/>
|
||||||
<dv-scroll-board
|
<dv-scroll-board
|
||||||
v-if="data.type === 'table'"
|
v-if="data.type === 'table'"
|
||||||
|
:class="'dvScrollBoard' + theme"
|
||||||
:config="formatTable(data[data.dataType], data.isShowIndex, data.rowNum)"
|
:config="formatTable(data[data.dataType], data.isShowIndex, data.rowNum)"
|
||||||
:key="data.height"
|
:key="data.height"
|
||||||
:theme="theme"
|
:theme="theme"
|
||||||
@@ -126,6 +127,14 @@
|
|||||||
:theme="theme"
|
:theme="theme"
|
||||||
:data="data[data.dataType]"
|
:data="data[data.dataType]"
|
||||||
:ops="pieChart1"/>
|
:ops="pieChart1"/>
|
||||||
|
<ai-echart
|
||||||
|
v-else-if="data.type === 'pieChart3'"
|
||||||
|
style="height: 100%; width: 100%;"
|
||||||
|
:ref="'chart' + index"
|
||||||
|
:key="`chart${index}`"
|
||||||
|
:theme="theme"
|
||||||
|
:data="data[data.dataType]"
|
||||||
|
:ops="pieChart3"/>
|
||||||
<ai-map :markers="data[data.dataType]" v-else-if="data.type=='map'" :mask="data.mask === '1'" :areaId="data.areaId || user.info.areaId" map-style="amap://styles/e51987628aee5206d4c9ca8c6e98b4f7"/>
|
<ai-map :markers="data[data.dataType]" v-else-if="data.type=='map'" :mask="data.mask === '1'" :areaId="data.areaId || user.info.areaId" map-style="amap://styles/e51987628aee5206d4c9ca8c6e98b4f7"/>
|
||||||
<ai-monitor :src="data.src" v-else-if="data.type === 'monitor'" :type="data.monitorType"></ai-monitor>
|
<ai-monitor :src="data.src" v-else-if="data.type === 'monitor'" :type="data.monitorType"></ai-monitor>
|
||||||
<video style="width: 100%; height: 100%; object-fit: fill;" loop :src="data.src" autoplay v-else-if="data.type === 'video'"></video>
|
<video style="width: 100%; height: 100%; object-fit: fill;" loop :src="data.src" autoplay v-else-if="data.type === 'video'"></video>
|
||||||
@@ -138,6 +147,7 @@
|
|||||||
import AiSwiper from './AiSwiper.vue'
|
import AiSwiper from './AiSwiper.vue'
|
||||||
import pieChart from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart2'
|
import pieChart from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart2'
|
||||||
import pieChart1 from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart1'
|
import pieChart1 from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart1'
|
||||||
|
import pieChart3 from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart3'
|
||||||
import lineChart1 from 'dvcp-dv-ui/components/AiEchart/template/line/lineChart1'
|
import lineChart1 from 'dvcp-dv-ui/components/AiEchart/template/line/lineChart1'
|
||||||
import lineChart2 from 'dvcp-dv-ui/components/AiEchart/template/line/lineChart2'
|
import lineChart2 from 'dvcp-dv-ui/components/AiEchart/template/line/lineChart2'
|
||||||
import lineChart5 from 'dvcp-dv-ui/components/AiEchart/template/line/lineChart5'
|
import lineChart5 from 'dvcp-dv-ui/components/AiEchart/template/line/lineChart5'
|
||||||
@@ -157,7 +167,8 @@
|
|||||||
lineChart2,
|
lineChart2,
|
||||||
lineChart5,
|
lineChart5,
|
||||||
pieChart,
|
pieChart,
|
||||||
pieChart1
|
pieChart1,
|
||||||
|
pieChart3
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -208,5 +219,42 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
.render-element {
|
||||||
|
::v-deep .dvScrollBoard1 {
|
||||||
|
|
||||||
|
.index {
|
||||||
|
color: #fff;
|
||||||
|
text-shadow: none;
|
||||||
|
background: transparent;
|
||||||
|
background-color: #BD4921!important;
|
||||||
|
-webkit-background-clip: inherit;
|
||||||
|
-webkit-text-fill-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
background: rgba(0, 0, 0, 0.1)!important;
|
||||||
|
|
||||||
|
.header-item {
|
||||||
|
color: #FFBB73!important;
|
||||||
|
font-size: 16px!important;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.rows {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #FFFFFF;
|
||||||
|
line-height: 21px;
|
||||||
|
text-shadow: 0px 2px 4px rgba(117, 9, 9, 0.5);
|
||||||
|
background: linear-gradient(180deg, #FFF6C7 0%, #FF9A02 100%);
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
-webkit-text-fill-color: transparent;
|
||||||
|
& > div:nth-of-type(2n) {
|
||||||
|
background: rgba(0, 0, 0, 0.1)!important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import barChart7 from 'dvcp-dv-ui/components/AiEchart/template/bar/barChart7'
|
|||||||
import barChart9 from 'dvcp-dv-ui/components/AiEchart/template/bar/barChart9'
|
import barChart9 from 'dvcp-dv-ui/components/AiEchart/template/bar/barChart9'
|
||||||
import pieChart from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart2'
|
import pieChart from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart2'
|
||||||
import pieChart1 from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart1'
|
import pieChart1 from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart1'
|
||||||
|
import pieChart3 from 'dvcp-dv-ui/components/AiEchart/template/pie/pieChart3'
|
||||||
|
|
||||||
const components = [
|
const components = [
|
||||||
{
|
{
|
||||||
@@ -438,6 +439,35 @@ const components = [
|
|||||||
config: pieChart1,
|
config: pieChart1,
|
||||||
sourceDataId: '',
|
sourceDataId: '',
|
||||||
dynamicData: []
|
dynamicData: []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
code: 'widget-linechart',
|
||||||
|
type: 'pieChart3',
|
||||||
|
label: '饼图',
|
||||||
|
title: '饼图',
|
||||||
|
icon: 'icontext_box',
|
||||||
|
value: '',
|
||||||
|
border: 'border1',
|
||||||
|
width: 500,
|
||||||
|
height: 300,
|
||||||
|
zIndex: 1,
|
||||||
|
top: 0,
|
||||||
|
left: 0,
|
||||||
|
thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/pie.png',
|
||||||
|
dataX: '',
|
||||||
|
dataY: [],
|
||||||
|
api: '',
|
||||||
|
apiData: [],
|
||||||
|
dataType: 'staticData',
|
||||||
|
staticData: [
|
||||||
|
{ name: '阿斯达', v1: 23, v2: 33 },
|
||||||
|
{ name: '水电费', v1: 12, v2: 34 },
|
||||||
|
{ name: '凡哥', v1: 67, v2: 25 },
|
||||||
|
{ name: '党费', v1: 98, v2: 85 }
|
||||||
|
],
|
||||||
|
config: pieChart1,
|
||||||
|
sourceDataId: '',
|
||||||
|
dynamicData: []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
import AiDvWrapper from "./layout/AiDvWrapper/AiDvWrapper";
|
import AiDvWrapper from "./layout/AiDvWrapper/AiDvWrapper";
|
||||||
import ops from './components/AiEchart/template/pie/pieChart1'
|
import ops from './components/AiEchart/template/pie/pieChart3'
|
||||||
import AiDvPanel from "./layout/AiDvPanel/AiDvPanel";
|
import AiDvPanel from "./layout/AiDvPanel/AiDvPanel";
|
||||||
import AiDvDisplay from "./layout/AiDvDisplay/AiDvDisplay";
|
import AiDvDisplay from "./layout/AiDvDisplay/AiDvDisplay";
|
||||||
import AiDvSummary from "./layout/AiDvSummary/AiDvSummary";
|
import AiDvSummary from "./layout/AiDvSummary/AiDvSummary";
|
||||||
@@ -31,11 +31,26 @@ export default {
|
|||||||
ops,
|
ops,
|
||||||
active: '',
|
active: '',
|
||||||
views: [
|
views: [
|
||||||
{ value: 1048, name: 'Search Engine' },
|
{
|
||||||
{ value: 735, name: 'Direct' },
|
"name": "阿斯达",
|
||||||
{ value: 580, name: 'Email' },
|
"v1": 23,
|
||||||
{ value: 484, name: 'Union Ads' },
|
"v2": 33
|
||||||
{ value: 300, name: 'Video Ads' }
|
},
|
||||||
|
{
|
||||||
|
"name": "水电费",
|
||||||
|
"v1": 12,
|
||||||
|
"v2": 34
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "凡哥",
|
||||||
|
"v1": 67,
|
||||||
|
"v2": 25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "党费",
|
||||||
|
"v1": 98,
|
||||||
|
"v2": 85
|
||||||
|
}
|
||||||
],
|
],
|
||||||
list: [
|
list: [
|
||||||
{name: '阿斯达', v1: 23, v2: 33},
|
{name: '阿斯达', v1: 23, v2: 33},
|
||||||
|
|||||||
107
project/dvui/components/AiEchart/template/pie/pieChart3.js
Normal file
107
project/dvui/components/AiEchart/template/pie/pieChart3.js
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
export default {
|
||||||
|
legend: {
|
||||||
|
right: 0,
|
||||||
|
top: '30%',
|
||||||
|
orient: 'vertical',
|
||||||
|
textStyle: {color: "#fff", fontSize: 14}
|
||||||
|
},
|
||||||
|
grid: {
|
||||||
|
height: 260
|
||||||
|
},
|
||||||
|
xAxis: {show: false},
|
||||||
|
yAxis: {show: false},
|
||||||
|
tooltip: {
|
||||||
|
backgroundColor: "rgba(14, 51, 111, 0.9)",
|
||||||
|
borderColor: "#1A6ABC",
|
||||||
|
textStyle: {color: "#fff"}
|
||||||
|
},
|
||||||
|
series: {
|
||||||
|
type: "pie",
|
||||||
|
minShowLabelAngle: 10,
|
||||||
|
radius: [50, 71],
|
||||||
|
itemStyle: {
|
||||||
|
borderColor: "#8d1419",
|
||||||
|
borderWidth: 2
|
||||||
|
},
|
||||||
|
label: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
labelLine: {},
|
||||||
|
labelLayout: function (params) {
|
||||||
|
let points = params.labelLinePoints,
|
||||||
|
isLeft = points[2][0] < points[1][0]
|
||||||
|
points[2][0] =
|
||||||
|
points[2][0] + (params.labelRect.width + 4) * (isLeft ? -1 : 1)
|
||||||
|
return {
|
||||||
|
labelLinePoints: points
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
render: (h, params) => {
|
||||||
|
const formatNum = num => {
|
||||||
|
if (num >= 10000000) {
|
||||||
|
return num / 10000000 + "千万"
|
||||||
|
}
|
||||||
|
|
||||||
|
if (num >= 10000) {
|
||||||
|
return num / 10000 + "万"
|
||||||
|
}
|
||||||
|
|
||||||
|
return parseFloat(num.toFixed(2))
|
||||||
|
}
|
||||||
|
|
||||||
|
let total = params.data.reduce((t, e) => {
|
||||||
|
return t + Number(Object.values(e)?.[1] || 0)
|
||||||
|
}, 0)
|
||||||
|
return h(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
style: {
|
||||||
|
height: "162px",
|
||||||
|
width: "162px",
|
||||||
|
color: "#8BCCFF",
|
||||||
|
left: "50%",
|
||||||
|
top: "50%",
|
||||||
|
zIndex: '0',
|
||||||
|
display: "flex",
|
||||||
|
alignItems: "center",
|
||||||
|
justifyContent: "center",
|
||||||
|
flexDirection: "column",
|
||||||
|
position: "absolute",
|
||||||
|
transform: "translate(-50%,-50%)",
|
||||||
|
backgroundPosition: "center"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
[
|
||||||
|
h(
|
||||||
|
'span',
|
||||||
|
{
|
||||||
|
style: {
|
||||||
|
'font-size': '32px',
|
||||||
|
'font-weight': 'bold',
|
||||||
|
'margin-bottom': '3px',
|
||||||
|
'color': '#CEE1FF',
|
||||||
|
'line-height': '28px',
|
||||||
|
'text-shadow': '0px 2px 4px rgba(117, 9, 9, 0.1)',
|
||||||
|
'background': 'linear-gradient(180deg, #FFF6C7 0%, #FF9A02 100%)',
|
||||||
|
'-webkit-background-clip': 'text',
|
||||||
|
'-webkit-text-fill-color': 'transparent'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
formatNum(total)
|
||||||
|
),
|
||||||
|
h('span', {
|
||||||
|
style: {
|
||||||
|
'font-size': '16px',
|
||||||
|
'color': '#CEE1FF',
|
||||||
|
'line-height': '16px',
|
||||||
|
'text-shadow': '0px 2px 4px rgba(117, 9, 9, 0.5)',
|
||||||
|
'background': 'linear-gradient(180deg, #FFF6C7 0%, #FF9A02 100%)',
|
||||||
|
'-webkit-background-clip': 'text',
|
||||||
|
'-webkit-text-fill-color': 'transparent'
|
||||||
|
}
|
||||||
|
}, "总量")
|
||||||
|
]
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -30,7 +30,7 @@ export default {
|
|||||||
.slot {
|
.slot {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: calc(100% - 0px);
|
height: calc(100% - 0px);
|
||||||
padding: 20px 10px 20px;
|
padding: 40px 10px 20px;
|
||||||
background: rgba(120, 0, 0, 0.2);
|
background: rgba(120, 0, 0, 0.2);
|
||||||
border: 1px solid rgba(203, 45, 0, 0.5);
|
border: 1px solid rgba(203, 45, 0, 0.5);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user