equipmentStatistics.vue 39 KB

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