equipmentStatistics.vue 39 KB

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