diff --git a/webapp/src/types/LimitConfig.ts b/webapp/src/types/LimitConfig.ts
new file mode 100644
index 0000000..4d811be
--- /dev/null
+++ b/webapp/src/types/LimitConfig.ts
@@ -0,0 +1,5 @@
+export interface LimitConfig {
+ serial: number,
+ limit_value: number,
+ limit_type: number
+}
\ No newline at end of file
diff --git a/webapp/src/views/HomeView.vue b/webapp/src/views/HomeView.vue
index 6c31fcc..fec585e 100644
--- a/webapp/src/views/HomeView.vue
+++ b/webapp/src/views/HomeView.vue
@@ -215,7 +215,7 @@
+ v-model="targetLimitList.limit_value">
@@ -332,6 +332,7 @@ import type { DevInfoStatus } from '@/types/DevInfoStatus';
import type { EventlogItems } from '@/types/EventlogStatus';
import type { Inverters } from '@/types/LiveDataStatus';
import type { LimitStatus } from '@/types/LimitStatus';
+import type { LimitConfig } from '@/types/LimitConfig';
export default defineComponent({
components: {
@@ -367,12 +368,11 @@ export default defineComponent({
devInfoLoading: true,
limitSettingView: {} as bootstrap.Modal,
- limitSettingSerial: 0,
limitSettingLoading: true,
currentLimitList: {} as LimitStatus,
+ targetLimitList: {} as LimitConfig,
- targetLimit: 0,
targetLimitMin: 10,
targetLimitMax: 100,
targetLimitTypeText: "Relative (%)",
@@ -524,19 +524,20 @@ export default defineComponent({
this.devInfoView.show();
},
onHideLimitSettings() {
- this.limitSettingSerial = 0;
- this.targetLimit = 0;
- this.targetLimitType = 1;
- this.targetLimitTypeText = "Relative (%)";
this.showAlertLimit = false;
},
onShowLimitSettings(serial: number) {
+ this.targetLimitList.serial = 0;
+ this.targetLimitList.limit_value = 0;
+ this.targetLimitType = 1;
+ this.targetLimitTypeText = "Relative (%)";
+
this.limitSettingLoading = true;
fetch("/api/limit/status")
.then((response) => response.json())
.then((data) => {
this.currentLimitList = data[serial];
- this.limitSettingSerial = serial;
+ this.targetLimitList.serial = serial;
this.limitSettingLoading = false;
});
@@ -545,15 +546,11 @@ export default defineComponent({
onSubmitLimit(e: Event) {
e.preventDefault();
- const data = {
- serial: this.limitSettingSerial,
- limit_value: this.targetLimit,
- limit_type: (this.targetLimitPersistent ? 256 : 0) + this.targetLimitType,
- };
+ this.targetLimitList.limit_type = (this.targetLimitPersistent ? 256 : 0) + this.targetLimitType
const formData = new FormData();
- formData.append("data", JSON.stringify(data));
+ formData.append("data", JSON.stringify(this.targetLimitList));
- console.log(data);
+ console.log(this.targetLimitList);
fetch("/api/limit/config", {
method: "POST",