st-comp 0.0.135 → 0.0.136

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.
@@ -0,0 +1 @@
1
+ "use strict";const t=require("vue"),c={__name:"index",props:{env:{type:Object,default:()=>({})}},setup(o){const s=o,e=t.reactive({env:s.env});return t.watch(()=>s,n=>{Object.assign(e,toRefs(n)),console.log("已更新神兔组件库配置: ",e)},{deep:!0}),console.log("%c√ 已成功注入神兔组件库配置: ","color: green",e),t.provide("stConfig",e),(n,i)=>t.renderSlot(n.$slots,"default")}},r={install(o){o.component("st-configProvider",c)}};module.exports=r;
@@ -0,0 +1,35 @@
1
+ import { reactive as s, watch as r, provide as c, renderSlot as i } from "vue";
2
+ const l = {
3
+ __name: "index",
4
+ props: {
5
+ // 全局环境配置
6
+ env: {
7
+ type: Object,
8
+ default: () => ({
9
+ // VITE_PROJECT_NAME: "",
10
+ // VITE_PROJECT_CLIENTID: "",
11
+ // VITE_BASE_URL: "",
12
+ // VITE_BASE_URL2: ""
13
+ })
14
+ }
15
+ },
16
+ setup(o) {
17
+ const n = o, e = s({
18
+ env: n.env
19
+ });
20
+ return r(
21
+ () => n,
22
+ (t) => {
23
+ Object.assign(e, toRefs(t)), console.log("已更新神兔组件库配置: ", e);
24
+ },
25
+ { deep: !0 }
26
+ ), console.log("%c√ 已成功注入神兔组件库配置: ", "color: green", e), c("stConfig", e), (t, a) => i(t.$slots, "default");
27
+ }
28
+ }, d = {
29
+ install(o) {
30
+ o.component("st-configProvider", l);
31
+ }
32
+ };
33
+ export {
34
+ d as default
35
+ };
@@ -1 +1 @@
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 ve=O._export_sfc(me,[["__file","radio.vue"]]);const fe=O.buildProps({...ne}),ke=e.defineComponent({name:"ElRadioButton"}),ge=e.defineComponent({...ke,props:fe,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(ve,{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-3592dee9"),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:v}=d.value;u.value={list:JSON.parse(JSON.stringify(r)),sqlEnable:l,sqlValue:v},u.value.list.length||B(),a.value=!0},E=()=>{C.value.validate(r=>{const{list:l,sqlEnable:v,sqlValue:V}=u.value;if(r){if(v){if(!V)return F.ElMessage.error("SQL语句不能为空");const f=H(V),_=l.map((b,w)=>`条件${w+1}`),k=f.filter(b=>!_.includes(b));if(k.length)return F.ElMessage.error(`请检查SQL语句, 不存在[${k}]`)}d.value={list:JSON.parse(JSON.stringify(l)),sqlEnable:v,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((v,V,f)=>(l.includes(`条件${f+1}`)||(v+=`&& 条件${f+1} `),v),u.value.sqlValue)}else u.value.sqlValue=u.value.list.reduce((l,v,V)=>(V===0?l+=`条件${V+1} `:l+=`&& 条件${V+1} `,l),"")})},o=r=>{switch(r.key){case"compare":{const{cycle:l,factor:v,compareType:V,cycle2:f,factor2:_}=r;let k="";return k+=` ${g.config.cycleOptions.find(({value:b})=>b===l).label}`,k+=` ${g.config.factorOptions.find(({value:b})=>b===v).label}`,k+=` ${V}`,k+=` ${g.config.cycleOptions.find(({value:b})=>b===f).label}`,k+=` ${g.config.factorOptions.find(({value:b})=>b===_).label}`,k}default:{const{cycle:l,factor:v,score:V}=r;let f="";return f+=` ${g.config.cycleOptions.find(({value:_})=>_===l).label}`,f+=` ${g.config.factorOptions.find(({value:_})=>_===v).label}`,f+=` ${V[0]||V[0]===0?`${V[0]}分`:"∞"}`,f+=" ~",f+=` ${V[1]||V[1]===0?`${V[1]}分`:"∞"}`,f}}},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 v=A.ElText,V=le.ElTag,f=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(v,{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(f,{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:"680","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(f,{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:"132px","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:"132px","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:"194px","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(f,{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(f,{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(f,{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-3592dee9"]]);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:v}=l;return[...new Set([...v,...d.commonOption])].length!==[...v,...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:v}=n.value;if(v===null)return F.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${l}: ${v?"是":"否"}`;break}case"tFeaturelncomes":{const{label:l,rule:v,withFewYears:V,yearsCount:f,netProfit:_}=n.value;if(["",null].includes(V)||["",null].includes(f)||["",null].includes(_))return F.ElMessage.warning("格式错误: 请填写完整");n.value.tagText=`${l}: ${V}年内${f}年以上盈利${v===1?"超":"跌"}过${_}亿`;break}case"priceLevels":{const{label:l,priceLevels:v}=n.value;if(!v||v.length===0)return F.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${l}: 已选${v}分位`;break}case"peTtmLevels":{const{label:l,peTtmLevels:v}=n.value;if(!v||v.length===0)return F.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${l}: 已选${v}分位`;break}case"optionsCpType":{const{label:l,optionsCpType:v}=n.value;if(v===null)return F.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${l}: ${v===1?"看涨":"看跌"}`;break}default:{const{label:l,unit:v,radioType:V}=n.value,f=V==="1"?n.value.rankRange:n.value.range;if(["",null].includes(f[0])&&["",null].includes(f[1]))return F.ElMessage.warning("格式错误: 请至少填写一个值");if(V==="1"){const b=Number(f[0]),w=Number(f[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"?"":v[0]??"",k=V==="1"?"":v[1]??"";!["",null].includes(f[0])&&!["",null].includes(f[1])?n.value.tagText=`${l}${V==="1"?"排名":""}: ${f[0]}${_} ~ ${f[1]}${k}`:["",null].includes(f[0])?n.value.tagText=`${l}${V==="1"?"排名":""}: ≤${f[1]}${k}`:n.value.tagText=`${l}${V==="1"?"排名":""}: ≥${f[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 v=le.ElTag,V=he,f=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(v,{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(f,{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(f,{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(f,{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"},vt=D(()=>e.createElementVNode("span",null,"常用选项: ",-1)),ft={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,v,V,f;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),(v=m.value.jcTranslate)!=null&&v.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((f=_==null?void 0:_.list)!=null&&f.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,v=j.ElCheckboxGroup,V=R.ElOption,f=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,[vt,e.createElementVNode("span",{onClick:o[2]||(o[2]=i=>B("commonOption"))},"不限")]),e.createVNode(v,{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",ft,[e.createElementVNode("div",kt,[gt,e.createElementVNode("span",{onClick:o[4]||(o[4]=i=>B("marketIds"))},"不限")]),e.createVNode(v,{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(v,{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(f,{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;
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"),Y=require("./el-form-item-7d32befa.cjs"),j=require("./el-table-column-dd8b62aa.cjs"),e=require("vue"),A=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),E=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===E.value}}),n=U.useFormSize(e.computed(()=>a==null?void 0:a.size)),C=U.useFormDisabled(e.computed(()=>a==null?void 0:a.disabled)),T=e.ref(!1),B=e.computed(()=>C.value||m.value&&u.value!==E.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:C,tabIndex:B,modelValue:u,actualValue:E}},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:E,focus:u,size:n,disabled:C,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(C)),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(C)),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(E))==null?void 0:r.name),disabled:e.unref(C),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:E,disabled:u,modelValue:n,radioGroup:C,actualValue:T}=re(g),B=e.computed(()=>({backgroundColor:(C==null?void 0:C.fill)||"",borderColor:(C==null?void 0:C.fill)||"",boxShadow:C!=null&&C.fill?`-1px 0 0 0 ${C.fill}`:"",color:(C==null?void 0:C.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(E))])},[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(C))==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(),E=e.ref(),{formItem:u}=U.useFormItem(),{inputId:n,isLabeledByFormItem:C}=U.useFormItemInputId(d,{formItemContext:u}),T=s=>{g(z.UPDATE_MODEL_EVENT,s),e.nextTick(()=>g("change",s))};e.onMounted(()=>{const s=E.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:E,class:e.normalizeClass(e.unref(a).b("group")),role:"radiogroup","aria-label":e.unref(C)?void 0:s.ariaLabel||"radio-group","aria-labelledby":e.unref(C)?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:[]},commonOption:{show:!0,options:[]},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,16]},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,16]},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,16]},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,16]},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,16]},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,16]},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,16]},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,16]},type:"custom"},{key:"pb",label:"市净率",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15,16]},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,16]},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,16]},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,16]},type:"custom"},{key:"dividendYield",label:"股息率",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15,16]},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,16]},type:"custom"},{key:"peTtmLevels",label:"市盈率分位",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15,16]},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,E=j.ElTable,u=A.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(E,{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-3592dee9"),c=c(),e.popScopeId(),c),we={class:"factor-screen"},Ce={class:"custom-header"},Ee=["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),E=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},C=()=>{E.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=()=>{E.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=Y.ElText,V=le.ElTag,v=te.ElButton,_=U.ElIcon,k=W.ElTooltip,b=R.ElOption,w=R.ElSelect,p=Y.ElFormItem,$=ee.ElInputNumber,i=K,t=Q,q=X.ElInput,S=Y.ElForm,G=A.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:"680","align-center":"","destroy-on-close":""},{header:e.withCtx(({titleId:h,titleClass:M})=>[e.createElementVNode("div",Ce,[e.createElementVNode("span",{id:h,class:e.normalizeClass(M)}," 因子筛选 ",10,Ee),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:C},{default:e.withCtx(()=>[e.createTextVNode("确定")]),_:1})])]),default:e.withCtx(()=>[e.createVNode(S,{ref_key:"dialogFormRef",ref:E,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:"132px","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:"132px","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:"194px","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-3592dee9"]]);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"},Ye=P(()=>e.createElementVNode("span",null,"自定义: ",-1)),Ae={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}),E=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({}),C=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=E.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(()=>E.value,()=>{g.value.length&&(g.value=g.value.filter(({key:r})=>E.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=A.ElDialog;return c.config.show&&E.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(E.value,t=>(e.openBlock(),e.createElementBlock("span",{key:t.key,onClick:q=>C(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,[Ye,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",Ae,[(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"},Ct=D(()=>e.createElementVNode("span",null,"因子筛选: ",-1)),Et={__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}),E=e.computed(()=>m.value.varietyMarket.options),u=e.computed(()=>{const{varietyMarket:s}=a.value;if(s){const o=E.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}),C=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(E.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&&C.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(C.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,[Ct,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(Et,[["__scopeId","data-v-c41b2140"]]),Ot={install(c){c.component("st-varietySearch",Bt)}};module.exports=Ot;