equipmentStatistics.vue 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381
  1. <!-- 机器销售排行 -->
  2. <template>
  3. <view>
  4. <view class="head">
  5. </view>
  6. <view class="ri">
  7. <font class="title">{{$t('equipmentStatics.title')}}</font>
  8. </view>
  9. <view class="qiun-columns">
  10. <view class="qiun-bg-white qiun-title-bar qiun-common-mt">
  11. <view class="qiun-title-dot-light">
  12. <view class="dis">{{$t('equipmentStatics.day')}}</view>
  13. </view>
  14. <view class="shijian" style="text-align: center;position: relative;">
  15. <image @click="pre('day')" class="preImg" src="/static/img/leftTriangle.png"></image>
  16. <span>{{startDate1}}</span>
  17. <image @click="next('day')" class="nextImg" src="/static/img/rightTriangle.png"></image>
  18. </view>
  19. </view>
  20. <view class="qiun-charts" style="background-color: #FFFFFF;">
  21. <canvas canvas-id="canvaColumn1" id="canvaColumn1" class="charts" disable-scroll=true @touchstart="touchLine1"
  22. @touchmove="moveLine1" @touchend="touchEndLine1" style="background-color: #FFFFFF;"></canvas>
  23. </view>
  24. </view>
  25. <view class="line"></view>
  26. <view class="qiun-columns">
  27. <view class="qiun-bg-white qiun-title-bar qiun-common-mt">
  28. <view class="qiun-title-dot-light">
  29. <view class="dis">{{$t('equipmentStatics.week')}}</view>
  30. </view>
  31. <view class="shijian" style="text-align: center;position: relative;">
  32. <image @click="pre('week')" class="preImg" src="/static/img/leftTriangle.png"></image>
  33. <span>{{startDate2}} -- {{endDate2}}</span>
  34. <image @click="next('week')" class="nextImg" src="/static/img/rightTriangle.png"></image>
  35. </view>
  36. </view>
  37. <view class="qiun-charts" style="background-color: #FFFFFF;">
  38. <canvas canvas-id="canvaColumn2" id="canvaColumn2" class="charts" disable-scroll=true @touchstart="touchLine2"
  39. @touchmove="moveLine2" @touchend="touchEndLine2" style="background-color: #FFFFFF;"></canvas>
  40. </view>
  41. </view>
  42. <view class="line"></view>
  43. <view class="qiun-columns">
  44. <view class="qiun-bg-white qiun-title-bar qiun-common-mt">
  45. <view class="qiun-title-dot-light">
  46. <view class="dis">{{$t('equipmentStatics.month')}}</view>
  47. </view>
  48. <view class="shijian" style="text-align: center;position: relative;">
  49. <image @click="pre('month')" class="preImg" src="/static/img/leftTriangle.png"></image>
  50. <span>{{startDate3}} -- {{endDate3}}</span>
  51. <image @click="next('month')" class="nextImg" src="/static/img/rightTriangle.png"></image>
  52. </view>
  53. </view>
  54. <view class="qiun-charts" style="background-color: #FFFFFF;">
  55. <canvas canvas-id="canvaColumn3" id="canvaColumn3" class="charts" disable-scroll=true @touchstart="touchLine3"
  56. @touchmove="moveLine3" @touchend="touchEndLine3" style="background-color: #FFFFFF;"></canvas>
  57. </view>
  58. </view>
  59. <view class="line"></view>
  60. <view class="qiun-columns">
  61. <view class="qiun-bg-white qiun-title-bar qiun-common-mt">
  62. <view class="qiun-title-dot-light">
  63. <view class="dis">{{$t('equipmentStatics.year')}}</view>
  64. </view>
  65. <view class="shijian" style="text-align: center;position: relative;">
  66. <image @click="pre('year')" class="preImg" src="/static/img/leftTriangle.png"></image>
  67. <span>{{startDate4}} -- {{endDate4}}</span>
  68. <image @click="next('year')" class="nextImg" src="/static/img/rightTriangle.png"></image>
  69. </view>
  70. </view>
  71. <view class="qiun-charts" style="background-color: #FFFFFF;">
  72. <canvas canvas-id="canvaColumn4" id="canvaColumn4" class="charts" disable-scroll=true @touchstart="touchLine4"
  73. @touchmove="moveLine4" @touchend="touchEndLine4" style="background-color: #FFFFFF;"></canvas>
  74. </view>
  75. </view>
  76. <!-- 各省份平均销售数据 -->
  77. <view v-if="show">
  78. <view class="qiun-columns">
  79. <view class="qiun-bg-white qiun-title-bar qiun-common-mt">
  80. <view class="qiun-title-dot-light">
  81. <view class="dis">全国平均日销售排行(某省日销售总额/省机器数量)</view>
  82. </view>
  83. <view class="shijian" style="text-align: center;position: relative;">
  84. <image @click="pre2('day')" class="preImg" src="/static/img/leftTriangle.png"></image>
  85. <span>{{startDate5}}</span>
  86. <image @click="next2('day')" class="nextImg" src="/static/img/rightTriangle.png"></image>
  87. </view>
  88. </view>
  89. <view class="qiun-charts2" style="background-color: #FFFFFF;">
  90. <canvas canvas-id="canvaColumn5" id="canvaColumn5" class="charts2" disable-scroll=true @touchstart="touchLine5"
  91. @touchmove="moveLine5" @touchend="touchEndLine5" style="background-color: #FFFFFF;"></canvas>
  92. </view>
  93. </view>
  94. <view class="line"></view>
  95. <view class="qiun-columns">
  96. <view class="qiun-bg-white qiun-title-bar qiun-common-mt">
  97. <view class="qiun-title-dot-light">
  98. <view class="dis">全国平均周销售排行</view>
  99. </view>
  100. <view class="shijian" style="text-align: center;position: relative;">
  101. <image @click="pre2('week')" class="preImg" src="/static/img/leftTriangle.png"></image>
  102. <span>{{startDate6}} 至 {{endDate6}}</span>
  103. <image @click="next2('week')" class="nextImg" src="/static/img/rightTriangle.png"></image>
  104. </view>
  105. </view>
  106. <view class="qiun-charts2" style="background-color: #FFFFFF;">
  107. <canvas canvas-id="canvaColumn6" id="canvaColumn6" class="charts2" disable-scroll=true @touchstart="touchLine6"
  108. @touchmove="moveLine6" @touchend="touchEndLine6" style="background-color: #FFFFFF;"></canvas>
  109. </view>
  110. </view>
  111. <view class="line"></view>
  112. <view class="qiun-columns">
  113. <view class="qiun-bg-white qiun-title-bar qiun-common-mt">
  114. <view class="qiun-title-dot-light">
  115. <view class="dis">全国平均月销售排行</view>
  116. </view>
  117. <view class="shijian" style="text-align: center;position: relative;">
  118. <image @click="pre2('month')" class="preImg" src="/static/img/leftTriangle.png"></image>
  119. <span>{{startDate7}} 至 {{endDate7}}</span>
  120. <image @click="next2('month')" class="nextImg" src="/static/img/rightTriangle.png"></image>
  121. </view>
  122. </view>
  123. <view class="qiun-charts2" style="background-color: #FFFFFF;">
  124. <canvas canvas-id="canvaColumn7" id="canvaColumn7" class="charts2" disable-scroll=true @touchstart="touchLine7"
  125. @touchmove="moveLine7" @touchend="touchEndLine7" style="background-color: #FFFFFF;"></canvas>
  126. </view>
  127. </view>
  128. <view class="line"></view>
  129. <view class="qiun-columns">
  130. <view class="qiun-bg-white qiun-title-bar qiun-common-mt">
  131. <view class="qiun-title-dot-light">
  132. <view class="dis">全国平均年销售排行</view>
  133. </view>
  134. <view class="shijian" style="text-align: center;position: relative;">
  135. <image @click="pre2('year')" class="preImg" src="/static/img/leftTriangle.png"></image>
  136. <span>{{startDate8}} 至 {{endDate8}}</span>
  137. <image @click="next2('year')" class="nextImg" src="/static/img/rightTriangle.png"></image>
  138. </view>
  139. </view>
  140. <view class="qiun-charts2" style="background-color: #FFFFFF;">
  141. <canvas canvas-id="canvaColumn8" id="canvaColumn8" class="charts2" disable-scroll=true @touchstart="touchLine8"
  142. @touchmove="moveLine8" @touchend="touchEndLine8" style="background-color: #FFFFFF;"></canvas>
  143. </view>
  144. </view>
  145. <!-- 各省销售额 -->
  146. <view class="qiun-columns">
  147. <view class="qiun-bg-white qiun-title-bar qiun-common-mt">
  148. <view class="qiun-title-dot-light">
  149. <view class="dis">全国日销售排行(全省当日销售总额)</view>
  150. </view>
  151. <view class="shijian" style="text-align: center;position: relative;">
  152. <image @click="pre3('day')" class="preImg" src="/static/img/leftTriangle.png"></image>
  153. <span>{{startDate9}}</span>
  154. <image @click="next3('day')" class="nextImg" src="/static/img/rightTriangle.png"></image>
  155. </view>
  156. </view>
  157. <view class="qiun-charts2" style="background-color: #FFFFFF;">
  158. <canvas canvas-id="canvaColumn9" id="canvaColumn9" class="charts2" disable-scroll=true @touchstart="touchLine9"
  159. @touchmove="moveLine9" @touchend="touchEndLine9" style="background-color: #FFFFFF;"></canvas>
  160. </view>
  161. </view>
  162. <view class="line"></view>
  163. <view class="qiun-columns">
  164. <view class="qiun-bg-white qiun-title-bar qiun-common-mt">
  165. <view class="qiun-title-dot-light">
  166. <view class="dis">全国周销售排行</view>
  167. </view>
  168. <view class="shijian" style="text-align: center;position: relative;">
  169. <image @click="pre3('week')" class="preImg" src="/static/img/leftTriangle.png"></image>
  170. <span>{{startDate10}} 至 {{endDate10}}</span>
  171. <image @click="next3('week')" class="nextImg" src="/static/img/rightTriangle.png"></image>
  172. </view>
  173. </view>
  174. <view class="qiun-charts2" style="background-color: #FFFFFF;">
  175. <canvas canvas-id="canvaColumn10" id="canvaColumn10" class="charts2" disable-scroll=true @touchstart="touchLine10"
  176. @touchmove="moveLine10" @touchend="touchEndLine10" style="background-color: #FFFFFF;"></canvas>
  177. </view>
  178. </view>
  179. <view class="line"></view>
  180. <view class="qiun-columns">
  181. <view class="qiun-bg-white qiun-title-bar qiun-common-mt">
  182. <view class="qiun-title-dot-light">
  183. <view class="dis">全国月销售排行</view>
  184. </view>
  185. <view class="shijian" style="text-align: center;position: relative;">
  186. <image @click="pre3('month')" class="preImg" src="/static/img/leftTriangle.png"></image>
  187. <span>{{startDate11}} 至 {{endDate11}}</span>
  188. <image @click="next3('month')" class="nextImg" src="/static/img/rightTriangle.png"></image>
  189. </view>
  190. </view>
  191. <view class="qiun-charts2" style="background-color: #FFFFFF;">
  192. <canvas canvas-id="canvaColumn11" id="canvaColumn11" class="charts2" disable-scroll=true @touchstart="touchLine11"
  193. @touchmove="moveLine11" @touchend="touchEndLine11" style="background-color: #FFFFFF;"></canvas>
  194. </view>
  195. </view>
  196. <view class="line"></view>
  197. <view class="qiun-columns">
  198. <view class="qiun-bg-white qiun-title-bar qiun-common-mt">
  199. <view class="qiun-title-dot-light">
  200. <view class="dis">全国年销售排行</view>
  201. </view>
  202. <view class="shijian" style="text-align: center;position: relative;">
  203. <image @click="pre3('year')" class="preImg" src="/static/img/leftTriangle.png"></image>
  204. <span>{{startDate12}} 至 {{endDate12}}</span>
  205. <image @click="next3('year')" class="nextImg" src="/static/img/rightTriangle.png"></image>
  206. </view>
  207. </view>
  208. <view class="qiun-charts2" style="background-color: #FFFFFF;">
  209. <canvas canvas-id="canvaColumn12" id="canvaColumn12" class="charts2" disable-scroll=true @touchstart="touchLine12"
  210. @touchmove="moveLine12" @touchend="touchEndLine12" style="background-color: #FFFFFF;"></canvas>
  211. </view>
  212. </view>
  213. </view>
  214. </view>
  215. </template>
  216. <script>
  217. import {
  218. mapState,
  219. mapActions,
  220. mapMutations
  221. } from 'vuex';
  222. import uCharts from '@/components/u-charts/u-charts.js';
  223. import {
  224. dateUtils
  225. } from '@/common/util.js';
  226. var _self;
  227. var canvaColumn1 = null;
  228. var canvaColumn2 = null;
  229. var canvaColumn3 = null;
  230. var canvaColumn4 = null;
  231. var canvaColumn5 = null;
  232. var canvaColumn6 = null;
  233. var canvaColumn7 = null;
  234. var canvaColumn8 = null;
  235. var canvaColumn9 = null;
  236. var canvaColumn10 = null;
  237. var canvaColumn11 = null;
  238. var canvaColumn12 = null;
  239. export default {
  240. name: 'equipmentStatistics',
  241. props: {
  242. adminId: '',
  243. pname: '',
  244. },
  245. data() {
  246. return {
  247. cWidth: '',
  248. cHeight: '',
  249. pixelRatio: 1,
  250. tese:0,
  251. startDate1: '',
  252. endDate1: '',
  253. startDate2: '',
  254. endDate2: '',
  255. startDate3: '',
  256. endDate3: '',
  257. startDate4: '',
  258. endDate4: '',
  259. startDate5: '',
  260. endDate5: '',
  261. startDate6: '',
  262. endDate6: '',
  263. startDate7: '',
  264. endDate7: '',
  265. startDate8: '',
  266. endDate8: '',
  267. startDate9: '',
  268. endDate9: '',
  269. startDate10: '',
  270. endDate10: '',
  271. startDate11: '',
  272. endDate11: '',
  273. startDate12: '',
  274. endDate12: '',
  275. show: false
  276. }
  277. },
  278. computed: {
  279. ...mapState(['loginUser']),
  280. },
  281. mounted() {
  282. // this.init2();
  283. },
  284. onShow() {
  285. uni.setNavigationBarTitle({title: this.$t('equipmentStatics.title')});
  286. uni.setTabBarItem({ index: 2,text: this.$t('tabs.tab3')});
  287. this.tese = this.tese + 1;
  288. var globalUser = uni.getStorageSync("globalUser");
  289. if (globalUser.id == '1') {
  290. this.show = true
  291. }
  292. if (globalUser.id!=null) {
  293. this.init();
  294. }else{
  295. uni.reLaunch({
  296. url: '../Login/Login',
  297. });
  298. }
  299. },
  300. methods: {
  301. ...mapActions('chart', ['getProvince','getProvinceAll', 'getEquipmentStatistics', 'getMainStatistics', 'getMachineNum']),
  302. async init() {
  303. if (this.pname === '') {
  304. this.pname = uni.getStorageSync("name");
  305. }
  306. // console.log("adminId:" + this.adminId)
  307. _self = this;
  308. //图表中图
  309. this.cWidth = uni.upx2px(690);
  310. this.cHeight = uni.upx2px(500);
  311. await this.initDateRang(new Date(), 'day');
  312. await this.initDateRang(new Date(), 'week');
  313. if(this.tese == 1){
  314. await this.initDateRang(new Date(), 'month');
  315. await this.initDateRang(new Date(), 'year');
  316. }
  317. await this.init2();
  318. await this.init3();
  319. },
  320. async init2() {
  321. if (this.pname === '') {
  322. this.pname = uni.getStorageSync("name");
  323. }
  324. _self = this;
  325. //图表中图
  326. this.cWidth2 = uni.upx2px(690);
  327. this.cHeight2 = uni.upx2px(370);
  328. if (this.show == true) {
  329. await this.initDateRang2(new Date(), 'day');
  330. await this.initDateRang2(new Date(), 'week');
  331. if(this.tese == 1){
  332. await this.initDateRang2(new Date(), 'month');
  333. await this.initDateRang2(new Date(), 'year');
  334. }
  335. }
  336. },
  337. async init3() {
  338. if (this.pname === '') {
  339. this.pname = uni.getStorageSync("name");
  340. }
  341. _self = this;
  342. //图表中图
  343. this.cWidth3 = uni.upx2px(690);
  344. this.cHeight3 = uni.upx2px(370);
  345. if (this.show == true) {
  346. await this.initDateRang3(new Date(), 'day');
  347. await this.initDateRang3(new Date(), 'week');
  348. if(this.tese == 1){
  349. await this.initDateRang3(new Date(), 'month');
  350. await this.initDateRang3(new Date(), 'year');
  351. }
  352. }
  353. },
  354. initDateRang(day, chartType) {
  355. const daystr = dateUtils.formateDate(day, 'yyyy/MM/dd');
  356. if (chartType === 'day') {
  357. this.startDate1 = dateUtils.formateDate(day, 'yyyy/MM/dd');
  358. }
  359. if (chartType === 'week') {
  360. this.startDate2 = dateUtils.formateDate(dateUtils.getFirstDayOfWeek(day), 'yyyy/MM/dd');
  361. this.endDate2 = dateUtils.formateDate(dateUtils.getLastDayOfWeek(day), 'yyyy/MM/dd');
  362. }
  363. if (chartType === 'month') {
  364. this.startDate3 = dateUtils.formateDate(dateUtils.getCurrentMonFirstDate(day), 'yyyy/MM/dd');
  365. this.endDate3 = dateUtils.formateDate(dateUtils.getCurrentMonLastDate(day), 'yyyy/MM/dd');
  366. }
  367. if (chartType === 'year') {
  368. this.startDate4 = dateUtils.formateDate(dateUtils.getCurrentYearFirstDate(day), 'yyyy/MM/dd');
  369. this.endDate4 = dateUtils.formateDate(dateUtils.getCurrentYearLastDate(day), 'yyyy/MM/dd');
  370. }
  371. return this.getStatisticsData(chartType);
  372. },
  373. initDateRang2(day, chartType) {
  374. const daystr = dateUtils.formateDate(day, 'yyyy/MM/dd');
  375. if (chartType === 'day') {
  376. this.startDate5 = dateUtils.formateDate(day, 'yyyy/MM/dd');
  377. }
  378. if (chartType === 'week') {
  379. this.startDate6 = dateUtils.formateDate(dateUtils.getFirstDayOfWeek(day), 'yyyy/MM/dd');
  380. this.endDate6 = dateUtils.formateDate(dateUtils.getLastDayOfWeek(day), 'yyyy/MM/dd');
  381. }
  382. if (chartType === 'month') {
  383. this.startDate7 = dateUtils.formateDate(dateUtils.getCurrentMonFirstDate(day), 'yyyy/MM/dd');
  384. this.endDate7 = dateUtils.formateDate(dateUtils.getCurrentMonLastDate(day), 'yyyy/MM/dd');
  385. }
  386. if (chartType === 'year') {
  387. this.startDate8 = dateUtils.formateDate(dateUtils.getCurrentYearFirstDate(day), 'yyyy/MM/dd');
  388. this.endDate8 = dateUtils.formateDate(dateUtils.getCurrentYearLastDate(day), 'yyyy/MM/dd');
  389. }
  390. return this.getProvinceData(chartType);
  391. },
  392. initDateRang3(day, chartType) {
  393. const daystr = dateUtils.formateDate(day, 'yyyy/MM/dd');
  394. if (chartType === 'day') {
  395. this.startDate9 = dateUtils.formateDate(day, 'yyyy/MM/dd');
  396. }
  397. if (chartType === 'week') {
  398. this.startDate10 = dateUtils.formateDate(dateUtils.getFirstDayOfWeek(day), 'yyyy/MM/dd');
  399. this.endDate10 = dateUtils.formateDate(dateUtils.getLastDayOfWeek(day), 'yyyy/MM/dd');
  400. }
  401. if (chartType === 'month') {
  402. this.startDate11 = dateUtils.formateDate(dateUtils.getCurrentMonFirstDate(day), 'yyyy/MM/dd');
  403. this.endDate11 = dateUtils.formateDate(dateUtils.getCurrentMonLastDate(day), 'yyyy/MM/dd');
  404. }
  405. if (chartType === 'year') {
  406. this.startDate12 = dateUtils.formateDate(dateUtils.getCurrentYearFirstDate(day), 'yyyy/MM/dd');
  407. this.endDate12 = dateUtils.formateDate(dateUtils.getCurrentYearLastDate(day), 'yyyy/MM/dd');
  408. }
  409. return this.getProvinceAllData(chartType);
  410. },
  411. /**上一个 */
  412. pre(chartType) {
  413. let day;
  414. if (chartType === 'day') { // 日
  415. day = new Date(this.startDate1);
  416. day.setDate(day.getDate() - 1);
  417. }
  418. if (chartType === 'week') { // 周
  419. day = new Date(this.startDate2);
  420. day.setDate(day.getDate() - 7);
  421. }
  422. if (chartType === 'month') { // 月
  423. day = new Date(this.startDate3);
  424. day.setMonth(day.getMonth() - 1);
  425. }
  426. if (chartType === 'year') { // 年
  427. day = new Date(this.startDate4);
  428. day.setFullYear(day.getFullYear() - 1);
  429. }
  430. this.initDateRang(day, chartType);
  431. },
  432. pre2(chartType) {
  433. let day;
  434. if (chartType === 'day') { // 日
  435. day = new Date(this.startDate5);
  436. day.setDate(day.getDate() - 1);
  437. }
  438. if (chartType === 'week') { // 周
  439. day = new Date(this.startDate6);
  440. day.setDate(day.getDate() - 7);
  441. }
  442. if (chartType === 'month') { // 月
  443. day = new Date(this.startDate7);
  444. day.setMonth(day.getMonth() - 1);
  445. }
  446. if (chartType === 'year') { // 年
  447. day = new Date(this.startDate8);
  448. day.setFullYear(day.getFullYear() - 1);
  449. }
  450. this.initDateRang2(day, chartType);
  451. },
  452. pre3(chartType) {
  453. let day;
  454. if (chartType === 'day') { // 日
  455. day = new Date(this.startDate9);
  456. day.setDate(day.getDate() - 1);
  457. }
  458. if (chartType === 'week') { // 周
  459. day = new Date(this.startDate10);
  460. day.setDate(day.getDate() - 7);
  461. }
  462. if (chartType === 'month') { // 月
  463. day = new Date(this.startDate11);
  464. day.setMonth(day.getMonth() - 1);
  465. }
  466. if (chartType === 'year') { // 年
  467. day = new Date(this.startDate12);
  468. day.setFullYear(day.getFullYear() - 1);
  469. }
  470. this.initDateRang3(day, chartType);
  471. },
  472. /**下一个 */
  473. next(chartType) {
  474. let day;
  475. if (chartType === 'day') { // 日
  476. day = new Date(this.startDate1);
  477. day.setDate(day.getDate() + 1);
  478. }
  479. if (chartType === 'week') { // 周
  480. day = new Date(this.startDate2);
  481. day.setDate(day.getDate() + 7);
  482. }
  483. if (chartType === 'month') { // 月
  484. day = new Date(this.startDate3);
  485. day.setMonth(day.getMonth() + 1);
  486. }
  487. if (chartType === 'year') { // 年
  488. day = new Date(this.startDate4);
  489. day.setFullYear(day.getFullYear() + 1);
  490. }
  491. this.initDateRang(day, chartType);
  492. },
  493. next2(chartType) {
  494. let day;
  495. if (chartType === 'day') { // 日
  496. day = new Date(this.startDate5);
  497. day.setDate(day.getDate() + 1);
  498. }
  499. if (chartType === 'week') { // 周
  500. day = new Date(this.startDate6);
  501. day.setDate(day.getDate() + 7);
  502. }
  503. if (chartType === 'month') { // 月
  504. day = new Date(this.startDate7);
  505. day.setMonth(day.getMonth() + 1);
  506. }
  507. if (chartType === 'year') { // 年
  508. day = new Date(this.startDate8);
  509. day.setFullYear(day.getFullYear() + 1);
  510. }
  511. this.initDateRang2(day, chartType);
  512. },
  513. next3(chartType) {
  514. let day;
  515. if (chartType === 'day') { // 日
  516. day = new Date(this.startDate9);
  517. day.setDate(day.getDate() + 1);
  518. }
  519. if (chartType === 'week') { // 周
  520. day = new Date(this.startDate10);
  521. day.setDate(day.getDate() + 7);
  522. }
  523. if (chartType === 'month') { // 月
  524. day = new Date(this.startDate11);
  525. day.setMonth(day.getMonth() + 1);
  526. }
  527. if (chartType === 'year') { // 年
  528. day = new Date(this.startDate12);
  529. day.setFullYear(day.getFullYear() + 1);
  530. }
  531. this.initDateRang3(day, chartType);
  532. },
  533. getStatisticsData(chartType) {
  534. const param = {
  535. 'chartType': chartType
  536. };
  537. if (chartType == 'day') {
  538. param['startDate'] = this.startDate1;
  539. param['endDate'] = this.startDate1;
  540. }
  541. if (chartType == 'week') {
  542. param['startDate'] = this.startDate2;
  543. param['endDate'] = this.endDate2;
  544. }
  545. if (chartType == 'month') {
  546. param['startDate'] = this.startDate3;
  547. param['endDate'] = this.endDate3;
  548. }
  549. if (chartType == 'year') {
  550. param['startDate'] = this.startDate4;
  551. param['endDate'] = this.endDate4;
  552. }
  553. if (this.adminId) { // 子组件,则拿传过来的参
  554. param['adminId'] = this.adminId;
  555. } else if ('admin' !== this.loginUser['username']) { //否则为主页,拿登录用户
  556. param['adminId'] = this.loginUser['id'];
  557. }
  558. var globalUser = uni.getStorageSync("globalUser");
  559. if (globalUser.id != 1) {
  560. if (param.adminId == null || param.adminId == undefined) {
  561. param['adminId'] = globalUser.id;
  562. }
  563. }
  564. if (this.equipmentId) {
  565. param['equipmentId'] = this.equipmentId;
  566. }
  567. return this.getEquipmentStatistics(param)
  568. .then(data => {
  569. uni.stopPullDownRefresh();
  570. if (param['chartType'] == 'day') {
  571. canvaColumn1 = this.initChart('canvaColumn1', data);
  572. }
  573. if (param['chartType'] == 'week') {
  574. canvaColumn2 = this.initChart('canvaColumn2', data);
  575. }
  576. if (param['chartType'] == 'month') {
  577. canvaColumn3 = this.initChart('canvaColumn3', data);
  578. }
  579. if (param['chartType'] == 'year') {
  580. canvaColumn4 = this.initChart('canvaColumn4', data);
  581. }
  582. }, _ => {
  583. uni.stopPullDownRefresh();
  584. if (param['chartType'] == 'day') {
  585. canvaColumn1 = this.initChart('canvaColumn1', {
  586. categories: ['暂无数据'],
  587. series: [{
  588. name: '销售个数',
  589. data: [0]
  590. }]
  591. });
  592. }
  593. if (param['chartType'] == 'week') {
  594. canvaColumn2 = this.initChart('canvaColumn2', {
  595. categories: ['暂无数据'],
  596. series: [{
  597. name: '销售个数',
  598. data: [0]
  599. }]
  600. });
  601. }
  602. if (param['chartType'] == 'month') {
  603. canvaColumn3 = this.initChart('canvaColumn3', {
  604. categories: ['暂无数据'],
  605. series: [{
  606. name: '销售个数',
  607. data: [0]
  608. }]
  609. });
  610. }
  611. if (param['chartType'] == 'year') {
  612. canvaColumn4 = this.initChart('canvaColumn4', {
  613. categories: ['暂无数据'],
  614. series: [{
  615. name: '销售个数',
  616. data: [0]
  617. }]
  618. });
  619. }
  620. });
  621. },
  622. getProvinceData(chartType) {
  623. const param = {
  624. 'chartType': chartType
  625. };
  626. if (chartType == 'day') {
  627. param['startDate'] = this.startDate5;
  628. param['endDate'] = this.startDate5;
  629. }
  630. if (chartType == 'week') {
  631. param['startDate'] = this.startDate6;
  632. param['endDate'] = this.endDate6;
  633. }
  634. if (chartType == 'month') {
  635. param['startDate'] = this.startDate7;
  636. param['endDate'] = this.endDate7;
  637. }
  638. if (chartType == 'year') {
  639. param['startDate'] = this.startDate8;
  640. param['endDate'] = this.endDate8;
  641. }
  642. if (this.adminId) { // 子组件,则拿传过来的参
  643. param['adminId'] = this.adminId;
  644. } else if ('admin' !== this.loginUser['username']) { //否则为主页,拿登录用户
  645. param['adminId'] = this.loginUser['id'];
  646. }
  647. if (this.equipmentId) {
  648. param['equipmentId'] = this.equipmentId;
  649. }
  650. return this.getProvince(param)
  651. .then(data => {
  652. uni.stopPullDownRefresh();
  653. if (param['chartType'] == 'day') {
  654. canvaColumn5 = this.initChart2('canvaColumn5', data);
  655. }
  656. if (param['chartType'] == 'week') {
  657. canvaColumn6 = this.initChart2('canvaColumn6', data);
  658. }
  659. if (param['chartType'] == 'month') {
  660. canvaColumn7 = this.initChart2('canvaColumn7', data);
  661. }
  662. if (param['chartType'] == 'year') {
  663. canvaColumn8 = this.initChart2('canvaColumn8', data);
  664. }
  665. }, _ => {
  666. uni.stopPullDownRefresh();
  667. if (param['chartType'] == 'day') {
  668. canvaColumn5 = this.initChart2('canvaColumn5', {
  669. categories: ['暂无数据'],
  670. series: [{
  671. name: '平均销售额',
  672. data: [0]
  673. }]
  674. });
  675. }
  676. if (param['chartType'] == 'week') {
  677. canvaColumn6 = this.initChart2('canvaColumn6', {
  678. categories: ['暂无数据'],
  679. series: [{
  680. name: '平均销售额',
  681. data: [0]
  682. }]
  683. });
  684. }
  685. if (param['chartType'] == 'month') {
  686. canvaColumn7 = this.initChart2('canvaColumn7', {
  687. categories: ['暂无数据'],
  688. series: [{
  689. name: '平均销售额',
  690. data: [0]
  691. }]
  692. });
  693. }
  694. if (param['chartType'] == 'year') {
  695. canvaColumn8 = this.initChart2('canvaColumn8', {
  696. categories: ['暂无数据'],
  697. series: [{
  698. name: '平均销售额',
  699. data: [0]
  700. }]
  701. });
  702. }
  703. });
  704. },
  705. getProvinceAllData(chartType) {
  706. const param = {
  707. 'chartType': chartType
  708. };
  709. if (chartType == 'day') {
  710. param['startDate'] = this.startDate9;
  711. param['endDate'] = this.startDate9;
  712. }
  713. if (chartType == 'week') {
  714. param['startDate'] = this.startDate10;
  715. param['endDate'] = this.endDate10;
  716. }
  717. if (chartType == 'month') {
  718. param['startDate'] = this.startDate11;
  719. param['endDate'] = this.endDate11;
  720. }
  721. if (chartType == 'year') {
  722. param['startDate'] = this.startDate12;
  723. param['endDate'] = this.endDate12;
  724. }
  725. if (this.adminId) { // 子组件,则拿传过来的参
  726. param['adminId'] = this.adminId;
  727. } else if ('admin' !== this.loginUser['username']) { //否则为主页,拿登录用户
  728. param['adminId'] = this.loginUser['id'];
  729. }
  730. if (this.equipmentId) {
  731. param['equipmentId'] = this.equipmentId;
  732. }
  733. return this.getProvinceAll(param)
  734. .then(data => {
  735. uni.stopPullDownRefresh();
  736. if (param['chartType'] == 'day') {
  737. canvaColumn9 = this.initChart3('canvaColumn9', data);
  738. }
  739. if (param['chartType'] == 'week') {
  740. canvaColumn10 = this.initChart3('canvaColumn10', data);
  741. }
  742. if (param['chartType'] == 'month') {
  743. canvaColumn11 = this.initChart3('canvaColumn11', data);
  744. }
  745. if (param['chartType'] == 'year') {
  746. canvaColumn12 = this.initChart3('canvaColumn12', data);
  747. }
  748. }, _ => {
  749. uni.stopPullDownRefresh();
  750. if (param['chartType'] == 'day') {
  751. canvaColumn9 = this.initChart3('canvaColumn9', {
  752. categories: ['暂无数据'],
  753. series: [{
  754. name: '销售额',
  755. data: [0]
  756. }]
  757. });
  758. }
  759. if (param['chartType'] == 'week') {
  760. canvaColumn10 = this.initChart3('canvaColumn10', {
  761. categories: ['暂无数据'],
  762. series: [{
  763. name: '销售额',
  764. data: [0]
  765. }]
  766. });
  767. }
  768. if (param['chartType'] == 'month') {
  769. canvaColumn11 = this.initChart3('canvaColumn11', {
  770. categories: ['暂无数据'],
  771. series: [{
  772. name: '销售额',
  773. data: [0]
  774. }]
  775. });
  776. }
  777. if (param['chartType'] == 'year') {
  778. canvaColumn12 = this.initChart3('canvaColumn12', {
  779. categories: ['暂无数据'],
  780. series: [{
  781. name: '销售额',
  782. data: [0]
  783. }]
  784. });
  785. }
  786. });
  787. },
  788. initChart(canvasId, chartData) {
  789. return new uCharts({
  790. $this: _self,
  791. canvasId: canvasId,
  792. enableScroll: true,
  793. type: 'column',
  794. legend: true,
  795. fontSize: 11,
  796. background: '#FFFFFF', //y轴颜色
  797. pixelRatio: 1,
  798. animation: true,
  799. categories: chartData.categories,
  800. series: chartData.series,
  801. xAxis: {
  802. type: 'grid',
  803. gridType: 'dash',
  804. rotateLabel: true,
  805. itemCount: 4, //x轴单屏显示数据的数量,默认为5个
  806. scrollShow: true, //新增是否显示滚动条,默认false
  807. scrollAlign: 'left', //滚动条初始位置
  808. scrollBackgroundColor: '#F7F7FF', //默认为 #EFEBEF 滚动条颜色底色
  809. scrollColor: '#DEE7F7', //默认为 #A6A6A6 滚动条颜色
  810. // disableGrid:true,
  811. },
  812. yAxis: {
  813. //disabled:true
  814. },
  815. dataLabel: true,
  816. width: _self.cWidth * _self.pixelRatio,
  817. height: _self.cHeight * _self.pixelRatio,
  818. extra: {
  819. column: {
  820. // width: _self.cWidth*_self.pixelRatio*0.45/chartData.categories.length
  821. width: 18
  822. }
  823. }
  824. });
  825. },
  826. initChart2(canvasId, chartData) {
  827. return new uCharts({
  828. $this: _self,
  829. canvasId: canvasId,
  830. enableScroll: true,
  831. type: 'column',
  832. legend: true,
  833. fontSize: 11,
  834. background: '#FFFFFF', //y轴颜色
  835. pixelRatio: 1,
  836. animation: true,
  837. categories: chartData.categories,
  838. series: chartData.series,
  839. xAxis: {
  840. type: 'grid',
  841. gridType: 'dash',
  842. rotateLabel: true,
  843. itemCount: 4, //x轴单屏显示数据的数量,默认为5个
  844. scrollShow: true, //新增是否显示滚动条,默认false
  845. scrollAlign: 'left', //滚动条初始位置
  846. scrollBackgroundColor: '#F7F7FF', //默认为 #EFEBEF 滚动条颜色底色
  847. scrollColor: '#DEE7F7', //默认为 #A6A6A6 滚动条颜色
  848. // disableGrid:true,
  849. },
  850. yAxis: {
  851. //disabled:true
  852. },
  853. dataLabel: true,
  854. width: _self.cWidth2 * _self.pixelRatio,
  855. height: _self.cHeight2 * _self.pixelRatio,
  856. extra: {
  857. column: {
  858. width: 18
  859. }
  860. }
  861. });
  862. },
  863. initChart3(canvasId, chartData) {
  864. return new uCharts({
  865. $this: _self,
  866. canvasId: canvasId,
  867. enableScroll: true,
  868. type: 'column',
  869. legend: true,
  870. fontSize: 11,
  871. background: '#FFFFFF', //y轴颜色
  872. pixelRatio: 1,
  873. animation: true,
  874. categories: chartData.categories,
  875. series: chartData.series,
  876. xAxis: {
  877. type: 'grid',
  878. gridType: 'dash',
  879. rotateLabel: true,
  880. itemCount: 4, //x轴单屏显示数据的数量,默认为5个
  881. scrollShow: true, //新增是否显示滚动条,默认false
  882. scrollAlign: 'left', //滚动条初始位置
  883. scrollBackgroundColor: '#F7F7FF', //默认为 #EFEBEF 滚动条颜色底色
  884. scrollColor: '#DEE7F7', //默认为 #A6A6A6 滚动条颜色
  885. // disableGrid:true,
  886. },
  887. yAxis: {
  888. //disabled:true
  889. },
  890. dataLabel: true,
  891. width: _self.cWidth3 * _self.pixelRatio,
  892. height: _self.cHeight3 * _self.pixelRatio,
  893. extra: {
  894. column: {
  895. width: 18
  896. }
  897. }
  898. });
  899. },
  900. touchLine1(e) {
  901. if (canvaColumn1) {
  902. canvaColumn1.scrollStart(e);
  903. }
  904. },
  905. moveLine1(e) {
  906. if (canvaColumn1) {
  907. canvaColumn1.scroll(e);
  908. }
  909. },
  910. touchEndLine1(e) {
  911. if (canvaColumn1) {
  912. canvaColumn1.scrollEnd(e);
  913. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  914. canvaColumn1.showToolTip(e, {
  915. format: function(item, category) {
  916. return category + ' ' + item.name + ':' + item.data
  917. }
  918. });
  919. }
  920. },
  921. touchLine2(e) {
  922. if (canvaColumn2) {
  923. canvaColumn2.scrollStart(e);
  924. }
  925. },
  926. moveLine2(e) {
  927. if (canvaColumn2) {
  928. canvaColumn2.scroll(e);
  929. }
  930. },
  931. touchEndLine2(e) {
  932. if (canvaColumn2) {
  933. canvaColumn2.scrollEnd(e);
  934. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  935. canvaColumn2.showToolTip(e, {
  936. format: function(item, category) {
  937. return category + ' ' + item.name + ':' + item.data
  938. }
  939. });
  940. }
  941. },
  942. touchLine3(e) {
  943. if (canvaColumn3) {
  944. canvaColumn3.scrollStart(e);
  945. }
  946. },
  947. moveLine3(e) {
  948. if (canvaColumn3) {
  949. canvaColumn3.scroll(e);
  950. }
  951. },
  952. touchEndLine3(e) {
  953. if (canvaColumn3) {
  954. canvaColumn3.scrollEnd(e);
  955. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  956. canvaColumn3.showToolTip(e, {
  957. format: function(item, category) {
  958. return category + ' ' + item.name + ':' + item.data
  959. }
  960. });
  961. }
  962. },
  963. touchLine4(e) {
  964. if (canvaColumn4) {
  965. canvaColumn4.scrollStart(e);
  966. }
  967. },
  968. moveLine4(e) {
  969. if (canvaColumn4) {
  970. canvaColumn4.scroll(e);
  971. }
  972. },
  973. touchEndLine4(e) {
  974. if (canvaColumn4) {
  975. canvaColumn4.scrollEnd(e);
  976. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  977. canvaColumn4.showToolTip(e, {
  978. format: function(item, category) {
  979. return category + ' ' + item.name + ':' + item.data
  980. }
  981. });
  982. }
  983. },
  984. touchLine5(e) {
  985. if (canvaColumn5) {
  986. canvaColumn5.scrollStart(e);
  987. }
  988. },
  989. moveLine5(e) {
  990. if (canvaColumn5) {
  991. canvaColumn5.scroll(e);
  992. }
  993. },
  994. touchEndLine5(e) {
  995. if (canvaColumn5) {
  996. canvaColumn5.scrollEnd(e);
  997. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  998. canvaColumn5.showToolTip(e, {
  999. format: function(item, category) {
  1000. return category + ' ' + item.name + ':' + item.data
  1001. }
  1002. });
  1003. }
  1004. },
  1005. touchLine6(e) {
  1006. if (canvaColumn6) {
  1007. canvaColumn6.scrollStart(e);
  1008. }
  1009. },
  1010. moveLine6(e) {
  1011. if (canvaColumn6) {
  1012. canvaColumn6.scroll(e);
  1013. }
  1014. },
  1015. touchEndLine6(e) {
  1016. if (canvaColumn6) {
  1017. canvaColumn6.scrollEnd(e);
  1018. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1019. canvaColumn6.showToolTip(e, {
  1020. format: function(item, category) {
  1021. return category + ' ' + item.name + ':' + item.data
  1022. }
  1023. });
  1024. }
  1025. },
  1026. touchLine7(e) {
  1027. if (canvaColumn7) {
  1028. canvaColumn7.scrollStart(e);
  1029. }
  1030. },
  1031. moveLine7(e) {
  1032. if (canvaColumn7) {
  1033. canvaColumn7.scroll(e);
  1034. }
  1035. },
  1036. touchEndLine7(e) {
  1037. if (canvaColumn7) {
  1038. canvaColumn7.scrollEnd(e);
  1039. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1040. canvaColumn7.showToolTip(e, {
  1041. format: function(item, category) {
  1042. return category + ' ' + item.name + ':' + item.data
  1043. }
  1044. });
  1045. }
  1046. },
  1047. touchLine8(e) {
  1048. if (canvaColumn8) {
  1049. canvaColumn8.scrollStart(e);
  1050. }
  1051. },
  1052. moveLine8(e) {
  1053. if (canvaColumn8) {
  1054. canvaColumn8.scroll(e);
  1055. }
  1056. },
  1057. touchEndLine8(e) {
  1058. if (canvaColumn8) {
  1059. canvaColumn8.scrollEnd(e);
  1060. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1061. canvaColumn8.showToolTip(e, {
  1062. format: function(item, category) {
  1063. return category + ' ' + item.name + ':' + item.data
  1064. }
  1065. });
  1066. }
  1067. },
  1068. touchLine9(e) {
  1069. if (canvaColumn9) {
  1070. canvaColumn9.scrollStart(e);
  1071. }
  1072. },
  1073. moveLine9(e) {
  1074. if (canvaColumn9) {
  1075. canvaColumn9.scroll(e);
  1076. }
  1077. },
  1078. touchEndLine9(e) {
  1079. if (canvaColumn9) {
  1080. canvaColumn9.scrollEnd(e);
  1081. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1082. canvaColumn9.showToolTip(e, {
  1083. format: function(item, category) {
  1084. return category + ' ' + item.name + ':' + item.data
  1085. }
  1086. });
  1087. }
  1088. },
  1089. touchLine10(e) {
  1090. if (canvaColumn10) {
  1091. canvaColumn10.scrollStart(e);
  1092. }
  1093. },
  1094. moveLine10(e) {
  1095. if (canvaColumn10) {
  1096. canvaColumn10.scroll(e);
  1097. }
  1098. },
  1099. touchEndLine10(e) {
  1100. if (canvaColumn10) {
  1101. canvaColumn10.scrollEnd(e);
  1102. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1103. canvaColumn10.showToolTip(e, {
  1104. format: function(item, category) {
  1105. return category + ' ' + item.name + ':' + item.data
  1106. }
  1107. });
  1108. }
  1109. },
  1110. touchLine11(e) {
  1111. if (canvaColumn11) {
  1112. canvaColumn11.scrollStart(e);
  1113. }
  1114. },
  1115. moveLine11(e) {
  1116. if (canvaColumn11) {
  1117. canvaColumn11.scroll(e);
  1118. }
  1119. },
  1120. touchEndLine11(e) {
  1121. if (canvaColumn11) {
  1122. canvaColumn11.scrollEnd(e);
  1123. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1124. canvaColumn11.showToolTip(e, {
  1125. format: function(item, category) {
  1126. return category + ' ' + item.name + ':' + item.data
  1127. }
  1128. });
  1129. }
  1130. },
  1131. touchLine12(e) {
  1132. if (canvaColumn12) {
  1133. canvaColumn12.scrollStart(e);
  1134. }
  1135. },
  1136. moveLine12(e) {
  1137. if (canvaColumn12) {
  1138. canvaColumn12.scroll(e);
  1139. }
  1140. },
  1141. touchEndLine12(e) {
  1142. if (canvaColumn12) {
  1143. canvaColumn12.scrollEnd(e);
  1144. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1145. canvaColumn12.showToolTip(e, {
  1146. format: function(item, category) {
  1147. return category + ' ' + item.name + ':' + item.data
  1148. }
  1149. });
  1150. }
  1151. },
  1152. }
  1153. }
  1154. </script>
  1155. <style>
  1156. page {
  1157. /* background: #F2F2F2; */
  1158. background: #FFFFFF;
  1159. width: 750upx;
  1160. overflow-x: hidden;
  1161. }
  1162. .head {
  1163. display: flex;
  1164. flex-direction: row;
  1165. background: #206DC3;
  1166. width: 750upx;
  1167. height: 120upx;
  1168. }
  1169. .title {
  1170. /* border-left: 10upx solid #0ea391; */
  1171. color: #363D44;
  1172. font-size: 62upx;
  1173. font-family: "PingFang-SC-Bold";
  1174. text-align: center;
  1175. margin: auto;
  1176. }
  1177. .ri {
  1178. width: 690upx;
  1179. height: 210upx;
  1180. background: #FFFFFF;
  1181. border-radius: 15upx;
  1182. /* 上移 */
  1183. transform: translateY(-90upx);
  1184. text-align: center;
  1185. margin: auto;
  1186. display: flex;
  1187. flex-direction: row;
  1188. /* 阴影 */
  1189. box-shadow: 0upx -1upx 20upx #D3D3D3;
  1190. /* box-shadow:0px 0px 10px 5px #aaa; */
  1191. }
  1192. .riShell {
  1193. display: flex;
  1194. flex-direction: row;
  1195. margin: auto;
  1196. }
  1197. .riTitle {
  1198. display: flex;
  1199. flex-direction: column;
  1200. margin: auto;
  1201. }
  1202. .riqi {
  1203. display: flex;
  1204. flex-direction: column;
  1205. margin: auto;
  1206. }
  1207. .fourTitle {
  1208. width: 690upx;
  1209. height: 294upx;
  1210. display: flex;
  1211. flex-direction: row;
  1212. flex-wrap: wrap;
  1213. background: #FFFFFF;
  1214. box-shadow: 0upx 0upx 20upx #D3D3D3;
  1215. margin: auto;
  1216. border-radius: 15upx;
  1217. transform: translateY(-60upx);
  1218. }
  1219. .four {
  1220. display: flex;
  1221. flex-direction: row;
  1222. margin: auto;
  1223. width: 48%;
  1224. }
  1225. .fourImg {
  1226. width: 54upx;
  1227. height: 54upx;
  1228. }
  1229. .qiun-padding {
  1230. padding: 2%;
  1231. width: 96%;
  1232. }
  1233. .qiun-wrap {
  1234. display: flex;
  1235. flex-wrap: wrap;
  1236. }
  1237. .qiun-rows {
  1238. display: flex;
  1239. flex-direction: row !important;
  1240. }
  1241. .qiun-columns {
  1242. display: flex;
  1243. flex-direction: column !important;
  1244. }
  1245. .qiun-common-mt {
  1246. margin-top: 0upx;
  1247. height: 160upx;
  1248. }
  1249. .qiun-bg-white {
  1250. background: #FFFFFF;
  1251. }
  1252. .qiun-title-bar {
  1253. width: 100%;
  1254. /* padding: 10upx 2%; */
  1255. flex-wrap: nowrap;
  1256. border-radius: 15upx;
  1257. }
  1258. .qiun-title-dot-light {
  1259. width: 92%;
  1260. border-left: 20upx;
  1261. border-left: 10upx solid #206DC3;
  1262. padding-left: 10upx;
  1263. height: 32upx;
  1264. font-family: "PingFang-SC-Bold";
  1265. font-weight: bold;
  1266. margin: auto;
  1267. font-size: 32upx;
  1268. color: #363D44;
  1269. }
  1270. .dis {
  1271. transform: translateY(-13upx);
  1272. font-size: 32upx;
  1273. font-family: "PingFang-SC-Bold";
  1274. color: #363D44;
  1275. }
  1276. .shijian {
  1277. padding-top: 30upx;
  1278. height: 80upx;
  1279. width: 690upx;
  1280. margin: auto;
  1281. box-shadow: 0upx 0upx 10upx #D3D3D3;
  1282. }
  1283. .line {
  1284. background: #ECECEC;
  1285. height: 20upx;
  1286. }
  1287. .qiun-charts {
  1288. width: 690upx;
  1289. height: 550upx;
  1290. padding-top: 50upx;
  1291. background-color: #FFFFFF;
  1292. margin: auto;
  1293. }
  1294. .qiun-charts2 {
  1295. width: 690upx;
  1296. height: 370upx;
  1297. padding-top: 50upx;
  1298. background-color: #FFFFFF;
  1299. margin: auto;
  1300. }
  1301. .charts {
  1302. width: 690upx;
  1303. height: 550upx;
  1304. background-color: #FFFFFF;
  1305. margin: auto;
  1306. }
  1307. .charts2 {
  1308. width: 690upx;
  1309. height: 370upx;
  1310. background-color: #FFFFFF;
  1311. margin: auto;
  1312. }
  1313. .preImg {
  1314. position: absolute;
  1315. right: 30upx;
  1316. width: 71upx;
  1317. height: 57upx;
  1318. }
  1319. .nextImg {
  1320. position: absolute;
  1321. right: 30upx;
  1322. width: 71upx;
  1323. height: 57upx;
  1324. }
  1325. </style>