EMS_front/src/stores/useElecDemandStore.ts

45 lines
1.4 KiB
TypeScript

import { ref } from "vue";
import { defineStore } from "pinia";
// import dayjs from "dayjs";
import type { NiagaraElecData } from "../utils/types";
const useElecStore = defineStore("elecData", () => {
const elecData = ref<NiagaraElecData[]>([]);
// get data from baja
const getElecDataFromBaja = () => {
// @ts-ignore
window.require &&
// @ts-ignore
window.requirejs(["baja!"], (baja: any) => {
console.log("進入 bajaSubscriber 準備執行 BQL 訂閱");
let eleclist: NiagaraElecData[] = [];
baja.Ord.make(
`local:|foxs:4912|station:|neql:EMS:kw|bql:select slotPath,parent.displayName,name`
).get({
cursor: {
before: () => {
},
each: (record: any) => {
console.log("record", record);
// eleclist.push({
// slotPath: record.get("slotPath"),
// displayName: record.get("parent$2edisplayName"),
// id: record.get("NumericInterval$2ehistoryConfig$2eid").$cEncStr,
// out: record.get("out").get("value"),
// });
},
after: () => {
elecData.value = eleclist;
console.log("Niagara 用電:", elecData.value);
},
},
});
});
};
return { getElecDataFromBaja, elecData };
});
export default useElecStore;