energyStrategy.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  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. export function getStrategyParam(strategyCode, paramGroup) {
  172. return request({
  173. url: '/ems/energyStrategy/param',
  174. method: 'get',
  175. params: { strategyCode, paramGroup }
  176. })
  177. }
  178. /**
  179. * 更新策略参数
  180. */
  181. export function updateStrategyParam(data) {
  182. return request({
  183. url: '/ems/energyStrategy/param',
  184. method: 'put',
  185. data: data
  186. })
  187. }
  188. /**
  189. * 获取参数选项(下拉列表)
  190. */
  191. export function getStrategyParamOption(strategyType, paramKey) {
  192. return request({
  193. url: '/ems/energyStrategy/param/option',
  194. method: 'get',
  195. params: { strategyType, paramKey }
  196. })
  197. }
  198. // ===========================
  199. // 策略执行
  200. // ===========================
  201. /**
  202. * 手动执行策略
  203. * 修复:匹配后端路径参数格式
  204. */
  205. export function executeStrategy(strategyCode, params) {
  206. return request({
  207. url: '/ems/energyStrategy/execute/' + strategyCode,
  208. method: 'post',
  209. data: params || {}
  210. })
  211. }
  212. // ===========================
  213. // 执行日志
  214. // ===========================
  215. /**
  216. * 获取执行日志列表(通用接口,支持多条件查询)
  217. */
  218. export function getExecLogList(query) {
  219. return request({
  220. url: '/ems/energyStrategy/execLog/list',
  221. method: 'get',
  222. params: query
  223. })
  224. }
  225. /**
  226. * 获取执行日志详情
  227. */
  228. export function getExecLog(execId) {
  229. return request({
  230. url: '/ems/energyStrategy/execLog/' + execId,
  231. method: 'get'
  232. })
  233. }
  234. /**
  235. * 获取步骤执行日志
  236. */
  237. export function getStepExecLog(execId) {
  238. return request({
  239. url: '/ems/energyStrategy/execLog/steps/' + execId,
  240. method: 'get'
  241. })
  242. }
  243. // ===========================
  244. // 策略模板
  245. // 注意:需要后端新增这些接口
  246. // ===========================
  247. /**
  248. * 获取策略模板列表
  249. */
  250. export function listStrategyTemplate(query) {
  251. return request({
  252. url: '/ems/energyStrategy/template/list',
  253. method: 'get',
  254. params: query
  255. })
  256. }
  257. /**
  258. * 获取模板详情
  259. */
  260. export function getStrategyTemplate(templateCode) {
  261. return request({
  262. url: '/ems/energyStrategy/template/' + templateCode,
  263. method: 'get'
  264. })
  265. }
  266. /**
  267. * 从模板创建策略
  268. */
  269. export function createFromTemplate(templateCode, strategyData) {
  270. return request({
  271. url: '/ems/energyStrategy/template/create',
  272. method: 'post',
  273. data: { templateCode, ...strategyData }
  274. })
  275. }
  276. /**
  277. * 删除模板
  278. */
  279. export function deleteStrategyTemplate(templateCode) {
  280. return request({
  281. url: '/ems/energyStrategy/template/' + templateCode,
  282. method: 'delete'
  283. })
  284. }