45 lines
1.4 KiB
TypeScript
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;
|