Commit 14afb33d authored by Jenny_1007's avatar Jenny_1007

feat: update

parent 48ccee35
unpackage
node_modules
uview-ui
components/uni-ec-canvas/echarts
\ No newline at end of file
uni-ec-canvas/echarts
\ No newline at end of file
......@@ -9,9 +9,9 @@
</template>
<script>
import uniEcCanvas from '@/components/uni-ec-canvas/uni-ec-canvas'
import uniEcCanvas from '@/uni-ec-canvas/uni-ec-canvas'
import echartElementData from '@/mixins/echartElementData.js'
import { geoCoordMapList } from '@/components/uni-ec-canvas/geoCoordMap.js'
import { geoCoordMapList } from '@/uni-ec-canvas/geoCoordMap.js'
let chart = null
export default {
name:"BarMixMap",
......
......@@ -9,9 +9,9 @@
</template>
<script>
import uniEcCanvas from '@/components/uni-ec-canvas/uni-ec-canvas'
import uniEcCanvas from '@/uni-ec-canvas/uni-ec-canvas'
import echartElementData from '@/mixins/echartElementData.js'
import { geoCoordMapList } from '@/components/uni-ec-canvas/geoCoordMap.js'
import { geoCoordMapList } from '@/uni-ec-canvas/geoCoordMap.js'
let chart = null
export default {
name:"ChinaMap",
......
......@@ -6,9 +6,9 @@
<u-count-to
:start-val="startVal"
:end-val="endVal"
:duration="duration"
:duration="(elementInfo.option.countTo.duration || 2) * 1000"
separator=","
:color="elementInfo.option.countTo.color"
:color="elementInfo.option.countTo.color || ''"
:font-size="getFontSize()"
></u-count-to>
</view>
......@@ -22,8 +22,7 @@
data() {
return {
startVal: 0,
endVal: 0,
duration: 2000
endVal: 0
};
},
methods: {
......@@ -32,9 +31,6 @@
that.$nextTick(() => {
that.startVal = that.endVal
that.endVal = that.elementData.dataList.endVal
if(that.elementInfo.option.countTo.duration) {
that.duration = that.elementInfo.option.countTo.duration * 1000
}
})
},
getFontSize() {
......
......@@ -9,7 +9,7 @@
</template>
<script>
import uniEcCanvas from '@/components/uni-ec-canvas/uni-ec-canvas'
import uniEcCanvas from '@/uni-ec-canvas/uni-ec-canvas'
import echartElementData from '@/mixins/echartElementData.js'
let chart = null
......@@ -19,7 +19,8 @@
data() {
return {
ec: {
lazyLoad: true
lazyLoad: true,
option: {}
}
};
},
......@@ -42,10 +43,6 @@
let { endVal } = this.elementData.dataList
endVal = endVal || 0
const { width: pCanvasWidth, strokeColor, trailColor, titleColor, strokeWidth, gapPosition, gapDegree, strokeLinecap} = this.elementInfo.option.progress
const guageChart = [{
name: "",
value: endVal
}]
const color = [
[endVal / 100, strokeColor],
[1, trailColor]
......@@ -86,7 +83,7 @@
break;
}
const axisLineWidth = strokeWidth / 100 * pCanvasWidth
const options = {
this.ec.option = {
...this.elementInfo.option,
tooltip: {
formatter: '{a} <br/>{b} : {c}%'
......@@ -130,11 +127,13 @@
radius: pCanvasWidth / 2 - strokeWidth * 2,
}]
}
chart.setOption(options)
chart.setOption(this.ec.option)
return chart
},
initChart() {
this.$refs['dashboardProgressCanvas'].init(this.inited)
let { endVal } = this.elementData.dataList
this.ec.option.title[0].text = `${endVal}%`
this.ec.option.series[0].axisLine.lineStyle.color[0][0] = endVal / 100
}
}
}
......@@ -142,4 +141,4 @@
<style>
</style>
</style>
......@@ -4,7 +4,7 @@
</template>
<script>
import uniEcCanvas from '@/components/uni-ec-canvas/uni-ec-canvas'
import uniEcCanvas from '@/uni-ec-canvas/uni-ec-canvas'
import echartElementData from '@/mixins/echartElementData.js'
let chart = null
......@@ -14,56 +14,60 @@
data() {
return {
ec: {
lazyLoad: true
lazyLoad: true,
option: {}
}
}
},
components: {
uniEcCanvas
},
mounted() {
this.$refs['horizontalBarCanvas'].init(this.inited)
},
methods: {
initChart() {
const that = this
that.$nextTick(() => {
that.$refs['horizontalBarCanvas'].init((canvas, width, height, canvasDpr) => {
chart = that.$echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: canvasDpr
})
canvas.setChart(chart)
const {
dataList: {
categories,
series,
preview,
images
}
} = that.elementData
const options = {
...that.elementInfo.option,
tooltip: {},
yAxis: {
...that.elementInfo.option.yAxis,
data: categories
},
series: that.dealSeriesData(series)
}
chart.setOption(options)
chart.on('click', event => {
// 特殊处理,如果preview为true,代表点击显示图片
if (preview) {
uni.previewImage({
current: event.dataIndex,
urls: images
})
} else {
that.handleEchartsClick(event)
}
inited(canvas, width, height, canvasDpr) {
chart = this.$echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: canvasDpr
})
canvas.setChart(chart)
const {
dataList: {
categories,
series,
preview,
images
}
} = this.elementData
this.ec.option= {
...this.elementInfo.option,
tooltip: {},
yAxis: {
...this.elementInfo.option.yAxis,
data: categories
},
series: this.dealSeriesData(series)
}
chart.setOption(this.ec.option)
chart.on('click', event => {
// 特殊处理,如果preview为true,代表点击显示图片
if (preview) {
uni.previewImage({
current: event.dataIndex,
urls: images
})
return chart
})
} else {
this.handleEchartsClick(event)
}
})
return chart
},
initChart() {
const { categories, series } = this.elementData.dataList
this.$set(this.ec.option, 'yAxis.data', categories)
this.$set(this.ec.option, 'series', this.dealSeriesData(series))
},
/**
* 处理数据
......@@ -94,4 +98,4 @@
}
</script>
<style scoped>
</style>
</style>
......@@ -9,7 +9,7 @@
</template>
<script>
import uniEcCanvas from '@/components/uni-ec-canvas/uni-ec-canvas'
import uniEcCanvas from '@/uni-ec-canvas/uni-ec-canvas'
import echartElementData from '@/mixins/echartElementData.js'
let chart = null
......@@ -107,4 +107,4 @@
}
</script>
<style scoped>
</style>
</style>
......@@ -4,7 +4,7 @@
</template>
<script>
import uniEcCanvas from '@/components/uni-ec-canvas/uni-ec-canvas'
import uniEcCanvas from '@/uni-ec-canvas/uni-ec-canvas'
import echartElementData from '@/mixins/echartElementData.js'
let chart = null
......@@ -14,46 +14,45 @@
data() {
return {
ec: {
lazyLoad: true
lazyLoad: true,
option: {}
}
}
},
components: {
uniEcCanvas
},
mounted() {
this.$refs['normalbarCanvas'].init(this.inited)
},
methods: {
initChart() {
const that = this
that.$nextTick(() => {
that.$refs['normalbarCanvas'].init((canvas, width, height, canvasDpr) => {
chart = that.$echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: canvasDpr
})
canvas.setChart(chart)
const {
dataList: {
categories,
series
}
} = that.elementData
const options = {
...that.elementInfo.option,
tooltip: {},
xAxis: {
...that.elementInfo.option.xAxis,
data: categories
},
series: that.dealSeriesData(series)
}
chart.setOption(options)
chart.on('click', event => {
that.handleEchartsClick(event)
})
return chart
})
inited(canvas, width, height, canvasDpr) {
chart = this.$echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: canvasDpr
})
canvas.setChart(chart)
const { categories, series } = this.elementData.dataList
this.ec.option = {
...this.elementInfo.option,
tooltip: {},
xAxis: {
...this.elementInfo.option.xAxis,
data: categories
},
series: this.dealSeriesData(series)
}
chart.setOption(this.ec.option)
chart.on('click', event => {
this.handleEchartsClick(event)
})
return chart
},
initChart() {
const { categories, series } = this.elementData.dataList
this.$set(this.ec.option, 'xAxis.data', categories)
this.$set(this.ec.option, 'series', this.dealSeriesData(series))
},
/**
* 处理数据
......@@ -84,4 +83,4 @@
}
</script>
<style scoped>
</style>
</style>
<template>
<uni-ec-canvas
class="uni-ec-canvas"
id="normal-gauge"
ref="normalGaugeCanvas"
canvas-id="normal-gauge-chart"
:ec="ec"
></uni-ec-canvas>
</template>
<script>
import uniEcCanvas from '@/components/uni-ec-canvas/uni-ec-canvas'
import echartElementData from '@/mixins/echartElementData.js'
let chart = null
export default {
name:"NormalGauge",
mixins: [echartElementData],
data() {
return {
ec: {
lazyLoad:true
}
};
},
components: {
uniEcCanvas
},
methods: {
initChart() {
<template>
<uni-ec-canvas
class="uni-ec-canvas"
id="normal-gauge"
ref="normalGaugeCanvas"
canvas-id="normal-gauge-chart"
:ec="ec"
></uni-ec-canvas>
</template>
<script>
import uniEcCanvas from '@/uni-ec-canvas/uni-ec-canvas'
import echartElementData from '@/mixins/echartElementData.js'
let chart = null
export default {
name:"NormalGauge",
mixins: [echartElementData],
data() {
return {
ec: {
lazyLoad:true
}
};
},
components: {
uniEcCanvas
},
methods: {
initChart() {
const that = this
that.$nextTick(() => {
that.$refs['normalGaugeCanvas'].init((canvas, width, height, canvasDpr) => {
chart = that.$echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: canvasDpr
})
canvas.setChart(chart)
const { dataList: { guageChart } } = that.elementData
const options = {
...that.elementInfo.option,
tooltip: {
formatter: '{a} <br/>{b} : {c}%'
},
series: [{
type: 'gauge',
radius: '90%',
data: guageChart
}]
}
chart.setOption(options)
return chart
})
})
}
}
}
</script>
<style>
</style>
that.$nextTick(() => {
that.$refs['normalGaugeCanvas'].init((canvas, width, height, canvasDpr) => {
chart = that.$echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: canvasDpr
})
canvas.setChart(chart)
const { dataList: { guageChart } } = that.elementData
const options = {
...that.elementInfo.option,
tooltip: {
formatter: '{a} <br/>{b} : {c}%'
},
series: [{
type: 'gauge',
radius: '90%',
data: guageChart
}]
}
chart.setOption(options)
return chart
})
})
}
}
}
</script>
<style>
</style>
......@@ -4,7 +4,7 @@
</template>
<script>
import uniEcCanvas from '@/components/uni-ec-canvas/uni-ec-canvas'
import uniEcCanvas from '@/uni-ec-canvas/uni-ec-canvas'
import echartElementData from '@/mixins/echartElementData.js'
let chart = null
......@@ -13,55 +13,54 @@
data() {
return {
ec: {
lazyLoad: true
lazyLoad: true,
option: {}
}
}
},
components: {
uniEcCanvas
},
mounted() {
this.$refs['normalLineCanvas'].init(this.inited)
},
methods: {
initChart() {
const that = this
that.$nextTick(() => {
that.$refs['normalLineCanvas'].init((canvas, width, height, canvasDpr) => {
chart = that.$echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: canvasDpr
})
canvas.setChart(chart)
const {
dataList: {
categories,
series
}
} = that.elementData
const options = {
...that.elementInfo.option,
color: ['#00f2f1', '#ed3f35', '#1089E7', "#F8B448", "#8B78F6", '#8cd8ff',
'#f0ad54', '#ffffff', '#000000'
],
tooltip: {},
xAxis: {
...that.elementInfo.option.xAxis,
data: categories
},
series: that.dealSeriesData(series)
}
chart.setOption(options)
chart.on('click', event => {
that.handleEchartsClick(event)
})
return chart
})
inited(canvas, width, height, canvasDpr) {
chart = this.$echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: canvasDpr
})
canvas.setChart(chart)
const { categories = [], series = [] } = this.elementData.dataList
this.ec.option = {
...this.elementInfo.option,
color: ['#00f2f1', '#ed3f35', '#1089E7', "#F8B448", "#8B78F6", '#8cd8ff',
'#f0ad54', '#ffffff', '#000000'
],
// tooltip: {},
xAxis: {
...this.elementInfo.option.xAxis,
data: categories
},
series: this.dealSeriesData(series)
}
chart.setOption(this.ec.option)
chart.on('click', event => {
this.handleEchartsClick(event)
})
return chart
},
initChart() {
const { categories, series } = this.elementData.dataList
this.$set(this.ec.option, 'xAxis.data', categories)
this.$set(this.ec.option, 'series', this.dealSeriesData(series))
},
/**
* 处理数据
*/
dealSeriesData(data) {
if (!data) return
if (!data) return []
const that = this
const newData = data.map(item => {
const config = {
......@@ -86,4 +85,4 @@
}
</script>
<style scoped>
</style>
</style>
<template>
<uni-ec-canvas
class="uni-ec-canvas"
id="normal-pie"
ref="normalPieCanvas"
canvas-id="normal-pie-chart"
:ec="ec"
></uni-ec-canvas>
</template>
<script>
import uniEcCanvas from '@/components/uni-ec-canvas/uni-ec-canvas'
import echartElementData from '@/mixins/echartElementData.js'
let chart = null
export default {
name:"NormalPie",
mixins: [echartElementData],
data() {
return {
ec: {
lazyLoad:true
}
};
},
components: {
uniEcCanvas
},
methods: {
initChart() {
const that = this
that.$nextTick(() => {
that.$refs['normalPieCanvas'].init((canvas, width, height, canvasDpr) => {
chart = that.$echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: canvasDpr
})
canvas.setChart(chart)
const { dataList: { series } } = that.elementData
const options = {
...that.elementInfo.option,
color: ['#1089E7', '#F57474', '#56D0E3', '#F8B448', '#8B78F6'],
tooltip: {
trigger: 'item',
formatter: '{a}<br/>{b}:{c}({d}%)'
},
series: that.dealSeriesData(series)
}
chart.setOption(options)
chart.on('click', event => {
that.handleEchartsClick(event)
})
return chart
})
})
},
dealSeriesData (data) {
if(!data) return
const series = [{
type: 'pie',
center: ["50%", "50%"],
...this.elementInfo.option.pie,
label: {
...this.elementInfo.option.dataset,
formatter: (val) => {
return this.$u.common.converFunction(this.elementInfo.option.dataset.formatter, val)
}
},
labelLine: {
show: true
},
data
}]
return series
}
}
}
</script>
<style>
</style>
<template>
<uni-ec-canvas
class="uni-ec-canvas"
id="normal-pie"
ref="normalPieCanvas"
canvas-id="normal-pie-chart"
:ec="ec"
></uni-ec-canvas>
</template>
<script>
import uniEcCanvas from '@/uni-ec-canvas/uni-ec-canvas'
import echartElementData from '@/mixins/echartElementData.js'
let chart = null
export default {
name:"NormalPie",
mixins: [echartElementData],
data() {
return {
ec: {
lazyLoad:true,
option: {}
}
};
},
components: {
uniEcCanvas
},
mounted() {
this.$refs['normalPieCanvas'].init(this.inited)
},
methods: {
inited(canvas, width, height, canvasDpr) {
chart = this.$echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: canvasDpr
})
canvas.setChart(chart)
const { series } = this.elementData.dataList
this.ec.option = {
...this.elementInfo.option,
color: ['#1089E7', '#F57474', '#56D0E3', '#F8B448', '#8B78F6'],
tooltip: {
trigger: 'item',
formatter: '{a}<br/>{b}:{c}({d}%)'
},
series: this.dealSeriesData(series)
}
chart.setOption(this.ec.option)
chart.on('click', event => {
this.handleEchartsClick(event)
})
return chart
},
initChart() {
const { series } = this.elementData.dataList
this.$set(this.ec.option, 'series', this.dealSeriesData(series))
},
dealSeriesData (data) {
if(!data) return
const series = [{
type: 'pie',
center: ["50%", "50%"],
...this.elementInfo.option.pie,
label: {
...this.elementInfo.option.dataset,
formatter: (val) => {
return this.$u.common.converFunction(this.elementInfo.option.dataset.formatter, val)
}
},
labelLine: {
show: true
},
data
}]
return series
}
}
}
</script>
<style>
</style>
......@@ -9,7 +9,7 @@
</template>
<script>
import uniEcCanvas from '@/components/uni-ec-canvas/uni-ec-canvas'
import uniEcCanvas from '@/uni-ec-canvas/uni-ec-canvas'
import echartElementData from '@/mixins/echartElementData.js'
let chart = null
......@@ -82,4 +82,4 @@
}
</script>
<style scoped>
</style>
</style>
......@@ -26,7 +26,7 @@
onClick(url) {
if (url != '') {
uni.navigateTo({
url:'../../pages/webView/webView/webView?url=' + encodeURIComponent(url)
url:'../../pages/webView/webView?url=' + encodeURIComponent(url)
})
}
}
......
......@@ -14,8 +14,8 @@ Vue.mixin(vuexStore)
import store from '@/store/index.js'
import * as echarts from '@/components/uni-ec-canvas/echarts'
import * as chinaJson from '@/components/uni-ec-canvas/china.json'
import * as echarts from '@/uni-ec-canvas/echarts'
import * as chinaJson from '@/uni-ec-canvas/china.json'
echarts.registerMap('china', chinaJson)
Vue.prototype.$echarts = echarts
......
......@@ -69,9 +69,12 @@
"postcss" : true,
"minified" : true
},
"optimization":{
"subPackages":true
},
"usingComponents" : true,
"permission" : {},
"lazyCodeLoading": "requiredComponents"
"lazyCodeLoading" : "requiredComponents"
},
"mp-alipay" : {
"usingComponents" : true
......
......@@ -19,6 +19,7 @@ export default {
*/
handleStaticData(value) {
this.elementData.dataList = JSON.parse(JSON.stringify({...value.dataList}))
this.initChart()
},
/**
* 动态数据
......@@ -35,6 +36,7 @@ export default {
} else {
that.elementData.dataList = JSON.parse(JSON.stringify(res.data.Result))
}
this.initChart()
},
/**
* 全局数据
......@@ -43,10 +45,11 @@ export default {
if (!this.vuex_globalData) return
const { dataProcessing } = { ...value }
if (dataProcessing) {
this.elementData.dataList = this.$u.common.converFunction(dataProcessing, JSON.parse(this.vuex_globalData))
this.elementData.dataList = this.$u.common.converFunction(dataProcessing, this.vuex_globalData)
} else {
this.elementData.dataList = JSON.parse(this.vuex_globalData)
this.elementData.dataList = this.vuex_globalData
}
this.initChart()
},
/**
* 配置数据 - 数据集
......@@ -62,6 +65,7 @@ export default {
} else {
that.elementData.dataList = res.data.Result
}
this.initChart()
} else {
that.$u.toast(Msg)
}
......@@ -119,12 +123,6 @@ export default {
deep: true,
immediate: true
},
'elementData': {
handler(newVal) {
this.initChart()
},
deep: true
},
/**
* 全局数据更新监测
*/
......
......@@ -43,7 +43,7 @@
}
}, {
"path": "pages/webView/webView/webView",
"path": "pages/webView/webView",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false
......
......@@ -179,7 +179,7 @@
let res = await that.$u.api[`${info.dataMethod.toLowerCase()}Http`](dataUrl, info.dataFormatter, {
custom: { loading: false }
})
that.$u.vuex('vuex_globalData', JSON.stringify(res.data))
that.$u.vuex('vuex_globalData', res.data)
},
/**
* 组件之间关联
......
......@@ -3,13 +3,13 @@
<template v-for="(element, index) in reportInfo.list">
<view
class="view-element"
v-show="!element.hide"
v-if="!element.hide"
:key="element.id"
:style="{
width: `${element.width * scale}px`,
height: `${element.height * scale}px`,
left: `${element.left * scale}px`,
top: `${element.top * scale}px`,
width: `${parseInt(element.width * scale)}px`,
height: `${parseInt(element.height * scale)}px`,
left: `${parseInt(element.left * scale)}px`,
top: `${parseInt(element.top * scale)}px`,
zIndex: index + 1
}"
>
......@@ -179,7 +179,7 @@
let res = await that.$u.api[`${info.dataMethod.toLowerCase()}Http`](dataUrl, info.dataFormatter, {
custom: { loading: false }
})
that.$u.vuex('vuex_globalData', JSON.stringify(res.data))
that.$u.vuex('vuex_globalData', res.data)
},
/**
* 组件之间关联
......
......@@ -302,7 +302,10 @@
canvas.setChart(this.$curChart);
this.$curChart.setOption(this.ec.option);
}
}
},
beforeDestroy() {
this.$curChart.dispose()
}
};
</script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment