lineChart.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765
  1. <template>
  2. <view class="" >
  3. <view @click="back" class="back">
  4. <text>返回上一页</text>
  5. </view>
  6. <view class="select" style="">
  7. <view class="allArea">
  8. <view class="area1">
  9. <text class="arear-text" @click="tanKuang">{{list[curVal].text}}</text>
  10. <image src="../../static/down.png" mode=""></image>
  11. </view>
  12. </view>
  13. </view>
  14. <swiper :interval="3000" :duration="500" :style="{ height:mainHeight + 'px' }" style="padding-top: 8%;width: 100%;background-color: #FFFFFF;"
  15. v-bind:current="swiperTabIdx">
  16. <swiper-item>
  17. <view class="swiper-item" style="height: 100%;">
  18. <view class="qiun-columns" style=" display: flex;overflow-y: scroll; ">
  19. <view class="bt" style="flex:0 0 5%;">
  20. <button type="default" v-for="(item,index) in indexList" :key='index' @click="changeDate(index)">{{item}}</button>
  21. </view>
  22. <view class="qiun-charts-rotate" style="flex: 0 0 60%;padding:0;">
  23. <canvas canvas-id="canvasColumn" id="canvasColumn" class="charts-rotate" style="padding-top: 20upx"></canvas>
  24. </view>
  25. <view class="" style="flex: 0 0 20%;" >
  26. <view class="text">
  27. 日新增订单
  28. </view>
  29. </view>
  30. </view>
  31. </view>
  32. </swiper-item>
  33. <swiper-item>
  34. <view class="swiper-item">
  35. <view class="swiper-item">
  36. <view class="qiun-columns" style=" display: flex;overflow-y: scroll;">
  37. <view class="bt" style="flex:0 0 5%;">
  38. <!-- <button type="default" v-for="(item,index) in indexList" :key='index' @click="changeDate(index)">{{item}}</button> -->
  39. </view>
  40. <view class="qiun-charts-rotate" style="flex: 0 0 70%;padding: 0upx;">
  41. <canvas canvas-id="canvasColumnA" id="canvasColumnA" class="charts-rotate" disable-scroll=true @touchstart="touchIt($event,'canvasColumnA')"
  42. @touchmove="moveLineA"></canvas>
  43. </view>
  44. <view class="" style="flex:0 0 20%;">
  45. <view class="text">
  46. 用户数据
  47. </view>
  48. </view>
  49. </view>
  50. </view>
  51. </view>
  52. </swiper-item>
  53. <swiper-item>
  54. <view class="swiper-item">
  55. <view class="swiper-item">
  56. <view class="qiun-columns" style=" display: flex;overflow-y: scroll;">
  57. <view class="bt" style="flex:0 0 5%;">
  58. <!-- <button type="default" v-for="(item,index) in indexList" :key='index' @click="changeDate(index)">{{item}}</button> -->
  59. </view>
  60. <view class="qiun-charts-rotate" style="flex: 0 0 70%;padding: 0;">
  61. <!-- <view class="qiun-charts"> -->
  62. <!--#ifdef MP-ALIPAY -->
  63. <canvas canvas-id="canvasLineA" id="canvasLineA" class="charts-rotate" :width="cWidth*pixelRatio" :height="cHeight*pixelRatio"
  64. :style="{'width':cWidth+'px','height':cHeight+'px'}" disable-scroll=true @touchstart="touchIt($event,'canvasLineA')"
  65. @touchmove="moveLineA"></canvas>
  66. <!-- 使用图表拖拽功能时,建议给canvas增加disable-scroll=true属性,在拖拽时禁止屏幕滚动 -->
  67. <!--#endif-->
  68. <!--#ifndef MP-ALIPAY -->
  69. <canvas canvas-id="canvasLineA" style="width:100%;" class="charts-rotate" id="canvasLineA" disable-scroll=true
  70. @touchstart="touchIt($event,'canvasLineA')" @touchmove="moveLineA"></canvas>
  71. <!-- 使用图表拖拽功能时,建议给canvas增加disable-scroll=true属性,在拖拽时禁止屏幕滚动 -->
  72. <!--#endif-->
  73. <!-- </view> -->
  74. </view>
  75. <view class="" style="flex:0 0 20%;">
  76. <view class="text">
  77. 收益详情
  78. </view>
  79. </view>
  80. </view>
  81. </view>
  82. </view>
  83. </swiper-item>
  84. </swiper>
  85. </view>
  86. </template>
  87. <script>
  88. import uCharts from '@/pages/mine/uchart/u-charts.js';
  89. import allArea from '../../component/allArea/allArea.vue'
  90. import {
  91. isJSON
  92. } from '@/pages/mine/uchart/checker.js';
  93. var _self;
  94. var canvaColumn = null;
  95. var app = getApp()
  96. var canvasObj = {};
  97. export default {
  98. data() {
  99. return {
  100. swiperTabIdx: 2,
  101. // cWidth:'',
  102. // cHeight:'',
  103. cWidth2: '', //横屏图表
  104. cHeight2: '', //横屏图表
  105. pixelRatio: 1,
  106. serverData: '',
  107. indexList: "", //默认显示日期
  108. dayIndex: "",
  109. dayTabIndex: 0, //默认显示第一个按钮的日期数据
  110. list: [{ //所有区域选项
  111. areaID: '',
  112. text: '全部区域',
  113. value: -1,
  114. }], //骑行区域选择列表
  115. value1: 0, //骑行区与第一个显示什么
  116. curVal: uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0, //骑行区与第一个下标
  117. }
  118. },
  119. onLoad() {
  120. var arr = uni.getStorageSync('allArea');
  121. this.list = this.list.concat(arr);
  122. console.log(this.list)
  123. uni.getSystemInfo({
  124. success: res => {
  125. console.log(res, "这是屏幕信息")
  126. this.mainHeight = res.windowHeight;
  127. }
  128. })
  129. console.log(12344)
  130. _self = this;
  131. this.cWidth = uni.upx2px(700);
  132. this.cHeight = uni.upx2px(1100);
  133. // this.cWidth2 = uni.upx2px(700);
  134. // this.cHeight2 = uni.upx2px(1100);
  135. this.dayDate();
  136. this.userDate();
  137. this.getServerData(); //收益数据
  138. },
  139. methods: {
  140. back:function(){
  141. uni.navigateBack({
  142. })
  143. },
  144. tanKuang: function() {
  145. var that = this;
  146. var arr = []
  147. for (let i = 0; i < this.list.length; i++) {
  148. arr = arr.concat(this.list[i].text)
  149. }
  150. console.log(arr)
  151. uni.showActionSheet({
  152. itemList: arr,
  153. success: function(res) {
  154. let index = res.tapIndex
  155. that.areaID = that.list[index].areaID;
  156. that.curVal = res.tapIndex
  157. console.log(that.list[index].areaID, "66666");
  158. console.log('选中了第' + res.tapIndex + '个按钮');
  159. that.dayDate();
  160. that.userDate();
  161. that.getServerData(); //收益数据
  162. },
  163. fail: function(res) {}
  164. })
  165. },
  166. childMess: function(e) {
  167. console.log(e, '这是子组件穿过来的值')
  168. this.areaID = e.areaID
  169. this.getServerData();
  170. // this.getFeed()
  171. },
  172. changeDate: function(e) {
  173. this.dayTabIndex = e
  174. console.log(e, "3333")
  175. this.dayDate();
  176. },
  177. getServerData() {
  178. let date = {
  179. area_id: this.areaID,
  180. days: 'thirtyDays'
  181. }
  182. app.request('order/profitChart', date, 'GET').then(res => {
  183. let LineA = {
  184. categories: [],
  185. series: []
  186. };
  187. console.log(res, '这是所有数据999999999')
  188. var arr = new Array
  189. arr = res.data
  190. var data = new Array
  191. for (let i = 0, len = res.data.length; i < len; i++) { // 编程式
  192. // console.log("for循环", arr[i]);
  193. // console.log(arr[i].data, "数组")
  194. var aa = arr[i].data
  195. // console.log(aa, "这是第" + i)
  196. LineA.series.push({
  197. name: arr[i].name,
  198. data: arr[i].data
  199. })
  200. }
  201. for (let k = 0, leng = aa.length; k < leng; k++) {
  202. // console.log(aa[k].value,'666666')
  203. // console.log(aa[k].date,"这是横坐标")
  204. LineA.categories.push(aa[k].date)
  205. // console.log(this.lineData2.categories,"这是横坐标")
  206. // console.log(this.lineData2.series,"这是最终数据")
  207. }
  208. console.log(res.data.data, "333")
  209. // LineA.categories=res.data.data.LineA.categories;
  210. // LineA.series=res.data.data.LineA.series;
  211. //第二根线为虚线的设置
  212. // LineA.series[1].lineType='dash';
  213. // LineA.series[1].dashLength=10;
  214. _self.textarea = JSON.stringify(LineA);
  215. _self.showLineA("canvasLineA", LineA);
  216. })
  217. },
  218. //日新增订单
  219. dayDate() {
  220. _self = this;
  221. this.cWidth = uni.upx2px(500);
  222. this.cHeight = uni.upx2px(1400);
  223. // this.cWidth2 = uni.upx2px(700);
  224. // this.cHeight2 = uni.upx2px(1100);
  225. let date = {
  226. area_id: this.areaID,
  227. days: 'thirtyDays'
  228. }
  229. app.request('order/hourOrderNumber', date, 'GET').then(res => {
  230. let Column = {
  231. categories: [],
  232. series: []
  233. };
  234. // _self.serverData=res;
  235. console.log(res, '22222')
  236. // console.log(res, 'disanzu这是所有数据')
  237. var aa=res.data.date
  238. var aa1=[]
  239. for(let i=0,len=aa.length;i<len;i++){
  240. aa1.push(aa[i].substring(aa[i].length-2))
  241. console.log(aa1,"5555555555")
  242. }
  243. console.log("00000000000000000000000000")
  244. _self.indexList = aa1
  245. Column.categories = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16",
  246. "17", "18", "19", "20", "21", "22", '23', "24"
  247. ]
  248. var arr = []
  249. var day = res.data.date[_self.dayTabIndex]
  250. console.log(day, "444444555555555")
  251. arr.push({
  252. name: day,
  253. data: res.data.data[day]
  254. })
  255. console.log(arr, "444")
  256. Column.series = arr
  257. // Column.series=res.data.data
  258. console.log(Column, "6666")
  259. _self.showColumn("canvasColumn", Column);
  260. })
  261. },
  262. //用户数据统计
  263. userDate() {
  264. let date = {
  265. area_id: this.areaID,
  266. days: 'thirtyDays'
  267. }
  268. app.request('user/newUsersChart', date, 'GET').then(res => {
  269. let Column = {
  270. categories: [],
  271. series: [
  272. ]
  273. };
  274. console.log(res.data, "88888888")
  275. var arr = []
  276. for (let i = 0, len = res.data.length; i < len; i++) { // 编程式
  277. // console.log("for循环", res.data[i]);
  278. Column.categories.push(res.data[i].date)
  279. arr.push(res.data[i].value)
  280. Column.series.push({
  281. name: res.data[i].date,
  282. data: arr,
  283. color: '#55ff00'
  284. })
  285. }
  286. console.log(arr, "898988989898")
  287. console.log(Column, "数组5656565655")
  288. // _self.indexList = res.data.date
  289. _self.showColumn1("canvasColumnA", Column);
  290. })
  291. },
  292. showColumn(canvasId, chartData) {
  293. canvaColumn = new uCharts({
  294. $this: _self,
  295. canvasId: canvasId,
  296. type: 'column',
  297. legend: true,
  298. fontSize: 11,
  299. background: '#55ff00',
  300. pixelRatio: _self.pixelRatio,
  301. animation: true,
  302. rotate: true,
  303. categories: chartData.categories,
  304. series: chartData.series,
  305. xAxis: {
  306. disableGrid: true,
  307. },
  308. yAxis: {
  309. //disabled:true
  310. },
  311. dataLabel: true,
  312. width: _self.cWidth * _self.pixelRatio,
  313. height: _self.cHeight * _self.pixelRatio,
  314. extra: {
  315. column: {
  316. type: 'group',
  317. width: _self.cWidth * _self.pixelRatio * 0.45 / chartData.categories.length
  318. }
  319. }
  320. });
  321. },
  322. changeGaugeData() {
  323. let series = [{
  324. name: "完成率",
  325. data: Math.random()
  326. }]; //这里是随机数据,生产环境请从服务器获取,注意series数据类型为数组
  327. //这里我借用之前的categories数据,判断一下新数据的title.color,没有写死在程序里,以便于自定义
  328. let newTitleColor;
  329. for (let i = 0; i < _self.serverData.Gauge.categories.length; i++) {
  330. if (series[0].data <= _self.serverData.Gauge.categories[i].value) {
  331. newTitleColor = _self.serverData.Gauge.categories[i].color;
  332. break;
  333. }
  334. }
  335. canvasObj['canvasGauge'].updateData({
  336. series: series, //这里给了新数值
  337. categories: _self.serverData.Gauge.categories,
  338. title: {
  339. name: Math.round(series[0].data * 100) + '%',
  340. color: newTitleColor,
  341. fontSize: 25 * _self.pixelRatio,
  342. offsetY: 50 * _self.pixelRatio, //新增参数,自定义调整Y轴文案距离
  343. },
  344. subtitle: {
  345. name: '更新数据',
  346. color: '#666666',
  347. fontSize: 15 * _self.pixelRatio,
  348. offsetY: -50 * _self.pixelRatio, //新增参数,自定义调整Y轴文案距离
  349. }
  350. });
  351. },
  352. touchLineA(e) {
  353. canvasObj['canvasLineA'].scrollStart(e);
  354. },
  355. moveLineA(e) {
  356. canvasObj['canvasLineA'].scroll(e);
  357. },
  358. touchEndLineA(e) {
  359. console.log(e, "00")
  360. canvasObj['canvasLineA'].scrollEnd(e);
  361. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  362. canvasObj['canvasLineA'].showToolTip(e, {
  363. format: function(item, category) {
  364. return category + ' ' + item.name + ':' + item.data
  365. }
  366. });
  367. },
  368. touchIt(e, id) {
  369. canvasObj['canvasLineA'].scrollStart(e);
  370. // canvasObj[id].touchLegend(e, {
  371. // animation: false
  372. // });
  373. // canvasObj[id].showToolTip(e, {
  374. // format: function(item, category) {
  375. // if (typeof item.data === 'object') {
  376. // return category + ' ' + item.name + ':' + item.data.value
  377. // } else {
  378. // return category + ' ' + item.name + ':' + item.data
  379. // }
  380. // }
  381. // });
  382. },
  383. touchMix(e) {
  384. canvasObj['canvasMix'].scrollStart(e);
  385. },
  386. moveMix(e) {
  387. canvasObj['canvasMix'].scroll(e);
  388. },
  389. showLineA(canvasId, chartData) {
  390. canvasObj[canvasId] = new uCharts({
  391. $this: _self,
  392. canvasId: canvasId,
  393. type: 'line',
  394. fontSize: 8,
  395. rotate: true,
  396. dataLabel: false,
  397. // dataLabel: false,
  398. padding: [15, 15, 0, 15],
  399. legend: {
  400. show: true,
  401. padding: 5,
  402. lineHeight: 11,
  403. margin: 5,
  404. },
  405. // dataLabel: false,
  406. dataPointShape: false,
  407. background: '#FFFFFF',
  408. pixelRatio: _self.pixelRatio,
  409. categories: chartData.categories,
  410. series: chartData.series,
  411. animation: false,
  412. enableScroll: true, //开启图表拖拽功能
  413. dataZoom: [
  414. {
  415. show: true,
  416. realtime: true,
  417. start: 0,
  418. end: 50
  419. },
  420. // {
  421. // type: 'outside',
  422. // realtime: true,
  423. // start: 0,
  424. // end: 50
  425. // }
  426. ],
  427. xAxis: {
  428. // rotateLabel: true,
  429. // disableGrid: true,
  430. // itemCount: chartData.length,
  431. // labelCount: 30,
  432. // gridType: 'dash',
  433. disableGrid: true,
  434. type: 'grid',
  435. rotateLabel: true,
  436. // gridType: 'dash',
  437. itemCount:25,
  438. // scrollShow: true,
  439. scrollAlign: 'left',
  440. //scrollBackgroundColor:'#F7F7FF',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条背景颜色,默认为 #EFEBEF
  441. //scrollColor:'#DEE7F7',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条颜色,默认为 #A6A6A6
  442. },
  443. yAxis: {
  444. //disabled:true
  445. gridType: 'dash',
  446. splitNumber: 8,
  447. min: 10,
  448. max: 180,
  449. format: (val) => {
  450. return val.toFixed(0)
  451. } //如不写此方法,Y轴刻度默认保留两位小数
  452. },
  453. width: _self.cWidth * _self.pixelRatio,
  454. height: _self.cHeight * _self.pixelRatio,
  455. dataLabel: true,
  456. dataPointShape: true,
  457. extra: {
  458. lineStyle: 'straight'
  459. },
  460. });
  461. },
  462. showColumn1(canvasId, chartData) {
  463. canvaColumn = new uCharts({
  464. $this: _self,
  465. canvasId: canvasId,
  466. type: 'line',
  467. legend: true,
  468. fontSize: 8,
  469. // background: '#55ff00',
  470. // pixelRatio: _self.pixelRatio,
  471. // animation: true,
  472. rotate: true,
  473. legend: {
  474. show: false
  475. },
  476. enableScroll: true,
  477. // rotateLabel: true,
  478. categories: chartData.categories,
  479. series: chartData.series,
  480. // legend: {
  481. // show: true,
  482. // padding: 5,
  483. // lineHeight: 11,
  484. // margin: 5,
  485. // },
  486. xAxis: {
  487. rotateLabel: true,
  488. disableGrid: true,
  489. // itemCount: chartData.length,
  490. itemCount:30,
  491. gridType: 'dash',
  492. },
  493. yAxis: {
  494. //disabled:true
  495. },
  496. dataLabel: true,
  497. width: _self.cWidth * _self.pixelRatio,
  498. height: _self.cHeight * _self.pixelRatio,
  499. // extra: {
  500. // column: {
  501. // type: 'group',
  502. // width: _self.cWidth * _self.pixelRatio * 0.45 / chartData.categories.length
  503. // }
  504. // },
  505. extra: {
  506. lineStyle: 'straight'
  507. }
  508. });
  509. },
  510. touchColumn(e) {
  511. canvaColumn.showToolTip(e, {
  512. format: function(item, category) {
  513. if (typeof item.data === 'object') {
  514. return category + ' ' + item.name + ':' + item.data.value
  515. } else {
  516. return category + ' ' + item.name + ':' + item.data
  517. }
  518. }
  519. });
  520. },
  521. }
  522. }
  523. </script>
  524. <style>
  525. /* top: 10%; */
  526. .back{
  527. height: 80upx;
  528. line-height: 170upx;
  529. padding-left: 30upx;
  530. font-size: 34upx;
  531. position: absolute;
  532. z-index: 99999;
  533. bottom: 50%;
  534. right: -12%;
  535. transform: rotate(90deg);
  536. -ms-transform: rotate(90deg);
  537. /* Internet Explorer 9*/
  538. -moz-transform: rotate(90deg);
  539. /* Firefox */
  540. -webkit-transform: rotate(90deg);
  541. /* Safari 和 Chrome */
  542. -o-transform: rotate(90deg);
  543. /* Opera */
  544. filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  545. }
  546. .select {
  547. height: 80upx;
  548. line-height: 170upx;
  549. padding-left: 30upx;
  550. font-size: 34upx;
  551. position: absolute;
  552. z-index: 99999;
  553. bottom: 10%;
  554. right: -12%;
  555. transform: rotate(90deg);
  556. -ms-transform: rotate(90deg);
  557. /* Internet Explorer 9*/
  558. -moz-transform: rotate(90deg);
  559. /* Firefox */
  560. -webkit-transform: rotate(90deg);
  561. /* Safari 和 Chrome */
  562. -o-transform: rotate(90deg);
  563. /* Opera */
  564. filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  565. }
  566. .allArea image {
  567. display: inline-block;
  568. vertical-align: middle;
  569. margin-left: 20upx;
  570. height: 40upx;
  571. width: 40upx;
  572. }
  573. .qiun-charts-rotate {
  574. width: 1000upx;
  575. height: 2400upx;
  576. background-color: #FFFFFF;
  577. padding: 25upx;
  578. }
  579. .charts-rotate {
  580. width: 500upx;
  581. padding:15upx;
  582. height: 1400upx;
  583. background-color: #FFFFFF;
  584. }
  585. page {
  586. background: #F2F2F2;
  587. width: 750upx;
  588. overflow-x: hidden;
  589. position: relative;
  590. }
  591. .bt {
  592. width: 20%;
  593. /* margin-top: 21%upx; */
  594. }
  595. .bt1 {
  596. height: 50upx;
  597. width: 180upx;
  598. line-height: 50upx;
  599. }
  600. .bt{
  601. padding-left: 30upx;
  602. padding-top: 50%;
  603. /* text-align: center; */
  604. }
  605. .bt button {
  606. font-size: 24upx;
  607. text-align: center;
  608. display: inline-block;
  609. vertical-align: bottom;
  610. height:70upx;
  611. line-height: 70upx;
  612. background-color: #007AFF;
  613. color: #FFFFFF;
  614. width: 70upx;
  615. border-radius: 50%;
  616. padding: 0;
  617. /* margin-left: 20upx; */
  618. text-align: center;
  619. /* line-height: 70upx; */
  620. margin: 0;
  621. margin-top:20upx;
  622. margin-bottom: 20upx;
  623. transform: rotate(90deg);
  624. -ms-transform: rotate(90deg);
  625. /* Internet Explorer 9*/
  626. -moz-transform: rotate(90deg);
  627. /* Firefox */
  628. -webkit-transform: rotate(90deg);
  629. /* Safari 和 Chrome */
  630. -o-transform: rotate(90deg);
  631. /* Opera */
  632. filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  633. }
  634. ..bt button:first-child {
  635. /* margin-top: 300upx; */
  636. }
  637. .bt button::after{
  638. border: none;
  639. }
  640. .text {
  641. font-size: 36upx;
  642. height: 20upx;
  643. font-weight: 550;
  644. line-height: 280upx;
  645. width: 350upx;
  646. /* border-top: solid 2upx #004FB6; */
  647. margin-top: 21%;
  648. /* height: 600upx;
  649. width: 200upx; */
  650. /* background-color: #004FB6; */
  651. color: #004FB6 !important;
  652. text-align: center;
  653. transform: rotate(90deg);
  654. -ms-transform: rotate(90deg);
  655. /* Internet Explorer 9*/
  656. -moz-transform: rotate(90deg);
  657. /* Firefox */
  658. -webkit-transform: rotate(90deg);
  659. /* Safari 和 Chrome */
  660. -o-transform: rotate(90deg);
  661. /* Opera */
  662. filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  663. }
  664. /* .qiun-padding {
  665. padding: 2%;
  666. width: 96%;
  667. }
  668. .qiun-wrap {
  669. display: flex;
  670. flex-wrap: wrap;
  671. }
  672. .qiun-rows {
  673. display: flex;
  674. flex-direction: row !important;
  675. }
  676. .qiun-columns {
  677. display: flex;
  678. flex-direction: column !important;
  679. }
  680. .qiun-common-mt {
  681. margin-top: 10upx;
  682. }
  683. .qiun-bg-white {
  684. background: #FFFFFF;
  685. }
  686. .qiun-title-bar {
  687. width: 96%;
  688. padding: 10upx 2%;
  689. flex-wrap: nowrap;
  690. }
  691. .qiun-title-dot-light {
  692. border-left: 10upx solid #0ea391;
  693. padding-left: 10upx;
  694. font-size: 32upx;
  695. color: #000000
  696. }
  697. .qiun-charts {
  698. width: 750upx;
  699. height: 500upx;
  700. background-color: #FFFFFF;
  701. }
  702. .charts {
  703. width: 750upx;
  704. height: 500upx;
  705. background-color: #FFFFFF;
  706. } */
  707. </style>