st-comp 0.0.279 → 0.0.280

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 (229) hide show
  1. package/es/ChartLayout.cjs +1 -1
  2. package/es/ChartLayout.js +13 -14
  3. package/es/CustomFunction.cjs +2 -2
  4. package/es/CustomFunction.js +342 -547
  5. package/es/FactorWarning.cjs +1 -1
  6. package/es/FactorWarning.js +294 -294
  7. package/es/Kline.cjs +1 -1
  8. package/es/Kline.js +19 -19
  9. package/es/KlineBasic.cjs +1 -1
  10. package/es/KlineBasic.js +253 -253
  11. package/es/KlineConfig.cjs +1 -1
  12. package/es/KlineConfig.js +579 -553
  13. package/es/KlineNew.cjs +1 -1
  14. package/es/KlineNew.js +17 -17
  15. package/es/KlinePlus.cjs +2 -2
  16. package/es/KlinePlus.js +23 -24
  17. package/es/MonacoEditor.cjs +1 -1
  18. package/es/MonacoEditor.js +30 -29
  19. package/es/Pagination.cjs +1 -1
  20. package/es/Pagination.js +517 -425
  21. package/es/PasswordPrompt.cjs +1 -1
  22. package/es/PasswordPrompt.js +3 -3
  23. package/es/Table.cjs +1 -1
  24. package/es/Table.js +46 -46
  25. package/es/User.cjs +1 -1
  26. package/es/User.js +898 -866
  27. package/es/VarSelectDialog.cjs +3 -3
  28. package/es/VarSelectDialog.js +110 -109
  29. package/es/VarietyAiHelper.cjs +7 -7
  30. package/es/VarietyAiHelper.js +605 -443
  31. package/es/VarietyAutoComplete.cjs +1 -1
  32. package/es/VarietyAutoComplete.js +11 -11
  33. package/es/VarietySearch.cjs +18 -18
  34. package/es/VarietySearch.js +3079 -2913
  35. package/es/{VarietySelect-d58eee29.cjs → VarietySelect-aa082a9c.cjs} +1 -1
  36. package/es/{VarietySelect-41daac7b.js → VarietySelect-c402bade.js} +5 -5
  37. package/es/VarietyTextCopy.cjs +3 -3
  38. package/es/VarietyTextCopy.js +51 -51
  39. package/es/VirtualTable.cjs +13 -1
  40. package/es/VirtualTable.js +1929 -2261
  41. package/es/_baseClone-10bdb989.cjs +1 -0
  42. package/es/_baseClone-98af8b33.js +210 -0
  43. package/es/base-d987e5c9.cjs +5 -0
  44. package/es/base-dd156b8e.js +790 -0
  45. package/es/{castArray-7741a212.js → castArray-18eb6a41.js} +1 -1
  46. package/es/{castArray-35947698.cjs → castArray-d9ffe84a.cjs} +1 -1
  47. package/es/clamp-17c4d8aa.cjs +1 -0
  48. package/es/clamp-c7512966.js +10 -0
  49. package/es/config-provider-33a127c4.cjs +1 -0
  50. package/es/config-provider-563023c9.js +86 -0
  51. package/es/debounce-0a98a9c6.js +57 -0
  52. package/es/debounce-37b17615.cjs +1 -0
  53. package/es/dropdown-ce7496c7.cjs +1 -0
  54. package/es/dropdown-feea8702.js +178 -0
  55. package/es/el-autocomplete-d9253bba.cjs +1 -0
  56. package/es/el-autocomplete-eac54f9f.js +434 -0
  57. package/es/el-button-8259594b.cjs +1 -0
  58. package/es/el-button-8a9721f8.js +343 -0
  59. package/es/el-checkbox-6303fc92.cjs +1 -0
  60. package/es/el-checkbox-c328b097.js +566 -0
  61. package/es/el-dialog-67536fac.js +252 -0
  62. package/es/el-dialog-8788bcc1.cjs +1 -0
  63. package/es/el-divider-3f0320be.cjs +1 -0
  64. package/es/el-divider-c5d72961.js +51 -0
  65. package/es/el-empty-552baf04.js +159 -0
  66. package/es/el-empty-58bc2a10.cjs +1 -0
  67. package/es/el-form-item-8efcf2c3.js +1265 -0
  68. package/es/el-form-item-95e68669.cjs +12 -0
  69. package/es/el-input-c8a9bb71.cjs +1 -0
  70. package/es/el-input-e66500b7.js +761 -0
  71. package/es/el-input-number-68ee0d65.js +390 -0
  72. package/es/el-input-number-d7a81922.cjs +1 -0
  73. package/es/el-loading-62132db2.cjs +1 -0
  74. package/es/el-loading-db4c6d13.js +190 -0
  75. package/es/el-menu-item-4b8e7794.cjs +1 -0
  76. package/es/el-menu-item-c2523d82.js +824 -0
  77. package/es/el-message-box-7c13546c.js +481 -0
  78. package/es/el-message-box-fed174f0.cjs +1 -0
  79. package/es/el-overlay-17299785.cjs +1 -0
  80. package/es/el-overlay-36f223e9.js +444 -0
  81. package/es/el-popconfirm-520b2928.cjs +1 -0
  82. package/es/el-popconfirm-a857c54a.js +190 -0
  83. package/es/el-popper-852446fd.js +2235 -0
  84. package/es/el-popper-f824c63b.cjs +1 -0
  85. package/es/{el-scrollbar-323542e7.js → el-scrollbar-0a42c1d0.js} +4 -9
  86. package/es/{el-scrollbar-bc3f790d.cjs → el-scrollbar-225c6c9e.cjs} +1 -1
  87. package/es/el-segmented-45dcc036.cjs +1 -0
  88. package/es/el-segmented-bf08279f.js +168 -0
  89. package/es/el-select-a34348e1.js +1535 -0
  90. package/es/el-select-d2958ae8.cjs +1 -0
  91. package/es/el-table-column-ad70ee0e.cjs +14 -0
  92. package/es/el-table-column-e2be313e.js +3651 -0
  93. package/es/el-tag-527f06f0.cjs +1 -0
  94. package/es/el-tag-9bcfae32.js +77 -0
  95. package/es/el-text-f9379288.js +84 -0
  96. package/es/el-text-fc345ffd.cjs +1 -0
  97. package/es/index-2419d69a.js +468 -0
  98. package/es/index-3806160e.js +710 -0
  99. package/es/index-3a0a7c36.cjs +1 -0
  100. package/es/index-3e7d5ffb.cjs +1 -0
  101. package/es/index-3ed0c678.cjs +1 -0
  102. package/es/index-47d30a52.js +372 -0
  103. package/es/index-5dec535a.cjs +1 -0
  104. package/es/index-5e76a22d.cjs +1 -0
  105. package/es/{index-eb96e074.js → index-60900c6c.js} +223 -254
  106. package/es/{index-a33b2fb8.js → index-69d2353a.js} +5090 -5090
  107. package/es/index-71ba4c28.cjs +1 -0
  108. package/es/index-7711aa69.cjs +1 -0
  109. package/es/index-7c4d8f5d.js +47 -0
  110. package/es/index-86678b72.js +131 -0
  111. package/es/index-99bb359f.cjs +1 -0
  112. package/es/index-99d4335d.cjs +1 -0
  113. package/es/index-a0522466.js +413 -0
  114. package/es/index-a181f161.js +429 -0
  115. package/es/index-b9a26e7f.js +141 -0
  116. package/es/{index-a9246d17.cjs → index-bb0bc131.cjs} +109 -109
  117. package/es/index-d372e68f.cjs +5 -0
  118. package/es/index-de9ad85c.js +12 -0
  119. package/es/{index-44a382a5.js → index-dfb34e00.js} +12 -12
  120. package/es/index-f5474dcc.cjs +3 -0
  121. package/es/{python-8a1664e6.js → python-6eafa04b.js} +32 -31
  122. package/es/{python-a3db9620.cjs → python-922eca89.cjs} +1 -1
  123. package/es/{raf-8249652f.cjs → raf-735cc598.cjs} +1 -1
  124. package/es/{raf-80ef0c0a.js → raf-b4fd1e12.js} +1 -1
  125. package/es/scroll-07bade1e.cjs +1 -0
  126. package/es/scroll-70271cb1.js +35 -0
  127. package/es/style.css +1 -1
  128. package/es/toNumber-b47ceb68.cjs +1 -0
  129. package/es/toNumber-f077c66a.js +31 -0
  130. package/es/use-form-item-0a831287.cjs +2 -0
  131. package/es/use-form-item-187cd7db.js +422 -0
  132. package/es/use-global-config-17dafd40.js +71 -0
  133. package/es/use-global-config-c90c91f7.cjs +1 -0
  134. package/es/{validator-c60a8956.js → validator-800ed2ba.js} +1 -1
  135. package/es/validator-ee5bc3eb.cjs +1 -0
  136. package/es/vnode-6f7b84f0.cjs +1 -0
  137. package/es/vnode-8ee9bf4e.js +12 -0
  138. package/es/{zh-cn-b59a0910.js → zh-cn-26cc7233.js} +36 -33
  139. package/es/zh-cn-a22a6792.cjs +1 -0
  140. package/lib/bundle.js +1 -1
  141. package/lib/bundle.umd.cjs +271 -252
  142. package/lib/{index-62fa175a.js → index-74ed48c6.js} +54107 -52151
  143. package/lib/{python-4a48fa39.js → python-7aaa84e4.js} +1 -1
  144. package/lib/style.css +1 -1
  145. package/package.json +1 -1
  146. package/es/_initCloneObject-5e73c9c8.js +0 -81
  147. package/es/_initCloneObject-a5832933.cjs +0 -1
  148. package/es/base-a5af3db3.js +0 -288
  149. package/es/base-ef747d02.cjs +0 -5
  150. package/es/config-provider-06ea6b42.cjs +0 -1
  151. package/es/config-provider-88b637a8.js +0 -59
  152. package/es/dayjs.min-2c20abe6.cjs +0 -1
  153. package/es/dayjs.min-8313b006.js +0 -299
  154. package/es/debounce-62f5b6e8.cjs +0 -1
  155. package/es/debounce-8d53f4dd.js +0 -83
  156. package/es/dropdown-4ce4c3e2.cjs +0 -1
  157. package/es/dropdown-72fbc15d.js +0 -178
  158. package/es/el-autocomplete-6cafcdf1.js +0 -329
  159. package/es/el-autocomplete-e0857c5b.cjs +0 -1
  160. package/es/el-button-613e0bb2.cjs +0 -1
  161. package/es/el-button-94d3de38.js +0 -272
  162. package/es/el-checkbox-6d4cb393.js +0 -459
  163. package/es/el-checkbox-e90762df.cjs +0 -1
  164. package/es/el-dialog-02942e22.cjs +0 -1
  165. package/es/el-dialog-5e30161f.js +0 -276
  166. package/es/el-divider-4713d74c.cjs +0 -1
  167. package/es/el-divider-4e059794.js +0 -45
  168. package/es/el-empty-1697ded8.cjs +0 -1
  169. package/es/el-empty-33cb66f1.js +0 -183
  170. package/es/el-form-item-44f060d8.cjs +0 -12
  171. package/es/el-form-item-9e8969ea.js +0 -1269
  172. package/es/el-input-342b2def.js +0 -531
  173. package/es/el-input-9a9a7f7f.cjs +0 -1
  174. package/es/el-input-number-65c847d6.cjs +0 -1
  175. package/es/el-input-number-c22b803a.js +0 -311
  176. package/es/el-loading-8179b497.cjs +0 -1
  177. package/es/el-loading-bcc51e3d.js +0 -203
  178. package/es/el-menu-item-339baf6d.js +0 -768
  179. package/es/el-menu-item-83186444.cjs +0 -1
  180. package/es/el-message-box-035b699c.js +0 -489
  181. package/es/el-message-box-c62d3217.cjs +0 -1
  182. package/es/el-overlay-3e17604b.js +0 -324
  183. package/es/el-overlay-8f1da9e8.cjs +0 -1
  184. package/es/el-popconfirm-4e32ec1b.cjs +0 -1
  185. package/es/el-popconfirm-f8a86e2c.js +0 -162
  186. package/es/el-popper-a4f3ae4d.cjs +0 -1
  187. package/es/el-popper-fbd0dcea.js +0 -2094
  188. package/es/el-segmented-56bd58a8.js +0 -142
  189. package/es/el-segmented-833ac177.cjs +0 -1
  190. package/es/el-select-44fa547d.js +0 -1256
  191. package/es/el-select-70806166.cjs +0 -1
  192. package/es/el-table-column-3e2cdfca.cjs +0 -14
  193. package/es/el-table-column-b74a857d.js +0 -3432
  194. package/es/el-tag-66c83156.js +0 -117
  195. package/es/el-tag-9c2f329f.cjs +0 -1
  196. package/es/el-text-034bd3f4.js +0 -67
  197. package/es/el-text-6b2374bb.cjs +0 -1
  198. package/es/index-00f6ca75.cjs +0 -1
  199. package/es/index-185792a7.cjs +0 -1
  200. package/es/index-1e2a38ab.js +0 -113
  201. package/es/index-2e331d74.js +0 -10
  202. package/es/index-3153c1db.cjs +0 -1
  203. package/es/index-5216d5f5.js +0 -406
  204. package/es/index-5c0dd943.cjs +0 -1
  205. package/es/index-657047bb.js +0 -513
  206. package/es/index-870b6c9d.cjs +0 -1
  207. package/es/index-8c2d7e05.js +0 -368
  208. package/es/index-960806da.js +0 -314
  209. package/es/index-9780a537.cjs +0 -1
  210. package/es/index-9d16cea8.cjs +0 -1
  211. package/es/index-ac8dc53d.cjs +0 -1
  212. package/es/index-bb833443.cjs +0 -1
  213. package/es/index-c5f2d372.js +0 -326
  214. package/es/index-c6584658.js +0 -163
  215. package/es/index-d77a7336.js +0 -204
  216. package/es/index-eea0bcb3.cjs +0 -1
  217. package/es/index-f034b910.js +0 -60
  218. package/es/index-f1c702f6.cjs +0 -1
  219. package/es/index-f58b2920.cjs +0 -1
  220. package/es/scroll-679bd6bf.js +0 -35
  221. package/es/scroll-b108dabd.cjs +0 -1
  222. package/es/use-form-common-props-ac666630.cjs +0 -1
  223. package/es/use-form-common-props-ed72e914.js +0 -364
  224. package/es/use-global-config-23472471.cjs +0 -1
  225. package/es/use-global-config-ee406d58.js +0 -72
  226. package/es/validator-366dbf39.cjs +0 -1
  227. package/es/vnode-5ddb7ed1.js +0 -14
  228. package/es/vnode-b906ae6d.cjs +0 -1
  229. package/es/zh-cn-c21d12d8.cjs +0 -1
@@ -1 +1 @@
1
- "use strict";require("./base-ef747d02.cjs");const i=require("./el-empty-1697ded8.cjs"),t=require("vue"),r=require("./_plugin-vue_export-helper-f246444f.cjs");require("./index-9780a537.cjs");require("./index-bb833443.cjs");const u={__name:"index",props:{data:{type:Array,default:()=>[]},spacing:{type:Number,default:()=>2},row:{type:Number,default:()=>3},col:{type:Number,default:()=>3},emptyText:{type:String,default:()=>"暂无数据"}},setup(e){return(a,s)=>{const n=i.ElEmpty;return e.data&&e.data.length?(t.openBlock(),t.createElementBlock("div",{key:0,class:"chartLayout",style:t.normalizeStyle({width:`calc(100% + ${e.spacing}px)`,height:`calc(100% + ${e.spacing}px)`})},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.data.slice(0,e.col*e.row),(c,l)=>(t.openBlock(),t.createElementBlock("div",{key:c.key,class:"chartLayout-item",style:t.normalizeStyle({margin:`0 ${e.spacing}px ${e.spacing}px 0`,width:`calc(100% / ${e.row} - ${e.spacing}px)`,height:`calc(100% / ${e.col} - ${e.spacing}px)`})},[t.renderSlot(a.$slots,"default",{data:c,index:l},void 0,!0)],4))),128))],4)):(t.openBlock(),t.createBlock(n,{key:1,description:e.emptyText,style:{height:"80%"}},null,8,["description"]))}}},o=r._export_sfc(u,[["__scopeId","data-v-898960fc"]]),d={install(e){e.component("st-chartLayout",o)}};module.exports=d;
1
+ "use strict";const i=require("./el-empty-58bc2a10.cjs");require("./base-d987e5c9.cjs");const t=require("vue"),r=require("./_plugin-vue_export-helper-f246444f.cjs");require("./index-d372e68f.cjs");const o={__name:"index",props:{data:{type:Array,default:()=>[]},spacing:{type:Number,default:()=>2},row:{type:Number,default:()=>3},col:{type:Number,default:()=>3},emptyText:{type:String,default:()=>"暂无数据"}},setup(e){return(a,s)=>{const n=i.ElEmpty;return e.data&&e.data.length?(t.openBlock(),t.createElementBlock("div",{key:0,class:"chartLayout",style:t.normalizeStyle({width:`calc(100% + ${e.spacing}px)`,height:`calc(100% + ${e.spacing}px)`})},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.data.slice(0,e.col*e.row),(c,l)=>(t.openBlock(),t.createElementBlock("div",{key:c.key,class:"chartLayout-item",style:t.normalizeStyle({margin:`0 ${e.spacing}px ${e.spacing}px 0`,width:`calc(100% / ${e.row} - ${e.spacing}px)`,height:`calc(100% / ${e.col} - ${e.spacing}px)`})},[t.renderSlot(a.$slots,"default",{data:c,index:l},void 0,!0)],4))),128))],4)):(t.openBlock(),t.createBlock(n,{key:1,description:e.emptyText,style:{height:"80%"}},null,8,["description"]))}}},u=r._export_sfc(o,[["__scopeId","data-v-898960fc"]]),d={install(e){e.component("st-chartLayout",u)}};module.exports=d;
package/es/ChartLayout.js CHANGED
@@ -1,9 +1,8 @@
1
- import "./base-a5af3db3.js";
2
- import { E as d } from "./el-empty-33cb66f1.js";
3
- import { openBlock as e, createElementBlock as a, normalizeStyle as n, Fragment as o, renderList as u, renderSlot as m, createBlock as s } from "vue";
4
- import { _ as y } from "./_plugin-vue_export-helper-dad06003.js";
5
- import "./index-960806da.js";
6
- import "./index-d77a7336.js";
1
+ import { E as r } from "./el-empty-552baf04.js";
2
+ import "./base-dd156b8e.js";
3
+ import { openBlock as e, createElementBlock as a, normalizeStyle as n, Fragment as o, renderList as u, renderSlot as s, createBlock as y } from "vue";
4
+ import { _ as m } from "./_plugin-vue_export-helper-dad06003.js";
5
+ import "./index-a181f161.js";
7
6
  const f = {
8
7
  __name: "index",
9
8
  props: {
@@ -33,8 +32,8 @@ const f = {
33
32
  }
34
33
  },
35
34
  setup(t) {
36
- return (l, p) => {
37
- const i = d;
35
+ return (l, x) => {
36
+ const i = r;
38
37
  return t.data && t.data.length ? (e(), a("div", {
39
38
  key: 0,
40
39
  class: "chartLayout",
@@ -43,7 +42,7 @@ const f = {
43
42
  height: `calc(100% + ${t.spacing}px)`
44
43
  })
45
44
  }, [
46
- (e(!0), a(o, null, u(t.data.slice(0, t.col * t.row), (c, r) => (e(), a("div", {
45
+ (e(!0), a(o, null, u(t.data.slice(0, t.col * t.row), (c, d) => (e(), a("div", {
47
46
  key: c.key,
48
47
  class: "chartLayout-item",
49
48
  style: n({
@@ -52,23 +51,23 @@ const f = {
52
51
  height: `calc(100% / ${t.col} - ${t.spacing}px)`
53
52
  })
54
53
  }, [
55
- m(l.$slots, "default", {
54
+ s(l.$slots, "default", {
56
55
  data: c,
57
- index: r
56
+ index: d
58
57
  }, void 0, !0)
59
58
  ], 4))), 128))
60
- ], 4)) : (e(), s(i, {
59
+ ], 4)) : (e(), y(i, {
61
60
  key: 1,
62
61
  description: t.emptyText,
63
62
  style: { height: "80%" }
64
63
  }, null, 8, ["description"]));
65
64
  };
66
65
  }
67
- }, g = /* @__PURE__ */ y(f, [["__scopeId", "data-v-898960fc"]]), L = {
66
+ }, g = /* @__PURE__ */ m(f, [["__scopeId", "data-v-898960fc"]]), w = {
68
67
  install(t) {
69
68
  t.component("st-chartLayout", g);
70
69
  }
71
70
  };
72
71
  export {
73
- L as default
72
+ w as default
74
73
  };
@@ -1,2 +1,2 @@
1
- "use strict";require("./base-ef747d02.cjs");const Z=require("./el-button-613e0bb2.cjs");require("./el-tag-9c2f329f.cjs");const K=require("./el-select-70806166.cjs");require("./el-scrollbar-bc3f790d.cjs");require("./el-popper-a4f3ae4d.cjs");const ee=require("./el-popconfirm-4e32ec1b.cjs");require("./el-popover-0ea8fbf8.cjs");const e=require("vue"),p=require("./index-00f6ca75.cjs"),de=require("./el-divider-4713d74c.cjs"),fe=require("./el-dialog-02942e22.cjs");require("./el-overlay-8f1da9e8.cjs");const pe=require("./el-empty-1697ded8.cjs"),G=require("./el-input-9a9a7f7f.cjs"),Q=require("./index-94131fd7.cjs"),me=require("./aiTools-229609fb.cjs");require("./el-message-0ea8fbf8.cjs");const X=require("./el-message-box-c62d3217.cjs"),Y=require("./el-form-item-44f060d8.cjs"),te=require("./_plugin-vue_export-helper-f246444f.cjs"),g=require("./index-f58b2920.cjs"),_e=require("./index-185792a7.cjs");require("./index-f1c702f6.cjs");require("./use-global-config-23472471.cjs");require("./use-form-common-props-ac666630.cjs");require("./index-9780a537.cjs");require("./index-bb833443.cjs");require("./index-5c0dd943.cjs");require("./index-eea0bcb3.cjs");require("./index-ac8dc53d.cjs");require("./castArray-35947698.cjs");require("./index-870b6c9d.cjs");require("./scroll-b108dabd.cjs");require("./debounce-62f5b6e8.cjs");require("./vnode-b906ae6d.cjs");require("./typescript-b63f8e83.cjs");require("./validator-366dbf39.cjs");require("./_initCloneObject-a5832933.cjs");require("./config-provider-06ea6b42.cjs");const L=m=>(e.pushScopeId("data-v-5797123f"),m=m(),e.popScopeId(),m),ve={class:"custom-header"},Ve={class:"left"},he=["id"],xe={class:"right"},ge={class:"manage-dialog-body"},Ne={class:"func-list"},Ee={class:"search"},ke=L(()=>e.createElementVNode("span",null,"输入函数关键字",-1)),Ce=["onClick"],ye={class:"icon-box"},we={class:"rule-form"},Be={class:"header"},be=L(()=>e.createElementVNode("span",null,"函数名称:",-1)),Se={class:"right"},qe=L(()=>e.createElementVNode("div",{class:"tip-box"},"说明: 公式里可以使用变量, 变量名命名格式: ${变量名}, 后续可在应用函数时填写具体值, 系统会自动换算",-1)),De={class:"custom-header"},$e={class:"left"},Ie=["id"],Me={class:"right"},Fe={class:"ai-dialog-body"},Te={key:0,class:"node-progress"},ze={key:1,class:"ai-error"},Oe={key:2,class:"ai-result"},Ae={class:"factor-expr"},Re={class:"dialog-footer"},Ue={class:"custom-header"},je={class:"left"},Le=["id"],Pe={class:"right"},We={class:"content"},He={class:"dialog-footer"},Je={__name:"ManageDialog",props:{data:{type:Array,default:()=>[]}},emits:["refreshData"],setup(m,{expose:R,emit:z}){const N=e.inject("stConfig"),{request:S}=N,u=e.ref(null),v=e.ref(null),E=z,q=m,w=e.ref(!1),k=e.reactive({save:!1,test:!1}),V=e.ref(null),f=e.computed(()=>V.value?q.data.filter(l=>l.funcName.includes(V.value)):q.data),o=e.reactive({id:null,funcName:"",funcExpression:""}),r=e.reactive({result:null,detail:"",code:""}),C=e.ref(!1),F=()=>{var l;Object.assign(o,{id:null,funcName:"",funcExpression:""}),(l=u.value)==null||l.setValue(o.funcExpression)},T=l=>{var t;Object.assign(o,{id:l.id,funcName:l.funcName,funcExpression:l.funcExpression}),(t=u.value)==null||t.setValue(o.funcExpression)},O=l=>{var t;Object.assign(o,{id:null,funcName:`${l.funcName}-复制`,funcExpression:l.funcExpression}),(t=u.value)==null||t.setValue(o.funcExpression)},_=async l=>{var t;l.id===o.id&&(Object.assign(o,{id:null,funcName:"",funcExpression:""}),(t=u.value)==null||t.setValue(o.funcExpression)),await S.post("/common/qt/deleteSearchFunctionById",{id:l.id}),E("refreshData")},A=Q.j(async()=>{try{if(k.save=!0,o.funcExpression=u.value.getValue(),!o.funcName)return g.ElMessage.error("函数名称不可为空");if(!o.funcExpression)return g.ElMessage.error("函数内容不可为空");await S.post("/common/qt/saveOrUpdateSearchFunction",o),g.ElMessage.success("操作成功"),E("refreshData"),o.id||F()}finally{k.save=!1}}),oe=l=>new Promise(t=>{const a=e.ref(l.reduce((s,d)=>(s[d]="",s),{})),c=e.ref({}),i=()=>{let s=!0;const d={};return l.forEach(y=>{var M;(M=a.value[y])!=null&&M.trim()||(d[y]=`请输入${y}的值`,s=!1)}),c.value=d,s},I={setup(){return()=>e.h("div",[e.h(Y.ElForm,{model:a.value},()=>l.map(s=>e.h(Y.ElFormItem,{label:`${s}: `,prop:s,error:c.value[s],"label-width":"90px"},()=>e.h(G.ElInput,{modelValue:a.value[s],"onUpdate:modelValue":d=>{a.value[s]=d,c.value[s]&&delete c.value[s]},placeholder:`请输入 ${s} 的值`,status:c.value[s]?"error":""}))))])}};X.ElMessageBox({title:"填写变量值用于接口测试",message:e.h(I),showCancelButton:!0,confirmButtonText:"确定",cancelButtonText:"取消",customClass:"variable-input-dialog",beforeClose:async(s,d,y)=>{s!=="confirm"&&(t(!1),y()),await e.nextTick(),i()&&(t({...a.value}),y())}}).catch(()=>t(!1))}),le=l=>{const t=/\$\{([^}]*)\}/g,a=[];let c;for(;(c=t.exec(l))!==null;)a.push(c[1]);return[...new Set(a)]},ne=(l,t)=>l.replace(/\$\{([^}]*)\}/g,(a,c)=>t[c]!==void 0?t[c]:a),P=async l=>{switch(l){case"submit":{let t=u.value.getValue();if(!t)return g.ElMessage.error("函数内容不可为空");if(/\$\{[^}]*\}/.test(t)){const a=le(t),c=await oe(a);if(!c)return;t=ne(t,c)}try{k.test=!0;const{body:a}=await S.post("/common/qt/testFactorSelect",{factorSelectExpr:t}),{result:c,detail:i}=a;Object.assign(r,{result:c,detail:i,code:t}),c===1?g.ElMessage.success("测试通过"):(g.ElMessage.error("测试未能通过"),C.value=!0)}finally{k.test=!1}break}case"log":{if(r.result===null)return g.ElMessage.warning("请先进行测试, 等待测试完成后可查看日志");C.value=!0;break}}},D=e.ref(!1),U=e.ref(""),B=e.ref(!1),b=e.ref(""),j=e.ref(""),W=e.ref(null),$=e.ref([]),h=e.reactive({parsedConditions:[],factorSelectExpr:""}),ae=()=>{D.value=!0,b.value=""},se=()=>{j.value="",b.value="",$.value=[],Object.assign(h,{parsedConditions:[],factorSelectExpr:""})},H=async()=>{var t,a;const l=(t=U.value)==null?void 0:t.trim();if(!l)return g.ElMessage.error("请输入脚本描述");B.value||(se(),B.value=!0,await me.sendToNodeVarietyAiHelper({baseUrl:(a=N==null?void 0:N.env)==null?void 0:a.VITE_BASE_URL,token:Q.R(),value:l,sessionId:W.value,callback:(c,i)=>{var I;switch(c){case"session":{W.value=i;break}case"node":{const s=$.value.findIndex(d=>d.name===i.name);s===-1?$.value.push(i):$.value[s]=i;break}case"message":{j.value=i;break}case"finish":{B.value=!1;try{const s=JSON.parse(j.value),d=(I=s==null?void 0:s.factorScreen)==null?void 0:I.factorSelectExpr;d?Object.assign(h,{parsedConditions:s.parsedConditions??[],factorSelectExpr:d}):b.value="AI 未能生成有效的因子脚本, 请调整描述后重试"}catch{b.value="AI 返回结果解析失败, 请重试"}break}case"error":{B.value=!1,b.value=typeof i=="string"?i:"AI 生成失败, 请重试";break}}}}))},ce=async()=>{var t,a;if(!h.factorSelectExpr)return;if((t=u.value)==null?void 0:t.getValue())try{await X.ElMessageBox.confirm("当前编辑器已有内容, 将被 AI 生成结果覆盖, 是否继续?","提示",{confirmButtonText:"覆盖",cancelButtonText:"取消",type:"warning"})}catch{return}(a=u.value)==null||a.setValue(h.factorSelectExpr),o.funcExpression=h.factorSelectExpr,D.value=!1,g.ElMessage.success("已插入到编辑器")},re=()=>{v.value.open(u.value)};return e.watch(()=>w.value,l=>{l||(v.value.close(),C.value=!1,D.value=!1)}),R({open:l=>{w.value=!0,e.nextTick(()=>{var t;if((t=u.value)==null||t.resize(),V.value=null,Object.assign(r,{result:null,detail:"",code:""}),l){const a={id:l.id,funcName:l.funcName,funcExpression:l.funcExpression};T(a)}else f.value.length?T(f.value[0]):F()})}}),(l,t)=>{const a=p.ElIcon,c=G.ElInput,i=Z.ElButton,I=ee.ElPopconfirm,s=pe.ElEmpty,d=_e.ElScrollbar,y=e.resolveComponent("st-monacoEditor"),M=fe.ElDialog,ie=e.resolveComponent("st-varSelectDialog"),ue=de.ElDivider;return e.openBlock(),e.createBlock(M,{"modal-class":"manage-dialog",modelValue:w.value,"onUpdate:modelValue":t[11]||(t[11]=n=>w.value=n),width:"1600","align-center":"","append-to-body":"",overflow:"",modal:!1,"modal-penetrable":!0,"show-close":!1},{header:e.withCtx(({titleId:n,titleClass:x})=>[e.createElementVNode("div",ve,[e.createElementVNode("div",Ve,[e.createElementVNode("span",{id:n,class:e.normalizeClass(x)}," 自定义函数管理面板 ",10,he)]),e.createElementVNode("div",xe,[e.createVNode(a,{onClick:t[0]||(t[0]=J=>w.value=!1)},{default:e.withCtx(()=>[e.createVNode(e.unref(p.close_default))]),_:1})])])]),default:e.withCtx(()=>[e.createElementVNode("div",ge,[e.createElementVNode("div",Ne,[e.createElementVNode("div",Ee,[ke,e.createVNode(c,{modelValue:V.value,"onUpdate:modelValue":t[1]||(t[1]=n=>V.value=n),clearable:""},null,8,["modelValue"]),e.createVNode(i,{type:"primary",onClick:F},{default:e.withCtx(()=>[e.createTextVNode("新建")]),_:1})]),e.createVNode(d,{class:"list"},{default:e.withCtx(()=>[f.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(f.value,n=>(e.openBlock(),e.createElementBlock("div",{key:n.id,class:e.normalizeClass([{"active-list-item":o.id===n.id},"list-item"])},[e.createElementVNode("span",{class:"func-name",onClick:x=>T(n)},e.toDisplayString(n.funcName),9,Ce),e.createElementVNode("div",ye,[e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(e.unref(p.document_copy_default),{onClick:x=>O(n)},null,8,["onClick"])]),_:2},1024),e.createVNode(I,{title:"确认是否删除?","confirm-button-text":"确认","cancel-button-text":"取消",onConfirm:x=>_(n)},{reference:e.withCtx(()=>[e.createVNode(a,{onClick:e.withModifiers(()=>{},["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(p.delete_default))]),_:1})]),_:2},1032,["onConfirm"])])],2))),128)):(e.openBlock(),e.createBlock(s,{key:1,description:"暂无数据"}))]),_:1})]),e.createElementVNode("div",we,[e.createElementVNode("div",Be,[be,e.createVNode(c,{modelValue:o.funcName,"onUpdate:modelValue":t[2]||(t[2]=n=>o.funcName=n)},null,8,["modelValue"]),e.createElementVNode("div",Se,[e.createVNode(i,{type:"primary",onClick:e.unref(A),loading:k.save},{default:e.withCtx(()=>[e.createTextVNode(" 保存 ")]),_:1},8,["onClick","loading"]),e.createVNode(i,{loading:k.test,onClick:t[3]||(t[3]=n=>P("submit"))},{default:e.withCtx(()=>[e.createTextVNode(" 测试 ")]),_:1},8,["loading"]),e.createVNode(i,{icon:e.unref(p.document_default),onClick:t[4]||(t[4]=n=>P("log"))},{default:e.withCtx(()=>[e.createTextVNode(" 日志明细 ")]),_:1},8,["icon"]),e.createVNode(i,{type:"primary",icon:e.unref(p.magic_stick_default),onClick:ae},{default:e.withCtx(()=>[e.createTextVNode(" AI 生成 ")]),_:1},8,["icon"]),e.createVNode(i,{type:"primary",onClick:re},{default:e.withCtx(()=>[e.createTextVNode(" 变量选择器 ")]),_:1})])]),qe,e.createVNode(y,{ref_key:"stMonacoEditorRef",ref:u,language:"lua",style:{width:"100%",height:"calc(80vh - 75px)"}},null,512)])]),e.createVNode(M,{"modal-class":"ai-dialog",modelValue:D.value,"onUpdate:modelValue":t[7]||(t[7]=n=>D.value=n),width:"600","align-center":"","append-to-body":"",draggable:"",overflow:"",modal:!1,"modal-penetrable":!0,"show-close":!1,"close-on-click-modal":!1},{header:e.withCtx(({titleId:n,titleClass:x})=>[e.createElementVNode("div",De,[e.createElementVNode("div",$e,[e.createElementVNode("span",{id:n,class:e.normalizeClass(x)}," AI 生成脚本 ",10,Ie)]),e.createElementVNode("div",Me,[e.createVNode(a,{onClick:t[5]||(t[5]=J=>D.value=!1)},{default:e.withCtx(()=>[e.createVNode(e.unref(p.close_default))]),_:1})])])]),footer:e.withCtx(()=>[e.createElementVNode("div",Re,[h.factorSelectExpr?(e.openBlock(),e.createBlock(i,{key:0,onClick:H,disabled:B.value},{default:e.withCtx(()=>[e.createTextVNode(" 重新生成 ")]),_:1},8,["disabled"])):e.createCommentVNode("",!0),h.factorSelectExpr?(e.openBlock(),e.createBlock(i,{key:1,type:"primary",onClick:ce},{default:e.withCtx(()=>[e.createTextVNode(" 插入到编辑器 ")]),_:1})):(e.openBlock(),e.createBlock(i,{key:2,type:"primary",loading:B.value,onClick:H},{default:e.withCtx(()=>[e.createTextVNode(" 生成 ")]),_:1},8,["loading"]))])]),default:e.withCtx(()=>[e.createElementVNode("div",Fe,[e.createVNode(c,{modelValue:U.value,"onUpdate:modelValue":t[6]||(t[6]=n=>U.value=n),type:"textarea",rows:3,placeholder:"用自然语言描述脚本逻辑, 例: 收盘价大于10",disabled:B.value},null,8,["modelValue","disabled"]),$.value.length?(e.openBlock(),e.createElementBlock("div",Te,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList($.value,n=>(e.openBlock(),e.createElementBlock("div",{key:n.name,class:"node-item"},[n.status==="success"?(e.openBlock(),e.createBlock(a,{key:0,class:"success"},{default:e.withCtx(()=>[e.createVNode(e.unref(p.circle_check_filled_default))]),_:1})):(e.openBlock(),e.createBlock(a,{key:1,class:"is-loading executing"},{default:e.withCtx(()=>[e.createVNode(e.unref(p.loading_default))]),_:1})),e.createElementVNode("span",null,e.toDisplayString(n.name),1)]))),128))])):e.createCommentVNode("",!0),b.value?(e.openBlock(),e.createElementBlock("div",ze," ❌ "+e.toDisplayString(b.value),1)):e.createCommentVNode("",!0),h.factorSelectExpr?(e.openBlock(),e.createElementBlock("div",Oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.parsedConditions,(n,x)=>(e.openBlock(),e.createElementBlock("div",{key:x,class:"parsed-condition"},e.toDisplayString(n),1))),128)),e.createElementVNode("pre",Ae,e.toDisplayString(h.factorSelectExpr),1)])):e.createCommentVNode("",!0)])]),_:1},8,["modelValue"]),e.createVNode(ie,{ref_key:"stVarSelectDialogRef",ref:v},null,512),e.createVNode(M,{"modal-class":"log-dialog",modelValue:C.value,"onUpdate:modelValue":t[10]||(t[10]=n=>C.value=n),width:"830","align-center":"","append-to-body":"",draggable:"",overflow:"",modal:!1,"modal-penetrable":!0,"show-close":!1},{header:e.withCtx(({titleId:n,titleClass:x})=>[e.createElementVNode("div",Ue,[e.createElementVNode("div",je,[e.createElementVNode("span",{id:n,class:e.normalizeClass(x)}," 日志明细 ",10,Le)]),e.createElementVNode("div",Pe,[e.createVNode(a,{onClick:t[8]||(t[8]=J=>C.value=!1)},{default:e.withCtx(()=>[e.createVNode(e.unref(p.close_default))]),_:1})])])]),footer:e.withCtx(()=>[e.createElementVNode("div",He,[e.createVNode(i,{onClick:t[9]||(t[9]=n=>C.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(" 关闭 ")]),_:1})])]),default:e.withCtx(()=>[e.createElementVNode("div",We,[e.createVNode(d,{class:"code",height:"600px"},{default:e.withCtx(()=>[e.createElementVNode("pre",null,e.toDisplayString(r.code),1)]),_:1}),e.createVNode(ue,{direction:"vertical"}),e.createVNode(d,{height:"600px"},{default:e.withCtx(()=>[e.createElementVNode("pre",{class:e.normalizeClass(r.result===1?"success-log":"error-log")},e.toDisplayString(r.result===1?`✅️ 测试通过
2
- ${r.detail}`:r.detail),3)]),_:1})])]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])}}},Ke=te._export_sfc(Je,[["__scopeId","data-v-5797123f"]]);const Ge={class:"custom-function"},Qe={class:"func-option"},Xe={class:"icons"},Ye={__name:"index",props:{size:{type:String,default:"small"},selectWidth:{type:String,default:"200px"}},emits:["insert","actionState"],setup(m,{emit:R}){const{request:z}=e.inject("stConfig"),N=e.ref(null),S=R,u=e.ref(null),v=e.ref(""),E=e.ref([]),q=async()=>{const{body:f}=await z.post("/common/qt/querySearchFunctions");if(E.value=f??[],u.value===null)v.value="";else{const o=E.value.find(({id:r})=>r===u.value);v.value=o?o.funcName:""}},w=f=>{var o;f?u.value=(o=E.value.find(r=>r.funcName===f))==null?void 0:o.id:u.value=null},k=()=>{if(!v.value)return g.ElMessage.error("请先选择自定义函数后, 再执行插入");const{funcName:f,funcExpression:o}=E.value.find(r=>r.funcName===v.value);S("insert",f,o)},V=async(f,o)=>{switch(f){case"open":{N.value.open(),S("actionState","因子筛选","函数管理");break}case"copy":{const r={id:null,funcName:`${o.funcName}-复制`,funcExpression:o.funcExpression};N.value.open(r);break}case"edit":{const r={id:o.id,funcName:o.funcName,funcExpression:o.funcExpression};N.value.open(r);break}case"delete":{await z.post("/common/qt/deleteSearchFunctionById",{id:o.id}),q();break}}};return e.onMounted(()=>{q()}),(f,o)=>{const r=p.ElIcon,C=ee.ElPopconfirm,F=K.ElOption,T=K.ElSelect,O=Z.ElButton;return e.openBlock(),e.createElementBlock("div",Ge,[e.createVNode(T,{modelValue:v.value,"onUpdate:modelValue":o[0]||(o[0]=_=>v.value=_),size:m.size,placeholder:"自定义函数","no-match-text":"无匹配选项","no-data-text":"无选项数据",clearable:"",filterable:"",onChange:w,style:e.normalizeStyle({width:m.selectWidth})},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,_=>(e.openBlock(),e.createBlock(F,{key:_.id,label:_.funcName,value:_.funcName,onClick:k},{default:e.withCtx(()=>[e.createElementVNode("div",Qe,[e.createElementVNode("span",null,e.toDisplayString(_.funcName),1),e.createElementVNode("div",Xe,[e.createVNode(r,{onClick:e.withModifiers(A=>V("copy",_),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(p.document_copy_default))]),_:2},1032,["onClick"]),e.createVNode(r,{onClick:e.withModifiers(A=>V("edit",_),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(p.edit_default))]),_:2},1032,["onClick"]),e.createVNode(C,{title:"确认是否删除?","confirm-button-text":"确认","cancel-button-text":"取消",onConfirm:A=>V("delete",_)},{reference:e.withCtx(()=>[e.createVNode(r,{onClick:e.withModifiers(()=>{},["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(p.delete_default))]),_:1})]),_:2},1032,["onConfirm"])])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","size","style"]),e.createVNode(O,{type:"primary",size:m.size,onClick:k},{default:e.withCtx(()=>[e.createTextVNode(" 插入 ")]),_:1},8,["size"]),e.createVNode(O,{type:"primary",size:m.size,onClick:o[1]||(o[1]=_=>V("open"))},{default:e.withCtx(()=>[e.createTextVNode(" 函数管理 ")]),_:1},8,["size"]),e.createVNode(Ke,{ref_key:"ManageDialogRef",ref:N,data:E.value,onRefreshData:q},null,8,["data"])])}}},Ze=te._export_sfc(Ye,[["__scopeId","data-v-d01721a6"]]),et={install(m){m.component("st-customFunction",Ze)}};module.exports=et;
1
+ "use strict";const p=require("./index-3e7d5ffb.cjs"),U=require("./el-button-8259594b.cjs"),O=require("./el-select-d2958ae8.cjs"),L=require("./el-popconfirm-520b2928.cjs"),w=require("./index-5dec535a.cjs");require("./base-d987e5c9.cjs");require("./el-scrollbar-225c6c9e.cjs");require("./el-popper-f824c63b.cjs");require("./el-tag-527f06f0.cjs");require("./el-popover-0ea8fbf8.cjs");const e=require("vue"),j=require("./el-form-item-95e68669.cjs"),R=require("./el-input-c8a9bb71.cjs"),J=require("./index-3a0a7c36.cjs"),Q=require("./el-dialog-8788bcc1.cjs"),X=require("./el-divider-3f0320be.cjs"),Y=require("./el-empty-58bc2a10.cjs"),Z=require("./el-message-box-fed174f0.cjs");require("./el-overlay-17299785.cjs");const ee=require("./index-94131fd7.cjs");require("./el-message-0ea8fbf8.cjs");const P=require("./_plugin-vue_export-helper-f246444f.cjs");require("./use-form-item-0a831287.cjs");require("./index-d372e68f.cjs");require("./index-f5474dcc.cjs");require("./use-global-config-c90c91f7.cjs");require("./index-3ed0c678.cjs");require("./index-71ba4c28.cjs");require("./castArray-d9ffe84a.cjs");require("./vnode-6f7b84f0.cjs");require("./index-5e76a22d.cjs");require("./scroll-07bade1e.cjs");require("./index-7711aa69.cjs");require("./toNumber-b47ceb68.cjs");require("./clamp-17c4d8aa.cjs");require("./config-provider-33a127c4.cjs");require("./typescript-b63f8e83.cjs");require("./_baseClone-10bdb989.cjs");require("./raf-735cc598.cjs");require("./validator-ee5bc3eb.cjs");const te={class:"custom-header"},ne={class:"left"},oe=["id"],le={class:"right"},ae={class:"manage-dialog-body"},se={class:"func-list"},re={class:"search"},ie=["onClick"],ce={class:"icon-box"},ue={class:"rule-form"},de={class:"header"},fe={class:"right"},me={class:"custom-header"},pe={class:"left"},_e=["id"],ve={class:"right"},Ve={class:"content"},xe={class:"dialog-footer"},Ne={__name:"ManageDialog",props:{data:{type:Array,default:()=>[]}},emits:["refreshData"],setup(N,{expose:M,emit:$}){const{request:g}=e.inject("stConfig"),u=e.ref(null),E=e.ref(null),_=$,v=N,V=e.ref(!1),h=e.reactive({save:!1,test:!1}),C=e.ref(null),x=e.computed(()=>C.value?v.data.filter(o=>o.funcName.includes(C.value)):v.data),l=e.reactive({id:null,funcName:"",funcExpression:""}),n=e.reactive({result:null,detail:"",code:""}),a=e.ref(!1),q=()=>{var o;Object.assign(l,{id:null,funcName:"",funcExpression:""}),(o=u.value)==null||o.setValue(l.funcExpression)},b=o=>{var t;Object.assign(l,{id:o.id,funcName:o.funcName,funcExpression:o.funcExpression}),(t=u.value)==null||t.setValue(l.funcExpression)},F=o=>{var t;Object.assign(l,{id:null,funcName:`${o.funcName}-复制`,funcExpression:o.funcExpression}),(t=u.value)==null||t.setValue(l.funcExpression)},S=async o=>{var t;o.id===l.id&&(Object.assign(l,{id:null,funcName:"",funcExpression:""}),(t=u.value)==null||t.setValue(l.funcExpression)),await g.post("/common/qt/deleteSearchFunctionById",{id:o.id}),_("refreshData")},d=ee.j(async()=>{try{if(h.save=!0,l.funcExpression=u.value.getValue(),!l.funcName)return w.ElMessage.error("函数名称不可为空");if(!l.funcExpression)return w.ElMessage.error("函数内容不可为空");await g.post("/common/qt/saveOrUpdateSearchFunction",l),w.ElMessage.success("操作成功"),_("refreshData"),l.id||q()}finally{h.save=!1}}),D=o=>new Promise(t=>{const s=e.ref(o.reduce((c,f)=>(c[f]="",c),{})),i=e.ref({}),m=()=>{let c=!0;const f={};return o.forEach(y=>{var B;(B=s.value[y])!=null&&B.trim()||(f[y]=`请输入${y}的值`,c=!1)}),i.value=f,c},z={setup(){return()=>e.h("div",[e.h(j.ElForm,{model:s.value},()=>o.map(c=>e.h(j.ElFormItem,{label:`${c}: `,prop:c,error:i.value[c],"label-width":"90px"},()=>e.h(R.ElInput,{modelValue:s.value[c],"onUpdate:modelValue":f=>{s.value[c]=f,i.value[c]&&delete i.value[c]},placeholder:`请输入 ${c} 的值`,status:i.value[c]?"error":""}))))])}};Z.ElMessageBox({title:"填写变量值用于接口测试",message:e.h(z),showCancelButton:!0,confirmButtonText:"确定",cancelButtonText:"取消",customClass:"variable-input-dialog",beforeClose:async(c,f,y)=>{c!=="confirm"&&(t(!1),y()),await e.nextTick(),m()&&(t({...s.value}),y())}}).catch(()=>t(!1))}),W=o=>{const t=/\$\{([^}]*)\}/g,s=[];let i;for(;(i=t.exec(o))!==null;)s.push(i[1]);return[...new Set(s)]},A=(o,t)=>o.replace(/\$\{([^}]*)\}/g,(s,i)=>t[i]!==void 0?t[i]:s),I=async o=>{switch(o){case"submit":{let t=u.value.getValue();if(!t)return w.ElMessage.error("函数内容不可为空");if(/\$\{[^}]*\}/.test(t)){const s=W(t),i=await D(s);if(!i)return;t=A(t,i)}try{h.test=!0;const{body:s}=await g.post("/common/qt/testFactorSelect",{factorSelectExpr:t}),{result:i,detail:m}=s;Object.assign(n,{result:i,detail:m,code:t}),i===1?w.ElMessage.success("测试通过"):(w.ElMessage.error("测试未能通过"),a.value=!0)}finally{h.test=!1}break}case"log":{if(n.result===null)return w.ElMessage.warning("请先进行测试, 等待测试完成后可查看日志");a.value=!0;break}}},H=()=>{E.value.open(u.value)};return e.watch(()=>V.value,o=>{o||(E.value.close(),a.value=!1)}),M({open:o=>{V.value=!0,e.nextTick(()=>{var t;if((t=u.value)==null||t.resize(),C.value=null,Object.assign(n,{result:null,detail:"",code:""}),o){const s={id:o.id,funcName:o.funcName,funcExpression:o.funcExpression};b(s)}else x.value.length?b(x.value[0]):q()})}}),(o,t)=>{const s=p.ElIcon,i=R.ElInput,m=U.ElButton,z=L.ElPopconfirm,c=Y.ElEmpty,f=J.ElScrollbar,y=e.resolveComponent("st-monacoEditor"),B=e.resolveComponent("st-varSelectDialog"),K=X.ElDivider,T=Q.ElDialog;return e.openBlock(),e.createBlock(T,{"modal-class":"manage-dialog",modelValue:V.value,"onUpdate:modelValue":t[8]||(t[8]=r=>V.value=r),width:"1600","align-center":"","append-to-body":"",overflow:"",modal:!1,"modal-penetrable":!0,"show-close":!1},{header:e.withCtx(({titleId:r,titleClass:k})=>[e.createElementVNode("div",te,[e.createElementVNode("div",ne,[e.createElementVNode("span",{id:r,class:e.normalizeClass(k)}," 自定义函数管理面板 ",10,oe)]),e.createElementVNode("div",le,[e.createVNode(s,{onClick:t[0]||(t[0]=G=>V.value=!1)},{default:e.withCtx(()=>[e.createVNode(e.unref(p.close_default))]),_:1})])])]),default:e.withCtx(()=>[e.createElementVNode("div",ae,[e.createElementVNode("div",se,[e.createElementVNode("div",re,[t[10]||(t[10]=e.createElementVNode("span",null,"输入函数关键字",-1)),e.createVNode(i,{modelValue:C.value,"onUpdate:modelValue":t[1]||(t[1]=r=>C.value=r),clearable:""},null,8,["modelValue"]),e.createVNode(m,{type:"primary",onClick:q},{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode("新建",-1)])]),_:1})]),e.createVNode(f,{class:"list"},{default:e.withCtx(()=>[x.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(x.value,r=>(e.openBlock(),e.createElementBlock("div",{key:r.id,class:e.normalizeClass([{"active-list-item":l.id===r.id},"list-item"])},[e.createElementVNode("span",{class:"func-name",onClick:k=>b(r)},e.toDisplayString(r.funcName),9,ie),e.createElementVNode("div",ce,[e.createVNode(s,null,{default:e.withCtx(()=>[e.createVNode(e.unref(p.document_copy_default),{onClick:k=>F(r)},null,8,["onClick"])]),_:2},1024),e.createVNode(z,{title:"确认是否删除?","confirm-button-text":"确认","cancel-button-text":"取消",onConfirm:k=>S(r)},{reference:e.withCtx(()=>[e.createVNode(s,{onClick:e.withModifiers(()=>{},["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(p.delete_default))]),_:1})]),_:1},8,["onConfirm"])])],2))),128)):(e.openBlock(),e.createBlock(c,{key:1,description:"暂无数据"}))]),_:1})]),e.createElementVNode("div",ue,[e.createElementVNode("div",de,[t[15]||(t[15]=e.createElementVNode("span",null,"函数名称:",-1)),e.createVNode(i,{modelValue:l.funcName,"onUpdate:modelValue":t[2]||(t[2]=r=>l.funcName=r)},null,8,["modelValue"]),e.createElementVNode("div",fe,[e.createVNode(m,{type:"primary",onClick:e.unref(d),loading:h.save},{default:e.withCtx(()=>[...t[11]||(t[11]=[e.createTextVNode(" 保存 ",-1)])]),_:1},8,["onClick","loading"]),e.createVNode(m,{loading:h.test,onClick:t[3]||(t[3]=r=>I("submit"))},{default:e.withCtx(()=>[...t[12]||(t[12]=[e.createTextVNode(" 测试 ",-1)])]),_:1},8,["loading"]),e.createVNode(m,{icon:e.unref(p.document_default),onClick:t[4]||(t[4]=r=>I("log"))},{default:e.withCtx(()=>[...t[13]||(t[13]=[e.createTextVNode(" 日志明细 ",-1)])]),_:1},8,["icon"]),e.createVNode(m,{type:"primary",onClick:H},{default:e.withCtx(()=>[...t[14]||(t[14]=[e.createTextVNode(" 变量选择器 ",-1)])]),_:1})])]),t[16]||(t[16]=e.createElementVNode("div",{class:"tip-box"},"说明: 公式里可以使用变量, 变量名命名格式: ${变量名}, 后续可在应用函数时填写具体值, 系统会自动换算",-1)),e.createVNode(y,{ref_key:"stMonacoEditorRef",ref:u,language:"lua",style:{width:"100%",height:"calc(80vh - 75px)"}},null,512)])]),e.createVNode(B,{ref_key:"stVarSelectDialogRef",ref:E},null,512),e.createVNode(T,{"modal-class":"log-dialog",modelValue:a.value,"onUpdate:modelValue":t[7]||(t[7]=r=>a.value=r),width:"830","align-center":"","append-to-body":"",draggable:"",overflow:"",modal:!1,"modal-penetrable":!0,"show-close":!1},{header:e.withCtx(({titleId:r,titleClass:k})=>[e.createElementVNode("div",me,[e.createElementVNode("div",pe,[e.createElementVNode("span",{id:r,class:e.normalizeClass(k)}," 日志明细 ",10,_e)]),e.createElementVNode("div",ve,[e.createVNode(s,{onClick:t[5]||(t[5]=G=>a.value=!1)},{default:e.withCtx(()=>[e.createVNode(e.unref(p.close_default))]),_:1})])])]),footer:e.withCtx(()=>[e.createElementVNode("div",xe,[e.createVNode(m,{onClick:t[6]||(t[6]=r=>a.value=!1)},{default:e.withCtx(()=>[...t[17]||(t[17]=[e.createTextVNode(" 关闭 ",-1)])]),_:1})])]),default:e.withCtx(()=>[e.createElementVNode("div",Ve,[e.createVNode(f,{class:"code",height:"600px"},{default:e.withCtx(()=>[e.createElementVNode("pre",null,e.toDisplayString(n.code),1)]),_:1}),e.createVNode(K,{direction:"vertical"}),e.createVNode(f,{height:"600px"},{default:e.withCtx(()=>[e.createElementVNode("pre",{class:e.normalizeClass(n.result===1?"success-log":"error-log")},e.toDisplayString(n.result===1?`✅️ 测试通过
2
+ ${n.detail}`:n.detail),3)]),_:1})])]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])}}},ge=P._export_sfc(Ne,[["__scopeId","data-v-d6df26f4"]]);const Ee={class:"custom-function"},he={class:"func-option"},Ce={class:"icons"},ye={__name:"index",props:{size:{type:String,default:"small"},selectWidth:{type:String,default:"200px"}},emits:["insert","actionState"],setup(N,{emit:M}){const{request:$}=e.inject("stConfig"),g=e.ref(null),u=M,E=e.ref(null),_=e.ref(""),v=e.ref([]),V=async()=>{const{body:l}=await $.post("/common/qt/querySearchFunctions");if(v.value=l??[],E.value===null)_.value="";else{const n=v.value.find(({id:a})=>a===E.value);_.value=n?n.funcName:""}},h=l=>{var n;l?E.value=(n=v.value.find(a=>a.funcName===l))==null?void 0:n.id:E.value=null},C=()=>{if(!_.value)return w.ElMessage.error("请先选择自定义函数后, 再执行插入");const{funcName:l,funcExpression:n}=v.value.find(a=>a.funcName===_.value);u("insert",l,n)},x=async(l,n)=>{switch(l){case"open":{g.value.open(),u("actionState","因子筛选","函数管理");break}case"copy":{const a={id:null,funcName:`${n.funcName}-复制`,funcExpression:n.funcExpression};g.value.open(a);break}case"edit":{const a={id:n.id,funcName:n.funcName,funcExpression:n.funcExpression};g.value.open(a);break}case"delete":{await $.post("/common/qt/deleteSearchFunctionById",{id:n.id}),V();break}}};return e.onMounted(()=>{V()}),(l,n)=>{const a=p.ElIcon,q=L.ElPopconfirm,b=O.ElOption,F=O.ElSelect,S=U.ElButton;return e.openBlock(),e.createElementBlock("div",Ee,[e.createVNode(F,{modelValue:_.value,"onUpdate:modelValue":n[0]||(n[0]=d=>_.value=d),size:N.size,placeholder:"自定义函数","no-match-text":"无匹配选项","no-data-text":"无选项数据",clearable:"",filterable:"",onChange:h,style:e.normalizeStyle({width:N.selectWidth})},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,d=>(e.openBlock(),e.createBlock(b,{key:d.id,label:d.funcName,value:d.funcName,onClick:C},{default:e.withCtx(()=>[e.createElementVNode("div",he,[e.createElementVNode("span",null,e.toDisplayString(d.funcName),1),e.createElementVNode("div",Ce,[e.createVNode(a,{onClick:e.withModifiers(D=>x("copy",d),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(p.document_copy_default))]),_:1},8,["onClick"]),e.createVNode(a,{onClick:e.withModifiers(D=>x("edit",d),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(p.edit_default))]),_:1},8,["onClick"]),e.createVNode(q,{title:"确认是否删除?","confirm-button-text":"确认","cancel-button-text":"取消",onConfirm:D=>x("delete",d)},{reference:e.withCtx(()=>[e.createVNode(a,{onClick:e.withModifiers(()=>{},["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(p.delete_default))]),_:1})]),_:1},8,["onConfirm"])])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","size","style"]),e.createVNode(S,{type:"primary",size:N.size,onClick:C},{default:e.withCtx(()=>[...n[2]||(n[2]=[e.createTextVNode(" 插入 ",-1)])]),_:1},8,["size"]),e.createVNode(S,{type:"primary",size:N.size,onClick:n[1]||(n[1]=d=>x("open"))},{default:e.withCtx(()=>[...n[3]||(n[3]=[e.createTextVNode(" 函数管理 ",-1)])]),_:1},8,["size"]),e.createVNode(ge,{ref_key:"ManageDialogRef",ref:g,data:v.value,onRefreshData:V},null,8,["data"])])}}},we=P._export_sfc(ye,[["__scopeId","data-v-d01721a6"]]),ke={install(N){N.component("st-customFunction",we)}};module.exports=ke;