index.vue 37 KB

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