st-comp 0.0.130 → 0.0.132

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.
@@ -1 +1 @@
1
- "use strict";const T=require("./base-ec05f348.cjs");require("./el-tag-3b03d13e.cjs");const L=require("./el-select-928f8c19.cjs");require("./el-scrollbar-d1c3e7f7.cjs");const X=require("./el-popper-f62316cd.cjs"),Y=require("./el-form-item-7d32befa.cjs"),P=require("./el-table-column-dd8b62aa.cjs"),e=require("vue"),J=require("./el-overlay-891dcc40.cjs"),ee=require("./el-input-6c6f5bda.cjs"),te=require("./el-input-number-0524d787.cjs");require("./el-tooltip-0ea8fbf8.cjs");const le=require("./el-button-196807af.cjs"),D=require("./use-form-common-props-1b84d8f4.cjs"),R=require("./el-message-562e923d.cjs"),K=require("./_plugin-vue_export-helper-f246444f.cjs"),ne=require("./index-80a2b137.cjs"),G=require("./event-61f49698.cjs"),de=require("./index-8a0b1c53.cjs");require("./castArray-a45823fe.cjs");require("./index-e1e83173.cjs");require("./scroll-41224831.cjs");require("./debounce-b2ff12bd.cjs");require("./raf-8fc301fd.cjs");require("./vnode-7fbc61e1.cjs");require("./refs-d00b710b.cjs");require("./typescript-b63f8e83.cjs");require("./index-eea0bcb3.cjs");require("./config-provider-7cdfca4d.cjs");const ae=T.buildProps({modelValue:{type:[String,Number,Boolean],default:void 0},size:D.useSizeProp,disabled:Boolean,label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),pe=T.buildProps({...ae,border:Boolean}),oe={[G.UPDATE_MODEL_EVENT]:s=>T.isString(s)||T.isNumber(s)||T.isBoolean(s),[G.CHANGE_EVENT]:s=>T.isString(s)||T.isNumber(s)||T.isBoolean(s)},re=Symbol("radioGroupKey"),ue=(s,y)=>{const m=e.ref(),a=e.inject(re,void 0),f=e.computed(()=>!!a),B=e.computed(()=>T.isPropAbsent(s.value)?s.label:s.value),r=e.computed({get(){return f.value?a.modelValue:s.modelValue},set(u){f.value?a.changeEvent(u):y&&y(G.UPDATE_MODEL_EVENT,u),m.value.checked=s.modelValue===B.value}}),n=D.useFormSize(e.computed(()=>a==null?void 0:a.size)),w=D.useFormDisabled(e.computed(()=>a==null?void 0:a.disabled)),S=e.ref(!1),O=e.computed(()=>w.value||f.value&&r.value!==B.value?-1:0);return de.useDeprecated({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},e.computed(()=>f.value&&T.isPropAbsent(s.value))),{radioRef:m,isGroup:f,radioGroup:a,focus:S,size:n,disabled:w,tabIndex:O,modelValue:r,actualValue:B}},me=e.defineComponent({name:"ElRadio"}),fe=e.defineComponent({...me,props:pe,emits:oe,setup(s,{emit:y}){const m=s,a=T.useNamespace("radio"),{radioRef:f,radioGroup:B,focus:r,size:n,disabled:w,modelValue:S,actualValue:O}=ue(m,y);function u(){e.nextTick(()=>y("change",S.value))}return(i,d)=>{var o;return e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass([e.unref(a).b(),e.unref(a).is("disabled",e.unref(w)),e.unref(a).is("focus",e.unref(r)),e.unref(a).is("bordered",i.border),e.unref(a).is("checked",e.unref(S)===e.unref(O)),e.unref(a).m(e.unref(n))])},[e.createElementVNode("span",{class:e.normalizeClass([e.unref(a).e("input"),e.unref(a).is("disabled",e.unref(w)),e.unref(a).is("checked",e.unref(S)===e.unref(O))])},[e.withDirectives(e.createElementVNode("input",{ref_key:"radioRef",ref:f,"onUpdate:modelValue":t=>e.isRef(S)?S.value=t:null,class:e.normalizeClass(e.unref(a).e("original")),value:e.unref(O),name:i.name||((o=e.unref(B))==null?void 0:o.name),disabled:e.unref(w),checked:e.unref(S)===e.unref(O),type:"radio",onFocus:t=>r.value=!0,onBlur:t=>r.value=!1,onChange:u,onClick:e.withModifiers(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","checked","onFocus","onBlur","onClick"]),[[e.vModelRadio,e.unref(S)]]),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("inner"))},null,2)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("label")),onKeydown:e.withModifiers(()=>{},["stop"])},[e.renderSlot(i.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(i.label),1)])],42,["onKeydown"])],2)}}});var ve=T._export_sfc(fe,[["__file","radio.vue"]]);const ke=T.buildProps({...ae}),ge=e.defineComponent({name:"ElRadioButton"}),ye=e.defineComponent({...ge,props:ke,setup(s){const y=s,m=T.useNamespace("radio"),{radioRef:a,focus:f,size:B,disabled:r,modelValue:n,radioGroup:w,actualValue:S}=ue(y),O=e.computed(()=>({backgroundColor:(w==null?void 0:w.fill)||"",borderColor:(w==null?void 0:w.fill)||"",boxShadow:w!=null&&w.fill?`-1px 0 0 0 ${w.fill}`:"",color:(w==null?void 0:w.textColor)||""}));return(u,i)=>{var d;return e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass([e.unref(m).b("button"),e.unref(m).is("active",e.unref(n)===e.unref(S)),e.unref(m).is("disabled",e.unref(r)),e.unref(m).is("focus",e.unref(f)),e.unref(m).bm("button",e.unref(B))])},[e.withDirectives(e.createElementVNode("input",{ref_key:"radioRef",ref:a,"onUpdate:modelValue":o=>e.isRef(n)?n.value=o:null,class:e.normalizeClass(e.unref(m).be("button","original-radio")),value:e.unref(S),type:"radio",name:u.name||((d=e.unref(w))==null?void 0:d.name),disabled:e.unref(r),onFocus:o=>f.value=!0,onBlur:o=>f.value=!1,onClick:e.withModifiers(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","onFocus","onBlur","onClick"]),[[e.vModelRadio,e.unref(n)]]),e.createElementVNode("span",{class:e.normalizeClass(e.unref(m).be("button","inner")),style:e.normalizeStyle(e.unref(n)===e.unref(S)?e.unref(O):{}),onKeydown:e.withModifiers(()=>{},["stop"])},[e.renderSlot(u.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(u.label),1)])],46,["onKeydown"])],2)}}});var se=T._export_sfc(ye,[["__file","radio-button.vue"]]);const Ve=T.buildProps({id:{type:String,default:void 0},size:D.useSizeProp,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},...X.useAriaProps(["ariaLabel"])}),be=oe,_e=e.defineComponent({name:"ElRadioGroup"}),he=e.defineComponent({..._e,props:Ve,emits:be,setup(s,{emit:y}){const m=s,a=T.useNamespace("radio"),f=T.useId(),B=e.ref(),{formItem:r}=D.useFormItem(),{inputId:n,isLabeledByFormItem:w}=D.useFormItemInputId(m,{formItemContext:r}),S=u=>{y(G.UPDATE_MODEL_EVENT,u),e.nextTick(()=>y("change",u))};e.onMounted(()=>{const u=B.value.querySelectorAll("[type=radio]"),i=u[0];!Array.from(u).some(d=>d.checked)&&i&&(i.tabIndex=0)});const O=e.computed(()=>m.name||f.value);return e.provide(re,e.reactive({...e.toRefs(m),changeEvent:S,name:O})),e.watch(()=>m.modelValue,()=>{m.validateEvent&&(r==null||r.validate("change").catch(u=>T.debugWarn(u)))}),(u,i)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(n),ref_key:"radioGroupRef",ref:B,class:e.normalizeClass(e.unref(a).b("group")),role:"radiogroup","aria-label":e.unref(w)?void 0:u.ariaLabel||"radio-group","aria-labelledby":e.unref(w)?e.unref(r).labelId:void 0},[e.renderSlot(u.$slots,"default")],10,["id","aria-label","aria-labelledby"]))}});var ie=T._export_sfc(he,[["__file","radio-group.vue"]]);const Q=T.withInstall(ve,{RadioButton:se,RadioGroup:ie}),Z=T.withNoopInstall(ie),xe=T.withNoopInstall(se);const H={varietyMarket:{show:!0,options:[{label:"ETF",value:2,memo:[]},{label:"A股",value:3,memo:[4,6,12,14,15]},{label:"期货",value:4,memo:[1,2,3,5,7,8,9,10]},{label:"港股",value:5,memo:[4,6,14]},{label:"外盘",value:6,memo:[1,2,3,5,7,8,9,10]},{label:"美股",value:7,memo:[4,6,14]},{label:"期权",value:8,memo:[11]}]},commonOption:{show:!0,options:[{label:"个股",value:14},{label:"期货主连",value:1},{label:"期货主力",value:2},{label:"期货加权",value:3},{label:"常用股票指数",value:4},{label:"期货收益率指数",value:5},{label:"行业板块指数",value:6},{label:"期货次主连",value:7},{label:"期货次主力",value:8},{label:"期货板块收益率指数",value:9},{label:"期货板块加权指数",value:10},{label:"期权",value:11},{label:"价差板块指数",value:12},{label:"概念板块指数",value:15}]},marketIds:{show:!0,options:[]},customTag:{show:!0,options:[]},jcTranslate:{show:!0,jcOptions:[{label:"恒指",value:"HZCFJC"},{label:"恒生科技",value:"HSKJJC"},{label:"上证50",value:"SZ50CFJC"},{label:"沪深300",value:"HS300CFJC"},{label:"中证500",value:"ZZ500CFJC"},{label:"中证1000",value:"ZZ1000JC"}]},factorScreen:{show:!0,sqlShow:!1,cycleShow:!0,cycleDefault:null,cycleOptions:[],factorOptions:[],factorDescriptions:[]},commonIndicator:{show:!0,options:[{key:"marketCapital",label:"总市值",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,10],unit:["亿","亿"],text:"≤10亿"},{range:[null,25],unit:["亿","亿"],text:"≤25亿"},{range:[null,50],unit:["亿","亿"],text:"≤50亿"},{range:[20,50],unit:["亿","亿"],text:"20亿~50亿"},{range:[100,null],unit:["亿","亿"],text:"≥100亿"},{range:[200,null],unit:["亿","亿"],text:"≥200亿"},{range:[500,null],unit:["亿","亿"],text:"≥500亿"},{range:[1e3,null],unit:["亿","亿"],text:"≥1000亿"}],defaultUnit:["亿","亿"],unitOptions:["元","千万","亿"]},{key:"floatMarketCapital",label:"流通市值",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,5],unit:["亿","亿"],text:"≤5亿"},{range:[null,20],unit:["亿","亿"],text:"≤20亿"},{range:[null,50],unit:["亿","亿"],text:"≤50亿"},{range:[null,100],unit:["亿","亿"],text:"≤100亿"},{range:[100,null],unit:["亿","亿"],text:"≥100亿"},{range:[200,null],unit:["亿","亿"],text:"≥200亿"},{range:[500,null],unit:["亿","亿"],text:"≥500亿"},{range:[1e3,null],unit:["亿","亿"],text:"≥1000亿"}],defaultUnit:["亿","亿"],unitOptions:["元","千万","亿"]},{key:"totalShares",label:"总股本",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,5],unit:["亿","亿"],text:"≤5亿"},{range:[null,10],unit:["亿","亿"],text:"≤10亿"},{range:[null,75],unit:["亿","亿"],text:"≤75亿"},{range:[10,75],unit:["亿","亿"],text:"10亿~75亿"},{range:[100,null],unit:["亿","亿"],text:"≥100亿"}],defaultUnit:["亿","亿"],unitOptions:["元","千万","亿"]},{key:"freeFloatShares",label:"流通股本",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,5],unit:["千万","千万"],text:"≤5千万"},{range:[5,3],unit:["千万","亿"],text:"5千万~3亿"},{range:[null,5],unit:["亿","亿"],text:"≤5亿"},{range:[null,10],unit:["亿","亿"],text:"≤10亿"},{range:[8,30],unit:["亿","亿"],text:"8亿~30亿"},{range:[30,null],unit:["亿","亿"],text:"≥30亿"}],defaultUnit:["亿","亿"],unitOptions:["元","千万","亿"]},{key:"turnoverRate",label:"换手率(实)",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,1],unit:["%","%"],text:"≤1%"},{range:[1,5],unit:["%","%"],text:"1%~5%"},{range:[5,10],unit:["%","%"],text:"5%~10%"},{range:[10,null],unit:["%","%"],text:"≥10%"}],defaultUnit:["%","%"],unitOptions:["%"]},{key:"peTtm",label:"市盈率",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,0],unit:[],text:"亏损"},{range:[0,null],unit:[],text:"≥0"},{range:[0,20],unit:[],text:"0~20"},{range:[20,40],unit:[],text:"20~40"},{range:[40,100],unit:[],text:"40~100"},{range:[100,null],unit:[],text:"≥100"}],defaultUnit:[],unitOptions:[]},{key:"eps",label:"每股净收益",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,0],unit:["元","元"],text:"≤0"},{range:[0,null],unit:["元","元"],text:"≥0"},{range:[.2,null],unit:["元","元"],text:"≥0.2元"},{range:[.5,null],unit:["元","元"],text:"≥0.5元"},{range:[1,null],unit:["元","元"],text:"≥1元"},{range:[2,null],unit:["元","元"],text:"≥2元"}],defaultUnit:["元","元"],unitOptions:["元"]},{key:"st",label:"是否ST",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},type:"custom"},{key:"pb",label:"市净率",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[0,null],unit:[],text:"≥0"},{range:[0,1],unit:[],text:"0~1"},{range:[1,2],unit:[],text:"1~2"},{range:[0,3],unit:[],text:"0~3"},{range:[3,null],unit:[],text:"≥3"}],defaultUnit:[],unitOptions:[]},{key:"mnShr",label:"成交额",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[0,1],unit:["亿","亿"],text:"0~1亿"},{range:[0,5],unit:["亿","亿"],text:"0~5亿"},{range:[0,10],unit:["亿","亿"],text:"0~10亿"},{range:[10,null],unit:["亿","亿"],text:"≥10亿"},{range:[50,null],unit:["亿","亿"],text:"≥50亿"},{range:[100,null],unit:["亿","亿"],text:"≥100亿"}],defaultUnit:["亿","亿"],unitOptions:["元","千万","亿"],showRankType:!0,defaultRadioType:"1",defaultRankRange:[0,25]},{key:"roe",label:"净资产收益率roe",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,0],unit:["%","%"],text:"<0"},{range:[0,null],unit:["%","%"],text:">0"},{range:[10,null],unit:["%","%"],text:">10%"},{range:[15,null],unit:["%","%"],text:">15%"},{range:[20,null],unit:["%","%"],text:">20%"},{range:[30,null],unit:["%","%"],text:">30%"}],defaultUnit:["%","%"],unitOptions:["%"]},{key:"tFeaturelncomes",label:"净利润",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},type:"custom"},{key:"dividendYield",label:"股息率",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,1],unit:["%","%"],text:"≤1%"},{range:[1,5],unit:["%","%"],text:"1%~5%"},{range:[5,10],unit:["%","%"],text:"5%~10%"},{range:[10,null],unit:["%","%"],text:"≥10%"}],defaultUnit:["%","%"],unitOptions:["%"]},{key:"priceLevels",label:"股价分位",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},type:"custom"},{key:"peTtmLevels",label:"市盈率分位",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},type:"custom"},{key:"expireDays",label:"过期天数",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:["天","天"],unitOptions:["天"]},{key:"virtualRealDegree",label:"虚实度",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:["%","%"],unitOptions:["%"]},{key:"yearProfitRate",label:"年化收益率",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:["%","%"],unitOptions:["%"]},{key:"impliedVolatility",label:"隐含波动率",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:["%","%"],unitOptions:["%"]},{key:"levelMultiplier",label:"杠杆率",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:[],unitOptions:[]},{key:"turnover",label:"成交额(期权)",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:["万","万"],unitOptions:["万"],showRankType:!0,defaultRadioType:"1",defaultRankRange:[0,25]},{key:"volume",label:"成交量",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:[],unitOptions:[],showRankType:!0,defaultRadioType:"1",defaultRankRange:[0,25]},{key:"openInterest",label:"持仓量",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:[],unitOptions:[],showRankType:!0,defaultRadioType:"1",defaultRankRange:[0,25]},{key:"optionsCpType",label:"认沽认购",parent:{varietyMarketIds:[8],commonOptionIds:[11]},type:"custom"},{key:"optionGear",label:"期权档位",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:[],unitOptions:[]}]}},Ne=(s,y,m)=>{!y[0]&&y[0]!==0&&!y[1]&&y[1]!==0?m(new Error("至少填写一个分数")):m()},W=s=>{const y=/(条件(\d+))/g;return s.match(y)||[]},we={__name:"FactorDescription",props:e.mergeModels({data:{type:Array,default:[]}},{visible:{default:!1},visibleModifiers:{}}),emits:["update:visible"],setup(s){const y=e.useModel(s,"visible");return(m,a)=>{const f=P.ElTableColumn,B=P.ElTable,r=J.ElDialog;return e.openBlock(),e.createBlock(r,{modelValue:y.value,"onUpdate:modelValue":a[0]||(a[0]=n=>y.value=n),title:"因子使用说明",width:"1000","align-center":"","destroy-on-close":""},{default:e.withCtx(()=>[e.createVNode(B,{data:s.data,border:"",height:"500"},{default:e.withCtx(()=>[e.createVNode(f,{prop:"factorName",label:"因子名称",width:"200"}),e.createVNode(f,{prop:"factorDesc",label:"因子说明"}),e.createVNode(f,{prop:"factorScoreDefine",label:"分值定义"})]),_:1},8,["data"])]),_:1},8,["modelValue"])}}};const ce=s=>(e.pushScopeId("data-v-ef576faa"),s=s(),e.popScopeId(),s),Ee={class:"factor-screen"},Ce={class:"custom-header"},Be=["id"],Oe={class:"form-row"},Ie={class:"index"},Te={style:{display:"flex","align-items":"center",width:"100%",height:"24px"}},$e=ce(()=>e.createElementVNode("span",null,"~",-1)),Se=ce(()=>e.createElementVNode("span",null,"&&代表and,||代表or",-1)),qe={class:"dialog-footer"},Me={__name:"index",props:e.mergeModels({config:{type:Object,default:{sqlShow:!1,cycleShow:!0,cycleDefault:null,cycleOptions:[],factorOptions:[],factorDescriptions:[]}}},{data:{default:{list:[],sqlEnable:0,sqlValue:null}},dataModifiers:{}}),emits:["update:data"],setup(s){const y=s,m=e.useModel(s,"data"),a=e.ref(!1),f=e.ref(!1),B=e.ref(null),r=e.ref({list:[{cycle:y.config.cycleDefault??null,factor:null,score:[null,null]}],sqlEnable:0,sqlValue:null}),n=()=>{const{list:o,sqlEnable:t,sqlValue:v}=m.value;r.value={list:JSON.parse(JSON.stringify(o)),sqlEnable:t,sqlValue:v},r.value.list.length||O(),a.value=!0},w=()=>{B.value.validate(o=>{const{list:t,sqlEnable:v,sqlValue:b}=r.value;if(o){if(v){if(!b)return R.ElMessage.error("SQL语句不能为空");const g=W(b),E=t.map((p,N)=>`条件${N+1}`),_=g.filter(p=>!E.includes(p));if(_.length)return R.ElMessage.error(`请检查SQL语句, 不存在[${_}]`)}m.value={list:JSON.parse(JSON.stringify(t)),sqlEnable:v,sqlValue:b},a.value=!1}})},S=o=>{r.value.list.splice(o,1)},O=o=>{switch(o){case"compare":{r.value.list.push({key:"compare",cycle:y.config.cycleDefault??null,factor:null,compareType:">",cycle2:y.config.cycleDefault??null,factor2:null});break}default:{r.value.list.push({cycle:y.config.cycleDefault??null,factor:null,score:[null,null]});break}}},u=()=>{B.value.validate(o=>{if(o)if(r.value.sqlValue){const t=W(r.value.sqlValue);r.value.sqlValue=r.value.list.reduce((v,b,g)=>(t.includes(`条件${g+1}`)||(v+=`&& 条件${g+1} `),v),r.value.sqlValue)}else r.value.sqlValue=r.value.list.reduce((t,v,b)=>(b===0?t+=`条件${b+1} `:t+=`&& 条件${b+1} `,t),"")})},i=o=>{switch(o.key){case"compare":{const{cycle:t,factor:v,compareType:b,cycle2:g,factor2:E}=o;let _="";return _+=` ${y.config.cycleOptions.find(({value:p})=>p===t).label}`,_+=` ${y.config.factorOptions.find(({value:p})=>p===v).label}`,_+=` ${b}`,_+=` ${y.config.cycleOptions.find(({value:p})=>p===g).label}`,_+=` ${y.config.factorOptions.find(({value:p})=>p===E).label}`,_}default:{const{cycle:t,factor:v,score:b}=o;let g="";return g+=` ${y.config.cycleOptions.find(({value:E})=>E===t).label}`,g+=` ${y.config.factorOptions.find(({value:E})=>E===v).label}`,g+=` ${b[0]||b[0]===0?`${b[0]}分`:"∞"}`,g+=" ~",g+=` ${b[1]||b[1]===0?`${b[1]}分`:"∞"}`,g}}},d=(o,t)=>{switch(o){case"sqlTag":{m.value={list:[],sqlEnable:0,sqlValue:null};break}case"factorTag":{m.value.list.splice(t,1);break}}};return(o,t)=>{var z;const v=Y.ElText,b=ne.ElTag,g=le.ElButton,E=D.ElIcon,_=X.ElTooltip,p=L.ElOption,N=L.ElSelect,C=Y.ElFormItem,h=te.ElInputNumber,k=Q,l=Z,c=ee.ElInput,U=Y.ElForm,M=J.ElDialog;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Ee,[e.createElementVNode("div",null,[m.value.sqlEnable&&m.value.sqlValue?(e.openBlock(),e.createBlock(b,{key:0,closable:"",type:"info",title:m.value.sqlValue,onClose:t[0]||(t[0]=x=>d("sqlTag"))},{default:e.withCtx(()=>[e.createVNode(v,{type:"info",truncated:"",style:{"max-width":"500px"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.sqlValue),1)]),_:1})]),_:1},8,["title"])):e.createCommentVNode("",!0),!m.value.sqlEnable&&m.value.list.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(m.value.list,(x,q)=>(e.openBlock(),e.createBlock(b,{closable:"",type:"info",onClose:V=>d("factorTag",q)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i(x)),1)]),_:2},1032,["onClose"]))),256)):e.createCommentVNode("",!0),e.createVNode(g,{class:"screen-btn",type:"primary",plain:"",size:"small",icon:e.unref(D.plus_default),onClick:n},{default:e.withCtx(()=>[e.createTextVNode(" 添加因子 ")]),_:1},8,["icon"])]),e.createVNode(M,{modelValue:a.value,"onUpdate:modelValue":t[5]||(t[5]=x=>a.value=x),width:"602","align-center":"","destroy-on-close":""},{header:e.withCtx(({titleId:x,titleClass:q})=>[e.createElementVNode("div",Ce,[e.createElementVNode("span",{id:x,class:e.normalizeClass(q)}," 因子筛选 ",10,Be),e.createVNode(_,{effect:"dark",content:"点击查看: 因子使用说明",placement:"right"},{default:e.withCtx(()=>[e.createVNode(E,{onClick:t[1]||(t[1]=V=>f.value=!0)},{default:e.withCtx(()=>[e.createVNode(e.unref(D.info_filled_default))]),_:1})]),_:1})])]),footer:e.withCtx(()=>[e.createElementVNode("div",qe,[e.createVNode(g,{type:"primary",onClick:w},{default:e.withCtx(()=>[e.createTextVNode("确定")]),_:1})])]),default:e.withCtx(()=>[e.createVNode(U,{ref_key:"dialogFormRef",ref:B,model:r.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value.list,(x,q)=>(e.openBlock(),e.createElementBlock("div",Oe,[e.createElementVNode("span",Ie,e.toDisplayString(`条件${q+1}`),1),x.key==="compare"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[s.config.cycleShow?(e.openBlock(),e.createBlock(C,{key:0,prop:"list."+q+".cycle",rules:{required:!0,message:"周期不能为空",trigger:"blur"},style:{width:"100px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(N,{modelValue:x.cycle,"onUpdate:modelValue":V=>x.cycle=V,placeholder:"选择周期",size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.config.cycleOptions,({label:V,value:I})=>(e.openBlock(),e.createBlock(p,{label:V,value:I,key:I},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"])):e.createCommentVNode("",!0),e.createVNode(C,{prop:"list."+q+".factor",rules:{required:!0,message:"因子不能为空",trigger:"blur"},style:{width:"100px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(N,{modelValue:x.factor,"onUpdate:modelValue":V=>x.factor=V,placeholder:"选择因子",filterable:"",size:"small","no-match-text":"无匹配数据"},{default:e.withCtx(()=>{var V;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList((V=s.config.factorOptions)==null?void 0:V.filter(I=>[4].includes(I.type)),({label:I,value:$})=>(e.openBlock(),e.createBlock(p,{label:I,value:$,key:$},null,8,["label","value"]))),128))]}),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"]),e.createVNode(C,{style:{width:"52px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(N,{modelValue:x.compareType,"onUpdate:modelValue":V=>x.compareType=V,size:"small"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([">",">=","<","<="],V=>e.createVNode(p,{label:V,value:V,key:V},null,8,["label","value"])),64))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),s.config.cycleShow?(e.openBlock(),e.createBlock(C,{key:1,prop:"list."+q+".cycle2",rules:{required:!0,message:"周期不能为空",trigger:"blur"},style:{width:"100px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(N,{modelValue:x.cycle2,"onUpdate:modelValue":V=>x.cycle2=V,placeholder:"选择周期",size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.config.cycleOptions,({label:V,value:I})=>(e.openBlock(),e.createBlock(p,{label:V,value:I,key:I},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"])):e.createCommentVNode("",!0),e.createVNode(C,{prop:"list."+q+".factor2",rules:{required:!0,message:"因子不能为空",trigger:"blur"},style:{width:"100px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(N,{modelValue:x.factor2,"onUpdate:modelValue":V=>x.factor2=V,placeholder:"选择因子",filterable:"",size:"small","no-match-text":"无匹配数据"},{default:e.withCtx(()=>{var V;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList((V=s.config.factorOptions)==null?void 0:V.filter(I=>[4].includes(I.type)),({label:I,value:$})=>(e.openBlock(),e.createBlock(p,{label:I,value:$,key:$},null,8,["label","value"]))),128))]}),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[s.config.cycleShow?(e.openBlock(),e.createBlock(C,{key:0,prop:"list."+q+".cycle",rules:{required:!0,message:"周期不能为空",trigger:"blur"},style:{width:"100px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(N,{modelValue:x.cycle,"onUpdate:modelValue":V=>x.cycle=V,placeholder:"选择周期",size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.config.cycleOptions,({label:V,value:I})=>(e.openBlock(),e.createBlock(p,{label:V,value:I,key:I},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"])):e.createCommentVNode("",!0),e.createVNode(C,{prop:"list."+q+".factor",rules:{required:!0,message:"因子不能为空",trigger:"blur"},style:{width:"100px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(N,{modelValue:x.factor,"onUpdate:modelValue":V=>x.factor=V,placeholder:"选择因子",filterable:"",size:"small","no-match-text":"无匹配数据"},{default:e.withCtx(()=>{var V;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList((V=s.config.factorOptions)==null?void 0:V.filter(I=>[1,3].includes(I.type)),({label:I,value:$})=>(e.openBlock(),e.createBlock(p,{label:I,value:$,key:$},null,8,["label","value"]))),128))]}),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"]),e.createVNode(C,{prop:"list."+q+".score",rules:{validator:e.unref(Ne),trigger:"blur"},style:{width:"200px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createElementVNode("div",Te,[e.createVNode(h,{modelValue:x.score[0],"onUpdate:modelValue":V=>x.score[0]=V,size:"small","controls-position":"right"},null,8,["modelValue","onUpdate:modelValue"]),$e,e.createVNode(h,{modelValue:x.score[1],"onUpdate:modelValue":V=>x.score[1]=V,size:"small","controls-position":"right"},null,8,["modelValue","onUpdate:modelValue"])])]),_:2},1032,["prop","rules"])],64)),e.createVNode(E,{onClick:V=>S(q)},{default:e.withCtx(()=>[e.createVNode(e.unref(D.circle_close_filled_default))]),_:2},1032,["onClick"])]))),256)),e.createVNode(g,{type:"primary",plain:"",size:"small",icon:e.unref(D.plus_default),onClick:O,style:{"margin-bottom":"10px"}},{default:e.withCtx(()=>[e.createTextVNode("添加因子")]),_:1},8,["icon"]),e.createVNode(g,{type:"primary",plain:"",size:"small",icon:e.unref(D.plus_default),onClick:t[2]||(t[2]=x=>O("compare")),style:{"margin-bottom":"10px"}},{default:e.withCtx(()=>[e.createTextVNode("添加因子对比")]),_:1},8,["icon"]),s.config.sqlShow?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(C,{label:"SQL功能: "},{default:e.withCtx(()=>[e.createVNode(l,{modelValue:r.value.sqlEnable,"onUpdate:modelValue":t[3]||(t[3]=x=>r.value.sqlEnable=x)},{default:e.withCtx(()=>[e.createVNode(k,{label:"关闭",value:0}),e.createVNode(k,{label:"启用",value:1})]),_:1},8,["modelValue"]),r.value.sqlEnable?(e.openBlock(),e.createBlock(g,{key:0,type:"primary",size:"small",onClick:u,style:{"margin-left":"auto"}},{default:e.withCtx(()=>[e.createTextVNode("生成SQL")]),_:1})):e.createCommentVNode("",!0)]),_:1}),r.value.sqlEnable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(c,{modelValue:r.value.sqlValue,"onUpdate:modelValue":t[4]||(t[4]=x=>r.value.sqlValue=x),autosize:{minRows:4},type:"textarea",style:{"margin-bottom":"10px"}},null,8,["modelValue"]),Se],64)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue"])]),e.createVNode(we,{visible:f.value,"onUpdate:visible":t[6]||(t[6]=x=>f.value=x),data:(z=s.config.factorDescriptions)==null?void 0:z.filter(x=>[1,3].includes(x.type))},null,8,["visible","data"])],64)}}},Ue=K._export_sfc(Me,[["__scopeId","data-v-ef576faa"]]);const A=s=>(e.pushScopeId("data-v-bdb03941"),s=s(),e.popScopeId(),s),Fe={key:0,class:"common-indicator"},Re={class:"indicator"},De=A(()=>e.createElementVNode("div",{class:"title"},[e.createElementVNode("span",null,"常用指标: "),e.createElementVNode("span",null,"不限")],-1)),Le={class:"options"},je=["onClick"],ze={class:"tags"},Pe=["onClick"],Ge={style:{"font-size":"18px"}},Ae={key:0,class:"out-box"},Ye=A(()=>e.createElementVNode("span",null,"自定义: ",-1)),Je={key:0,class:"convenient-option-box"},Ke={class:"out-box"},Qe=A(()=>e.createElementVNode("span",null,"自定义: ",-1)),Ze={key:0},He={key:0},We={key:0},Xe={key:1},et={class:"tFeaturelncomes-option-box"},tt={class:"tFeaturelncomes-out-box"},lt=A(()=>e.createElementVNode("span",null,"自定义: ",-1)),nt={key:2},at={key:3},ot={key:4},rt={class:"dialog-footer"},ut={__name:"index",props:e.mergeModels({config:{type:Object,default:()=>{}},varietyMarket:{type:Number,default:()=>null},commonOption:{type:Array,default:()=>[]}},{data:{default:[]},dataModifiers:{}}),emits:["update:data"],setup(s){const y=e.useModel(s,"data"),m=s,a=e.ref(!1),f=e.computed(()=>{var o;return(o=m.data.find(t=>t.radioType==="1"))==null?void 0:o.key}),B=e.computed(()=>{let o=[];return m.varietyMarket===null&&!m.commonOption.length?o=m.config.options:(o=m.config.options,m.varietyMarket&&(o=o.filter(({parent:t})=>t.varietyMarketIds.includes(m.varietyMarket))),m.commonOption.length&&(o=o.filter(({parent:t})=>{const{commonOptionIds:v}=t;return[...new Set([...v,...m.commonOption])].length!==[...v,...m.commonOption].length}))),o}),r=e.ref({}),n=e.ref({}),w=o=>{r.value=o;const t={key:o.key,type:o.type,label:o.label};switch(o.key){case"st":{n.value={...t,st:null};break}case"tFeaturelncomes":{n.value={...t,rule:1,withFewYears:null,yearsCount:null,netProfit:null};break}case"priceLevels":{n.value={...t,priceLevels:null};break}case"peTtmLevels":{n.value={...t,peTtmLevels:null};break}case"optionsCpType":{n.value={...t,optionsCpType:null};break}default:n.value={...t,range:[null,null],unit:o.defaultUnit.length?[...o.defaultUnit]:[null,null],radioType:f.value&&f.value!==o.key?"0":o.defaultRadioType,rankRange:o.defaultRankRange||[null,null]}}a.value=!0},S=()=>{switch(n.value.key){case"st":{const{label:t,st:v}=n.value;if(v===null)return R.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${t}: ${v?"是":"否"}`;break}case"tFeaturelncomes":{const{label:t,rule:v,withFewYears:b,yearsCount:g,netProfit:E}=n.value;if(["",null].includes(b)||["",null].includes(g)||["",null].includes(E))return R.ElMessage.warning("格式错误: 请填写完整");n.value.tagText=`${t}: ${b}年内${g}年以上盈利${v===1?"超":"跌"}过${E}亿`;break}case"priceLevels":{const{label:t,priceLevels:v}=n.value;if(!v||v.length===0)return R.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${t}: 已选${v}分位`;break}case"peTtmLevels":{const{label:t,peTtmLevels:v}=n.value;if(!v||v.length===0)return R.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${t}: 已选${v}分位`;break}case"optionsCpType":{const{label:t,optionsCpType:v}=n.value;if(v===null)return R.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${t}: ${v===1?"看涨":"看跌"}`;break}default:{const{label:t,unit:v,radioType:b}=n.value,g=b==="1"?n.value.rankRange:n.value.range;if(["",null].includes(g[0])&&["",null].includes(g[1]))return R.ElMessage.warning("格式错误: 请至少填写一个值");if(b==="1"){const p=Number(g[0]),N=Number(g[1]);if(isNaN(p)||isNaN(N))return R.ElMessage.warning("格式错误: 请填写数字");if(p<0||N<0)return R.ElMessage.warning("格式错误: 请填写大于0的数字");if(p>N)return R.ElMessage.warning("格式错误: 请填写正确的排名范围")}const E=b==="1"?"":v[0]??"",_=b==="1"?"":v[1]??"";!["",null].includes(g[0])&&!["",null].includes(g[1])?n.value.tagText=`${t}${b==="1"?"排名":""}: ${g[0]}${E} ~ ${g[1]}${_}`:["",null].includes(g[0])?n.value.tagText=`${t}${b==="1"?"排名":""}: ≤${g[1]}${_}`:n.value.tagText=`${t}${b==="1"?"排名":""}: ≥${g[0]}${E}`}}const o=y.value.findIndex(({key:t})=>t===n.value.key);o===-1?y.value.push(n.value):y.value.splice(o,1,n.value),a.value=!1},O=o=>{r.value=B.value.find(({key:t})=>t===o.key),n.value=JSON.parse(JSON.stringify(o)),a.value=!0},u=o=>{y.value.splice(o,1)},i=o=>{n.value.range=[...o.range],n.value.unit=[...o.unit]},d=o=>{switch(o){case"≤0":Object.assign(n.value,{rule:2,withFewYears:1,yearsCount:1,netProfit:0});break;case"≥0":Object.assign(n.value,{rule:1,withFewYears:1,yearsCount:1,netProfit:0});break;case"五年内有四年以上盈利超过5千万":Object.assign(n.value,{rule:1,withFewYears:5,yearsCount:4,netProfit:.5});break;case"≥10亿":Object.assign(n.value,{rule:1,withFewYears:1,yearsCount:1,netProfit:10});break;case"≥20亿":Object.assign(n.value,{rule:1,withFewYears:1,yearsCount:1,netProfit:20});break}};return e.watch(()=>B.value,()=>{y.value.length&&(y.value=y.value.filter(({key:o})=>B.value.find(t=>t.key===o)))}),(o,t)=>{const v=ne.ElTag,b=xe,g=Z,E=ee.ElInput,_=le.ElButton,p=L.ElOption,N=L.ElSelect,C=Q,h=te.ElInputNumber,k=J.ElDialog;return s.config.show&&B.value.length?(e.openBlock(),e.createElementBlock("div",Fe,[e.createElementVNode("div",Re,[De,e.createElementVNode("div",Le,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,l=>(e.openBlock(),e.createElementBlock("span",{key:l.key,onClick:c=>w(l)},e.toDisplayString(l.label),9,je))),128))])]),e.createElementVNode("div",ze,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(l,c)=>(e.openBlock(),e.createBlock(v,{closable:"",type:"info",onClose:U=>u(c)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(l.tagText),1),e.createElementVNode("span",{class:"edit",onClick:U=>O(l)},"编辑",8,Pe)]),_:2},1032,["onClose"]))),256))]),e.createVNode(k,{modelValue:a.value,"onUpdate:modelValue":t[19]||(t[19]=l=>a.value=l),title:r.value.label,width:"600","align-center":"","destroy-on-close":""},e.createSlots({footer:e.withCtx(()=>[e.createElementVNode("div",rt,[e.createVNode(_,{type:"primary",onClick:S},{default:e.withCtx(()=>[e.createTextVNode("确定")]),_:1})])]),default:e.withCtx(()=>[r.value.type===void 0&&n.value.radioType==="1"?(e.openBlock(),e.createElementBlock("div",Ae,[Ye,e.createVNode(E,{modelValue:n.value.rankRange[0],"onUpdate:modelValue":t[1]||(t[1]=l=>n.value.rankRange[0]=l),style:{flex:"1"}},null,8,["modelValue"]),e.createTextVNode(" ~ "),e.createVNode(E,{modelValue:n.value.rankRange[1],"onUpdate:modelValue":t[2]||(t[2]=l=>n.value.rankRange[1]=l),style:{flex:"1"}},null,8,["modelValue"])])):r.value.type===void 0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[r.value.convenientOptions.length?(e.openBlock(),e.createElementBlock("div",Je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value.convenientOptions,l=>(e.openBlock(),e.createBlock(_,{key:l.text,onClick:c=>i(l)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.text),1)]),_:2},1032,["onClick"]))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",Ke,[Qe,e.createVNode(E,{modelValue:n.value.range[0],"onUpdate:modelValue":t[4]||(t[4]=l=>n.value.range[0]=l),style:{flex:"1"}},e.createSlots({_:2},[r.value.unitOptions.length?{name:"append",fn:e.withCtx(()=>[r.value.unitOptions.length===1?(e.openBlock(),e.createElementBlock("span",Ze,e.toDisplayString(n.value.unit[0]),1)):(e.openBlock(),e.createBlock(N,{key:1,modelValue:n.value.unit[0],"onUpdate:modelValue":t[3]||(t[3]=l=>n.value.unit[0]=l),style:{width:"72px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value.unitOptions,l=>(e.openBlock(),e.createBlock(p,{label:l,value:l},null,8,["label","value"]))),256))]),_:1},8,["modelValue"]))]),key:"0"}:void 0]),1032,["modelValue"]),e.createTextVNode(" ~ "),e.createVNode(E,{modelValue:n.value.range[1],"onUpdate:modelValue":t[6]||(t[6]=l=>n.value.range[1]=l),style:{flex:"1"}},e.createSlots({_:2},[r.value.unitOptions.length?{name:"append",fn:e.withCtx(()=>[r.value.unitOptions.length===1?(e.openBlock(),e.createElementBlock("span",He,e.toDisplayString(n.value.unit[1]),1)):(e.openBlock(),e.createBlock(N,{key:1,modelValue:n.value.unit[1],"onUpdate:modelValue":t[5]||(t[5]=l=>n.value.unit[1]=l),style:{width:"72px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value.unitOptions,l=>(e.openBlock(),e.createBlock(p,{label:l,value:l},null,8,["label","value"]))),256))]),_:1},8,["modelValue"]))]),key:"0"}:void 0]),1032,["modelValue"])])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[r.value.key==="st"?(e.openBlock(),e.createElementBlock("div",We,[e.createVNode(g,{modelValue:n.value.st,"onUpdate:modelValue":t[7]||(t[7]=l=>n.value.st=l)},{default:e.withCtx(()=>[e.createVNode(C,{label:"是",value:1}),e.createVNode(C,{label:"否",value:0})]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),r.value.key==="tFeaturelncomes"?(e.openBlock(),e.createElementBlock("div",Xe,[e.createElementVNode("div",et,[e.createVNode(_,{onClick:t[8]||(t[8]=l=>d("≤0"))},{default:e.withCtx(()=>[e.createTextVNode("≤0")]),_:1}),e.createVNode(_,{onClick:t[9]||(t[9]=l=>d("≥0"))},{default:e.withCtx(()=>[e.createTextVNode("≥0")]),_:1}),e.createVNode(_,{onClick:t[10]||(t[10]=l=>d("五年内有四年以上盈利超过5千万"))},{default:e.withCtx(()=>[e.createTextVNode("五年内有四年以上盈利超过5千万")]),_:1}),e.createVNode(_,{onClick:t[11]||(t[11]=l=>d("≥10亿"))},{default:e.withCtx(()=>[e.createTextVNode("≥10亿")]),_:1}),e.createVNode(_,{onClick:t[12]||(t[12]=l=>d("≥20亿"))},{default:e.withCtx(()=>[e.createTextVNode("≥20亿")]),_:1})]),e.createElementVNode("div",tt,[lt,e.createElementVNode("div",null,[e.createVNode(h,{modelValue:n.value.withFewYears,"onUpdate:modelValue":t[13]||(t[13]=l=>n.value.withFewYears=l),"controls-position":"right"},null,8,["modelValue"]),e.createTextVNode(" 年内 "),e.createVNode(h,{modelValue:n.value.yearsCount,"onUpdate:modelValue":t[14]||(t[14]=l=>n.value.yearsCount=l),"controls-position":"right"},null,8,["modelValue"]),e.createTextVNode(" 年以上盈利"+e.toDisplayString(n.value.rule===1?"超":"跌")+"过 ",1),e.createVNode(h,{modelValue:n.value.netProfit,"onUpdate:modelValue":t[15]||(t[15]=l=>n.value.netProfit=l),"controls-position":"right"},null,8,["modelValue"]),e.createTextVNode(" 亿 ")])])])):e.createCommentVNode("",!0),r.value.key==="priceLevels"?(e.openBlock(),e.createElementBlock("div",nt,[e.createVNode(N,{modelValue:n.value.priceLevels,"onUpdate:modelValue":t[16]||(t[16]=l=>n.value.priceLevels=l),multiple:"",clearable:"",placeholder:"请选择",style:{width:"420px"}},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([1,2,3,4,5],l=>e.createVNode(p,{key:l,label:`${l}分位`,value:l},null,8,["label","value"])),64))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),r.value.key==="peTtmLevels"?(e.openBlock(),e.createElementBlock("div",at,[e.createVNode(N,{modelValue:n.value.peTtmLevels,"onUpdate:modelValue":t[17]||(t[17]=l=>n.value.peTtmLevels=l),multiple:"",clearable:"",placeholder:"请选择",style:{width:"420px"}},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([1,2,3,4,5,6,7,8,9,10],l=>e.createVNode(p,{key:l,label:`${l}分位`,value:l},null,8,["label","value"])),64))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),r.value.key==="optionsCpType"?(e.openBlock(),e.createElementBlock("div",ot,[e.createVNode(g,{modelValue:n.value.optionsCpType,"onUpdate:modelValue":t[18]||(t[18]=l=>n.value.optionsCpType=l)},{default:e.withCtx(()=>[e.createVNode(C,{label:"看涨",value:1}),e.createVNode(C,{label:"看跌",value:2})]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0)],64))]),_:2},[r.value.showRankType?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("span",Ge,e.toDisplayString(r.value.label),1),e.createVNode(g,{modelValue:n.value.radioType,"onUpdate:modelValue":t[0]||(t[0]=l=>n.value.radioType=l),style:{"vertical-align":"4px","margin-left":"12px"}},{default:e.withCtx(()=>[e.createVNode(b,{label:"数值",value:"0"}),e.createVNode(b,{disabled:f.value&&f.value!==r.value.key,label:"排名",value:"1"},null,8,["disabled"])]),_:1},8,["modelValue"])]),key:"0"}:void 0]),1032,["modelValue","title"])])):e.createCommentVNode("",!0)}}},st=K._export_sfc(ut,[["__scopeId","data-v-bdb03941"]]);const j=s=>(e.pushScopeId("data-v-6a2ba7cb"),s=s(),e.popScopeId(),s),it={class:"variety-search"},ct={key:0,class:"variety-search-row"},dt={class:"title"},pt=j(()=>e.createElementVNode("span",null,"品种市场: ",-1)),mt={key:1,class:"variety-search-row"},ft={class:"title"},vt=j(()=>e.createElementVNode("span",null,"常用选项: ",-1)),kt={key:2,class:"variety-search-row"},gt={class:"title"},yt=j(()=>e.createElementVNode("span",null,"上市板块: ",-1)),Vt={key:3,class:"variety-search-row"},bt={class:"title"},_t=j(()=>e.createElementVNode("span",null,"自定标签: ",-1)),ht={key:4,class:"variety-search-row"},xt={class:"title"},Nt=j(()=>e.createElementVNode("span",null,"价差转换: ",-1)),wt={key:5,class:"variety-search-row"},Et={class:"title"},Ct=j(()=>e.createElementVNode("span",null,"因子筛选: ",-1)),Bt={__name:"index",props:e.mergeModels({config:{type:Object,default:{}}},{searchData:{},searchDataModifiers:{}}),emits:["update:searchData"],setup(s,{expose:y}){const m=s,a=e.useModel(s,"searchData");a.value=Object.assign(a.value,{varietyMarket:null,commonOption:[],marketIds:[],customTag:[],jcTranslate:{type:null,jcList:[]},factorScreen:{list:[],sqlEnable:0,sqlValue:null},commonIndicator:[]});const f=e.computed(()=>{const u={};return Object.keys(H).forEach(i=>{const d=H[i],o=m.config[i]??{},t={...d,...o};u[i]=t}),u}),B=e.computed(()=>f.value.varietyMarket.options),r=e.computed(()=>{const{varietyMarket:u}=a.value;if(u){const i=B.value.find(({value:d})=>d===u).memo;return f.value.commonOption.options.filter(({value:d})=>i.includes(d))}else return f.value.commonOption.options}),n=e.computed(()=>{const{varietyMarket:u}=a.value;return u?f.value.marketIds.options.filter(i=>i.varietyMarketIds.includes(u)):f.value.marketIds.options}),w=e.computed(()=>f.value.customTag.options),S=e.computed(()=>f.value.jcTranslate.jcOptions),O=u=>{switch(u){case"commonOption":{a.value[u]=[];break}case"marketIds":{a.value[u]=[];break}case"customTag":{a.value[u]=[];break}case"jcTranslate":{a.value[u]={type:null,jcList:[]};break}case"factorScreen":{a.value[u]={list:[],sqlEnable:0,sqlValue:null};break}case"commonIndicator":{a.value[u]=[];break}default:{a.value[u]=null;break}}};return e.watch(()=>r.value,u=>{var i;(i=a.value.commonOption)!=null&&i.length&&(a.value.commonOption=a.value.commonOption.filter(d=>u.find(({value:o})=>o===d)))}),e.watch(()=>n.value,u=>{var i;(i=a.value.marketIds)!=null&&i.length&&(a.value.marketIds=a.value.marketIds.filter(d=>u.find(({value:o})=>o===d)))}),y({formatData:u=>{var o,t,v,b,g,E;console.log("%c[品种池搜索聚合组件]: 正在校验并生成接口传参...","color: tomato");let i=!0;const d={};if(u.varietyMarket&&(d.exchangeId=String(u.varietyMarket)),(o=u.commonOption)!=null&&o.length&&(d.optionId=u.commonOption.join(",")),(t=u.marketIds)!=null&&t.length&&(d.marketIds=u.marketIds),(v=u.customTag)!=null&&v.length&&(d.tagIds=u.customTag),(b=f.value.jcTranslate)!=null&&b.show){const{jcTranslate:_}=u,{type:p,jcList:N}=_;switch(p){case 1:{!N||N.length===0?(R.ElMessage.warning("启用品种转价差功能时, 请至少选择一项价差品种"),i=!1):(d.translateType=1,d.jcType=N.join(","));break}case 2:d.translateType=2}}if((g=f.value.factorScreen)!=null&&g.show){const{factorScreen:_}=u;if((E=_==null?void 0:_.list)!=null&&E.length&&(d.tbFeatureFactorScores=_.list.map(p=>{switch(p.key){case"compare":return{freqId:p.cycle,factorId:p.factor,compareType:p.compareType,freqId2:p.cycle2,factorId2:p.factor2};default:return{freqId:p.cycle,factorId:p.factor,startScore:p.score[0],endScore:p.score[1]}}})),_.sqlEnable){const p=_.list.reduce((C,h,k)=>{var c,U;const l=`条件${k+1}`;switch(h.key){case"compare":{let M="";(c=f.value.factorScreen)!=null&&c.cycleShow?M=`freq_id = ${h.cycle} and factor_id = ${h.factor} ${h.compareType} freq_id = ${h.cycle2} and factor_id = ${h.factor2}`:M=`factor_id = ${h.factor} ${h.compareType} factor_id = ${h.factor2}`,C.set(l,`(${M})`);break}default:{let M=`factor_id = ${h.factor} and `;(U=f.value.factorScreen)!=null&&U.cycleShow&&(M=`freq_id = ${h.cycle} and factor_id = ${h.factor} and `),(h.score[0]||h.score[0]===0)&&(h.score[1]||h.score[1]===0)?M+=`score >= ${h.score[0]} and score <= ${h.score[1]}`:h.score[0]||h.score[0]===0?M+=`score >= ${h.score[0]}`:(h.score[1]||h.score[1]===0)&&(M+=`score <= ${h.score[1]}`),C.set(l,`(${M})`)}}return C},new Map([]));let N=_.sqlValue;for(const[C,h]of p){const k=new RegExp(C,"g");N=N.replace(k,h)}d.sql=N,d.sqlExpression=_.sqlValue}d.enableSql=_.sqlEnable===1?2:1}{const _=["expireDays","virtualRealDegree","yearProfitRate","impliedVolatility","levelMultiplier","turnover","volume","openInterest","optionsCpType","optionGear"],p=u.commonIndicator.reduce((c,U)=>{const{key:M,type:z,range:x,unit:q,radioType:V,rankRange:I}=U;if(V==="1")d.sortBy={column:U.key,start:I[0]||null,end:I[1]||null};else if(M==="dividendYield"){let[$,F]=x;["",null].includes($)||($=$/100),["",null].includes(F)||(F=F/100),c.push({column:U.key,start:$,end:F})}else if(z===void 0&&!_.includes(M)){let[$,F]=x;if(!["",null].includes($))switch(q[0]){case"亿":$=$*1e8;break;case"千万":$=$*1e7;break;default:$=$;break}if(!["",null].includes(F))switch(q[1]){case"亿":F=F*1e8;break;case"千万":F=F*1e7;break;default:F=F;break}c.push({column:U.key,start:$,end:F})}return c},[]);p.length&&(d.query=p);const N=u.commonIndicator.find(({key:c})=>c==="st");N&&(d.st=N.st);const C=u.commonIndicator.find(({key:c})=>c==="tFeaturelncomes");C&&(d.netProfitQueryDto={...C,netProfit:C.netProfit*1e8});const h=u.commonIndicator.find(({key:c})=>c==="priceLevels");h&&(d.priceLevels=h.priceLevels);const k=u.commonIndicator.find(({key:c})=>c==="peTtmLevels");k&&(d.peTtmLevels=k.peTtmLevels);const l={};u.commonIndicator.forEach(c=>{const{key:U}=c;switch(U){case"expireDays":["",null].includes(c.range[0])||(l.minExpireDays=c.range[0]),["",null].includes(c.range[1])||(l.maxExpireDays=c.range[1]);break;case"virtualRealDegree":["",null].includes(c.range[0])||(l.minVirtualRealDegree=c.range[0]/100),["",null].includes(c.range[1])||(l.maxVirtualRealDegree=c.range[1]/100);break;case"yearProfitRate":["",null].includes(c.range[0])||(l.minYearProfitRate=c.range[0]/100),["",null].includes(c.range[1])||(l.maxYearProfitRate=c.range[1]/100);break;case"impliedVolatility":["",null].includes(c.range[0])||(l.minImpliedVolatility=c.range[0]/100),["",null].includes(c.range[1])||(l.maxImpliedVolatility=c.range[1]/100);break;case"levelMultiplier":["",null].includes(c.range[0])||(l.minLevelMultiplier=c.range[0]),["",null].includes(c.range[1])||(l.maxLevelMultiplier=c.range[1]);break;case"turnover":["",null].includes(c.range[0])||(l.minTurnover=c.range[0]*1e4),["",null].includes(c.range[1])||(l.maxTurnover=c.range[1]*1e4);break;case"volume":["",null].includes(c.range[0])||(l.minVolume=c.range[0]),["",null].includes(c.range[1])||(l.maxVolume=c.range[1]);break;case"openInterest":["",null].includes(c.range[0])||(l.minOpenInterest=c.range[0]),["",null].includes(c.range[1])||(l.maxOpenInterest=c.range[1]);break;case"optionsCpType":l.optionsCpType=c.optionsCpType;break;case"optionGear":["",null].includes(c.range[0])||(l.minOptionGear=c.range[0]),["",null].includes(c.range[1])||(l.maxOptionGear=c.range[1]);break}}),Object.keys(l).length&&(d.searchOptionDto={...d.searchOptionDto,...l})}return console.log("%c[品种池搜索聚合组件]: 接口传参数据生成完毕","color: green",d),{validateFlag:i,params:d}},reset:()=>{a.value={varietyMarket:null,commonOption:[],marketIds:[],customTag:[],jcTranslate:{type:null,jcList:[]},factorScreen:{list:[],sqlEnable:0,sqlValue:null},commonIndicator:[]}}}),(u,i)=>{var E,_,p,N,C,h;const d=Q,o=Z,t=P.ElCheckbox,v=P.ElCheckboxGroup,b=L.ElOption,g=L.ElSelect;return e.openBlock(),e.createElementBlock("div",it,[(E=f.value.varietyMarket)!=null&&E.show?(e.openBlock(),e.createElementBlock("div",ct,[e.createElementVNode("div",dt,[pt,e.createElementVNode("span",{onClick:i[0]||(i[0]=k=>O("varietyMarket"))},"不限")]),e.createVNode(o,{modelValue:a.value.varietyMarket,"onUpdate:modelValue":i[1]||(i[1]=k=>a.value.varietyMarket=k),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,({label:k,value:l})=>(e.openBlock(),e.createBlock(d,{label:k,value:l,key:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(_=f.value.commonOption)!=null&&_.show&&r.value.length?(e.openBlock(),e.createElementBlock("div",mt,[e.createElementVNode("div",ft,[vt,e.createElementVNode("span",{onClick:i[2]||(i[2]=k=>O("commonOption"))},"不限")]),e.createVNode(v,{modelValue:a.value.commonOption,"onUpdate:modelValue":i[3]||(i[3]=k=>a.value.commonOption=k),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,({label:k,value:l})=>(e.openBlock(),e.createBlock(t,{label:k,value:l,key:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(p=f.value.marketIds)!=null&&p.show&&n.value.length?(e.openBlock(),e.createElementBlock("div",kt,[e.createElementVNode("div",gt,[yt,e.createElementVNode("span",{onClick:i[4]||(i[4]=k=>O("marketIds"))},"不限")]),e.createVNode(v,{modelValue:a.value.marketIds,"onUpdate:modelValue":i[5]||(i[5]=k=>a.value.marketIds=k),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,({label:k,value:l})=>(e.openBlock(),e.createBlock(t,{label:k,value:l,key:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(N=f.value.customTag)!=null&&N.show&&w.value.length?(e.openBlock(),e.createElementBlock("div",Vt,[e.createElementVNode("div",bt,[_t,e.createElementVNode("span",{onClick:i[6]||(i[6]=k=>O("customTag"))},"不限")]),e.createVNode(v,{modelValue:a.value.customTag,"onUpdate:modelValue":i[7]||(i[7]=k=>a.value.customTag=k),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,({label:k,value:l})=>(e.openBlock(),e.createBlock(t,{label:k,value:l,key:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(C=f.value.jcTranslate)!=null&&C.show?(e.openBlock(),e.createElementBlock("div",ht,[e.createElementVNode("div",xt,[Nt,e.createElementVNode("span",{onClick:i[8]||(i[8]=k=>O("jcTranslate"))},"不限")]),e.createVNode(o,{modelValue:a.value.jcTranslate.type,"onUpdate:modelValue":i[9]||(i[9]=k=>a.value.jcTranslate.type=k),size:"small"},{default:e.withCtx(()=>[e.createVNode(d,{value:2},{default:e.withCtx(()=>[e.createTextVNode("价差转品种")]),_:1}),e.createVNode(d,{value:1},{default:e.withCtx(()=>[e.createTextVNode("品种转价差")]),_:1})]),_:1},8,["modelValue"]),e.withDirectives(e.createVNode(g,{modelValue:a.value.jcTranslate.jcList,"onUpdate:modelValue":i[10]||(i[10]=k=>a.value.jcTranslate.jcList=k),size:"small",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择价差品种",style:{width:"140px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,k=>(e.openBlock(),e.createBlock(b,{key:k.value,label:k.label,value:k.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),[[e.vShow,a.value.jcTranslate.type===1]])])):e.createCommentVNode("",!0),(h=f.value.factorScreen)!=null&&h.show?(e.openBlock(),e.createElementBlock("div",wt,[e.createElementVNode("div",Et,[Ct,e.createElementVNode("span",{onClick:i[11]||(i[11]=k=>O("factorScreen"))},"不限")]),e.createVNode(Ue,{data:a.value.factorScreen,"onUpdate:data":i[12]||(i[12]=k=>a.value.factorScreen=k),config:f.value.factorScreen},null,8,["data","config"])])):e.createCommentVNode("",!0),e.createVNode(st,{data:a.value.commonIndicator,"onUpdate:data":i[13]||(i[13]=k=>a.value.commonIndicator=k),varietyMarket:a.value.varietyMarket,commonOption:a.value.commonOption,config:f.value.commonIndicator},null,8,["data","varietyMarket","commonOption","config"])])}}},Ot=K._export_sfc(Bt,[["__scopeId","data-v-6a2ba7cb"]]),It={install(s){s.component("st-varietySearch",Ot)}};module.exports=It;
1
+ "use strict";const O=require("./base-ec05f348.cjs");require("./el-tag-3b03d13e.cjs");const R=require("./el-select-928f8c19.cjs");require("./el-scrollbar-d1c3e7f7.cjs");const W=require("./el-popper-f62316cd.cjs"),A=require("./el-form-item-7d32befa.cjs"),j=require("./el-table-column-dd8b62aa.cjs"),e=require("vue"),Y=require("./el-overlay-891dcc40.cjs"),X=require("./el-input-6c6f5bda.cjs"),ee=require("./el-input-number-0524d787.cjs");require("./el-tooltip-0ea8fbf8.cjs");const te=require("./el-button-196807af.cjs"),U=require("./use-form-common-props-1b84d8f4.cjs"),F=require("./el-message-562e923d.cjs"),J=require("./_plugin-vue_export-helper-f246444f.cjs"),le=require("./index-80a2b137.cjs"),z=require("./event-61f49698.cjs"),ce=require("./index-8a0b1c53.cjs");require("./castArray-a45823fe.cjs");require("./index-e1e83173.cjs");require("./scroll-41224831.cjs");require("./debounce-b2ff12bd.cjs");require("./raf-8fc301fd.cjs");require("./vnode-7fbc61e1.cjs");require("./refs-d00b710b.cjs");require("./typescript-b63f8e83.cjs");require("./index-eea0bcb3.cjs");require("./config-provider-7cdfca4d.cjs");const ne=O.buildProps({modelValue:{type:[String,Number,Boolean],default:void 0},size:U.useSizeProp,disabled:Boolean,label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),de=O.buildProps({...ne,border:Boolean}),oe={[z.UPDATE_MODEL_EVENT]:c=>O.isString(c)||O.isNumber(c)||O.isBoolean(c),[z.CHANGE_EVENT]:c=>O.isString(c)||O.isNumber(c)||O.isBoolean(c)},ae=Symbol("radioGroupKey"),re=(c,g)=>{const d=e.ref(),a=e.inject(ae,void 0),m=e.computed(()=>!!a),C=e.computed(()=>O.isPropAbsent(c.value)?c.label:c.value),u=e.computed({get(){return m.value?a.modelValue:c.modelValue},set(s){m.value?a.changeEvent(s):g&&g(z.UPDATE_MODEL_EVENT,s),d.value.checked=c.modelValue===C.value}}),n=U.useFormSize(e.computed(()=>a==null?void 0:a.size)),E=U.useFormDisabled(e.computed(()=>a==null?void 0:a.disabled)),T=e.ref(!1),B=e.computed(()=>E.value||m.value&&u.value!==C.value?-1:0);return ce.useDeprecated({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},e.computed(()=>m.value&&O.isPropAbsent(c.value))),{radioRef:d,isGroup:m,radioGroup:a,focus:T,size:n,disabled:E,tabIndex:B,modelValue:u,actualValue:C}},pe=e.defineComponent({name:"ElRadio"}),me=e.defineComponent({...pe,props:de,emits:oe,setup(c,{emit:g}){const d=c,a=O.useNamespace("radio"),{radioRef:m,radioGroup:C,focus:u,size:n,disabled:E,modelValue:T,actualValue:B}=re(d,g);function s(){e.nextTick(()=>g("change",T.value))}return(o,N)=>{var r;return e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass([e.unref(a).b(),e.unref(a).is("disabled",e.unref(E)),e.unref(a).is("focus",e.unref(u)),e.unref(a).is("bordered",o.border),e.unref(a).is("checked",e.unref(T)===e.unref(B)),e.unref(a).m(e.unref(n))])},[e.createElementVNode("span",{class:e.normalizeClass([e.unref(a).e("input"),e.unref(a).is("disabled",e.unref(E)),e.unref(a).is("checked",e.unref(T)===e.unref(B))])},[e.withDirectives(e.createElementVNode("input",{ref_key:"radioRef",ref:m,"onUpdate:modelValue":l=>e.isRef(T)?T.value=l:null,class:e.normalizeClass(e.unref(a).e("original")),value:e.unref(B),name:o.name||((r=e.unref(C))==null?void 0:r.name),disabled:e.unref(E),checked:e.unref(T)===e.unref(B),type:"radio",onFocus:l=>u.value=!0,onBlur:l=>u.value=!1,onChange:s,onClick:e.withModifiers(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","checked","onFocus","onBlur","onClick"]),[[e.vModelRadio,e.unref(T)]]),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("inner"))},null,2)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("label")),onKeydown:e.withModifiers(()=>{},["stop"])},[e.renderSlot(o.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)])],42,["onKeydown"])],2)}}});var fe=O._export_sfc(me,[["__file","radio.vue"]]);const ve=O.buildProps({...ne}),ke=e.defineComponent({name:"ElRadioButton"}),ge=e.defineComponent({...ke,props:ve,setup(c){const g=c,d=O.useNamespace("radio"),{radioRef:a,focus:m,size:C,disabled:u,modelValue:n,radioGroup:E,actualValue:T}=re(g),B=e.computed(()=>({backgroundColor:(E==null?void 0:E.fill)||"",borderColor:(E==null?void 0:E.fill)||"",boxShadow:E!=null&&E.fill?`-1px 0 0 0 ${E.fill}`:"",color:(E==null?void 0:E.textColor)||""}));return(s,o)=>{var N;return e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass([e.unref(d).b("button"),e.unref(d).is("active",e.unref(n)===e.unref(T)),e.unref(d).is("disabled",e.unref(u)),e.unref(d).is("focus",e.unref(m)),e.unref(d).bm("button",e.unref(C))])},[e.withDirectives(e.createElementVNode("input",{ref_key:"radioRef",ref:a,"onUpdate:modelValue":r=>e.isRef(n)?n.value=r:null,class:e.normalizeClass(e.unref(d).be("button","original-radio")),value:e.unref(T),type:"radio",name:s.name||((N=e.unref(E))==null?void 0:N.name),disabled:e.unref(u),onFocus:r=>m.value=!0,onBlur:r=>m.value=!1,onClick:e.withModifiers(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","onFocus","onBlur","onClick"]),[[e.vModelRadio,e.unref(n)]]),e.createElementVNode("span",{class:e.normalizeClass(e.unref(d).be("button","inner")),style:e.normalizeStyle(e.unref(n)===e.unref(T)?e.unref(B):{}),onKeydown:e.withModifiers(()=>{},["stop"])},[e.renderSlot(s.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(s.label),1)])],46,["onKeydown"])],2)}}});var ue=O._export_sfc(ge,[["__file","radio-button.vue"]]);const ye=O.buildProps({id:{type:String,default:void 0},size:U.useSizeProp,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},...W.useAriaProps(["ariaLabel"])}),Ve=oe,be=e.defineComponent({name:"ElRadioGroup"}),_e=e.defineComponent({...be,props:ye,emits:Ve,setup(c,{emit:g}){const d=c,a=O.useNamespace("radio"),m=O.useId(),C=e.ref(),{formItem:u}=U.useFormItem(),{inputId:n,isLabeledByFormItem:E}=U.useFormItemInputId(d,{formItemContext:u}),T=s=>{g(z.UPDATE_MODEL_EVENT,s),e.nextTick(()=>g("change",s))};e.onMounted(()=>{const s=C.value.querySelectorAll("[type=radio]"),o=s[0];!Array.from(s).some(N=>N.checked)&&o&&(o.tabIndex=0)});const B=e.computed(()=>d.name||m.value);return e.provide(ae,e.reactive({...e.toRefs(d),changeEvent:T,name:B})),e.watch(()=>d.modelValue,()=>{d.validateEvent&&(u==null||u.validate("change").catch(s=>O.debugWarn(s)))}),(s,o)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(n),ref_key:"radioGroupRef",ref:C,class:e.normalizeClass(e.unref(a).b("group")),role:"radiogroup","aria-label":e.unref(E)?void 0:s.ariaLabel||"radio-group","aria-labelledby":e.unref(E)?e.unref(u).labelId:void 0},[e.renderSlot(s.$slots,"default")],10,["id","aria-label","aria-labelledby"]))}});var se=O._export_sfc(_e,[["__file","radio-group.vue"]]);const K=O.withInstall(fe,{RadioButton:ue,RadioGroup:se}),Q=O.withNoopInstall(se),he=O.withNoopInstall(ue);const Z={varietyMarket:{show:!0,options:[{label:"ETF",value:2,memo:[]},{label:"A股",value:3,memo:[4,6,12,14,15]},{label:"期货",value:4,memo:[1,2,3,5,7,8,9,10]},{label:"港股",value:5,memo:[4,6,14]},{label:"外盘",value:6,memo:[1,2,3,5,7,8,9,10]},{label:"美股",value:7,memo:[4,6,14]},{label:"期权",value:8,memo:[11]}]},commonOption:{show:!0,options:[{label:"个股",value:14},{label:"期货主连",value:1},{label:"期货主力",value:2},{label:"期货加权",value:3},{label:"常用股票指数",value:4},{label:"期货收益率指数",value:5},{label:"行业板块指数",value:6},{label:"期货次主连",value:7},{label:"期货次主力",value:8},{label:"期货板块收益率指数",value:9},{label:"期货板块加权指数",value:10},{label:"期权",value:11},{label:"价差板块指数",value:12},{label:"概念板块指数",value:15}]},marketIds:{show:!0,options:[]},customTag:{show:!0,options:[]},jcTranslate:{show:!0,jcOptions:[{label:"恒指",value:"HZCFJC"},{label:"恒生科技",value:"HSKJJC"},{label:"上证50",value:"SZ50CFJC"},{label:"沪深300",value:"HS300CFJC"},{label:"中证500",value:"ZZ500CFJC"},{label:"中证1000",value:"ZZ1000JC"}]},factorScreen:{show:!0,sqlShow:!1,cycleShow:!0,cycleDefault:null,cycleOptions:[],factorOptions:[],factorDescriptions:[]},commonIndicator:{show:!0,options:[{key:"marketCapital",label:"总市值",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,10],unit:["亿","亿"],text:"≤10亿"},{range:[null,25],unit:["亿","亿"],text:"≤25亿"},{range:[null,50],unit:["亿","亿"],text:"≤50亿"},{range:[20,50],unit:["亿","亿"],text:"20亿~50亿"},{range:[100,null],unit:["亿","亿"],text:"≥100亿"},{range:[200,null],unit:["亿","亿"],text:"≥200亿"},{range:[500,null],unit:["亿","亿"],text:"≥500亿"},{range:[1e3,null],unit:["亿","亿"],text:"≥1000亿"}],defaultUnit:["亿","亿"],unitOptions:["元","千万","亿"]},{key:"floatMarketCapital",label:"流通市值",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,5],unit:["亿","亿"],text:"≤5亿"},{range:[null,20],unit:["亿","亿"],text:"≤20亿"},{range:[null,50],unit:["亿","亿"],text:"≤50亿"},{range:[null,100],unit:["亿","亿"],text:"≤100亿"},{range:[100,null],unit:["亿","亿"],text:"≥100亿"},{range:[200,null],unit:["亿","亿"],text:"≥200亿"},{range:[500,null],unit:["亿","亿"],text:"≥500亿"},{range:[1e3,null],unit:["亿","亿"],text:"≥1000亿"}],defaultUnit:["亿","亿"],unitOptions:["元","千万","亿"]},{key:"totalShares",label:"总股本",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,5],unit:["亿","亿"],text:"≤5亿"},{range:[null,10],unit:["亿","亿"],text:"≤10亿"},{range:[null,75],unit:["亿","亿"],text:"≤75亿"},{range:[10,75],unit:["亿","亿"],text:"10亿~75亿"},{range:[100,null],unit:["亿","亿"],text:"≥100亿"}],defaultUnit:["亿","亿"],unitOptions:["元","千万","亿"]},{key:"freeFloatShares",label:"流通股本",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,5],unit:["千万","千万"],text:"≤5千万"},{range:[5,3],unit:["千万","亿"],text:"5千万~3亿"},{range:[null,5],unit:["亿","亿"],text:"≤5亿"},{range:[null,10],unit:["亿","亿"],text:"≤10亿"},{range:[8,30],unit:["亿","亿"],text:"8亿~30亿"},{range:[30,null],unit:["亿","亿"],text:"≥30亿"}],defaultUnit:["亿","亿"],unitOptions:["元","千万","亿"]},{key:"turnoverRate",label:"换手率(实)",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,1],unit:["%","%"],text:"≤1%"},{range:[1,5],unit:["%","%"],text:"1%~5%"},{range:[5,10],unit:["%","%"],text:"5%~10%"},{range:[10,null],unit:["%","%"],text:"≥10%"}],defaultUnit:["%","%"],unitOptions:["%"]},{key:"peTtm",label:"市盈率",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,0],unit:[],text:"亏损"},{range:[0,null],unit:[],text:"≥0"},{range:[0,20],unit:[],text:"0~20"},{range:[20,40],unit:[],text:"20~40"},{range:[40,100],unit:[],text:"40~100"},{range:[100,null],unit:[],text:"≥100"}],defaultUnit:[],unitOptions:[]},{key:"eps",label:"每股净收益",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,0],unit:["元","元"],text:"≤0"},{range:[0,null],unit:["元","元"],text:"≥0"},{range:[.2,null],unit:["元","元"],text:"≥0.2元"},{range:[.5,null],unit:["元","元"],text:"≥0.5元"},{range:[1,null],unit:["元","元"],text:"≥1元"},{range:[2,null],unit:["元","元"],text:"≥2元"}],defaultUnit:["元","元"],unitOptions:["元"]},{key:"st",label:"是否ST",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},type:"custom"},{key:"pb",label:"市净率",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[0,null],unit:[],text:"≥0"},{range:[0,1],unit:[],text:"0~1"},{range:[1,2],unit:[],text:"1~2"},{range:[0,3],unit:[],text:"0~3"},{range:[3,null],unit:[],text:"≥3"}],defaultUnit:[],unitOptions:[]},{key:"mnShr",label:"成交额",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[0,1],unit:["亿","亿"],text:"0~1亿"},{range:[0,5],unit:["亿","亿"],text:"0~5亿"},{range:[0,10],unit:["亿","亿"],text:"0~10亿"},{range:[10,null],unit:["亿","亿"],text:"≥10亿"},{range:[50,null],unit:["亿","亿"],text:"≥50亿"},{range:[100,null],unit:["亿","亿"],text:"≥100亿"}],defaultUnit:["亿","亿"],unitOptions:["元","千万","亿"],showRankType:!0,defaultRadioType:"1",defaultRankRange:[0,25]},{key:"roe",label:"净资产收益率roe",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,0],unit:["%","%"],text:"<0"},{range:[0,null],unit:["%","%"],text:">0"},{range:[10,null],unit:["%","%"],text:">10%"},{range:[15,null],unit:["%","%"],text:">15%"},{range:[20,null],unit:["%","%"],text:">20%"},{range:[30,null],unit:["%","%"],text:">30%"}],defaultUnit:["%","%"],unitOptions:["%"]},{key:"tFeaturelncomes",label:"净利润",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},type:"custom"},{key:"dividendYield",label:"股息率",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},convenientOptions:[{range:[null,1],unit:["%","%"],text:"≤1%"},{range:[1,5],unit:["%","%"],text:"1%~5%"},{range:[5,10],unit:["%","%"],text:"5%~10%"},{range:[10,null],unit:["%","%"],text:"≥10%"}],defaultUnit:["%","%"],unitOptions:["%"]},{key:"priceLevels",label:"股价分位",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},type:"custom"},{key:"peTtmLevels",label:"市盈率分位",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15]},type:"custom"},{key:"expireDays",label:"过期天数",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:["天","天"],unitOptions:["天"]},{key:"virtualRealDegree",label:"虚实度",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:["%","%"],unitOptions:["%"]},{key:"yearProfitRate",label:"年化收益率",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:["%","%"],unitOptions:["%"]},{key:"impliedVolatility",label:"隐含波动率",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:["%","%"],unitOptions:["%"]},{key:"levelMultiplier",label:"杠杆率",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:[],unitOptions:[]},{key:"turnover",label:"成交额(期权)",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:["万","万"],unitOptions:["万"],showRankType:!0,defaultRadioType:"1",defaultRankRange:[0,25]},{key:"volume",label:"成交量",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:[],unitOptions:[],showRankType:!0,defaultRadioType:"1",defaultRankRange:[0,25]},{key:"openInterest",label:"持仓量",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:[],unitOptions:[],showRankType:!0,defaultRadioType:"1",defaultRankRange:[0,25]},{key:"optionsCpType",label:"认沽认购",parent:{varietyMarketIds:[8],commonOptionIds:[11]},type:"custom"},{key:"optionGear",label:"期权档位",parent:{varietyMarketIds:[8],commonOptionIds:[11]},convenientOptions:[],defaultUnit:[],unitOptions:[]}]}},xe=(c,g,d)=>{!g[0]&&g[0]!==0&&!g[1]&&g[1]!==0?d(new Error("至少填写一个分数")):d()},H=c=>{const g=/(条件(\d+))/g;return c.match(g)||[]},Ne={__name:"FactorDescription",props:e.mergeModels({data:{type:Array,default:[]}},{visible:{default:!1},visibleModifiers:{}}),emits:["update:visible"],setup(c){const g=e.useModel(c,"visible");return(d,a)=>{const m=j.ElTableColumn,C=j.ElTable,u=Y.ElDialog;return e.openBlock(),e.createBlock(u,{modelValue:g.value,"onUpdate:modelValue":a[0]||(a[0]=n=>g.value=n),title:"因子使用说明",width:"1000","align-center":"","destroy-on-close":""},{default:e.withCtx(()=>[e.createVNode(C,{data:c.data,border:"",height:"500"},{default:e.withCtx(()=>[e.createVNode(m,{prop:"factorName",label:"因子名称",width:"200"}),e.createVNode(m,{prop:"factorDesc",label:"因子说明"}),e.createVNode(m,{prop:"factorScoreDefine",label:"分值定义"})]),_:1},8,["data"])]),_:1},8,["modelValue"])}}};const ie=c=>(e.pushScopeId("data-v-ef576faa"),c=c(),e.popScopeId(),c),we={class:"factor-screen"},Ee={class:"custom-header"},Ce=["id"],Be={class:"form-row"},Oe={class:"index"},Ie={style:{display:"flex","align-items":"center",width:"100%",height:"24px"}},Te=ie(()=>e.createElementVNode("span",null,"~",-1)),$e=ie(()=>e.createElementVNode("span",null,"&&代表and,||代表or",-1)),Se={class:"dialog-footer"},qe={__name:"index",props:e.mergeModels({config:{type:Object,default:{sqlShow:!1,cycleShow:!0,cycleDefault:null,cycleOptions:[],factorOptions:[],factorDescriptions:[]}}},{data:{default:{list:[],sqlEnable:0,sqlValue:null}},dataModifiers:{}}),emits:["update:data"],setup(c){const g=c,d=e.useModel(c,"data"),a=e.ref(!1),m=e.ref(!1),C=e.ref(null),u=e.ref({list:[{cycle:g.config.cycleDefault??null,factor:null,score:[null,null]}],sqlEnable:0,sqlValue:null}),n=()=>{const{list:r,sqlEnable:l,sqlValue:f}=d.value;u.value={list:JSON.parse(JSON.stringify(r)),sqlEnable:l,sqlValue:f},u.value.list.length||B(),a.value=!0},E=()=>{C.value.validate(r=>{const{list:l,sqlEnable:f,sqlValue:V}=u.value;if(r){if(f){if(!V)return F.ElMessage.error("SQL语句不能为空");const v=H(V),_=l.map((b,w)=>`条件${w+1}`),k=v.filter(b=>!_.includes(b));if(k.length)return F.ElMessage.error(`请检查SQL语句, 不存在[${k}]`)}d.value={list:JSON.parse(JSON.stringify(l)),sqlEnable:f,sqlValue:V},a.value=!1}})},T=r=>{u.value.list.splice(r,1)},B=r=>{switch(r){case"compare":{u.value.list.push({key:"compare",cycle:g.config.cycleDefault??null,factor:null,compareType:">",cycle2:g.config.cycleDefault??null,factor2:null});break}default:{u.value.list.push({cycle:g.config.cycleDefault??null,factor:null,score:[null,null]});break}}},s=()=>{C.value.validate(r=>{if(r)if(u.value.sqlValue){const l=H(u.value.sqlValue);u.value.sqlValue=u.value.list.reduce((f,V,v)=>(l.includes(`条件${v+1}`)||(f+=`&& 条件${v+1} `),f),u.value.sqlValue)}else u.value.sqlValue=u.value.list.reduce((l,f,V)=>(V===0?l+=`条件${V+1} `:l+=`&& 条件${V+1} `,l),"")})},o=r=>{switch(r.key){case"compare":{const{cycle:l,factor:f,compareType:V,cycle2:v,factor2:_}=r;let k="";return k+=` ${g.config.cycleOptions.find(({value:b})=>b===l).label}`,k+=` ${g.config.factorOptions.find(({value:b})=>b===f).label}`,k+=` ${V}`,k+=` ${g.config.cycleOptions.find(({value:b})=>b===v).label}`,k+=` ${g.config.factorOptions.find(({value:b})=>b===_).label}`,k}default:{const{cycle:l,factor:f,score:V}=r;let v="";return v+=` ${g.config.cycleOptions.find(({value:_})=>_===l).label}`,v+=` ${g.config.factorOptions.find(({value:_})=>_===f).label}`,v+=` ${V[0]||V[0]===0?`${V[0]}分`:"∞"}`,v+=" ~",v+=` ${V[1]||V[1]===0?`${V[1]}分`:"∞"}`,v}}},N=(r,l)=>{switch(r){case"sqlTag":{d.value={list:[],sqlEnable:0,sqlValue:null};break}case"factorTag":{d.value.list.splice(l,1);break}}};return(r,l)=>{var L;const f=A.ElText,V=le.ElTag,v=te.ElButton,_=U.ElIcon,k=W.ElTooltip,b=R.ElOption,w=R.ElSelect,p=A.ElFormItem,$=ee.ElInputNumber,i=K,t=Q,q=X.ElInput,S=A.ElForm,G=Y.ElDialog;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",we,[e.createElementVNode("div",null,[d.value.sqlEnable&&d.value.sqlValue?(e.openBlock(),e.createBlock(V,{key:0,closable:"",type:"info",title:d.value.sqlValue,onClose:l[0]||(l[0]=h=>N("sqlTag"))},{default:e.withCtx(()=>[e.createVNode(f,{type:"info",truncated:"",style:{"max-width":"500px"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.value.sqlValue),1)]),_:1})]),_:1},8,["title"])):e.createCommentVNode("",!0),!d.value.sqlEnable&&d.value.list.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(d.value.list,(h,M)=>(e.openBlock(),e.createBlock(V,{closable:"",type:"info",onClose:y=>N("factorTag",M)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o(h)),1)]),_:2},1032,["onClose"]))),256)):e.createCommentVNode("",!0),e.createVNode(v,{class:"screen-btn",type:"primary",plain:"",size:"small",icon:e.unref(U.plus_default),onClick:n},{default:e.withCtx(()=>[e.createTextVNode(" 添加因子 ")]),_:1},8,["icon"])]),e.createVNode(G,{modelValue:a.value,"onUpdate:modelValue":l[5]||(l[5]=h=>a.value=h),width:"602","align-center":"","destroy-on-close":""},{header:e.withCtx(({titleId:h,titleClass:M})=>[e.createElementVNode("div",Ee,[e.createElementVNode("span",{id:h,class:e.normalizeClass(M)}," 因子筛选 ",10,Ce),e.createVNode(k,{effect:"dark",content:"点击查看: 因子使用说明",placement:"right"},{default:e.withCtx(()=>[e.createVNode(_,{onClick:l[1]||(l[1]=y=>m.value=!0)},{default:e.withCtx(()=>[e.createVNode(e.unref(U.info_filled_default))]),_:1})]),_:1})])]),footer:e.withCtx(()=>[e.createElementVNode("div",Se,[e.createVNode(v,{type:"primary",onClick:E},{default:e.withCtx(()=>[e.createTextVNode("确定")]),_:1})])]),default:e.withCtx(()=>[e.createVNode(S,{ref_key:"dialogFormRef",ref:C,model:u.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value.list,(h,M)=>(e.openBlock(),e.createElementBlock("div",Be,[e.createElementVNode("span",Oe,e.toDisplayString(`条件${M+1}`),1),h.key==="compare"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[c.config.cycleShow?(e.openBlock(),e.createBlock(p,{key:0,prop:"list."+M+".cycle",rules:{required:!0,message:"周期不能为空",trigger:"blur"},style:{width:"100px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(w,{modelValue:h.cycle,"onUpdate:modelValue":y=>h.cycle=y,placeholder:"选择周期",size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.config.cycleOptions,({label:y,value:x})=>(e.openBlock(),e.createBlock(b,{label:y,value:x,key:x},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"])):e.createCommentVNode("",!0),e.createVNode(p,{prop:"list."+M+".factor",rules:{required:!0,message:"因子不能为空",trigger:"blur"},style:{width:"100px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(w,{modelValue:h.factor,"onUpdate:modelValue":y=>h.factor=y,placeholder:"选择因子",filterable:"",size:"small","no-match-text":"无匹配数据"},{default:e.withCtx(()=>{var y;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList((y=c.config.factorOptions)==null?void 0:y.filter(x=>[4].includes(x.type)),({label:x,value:I})=>(e.openBlock(),e.createBlock(b,{label:x,value:I,key:I},null,8,["label","value"]))),128))]}),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"]),e.createVNode(p,{style:{width:"52px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(w,{modelValue:h.compareType,"onUpdate:modelValue":y=>h.compareType=y,size:"small"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([">",">=","<","<="],y=>e.createVNode(b,{label:y,value:y,key:y},null,8,["label","value"])),64))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),c.config.cycleShow?(e.openBlock(),e.createBlock(p,{key:1,prop:"list."+M+".cycle2",rules:{required:!0,message:"周期不能为空",trigger:"blur"},style:{width:"100px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(w,{modelValue:h.cycle2,"onUpdate:modelValue":y=>h.cycle2=y,placeholder:"选择周期",size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.config.cycleOptions,({label:y,value:x})=>(e.openBlock(),e.createBlock(b,{label:y,value:x,key:x},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"])):e.createCommentVNode("",!0),e.createVNode(p,{prop:"list."+M+".factor2",rules:{required:!0,message:"因子不能为空",trigger:"blur"},style:{width:"100px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(w,{modelValue:h.factor2,"onUpdate:modelValue":y=>h.factor2=y,placeholder:"选择因子",filterable:"",size:"small","no-match-text":"无匹配数据"},{default:e.withCtx(()=>{var y;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList((y=c.config.factorOptions)==null?void 0:y.filter(x=>[4].includes(x.type)),({label:x,value:I})=>(e.openBlock(),e.createBlock(b,{label:x,value:I,key:I},null,8,["label","value"]))),128))]}),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[c.config.cycleShow?(e.openBlock(),e.createBlock(p,{key:0,prop:"list."+M+".cycle",rules:{required:!0,message:"周期不能为空",trigger:"blur"},style:{width:"100px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(w,{modelValue:h.cycle,"onUpdate:modelValue":y=>h.cycle=y,placeholder:"选择周期",size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.config.cycleOptions,({label:y,value:x})=>(e.openBlock(),e.createBlock(b,{label:y,value:x,key:x},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"])):e.createCommentVNode("",!0),e.createVNode(p,{prop:"list."+M+".factor",rules:{required:!0,message:"因子不能为空",trigger:"blur"},style:{width:"100px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(w,{modelValue:h.factor,"onUpdate:modelValue":y=>h.factor=y,placeholder:"选择因子",filterable:"",size:"small","no-match-text":"无匹配数据"},{default:e.withCtx(()=>{var y;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList((y=c.config.factorOptions)==null?void 0:y.filter(x=>[1,3].includes(x.type)),({label:x,value:I})=>(e.openBlock(),e.createBlock(b,{label:x,value:I,key:I},null,8,["label","value"]))),128))]}),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"]),e.createVNode(p,{prop:"list."+M+".score",rules:{validator:e.unref(xe),trigger:"blur"},style:{width:"200px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createElementVNode("div",Ie,[e.createVNode($,{modelValue:h.score[0],"onUpdate:modelValue":y=>h.score[0]=y,size:"small","controls-position":"right"},null,8,["modelValue","onUpdate:modelValue"]),Te,e.createVNode($,{modelValue:h.score[1],"onUpdate:modelValue":y=>h.score[1]=y,size:"small","controls-position":"right"},null,8,["modelValue","onUpdate:modelValue"])])]),_:2},1032,["prop","rules"])],64)),e.createVNode(_,{onClick:y=>T(M)},{default:e.withCtx(()=>[e.createVNode(e.unref(U.circle_close_filled_default))]),_:2},1032,["onClick"])]))),256)),e.createVNode(v,{type:"primary",plain:"",size:"small",icon:e.unref(U.plus_default),onClick:B,style:{"margin-bottom":"10px"}},{default:e.withCtx(()=>[e.createTextVNode("添加因子")]),_:1},8,["icon"]),e.createVNode(v,{type:"primary",plain:"",size:"small",icon:e.unref(U.plus_default),onClick:l[2]||(l[2]=h=>B("compare")),style:{"margin-bottom":"10px"}},{default:e.withCtx(()=>[e.createTextVNode("添加因子对比")]),_:1},8,["icon"]),c.config.sqlShow?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(p,{label:"SQL功能: "},{default:e.withCtx(()=>[e.createVNode(t,{modelValue:u.value.sqlEnable,"onUpdate:modelValue":l[3]||(l[3]=h=>u.value.sqlEnable=h)},{default:e.withCtx(()=>[e.createVNode(i,{label:"关闭",value:0}),e.createVNode(i,{label:"启用",value:1})]),_:1},8,["modelValue"]),u.value.sqlEnable?(e.openBlock(),e.createBlock(v,{key:0,type:"primary",size:"small",onClick:s,style:{"margin-left":"auto"}},{default:e.withCtx(()=>[e.createTextVNode("生成SQL")]),_:1})):e.createCommentVNode("",!0)]),_:1}),u.value.sqlEnable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(q,{modelValue:u.value.sqlValue,"onUpdate:modelValue":l[4]||(l[4]=h=>u.value.sqlValue=h),autosize:{minRows:4},type:"textarea",style:{"margin-bottom":"10px"}},null,8,["modelValue"]),$e],64)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue"])]),e.createVNode(Ne,{visible:m.value,"onUpdate:visible":l[6]||(l[6]=h=>m.value=h),data:(L=c.config.factorDescriptions)==null?void 0:L.filter(h=>[1,3].includes(h.type))},null,8,["visible","data"])],64)}}},Me=J._export_sfc(qe,[["__scopeId","data-v-ef576faa"]]);const P=c=>(e.pushScopeId("data-v-bdb03941"),c=c(),e.popScopeId(),c),Ue={key:0,class:"common-indicator"},Fe={class:"indicator"},Re=P(()=>e.createElementVNode("div",{class:"title"},[e.createElementVNode("span",null,"常用指标: "),e.createElementVNode("span",null,"不限")],-1)),De={class:"options"},Le=["onClick"],je={class:"tags"},ze=["onClick"],Pe={style:{"font-size":"18px"}},Ge={key:0,class:"out-box"},Ae=P(()=>e.createElementVNode("span",null,"自定义: ",-1)),Ye={key:0,class:"convenient-option-box"},Je={class:"out-box"},Ke=P(()=>e.createElementVNode("span",null,"自定义: ",-1)),Qe={key:0},Ze={key:0},He={key:0},We={key:1},Xe={class:"tFeaturelncomes-option-box"},et={class:"tFeaturelncomes-out-box"},tt=P(()=>e.createElementVNode("span",null,"自定义: ",-1)),lt={key:2},nt={key:3},ot={key:4},at={class:"dialog-footer"},rt={__name:"index",props:e.mergeModels({config:{type:Object,default:()=>{}},varietyMarket:{type:Number,default:()=>null},commonOption:{type:Array,default:()=>[]}},{data:{default:[]},dataModifiers:{}}),emits:["update:data"],setup(c){const g=e.useModel(c,"data"),d=c,a=e.ref(!1),m=e.computed(()=>{var r;return(r=d.data.find(l=>l.radioType==="1"))==null?void 0:r.key}),C=e.computed(()=>{let r=[];return d.varietyMarket===null&&!d.commonOption.length?r=d.config.options:(r=d.config.options,d.varietyMarket&&(r=r.filter(({parent:l})=>l.varietyMarketIds.includes(d.varietyMarket))),d.commonOption.length&&(r=r.filter(({parent:l})=>{const{commonOptionIds:f}=l;return[...new Set([...f,...d.commonOption])].length!==[...f,...d.commonOption].length}))),r}),u=e.ref({}),n=e.ref({}),E=r=>{u.value=r;const l={key:r.key,type:r.type,label:r.label};switch(r.key){case"st":{n.value={...l,st:null};break}case"tFeaturelncomes":{n.value={...l,rule:1,withFewYears:null,yearsCount:null,netProfit:null};break}case"priceLevels":{n.value={...l,priceLevels:null};break}case"peTtmLevels":{n.value={...l,peTtmLevels:null};break}case"optionsCpType":{n.value={...l,optionsCpType:null};break}default:n.value={...l,range:[null,null],unit:r.defaultUnit.length?[...r.defaultUnit]:[null,null],radioType:m.value&&m.value!==r.key?"0":r.defaultRadioType,rankRange:r.defaultRankRange||[null,null]}}a.value=!0},T=()=>{switch(n.value.key){case"st":{const{label:l,st:f}=n.value;if(f===null)return F.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${l}: ${f?"是":"否"}`;break}case"tFeaturelncomes":{const{label:l,rule:f,withFewYears:V,yearsCount:v,netProfit:_}=n.value;if(["",null].includes(V)||["",null].includes(v)||["",null].includes(_))return F.ElMessage.warning("格式错误: 请填写完整");n.value.tagText=`${l}: ${V}年内${v}年以上盈利${f===1?"超":"跌"}过${_}亿`;break}case"priceLevels":{const{label:l,priceLevels:f}=n.value;if(!f||f.length===0)return F.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${l}: 已选${f}分位`;break}case"peTtmLevels":{const{label:l,peTtmLevels:f}=n.value;if(!f||f.length===0)return F.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${l}: 已选${f}分位`;break}case"optionsCpType":{const{label:l,optionsCpType:f}=n.value;if(f===null)return F.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${l}: ${f===1?"看涨":"看跌"}`;break}default:{const{label:l,unit:f,radioType:V}=n.value,v=V==="1"?n.value.rankRange:n.value.range;if(["",null].includes(v[0])&&["",null].includes(v[1]))return F.ElMessage.warning("格式错误: 请至少填写一个值");if(V==="1"){const b=Number(v[0]),w=Number(v[1]);if(isNaN(b)||isNaN(w))return F.ElMessage.warning("格式错误: 请填写数字");if(b<0||w<0)return F.ElMessage.warning("格式错误: 请填写大于0的数字");if(b>w)return F.ElMessage.warning("格式错误: 请填写正确的排名范围")}const _=V==="1"?"":f[0]??"",k=V==="1"?"":f[1]??"";!["",null].includes(v[0])&&!["",null].includes(v[1])?n.value.tagText=`${l}${V==="1"?"排名":""}: ${v[0]}${_} ~ ${v[1]}${k}`:["",null].includes(v[0])?n.value.tagText=`${l}${V==="1"?"排名":""}: ≤${v[1]}${k}`:n.value.tagText=`${l}${V==="1"?"排名":""}: ≥${v[0]}${_}`}}const r=g.value.findIndex(({key:l})=>l===n.value.key);r===-1?g.value.push(n.value):g.value.splice(r,1,n.value),a.value=!1},B=r=>{u.value=C.value.find(({key:l})=>l===r.key),n.value=JSON.parse(JSON.stringify(r)),a.value=!0},s=r=>{g.value.splice(r,1)},o=r=>{n.value.range=[...r.range],n.value.unit=[...r.unit]},N=r=>{switch(r){case"≤0":Object.assign(n.value,{rule:2,withFewYears:1,yearsCount:1,netProfit:0});break;case"≥0":Object.assign(n.value,{rule:1,withFewYears:1,yearsCount:1,netProfit:0});break;case"五年内有四年以上盈利超过5千万":Object.assign(n.value,{rule:1,withFewYears:5,yearsCount:4,netProfit:.5});break;case"≥10亿":Object.assign(n.value,{rule:1,withFewYears:1,yearsCount:1,netProfit:10});break;case"≥20亿":Object.assign(n.value,{rule:1,withFewYears:1,yearsCount:1,netProfit:20});break}};return e.watch(()=>C.value,()=>{g.value.length&&(g.value=g.value.filter(({key:r})=>C.value.find(l=>l.key===r)))}),(r,l)=>{const f=le.ElTag,V=he,v=Q,_=X.ElInput,k=te.ElButton,b=R.ElOption,w=R.ElSelect,p=K,$=ee.ElInputNumber,i=Y.ElDialog;return c.config.show&&C.value.length?(e.openBlock(),e.createElementBlock("div",Ue,[e.createElementVNode("div",Fe,[Re,e.createElementVNode("div",De,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,t=>(e.openBlock(),e.createElementBlock("span",{key:t.key,onClick:q=>E(t)},e.toDisplayString(t.label),9,Le))),128))])]),e.createElementVNode("div",je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(t,q)=>(e.openBlock(),e.createBlock(f,{closable:"",type:"info",onClose:S=>s(q)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(t.tagText),1),e.createElementVNode("span",{class:"edit",onClick:S=>B(t)},"编辑",8,ze)]),_:2},1032,["onClose"]))),256))]),e.createVNode(i,{modelValue:a.value,"onUpdate:modelValue":l[19]||(l[19]=t=>a.value=t),title:u.value.label,width:"600","align-center":"","destroy-on-close":""},e.createSlots({footer:e.withCtx(()=>[e.createElementVNode("div",at,[e.createVNode(k,{type:"primary",onClick:T},{default:e.withCtx(()=>[e.createTextVNode("确定")]),_:1})])]),default:e.withCtx(()=>[u.value.type===void 0&&n.value.radioType==="1"?(e.openBlock(),e.createElementBlock("div",Ge,[Ae,e.createVNode(_,{modelValue:n.value.rankRange[0],"onUpdate:modelValue":l[1]||(l[1]=t=>n.value.rankRange[0]=t),style:{flex:"1"}},null,8,["modelValue"]),e.createTextVNode(" ~ "),e.createVNode(_,{modelValue:n.value.rankRange[1],"onUpdate:modelValue":l[2]||(l[2]=t=>n.value.rankRange[1]=t),style:{flex:"1"}},null,8,["modelValue"])])):u.value.type===void 0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[u.value.convenientOptions.length?(e.openBlock(),e.createElementBlock("div",Ye,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value.convenientOptions,t=>(e.openBlock(),e.createBlock(k,{key:t.text,onClick:q=>o(t)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.text),1)]),_:2},1032,["onClick"]))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",Je,[Ke,e.createVNode(_,{modelValue:n.value.range[0],"onUpdate:modelValue":l[4]||(l[4]=t=>n.value.range[0]=t),style:{flex:"1"}},e.createSlots({_:2},[u.value.unitOptions.length?{name:"append",fn:e.withCtx(()=>[u.value.unitOptions.length===1?(e.openBlock(),e.createElementBlock("span",Qe,e.toDisplayString(n.value.unit[0]),1)):(e.openBlock(),e.createBlock(w,{key:1,modelValue:n.value.unit[0],"onUpdate:modelValue":l[3]||(l[3]=t=>n.value.unit[0]=t),style:{width:"72px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value.unitOptions,t=>(e.openBlock(),e.createBlock(b,{label:t,value:t},null,8,["label","value"]))),256))]),_:1},8,["modelValue"]))]),key:"0"}:void 0]),1032,["modelValue"]),e.createTextVNode(" ~ "),e.createVNode(_,{modelValue:n.value.range[1],"onUpdate:modelValue":l[6]||(l[6]=t=>n.value.range[1]=t),style:{flex:"1"}},e.createSlots({_:2},[u.value.unitOptions.length?{name:"append",fn:e.withCtx(()=>[u.value.unitOptions.length===1?(e.openBlock(),e.createElementBlock("span",Ze,e.toDisplayString(n.value.unit[1]),1)):(e.openBlock(),e.createBlock(w,{key:1,modelValue:n.value.unit[1],"onUpdate:modelValue":l[5]||(l[5]=t=>n.value.unit[1]=t),style:{width:"72px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value.unitOptions,t=>(e.openBlock(),e.createBlock(b,{label:t,value:t},null,8,["label","value"]))),256))]),_:1},8,["modelValue"]))]),key:"0"}:void 0]),1032,["modelValue"])])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[u.value.key==="st"?(e.openBlock(),e.createElementBlock("div",He,[e.createVNode(v,{modelValue:n.value.st,"onUpdate:modelValue":l[7]||(l[7]=t=>n.value.st=t)},{default:e.withCtx(()=>[e.createVNode(p,{label:"是",value:1}),e.createVNode(p,{label:"否",value:0})]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),u.value.key==="tFeaturelncomes"?(e.openBlock(),e.createElementBlock("div",We,[e.createElementVNode("div",Xe,[e.createVNode(k,{onClick:l[8]||(l[8]=t=>N("≤0"))},{default:e.withCtx(()=>[e.createTextVNode("≤0")]),_:1}),e.createVNode(k,{onClick:l[9]||(l[9]=t=>N("≥0"))},{default:e.withCtx(()=>[e.createTextVNode("≥0")]),_:1}),e.createVNode(k,{onClick:l[10]||(l[10]=t=>N("五年内有四年以上盈利超过5千万"))},{default:e.withCtx(()=>[e.createTextVNode("五年内有四年以上盈利超过5千万")]),_:1}),e.createVNode(k,{onClick:l[11]||(l[11]=t=>N("≥10亿"))},{default:e.withCtx(()=>[e.createTextVNode("≥10亿")]),_:1}),e.createVNode(k,{onClick:l[12]||(l[12]=t=>N("≥20亿"))},{default:e.withCtx(()=>[e.createTextVNode("≥20亿")]),_:1})]),e.createElementVNode("div",et,[tt,e.createElementVNode("div",null,[e.createVNode($,{modelValue:n.value.withFewYears,"onUpdate:modelValue":l[13]||(l[13]=t=>n.value.withFewYears=t),"controls-position":"right"},null,8,["modelValue"]),e.createTextVNode(" 年内 "),e.createVNode($,{modelValue:n.value.yearsCount,"onUpdate:modelValue":l[14]||(l[14]=t=>n.value.yearsCount=t),"controls-position":"right"},null,8,["modelValue"]),e.createTextVNode(" 年以上盈利"+e.toDisplayString(n.value.rule===1?"超":"跌")+"过 ",1),e.createVNode($,{modelValue:n.value.netProfit,"onUpdate:modelValue":l[15]||(l[15]=t=>n.value.netProfit=t),"controls-position":"right"},null,8,["modelValue"]),e.createTextVNode(" 亿 ")])])])):e.createCommentVNode("",!0),u.value.key==="priceLevels"?(e.openBlock(),e.createElementBlock("div",lt,[e.createVNode(w,{modelValue:n.value.priceLevels,"onUpdate:modelValue":l[16]||(l[16]=t=>n.value.priceLevels=t),multiple:"",clearable:"",placeholder:"请选择",style:{width:"420px"}},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([1,2,3,4,5],t=>e.createVNode(b,{key:t,label:`${t}分位`,value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),u.value.key==="peTtmLevels"?(e.openBlock(),e.createElementBlock("div",nt,[e.createVNode(w,{modelValue:n.value.peTtmLevels,"onUpdate:modelValue":l[17]||(l[17]=t=>n.value.peTtmLevels=t),multiple:"",clearable:"",placeholder:"请选择",style:{width:"420px"}},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([1,2,3,4,5,6,7,8,9,10],t=>e.createVNode(b,{key:t,label:`${t}分位`,value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),u.value.key==="optionsCpType"?(e.openBlock(),e.createElementBlock("div",ot,[e.createVNode(v,{modelValue:n.value.optionsCpType,"onUpdate:modelValue":l[18]||(l[18]=t=>n.value.optionsCpType=t)},{default:e.withCtx(()=>[e.createVNode(p,{label:"看涨",value:1}),e.createVNode(p,{label:"看跌",value:2})]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0)],64))]),_:2},[u.value.showRankType?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("span",Pe,e.toDisplayString(u.value.label),1),e.createVNode(v,{modelValue:n.value.radioType,"onUpdate:modelValue":l[0]||(l[0]=t=>n.value.radioType=t),style:{"vertical-align":"4px","margin-left":"12px"}},{default:e.withCtx(()=>[e.createVNode(V,{label:"数值",value:"0"}),e.createVNode(V,{disabled:m.value&&m.value!==u.value.key,label:"排名",value:"1"},null,8,["disabled"])]),_:1},8,["modelValue"])]),key:"0"}:void 0]),1032,["modelValue","title"])])):e.createCommentVNode("",!0)}}},ut=J._export_sfc(rt,[["__scopeId","data-v-bdb03941"]]);const D=c=>(e.pushScopeId("data-v-c41b2140"),c=c(),e.popScopeId(),c),st={class:"variety-search"},it={key:0,class:"variety-search-row"},ct={class:"title"},dt=D(()=>e.createElementVNode("span",null,"品种市场: ",-1)),pt={key:1,class:"variety-search-row"},mt={class:"title"},ft=D(()=>e.createElementVNode("span",null,"常用选项: ",-1)),vt={key:2,class:"variety-search-row"},kt={class:"title"},gt=D(()=>e.createElementVNode("span",null,"上市板块: ",-1)),yt={key:3,class:"variety-search-row"},Vt={class:"title"},bt=D(()=>e.createElementVNode("span",null,"自定标签: ",-1)),_t={key:4,class:"variety-search-row"},ht={class:"title"},xt=D(()=>e.createElementVNode("span",null,"价差转换: ",-1)),Nt={key:5,class:"variety-search-row"},wt={class:"title"},Et=D(()=>e.createElementVNode("span",null,"因子筛选: ",-1)),Ct={__name:"index",props:e.mergeModels({config:{type:Object,default:{}}},{searchData:{},searchDataModifiers:{}}),emits:["update:searchData"],setup(c,{expose:g}){const d=c,a=e.useModel(c,"searchData");a.value=Object.assign(a.value,{varietyMarket:null,commonOption:[],marketIds:[],customTag:[],jcTranslate:{type:null,jcList:[]},factorScreen:{list:[],sqlEnable:0,sqlValue:null},commonIndicator:[]});const m=e.computed(()=>{const s={};return Object.keys(Z).forEach(o=>{const N=Z[o],r=d.config[o]??{},l={...N,...r};s[o]=l}),s}),C=e.computed(()=>m.value.varietyMarket.options),u=e.computed(()=>{const{varietyMarket:s}=a.value;if(s){const o=C.value.find(({value:N})=>N===s).memo;return m.value.commonOption.options.filter(({value:N})=>o.includes(N))}else return m.value.commonOption.options}),n=e.computed(()=>{const{varietyMarket:s}=a.value;return s?m.value.marketIds.options.filter(o=>o.varietyMarketIds.includes(s)):m.value.marketIds.options}),E=e.computed(()=>m.value.customTag.options),T=e.computed(()=>m.value.jcTranslate.jcOptions),B=s=>{switch(s){case"commonOption":{a.value[s]=[];break}case"marketIds":{a.value[s]=[];break}case"customTag":{a.value[s]=[];break}case"jcTranslate":{a.value[s]={type:null,jcList:[]};break}case"factorScreen":{a.value[s]={list:[],sqlEnable:0,sqlValue:null};break}case"commonIndicator":{a.value[s]=[];break}default:{a.value[s]=null;break}}};return e.watch(()=>u.value,s=>{var o;(o=a.value.commonOption)!=null&&o.length&&(a.value.commonOption=a.value.commonOption.filter(N=>s.find(({value:r})=>r===N)))}),e.watch(()=>n.value,s=>{var o;(o=a.value.marketIds)!=null&&o.length&&(a.value.marketIds=a.value.marketIds.filter(N=>s.find(({value:r})=>r===N)))}),g({formatData:s=>{var N,r,l,f,V,v;console.log("%c[品种池搜索聚合组件]: 正在生成接口传参...","color: tomato");const o={};if(s.varietyMarket&&(o.exchangeId=String(s.varietyMarket)),(N=s.commonOption)!=null&&N.length&&(o.optionId=s.commonOption.join(",")),(r=s.marketIds)!=null&&r.length&&(o.marketIds=s.marketIds),(l=s.customTag)!=null&&l.length&&(o.tagIds=s.customTag),(f=m.value.jcTranslate)!=null&&f.show){const{jcTranslate:_}=s,{type:k,jcList:b}=_;switch(k){case 1:{o.translateType=1,o.jcType=b.join(",");break}case 2:o.translateType=2}}if((V=m.value.factorScreen)!=null&&V.show){const{factorScreen:_}=s;if((v=_==null?void 0:_.list)!=null&&v.length&&(o.tbFeatureFactorScores=_.list.map(k=>{switch(k.key){case"compare":return{freqId:k.cycle,factorId:k.factor,compareType:k.compareType,freqId2:k.cycle2,factorId2:k.factor2};default:return{freqId:k.cycle,factorId:k.factor,startScore:k.score[0],endScore:k.score[1]}}})),_.sqlEnable){const k=_.list.reduce((w,p,$)=>{var t,q;const i=`条件${$+1}`;switch(p.key){case"compare":{let S="";(t=m.value.factorScreen)!=null&&t.cycleShow?S=`freq_id = ${p.cycle} and factor_id = ${p.factor} ${p.compareType} freq_id = ${p.cycle2} and factor_id = ${p.factor2}`:S=`factor_id = ${p.factor} ${p.compareType} factor_id = ${p.factor2}`,w.set(i,`(${S})`);break}default:{let S=`factor_id = ${p.factor} and `;(q=m.value.factorScreen)!=null&&q.cycleShow&&(S=`freq_id = ${p.cycle} and factor_id = ${p.factor} and `),(p.score[0]||p.score[0]===0)&&(p.score[1]||p.score[1]===0)?S+=`score >= ${p.score[0]} and score <= ${p.score[1]}`:p.score[0]||p.score[0]===0?S+=`score >= ${p.score[0]}`:(p.score[1]||p.score[1]===0)&&(S+=`score <= ${p.score[1]}`),w.set(i,`(${S})`)}}return w},new Map([]));let b=_.sqlValue;for(const[w,p]of k){const $=new RegExp(w,"g");b=b.replace($,p)}o.sql=b,o.sqlExpression=_.sqlValue}o.enableSql=_.sqlEnable===1?2:1}{const _=["expireDays","virtualRealDegree","yearProfitRate","impliedVolatility","levelMultiplier","turnover","volume","openInterest","optionsCpType","optionGear"],k=s.commonIndicator.reduce((t,q)=>{const{key:S,type:G,range:L,unit:h,radioType:M,rankRange:y}=q;if(M==="1")o.sortBy={column:q.key,start:y[0]||null,end:y[1]||null};else if(S==="dividendYield"){let[x,I]=L;["",null].includes(x)||(x=x/100),["",null].includes(I)||(I=I/100),t.push({column:q.key,start:x,end:I})}else if(G===void 0&&!_.includes(S)){let[x,I]=L;if(!["",null].includes(x))switch(h[0]){case"亿":x=x*1e8;break;case"千万":x=x*1e7;break;default:x=x;break}if(!["",null].includes(I))switch(h[1]){case"亿":I=I*1e8;break;case"千万":I=I*1e7;break;default:I=I;break}t.push({column:q.key,start:x,end:I})}return t},[]);k.length&&(o.query=k);const b=s.commonIndicator.find(({key:t})=>t==="st");b&&(o.st=b.st);const w=s.commonIndicator.find(({key:t})=>t==="tFeaturelncomes");w&&(o.netProfitQueryDto={...w,netProfit:w.netProfit*1e8});const p=s.commonIndicator.find(({key:t})=>t==="priceLevels");p&&(o.priceLevels=p.priceLevels);const $=s.commonIndicator.find(({key:t})=>t==="peTtmLevels");$&&(o.peTtmLevels=$.peTtmLevels);const i={};s.commonIndicator.forEach(t=>{const{key:q}=t;switch(q){case"expireDays":["",null].includes(t.range[0])||(i.minExpireDays=t.range[0]),["",null].includes(t.range[1])||(i.maxExpireDays=t.range[1]);break;case"virtualRealDegree":["",null].includes(t.range[0])||(i.minVirtualRealDegree=t.range[0]/100),["",null].includes(t.range[1])||(i.maxVirtualRealDegree=t.range[1]/100);break;case"yearProfitRate":["",null].includes(t.range[0])||(i.minYearProfitRate=t.range[0]/100),["",null].includes(t.range[1])||(i.maxYearProfitRate=t.range[1]/100);break;case"impliedVolatility":["",null].includes(t.range[0])||(i.minImpliedVolatility=t.range[0]/100),["",null].includes(t.range[1])||(i.maxImpliedVolatility=t.range[1]/100);break;case"levelMultiplier":["",null].includes(t.range[0])||(i.minLevelMultiplier=t.range[0]),["",null].includes(t.range[1])||(i.maxLevelMultiplier=t.range[1]);break;case"turnover":["",null].includes(t.range[0])||(i.minTurnover=t.range[0]*1e4),["",null].includes(t.range[1])||(i.maxTurnover=t.range[1]*1e4);break;case"volume":["",null].includes(t.range[0])||(i.minVolume=t.range[0]),["",null].includes(t.range[1])||(i.maxVolume=t.range[1]);break;case"openInterest":["",null].includes(t.range[0])||(i.minOpenInterest=t.range[0]),["",null].includes(t.range[1])||(i.maxOpenInterest=t.range[1]);break;case"optionsCpType":i.optionsCpType=t.optionsCpType;break;case"optionGear":["",null].includes(t.range[0])||(i.minOptionGear=t.range[0]),["",null].includes(t.range[1])||(i.maxOptionGear=t.range[1]);break}}),Object.keys(i).length&&(o.searchOptionDto={...o.searchOptionDto,...i})}return console.log("%c[品种池搜索聚合组件]: 接口传参数据生成完毕","color: green",o),o},reset:()=>{a.value={varietyMarket:null,commonOption:[],marketIds:[],customTag:[],jcTranslate:{type:null,jcList:[]},factorScreen:{list:[],sqlEnable:0,sqlValue:null},commonIndicator:[]}}}),(s,o)=>{var _,k,b,w,p,$;const N=K,r=Q,l=j.ElCheckbox,f=j.ElCheckboxGroup,V=R.ElOption,v=R.ElSelect;return e.openBlock(),e.createElementBlock("div",st,[(_=m.value.varietyMarket)!=null&&_.show?(e.openBlock(),e.createElementBlock("div",it,[e.createElementVNode("div",ct,[dt,e.createElementVNode("span",{onClick:o[0]||(o[0]=i=>B("varietyMarket"))},"不限")]),e.createVNode(r,{modelValue:a.value.varietyMarket,"onUpdate:modelValue":o[1]||(o[1]=i=>a.value.varietyMarket=i),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,({label:i,value:t})=>(e.openBlock(),e.createBlock(N,{label:i,value:t,key:t},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(k=m.value.commonOption)!=null&&k.show&&u.value.length?(e.openBlock(),e.createElementBlock("div",pt,[e.createElementVNode("div",mt,[ft,e.createElementVNode("span",{onClick:o[2]||(o[2]=i=>B("commonOption"))},"不限")]),e.createVNode(f,{modelValue:a.value.commonOption,"onUpdate:modelValue":o[3]||(o[3]=i=>a.value.commonOption=i),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,({label:i,value:t})=>(e.openBlock(),e.createBlock(l,{label:i,value:t,key:t},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(b=m.value.marketIds)!=null&&b.show&&n.value.length?(e.openBlock(),e.createElementBlock("div",vt,[e.createElementVNode("div",kt,[gt,e.createElementVNode("span",{onClick:o[4]||(o[4]=i=>B("marketIds"))},"不限")]),e.createVNode(f,{modelValue:a.value.marketIds,"onUpdate:modelValue":o[5]||(o[5]=i=>a.value.marketIds=i),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,({label:i,value:t})=>(e.openBlock(),e.createBlock(l,{label:i,value:t,key:t},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(w=m.value.customTag)!=null&&w.show&&E.value.length?(e.openBlock(),e.createElementBlock("div",yt,[e.createElementVNode("div",Vt,[bt,e.createElementVNode("span",{onClick:o[6]||(o[6]=i=>B("customTag"))},"不限")]),e.createVNode(f,{modelValue:a.value.customTag,"onUpdate:modelValue":o[7]||(o[7]=i=>a.value.customTag=i),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,({label:i,value:t})=>(e.openBlock(),e.createBlock(l,{label:i,value:t,key:t},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(p=m.value.jcTranslate)!=null&&p.show?(e.openBlock(),e.createElementBlock("div",_t,[e.createElementVNode("div",ht,[xt,e.createElementVNode("span",{onClick:o[8]||(o[8]=i=>B("jcTranslate"))},"不限")]),e.createVNode(r,{modelValue:a.value.jcTranslate.type,"onUpdate:modelValue":o[9]||(o[9]=i=>a.value.jcTranslate.type=i),size:"small"},{default:e.withCtx(()=>[e.createVNode(N,{value:2},{default:e.withCtx(()=>[e.createTextVNode("价差转品种")]),_:1}),e.createVNode(N,{value:1},{default:e.withCtx(()=>[e.createTextVNode("品种转价差")]),_:1})]),_:1},8,["modelValue"]),e.withDirectives(e.createVNode(v,{modelValue:a.value.jcTranslate.jcList,"onUpdate:modelValue":o[10]||(o[10]=i=>a.value.jcTranslate.jcList=i),size:"small",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择价差品种",style:{width:"140px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value,i=>(e.openBlock(),e.createBlock(V,{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),[[e.vShow,a.value.jcTranslate.type===1]])])):e.createCommentVNode("",!0),($=m.value.factorScreen)!=null&&$.show?(e.openBlock(),e.createElementBlock("div",Nt,[e.createElementVNode("div",wt,[Et,e.createElementVNode("span",{onClick:o[11]||(o[11]=i=>B("factorScreen"))},"不限")]),e.createVNode(Me,{data:a.value.factorScreen,"onUpdate:data":o[12]||(o[12]=i=>a.value.factorScreen=i),config:m.value.factorScreen},null,8,["data","config"])])):e.createCommentVNode("",!0),e.createVNode(ut,{data:a.value.commonIndicator,"onUpdate:data":o[13]||(o[13]=i=>a.value.commonIndicator=i),varietyMarket:a.value.varietyMarket,commonOption:a.value.commonOption,config:m.value.commonIndicator},null,8,["data","varietyMarket","commonOption","config"])])}}},Bt=J._export_sfc(Ct,[["__scopeId","data-v-c41b2140"]]),Ot={install(c){c.component("st-varietySearch",Bt)}};module.exports=Ot;