index.vue 37 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429
  1. <template>
  2. <view>
  3. <uni-collapse class="uni-flex">
  4. <uni-collapse-item title="常用操作">
  5. <uni-grid :column="4" :square="false" :highlight="false">
  6. <uni-grid-item>
  7. <view class="grid-item-box pointer" @click="toSign1">
  8. <image class="img" mode="aspectFit" src="/static/icon/qianzhengshenqing.svg" ></image>
  9. <text class="text">签证申请单</text>
  10. </view>
  11. </uni-grid-item>
  12. <uni-grid-item>
  13. <view class="grid-item-box pointer" @click="toSign2">
  14. <image class="img" mode="aspectFit" src="/static/icon/qianzheng.svg" ></image>
  15. <text class="text">待审签证单</text>
  16. </view>
  17. </uni-grid-item>
  18. <uni-grid-item>
  19. <navigator url="../template/GetMaterialIns/GetMaterialIns">
  20. <view class="grid-item-box pointer">
  21. <image class="img" mode="aspectFit" src="/static/icon/in.svg" ></image>
  22. <text class="text">材料验收单</text>
  23. </view>
  24. </navigator>
  25. </uni-grid-item>
  26. <uni-grid-item>
  27. <view class="grid-item-box pointer" @click="selectProject">
  28. <image class="img" mode="aspectFit" src="/static/icon/select.svg" />
  29. <text class="text">选择项目</text>
  30. </view>
  31. </uni-grid-item>
  32. </uni-grid>
  33. <uni-grid :column="4" :square="false" :highlight="false">
  34. <uni-grid-item>
  35. <navigator url="../template/GetInStores/GetInStores">
  36. <view class="grid-item-box pointer">
  37. <image class="img" mode="aspectFit" src="/static/icon/lingliao.svg" />
  38. <text class="text">入库单</text>
  39. </view>
  40. </navigator>
  41. </uni-grid-item>
  42. <uni-grid-item>
  43. <navigator url="../template/GetMaterialOuts/GetMaterialOuts">
  44. <view class="grid-item-box pointer">
  45. <image class="img" mode="aspectFit" src="/static/icon/lingliao.svg" />
  46. <text class="text">领料单</text>
  47. </view>
  48. </navigator>
  49. </uni-grid-item>
  50. <uni-grid-item>
  51. <navigator url="../template/GetSafeQualityCheckDTOs/GetSafeQualityCheckDTOs?type=0">
  52. <view class="grid-item-box pointer">
  53. <image class="img" mode="aspectFit" src="/static/icon/quality.svg" />
  54. <text class="text">质量检查</text>
  55. </view>
  56. </navigator>
  57. </uni-grid-item>
  58. <uni-grid-item>
  59. <navigator url="../template/GetSafeQualityCheckDTOs/GetSafeQualityCheckDTOs?type=1">
  60. <view class="grid-item-box pointer">
  61. <image class="img" mode="aspectFit" src="/static/icon/safe.svg" />
  62. <text class="text">安全检查</text>
  63. </view>
  64. </navigator>
  65. </uni-grid-item>
  66. </uni-grid>
  67. <uni-grid :column="4" :square="false" :highlight="false">
  68. <uni-grid-item>
  69. <navigator url="../template/GetPmProgressDTOs/GetPmProgressDTOs">
  70. <view class="grid-item-box pointer">
  71. <image class="img" mode="aspectFit" src="/static/icon/progress.svg" />
  72. <text class="text">进度填报</text>
  73. </view>
  74. </navigator>
  75. </uni-grid-item>
  76. <uni-grid-item>
  77. <navigator url="../template/GetSafeQualityCheckDTOs/GetSafeQualityCheckDTOs?type=2">
  78. <view class="grid-item-box pointer">
  79. <image class="img" mode="aspectFit" src="/static/icon/material.svg" />
  80. <text class="text">材料检查</text>
  81. </view>
  82. </navigator>
  83. </uni-grid-item>
  84. <uni-grid-item>
  85. <navigator url="/pages/template/requisitionlist/requisitionlist?type=1">
  86. <view class="grid-item-box pointer">
  87. <image class="img" mode="aspectFit" src="/static/icon/change.svg" />
  88. <text class="text">变更申请单</text>
  89. </view>
  90. </navigator>
  91. </uni-grid-item>
  92. <uni-grid-item>
  93. <navigator url="../template/GetDesignChangesList/GetDesignChangesList">
  94. <view class="grid-item-box pointer">
  95. <image class="img" mode="aspectFit" src="/static/icon/audit.svg" />
  96. <text class="text">待审变更</text>
  97. </view>
  98. </navigator>
  99. </uni-grid-item>
  100. <uni-grid-item>
  101. <view class="grid-item-box pointer" @click="logout">
  102. <image class="img" mode="aspectFit" src="/static/icon/logout.svg" />
  103. <text class="text">登出</text>
  104. </view>
  105. </uni-grid-item>
  106. </uni-grid>
  107. </uni-collapse-item>
  108. </uni-collapse>
  109. <view class="qiun-columns">
  110. <view class="qiun-padding" style="font-size: 32rpx;">
  111. <text>{{tips}}</text>
  112. </view>
  113. <view v-for="(item2,index2) in talk">
  114. <view class="qiun-bg-white qiun-title-bar qiun-common-mt">
  115. <view class="qiun-title-dot-light">
  116. <i class="fa fa-minus marginRight" aria-hidden="true" ref='qi_title' v-if="item2.isCollapse" @click='collapse(item2,index2)'></i>
  117. <i class="fa fa-plus marginRight" aria-hidden="true" ref='qi_title' v-else @click='collapse(item2,index2)'></i>
  118. 项目({{item2.progressName}})进度图</view>
  119. </view>
  120. <view class="line"></view>
  121. <view ref='qi_content' class="space" v-show="item2.isCollapse">
  122. <!-- 工作项开始///////////////////////////////// -->
  123. <view v-for="(item,index) in item2.progressList" :key="index">
  124. <view class="space height30">
  125. <!-- 折叠标记 -->
  126. <i class="fa fa-minus marginRight" aria-hidden="true" ref='qi_title' v-if="item.isCollapse" @click='collapse1(item2,index2,item,index)'></i>
  127. <i class="fa fa-plus marginRight" aria-hidden="true" ref='qi_title' v-else @click='collapse1(item2,index2,item,index)'></i>
  128. <!-- 圆点标记 -->
  129. <i class="fa fa-circle red marginRight" aria-hidden="true" v-if="item.alertState==3" title="未按期完成"></i>
  130. <i class="fa fa-circle orange marginRight" aria-hidden="true" title="即将到期预警" v-else-if="item.alertState==2"></i>
  131. <i class="fa fa-circle green marginRight" aria-hidden="true" title="正常" v-else></i>
  132. {{item.nodeName}}
  133. <i class="fa fa-flag marginLeft red" aria-hidden="true" v-if="item.isCompanyKey==1" title="集团关键节点"></i>
  134. </view>
  135. <view class="space" v-show="item.isCollapse">
  136. <view class="line" ></view>
  137. <view class="height30">{{item.plannedStartDate}}--{{item.plannedFinishDate}} 工期:{{item.duration}}</view>
  138. <view class="height30 progress-box">
  139. <progress :percent="item.completePercent" show-info stroke-width="3" />
  140. </view>
  141. <view class="height30">{{item.status==1?'进行中':item.status==4?'已完成':'未开始'}}
  142. <navigator :url="'../template/GetpmProgressReportDTOs/GetpmProgressReportDTOs?progressNodeId='+item.progressNodeId" class="blue right">看进度报告</navigator>
  143. </view>
  144. </view>
  145. <view class="line"></view>
  146. </view>
  147. <!-- 工作项结束///////////////////////////////// -->
  148. </view>
  149. </view>
  150. <view class="qiun-title-bar" style="background-color: #E5FDC3;">
  151. <view class="qiun-title-dot-light">质量图</view>
  152. </view>
  153. <view class="qiun-charts" style="background-color: #E5FDC3;">
  154. <!--#ifdef MP-ALIPAY -->
  155. <canvas canvas-id="canvasColumn" id="canvasColumn" class="charts" style="background-color: #E5FDC3;" :width="cWidth*pixelRatio"
  156. :height="cHeight*pixelRatio" :style="{'width':cWidth+'px','height':cHeight+'px'}" @touchstart="touchIt($event,'canvasColumn')"></canvas>
  157. <!--#endif-->
  158. <!--#ifndef MP-ALIPAY -->
  159. <canvas canvas-id="canvasColumn" id="canvasColumn" class="charts" style="background-color: #E5FDC3;" @touchstart="touchIt($event,'canvasColumn')"></canvas>
  160. <!--#endif-->
  161. </view>
  162. <view class="qiun-bg-white qiun-title-bar qiun-common-mt">
  163. <view class="qiun-title-dot-light">安全图</view>
  164. </view>
  165. <view class="qiun-charts">
  166. <!--#ifdef MP-ALIPAY -->
  167. <canvas canvas-id="canvasMix" id="canvasMix" class="charts" :width="cWidth*pixelRatio" :height="cHeight*pixelRatio"
  168. :style="{'width':cWidth+'px','height':cHeight+'px'}" disable-scroll=true @touchstart="touchMix" @touchmove="moveMix"
  169. @touchend="touchEndMix"></canvas>
  170. <!--#endif-->
  171. <!--#ifndef MP-ALIPAY -->
  172. <canvas canvas-id="canvasMix" id="canvasMix" class="charts" disable-scroll=true @touchstart="touchMix" @touchmove="moveMix"
  173. @touchend="touchEndMix"></canvas>
  174. <!--#endif-->
  175. </view>
  176. </view>
  177. <page-foot :isShow="true" :showIndex="0"></page-foot>
  178. </view>
  179. </template>
  180. <script>
  181. import uCharts from '@/components/u-charts/u-charts.js';
  182. import {
  183. GetPmProgressItemAndReports
  184. } from "@/common/api/ProgressApi.js";
  185. import {
  186. showImage
  187. } from "@/common/api/commonApi.js";
  188. var startX, startY;
  189. var endPos = {},
  190. isScrolling;
  191. var _self;
  192. var canvasObj = {};
  193. export default {
  194. data() {
  195. return {
  196. href: '',
  197. state: this.$store.state,
  198. cWidth: '',
  199. cHeight: '',
  200. cWidth2: '', //横屏图表
  201. cHeight2: '', //横屏图表
  202. cWidth3: '', //圆弧进度图
  203. cHeight3: '', //圆弧进度图
  204. arcbarWidth: '', //圆弧进度图,进度条宽度,此设置可使各端宽度一致
  205. gaugeWidth: '', //仪表盘宽度,此设置可使各端宽度一致
  206. tips: '',
  207. pixelRatio: 1,
  208. serverData: '',
  209. itemCount: 30, //x轴单屏数据密度
  210. sliderMax: 50,
  211. //进度图表
  212. talk: []
  213. }
  214. },
  215. onLoad() {
  216. console.info("首页1");
  217. //判断登录是否超时,若超时,则跳转到登录界面
  218. this.$util.persistLogin(this);
  219. _self = this;
  220. //#ifdef MP-ALIPAY
  221. uni.getSystemInfo({
  222. success: function(res) {
  223. if (res.pixelRatio > 1) {
  224. //正常这里给2就行,如果pixelRatio=3性能会降低一点
  225. //_self.pixelRatio =res.pixelRatio;
  226. _self.pixelRatio = 2;
  227. }
  228. }
  229. });
  230. //#endif
  231. this.cWidth = uni.upx2px(750);
  232. this.cHeight = uni.upx2px(500);
  233. this.cWidth2 = uni.upx2px(700);
  234. this.cHeight2 = uni.upx2px(1100);
  235. this.cWidth3 = uni.upx2px(250);
  236. this.cHeight3 = uni.upx2px(250);
  237. this.arcbarWidth = uni.upx2px(24);
  238. this.gaugeWidth = uni.upx2px(30);
  239. },
  240. onReady() {
  241. this.getServerData();
  242. },
  243. created() {
  244. this.getList();
  245. },
  246. methods: {
  247. toSign1() {
  248. uni.navigateTo({
  249. url: '/pages/template/requisitionlist/requisitionlist?type=0'
  250. });
  251. },
  252. toSign2() {
  253. uni.navigateTo({
  254. url: '/pages/template/GetVises/GetVises'
  255. });
  256. },
  257. preventhuadong() {
  258. },
  259. getList() {
  260. let _this = this;
  261. let projectCode = _this.$util.getState(_this, 'projectCode');
  262. let userCode=_this.$util.getState(_this, 'userCode');
  263. GetPmProgressItemAndReports(projectCode,userCode).then(res => {
  264. console.info('GetPmProgressItemAndReports', res);
  265. if (res) {
  266. if (res.length > 0) {
  267. res.forEach(function(item, index, arr) {
  268. _this.talk.push(item);
  269. });
  270. console.info('talk', _this.talk);
  271. //console.info('talk1',_this.talk.progressList.length);
  272. }
  273. }
  274. });
  275. },
  276. collapse(item2,index2){ /* 折叠或展开*/
  277. console.info('collapse');
  278. let that=this;
  279. if(item2.isCollapse){
  280. item2.isCollapse=false;
  281. }
  282. else{
  283. item2.isCollapse=true;
  284. }
  285. console.info(item2);
  286. that.$set(that.talk,index2,item2);
  287. // let talk=this.talk;
  288. // talk.forEach(function(item,index,array){
  289. // that.$set(that.talk,index,item);
  290. // });
  291. },
  292. collapse1(item2,index2,item,index){
  293. console.info('collapse1');
  294. let that=this;
  295. if(item.isCollapse){
  296. item.isCollapse=false;
  297. }
  298. else{
  299. item.isCollapse=true;
  300. }
  301. console.info(item2);
  302. that.$set(that.talk,index2,item2);
  303. },
  304. logout() {
  305. console.info("logout");
  306. this.$store.commit('setIsLogin', false);
  307. this.$store.commit('setUser', null);
  308. this.$store.commit('setToken', '');
  309. this.$store.commit('setName', '');
  310. this.$store.commit('setRoles', '');
  311. uni.navigateTo({
  312. url: "/"
  313. });
  314. },
  315. /* 选择项目 */
  316. selectProject() {
  317. uni.navigateTo({
  318. url: '/pages/SelectProject/SelectProject'
  319. });
  320. },
  321. /* 图表 start*/
  322. getServerData() {
  323. uni.showLoading({
  324. title: "正在加载数据..."
  325. })
  326. uni.request({
  327. url: 'https://unidemo.dcloud.net.cn/hello-uniapp-ucharts-data.json',
  328. data: {},
  329. success: function(res) {
  330. _self.fillData(res.data);
  331. },
  332. fail: () => {
  333. _self.tips = "网络错误,小程序端请检查合法域名";
  334. },
  335. complete() {
  336. uni.hideLoading();
  337. }
  338. });
  339. },
  340. fillData(data) {
  341. this.serverData = data;
  342. this.tips = data.tips;
  343. this.sliderMax = data.Candle.categories.length;
  344. let Column = {
  345. categories: [],
  346. series: []
  347. };
  348. let ColumnMeter = {
  349. categories: [],
  350. series: []
  351. };
  352. let LineA = {
  353. categories: [],
  354. series: []
  355. };
  356. let LineB = {
  357. categories: [],
  358. series: []
  359. };
  360. let Area = {
  361. categories: [],
  362. series: []
  363. };
  364. let Pie = {
  365. series: []
  366. };
  367. let Ring = {
  368. series: []
  369. };
  370. let Funnel = {
  371. series: []
  372. };
  373. let Radar = {
  374. categories: [],
  375. series: []
  376. };
  377. let Arcbar1 = {
  378. series: []
  379. };
  380. let Arcbar2 = {
  381. series: []
  382. };
  383. let Arcbar3 = {
  384. series: []
  385. };
  386. let Gauge = {
  387. categories: [],
  388. series: []
  389. };
  390. let Candle = {
  391. categories: [],
  392. series: []
  393. };
  394. let Mix = {
  395. categories: [],
  396. series: []
  397. };
  398. //这里我后台返回的是数组,所以用等于,如果您后台返回的是单条数据,需要push进去
  399. Column.categories = data.Column.categories;
  400. //这里的series数据是后台做好的,如果您的数据没有和前面我注释掉的格式一样,请自行拼接数据
  401. Column.series = data.Column.series;
  402. ColumnMeter.categories = data.ColumnMeter.categories;
  403. //这里的series数据,如果为Meter,series[0]定义为外层数据,series[1]定义为内层数据
  404. ColumnMeter.series = data.ColumnMeter.series;
  405. LineA.categories = data.LineA.categories;
  406. LineA.series = data.LineA.series;
  407. LineB.categories = data.LineB.categories;
  408. LineB.series = data.LineB.series;
  409. Area.categories = data.Area.categories;
  410. Area.series = data.Area.series;
  411. Pie.series = data.Pie.series;
  412. Ring.series = data.Ring.series;
  413. Funnel.series = data.Pie.series;
  414. //自定义文案示例,需设置format字段
  415. for (let i = 0; i < Ring.series.length; i++) {
  416. Ring.series[i].format = () => {
  417. return Ring.series[i].name + Ring.series[i].data
  418. };
  419. }
  420. Radar.categories = data.Radar.categories;
  421. Radar.series = data.Radar.series;
  422. Arcbar1.series = data.Arcbar1.series;
  423. Arcbar2.series = data.Arcbar2.series;
  424. Arcbar3.series = data.Arcbar3.series;
  425. Gauge.categories = data.Gauge.categories;
  426. Gauge.series = data.Gauge.series;
  427. Candle.categories = data.Candle.categories;
  428. Candle.series = data.Candle.series;
  429. Mix.categories = data.Mix.categories;
  430. Mix.series = data.Mix.series;
  431. this.showColumn("canvasColumn", Column);
  432. this.showColumnMeter("canvasColumnMeter", ColumnMeter);
  433. this.showLineA("canvasLineA", LineA);
  434. this.showLineB("canvasLineB", LineB);
  435. this.showArea("canvasArea", Area);
  436. this.showPie("canvasPie", Pie);
  437. this.showRing("canvasRing", Ring);
  438. this.showFunnel("canvasFunnel", Funnel);
  439. this.showRadar("canvasRadar", Radar);
  440. this.showArcbar("canvasArcbar1", Arcbar1);
  441. this.showArcbar2("canvasArcbar2", Arcbar2);
  442. this.showArcbar3("canvasArcbar3", Arcbar3);
  443. this.showGauge("canvasGauge", Gauge);
  444. this.showCandle("canvasCandle", Candle);
  445. this.showMix("canvasMix", Mix);
  446. },
  447. showColumn(canvasId, chartData) {
  448. canvasObj[canvasId] = new uCharts({
  449. $this: _self,
  450. canvasId: canvasId,
  451. type: 'column',
  452. padding: [15, 15, 0, 15],
  453. legend: {
  454. show: true,
  455. padding: 5,
  456. lineHeight: 11,
  457. margin: 0,
  458. },
  459. fontSize: 11,
  460. background: '#FFFFFF',
  461. pixelRatio: _self.pixelRatio,
  462. animation: false,
  463. categories: chartData.categories,
  464. series: chartData.series,
  465. xAxis: {
  466. disableGrid: true,
  467. },
  468. yAxis: {
  469. format: (val) => {
  470. return val.toFixed(0) + '元'
  471. }
  472. },
  473. dataLabel: true,
  474. width: _self.cWidth * _self.pixelRatio,
  475. height: _self.cHeight * _self.pixelRatio,
  476. extra: {
  477. column: {
  478. type: 'group',
  479. width: _self.cWidth * _self.pixelRatio * 0.45 / chartData.categories.length
  480. }
  481. }
  482. });
  483. },
  484. showColumnMeter(canvasId, chartData) {
  485. canvasObj[canvasId] = new uCharts({
  486. $this: _self,
  487. canvasId: canvasId,
  488. type: 'column',
  489. padding: [15, 15, 0, 15],
  490. legend: {
  491. show: true,
  492. padding: 5,
  493. lineHeight: 11,
  494. margin: 0,
  495. },
  496. fontSize: 11,
  497. background: '#FFFFFF',
  498. pixelRatio: _self.pixelRatio,
  499. animation: false,
  500. categories: chartData.categories,
  501. series: chartData.series,
  502. xAxis: {
  503. disableGrid: true,
  504. },
  505. yAxis: {
  506. //disabled:true
  507. },
  508. dataLabel: true,
  509. width: _self.cWidth * _self.pixelRatio,
  510. height: _self.cHeight * _self.pixelRatio,
  511. extra: {
  512. column: {
  513. type: 'meter',
  514. width: _self.cWidth * _self.pixelRatio * 0.45 / chartData.categories.length,
  515. meter: {
  516. border: 4,
  517. fillColor: '#E5FDC3'
  518. }
  519. }
  520. }
  521. });
  522. },
  523. showLineA(canvasId, chartData) {
  524. canvasObj[canvasId] = new uCharts({
  525. $this: _self,
  526. canvasId: canvasId,
  527. type: 'line',
  528. fontSize: 11,
  529. padding: [15, 15, 0, 15],
  530. legend: {
  531. show: true,
  532. padding: 5,
  533. lineHeight: 11,
  534. margin: 5,
  535. },
  536. dataLabel: false,
  537. dataPointShape: false,
  538. background: '#FFFFFF',
  539. pixelRatio: _self.pixelRatio,
  540. categories: chartData.categories,
  541. series: chartData.series,
  542. animation: false,
  543. enableScroll: true, //开启图表拖拽功能
  544. xAxis: {
  545. disableGrid: false,
  546. type: 'grid',
  547. gridType: 'dash',
  548. itemCount: 4,
  549. scrollShow: true,
  550. scrollAlign: 'left',
  551. //scrollBackgroundColor:'#F7F7FF',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条背景颜色,默认为 #EFEBEF
  552. //scrollColor:'#DEE7F7',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条颜色,默认为 #A6A6A6
  553. },
  554. yAxis: {
  555. //disabled:true
  556. gridType: 'dash',
  557. splitNumber: 8,
  558. min: 10,
  559. max: 180,
  560. format: (val) => {
  561. return val.toFixed(0) + '元'
  562. } //如不写此方法,Y轴刻度默认保留两位小数
  563. },
  564. width: _self.cWidth * _self.pixelRatio,
  565. height: _self.cHeight * _self.pixelRatio,
  566. dataLabel: true,
  567. dataPointShape: true,
  568. extra: {
  569. lineStyle: 'straight'
  570. },
  571. });
  572. },
  573. showLineB(canvasId, chartData) {
  574. canvasObj[canvasId] = new uCharts({
  575. $this: _self,
  576. canvasId: canvasId,
  577. type: 'line',
  578. fontSize: 11,
  579. padding: [15, 15, 0, 15],
  580. legend: {
  581. show: true,
  582. padding: 5,
  583. lineHeight: 11,
  584. margin: 5,
  585. },
  586. background: '#FFFFFF',
  587. pixelRatio: _self.pixelRatio,
  588. rotate: true, //开启图表横屏
  589. // #ifdef MP-ALIPAY
  590. rotateLock: true, //百度及支付宝需要锁定旋转
  591. // #endif
  592. categories: chartData.categories,
  593. animation: false,
  594. series: chartData.series,
  595. xAxis: {
  596. disableGrid: true,
  597. },
  598. yAxis: {
  599. //disabled:true
  600. },
  601. width: _self.cWidth2 * _self.pixelRatio,
  602. height: _self.cHeight2 * _self.pixelRatio,
  603. dataLabel: true,
  604. dataPointShape: true,
  605. extra: {
  606. lineStyle: 'curve'
  607. },
  608. });
  609. },
  610. showArea(canvasId, chartData) {
  611. canvasObj[canvasId] = new uCharts({
  612. $this: _self,
  613. canvasId: canvasId,
  614. type: 'area',
  615. fontSize: 11,
  616. padding: [0, 15, 10, 15],
  617. legend: {
  618. show: true,
  619. position: 'top',
  620. float: 'center',
  621. itemGap: 30,
  622. padding: 5,
  623. lineHeight: 18,
  624. margin: 0,
  625. },
  626. dataLabel: false,
  627. dataPointShape: true,
  628. background: '#FFFFFF',
  629. pixelRatio: _self.pixelRatio,
  630. categories: chartData.categories,
  631. series: chartData.series,
  632. animation: false,
  633. xAxis: {
  634. type: 'grid',
  635. gridColor: '#CCCCCC',
  636. gridType: 'dash',
  637. dashLength: 8,
  638. boundaryGap: 'justify' //两端不留白配置
  639. },
  640. yAxis: {
  641. gridType: 'dash',
  642. gridColor: '#CCCCCC',
  643. dashLength: 8,
  644. splitNumber: 5,
  645. },
  646. width: _self.cWidth * _self.pixelRatio,
  647. height: _self.cHeight * _self.pixelRatio,
  648. extra: {
  649. area: {
  650. type: 'curve',
  651. opacity: 0.2,
  652. addLine: true,
  653. width: 2
  654. }
  655. }
  656. });
  657. },
  658. showPie(canvasId, chartData) {
  659. canvasObj[canvasId] = new uCharts({
  660. $this: _self,
  661. canvasId: canvasId,
  662. type: 'pie',
  663. fontSize: 11,
  664. padding: [15, 15, 0, 15],
  665. legend: {
  666. show: true,
  667. padding: 5,
  668. lineHeight: 11,
  669. margin: 0,
  670. },
  671. background: '#FFFFFF',
  672. pixelRatio: _self.pixelRatio,
  673. series: chartData.series,
  674. animation: false,
  675. width: _self.cWidth * _self.pixelRatio,
  676. height: _self.cHeight * _self.pixelRatio,
  677. dataLabel: true,
  678. extra: {
  679. pie: {
  680. lableWidth: 15
  681. }
  682. },
  683. });
  684. },
  685. showRing(canvasId, chartData) {
  686. canvasObj[canvasId] = new uCharts({
  687. $this: _self,
  688. canvasId: canvasId,
  689. type: 'ring',
  690. fontSize: 11,
  691. padding: [5, 5, 5, 5],
  692. legend: {
  693. show: true,
  694. position: 'right',
  695. float: 'center',
  696. itemGap: 10,
  697. padding: 5,
  698. lineHeight: 26,
  699. margin: 5,
  700. //backgroundColor:'rgba(41,198,90,0.2)',
  701. //borderColor :'rgba(41,198,90,0.5)',
  702. borderWidth: 1
  703. },
  704. title: {
  705. name: '70%',
  706. color: '#7cb5ec',
  707. fontSize: 25 * _self.pixelRatio,
  708. },
  709. subtitle: {
  710. name: '收益率',
  711. color: '#666666',
  712. fontSize: 15 * _self.pixelRatio,
  713. },
  714. extra: {
  715. pie: {
  716. lableWidth: 15,
  717. ringWidth: 40 * _self.pixelRatio, //圆环的宽度
  718. offsetAngle: 0 //圆环的角度
  719. }
  720. },
  721. background: '#FFFFFF',
  722. pixelRatio: _self.pixelRatio,
  723. series: chartData.series,
  724. animation: false,
  725. width: _self.cWidth * _self.pixelRatio,
  726. height: _self.cHeight * _self.pixelRatio,
  727. disablePieStroke: true,
  728. dataLabel: true,
  729. });
  730. },
  731. showFunnel(canvasId, chartData) {
  732. canvasObj[canvasId] = new uCharts({
  733. $this: _self,
  734. canvasId: canvasId,
  735. type: 'funnel',
  736. fontSize: 11,
  737. padding: [15, 15, 0, 15],
  738. legend: {
  739. show: true,
  740. padding: 5,
  741. lineHeight: 11,
  742. margin: 0,
  743. },
  744. background: '#FFFFFF',
  745. pixelRatio: _self.pixelRatio,
  746. series: chartData.series,
  747. animation: false,
  748. width: _self.cWidth * _self.pixelRatio,
  749. height: _self.cHeight * _self.pixelRatio,
  750. dataLabel: true,
  751. extra: {
  752. funnel: {
  753. border: true,
  754. borderWidth: 2,
  755. borderColor: '#FFFFFF'
  756. }
  757. },
  758. });
  759. },
  760. showRadar(canvasId, chartData) {
  761. canvasObj[canvasId] = new uCharts({
  762. $this: _self,
  763. canvasId: canvasId,
  764. type: 'radar',
  765. fontSize: 11,
  766. padding: [15, 15, 0, 15],
  767. legend: {
  768. show: true,
  769. padding: 5,
  770. lineHeight: 11,
  771. margin: 0,
  772. },
  773. background: '#FFFFFF',
  774. pixelRatio: _self.pixelRatio,
  775. animation: false,
  776. dataLabel: true,
  777. categories: chartData.categories,
  778. series: chartData.series,
  779. width: _self.cWidth * _self.pixelRatio,
  780. height: _self.cHeight * _self.pixelRatio,
  781. extra: {
  782. radar: {
  783. max: 200 //雷达数值的最大值
  784. }
  785. }
  786. });
  787. },
  788. showArcbar(canvasId, chartData) {
  789. new uCharts({
  790. $this: _self,
  791. canvasId: canvasId,
  792. type: 'arcbar',
  793. fontSize: 11,
  794. title: {
  795. name: Math.round(chartData.series[0].data * 100) + '%',
  796. color: chartData.series[0].color,
  797. fontSize: 25 * _self.pixelRatio
  798. },
  799. subtitle: {
  800. name: chartData.series[0].name,
  801. color: '#666666',
  802. fontSize: 15 * _self.pixelRatio
  803. },
  804. extra: {
  805. arcbar: {
  806. type: 'default',
  807. width: _self.arcbarWidth * _self.pixelRatio, //圆弧的宽度
  808. }
  809. },
  810. background: '#FFFFFF',
  811. pixelRatio: _self.pixelRatio,
  812. series: chartData.series,
  813. animation: false,
  814. width: _self.cWidth3 * _self.pixelRatio,
  815. height: _self.cHeight3 * _self.pixelRatio,
  816. dataLabel: true,
  817. });
  818. },
  819. showArcbar2(canvasId, chartData) {
  820. new uCharts({
  821. $this: _self,
  822. canvasId: canvasId,
  823. type: 'arcbar',
  824. fontSize: 11,
  825. title: {
  826. name: Math.round(chartData.series[0].data * 100) + '%',
  827. color: chartData.series[0].color,
  828. fontSize: 25 * _self.pixelRatio
  829. },
  830. subtitle: {
  831. name: chartData.series[0].name,
  832. color: '#666666',
  833. fontSize: 15 * _self.pixelRatio
  834. },
  835. extra: {
  836. arcbar: {
  837. type: 'default',
  838. width: _self.arcbarWidth * _self.pixelRatio, //圆弧的宽度
  839. backgroundColor: '#ffe3e8',
  840. startAngle: 1.25,
  841. endAngle: 0.75
  842. }
  843. },
  844. background: '#FFFFFF',
  845. pixelRatio: _self.pixelRatio,
  846. series: chartData.series,
  847. animation: false,
  848. width: _self.cWidth3 * _self.pixelRatio,
  849. height: _self.cHeight3 * _self.pixelRatio,
  850. dataLabel: true,
  851. });
  852. },
  853. showArcbar3(canvasId, chartData) {
  854. new uCharts({
  855. $this: _self,
  856. canvasId: canvasId,
  857. type: 'arcbar',
  858. fontSize: 11,
  859. title: {
  860. name: Math.round(chartData.series[0].data * 100) + '%',
  861. color: chartData.series[0].color,
  862. fontSize: 25 * _self.pixelRatio
  863. },
  864. subtitle: {
  865. name: chartData.series[0].name,
  866. color: '#666666',
  867. fontSize: 15 * _self.pixelRatio
  868. },
  869. extra: {
  870. arcbar: {
  871. type: 'circle', //整圆类型进度条图
  872. width: _self.arcbarWidth * _self.pixelRatio, //圆弧的宽度
  873. startAngle: 0.5 //整圆类型只需配置起始角度即可
  874. }
  875. },
  876. background: '#FFFFFF',
  877. pixelRatio: _self.pixelRatio,
  878. series: chartData.series,
  879. animation: false,
  880. width: _self.cWidth3 * _self.pixelRatio,
  881. height: _self.cHeight3 * _self.pixelRatio,
  882. dataLabel: true,
  883. });
  884. },
  885. showGauge(canvasId, chartData) {
  886. canvasObj[canvasId] = new uCharts({
  887. $this: _self,
  888. canvasId: canvasId,
  889. type: 'gauge',
  890. fontSize: 11,
  891. title: {
  892. name: Math.round(chartData.series[0].data * 100) + '%',
  893. color: chartData.categories[1].color,
  894. fontSize: 25 * _self.pixelRatio,
  895. offsetY: 50 * _self.pixelRatio, //新增参数,自定义调整Y轴文案距离
  896. },
  897. subtitle: {
  898. name: chartData.series[0].name,
  899. color: '#666666',
  900. fontSize: 15 * _self.pixelRatio,
  901. offsetY: -50 * _self.pixelRatio, //新增参数,自定义调整Y轴文案距离
  902. },
  903. extra: {
  904. gauge: {
  905. type: 'default',
  906. width: _self.gaugeWidth * _self.pixelRatio, //仪表盘背景的宽度
  907. startAngle: 0.75,
  908. endAngle: 0.25,
  909. startNumber: 0,
  910. endNumber: 100,
  911. splitLine: {
  912. fixRadius: 0,
  913. splitNumber: 10,
  914. width: _self.gaugeWidth * _self.pixelRatio, //仪表盘背景的宽度
  915. color: '#FFFFFF',
  916. childNumber: 5,
  917. childWidth: _self.gaugeWidth * 0.4 * _self.pixelRatio, //仪表盘背景的宽度
  918. },
  919. pointer: {
  920. width: _self.gaugeWidth * 0.8 * _self.pixelRatio, //指针宽度
  921. color: 'auto'
  922. }
  923. }
  924. },
  925. background: '#FFFFFF',
  926. pixelRatio: _self.pixelRatio,
  927. categories: chartData.categories,
  928. series: chartData.series,
  929. animation: true,
  930. width: _self.cWidth * _self.pixelRatio,
  931. height: _self.cHeight * _self.pixelRatio,
  932. dataLabel: true,
  933. });
  934. },
  935. changeGaugeData() {
  936. let series = [{
  937. name: "完成率",
  938. data: Math.random()
  939. }]; //这里是随机数据,生产环境请从服务器获取,注意series数据类型为数组
  940. //这里我借用之前的categories数据,判断一下新数据的title.color,没有写死在程序里,以便于自定义
  941. let newTitleColor;
  942. for (let i = 0; i < _self.serverData.Gauge.categories.length; i++) {
  943. if (series[0].data <= _self.serverData.Gauge.categories[i].value) {
  944. newTitleColor = _self.serverData.Gauge.categories[i].color;
  945. break;
  946. }
  947. }
  948. canvasObj['canvasGauge'].updateData({
  949. series: series, //这里给了新数值
  950. categories: _self.serverData.Gauge.categories,
  951. title: {
  952. name: Math.round(series[0].data * 100) + '%',
  953. color: newTitleColor,
  954. fontSize: 25 * _self.pixelRatio,
  955. offsetY: 50 * _self.pixelRatio, //新增参数,自定义调整Y轴文案距离
  956. },
  957. subtitle: {
  958. name: '更新数据',
  959. color: '#666666',
  960. fontSize: 15 * _self.pixelRatio,
  961. offsetY: -50 * _self.pixelRatio, //新增参数,自定义调整Y轴文案距离
  962. }
  963. });
  964. },
  965. showCandle(canvasId, chartData) {
  966. canvasObj[canvasId] = new uCharts({
  967. $this: _self,
  968. canvasId: canvasId,
  969. type: 'candle',
  970. fontSize: 11,
  971. padding: [15, 15, 0, 15],
  972. legend: {
  973. show: true,
  974. padding: 5,
  975. lineHeight: 11,
  976. margin: 8,
  977. },
  978. background: '#FFFFFF',
  979. pixelRatio: _self.pixelRatio,
  980. enableMarkLine: true,
  981. /***需要开启标记线***/
  982. categories: chartData.categories,
  983. series: chartData.series,
  984. animation: true,
  985. enableScroll: true, //开启图表拖拽功能
  986. xAxis: {
  987. disableGrid: true, //不绘制X轴网格线
  988. labelCount: 4, //X轴文案数量
  989. //type:'grid',
  990. //gridType:'dash',
  991. itemCount: _self.itemCount, //可不填写,配合enableScroll图表拖拽功能使用,x轴单屏显示数据的数量,默认为5个
  992. scrollShow: true, //新增是否显示滚动条,默认false
  993. scrollAlign: 'right',
  994. //scrollBackgroundColor:'#F7F7FF',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条背景颜色,默认为 #EFEBEF
  995. //scrollColor:'#DEE7F7',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条颜色,默认为 #A6A6A6
  996. },
  997. yAxis: {
  998. //disabled:true
  999. gridType: 'dash',
  1000. splitNumber: 5,
  1001. format: (val) => {
  1002. return val.toFixed(0)
  1003. }
  1004. },
  1005. width: _self.cWidth * _self.pixelRatio,
  1006. height: _self.cHeight * _self.pixelRatio,
  1007. dataLabel: false,
  1008. dataPointShape: true,
  1009. extra: {
  1010. candle: {
  1011. color: {
  1012. upLine: '#f04864',
  1013. upFill: '#f04864',
  1014. downLine: '#2fc25b',
  1015. downFill: '#2fc25b'
  1016. },
  1017. average: {
  1018. show: true,
  1019. name: ['MA5', 'MA10', 'MA30'],
  1020. day: [5, 10, 20],
  1021. color: ['#1890ff', '#2fc25b', '#facc14']
  1022. }
  1023. },
  1024. tooltip: {
  1025. bgColor: '#000000',
  1026. bgOpacity: 0.7,
  1027. gridType: 'dash',
  1028. dashLength: 5,
  1029. gridColor: '#1890ff',
  1030. fontColor: '#FFFFFF',
  1031. horizentalLine: true,
  1032. xAxisLabel: true,
  1033. yAxisLabel: true,
  1034. labelBgColor: '#DFE8FF',
  1035. labelBgOpacity: 0.95,
  1036. labelAlign: 'left',
  1037. labelFontColor: '#666666'
  1038. },
  1039. markLine: {
  1040. type: 'dash',
  1041. dashLength: 5,
  1042. data: [{
  1043. value: 2150,
  1044. lineColor: '#f04864',
  1045. showLabel: true
  1046. }, {
  1047. value: 2350,
  1048. lineColor: '#f04864',
  1049. showLabel: true
  1050. }]
  1051. }
  1052. }
  1053. });
  1054. },
  1055. touchCandle(e) {
  1056. canvasObj['canvasCandle'].scrollStart(e);
  1057. },
  1058. moveCandle(e) {
  1059. canvasObj['canvasCandle'].scroll(e);
  1060. },
  1061. touchEndCandle(e) {
  1062. canvasObj['canvasCandle'].scrollEnd(e);
  1063. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1064. canvasObj['canvasCandle'].showToolTip(e, {
  1065. format: function(item, category) {
  1066. return category + ' ' + item.name + ':' + item.data
  1067. }
  1068. });
  1069. },
  1070. changeData() {
  1071. canvasObj['canvasColumn'].updateData({
  1072. series: _self.serverData.ColumnB.series,
  1073. categories: _self.serverData.ColumnB.categories
  1074. });
  1075. },
  1076. touchLineA(e) {
  1077. canvasObj['canvasLineA'].scrollStart(e);
  1078. },
  1079. moveLineA(e) {
  1080. canvasObj['canvasLineA'].scroll(e);
  1081. },
  1082. touchEndLineA(e) {
  1083. canvasObj['canvasLineA'].scrollEnd(e);
  1084. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1085. canvasObj['canvasLineA'].showToolTip(e, {
  1086. format: function(item, category) {
  1087. return category + ' ' + item.name + ':' + item.data
  1088. }
  1089. });
  1090. },
  1091. showMix(canvasId, chartData) {
  1092. canvasObj[canvasId] = new uCharts({
  1093. $this: _self,
  1094. canvasId: canvasId,
  1095. type: 'mix',
  1096. fontSize: 11,
  1097. padding: [15, 15, 0, 15],
  1098. legend: {
  1099. show: true,
  1100. padding: 5,
  1101. lineHeight: 11,
  1102. margin: 6,
  1103. },
  1104. background: '#FFFFFF',
  1105. pixelRatio: _self.pixelRatio,
  1106. categories: chartData.categories,
  1107. series: chartData.series,
  1108. animation: false,
  1109. enableScroll: true, //开启图表拖拽功能
  1110. xAxis: {
  1111. disableGrid: false,
  1112. type: 'grid',
  1113. gridType: 'dash',
  1114. itemCount: 4,
  1115. scrollShow: true,
  1116. scrollAlign: 'left',
  1117. },
  1118. yAxis: {
  1119. gridType: 'dash',
  1120. dashLength: 4,
  1121. splitNumber: 5,
  1122. min: 10,
  1123. max: 180,
  1124. format: (val) => {
  1125. return val.toFixed(0)
  1126. }
  1127. },
  1128. width: _self.cWidth * _self.pixelRatio,
  1129. height: _self.cHeight * _self.pixelRatio,
  1130. dataLabel: true,
  1131. dataPointShape: true,
  1132. extra: {
  1133. column: {
  1134. width: 20 * _self.pixelRatio
  1135. },
  1136. tooltip: {
  1137. bgColor: '#000000',
  1138. bgOpacity: 0.7,
  1139. gridType: 'dash',
  1140. dashLength: 8,
  1141. gridColor: '#1890ff',
  1142. fontColor: '#FFFFFF',
  1143. horizentalLine: true,
  1144. xAxisLabel: true,
  1145. yAxisLabel: true,
  1146. labelBgColor: '#DFE8FF',
  1147. labelBgOpacity: 0.95,
  1148. labelAlign: 'left',
  1149. labelFontColor: '#666666'
  1150. }
  1151. },
  1152. });
  1153. },
  1154. touchMix(e) {
  1155. canvasObj['canvasMix'].scrollStart(e);
  1156. },
  1157. moveMix(e) {
  1158. canvasObj['canvasMix'].scroll(e);
  1159. },
  1160. touchEndMix(e) {
  1161. canvasObj['canvasMix'].scrollEnd(e);
  1162. canvasObj['canvasMix'].touchLegend(e);
  1163. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1164. canvasObj['canvasMix'].showToolTip(e, {
  1165. format: function(item, category) {
  1166. return category + ' ' + item.name + ':' + item.data
  1167. }
  1168. });
  1169. },
  1170. touchIt(e, id) {
  1171. canvasObj[id].touchLegend(e, {
  1172. animation: false
  1173. });
  1174. canvasObj[id].showToolTip(e, {
  1175. format: function(item, category) {
  1176. if (typeof item.data === 'object') {
  1177. return category + ' ' + item.name + ':' + item.data.value
  1178. } else {
  1179. return category + ' ' + item.name + ':' + item.data
  1180. }
  1181. }
  1182. });
  1183. },
  1184. touchPie(e, id) {
  1185. canvasObj[id].showToolTip(e, {
  1186. format: function(item) {
  1187. return item.name + ':' + item.data
  1188. }
  1189. });
  1190. },
  1191. /* 图表end */
  1192. }
  1193. }
  1194. </script>
  1195. <style scoped>
  1196. uni-view {
  1197. font-size: 15px;
  1198. }
  1199. .uni-row {
  1200. height: 40px;
  1201. }
  1202. .uni-row-column {
  1203. float: left;
  1204. width: 150rpx;
  1205. height: 40px;
  1206. }
  1207. .grid-item-box {
  1208. flex: 1;
  1209. /* #ifndef APP-NVUE */
  1210. display: flex;
  1211. /* #endif */
  1212. flex-direction: column;
  1213. align-items: center;
  1214. justify-content: center;
  1215. padding: 15px 0;
  1216. }
  1217. .qiun-padding {
  1218. padding: 2%;
  1219. width: 96%;
  1220. }
  1221. .qiun-wrap {
  1222. display: flex;
  1223. flex-wrap: wrap;
  1224. }
  1225. .qiun-rows {
  1226. display: flex;
  1227. flex-direction: row !important;
  1228. }
  1229. .qiun-columns {
  1230. display: flex;
  1231. flex-direction: column !important;
  1232. }
  1233. .qiun-common-mt {
  1234. margin-top: 10rpx;
  1235. }
  1236. .qiun-bg-white {
  1237. background: #FFFFFF;
  1238. }
  1239. .qiun-title-bar {
  1240. width: 96%;
  1241. padding: 10rpx 2%;
  1242. flex-wrap: nowrap;
  1243. }
  1244. .qiun-title-dot-light {
  1245. border-left: 10rpx solid #0ea391;
  1246. padding-left: 10rpx;
  1247. font-size: 32rpx;
  1248. color: #000000
  1249. }
  1250. /* 通用样式 */
  1251. .qiun-charts {
  1252. width: 750rpx;
  1253. height: 500rpx;
  1254. background-color: #FFFFFF;
  1255. }
  1256. .qiun-charts1 {
  1257. width: 750rpx;
  1258. height: auto;
  1259. padding: 5px 10px;
  1260. background-color: #FFFFFF;
  1261. }
  1262. .charts {
  1263. width: 750rpx;
  1264. height: 500rpx;
  1265. background-color: #FFFFFF;
  1266. }
  1267. /* 横屏样式 */
  1268. .qiun-charts-rotate {
  1269. width: 700rpx;
  1270. height: 1100rpx;
  1271. background-color: #FFFFFF;
  1272. padding: 25rpx;
  1273. }
  1274. .charts-rotate {
  1275. width: 700rpx;
  1276. height: 1100rpx;
  1277. background-color: #FFFFFF;
  1278. }
  1279. /* 圆弧进度样式 */
  1280. .qiun-charts3 {
  1281. width: 750rpx;
  1282. height: 250rpx;
  1283. background-color: #FFFFFF;
  1284. position: relative;
  1285. }
  1286. .charts3 {
  1287. position: absolute;
  1288. width: 250rpx;
  1289. height: 250rpx;
  1290. background-color: #FFFFFF;
  1291. }
  1292. .qiun-tip {
  1293. display: block;
  1294. width: auto;
  1295. overflow: hidden;
  1296. padding: 15rpx;
  1297. height: 30rpx;
  1298. line-height: 30rpx;
  1299. margin: 10rpx;
  1300. background: #ff9933;
  1301. font-size: 30rpx;
  1302. border-radius: 8rpx;
  1303. justify-content: center;
  1304. text-align: center;
  1305. border: 1px solid #dc7004;
  1306. color: #FFFFFF;
  1307. }
  1308. .gree {
  1309. color: #09BB07;
  1310. }
  1311. .orange {
  1312. color: orange;
  1313. }
  1314. .gray {
  1315. color: #E0E0E0;
  1316. }
  1317. /* 进度图表css */
  1318. .space{
  1319. margin-left:20px;
  1320. }
  1321. .height30{
  1322. display: block;
  1323. padding-top:5px;
  1324. padding-bottom: 5px;
  1325. /* height: 30px; */
  1326. height: auto;
  1327. max-height: 45px;
  1328. /* -webkit-line-clamp: 2; */
  1329. }
  1330. .line{
  1331. border-bottom: 3px solid #F2F6FC;
  1332. }
  1333. .marginRight{
  1334. margin-right:15px;
  1335. cursor: pointer;
  1336. }
  1337. .marginLeft{
  1338. margin-left: 15px;
  1339. }
  1340. .red{
  1341. color:#FF3333;
  1342. }
  1343. .green{
  1344. color:#1AAD19;
  1345. }
  1346. .blue{
  1347. color:#0000ff;
  1348. }
  1349. .lef{
  1350. float:left;
  1351. }
  1352. .right{
  1353. float: right;
  1354. padding-right: 15px;
  1355. }
  1356. .awesomeIcon{
  1357. font-size:20px;
  1358. padding:8px 5px;
  1359. }
  1360. .img{
  1361. width: 40px;
  1362. height:40px;
  1363. }
  1364. </style>