energyStrategy.js 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. import request from '@/utils/request'
  2. // ===========================
  3. // 策略基础管理
  4. // ===========================
  5. /**
  6. * 查询策略列表
  7. */
  8. export function listEnergyStrategy(query) {
  9. return request({
  10. url: '/ems/energyStrategy/list',
  11. method: 'get',
  12. params: query
  13. })
  14. }
  15. /**
  16. * 查询策略详细(通过ID)
  17. */
  18. export function getEnergyStrategy(id) {
  19. return request({
  20. url: '/ems/energyStrategy/' + id,
  21. method: 'get'
  22. })
  23. }
  24. /**
  25. * 查询策略详细(通过代码)
  26. * 注意:需要后端新增此接口
  27. */
  28. export function getEnergyStrategyByCode(strategyCode) {
  29. return request({
  30. url: '/ems/energyStrategy/code/' + strategyCode,
  31. method: 'get'
  32. })
  33. }
  34. export function getSceneTypeCount(areaCode) {
  35. return request({
  36. url: '/ems/energyStrategy/sceneCount',
  37. method: 'get',
  38. params: { areaCode }
  39. })
  40. }
  41. /**
  42. * 新增策略
  43. */
  44. export function addEnergyStrategy(data) {
  45. return request({
  46. url: '/ems/energyStrategy',
  47. method: 'post',
  48. data: data
  49. })
  50. }
  51. /**
  52. * 修改策略
  53. */
  54. export function updateEnergyStrategy(data) {
  55. return request({
  56. url: '/ems/energyStrategy',
  57. method: 'put',
  58. data: data
  59. })
  60. }
  61. /**
  62. * 删除策略
  63. */
  64. export function delEnergyStrategy(id) {
  65. return request({
  66. url: '/ems/energyStrategy/' + id,
  67. method: 'delete'
  68. })
  69. }
  70. /**
  71. * 启用/停用策略
  72. * 修复:匹配后端路径参数格式
  73. */
  74. export function changeStrategyState(strategyCode, state) {
  75. return request({
  76. url: '/ems/energyStrategy/state/' + strategyCode + '/' + state,
  77. method: 'put'
  78. })
  79. }
  80. // ===========================
  81. // 触发器管理
  82. // ===========================
  83. /**
  84. * 获取策略触发器列表
  85. * 修复:匹配后端路径参数格式
  86. */
  87. export function getTriggers(strategyCode) {
  88. return request({
  89. url: '/ems/energyStrategy/trigger/' + strategyCode,
  90. method: 'get'
  91. })
  92. }
  93. /**
  94. * 保存触发器(新增或更新)
  95. */
  96. export function saveTrigger(data) {
  97. return request({
  98. url: '/ems/energyStrategy/trigger',
  99. method: 'post',
  100. data: data
  101. })
  102. }
  103. /**
  104. * 删除触发器
  105. */
  106. export function deleteTrigger(id) {
  107. return request({
  108. url: '/ems/energyStrategy/trigger/' + id,
  109. method: 'delete'
  110. })
  111. }
  112. // ===========================
  113. // 步骤管理
  114. // ===========================
  115. /**
  116. * 获取策略步骤列表
  117. * 修复:匹配后端路径
  118. */
  119. export function getStrategySteps(strategyCode) {
  120. return request({
  121. url: '/ems/energyStrategy/step',
  122. method: 'get',
  123. params: { strategyCode }
  124. })
  125. }
  126. /**
  127. * 新增步骤
  128. */
  129. export function addStrategyStep(data) {
  130. return request({
  131. url: '/ems/energyStrategy/step',
  132. method: 'post',
  133. data: data
  134. })
  135. }
  136. /**
  137. * 修改步骤
  138. */
  139. export function updateStrategyStep(data) {
  140. return request({
  141. url: '/ems/energyStrategy/step',
  142. method: 'put',
  143. data: data
  144. })
  145. }
  146. /**
  147. * 删除步骤
  148. */
  149. export function deleteStrategyStep(id) {
  150. return request({
  151. url: '/ems/energyStrategy/step/' + id,
  152. method: 'delete'
  153. })
  154. }
  155. /**
  156. * 批量保存步骤
  157. */
  158. export function saveStrategyStepBatch(steps) {
  159. return request({
  160. url: '/ems/energyStrategy/step/batch',
  161. method: 'put',
  162. data: steps
  163. })
  164. }
  165. // ===========================
  166. // 上下文变量管理
  167. // 注意:需要后端新增这些接口
  168. // ===========================
  169. /**
  170. * 获取策略上下文变量
  171. */
  172. export function getStrategyContext(strategyCode) {
  173. return request({
  174. url: '/ems/energyStrategy/context',
  175. method: 'get',
  176. params: { strategyCode }
  177. })
  178. }
  179. /**
  180. * 保存上下文变量
  181. */
  182. export function saveStrategyContext(data) {
  183. return request({
  184. url: '/ems/energyStrategy/context',
  185. method: 'post',
  186. data: data
  187. })
  188. }
  189. /**
  190. * 删除上下文变量
  191. */
  192. export function deleteStrategyContext(id) {
  193. return request({
  194. url: '/ems/energyStrategy/context/' + id,
  195. method: 'delete'
  196. })
  197. }
  198. /**
  199. * 批量保存上下文变量
  200. */
  201. export function saveStrategyContextBatch(strategyCode, variables) {
  202. return request({
  203. url: '/ems/energyStrategy/context/batch',
  204. method: 'post',
  205. data: { strategyCode, variables }
  206. })
  207. }
  208. // ===========================
  209. // 策略参数管理
  210. // ===========================
  211. /**
  212. * 获取策略参数
  213. */
  214. export function getStrategyParam(strategyCode, paramGroup) {
  215. return request({
  216. url: '/ems/energyStrategy/param',
  217. method: 'get',
  218. params: { strategyCode, paramGroup }
  219. })
  220. }
  221. /**
  222. * 更新策略参数
  223. */
  224. export function updateStrategyParam(data) {
  225. return request({
  226. url: '/ems/energyStrategy/param',
  227. method: 'put',
  228. data: data
  229. })
  230. }
  231. /**
  232. * 获取参数选项(下拉列表)
  233. */
  234. export function getStrategyParamOption(strategyType, paramKey) {
  235. return request({
  236. url: '/ems/energyStrategy/param/option',
  237. method: 'get',
  238. params: { strategyType, paramKey }
  239. })
  240. }
  241. // ===========================
  242. // 策略执行
  243. // ===========================
  244. /**
  245. * 手动执行策略
  246. * 修复:匹配后端路径参数格式
  247. */
  248. export function executeStrategy(strategyCode, params) {
  249. return request({
  250. url: '/ems/energyStrategy/execute/' + strategyCode,
  251. method: 'post',
  252. data: params || {}
  253. })
  254. }
  255. // ===========================
  256. // 执行日志
  257. // ===========================
  258. /**
  259. * 获取执行日志列表
  260. * 修复:匹配后端路径参数格式
  261. */
  262. export function getExecLogList(strategyCode, query) {
  263. if (strategyCode) {
  264. return request({
  265. url: '/ems/energyStrategy/execLog/list/' + strategyCode,
  266. method: 'get',
  267. params: query
  268. })
  269. } else {
  270. // 需要后端支持无策略码的全量查询
  271. return request({
  272. url: '/ems/energyStrategy/execLog/list',
  273. method: 'get',
  274. params: query
  275. })
  276. }
  277. }
  278. /**
  279. * 获取执行日志详情(包含步骤日志)
  280. */
  281. export function getExecLog(execId) {
  282. return request({
  283. url: '/ems/energyStrategy/execLog/' + execId,
  284. method: 'get'
  285. })
  286. }
  287. // ===========================
  288. // 策略模板
  289. // 注意:需要后端新增这些接口
  290. // ===========================
  291. /**
  292. * 获取策略模板列表
  293. */
  294. export function listStrategyTemplate(query) {
  295. return request({
  296. url: '/ems/energyStrategy/template/list',
  297. method: 'get',
  298. params: query
  299. })
  300. }
  301. /**
  302. * 获取模板详情
  303. */
  304. export function getStrategyTemplate(templateCode) {
  305. return request({
  306. url: '/ems/energyStrategy/template/' + templateCode,
  307. method: 'get'
  308. })
  309. }
  310. /**
  311. * 从模板创建策略
  312. */
  313. export function createFromTemplate(templateCode, strategyData) {
  314. return request({
  315. url: '/ems/energyStrategy/template/create',
  316. method: 'post',
  317. data: { templateCode, ...strategyData }
  318. })
  319. }
  320. /**
  321. * 删除模板
  322. */
  323. export function deleteStrategyTemplate(templateCode) {
  324. return request({
  325. url: '/ems/energyStrategy/template/' + templateCode,
  326. method: 'delete'
  327. })
  328. }