2 lines
5.7 KiB
JavaScript
2 lines
5.7 KiB
JavaScript
"use strict";const t=require("../../../common/vendor.js"),e=require("../../../request/api.js"),a=require("../../../utils/util.js"),o=require("../../../common/assets.js"),i=require("../../../uni_modules/lime-echart/static/echarts.min.js"),s={data:()=>({navH:t.inject("navHeight"),contentTop:"",navTitle:"",type:"",eventId:"",stockCode:"",categoryList:["分时图","日K线"],selectCategory:0,tradeData:null,option:{title:{show:!1},tooltip:{position:function(t,e,a,o,i){var s={top:"10%"};return s[["left","right"][+(t[0]<i.viewSize[0]/2)]]=5,s},trigger:"axis",axisPointer:{type:"cross"},formatter:function(t){return console.log(t),"日期:"+t[0].name+"\n开盘价:"+t[0].data[1]+"\n收盘价:"+t[0].data[2]+"\n最低价:"+t[0].data[3]+"\n最高价:"+t[0].data[4]}},legend:{show:!1},grid:{top:"10%",left:"10%",right:"10%",bottom:"15%"},xAxis:{type:"category",data:[],boundaryGap:!1,axisLine:{onZero:!1},splitLine:{show:!1}},yAxis:{scale:!0,splitArea:{show:!0}},series:[{name:"日K",type:"candlestick",data:[],itemStyle:{color:"#ffffff",color0:"#355422",borderColor:"#c00000",borderColor0:"#355422"}}]},option1:{title:{show:!1},tooltip:{position:function(t,e,a,o,i){var s={top:"3%"};return s[["left","right"][+(t[0]<i.viewSize[0]/2)]]=5,s},trigger:"axis",formatter:function(t){return"时间:"+t[0].name+"\n高:"+t[0].data[2]+"\n开:"+t[0].data[3]+"\n低:"+t[0].data[4]+"\n收:"+t[0].data[1]+"\n涨幅:"+t[0].data[5]+"%"}},grid:{top:"10%",left:"12%",right:"14%",bottom:"10%"},xAxis:{type:"category",scale:!0,axisLabel:{customValues:["09:30","10:00","10:30","11:00","11:30","13:00","13:30","14:00","14:30","15:00"],fontSize:9}},yAxis:{show:!1,scale:!0},dataZoom:[{type:"inside"}],series:{name:"分时图",type:"line",symbol:"none",markLine:{silent:!0,symbol:["none","none"],lineStyle:{type:"solid",width:1,color:"#dedede"},z:1},data:[]},animation:!1},relatedDesc:"",sourceList:[],getLocalDate:a.getLocalDate}),onLoad(e){e.code&&(this.type=e.type,1==e.type?(this.contentTop=this.navH+20/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);console.log(t),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;this.tradeData=e.data.latest_trade;let i=[],s=[],r=t[0].open;t.length>0&&"09:30"!=t[0].time&&t.splice(0,1);for(let e of t){i.push(e.time);let t=a.accMul(a.accDiv(a.accSub(e.close,r),r).toFixed(4),100),o=e.volume;o>1e4&&(o=(o/1e4).toFixed(0)+"万");let n=e.amount;n>1e4&&(n=(n/1e4).toFixed(0)+"万"),s.push([e.time,e.close,e.high,e.open,e.low,t,o,n])}let n=r,l=0;for(let e of s){let t=e[1];parseFloat(t)<n&&(n=parseFloat(t)),parseFloat(t)>l&&(l=parseFloat(t))}let c=(r-n)/3,d=(l-r)/3,h=[];if(c>d){for(var o=3;o>0;o--)h.push(r-o*c);for(o=0;o<4;o++)h.push(r+o*c)}else{for(o=3;o>0;o--)h.push(r-o*d);for(o=0;o<4;o++)h.push(r+o*d)}this.option1.xAxis.data=i,this.option1.yAxis.min=h[0].toFixed(2),this.option1.yAxis.max=h[h.length-1].toFixed(2),this.option1.series.data=s;let p=[],m=e.data.event_info.event_start_time.split("T")[1];m=m.substring(0,5);for(let e of h)p.push({xAxis:m,lineStyle:{type:"solid",width:1,color:"#ffd700"},label:{position:"middle",formatter:"事件发生",color:"#ffd700"}},{yAxis:e,label:{show:!0,position:"start",color:"#333"}},{yAxis:e,label:{show:!0,position:"end",formatter:a.accMul(a.accDiv(a.accSub(e,r),r).toFixed(4),100)+"%",color:"#333"}});this.option1.series.markLine.data=p;let u=e.data.related_desc;u&&(this.relatedDesc=u.relation_desc,u.retrieved_sources&&(this.sourceList=u.retrieved_sources)),this.init()}else t.index.showToast({title:e.message,icon:"none"})})).catch((t=>{}))},getStockCandlestickChartData(){let t=this.stockCode,a={chart_type:"minute"};1==this.selectCategory&&(a.chart_type="daily"),e.stockCandlestickChartData(t,a).then((t=>{let e=t.data,a=[],o=[];for(let i of e)a.push(i.time),o.push([i.open,i.close,i.low,i.high]);this.option.xAxis.data=a,this.option.series[0].data=o,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 r=t._export_sfc(s,[["render",function(e,a,i,s,r,n){return t.e({a:t.p({leftText:r.navTitle,hideNavBg:!0}),b:o._imports_0,c:1==r.type},1==r.type?{d:t.f(r.categoryList,((e,a,o)=>t.e({a:t.t(e),b:r.selectCategory==a},(r.selectCategory,{}),{c:t.n("item relative "+(r.selectCategory==a?"select":"")),d:a,e:t.o((t=>n.clickCategoryItem(a)),a)})))}:{},{e:1==r.type&&r.tradeData},1==r.type&&r.tradeData?t.e({f:r.tradeData.volume>1e8},r.tradeData.volume>1e8?{g:t.t((r.tradeData.volume/1e8).toFixed(2))}:t.e({h:r.tradeData.volume>1e4},r.tradeData.volume>1e4?{i:t.t((r.tradeData.volume/1e4).toFixed(2))}:{j:t.t(r.tradeData.volume)}),{k:r.tradeData.amount>1e8},r.tradeData.amount>1e8?{l:t.t((r.tradeData.amount/1e8).toFixed(2))}:t.e({m:r.tradeData.amount>1e4},r.tradeData.amount>1e4?{n:t.t((r.tradeData.amount/1e4).toFixed(2))}:{o:t.t(r.tradeData.amount)})):{},{p:1==r.type},1==r.type?{q:t.sr("chartRef","42054871-1")}:{},{r:t.t(r.relatedDesc),s:t.s("margin-top:"+r.contentTop+"px;"),t:1==r.type&&r.sourceList.length>0},1==r.type&&r.sourceList.length>0?{v:t.f(r.sourceList,((e,a,o)=>({a:t.t(e.sentences),b:t.t(e.report_title),c:t.t(e.author),d:t.t(r.getLocalDate(e.declare_date)),e:a})))}:{})}]]);wx.createPage(r);
|