123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <template>
- <view>
- <canvas canvas-id="canvasColumnStack" id="canvasColumnStack" @touchstart="touchColumn" style="width: 700rpx; height: 800rpx;"></canvas>
- </view>
- </template>
- <script>
- import uCharts from '@/components/u-charts/u-charts.js';
- var _self;
- var canvaColumn = null;
- export default {
- data() {
- return {
- cWidth: '',
- cHeight: '',
- pixelRatio: 1,
- serverData: '',
- };
- },
- mounted() {
- _self = this;
- this.cWidth = uni.upx2px(700);
- this.cHeight = uni.upx2px(780);
- this.getServerData();
- },
- methods: {
- getServerData() {
- this.$p_api.coalmine_trend({
-
- }).then((res)=>{
- // console.log(res.data.data)
-
- let ColumnStack={
- categories:[],
- series:[
- {
- "name": "早班",
- "data": []
- },
- {
- "name": "中班",
- "data": []
- },
- {
- "name": "晚班",
- "data": []
- }
- ],
- };
-
- res.data.data.map((item,index)=>{
- var sevm = {};
- sevm = item.date;
- ColumnStack.categories[index] = sevm
- })
-
- res.data.data.map((item,index)=>{
- var sevm = {};
- sevm = item.n1;
- ColumnStack.series[0].data[index] = sevm
- })
- res.data.data.map((item,index)=>{
- var sevm = {};
- sevm = item.n2;
- ColumnStack.series[1].data[index] = sevm
- })
- res.data.data.map((item,index)=>{
- var sevm = {};
- sevm = item.n3;
- ColumnStack.series[2].data[index] = sevm
- })
-
-
- _self.showColumnStack("canvasColumnStack", ColumnStack);
- })
-
-
- },
- showColumnStack(canvasId, chartData) {
- canvaColumn = new uCharts({
- $this: _self,
- canvasId: canvasId,
- type: 'column',
- legend: {
- show: true,
- position: 'top',
- itemGap: 30,
- },
- fontSize: 11,
- background: '#FFFFFF',
- pixelRatio: _self.pixelRatio,
- animation: true,
- categories: chartData.categories,
- series: chartData.series,
- xAxis: {
- disableGrid: true,
- },
- yAxis: {
- //disabled:true
- },
- dataLabel: false,
- width: _self.cWidth * _self.pixelRatio,
- height: _self.cHeight * _self.pixelRatio,
- extra: {
- column: {
- type: 'stack',
- width: _self.cWidth * _self.pixelRatio * 0.5 / chartData.categories.length
- }
- }
- });
- },
- touchColumn(e) {
- canvaColumn.showToolTip(e, {
- format: function(item, category) {
- // return category + ' ' + item.name + ':' + item.data
- return item.name + ':' + item.data
- }
- });
- },
- }
- }
- </script>
- <style lang="scss">
- </style>
|