st-comp 0.0.245 → 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 +599 -623
- 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 +149 -149
- package/lib/{index-ab2ee69a.js → index-750ede1b.js} +12156 -12180
- package/lib/{python-ca75e11c.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 +550 -531
- package/src/pages/KlineBasic/api.js +7 -4
- package/src/pages/KlineBasic/index.vue +346 -56
package/es/KlineBasic.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";require("./base-ef747d02.cjs");const be=require("./el-dialog-ad7309e9.cjs");require("./el-overlay-d7a6e4a9.cjs");require("./el-input-172c49f8.cjs");const xe=require("./el-input-number-c2e71528.cjs"),he=require("./el-button-68baab7b.cjs"),_e=require("./el-empty-1697ded8.cjs"),le=require("./el-menu-item-7f986598.cjs");require("./el-tooltip-0ea8fbf8.cjs");require("./el-popper-7ba87e05.cjs");const e=require("vue"),Ye=require("echarts"),f=require("./dayjs.min-2c20abe6.cjs"),A=require("./index-8901a38c.cjs"),J=require("./el-message-a86c0efa.cjs"),U=require("./_plugin-vue_export-helper-f246444f.cjs");require("./el-tag-789f05d3.cjs");const ie=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 ke(n){const Y=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const b in n)if(b!=="default"){const l=Object.getOwnPropertyDescriptor(n,b);Object.defineProperty(Y,b,l.get?l:{enumerable:!0,get:()=>n[b]})}}return Y.default=n,Object.freeze(Y)}const ne=ke(Ye);let K=null;const we=n=>{const Y=A.y(n,{handleReq:b=>{A.v()&&(b.headers.token=A.U())},handleRes:b=>{const{data:l}=b;if(l.code===401)return location.origin.includes("localhost")?location.href=`${location.origin}/#/404`:A.K(),!0}});Y.get,K=Y.post},De=n=>K("/middleLayer/kline/getKlineBasic",{...n,userId:A.V("id")}),Me=n=>K("/middleLayer/kline/getKline",n),Se=async n=>K("/alarm/deliversign/addAlarmPrice",{...n,userId:A.V("id")}),Ve=async n=>K("/alarm/deliversign/findAlarmPriceByUserId",{...n,userId:A.V("id")}),ue=async n=>K("/alarm/deliversign/updateAlarmPrice",{...n,userId:A.V("id")}),Te=async n=>K("/alarm/deliversign/deleteAlarmPrice",{...n,userId:A.V("id")}),{round:z}=A.x,Le=(n,Y,b,l,u)=>{const{data:t,time:M}=n,{gridTop:d,gridRight:x,gridLeft:p,maxShowCounts:g,showSubChart:r}=Y;return{animation:!1,grid:{top:`${d}px`,right:`${x}px`,bottom:r?"6px":"24px",left:`${p}px`},dataZoom:[{type:"inside",startValue:b,endValue:l,maxValueSpan:g}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:a=>{const{axisDimension:h,value:_}=a;return h==="x"?r?"":["6","7","8"].includes(u)?f.dayjs(_).format("YYYY-MM-DD"):_:String(z(_))}}},formatter:()=>""},xAxis:{show:!r,type:"category",data:M,splitLine:{show:!1},axisLabel:{formatter:a=>["6","7","8"].includes(u)?f.dayjs(a).format("YYYY-MM-DD"):a}},yAxis:{type:"value",axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},min:a=>z(a.min),max:a=>z(a.max)},series:[{type:"candlestick",data:t,itemStyle:{color:"transparent",color0:"#00FFFF",borderColor:"#FF0000",borderColor0:"#00FFFF",borderWidth:1}},...n.mainIndicator.map(a=>({name:a.key,type:"line",silent:!0,symbol:"none",data:a.data,lineStyle:{width:a.width||1},itemStyle:{color:a.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)"}}}},Be=(n,Y,b,l,u)=>{const{variety:t,featureId:M,featureType:d}=b,{gridTop:x,gridLeft:p,gridRight:g}=l;return Y.reduce((r,a)=>{const{warnPrice:h}=a,_=n==null?void 0:n.convertToPixel({yAxisIndex:0},h);if(_<=x||_>=(n==null?void 0:n.getHeight()))return r;let N=0;return[...r,{type:"group",name:"warningLine",info:a,draggable:"vertical",children:[{type:"line",info:a,shape:{x1:p,y1:_,x2:(n==null?void 0:n.getWidth())-g,y2:_},style:{stroke:"#FFF",lineWidth:1,lineDash:[8,4]},z:10},{type:"text",info:a,x:(n==null?void 0:n.getWidth())-g,y:_-5,style:{fill:"#FFF",text:h,stroke:"#000",lineWidth:1,opacity:1},z:10}],ondragstart:V=>{N=V.offsetY},ondrag:V=>{var R;if(V.target&&V.target.childAt(1)){const T=n.convertFromPixel({yAxisIndex:0},_+(V.offsetY-N));(R=V.target.childAt(1))==null||R.animate("style",!1).when(1,{text:z(T,3)}).start()}},ondragend:async V=>{const T=V.offsetY-N;if(T!==0){const E=n==null?void 0:n.convertFromPixel({yAxisIndex:0},T+_),m={id:a.id,warnPrice:z(E,3),featureId:M,featureCode:t,featureType:d};await ue(m),J.ElMessage.success("画线预警修改成功"),u&&u()}}}]},[])};function ce(n){function Y(l){if(typeof l=="number")return Number.isFinite(l)?l:null;if(typeof l=="string"){const u=l.trim();if(u==="")return null;const t=Number(u);return Number.isFinite(t)?t:null}return null}const b=Y(n);if(b===null)return"-";try{if(b>=1||b<=-1)return z(b);{const l=b.toPrecision(3);return z(l,l.split(".")[1].length-1)}}catch{return"-"}}const Ne=e.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(n){const Y=n,b=e.ref(null),l=e.ref([]);return e.watch(()=>Y.data,()=>{l.value.length===0&&e.nextTick(()=>{Array.from(b.value.children).forEach((u,t)=>{var M,d,x,p,g,r,a,h;((d=(M=Y.data)==null?void 0:M[t])==null?void 0:d.label)==="涨跌"?l.value[t]="85px":((p=(x=Y.data)==null?void 0:x[t])==null?void 0:p.label)==="至今涨幅"?l.value[t]="115px":((r=(g=Y.data)==null?void 0:g[t])==null?void 0:r.label)==="额"?l.value[t]="85px":["开","高","低","收"].includes((h=(a=Y.data)==null?void 0:a[t])==null?void 0:h.label)?l.value[t]=`${u.offsetWidth+24}px`:l.value[t]=`${u.offsetWidth+36}px`})})}),(u,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,(M,d)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:"kline-tips-item",style:e.normalizeStyle({color:M.color,width:l.value[d]?l.value[d]:null})},e.toDisplayString(M.label)+" "+e.toDisplayString(M.value),5))),128))],512))}});const se=U._export_sfc(Ne,[["__scopeId","data-v-096c0d10"]]);const Ee={class:"kline-tips"},Fe={__name:"index",props:{data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0},variety:{type:[String,Number],default:()=>null}},setup(n){const{round:Y,formatValue:b}=A.x,l=n,u=e.ref(null);e.watch(()=>l.activeIndex,()=>{u.value===null&&(u.value=l.data.data[l.activeIndex][1])}),e.watch(()=>l.data,()=>{u.value===null&&(u.value=l.data.data[l.activeIndex][1])}),e.watch(()=>l.variety,()=>{u.value=null});const t=e.computed(()=>{const{data:d,activeIndex:x}=l;if(d.data&&d.data[x]){const p=d.data[x],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 r;p[6]>0?r="red":p[6]<0&&(r="green"),g.push({label:"涨跌",value:`${Y(p[6])}%`,color:r});const a=(u.value/p[1]-1)*100;let h;return a>0?h="red":a<0&&(h="green"),g.push({label:"至今涨幅",value:`${Y(a)}%`,color:h}),g}return[]}),M=e.computed(()=>{var p;const{data:d,activeIndex:x}=l;return((p=d==null?void 0:d.mainIndicator)==null?void 0:p.map(g=>({label:g.key,value:ce(g.data[x]),color:g.color})))||[]});return(d,x)=>(e.openBlock(),e.createElementBlock("div",Ee,[e.createVNode(se,{data:t.value},null,8,["data"]),e.createVNode(se,{data:M.value},null,8,["data"])]))}},qe=U._export_sfc(Fe,[["__scopeId","data-v-5be4d504"]]),Ae={class:"kline-averageTips"},Re=e.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(n){return(Y,b)=>(e.openBlock(),e.createElementBlock("div",Ae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.data,(l,u)=>(e.openBlock(),e.createElementBlock("div",{key:u,class:"kline-averageTips-item",style:e.normalizeStyle({color:l.color})},e.toDisplayString(l.label)+" "+e.toDisplayString(l.value),5))),128))]))}});const je=U._export_sfc(Re,[["__scopeId","data-v-2ce54548"]]);const Ie={class:"klineSub"},Oe={class:"klineSub-tips"},$e={key:0,class:"klineSub-tips-select"},Pe={__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:Y,emit:b}){const{round:l}=A.x;let u,t;const M=b,d=n,x=e.ref(),p=e.computed({get(){return d.modelValue},set(a){M("update:modelValue",a)}}),g=e.computed(()=>{var _;const{data:a,activeIndex:h}=d;return((_=a==null?void 0:a.subIndicator)==null?void 0:_.map(N=>({label:N.key,color:N.color,value:ce(N.data[h])})))||[]});e.onMounted(()=>{u=ne.init(x.value);let a=!0;t=new ResizeObserver(()=>{if(a){a=null;return}u.resize()}),t.observe(x.value)}),e.onUnmounted(()=>{u.dispose(),t.disconnect(),t=null});const r=(a,h)=>{const _=a[h],N=h===0?a[h]:a[h-1];return _[0]===_[1]?_[0]>=N[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:_[1]>_[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}};return Y({connect:a=>{ne.connect([a,u])},draw:(a,h)=>{e.nextTick(()=>{const{startValue:_,endValue:N,maxValueSpan:V}=a,{leftYAxisRange:R,rightYAxisRange:T}=d.data.subIndicator[0],E=d.data.subIndicator.map(m=>{if(m.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:m.data.map((I,$)=>m.seriesColor==="kline"?{value:I,itemStyle:r(d.data.data,$)}:m.seriesColor==="value"?{value:I,itemStyle:{color:I>=0?"#FF0000":"#00FFFF"}}:{value:I,itemStyle:{color:m.seriesColor}})};if(m.series==="line")return{xAxisIndex:0,yAxisIndex:m.yAxis==="right"?2:1,name:m.key,type:"line",silent:!0,symbol:"none",data:m.data,lineStyle:{width:1},itemStyle:{color:m.color}}});u.setOption({animation:!1,grid:{left:`${h.gridLeft}px`,top:"10px",right:`${h.gridRight}px`,bottom:"20px"},dataZoom:[{type:"inside",startValue:_,endValue:N,maxValueSpan:V}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:m=>{const{axisDimension:I,value:$}=m;if(I==="x")return["6","7","8"].includes(d.cycle)?f.dayjs($).format("YYYY-MM-DD"):$;if(m.axisIndex===1)return String(l($))}}},formatter:()=>""},xAxis:{type:"category",data:d.data.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{formatter:m=>["6","7","8"].includes(d.cycle)?f.dayjs(m).format("YYYY-MM-DD"):m}},yAxis:[{position:"right"},{position:"left",min:R==="cover"?m=>m.min:null,max:R==="cover"?m=>m.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:T==="cover"?m=>m.min:null,max:T==="cover"?m=>m.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:E},!0)})}}),(a,h)=>{const _=ie.ElOption,N=ie.ElSelect;return e.openBlock(),e.createElementBlock("div",Ie,[e.createElementVNode("div",Oe,[g.value.length?(e.openBlock(),e.createElementBlock("div",$e,[e.createVNode(N,{modelValue:p.value,"onUpdate:modelValue":h[0]||(h[0]=V=>p.value=V),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,V=>(e.openBlock(),e.createBlock(_,{key:V.value,label:V.label,value:V.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),e.createVNode(je,{data:g.value},null,8,["data"])]),e.createElementVNode("div",{class:"klineSub-chart",ref_key:"subChartRef",ref:x},null,512)])}}},Ce=U._export_sfc(Pe,[["__scopeId","data-v-a6bfe8fe"]]),We=e.defineComponent({__name:"index",emits:["closeContextMenuCallBack"],setup(n,{emit:Y}){const b=Y,l=e.ref(),u=e.ref(),t=e.ref({display:"none",top:"0px",left:"0px"}),M=()=>{t.value.display="none",b("closeContextMenuCallBack"),document.removeEventListener("click",M)},d=x=>{if(x.preventDefault(),t.value.display==="block"){const{offsetX:p,offsetY:g}=x,{offsetWidth:r,offsetHeight:a}=u.value;if(p<=r&&g<=a)return}l.value.click(),t.value={display:"block",top:`${x.offsetY}px`,left:`${x.offsetX}px`},e.nextTick(()=>{const p=l.value.getBoundingClientRect(),g=u.value.getBoundingClientRect();g.left+g.width>=p.right&&(t.value.left=`${x.offsetX-g.width}px`),g.top+g.height>=p.bottom&&(console.log("高度超出"),t.value.top=`${x.offsetY-g.height}px`)}),document.addEventListener("click",M)};return(x,p)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"contextmenuRef",ref:l,class:"contextmenu",onContextmenu:d,onMouseleave:M},[e.renderSlot(x.$slots,"default",{},void 0,!0),t.value.display!=="none"?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"contextmenuContentRef",ref:u,class:"contextmenu-popover",style:e.normalizeStyle(t.value)},[e.renderSlot(x.$slots,"popover",{},void 0,!0)],4)):e.createCommentVNode("",!0)],544))}});const ze=U._export_sfc(We,[["__scopeId","data-v-811db6b4"]]);const de=n=>(e.pushScopeId("data-v-e675b051"),n=n(),e.popScopeId(),n),Ke={class:"klineBasic-tips"},Ue={key:0,class:"klineBasic-sub"},He={key:1,class:"klineBasic-empty"},Ze={key:2,class:"klineBasic-error"},Xe=de(()=>e.createElementVNode("div",{class:"klineBasic-error-content"},"加载失败,请刷新重试",-1)),Ge={style:{"text-align":"center"}},Je=de(()=>e.createElementVNode("span",{style:{"margin-right":"10px"}},"预警价格:",-1)),Qe={class:"dialog-footer"},et={__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:Y,emit:b}){const l=[{label:"画线预警",key:"drawWarningLine"}];let u=null,t=null,M,d,x=!1,p=!1;const g=b,r=n,a=e.ref(!1),h=e.ref(!1),_=e.ref(!1),N=e.ref(null),V=e.ref(null),R=e.ref("VOL"),T=e.ref(0),E=e.ref({}),m=e.ref([]),I=e.ref({}),$=e.ref(!1),H=e.ref(""),Q=e.ref([...l]),C=e.computed(()=>({defaultShowCounts:500,addCounts:2e3,maxShowCounts:5e3,loadCheckCounts:500,showSubChart:!0,gridTop:48,gridLeft:80,gridRight:50,showWarningLine:!0,getFactorData:!0,...r.config}));e.watch(()=>{var s,o;return[r.variety,r.cycle,r.mainIndicator,R.value,(s=r.indicatorStore)==null?void 0:s.filterIndicator,(o=r.indicatorStore)==null?void 0:o.customIndicator]},()=>{ee()},{deep:!0}),e.onMounted(()=>{we(r.env),ee(),window.addEventListener("keydown",oe)}),e.onUnmounted(()=>{t==null||t.off("datazoom"),t==null||t.off("highlight"),t==null||t.off("globalout"),t==null||t.dispose(),u==null||u.dispose(),window.removeEventListener("keydown",oe)});const fe=()=>{t||(t=ne.init(N.value),pe(),C.value.showSubChart&&V.value.connect(t),u=A.D(N.value),u.listen(()=>{requestAnimationFrame(()=>{t.resize()})}))},oe=({code:s,ctrlKey:o})=>{if(!(o||a.value))return;const{xAxis:k,dataZoom:y}=t.getOption(),{data:v}=(k==null?void 0:k[0])??{data:[]};let{startValue:i,endValue:c}=(y==null?void 0:y[0])??{};if(v!=null&&v.length){switch(s){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),T.value>0&&(T.value-=1);break}case"ArrowRight":{c<v.length-1&&(i+=1,c+=1),a.value&&T.value<v.length-1&&(T.value+=1);break}}t.dispatchAction({type:"dataZoom",startValue:i,endValue:c}),t.dispatchAction({type:"updateAxisPointer",seriesIndex:0,dataIndex:a.value?T.value:null}),t.dispatchAction({type:"highlight",dataIndex:a.value?T.value:c})}},pe=()=>{t==null||t.on("datazoom",o=>{clearTimeout(d),d=setTimeout(()=>{var y,v,i,c;const{loadCheckCounts:k}=C.value;if((v=(y=t==null?void 0:t.getOption())==null?void 0:y.dataZoom)!=null&&v[0]){const{startValue:S}=(c=(i=t==null?void 0:t.getOption())==null?void 0:i.dataZoom)==null?void 0:c[0];S<k&&x===!1&&p===!1&&(x=!0,me("history")),Z()}clearTimeout(d)},100)}),t==null||t.on("highlight",o=>{var y,v;let k=o.dataIndex||-1;o.batch&&(k=typeof((y=o==null?void 0:o.batch[0])==null?void 0:y.dataIndex)=="number"?(v=o==null?void 0:o.batch[0])==null?void 0:v.dataIndex:-1),clearTimeout(M),M=setTimeout(()=>{T.value=k,clearTimeout(M)},20)}),t==null||t.on("globalout",()=>{const o=setTimeout(()=>{var y,v,i;clearTimeout(o);const k=(i=(v=(y=t==null?void 0:t.getOption())==null?void 0:y.dataZoom)==null?void 0:v[0])==null?void 0:i.endValue;T.value=k},30)});let s=null;t==null||t.on("contextmenu",o=>{s=setTimeout(()=>{o.componentType==="graphic"&&(I.value=o.info,Q.value=[{label:"删除画线",key:"deleteWarningLine"},{label:"修改画线",key:"changeWarningLine"}]),clearTimeout(s),s=null})})},ee=async()=>{var s,o,k,y,v,i;try{if(!r.variety||!r.cycle)return;const{variety:c,featureId:S,cycle:L,indicatorStore:D,mainIndicator:O,right:P,startTime:W,endTime:B}=r,{defaultShowCounts:F,addCounts:w,showWarningLine:te,getFactorData:G}=C.value,q={variety:c,featureId:S,cycle:L,mainIndicatorList:D.getIndicatorParams(O),subIndicator:R.value,right:P,showWarningLine:te,getFactorData:G};W&&B?(q.startTime=W,q.endTime=B):W?(q.startTime=W,q.limit=F+w):B?(q.endTime=B,q.limit=F+w):(q.endTime=f.dayjs().add(1,"hour").format("YYYY-MM-DD HH:mm:ss"),q.limit=F+w);const j=await De(q);if((k=(o=(s=j==null?void 0:j.body)==null?void 0:s.kline)==null?void 0:o.time)!=null&&k.length)h.value=!1,_.value=!1;else{h.value=!0,_.value=!1;return}E.value=(y=j==null?void 0:j.body)==null?void 0:y.kline,m.value=((v=j==null?void 0:j.body)==null?void 0:v.warningLine)||[],ae(),Z(),G&&g("getFactorData",(i=j==null?void 0:j.body)==null?void 0:i.factor)}catch(c){throw _.value=!0,h.value=!1,new Error(c)}},me=async s=>{const{variety:o,cycle:k,indicatorStore:y,mainIndicator:v,right:i}=r,{addCounts:c}=C.value,{time:S}=E.value;if(s==="history"){const L=await Me({variety:o,cycle:k,endTime:S[0],limit:c,mainIndicatorList:y.getIndicatorParams(v),subIndicator:R.value,right:i});E.value={time:[...L.body.time,...E.value.time.slice(1)],data:[...L.body.data,...E.value.data.slice(1)],mainIndicator:E.value.mainIndicator.map((D,O)=>{var P;return{...D,data:[...((P=L.body.mainIndicator[O])==null?void 0:P.data)??[],...D.data.slice(1)]}}),subIndicator:E.value.subIndicator.map((D,O)=>{var P;return{...D,data:[...((P=L.body.subIndicator[O])==null?void 0:P.data)??[],...D.data.slice(1)]}})},ae(!0),L.body.data.length<c&&(p=!0),x=!1}},ae=(s=!1)=>{var O,P,W;fe();const{time:o}=E.value,{gridRight:k,gridLeft:y,defaultShowCounts:v,maxShowCounts:i,showSubChart:c}=C.value;let S=o.length-1-v,L=o.length-1;if(s){const B=t.getOption(),F=(P=(O=B==null?void 0:B.xAxis)==null?void 0:O[0])==null?void 0:P.data,w=(W=B==null?void 0:B.dataZoom)==null?void 0:W[0],te=F[w==null?void 0:w.startValue],G=F[w==null?void 0:w.endValue];S=o.findIndex(q=>q===te),L=o.findIndex(q=>q===G)}const D=Le(E.value,C.value,S,L,r.cycle);if(t.setOption(D,!0),T.value=L,r.brushRange){let B=null,F=null;switch(r.cycle){case"6":{B=o.find(w=>new Date(w).getTime()>=new Date(r.brushRange[0]).getTime()||f.dayjs(w).format("YYYY-MM-DD")===f.dayjs(r.brushRange[0]).format("YYYY-MM-DD")),F=o.findLast(w=>new Date(w).getTime()<=new Date(r.brushRange[1]).getTime()||f.dayjs(w).format("YYYY-MM-DD")===f.dayjs(r.brushRange[1]).format("YYYY-MM-DD"));break}case"7":{B=o.find(w=>f.dayjs(w).day(5).format("YYYY-MM-DD")===f.dayjs(r.brushRange[0]).day(5).format("YYYY-MM-DD")),F=o.findLast(w=>f.dayjs(w).day(5).format("YYYY-MM-DD")===f.dayjs(r.brushRange[1]).day(5).format("YYYY-MM-DD"));break}case"8":{B=o.find(w=>f.dayjs(w).endOf("month").format("YYYY-MM-DD")===f.dayjs(r.brushRange[0]).endOf("month").format("YYYY-MM-DD")),F=o.findLast(w=>f.dayjs(w).endOf("month").format("YYYY-MM-DD")===f.dayjs(r.brushRange[1]).endOf("month").format("YYYY-MM-DD"));break}default:B=o.find(w=>new Date(w).getTime()>=new Date(r.brushRange[0]).getTime()),F=o.findLast(w=>new Date(w).getTime()<=new Date(r.brushRange[1]).getTime())}console.log(B,F),t.dispatchAction({type:"brush",areas:[{brushType:"lineX",coordRange:[B,F],xAxisIndex:0}]})}c&&V.value.draw({startValue:S,endValue:L,maxValueSpan:i},{gridLeft:y,gridRight:k}),re()},Z=()=>{if(!t)return;const s=t==null?void 0:t.getOption();s&&(t==null||t.setOption({...s,graphic:[...Be(t,m.value,r,C.value,()=>{X()})]},!0),re())},re=()=>{const{time:s}=E.value;if(r.brushRange&&(s!=null&&s.length)){let o=f.dayjs(r.brushRange[0]).format("YYYY-MM-DD 00:00:00"),k=f.dayjs(r.brushRange[1]).format("YYYY-MM-DD 23:59:59"),y=null,v=null;switch(r.cycle){case"6":{y=s.find(i=>f.dayjs(i).format("YYYY-MM-DD")===f.dayjs(o).format("YYYY-MM-DD")),v=y;break}case"7":{y=s.find(i=>f.dayjs(i).day(5).format("YYYY-MM-DD")===f.dayjs(o).day(5).format("YYYY-MM-DD")),v=s.findLast(i=>f.dayjs(i).day(5).format("YYYY-MM-DD")===f.dayjs(k).day(5).format("YYYY-MM-DD"));break}case"8":{y=s.find(i=>f.dayjs(i).endOf("month").format("YYYY-MM-DD")===f.dayjs(o).endOf("month").format("YYYY-MM-DD")),v=s.findLast(i=>f.dayjs(i).endOf("month").format("YYYY-MM-DD")===f.dayjs(k).endOf("month").format("YYYY-MM-DD"));break}default:y=s.find(i=>{const c=f.dayjs(i).format("YYYY-MM-DD")===f.dayjs(o).format("YYYY-MM-DD"),S=new Date(i).getTime()>=new Date(o).getTime();return c&&S}),v=s.findLast(i=>{const c=f.dayjs(i).format("YYYY-MM-DD")===f.dayjs(k).format("YYYY-MM-DD"),S=new Date(i).getTime()<=new Date(k).getTime();return c&&S})}t.dispatchAction({type:"brush",areas:[{brushType:"lineX",coordRange:[y,v],xAxisIndex:0}]})}},X=async()=>{const s=await Ve({featureId:r.featureId});m.value=(s==null?void 0:s.body)||[],Z(),g("change","warningLine",m.value)},ye=async s=>{const{variety:o,varietyName:k,featureId:y,featureType:v}=r;if(s.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:L=>""}}}});const S=async L=>{t==null||t.getZr().off("mousedown",S);const D=t==null?void 0:t.convertFromPixel({yAxisIndex:0},L.offsetY),O=Math.round(D*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 Se({featureCode:o,featureName:k,featureId:y,featureType:v,warnPrice:O}),J.ElMessage.success("画线预警成功!"),X()};t==null||t.getZr().on("mousedown",S)}else s.key==="deleteWarningLine"?(await Te({id:I.value.id}),J.ElMessage.success("画线预警删除成功"),X()):s.key==="changeWarningLine"&&($.value=!0,H.value=I.value.warnPrice)},ge=async()=>{const{variety:s,varietyName:o,featureId:k,featureType:y}=r;await ue({id:I.value.id,featureCode:s,featureName:o,featureId:k,featureType:y,warnPrice:H.value}),J.ElMessage.success("画线预警修改成功"),X()},ve=()=>{Q.value=[...l]};return Y({draw:(s,o)=>{s==="warningLine"&&(m.value=o,Z())}}),(s,o)=>{var L;const k=le.ElMenuItem,y=le.ElMenu,v=_e.ElEmpty,i=he.ElButton,c=xe.ElInputNumber,S=be.ElDialog;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:"klineBasic",onMousemove:o[1]||(o[1]=D=>a.value=!0),onMouseout:o[2]||(o[2]=D=>a.value=!1)},[e.createElementVNode("div",Ke,[e.createVNode(qe,{variety:n.variety,data:E.value,activeIndex:T.value},null,8,["variety","data","activeIndex"])]),e.createElementVNode("div",{class:"klineBasic-main",style:e.normalizeStyle({height:C.value.showSubChart?"70%":"100%"})},[e.createVNode(ze,{onCloseContextMenuCallBack:ve},{popover:e.withCtx(()=>[e.createVNode(y,{style:{borderRadius:"4px",overflow:"hidden",background:"#fff",borderRight:0}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Q.value,D=>(e.openBlock(),e.createBlock(k,{style:{height:"36px"},key:D.key,index:D.key,onClick:O=>ye(D)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(D.label),1)]),_:2},1032,["index","onClick"]))),128))]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"klineBasicMainRef",ref:N,style:{height:"100%"}},null,512)]),_:1})],4),C.value.showSubChart?(e.openBlock(),e.createElementBlock("div",Ue,[e.createVNode(Ce,{ref_key:"klineSubRef",ref:V,modelValue:R.value,"onUpdate:modelValue":o[0]||(o[0]=D=>R.value=D),data:E.value,cycle:n.cycle,activeIndex:T.value,subIndicatorList:(L=n.indicatorStore)==null?void 0:L.subIndicatorList},null,8,["modelValue","data","cycle","activeIndex","subIndicatorList"])])):e.createCommentVNode("",!0),h.value?(e.openBlock(),e.createElementBlock("div",He,[e.createVNode(v,{class:"klineBasic-empty-content",description:"暂无数据"})])):e.createCommentVNode("",!0),_.value?(e.openBlock(),e.createElementBlock("div",Ze,[Xe,e.createElementVNode("div",Ge,[e.createVNode(i,{onClick:ee},{default:e.withCtx(()=>[e.createTextVNode("刷新")]),_:1})])])):e.createCommentVNode("",!0)],32),e.createVNode(S,{modelValue:$.value,"onUpdate:modelValue":o[5]||(o[5]=D=>$.value=D),title:"画线预警-修改价格",width:"30%","align-center":""},{footer:e.withCtx(()=>[e.createElementVNode("span",Qe,[e.createVNode(i,{onClick:o[4]||(o[4]=D=>$.value=!1)},{default:e.withCtx(()=>[e.createTextVNode("取消")]),_:1}),e.createVNode(i,{type:"primary",onClick:ge},{default:e.withCtx(()=>[e.createTextVNode("确定")]),_:1})])]),default:e.withCtx(()=>[Je,e.createVNode(c,{modelValue:H.value,"onUpdate:modelValue":o[3]||(o[3]=D=>H.value=D),placeholder:"输入预警价格"},null,8,["modelValue"])]),_:1},8,["modelValue"])],64)}}},tt=U._export_sfc(et,[["__scopeId","data-v-e675b051"]]),nt={install(n){n.component("st-klineBasic",tt)}};module.exports=nt;
|
|
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;
|