equipmentStatistics.vue 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369
  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. this.init();
  293. },
  294. methods: {
  295. ...mapActions('chart', ['getProvince','getProvinceAll', 'getEquipmentStatistics', 'getMainStatistics', 'getMachineNum']),
  296. async init() {
  297. if (this.pname === '') {
  298. this.pname = uni.getStorageSync("name");
  299. }
  300. // console.log("adminId:" + this.adminId)
  301. _self = this;
  302. //图表中图
  303. this.cWidth = uni.upx2px(690);
  304. this.cHeight = uni.upx2px(500);
  305. await this.initDateRang(new Date(), 'day');
  306. await this.initDateRang(new Date(), 'week');
  307. if(this.tese == 1){
  308. await this.initDateRang(new Date(), 'month');
  309. await this.initDateRang(new Date(), 'year');
  310. }
  311. await this.init2();
  312. await this.init3();
  313. },
  314. async init2() {
  315. if (this.pname === '') {
  316. this.pname = uni.getStorageSync("name");
  317. }
  318. _self = this;
  319. //图表中图
  320. this.cWidth2 = uni.upx2px(690);
  321. this.cHeight2 = uni.upx2px(370);
  322. if (this.show == true) {
  323. await this.initDateRang2(new Date(), 'day');
  324. await this.initDateRang2(new Date(), 'week');
  325. if(this.tese == 1){
  326. await this.initDateRang2(new Date(), 'month');
  327. await this.initDateRang2(new Date(), 'year');
  328. }
  329. }
  330. },
  331. async init3() {
  332. if (this.pname === '') {
  333. this.pname = uni.getStorageSync("name");
  334. }
  335. _self = this;
  336. //图表中图
  337. this.cWidth3 = uni.upx2px(690);
  338. this.cHeight3 = uni.upx2px(370);
  339. if (this.show == true) {
  340. await this.initDateRang3(new Date(), 'day');
  341. await this.initDateRang3(new Date(), 'week');
  342. if(this.tese == 1){
  343. await this.initDateRang3(new Date(), 'month');
  344. await this.initDateRang3(new Date(), 'year');
  345. }
  346. }
  347. },
  348. initDateRang(day, chartType) {
  349. const daystr = dateUtils.formateDate(day, 'yyyy/MM/dd');
  350. if (chartType === 'day') {
  351. this.startDate1 = dateUtils.formateDate(day, 'yyyy/MM/dd');
  352. }
  353. if (chartType === 'week') {
  354. this.startDate2 = dateUtils.formateDate(dateUtils.getFirstDayOfWeek(day), 'yyyy/MM/dd');
  355. this.endDate2 = dateUtils.formateDate(dateUtils.getLastDayOfWeek(day), 'yyyy/MM/dd');
  356. }
  357. if (chartType === 'month') {
  358. this.startDate3 = dateUtils.formateDate(dateUtils.getCurrentMonFirstDate(day), 'yyyy/MM/dd');
  359. this.endDate3 = dateUtils.formateDate(dateUtils.getCurrentMonLastDate(day), 'yyyy/MM/dd');
  360. }
  361. if (chartType === 'year') {
  362. this.startDate4 = dateUtils.formateDate(dateUtils.getCurrentYearFirstDate(day), 'yyyy/MM/dd');
  363. this.endDate4 = dateUtils.formateDate(dateUtils.getCurrentYearLastDate(day), 'yyyy/MM/dd');
  364. }
  365. return this.getStatisticsData(chartType);
  366. },
  367. initDateRang2(day, chartType) {
  368. const daystr = dateUtils.formateDate(day, 'yyyy/MM/dd');
  369. if (chartType === 'day') {
  370. this.startDate5 = dateUtils.formateDate(day, 'yyyy/MM/dd');
  371. }
  372. if (chartType === 'week') {
  373. this.startDate6 = dateUtils.formateDate(dateUtils.getFirstDayOfWeek(day), 'yyyy/MM/dd');
  374. this.endDate6 = dateUtils.formateDate(dateUtils.getLastDayOfWeek(day), 'yyyy/MM/dd');
  375. }
  376. if (chartType === 'month') {
  377. this.startDate7 = dateUtils.formateDate(dateUtils.getCurrentMonFirstDate(day), 'yyyy/MM/dd');
  378. this.endDate7 = dateUtils.formateDate(dateUtils.getCurrentMonLastDate(day), 'yyyy/MM/dd');
  379. }
  380. if (chartType === 'year') {
  381. this.startDate8 = dateUtils.formateDate(dateUtils.getCurrentYearFirstDate(day), 'yyyy/MM/dd');
  382. this.endDate8 = dateUtils.formateDate(dateUtils.getCurrentYearLastDate(day), 'yyyy/MM/dd');
  383. }
  384. return this.getProvinceData(chartType);
  385. },
  386. initDateRang3(day, chartType) {
  387. const daystr = dateUtils.formateDate(day, 'yyyy/MM/dd');
  388. if (chartType === 'day') {
  389. this.startDate9 = dateUtils.formateDate(day, 'yyyy/MM/dd');
  390. }
  391. if (chartType === 'week') {
  392. this.startDate10 = dateUtils.formateDate(dateUtils.getFirstDayOfWeek(day), 'yyyy/MM/dd');
  393. this.endDate10 = dateUtils.formateDate(dateUtils.getLastDayOfWeek(day), 'yyyy/MM/dd');
  394. }
  395. if (chartType === 'month') {
  396. this.startDate11 = dateUtils.formateDate(dateUtils.getCurrentMonFirstDate(day), 'yyyy/MM/dd');
  397. this.endDate11 = dateUtils.formateDate(dateUtils.getCurrentMonLastDate(day), 'yyyy/MM/dd');
  398. }
  399. if (chartType === 'year') {
  400. this.startDate12 = dateUtils.formateDate(dateUtils.getCurrentYearFirstDate(day), 'yyyy/MM/dd');
  401. this.endDate12 = dateUtils.formateDate(dateUtils.getCurrentYearLastDate(day), 'yyyy/MM/dd');
  402. }
  403. return this.getProvinceAllData(chartType);
  404. },
  405. /**上一个 */
  406. pre(chartType) {
  407. let day;
  408. if (chartType === 'day') { // 日
  409. day = new Date(this.startDate1);
  410. day.setDate(day.getDate() - 1);
  411. }
  412. if (chartType === 'week') { // 周
  413. day = new Date(this.startDate2);
  414. day.setDate(day.getDate() - 7);
  415. }
  416. if (chartType === 'month') { // 月
  417. day = new Date(this.startDate3);
  418. day.setMonth(day.getMonth() - 1);
  419. }
  420. if (chartType === 'year') { // 年
  421. day = new Date(this.startDate4);
  422. day.setFullYear(day.getFullYear() - 1);
  423. }
  424. this.initDateRang(day, chartType);
  425. },
  426. pre2(chartType) {
  427. let day;
  428. if (chartType === 'day') { // 日
  429. day = new Date(this.startDate5);
  430. day.setDate(day.getDate() - 1);
  431. }
  432. if (chartType === 'week') { // 周
  433. day = new Date(this.startDate6);
  434. day.setDate(day.getDate() - 7);
  435. }
  436. if (chartType === 'month') { // 月
  437. day = new Date(this.startDate7);
  438. day.setMonth(day.getMonth() - 1);
  439. }
  440. if (chartType === 'year') { // 年
  441. day = new Date(this.startDate8);
  442. day.setFullYear(day.getFullYear() - 1);
  443. }
  444. this.initDateRang2(day, chartType);
  445. },
  446. pre3(chartType) {
  447. let day;
  448. if (chartType === 'day') { // 日
  449. day = new Date(this.startDate9);
  450. day.setDate(day.getDate() - 1);
  451. }
  452. if (chartType === 'week') { // 周
  453. day = new Date(this.startDate10);
  454. day.setDate(day.getDate() - 7);
  455. }
  456. if (chartType === 'month') { // 月
  457. day = new Date(this.startDate11);
  458. day.setMonth(day.getMonth() - 1);
  459. }
  460. if (chartType === 'year') { // 年
  461. day = new Date(this.startDate12);
  462. day.setFullYear(day.getFullYear() - 1);
  463. }
  464. this.initDateRang3(day, chartType);
  465. },
  466. /**下一个 */
  467. next(chartType) {
  468. let day;
  469. if (chartType === 'day') { // 日
  470. day = new Date(this.startDate1);
  471. day.setDate(day.getDate() + 1);
  472. }
  473. if (chartType === 'week') { // 周
  474. day = new Date(this.startDate2);
  475. day.setDate(day.getDate() + 7);
  476. }
  477. if (chartType === 'month') { // 月
  478. day = new Date(this.startDate3);
  479. day.setMonth(day.getMonth() + 1);
  480. }
  481. if (chartType === 'year') { // 年
  482. day = new Date(this.startDate4);
  483. day.setFullYear(day.getFullYear() + 1);
  484. }
  485. this.initDateRang(day, chartType);
  486. },
  487. next2(chartType) {
  488. let day;
  489. if (chartType === 'day') { // 日
  490. day = new Date(this.startDate5);
  491. day.setDate(day.getDate() + 1);
  492. }
  493. if (chartType === 'week') { // 周
  494. day = new Date(this.startDate6);
  495. day.setDate(day.getDate() + 7);
  496. }
  497. if (chartType === 'month') { // 月
  498. day = new Date(this.startDate7);
  499. day.setMonth(day.getMonth() + 1);
  500. }
  501. if (chartType === 'year') { // 年
  502. day = new Date(this.startDate8);
  503. day.setFullYear(day.getFullYear() + 1);
  504. }
  505. this.initDateRang2(day, chartType);
  506. },
  507. next3(chartType) {
  508. let day;
  509. if (chartType === 'day') { // 日
  510. day = new Date(this.startDate9);
  511. day.setDate(day.getDate() + 1);
  512. }
  513. if (chartType === 'week') { // 周
  514. day = new Date(this.startDate10);
  515. day.setDate(day.getDate() + 7);
  516. }
  517. if (chartType === 'month') { // 月
  518. day = new Date(this.startDate11);
  519. day.setMonth(day.getMonth() + 1);
  520. }
  521. if (chartType === 'year') { // 年
  522. day = new Date(this.startDate12);
  523. day.setFullYear(day.getFullYear() + 1);
  524. }
  525. this.initDateRang3(day, chartType);
  526. },
  527. getStatisticsData(chartType) {
  528. const param = {
  529. 'chartType': chartType
  530. };
  531. if (chartType == 'day') {
  532. param['startDate'] = this.startDate1;
  533. param['endDate'] = this.startDate1;
  534. }
  535. if (chartType == 'week') {
  536. param['startDate'] = this.startDate2;
  537. param['endDate'] = this.endDate2;
  538. }
  539. if (chartType == 'month') {
  540. param['startDate'] = this.startDate3;
  541. param['endDate'] = this.endDate3;
  542. }
  543. if (chartType == 'year') {
  544. param['startDate'] = this.startDate4;
  545. param['endDate'] = this.endDate4;
  546. }
  547. if (this.adminId) { // 子组件,则拿传过来的参
  548. param['adminId'] = this.adminId;
  549. } else if ('admin' !== this.loginUser['username']) { //否则为主页,拿登录用户
  550. param['adminId'] = this.loginUser['id'];
  551. }
  552. if (this.equipmentId) {
  553. param['equipmentId'] = this.equipmentId;
  554. }
  555. return this.getEquipmentStatistics(param)
  556. .then(data => {
  557. uni.stopPullDownRefresh();
  558. if (param['chartType'] == 'day') {
  559. canvaColumn1 = this.initChart('canvaColumn1', data);
  560. }
  561. if (param['chartType'] == 'week') {
  562. canvaColumn2 = this.initChart('canvaColumn2', data);
  563. }
  564. if (param['chartType'] == 'month') {
  565. canvaColumn3 = this.initChart('canvaColumn3', data);
  566. }
  567. if (param['chartType'] == 'year') {
  568. canvaColumn4 = this.initChart('canvaColumn4', data);
  569. }
  570. }, _ => {
  571. uni.stopPullDownRefresh();
  572. if (param['chartType'] == 'day') {
  573. canvaColumn1 = this.initChart('canvaColumn1', {
  574. categories: ['暂无数据'],
  575. series: [{
  576. name: '销售个数',
  577. data: [0]
  578. }]
  579. });
  580. }
  581. if (param['chartType'] == 'week') {
  582. canvaColumn2 = this.initChart('canvaColumn2', {
  583. categories: ['暂无数据'],
  584. series: [{
  585. name: '销售个数',
  586. data: [0]
  587. }]
  588. });
  589. }
  590. if (param['chartType'] == 'month') {
  591. canvaColumn3 = this.initChart('canvaColumn3', {
  592. categories: ['暂无数据'],
  593. series: [{
  594. name: '销售个数',
  595. data: [0]
  596. }]
  597. });
  598. }
  599. if (param['chartType'] == 'year') {
  600. canvaColumn4 = this.initChart('canvaColumn4', {
  601. categories: ['暂无数据'],
  602. series: [{
  603. name: '销售个数',
  604. data: [0]
  605. }]
  606. });
  607. }
  608. });
  609. },
  610. getProvinceData(chartType) {
  611. const param = {
  612. 'chartType': chartType
  613. };
  614. if (chartType == 'day') {
  615. param['startDate'] = this.startDate5;
  616. param['endDate'] = this.startDate5;
  617. }
  618. if (chartType == 'week') {
  619. param['startDate'] = this.startDate6;
  620. param['endDate'] = this.endDate6;
  621. }
  622. if (chartType == 'month') {
  623. param['startDate'] = this.startDate7;
  624. param['endDate'] = this.endDate7;
  625. }
  626. if (chartType == 'year') {
  627. param['startDate'] = this.startDate8;
  628. param['endDate'] = this.endDate8;
  629. }
  630. if (this.adminId) { // 子组件,则拿传过来的参
  631. param['adminId'] = this.adminId;
  632. } else if ('admin' !== this.loginUser['username']) { //否则为主页,拿登录用户
  633. param['adminId'] = this.loginUser['id'];
  634. }
  635. if (this.equipmentId) {
  636. param['equipmentId'] = this.equipmentId;
  637. }
  638. return this.getProvince(param)
  639. .then(data => {
  640. uni.stopPullDownRefresh();
  641. if (param['chartType'] == 'day') {
  642. canvaColumn5 = this.initChart2('canvaColumn5', data);
  643. }
  644. if (param['chartType'] == 'week') {
  645. canvaColumn6 = this.initChart2('canvaColumn6', data);
  646. }
  647. if (param['chartType'] == 'month') {
  648. canvaColumn7 = this.initChart2('canvaColumn7', data);
  649. }
  650. if (param['chartType'] == 'year') {
  651. canvaColumn8 = this.initChart2('canvaColumn8', data);
  652. }
  653. }, _ => {
  654. uni.stopPullDownRefresh();
  655. if (param['chartType'] == 'day') {
  656. canvaColumn5 = this.initChart2('canvaColumn5', {
  657. categories: ['暂无数据'],
  658. series: [{
  659. name: '平均销售额',
  660. data: [0]
  661. }]
  662. });
  663. }
  664. if (param['chartType'] == 'week') {
  665. canvaColumn6 = this.initChart2('canvaColumn6', {
  666. categories: ['暂无数据'],
  667. series: [{
  668. name: '平均销售额',
  669. data: [0]
  670. }]
  671. });
  672. }
  673. if (param['chartType'] == 'month') {
  674. canvaColumn7 = this.initChart2('canvaColumn7', {
  675. categories: ['暂无数据'],
  676. series: [{
  677. name: '平均销售额',
  678. data: [0]
  679. }]
  680. });
  681. }
  682. if (param['chartType'] == 'year') {
  683. canvaColumn8 = this.initChart2('canvaColumn8', {
  684. categories: ['暂无数据'],
  685. series: [{
  686. name: '平均销售额',
  687. data: [0]
  688. }]
  689. });
  690. }
  691. });
  692. },
  693. getProvinceAllData(chartType) {
  694. const param = {
  695. 'chartType': chartType
  696. };
  697. if (chartType == 'day') {
  698. param['startDate'] = this.startDate9;
  699. param['endDate'] = this.startDate9;
  700. }
  701. if (chartType == 'week') {
  702. param['startDate'] = this.startDate10;
  703. param['endDate'] = this.endDate10;
  704. }
  705. if (chartType == 'month') {
  706. param['startDate'] = this.startDate11;
  707. param['endDate'] = this.endDate11;
  708. }
  709. if (chartType == 'year') {
  710. param['startDate'] = this.startDate12;
  711. param['endDate'] = this.endDate12;
  712. }
  713. if (this.adminId) { // 子组件,则拿传过来的参
  714. param['adminId'] = this.adminId;
  715. } else if ('admin' !== this.loginUser['username']) { //否则为主页,拿登录用户
  716. param['adminId'] = this.loginUser['id'];
  717. }
  718. if (this.equipmentId) {
  719. param['equipmentId'] = this.equipmentId;
  720. }
  721. return this.getProvinceAll(param)
  722. .then(data => {
  723. uni.stopPullDownRefresh();
  724. if (param['chartType'] == 'day') {
  725. canvaColumn9 = this.initChart3('canvaColumn9', data);
  726. }
  727. if (param['chartType'] == 'week') {
  728. canvaColumn10 = this.initChart3('canvaColumn10', data);
  729. }
  730. if (param['chartType'] == 'month') {
  731. canvaColumn11 = this.initChart3('canvaColumn11', data);
  732. }
  733. if (param['chartType'] == 'year') {
  734. canvaColumn12 = this.initChart3('canvaColumn12', data);
  735. }
  736. }, _ => {
  737. uni.stopPullDownRefresh();
  738. if (param['chartType'] == 'day') {
  739. canvaColumn9 = this.initChart3('canvaColumn9', {
  740. categories: ['暂无数据'],
  741. series: [{
  742. name: '销售额',
  743. data: [0]
  744. }]
  745. });
  746. }
  747. if (param['chartType'] == 'week') {
  748. canvaColumn10 = this.initChart3('canvaColumn10', {
  749. categories: ['暂无数据'],
  750. series: [{
  751. name: '销售额',
  752. data: [0]
  753. }]
  754. });
  755. }
  756. if (param['chartType'] == 'month') {
  757. canvaColumn11 = this.initChart3('canvaColumn11', {
  758. categories: ['暂无数据'],
  759. series: [{
  760. name: '销售额',
  761. data: [0]
  762. }]
  763. });
  764. }
  765. if (param['chartType'] == 'year') {
  766. canvaColumn12 = this.initChart3('canvaColumn12', {
  767. categories: ['暂无数据'],
  768. series: [{
  769. name: '销售额',
  770. data: [0]
  771. }]
  772. });
  773. }
  774. });
  775. },
  776. initChart(canvasId, chartData) {
  777. return new uCharts({
  778. $this: _self,
  779. canvasId: canvasId,
  780. enableScroll: true,
  781. type: 'column',
  782. legend: true,
  783. fontSize: 11,
  784. background: '#FFFFFF', //y轴颜色
  785. pixelRatio: 1,
  786. animation: true,
  787. categories: chartData.categories,
  788. series: chartData.series,
  789. xAxis: {
  790. type: 'grid',
  791. gridType: 'dash',
  792. rotateLabel: true,
  793. itemCount: 4, //x轴单屏显示数据的数量,默认为5个
  794. scrollShow: true, //新增是否显示滚动条,默认false
  795. scrollAlign: 'left', //滚动条初始位置
  796. scrollBackgroundColor: '#F7F7FF', //默认为 #EFEBEF 滚动条颜色底色
  797. scrollColor: '#DEE7F7', //默认为 #A6A6A6 滚动条颜色
  798. // disableGrid:true,
  799. },
  800. yAxis: {
  801. //disabled:true
  802. },
  803. dataLabel: true,
  804. width: _self.cWidth * _self.pixelRatio,
  805. height: _self.cHeight * _self.pixelRatio,
  806. extra: {
  807. column: {
  808. // width: _self.cWidth*_self.pixelRatio*0.45/chartData.categories.length
  809. width: 18
  810. }
  811. }
  812. });
  813. },
  814. initChart2(canvasId, chartData) {
  815. return new uCharts({
  816. $this: _self,
  817. canvasId: canvasId,
  818. enableScroll: true,
  819. type: 'column',
  820. legend: true,
  821. fontSize: 11,
  822. background: '#FFFFFF', //y轴颜色
  823. pixelRatio: 1,
  824. animation: true,
  825. categories: chartData.categories,
  826. series: chartData.series,
  827. xAxis: {
  828. type: 'grid',
  829. gridType: 'dash',
  830. rotateLabel: true,
  831. itemCount: 4, //x轴单屏显示数据的数量,默认为5个
  832. scrollShow: true, //新增是否显示滚动条,默认false
  833. scrollAlign: 'left', //滚动条初始位置
  834. scrollBackgroundColor: '#F7F7FF', //默认为 #EFEBEF 滚动条颜色底色
  835. scrollColor: '#DEE7F7', //默认为 #A6A6A6 滚动条颜色
  836. // disableGrid:true,
  837. },
  838. yAxis: {
  839. //disabled:true
  840. },
  841. dataLabel: true,
  842. width: _self.cWidth2 * _self.pixelRatio,
  843. height: _self.cHeight2 * _self.pixelRatio,
  844. extra: {
  845. column: {
  846. width: 18
  847. }
  848. }
  849. });
  850. },
  851. initChart3(canvasId, chartData) {
  852. return new uCharts({
  853. $this: _self,
  854. canvasId: canvasId,
  855. enableScroll: true,
  856. type: 'column',
  857. legend: true,
  858. fontSize: 11,
  859. background: '#FFFFFF', //y轴颜色
  860. pixelRatio: 1,
  861. animation: true,
  862. categories: chartData.categories,
  863. series: chartData.series,
  864. xAxis: {
  865. type: 'grid',
  866. gridType: 'dash',
  867. rotateLabel: true,
  868. itemCount: 4, //x轴单屏显示数据的数量,默认为5个
  869. scrollShow: true, //新增是否显示滚动条,默认false
  870. scrollAlign: 'left', //滚动条初始位置
  871. scrollBackgroundColor: '#F7F7FF', //默认为 #EFEBEF 滚动条颜色底色
  872. scrollColor: '#DEE7F7', //默认为 #A6A6A6 滚动条颜色
  873. // disableGrid:true,
  874. },
  875. yAxis: {
  876. //disabled:true
  877. },
  878. dataLabel: true,
  879. width: _self.cWidth3 * _self.pixelRatio,
  880. height: _self.cHeight3 * _self.pixelRatio,
  881. extra: {
  882. column: {
  883. width: 18
  884. }
  885. }
  886. });
  887. },
  888. touchLine1(e) {
  889. if (canvaColumn1) {
  890. canvaColumn1.scrollStart(e);
  891. }
  892. },
  893. moveLine1(e) {
  894. if (canvaColumn1) {
  895. canvaColumn1.scroll(e);
  896. }
  897. },
  898. touchEndLine1(e) {
  899. if (canvaColumn1) {
  900. canvaColumn1.scrollEnd(e);
  901. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  902. canvaColumn1.showToolTip(e, {
  903. format: function(item, category) {
  904. return category + ' ' + item.name + ':' + item.data
  905. }
  906. });
  907. }
  908. },
  909. touchLine2(e) {
  910. if (canvaColumn2) {
  911. canvaColumn2.scrollStart(e);
  912. }
  913. },
  914. moveLine2(e) {
  915. if (canvaColumn2) {
  916. canvaColumn2.scroll(e);
  917. }
  918. },
  919. touchEndLine2(e) {
  920. if (canvaColumn2) {
  921. canvaColumn2.scrollEnd(e);
  922. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  923. canvaColumn2.showToolTip(e, {
  924. format: function(item, category) {
  925. return category + ' ' + item.name + ':' + item.data
  926. }
  927. });
  928. }
  929. },
  930. touchLine3(e) {
  931. if (canvaColumn3) {
  932. canvaColumn3.scrollStart(e);
  933. }
  934. },
  935. moveLine3(e) {
  936. if (canvaColumn3) {
  937. canvaColumn3.scroll(e);
  938. }
  939. },
  940. touchEndLine3(e) {
  941. if (canvaColumn3) {
  942. canvaColumn3.scrollEnd(e);
  943. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  944. canvaColumn3.showToolTip(e, {
  945. format: function(item, category) {
  946. return category + ' ' + item.name + ':' + item.data
  947. }
  948. });
  949. }
  950. },
  951. touchLine4(e) {
  952. if (canvaColumn4) {
  953. canvaColumn4.scrollStart(e);
  954. }
  955. },
  956. moveLine4(e) {
  957. if (canvaColumn4) {
  958. canvaColumn4.scroll(e);
  959. }
  960. },
  961. touchEndLine4(e) {
  962. if (canvaColumn4) {
  963. canvaColumn4.scrollEnd(e);
  964. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  965. canvaColumn4.showToolTip(e, {
  966. format: function(item, category) {
  967. return category + ' ' + item.name + ':' + item.data
  968. }
  969. });
  970. }
  971. },
  972. touchLine5(e) {
  973. if (canvaColumn5) {
  974. canvaColumn5.scrollStart(e);
  975. }
  976. },
  977. moveLine5(e) {
  978. if (canvaColumn5) {
  979. canvaColumn5.scroll(e);
  980. }
  981. },
  982. touchEndLine5(e) {
  983. if (canvaColumn5) {
  984. canvaColumn5.scrollEnd(e);
  985. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  986. canvaColumn5.showToolTip(e, {
  987. format: function(item, category) {
  988. return category + ' ' + item.name + ':' + item.data
  989. }
  990. });
  991. }
  992. },
  993. touchLine6(e) {
  994. if (canvaColumn6) {
  995. canvaColumn6.scrollStart(e);
  996. }
  997. },
  998. moveLine6(e) {
  999. if (canvaColumn6) {
  1000. canvaColumn6.scroll(e);
  1001. }
  1002. },
  1003. touchEndLine6(e) {
  1004. if (canvaColumn6) {
  1005. canvaColumn6.scrollEnd(e);
  1006. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1007. canvaColumn6.showToolTip(e, {
  1008. format: function(item, category) {
  1009. return category + ' ' + item.name + ':' + item.data
  1010. }
  1011. });
  1012. }
  1013. },
  1014. touchLine7(e) {
  1015. if (canvaColumn7) {
  1016. canvaColumn7.scrollStart(e);
  1017. }
  1018. },
  1019. moveLine7(e) {
  1020. if (canvaColumn7) {
  1021. canvaColumn7.scroll(e);
  1022. }
  1023. },
  1024. touchEndLine7(e) {
  1025. if (canvaColumn7) {
  1026. canvaColumn7.scrollEnd(e);
  1027. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1028. canvaColumn7.showToolTip(e, {
  1029. format: function(item, category) {
  1030. return category + ' ' + item.name + ':' + item.data
  1031. }
  1032. });
  1033. }
  1034. },
  1035. touchLine8(e) {
  1036. if (canvaColumn8) {
  1037. canvaColumn8.scrollStart(e);
  1038. }
  1039. },
  1040. moveLine8(e) {
  1041. if (canvaColumn8) {
  1042. canvaColumn8.scroll(e);
  1043. }
  1044. },
  1045. touchEndLine8(e) {
  1046. if (canvaColumn8) {
  1047. canvaColumn8.scrollEnd(e);
  1048. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1049. canvaColumn8.showToolTip(e, {
  1050. format: function(item, category) {
  1051. return category + ' ' + item.name + ':' + item.data
  1052. }
  1053. });
  1054. }
  1055. },
  1056. touchLine9(e) {
  1057. if (canvaColumn9) {
  1058. canvaColumn9.scrollStart(e);
  1059. }
  1060. },
  1061. moveLine9(e) {
  1062. if (canvaColumn9) {
  1063. canvaColumn9.scroll(e);
  1064. }
  1065. },
  1066. touchEndLine9(e) {
  1067. if (canvaColumn9) {
  1068. canvaColumn9.scrollEnd(e);
  1069. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1070. canvaColumn9.showToolTip(e, {
  1071. format: function(item, category) {
  1072. return category + ' ' + item.name + ':' + item.data
  1073. }
  1074. });
  1075. }
  1076. },
  1077. touchLine10(e) {
  1078. if (canvaColumn10) {
  1079. canvaColumn10.scrollStart(e);
  1080. }
  1081. },
  1082. moveLine10(e) {
  1083. if (canvaColumn10) {
  1084. canvaColumn10.scroll(e);
  1085. }
  1086. },
  1087. touchEndLine10(e) {
  1088. if (canvaColumn10) {
  1089. canvaColumn10.scrollEnd(e);
  1090. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1091. canvaColumn10.showToolTip(e, {
  1092. format: function(item, category) {
  1093. return category + ' ' + item.name + ':' + item.data
  1094. }
  1095. });
  1096. }
  1097. },
  1098. touchLine11(e) {
  1099. if (canvaColumn11) {
  1100. canvaColumn11.scrollStart(e);
  1101. }
  1102. },
  1103. moveLine11(e) {
  1104. if (canvaColumn11) {
  1105. canvaColumn11.scroll(e);
  1106. }
  1107. },
  1108. touchEndLine11(e) {
  1109. if (canvaColumn11) {
  1110. canvaColumn11.scrollEnd(e);
  1111. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1112. canvaColumn11.showToolTip(e, {
  1113. format: function(item, category) {
  1114. return category + ' ' + item.name + ':' + item.data
  1115. }
  1116. });
  1117. }
  1118. },
  1119. touchLine12(e) {
  1120. if (canvaColumn12) {
  1121. canvaColumn12.scrollStart(e);
  1122. }
  1123. },
  1124. moveLine12(e) {
  1125. if (canvaColumn12) {
  1126. canvaColumn12.scroll(e);
  1127. }
  1128. },
  1129. touchEndLine12(e) {
  1130. if (canvaColumn12) {
  1131. canvaColumn12.scrollEnd(e);
  1132. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  1133. canvaColumn12.showToolTip(e, {
  1134. format: function(item, category) {
  1135. return category + ' ' + item.name + ':' + item.data
  1136. }
  1137. });
  1138. }
  1139. },
  1140. }
  1141. }
  1142. </script>
  1143. <style>
  1144. page {
  1145. /* background: #F2F2F2; */
  1146. background: #FFFFFF;
  1147. width: 750upx;
  1148. overflow-x: hidden;
  1149. }
  1150. .head {
  1151. display: flex;
  1152. flex-direction: row;
  1153. background: #206DC3;
  1154. width: 750upx;
  1155. height: 120upx;
  1156. }
  1157. .title {
  1158. /* border-left: 10upx solid #0ea391; */
  1159. color: #363D44;
  1160. font-size: 62upx;
  1161. font-family: "PingFang-SC-Bold";
  1162. text-align: center;
  1163. margin: auto;
  1164. }
  1165. .ri {
  1166. width: 690upx;
  1167. height: 210upx;
  1168. background: #FFFFFF;
  1169. border-radius: 15upx;
  1170. /* 上移 */
  1171. transform: translateY(-90upx);
  1172. text-align: center;
  1173. margin: auto;
  1174. display: flex;
  1175. flex-direction: row;
  1176. /* 阴影 */
  1177. box-shadow: 0upx -1upx 20upx #D3D3D3;
  1178. /* box-shadow:0px 0px 10px 5px #aaa; */
  1179. }
  1180. .riShell {
  1181. display: flex;
  1182. flex-direction: row;
  1183. margin: auto;
  1184. }
  1185. .riTitle {
  1186. display: flex;
  1187. flex-direction: column;
  1188. margin: auto;
  1189. }
  1190. .riqi {
  1191. display: flex;
  1192. flex-direction: column;
  1193. margin: auto;
  1194. }
  1195. .fourTitle {
  1196. width: 690upx;
  1197. height: 294upx;
  1198. display: flex;
  1199. flex-direction: row;
  1200. flex-wrap: wrap;
  1201. background: #FFFFFF;
  1202. box-shadow: 0upx 0upx 20upx #D3D3D3;
  1203. margin: auto;
  1204. border-radius: 15upx;
  1205. transform: translateY(-60upx);
  1206. }
  1207. .four {
  1208. display: flex;
  1209. flex-direction: row;
  1210. margin: auto;
  1211. width: 48%;
  1212. }
  1213. .fourImg {
  1214. width: 54upx;
  1215. height: 54upx;
  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: 0upx;
  1235. height: 160upx;
  1236. }
  1237. .qiun-bg-white {
  1238. background: #FFFFFF;
  1239. }
  1240. .qiun-title-bar {
  1241. width: 100%;
  1242. /* padding: 10upx 2%; */
  1243. flex-wrap: nowrap;
  1244. border-radius: 15upx;
  1245. }
  1246. .qiun-title-dot-light {
  1247. width: 92%;
  1248. border-left: 20upx;
  1249. border-left: 10upx solid #206DC3;
  1250. padding-left: 10upx;
  1251. height: 32upx;
  1252. font-family: "PingFang-SC-Bold";
  1253. font-weight: bold;
  1254. margin: auto;
  1255. font-size: 32upx;
  1256. color: #363D44;
  1257. }
  1258. .dis {
  1259. transform: translateY(-13upx);
  1260. font-size: 32upx;
  1261. font-family: "PingFang-SC-Bold";
  1262. color: #363D44;
  1263. }
  1264. .shijian {
  1265. padding-top: 30upx;
  1266. height: 80upx;
  1267. width: 690upx;
  1268. margin: auto;
  1269. box-shadow: 0upx 0upx 10upx #D3D3D3;
  1270. }
  1271. .line {
  1272. background: #ECECEC;
  1273. height: 20upx;
  1274. }
  1275. .qiun-charts {
  1276. width: 690upx;
  1277. height: 550upx;
  1278. padding-top: 50upx;
  1279. background-color: #FFFFFF;
  1280. margin: auto;
  1281. }
  1282. .qiun-charts2 {
  1283. width: 690upx;
  1284. height: 370upx;
  1285. padding-top: 50upx;
  1286. background-color: #FFFFFF;
  1287. margin: auto;
  1288. }
  1289. .charts {
  1290. width: 690upx;
  1291. height: 550upx;
  1292. background-color: #FFFFFF;
  1293. margin: auto;
  1294. }
  1295. .charts2 {
  1296. width: 690upx;
  1297. height: 370upx;
  1298. background-color: #FFFFFF;
  1299. margin: auto;
  1300. }
  1301. .preImg {
  1302. position: absolute;
  1303. right: 30upx;
  1304. width: 71upx;
  1305. height: 57upx;
  1306. }
  1307. .nextImg {
  1308. position: absolute;
  1309. right: 30upx;
  1310. width: 71upx;
  1311. height: 57upx;
  1312. }
  1313. </style>