newReport.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116
  1. <template>
  2. <view class="content">
  3. <view class="status_bar"></view>
  4. <view class="top-nav">
  5. <u-icon name="arrow-left" size="38" class="back" @click="back"></u-icon>
  6. <view class="left" :class="index==1?'nav-active':''" @click="navClick(1)">
  7. 全部
  8. </view>
  9. <view class="right" :class="index==2?'nav-active':''" @click="navClick(2)">
  10. 新季
  11. </view>
  12. </view>
  13. <view class="content1 content-item">
  14. <view class="title">
  15. 收支核算 <u-icon :name="iconName1" size="30" style="margin-left: 10rpx;"
  16. @click="foldClcik(['fade', 'slide-top'],1)">
  17. </u-icon>
  18. </view>
  19. <uni-transition ref="ani" custom-class="transition" :mode-class="modeClass" :styles="styles"
  20. :show="isSHowContent1">
  21. <u-line color="#EEEEEE" />
  22. <view class="row1 mtb40">
  23. <view class="left">
  24. 2022.06
  25. </view>
  26. <view class="right">
  27. <text class="text" :class="textIndex==1?'text-active':''" @click="accounting(1)">
  28. 按月
  29. </text>
  30. <text class="text" :class="textIndex==2?'text-active':''" @click="accounting(2)">按年</text>
  31. </view>
  32. </view>
  33. <view class="row2">
  34. <view class="text">
  35. 收入(元)
  36. </view>
  37. <view class="price">
  38. 73923475.30
  39. </view>
  40. </view>
  41. <view class="row3">
  42. <view class="left">
  43. <view class="text">
  44. 支出(元)
  45. </view>
  46. <view class="number">
  47. 676234.42
  48. </view>
  49. </view>
  50. <view class="center">
  51. </view>
  52. <view class="right">
  53. <view class="text">
  54. 差额(元)
  55. </view>
  56. <view class="number">
  57. 676234.42
  58. </view>
  59. </view>
  60. </view>
  61. <view class="row4">
  62. <qiun-data-charts type="area" :opts="opts" :chartData="chartData" :ontouch="true" />
  63. </view>
  64. </uni-transition>
  65. </view>
  66. <view class="content2 content-item">
  67. <view class="title">
  68. 合同数据<u-icon :name="iconName2" size="30" style="margin-left: 10rpx;"
  69. @click="foldClcik(['fade', 'slide-top'],2)">
  70. </u-icon>
  71. </view>
  72. <uni-transition ref="ani" custom-class="transition" :mode-class="modeClass" :styles="styles"
  73. :show="isSHowContent2">
  74. <u-line color="#EEEEEE" />
  75. <view class="row1 flex jcsb mtb40">
  76. <view class="left title-lv2">
  77. 数量统计
  78. </view>
  79. <view @click='godetail(0)' class="right-btn">
  80. 合同明细
  81. </view>
  82. </view>
  83. <!-- <view class="row2 flex jcse">
  84. <view class="left flex alc">
  85. <view class="color1"></view>
  86. <text class="text">{{index==1?'过去12个月累计签订数量':'本季累计签订合同数量'}}</text>
  87. </view>
  88. <view class="right flex alc">
  89. <view class="color2"></view>
  90. <text class="text">{{index==1?'当前执行中数量':'本季执行中数量'}}</text>
  91. </view>
  92. </view> -->
  93. <view class="row3">
  94. <qiun-data-charts type="bar" :opts="opts2" :chartData="chartData1" />
  95. </view>
  96. <view class="row4 flex jcsb mtb40">
  97. <view class="left title-lv2">
  98. 利润核算
  99. </view>
  100. <view @click='godetail(1)' class="right-btn">
  101. 利润明细
  102. </view>
  103. </view>
  104. <view class="row5">
  105. <view class="left">
  106. <u-icon name="arrow-left" size="26" style="margin-right: 10rpx;" color="#969696"
  107. @click="yearClick('1')">
  108. </u-icon>
  109. <text @click="showYear=true">{{year}}</text>
  110. <u-icon name="arrow-right" size="26" style="margin-left: 10rpx;"
  111. :color="nowYear!=year?'#969696':'#DBDBDB'" @click="yearClick('2')" v-if="nowYear!=year">
  112. </u-icon>
  113. <u-icon name="arrow-right" size="26" style="margin-left: 10rpx;"
  114. :color="nowYear!=year?'#969696':'#DBDBDB'" v-if="nowYear==year">
  115. </u-icon>
  116. </view>
  117. <view class="right">
  118. 单位:元
  119. </view>
  120. </view>
  121. <view class="row6">
  122. <qiun-data-charts type="column" :opts="opts3" :chartData="chartData3" />
  123. </view>
  124. </uni-transition>
  125. </view>
  126. <view class="content3 content-item">
  127. <view class="title flex jcsb">
  128. <view class="">
  129. 仓储数据<u-icon :name="iconName3" size="30" style="margin-left: 10rpx;"
  130. @click="foldClcik(['fade', 'slide-top'],3)">
  131. </u-icon>
  132. </view>
  133. <view @click='godetail(2)' class="right-btn">
  134. 库存明细
  135. </view>
  136. </view>
  137. <uni-transition ref="ani" custom-class="transition" :mode-class="modeClass" :styles="styles"
  138. :show="isSHowContent3">
  139. <u-line color="#EEEEEE" />
  140. <view class="row1 flex jcsb mtb40">
  141. <view class="left title-lv2">
  142. 库存储量
  143. </view>
  144. <view class="right">
  145. 单位:吨
  146. </view>
  147. </view>
  148. <view class="row2">
  149. <qiun-data-charts type="bar" :opts="opts4" :chartData="chartData4" />
  150. </view>
  151. <view class="row3">
  152. <view class="list-item flex jcsb" v-for="(item,index) in InventoryList">
  153. <view class="flex alc">
  154. <image :src="item.src" mode="widthFix" style="width: 40rpx;margin-right: 20rpx;"></image>
  155. <text>{{item.name}}</text>
  156. </view>
  157. <view class="number">
  158. {{item.number}}
  159. </view>
  160. </view>
  161. </view>
  162. <view class="row5 flex jcsb mtb40">
  163. <view class="left title-lv2">
  164. 当期货值
  165. </view>
  166. <view class="right">
  167. 单位:元
  168. </view>
  169. </view>
  170. <view class="row6">
  171. <qiun-data-charts type="column" :opts="opts5" :chartData="chartData5" />
  172. </view>
  173. <view class="row7">
  174. <view class="left title-lv2" style="margin: 30rpx;">
  175. 平均成本
  176. </view>
  177. <view class="list-item" v-for="item in averageCostList">
  178. <view class="flex jcsb alc">
  179. <view class="left">
  180. {{item.name}}
  181. </view>
  182. <view class="">
  183. {{item.number}}
  184. </view>
  185. </view>
  186. </view>
  187. </view>
  188. </uni-transition>
  189. </view>
  190. <view class="content4 content-item">
  191. <view class="title flex jcsb">
  192. <view class="">
  193. 今日入库<u-icon :name="iconName4" size="30" style="margin-left: 10rpx;"
  194. @click="foldClcik(['fade', 'slide-top'],4)">
  195. </u-icon>
  196. </view>
  197. <view @click='godetail(3)' class="right-btn">
  198. 入库明细
  199. </view>
  200. </view>
  201. <uni-transition ref="ani" custom-class="transition" :mode-class="modeClass" :styles="styles"
  202. :show="isSHowContent4">
  203. <view class="row1">
  204. <qiun-data-charts type="ring" :opts="opts6" :chartData="chartData6" />
  205. </view>
  206. </uni-transition>
  207. </view>
  208. <view class="content5 content-item">
  209. <view class="title">
  210. 在途数据<u-icon :name="iconName5" size="30" style="margin-left: 10rpx;"
  211. @click="foldClcik(['fade', 'slide-top'],5)">
  212. </u-icon>
  213. </view>
  214. <uni-transition ref="ani" custom-class="transition" :mode-class="modeClass" :styles="styles"
  215. :show="isSHowContent5">
  216. <view class="row1 days-nav">
  217. <view class="" v-for="(item, index) in dayList">
  218. {{item}}
  219. </view>
  220. </view>
  221. <qiun-data-charts type="pie" :opts="opts7" :chartData="chartData7" />
  222. </uni-transition>
  223. </view>
  224. <view class="content6 content-item">
  225. <view class="title">
  226. 用户增长<u-icon :name="iconName6" size="30" style="margin-left: 10rpx;"
  227. @click="foldClcik(['fade', 'slide-top'],6)">
  228. </u-icon>
  229. </view>
  230. <uni-transition ref="ani" custom-class="transition" :mode-class="modeClass" :styles="styles"
  231. :show="isSHowContent6">
  232. <view class="row1 flex jcsb">
  233. <view class="left">
  234. app注册
  235. </view>
  236. <view class="right">
  237. <text>合计:</text>
  238. <text style="color: #EC6666;">23444</text>
  239. <text>人</text>
  240. </view>
  241. </view>
  242. <view class="row2">
  243. <qiun-data-charts type="area" :opts="opts8" :chartData="chartData8" />
  244. </view>
  245. <view class="row1 flex jcsb">
  246. <view class="left">
  247. 粮脉入驻
  248. </view>
  249. <view class="right">
  250. <text>合计:</text>
  251. <text style="color: #22C572;">23444</text>
  252. <text>人</text>
  253. </view>
  254. </view>
  255. <view class="row2">
  256. <qiun-data-charts type="area" :opts="opts9" :chartData="chartData9" />
  257. </view>
  258. </uni-transition>
  259. </view>
  260. <u-picker v-model="showYear" mode="selector" :range="selector" :default-selector="[2]"></u-picker>
  261. </view>
  262. </template>
  263. <script>
  264. import maoScroll from '@/components/mao-scroll/mao-scroll.vue';
  265. export default {
  266. components: {
  267. maoScroll
  268. },
  269. data() {
  270. return {
  271. dayList: ['1天', '7天', '30天'],
  272. averageCostList: [{
  273. name: '玉米',
  274. number: '2000.00'
  275. },
  276. {
  277. name: '玉米(潮粮)',
  278. number: '2000.00'
  279. },
  280. {
  281. name: '高粱',
  282. number: '2000.00'
  283. },
  284. {
  285. name: '高粱(潮粮)',
  286. number: '2000.00'
  287. },
  288. {
  289. name: '小麦',
  290. number: '2000.00'
  291. },
  292. {
  293. name: '大豆',
  294. number: '2000.00'
  295. },
  296. ],
  297. InventoryList: [{
  298. name: '合计储量',
  299. number: '1000.00',
  300. src: '../../static/img/cl.png'
  301. }, {
  302. name: '采购待执行',
  303. number: '1000.00',
  304. src: '../../static/img/cg.png'
  305. },
  306. {
  307. name: '销待执行售',
  308. number: '1000.00',
  309. src: '../../static/img/xs.png'
  310. },
  311. {
  312. name: '头寸',
  313. number: '1000.00',
  314. src: '../../static/img/tc.png'
  315. },
  316. ],
  317. year: 2022,
  318. selector: [2020, 2021, 2022],
  319. showYear: false,
  320. iconName1: 'arrow-up-fill',
  321. iconName2: 'arrow-up-fill',
  322. iconName3: 'arrow-up-fill',
  323. iconName4: 'arrow-up-fill',
  324. iconName5: 'arrow-up-fill',
  325. iconName6: 'arrow-up-fill',
  326. styles: {},
  327. modeClass: 'fade',
  328. isSHowContent1: false,
  329. isSHowContent2: false,
  330. isSHowContent3: false,
  331. isSHowContent4: false,
  332. isSHowContent5: true,
  333. isSHowContent6: true,
  334. chartData: {},
  335. chartData1: {},
  336. chartData3: {},
  337. chartData4: {},
  338. chartData5: {},
  339. chartData6: {},
  340. chartData7: {},
  341. chartData8: {},
  342. chartData9: {},
  343. opts: {
  344. enableScroll: true,
  345. color: ["#E84A55", "#22C572"],
  346. padding: [15, 15, 0, 15],
  347. dataPointShapeType: "hollow",
  348. legend: {},
  349. xAxis: {
  350. disableGrid: true,
  351. itemCount: 6,
  352. },
  353. yAxis: {
  354. gridType: "solid",
  355. data: [{
  356. // disabled: true,
  357. axisLine: false
  358. }]
  359. },
  360. extra: {
  361. area: {
  362. type: "straight",
  363. opacity: 0.2,
  364. addLine: true,
  365. width: 2,
  366. gradient: false
  367. }
  368. }
  369. },
  370. opts2: {
  371. color: ["#D2F3E2", "#22C572"],
  372. padding: [15, 30, 0, 5],
  373. legend: {},
  374. xAxis: {
  375. boundaryGap: "justify",
  376. disableGrid: false,
  377. min: 0,
  378. axisLine: false,
  379. max: 40
  380. },
  381. yAxis: {},
  382. extra: {
  383. bar: {
  384. type: "group",
  385. width: 30,
  386. meterBorde: 1,
  387. meterFillColor: "#FFFFFF",
  388. activeBgColor: "#000000",
  389. activeBgOpacity: 0.08,
  390. // linearType: "custom",
  391. barBorderCircle: true,
  392. seriesGap: 2,
  393. categoryGap: 6
  394. }
  395. }
  396. },
  397. opts3: {
  398. color: ["#8D9EE9"],
  399. padding: [15, 15, 0, 5],
  400. legend: {},
  401. xAxis: {
  402. disableGrid: true
  403. },
  404. yAxis: {
  405. data: [{
  406. min: 0
  407. }]
  408. },
  409. extra: {
  410. column: {
  411. type: "group",
  412. width: 15,
  413. activeBgColor: "#000000",
  414. activeBgOpacity: 0.08,
  415. linearType: "custom",
  416. seriesGap: 5,
  417. linearOpacity: 0.5,
  418. barBorderCircle: true,
  419. customColor: [
  420. "#8D9EE9",
  421. "#8D9EE9"
  422. ]
  423. }
  424. }
  425. },
  426. opts4: {
  427. padding: [15, 30, 0, 5],
  428. legend: {
  429. show: false,
  430. },
  431. xAxis: {
  432. boundaryGap: "justify",
  433. disableGrid: false,
  434. min: 0,
  435. axisLine: false,
  436. max: 40
  437. },
  438. yAxis: {},
  439. extra: {
  440. bar: {
  441. type: "group",
  442. width: 15,
  443. meterBorde: 1,
  444. meterFillColor: "#FFFFFF",
  445. activeBgColor: "#000000",
  446. activeBgOpacity: 0.08,
  447. // linearType: "custom",
  448. barBorderCircle: true,
  449. seriesGap: 2,
  450. categoryGap: 6
  451. }
  452. }
  453. },
  454. opts5: {
  455. color: ["#8D9EE9"],
  456. padding: [15, 15, 0, 5],
  457. legend: {
  458. show: false,
  459. },
  460. xAxis: {
  461. disableGrid: true
  462. },
  463. yAxis: {
  464. data: [{
  465. min: 0
  466. }]
  467. },
  468. extra: {
  469. column: {
  470. type: "group",
  471. width: 15,
  472. activeBgColor: "#000000",
  473. activeBgOpacity: 0.08,
  474. // linearType: "custom",
  475. seriesGap: 5,
  476. // linearOpacity: 0.5,
  477. barBorderCircle: true,
  478. customColor: [
  479. "#8D9EE9",
  480. "#8D9EE9"
  481. ]
  482. }
  483. }
  484. },
  485. opts6: {
  486. rotate: false,
  487. rotateLock: false,
  488. color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
  489. "#ea7ccc"
  490. ],
  491. padding: [5, 5, 5, 5],
  492. dataLabel: true,
  493. legend: {
  494. show: true,
  495. position: "right",
  496. lineHeight: 25
  497. },
  498. title: {
  499. name: "",
  500. fontSize: 15,
  501. color: "#666666"
  502. },
  503. subtitle: {
  504. name: "",
  505. fontSize: 25,
  506. color: "#7cb5ec"
  507. },
  508. extra: {
  509. ring: {
  510. ringWidth: 20,
  511. activeOpacity: 0.5,
  512. activeRadius: 10,
  513. offsetAngle: 0,
  514. labelWidth: 15,
  515. border: false,
  516. borderWidth: 3,
  517. borderColor: "#FFFFFF"
  518. }
  519. }
  520. },
  521. opts7: {
  522. color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
  523. "#ea7ccc"
  524. ],
  525. padding: [5, 5, 5, 5],
  526. extra: {
  527. pie: {
  528. activeOpacity: 0.5,
  529. activeRadius: 10,
  530. offsetAngle: 0,
  531. labelWidth: 15,
  532. border: true,
  533. borderWidth: 3,
  534. borderColor: "#FFFFFF",
  535. linearType: "custom"
  536. }
  537. }
  538. },
  539. opts8: {
  540. color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
  541. "#ea7ccc"
  542. ],
  543. padding: [15, 15, 0, 15],
  544. legend: {},
  545. xAxis: {
  546. disableGrid: true
  547. },
  548. yAxis: {
  549. gridType: "dash",
  550. dashLength: 2
  551. },
  552. extra: {
  553. area: {
  554. type: "curve",
  555. opacity: 0.2,
  556. addLine: true,
  557. width: 2,
  558. gradient: true
  559. }
  560. }
  561. },
  562. opts9: {
  563. color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
  564. "#ea7ccc"
  565. ],
  566. padding: [15, 15, 0, 15],
  567. legend: {},
  568. xAxis: {
  569. disableGrid: true
  570. },
  571. yAxis: {
  572. gridType: "dash",
  573. dashLength: 2
  574. },
  575. extra: {
  576. area: {
  577. type: "curve",
  578. opacity: 0.2,
  579. addLine: true,
  580. width: 2,
  581. gradient: true
  582. }
  583. }
  584. },
  585. textIndex: 1,
  586. index: 1,
  587. background: {
  588. backgroundColor: '#2E303A',
  589. backgroundColor: 'red',
  590. },
  591. nowYear: ''
  592. }
  593. },
  594. onLoad: function(option) {
  595. this.nowYear = new Date().getFullYear()
  596. },
  597. destroyed() {
  598. },
  599. onUnload() {
  600. },
  601. onReady() {
  602. this.getServerData();
  603. },
  604. methods: {
  605. yearClick(type) {
  606. if (type == 1) {
  607. this.year--
  608. } else {
  609. this.year++
  610. }
  611. },
  612. godetail(status){
  613. var url=''
  614. switch (status) {
  615. case 0:
  616. url='/pages/dataReport/contractdetails/contractdetails'
  617. break;
  618. case 1:
  619. url='/pages/dataReport/breakdownofprofit'
  620. break;
  621. case 2:
  622. url='/pages/dataReport/costbreakdown'
  623. break;
  624. case 3:
  625. url='/pages/dataReport/Inventoryentrydetails'
  626. break;
  627. }
  628. uni.navigateTo({
  629. url:url
  630. })
  631. },
  632. foldClcik(type, index) {
  633. switch (index) {
  634. case 1:
  635. this.isSHowContent1 = !this.isSHowContent1
  636. this.iconName1 = this.isSHowContent1 ? "arrow-up-fill" : 'arrow-down-fill'
  637. break;
  638. case 2:
  639. this.isSHowContent2 = !this.isSHowContent2
  640. this.iconName2 = this.isSHowContent2 ? "arrow-up-fill" : 'arrow-down-fill'
  641. break;
  642. case 3:
  643. this.isSHowContent3 = !this.isSHowContent3
  644. this.iconName3 = this.isSHowContent3 ? "arrow-up-fill" : 'arrow-down-fill'
  645. break;
  646. case 4:
  647. this.isSHowContent4 = !this.isSHowContent4
  648. this.iconName4 = this.isSHowContent4 ? "arrow-up-fill" : 'arrow-down-fill'
  649. break;
  650. case 5:
  651. this.isSHowContent5 = !this.isSHowContent5
  652. this.iconName5 = this.isSHowContent5 ? "arrow-up-fill" : 'arrow-down-fill'
  653. break;
  654. case 6:
  655. this.isSHowContent6 = !this.isSHowContent6
  656. this.iconName6 = this.isSHowContent6 ? "arrow-up-fill" : 'arrow-down-fill'
  657. break;
  658. }
  659. this.modeClass = type
  660. },
  661. getServerData() {
  662. //模拟从服务器获取数据时的延时
  663. setTimeout(() => {
  664. //模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
  665. let res = {
  666. categories: ["2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023"],
  667. series: [{
  668. name: "收入",
  669. data: [70, 40, 65, 100, 44, 68, 90, 240]
  670. }, {
  671. name: "支出",
  672. data: [35, 8, 25, 37, 4, 20, 56, 30]
  673. }
  674. ]
  675. };
  676. this.chartData = JSON.parse(JSON.stringify(res));
  677. let res1 = {
  678. categories: ["2016", "2017", "2018", "2019", "2020", "2021"],
  679. series: [{
  680. name: this.index == 1 ? '过去12个月累计签订数量' : '本季累计签订合同数量',
  681. data: [35, 36, 31, 33, 13, 34],
  682. legendShape: "circle",
  683. },
  684. {
  685. name: this.index == 1 ? '当前执行中数量' : '本季执行中数量',
  686. data: [18, 27, 21, 24, 6, 28],
  687. legendShape: "circle"
  688. }
  689. ]
  690. };
  691. this.chartData1 = JSON.parse(JSON.stringify(res1));
  692. let res3 = {
  693. categories: ["销售", "采购", "收购", "代收", "代储"],
  694. series: [{
  695. name: "利润金额",
  696. data: [35, 36, 31, 33, 13]
  697. }]
  698. };
  699. this.chartData3 = JSON.parse(JSON.stringify(res3));
  700. let res4 = {
  701. categories: ["小麦", "高粱(潮粮)", "高粱", "玉米(潮粮)", "玉米"],
  702. series: [{
  703. name: '库存储量',
  704. data: [{
  705. value: 35,
  706. color: "#FFBB6E"
  707. },
  708. {
  709. value: 36,
  710. color: "#8D9EE9"
  711. }, {
  712. value: 31,
  713. color: "#FF8B95"
  714. }, {
  715. value: 33,
  716. color: "#38CA80"
  717. },
  718. {
  719. value: 13,
  720. color: "#FFDD85"
  721. }
  722. ]
  723. }]
  724. };
  725. this.chartData4 = JSON.parse(JSON.stringify(res4));
  726. let res5 = {
  727. categories: ["小麦", "高粱(潮粮)", "高粱", "玉米(潮粮)", "玉米"],
  728. series: [{
  729. name: "利润金额",
  730. data: [{
  731. value: 35,
  732. color: "#FFBB6E"
  733. },
  734. {
  735. value: 36,
  736. color: "#8D9EE9"
  737. }, {
  738. value: 31,
  739. color: "#FF8B95"
  740. }, {
  741. value: 33,
  742. color: "#38CA80"
  743. },
  744. {
  745. value: 13,
  746. color: "#FFDD85"
  747. }
  748. ]
  749. }]
  750. };
  751. this.chartData5 = JSON.parse(JSON.stringify(res5));
  752. let res6 = {
  753. series: [{
  754. data: [{
  755. "name": "一班",
  756. "value": 50
  757. }, {
  758. "name": "二班",
  759. "value": 30
  760. }, {
  761. "name": "三班",
  762. "value": 20
  763. }, {
  764. "name": "四班",
  765. "value": 18
  766. }, {
  767. "name": "五班",
  768. "value": 8
  769. }]
  770. }]
  771. };
  772. this.chartData6 = JSON.parse(JSON.stringify(res6));
  773. let res7 = {
  774. series: [{
  775. data: [{
  776. "name": "一班",
  777. "value": 50
  778. }, {
  779. "name": "二班",
  780. "value": 30
  781. }, {
  782. "name": "三班",
  783. "value": 20
  784. }, {
  785. "name": "四班",
  786. "value": 18
  787. }, {
  788. "name": "五班",
  789. "value": 8
  790. }]
  791. }]
  792. };
  793. this.chartData7 = JSON.parse(JSON.stringify(res7));
  794. let res8 = {
  795. categories: ["2016", "2017", "2018", "2019", "2020", "2021"],
  796. series: [{
  797. name: "成交量A",
  798. data: [35, 8, 25, 37, 4, 20]
  799. },
  800. {
  801. name: "成交量B",
  802. data: [70, 40, 65, 100, 44, 68]
  803. },
  804. {
  805. name: "成交量C",
  806. data: [100, 80, 95, 150, 112, 132]
  807. }
  808. ]
  809. };
  810. this.chartData8 = JSON.parse(JSON.stringify(res8));
  811. let res9 = {
  812. categories: ["2016", "2017", "2018", "2019", "2020", "2021"],
  813. series: [{
  814. name: "成交量A",
  815. data: [35, 8, 25, 37, 4, 20]
  816. },
  817. {
  818. name: "成交量B",
  819. data: [70, 40, 65, 100, 44, 68]
  820. },
  821. {
  822. name: "成交量C",
  823. data: [100, 80, 95, 150, 112, 132]
  824. }
  825. ]
  826. };
  827. this.chartData9 = JSON.parse(JSON.stringify(res9));
  828. },
  829. 500);
  830. },
  831. back() {
  832. uni.navigateBack()
  833. },
  834. navClick(val) {
  835. this.index = val
  836. this.getServerData();
  837. },
  838. accounting(val) {
  839. this.textIndex = val
  840. }
  841. }
  842. }
  843. </script>
  844. <style scoped lang="scss">
  845. .flex {
  846. display: flex;
  847. }
  848. .alc {
  849. align-items: center;
  850. }
  851. .jcse {
  852. justify-content: space-evenly;
  853. }
  854. .jcsb {
  855. justify-content: space-between;
  856. }
  857. .mtb40 {
  858. margin: 40rpx 0;
  859. }
  860. .title-lv2 {
  861. font-weight: bold;
  862. color: #333333;
  863. }
  864. .status_bar {
  865. height: var(--status-bar-height);
  866. width: 100%;
  867. }
  868. .top-nav {
  869. display: flex;
  870. align-items: center;
  871. justify-content: space-evenly;
  872. position: relative;
  873. }
  874. .back {
  875. position: absolute;
  876. left: 20rpx;
  877. top: 0;
  878. bottom: 0;
  879. margin: auto;
  880. }
  881. .top-nav {
  882. font-size: 36rpx;
  883. background: white;
  884. padding: 20rpx;
  885. }
  886. .nav-active {
  887. font-weight: 700;
  888. position: relative;
  889. }
  890. .nav-active:after {
  891. content: "";
  892. position: absolute;
  893. bottom: -20rpx;
  894. left: 0;
  895. right: 0;
  896. margin: auto;
  897. height: 10rpx;
  898. width: 60%;
  899. background: #262626;
  900. border-radius: 40rpx;
  901. }
  902. .content-item {
  903. background: white;
  904. margin: 20rpx 20rpx 0 20rpx;
  905. border-radius: 20rpx;
  906. padding: 20rpx;
  907. box-sizing: border-box;
  908. }
  909. .title {
  910. margin-bottom: 22rpx;
  911. font-size: 32rpx;
  912. font-weight: 700;
  913. color: #343434;
  914. }
  915. .right-btn {
  916. width: 120rpx;
  917. height: 42rpx;
  918. display: flex;
  919. align-items: center;
  920. justify-content: center;
  921. background: #F1F1F1;
  922. border-radius: 30px;
  923. font-size: 22rpx;
  924. color: #707575;
  925. }
  926. .content1 {
  927. .content1-wrap {}
  928. .row1 {
  929. display: flex;
  930. justify-content: space-between;
  931. align-items: center;
  932. .left {
  933. color: #868686;
  934. }
  935. .text {
  936. margin-left: 38rpx;
  937. color: #2E303A;
  938. }
  939. .text-active {
  940. // margin-left: 38rpx;
  941. color: #FFF;
  942. background: #2E303A;
  943. padding: 11rpx 26rpx;
  944. border-radius: 10rpx;
  945. }
  946. }
  947. .row2 {
  948. display: flex;
  949. flex-direction: column;
  950. align-items: center;
  951. .text {
  952. color: #636363;
  953. margin-bottom: 10rpx
  954. }
  955. .price {
  956. font-size: 56rpx;
  957. font-weight: 700;
  958. color: #D79C58;
  959. }
  960. }
  961. .row3 {
  962. display: flex;
  963. justify-content: space-between;
  964. margin-top: 27rpx;
  965. align-items: center;
  966. .center {
  967. width: 2px;
  968. height: 61rpx;
  969. border: 2rpx solid #EEEEEE;
  970. }
  971. .left,
  972. .right {
  973. // background: green;
  974. width: calc(50% - 1px);
  975. text-align: center;
  976. .text {
  977. color: #636363
  978. }
  979. .number {
  980. margin-top: 12rpx;
  981. font-size: 34rpx;
  982. font-weight: 700;
  983. color: #343434;
  984. }
  985. }
  986. }
  987. .row4 {
  988. margin-top: 20rpx;
  989. }
  990. }
  991. .content2 {
  992. .row1 {}
  993. .row2 {
  994. color: #707575;
  995. font-size: 22rpx;
  996. .color1 {
  997. width: 16rpx;
  998. height: 12rpx;
  999. background: #D2F3E2;
  1000. border-radius: 7rpx;
  1001. margin-right: 10rpx;
  1002. }
  1003. .color2 {
  1004. width: 16rpx;
  1005. height: 12rpx;
  1006. background: #2CC778;
  1007. border-radius: 7rpx;
  1008. margin-right: 10rpx;
  1009. }
  1010. }
  1011. .row5 {
  1012. display: flex;
  1013. justify-content: space-between;
  1014. color: #9E9E9E;
  1015. .left {}
  1016. }
  1017. }
  1018. .content3 {
  1019. .right {
  1020. color: #9E9E9E;
  1021. }
  1022. .row3 {
  1023. padding: 10rpx 25rpx 30rpx 25rpx;
  1024. border-radius: 15rpx;
  1025. margin-top: 20rpx;
  1026. background: #FAFAFA;
  1027. .list-item {
  1028. margin-top: 20rpx;
  1029. .number {
  1030. font-weight: 700;
  1031. }
  1032. }
  1033. }
  1034. .row7 {
  1035. .list-item {
  1036. display: inline-block;
  1037. padding: 20rpx;
  1038. box-sizing: border-box;
  1039. background: #FAFAFA;
  1040. width: calc(50% - 40rpx);
  1041. margin: 20rpx;
  1042. border-radius: 8rpx;
  1043. }
  1044. }
  1045. }
  1046. .content5 {
  1047. .days-nav {
  1048. display: flex;
  1049. justify-content: space-evenly;
  1050. }
  1051. }
  1052. </style>