st-comp 0.0.246 → 0.0.247
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/KlineBasic.cjs +1 -1
- package/es/KlineBasic.js +500 -492
- package/es/VarietyTextCopy.cjs +3 -3
- package/es/VarietyTextCopy.js +4 -4
- package/es/style.css +1 -1
- package/lib/bundle.js +1 -1
- package/lib/bundle.umd.cjs +151 -151
- package/lib/{index-2a325d42.js → index-750ede1b.js} +11544 -11536
- package/lib/{python-eb65d93b.js → python-e34a2958.js} +1 -1
- package/lib/style.css +1 -1
- package/package.json +1 -1
- package/packages/KlineBasic/components/KlineSub/index.vue +35 -15
- package/packages/KlineBasic/components/KlineTips/index.vue +2 -2
- package/packages/KlineBasic/index.vue +39 -41
- package/src/pages/KlineBasic/index.vue +7 -7
package/es/KlineBasic.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";require("./base-ef747d02.cjs");const Ye=require("./el-dialog-ad7309e9.cjs");require("./el-overlay-d7a6e4a9.cjs");require("./el-input-172c49f8.cjs");const Se=require("./el-input-number-c2e71528.cjs"),De=require("./el-button-68baab7b.cjs"),Ve=require("./el-empty-1697ded8.cjs"),ce=require("./el-menu-item-7f986598.cjs");require("./el-tooltip-0ea8fbf8.cjs");require("./el-popper-7ba87e05.cjs");const e=require("vue"),V=require("./dayjs.min-2c20abe6.cjs"),Me=require("echarts"),N=require("./index-8901a38c.cjs"),te=require("./el-message-a86c0efa.cjs"),U=require("./_plugin-vue_export-helper-f246444f.cjs");require("./el-tag-789f05d3.cjs");const ue=require("./el-select-12f6deb7.cjs");require("./el-scrollbar-bc3f790d.cjs");require("./index-cebc7160.cjs");require("./use-form-common-props-344056f9.cjs");require("./index-9780a537.cjs");require("./index-bb833443.cjs");require("./index-f1c702f6.cjs");require("./vnode-b906ae6d.cjs");require("./scroll-b108dabd.cjs");require("./use-global-config-cf78ebac.cjs");require("./index-4f48940d.cjs");require("./typescript-b63f8e83.cjs");require("./index-c04f444f.cjs");require("./index-eea0bcb3.cjs");require("./config-provider-2182708a.cjs");require("./index-8de94a49.cjs");require("./index-696b6a94.cjs");require("./castArray-35947698.cjs");require("./debounce-62f5b6e8.cjs");function Le(n){const k=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const _ in n)if(_!=="default"){const l=Object.getOwnPropertyDescriptor(n,_);Object.defineProperty(k,_,l.get?l:{enumerable:!0,get:()=>n[_]})}}return k.default=n,Object.freeze(k)}const le=Le(Me);let C=null;const Fe=n=>{const k=N.y(n,{handleReq:_=>{N.v()&&(_.headers.token=N.U())},handleRes:_=>{const{data:l}=_;if(l.code===401)return location.origin.includes("localhost")?location.href=`${location.origin}/#/404`:N.K(),!0}});k.get,C=k.post},Be=n=>C("/middleLayer/kline/getKlineBasic",{...n,userId:N.V("id")}),Te=n=>C("/middleLayer/kline/getKline",n),Ne=async n=>C("/alarm/deliversign/addAlarmPrice",{...n,userId:N.V("id")}),Ee=async n=>C("/alarm/deliversign/findAlarmPriceByUserId",{...n,userId:N.V("id")}),fe=async n=>C("/alarm/deliversign/updateAlarmPrice",{...n,userId:N.V("id")}),qe=async n=>C("/alarm/deliversign/deleteAlarmPrice",{...n,userId:N.V("id")}),{round:W}=N.x,Ae=(n,k,_,l,p)=>{const{data:t,time:h}=n,{gridTop:c,gridRight:b,gridLeft:m,maxShowCounts:g,showSubChart:S}=k;return{animation:!1,grid:{top:`${c}px`,right:`${b}px`,bottom:S?"6px":"24px",left:`${m}px`},dataZoom:[{type:"inside",startValue:_,endValue:l,maxValueSpan:g}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:r=>{const{axisDimension:w,value:i}=r;return w==="x"?S?"":["6","7","8"].includes(p)?V.dayjs(i).format("YYYY-MM-DD"):i:String(W(i))}}},formatter:()=>""},xAxis:{show:!S,type:"category",data:h,splitLine:{show:!1},axisLabel:{formatter:r=>["6","7","8"].includes(p)?V.dayjs(r).format("YYYY-MM-DD"):r}},yAxis:{type:"value",axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},min:r=>W(r.min),max:r=>W(r.max)},series:[{type:"candlestick",data:t,itemStyle:{color:"transparent",color0:"#00FFFF",borderColor:"#FF0000",borderColor0:"#00FFFF",borderWidth:1}},...n.mainIndicator.map(r=>({name:r.key,type:"line",silent:!0,symbol:"none",data:r.data,lineStyle:{width:r.width||1},itemStyle:{color:r.color}}))],toolbox:{show:!1},brush:{xAxisIndex:"all",brushLink:"all",transformable:!1,outOfBrush:{colorAlpha:2},brushStyle:{color:"rgba(255,255,255,0.1)",borderColor:"rgba(255,255,255,0.4)"}}}},Re=(n,k,_,l,p)=>{const{variety:t,featureId:h,featureType:c}=_,{gridTop:b,gridLeft:m,gridRight:g}=l;return k.reduce((S,r)=>{const{warnPrice:w}=r,i=n==null?void 0:n.convertToPixel({yAxisIndex:0},w);if(i<=b||i>=(n==null?void 0:n.getHeight()))return S;let M=0;return[...S,{type:"group",name:"warningLine",info:r,draggable:"vertical",children:[{type:"line",info:r,shape:{x1:m,y1:i,x2:(n==null?void 0:n.getWidth())-g,y2:i},style:{stroke:"#FFF",lineWidth:1,lineDash:[8,4]},z:10},{type:"text",info:r,x:(n==null?void 0:n.getWidth())-g,y:i-5,style:{fill:"#FFF",text:w,stroke:"#000",lineWidth:1,opacity:1},z:10}],ondragstart:D=>{M=D.offsetY},ondrag:D=>{var q;if(D.target&&D.target.childAt(1)){const A=n.convertFromPixel({yAxisIndex:0},i+(D.offsetY-M));(q=D.target.childAt(1))==null||q.animate("style",!1).when(1,{text:W(A,3)}).start()}},ondragend:async D=>{const A=D.offsetY-M;if(A!==0){const j=n==null?void 0:n.convertFromPixel({yAxisIndex:0},A+i),v={id:r.id,warnPrice:W(j,3),featureId:h,featureCode:t,featureType:c};await fe(v),te.ElMessage.success("画线预警修改成功"),p&&p()}}}]},[])};function pe(n){function k(l){if(typeof l=="number")return Number.isFinite(l)?l:null;if(typeof l=="string"){const p=l.trim();if(p==="")return null;const t=Number(p);return Number.isFinite(t)?t:null}return null}const _=k(n);if(_===null)return"-";try{if(_>=1||_<=-1)return W(_);{const l=_.toPrecision(3);return W(l,l.split(".")[1].length-1)}}catch{return"-"}}const Oe=e.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(n){const k=n,_=e.ref(null),l=e.ref([]);return e.watch(()=>k.data,()=>{l.value.length===0&&e.nextTick(()=>{Array.from(_.value.children).forEach((p,t)=>{var h,c,b,m,g,S,r,w;((c=(h=k.data)==null?void 0:h[t])==null?void 0:c.label)==="涨跌"?l.value[t]="85px":((m=(b=k.data)==null?void 0:b[t])==null?void 0:m.label)==="至今涨幅"?l.value[t]="115px":((S=(g=k.data)==null?void 0:g[t])==null?void 0:S.label)==="额"?l.value[t]="85px":["开","高","低","收"].includes((w=(r=k.data)==null?void 0:r[t])==null?void 0:w.label)?l.value[t]=`${p.offsetWidth+24}px`:l.value[t]=`${p.offsetWidth+36}px`})})}),(p,t)=>(e.openBlock(),e.createElementBlock("div",{class:"kline-tips",ref_key:"tipsRef",ref:_},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.data,(h,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"kline-tips-item",style:e.normalizeStyle({color:h.color,width:l.value[c]?l.value[c]:null})},e.toDisplayString(h.label)+" "+e.toDisplayString(h.value),5))),128))],512))}});const de=U._export_sfc(Oe,[["__scopeId","data-v-096c0d10"]]);const Ie={class:"kline-tips"},je={__name:"index",props:{data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0},variety:{type:[String,Number],default:()=>null}},setup(n){const{round:k,formatValue:_}=N.x,l=n,p=e.ref(null);e.watch(()=>l.activeIndex,()=>{p.value===null&&(p.value=l.data.data[l.activeIndex][1])}),e.watch(()=>l.data,()=>{p.value===null&&(p.value=l.data.data[l.activeIndex][1])}),e.watch(()=>l.variety,()=>{p.value=null});const t=e.computed(()=>{const{data:c,activeIndex:b}=l;if(c.data&&c.data[b]){const m=c.data[b],g=[{label:"开",value:m[0]},{label:"高",value:m[3]},{label:"低",value:m[2]},{label:"收",value:m[1]}];m[4]!==null&&g.push({label:"额",value:_(m[4])});let S;m[6]>0?S="red":m[6]<0&&(S="green"),g.push({label:"涨跌",value:`${k(m[6])}%`,color:S});const r=(p.value/m[1]-1)*100;let w;return r>0?w="red":r<0&&(w="green"),g.push({label:"至今涨幅",value:`${k(r)}%`,color:w}),g}return[]}),h=e.computed(()=>{var m;const{data:c,activeIndex:b}=l;return((m=c==null?void 0:c.mainIndicator)==null?void 0:m.map(g=>({label:g.key,value:pe(g.data[b]),color:g.color})))||[]});return(c,b)=>(e.openBlock(),e.createElementBlock("div",Ie,[e.createVNode(de,{data:t.value},null,8,["data"]),e.createVNode(de,{data:h.value},null,8,["data"])]))}},$e=U._export_sfc(je,[["__scopeId","data-v-5be4d504"]]),Pe={class:"kline-averageTips"},We=e.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(n){return(k,_)=>(e.openBlock(),e.createElementBlock("div",Pe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.data,(l,p)=>(e.openBlock(),e.createElementBlock("div",{key:p,class:"kline-averageTips-item",style:e.normalizeStyle({color:l.color})},e.toDisplayString(l.label)+" "+e.toDisplayString(l.value),5))),128))]))}});const Ce=U._export_sfc(We,[["__scopeId","data-v-2ce54548"]]);const ze={class:"klineSub"},Ze={class:"klineSub-tips"},Ue={key:0,class:"klineSub-tips-select"},He={__name:"index",props:{cycle:{type:[String,Number],default:()=>null},data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0},modelValue:{type:String,required:!0},subIndicatorList:{type:Array,required:!0}},emits:["update:modelValue"],setup(n,{expose:k,emit:_}){const{round:l}=N.x;let p,t;const h=_,c=n,b=e.ref(),m=e.computed({get(){return c.modelValue},set(r){h("update:modelValue",r)}}),g=e.computed(()=>{var i;const{data:r,activeIndex:w}=c;return((i=r==null?void 0:r.subIndicator)==null?void 0:i.map(M=>({label:M.key,color:M.color,value:pe(M.data[w])})))||[]});e.onMounted(()=>{p=le.init(b.value);let r=!0;t=new ResizeObserver(()=>{if(r){r=null;return}p.resize()}),t.observe(b.value)}),e.onUnmounted(()=>{p.dispose(),t.disconnect(),t=null});const S=(r,w)=>{const i=r[w],M=w===0?r[w]:r[w-1];return i[0]===i[1]?i[0]>=M[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:i[1]>i[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}};return k({connect:r=>{le.connect([r,p])},draw:(r,w)=>{e.nextTick(()=>{const{startValue:i,endValue:M,maxValueSpan:D}=r,{leftYAxisRange:q,rightYAxisRange:A}=c.data.subIndicator[0],j=c.data.subIndicator.map(v=>{if(v.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:v.data.map((B,F)=>v.seriesColor==="kline"?{value:B,itemStyle:S(c.data.data,F)}:v.seriesColor==="value"?{value:B,itemStyle:{color:B>=0?"#FF0000":"#00FFFF"}}:{value:B,itemStyle:{color:v.seriesColor}})};if(v.series==="line")return{xAxisIndex:0,yAxisIndex:v.yAxis==="right"?2:1,name:v.key,type:"line",silent:!0,symbol:"none",data:v.data,lineStyle:{width:1},itemStyle:{color:v.color}}});p.setOption({animation:!1,grid:{left:`${w.gridLeft}px`,top:"10px",right:`${w.gridRight}px`,bottom:"20px"},dataZoom:[{type:"inside",startValue:i,endValue:M,maxValueSpan:D}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:v=>{const{axisDimension:B,value:F}=v;if(B==="x")return["6","7","8"].includes(c.cycle)?V.dayjs(F).format("YYYY-MM-DD"):F;if(v.axisIndex===1)return String(l(F))}}},formatter:()=>""},xAxis:{type:"category",data:c.data.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{formatter:v=>["6","7","8"].includes(c.cycle)?V.dayjs(v).format("YYYY-MM-DD"):v}},yAxis:[{position:"right"},{position:"left",min:q==="cover"?v=>v.min:null,max:q==="cover"?v=>v.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:A==="cover"?v=>v.min:null,max:A==="cover"?v=>v.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:j},!0)})}}),(r,w)=>{const i=ue.ElOption,M=ue.ElSelect;return e.openBlock(),e.createElementBlock("div",ze,[e.createElementVNode("div",Ze,[g.value.length?(e.openBlock(),e.createElementBlock("div",Ue,[e.createVNode(M,{modelValue:m.value,"onUpdate:modelValue":w[0]||(w[0]=D=>m.value=D),size:"small","popper-class":"element-dark",class:"element-dark subIndicator"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.subIndicatorList,D=>(e.openBlock(),e.createBlock(i,{key:D.value,label:D.label,value:D.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),e.createVNode(Ce,{data:g.value},null,8,["data"])]),e.createElementVNode("div",{class:"klineSub-chart",ref_key:"subChartRef",ref:b},null,512)])}}},Ke=U._export_sfc(He,[["__scopeId","data-v-a6bfe8fe"]]),Xe=e.defineComponent({__name:"index",emits:["closeContextMenuCallBack"],setup(n,{emit:k}){const _=k,l=e.ref(),p=e.ref(),t=e.ref({display:"none",top:"0px",left:"0px"}),h=()=>{t.value.display="none",_("closeContextMenuCallBack"),document.removeEventListener("click",h)},c=b=>{if(b.preventDefault(),t.value.display==="block"){const{offsetX:m,offsetY:g}=b,{offsetWidth:S,offsetHeight:r}=p.value;if(m<=S&&g<=r)return}l.value.click(),t.value={display:"block",top:`${b.offsetY}px`,left:`${b.offsetX}px`},e.nextTick(()=>{const m=l.value.getBoundingClientRect(),g=p.value.getBoundingClientRect();g.left+g.width>=m.right&&(t.value.left=`${b.offsetX-g.width}px`),g.top+g.height>=m.bottom&&(console.log("高度超出"),t.value.top=`${b.offsetY-g.height}px`)}),document.addEventListener("click",h)};return(b,m)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"contextmenuRef",ref:l,class:"contextmenu",onContextmenu:c,onMouseleave:h},[e.renderSlot(b.$slots,"default",{},void 0,!0),t.value.display!=="none"?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"contextmenuContentRef",ref:p,class:"contextmenu-popover",style:e.normalizeStyle(t.value)},[e.renderSlot(b.$slots,"popover",{},void 0,!0)],4)):e.createCommentVNode("",!0)],544))}});const Ge=U._export_sfc(Xe,[["__scopeId","data-v-811db6b4"]]);const me=n=>(e.pushScopeId("data-v-8efc10f3"),n=n(),e.popScopeId(),n),Je={class:"klineBasic-tips"},Qe={key:0,class:"klineBasic-sub"},et={key:1,class:"klineBasic-empty"},tt={key:2,class:"klineBasic-error"},nt=me(()=>e.createElementVNode("div",{class:"klineBasic-error-content"},"加载失败,请刷新重试",-1)),ot={style:{"text-align":"center"}},at=me(()=>e.createElementVNode("span",{style:{"margin-right":"10px"}},"预警价格:",-1)),lt={class:"dialog-footer"},rt={__name:"index",props:{variety:{type:[String,Number],default:()=>null},varietyName:{type:[String,Number],default:()=>null},featureId:{type:[String,Number],default:()=>null},featureType:{type:[String,Number],default:()=>null},cycle:{type:[String,Number],default:()=>null},mainIndicator:{type:String,default:()=>""},indicatorStore:{type:Object,default:()=>null},startTime:{type:String,default:()=>null},endTime:{type:String,default:()=>null},right:{type:[String,Number],default:1},config:{type:Object,default:()=>({})},env:{type:Object,default:()=>({})},brushRange:{type:[Array,null],default:()=>null}},emits:["change","getFactorData"],setup(n,{expose:k,emit:_}){const l=[{label:"画线预警",key:"drawWarningLine"}];let p=null,t=null,h=null,c=null,b=null,m,g,S=!1,r=!1;const w=_,i=n,M=e.ref(!1),D=e.ref(!1),q=e.ref(!1),A=e.ref(null),j=e.ref(null),v=e.ref("VOL"),B=e.ref(0),F=e.ref({}),H=e.ref([]),G=e.ref({}),J=e.ref(!1),Q=e.ref(""),ne=e.ref([...l]),R=e.computed(()=>({defaultShowCounts:500,addCounts:2e3,maxShowCounts:5e3,loadCheckCounts:500,showSubChart:!0,gridTop:48,gridLeft:80,gridRight:50,showWarningLine:!0,getFactorData:!0,...i.config})),ye=()=>{t||(t=le.init(A.value),_e(),R.value.showSubChart&&j.value.connect(t),p=N.D(A.value),p.listen(()=>{requestAnimationFrame(()=>{t==null||t.resize(),K()})}))},oe=()=>{t&&!t.isDisposed()&&t.hideLoading()},re=(s=!1)=>{h&&(cancelAnimationFrame(h),h=null),h=requestAnimationFrame(()=>{ge(s),h=requestAnimationFrame(()=>{ve(),h=requestAnimationFrame(()=>{K(),h=null})})})},ge=(s=!1)=>{var u,Y,L;if(!t||t.isDisposed())return;const{time:o}=F.value,{defaultShowCounts:x}=R.value;let d=o.length-1-x,f=o.length-1;if(s&&t){const y=t.getOption(),T=(Y=(u=y==null?void 0:y.xAxis)==null?void 0:u[0])==null?void 0:Y.data,O=(L=y==null?void 0:y.dataZoom)==null?void 0:L[0];if(T!=null&&T.length&&O){const $=T[O.startValue],P=T[O.endValue];if($&&P){const z=o.findIndex(X=>new Date(X).getTime()>=new Date($).getTime()),Z=o.findLastIndex(X=>new Date(X).getTime()<=new Date(P).getTime());d=z!==-1?z:0,f=Z!==-1?Z:o.length-1,d>f&&(d=Math.max(0,f-Math.min(100,o.length-1)))}}}const a=Ae(F.value,R.value,d,f,i.cycle);requestAnimationFrame(()=>{t==null||t.setOption(a,!0),B.value=f,requestAnimationFrame(()=>{xe()})})},ve=()=>{var Y;if(!R.value.showSubChart||!j.value)return;const{time:s}=F.value,{gridLeft:o,gridRight:x,maxShowCounts:d,defaultShowCounts:f}=R.value;let a=s.length-1-f,u=s.length-1;if(t&&!t.isDisposed()){const L=t.getOption();if((Y=L==null?void 0:L.dataZoom)!=null&&Y[0]){const{startValue:y,endValue:T}=L.dataZoom[0];y!==void 0&&T!==void 0&&(a=y,u=T)}}requestAnimationFrame(()=>{j.value.draw({startValue:a,endValue:u,maxValueSpan:d},{gridLeft:o,gridRight:x})})},K=()=>{t&&(c&&(cancelAnimationFrame(c),c=null),c=requestAnimationFrame(()=>{if(!(t==null?void 0:t.getOption()))return;const o=t==null?void 0:t.getWidth(),x=t==null?void 0:t.getHeight();!o||!x||(t==null||t.setOption({graphic:Re(t,H.value,i,R.value,()=>{ee()})},{notMerge:!1,replaceMerge:["graphic"],lazyUpdate:!0}),c=null)}))},xe=()=>{b&&cancelAnimationFrame(b),b=requestAnimationFrame(()=>{const{time:s}=F.value;if(!i.brushRange||!(s!=null&&s.length)||!t)return;let o=V.dayjs(i.brushRange[0]).format("YYYY-MM-DD 00:00:00"),x=V.dayjs(i.brushRange[1]).format("YYYY-MM-DD 23:59:59"),d=null,f=null;switch(String(i.cycle)){case"6":{d=s.find(a=>V.dayjs(a).format("YYYY-MM-DD")===V.dayjs(o).format("YYYY-MM-DD")),f=d;break}case"7":{d=s.find(a=>V.dayjs(a).day(5).format("YYYY-MM-DD")===V.dayjs(o).day(5).format("YYYY-MM-DD")),f=s.findLast(a=>V.dayjs(a).day(5).format("YYYY-MM-DD")===V.dayjs(x).day(5).format("YYYY-MM-DD"));break}case"8":{d=s.find(a=>V.dayjs(a).endOf("month").format("YYYY-MM-DD")===V.dayjs(o).endOf("month").format("YYYY-MM-DD")),f=s.findLast(a=>V.dayjs(a).endOf("month").format("YYYY-MM-DD")===V.dayjs(x).endOf("month").format("YYYY-MM-DD"));break}default:d=s.find(a=>{const u=V.dayjs(a).format("YYYY-MM-DD")===V.dayjs(o).format("YYYY-MM-DD"),Y=new Date(a).getTime()>=new Date(o).getTime();return u&&Y}),f=s.findLast(a=>{const u=V.dayjs(a).format("YYYY-MM-DD")===V.dayjs(x).format("YYYY-MM-DD"),Y=new Date(a).getTime()<=new Date(x).getTime();return u&&Y})}d&&f&&t.dispatchAction({type:"brush",areas:[{brushType:"lineX",coordRange:[d,f],xAxisIndex:0}]}),b=null})},ae=async()=>{var s,o,x,d,f,a;try{if(!i.variety||!i.cycle)return;const{variety:u,featureId:Y,cycle:L,indicatorStore:y,mainIndicator:T,right:O,startTime:$,endTime:P}=i,{defaultShowCounts:z,addCounts:Z,showWarningLine:X,getFactorData:se}=R.value;ye(),t&&!t.isDisposed()&&t.showLoading({text:"加载中...",color:"#409eff",textColor:"#fff",maskColor:"rgba(0, 0, 0, 0.7)",zlevel:0});const I={variety:u,featureId:Y,cycle:L,mainIndicatorList:y.getIndicatorParams(T),subIndicator:v.value,right:O,showWarningLine:X,getFactorData:se};$&&P?(I.startTime=$,I.endTime=P):$?(I.startTime=$,I.limit=z+Z):P?(I.endTime=P,I.limit=z+Z):(I.endTime=V.dayjs().add(1,"hour").format("YYYY-MM-DD HH:mm:ss"),I.limit=z+Z);const E=await Be(I);if(!((x=(o=(s=E==null?void 0:E.body)==null?void 0:s.kline)==null?void 0:o.time)!=null&&x.length)){D.value=!0,q.value=!1,oe();return}D.value=!1,q.value=!1,F.value=(d=E==null?void 0:E.body)==null?void 0:d.kline,H.value=((f=E==null?void 0:E.body)==null?void 0:f.warningLine)||[],await e.nextTick(),re(!1),se&&w("getFactorData",(a=E==null?void 0:E.body)==null?void 0:a.factor),oe()}catch(u){throw oe(),q.value=!0,D.value=!1,new Error(u)}},be=async s=>{const{variety:o,cycle:x,indicatorStore:d,mainIndicator:f,right:a}=i,{addCounts:u}=R.value,{time:Y}=F.value;if(s==="history"){const L=await Te({variety:o,cycle:x,endTime:Y[0],limit:u,mainIndicatorList:d.getIndicatorParams(f),subIndicator:v.value,right:a});F.value={time:[...L.body.time,...F.value.time.slice(1)],data:[...L.body.data,...F.value.data.slice(1)],mainIndicator:F.value.mainIndicator.map((y,T)=>{var O;return{...y,data:[...((O=L.body.mainIndicator[T])==null?void 0:O.data)??[],...y.data.slice(1)]}}),subIndicator:F.value.subIndicator.map((y,T)=>{var O;return{...y,data:[...((O=L.body.subIndicator[T])==null?void 0:O.data)??[],...y.data.slice(1)]}})},console.log("触发了加载更多数据"),await e.nextTick(),re(!0),L.body.data.length<u&&(r=!0,console.log("历史数据已经全部加载完毕")),S=!1}},ie=({code:s,ctrlKey:o})=>{if(!(o||M.value))return;const{xAxis:x,dataZoom:d}=t.getOption(),{data:f}=(x==null?void 0:x[0])??{data:[]};let{startValue:a,endValue:u}=(d==null?void 0:d[0])??{};if(f!=null&&f.length){switch(s){case"ArrowUp":{if(u-a<5)return;const Y=Math.floor((u-a)/2)+1;a=a+Y,u-a<5&&(a=u-4);break}case"ArrowDown":{const Y=Math.min(500,u-a);a=a-Y-1;break}case"ArrowLeft":{a>0&&(a-=1,u-=1),B.value>0&&(B.value-=1);break}case"ArrowRight":{u<f.length-1&&(a+=1,u+=1),M.value&&B.value<f.length-1&&(B.value+=1);break}}requestAnimationFrame(()=>{t.dispatchAction({type:"dataZoom",startValue:a,endValue:u}),t.dispatchAction({type:"updateAxisPointer",seriesIndex:0,dataIndex:M.value?B.value:null}),t.dispatchAction({type:"highlight",dataIndex:M.value?B.value:u})})}},_e=()=>{t==null||t.on("datazoom",o=>{clearTimeout(g),g=setTimeout(()=>{var d,f,a,u;const{loadCheckCounts:x}=R.value;if((f=(d=t==null?void 0:t.getOption())==null?void 0:d.dataZoom)!=null&&f[0]){const{startValue:Y}=(u=(a=t==null?void 0:t.getOption())==null?void 0:a.dataZoom)==null?void 0:u[0];Y<x&&!S&&!r&&(S=!0,be("history")),K()}clearTimeout(g)},100)}),t==null||t.on("highlight",o=>{var d,f;let x=o.dataIndex||-1;o.batch&&(x=typeof((d=o==null?void 0:o.batch[0])==null?void 0:d.dataIndex)=="number"?(f=o==null?void 0:o.batch[0])==null?void 0:f.dataIndex:-1),clearTimeout(m),m=setTimeout(()=>{B.value=x,clearTimeout(m)},20)}),t==null||t.on("globalout",()=>{const o=setTimeout(()=>{var d,f,a;clearTimeout(o);const x=(a=(f=(d=t==null?void 0:t.getOption())==null?void 0:d.dataZoom)==null?void 0:f[0])==null?void 0:a.endValue;B.value=x},30)});let s=null;t==null||t.on("contextmenu",o=>{s=setTimeout(()=>{o.componentType==="graphic"&&(G.value=o.info,ne.value=[{label:"删除画线",key:"deleteWarningLine"},{label:"修改画线",key:"changeWarningLine"}]),clearTimeout(s),s=null})})},ee=async()=>{const s=await Ee({featureId:i.featureId});H.value=(s==null?void 0:s.body)||[],K(),w("change","warningLine",H.value)},he=async s=>{const{variety:o,varietyName:x,featureId:d,featureType:f}=i;if(s.key==="drawWarningLine"){const a=t==null?void 0:t.getOption(),u=a.tooltip[0];t==null||t.setOption({...a,tooltip:{...u,axisPointer:{...u.axisPointer,lineStyle:{width:0},crossStyle:{width:2},label:{...u.axisPointer.label,backgroundColor:"transparent",formatter:()=>""}}}});const Y=async L=>{t==null||t.getZr().off("mousedown",Y);const y=t==null?void 0:t.convertFromPixel({yAxisIndex:0},L.offsetY),T=Math.round(y*1e3)/1e3;t==null||t.setOption({...a,tooltip:{...u,axisPointer:{...u.axisPointer,lineStyle:{width:1},crossStyle:{width:1},label:{...u.axisPointer.label,backgroundColor:null}}}}),await Ne({featureCode:o,featureName:x,featureId:d,featureType:f,warnPrice:T}),te.ElMessage.success("画线预警成功!"),ee()};t==null||t.getZr().on("mousedown",Y)}else s.key==="deleteWarningLine"?(await qe({id:G.value.id}),te.ElMessage.success("画线预警删除成功"),ee()):s.key==="changeWarningLine"&&(J.value=!0,Q.value=G.value.warnPrice)},ke=async()=>{const{variety:s,varietyName:o,featureId:x,featureType:d}=i;await fe({id:G.value.id,featureCode:s,featureName:o,featureId:x,featureType:d,warnPrice:Q.value}),te.ElMessage.success("画线预警修改成功"),ee()},we=()=>{ne.value=[...l]};return e.onMounted(()=>{Fe(i.env),ae(),window.addEventListener("keydown",ie)}),e.watch(()=>{var s,o;return[i.variety,i.cycle,i.mainIndicator,v.value,(s=i.indicatorStore)==null?void 0:s.filterIndicator,(o=i.indicatorStore)==null?void 0:o.customIndicator]},()=>{S=!1,r=!1,ae()},{deep:!0}),e.onUnmounted(()=>{h&&(cancelAnimationFrame(h),h=null),c&&(cancelAnimationFrame(c),c=null),t==null||t.off("datazoom"),t==null||t.off("highlight"),t==null||t.off("globalout"),t==null||t.dispose(),p==null||p.dispose(),window.removeEventListener("keydown",ie)}),k({draw:(s,o)=>{s==="warningLine"&&(H.value=o,K())}}),(s,o)=>{var L;const x=ce.ElMenuItem,d=ce.ElMenu,f=Ve.ElEmpty,a=De.ElButton,u=Se.ElInputNumber,Y=Ye.ElDialog;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:"klineBasic",onMousemove:o[1]||(o[1]=y=>M.value=!0),onMouseout:o[2]||(o[2]=y=>M.value=!1)},[e.createElementVNode("div",Je,[e.createVNode($e,{variety:n.variety,data:F.value,activeIndex:B.value},null,8,["variety","data","activeIndex"])]),e.createElementVNode("div",{class:"klineBasic-main",style:e.normalizeStyle({height:R.value.showSubChart?"70%":"100%"})},[e.createVNode(Ge,{onCloseContextMenuCallBack:we},{popover:e.withCtx(()=>[e.createVNode(d,{style:{borderRadius:"4px",overflow:"hidden",background:"#fff",borderRight:0}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ne.value,y=>(e.openBlock(),e.createBlock(x,{style:{height:"36px"},key:y.key,index:y.key,onClick:T=>he(y)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.label),1)]),_:2},1032,["index","onClick"]))),128))]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"klineBasicMainRef",ref:A,style:{height:"100%"}},null,512)]),_:1})],4),R.value.showSubChart?(e.openBlock(),e.createElementBlock("div",Qe,[e.createVNode(Ke,{ref_key:"klineSubRef",ref:j,modelValue:v.value,"onUpdate:modelValue":o[0]||(o[0]=y=>v.value=y),data:F.value,cycle:n.cycle,activeIndex:B.value,subIndicatorList:(L=n.indicatorStore)==null?void 0:L.subIndicatorList},null,8,["modelValue","data","cycle","activeIndex","subIndicatorList"])])):e.createCommentVNode("",!0),D.value?(e.openBlock(),e.createElementBlock("div",et,[e.createVNode(f,{class:"klineBasic-empty-content",description:"暂无数据"})])):e.createCommentVNode("",!0),q.value?(e.openBlock(),e.createElementBlock("div",tt,[nt,e.createElementVNode("div",ot,[e.createVNode(a,{onClick:ae},{default:e.withCtx(()=>[e.createTextVNode("刷新")]),_:1})])])):e.createCommentVNode("",!0)],32),e.createVNode(Y,{modelValue:J.value,"onUpdate:modelValue":o[5]||(o[5]=y=>J.value=y),title:"画线预警-修改价格",width:"30%","align-center":""},{footer:e.withCtx(()=>[e.createElementVNode("span",lt,[e.createVNode(a,{onClick:o[4]||(o[4]=y=>J.value=!1)},{default:e.withCtx(()=>[e.createTextVNode("取消")]),_:1}),e.createVNode(a,{type:"primary",onClick:ke},{default:e.withCtx(()=>[e.createTextVNode("确定")]),_:1})])]),default:e.withCtx(()=>[at,e.createVNode(u,{modelValue:Q.value,"onUpdate:modelValue":o[3]||(o[3]=y=>Q.value=y),placeholder:"输入预警价格"},null,8,["modelValue"])]),_:1},8,["modelValue"])],64)}}},it=U._export_sfc(rt,[["__scopeId","data-v-8efc10f3"]]),st={install(n){n.component("st-klineBasic",it)}};module.exports=st;
|
|
1
|
+
"use strict";require("./base-ef747d02.cjs");const ke=require("./el-dialog-ad7309e9.cjs");require("./el-overlay-d7a6e4a9.cjs");require("./el-input-172c49f8.cjs");const we=require("./el-input-number-c2e71528.cjs"),Ye=require("./el-button-68baab7b.cjs"),De=require("./el-empty-1697ded8.cjs"),ie=require("./el-menu-item-7f986598.cjs");require("./el-tooltip-0ea8fbf8.cjs");require("./el-popper-7ba87e05.cjs");const e=require("vue"),L=require("./dayjs.min-2c20abe6.cjs"),Se=require("echarts"),N=require("./index-8901a38c.cjs"),J=require("./el-message-a86c0efa.cjs"),U=require("./_plugin-vue_export-helper-f246444f.cjs");require("./el-tag-789f05d3.cjs");const se=require("./el-select-12f6deb7.cjs");require("./el-scrollbar-bc3f790d.cjs");require("./index-cebc7160.cjs");require("./use-form-common-props-344056f9.cjs");require("./index-9780a537.cjs");require("./index-bb833443.cjs");require("./index-f1c702f6.cjs");require("./vnode-b906ae6d.cjs");require("./scroll-b108dabd.cjs");require("./use-global-config-cf78ebac.cjs");require("./index-4f48940d.cjs");require("./typescript-b63f8e83.cjs");require("./index-c04f444f.cjs");require("./index-eea0bcb3.cjs");require("./config-provider-2182708a.cjs");require("./index-8de94a49.cjs");require("./index-696b6a94.cjs");require("./castArray-35947698.cjs");require("./debounce-62f5b6e8.cjs");function Ve(n){const w=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const b in n)if(b!=="default"){const r=Object.getOwnPropertyDescriptor(n,b);Object.defineProperty(w,b,r.get?r:{enumerable:!0,get:()=>n[b]})}}return w.default=n,Object.freeze(w)}const oe=Ve(Se);let z=null;const Me=n=>{const w=N.y(n,{handleReq:b=>{N.v()&&(b.headers.token=N.U())},handleRes:b=>{const{data:r}=b;if(r.code===401)return location.origin.includes("localhost")?location.href=`${location.origin}/#/404`:N.K(),!0}});w.get,z=w.post},Le=n=>z("/middleLayer/kline/getKlineBasic",{...n,userId:N.V("id")}),Be=n=>z("/middleLayer/kline/getKline",n),Fe=async n=>z("/alarm/deliversign/addAlarmPrice",{...n,userId:N.V("id")}),Ne=async n=>z("/alarm/deliversign/findAlarmPriceByUserId",{...n,userId:N.V("id")}),ce=async n=>z("/alarm/deliversign/updateAlarmPrice",{...n,userId:N.V("id")}),Ae=async n=>z("/alarm/deliversign/deleteAlarmPrice",{...n,userId:N.V("id")}),{round:C}=N.x,Ee=(n,w,b,r,s)=>{const{data:t,time:y}=n,{gridTop:u,gridRight:f,gridLeft:p,maxShowCounts:g,showSubChart:Y}=w;return{animation:!1,grid:{top:`${u}px`,right:`${f}px`,bottom:Y?"6px":"24px",left:`${p}px`},dataZoom:[{type:"inside",startValue:b,endValue:r,maxValueSpan:g}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:l=>{const{axisDimension:m,value:k}=l;return m==="x"?Y?"":["6","7","8"].includes(s)?L.dayjs(k).format("YYYY-MM-DD"):k:String(C(k))}}},formatter:()=>""},xAxis:{show:!Y,type:"category",data:y,splitLine:{show:!1},axisLabel:{formatter:l=>["6","7","8"].includes(s)?L.dayjs(l).format("YYYY-MM-DD"):l}},yAxis:{type:"value",axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},min:l=>C(l.min),max:l=>C(l.max)},series:[{type:"candlestick",data:t,itemStyle:{color:"transparent",color0:"#00FFFF",borderColor:"#FF0000",borderColor0:"#00FFFF",borderWidth:1}},...n.mainIndicator.map(l=>({name:l.key,type:"line",silent:!0,symbol:"none",data:l.data,lineStyle:{width:l.width||1},itemStyle:{color:l.color}}))],toolbox:{show:!1},brush:{xAxisIndex:"all",brushLink:"all",transformable:!1,outOfBrush:{colorAlpha:2},brushStyle:{color:"rgba(255,255,255,0.1)",borderColor:"rgba(255,255,255,0.4)"}}}},qe=(n,w,b,r,s)=>{const{variety:t,featureId:y,featureType:u}=b,{gridTop:f,gridLeft:p,gridRight:g}=r;return w.reduce((Y,l)=>{const{warnPrice:m}=l,k=n==null?void 0:n.convertToPixel({yAxisIndex:0},m);if(k<=f||k>=(n==null?void 0:n.getHeight()))return Y;let M=0;return[...Y,{type:"group",name:"warningLine",info:l,draggable:"vertical",children:[{type:"line",info:l,shape:{x1:p,y1:k,x2:(n==null?void 0:n.getWidth())-g,y2:k},style:{stroke:"#FFF",lineWidth:1,lineDash:[8,4]},z:10},{type:"text",info:l,x:(n==null?void 0:n.getWidth())-g,y:k-5,style:{fill:"#FFF",text:m,stroke:"#000",lineWidth:1,opacity:1},z:10}],ondragstart:D=>{M=D.offsetY},ondrag:D=>{var A;if(D.target&&D.target.childAt(1)){const q=n.convertFromPixel({yAxisIndex:0},k+(D.offsetY-M));(A=D.target.childAt(1))==null||A.animate("style",!1).when(1,{text:C(q,3)}).start()}},ondragend:async D=>{const q=D.offsetY-M;if(q!==0){const E=n==null?void 0:n.convertFromPixel({yAxisIndex:0},q+k),F={id:l.id,warnPrice:C(E,3),featureId:y,featureCode:t,featureType:u};await ce(F),J.ElMessage.success("画线预警修改成功"),s&&s()}}}]},[])};function de(n){function w(r){if(typeof r=="number")return Number.isFinite(r)?r:null;if(typeof r=="string"){const s=r.trim();if(s==="")return null;const t=Number(s);return Number.isFinite(t)?t:null}return null}const b=w(n);if(b===null)return"-";try{if(b>=1||b<=-1)return C(b);{const r=b.toPrecision(3);return C(r,r.split(".")[1].length-1)}}catch{return"-"}}const Te=e.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(n){const w=n,b=e.ref(null),r=e.ref([]);return e.watch(()=>w.data,()=>{r.value.length===0&&e.nextTick(()=>{Array.from(b.value.children).forEach((s,t)=>{var y,u,f,p,g,Y,l,m;((u=(y=w.data)==null?void 0:y[t])==null?void 0:u.label)==="涨跌"?r.value[t]="85px":((p=(f=w.data)==null?void 0:f[t])==null?void 0:p.label)==="至今涨幅"?r.value[t]="115px":((Y=(g=w.data)==null?void 0:g[t])==null?void 0:Y.label)==="额"?r.value[t]="85px":["开","高","低","收"].includes((m=(l=w.data)==null?void 0:l[t])==null?void 0:m.label)?r.value[t]=`${s.offsetWidth+24}px`:r.value[t]=`${s.offsetWidth+36}px`})})}),(s,t)=>(e.openBlock(),e.createElementBlock("div",{class:"kline-tips",ref_key:"tipsRef",ref:b},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.data,(y,u)=>(e.openBlock(),e.createElementBlock("div",{key:u,class:"kline-tips-item",style:e.normalizeStyle({color:y.color,width:r.value[u]?r.value[u]:null})},e.toDisplayString(y.label)+" "+e.toDisplayString(y.value),5))),128))],512))}});const ue=U._export_sfc(Te,[["__scopeId","data-v-096c0d10"]]);const Re={class:"kline-tips"},Oe={__name:"index",props:{data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0},variety:{type:[String,Number],default:()=>null}},setup(n){const{round:w,formatValue:b}=N.x,r=n,s=e.ref(null);e.watch(()=>r.activeIndex,()=>{var u;s.value===null&&(s.value=((u=r.data.data[r.activeIndex])==null?void 0:u[1])??0)}),e.watch(()=>r.data,()=>{var u;s.value===null&&(s.value=((u=r.data.data[r.activeIndex])==null?void 0:u[1])??0)}),e.watch(()=>r.variety,()=>{s.value=null});const t=e.computed(()=>{const{data:u,activeIndex:f}=r;if(u.data&&u.data[f]){const p=u.data[f],g=[{label:"开",value:p[0]},{label:"高",value:p[3]},{label:"低",value:p[2]},{label:"收",value:p[1]}];p[4]!==null&&g.push({label:"额",value:b(p[4])});let Y;p[6]>0?Y="red":p[6]<0&&(Y="green"),g.push({label:"涨跌",value:`${w(p[6])}%`,color:Y});const l=(s.value/p[1]-1)*100;let m;return l>0?m="red":l<0&&(m="green"),g.push({label:"至今涨幅",value:`${w(l)}%`,color:m}),g}return[]}),y=e.computed(()=>{var p;const{data:u,activeIndex:f}=r;return((p=u==null?void 0:u.mainIndicator)==null?void 0:p.map(g=>({label:g.key,value:de(g.data[f]),color:g.color})))||[]});return(u,f)=>(e.openBlock(),e.createElementBlock("div",Re,[e.createVNode(ue,{data:t.value},null,8,["data"]),e.createVNode(ue,{data:y.value},null,8,["data"])]))}},Ie=U._export_sfc(Oe,[["__scopeId","data-v-832d18ff"]]),je={class:"kline-averageTips"},$e=e.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(n){return(w,b)=>(e.openBlock(),e.createElementBlock("div",je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.data,(r,s)=>(e.openBlock(),e.createElementBlock("div",{key:s,class:"kline-averageTips-item",style:e.normalizeStyle({color:r.color})},e.toDisplayString(r.label)+" "+e.toDisplayString(r.value),5))),128))]))}});const Pe=U._export_sfc($e,[["__scopeId","data-v-2ce54548"]]);const We={class:"klineSub"},Ce={class:"klineSub-tips"},ze={key:0,class:"klineSub-tips-select"},Ze={__name:"index",props:{cycle:{type:[String,Number],default:()=>null},data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0},modelValue:{type:String,required:!0},subIndicatorList:{type:Array,required:!0}},emits:["update:modelValue"],setup(n,{expose:w,emit:b}){const{round:r}=N.x;let s=null,t=null;const y=e.ref(!0),u=b,f=n,p=e.ref(),g=e.computed({get(){return f.modelValue},set(m){u("update:modelValue",m)}}),Y=e.computed(()=>{var M;if(!y.value)return[];const{data:m,activeIndex:k}=f;return((M=m==null?void 0:m.subIndicator)==null?void 0:M.map(D=>({label:D.key,color:D.color,value:de(D.data[k])})))||[]});e.onMounted(()=>{if(y.value=!0,!p.value)return;s=oe.init(p.value);let m=!0;t=new ResizeObserver(()=>{if(m){m=!1;return}y.value&&s&&!s.isDisposed()&&s.resize()}),t.observe(p.value)}),e.onUnmounted(()=>{y.value=!1,s&&!s.isDisposed()&&(s.dispose(),s=null),t&&(t.disconnect(),t=null)});const l=(m,k)=>{const M=m[k],D=k===0?m[k]:m[k-1];return M[0]===M[1]?M[0]>=D[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:M[1]>M[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}};return w({connect:m=>{!y.value||!s||s.isDisposed()||oe.connect([m,s])},draw:(m,k)=>{!y.value||!s||s.isDisposed()||e.nextTick(()=>{if(!y.value||!s||s.isDisposed())return;const{startValue:M,endValue:D,maxValueSpan:A}=m,{leftYAxisRange:q,rightYAxisRange:E}=f.data.subIndicator[0],F=f.data.subIndicator.map(_=>{if(_.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:_.data.map((O,j)=>_.seriesColor==="kline"?{value:O,itemStyle:l(f.data.data,j)}:_.seriesColor==="value"?{value:O,itemStyle:{color:O>=0?"#FF0000":"#00FFFF"}}:{value:O,itemStyle:{color:_.seriesColor}})};if(_.series==="line")return{xAxisIndex:0,yAxisIndex:_.yAxis==="right"?2:1,name:_.key,type:"line",silent:!0,symbol:"none",data:_.data,lineStyle:{width:1},itemStyle:{color:_.color}}});s.setOption({animation:!1,grid:{left:`${k.gridLeft}px`,top:"10px",right:`${k.gridRight}px`,bottom:"20px"},dataZoom:[{type:"inside",startValue:M,endValue:D,maxValueSpan:A}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:_=>{const{axisDimension:O,value:j}=_;if(O==="x")return["6","7","8"].includes(f.cycle)?L.dayjs(j).format("YYYY-MM-DD"):j;if(_.axisIndex===1)return String(r(j))}}},formatter:()=>""},xAxis:{type:"category",data:f.data.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{formatter:_=>["6","7","8"].includes(f.cycle)?L.dayjs(_).format("YYYY-MM-DD"):_}},yAxis:[{position:"right"},{position:"left",min:q==="cover"?_=>_.min:null,max:q==="cover"?_=>_.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:E==="cover"?_=>_.min:null,max:E==="cover"?_=>_.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:F},!0)})}}),(m,k)=>{const M=se.ElOption,D=se.ElSelect;return e.openBlock(),e.createElementBlock("div",We,[e.createElementVNode("div",Ce,[Y.value.length?(e.openBlock(),e.createElementBlock("div",ze,[e.createVNode(D,{modelValue:g.value,"onUpdate:modelValue":k[0]||(k[0]=A=>g.value=A),size:"small","popper-class":"element-dark",class:"element-dark subIndicator"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.subIndicatorList,A=>(e.openBlock(),e.createBlock(M,{key:A.value,label:A.label,value:A.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),e.createVNode(Pe,{data:Y.value},null,8,["data"])]),e.createElementVNode("div",{class:"klineSub-chart",ref_key:"subChartRef",ref:p},null,512)])}}},Ue=U._export_sfc(Ze,[["__scopeId","data-v-d720c2c7"]]),He=e.defineComponent({__name:"index",emits:["closeContextMenuCallBack"],setup(n,{emit:w}){const b=w,r=e.ref(),s=e.ref(),t=e.ref({display:"none",top:"0px",left:"0px"}),y=()=>{t.value.display="none",b("closeContextMenuCallBack"),document.removeEventListener("click",y)},u=f=>{if(f.preventDefault(),t.value.display==="block"){const{offsetX:p,offsetY:g}=f,{offsetWidth:Y,offsetHeight:l}=s.value;if(p<=Y&&g<=l)return}r.value.click(),t.value={display:"block",top:`${f.offsetY}px`,left:`${f.offsetX}px`},e.nextTick(()=>{const p=r.value.getBoundingClientRect(),g=s.value.getBoundingClientRect();g.left+g.width>=p.right&&(t.value.left=`${f.offsetX-g.width}px`),g.top+g.height>=p.bottom&&(console.log("高度超出"),t.value.top=`${f.offsetY-g.height}px`)}),document.addEventListener("click",y)};return(f,p)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"contextmenuRef",ref:r,class:"contextmenu",onContextmenu:u,onMouseleave:y},[e.renderSlot(f.$slots,"default",{},void 0,!0),t.value.display!=="none"?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"contextmenuContentRef",ref:s,class:"contextmenu-popover",style:e.normalizeStyle(t.value)},[e.renderSlot(f.$slots,"popover",{},void 0,!0)],4)):e.createCommentVNode("",!0)],544))}});const Ke=U._export_sfc(He,[["__scopeId","data-v-811db6b4"]]);const fe=n=>(e.pushScopeId("data-v-ae370bef"),n=n(),e.popScopeId(),n),Ge={key:0,class:"klineBasic-tips"},Xe={key:1,class:"klineBasic-sub"},Je={key:2,class:"klineBasic-empty"},Qe={key:3,class:"klineBasic-error"},et=fe(()=>e.createElementVNode("div",{class:"klineBasic-error-content"},"加载失败,请刷新重试",-1)),tt={style:{"text-align":"center"}},nt=fe(()=>e.createElementVNode("span",{style:{"margin-right":"10px"}},"预警价格:",-1)),ot={class:"dialog-footer"},at={__name:"index",props:{variety:{type:[String,Number],default:()=>null},varietyName:{type:[String,Number],default:()=>null},featureId:{type:[String,Number],default:()=>null},featureType:{type:[String,Number],default:()=>null},cycle:{type:[String,Number],default:()=>null},mainIndicator:{type:String,default:()=>""},indicatorStore:{type:Object,default:()=>null},startTime:{type:String,default:()=>null},endTime:{type:String,default:()=>null},right:{type:[String,Number],default:1},config:{type:Object,default:()=>({})},env:{type:Object,default:()=>({})},brushRange:{type:[Array,null],default:()=>null}},emits:["change","getFactorData"],setup(n,{expose:w,emit:b}){const r=[{label:"画线预警",key:"drawWarningLine"}];let s=null,t=null,y=null,u=null,f=null,p=!1,g=!1;const Y=b,l=n,m=e.ref(!1),k=e.ref(!1),M=e.ref(!1),D=e.ref(null),A=e.ref(null),q=e.ref("VOL"),E=e.ref(0),F=e.ref({}),_=e.ref([]),O=e.ref({}),j=e.ref(!1),G=e.ref(""),Q=e.ref([...r]),I=e.computed(()=>({defaultShowCounts:500,addCounts:2e3,maxShowCounts:5e3,loadCheckCounts:500,gridTop:48,gridLeft:80,gridRight:50,showSubChart:!0,showWarningLine:!0,getFactorData:!0,...l.config})),pe=()=>{t||(t=oe.init(D.value),xe(),I.value.showSubChart&&A.value.connect(t),s=N.D(D.value),s.listen(()=>{requestAnimationFrame(()=>{t==null||t.resize(),H()})}))},ee=()=>{t&&!t.isDisposed()&&t.hideLoading()},ae=(o=!1)=>{y&&(cancelAnimationFrame(y),y=null),y=requestAnimationFrame(()=>{me(o),y=requestAnimationFrame(()=>{ye(),y=requestAnimationFrame(()=>{H(),y=null})})})},me=(o=!1)=>{var c,S,B;if(!t||t.isDisposed())return;const{time:a}=F.value,{defaultShowCounts:v}=I.value;let d=a.length-1-v,x=a.length-1;if(o&&t){const V=t.getOption(),h=(S=(c=V==null?void 0:V.xAxis)==null?void 0:c[0])==null?void 0:S.data,T=(B=V==null?void 0:V.dataZoom)==null?void 0:B[0];if(h!=null&&h.length&&T){const P=h[T.startValue],W=h[T.endValue];if(P&&W){const ne=a.findIndex(K=>new Date(K).getTime()>=new Date(P).getTime()),Z=a.findLastIndex(K=>new Date(K).getTime()<=new Date(W).getTime());d=ne!==-1?ne:0,x=Z!==-1?Z:a.length-1,d>x&&(d=Math.max(0,x-Math.min(100,a.length-1)))}}}const i=Ee(F.value,I.value,d,x,l.cycle);requestAnimationFrame(()=>{t==null||t.setOption(i,!0),E.value=x,requestAnimationFrame(()=>{ve()})})},ye=()=>{var S;if(!I.value.showSubChart||!A.value)return;const{time:o}=F.value,{gridLeft:a,gridRight:v,maxShowCounts:d,defaultShowCounts:x}=I.value;let i=o.length-1-x,c=o.length-1;if(t&&!t.isDisposed()){const B=t.getOption();if((S=B==null?void 0:B.dataZoom)!=null&&S[0]){const{startValue:V,endValue:h}=B.dataZoom[0];V!==void 0&&h!==void 0&&(i=V,c=h)}}requestAnimationFrame(()=>{A.value.draw({startValue:i,endValue:c,maxValueSpan:d},{gridLeft:a,gridRight:v})})},H=()=>{t&&(u&&(cancelAnimationFrame(u),u=null),u=requestAnimationFrame(()=>{if(!(t==null?void 0:t.getOption()))return;const a=t==null?void 0:t.getWidth(),v=t==null?void 0:t.getHeight();!a||!v||(t==null||t.setOption({graphic:qe(t,_.value,l,I.value,()=>{X()})},{notMerge:!1,replaceMerge:["graphic"],lazyUpdate:!0}),u=null)}))},ve=()=>{f&&cancelAnimationFrame(f),f=requestAnimationFrame(()=>{const{time:o}=F.value;if(!l.brushRange||!(o!=null&&o.length)||!t)return;let a=L.dayjs(l.brushRange[0]).format("YYYY-MM-DD 00:00:00"),v=L.dayjs(l.brushRange[1]).format("YYYY-MM-DD 23:59:59"),d=null,x=null;switch(String(l.cycle)){case"6":{d=o.find(i=>L.dayjs(i).format("YYYY-MM-DD")===L.dayjs(a).format("YYYY-MM-DD")),x=d;break}case"7":{d=o.find(i=>L.dayjs(i).day(5).format("YYYY-MM-DD")===L.dayjs(a).day(5).format("YYYY-MM-DD")),x=o.findLast(i=>L.dayjs(i).day(5).format("YYYY-MM-DD")===L.dayjs(v).day(5).format("YYYY-MM-DD"));break}case"8":{d=o.find(i=>L.dayjs(i).endOf("month").format("YYYY-MM-DD")===L.dayjs(a).endOf("month").format("YYYY-MM-DD")),x=o.findLast(i=>L.dayjs(i).endOf("month").format("YYYY-MM-DD")===L.dayjs(v).endOf("month").format("YYYY-MM-DD"));break}default:d=o.find(i=>{const c=L.dayjs(i).format("YYYY-MM-DD")===L.dayjs(a).format("YYYY-MM-DD"),S=new Date(i).getTime()>=new Date(a).getTime();return c&&S}),x=o.findLast(i=>{const c=L.dayjs(i).format("YYYY-MM-DD")===L.dayjs(v).format("YYYY-MM-DD"),S=new Date(i).getTime()<=new Date(v).getTime();return c&&S})}d&&x&&t.dispatchAction({type:"brush",areas:[{brushType:"lineX",coordRange:[d,x],xAxisIndex:0}]}),f=null})},te=async()=>{var o,a,v,d,x,i;try{if(!l.variety||!l.cycle)return;const{variety:c,featureId:S,cycle:B,indicatorStore:V,mainIndicator:h,right:T,startTime:P,endTime:W}=l,{defaultShowCounts:ne,addCounts:Z,showWarningLine:K,getFactorData:re}=I.value;pe(),t&&!t.isDisposed()&&t.showLoading({text:"加载中...",color:"#409eff",textColor:"#fff",maskColor:"rgba(0, 0, 0, 0.7)",zlevel:0});const $={variety:c,featureId:S,cycle:B,mainIndicatorList:V.getIndicatorParams(h),subIndicator:q.value,right:T,showWarningLine:K,getFactorData:re};P&&W?($.startTime=P,$.endTime=W):P?($.startTime=P,$.limit=Z):W?($.endTime=W,$.limit=Z):($.endTime=L.dayjs().add(1,"hour").format("YYYY-MM-DD HH:mm:ss"),$.limit=Z);const R=await Le($);if(!((v=(a=(o=R==null?void 0:R.body)==null?void 0:o.kline)==null?void 0:a.time)!=null&&v.length)){k.value=!0,M.value=!1,ee();return}k.value=!1,M.value=!1,F.value=(d=R==null?void 0:R.body)==null?void 0:d.kline,_.value=((x=R==null?void 0:R.body)==null?void 0:x.warningLine)||[],await e.nextTick(),ae(!1),re&&Y("getFactorData",(i=R==null?void 0:R.body)==null?void 0:i.factor),ee()}catch(c){throw ee(),M.value=!0,k.value=!1,new Error(c)}},ge=async o=>{const{variety:a,cycle:v,indicatorStore:d,mainIndicator:x,right:i}=l,{addCounts:c}=I.value,{time:S}=F.value;if(o==="history"){const B=await Be({variety:a,cycle:v,endTime:S[0],limit:c,mainIndicatorList:d.getIndicatorParams(x),subIndicator:q.value,right:i});F.value={time:[...B.body.time,...F.value.time.slice(1)],data:[...B.body.data,...F.value.data.slice(1)],mainIndicator:F.value.mainIndicator.map((V,h)=>{var T;return{...V,data:[...((T=B.body.mainIndicator[h])==null?void 0:T.data)??[],...V.data.slice(1)]}}),subIndicator:F.value.subIndicator.map((V,h)=>{var T;return{...V,data:[...((T=B.body.subIndicator[h])==null?void 0:T.data)??[],...V.data.slice(1)]}})},console.log("触发了加载更多数据"),await e.nextTick(),ae(!0),B.body.data.length<c&&(g=!0,console.log("历史数据已经全部加载完毕")),p=!1}},le=({code:o,ctrlKey:a})=>{if(!(a||m.value))return;const{xAxis:v,dataZoom:d}=t.getOption(),{data:x}=(v==null?void 0:v[0])??{data:[]};let{startValue:i,endValue:c}=(d==null?void 0:d[0])??{};if(x!=null&&x.length){switch(o){case"ArrowUp":{if(c-i<5)return;const S=Math.floor((c-i)/2)+1;i=i+S,c-i<5&&(i=c-4);break}case"ArrowDown":{const S=Math.min(500,c-i);i=i-S-1;break}case"ArrowLeft":{i>0&&(i-=1,c-=1),E.value>0&&(E.value-=1);break}case"ArrowRight":{c<x.length-1&&(i+=1,c+=1),m.value&&E.value<x.length-1&&(E.value+=1);break}}requestAnimationFrame(()=>{t.dispatchAction({type:"dataZoom",startValue:i,endValue:c}),t.dispatchAction({type:"updateAxisPointer",seriesIndex:0,dataIndex:m.value?E.value:null}),t.dispatchAction({type:"highlight",dataIndex:m.value?E.value:c})})}},xe=()=>{t==null||t.on("datazoom",N.G(o=>{var v,d,x,i;const{loadCheckCounts:a}=I.value;if((d=(v=t==null?void 0:t.getOption())==null?void 0:v.dataZoom)!=null&&d[0]){const{startValue:c}=(i=(x=t==null?void 0:t.getOption())==null?void 0:x.dataZoom)==null?void 0:i[0];c<a&&!p&&!g&&(p=!0,ge("history")),H()}},100)),t==null||t.on("highlight",N.G(o=>{var v,d;let a=o.dataIndex||-1;o.batch&&(a=typeof((v=o==null?void 0:o.batch[0])==null?void 0:v.dataIndex)=="number"?(d=o==null?void 0:o.batch[0])==null?void 0:d.dataIndex:-1),E.value=a},20)),t==null||t.on("globalout",N.G(()=>{var o,a,v;if(t){const d=(v=(a=(o=t==null?void 0:t.getOption())==null?void 0:o.dataZoom)==null?void 0:a[0])==null?void 0:v.endValue;E.value=d}},30)),t==null||t.on("contextmenu",N.G(o=>{o.componentType==="graphic"&&(O.value=o.info,Q.value=[{label:"删除画线",key:"deleteWarningLine"},{label:"修改画线",key:"changeWarningLine"}])},0))},X=async()=>{const o=await Ne({featureId:l.featureId});_.value=(o==null?void 0:o.body)||[],H(),Y("change","warningLine",_.value)},be=async o=>{const{variety:a,varietyName:v,featureId:d,featureType:x}=l;if(o.key==="drawWarningLine"){const i=t==null?void 0:t.getOption(),c=i.tooltip[0];t==null||t.setOption({...i,tooltip:{...c,axisPointer:{...c.axisPointer,lineStyle:{width:0},crossStyle:{width:2},label:{...c.axisPointer.label,backgroundColor:"transparent",formatter:()=>""}}}});const S=async B=>{t==null||t.getZr().off("mousedown",S);const V=t==null?void 0:t.convertFromPixel({yAxisIndex:0},B.offsetY),h=Math.round(V*1e3)/1e3;t==null||t.setOption({...i,tooltip:{...c,axisPointer:{...c.axisPointer,lineStyle:{width:1},crossStyle:{width:1},label:{...c.axisPointer.label,backgroundColor:null}}}}),await Fe({featureCode:a,featureName:v,featureId:d,featureType:x,warnPrice:h}),J.ElMessage.success("画线预警成功!"),X()};t==null||t.getZr().on("mousedown",S)}else o.key==="deleteWarningLine"?(await Ae({id:O.value.id}),J.ElMessage.success("画线预警删除成功"),X()):o.key==="changeWarningLine"&&(j.value=!0,G.value=O.value.warnPrice)},_e=async()=>{const{variety:o,varietyName:a,featureId:v,featureType:d}=l;await ce({id:O.value.id,featureCode:o,featureName:a,featureId:v,featureType:d,warnPrice:G.value}),J.ElMessage.success("画线预警修改成功"),X()},he=()=>{Q.value=[...r]};return e.onMounted(()=>{Me(l.env),te(),window.addEventListener("keydown",le)}),e.watch(()=>{var o,a;return[l.variety,l.cycle,l.mainIndicator,q.value,(o=l.indicatorStore)==null?void 0:o.filterIndicator,(a=l.indicatorStore)==null?void 0:a.customIndicator]},()=>{p=!1,g=!1,te()},{deep:!0}),e.onUnmounted(()=>{y&&(cancelAnimationFrame(y),y=null),u&&(cancelAnimationFrame(u),u=null),t==null||t.off("datazoom"),t==null||t.off("highlight"),t==null||t.off("globalout"),t==null||t.dispose(),s==null||s.dispose(),window.removeEventListener("keydown",le)}),w({draw:(o,a)=>{o==="warningLine"&&(_.value=a,H())}}),(o,a)=>{var B,V;const v=ie.ElMenuItem,d=ie.ElMenu,x=De.ElEmpty,i=Ye.ElButton,c=we.ElInputNumber,S=ke.ElDialog;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:"klineBasic",onMousemove:a[1]||(a[1]=h=>m.value=!0),onMouseout:a[2]||(a[2]=h=>m.value=!1)},[(B=F.value.time)!=null&&B.length?(e.openBlock(),e.createElementBlock("div",Ge,[e.createVNode(Ie,{variety:n.variety,data:F.value,activeIndex:E.value},null,8,["variety","data","activeIndex"])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"klineBasic-main",style:e.normalizeStyle({height:I.value.showSubChart?"70%":"100%"})},[e.createVNode(Ke,{onCloseContextMenuCallBack:he},{popover:e.withCtx(()=>[e.createVNode(d,{style:{borderRadius:"4px",overflow:"hidden",background:"#fff",borderRight:0}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Q.value,h=>(e.openBlock(),e.createBlock(v,{style:{height:"36px"},key:h.key,index:h.key,onClick:T=>be(h)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.label),1)]),_:2},1032,["index","onClick"]))),128))]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"klineBasicMainRef",ref:D,style:{height:"100%"}},null,512)]),_:1})],4),I.value.showSubChart?(e.openBlock(),e.createElementBlock("div",Xe,[e.createVNode(Ue,{ref_key:"klineSubRef",ref:A,modelValue:q.value,"onUpdate:modelValue":a[0]||(a[0]=h=>q.value=h),data:F.value,cycle:n.cycle,activeIndex:E.value,subIndicatorList:(V=n.indicatorStore)==null?void 0:V.subIndicatorList},null,8,["modelValue","data","cycle","activeIndex","subIndicatorList"])])):e.createCommentVNode("",!0),k.value?(e.openBlock(),e.createElementBlock("div",Je,[e.createVNode(x,{class:"klineBasic-empty-content",description:"暂无数据"})])):e.createCommentVNode("",!0),M.value?(e.openBlock(),e.createElementBlock("div",Qe,[et,e.createElementVNode("div",tt,[e.createVNode(i,{onClick:te},{default:e.withCtx(()=>[e.createTextVNode("刷新")]),_:1})])])):e.createCommentVNode("",!0)],32),e.createVNode(S,{modelValue:j.value,"onUpdate:modelValue":a[5]||(a[5]=h=>j.value=h),title:"画线预警-修改价格",width:"30%","align-center":""},{footer:e.withCtx(()=>[e.createElementVNode("span",ot,[e.createVNode(i,{onClick:a[4]||(a[4]=h=>j.value=!1)},{default:e.withCtx(()=>[e.createTextVNode("取消")]),_:1}),e.createVNode(i,{type:"primary",onClick:_e},{default:e.withCtx(()=>[e.createTextVNode("确定")]),_:1})])]),default:e.withCtx(()=>[nt,e.createVNode(c,{modelValue:G.value,"onUpdate:modelValue":a[3]||(a[3]=h=>G.value=h),placeholder:"输入预警价格"},null,8,["modelValue"])]),_:1},8,["modelValue"])],64)}}},lt=U._export_sfc(at,[["__scopeId","data-v-ae370bef"]]),rt={install(n){n.component("st-klineBasic",lt)}};module.exports=rt;
|