st-comp 0.0.199 → 0.0.201
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/auto-imports.d.ts +3 -0
- package/es/CustomFunction.cjs +1 -1
- package/es/CustomFunction.js +267 -199
- package/es/FactorWarning.cjs +1 -1
- package/es/FactorWarning.js +27 -25
- package/es/KlinePlus.cjs +3 -3
- package/es/KlinePlus.js +252 -249
- package/es/User.cjs +1 -1
- package/es/User.js +714 -624
- package/es/VarietySearch.cjs +6 -6
- package/es/VarietySearch.js +19 -17
- package/es/VarietyTextCopy.cjs +3 -3
- package/es/VarietyTextCopy.js +4 -4
- package/es/el-checkbox-group-0ea8fbf8.cjs +1 -0
- package/es/el-checkbox-group-4ed993c7.js +1 -0
- package/es/{el-form-item-eeb64520.js → el-form-item-c53c374d.js} +2 -2
- package/es/el-message-box-a93d2f6a.js +489 -0
- package/es/el-message-box-c10adb52.cjs +1 -0
- package/es/el-text-ac60d0f2.js +67 -0
- package/es/el-text-c20a9f48.cjs +1 -0
- package/es/style.css +1 -1
- package/lib/bundle.js +1 -1
- package/lib/bundle.umd.cjs +206 -206
- package/lib/{index-c9dddb13.js → index-c0ce50bc.js} +20375 -20219
- package/lib/{python-8de8f552.js → python-9dae326e.js} +1 -1
- package/lib/style.css +1 -1
- package/package.json +1 -1
- package/packages/CustomFunction/index.vue +141 -30
- package/packages/KlinePlus/index.vue +17 -7
- package/packages/User/components/EditInfoDialog/Mobile.vue +110 -0
- package/packages/User/components/EditInfoDialog/index.vue +136 -0
- package/packages/User/components/SetPasswordDialog.vue +6 -3
- package/packages/User/index.vue +7 -22
- package/src/pages/KlinePlus/index.vue +6 -5
- package/es/el-message-box-48d71ee5.cjs +0 -1
- package/es/el-message-box-81ffd21e.js +0 -550
- package/packages/User/components/EditInfoDialog.vue +0 -144
package/es/FactorWarning.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";require("./base-ef747d02.cjs");const L=require("./zh-cn-90317f62.cjs"),Q=require("./el-dialog-ae86edb8.cjs");require("./el-overlay-9e34965f.cjs");require("./el-tag-a33c4b22.cjs");require("./el-tooltip-0ea8fbf8.cjs");const X=require("./el-popper-b6c99b28.cjs"),N=require("./el-table-column-079b76f5.cjs");require("./el-scrollbar-bc3f790d.cjs");const Y=require("./el-popconfirm-70a976bf.cjs");require("./el-popover-0ea8fbf8.cjs");const Z=require("./el-button-eec58cff.cjs"),D=require("./el-form-item-c3fe189b.cjs"),ee=require("./el-input-7fd293af.cjs"),O=require("./el-message-box-48d71ee5.cjs"),te=require("./el-input-number-22e21d16.cjs"),oe=require("./el-segmented-f8fce9ac.cjs"),e=require("vue"),w=require("./index-098c2447.cjs"),le=require("./index-8901a38c.cjs"),ae=require("./_plugin-vue_export-helper-f246444f.cjs"),re=require("./index-f3562b52.cjs");require("./config-provider-a584d81e.cjs");require("./use-global-config-30d7d8ce.cjs");require("./use-form-common-props-fd9b61a0.cjs");require("./index-9780a537.cjs");require("./index-bb833443.cjs");require("./index-c108567d.cjs");require("./index-f1c702f6.cjs");require("./vnode-b906ae6d.cjs");require("./scroll-b108dabd.cjs");require("./index-298075cf.cjs");require("./_initCloneObject-52b6a510.cjs");require("./castArray-35947698.cjs");require("./debounce-62f5b6e8.cjs");require("./raf-8249652f.cjs");require("./index-eea0bcb3.cjs");require("./typescript-b63f8e83.cjs");require("./index-11547a0c.cjs");require("./validator-1b8a6128.cjs");const ne={ruleFormPrice:!0,ruleFormMark:!0,tableStatus:!0,tableCreateTime:!0,tableMark:!0,tableEnable:!0};const x=a=>(e.pushScopeId("data-v-b57c57a6"),a=a(),e.popScopeId(),a),ce={class:"st-factorWarning"},ue={class:"custom-header"},ie=x(()=>e.createElementVNode("span",{style:{"margin-right":"4px"}},"因子预警",-1)),de={class:"factor-name"},se=["onClick"],me={class:"factor-name"},pe=["onClick"],fe={style:{display:"flex","align-items":"start"}},ke={key:0,style:{flex:"1"}},ye=x(()=>e.createElementVNode("span",{style:{margin:"0 5px"}},"~",-1)),Ce={key:0,style:{color:"#f56c6c"}},he={key:1,style:{color:"#67c23a"}},ve={key:0},Ve={key:1},Ne={key:2},xe={class:"shortcut-title"},_e=x(()=>e.createElementVNode("span",null,"我的配置",-1)),be={class:"shortcut-config"},ge={key:1,class:"empty"},we={class:"shortcut-title"},Be=x(()=>e.createElementVNode("span",null,"新增配置",-1)),Te={class:"custom-footer"},Ee={__name:"index",props:e.mergeModels({title:{type:[String,null],default:null},moreFactorOptions:{type:Array,default:()=>[]},emptyFactorOptions:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},shortcutData:{type:Array,default:()=>[]},showConfig:{type:Object,default:()=>({})},allowOperation:{type:Boolean,default:!0}},{visible:{default:!1},visibleModifiers:{}}),emits:e.mergeModels(["add","delete","enabled","closed","shortcutAdd","shortcutDelete"],["update:visible"]),setup(a,{emit:$}){const p=e.ref("ruleForm"),h=e.useModel(a,"visible"),k=$,_=a,y=Object.assign(ne,_.showConfig),v=e.ref(null),l=e.ref({factorType:1,factorSelectedList:[],totalCount:1,minPrice:null,maxPrice:null,mark:null}),P=e.ref({factorType:[{required:!0,message:"请选择交易类型",trigger:"blur"}],factorSelectedList:[{required:!0,message:"请选择预警因子",trigger:"blur"}],totalCount:[{required:!0,message:"请填写预警次数",trigger:"blur"}]}),B=e.ref(null),r=e.ref({shortcutName:null,factorType:1,factorSelectedList:[],totalCount:1}),z=e.ref({factorType:[{required:!0,message:"请选择交易类型",trigger:"blur"}],factorSelectedList:[{required:!0,message:"请选择预警因子",trigger:"blur"}],totalCount:[{required:!0,message:"请填写预警次数",trigger:"blur"}],shortcutName:[{required:!0,message:"请填写配置名称",trigger:"blur"}]}),V=()=>{l.value={factorType:1,factorSelectedList:[],totalCount:1,minPrice:null,maxPrice:null,mark:null},r.value={shortcutName:null,factorType:1,factorSelectedList:[],totalCount:1}},T=async c=>{Object.assign(l.value,{factorSelectedList:[c],totalCount:3});const o={factorSelectedList:l.value.factorSelectedList.map(n=>({factorName:n,...l.value}))},d=()=>{const n=l.value.factorType;V(),l.value.factorType=n};b(v.value,o,d)},I=async c=>{const o=JSON.parse(c.data);Object.assign(l.value,{factorType:o.factorType,factorSelectedList:o.factorSelectedList,totalCount:o.totalCount});const d={factorSelectedList:l.value.factorSelectedList.map(u=>{let s=o.totalCount;const C=_.tableData.find(({factorExtendName:m})=>m===u);if(C){const m=C.totalCount-C.currentCount;m===0?s=o.totalCount:s=Math.min(o.totalCount,10-m>=0?10-m:0)}return{factorName:u,...l.value,totalCount:s}})},n=()=>V();b(v.value,d,n)},b=le.G(async(c,o,d)=>{c&&await c.validate(n=>{if(!n)return!1;const u=o??{factorSelectedList:l.value.factorSelectedList.map(s=>({factorName:s,...l.value}))};k("add",u),d?d():h.value=!1})},200),M=async c=>{c&&await c.validate(o=>{if(!o)return!1;const d={shortcutName:r.value.shortcutName,data:JSON.stringify(r.value)};k("shortcutAdd",d),V()})},U=c=>{r.value=JSON.parse(c.data)},A=c=>{O.ElMessageBox.confirm(`是否确认删除配置: ${c.shortcutName} ?`,"删除提示",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"}).then(()=>k("shortcutDelete",c))};return e.watch(()=>h.value,c=>{c&&(p.value=_.allowOperation?"ruleForm":"table",V())},{immediate:!0}),(c,o)=>{const d=oe.ElSegmented,n=Z.ElButton,u=D.ElFormItem,s=N.ElCheckbox,C=N.ElCheckboxGroup,m=te.ElInputNumber,R=O.ElText,E=ee.ElInput,S=D.ElForm,f=N.ElTableColumn,j=Y.ElPopconfirm,J=N.ElTable,q=w.ElIcon,F=X.ElTooltip,W=re.ElTag,G=Q.ElDialog,H=L.ElConfigProvider;return e.openBlock(),e.createElementBlock("div",ce,[e.createVNode(H,{locale:e.unref(L.zhCn)},{default:e.withCtx(()=>[e.createVNode(G,{modelValue:h.value,"onUpdate:modelValue":o[17]||(o[17]=t=>h.value=t),width:"1020","align-center":"","destroy-on-close":"",onClosed:o[18]||(o[18]=t=>k("closed"))},{header:e.withCtx(({close:t,titleId:i,titleClass:g})=>[e.createElementVNode("div",ue,[e.createElementVNode("div",{class:e.normalizeClass(g)},[ie,e.createElementVNode("span",null,e.toDisplayString(a.title),1)],2),e.createVNode(d,{modelValue:p.value,"onUpdate:modelValue":o[0]||(o[0]=K=>p.value=K),size:"default",options:[{label:"添加",value:"ruleForm",disabled:!a.allowOperation},{label:"管理",value:"table",disabled:!1},{label:"快捷配置",value:"shortcut",disabled:!a.allowOperation}]},null,8,["modelValue","options"])])]),footer:e.withCtx(()=>[e.createElementVNode("div",Te,[e.createVNode(n,{size:"default",onClick:o[14]||(o[14]=t=>h.value=!1)},{default:e.withCtx(()=>[e.createTextVNode("关闭")]),_:1}),p.value==="ruleForm"?(e.openBlock(),e.createBlock(n,{key:0,size:"default",type:"primary",onClick:o[15]||(o[15]=t=>e.unref(b)(v.value))},{default:e.withCtx(()=>[e.createTextVNode(" 确认 ")]),_:1})):e.createCommentVNode("",!0),p.value==="shortcut"?(e.openBlock(),e.createBlock(n,{key:1,size:"default",type:"primary",onClick:o[16]||(o[16]=t=>M(B.value))},{default:e.withCtx(()=>[e.createTextVNode(" 保存配置 ")]),_:1})):e.createCommentVNode("",!0)])]),default:e.withCtx(()=>[p.value==="ruleForm"?(e.openBlock(),e.createBlock(S,{key:0,ref_key:"ruleFormRef",ref:v,model:l.value,rules:P.value,size:"default","label-width":"90px"},{default:e.withCtx(()=>[e.createVNode(u,{label:"交易类型:",prop:"factorType"},{default:e.withCtx(()=>[e.createVNode(n,{type:"danger",plain:l.value.factorType!==1,onClick:o[1]||(o[1]=()=>{l.value.factorType===-1&&(l.value.factorSelectedList=[]),l.value.factorType=1})},{default:e.withCtx(()=>[e.createTextVNode(" 多 ")]),_:1},8,["plain"]),e.createVNode(n,{type:"success",plain:l.value.factorType!==-1,onClick:o[2]||(o[2]=()=>{l.value.factorType===1&&(l.value.factorSelectedList=[]),l.value.factorType=-1})},{default:e.withCtx(()=>[e.createTextVNode(" 空 ")]),_:1},8,["plain"])]),_:1}),e.createVNode(u,{label:"预警因子:",prop:"factorSelectedList"},{default:e.withCtx(()=>[e.createVNode(C,{modelValue:l.value.factorSelectedList,"onUpdate:modelValue":o[3]||(o[3]=t=>l.value.factorSelectedList=t)},{default:e.withCtx(()=>[l.value.factorType===1?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(a.moreFactorOptions,(t,i)=>(e.openBlock(),e.createElementBlock("div",{class:"factor-checkbox",key:i},[e.createVNode(s,{label:t.factorTypeName,value:t.factorTypeName},{default:e.withCtx(()=>[e.createElementVNode("span",de,e.toDisplayString(t.factorTypeName),1)]),_:2},1032,["label","value"]),e.createElementVNode("span",{class:"tag-button",onClick:g=>T(t.factorTypeName)},"+3",8,se)]))),128)):e.createCommentVNode("",!0),l.value.factorType===-1?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(a.emptyFactorOptions,(t,i)=>(e.openBlock(),e.createElementBlock("div",{class:"factor-checkbox",key:i},[e.createVNode(s,{label:t.factorTypeName,value:t.factorTypeName},{default:e.withCtx(()=>[e.createElementVNode("span",me,e.toDisplayString(t.factorTypeName),1)]),_:2},1032,["label","value"]),e.createElementVNode("span",{class:"tag-button",onClick:g=>T(t.factorTypeName)},"+3",8,pe)]))),128)):e.createCommentVNode("",!0)]),_:1},8,["modelValue"])]),_:1}),e.createVNode(u,{label:"预警次数:",prop:"totalCount"},{default:e.withCtx(()=>[e.createElementVNode("div",fe,[e.createVNode(m,{modelValue:l.value.totalCount,"onUpdate:modelValue":o[4]||(o[4]=t=>l.value.totalCount=t),min:1,"controls-position":"right",style:{"margin-right":"20px"}},null,8,["modelValue"]),a.shortcutData.length?(e.openBlock(),e.createElementBlock("div",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.shortcutData,t=>(e.openBlock(),e.createBlock(n,{key:t.id,onClick:i=>I(t),style:{margin:"0 12px 4px 0"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.shortcutName),1)]),_:2},1032,["onClick"]))),128))])):(e.openBlock(),e.createBlock(R,{key:1,type:"primary",style:{cursor:"pointer"},onClick:o[5]||(o[5]=()=>p.value="shortcut")},{default:e.withCtx(()=>[e.createTextVNode(" 暂无快捷配置, 是否点击前往自定义配置? ")]),_:1}))])]),_:1}),e.unref(y).ruleFormPrice?(e.openBlock(),e.createBlock(u,{key:0,label:"价格范围:"},{default:e.withCtx(()=>[e.createVNode(m,{modelValue:l.value.minPrice,"onUpdate:modelValue":o[6]||(o[6]=t=>l.value.minPrice=t),min:-999,placeholder:"请输入",max:999,"controls-position":"right"},null,8,["modelValue"]),ye,e.createVNode(m,{modelValue:l.value.maxPrice,"onUpdate:modelValue":o[7]||(o[7]=t=>l.value.maxPrice=t),placeholder:"请输入",min:-999,max:999,"controls-position":"right"},null,8,["modelValue"])]),_:1})):e.createCommentVNode("",!0),e.unref(y).ruleFormMark?(e.openBlock(),e.createBlock(u,{key:1,label:"备注:"},{default:e.withCtx(()=>[e.createVNode(E,{modelValue:l.value.mark,"onUpdate:modelValue":o[8]||(o[8]=t=>l.value.mark=t),type:"textarea",placeholder:"请输入关键字",rows:2,style:{width:"380px"}},null,8,["modelValue"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model","rules"])):e.createCommentVNode("",!0),p.value==="table"?(e.openBlock(),e.createBlock(J,{key:1,data:a.tableData,size:"small"},{default:e.withCtx(()=>[e.createVNode(f,{label:"预警周期",width:"70"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(t.row.freqName||"-"),1)]),_:1}),e.createVNode(f,{label:"交易类型",width:"70"},{default:e.withCtx(t=>[t.row.factorExtendValue==1?(e.openBlock(),e.createElementBlock("span",Ce,"多")):(e.openBlock(),e.createElementBlock("span",he,"空"))]),_:1}),e.createVNode(f,{label:"预警因子"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(t.row.factorExtendName||"-"),1)]),_:1}),e.createVNode(f,{label:"预警次数",width:"70"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(`${t.row.currentCount} / ${t.row.totalCount}`),1)]),_:1}),e.unref(y).tableStatus?(e.openBlock(),e.createBlock(f,{key:0,label:"状态",width:"70"},{default:e.withCtx(t=>[e.createElementVNode("div",null,[t.row.enable===1?(e.openBlock(),e.createElementBlock("span",ve,"未触发")):t.row.enable===2?(e.openBlock(),e.createElementBlock("span",Ve,"已触发")):(e.openBlock(),e.createElementBlock("span",Ne,"-"))])]),_:1})):e.createCommentVNode("",!0),e.unref(y).tableCreateTime?(e.openBlock(),e.createBlock(f,{key:1,label:"设置时间",width:"136"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(t.row.createdTime||"-"),1)]),_:1})):e.createCommentVNode("",!0),e.unref(y).tableMark?(e.openBlock(),e.createBlock(f,{key:2,label:"备注",width:"70"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(t.row.mark||"-"),1)]),_:1})):e.createCommentVNode("",!0),a.allowOperation?(e.openBlock(),e.createBlock(f,{key:3,label:"操作",width:"140"},{default:e.withCtx(t=>[e.unref(y).tableEnable?(e.openBlock(),e.createBlock(n,{key:0,disabled:t.row.currentCount!==t.row.totalCount,size:"small",onClick:i=>k("enabled",t.row)},{default:e.withCtx(()=>[e.createTextVNode(" 启用 ")]),_:2},1032,["disabled","onClick"])):e.createCommentVNode("",!0),e.createVNode(j,{title:"确定删除?",onConfirm:i=>k("delete",t.row)},{reference:e.withCtx(()=>[e.createVNode(n,{size:"small"},{default:e.withCtx(()=>[e.createTextVNode("删除")]),_:1})]),_:2},1032,["onConfirm"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["data"])):e.createCommentVNode("",!0),p.value==="shortcut"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("div",xe,[_e,e.createVNode(F,{effect:"dark",content:"如有配置数据, 可点击查看该配置的具体信息",placement:"right-start"},{default:e.withCtx(()=>[e.createVNode(q,null,{default:e.withCtx(()=>[e.createVNode(e.unref(w.info_filled_default))]),_:1})]),_:1})]),e.createElementVNode("div",be,[a.shortcutData.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(a.shortcutData,t=>(e.openBlock(),e.createBlock(W,{key:t.id,type:"primary",size:"default",closable:"",onClick:i=>U(t),onClose:i=>A(t)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.shortcutName),1)]),_:2},1032,["onClick","onClose"]))),128)):(e.openBlock(),e.createElementBlock("span",ge,"暂无数据"))]),e.createElementVNode("div",we,[Be,e.createVNode(F,{effect:"dark",content:"同名配置将会进行覆盖",placement:"right-start"},{default:e.withCtx(()=>[e.createVNode(q,null,{default:e.withCtx(()=>[e.createVNode(e.unref(w.info_filled_default))]),_:1})]),_:1})]),e.createVNode(S,{ref_key:"shortcut_ruleFormRef",ref:B,model:r.value,rules:z.value,"label-width":"90px",size:"default"},{default:e.withCtx(()=>[e.createVNode(u,{label:"配置名称:",prop:"shortcutName"},{default:e.withCtx(()=>[e.createVNode(E,{modelValue:r.value.shortcutName,"onUpdate:modelValue":o[9]||(o[9]=t=>r.value.shortcutName=t),maxlength:"6","show-word-limit":"",style:{width:"160px"}},null,8,["modelValue"])]),_:1}),e.createVNode(u,{label:"交易类型:",prop:"factorType"},{default:e.withCtx(()=>[e.createVNode(n,{type:"danger",plain:r.value.factorType!==1,onClick:o[10]||(o[10]=()=>{r.value.factorType===-1&&(r.value.factorSelectedList=[]),r.value.factorType=1})},{default:e.withCtx(()=>[e.createTextVNode(" 多 ")]),_:1},8,["plain"]),e.createVNode(n,{type:"success",plain:r.value.factorType!==-1,onClick:o[11]||(o[11]=()=>{r.value.factorType===1&&(r.value.factorSelectedList=[]),r.value.factorType=-1})},{default:e.withCtx(()=>[e.createTextVNode(" 空 ")]),_:1},8,["plain"])]),_:1}),e.createVNode(u,{label:"预警因子:",prop:"factorSelectedList"},{default:e.withCtx(()=>[e.createVNode(C,{modelValue:r.value.factorSelectedList,"onUpdate:modelValue":o[12]||(o[12]=t=>r.value.factorSelectedList=t)},{default:e.withCtx(()=>[r.value.factorType===1?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(a.moreFactorOptions,(t,i)=>(e.openBlock(),e.createBlock(s,{key:i,label:t.factorTypeName,value:t.factorTypeName,style:{width:"200px"}},null,8,["label","value"]))),128)):e.createCommentVNode("",!0),r.value.factorType===-1?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(a.emptyFactorOptions,(t,i)=>(e.openBlock(),e.createBlock(s,{key:i,label:t.factorTypeName,value:t.factorTypeName,style:{width:"200px"}},null,8,["label","value"]))),128)):e.createCommentVNode("",!0)]),_:1},8,["modelValue"])]),_:1}),e.createVNode(u,{label:"预警次数:",prop:"totalCount"},{default:e.withCtx(()=>[e.createVNode(m,{modelValue:r.value.totalCount,"onUpdate:modelValue":o[13]||(o[13]=t=>r.value.totalCount=t),min:1,max:10,"controls-position":"right",style:{"margin-right":"20px"}},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])],64)):e.createCommentVNode("",!0)]),_:1},8,["modelValue"])]),_:1},8,["locale"])])}}},Se=ae._export_sfc(Ee,[["__scopeId","data-v-b57c57a6"]]),qe={install(a){a.component("st-factorWarning",Se)}};module.exports=qe;
|
|
1
|
+
"use strict";require("./base-ef747d02.cjs");const L=require("./zh-cn-90317f62.cjs"),K=require("./el-dialog-ae86edb8.cjs");require("./el-overlay-9e34965f.cjs");require("./el-tag-a33c4b22.cjs");require("./el-tooltip-0ea8fbf8.cjs");const Q=require("./el-popper-b6c99b28.cjs"),N=require("./el-table-column-079b76f5.cjs");require("./el-scrollbar-bc3f790d.cjs");const X=require("./el-popconfirm-70a976bf.cjs");require("./el-popover-0ea8fbf8.cjs");const Y=require("./el-button-eec58cff.cjs"),D=require("./el-form-item-c3fe189b.cjs"),Z=require("./el-input-7fd293af.cjs"),ee=require("./el-text-c20a9f48.cjs"),te=require("./el-input-number-22e21d16.cjs");require("./el-checkbox-group-0ea8fbf8.cjs");const oe=require("./el-segmented-f8fce9ac.cjs"),e=require("vue"),w=require("./index-098c2447.cjs"),le=require("./index-8901a38c.cjs"),ae=require("./el-message-box-c10adb52.cjs"),re=require("./_plugin-vue_export-helper-f246444f.cjs"),ne=require("./index-f3562b52.cjs");require("./config-provider-a584d81e.cjs");require("./use-global-config-30d7d8ce.cjs");require("./use-form-common-props-fd9b61a0.cjs");require("./index-9780a537.cjs");require("./index-bb833443.cjs");require("./index-c108567d.cjs");require("./index-f1c702f6.cjs");require("./vnode-b906ae6d.cjs");require("./scroll-b108dabd.cjs");require("./index-298075cf.cjs");require("./_initCloneObject-52b6a510.cjs");require("./castArray-35947698.cjs");require("./debounce-62f5b6e8.cjs");require("./raf-8249652f.cjs");require("./index-eea0bcb3.cjs");require("./typescript-b63f8e83.cjs");require("./index-11547a0c.cjs");require("./validator-1b8a6128.cjs");const ce={ruleFormPrice:!0,ruleFormMark:!0,tableStatus:!0,tableCreateTime:!0,tableMark:!0,tableEnable:!0};const x=a=>(e.pushScopeId("data-v-b57c57a6"),a=a(),e.popScopeId(),a),ue={class:"st-factorWarning"},ie={class:"custom-header"},de=x(()=>e.createElementVNode("span",{style:{"margin-right":"4px"}},"因子预警",-1)),se={class:"factor-name"},me=["onClick"],pe={class:"factor-name"},fe=["onClick"],ke={style:{display:"flex","align-items":"start"}},ye={key:0,style:{flex:"1"}},Ce=x(()=>e.createElementVNode("span",{style:{margin:"0 5px"}},"~",-1)),he={key:0,style:{color:"#f56c6c"}},ve={key:1,style:{color:"#67c23a"}},Ve={key:0},Ne={key:1},xe={key:2},_e={class:"shortcut-title"},be=x(()=>e.createElementVNode("span",null,"我的配置",-1)),ge={class:"shortcut-config"},we={key:1,class:"empty"},Be={class:"shortcut-title"},Te=x(()=>e.createElementVNode("span",null,"新增配置",-1)),Ee={class:"custom-footer"},Se={__name:"index",props:e.mergeModels({title:{type:[String,null],default:null},moreFactorOptions:{type:Array,default:()=>[]},emptyFactorOptions:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},shortcutData:{type:Array,default:()=>[]},showConfig:{type:Object,default:()=>({})},allowOperation:{type:Boolean,default:!0}},{visible:{default:!1},visibleModifiers:{}}),emits:e.mergeModels(["add","delete","enabled","closed","shortcutAdd","shortcutDelete"],["update:visible"]),setup(a,{emit:O}){const p=e.ref("ruleForm"),h=e.useModel(a,"visible"),k=O,_=a,y=Object.assign(ce,_.showConfig),v=e.ref(null),l=e.ref({factorType:1,factorSelectedList:[],totalCount:1,minPrice:null,maxPrice:null,mark:null}),$=e.ref({factorType:[{required:!0,message:"请选择交易类型",trigger:"blur"}],factorSelectedList:[{required:!0,message:"请选择预警因子",trigger:"blur"}],totalCount:[{required:!0,message:"请填写预警次数",trigger:"blur"}]}),B=e.ref(null),r=e.ref({shortcutName:null,factorType:1,factorSelectedList:[],totalCount:1}),P=e.ref({factorType:[{required:!0,message:"请选择交易类型",trigger:"blur"}],factorSelectedList:[{required:!0,message:"请选择预警因子",trigger:"blur"}],totalCount:[{required:!0,message:"请填写预警次数",trigger:"blur"}],shortcutName:[{required:!0,message:"请填写配置名称",trigger:"blur"}]}),V=()=>{l.value={factorType:1,factorSelectedList:[],totalCount:1,minPrice:null,maxPrice:null,mark:null},r.value={shortcutName:null,factorType:1,factorSelectedList:[],totalCount:1}},T=async c=>{Object.assign(l.value,{factorSelectedList:[c],totalCount:3});const o={factorSelectedList:l.value.factorSelectedList.map(n=>({factorName:n,...l.value}))},d=()=>{const n=l.value.factorType;V(),l.value.factorType=n};b(v.value,o,d)},z=async c=>{const o=JSON.parse(c.data);Object.assign(l.value,{factorType:o.factorType,factorSelectedList:o.factorSelectedList,totalCount:o.totalCount});const d={factorSelectedList:l.value.factorSelectedList.map(u=>{let s=o.totalCount;const C=_.tableData.find(({factorExtendName:m})=>m===u);if(C){const m=C.totalCount-C.currentCount;m===0?s=o.totalCount:s=Math.min(o.totalCount,10-m>=0?10-m:0)}return{factorName:u,...l.value,totalCount:s}})},n=()=>V();b(v.value,d,n)},b=le.G(async(c,o,d)=>{c&&await c.validate(n=>{if(!n)return!1;const u=o??{factorSelectedList:l.value.factorSelectedList.map(s=>({factorName:s,...l.value}))};k("add",u),d?d():h.value=!1})},200),I=async c=>{c&&await c.validate(o=>{if(!o)return!1;const d={shortcutName:r.value.shortcutName,data:JSON.stringify(r.value)};k("shortcutAdd",d),V()})},M=c=>{r.value=JSON.parse(c.data)},U=c=>{ae.ElMessageBox.confirm(`是否确认删除配置: ${c.shortcutName} ?`,"删除提示",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"}).then(()=>k("shortcutDelete",c))};return e.watch(()=>h.value,c=>{c&&(p.value=_.allowOperation?"ruleForm":"table",V())},{immediate:!0}),(c,o)=>{const d=oe.ElSegmented,n=Y.ElButton,u=D.ElFormItem,s=N.ElCheckbox,C=N.ElCheckboxGroup,m=te.ElInputNumber,A=ee.ElText,E=Z.ElInput,S=D.ElForm,f=N.ElTableColumn,R=X.ElPopconfirm,j=N.ElTable,q=w.ElIcon,F=Q.ElTooltip,J=ne.ElTag,W=K.ElDialog,G=L.ElConfigProvider;return e.openBlock(),e.createElementBlock("div",ue,[e.createVNode(G,{locale:e.unref(L.zhCn)},{default:e.withCtx(()=>[e.createVNode(W,{modelValue:h.value,"onUpdate:modelValue":o[17]||(o[17]=t=>h.value=t),width:"1020","align-center":"","destroy-on-close":"",onClosed:o[18]||(o[18]=t=>k("closed"))},{header:e.withCtx(({close:t,titleId:i,titleClass:g})=>[e.createElementVNode("div",ie,[e.createElementVNode("div",{class:e.normalizeClass(g)},[de,e.createElementVNode("span",null,e.toDisplayString(a.title),1)],2),e.createVNode(d,{modelValue:p.value,"onUpdate:modelValue":o[0]||(o[0]=H=>p.value=H),size:"default",options:[{label:"添加",value:"ruleForm",disabled:!a.allowOperation},{label:"管理",value:"table",disabled:!1},{label:"快捷配置",value:"shortcut",disabled:!a.allowOperation}]},null,8,["modelValue","options"])])]),footer:e.withCtx(()=>[e.createElementVNode("div",Ee,[e.createVNode(n,{size:"default",onClick:o[14]||(o[14]=t=>h.value=!1)},{default:e.withCtx(()=>[e.createTextVNode("关闭")]),_:1}),p.value==="ruleForm"?(e.openBlock(),e.createBlock(n,{key:0,size:"default",type:"primary",onClick:o[15]||(o[15]=t=>e.unref(b)(v.value))},{default:e.withCtx(()=>[e.createTextVNode(" 确认 ")]),_:1})):e.createCommentVNode("",!0),p.value==="shortcut"?(e.openBlock(),e.createBlock(n,{key:1,size:"default",type:"primary",onClick:o[16]||(o[16]=t=>I(B.value))},{default:e.withCtx(()=>[e.createTextVNode(" 保存配置 ")]),_:1})):e.createCommentVNode("",!0)])]),default:e.withCtx(()=>[p.value==="ruleForm"?(e.openBlock(),e.createBlock(S,{key:0,ref_key:"ruleFormRef",ref:v,model:l.value,rules:$.value,size:"default","label-width":"90px"},{default:e.withCtx(()=>[e.createVNode(u,{label:"交易类型:",prop:"factorType"},{default:e.withCtx(()=>[e.createVNode(n,{type:"danger",plain:l.value.factorType!==1,onClick:o[1]||(o[1]=()=>{l.value.factorType===-1&&(l.value.factorSelectedList=[]),l.value.factorType=1})},{default:e.withCtx(()=>[e.createTextVNode(" 多 ")]),_:1},8,["plain"]),e.createVNode(n,{type:"success",plain:l.value.factorType!==-1,onClick:o[2]||(o[2]=()=>{l.value.factorType===1&&(l.value.factorSelectedList=[]),l.value.factorType=-1})},{default:e.withCtx(()=>[e.createTextVNode(" 空 ")]),_:1},8,["plain"])]),_:1}),e.createVNode(u,{label:"预警因子:",prop:"factorSelectedList"},{default:e.withCtx(()=>[e.createVNode(C,{modelValue:l.value.factorSelectedList,"onUpdate:modelValue":o[3]||(o[3]=t=>l.value.factorSelectedList=t)},{default:e.withCtx(()=>[l.value.factorType===1?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(a.moreFactorOptions,(t,i)=>(e.openBlock(),e.createElementBlock("div",{class:"factor-checkbox",key:i},[e.createVNode(s,{label:t.factorTypeName,value:t.factorTypeName},{default:e.withCtx(()=>[e.createElementVNode("span",se,e.toDisplayString(t.factorTypeName),1)]),_:2},1032,["label","value"]),e.createElementVNode("span",{class:"tag-button",onClick:g=>T(t.factorTypeName)},"+3",8,me)]))),128)):e.createCommentVNode("",!0),l.value.factorType===-1?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(a.emptyFactorOptions,(t,i)=>(e.openBlock(),e.createElementBlock("div",{class:"factor-checkbox",key:i},[e.createVNode(s,{label:t.factorTypeName,value:t.factorTypeName},{default:e.withCtx(()=>[e.createElementVNode("span",pe,e.toDisplayString(t.factorTypeName),1)]),_:2},1032,["label","value"]),e.createElementVNode("span",{class:"tag-button",onClick:g=>T(t.factorTypeName)},"+3",8,fe)]))),128)):e.createCommentVNode("",!0)]),_:1},8,["modelValue"])]),_:1}),e.createVNode(u,{label:"预警次数:",prop:"totalCount"},{default:e.withCtx(()=>[e.createElementVNode("div",ke,[e.createVNode(m,{modelValue:l.value.totalCount,"onUpdate:modelValue":o[4]||(o[4]=t=>l.value.totalCount=t),min:1,"controls-position":"right",style:{"margin-right":"20px"}},null,8,["modelValue"]),a.shortcutData.length?(e.openBlock(),e.createElementBlock("div",ye,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.shortcutData,t=>(e.openBlock(),e.createBlock(n,{key:t.id,onClick:i=>z(t),style:{margin:"0 12px 4px 0"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.shortcutName),1)]),_:2},1032,["onClick"]))),128))])):(e.openBlock(),e.createBlock(A,{key:1,type:"primary",style:{cursor:"pointer"},onClick:o[5]||(o[5]=()=>p.value="shortcut")},{default:e.withCtx(()=>[e.createTextVNode(" 暂无快捷配置, 是否点击前往自定义配置? ")]),_:1}))])]),_:1}),e.unref(y).ruleFormPrice?(e.openBlock(),e.createBlock(u,{key:0,label:"价格范围:"},{default:e.withCtx(()=>[e.createVNode(m,{modelValue:l.value.minPrice,"onUpdate:modelValue":o[6]||(o[6]=t=>l.value.minPrice=t),min:-999,placeholder:"请输入",max:999,"controls-position":"right"},null,8,["modelValue"]),Ce,e.createVNode(m,{modelValue:l.value.maxPrice,"onUpdate:modelValue":o[7]||(o[7]=t=>l.value.maxPrice=t),placeholder:"请输入",min:-999,max:999,"controls-position":"right"},null,8,["modelValue"])]),_:1})):e.createCommentVNode("",!0),e.unref(y).ruleFormMark?(e.openBlock(),e.createBlock(u,{key:1,label:"备注:"},{default:e.withCtx(()=>[e.createVNode(E,{modelValue:l.value.mark,"onUpdate:modelValue":o[8]||(o[8]=t=>l.value.mark=t),type:"textarea",placeholder:"请输入关键字",rows:2,style:{width:"380px"}},null,8,["modelValue"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model","rules"])):e.createCommentVNode("",!0),p.value==="table"?(e.openBlock(),e.createBlock(j,{key:1,data:a.tableData,size:"small"},{default:e.withCtx(()=>[e.createVNode(f,{label:"预警周期",width:"70"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(t.row.freqName||"-"),1)]),_:1}),e.createVNode(f,{label:"交易类型",width:"70"},{default:e.withCtx(t=>[t.row.factorExtendValue==1?(e.openBlock(),e.createElementBlock("span",he,"多")):(e.openBlock(),e.createElementBlock("span",ve,"空"))]),_:1}),e.createVNode(f,{label:"预警因子"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(t.row.factorExtendName||"-"),1)]),_:1}),e.createVNode(f,{label:"预警次数",width:"70"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(`${t.row.currentCount} / ${t.row.totalCount}`),1)]),_:1}),e.unref(y).tableStatus?(e.openBlock(),e.createBlock(f,{key:0,label:"状态",width:"70"},{default:e.withCtx(t=>[e.createElementVNode("div",null,[t.row.enable===1?(e.openBlock(),e.createElementBlock("span",Ve,"未触发")):t.row.enable===2?(e.openBlock(),e.createElementBlock("span",Ne,"已触发")):(e.openBlock(),e.createElementBlock("span",xe,"-"))])]),_:1})):e.createCommentVNode("",!0),e.unref(y).tableCreateTime?(e.openBlock(),e.createBlock(f,{key:1,label:"设置时间",width:"136"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(t.row.createdTime||"-"),1)]),_:1})):e.createCommentVNode("",!0),e.unref(y).tableMark?(e.openBlock(),e.createBlock(f,{key:2,label:"备注",width:"70"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(t.row.mark||"-"),1)]),_:1})):e.createCommentVNode("",!0),a.allowOperation?(e.openBlock(),e.createBlock(f,{key:3,label:"操作",width:"140"},{default:e.withCtx(t=>[e.unref(y).tableEnable?(e.openBlock(),e.createBlock(n,{key:0,disabled:t.row.currentCount!==t.row.totalCount,size:"small",onClick:i=>k("enabled",t.row)},{default:e.withCtx(()=>[e.createTextVNode(" 启用 ")]),_:2},1032,["disabled","onClick"])):e.createCommentVNode("",!0),e.createVNode(R,{title:"确定删除?",onConfirm:i=>k("delete",t.row)},{reference:e.withCtx(()=>[e.createVNode(n,{size:"small"},{default:e.withCtx(()=>[e.createTextVNode("删除")]),_:1})]),_:2},1032,["onConfirm"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["data"])):e.createCommentVNode("",!0),p.value==="shortcut"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("div",_e,[be,e.createVNode(F,{effect:"dark",content:"如有配置数据, 可点击查看该配置的具体信息",placement:"right-start"},{default:e.withCtx(()=>[e.createVNode(q,null,{default:e.withCtx(()=>[e.createVNode(e.unref(w.info_filled_default))]),_:1})]),_:1})]),e.createElementVNode("div",ge,[a.shortcutData.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(a.shortcutData,t=>(e.openBlock(),e.createBlock(J,{key:t.id,type:"primary",size:"default",closable:"",onClick:i=>M(t),onClose:i=>U(t)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.shortcutName),1)]),_:2},1032,["onClick","onClose"]))),128)):(e.openBlock(),e.createElementBlock("span",we,"暂无数据"))]),e.createElementVNode("div",Be,[Te,e.createVNode(F,{effect:"dark",content:"同名配置将会进行覆盖",placement:"right-start"},{default:e.withCtx(()=>[e.createVNode(q,null,{default:e.withCtx(()=>[e.createVNode(e.unref(w.info_filled_default))]),_:1})]),_:1})]),e.createVNode(S,{ref_key:"shortcut_ruleFormRef",ref:B,model:r.value,rules:P.value,"label-width":"90px",size:"default"},{default:e.withCtx(()=>[e.createVNode(u,{label:"配置名称:",prop:"shortcutName"},{default:e.withCtx(()=>[e.createVNode(E,{modelValue:r.value.shortcutName,"onUpdate:modelValue":o[9]||(o[9]=t=>r.value.shortcutName=t),maxlength:"6","show-word-limit":"",style:{width:"160px"}},null,8,["modelValue"])]),_:1}),e.createVNode(u,{label:"交易类型:",prop:"factorType"},{default:e.withCtx(()=>[e.createVNode(n,{type:"danger",plain:r.value.factorType!==1,onClick:o[10]||(o[10]=()=>{r.value.factorType===-1&&(r.value.factorSelectedList=[]),r.value.factorType=1})},{default:e.withCtx(()=>[e.createTextVNode(" 多 ")]),_:1},8,["plain"]),e.createVNode(n,{type:"success",plain:r.value.factorType!==-1,onClick:o[11]||(o[11]=()=>{r.value.factorType===1&&(r.value.factorSelectedList=[]),r.value.factorType=-1})},{default:e.withCtx(()=>[e.createTextVNode(" 空 ")]),_:1},8,["plain"])]),_:1}),e.createVNode(u,{label:"预警因子:",prop:"factorSelectedList"},{default:e.withCtx(()=>[e.createVNode(C,{modelValue:r.value.factorSelectedList,"onUpdate:modelValue":o[12]||(o[12]=t=>r.value.factorSelectedList=t)},{default:e.withCtx(()=>[r.value.factorType===1?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(a.moreFactorOptions,(t,i)=>(e.openBlock(),e.createBlock(s,{key:i,label:t.factorTypeName,value:t.factorTypeName,style:{width:"200px"}},null,8,["label","value"]))),128)):e.createCommentVNode("",!0),r.value.factorType===-1?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(a.emptyFactorOptions,(t,i)=>(e.openBlock(),e.createBlock(s,{key:i,label:t.factorTypeName,value:t.factorTypeName,style:{width:"200px"}},null,8,["label","value"]))),128)):e.createCommentVNode("",!0)]),_:1},8,["modelValue"])]),_:1}),e.createVNode(u,{label:"预警次数:",prop:"totalCount"},{default:e.withCtx(()=>[e.createVNode(m,{modelValue:r.value.totalCount,"onUpdate:modelValue":o[13]||(o[13]=t=>r.value.totalCount=t),min:1,max:10,"controls-position":"right",style:{"margin-right":"20px"}},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])],64)):e.createCommentVNode("",!0)]),_:1},8,["modelValue"])]),_:1},8,["locale"])])}}},qe=re._export_sfc(Se,[["__scopeId","data-v-b57c57a6"]]),Fe={install(a){a.component("st-factorWarning",qe)}};module.exports=Fe;
|
package/es/FactorWarning.js
CHANGED
|
@@ -10,14 +10,16 @@ import "./el-scrollbar-323542e7.js";
|
|
|
10
10
|
import { E as pe } from "./el-popconfirm-81dcd202.js";
|
|
11
11
|
import "./el-popover-4ed993c7.js";
|
|
12
12
|
import { E as fe } from "./el-button-c95adb85.js";
|
|
13
|
-
import {
|
|
13
|
+
import { a as ye, E as ve } from "./el-form-item-c53c374d.js";
|
|
14
14
|
import { E as _e } from "./el-input-2f75c4ba.js";
|
|
15
|
-
import { E as be
|
|
16
|
-
import { E as
|
|
17
|
-
import
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
15
|
+
import { E as be } from "./el-text-ac60d0f2.js";
|
|
16
|
+
import { E as he } from "./el-input-number-5193fe6d.js";
|
|
17
|
+
import "./el-checkbox-group-4ed993c7.js";
|
|
18
|
+
import { E as ge } from "./el-segmented-b868d074.js";
|
|
19
|
+
import { mergeModels as R, ref as w, useModel as ke, watch as Ce, openBlock as o, createElementBlock as c, createVNode as a, unref as g, withCtx as l, createElementVNode as m, normalizeClass as Te, toDisplayString as k, createTextVNode as d, createBlock as p, createCommentVNode as f, Fragment as x, renderList as N, pushScopeId as we, popScopeId as xe } from "vue";
|
|
20
|
+
import { i as j, E as Se } from "./index-a871c3eb.js";
|
|
20
21
|
import { G as Ee } from "./index-7ed0999e.js";
|
|
22
|
+
import { E as Ve } from "./el-message-box-a93d2f6a.js";
|
|
21
23
|
import { _ as Ne } from "./_plugin-vue_export-helper-dad06003.js";
|
|
22
24
|
import { E as Fe } from "./index-57672682.js";
|
|
23
25
|
import "./config-provider-b16efd62.js";
|
|
@@ -54,7 +56,7 @@ const Le = {
|
|
|
54
56
|
tableEnable: !0
|
|
55
57
|
// 启用按钮
|
|
56
58
|
};
|
|
57
|
-
const D = (n) => (
|
|
59
|
+
const D = (n) => (we("data-v-b57c57a6"), n = n(), xe(), n), Oe = { class: "st-factorWarning" }, De = { class: "custom-header" }, Pe = /* @__PURE__ */ D(() => /* @__PURE__ */ m("span", { style: { "margin-right": "4px" } }, "因子预警", -1)), $e = { class: "factor-name" }, ze = ["onClick"], Ue = { class: "factor-name" }, Be = ["onClick"], Ie = { style: { display: "flex", "align-items": "start" } }, Me = {
|
|
58
60
|
key: 0,
|
|
59
61
|
style: { flex: "1" }
|
|
60
62
|
}, qe = /* @__PURE__ */ D(() => /* @__PURE__ */ m("span", { style: { margin: "0 5px" } }, "~", -1)), Ae = {
|
|
@@ -88,7 +90,7 @@ const D = (n) => (xe("data-v-b57c57a6"), n = n(), Se(), n), Oe = { class: "st-fa
|
|
|
88
90
|
}),
|
|
89
91
|
emits: /* @__PURE__ */ R(["add", "delete", "enabled", "closed", "shortcutAdd", "shortcutDelete"], ["update:visible"]),
|
|
90
92
|
setup(n, { emit: J }) {
|
|
91
|
-
const C = w("ruleForm"), F =
|
|
93
|
+
const C = w("ruleForm"), F = ke(n, "visible"), S = J, P = n, E = Object.assign(Le, P.showConfig), L = w(null), r = w({
|
|
92
94
|
factorType: 1,
|
|
93
95
|
factorSelectedList: [],
|
|
94
96
|
totalCount: 1,
|
|
@@ -149,9 +151,9 @@ const D = (n) => (xe("data-v-b57c57a6"), n = n(), Se(), n), Oe = { class: "st-fa
|
|
|
149
151
|
// 通过快捷进行添加的因子, 具备有效次数上限10的校验
|
|
150
152
|
factorSelectedList: r.value.factorSelectedList.map((y) => {
|
|
151
153
|
let b = t.totalCount;
|
|
152
|
-
const
|
|
153
|
-
if (
|
|
154
|
-
const h =
|
|
154
|
+
const V = P.tableData.find(({ factorExtendName: h }) => h === y);
|
|
155
|
+
if (V) {
|
|
156
|
+
const h = V.totalCount - V.currentCount;
|
|
155
157
|
h === 0 ? b = t.totalCount : b = Math.min(t.totalCount, 10 - h >= 0 ? 10 - h : 0);
|
|
156
158
|
}
|
|
157
159
|
return {
|
|
@@ -187,13 +189,13 @@ const D = (n) => (xe("data-v-b57c57a6"), n = n(), Se(), n), Oe = { class: "st-fa
|
|
|
187
189
|
}, Q = (i) => {
|
|
188
190
|
u.value = JSON.parse(i.data);
|
|
189
191
|
}, X = (i) => {
|
|
190
|
-
|
|
192
|
+
Ve.confirm(`是否确认删除配置: ${i.shortcutName} ?`, "删除提示", {
|
|
191
193
|
confirmButtonText: "确认",
|
|
192
194
|
cancelButtonText: "取消",
|
|
193
195
|
type: "warning"
|
|
194
196
|
}).then(() => S("shortcutDelete", i));
|
|
195
197
|
};
|
|
196
|
-
return
|
|
198
|
+
return Ce(
|
|
197
199
|
() => F.value,
|
|
198
200
|
(i) => {
|
|
199
201
|
i && (C.value = P.allowOperation ? "ruleForm" : "table", O());
|
|
@@ -202,7 +204,7 @@ const D = (n) => (xe("data-v-b57c57a6"), n = n(), Se(), n), Oe = { class: "st-fa
|
|
|
202
204
|
immediate: !0
|
|
203
205
|
}
|
|
204
206
|
), (i, t) => {
|
|
205
|
-
const _ =
|
|
207
|
+
const _ = ge, s = fe, y = ye, b = ie, V = ce, h = he, Y = be, I = _e, M = ve, T = de, Z = pe, ee = me, q = Se, A = se, te = Fe, le = ue, ae = ne;
|
|
206
208
|
return o(), c("div", Oe, [
|
|
207
209
|
a(ae, { locale: g(re) }, {
|
|
208
210
|
default: l(() => [
|
|
@@ -217,7 +219,7 @@ const D = (n) => (xe("data-v-b57c57a6"), n = n(), Se(), n), Oe = { class: "st-fa
|
|
|
217
219
|
header: l(({ close: e, titleId: v, titleClass: z }) => [
|
|
218
220
|
m("div", De, [
|
|
219
221
|
m("div", {
|
|
220
|
-
class:
|
|
222
|
+
class: Te(z)
|
|
221
223
|
}, [
|
|
222
224
|
Pe,
|
|
223
225
|
m("span", null, k(n.title), 1)
|
|
@@ -317,7 +319,7 @@ const D = (n) => (xe("data-v-b57c57a6"), n = n(), Se(), n), Oe = { class: "st-fa
|
|
|
317
319
|
prop: "factorSelectedList"
|
|
318
320
|
}, {
|
|
319
321
|
default: l(() => [
|
|
320
|
-
a(
|
|
322
|
+
a(V, {
|
|
321
323
|
modelValue: r.value.factorSelectedList,
|
|
322
324
|
"onUpdate:modelValue": t[3] || (t[3] = (e) => r.value.factorSelectedList = e)
|
|
323
325
|
}, {
|
|
@@ -403,7 +405,7 @@ const D = (n) => (xe("data-v-b57c57a6"), n = n(), Se(), n), Oe = { class: "st-fa
|
|
|
403
405
|
]),
|
|
404
406
|
_: 1
|
|
405
407
|
}),
|
|
406
|
-
g(
|
|
408
|
+
g(E).ruleFormPrice ? (o(), p(y, {
|
|
407
409
|
key: 0,
|
|
408
410
|
label: "价格范围:"
|
|
409
411
|
}, {
|
|
@@ -428,7 +430,7 @@ const D = (n) => (xe("data-v-b57c57a6"), n = n(), Se(), n), Oe = { class: "st-fa
|
|
|
428
430
|
]),
|
|
429
431
|
_: 1
|
|
430
432
|
})) : f("", !0),
|
|
431
|
-
g(
|
|
433
|
+
g(E).ruleFormMark ? (o(), p(y, {
|
|
432
434
|
key: 1,
|
|
433
435
|
label: "备注:"
|
|
434
436
|
}, {
|
|
@@ -486,7 +488,7 @@ const D = (n) => (xe("data-v-b57c57a6"), n = n(), Se(), n), Oe = { class: "st-fa
|
|
|
486
488
|
]),
|
|
487
489
|
_: 1
|
|
488
490
|
}),
|
|
489
|
-
g(
|
|
491
|
+
g(E).tableStatus ? (o(), p(T, {
|
|
490
492
|
key: 0,
|
|
491
493
|
label: "状态",
|
|
492
494
|
width: "70"
|
|
@@ -498,7 +500,7 @@ const D = (n) => (xe("data-v-b57c57a6"), n = n(), Se(), n), Oe = { class: "st-fa
|
|
|
498
500
|
]),
|
|
499
501
|
_: 1
|
|
500
502
|
})) : f("", !0),
|
|
501
|
-
g(
|
|
503
|
+
g(E).tableCreateTime ? (o(), p(T, {
|
|
502
504
|
key: 1,
|
|
503
505
|
label: "设置时间",
|
|
504
506
|
width: "136"
|
|
@@ -508,7 +510,7 @@ const D = (n) => (xe("data-v-b57c57a6"), n = n(), Se(), n), Oe = { class: "st-fa
|
|
|
508
510
|
]),
|
|
509
511
|
_: 1
|
|
510
512
|
})) : f("", !0),
|
|
511
|
-
g(
|
|
513
|
+
g(E).tableMark ? (o(), p(T, {
|
|
512
514
|
key: 2,
|
|
513
515
|
label: "备注",
|
|
514
516
|
width: "70"
|
|
@@ -524,7 +526,7 @@ const D = (n) => (xe("data-v-b57c57a6"), n = n(), Se(), n), Oe = { class: "st-fa
|
|
|
524
526
|
width: "140"
|
|
525
527
|
}, {
|
|
526
528
|
default: l((e) => [
|
|
527
|
-
g(
|
|
529
|
+
g(E).tableEnable ? (o(), p(s, {
|
|
528
530
|
key: 0,
|
|
529
531
|
disabled: e.row.currentCount !== e.row.totalCount,
|
|
530
532
|
size: "small",
|
|
@@ -668,7 +670,7 @@ const D = (n) => (xe("data-v-b57c57a6"), n = n(), Se(), n), Oe = { class: "st-fa
|
|
|
668
670
|
prop: "factorSelectedList"
|
|
669
671
|
}, {
|
|
670
672
|
default: l(() => [
|
|
671
|
-
a(
|
|
673
|
+
a(V, {
|
|
672
674
|
modelValue: u.value.factorSelectedList,
|
|
673
675
|
"onUpdate:modelValue": t[12] || (t[12] = (e) => u.value.factorSelectedList = e)
|
|
674
676
|
}, {
|
|
@@ -720,11 +722,11 @@ const D = (n) => (xe("data-v-b57c57a6"), n = n(), Se(), n), Oe = { class: "st-fa
|
|
|
720
722
|
]);
|
|
721
723
|
};
|
|
722
724
|
}
|
|
723
|
-
}, tt = /* @__PURE__ */ Ne(et, [["__scopeId", "data-v-b57c57a6"]]),
|
|
725
|
+
}, tt = /* @__PURE__ */ Ne(et, [["__scopeId", "data-v-b57c57a6"]]), jt = {
|
|
724
726
|
install(n) {
|
|
725
727
|
n.component("st-factorWarning", tt);
|
|
726
728
|
}
|
|
727
729
|
};
|
|
728
730
|
export {
|
|
729
|
-
|
|
731
|
+
jt as default
|
|
730
732
|
};
|
package/es/KlinePlus.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";require("./base-ef747d02.cjs");const Te=require("./el-loading-cfd86c15.cjs"),ge=require("./el-empty-1697ded8.cjs");require("./el-tag-a33c4b22.cjs");const je=require("./el-select-d8d91db1.cjs");require("./el-scrollbar-bc3f790d.cjs");require("./el-popper-b6c99b28.cjs");const t=require("vue"),I=require("./dayjs.min-2c20abe6.cjs"),Ie=require("echarts"),H=require("./index-8901a38c.cjs"),oe=require("./_plugin-vue_export-helper-f246444f.cjs");require("./use-global-config-30d7d8ce.cjs");require("./use-form-common-props-fd9b61a0.cjs");require("./index-9780a537.cjs");require("./index-098c2447.cjs");require("./index-bb833443.cjs");require("./index-c108567d.cjs");require("./index-298075cf.cjs");require("./index-f3562b52.cjs");require("./castArray-35947698.cjs");require("./index-11547a0c.cjs");require("./scroll-b108dabd.cjs");require("./debounce-62f5b6e8.cjs");require("./vnode-b906ae6d.cjs");function Ye(a){const z=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const s in a)if(s!=="default"){const y=Object.getOwnPropertyDescriptor(a,s);Object.defineProperty(z,s,y.get?y:{enumerable:!0,get:()=>a[s]})}}return z.default=a,Object.freeze(z)}const Me=Ye(Ie),Le="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=",me="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+",Ae="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",{round:we}=H.x,Z={minValueSpan:5,maxValueSpan:2e3,loadCheckCount:500,loadAddCount:2e3},pe={1:240,2:48,3:16,4:8,5:4,6:1,7:.2,8:.033},ze=({startTime:a,endTime:z,cycle:s,type:y="end"})=>{const{maxValueSpan:d}=Z,A=Math.ceil((d+1e3)/pe[s]),Y=I.dayjs(a);if(I.dayjs(z).diff(Y,"day")<=A)return[a,z];if(y==="end")return[I.dayjs(z).subtract(A,"day").format("YYYY-MM-DD HH:mm:ss"),z];if(y==="middle"){const h=I.dayjs((I.dayjs(a).valueOf()+I.dayjs(z).valueOf())/2).format("YYYY-MM-DD HH:mm:ss");return console.log("超过一屏数量上限, 进行中间时间计算",h,A/2),[I.dayjs(h).subtract(A/2,"day").format("YYYY-MM-DD HH:mm:ss"),I.dayjs(h).add(A/2,"day").format("YYYY-MM-DD HH:mm:ss")]}},fe=(a,z)=>{const s=a[z],y=z===0?a[z]:a[z-1];return s[0]===s[1]?s[0]>=y[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:s[1]>s[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}},xe=(a,z,s)=>{var d,A,Y,D;const y=a.subIndicator.map(e=>{if(e.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:e.data.map((h,S)=>e.seriesColor==="kline"?{value:h,itemStyle:fe(a.data,S)}:e.seriesColor==="value"?{value:h,itemStyle:{color:h>=0?"#FF0000":"#00FFFF"}}:{value:h,itemStyle:{color:e.seriesColor}})};if(e.series==="line")return{xAxisIndex:0,yAxisIndex:e.yAxis==="right"?2:1,name:e.key,type:"line",silent:!0,symbol:"none",data:e.data,lineStyle:{width:1},itemStyle:{color:e.color}}});return{animation:!1,grid:{top:"10px",left:"60px",right:"20px",bottom:"10px"},dataZoom:[{type:"inside",startValue:z,endValue:s,maxValueSpan:Z.maxValueSpan}],tooltip:{show:!1},axisPointer:{show:!0,triggerTooltip:!1,label:{rich:{},formatter:e=>{const{axisDimension:h,value:S}=e;if(h==="x")return null;if(e.axisIndex===1)return String(we(S))}}},xAxis:{type:"category",data:a.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!1}},yAxis:[{position:"right"},{position:"left",min:((d=a.subIndicator[0])==null?void 0:d.leftYAxisRange)==="cover"?e=>e.min:null,max:((A=a.subIndicator[0])==null?void 0:A.leftYAxisRange)==="cover"?e=>e.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:((Y=a.subIndicator[0])==null?void 0:Y.rightYAxisRange)==="cover"?e=>e.min:null,max:((D=a.subIndicator[0])==null?void 0:D.rightYAxisRange)==="cover"?e=>e.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:y}},de=(a,z,s="strict")=>{let y=0,d=a.length-1,A=-1;for(;y<=d;){let Y=Math.floor((y+d)/2);if(s==="strict"){if(a[Y]===z)return Y;a[Y]<z?y=Y+1:d=Y-1}else s==="gte"&&(a[Y]>=z?(A=Y,d=Y-1):y=Y+1)}return s==="strict"?-1:A},ye=(a,z)=>({data:[...a.data,...z.data.slice(1)],mainIndicator:a.mainIndicator.map((s,y)=>({...s,data:[...s.data,...z.mainIndicator[y].data.slice(1)]})),subIndicator:a.subIndicator.map((s,y)=>({...s,data:[...s.data,...z.subIndicator[y].data.slice(1)]})),time:[...a.time,...z.time.slice(1)]}),ne=(a,z,s)=>{switch(s){case"5":{let m=[...new Set(a.slice(-20).map(T=>{const o=new Date(T),l=String(o.getHours()).padStart(2,"0"),w=String(o.getMinutes()).padStart(2,"0"),v=String(o.getSeconds()).padStart(2,"0");return`${l}:${w}:${v}`}))];m.includes("00:00:00")&&(m.splice(m.indexOf("00:00:00"),1),m.push("24:00:00")),m=m.sort((T,o)=>new Date(`2000-01-30 ${T}`).getTime()-new Date(`2000-01-30 ${o}`).getTime());const g=new Date(z),N=g.getFullYear(),u=String(g.getMonth()+1).padStart(2,"0"),i=String(g.getDate()).padStart(2,"0"),O=String(g.getHours()).padStart(2,"0"),c=String(g.getMinutes()).padStart(2,"0"),n=String(g.getSeconds()).padStart(2,"0");if(`${O}:${c}:${n}`=="00:00:00")return`${N}-${u}-${i} 01:00:00`;{let T=null;for(let o=0;o<m.length;o++){const l=m[o].split(":");if(+`${l[0]}${l[1]}${l[2]}`>=+`${O}${c}${n}`){T=m[o];break}}if(T==="24:00:00"){const o=new Date(z);o.setDate(o.getDate()+1);const l=o.getFullYear(),w=String(o.getMonth()+1).padStart(2,"0"),v=String(o.getDate()).padStart(2,"0");return`${l}-${w}-${v} 00:00:00`}return`${N}-${u}-${i} ${T}`}}case"6":{const m=new Date(z),g=m.getHours();if(g>=4&&g<21){const N=m.getFullYear(),u=String(m.getMonth()+1).padStart(2,"0"),i=String(m.getDate()).padStart(2,"0");return`${N}-${u}-${i} 09:00:00`}else{const N=new Date(z);N.getHours()>=21&&N.setDate(N.getDate()+1);const u=N.getFullYear(),i=String(N.getMonth()+1).padStart(2,"0"),O=String(N.getDate()).padStart(2,"0"),c=`${u}-${i}-${O} 09:00:00`,n=de(a,c,"gte");return n===-1?c:a[n]}}case"7":{const m=new Date(z),g=new Date(m);g.setDate(m.getDate()-m.getDay()),g.setHours(0,0,0,0);const N=new Date(g);N.setDate(g.getDate()+5),N.setHours(23,59,59,0);const u=new Date(g);u.setDate(g.getDate()+12),u.setHours(9,0,0,0);const i=m<=N?N:u,O=i.getFullYear(),c=String(i.getMonth()+1).padStart(2,"0"),n=String(i.getDate()).padStart(2,"0");return`${O}-${c}-${n} 09:00:00`}case"8":{const m=new Date(z),g=new Date(m.getFullYear(),m.getMonth()+1,1),N=new Date(g);N.setDate(g.getDate()-1),N.setHours(9,0,0,0);const u=N.getFullYear(),i=String(N.getMonth()+1).padStart(2,"0"),O=String(N.getDate()).padStart(2,"0");return`${u}-${i}-${O} 09:00:00`}}const y=new Date(z),d=y.getFullYear(),A=y.getMonth(),Y=y.getDate(),D=y.getHours(),e=y.getMinutes(),h=y.getSeconds(),S=m=>{let g=null;const N=Math.floor(e/m);e%m===0&&h===0?g=e:g=(N+1)*m;const u=Math.floor(g/60),i=D+u,O=g%60,c=new Date(d,A,Y,i,O,0),n=R=>String(R).padStart(2,"0"),T=c.getFullYear(),o=n(c.getMonth()+1),l=n(c.getDate()),w=n(c.getHours()),v=n(c.getMinutes());return`${T}-${o}-${l} ${w}:${v}:00`};switch(s){case"1":return S(1);case"2":return S(5);case"3":return S(15);case"4":return S(30);default:throw new Error(`Unsupported cycle: ${z} ${s}`)}},ae=(a,z,s)=>{let y=null,d=null;const[A,Y]=z;switch(s){case"6":{y=a.find(D=>new Date(I.dayjs(D).format("YYYY-MM-DD 23:59:59")).getTime()>=new Date(A).getTime()),d=a.findLast(D=>new Date(I.dayjs(D).format("YYYY-MM-DD 00:00:00")).getTime()<=new Date(Y).getTime());break}case"7":{const D=I.dayjs(Y).endOf("week").add(1,"day").format("YYYY-MM-DD 23:59:59");y=a.find(e=>I.dayjs(e).endOf("week").add(1,"day").format("YYYY-MM-DD")===I.dayjs(A).endOf("week").add(1,"day").format("YYYY-MM-DD")),d=a.findLast(e=>new Date(e).getTime()<=new Date(D).getTime());break}case"8":{y=a.find(D=>I.dayjs(D).format("YYYY-MM")===I.dayjs(A).format("YYYY-MM")),d=a.findLast(D=>I.dayjs(D).format("YYYY-MM")===I.dayjs(Y).format("YYYY-MM"));break}default:y=a.find(D=>new Date(D).getTime()>=new Date(A).getTime()),d=a.findLast(D=>new Date(D).getTime()<=new Date(Y).getTime())}return[y,d]},Oe=(a,z,s,y,d)=>{const A=(g,N)=>{const{direction:u="",tradeAction:i="",tradeType:O=""}=g,c=O??u+i;switch(N){case 0:return new Map([["开多","买"],["平多","卖"],["开空","卖"],["平空","买"]]).get(c);case 1:return O??u+i}},Y=(g,N,u,i)=>g.reduce((O,c)=>{var R;const n=A(c,0),T=g.filter(V=>V.klineTime===c.klineTime),o=[...new Set(T.map(V=>A(V,0)))];let l=null;o.length>1?l="image://"+new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",self.location).href:l="image://"+new URL(Object.assign({"./images/buy.svg":Le,"./images/sell.svg":me,"./images/t.svg":Ae})[`./images/${n==="买"?"buy":"sell"}.svg`],self.location).href;const w=de(u,c.klineTime),v=(R=i[w])==null?void 0:R[3];return N.forEach(V=>{var B;const K=n==="买"?0:1;V.range[K]===c.klineTime&&(V.rangeValue[K]=(B=i[w])==null?void 0:B[n==="买"?2:3])}),O.push({symbol:l,symbolSize:25,symbolRotate:0,symbolOffset:[0,0],label:{show:!1,position:"top"},coord:[c.klineTime,v],silent:!0,animation:!1,customData:{tradeType:n,amount:c.amount,part:c.part,profitAndLoss:c.profitAndLoss,openPriceAll:c.openPriceAll,closePriceAll:c.closePriceAll}}),O},[]),D=(g,N,u,i)=>g.reduce((O,c,n)=>{const T=A(c,1),o=["开多","开空"].includes(T)?"top":"bottom",l=o==="top"?(c.openPriceAll/c.amount).toFixed(2):(c.closePriceAll/c.amount).toFixed(2);return N.forEach(w=>{(o==="top"?w.range[0]:w.range[1])===c.klineTime&&(w.rangeValue[o==="top"?0:1]=l)}),O.push({symbol:"triangle",symbolSize:[10,12],symbolRotate:o==="top"?180:0,symbolOffset:[0,0],label:{show:!0,position:o,color:"#fff",formatter:`${T} ${o==="top"?"+":"-"} ${c.amount}手 ${c.part?`(${c.part}份)`:""}`},itemStyle:{color:o==="top"?"#FF0000":"#389e0d"},coord:[c.klineTime,l],silent:!0,animation:!1,customData:{tradeType:T,amount:c.amount,part:c.part,profitAndLoss:c.profitAndLoss,openPriceAll:c.openPriceAll,closePriceAll:c.closePriceAll}}),O},[]),e=(g,N,u)=>{const{basePointData:i,baseLineData:O}=g.reduce((o,l)=>{const w={pointTime:l.openTime,tradeAction:"开",tradeDirection:l.tradeDirection?"空":"多",tradeType:`开${l.tradeDirection?"空":"多"}`,part:null,amount:l.tradeVolume,profitAndLoss:l.profitAndLoss,openPriceAll:l.openPrice*l.tradeVolume,closePriceAll:l.closePrice*l.tradeVolume,klineTime:ne(u,l.openTime,N)},v={pointTime:l.closeTime,tradeAction:"平",tradeDirection:l.tradeDirection?"空":"多",tradeType:`平${l.tradeDirection?"空":"多"}`,part:null,amount:l.tradeVolume,profitAndLoss:l.profitAndLoss,openPriceAll:l.openPrice*l.tradeVolume,closePriceAll:l.closePrice*l.tradeVolume,klineTime:ne(u,l.closeTime,N)},R={range:[w.klineTime,v.klineTime],rangeValue:[null,null],color:v.profitAndLoss>0?"#FF0000":"#389e0d"};return o.basePointData.push(w,v),o.baseLineData.push(R),o},{basePointData:[],baseLineData:[]}),n=[...i.reduce((o,l)=>{const w=JSON.parse(JSON.stringify(l)),v=w.klineTime+w.tradeType;if(o.has(v)){const R=o.get(v);w.amount+=R.amount,w.part+=R.part,w.profitAndLoss+=R.profitAndLoss,w.openPriceAll+=R.openPriceAll,w.closePriceAll+=R.closePriceAll}return o.set(v,w),o},new Map([])).values()].sort((o,l)=>new Date(o.klineTime)-new Date(l.klineTime)),T=O.filter(({range:o})=>o[0]!==o[1]);return{pointData:n,lineData:T}},{pointData:h,lineData:S}=e(a,z,y);return{tradePointData:(s===0?Y:D)(h,S,y,d),tradeLineData:S.map(({range:g,rangeValue:N,color:u})=>[{symbol:"none",coord:[g[0],N[0]],lineStyle:{color:u,width:2,type:"solid"},silent:!0,animation:!1},{symbol:"none",coord:[g[1],N[1]],silent:!0,animation:!1}])}},Ce=(a,z)=>{let s=[];if(Number(z)<=5)s=a.map(({tradeDate:y,netPositionValue:d})=>[I.dayjs(y).format("YYYY-MM-DD HH:mm:ss"),d]);else if(Number(z)===6){const y=a.reduce((d,A)=>{const{tradeDate:Y,netPositionValue:D}=A;return d.set(I.dayjs(Y).format("YYYY-MM-DD 09:00:00"),D),d},new Map);s=Array.from(y,([d,A])=>[d,A])}else s=[];return{netPositionLineData:s}},ke=(a,z,s,y)=>{let d=[];if(["6","7","8"].includes(z)){const A=a.reduce((Y,D)=>{const e=ne(y,D.date,z),h=D[s===0?"simple":"compound"];return Y.set(e,h),Y},new Map);d=Array.from(A,([Y,D])=>[Y,D])}else d=[];return{tradeIncomeRateLineData:d}};const he={class:"tips"},be={__name:"Tips",props:{data:{type:Array,default:()=>[]}},setup(a){return(z,s)=>(t.openBlock(),t.createElementBlock("div",he,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.data,(y,d)=>(t.openBlock(),t.createElementBlock("span",{key:d,class:"item",style:t.normalizeStyle({color:y.color})},t.toDisplayString(y.label)+" "+t.toDisplayString(y.value),5))),128))]))}},ie=oe._export_sfc(be,[["__scopeId","data-v-df1caefe"]]);const Ee={__name:"SliderChart",props:{screenTimeRange:{type:Array,required:!0},varietyCode:{type:String,required:!0},varietyStock:{type:Number,required:!0},rightType:{type:[Number,null],default:null},klineType:{type:[Number,null],default:null},deleteFirstNumber:{type:Number,default:1},withoutPermission:{type:Number,default:0}},emits:["change"],setup(a,{expose:z,emit:s}){const{request:y}=t.inject("stConfig");let d=null;const A=t.ref(null),Y=s,D=a,e=t.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),h=async()=>{const N={varietyCode:D.varietyCode,cycle:"6",right:D.varietyStock===1?D.rightType:0,contractType:D.varietyStock?null:D.klineType,startTime:"1999-01-01 00:00:00",endTime:I.dayjs().format("YYYY-MM-DD 23:59:59"),deleteFirstNumber:D.deleteFirstNumber,withoutPermission:D.withoutPermission},{body:u}=await y.post("/middleLayer/kline/getKline",N);u?e.value=u:e.value={data:[],mainIndicator:[],subIndicator:[],time:[]},g("init")},S=H.G(N=>{if(!N.dataZoomId)return;const u=d.getOption();if(u!=null&&u.dataZoom[0]){const{startValue:i,endValue:O}=d.getOption().dataZoom[0],{time:c}=e.value,n=`${c[i].split(" ")[0]} 00:00:00`,T=`${c[O].split(" ")[0]} 23:59:59`;console.log(`检测到拖拽轴被拖动, 时间区间: ${n} - ${T}`),Y("change",{startTime:n,endTime:T})}},200),m=H.G(({startTime:N,endTime:u})=>{g("reset",{startTime:N,endTime:u})},100),g=(N,u)=>{switch(N){case"init":{const{data:i,time:O}=e.value,{xAxisData:c,lineData:n}=i.reduce((o,l,w)=>(o.xAxisData.push(O[w].split(" ")[0]),o.lineData.push(l[1]),o),{xAxisData:[],lineData:[]}),T={grid:{height:0,left:"100px",right:"80px"},xAxis:{type:"category",data:c,show:!1},yAxis:{type:"value"},dataZoom:[{show:!0,startValue:0,endValue:0,textStyle:{color:"#ccc"}},{type:"inside",startValue:0,endValue:0}],series:[{data:n,type:"line"}]};if(d.setOption(T,!0),D.screenTimeRange.length){const[o,l]=D.screenTimeRange;m({startTime:o,endTime:l})}break}case"reset":{const{time:i}=e.value,O=I.dayjs(u.startTime).format("YYYY-MM-DD"),c=I.dayjs(u.endTime).format("YYYY-MM-DD");let n=-1,T=-1;for(let o=0;o<i.length;o++){const l=I.dayjs(i[o]).format("YYYY-MM-DD");if(n!==-1&&T!==-1)break;n===-1&&(new Date(l)===new Date(O)?n=o:new Date(l)>new Date(O)&&(n=o-1)),T===-1&&(new Date(l)===new Date(c)?T=o:new Date(l)>new Date(c)&&(T=o-1))}T===-1&&(T=i.length-1),d.dispatchAction({type:"dataZoom",startValue:n,endValue:T});break}}};return t.onMounted(()=>{t.nextTick(()=>{d=Me.init(A.value),d.on("datazoom",S),h()})}),t.watch(()=>D.screenTimeRange,N=>{const[u,i]=N;m({startTime:u,endTime:i})},{deep:!0}),t.onUnmounted(()=>{d.off("datazoom"),d.dispose()}),z({resize:H.G(()=>d.resize(),100)}),(N,u)=>(t.openBlock(),t.createElementBlock("div",{class:"chart",ref_key:"sliderChartRef",ref:A},null,512))}},ve=oe._export_sfc(Ee,[["__scopeId","data-v-0c715da1"]]);const Se={class:"main-chart"},Qe={class:"indicator"},Pe={key:0,class:"screen-time-range"},Re={key:0,class:"sub-chart"},Fe={class:"indicator"},Ue={class:"title"},Ve={key:1,class:"slider-chart"},Be={__name:"index",props:{varietyCode:{type:String,required:!0},varietyStock:{type:Number,required:!0},indicatorStore:{type:Object,required:!0},userKlineConfig:{type:Object,required:!0},cycle:{type:String,required:!0},sellBuy:{type:Number,default:1},rightType:{type:[Number,null],default:null},klineType:{type:[Number,null],default:null},incomeType:{type:Number,default:0},initTimeRange:{type:Array,required:!0},mainIndicator:{type:String,required:!0},tradeLog:{type:Array,default:()=>[]},netPositionData:{type:Array,default:()=>[]},tradeIncomeRateData:{type:Array,default:()=>[]},positionTime:{type:[String,null],default:null},syncBrushRange:{type:Object,default:()=>({cycleList:[],startTime:null,endTime:null})},deleteFirstNumber:{type:Number,default:1},withoutPermission:{type:Number,default:0}},setup(a,{expose:z}){const{round:s,formatValue:y}=H.x,{request:d}=t.inject("stConfig"),A=t.ref(),Y=t.ref(!1),D=t.ref(!1),e=a;let h=!1,S=!1,m=!1,g=!1,N=null,u=null,i=null;const O=t.ref(null),c=t.ref(null),n=t.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),T=t.ref(0),o=t.ref([]),l=t.ref(null),w=t.ref("VOL"),v=t.computed(()=>{const M=n.value.data[T.value];if(!M)return[{label:"开",value:"-"},{label:"高",value:"-"},{label:"低",value:"-"},{label:"收",value:"-"},{label:"额",value:"-"},{label:"涨跌",value:"-"}];const r=[{label:"开",value:s(M[0])},{label:"高",value:s(M[3])},{label:"低",value:s(M[2])},{label:"收",value:s(M[1])}];M[4]!==null&&r.push({label:"额",value:y(M[4])});let j;return M[6]>0?j="red":M[6]<0&&(j="green"),r.push({label:"涨跌",value:`${s(M[6])}%`,color:j}),r}),R=t.computed(()=>{var M,r;return((r=(M=n.value)==null?void 0:M.mainIndicator)==null?void 0:r.map(j=>({label:j.key,value:s(j.data[T.value]),color:j.color})))||[]}),V=t.computed(()=>{var M,r;return((r=(M=n.value)==null?void 0:M.subIndicator)==null?void 0:r.map(j=>({label:j.key,color:j.color,value:j.data[T.value]||"-"})))||[]}),K=()=>{i||(i=Me.init(c.value),i.on("highlight",H.G(M=>{var r;M.dataIndex?T.value=M.dataIndex:T.value=((r=M.batch)==null?void 0:r[0].dataIndex)??-1},10)),i.on("datazoom",H.G(async()=>{var k;const{loadCheckCount:M}=Z,{startValue:r,endValue:j}=((k=i.getOption())==null?void 0:k.dataZoom[0])??{};m===!1&&g===!1&&r<M&&await re("history"),h===!1&&S===!1&&j>n.value.time.length-M&&await re("new"),ce(),se()})),i.on("globalout",()=>{const M=i.getOption();T.value=M.dataZoom[0].endValue}),i.getZr().on("contextmenu",()=>{var M;l.value=(M=n.value)==null?void 0:M.time[T.value]}),window.addEventListener("keydown",le),e.userKlineConfig.enable_subChart&&(u=Me.init(O.value),Me.connect([i,u])),N=H.D(c.value),N.listen(()=>{requestAnimationFrame(()=>{var M;i.resize(),u==null||u.resize(),(M=A.value)==null||M.resize()})}))},B=async({startTime:M,endTime:r})=>{m=!1,g=!1,h=!1,S=!1;try{Y.value=!0;const j={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:w.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission};["1","2","3","4","5"].includes(e.cycle)?Object.assign(j,{startTime:I.dayjs(M).subtract(1,"day").format("YYYY-MM-DD HH:mm:ss"),endTime:I.dayjs(r).add(1,"day").format("YYYY-MM-DD HH:mm:ss")}):["6","7"].includes(e.cycle)?Object.assign(j,{startTime:I.dayjs(M).subtract(50,"day").format("YYYY-MM-DD HH:mm:ss"),endTime:I.dayjs(r).add(50,"day").format("YYYY-MM-DD HH:mm:ss")}):Object.assign(j,{startTime:I.dayjs(M).subtract(10,"month").format("YYYY-MM-DD HH:mm:ss"),endTime:I.dayjs(r).add(10,"month").format("YYYY-MM-DD HH:mm:ss")});const{body:k}=await d.post("/middleLayer/kline/getKline",j);n.value=k??{data:[],mainIndicator:[],subIndicator:[],time:[]};let f=-1,L=-1;for(let p=0;p<n.value.time.length;p++){const Q=I.dayjs(n.value.time[p]).format("YYYY-MM-DD");if(f!==-1&&L!==-1)break;f===-1&&(new Date(Q)===new Date(M)?f=p:new Date(Q)>new Date(M)&&(f=p-1)),L===-1&&(new Date(Q)===new Date(r)?L=p:new Date(Q)>new Date(r)&&(L=p-1))}L===-1&&(L=n.value.time.length-1),X({startValue:f===-1?0:f,endValue:L===-1?n.value.time.length-1:L})}finally{Y.value=!1}},re=async M=>{var Q,$;const{loadAddCount:r}=Z;switch(M){case"history":{m=!0;const F={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,endTime:n.value.time[0],limit:r,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:w.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission},{body:P}=await d.post("/middleLayer/kline/getKline",F);n.value=ye(P,n.value),P.data.length<r&&(console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"),g=!0),m=!1;break}case"new":{h=!0;const F={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,startTime:n.value.time[n.value.time.length-1],limit:r,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:w.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission},{body:P}=await d.post("/middleLayer/kline/getKline",F);n.value=ye(n.value,P),P.data.length<r&&(console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"),S=!0),h=!1;break}}const{startValue:j,endValue:k}=((Q=i.getOption())==null?void 0:Q.dataZoom[0])??{},f=($=i.getOption())==null?void 0:$.xAxis[0].data,L=n.value.time.findIndex(F=>new Date(F)>=new Date(f[j])),p=n.value.time.findIndex(F=>new Date(F)>=new Date(f[k]));X({startValue:L===-1?0:L,endValue:p===-1?n.value.time.length-1:p})},ce=()=>{var L;if(!n.value.time.length)return o.value=[];const{time:M}=n.value,{startValue:r,endValue:j}=((L=i.getOption())==null?void 0:L.dataZoom[0])??{},k=M[r],f=M[j];["6","7","8"].includes(e.cycle)?o.value=[I.dayjs(k).format("YYYY-MM-DD"),I.dayjs(f).format("YYYY-MM-DD")]:o.value=[k,f]},X=(M={startValue:0,endValue:0})=>{K();const{maxValueSpan:r}=Z,{time:j,data:k,mainIndicator:f}=n.value,L=M.endValue-M.startValue>r?M.endValue-r:M.startValue,p=M.endValue,Q=f.map(C=>({name:C.key,type:"line",silent:!0,symbol:"none",data:C.data,lineStyle:{width:C.width||1},itemStyle:{color:C.color}})),{netPositionLineData:$}=Ce(e.netPositionData,e.cycle),{tradeIncomeRateLineData:F}=ke(e.tradeIncomeRateData,e.cycle,e.incomeType,j),{tradePointData:P,tradeLineData:ee}=Oe(e.tradeLog,e.cycle,e.sellBuy,j,k);i.setOption({animation:!1,grid:{top:"40px",left:"60px",right:"20px",bottom:"20px"},dataZoom:[{type:"inside",startValue:L,endValue:p,minValueSpan:Z.minValueSpan,maxValueSpan:Z.maxValueSpan}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:C=>{const{axisDimension:x,value:b}=C;return x==="x"?["6","7","8"].includes(e.cycle)?I.dayjs(b).format("YYYY-MM-DD"):b:String(s(b))}}},formatter:C=>{if(!(C!=null&&C.length))return null;let x="";if(C.forEach(E=>{if(E.seriesName==="netPosition"&&E.data!==null&&(x+=`<div>资产持仓净值: ${E.data[1]}</div>`),E.componentSubType==="candlestick")if(e.sellBuy===0){const W=P.filter(U=>(U==null?void 0:U.coord[0])===E.axisValue);let G=0,_=0;W.forEach(U=>{const{tradeType:q,amount:te}=U.customData;q==="买"&&(G+=te),q==="卖"&&(_+=te)}),G&&(x+=`<div>买: ${G}</div>`),_&&(x+=`<div>卖: ${_}</div>`)}else P.forEach(W=>{if((W==null?void 0:W.coord[0])===E.axisValue){const{tradeType:G,amount:_,profitAndLoss:U,openPriceAll:q,closePriceAll:te}=W.customData;let J=`<div>${G}: ${_}手</div>`;if(G.includes("开")&&(J+=`<div>开仓价: ${(q/_).toFixed(2)}</div>`),G.includes("平")){const Ne=(q/_).toFixed(2),ue=(te/_).toFixed(2);J+=`<div>平仓价: ${ue}</div>`,J+=`<div>盈亏: ${U==null?void 0:U.toFixed(2)}</div>`,J+=`<div>盈亏比率: ${((ue-Ne)/Ne*100).toFixed(2)} %</div>`}x+=J}})}),!x)return null;let b=C[0].axisValue;return["6","7","8"].includes(e.cycle)&&(b=I.dayjs(b).format("YYYY-MM-DD")),`
|
|
1
|
+
"use strict";require("./base-ef747d02.cjs");const Te=require("./el-loading-cfd86c15.cjs"),ge=require("./el-empty-1697ded8.cjs");require("./el-tag-a33c4b22.cjs");const je=require("./el-select-d8d91db1.cjs");require("./el-scrollbar-bc3f790d.cjs");require("./el-popper-b6c99b28.cjs");const t=require("vue"),Y=require("./dayjs.min-2c20abe6.cjs"),Ie=require("echarts"),H=require("./index-8901a38c.cjs"),oe=require("./_plugin-vue_export-helper-f246444f.cjs");require("./use-global-config-30d7d8ce.cjs");require("./use-form-common-props-fd9b61a0.cjs");require("./index-9780a537.cjs");require("./index-098c2447.cjs");require("./index-bb833443.cjs");require("./index-c108567d.cjs");require("./index-298075cf.cjs");require("./index-f3562b52.cjs");require("./castArray-35947698.cjs");require("./index-11547a0c.cjs");require("./scroll-b108dabd.cjs");require("./debounce-62f5b6e8.cjs");require("./vnode-b906ae6d.cjs");function Ye(a){const z=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const s in a)if(s!=="default"){const y=Object.getOwnPropertyDescriptor(a,s);Object.defineProperty(z,s,y.get?y:{enumerable:!0,get:()=>a[s]})}}return z.default=a,Object.freeze(z)}const Me=Ye(Ie),Le="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=",me="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+",Ae="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",{round:we}=H.x,Z={minValueSpan:5,maxValueSpan:2e3,loadCheckCount:500,loadAddCount:2e3},pe={1:240,2:48,3:16,4:8,5:4,6:1,7:.2,8:.033},ze=({startTime:a,endTime:z,cycle:s,type:y="end"})=>{const{maxValueSpan:d}=Z,p=Math.ceil((d+1e3)/pe[s]),L=Y.dayjs(a);if(Y.dayjs(z).diff(L,"day")<=p)return[a,z];if(y==="end")return[Y.dayjs(z).subtract(p,"day").format("YYYY-MM-DD HH:mm:ss"),z];if(y==="middle"){const h=Y.dayjs((Y.dayjs(a).valueOf()+Y.dayjs(z).valueOf())/2).format("YYYY-MM-DD HH:mm:ss");return console.log("超过一屏数量上限, 进行中间时间计算",h,p/2),[Y.dayjs(h).subtract(p/2,"day").format("YYYY-MM-DD HH:mm:ss"),Y.dayjs(h).add(p/2,"day").format("YYYY-MM-DD HH:mm:ss")]}},fe=(a,z)=>{const s=a[z],y=z===0?a[z]:a[z-1];return s[0]===s[1]?s[0]>=y[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:s[1]>s[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}},xe=(a,z,s)=>{var d,p,L,D;const y=a.subIndicator.map(e=>{if(e.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:e.data.map((h,S)=>e.seriesColor==="kline"?{value:h,itemStyle:fe(a.data,S)}:e.seriesColor==="value"?{value:h,itemStyle:{color:h>=0?"#FF0000":"#00FFFF"}}:{value:h,itemStyle:{color:e.seriesColor}})};if(e.series==="line")return{xAxisIndex:0,yAxisIndex:e.yAxis==="right"?2:1,name:e.key,type:"line",silent:!0,symbol:"none",data:e.data,lineStyle:{width:1},itemStyle:{color:e.color}}});return{animation:!1,grid:{top:"10px",left:"60px",right:"20px",bottom:"10px"},dataZoom:[{type:"inside",startValue:z,endValue:s,maxValueSpan:Z.maxValueSpan}],tooltip:{show:!1},axisPointer:{show:!0,triggerTooltip:!1,label:{rich:{},formatter:e=>{const{axisDimension:h,value:S}=e;if(h==="x")return null;if(e.axisIndex===1)return String(we(S))}}},xAxis:{type:"category",data:a.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!1}},yAxis:[{position:"right"},{position:"left",min:((d=a.subIndicator[0])==null?void 0:d.leftYAxisRange)==="cover"?e=>e.min:null,max:((p=a.subIndicator[0])==null?void 0:p.leftYAxisRange)==="cover"?e=>e.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:((L=a.subIndicator[0])==null?void 0:L.rightYAxisRange)==="cover"?e=>e.min:null,max:((D=a.subIndicator[0])==null?void 0:D.rightYAxisRange)==="cover"?e=>e.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:y}},de=(a,z,s="strict")=>{let y=0,d=a.length-1,p=-1;for(;y<=d;){let L=Math.floor((y+d)/2);if(s==="strict"){if(a[L]===z)return L;a[L]<z?y=L+1:d=L-1}else s==="gte"&&(a[L]>=z?(p=L,d=L-1):y=L+1)}return s==="strict"?-1:p},ye=(a,z)=>({data:[...a.data,...z.data.slice(1)],mainIndicator:a.mainIndicator.map((s,y)=>({...s,data:[...s.data,...z.mainIndicator[y].data.slice(1)]})),subIndicator:a.subIndicator.map((s,y)=>({...s,data:[...s.data,...z.subIndicator[y].data.slice(1)]})),time:[...a.time,...z.time.slice(1)]}),ne=(a,z,s)=>{switch(s){case"5":{let A=[...new Set(a.slice(-20).map(T=>{const o=new Date(T),l=String(o.getHours()).padStart(2,"0"),f=String(o.getMinutes()).padStart(2,"0"),v=String(o.getSeconds()).padStart(2,"0");return`${l}:${f}:${v}`}))];A.includes("00:00:00")&&(A.splice(A.indexOf("00:00:00"),1),A.push("24:00:00")),A=A.sort((T,o)=>new Date(`2000-01-30 ${T}`).getTime()-new Date(`2000-01-30 ${o}`).getTime());const g=new Date(z),N=g.getFullYear(),j=String(g.getMonth()+1).padStart(2,"0"),i=String(g.getDate()).padStart(2,"0"),O=String(g.getHours()).padStart(2,"0"),c=String(g.getMinutes()).padStart(2,"0"),n=String(g.getSeconds()).padStart(2,"0");if(`${O}:${c}:${n}`=="00:00:00")return`${N}-${j}-${i} 01:00:00`;{let T=null;for(let o=0;o<A.length;o++){const l=A[o].split(":");if(+`${l[0]}${l[1]}${l[2]}`>=+`${O}${c}${n}`){T=A[o];break}}if(T==="24:00:00"){const o=new Date(z);o.setDate(o.getDate()+1);const l=o.getFullYear(),f=String(o.getMonth()+1).padStart(2,"0"),v=String(o.getDate()).padStart(2,"0");return`${l}-${f}-${v} 00:00:00`}return`${N}-${j}-${i} ${T}`}}case"6":{const A=new Date(z),g=A.getHours();if(g>=4&&g<21){const N=A.getFullYear(),j=String(A.getMonth()+1).padStart(2,"0"),i=String(A.getDate()).padStart(2,"0");return`${N}-${j}-${i} 09:00:00`}else{const N=new Date(z);N.getHours()>=21&&N.setDate(N.getDate()+1);const j=N.getFullYear(),i=String(N.getMonth()+1).padStart(2,"0"),O=String(N.getDate()).padStart(2,"0"),c=`${j}-${i}-${O} 09:00:00`,n=de(a,c,"gte");return n===-1?c:a[n]}}case"7":{const A=new Date(z),g=new Date(A);g.setDate(A.getDate()-A.getDay()),g.setHours(0,0,0,0);const N=new Date(g);N.setDate(g.getDate()+5),N.setHours(23,59,59,0);const j=new Date(g);j.setDate(g.getDate()+12),j.setHours(9,0,0,0);const i=A<=N?N:j,O=i.getFullYear(),c=String(i.getMonth()+1).padStart(2,"0"),n=String(i.getDate()).padStart(2,"0");return`${O}-${c}-${n} 09:00:00`}case"8":{const A=new Date(z),g=new Date(A.getFullYear(),A.getMonth()+1,1),N=new Date(g);N.setDate(g.getDate()-1),N.setHours(9,0,0,0);const j=N.getFullYear(),i=String(N.getMonth()+1).padStart(2,"0"),O=String(N.getDate()).padStart(2,"0");return`${j}-${i}-${O} 09:00:00`}}const y=new Date(z),d=y.getFullYear(),p=y.getMonth(),L=y.getDate(),D=y.getHours(),e=y.getMinutes(),h=y.getSeconds(),S=A=>{let g=null;const N=Math.floor(e/A);e%A===0&&h===0?g=e:g=(N+1)*A;const j=Math.floor(g/60),i=D+j,O=g%60,c=new Date(d,p,L,i,O,0),n=R=>String(R).padStart(2,"0"),T=c.getFullYear(),o=n(c.getMonth()+1),l=n(c.getDate()),f=n(c.getHours()),v=n(c.getMinutes());return`${T}-${o}-${l} ${f}:${v}:00`};switch(s){case"1":return S(1);case"2":return S(5);case"3":return S(15);case"4":return S(30);default:throw new Error(`Unsupported cycle: ${z} ${s}`)}},ae=(a,z,s)=>{let y=null,d=null;const[p,L]=z;switch(s){case"6":{y=a.find(D=>new Date(Y.dayjs(D).format("YYYY-MM-DD 23:59:59")).getTime()>=new Date(p).getTime()),d=a.findLast(D=>new Date(Y.dayjs(D).format("YYYY-MM-DD 00:00:00")).getTime()<=new Date(L).getTime());break}case"7":{const D=Y.dayjs(L).endOf("week").add(1,"day").format("YYYY-MM-DD 23:59:59");y=a.find(e=>Y.dayjs(e).endOf("week").add(1,"day").format("YYYY-MM-DD")===Y.dayjs(p).endOf("week").add(1,"day").format("YYYY-MM-DD")),d=a.findLast(e=>new Date(e).getTime()<=new Date(D).getTime());break}case"8":{y=a.find(D=>Y.dayjs(D).format("YYYY-MM")===Y.dayjs(p).format("YYYY-MM")),d=a.findLast(D=>Y.dayjs(D).format("YYYY-MM")===Y.dayjs(L).format("YYYY-MM"));break}default:y=a.find(D=>new Date(D).getTime()>=new Date(p).getTime()),d=a.findLast(D=>new Date(D).getTime()<=new Date(L).getTime())}return[y,d]},Oe=(a,z,s,y,d)=>{const p=(g,N)=>{const{direction:j="",tradeAction:i="",tradeType:O=""}=g,c=O??j+i;switch(N){case 0:return new Map([["开多","买"],["平多","卖"],["开空","卖"],["平空","买"]]).get(c);case 1:return O??j+i}},L=(g,N,j,i)=>g.reduce((O,c)=>{var R;const n=p(c,0),T=g.filter(V=>V.klineTime===c.klineTime),o=[...new Set(T.map(V=>p(V,0)))];let l=null;o.length>1?l="image://"+new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",self.location).href:l="image://"+new URL(Object.assign({"./images/buy.svg":Le,"./images/sell.svg":me,"./images/t.svg":Ae})[`./images/${n==="买"?"buy":"sell"}.svg`],self.location).href;const f=de(j,c.klineTime),v=(R=i[f])==null?void 0:R[3];return N.forEach(V=>{var B;const K=n==="买"?0:1;V.range[K]===c.klineTime&&(V.rangeValue[K]=(B=i[f])==null?void 0:B[n==="买"?2:3])}),O.push({symbol:l,symbolSize:25,symbolRotate:0,symbolOffset:[0,0],label:{show:!1,position:"top"},coord:[c.klineTime,v],silent:!0,animation:!1,customData:{tradeType:n,amount:c.amount,part:c.part,profitAndLoss:c.profitAndLoss,openPriceAll:c.openPriceAll,closePriceAll:c.closePriceAll}}),O},[]),D=(g,N,j,i)=>g.reduce((O,c,n)=>{const T=p(c,1),o=["开多","开空"].includes(T)?"top":"bottom",l=o==="top"?(c.openPriceAll/c.amount).toFixed(2):(c.closePriceAll/c.amount).toFixed(2);return N.forEach(f=>{(o==="top"?f.range[0]:f.range[1])===c.klineTime&&(f.rangeValue[o==="top"?0:1]=l)}),O.push({symbol:"triangle",symbolSize:[10,12],symbolRotate:o==="top"?180:0,symbolOffset:[0,0],label:{show:!0,position:o,color:"#fff",formatter:`${T} ${o==="top"?"+":"-"} ${c.amount}手 ${c.part?`(${c.part}份)`:""}`},itemStyle:{color:o==="top"?"#FF0000":"#389e0d"},coord:[c.klineTime,l],silent:!0,animation:!1,customData:{tradeType:T,amount:c.amount,part:c.part,profitAndLoss:c.profitAndLoss,openPriceAll:c.openPriceAll,closePriceAll:c.closePriceAll}}),O},[]),e=(g,N,j)=>{const{basePointData:i,baseLineData:O}=g.reduce((o,l)=>{const f={pointTime:l.openTime,tradeAction:"开",tradeDirection:l.tradeDirection?"空":"多",tradeType:`开${l.tradeDirection?"空":"多"}`,part:null,amount:l.tradeVolume,profitAndLoss:l.profitAndLoss,openPriceAll:l.openPrice*l.tradeVolume,closePriceAll:l.closePrice*l.tradeVolume,klineTime:ne(j,l.openTime,N)},v={pointTime:l.closeTime,tradeAction:"平",tradeDirection:l.tradeDirection?"空":"多",tradeType:`平${l.tradeDirection?"空":"多"}`,part:null,amount:l.tradeVolume,profitAndLoss:l.profitAndLoss,openPriceAll:l.openPrice*l.tradeVolume,closePriceAll:l.closePrice*l.tradeVolume,klineTime:ne(j,l.closeTime,N)},R={range:[f.klineTime,v.klineTime],rangeValue:[null,null],color:v.profitAndLoss>0?"#FF0000":"#389e0d"};return o.basePointData.push(f,v),o.baseLineData.push(R),o},{basePointData:[],baseLineData:[]}),n=[...i.reduce((o,l)=>{const f=JSON.parse(JSON.stringify(l)),v=f.klineTime+f.tradeType;if(o.has(v)){const R=o.get(v);f.amount+=R.amount,f.part+=R.part,f.profitAndLoss+=R.profitAndLoss,f.openPriceAll+=R.openPriceAll,f.closePriceAll+=R.closePriceAll}return o.set(v,f),o},new Map([])).values()].sort((o,l)=>new Date(o.klineTime)-new Date(l.klineTime)),T=O.filter(({range:o})=>o[0]!==o[1]);return{pointData:n,lineData:T}},{pointData:h,lineData:S}=e(a,z,y);return{tradePointData:(s===0?L:D)(h,S,y,d),tradeLineData:S.map(({range:g,rangeValue:N,color:j})=>[{symbol:"none",coord:[g[0],N[0]],lineStyle:{color:j,width:2,type:"solid"},silent:!0,animation:!1},{symbol:"none",coord:[g[1],N[1]],silent:!0,animation:!1}])}},Ce=(a,z)=>{let s=[];if(Number(z)<=5)s=a.map(({tradeDate:y,netPositionValue:d})=>[Y.dayjs(y).format("YYYY-MM-DD HH:mm:ss"),d]);else if(Number(z)===6){const y=a.reduce((d,p)=>{const{tradeDate:L,netPositionValue:D}=p;return d.set(Y.dayjs(L).format("YYYY-MM-DD 09:00:00"),D),d},new Map);s=Array.from(y,([d,p])=>[d,p])}else s=[];return{netPositionLineData:s}},ke=(a,z,s,y)=>{let d=[];if(["6","7","8"].includes(z)){const p=a.reduce((L,D)=>{const e=ne(y,D.date,z),h=D[s===0?"simple":"compound"];return L.set(e,h),L},new Map);d=Array.from(p,([L,D])=>[L,D])}else d=[];return{tradeIncomeRateLineData:d}};const he={class:"tips"},be={__name:"Tips",props:{data:{type:Array,default:()=>[]}},setup(a){return(z,s)=>(t.openBlock(),t.createElementBlock("div",he,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.data,(y,d)=>(t.openBlock(),t.createElementBlock("span",{key:d,class:"item",style:t.normalizeStyle({color:y.color})},t.toDisplayString(y.label)+" "+t.toDisplayString(y.value),5))),128))]))}},ie=oe._export_sfc(be,[["__scopeId","data-v-df1caefe"]]);const Ee={__name:"SliderChart",props:{screenTimeRange:{type:Array,required:!0},varietyCode:{type:String,required:!0},varietyStock:{type:Number,required:!0},rightType:{type:[Number,null],default:null},klineType:{type:[Number,null],default:null},deleteFirstNumber:{type:Number,default:1},withoutPermission:{type:Number,default:0}},emits:["change"],setup(a,{expose:z,emit:s}){const{request:y}=t.inject("stConfig");let d=null;const p=t.ref(null),L=s,D=a,e=t.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),h=async()=>{const N={varietyCode:D.varietyCode,cycle:"6",right:D.varietyStock===1?D.rightType:0,contractType:D.varietyStock?null:D.klineType,startTime:"1999-01-01 00:00:00",endTime:Y.dayjs().format("YYYY-MM-DD 23:59:59"),deleteFirstNumber:D.deleteFirstNumber,withoutPermission:D.withoutPermission},{body:j}=await y.post("/middleLayer/kline/getKline",N);j?e.value=j:e.value={data:[],mainIndicator:[],subIndicator:[],time:[]},g("init")},S=H.G(N=>{if(!N.dataZoomId)return;const j=d.getOption();if(j!=null&&j.dataZoom[0]){const{startValue:i,endValue:O}=d.getOption().dataZoom[0],{time:c}=e.value,n=`${c[i].split(" ")[0]} 00:00:00`,T=`${c[O].split(" ")[0]} 23:59:59`;console.log(`检测到拖拽轴被拖动, 时间区间: ${n} - ${T}`),L("change",{startTime:n,endTime:T})}},200),A=H.G(({startTime:N,endTime:j})=>{g("reset",{startTime:N,endTime:j})},100),g=(N,j)=>{switch(N){case"init":{const{data:i,time:O}=e.value,{xAxisData:c,lineData:n}=i.reduce((o,l,f)=>(o.xAxisData.push(O[f].split(" ")[0]),o.lineData.push(l[1]),o),{xAxisData:[],lineData:[]}),T={grid:{height:0,left:"100px",right:"80px"},xAxis:{type:"category",data:c,show:!1},yAxis:{type:"value"},dataZoom:[{show:!0,startValue:0,endValue:0,textStyle:{color:"#ccc"}},{type:"inside",startValue:0,endValue:0}],series:[{data:n,type:"line"}]};if(d.setOption(T,!0),D.screenTimeRange.length){const[o,l]=D.screenTimeRange;A({startTime:o,endTime:l})}break}case"reset":{const{time:i}=e.value,O=Y.dayjs(j.startTime).format("YYYY-MM-DD"),c=Y.dayjs(j.endTime).format("YYYY-MM-DD");let n=-1,T=-1;for(let o=0;o<i.length;o++){const l=Y.dayjs(i[o]).format("YYYY-MM-DD");if(n!==-1&&T!==-1)break;n===-1&&(new Date(l)===new Date(O)?n=o:new Date(l)>new Date(O)&&(n=o-1)),T===-1&&(new Date(l)===new Date(c)?T=o:new Date(l)>new Date(c)&&(T=o-1))}T===-1&&(T=i.length-1),d.dispatchAction({type:"dataZoom",startValue:n,endValue:T});break}}};return t.onMounted(()=>{t.nextTick(()=>{d=Me.init(p.value),d.on("datazoom",S),h()})}),t.watch(()=>D.screenTimeRange,N=>{const[j,i]=N;A({startTime:j,endTime:i})},{deep:!0}),t.onUnmounted(()=>{d.off("datazoom"),d.dispose()}),z({resize:H.G(()=>d.resize(),100)}),(N,j)=>(t.openBlock(),t.createElementBlock("div",{class:"chart",ref_key:"sliderChartRef",ref:p},null,512))}},ve=oe._export_sfc(Ee,[["__scopeId","data-v-0c715da1"]]);const Se={class:"main-chart"},Qe={class:"indicator"},Pe={key:0,class:"screen-time-range"},Re={key:0,class:"sub-chart"},Fe={class:"indicator"},Ue={class:"title"},Ve={key:1,class:"slider-chart"},Be={__name:"index",props:{varietyCode:{type:String,required:!0},varietyStock:{type:Number,required:!0},indicatorStore:{type:Object,required:!0},userKlineConfig:{type:Object,required:!0},cycle:{type:String,required:!0},sellBuy:{type:Number,default:1},rightType:{type:[Number,null],default:null},klineType:{type:[Number,null],default:null},incomeType:{type:Number,default:0},initTimeRange:{type:Array,required:!0},mainIndicator:{type:String,required:!0},tradeLog:{type:Array,default:()=>[]},netPositionData:{type:Array,default:()=>[]},tradeIncomeRateData:{type:Array,default:()=>[]},positionTime:{type:[String,null],default:null},syncBrushRange:{type:Object,default:()=>({cycleList:[],startTime:null,endTime:null})},deleteFirstNumber:{type:Number,default:1},withoutPermission:{type:Number,default:0}},setup(a,{expose:z}){const{round:s,formatValue:y}=H.x,{request:d}=t.inject("stConfig"),p=t.ref(),L=t.ref(!1),D=t.ref(!1),e=a;let h=!1,S=!1,A=!1,g=!1,N=null,j=null,i=null;const O=t.ref(null),c=t.ref(null),n=t.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),T=t.ref(0),o=t.ref([]),l=t.ref(null),f=t.ref("VOL"),v=t.computed(()=>{const M=n.value.data[T.value];if(!M)return[{label:"开",value:"-"},{label:"高",value:"-"},{label:"低",value:"-"},{label:"收",value:"-"},{label:"额",value:"-"},{label:"涨跌",value:"-"}];const r=[{label:"开",value:s(M[0])},{label:"高",value:s(M[3])},{label:"低",value:s(M[2])},{label:"收",value:s(M[1])}];M[4]!==null&&r.push({label:"额",value:y(M[4])});let u;return M[6]>0?u="red":M[6]<0&&(u="green"),r.push({label:"涨跌",value:`${s(M[6])}%`,color:u}),r}),R=t.computed(()=>{var M,r;return((r=(M=n.value)==null?void 0:M.mainIndicator)==null?void 0:r.map(u=>({label:u.key,value:s(u.data[T.value]),color:u.color})))||[]}),V=t.computed(()=>{var M,r;return((r=(M=n.value)==null?void 0:M.subIndicator)==null?void 0:r.map(u=>({label:u.key,color:u.color,value:u.data[T.value]||"-"})))||[]}),K=()=>{i||(i=Me.init(c.value),i.on("highlight",H.G(M=>{var r;M.dataIndex?T.value=M.dataIndex:T.value=((r=M.batch)==null?void 0:r[0].dataIndex)??-1},10)),i.on("datazoom",H.G(async()=>{var C;const{loadCheckCount:M}=Z,{startValue:r,endValue:u}=((C=i.getOption())==null?void 0:C.dataZoom[0])??{};A===!1&&g===!1&&r<M&&await re("history"),h===!1&&S===!1&&u>n.value.time.length-M&&await re("new"),ce(),se()})),i.on("globalout",()=>{const M=i.getOption();T.value=M.dataZoom[0].endValue}),i.getZr().on("contextmenu",()=>{var M;l.value=(M=n.value)==null?void 0:M.time[T.value]}),window.addEventListener("keydown",le),e.userKlineConfig.enable_subChart&&(j=Me.init(O.value),Me.connect([i,j])),N=H.D(c.value),N.listen(()=>{requestAnimationFrame(()=>{var M;i.resize(),j==null||j.resize(),(M=p.value)==null||M.resize()})}))},B=async({startTime:M,endTime:r})=>{A=!1,g=!1,h=!1,S=!1;try{L.value=!0;const u={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:f.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission};["1","2","3","4","5"].includes(e.cycle)?Object.assign(u,{startTime:Y.dayjs(M).subtract(1,"day").format("YYYY-MM-DD HH:mm:ss"),endTime:Y.dayjs(r).add(1,"day").format("YYYY-MM-DD HH:mm:ss")}):["6","7"].includes(e.cycle)?Object.assign(u,{startTime:Y.dayjs(M).subtract(50,"day").format("YYYY-MM-DD HH:mm:ss"),endTime:Y.dayjs(r).add(50,"day").format("YYYY-MM-DD HH:mm:ss")}):Object.assign(u,{startTime:Y.dayjs(M).subtract(10,"month").format("YYYY-MM-DD HH:mm:ss"),endTime:Y.dayjs(r).add(10,"month").format("YYYY-MM-DD HH:mm:ss")});const{body:C}=await d.post("/middleLayer/kline/getKline",u);n.value=C??{data:[],mainIndicator:[],subIndicator:[],time:[]};let w=-1,I=-1;for(let x=0;x<n.value.time.length;x++){const Q=Y.dayjs(n.value.time[x]).format("YYYY-MM-DD");if(w!==-1&&I!==-1)break;w===-1&&(new Date(Q)===new Date(M)?w=x:new Date(Q)>new Date(M)&&(w=x-1)),I===-1&&(new Date(Q)===new Date(r)?I=x:new Date(Q)>new Date(r)&&(I=x-1))}I===-1&&(I=n.value.time.length-1),X({startValue:w===-1?0:w,endValue:I===-1?n.value.time.length-1:I})}finally{L.value=!1}},re=async M=>{var Q,$;const{loadAddCount:r}=Z;switch(M){case"history":{A=!0;const F={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,endTime:n.value.time[0],limit:r,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:f.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission},{body:P}=await d.post("/middleLayer/kline/getKline",F);n.value=ye(P,n.value),P.data.length<r&&(console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"),g=!0),A=!1;break}case"new":{h=!0;const F={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,startTime:n.value.time[n.value.time.length-1],limit:r,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:f.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission},{body:P}=await d.post("/middleLayer/kline/getKline",F);n.value=ye(n.value,P),P.data.length<r&&(console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"),S=!0),h=!1;break}}const{startValue:u,endValue:C}=((Q=i.getOption())==null?void 0:Q.dataZoom[0])??{},w=($=i.getOption())==null?void 0:$.xAxis[0].data,I=n.value.time.findIndex(F=>new Date(F)>=new Date(w[u])),x=n.value.time.findIndex(F=>new Date(F)>=new Date(w[C]));X({startValue:I===-1?0:I,endValue:x===-1?n.value.time.length-1:x})},ce=()=>{var I;if(!n.value.time.length)return o.value=[];const{time:M}=n.value,{startValue:r,endValue:u}=((I=i.getOption())==null?void 0:I.dataZoom[0])??{},C=M[r],w=M[u];["6","7","8"].includes(e.cycle)?o.value=[Y.dayjs(C).format("YYYY-MM-DD"),Y.dayjs(w).format("YYYY-MM-DD")]:o.value=[C,w]},X=(M={startValue:0,endValue:0})=>{K();const{maxValueSpan:r}=Z,{time:u,data:C,mainIndicator:w}=n.value,I=M.endValue-M.startValue>r?M.endValue-r:M.startValue,x=M.endValue,Q=w.map(m=>({name:m.key,type:"line",silent:!0,symbol:"none",data:m.data,lineStyle:{width:m.width||1},itemStyle:{color:m.color}})),{netPositionLineData:$}=Ce(e.netPositionData,e.cycle),{tradeIncomeRateLineData:F}=ke(e.tradeIncomeRateData,e.cycle,e.incomeType,u),{tradePointData:P,tradeLineData:ee}=Oe(e.tradeLog,e.cycle,e.sellBuy,u,C);i.setOption({animation:!1,grid:{top:"40px",left:"60px",right:"20px",bottom:"20px"},dataZoom:[{type:"inside",startValue:I,endValue:x,minValueSpan:Z.minValueSpan,maxValueSpan:Z.maxValueSpan}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:m=>{const{axisDimension:k,value:b}=m;return k==="x"?["6","7","8"].includes(e.cycle)?Y.dayjs(b).format("YYYY-MM-DD"):b:String(s(b))}}},formatter:m=>{if(!(m!=null&&m.length))return null;let k="";if(m.forEach(E=>{if(E.seriesName==="netPosition"&&E.data!==null&&(k+=`<div>资产持仓净值: ${E.data[1]}</div>`),E.componentSubType==="candlestick")if(e.sellBuy===0){const W=P.filter(U=>(U==null?void 0:U.coord[0])===E.axisValue);let G=0,_=0;W.forEach(U=>{const{tradeType:q,amount:te}=U.customData;q==="买"&&(G+=te),q==="卖"&&(_+=te)}),G&&(k+=`<div>买: ${G}</div>`),_&&(k+=`<div>卖: ${_}</div>`)}else P.forEach(W=>{if((W==null?void 0:W.coord[0])===E.axisValue){const{tradeType:G,amount:_,profitAndLoss:U,openPriceAll:q,closePriceAll:te}=W.customData;let J=`<div>${G}: ${_}手</div>`;if(G.includes("开")&&(J+=`<div>开仓价: ${(q/_).toFixed(2)}</div>`),G.includes("平")){const Ne=(q/_).toFixed(2),ue=(te/_).toFixed(2);J+=`<div>平仓价: ${ue}</div>`,J+=`<div>盈亏: ${U==null?void 0:U.toFixed(2)}</div>`,J+=`<div>盈亏比率: ${((ue-Ne)/Ne*100).toFixed(2)} %</div>`}k+=J}})}),!k)return null;let b=m[0].axisValue;return["6","7","8"].includes(e.cycle)&&(b=Y.dayjs(b).format("YYYY-MM-DD")),`
|
|
2
2
|
<div>
|
|
3
3
|
<span style="font-weight: bold;">${b}</span>
|
|
4
|
-
${
|
|
4
|
+
${k}
|
|
5
5
|
</div>
|
|
6
|
-
`}},xAxis:{show:!0,type:"category",data:
|
|
6
|
+
`}},xAxis:{show:!0,type:"category",data:u,splitLine:{show:!1},axisLabel:{formatter:m=>["6","7","8"].includes(e.cycle)?Y.dayjs(m).format("YYYY-MM-DD"):m}},yAxis:[{type:"value",axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},min:m=>{const{min:k,max:b}=m,E=Math.abs((b-k)/10);return s(k-E)},max:m=>{const{min:k,max:b}=m,E=Math.abs((b-k)/10);return s(b+E)}},{show:!1,min:m=>{const{min:k,max:b}=m,E=Math.abs((b-k)/10);return k-E},max:m=>{const{min:k,max:b}=m,E=Math.abs((b-k)/10);return b+E}}],series:[{type:"candlestick",name:"kLine",data:C,markPoint:{data:[...P]},markLine:{data:[...ee]},itemStyle:{color:"transparent",color0:"#00FFFF",borderColor:"#FF0000",borderColor0:"#00FFFF",borderWidth:1}},{type:"line",name:"netPosition",data:$,symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:"#666666"},lineStyle:{width:2}},{type:"line",name:"tradeIncomeRate",data:F,symbol:"none",yAxisIndex:1,connectNulls:!1,itemStyle:{color:"#666666"},lineStyle:{width:2}},...Q],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)"}}},!0),e.userKlineConfig.enable_subChart&&j.setOption(xe(n.value,I,x),!0),ce(),se(),T.value=x;{const m=[];if(e.userKlineConfig.enable_tradeLogBrush&&P.length){const[k,b]=[P[0].coord[0],P.at(-1).coord[0]],E=ae(u,[k,b],e.cycle);m.push({brushId:"开平仓范围",brushType:"lineX",xAxisIndex:0,coordRange:E})}if(e.syncBrushRange.cycleList.includes(e.cycle)){const{startTime:k,endTime:b}=e.syncBrushRange,E=ae(u,[k,b],e.cycle);m.push({brushId:"同步刷选范围",brushType:"lineX",xAxisIndex:0,coordRange:E,brushStyle:{fill:"rgba(64, 158, 255, 0.2)",stroke:"rgba(64, 158, 255, 0.8)",lineWidth:1}})}if(e.positionTime){const[k,b]=[Y.dayjs(e.positionTime).format("YYYY-MM-DD 00:00:00"),Y.dayjs(e.positionTime).format("YYYY-MM-DD 23:59:59")],E=ae(u,[k,b],e.cycle);m.push({brushId:"强制定位高亮",brushType:"lineX",xAxisIndex:0,coordRange:E,brushStyle:{fill:"rgba(217, 179, 255, 0.2)",stroke:"rgba(217, 179, 255, 0.8)",lineWidth:1}})}i.dispatchAction({type:"brush",areas:m})}},se=()=>{var ee;if(!e.userKlineConfig.enable_showScreenMaxPrice||!n.value.time.length)return;const{data:M}=n.value,r=i.getOption(),{startValue:u,endValue:C}=(r==null?void 0:r.dataZoom[0])??{};let w=0,I=u;for(let m=u;m<=C;m++)Number(M[m][3])>=w&&(w=Number(M[m][3]),I=m);const x=((ee=r.series)==null?void 0:ee.filter(m=>m.name!=="maxPrice"))||[],Q=C-u,$=(I-u)/Q;let F="right",P=`←${w}`;$>.7?(F="left",P=`${s(w)}→`):(F="right",P=`←${s(w)}`),i==null||i.setOption({series:[...x,{type:"line",name:"maxPrice",data:[],lineStyle:{opacity:0},markPoint:{symbol:"circle",symbolSize:1,itemStyle:{color:"transparent",borderColor:"transparent"},z:100,zlevel:10,label:{show:!0,position:F,formatter:P,color:"#fff",fontSize:12,padding:[4,-4]},data:[{name:"最高点",coord:[I,w]}]}}]},{notMerge:!1,replaceMerge:[]})},De=M=>{const[r,u]=ze({startTime:M.startTime,endTime:M.endTime,cycle:e.cycle});B({startTime:r,endTime:u})},le=({code:M,ctrlKey:r})=>{if(!(r||D.value))return;const{xAxis:u,dataZoom:C}=i.getOption(),{data:w}=(u==null?void 0:u[0])??{data:[]};let{startValue:I,endValue:x}=(C==null?void 0:C[0])??{};if(w!=null&&w.length){switch(M){case"ArrowUp":{if(x-I<5)return;const Q=Math.floor((x-I)/2)+1;I=I+Q,x-I<5&&(I=x-4);break}case"ArrowDown":{const Q=Math.min(500,x-I);I=I-Q-1;break}case"ArrowLeft":{I>0&&(I-=1,x-=1),T.value>0&&(T.value-=1);break}case"ArrowRight":{x<w.length-1&&(I+=1,x+=1),D.value&&T.value<w.length-1&&(T.value+=1);break}}i.dispatchAction({type:"dataZoom",startValue:I,endValue:x}),i.dispatchAction({type:"updateAxisPointer",seriesIndex:0,dataIndex:D.value?T.value:null}),i.dispatchAction({type:"highlight",dataIndex:D.value?T.value:x})}};return t.onMounted(()=>{const[M,r]=e.initTimeRange;B({startTime:M,endTime:r})}),t.watch(()=>[e.varietyCode,e.initTimeRange],()=>{const[M,r]=e.initTimeRange;B({startTime:M,endTime:r})},{deep:!0}),t.watch(()=>[e.cycle],()=>{var w;const{startValue:M,endValue:r}=((w=i.getOption())==null?void 0:w.dataZoom[0])??{},[u,C]=ze({startTime:n.value.time[M],endTime:n.value.time[r],cycle:e.cycle,type:"middle"});B({startTime:u,endTime:C})},{deep:!0}),t.watch(()=>{var M,r;return[e.mainIndicator,f.value,(M=e.indicatorStore)==null?void 0:M.filterIndicator,(r=e.indicatorStore)==null?void 0:r.customIndicator,e.rightType,e.klineType]},()=>{var w;const{startValue:M,endValue:r}=((w=i.getOption())==null?void 0:w.dataZoom[0])??{},[u,C]=[n.value.time[M],n.value.time[r]];B({startTime:u,endTime:C})},{deep:!0}),t.watch(()=>[e.sellBuy,e.tradeLog,e.netPositionData,e.incomeType,e.tradeIncomeRateData],()=>{var u;const{startValue:M,endValue:r}=((u=i.getOption())==null?void 0:u.dataZoom[0])??{};X({startValue:M,endValue:r})},{deep:!0}),t.onUnmounted(()=>{i.off("highlight"),i.off("globalout"),i.off("datazoom"),i.getZr().off("contextmenu"),window.removeEventListener("keydown",le),i.dispose(),j==null||j.dispose(),N.dispose(),N=null}),z({screenTimeRange:o,contextmenuKlineTime:l,reDraw:()=>{var u;const{startValue:M,endValue:r}=((u=i.getOption())==null?void 0:u.dataZoom[0])??{};X({startValue:M,endValue:r})}}),(M,r)=>{const u=je.ElOption,C=je.ElSelect,w=ge.ElEmpty,I=Te.vLoading;return t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:"kline-plus",onMousemove:r[1]||(r[1]=x=>D.value=!0),onMouseout:r[2]||(r[2]=x=>D.value=!1)},[t.createElementVNode("div",Se,[t.createElementVNode("div",Qe,[t.createVNode(ie,{data:v.value},null,8,["data"]),t.createVNode(ie,{data:R.value},null,8,["data"])]),a.userKlineConfig.enable_showScreenTimeRange?(t.openBlock(),t.createElementBlock("span",Pe,t.toDisplayString(o.value[0])+" - "+t.toDisplayString(o.value[1]),1)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"mainChartRef",ref:c,class:"chart"},null,512)]),a.userKlineConfig.enable_subChart?(t.openBlock(),t.createElementBlock("div",Re,[t.createElementVNode("div",Fe,[t.createElementVNode("div",Ue,[t.createElementVNode("span",null,t.toDisplayString(f.value),1),t.createVNode(C,{modelValue:f.value,"onUpdate:modelValue":r[0]||(r[0]=x=>f.value=x),style:{width:"100px","margin-right":"4px",height:"25px"},size:"small",class:"element-dark","popper-class":"element-dark"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.indicatorStore.subIndicatorList,(x,Q)=>(t.openBlock(),t.createBlock(u,{key:Q,label:x.label,value:x.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),t.createVNode(ie,{data:V.value},null,8,["data"])]),t.createElementVNode("div",{ref_key:"subChartRef",ref:O,class:"chart"},null,512)])):t.createCommentVNode("",!0),a.userKlineConfig.enable_sliderChart?(t.openBlock(),t.createElementBlock("div",Ve,[t.createVNode(ve,{ref_key:"sliderChartRef",ref:p,screenTimeRange:o.value,varietyCode:a.varietyCode,varietyStock:a.varietyStock,rightType:a.rightType,klineType:a.klineType,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission,onChange:De},null,8,["screenTimeRange","varietyCode","varietyStock","rightType","klineType","deleteFirstNumber","withoutPermission"])])):t.createCommentVNode("",!0),n.value.time.length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(w,{key:2,class:"empty",description:"暂无数据"}))],32)),[[I,L.value]])}}},_e=oe._export_sfc(Be,[["__scopeId","data-v-402d6033"]]),He={install(a){a.component("st-klinePlus",_e)}};module.exports=He;
|