st-comp 0.0.151 → 0.0.152
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/VarietySearch.cjs +1 -1
- package/es/VarietySearch.js +1174 -987
- package/es/style.css +1 -1
- package/lib/bundle.js +1 -1
- package/lib/bundle.umd.cjs +121 -121
- package/lib/{index-9ea06c35.js → index-0ffc2521.js} +12318 -12131
- package/lib/{python-93a0241d.js → python-1f89356b.js} +1 -1
- package/lib/style.css +1 -1
- package/package.json +1 -1
- package/packages/VarietySearch/components/CommonIndicator/index.vue +121 -1
- package/packages/VarietySearch/config.js +21 -1
- package/packages/VarietySearch/index.vue +15 -1
- package/src/pages/PasswordPrompt/index.vue +12 -12
package/es/VarietySearch.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const I=require("./base-0ca7c43a.cjs");require("./el-tag-9732314f.cjs");const R=require("./el-select-31f8ac8a.cjs");require("./el-scrollbar-ac525239.cjs");const X=require("./el-popper-7adbf1c6.cjs"),de=require("./el-checkbox-group-45247bbf.cjs"),z=require("./el-table-column-bdc46568.cjs"),e=require("vue"),A=require("./el-overlay-41994f67.cjs"),Z=require("./el-form-item-47e255d4.cjs"),ee=require("./el-input-6a3805c5.cjs"),te=require("./el-input-number-96ff2e47.cjs");require("./el-tooltip-0ea8fbf8.cjs");const le=require("./el-button-62966947.cjs"),F=require("./index-afc88a4b.cjs"),U=require("./el-message-d5ed7a4f.cjs"),J=require("./_plugin-vue_export-helper-f246444f.cjs"),ne=require("./index-9e6e8d03.cjs"),D=require("./use-form-common-props-74a96df2.cjs"),P=require("./index-65b4113e.cjs"),pe=require("./index-2f958e56.cjs"),me=require("./index-375e8de4.cjs");require("./castArray-a78ae889.cjs");require("./index-1d85ba4b.cjs");require("./scroll-339681d4.cjs");require("./debounce-cf26af24.cjs");require("./_initCloneObject-47814efa.cjs");require("./raf-f46caea0.cjs");require("./vnode-b15eb11b.cjs");require("./typescript-b63f8e83.cjs");require("./index-eea0bcb3.cjs");require("./config-provider-cfbb9cd8.cjs");const oe=I.buildProps({modelValue:{type:[String,Number,Boolean],default:void 0},size:D.useSizeProp,disabled:Boolean,label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),fe=I.buildProps({...oe,border:Boolean}),ae={[P.UPDATE_MODEL_EVENT]:c=>I.isString(c)||I.isNumber(c)||I.isBoolean(c),[P.CHANGE_EVENT]:c=>I.isString(c)||I.isNumber(c)||I.isBoolean(c)},re=Symbol("radioGroupKey"),ue=(c,g)=>{const d=e.ref(),o=e.inject(re,void 0),f=e.computed(()=>!!o),E=e.computed(()=>I.isPropAbsent(c.value)?c.label:c.value),u=e.computed({get(){return f.value?o.modelValue:c.modelValue},set(i){f.value?o.changeEvent(i):g&&g(P.UPDATE_MODEL_EVENT,i),d.value.checked=c.modelValue===E.value}}),n=D.useFormSize(e.computed(()=>o==null?void 0:o.size)),C=D.useFormDisabled(e.computed(()=>o==null?void 0:o.disabled)),T=e.ref(!1),B=e.computed(()=>C.value||f.value&&u.value!==E.value?-1:0);return pe.useDeprecated({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},e.computed(()=>f.value&&I.isPropAbsent(c.value))),{radioRef:d,isGroup:f,radioGroup:o,focus:T,size:n,disabled:C,tabIndex:B,modelValue:u,actualValue:E}},ve=e.defineComponent({name:"ElRadio"}),ke=e.defineComponent({...ve,props:fe,emits:ae,setup(c,{emit:g}){const d=c,o=I.useNamespace("radio"),{radioRef:f,radioGroup:E,focus:u,size:n,disabled:C,modelValue:T,actualValue:B}=ue(d,g);function i(){e.nextTick(()=>g("change",T.value))}return(a,N)=>{var r;return e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass([e.unref(o).b(),e.unref(o).is("disabled",e.unref(C)),e.unref(o).is("focus",e.unref(u)),e.unref(o).is("bordered",a.border),e.unref(o).is("checked",e.unref(T)===e.unref(B)),e.unref(o).m(e.unref(n))])},[e.createElementVNode("span",{class:e.normalizeClass([e.unref(o).e("input"),e.unref(o).is("disabled",e.unref(C)),e.unref(o).is("checked",e.unref(T)===e.unref(B))])},[e.withDirectives(e.createElementVNode("input",{ref_key:"radioRef",ref:f,"onUpdate:modelValue":l=>e.isRef(T)?T.value=l:null,class:e.normalizeClass(e.unref(o).e("original")),value:e.unref(B),name:a.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:i,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(o).e("inner"))},null,2)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(o).e("label")),onKeydown:e.withModifiers(()=>{},["stop"])},[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.label),1)])],42,["onKeydown"])],2)}}});var ge=I._export_sfc(ke,[["__file","radio.vue"]]);const ye=I.buildProps({...oe}),Ve=e.defineComponent({name:"ElRadioButton"}),be=e.defineComponent({...Ve,props:ye,setup(c){const g=c,d=I.useNamespace("radio"),{radioRef:o,focus:f,size:E,disabled:u,modelValue:n,radioGroup:C,actualValue:T}=ue(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(i,a)=>{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(f)),e.unref(d).bm("button",e.unref(E))])},[e.withDirectives(e.createElementVNode("input",{ref_key:"radioRef",ref:o,"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:i.name||((N=e.unref(C))==null?void 0:N.name),disabled:e.unref(u),onFocus:r=>f.value=!0,onBlur:r=>f.value=!1,onClick:e.withModifiers(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","onFocus","onBlur","onClick"]),[[e.vModelRadio,e.unref(n)]]),e.createElementVNode("span",{class:e.normalizeClass(e.unref(d).be("button","inner")),style:e.normalizeStyle(e.unref(n)===e.unref(T)?e.unref(B):{}),onKeydown:e.withModifiers(()=>{},["stop"])},[e.renderSlot(i.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(i.label),1)])],46,["onKeydown"])],2)}}});var ie=I._export_sfc(be,[["__file","radio-button.vue"]]);const _e=I.buildProps({id:{type:String,default:void 0},size:D.useSizeProp,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},...X.useAriaProps(["ariaLabel"])}),he=ae,xe=e.defineComponent({name:"ElRadioGroup"}),Ne=e.defineComponent({...xe,props:_e,emits:he,setup(c,{emit:g}){const d=c,o=I.useNamespace("radio"),f=me.useId(),E=e.ref(),{formItem:u}=D.useFormItem(),{inputId:n,isLabeledByFormItem:C}=D.useFormItemInputId(d,{formItemContext:u}),T=i=>{g(P.UPDATE_MODEL_EVENT,i),e.nextTick(()=>g("change",i))};e.onMounted(()=>{const i=E.value.querySelectorAll("[type=radio]"),a=i[0];!Array.from(i).some(N=>N.checked)&&a&&(a.tabIndex=0)});const B=e.computed(()=>d.name||f.value);return e.provide(re,e.reactive({...e.toRefs(d),changeEvent:T,name:B})),e.watch(()=>d.modelValue,()=>{d.validateEvent&&(u==null||u.validate("change").catch(i=>I.debugWarn(i)))}),(i,a)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(n),ref_key:"radioGroupRef",ref:E,class:e.normalizeClass(e.unref(o).b("group")),role:"radiogroup","aria-label":e.unref(C)?void 0:i.ariaLabel||"radio-group","aria-labelledby":e.unref(C)?e.unref(u).labelId:void 0},[e.renderSlot(i.$slots,"default")],10,["id","aria-label","aria-labelledby"]))}});var se=I._export_sfc(Ne,[["__file","radio-group.vue"]]);const K=I.withInstall(ge,{RadioButton:ie,RadioGroup:se}),Q=I.withNoopInstall(se),we=I.withNoopInstall(ie);const H={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:[]}]}},Ce=(c,g,d)=>{!g[0]&&g[0]!==0&&!g[1]&&g[1]!==0?d(new Error("至少填写一个分数")):d()},W=c=>{const g=/(条件(\d+))/g;return c.match(g)||[]},Ee={__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,o)=>{const f=z.ElTableColumn,E=z.ElTable,u=A.ElDialog;return e.openBlock(),e.createBlock(u,{modelValue:g.value,"onUpdate:modelValue":o[0]||(o[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(f,{prop:"factorName",label:"因子名称",width:"200"}),e.createVNode(f,{prop:"factorDesc",label:"因子说明"}),e.createVNode(f,{prop:"factorScoreDefine",label:"分值定义"})]),_:1},8,["data"])]),_:1},8,["modelValue"])}}};const ce=c=>(e.pushScopeId("data-v-3592dee9"),c=c(),e.popScopeId(),c),Be={class:"factor-screen"},Oe={class:"custom-header"},Ie=["id"],Te={class:"form-row"},$e={class:"index"},Se={style:{display:"flex","align-items":"center",width:"100%",height:"24px"}},qe=ce(()=>e.createElementVNode("span",null,"~",-1)),Me=ce(()=>e.createElementVNode("span",null,"&&代表and,||代表or",-1)),Ue={class:"dialog-footer"},Fe={__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"),o=e.ref(!1),f=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:p}=d.value;u.value={list:JSON.parse(JSON.stringify(r)),sqlEnable:l,sqlValue:p},u.value.list.length||B(),o.value=!0},C=()=>{E.value.validate(r=>{const{list:l,sqlEnable:p,sqlValue:V}=u.value;if(r){if(p){if(!V)return U.ElMessage.error("SQL语句不能为空");const v=W(V),_=l.map((b,w)=>`条件${w+1}`),k=v.filter(b=>!_.includes(b));if(k.length)return U.ElMessage.error(`请检查SQL语句, 不存在[${k}]`)}d.value={list:JSON.parse(JSON.stringify(l)),sqlEnable:p,sqlValue:V},o.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}}},i=()=>{E.value.validate(r=>{if(r)if(u.value.sqlValue){const l=W(u.value.sqlValue);u.value.sqlValue=u.value.list.reduce((p,V,v)=>(l.includes(`条件${v+1}`)||(p+=`&& 条件${v+1} `),p),u.value.sqlValue)}else u.value.sqlValue=u.value.list.reduce((l,p,V)=>(V===0?l+=`条件${V+1} `:l+=`&& 条件${V+1} `,l),"")})},a=r=>{switch(r.key){case"compare":{const{cycle:l,factor:p,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===p).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:p,score:V}=r;let v="";return v+=` ${g.config.cycleOptions.find(({value:_})=>_===l).label}`,v+=` ${g.config.factorOptions.find(({value:_})=>_===p).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 j;const p=de.ElText,V=ne.ElTag,v=le.ElButton,_=F.ElIcon,k=X.ElTooltip,b=R.ElOption,w=R.ElSelect,m=Z.ElFormItem,$=te.ElInputNumber,s=K,t=Q,q=ee.ElInput,S=Z.ElForm,Y=A.ElDialog;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Be,[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(p,{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(a(h)),1)]),_:2},1032,["onClose"]))),256)):e.createCommentVNode("",!0),e.createVNode(v,{class:"screen-btn",type:"primary",plain:"",size:"small",icon:e.unref(F.plus_default),onClick:n},{default:e.withCtx(()=>[e.createTextVNode(" 添加因子 ")]),_:1},8,["icon"])]),e.createVNode(Y,{modelValue:o.value,"onUpdate:modelValue":l[5]||(l[5]=h=>o.value=h),width:"680","align-center":"","destroy-on-close":""},{header:e.withCtx(({titleId:h,titleClass:M})=>[e.createElementVNode("div",Oe,[e.createElementVNode("span",{id:h,class:e.normalizeClass(M)}," 因子筛选 ",10,Ie),e.createVNode(k,{effect:"dark",content:"点击查看: 因子使用说明",placement:"right"},{default:e.withCtx(()=>[e.createVNode(_,{onClick:l[1]||(l[1]=y=>f.value=!0)},{default:e.withCtx(()=>[e.createVNode(e.unref(F.info_filled_default))]),_:1})]),_:1})])]),footer:e.withCtx(()=>[e.createElementVNode("div",Ue,[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",Te,[e.createElementVNode("span",$e,e.toDisplayString(`条件${M+1}`),1),h.key==="compare"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[c.config.cycleShow?(e.openBlock(),e.createBlock(m,{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(m,{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:O})=>(e.openBlock(),e.createBlock(b,{label:x,value:O,key:O},null,8,["label","value"]))),128))]}),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"]),e.createVNode(m,{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(m,{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(m,{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:O})=>(e.openBlock(),e.createBlock(b,{label:x,value:O,key:O},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(m,{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(m,{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:O})=>(e.openBlock(),e.createBlock(b,{label:x,value:O,key:O},null,8,["label","value"]))),128))]}),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"]),e.createVNode(m,{prop:"list."+M+".score",rules:{validator:e.unref(Ce),trigger:"blur"},style:{width:"200px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createElementVNode("div",Se,[e.createVNode($,{modelValue:h.score[0],"onUpdate:modelValue":y=>h.score[0]=y,size:"small","controls-position":"right"},null,8,["modelValue","onUpdate:modelValue"]),qe,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(F.circle_close_filled_default))]),_:2},1032,["onClick"])]))),256)),e.createVNode(v,{type:"primary",plain:"",size:"small",icon:e.unref(F.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(F.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(m,{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(s,{label:"关闭",value:0}),e.createVNode(s,{label:"启用",value:1})]),_:1},8,["modelValue"]),u.value.sqlEnable?(e.openBlock(),e.createBlock(v,{key:0,type:"primary",size:"small",onClick:i,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"]),Me],64)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue"])]),e.createVNode(Ee,{visible:f.value,"onUpdate:visible":l[6]||(l[6]=h=>f.value=h),data:(j=c.config.factorDescriptions)==null?void 0:j.filter(h=>[1,3].includes(h.type))},null,8,["visible","data"])],64)}}},Re=J._export_sfc(Fe,[["__scopeId","data-v-3592dee9"]]);const G=c=>(e.pushScopeId("data-v-bdb03941"),c=c(),e.popScopeId(),c),De={key:0,class:"common-indicator"},Le={class:"indicator"},je=G(()=>e.createElementVNode("div",{class:"title"},[e.createElementVNode("span",null,"常用指标: "),e.createElementVNode("span",null,"不限")],-1)),ze={class:"options"},Pe=["onClick"],Ge={class:"tags"},Ye=["onClick"],Ae={style:{"font-size":"18px"}},Je={key:0,class:"out-box"},Ke=G(()=>e.createElementVNode("span",null,"自定义: ",-1)),Qe={key:0,class:"convenient-option-box"},Ze={class:"out-box"},He=G(()=>e.createElementVNode("span",null,"自定义: ",-1)),We={key:0},Xe={key:0},et={key:0},tt={key:1},lt={class:"tFeaturelncomes-option-box"},nt={class:"tFeaturelncomes-out-box"},ot=G(()=>e.createElementVNode("span",null,"自定义: ",-1)),at={key:2},rt={key:3},ut={key:4},it={class:"dialog-footer"},st={__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,o=e.ref(!1),f=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:p}=l;return[...new Set([...p,...d.commonOption])].length!==[...p,...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:f.value&&f.value!==r.key?"0":r.defaultRadioType,rankRange:r.defaultRankRange||[null,null]}}o.value=!0},T=()=>{switch(n.value.key){case"st":{const{label:l,st:p}=n.value;if(p===null)return U.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${l}: ${p?"是":"否"}`;break}case"tFeaturelncomes":{const{label:l,rule:p,withFewYears:V,yearsCount:v,netProfit:_}=n.value;if(["",null].includes(V)||["",null].includes(v)||["",null].includes(_))return U.ElMessage.warning("格式错误: 请填写完整");n.value.tagText=`${l}: ${V}年内${v}年以上盈利${p===1?"超":"跌"}过${_}亿`;break}case"priceLevels":{const{label:l,priceLevels:p}=n.value;if(!p||p.length===0)return U.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${l}: 已选${p}分位`;break}case"peTtmLevels":{const{label:l,peTtmLevels:p}=n.value;if(!p||p.length===0)return U.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${l}: 已选${p}分位`;break}case"optionsCpType":{const{label:l,optionsCpType:p}=n.value;if(p===null)return U.ElMessage.warning("格式错误: 请至少选择一个值");n.value.tagText=`${l}: ${p===1?"看涨":"看跌"}`;break}default:{const{label:l,unit:p,radioType:V}=n.value,v=V==="1"?n.value.rankRange:n.value.range;if(["",null].includes(v[0])&&["",null].includes(v[1]))return U.ElMessage.warning("格式错误: 请至少填写一个值");if(V==="1"){const b=Number(v[0]),w=Number(v[1]);if(isNaN(b)||isNaN(w))return U.ElMessage.warning("格式错误: 请填写数字");if(b<0||w<0)return U.ElMessage.warning("格式错误: 请填写大于0的数字");if(b>w)return U.ElMessage.warning("格式错误: 请填写正确的排名范围")}const _=V==="1"?"":p[0]??"",k=V==="1"?"":p[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),o.value=!1},B=r=>{u.value=E.value.find(({key:l})=>l===r.key),n.value=JSON.parse(JSON.stringify(r)),o.value=!0},i=r=>{g.value.splice(r,1)},a=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 p=ne.ElTag,V=we,v=Q,_=ee.ElInput,k=le.ElButton,b=R.ElOption,w=R.ElSelect,m=K,$=te.ElInputNumber,s=A.ElDialog;return c.config.show&&E.value.length?(e.openBlock(),e.createElementBlock("div",De,[e.createElementVNode("div",Le,[je,e.createElementVNode("div",ze,[(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,Pe))),128))])]),e.createElementVNode("div",Ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(t,q)=>(e.openBlock(),e.createBlock(p,{closable:"",type:"info",onClose:S=>i(q)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(t.tagText),1),e.createElementVNode("span",{class:"edit",onClick:S=>B(t)},"编辑",8,Ye)]),_:2},1032,["onClose"]))),256))]),e.createVNode(s,{modelValue:o.value,"onUpdate:modelValue":l[19]||(l[19]=t=>o.value=t),title:u.value.label,width:"600","align-center":"","destroy-on-close":""},e.createSlots({footer:e.withCtx(()=>[e.createElementVNode("div",it,[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",Je,[Ke,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",Qe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value.convenientOptions,t=>(e.openBlock(),e.createBlock(k,{key:t.text,onClick:q=>a(t)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.text),1)]),_:2},1032,["onClick"]))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",Ze,[He,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",We,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",Xe,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",et,[e.createVNode(v,{modelValue:n.value.st,"onUpdate:modelValue":l[7]||(l[7]=t=>n.value.st=t)},{default:e.withCtx(()=>[e.createVNode(m,{label:"是",value:1}),e.createVNode(m,{label:"否",value:0})]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),u.value.key==="tFeaturelncomes"?(e.openBlock(),e.createElementBlock("div",tt,[e.createElementVNode("div",lt,[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",nt,[ot,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",at,[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",rt,[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",ut,[e.createVNode(v,{modelValue:n.value.optionsCpType,"onUpdate:modelValue":l[18]||(l[18]=t=>n.value.optionsCpType=t)},{default:e.withCtx(()=>[e.createVNode(m,{label:"看涨",value:1}),e.createVNode(m,{label:"看跌",value:2})]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0)],64))]),_:2},[u.value.showRankType?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("span",Ae,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:f.value&&f.value!==u.value.key,label:"排名",value:"1"},null,8,["disabled"])]),_:1},8,["modelValue"])]),key:"0"}:void 0]),1032,["modelValue","title"])])):e.createCommentVNode("",!0)}}},ct=J._export_sfc(st,[["__scopeId","data-v-bdb03941"]]);const L=c=>(e.pushScopeId("data-v-fe77e4e0"),c=c(),e.popScopeId(),c),dt={class:"variety-search"},pt={key:0,class:"variety-search-row"},mt={class:"title"},ft=L(()=>e.createElementVNode("span",null,"品种市场: ",-1)),vt={key:1,class:"variety-search-row"},kt={class:"title"},gt=L(()=>e.createElementVNode("span",null,"常用选项: ",-1)),yt={key:2,class:"variety-search-row"},Vt={class:"title"},bt=L(()=>e.createElementVNode("span",null,"上市板块: ",-1)),_t={key:3,class:"variety-search-row"},ht={class:"title"},xt=L(()=>e.createElementVNode("span",null,"自定标签: ",-1)),Nt={key:4,class:"variety-search-row"},wt={class:"title"},Ct=L(()=>e.createElementVNode("span",null,"价差转换: ",-1)),Et={key:5,class:"variety-search-row"},Bt={class:"title"},Ot=L(()=>e.createElementVNode("span",null,"因子筛选: ",-1)),It={__name:"index",props:e.mergeModels({config:{type:Object,default:{}}},{searchData:{},searchDataModifiers:{}}),emits:["update:searchData"],setup(c,{expose:g}){const d=c,o=e.useModel(c,"searchData");o.value=Object.assign(o.value,{varietyMarket:null,commonOption:[],marketIds:[],customTag:[],jcTranslate:{type:null,jcList:[]},factorScreen:{list:[],sqlEnable:0,sqlValue:null},commonIndicator:[]});const f=e.computed(()=>{const i={};return Object.keys(H).forEach(a=>{const N=H[a],r=d.config[a]??{},l={...N,...r};i[a]=l}),i}),E=e.computed(()=>f.value.varietyMarket.options),u=e.computed(()=>{const{varietyMarket:i}=o.value;return i?E.value.find(({value:N})=>N===i).memo.reduce((N,r)=>{const l=f.value.commonOption.options.find(p=>p.value===r);return l&&N.push(l),N},[]):f.value.commonOption.options}),n=e.computed(()=>{const{varietyMarket:i}=o.value;return i?f.value.marketIds.options.filter(a=>a.varietyMarketIds.includes(i)):f.value.marketIds.options}),C=e.computed(()=>f.value.customTag.options),T=e.computed(()=>f.value.jcTranslate.jcOptions),B=i=>{switch(i){case"commonOption":{o.value[i]=[];break}case"marketIds":{o.value[i]=[];break}case"customTag":{o.value[i]=[];break}case"jcTranslate":{o.value[i]={type:null,jcList:[]};break}case"factorScreen":{o.value[i]={list:[],sqlEnable:0,sqlValue:null};break}case"commonIndicator":{o.value[i]=[];break}default:{o.value[i]=null;break}}};return e.watch(()=>u.value,i=>{var a;(a=o.value.commonOption)!=null&&a.length&&(o.value.commonOption=o.value.commonOption.filter(N=>i.find(({value:r})=>r===N)))}),e.watch(()=>n.value,i=>{var a;(a=o.value.marketIds)!=null&&a.length&&(o.value.marketIds=o.value.marketIds.filter(N=>i.find(({value:r})=>r===N)))}),g({formatData:i=>{var N,r,l,p,V,v;console.log("%c[品种池搜索聚合组件]: 正在生成接口传参...","color: tomato");const a={};if(i.varietyMarket&&(a.exchangeId=String(i.varietyMarket)),(N=i.commonOption)!=null&&N.length&&(a.optionId=i.commonOption.join(",")),(r=i.marketIds)!=null&&r.length&&(a.marketIds=i.marketIds),(l=i.customTag)!=null&&l.length&&(a.tagIds=i.customTag),(p=f.value.jcTranslate)!=null&&p.show){const{jcTranslate:_}=i,{type:k,jcList:b}=_;switch(k){case 1:{a.translateType=1,a.jcType=b.join(",");break}case 2:a.translateType=2}}if((V=f.value.factorScreen)!=null&&V.show){const{factorScreen:_}=i;if((v=_==null?void 0:_.list)!=null&&v.length&&(a.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,m,$)=>{var t,q;const s=`条件${$+1}`;switch(m.key){case"compare":{let S="";(t=f.value.factorScreen)!=null&&t.cycleShow?S=`freq_id = ${m.cycle} and factor_id = ${m.factor} ${m.compareType} freq_id = ${m.cycle2} and factor_id = ${m.factor2}`:S=`factor_id = ${m.factor} ${m.compareType} factor_id = ${m.factor2}`,w.set(s,`(${S})`);break}default:{let S=`factor_id = ${m.factor} and `;(q=f.value.factorScreen)!=null&&q.cycleShow&&(S=`freq_id = ${m.cycle} and factor_id = ${m.factor} and `),(m.score[0]||m.score[0]===0)&&(m.score[1]||m.score[1]===0)?S+=`score >= ${m.score[0]} and score <= ${m.score[1]}`:m.score[0]||m.score[0]===0?S+=`score >= ${m.score[0]}`:(m.score[1]||m.score[1]===0)&&(S+=`score <= ${m.score[1]}`),w.set(s,`(${S})`)}}return w},new Map([]));let b=_.sqlValue;for(const[w,m]of k){const $=new RegExp(w,"g");b=b.replace($,m)}a.sql=b,a.sqlExpression=_.sqlValue}a.enableSql=_.sqlEnable===1?2:1}{const _=["expireDays","virtualRealDegree","yearProfitRate","impliedVolatility","levelMultiplier","turnover","volume","openInterest","optionsCpType","optionGear"],k=i.commonIndicator.reduce((t,q)=>{const{key:S,type:Y,range:j,unit:h,radioType:M,rankRange:y}=q;if(M==="1")a.sortBy={column:q.key,start:y[0]||null,end:y[1]||null};else if(S==="dividendYield"){let[x,O]=j;["",null].includes(x)||(x=x/100),["",null].includes(O)||(O=O/100),t.push({column:q.key,start:x,end:O})}else if(Y===void 0&&!_.includes(S)){let[x,O]=j;if(!["",null].includes(x))switch(h[0]){case"亿":x=x*1e8;break;case"千万":x=x*1e7;break;default:x=x;break}if(!["",null].includes(O))switch(h[1]){case"亿":O=O*1e8;break;case"千万":O=O*1e7;break;default:O=O;break}t.push({column:q.key,start:x,end:O})}return t},[]);k.length&&(a.query=k);const b=i.commonIndicator.find(({key:t})=>t==="st");b&&(a.st=b.st);const w=i.commonIndicator.find(({key:t})=>t==="tFeaturelncomes");w&&(a.netProfitQueryDto={...w,netProfit:w.netProfit*1e8});const m=i.commonIndicator.find(({key:t})=>t==="priceLevels");m&&(a.priceLevels=m.priceLevels);const $=i.commonIndicator.find(({key:t})=>t==="peTtmLevels");$&&(a.peTtmLevels=$.peTtmLevels);const s={};i.commonIndicator.forEach(t=>{const{key:q}=t;switch(q){case"expireDays":["",null].includes(t.range[0])||(s.minExpireDays=t.range[0]),["",null].includes(t.range[1])||(s.maxExpireDays=t.range[1]);break;case"virtualRealDegree":["",null].includes(t.range[0])||(s.minVirtualRealDegree=t.range[0]/100),["",null].includes(t.range[1])||(s.maxVirtualRealDegree=t.range[1]/100);break;case"yearProfitRate":["",null].includes(t.range[0])||(s.minYearProfitRate=t.range[0]/100),["",null].includes(t.range[1])||(s.maxYearProfitRate=t.range[1]/100);break;case"impliedVolatility":["",null].includes(t.range[0])||(s.minImpliedVolatility=t.range[0]/100),["",null].includes(t.range[1])||(s.maxImpliedVolatility=t.range[1]/100);break;case"levelMultiplier":["",null].includes(t.range[0])||(s.minLevelMultiplier=t.range[0]),["",null].includes(t.range[1])||(s.maxLevelMultiplier=t.range[1]);break;case"turnover":["",null].includes(t.range[0])||(s.minTurnover=t.range[0]*1e4),["",null].includes(t.range[1])||(s.maxTurnover=t.range[1]*1e4);break;case"volume":["",null].includes(t.range[0])||(s.minVolume=t.range[0]),["",null].includes(t.range[1])||(s.maxVolume=t.range[1]);break;case"openInterest":["",null].includes(t.range[0])||(s.minOpenInterest=t.range[0]),["",null].includes(t.range[1])||(s.maxOpenInterest=t.range[1]);break;case"optionsCpType":s.optionsCpType=t.optionsCpType;break;case"optionGear":["",null].includes(t.range[0])||(s.minOptionGear=t.range[0]),["",null].includes(t.range[1])||(s.maxOptionGear=t.range[1]);break}}),Object.keys(s).length&&(a.searchOptionDto={...a.searchOptionDto,...s})}return console.log("%c[品种池搜索聚合组件]: 接口传参数据生成完毕","color: green",a),a},reset:()=>{o.value={varietyMarket:null,commonOption:[],marketIds:[],customTag:[],jcTranslate:{type:null,jcList:[]},factorScreen:{list:[],sqlEnable:0,sqlValue:null},commonIndicator:[]}}}),(i,a)=>{var _,k,b,w,m,$;const N=K,r=Q,l=z.ElCheckbox,p=z.ElCheckboxGroup,V=R.ElOption,v=R.ElSelect;return e.openBlock(),e.createElementBlock("div",dt,[(_=f.value.varietyMarket)!=null&&_.show?(e.openBlock(),e.createElementBlock("div",pt,[e.createElementVNode("div",mt,[ft,e.createElementVNode("span",{onClick:a[0]||(a[0]=s=>B("varietyMarket"))},"不限")]),e.createVNode(r,{modelValue:o.value.varietyMarket,"onUpdate:modelValue":a[1]||(a[1]=s=>o.value.varietyMarket=s),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,({label:s,value:t})=>(e.openBlock(),e.createBlock(N,{label:s,value:t,key:t},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(k=f.value.commonOption)!=null&&k.show&&u.value.length?(e.openBlock(),e.createElementBlock("div",vt,[e.createElementVNode("div",kt,[gt,e.createElementVNode("span",{onClick:a[2]||(a[2]=s=>B("commonOption"))},"不限")]),e.createVNode(p,{modelValue:o.value.commonOption,"onUpdate:modelValue":a[3]||(a[3]=s=>o.value.commonOption=s),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,({label:s,value:t})=>(e.openBlock(),e.createBlock(l,{label:s,value:t,key:t},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(b=f.value.marketIds)!=null&&b.show&&n.value.length?(e.openBlock(),e.createElementBlock("div",yt,[e.createElementVNode("div",Vt,[bt,e.createElementVNode("span",{onClick:a[4]||(a[4]=s=>B("marketIds"))},"不限")]),e.createVNode(p,{modelValue:o.value.marketIds,"onUpdate:modelValue":a[5]||(a[5]=s=>o.value.marketIds=s),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,({label:s,value:t})=>(e.openBlock(),e.createBlock(l,{label:s,value:t,key:t},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(w=f.value.customTag)!=null&&w.show&&C.value.length?(e.openBlock(),e.createElementBlock("div",_t,[e.createElementVNode("div",ht,[xt,e.createElementVNode("span",{onClick:a[6]||(a[6]=s=>B("customTag"))},"不限")]),e.createVNode(p,{modelValue:o.value.customTag,"onUpdate:modelValue":a[7]||(a[7]=s=>o.value.customTag=s),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,({label:s,value:t})=>(e.openBlock(),e.createBlock(l,{label:s,value:t,key:t},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(m=f.value.jcTranslate)!=null&&m.show?(e.openBlock(),e.createElementBlock("div",Nt,[e.createElementVNode("div",wt,[Ct,e.createElementVNode("span",{onClick:a[8]||(a[8]=s=>B("jcTranslate"))},"不限")]),e.createVNode(r,{modelValue:o.value.jcTranslate.type,"onUpdate:modelValue":a[9]||(a[9]=s=>o.value.jcTranslate.type=s),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:o.value.jcTranslate.jcList,"onUpdate:modelValue":a[10]||(a[10]=s=>o.value.jcTranslate.jcList=s),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,s=>(e.openBlock(),e.createBlock(V,{key:s.value,label:s.label,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),[[e.vShow,o.value.jcTranslate.type===1]])])):e.createCommentVNode("",!0),($=f.value.factorScreen)!=null&&$.show?(e.openBlock(),e.createElementBlock("div",Et,[e.createElementVNode("div",Bt,[Ot,e.createElementVNode("span",{onClick:a[11]||(a[11]=s=>B("factorScreen"))},"不限")]),e.createVNode(Re,{data:o.value.factorScreen,"onUpdate:data":a[12]||(a[12]=s=>o.value.factorScreen=s),config:f.value.factorScreen},null,8,["data","config"])])):e.createCommentVNode("",!0),e.createVNode(ct,{data:o.value.commonIndicator,"onUpdate:data":a[13]||(a[13]=s=>o.value.commonIndicator=s),varietyMarket:o.value.varietyMarket,commonOption:o.value.commonOption,config:f.value.commonIndicator},null,8,["data","varietyMarket","commonOption","config"])])}}},Tt=J._export_sfc(It,[["__scopeId","data-v-fe77e4e0"]]),$t={install(c){c.component("st-varietySearch",Tt)}};module.exports=$t;
|
|
1
|
+
"use strict";const S=require("./base-0ca7c43a.cjs");require("./el-tag-9732314f.cjs");const z=require("./el-select-31f8ac8a.cjs");require("./el-scrollbar-ac525239.cjs");const le=require("./el-popper-7adbf1c6.cjs"),ve=require("./el-checkbox-group-45247bbf.cjs"),Y=require("./el-table-column-bdc46568.cjs"),e=require("vue"),Q=require("./el-overlay-41994f67.cjs"),X=require("./el-form-item-47e255d4.cjs"),ne=require("./el-input-6a3805c5.cjs"),ae=require("./el-input-number-96ff2e47.cjs");require("./el-tooltip-0ea8fbf8.cjs");const oe=require("./el-button-62966947.cjs"),j=require("./index-afc88a4b.cjs"),U=require("./el-message-d5ed7a4f.cjs"),Z=require("./_plugin-vue_export-helper-f246444f.cjs"),re=require("./index-9e6e8d03.cjs"),P=require("./use-form-common-props-74a96df2.cjs"),A=require("./index-65b4113e.cjs"),ke=require("./index-2f958e56.cjs"),ge=require("./index-375e8de4.cjs");require("./castArray-a78ae889.cjs");require("./index-1d85ba4b.cjs");require("./scroll-339681d4.cjs");require("./debounce-cf26af24.cjs");require("./_initCloneObject-47814efa.cjs");require("./raf-f46caea0.cjs");require("./vnode-b15eb11b.cjs");require("./typescript-b63f8e83.cjs");require("./index-eea0bcb3.cjs");require("./config-provider-cfbb9cd8.cjs");const ue=S.buildProps({modelValue:{type:[String,Number,Boolean],default:void 0},size:P.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}}),ye=S.buildProps({...ue,border:Boolean}),ie={[A.UPDATE_MODEL_EVENT]:i=>S.isString(i)||S.isNumber(i)||S.isBoolean(i),[A.CHANGE_EVENT]:i=>S.isString(i)||S.isNumber(i)||S.isBoolean(i)},se=Symbol("radioGroupKey"),ce=(i,w)=>{const V=e.ref(),n=e.inject(se,void 0),y=e.computed(()=>!!n),B=e.computed(()=>S.isPropAbsent(i.value)?i.label:i.value),g=e.computed({get(){return y.value?n.modelValue:i.modelValue},set(u){y.value?n.changeEvent(u):w&&w(A.UPDATE_MODEL_EVENT,u),V.value.checked=i.modelValue===B.value}}),b=P.useFormSize(e.computed(()=>n==null?void 0:n.size)),t=P.useFormDisabled(e.computed(()=>n==null?void 0:n.disabled)),M=e.ref(!1),T=e.computed(()=>t.value||y.value&&g.value!==B.value?-1:0);return ke.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(()=>y.value&&S.isPropAbsent(i.value))),{radioRef:V,isGroup:y,radioGroup:n,focus:M,size:b,disabled:t,tabIndex:T,modelValue:g,actualValue:B}},Ve=e.defineComponent({name:"ElRadio"}),be=e.defineComponent({...Ve,props:ye,emits:ie,setup(i,{emit:w}){const V=i,n=S.useNamespace("radio"),{radioRef:y,radioGroup:B,focus:g,size:b,disabled:t,modelValue:M,actualValue:T}=ce(V,w);function u(){e.nextTick(()=>w("change",M.value))}return(a,E)=>{var _;return e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass([e.unref(n).b(),e.unref(n).is("disabled",e.unref(t)),e.unref(n).is("focus",e.unref(g)),e.unref(n).is("bordered",a.border),e.unref(n).is("checked",e.unref(M)===e.unref(T)),e.unref(n).m(e.unref(b))])},[e.createElementVNode("span",{class:e.normalizeClass([e.unref(n).e("input"),e.unref(n).is("disabled",e.unref(t)),e.unref(n).is("checked",e.unref(M)===e.unref(T))])},[e.withDirectives(e.createElementVNode("input",{ref_key:"radioRef",ref:y,"onUpdate:modelValue":v=>e.isRef(M)?M.value=v:null,class:e.normalizeClass(e.unref(n).e("original")),value:e.unref(T),name:a.name||((_=e.unref(B))==null?void 0:_.name),disabled:e.unref(t),checked:e.unref(M)===e.unref(T),type:"radio",onFocus:v=>g.value=!0,onBlur:v=>g.value=!1,onChange:u,onClick:e.withModifiers(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","checked","onFocus","onBlur","onClick"]),[[e.vModelRadio,e.unref(M)]]),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("inner"))},null,2)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("label")),onKeydown:e.withModifiers(()=>{},["stop"])},[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.label),1)])],42,["onKeydown"])],2)}}});var _e=S._export_sfc(be,[["__file","radio.vue"]]);const xe=S.buildProps({...ue}),he=e.defineComponent({name:"ElRadioButton"}),Ne=e.defineComponent({...he,props:xe,setup(i){const w=i,V=S.useNamespace("radio"),{radioRef:n,focus:y,size:B,disabled:g,modelValue:b,radioGroup:t,actualValue:M}=ce(w),T=e.computed(()=>({backgroundColor:(t==null?void 0:t.fill)||"",borderColor:(t==null?void 0:t.fill)||"",boxShadow:t!=null&&t.fill?`-1px 0 0 0 ${t.fill}`:"",color:(t==null?void 0:t.textColor)||""}));return(u,a)=>{var E;return e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass([e.unref(V).b("button"),e.unref(V).is("active",e.unref(b)===e.unref(M)),e.unref(V).is("disabled",e.unref(g)),e.unref(V).is("focus",e.unref(y)),e.unref(V).bm("button",e.unref(B))])},[e.withDirectives(e.createElementVNode("input",{ref_key:"radioRef",ref:n,"onUpdate:modelValue":_=>e.isRef(b)?b.value=_:null,class:e.normalizeClass(e.unref(V).be("button","original-radio")),value:e.unref(M),type:"radio",name:u.name||((E=e.unref(t))==null?void 0:E.name),disabled:e.unref(g),onFocus:_=>y.value=!0,onBlur:_=>y.value=!1,onClick:e.withModifiers(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","onFocus","onBlur","onClick"]),[[e.vModelRadio,e.unref(b)]]),e.createElementVNode("span",{class:e.normalizeClass(e.unref(V).be("button","inner")),style:e.normalizeStyle(e.unref(b)===e.unref(M)?e.unref(T):{}),onKeydown:e.withModifiers(()=>{},["stop"])},[e.renderSlot(u.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(u.label),1)])],46,["onKeydown"])],2)}}});var de=S._export_sfc(Ne,[["__file","radio-button.vue"]]);const we=S.buildProps({id:{type:String,default:void 0},size:P.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},...le.useAriaProps(["ariaLabel"])}),Ce=ie,Ee=e.defineComponent({name:"ElRadioGroup"}),Be=e.defineComponent({...Ee,props:we,emits:Ce,setup(i,{emit:w}){const V=i,n=S.useNamespace("radio"),y=ge.useId(),B=e.ref(),{formItem:g}=P.useFormItem(),{inputId:b,isLabeledByFormItem:t}=P.useFormItemInputId(V,{formItemContext:g}),M=u=>{w(A.UPDATE_MODEL_EVENT,u),e.nextTick(()=>w("change",u))};e.onMounted(()=>{const u=B.value.querySelectorAll("[type=radio]"),a=u[0];!Array.from(u).some(E=>E.checked)&&a&&(a.tabIndex=0)});const T=e.computed(()=>V.name||y.value);return e.provide(se,e.reactive({...e.toRefs(V),changeEvent:M,name:T})),e.watch(()=>V.modelValue,()=>{V.validateEvent&&(g==null||g.validate("change").catch(u=>S.debugWarn(u)))}),(u,a)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(b),ref_key:"radioGroupRef",ref:B,class:e.normalizeClass(e.unref(n).b("group")),role:"radiogroup","aria-label":e.unref(t)?void 0:u.ariaLabel||"radio-group","aria-labelledby":e.unref(t)?e.unref(g).labelId:void 0},[e.renderSlot(u.$slots,"default")],10,["id","aria-label","aria-labelledby"]))}});var pe=S._export_sfc(Be,[["__file","radio-group.vue"]]);const H=S.withInstall(_e,{RadioButton:de,RadioGroup:pe}),W=S.withNoopInstall(pe),Oe=S.withNoopInstall(de);const ee={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:"perVolumn",label:"成交量",type:"custom",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15,16]}},{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:"mainFlow",label:"主力净流入资金",type:"custom",parent:{varietyMarketIds:[3,5,7],commonOptionIds:[4,6,12,14,15,16]}},{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:[]}]}},Ie=(i,w,V)=>{!w[0]&&w[0]!==0&&!w[1]&&w[1]!==0?V(new Error("至少填写一个分数")):V()},te=i=>{const w=/(条件(\d+))/g;return i.match(w)||[]},Te={__name:"FactorDescription",props:e.mergeModels({data:{type:Array,default:[]}},{visible:{default:!1},visibleModifiers:{}}),emits:["update:visible"],setup(i){const w=e.useModel(i,"visible");return(V,n)=>{const y=Y.ElTableColumn,B=Y.ElTable,g=Q.ElDialog;return e.openBlock(),e.createBlock(g,{modelValue:w.value,"onUpdate:modelValue":n[0]||(n[0]=b=>w.value=b),title:"因子使用说明",width:"1000","align-center":"","destroy-on-close":""},{default:e.withCtx(()=>[e.createVNode(B,{data:i.data,border:"",height:"500"},{default:e.withCtx(()=>[e.createVNode(y,{prop:"factorName",label:"因子名称",width:"200"}),e.createVNode(y,{prop:"factorDesc",label:"因子说明"}),e.createVNode(y,{prop:"factorScoreDefine",label:"分值定义"})]),_:1},8,["data"])]),_:1},8,["modelValue"])}}};const me=i=>(e.pushScopeId("data-v-3592dee9"),i=i(),e.popScopeId(),i),$e={class:"factor-screen"},Se={class:"custom-header"},Me=["id"],qe={class:"form-row"},Fe={class:"index"},Re={style:{display:"flex","align-items":"center",width:"100%",height:"24px"}},Ue=me(()=>e.createElementVNode("span",null,"~",-1)),De=me(()=>e.createElementVNode("span",null,"&&代表and,||代表or",-1)),Le={class:"dialog-footer"},je={__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(i){const w=i,V=e.useModel(i,"data"),n=e.ref(!1),y=e.ref(!1),B=e.ref(null),g=e.ref({list:[{cycle:w.config.cycleDefault??null,factor:null,score:[null,null]}],sqlEnable:0,sqlValue:null}),b=()=>{const{list:_,sqlEnable:v,sqlValue:s}=V.value;g.value={list:JSON.parse(JSON.stringify(_)),sqlEnable:v,sqlValue:s},g.value.list.length||T(),n.value=!0},t=()=>{B.value.validate(_=>{const{list:v,sqlEnable:s,sqlValue:l}=g.value;if(_){if(s){if(!l)return U.ElMessage.error("SQL语句不能为空");const k=te(l),p=v.map((c,h)=>`条件${h+1}`),m=k.filter(c=>!p.includes(c));if(m.length)return U.ElMessage.error(`请检查SQL语句, 不存在[${m}]`)}V.value={list:JSON.parse(JSON.stringify(v)),sqlEnable:s,sqlValue:l},n.value=!1}})},M=_=>{g.value.list.splice(_,1)},T=_=>{switch(_){case"compare":{g.value.list.push({key:"compare",cycle:w.config.cycleDefault??null,factor:null,compareType:">",cycle2:w.config.cycleDefault??null,factor2:null});break}default:{g.value.list.push({cycle:w.config.cycleDefault??null,factor:null,score:[null,null]});break}}},u=()=>{B.value.validate(_=>{if(_)if(g.value.sqlValue){const v=te(g.value.sqlValue);g.value.sqlValue=g.value.list.reduce((s,l,k)=>(v.includes(`条件${k+1}`)||(s+=`&& 条件${k+1} `),s),g.value.sqlValue)}else g.value.sqlValue=g.value.list.reduce((v,s,l)=>(l===0?v+=`条件${l+1} `:v+=`&& 条件${l+1} `,v),"")})},a=_=>{switch(_.key){case"compare":{const{cycle:v,factor:s,compareType:l,cycle2:k,factor2:p}=_;let m="";return m+=` ${w.config.cycleOptions.find(({value:c})=>c===v).label}`,m+=` ${w.config.factorOptions.find(({value:c})=>c===s).label}`,m+=` ${l}`,m+=` ${w.config.cycleOptions.find(({value:c})=>c===k).label}`,m+=` ${w.config.factorOptions.find(({value:c})=>c===p).label}`,m}default:{const{cycle:v,factor:s,score:l}=_;let k="";return k+=` ${w.config.cycleOptions.find(({value:p})=>p===v).label}`,k+=` ${w.config.factorOptions.find(({value:p})=>p===s).label}`,k+=` ${l[0]||l[0]===0?`${l[0]}分`:"∞"}`,k+=" ~",k+=` ${l[1]||l[1]===0?`${l[1]}分`:"∞"}`,k}}},E=(_,v)=>{switch(_){case"sqlTag":{V.value={list:[],sqlEnable:0,sqlValue:null};break}case"factorTag":{V.value.list.splice(v,1);break}}};return(_,v)=>{var L;const s=ve.ElText,l=re.ElTag,k=oe.ElButton,p=j.ElIcon,m=le.ElTooltip,c=z.ElOption,h=z.ElSelect,f=X.ElFormItem,O=ae.ElInputNumber,o=H,I=W,d=ne.ElInput,C=X.ElForm,r=Q.ElDialog;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",$e,[e.createElementVNode("div",null,[V.value.sqlEnable&&V.value.sqlValue?(e.openBlock(),e.createBlock(l,{key:0,closable:"",type:"info",title:V.value.sqlValue,onClose:v[0]||(v[0]=N=>E("sqlTag"))},{default:e.withCtx(()=>[e.createVNode(s,{type:"info",truncated:"",style:{"max-width":"500px"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(V.value.sqlValue),1)]),_:1})]),_:1},8,["title"])):e.createCommentVNode("",!0),!V.value.sqlEnable&&V.value.list.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(V.value.list,(N,q)=>(e.openBlock(),e.createBlock(l,{closable:"",type:"info",onClose:x=>E("factorTag",q)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a(N)),1)]),_:2},1032,["onClose"]))),256)):e.createCommentVNode("",!0),e.createVNode(k,{class:"screen-btn",type:"primary",plain:"",size:"small",icon:e.unref(j.plus_default),onClick:b},{default:e.withCtx(()=>[e.createTextVNode(" 添加因子 ")]),_:1},8,["icon"])]),e.createVNode(r,{modelValue:n.value,"onUpdate:modelValue":v[5]||(v[5]=N=>n.value=N),width:"680","align-center":"","destroy-on-close":""},{header:e.withCtx(({titleId:N,titleClass:q})=>[e.createElementVNode("div",Se,[e.createElementVNode("span",{id:N,class:e.normalizeClass(q)}," 因子筛选 ",10,Me),e.createVNode(m,{effect:"dark",content:"点击查看: 因子使用说明",placement:"right"},{default:e.withCtx(()=>[e.createVNode(p,{onClick:v[1]||(v[1]=x=>y.value=!0)},{default:e.withCtx(()=>[e.createVNode(e.unref(j.info_filled_default))]),_:1})]),_:1})])]),footer:e.withCtx(()=>[e.createElementVNode("div",Le,[e.createVNode(k,{type:"primary",onClick:t},{default:e.withCtx(()=>[e.createTextVNode("确定")]),_:1})])]),default:e.withCtx(()=>[e.createVNode(C,{ref_key:"dialogFormRef",ref:B,model:g.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value.list,(N,q)=>(e.openBlock(),e.createElementBlock("div",qe,[e.createElementVNode("span",Fe,e.toDisplayString(`条件${q+1}`),1),N.key==="compare"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[i.config.cycleShow?(e.openBlock(),e.createBlock(f,{key:0,prop:"list."+q+".cycle",rules:{required:!0,message:"周期不能为空",trigger:"blur"},style:{width:"100px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:N.cycle,"onUpdate:modelValue":x=>N.cycle=x,placeholder:"选择周期",size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.config.cycleOptions,({label:x,value:$})=>(e.openBlock(),e.createBlock(c,{label:x,value:$,key:$},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"])):e.createCommentVNode("",!0),e.createVNode(f,{prop:"list."+q+".factor",rules:{required:!0,message:"因子不能为空",trigger:"blur"},style:{width:"132px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:N.factor,"onUpdate:modelValue":x=>N.factor=x,placeholder:"选择因子",filterable:"",size:"small","no-match-text":"无匹配数据"},{default:e.withCtx(()=>{var x;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList((x=i.config.factorOptions)==null?void 0:x.filter($=>[4].includes($.type)),({label:$,value:D})=>(e.openBlock(),e.createBlock(c,{label:$,value:D,key:D},null,8,["label","value"]))),128))]}),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"]),e.createVNode(f,{style:{width:"52px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:N.compareType,"onUpdate:modelValue":x=>N.compareType=x,size:"small"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([">",">=","<","<="],x=>e.createVNode(c,{label:x,value:x,key:x},null,8,["label","value"])),64))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),i.config.cycleShow?(e.openBlock(),e.createBlock(f,{key:1,prop:"list."+q+".cycle2",rules:{required:!0,message:"周期不能为空",trigger:"blur"},style:{width:"100px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:N.cycle2,"onUpdate:modelValue":x=>N.cycle2=x,placeholder:"选择周期",size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.config.cycleOptions,({label:x,value:$})=>(e.openBlock(),e.createBlock(c,{label:x,value:$,key:$},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"])):e.createCommentVNode("",!0),e.createVNode(f,{prop:"list."+q+".factor2",rules:{required:!0,message:"因子不能为空",trigger:"blur"},style:{width:"132px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:N.factor2,"onUpdate:modelValue":x=>N.factor2=x,placeholder:"选择因子",filterable:"",size:"small","no-match-text":"无匹配数据"},{default:e.withCtx(()=>{var x;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList((x=i.config.factorOptions)==null?void 0:x.filter($=>[4].includes($.type)),({label:$,value:D})=>(e.openBlock(),e.createBlock(c,{label:$,value:D,key:D},null,8,["label","value"]))),128))]}),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[i.config.cycleShow?(e.openBlock(),e.createBlock(f,{key:0,prop:"list."+q+".cycle",rules:{required:!0,message:"周期不能为空",trigger:"blur"},style:{width:"100px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:N.cycle,"onUpdate:modelValue":x=>N.cycle=x,placeholder:"选择周期",size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.config.cycleOptions,({label:x,value:$})=>(e.openBlock(),e.createBlock(c,{label:x,value:$,key:$},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"])):e.createCommentVNode("",!0),e.createVNode(f,{prop:"list."+q+".factor",rules:{required:!0,message:"因子不能为空",trigger:"blur"},style:{width:"194px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:N.factor,"onUpdate:modelValue":x=>N.factor=x,placeholder:"选择因子",filterable:"",size:"small","no-match-text":"无匹配数据"},{default:e.withCtx(()=>{var x;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList((x=i.config.factorOptions)==null?void 0:x.filter($=>[1,3].includes($.type)),({label:$,value:D})=>(e.openBlock(),e.createBlock(c,{label:$,value:D,key:D},null,8,["label","value"]))),128))]}),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"]),e.createVNode(f,{prop:"list."+q+".score",rules:{validator:e.unref(Ie),trigger:"blur"},style:{width:"200px","margin-right":"10px"}},{default:e.withCtx(()=>[e.createElementVNode("div",Re,[e.createVNode(O,{modelValue:N.score[0],"onUpdate:modelValue":x=>N.score[0]=x,size:"small","controls-position":"right"},null,8,["modelValue","onUpdate:modelValue"]),Ue,e.createVNode(O,{modelValue:N.score[1],"onUpdate:modelValue":x=>N.score[1]=x,size:"small","controls-position":"right"},null,8,["modelValue","onUpdate:modelValue"])])]),_:2},1032,["prop","rules"])],64)),e.createVNode(p,{onClick:x=>M(q)},{default:e.withCtx(()=>[e.createVNode(e.unref(j.circle_close_filled_default))]),_:2},1032,["onClick"])]))),256)),e.createVNode(k,{type:"primary",plain:"",size:"small",icon:e.unref(j.plus_default),onClick:T,style:{"margin-bottom":"10px"}},{default:e.withCtx(()=>[e.createTextVNode("添加因子")]),_:1},8,["icon"]),e.createVNode(k,{type:"primary",plain:"",size:"small",icon:e.unref(j.plus_default),onClick:v[2]||(v[2]=N=>T("compare")),style:{"margin-bottom":"10px"}},{default:e.withCtx(()=>[e.createTextVNode("添加因子对比")]),_:1},8,["icon"]),i.config.sqlShow?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(f,{label:"SQL功能: "},{default:e.withCtx(()=>[e.createVNode(I,{modelValue:g.value.sqlEnable,"onUpdate:modelValue":v[3]||(v[3]=N=>g.value.sqlEnable=N)},{default:e.withCtx(()=>[e.createVNode(o,{label:"关闭",value:0}),e.createVNode(o,{label:"启用",value:1})]),_:1},8,["modelValue"]),g.value.sqlEnable?(e.openBlock(),e.createBlock(k,{key:0,type:"primary",size:"small",onClick:u,style:{"margin-left":"auto"}},{default:e.withCtx(()=>[e.createTextVNode("生成SQL")]),_:1})):e.createCommentVNode("",!0)]),_:1}),g.value.sqlEnable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(d,{modelValue:g.value.sqlValue,"onUpdate:modelValue":v[4]||(v[4]=N=>g.value.sqlValue=N),autosize:{minRows:4},type:"textarea",style:{"margin-bottom":"10px"}},null,8,["modelValue"]),De],64)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue"])]),e.createVNode(Te,{visible:y.value,"onUpdate:visible":v[6]||(v[6]=N=>y.value=N),data:(L=i.config.factorDescriptions)==null?void 0:L.filter(N=>[1,3].includes(N.type))},null,8,["visible","data"])],64)}}},ze=Z._export_sfc(je,[["__scopeId","data-v-3592dee9"]]);const J=i=>(e.pushScopeId("data-v-9fb382f7"),i=i(),e.popScopeId(),i),Pe={key:0,class:"common-indicator"},Ge={class:"indicator"},Ye=J(()=>e.createElementVNode("div",{class:"title"},[e.createElementVNode("span",null,"常用指标: "),e.createElementVNode("span",null,"不限")],-1)),Ae={class:"options"},Je=["onClick"],Ke={class:"tags"},Qe=["onClick"],Ze={style:{"font-size":"18px"}},He={key:0,class:"out-box"},We=J(()=>e.createElementVNode("span",null,"自定义: ",-1)),Xe={key:0,class:"convenient-option-box"},et={class:"out-box"},tt=J(()=>e.createElementVNode("span",null,"自定义: ",-1)),lt={key:0},nt={key:0},at={key:0},ot={key:1},rt={class:"tFeaturelncomes-option-box"},ut={class:"tFeaturelncomes-out-box"},it=J(()=>e.createElementVNode("span",null,"自定义: ",-1)),st={key:2},ct={key:3},dt={key:4},pt={key:5},mt={key:6},ft={style:{display:"flex","align-items":"center"}},vt={class:"dialog-footer"},kt={__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(i){const w=[{label:"近2周",value:"last2WeekVolumn"},{label:"近1个月",value:"last1MonthVolumn"},{label:"近3个月",value:"last3MonthVolumn"},{label:"近6个月",value:"last6MonthVolumn"},{label:"近1年",value:"last12MonthVolumn"}],V=e.useModel(i,"data"),n=i,y=e.ref(!1),B=e.computed(()=>{var s;return(s=n.data.find(l=>l.radioType==="1"))==null?void 0:s.key}),g=e.computed(()=>{let s=[];return n.varietyMarket===null&&!n.commonOption.length?s=n.config.options:(s=n.config.options,n.varietyMarket&&(s=s.filter(({parent:l})=>l.varietyMarketIds.includes(n.varietyMarket))),n.commonOption.length&&(s=s.filter(({parent:l})=>{const{commonOptionIds:k}=l;return[...new Set([...k,...n.commonOption])].length!==[...k,...n.commonOption].length}))),s}),b=e.ref({}),t=e.ref({}),M=s=>{b.value=s;const l={key:s.key,type:s.type,label:s.label};switch(s.key){case"st":{t.value={...l,st:null};break}case"tFeaturelncomes":{t.value={...l,rule:1,withFewYears:null,yearsCount:null,netProfit:null};break}case"priceLevels":{t.value={...l,priceLevels:null};break}case"peTtmLevels":{t.value={...l,peTtmLevels:null};break}case"optionsCpType":{t.value={...l,optionsCpType:null};break}case"perVolumn":{t.value={...l,radio:"last12MonthVolumn",levels:[]};break}case"mainFlow":{t.value={...l,mainFlowRadioType:"0",rankRange:[null,null]};break}default:t.value={...l,range:[null,null],unit:s.defaultUnit.length?[...s.defaultUnit]:[null,null],radioType:B.value&&B.value!==s.key?"0":s.defaultRadioType,rankRange:s.defaultRankRange||[null,null]}}y.value=!0},T=()=>{var l;switch(t.value.key){case"st":{const{label:k,st:p}=t.value;if(p===null)return U.ElMessage.warning("格式错误: 请至少选择一个值");t.value.tagText=`${k}: ${p?"是":"否"}`;break}case"tFeaturelncomes":{const{label:k,rule:p,withFewYears:m,yearsCount:c,netProfit:h}=t.value;if(["",null].includes(m)||["",null].includes(c)||["",null].includes(h))return U.ElMessage.warning("格式错误: 请填写完整");t.value.tagText=`${k}: ${m}年内${c}年以上盈利${p===1?"超":"跌"}过${h}亿`;break}case"priceLevels":{const{label:k,priceLevels:p}=t.value;if(!p||p.length===0)return U.ElMessage.warning("格式错误: 请至少选择一个值");t.value.tagText=`${k}: 已选${p}分位`;break}case"peTtmLevels":{const{label:k,peTtmLevels:p}=t.value;if(!p||p.length===0)return U.ElMessage.warning("格式错误: 请至少选择一个值");t.value.tagText=`${k}: 已选${p}分位`;break}case"optionsCpType":{const{label:k,optionsCpType:p}=t.value;if(p===null)return U.ElMessage.warning("格式错误: 请至少选择一个值");t.value.tagText=`${k}: ${p===1?"看涨":"看跌"}`;break}case"perVolumn":{const{label:k,radio:p,levels:m}=t.value;if(!(m!=null&&m.length))return U.ElMessage.warning("格式错误: 请选择分位");t.value.tagText=`${k}: ${(l=w.find(c=>c.value===p))==null?void 0:l.label}${m.map(c=>`${c}分位`).join("、")}`;break}case"mainFlow":{const{label:k,mainFlowRadioType:p,radio:m,rankRange:c}=t.value,h=f=>{if(f===""||f===null||f===void 0)return!1;const O=Number(f);return!isNaN(O)};if(!m)return U.ElMessage.warning("格式错误: 请选择时间");if(!h(c[0])||!h(c[1]))return U.ElMessage.warning(`格式错误: 请填写${p==="0"?"涨幅范围":"排名范围"}`);t.value.tagText=`${k}: ${m}日${p==="0"?"涨幅范围":"排名范围"}: ${c[0]}${p==="0"?"%":""} ~ ${c[1]}${p==="0"?"%":""}`;break}default:{const{label:k,unit:p,radioType:m}=t.value,c=m==="1"?t.value.rankRange:t.value.range;if(["",null].includes(c[0])&&["",null].includes(c[1]))return U.ElMessage.warning("格式错误: 请至少填写一个值");if(m==="1"){const O=Number(c[0]),o=Number(c[1]);if(isNaN(O)||isNaN(o))return U.ElMessage.warning("格式错误: 请填写数字");if(O<0||o<0)return U.ElMessage.warning("格式错误: 请填写大于0的数字");if(O>o)return U.ElMessage.warning("格式错误: 请填写正确的排名范围")}const h=m==="1"?"":p[0]??"",f=m==="1"?"":p[1]??"";!["",null].includes(c[0])&&!["",null].includes(c[1])?t.value.tagText=`${k}${m==="1"?"排名":""}: ${c[0]}${h} ~ ${c[1]}${f}`:["",null].includes(c[0])?t.value.tagText=`${k}${m==="1"?"排名":""}: ≤${c[1]}${f}`:t.value.tagText=`${k}${m==="1"?"排名":""}: ≥${c[0]}${h}`}}const s=V.value.findIndex(({key:k})=>k===t.value.key);s===-1?V.value.push(t.value):V.value.splice(s,1,t.value),y.value=!1},u=s=>{b.value=g.value.find(({key:l})=>l===s.key),t.value=JSON.parse(JSON.stringify(s)),y.value=!0},a=s=>{V.value.splice(s,1)},E=s=>{t.value.range=[...s.range],t.value.unit=[...s.unit]},_=s=>{switch(s){case"≤0":Object.assign(t.value,{rule:2,withFewYears:1,yearsCount:1,netProfit:0});break;case"≥0":Object.assign(t.value,{rule:1,withFewYears:1,yearsCount:1,netProfit:0});break;case"五年内有四年以上盈利超过5千万":Object.assign(t.value,{rule:1,withFewYears:5,yearsCount:4,netProfit:.5});break;case"≥10亿":Object.assign(t.value,{rule:1,withFewYears:1,yearsCount:1,netProfit:10});break;case"≥20亿":Object.assign(t.value,{rule:1,withFewYears:1,yearsCount:1,netProfit:20});break}};e.watch(()=>g.value,()=>{V.value.length&&(V.value=V.value.filter(({key:s})=>g.value.find(l=>l.key===s)))});const v=()=>{t.value.radio=null,t.value.rankRange=[null,null]};return(s,l)=>{const k=re.ElTag,p=Oe,m=W,c=ne.ElInput,h=oe.ElButton,f=z.ElOption,O=z.ElSelect,o=H,I=ae.ElInputNumber,d=Q.ElDialog;return i.config.show&&g.value.length?(e.openBlock(),e.createElementBlock("div",Pe,[e.createElementVNode("div",Ge,[Ye,e.createElementVNode("div",Ae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,C=>(e.openBlock(),e.createElementBlock("span",{key:C.key,onClick:r=>M(C)},e.toDisplayString(C.label),9,Je))),128))])]),e.createElementVNode("div",Ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,(C,r)=>(e.openBlock(),e.createBlock(k,{closable:"",type:"info",onClose:L=>a(r)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(C.tagText),1),e.createElementVNode("span",{class:"edit",onClick:L=>u(C)},"编辑",8,Qe)]),_:2},1032,["onClose"]))),256))]),e.createVNode(d,{modelValue:y.value,"onUpdate:modelValue":l[25]||(l[25]=C=>y.value=C),title:b.value.label,width:"600","align-center":"","destroy-on-close":""},e.createSlots({footer:e.withCtx(()=>[e.createElementVNode("div",vt,[e.createVNode(h,{type:"primary",onClick:T},{default:e.withCtx(()=>[e.createTextVNode("确定")]),_:1})])]),default:e.withCtx(()=>{var C;return[b.value.type===void 0&&t.value.radioType==="1"?(e.openBlock(),e.createElementBlock("div",He,[We,e.createVNode(c,{modelValue:t.value.rankRange[0],"onUpdate:modelValue":l[2]||(l[2]=r=>t.value.rankRange[0]=r),style:{flex:"1"}},null,8,["modelValue"]),e.createTextVNode(" ~ "),e.createVNode(c,{modelValue:t.value.rankRange[1],"onUpdate:modelValue":l[3]||(l[3]=r=>t.value.rankRange[1]=r),style:{flex:"1"}},null,8,["modelValue"])])):b.value.type===void 0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[(C=b.value.convenientOptions)!=null&&C.length?(e.openBlock(),e.createElementBlock("div",Xe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value.convenientOptions,r=>(e.openBlock(),e.createBlock(h,{key:r.text,onClick:L=>E(r)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.text),1)]),_:2},1032,["onClick"]))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",et,[tt,e.createVNode(c,{modelValue:t.value.range[0],"onUpdate:modelValue":l[5]||(l[5]=r=>t.value.range[0]=r),style:{flex:"1"}},e.createSlots({_:2},[b.value.unitOptions.length?{name:"append",fn:e.withCtx(()=>[b.value.unitOptions.length===1?(e.openBlock(),e.createElementBlock("span",lt,e.toDisplayString(t.value.unit[0]),1)):(e.openBlock(),e.createBlock(O,{key:1,modelValue:t.value.unit[0],"onUpdate:modelValue":l[4]||(l[4]=r=>t.value.unit[0]=r),style:{width:"72px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value.unitOptions,r=>(e.openBlock(),e.createBlock(f,{label:r,value:r},null,8,["label","value"]))),256))]),_:1},8,["modelValue"]))]),key:"0"}:void 0]),1032,["modelValue"]),e.createTextVNode(" ~ "),e.createVNode(c,{modelValue:t.value.range[1],"onUpdate:modelValue":l[7]||(l[7]=r=>t.value.range[1]=r),style:{flex:"1"}},e.createSlots({_:2},[b.value.unitOptions.length?{name:"append",fn:e.withCtx(()=>[b.value.unitOptions.length===1?(e.openBlock(),e.createElementBlock("span",nt,e.toDisplayString(t.value.unit[1]),1)):(e.openBlock(),e.createBlock(O,{key:1,modelValue:t.value.unit[1],"onUpdate:modelValue":l[6]||(l[6]=r=>t.value.unit[1]=r),style:{width:"72px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value.unitOptions,r=>(e.openBlock(),e.createBlock(f,{label:r,value:r},null,8,["label","value"]))),256))]),_:1},8,["modelValue"]))]),key:"0"}:void 0]),1032,["modelValue"])])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[b.value.key==="st"?(e.openBlock(),e.createElementBlock("div",at,[e.createVNode(m,{modelValue:t.value.st,"onUpdate:modelValue":l[8]||(l[8]=r=>t.value.st=r)},{default:e.withCtx(()=>[e.createVNode(o,{label:"是",value:1}),e.createVNode(o,{label:"否",value:0})]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),b.value.key==="tFeaturelncomes"?(e.openBlock(),e.createElementBlock("div",ot,[e.createElementVNode("div",rt,[e.createVNode(h,{onClick:l[9]||(l[9]=r=>_("≤0"))},{default:e.withCtx(()=>[e.createTextVNode("≤0")]),_:1}),e.createVNode(h,{onClick:l[10]||(l[10]=r=>_("≥0"))},{default:e.withCtx(()=>[e.createTextVNode("≥0")]),_:1}),e.createVNode(h,{onClick:l[11]||(l[11]=r=>_("五年内有四年以上盈利超过5千万"))},{default:e.withCtx(()=>[e.createTextVNode("五年内有四年以上盈利超过5千万")]),_:1}),e.createVNode(h,{onClick:l[12]||(l[12]=r=>_("≥10亿"))},{default:e.withCtx(()=>[e.createTextVNode("≥10亿")]),_:1}),e.createVNode(h,{onClick:l[13]||(l[13]=r=>_("≥20亿"))},{default:e.withCtx(()=>[e.createTextVNode("≥20亿")]),_:1})]),e.createElementVNode("div",ut,[it,e.createElementVNode("div",null,[e.createVNode(I,{modelValue:t.value.withFewYears,"onUpdate:modelValue":l[14]||(l[14]=r=>t.value.withFewYears=r),"controls-position":"right"},null,8,["modelValue"]),e.createTextVNode(" 年内 "),e.createVNode(I,{modelValue:t.value.yearsCount,"onUpdate:modelValue":l[15]||(l[15]=r=>t.value.yearsCount=r),"controls-position":"right"},null,8,["modelValue"]),e.createTextVNode(" 年以上盈利"+e.toDisplayString(t.value.rule===1?"超":"跌")+"过 ",1),e.createVNode(I,{modelValue:t.value.netProfit,"onUpdate:modelValue":l[16]||(l[16]=r=>t.value.netProfit=r),"controls-position":"right"},null,8,["modelValue"]),e.createTextVNode(" 亿 ")])])])):e.createCommentVNode("",!0),b.value.key==="priceLevels"?(e.openBlock(),e.createElementBlock("div",st,[e.createVNode(O,{modelValue:t.value.priceLevels,"onUpdate:modelValue":l[17]||(l[17]=r=>t.value.priceLevels=r),multiple:"",clearable:"",placeholder:"请选择",style:{width:"420px"}},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([1,2,3,4,5],r=>e.createVNode(f,{key:r,label:`${r}分位`,value:r},null,8,["label","value"])),64))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),b.value.key==="peTtmLevels"?(e.openBlock(),e.createElementBlock("div",ct,[e.createVNode(O,{modelValue:t.value.peTtmLevels,"onUpdate:modelValue":l[18]||(l[18]=r=>t.value.peTtmLevels=r),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],r=>e.createVNode(f,{key:r,label:`${r}分位`,value:r},null,8,["label","value"])),64))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),b.value.key==="optionsCpType"?(e.openBlock(),e.createElementBlock("div",dt,[e.createVNode(m,{modelValue:t.value.optionsCpType,"onUpdate:modelValue":l[19]||(l[19]=r=>t.value.optionsCpType=r)},{default:e.withCtx(()=>[e.createVNode(o,{label:"看涨",value:1}),e.createVNode(o,{label:"看跌",value:2})]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),b.value.key==="perVolumn"?(e.openBlock(),e.createElementBlock("div",pt,[e.createVNode(m,{modelValue:t.value.radio,"onUpdate:modelValue":l[20]||(l[20]=r=>t.value.radio=r)},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(w,r=>e.createVNode(o,{key:r.value,value:r.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"]),e.createVNode(O,{modelValue:t.value.levels,"onUpdate:modelValue":l[21]||(l[21]=r=>t.value.levels=r),multiple:"",clearable:"",placeholder:"请选择",style:{width:"420px"}},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([1,2,3,4,5],r=>e.createVNode(f,{key:r,label:`${r}分位`,value:r},null,8,["label","value"])),64))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),b.value.key==="mainFlow"?(e.openBlock(),e.createElementBlock("div",mt,[e.createVNode(m,{modelValue:t.value.radio,"onUpdate:modelValue":l[22]||(l[22]=r=>t.value.radio=r)},{default:e.withCtx(()=>[e.createVNode(o,{value:"3"},{default:e.withCtx(()=>[e.createTextVNode("3日")]),_:1}),e.createVNode(o,{value:"5"},{default:e.withCtx(()=>[e.createTextVNode("5日")]),_:1}),e.createVNode(o,{value:"10"},{default:e.withCtx(()=>[e.createTextVNode("10日")]),_:1}),e.createVNode(o,{value:"20"},{default:e.withCtx(()=>[e.createTextVNode("20日")]),_:1})]),_:1},8,["modelValue"]),e.createElementVNode("div",ft,[e.createElementVNode("span",null,e.toDisplayString(t.value.mainFlowRadioType==="0"?"涨幅范围":"排名范围")+": ",1),e.createVNode(c,{modelValue:t.value.rankRange[0],"onUpdate:modelValue":l[23]||(l[23]=r=>t.value.rankRange[0]=r),style:{flex:"1"}},null,8,["modelValue"]),e.createTextVNode(" ~ "),e.createVNode(c,{modelValue:t.value.rankRange[1],"onUpdate:modelValue":l[24]||(l[24]=r=>t.value.rankRange[1]=r),style:{flex:"1"}},null,8,["modelValue"])])])):e.createCommentVNode("",!0)],64))]}),_:2},[b.value.showRankType?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("span",Ze,e.toDisplayString(b.value.label),1),e.createVNode(m,{modelValue:t.value.radioType,"onUpdate:modelValue":l[0]||(l[0]=C=>t.value.radioType=C),style:{"vertical-align":"4px","margin-left":"12px"}},{default:e.withCtx(()=>[e.createVNode(p,{label:"数值",value:"0"}),e.createVNode(p,{disabled:B.value&&B.value!==b.value.key,label:"排名",value:"1"},null,8,["disabled"])]),_:1},8,["modelValue"])]),key:"0"}:b.value.key==="mainFlow"?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("span",{style:{"font-size":"18px"}},e.toDisplayString(b.value.label),1),e.createVNode(m,{modelValue:t.value.mainFlowRadioType,"onUpdate:modelValue":l[1]||(l[1]=C=>t.value.mainFlowRadioType=C),style:{"vertical-align":"4px","margin-left":"12px"},onChange:v},{default:e.withCtx(()=>[e.createVNode(p,{label:"涨幅范围",value:"0"}),e.createVNode(p,{label:"排名范围",value:"1"})]),_:1},8,["modelValue"])]),key:"1"}:void 0]),1032,["modelValue","title"])])):e.createCommentVNode("",!0)}}},gt=Z._export_sfc(kt,[["__scopeId","data-v-9fb382f7"]]);const G=i=>(e.pushScopeId("data-v-bdbe35cf"),i=i(),e.popScopeId(),i),yt={class:"variety-search"},Vt={key:0,class:"variety-search-row"},bt={class:"title"},_t=G(()=>e.createElementVNode("span",null,"品种市场: ",-1)),xt={key:1,class:"variety-search-row"},ht={class:"title"},Nt=G(()=>e.createElementVNode("span",null,"常用选项: ",-1)),wt={key:2,class:"variety-search-row"},Ct={class:"title"},Et=G(()=>e.createElementVNode("span",null,"上市板块: ",-1)),Bt={key:3,class:"variety-search-row"},Ot={class:"title"},It=G(()=>e.createElementVNode("span",null,"自定标签: ",-1)),Tt={key:4,class:"variety-search-row"},$t={class:"title"},St=G(()=>e.createElementVNode("span",null,"价差转换: ",-1)),Mt={key:5,class:"variety-search-row"},qt={class:"title"},Ft=G(()=>e.createElementVNode("span",null,"因子筛选: ",-1)),Rt={__name:"index",props:e.mergeModels({config:{type:Object,default:{}}},{searchData:{},searchDataModifiers:{}}),emits:["update:searchData"],setup(i,{expose:w}){const V=i,n=e.useModel(i,"searchData");n.value=Object.assign(n.value,{varietyMarket:null,commonOption:[],marketIds:[],customTag:[],jcTranslate:{type:null,jcList:[]},factorScreen:{list:[],sqlEnable:0,sqlValue:null},commonIndicator:[]});const y=e.computed(()=>{const u={};return Object.keys(ee).forEach(a=>{const E=ee[a],_=V.config[a]??{},v={...E,..._};u[a]=v}),u}),B=e.computed(()=>y.value.varietyMarket.options),g=e.computed(()=>{const{varietyMarket:u}=n.value;return u?B.value.find(({value:E})=>E===u).memo.reduce((E,_)=>{const v=y.value.commonOption.options.find(s=>s.value===_);return v&&E.push(v),E},[]):y.value.commonOption.options}),b=e.computed(()=>{const{varietyMarket:u}=n.value;return u?y.value.marketIds.options.filter(a=>a.varietyMarketIds.includes(u)):y.value.marketIds.options}),t=e.computed(()=>y.value.customTag.options),M=e.computed(()=>y.value.jcTranslate.jcOptions),T=u=>{switch(u){case"commonOption":{n.value[u]=[];break}case"marketIds":{n.value[u]=[];break}case"customTag":{n.value[u]=[];break}case"jcTranslate":{n.value[u]={type:null,jcList:[]};break}case"factorScreen":{n.value[u]={list:[],sqlEnable:0,sqlValue:null};break}case"commonIndicator":{n.value[u]=[];break}default:{n.value[u]=null;break}}};return e.watch(()=>g.value,u=>{var a;(a=n.value.commonOption)!=null&&a.length&&(n.value.commonOption=n.value.commonOption.filter(E=>u.find(({value:_})=>_===E)))}),e.watch(()=>b.value,u=>{var a;(a=n.value.marketIds)!=null&&a.length&&(n.value.marketIds=n.value.marketIds.filter(E=>u.find(({value:_})=>_===E)))}),w({formatData:u=>{var E,_,v,s,l,k;console.log("%c[品种池搜索聚合组件]: 正在生成接口传参...","color: tomato");const a={};if(u.varietyMarket&&(a.exchangeId=String(u.varietyMarket)),(E=u.commonOption)!=null&&E.length&&(a.optionId=u.commonOption.join(",")),(_=u.marketIds)!=null&&_.length&&(a.marketIds=u.marketIds),(v=u.customTag)!=null&&v.length&&(a.tagIds=u.customTag),(s=y.value.jcTranslate)!=null&&s.show){const{jcTranslate:p}=u,{type:m,jcList:c}=p;switch(m){case 1:{a.translateType=1,a.jcType=c.join(",");break}case 2:a.translateType=2}}if((l=y.value.factorScreen)!=null&&l.show){const{factorScreen:p}=u;if((k=p==null?void 0:p.list)!=null&&k.length&&(a.tbFeatureFactorScores=p.list.map(m=>{switch(m.key){case"compare":return{freqId:m.cycle,factorId:m.factor,compareType:m.compareType,freqId2:m.cycle2,factorId2:m.factor2};default:return{freqId:m.cycle,factorId:m.factor,startScore:m.score[0],endScore:m.score[1]}}})),p.sqlEnable){const m=p.list.reduce((h,f,O)=>{var I,d;const o=`条件${O+1}`;switch(f.key){case"compare":{let C="";(I=y.value.factorScreen)!=null&&I.cycleShow?C=`freq_id = ${f.cycle} and factor_id = ${f.factor} ${f.compareType} freq_id = ${f.cycle2} and factor_id = ${f.factor2}`:C=`factor_id = ${f.factor} ${f.compareType} factor_id = ${f.factor2}`,h.set(o,`(${C})`);break}default:{let C=`factor_id = ${f.factor} and `;(d=y.value.factorScreen)!=null&&d.cycleShow&&(C=`freq_id = ${f.cycle} and factor_id = ${f.factor} and `),(f.score[0]||f.score[0]===0)&&(f.score[1]||f.score[1]===0)?C+=`score >= ${f.score[0]} and score <= ${f.score[1]}`:f.score[0]||f.score[0]===0?C+=`score >= ${f.score[0]}`:(f.score[1]||f.score[1]===0)&&(C+=`score <= ${f.score[1]}`),h.set(o,`(${C})`)}}return h},new Map([]));let c=p.sqlValue;for(const[h,f]of m){const O=new RegExp(h,"g");c=c.replace(O,f)}a.sql=c,a.sqlExpression=p.sqlValue}a.enableSql=p.sqlEnable===1?2:1}{const p=["expireDays","virtualRealDegree","yearProfitRate","impliedVolatility","levelMultiplier","turnover","volume","openInterest","optionsCpType","optionGear"],m=u.commonIndicator.reduce((d,C)=>{const{key:r,type:L,range:N,unit:q,radioType:x,mainFlowRadioType:$,radio:D,rankRange:K}=C;if(x==="1")a.sortBy={column:C.key,start:K[0]||null,end:K[1]||null};else if(r==="dividendYield"){let[F,R]=N;["",null].includes(F)||(F=F/100),["",null].includes(R)||(R=R/100),d.push({column:C.key,start:F,end:R})}else if(r==="mainFlow"){let[F,R]=K,fe=$==="0"?`netInfow${D}d`:`last${D}DayMianFlowRank`;d.push({column:fe,start:F,end:R})}else if(L===void 0&&!p.includes(r)){let[F,R]=N;if(!["",null].includes(F))switch(q[0]){case"亿":F=F*1e8;break;case"千万":F=F*1e7;break;default:F=F;break}if(!["",null].includes(R))switch(q[1]){case"亿":R=R*1e8;break;case"千万":R=R*1e7;break;default:R=R;break}d.push({column:C.key,start:F,end:R})}return d},[]);m.length&&(a.query=m);const c=u.commonIndicator.find(({key:d})=>d==="st");c&&(a.st=c.st);const h=u.commonIndicator.find(({key:d})=>d==="tFeaturelncomes");h&&(a.netProfitQueryDto={...h,netProfit:h.netProfit*1e8});const f=u.commonIndicator.find(({key:d})=>d==="priceLevels");f&&(a.priceLevels=f.priceLevels);const O=u.commonIndicator.find(({key:d})=>d==="peTtmLevels");O&&(a.peTtmLevels=O.peTtmLevels);const o={};u.commonIndicator.forEach(d=>{const{key:C}=d;switch(C){case"expireDays":["",null].includes(d.range[0])||(o.minExpireDays=d.range[0]),["",null].includes(d.range[1])||(o.maxExpireDays=d.range[1]);break;case"virtualRealDegree":["",null].includes(d.range[0])||(o.minVirtualRealDegree=d.range[0]/100),["",null].includes(d.range[1])||(o.maxVirtualRealDegree=d.range[1]/100);break;case"yearProfitRate":["",null].includes(d.range[0])||(o.minYearProfitRate=d.range[0]/100),["",null].includes(d.range[1])||(o.maxYearProfitRate=d.range[1]/100);break;case"impliedVolatility":["",null].includes(d.range[0])||(o.minImpliedVolatility=d.range[0]/100),["",null].includes(d.range[1])||(o.maxImpliedVolatility=d.range[1]/100);break;case"levelMultiplier":["",null].includes(d.range[0])||(o.minLevelMultiplier=d.range[0]),["",null].includes(d.range[1])||(o.maxLevelMultiplier=d.range[1]);break;case"turnover":["",null].includes(d.range[0])||(o.minTurnover=d.range[0]*1e4),["",null].includes(d.range[1])||(o.maxTurnover=d.range[1]*1e4);break;case"volume":["",null].includes(d.range[0])||(o.minVolume=d.range[0]),["",null].includes(d.range[1])||(o.maxVolume=d.range[1]);break;case"openInterest":["",null].includes(d.range[0])||(o.minOpenInterest=d.range[0]),["",null].includes(d.range[1])||(o.maxOpenInterest=d.range[1]);break;case"optionsCpType":o.optionsCpType=d.optionsCpType;break;case"optionGear":["",null].includes(d.range[0])||(o.minOptionGear=d.range[0]),["",null].includes(d.range[1])||(o.maxOptionGear=d.range[1]);break}});const I=u.commonIndicator.find(({key:d})=>d==="perVolumn");I&&(a.perVolumn={type:I.radio,value:I.levels}),Object.keys(o).length&&(a.searchOptionDto={...a.searchOptionDto,...o})}return console.log("%c[品种池搜索聚合组件]: 接口传参数据生成完毕","color: green",a),a},reset:()=>{n.value={varietyMarket:null,commonOption:[],marketIds:[],customTag:[],jcTranslate:{type:null,jcList:[]},factorScreen:{list:[],sqlEnable:0,sqlValue:null},commonIndicator:[]}}}),(u,a)=>{var p,m,c,h,f,O;const E=H,_=W,v=Y.ElCheckbox,s=Y.ElCheckboxGroup,l=z.ElOption,k=z.ElSelect;return e.openBlock(),e.createElementBlock("div",yt,[(p=y.value.varietyMarket)!=null&&p.show?(e.openBlock(),e.createElementBlock("div",Vt,[e.createElementVNode("div",bt,[_t,e.createElementVNode("span",{onClick:a[0]||(a[0]=o=>T("varietyMarket"))},"不限")]),e.createVNode(_,{modelValue:n.value.varietyMarket,"onUpdate:modelValue":a[1]||(a[1]=o=>n.value.varietyMarket=o),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,({label:o,value:I})=>(e.openBlock(),e.createBlock(E,{label:o,value:I,key:I},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(m=y.value.commonOption)!=null&&m.show&&g.value.length?(e.openBlock(),e.createElementBlock("div",xt,[e.createElementVNode("div",ht,[Nt,e.createElementVNode("span",{onClick:a[2]||(a[2]=o=>T("commonOption"))},"不限")]),e.createVNode(s,{modelValue:n.value.commonOption,"onUpdate:modelValue":a[3]||(a[3]=o=>n.value.commonOption=o),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,({label:o,value:I})=>(e.openBlock(),e.createBlock(v,{label:o,value:I,key:I},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(c=y.value.marketIds)!=null&&c.show&&b.value.length?(e.openBlock(),e.createElementBlock("div",wt,[e.createElementVNode("div",Ct,[Et,e.createElementVNode("span",{onClick:a[4]||(a[4]=o=>T("marketIds"))},"不限")]),e.createVNode(s,{modelValue:n.value.marketIds,"onUpdate:modelValue":a[5]||(a[5]=o=>n.value.marketIds=o),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,({label:o,value:I})=>(e.openBlock(),e.createBlock(v,{label:o,value:I,key:I},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(h=y.value.customTag)!=null&&h.show&&t.value.length?(e.openBlock(),e.createElementBlock("div",Bt,[e.createElementVNode("div",Ot,[It,e.createElementVNode("span",{onClick:a[6]||(a[6]=o=>T("customTag"))},"不限")]),e.createVNode(s,{modelValue:n.value.customTag,"onUpdate:modelValue":a[7]||(a[7]=o=>n.value.customTag=o),size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,({label:o,value:I})=>(e.openBlock(),e.createBlock(v,{label:o,value:I,key:I},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),(f=y.value.jcTranslate)!=null&&f.show?(e.openBlock(),e.createElementBlock("div",Tt,[e.createElementVNode("div",$t,[St,e.createElementVNode("span",{onClick:a[8]||(a[8]=o=>T("jcTranslate"))},"不限")]),e.createVNode(_,{modelValue:n.value.jcTranslate.type,"onUpdate:modelValue":a[9]||(a[9]=o=>n.value.jcTranslate.type=o),size:"small"},{default:e.withCtx(()=>[e.createVNode(E,{value:2},{default:e.withCtx(()=>[e.createTextVNode("价差转品种")]),_:1}),e.createVNode(E,{value:1},{default:e.withCtx(()=>[e.createTextVNode("品种转价差")]),_:1})]),_:1},8,["modelValue"]),e.withDirectives(e.createVNode(k,{modelValue:n.value.jcTranslate.jcList,"onUpdate:modelValue":a[10]||(a[10]=o=>n.value.jcTranslate.jcList=o),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(M.value,o=>(e.openBlock(),e.createBlock(l,{key:o.value,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),[[e.vShow,n.value.jcTranslate.type===1]])])):e.createCommentVNode("",!0),(O=y.value.factorScreen)!=null&&O.show?(e.openBlock(),e.createElementBlock("div",Mt,[e.createElementVNode("div",qt,[Ft,e.createElementVNode("span",{onClick:a[11]||(a[11]=o=>T("factorScreen"))},"不限")]),e.createVNode(ze,{data:n.value.factorScreen,"onUpdate:data":a[12]||(a[12]=o=>n.value.factorScreen=o),config:y.value.factorScreen},null,8,["data","config"])])):e.createCommentVNode("",!0),e.createVNode(gt,{data:n.value.commonIndicator,"onUpdate:data":a[13]||(a[13]=o=>n.value.commonIndicator=o),varietyMarket:n.value.varietyMarket,commonOption:n.value.commonOption,config:y.value.commonIndicator},null,8,["data","varietyMarket","commonOption","config"])])}}},Ut=Z._export_sfc(Rt,[["__scopeId","data-v-bdbe35cf"]]),Dt={install(i){i.component("st-varietySearch",Ut)}};module.exports=Dt;
|