2 lines
3.7 KiB
JavaScript
2 lines
3.7 KiB
JavaScript
"use strict";const t=require("../../../common/vendor.js"),e=require("../../../request/api.js"),o=require("../../../common/assets.js"),i=require("../../../uni_modules/lime-echart/static/echarts.min.js"),a={data:()=>({navH:t.inject("navHeight"),contentTop:"",navTitle:"",type:"",eventId:"",stockCode:"",categoryList:["分时图","日K线"],selectCategory:0,option:{title:{show:!1},tooltip:{position:function(t,e,o,i,a){var s={top:"10%"};return s[["left","right"][+(t[0]<a.viewSize[0]/2)]]=5,s},trigger:"axis",axisPointer:{type:"cross"},formatter:function(t){console.log(t);let e="日期:"+t[0].name+"\n开盘价:"+t[0].data[1]+"\n收盘价:"+t[0].data[2]+"\n最低价:"+t[0].data[3]+"\n最高价:"+t[0].data[4];return console.log(e),e}},legend:{show:!1},grid:{left:"10%",right:"10%",bottom:"15%"},xAxis:{type:"category",data:[],boundaryGap:!1,axisLine:{onZero:!1},splitLine:{show:!1},min:"dataMin",max:"dataMax"},yAxis:{scale:!0,splitArea:{show:!0}},dataZoom:[{type:"inside",start:50,end:100},{show:!0,type:"slider",top:"90%",start:50,end:100}],series:[{name:"日K",type:"candlestick",data:[],itemStyle:{color:"#ec0000",color0:"#8A0000",borderColor:"#00da3c",borderColor0:"#008F28"}}]},option1:{title:{show:!1},tooltip:{trigger:"axis"},grid:{left:"10%",right:"12%",bottom:"10%"},xAxis:{type:"category"},yAxis:{scale:!0},dataZoom:[{type:"inside"}],series:{name:"分时图",type:"line",markLine:{silent:!0,symbol:["none","none"],lineStyle:{width:2,color:"#AAA"},data:[]}}},relatedDesc:""}),onLoad(e){e.code&&(this.type=e.type,1==e.type?(this.contentTop=this.navH+68/750*t.inject("windowWidth"),this.eventId=e.id,this.stockCode=e.code,this.getStockDetailsData()):(this.contentTop=this.navH,this.navTitle=e.name+"("+e.code+")",this.relatedDesc=e.des))},methods:{async init(){const t=await this.$refs.chartRef.init(i);0==this.selectCategory?t.setOption(this.option1):t.setOption(this.option)},clickCategoryItem(t){this.selectCategory!=t&&(this.selectCategory=t,1==t?this.getStockCandlestickChartData():this.init())},getStockDetailsData(){let o=this.stockCode,i=this.eventId;e.stockDetails(i,o).then((e=>{if(200==e.code){this.navTitle=e.data.basic_info.stock_name+"("+e.data.basic_info.stock_code+")";let t=e.data.minute_chart_data,o=[],i=[];for(let e of t)o.push(e.time),i.push(e.close);this.option1.xAxis.data=o,this.option1.series.data=i,this.option1.series.markLine.data=[{yAxis:t[0].open,label:{show:!0,position:"start",color:"#333"}},{yAxis:t[0].open,label:{show:!0,position:"end",formatter:"0.00%",color:"#333"}}],e.data.related_desc&&(this.relatedDesc=e.data.related_desc.relation_desc),this.init()}else t.index.showToast({title:e.message,icon:"none"})})).catch((t=>{}))},getStockCandlestickChartData(){let t=this.stockCode,o={chart_type:"minute"};1==this.selectCategory&&(o.chart_type="daily"),e.stockCandlestickChartData(t,o).then((t=>{let e=t.data,o=[],i=[];for(let a of e)o.push(a.time),i.push([a.open,a.close,a.low,a.high]);this.option.xAxis.data=o,this.option.series[0].data=i,this.init()})).catch((t=>{}))}}};if(!Array){(t.resolveComponent("navBar")+t.resolveComponent("l-echart"))()}Math||((()=>"../../../components/navBar/navBar.js")+(()=>"../../../uni_modules/lime-echart/components/l-echart/l-echart.js"))();const s=t._export_sfc(a,[["render",function(e,i,a,s,n,r){return t.e({a:t.p({leftText:n.navTitle}),b:o._imports_0,c:1==n.type},1==n.type?{d:t.f(n.categoryList,((e,o,i)=>t.e({a:t.t(e),b:n.selectCategory==o},(n.selectCategory,{}),{c:t.n("item relative "+(n.selectCategory==o?"select":"")),d:o,e:t.o((t=>r.clickCategoryItem(o)),o)}))),e:t.s("top:"+n.navH+"px;")}:{},{f:1==n.type},1==n.type?{g:t.sr("chartRef","42054871-1")}:{},{h:t.t(n.relatedDesc),i:t.n("contentC fixed "+(2==n.type?"radius":"")),j:t.s("top:"+n.contentTop+"px;")})}]]);wx.createPage(s);
|