price.vue 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. <template>
  2. <view class="content">
  3. <view class="content1">
  4. <view class="row1">
  5. <u-subsection :list="btnList" mode="subsection" :current="curNow" @change="sectionChange">
  6. </u-subsection>
  7. </view>
  8. <view class="row2" v-if="curNow!=2">
  9. <text>123</text><text>/</text><text>123</text><text>/</text><text>123</text>
  10. </view>
  11. <view class="row3" v-if="curNow==0">
  12. <u-tabs :list="list1" @click="click"></u-tabs>
  13. </view>
  14. </view>
  15. <view class="content2" v-if="curNow==0">
  16. <view class="title">
  17. 价格趋势图
  18. </view>
  19. <qiun-data-charts type="line" :opts="opts" :chartData="chartData" :ontouch="true" />
  20. </view>
  21. <view class="content3" v-if="curNow==0">
  22. <view class="title">
  23. 价格历史记录
  24. </view>
  25. <view class="price-list">
  26. <view class="" style="display: flex;justify-content: space-between;">
  27. <view class="">
  28. 最新价格
  29. </view>
  30. <view class="">
  31. 单位(万元)
  32. </view>
  33. </view>
  34. <view class="" style="display: flex;justify-content: space-between;" v-for="item in priceList">
  35. <view class="">
  36. {{item.date}}
  37. </view>
  38. <view class="">
  39. {{item.price}}
  40. </view>
  41. </view>
  42. </view>
  43. </view>
  44. <mescroll-body v-if="curNow==1" ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
  45. :down="downOption" :up="upOption">
  46. <view v-for="data in dataList" class="row">
  47. <view class="left">
  48. <view class="">
  49. 图片1
  50. </view>
  51. <view class="">
  52. 图片2
  53. </view>
  54. </view>
  55. <view class="right">
  56. <view class="">
  57. 0.19万
  58. </view>
  59. <view class="">
  60. 编号
  61. </view>
  62. <view class="">
  63. 分值
  64. </view>
  65. <view class="">
  66. 状态
  67. </view>
  68. <view class="">
  69. 交易日期
  70. </view>
  71. </view>
  72. </view>
  73. </mescroll-body>
  74. <view class="bz" v-if="curNow==2">
  75. <view class="title">
  76. 存量/增量
  77. </view>
  78. <view class="row">
  79. <view class="left">
  80. 系列
  81. </view>
  82. <view class="right">
  83. 原乡
  84. </view>
  85. </view>
  86. <view class="detail-view">
  87. <view class="title">
  88. 详细介绍
  89. </view>
  90. <view class="">
  91. 1212332231123司法鉴定副书记奥克斯的风景两地分居上课了撒娇分类法就是浪费加速度计发介绍来的
  92. </view>
  93. <view class="imgList">
  94. <view class="">
  95. 图片1
  96. </view>
  97. <view class="">
  98. 图片2
  99. </view>
  100. </view>
  101. </view>
  102. </view>
  103. </view>
  104. </template>
  105. <script>
  106. import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
  107. export default {
  108. mixins: [MescrollMixin], // 使用mixin
  109. data() {
  110. return {
  111. downOption: {},
  112. upOption: {
  113. page: {
  114. size: 10 // 每页数据的数量,默认10
  115. },
  116. noMoreSize: 5, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
  117. empty: {
  118. tip: '暂无相关数据'
  119. }
  120. },
  121. dataList: [{
  122. img1: "",
  123. img2: '',
  124. price: '0.19',
  125. number: '8777',
  126. fVal: '35',
  127. status: '酱彩',
  128. }],
  129. priceList: [{
  130. date: '2022-10-31',
  131. price: '0.27'
  132. },
  133. {
  134. date: '2022-10-31',
  135. price: '0.27'
  136. },
  137. ],
  138. chartData: {},
  139. opts: {
  140. color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
  141. "#ea7ccc"
  142. ],
  143. padding: [15, 10, 0, 15],
  144. enableScroll: true,
  145. legend: {},
  146. xAxis: {
  147. disableGrid: true,
  148. scrollShow: true,
  149. itemCount: 4
  150. },
  151. yAxis: {
  152. gridType: "dash",
  153. dashLength: 2
  154. },
  155. extra: {
  156. line: {
  157. type: "straight",
  158. width: 2
  159. }
  160. }
  161. },
  162. btnList: ['价格概况', '交易记录', '币种介绍'],
  163. curNow: 1,
  164. list1: [{
  165. name: '关注',
  166. }, {
  167. name: '推荐',
  168. }, {
  169. name: '电影'
  170. }, {
  171. name: '科技'
  172. }, {
  173. name: '音乐'
  174. }, {
  175. name: '美食'
  176. }, {
  177. name: '文化'
  178. }, {
  179. name: '财经'
  180. }, {
  181. name: '手工'
  182. }]
  183. }
  184. },
  185. methods: {
  186. sectionChange(index) {
  187. this.curNow = index;
  188. },
  189. click(item) {
  190. console.log('item', item);
  191. },
  192. upCallback(page) {
  193. // // 此处可以继续请求其他接口
  194. // // if(page.num == 1){
  195. // // // 请求其他接口...
  196. // // }
  197. // // 如果希望先请求其他接口,再触发upCallback,可参考以下写法
  198. // // if(!this.isInitxx){
  199. // // apiGetxx().then(res=>{
  200. // // this.isInitxx = true
  201. // // this.mescroll.resetUpScroll() // 重新触发upCallback
  202. // // }).catch(()=>{
  203. // // this.mescroll.endErr()
  204. // // })
  205. // // return // 此处return,先获取xx
  206. // // }
  207. // let pageNum = page.num; // 页码, 默认从1开始
  208. // let pageSize = page.size; // 页长, 默认每页10条
  209. // uni.request({
  210. // url: 'xxxx?pageNum=' + pageNum + '&pageSize=' + pageSize,
  211. // success: (data) => {
  212. // // 接口返回的当前页数据列表 (数组)
  213. // // let curPageData = data.xxx;
  214. // // // 接口返回的当前页数据长度 (如列表有26个数据,当前页返回8个,则curPageLen=8)
  215. // // let curPageLen = curPageData.length;
  216. // // // 接口返回的总页数 (如列表有26个数据,每页10条,共3页; 则totalPage=3)
  217. // // let totalPage = data.xxx;
  218. // // // 接口返回的总数据量(如列表有26个数据,每页10条,共3页; 则totalSize=26)
  219. // // let totalSize = data.xxx;
  220. // // // 接口返回的是否有下一页 (true/false)
  221. // // let hasNext = data.xxx;
  222. // //设置列表数据
  223. // if (page.num == 1) this.dataList = []; //如果是第一页需手动置空列表
  224. // this.dataList = this.dataList.concat(curPageData); //追加新数据
  225. // // 请求成功,隐藏加载状态
  226. // //方法一(推荐): 后台接口有返回列表的总页数 totalPage
  227. // // this.mescroll.endByPage(curPageLen, totalPage);
  228. // this.mescroll.endByPage(0, 0);
  229. // setTimeout(() => {
  230. // // this.mescroll.endSuccess(curPageLen)
  231. this.mescroll.endSuccess(0)
  232. // }, 20)
  233. // },
  234. // fail: () => {
  235. // // 请求失败,隐藏加载状态
  236. // this.mescroll.endErr()
  237. // }
  238. // })
  239. },
  240. getServerData() {
  241. setTimeout(() => {
  242. let res = {
  243. categories: ["2016", "2017", "2018", "2019", "2020", "2021"],
  244. series: [{
  245. name: "目标值",
  246. data: [35, 36, 31, 33, 13, 34]
  247. }]
  248. };
  249. this.chartData = JSON.parse(JSON.stringify(res));
  250. }, 500);
  251. }
  252. },
  253. onReady() {
  254. this.getServerData();
  255. },
  256. }
  257. </script>
  258. <style lang="scss">
  259. .content {
  260. padding: 20rpx;
  261. }
  262. </style>