st-comp 0.0.215 → 0.0.216

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.
Files changed (109) hide show
  1. package/es/CustomFunction.cjs +8 -1
  2. package/es/CustomFunction.js +532 -381
  3. package/es/FactorWarning.cjs +1 -1
  4. package/es/FactorWarning.js +28 -28
  5. package/es/Kline.cjs +1 -1
  6. package/es/Kline.js +10 -10
  7. package/es/KlineBasic.cjs +1 -1
  8. package/es/KlineBasic.js +18 -18
  9. package/es/KlineConfig.cjs +1 -1
  10. package/es/KlineConfig.js +15 -15
  11. package/es/KlineNew.cjs +1 -1
  12. package/es/KlineNew.js +9 -9
  13. package/es/KlinePlus.cjs +1 -1
  14. package/es/KlinePlus.js +11 -11
  15. package/es/Pagination.cjs +1 -1
  16. package/es/Pagination.js +13 -13
  17. package/es/PasswordPrompt.cjs +1 -1
  18. package/es/PasswordPrompt.js +2 -2
  19. package/es/Table.cjs +1 -1
  20. package/es/Table.js +29 -29
  21. package/es/User.cjs +1 -1
  22. package/es/User.js +18 -18
  23. package/es/VarSelectDialog.cjs +1 -1
  24. package/es/VarSelectDialog.js +17 -17
  25. package/es/VarietyAutoComplete.cjs +1 -1
  26. package/es/VarietyAutoComplete.js +22 -22
  27. package/es/VarietySearch.cjs +1 -1
  28. package/es/VarietySearch.js +26 -26
  29. package/es/VarietyTextCopy.cjs +1 -1
  30. package/es/VarietyTextCopy.js +9 -9
  31. package/es/VirtualTable.cjs +1 -1
  32. package/es/VirtualTable.js +5 -5
  33. package/es/{_initCloneObject-eaef9418.js → _initCloneObject-4f4401b6.js} +2 -2
  34. package/es/{_initCloneObject-52b6a510.cjs → _initCloneObject-6429d105.cjs} +1 -1
  35. package/es/{config-provider-a584d81e.cjs → config-provider-285ead82.cjs} +1 -1
  36. package/es/{config-provider-b16efd62.js → config-provider-e1736401.js} +3 -3
  37. package/es/{dropdown-071c5d7e.cjs → dropdown-6ba4a93d.cjs} +1 -1
  38. package/es/{dropdown-a59bba73.js → dropdown-73ca08ef.js} +2 -2
  39. package/es/{el-autocomplete-ba808eb6.js → el-autocomplete-2180fc5c.js} +5 -5
  40. package/es/{el-autocomplete-a07e9439.cjs → el-autocomplete-aeb7da33.cjs} +1 -1
  41. package/es/{el-button-eec58cff.cjs → el-button-0dbb2d4a.cjs} +1 -1
  42. package/es/{el-button-c95adb85.js → el-button-e8b725f0.js} +3 -3
  43. package/es/{el-checkbox-c25236a6.cjs → el-checkbox-b8c558ca.cjs} +1 -1
  44. package/es/{el-checkbox-7421ccd3.js → el-checkbox-df0def51.js} +3 -3
  45. package/es/{el-dialog-41ab8417.js → el-dialog-4330c5bd.js} +4 -4
  46. package/es/{el-dialog-ae86edb8.cjs → el-dialog-5028c704.cjs} +1 -1
  47. package/es/{el-form-item-c53c374d.js → el-form-item-b816e9f3.js} +5 -5
  48. package/es/{el-form-item-c3fe189b.cjs → el-form-item-f7e8255e.cjs} +1 -1
  49. package/es/{el-input-7fd293af.cjs → el-input-2e9268ac.cjs} +1 -1
  50. package/es/{el-input-2f75c4ba.js → el-input-bd1ce1e9.js} +4 -4
  51. package/es/{el-input-number-5193fe6d.js → el-input-number-088d2c66.js} +4 -4
  52. package/es/{el-input-number-22e21d16.cjs → el-input-number-153a3742.cjs} +1 -1
  53. package/es/{el-loading-cfd86c15.cjs → el-loading-03240202.cjs} +1 -1
  54. package/es/{el-loading-f6022062.js → el-loading-d0dac75f.js} +1 -1
  55. package/es/{el-menu-item-17dc717e.cjs → el-menu-item-b843f5ee.cjs} +1 -1
  56. package/es/{el-menu-item-7e881203.js → el-menu-item-c7202455.js} +4 -4
  57. package/es/{el-message-e544a8f5.js → el-message-290a93ff.js} +5 -5
  58. package/es/{el-message-5e6a6be9.cjs → el-message-3d8d9810.cjs} +1 -1
  59. package/es/{el-message-box-a93d2f6a.js → el-message-box-7a952ec7.js} +9 -9
  60. package/es/{el-message-box-c10adb52.cjs → el-message-box-aafae7ee.cjs} +1 -1
  61. package/es/{el-overlay-9e34965f.cjs → el-overlay-ab0b3c66.cjs} +1 -1
  62. package/es/{el-overlay-09ad71cd.js → el-overlay-f72f3f3d.js} +3 -3
  63. package/es/{el-popconfirm-70a976bf.cjs → el-popconfirm-a4a50f14.cjs} +1 -1
  64. package/es/{el-popconfirm-81dcd202.js → el-popconfirm-bdcb65fe.js} +4 -4
  65. package/es/{el-popper-b4f97157.js → el-popper-b0ef8ed3.js} +1 -1
  66. package/es/{el-popper-b6c99b28.cjs → el-popper-b37ec1ef.cjs} +1 -1
  67. package/es/{el-segmented-b868d074.js → el-segmented-d0a61f41.js} +2 -2
  68. package/es/{el-segmented-f8fce9ac.cjs → el-segmented-f505fd25.cjs} +1 -1
  69. package/es/{el-select-d8d91db1.cjs → el-select-91145989.cjs} +1 -1
  70. package/es/{el-select-95627997.js → el-select-d63dc0f6.js} +8 -8
  71. package/es/{el-table-column-c974cb96.cjs → el-table-column-4dae58f0.cjs} +1 -1
  72. package/es/{el-table-column-376cd907.js → el-table-column-5ad33084.js} +9 -9
  73. package/es/{el-tag-66cab138.js → el-tag-2da70fa3.js} +2 -2
  74. package/es/{el-tag-a33c4b22.cjs → el-tag-891b703d.cjs} +1 -1
  75. package/es/{el-text-c20a9f48.cjs → el-text-cfd2f326.cjs} +1 -1
  76. package/es/{el-text-ac60d0f2.js → el-text-d42a3be4.js} +1 -1
  77. package/es/{index-d91dc23f.js → index-0902dd2e.js} +2 -2
  78. package/es/{index-1f7d4f70.js → index-23d35abc.js} +1 -1
  79. package/es/{index-9b9ef5dd.cjs → index-25bc46bb.cjs} +1 -1
  80. package/es/{index-844bdd85.js → index-5108cae0.js} +2 -2
  81. package/es/{index-a871c3eb.js → index-598d418b.js} +92 -111
  82. package/es/{index-c108567d.cjs → index-6c252a43.cjs} +1 -1
  83. package/es/{index-f967d6c1.cjs → index-7a26fd8b.cjs} +1 -1
  84. package/es/index-7a85500c.cjs +1 -0
  85. package/es/{index-57672682.js → index-af3c738f.js} +2 -2
  86. package/es/{index-e5566b94.js → index-b99c0c42.js} +1 -1
  87. package/es/{index-88546436.js → index-d6a848ac.js} +2 -2
  88. package/es/{index-f3562b52.cjs → index-d7928b14.cjs} +1 -1
  89. package/es/{index-11547a0c.cjs → index-eb3ca89a.cjs} +1 -1
  90. package/es/{index-298075cf.cjs → index-f50a50b3.cjs} +1 -1
  91. package/es/style.css +1 -1
  92. package/es/{use-form-common-props-fd9b61a0.cjs → use-form-common-props-3b387353.cjs} +1 -1
  93. package/es/{use-form-common-props-815d48a6.js → use-form-common-props-b995a440.js} +12 -12
  94. package/es/{use-global-config-30d7d8ce.cjs → use-global-config-2a4156cd.cjs} +1 -1
  95. package/es/{use-global-config-b5e9d3d5.js → use-global-config-e20aee8c.js} +2 -2
  96. package/es/{validator-764a9db0.js → validator-6d23708b.js} +1 -1
  97. package/es/{validator-1b8a6128.cjs → validator-7dacff4f.cjs} +1 -1
  98. package/es/{zh-cn-e963c628.js → zh-cn-7530f035.js} +1 -1
  99. package/es/{zh-cn-90317f62.cjs → zh-cn-a3c3833a.cjs} +1 -1
  100. package/lib/bundle.js +1 -1
  101. package/lib/bundle.umd.cjs +169 -162
  102. package/lib/{index-5f11e3e4.js → index-19ce4b67.js} +20461 -20330
  103. package/lib/{python-e8c63eb9.js → python-033b059e.js} +1 -1
  104. package/lib/style.css +1 -1
  105. package/package.json +1 -1
  106. package/packages/CustomFunction/components/ManageDialog.vue +779 -0
  107. package/packages/CustomFunction/index.vue +17 -482
  108. package/packages/VarietyAutoComplete/index.vue +1 -1
  109. package/es/index-098c2447.cjs +0 -1
@@ -1 +1,8 @@
1
- "use strict";require("./base-ef747d02.cjs");const Q=require("./el-divider-4713d74c.cjs");require("./el-scrollbar-bc3f790d.cjs");const X=require("./el-dialog-ae86edb8.cjs");require("./el-overlay-9e34965f.cjs");const $=require("./el-input-7fd293af.cjs"),Y=require("./el-button-eec58cff.cjs");require("./el-tag-a33c4b22.cjs");const z=require("./el-select-d8d91db1.cjs");require("./el-popper-b6c99b28.cjs");const Z=require("./el-popconfirm-70a976bf.cjs");require("./el-popover-0ea8fbf8.cjs");const e=require("vue"),m=require("./index-098c2447.cjs"),ee=require("./_plugin-vue_export-helper-f246444f.cjs"),d=require("./el-message-5e6a6be9.cjs"),D=require("./el-form-item-c3fe189b.cjs"),te=require("./el-message-box-c10adb52.cjs"),oe=require("./index-298075cf.cjs");require("./use-form-common-props-fd9b61a0.cjs");require("./index-9780a537.cjs");require("./index-bb833443.cjs");require("./index-f1c702f6.cjs");require("./vnode-b906ae6d.cjs");require("./scroll-b108dabd.cjs");require("./use-global-config-30d7d8ce.cjs");require("./index-c108567d.cjs");require("./typescript-b63f8e83.cjs");require("./index-11547a0c.cjs");require("./index-eea0bcb3.cjs");require("./index-f3562b52.cjs");require("./castArray-35947698.cjs");require("./debounce-62f5b6e8.cjs");require("./config-provider-a584d81e.cjs");require("./_initCloneObject-52b6a510.cjs");require("./validator-1b8a6128.cjs");const B=c=>(e.pushScopeId("data-v-ff7c4544"),c=c(),e.popScopeId(),c),le={class:"custom-function"},ne={class:"func-option"},ae={class:"icons"},se={class:"custom-header"},re={class:"left"},ce=["id"],ie={class:"right"},ue={class:"func-name"},de={class:"left"},fe=B(()=>e.createElementVNode("span",null,"函数名称:",-1)),me={class:"right"},pe=B(()=>e.createElementVNode("div",{class:"tip-box"},"Tip: 公式里可以使用变量, 变量名命名格式: ${变量名}, 后续可在应用函数时填写具体值, 系统会自动换算",-1)),_e={class:"dialog-footer"},he={class:"custom-header"},ve={class:"left"},Ve=["id"],ge={class:"right"},xe={class:"content"},Ne={class:"dialog-footer"},Ee={__name:"index",props:{size:{type:String,default:"small"},selectWidth:{type:String,default:"200px"}},emits:["insert"],setup(c,{emit:I}){const{request:C}=e.inject("stConfig"),p=e.ref(null),y=e.ref(null),T=I,w=e.ref(null),_=e.ref(""),x=e.ref([]),h=e.ref(!1),r=e.reactive({id:null,funcName:"",funcExpression:""}),q=e.ref(!1),v=e.ref(!1),k=e.ref(!1),f=e.reactive({result:null,detail:"",code:""}),S=async()=>{const{body:o}=await C.post("/common/qt/querySearchFunctions");if(x.value=o??[],w.value===null)_.value="";else{const t=x.value.find(({id:l})=>l===w.value);_.value=t?t.funcName:""}},O=o=>{var t;o?w.value=(t=x.value.find(l=>l.funcName===o))==null?void 0:t.id:w.value=null},U=async o=>{await C.post("/common/qt/deleteSearchFunctionById",{id:o.id}),S()},b=(o,t)=>{switch(!!o){case!1:{Object.assign(r,{id:null,funcName:"",funcExpression:""});break}case!0:{Object.assign(r,{id:o.id,funcName:o.funcName,funcExpression:o.funcExpression});break}}t&&(r.id=null,r.funcName=`${r.funcName}-复制`),h.value=!0},R=async()=>{try{if(q.value=!0,r.funcExpression=p.value.getValue(),!r.funcName)return d.ElMessage.error("函数名称不可为空");if(!r.funcExpression)return d.ElMessage.error("函数内容不可为空");await C.post("/common/qt/saveOrUpdateSearchFunction",r),d.ElMessage.success("操作成功"),h.value=!1,await S()}finally{q.value=!1}},F=()=>{if(!_.value)return d.ElMessage.error("请先选择自定义函数后, 再执行插入");const{funcName:o,funcExpression:t}=x.value.find(l=>l.funcName===_.value);T("insert",o,t)},j=o=>{const t=/\$\{([^}]*)\}/g,l=[];let s;for(;(s=t.exec(o))!==null;)l.push(s[1]);return[...new Set(l)]},L=(o,t)=>o.replace(/\$\{([^}]*)\}/g,(l,s)=>t[s]!==void 0?t[s]:l),P=o=>new Promise(t=>{const l=e.ref(o.reduce((n,i)=>(n[i]="",n),{})),s=e.ref({}),N=()=>{let n=!0;const i={};return o.forEach(u=>{var E;(E=l.value[u])!=null&&E.trim()||(i[u]=`请输入${u}的值`,n=!1)}),s.value=i,n},V={setup(){return()=>e.h("div",[e.h(D.ElForm,{model:l.value},()=>o.map(n=>e.h(D.ElFormItem,{label:`${n}: `,prop:n,error:s.value[n],"label-width":"90px"},()=>e.h($.ElInput,{modelValue:l.value[n],"onUpdate:modelValue":i=>{l.value[n]=i,s.value[n]&&delete s.value[n]},placeholder:`请输入 ${n} 的值`,status:s.value[n]?"error":""}))))])}};te.ElMessageBox({title:"填写变量值用于接口测试",message:e.h(V),showCancelButton:!0,confirmButtonText:"确定",cancelButtonText:"取消",customClass:"variable-input-dialog",beforeClose:async(n,i,u)=>{n!=="confirm"&&(t(!1),u()),await e.nextTick(),N()&&(t({...l.value}),u())}}).catch(()=>t(!1))}),W=async()=>{try{k.value=!0;let o=p.value.getValue();if(!o)return d.ElMessage.error("函数内容不可为空");if(/\$\{[^}]*\}/.test(o)){const N=j(o),V=await P(N);if(!V)return;o=L(o,V)}const{body:t}=await C.post("/common/qt/testFactorSelect",{factorSelectExpr:o}),{result:l,detail:s}=t;Object.assign(f,{result:l,detail:s,code:o}),l===1?d.ElMessage.success("测试通过"):(d.ElMessage.error("测试未能通过"),v.value=!0)}finally{k.value=!1}},A=()=>{if(f.result===null)return d.ElMessage.warning("请先进行测试, 等待测试完成后可查看日志");v.value=!0},H=()=>{y.value.open(p.value)};return e.onMounted(()=>{S()}),e.watch(()=>h.value,o=>{switch(o){case!0:{e.nextTick(()=>{var t,l;(t=p.value)==null||t.setValue(r.funcExpression),(l=p.value)==null||l.resize()}),Object.assign(f,{result:null,detail:""});break}case!1:{y.value.close();break}}}),(o,t)=>{const l=m.ElIcon,s=Z.ElPopconfirm,N=z.ElOption,V=z.ElSelect,n=Y.ElButton,i=$.ElInput,u=e.resolveComponent("st-monacoEditor"),E=X.ElDialog,M=oe.ElScrollbar,G=Q.ElDivider,J=e.resolveComponent("st-varSelectDialog");return e.openBlock(),e.createElementBlock("div",le,[e.createVNode(V,{modelValue:_.value,"onUpdate:modelValue":t[0]||(t[0]=a=>_.value=a),size:c.size,placeholder:"自定义函数","no-match-text":"无匹配选项","no-data-text":"无选项数据",clearable:"",filterable:"",onChange:O,style:e.normalizeStyle({width:c.selectWidth})},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,a=>(e.openBlock(),e.createBlock(N,{key:a.id,label:a.funcName,value:a.funcName,onClick:F},{default:e.withCtx(()=>[e.createElementVNode("div",ne,[e.createElementVNode("span",null,e.toDisplayString(a.funcName),1),e.createElementVNode("div",ae,[e.createVNode(l,{onClick:e.withModifiers(g=>b(a,!0),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(m.document_copy_default))]),_:2},1032,["onClick"]),e.createVNode(l,{onClick:e.withModifiers(g=>b(a),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(m.edit_default))]),_:2},1032,["onClick"]),e.createVNode(s,{title:"确认是否删除?","confirm-button-text":"确认","cancel-button-text":"取消",onConfirm:g=>U(a)},{reference:e.withCtx(()=>[e.createVNode(l,{onClick:e.withModifiers(()=>{},["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(m.delete_default))]),_:1})]),_:2},1032,["onConfirm"])])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","size","style"]),e.createVNode(n,{type:"primary",size:c.size,onClick:F},{default:e.withCtx(()=>[e.createTextVNode(" 插入 ")]),_:1},8,["size"]),e.createVNode(n,{type:"primary",size:c.size,onClick:t[1]||(t[1]=a=>b())},{default:e.withCtx(()=>[e.createTextVNode(" 新建 ")]),_:1},8,["size"]),e.createVNode(E,{"modal-class":"add-or-edit-dialog",modelValue:h.value,"onUpdate:modelValue":t[4]||(t[4]=a=>h.value=a),width:"1000","align-center":"","append-to-body":"",draggable:"",overflow:"",modal:!1,"modal-penetrable":!0,"show-close":!1},{header:e.withCtx(({titleId:a,titleClass:g})=>[e.createElementVNode("div",se,[e.createElementVNode("div",re,[e.createElementVNode("span",{id:a,class:e.normalizeClass(g)},e.toDisplayString(r.id?"编辑自定义函数":"新建自定义函数"),11,ce)]),e.createElementVNode("div",ie,[e.createVNode(n,{size:"small",type:"primary",onClick:H},{default:e.withCtx(()=>[e.createTextVNode(" 变量选择器 ")]),_:1}),e.createVNode(l,{onClick:t[2]||(t[2]=K=>h.value=!1)},{default:e.withCtx(()=>[e.createVNode(e.unref(m.close_default))]),_:1})])])]),footer:e.withCtx(()=>[e.createElementVNode("div",_e,[e.createVNode(n,{type:"primary",loading:q.value,onClick:R},{default:e.withCtx(()=>[e.createTextVNode(" 确定 ")]),_:1},8,["loading"])])]),default:e.withCtx(()=>[e.createElementVNode("div",ue,[e.createElementVNode("div",de,[fe,e.createVNode(i,{modelValue:r.funcName,"onUpdate:modelValue":t[3]||(t[3]=a=>r.funcName=a)},null,8,["modelValue"])]),e.createElementVNode("div",me,[e.createVNode(n,{type:"primary",loading:k.value,onClick:W},{default:e.withCtx(()=>[e.createTextVNode(" 测试 ")]),_:1},8,["loading"]),e.createVNode(n,{icon:e.unref(m.document_default),onClick:A},{default:e.withCtx(()=>[e.createTextVNode(" 日志明细 ")]),_:1},8,["icon"])])]),pe,e.createVNode(u,{ref_key:"stMonacoEditorRef",ref:p,language:"lua",style:{width:"968px",height:"400px"}},null,512)]),_:1},8,["modelValue"]),e.createVNode(E,{"modal-class":"log-dialog",modelValue:v.value,"onUpdate:modelValue":t[7]||(t[7]=a=>v.value=a),width:"830","align-center":"","append-to-body":"",draggable:"",overflow:"",modal:!1,"modal-penetrable":!0,"show-close":!1},{header:e.withCtx(({titleId:a,titleClass:g})=>[e.createElementVNode("div",he,[e.createElementVNode("div",ve,[e.createElementVNode("span",{id:a,class:e.normalizeClass(g)}," 日志明细 ",10,Ve)]),e.createElementVNode("div",ge,[e.createVNode(l,{onClick:t[5]||(t[5]=K=>v.value=!1)},{default:e.withCtx(()=>[e.createVNode(e.unref(m.close_default))]),_:1})])])]),footer:e.withCtx(()=>[e.createElementVNode("div",Ne,[e.createVNode(n,{onClick:t[6]||(t[6]=a=>v.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(" 关闭 ")]),_:1})])]),default:e.withCtx(()=>[e.createElementVNode("div",xe,[e.createVNode(M,{class:"code",height:"600px"},{default:e.withCtx(()=>[e.createElementVNode("pre",null,e.toDisplayString(f.code),1)]),_:1}),e.createVNode(G,{direction:"vertical"}),e.createVNode(M,{height:"600px"},{default:e.withCtx(()=>[e.createElementVNode("pre",{class:e.normalizeClass(f.result===1?"success-log":"error-log")},e.toDisplayString(f.result===1?"测试通过 √":f.detail),3)]),_:1})])]),_:1},8,["modelValue"]),e.createVNode(J,{ref_key:"stVarSelectDialogRef",ref:y},null,512)])}}},Ce=ee._export_sfc(Ee,[["__scopeId","data-v-ff7c4544"]]),we={install(c){c.component("st-customFunction",Ce)}};module.exports=we;
1
+ "use strict";require("./base-ef747d02.cjs");const j=require("./el-button-0dbb2d4a.cjs");require("./el-tag-891b703d.cjs");const O=require("./el-select-91145989.cjs");require("./el-scrollbar-bc3f790d.cjs");require("./el-popper-b37ec1ef.cjs");const e=require("vue"),ee=require("./el-divider-4713d74c.cjs"),te=require("./el-dialog-5028c704.cjs");require("./el-overlay-ab0b3c66.cjs");const oe=require("./el-empty-1697ded8.cjs"),le=require("./el-popconfirm-a4a50f14.cjs");require("./el-popover-0ea8fbf8.cjs");const U=require("./el-input-2e9268ac.cjs"),k=require("./index-7a85500c.cjs"),ne=require("./index-8901a38c.cjs"),x=require("./el-message-3d8d9810.cjs"),ae=require("./el-message-box-aafae7ee.cjs"),R=require("./el-form-item-f7e8255e.cjs"),A=require("./_plugin-vue_export-helper-f246444f.cjs"),se=require("./index-f50a50b3.cjs");require("./index-f1c702f6.cjs");require("./use-global-config-2a4156cd.cjs");require("./use-form-common-props-3b387353.cjs");require("./index-9780a537.cjs");require("./index-bb833443.cjs");require("./index-6c252a43.cjs");require("./index-eea0bcb3.cjs");require("./index-d7928b14.cjs");require("./castArray-35947698.cjs");require("./index-eb3ca89a.cjs");require("./scroll-b108dabd.cjs");require("./debounce-62f5b6e8.cjs");require("./vnode-b906ae6d.cjs");require("./typescript-b63f8e83.cjs");require("./config-provider-285ead82.cjs");require("./validator-7dacff4f.cjs");require("./_initCloneObject-6429d105.cjs");const I=u=>(e.pushScopeId("data-v-8af089bb"),u=u(),e.popScopeId(),u),re={class:"custom-header"},ce={class:"left"},ie=["id"],ue={class:"right"},de={class:"manage-dialog-body"},fe={class:"func-list"},me={class:"search"},pe=I(()=>e.createElementVNode("span",null,"输入函数关键字",-1)),_e=["onClick"],ve={class:"icon-box"},Ve={class:"rule-form"},xe={class:"header"},he=I(()=>e.createElementVNode("span",null,"函数名称:",-1)),ge={class:"right"},Ne=I(()=>e.createElementVNode("div",{class:"tip-box"},"说明: 公式里可以使用变量, 变量名命名格式: ${变量名}, 后续可在应用函数时填写具体值, 系统会自动换算",-1)),Ee={class:"custom-header"},Ce={class:"left"},ye=["id"],we={class:"right"},ke={class:"dialog-footer"},qe={class:"custom-header"},be={class:"left"},Se=["id"],$e={class:"right"},De={class:"content"},Be={class:"dialog-footer"},Me={__name:"ManageDialog",props:{data:{type:Array,default:()=>[]}},emits:["refreshData"],setup(u,{expose:B,emit:M}){const{request:q}=e.inject("stConfig"),d=e.ref(null),h=e.ref(null),v=M,V=u,g=e.ref(!1),N=e.reactive({save:!1,test:!1}),E=e.ref(null),b=e.computed(()=>E.value?V.data.filter(o=>o.funcName.includes(E.value)):V.data),n=e.reactive({id:null,funcName:"",funcExpression:""}),r=e.ref(""),i=e.reactive({result:null,detail:"",code:""}),C=e.ref(!1),_=e.ref(!1),m=()=>{var o;Object.assign(n,{id:null,funcName:"",funcExpression:""}),r.value="",(o=d.value)==null||o.setValue(n.funcExpression)},T=o=>{var t;Object.assign(n,{id:o.id,funcName:o.funcName,funcExpression:o.funcExpression}),r.value="",(t=d.value)==null||t.setValue(n.funcExpression)},L=o=>{var t;Object.assign(n,{id:null,funcName:`${o.funcName}-复制`,funcExpression:o.funcExpression}),r.value="",(t=d.value)==null||t.setValue(n.funcExpression)},P=async o=>{var t;o.id===n.id&&(Object.assign(n,{id:null,funcName:"",funcExpression:""}),(t=d.value)==null||t.setValue(n.funcExpression)),await q.post("/common/qt/deleteSearchFunctionById",{id:o.id}),v("refreshData")},W=ne.G(async()=>{try{if(N.save=!0,n.funcExpression=d.value.getValue(),!n.funcName)return x.ElMessage.error("函数名称不可为空");if(!n.funcExpression)return x.ElMessage.error("函数内容不可为空");await q.post("/common/qt/saveOrUpdateSearchFunction",n),x.ElMessage.success("操作成功"),v("refreshData"),n.id||m()}finally{N.save=!1}}),G=o=>new Promise(t=>{const a=e.ref(o.reduce((c,p)=>(c[p]="",c),{})),s=e.ref({}),f=()=>{let c=!0;const p={};return o.forEach(y=>{var $;($=a.value[y])!=null&&$.trim()||(p[y]=`请输入${y}的值`,c=!1)}),s.value=p,c},S={setup(){return()=>e.h("div",[e.h(R.ElForm,{model:a.value},()=>o.map(c=>e.h(R.ElFormItem,{label:`${c}: `,prop:c,error:s.value[c],"label-width":"90px"},()=>e.h(U.ElInput,{modelValue:a.value[c],"onUpdate:modelValue":p=>{a.value[c]=p,s.value[c]&&delete s.value[c]},placeholder:`请输入 ${c} 的值`,status:s.value[c]?"error":""}))))])}};ae.ElMessageBox({title:"填写变量值用于接口测试",message:e.h(S),showCancelButton:!0,confirmButtonText:"确定",cancelButtonText:"取消",customClass:"variable-input-dialog",beforeClose:async(c,p,y)=>{c!=="confirm"&&(t(!1),y()),await e.nextTick(),f()&&(t({...a.value}),y())}}).catch(()=>t(!1))}),H=o=>{const t=/\$\{([^}]*)\}/g,a=[];let s;for(;(s=t.exec(o))!==null;)a.push(s[1]);return[...new Set(a)]},K=(o,t)=>o.replace(/\$\{([^}]*)\}/g,(a,s)=>t[s]!==void 0?t[s]:a),J=o=>o?o.split(`
2
+ `).reduce((t,a)=>{const s=a.trim().replace(/\s+/gi," ").split(" ")[0];return s&&t.push(s),t},[]):[],F=async o=>{switch(o){case"open":{if(!d.value.getValue())return x.ElMessage.error("函数内容不可为空");C.value=!0;break}case"submit":{let t=d.value.getValue();if(!t)return x.ElMessage.error("函数内容不可为空");if(/\$\{[^}]*\}/.test(t)){const a=H(t),s=await G(a);if(!s)return;t=K(t,s)}C.value=!1;try{N.test=!0;const a={codes:J(r.value),factorSelectExpr:t},{body:s}=await q.post("/common/qt/testFactorSelect",a),{result:f,detail:S}=s;Object.assign(i,{result:f,detail:S,code:a.factorSelectExpr}),f===1?x.ElMessage.success("测试通过"):(x.ElMessage.error("测试未能通过"),_.value=!0)}finally{N.test=!1}break}case"log":{if(i.result===null)return x.ElMessage.warning("请先进行测试, 等待测试完成后可查看日志");_.value=!0;break}}},Q=()=>{h.value.open(d.value)};return e.watch(()=>g.value,o=>{switch(o){case!0:{e.nextTick(()=>{var t;(t=d.value)==null||t.resize(),E.value=null,b.value.length?T(b.value[0]):m(),Object.assign(i,{result:null,detail:"",code:""})});break}case!1:{h.value.close(),C.value=!1,_.value=!1;break}}}),B({open:()=>{g.value=!0}}),(o,t)=>{const a=k.ElIcon,s=U.ElInput,f=j.ElButton,S=le.ElPopconfirm,c=oe.ElEmpty,p=se.ElScrollbar,y=e.resolveComponent("st-monacoEditor"),$=e.resolveComponent("st-varSelectDialog"),X=e.resolveComponent("st-varietyAutoComplete"),z=te.ElDialog,Y=ee.ElDivider;return e.openBlock(),e.createBlock(z,{"modal-class":"manage-dialog",modelValue:g.value,"onUpdate:modelValue":t[13]||(t[13]=l=>g.value=l),width:"1600","align-center":"","append-to-body":"",overflow:"",modal:!1,"modal-penetrable":!0,"show-close":!1},{header:e.withCtx(({titleId:l,titleClass:w})=>[e.createElementVNode("div",re,[e.createElementVNode("div",ce,[e.createElementVNode("span",{id:l,class:e.normalizeClass(w)}," 自定义函数管理面板 ",10,ie)]),e.createElementVNode("div",ue,[e.createVNode(a,{onClick:t[0]||(t[0]=D=>g.value=!1)},{default:e.withCtx(()=>[e.createVNode(e.unref(k.close_default))]),_:1})])])]),default:e.withCtx(()=>[e.createElementVNode("div",de,[e.createElementVNode("div",fe,[e.createElementVNode("div",me,[pe,e.createVNode(s,{modelValue:E.value,"onUpdate:modelValue":t[1]||(t[1]=l=>E.value=l),clearable:""},null,8,["modelValue"]),e.createVNode(f,{type:"primary",onClick:m},{default:e.withCtx(()=>[e.createTextVNode("新建")]),_:1})]),e.createVNode(p,{class:"list"},{default:e.withCtx(()=>[b.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(b.value,l=>(e.openBlock(),e.createElementBlock("div",{key:l.id,class:e.normalizeClass([{"active-list-item":n.id===l.id},"list-item"])},[e.createElementVNode("span",{class:"func-name",onClick:w=>T(l)},e.toDisplayString(l.funcName),9,_e),e.createElementVNode("div",ve,[e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.document_copy_default),{onClick:w=>L(l)},null,8,["onClick"])]),_:2},1024),e.createVNode(S,{title:"确认是否删除?","confirm-button-text":"确认","cancel-button-text":"取消",onConfirm:w=>P(l)},{reference:e.withCtx(()=>[e.createVNode(a,{onClick:e.withModifiers(()=>{},["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(k.delete_default))]),_:1})]),_:2},1032,["onConfirm"])])],2))),128)):(e.openBlock(),e.createBlock(c,{key:1,description:"暂无数据"}))]),_:1})]),e.createElementVNode("div",Ve,[e.createElementVNode("div",xe,[he,e.createVNode(s,{modelValue:n.funcName,"onUpdate:modelValue":t[2]||(t[2]=l=>n.funcName=l)},null,8,["modelValue"]),e.createElementVNode("div",ge,[e.createVNode(f,{type:"primary",onClick:e.unref(W),loading:N.save},{default:e.withCtx(()=>[e.createTextVNode(" 保存 ")]),_:1},8,["onClick","loading"]),e.createVNode(f,{loading:N.test,onClick:t[3]||(t[3]=l=>F("open"))},{default:e.withCtx(()=>[e.createTextVNode(" 测试 ")]),_:1},8,["loading"]),e.createVNode(f,{icon:e.unref(k.document_default),onClick:t[4]||(t[4]=l=>F("log"))},{default:e.withCtx(()=>[e.createTextVNode(" 日志明细 ")]),_:1},8,["icon"]),e.createVNode(f,{type:"primary",onClick:Q},{default:e.withCtx(()=>[e.createTextVNode(" 变量选择器 ")]),_:1})])]),Ne,e.createVNode(y,{ref_key:"stMonacoEditorRef",ref:d,language:"lua",style:{width:"100%",height:"calc(80vh - 75px)"}},null,512)])]),e.createVNode($,{ref_key:"stVarSelectDialogRef",ref:h},null,512),e.createVNode(z,{"modal-class":"test-variety-dialog",modelValue:C.value,"onUpdate:modelValue":t[9]||(t[9]=l=>C.value=l),width:"500","align-center":"","append-to-body":"",overflow:"",modal:!1,"modal-penetrable":!0,"show-close":!1},{header:e.withCtx(({titleId:l,titleClass:w})=>[e.createElementVNode("div",Ee,[e.createElementVNode("div",Ce,[e.createElementVNode("span",{id:l,class:e.normalizeClass(w)}," 测试品种 ",10,ye)]),e.createElementVNode("div",we,[e.createVNode(X,{label:"",onSelect:t[5]||(t[5]=({name:D,code:Z})=>r.value+=`${Z} ${D}
3
+ `)}),e.createVNode(a,{onClick:t[6]||(t[6]=D=>C.value=!1)},{default:e.withCtx(()=>[e.createVNode(e.unref(k.close_default))]),_:1})])])]),footer:e.withCtx(()=>[e.createElementVNode("div",ke,[e.createVNode(f,{type:"primary",onClick:t[8]||(t[8]=l=>F("submit"))},{default:e.withCtx(()=>[e.createTextVNode(" 确认 ")]),_:1})])]),default:e.withCtx(()=>[e.createVNode(s,{class:"full-height-textarea",modelValue:r.value,"onUpdate:modelValue":t[7]||(t[7]=l=>r.value=l),resize:"none",type:"textarea",placeholder:`不填写时, 默认为000001 平安银行
4
+ 格式示例:
5
+ hc8888    热轧卷板期货指数
6
+ sp8888    纸浆期货指数
7
+ bu8888    石油沥青期货指数`},null,8,["modelValue"])]),_:1},8,["modelValue"]),e.createVNode(z,{"modal-class":"log-dialog",modelValue:_.value,"onUpdate:modelValue":t[12]||(t[12]=l=>_.value=l),width:"830","align-center":"","append-to-body":"",draggable:"",overflow:"",modal:!1,"modal-penetrable":!0,"show-close":!1},{header:e.withCtx(({titleId:l,titleClass:w})=>[e.createElementVNode("div",qe,[e.createElementVNode("div",be,[e.createElementVNode("span",{id:l,class:e.normalizeClass(w)}," 日志明细 ",10,Se)]),e.createElementVNode("div",$e,[e.createVNode(a,{onClick:t[10]||(t[10]=D=>_.value=!1)},{default:e.withCtx(()=>[e.createVNode(e.unref(k.close_default))]),_:1})])])]),footer:e.withCtx(()=>[e.createElementVNode("div",Be,[e.createVNode(f,{onClick:t[11]||(t[11]=l=>_.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(" 关闭 ")]),_:1})])]),default:e.withCtx(()=>[e.createElementVNode("div",De,[e.createVNode(p,{class:"code",height:"600px"},{default:e.withCtx(()=>[e.createElementVNode("pre",null,e.toDisplayString(i.code),1)]),_:1}),e.createVNode(Y,{direction:"vertical"}),e.createVNode(p,{height:"600px"},{default:e.withCtx(()=>[e.createElementVNode("pre",{class:e.normalizeClass(i.result===1?"success-log":"error-log")},e.toDisplayString(i.result===1?`✅️ 测试通过
8
+ ${i.detail}`:i.detail),3)]),_:1})])]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])}}},Fe=A._export_sfc(Me,[["__scopeId","data-v-8af089bb"]]);const ze={class:"custom-function"},Ie={class:"func-option"},Te={__name:"index",props:{size:{type:String,default:"small"},selectWidth:{type:String,default:"200px"}},emits:["insert"],setup(u,{emit:B}){const{request:M}=e.inject("stConfig"),q=e.ref(null),d=B,h=e.ref(null),v=e.ref(""),V=e.ref([]),g=async()=>{const{body:n}=await M.post("/common/qt/querySearchFunctions");if(V.value=n??[],h.value===null)v.value="";else{const r=V.value.find(({id:i})=>i===h.value);v.value=r?r.funcName:""}},N=n=>{var r;n?h.value=(r=V.value.find(i=>i.funcName===n))==null?void 0:r.id:h.value=null},E=()=>{if(!v.value)return x.ElMessage.error("请先选择自定义函数后, 再执行插入");const{funcName:n,funcExpression:r}=V.value.find(i=>i.funcName===v.value);d("insert",n,r)},b=()=>{q.value.open()};return e.onMounted(()=>{g()}),(n,r)=>{const i=O.ElOption,C=O.ElSelect,_=j.ElButton;return e.openBlock(),e.createElementBlock("div",ze,[e.createVNode(C,{modelValue:v.value,"onUpdate:modelValue":r[0]||(r[0]=m=>v.value=m),size:u.size,placeholder:"自定义函数","no-match-text":"无匹配选项","no-data-text":"无选项数据",clearable:"",filterable:"",onChange:N,style:e.normalizeStyle({width:u.selectWidth})},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,m=>(e.openBlock(),e.createBlock(i,{key:m.id,label:m.funcName,value:m.funcName,onClick:E},{default:e.withCtx(()=>[e.createElementVNode("div",Ie,[e.createElementVNode("span",null,e.toDisplayString(m.funcName),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","size","style"]),e.createVNode(_,{type:"primary",size:u.size,onClick:E},{default:e.withCtx(()=>[e.createTextVNode(" 插入 ")]),_:1},8,["size"]),e.createVNode(_,{type:"primary",size:u.size,onClick:r[1]||(r[1]=m=>b())},{default:e.withCtx(()=>[e.createTextVNode(" 函数管理 ")]),_:1},8,["size"]),e.createVNode(Fe,{ref_key:"ManageDialogRef",ref:q,data:V.value,onRefreshData:g},null,8,["data"])])}}},Oe=A._export_sfc(Te,[["__scopeId","data-v-853b69f4"]]),Ue={install(u){u.component("st-customFunction",Oe)}};module.exports=Ue;