注册页面添加中控、输出板选项。
This commit is contained in:
parent
f5d80ea5be
commit
61ee7a9ae6
|
@ -538,6 +538,22 @@ export default class ClientConnection {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async getDeviceAttribute() {
|
||||||
|
try {
|
||||||
|
return await this.doRpc<Protocol.GetDeviceAttributeResponseEntity>(
|
||||||
|
new Protocol.GetDeviceAttributeRequestEntity()
|
||||||
|
);
|
||||||
|
} catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public setDeviceAttribute(attribute: number) {
|
||||||
|
this.ws?.send(
|
||||||
|
JSON.stringify(new Protocol.SetDeviceAttributeRequestEntity(attribute))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
public moveWindow(window_id: number, x: number, y: number) {
|
public moveWindow(window_id: number, x: number, y: number) {
|
||||||
this.ws?.send(
|
this.ws?.send(
|
||||||
JSON.stringify(new Protocol.MoveWindowRequestEntity(window_id, x, y))
|
JSON.stringify(new Protocol.MoveWindowRequestEntity(window_id, x, y))
|
||||||
|
|
|
@ -172,7 +172,21 @@ export default class Initializer {
|
||||||
await Common.waitFor(100);
|
await Common.waitFor(100);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// get device attribute
|
||||||
|
{
|
||||||
await this.getApplicationConfig();
|
await this.getApplicationConfig();
|
||||||
|
GlobalData.getInstance()
|
||||||
|
.getCurrentClient()
|
||||||
|
?.getDeviceAttribute()
|
||||||
|
.then((response) => {
|
||||||
|
if (response && typeof response.attribute != "undefined") {
|
||||||
|
this.options.$store.commit(
|
||||||
|
"setDeviceAttribute",
|
||||||
|
response.attribute
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
this.initSignalSourceTree();
|
this.initSignalSourceTree();
|
||||||
this.initModeTree();
|
this.initModeTree();
|
||||||
|
|
|
@ -563,6 +563,16 @@ export default class RemoteDataExangeProcesser {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case Protocol.Commands.kSetDeviceAttribute:
|
||||||
|
{
|
||||||
|
const temp = JSON.parse(
|
||||||
|
notify.data
|
||||||
|
) as Protocol.SetDeviceAttributeNotifyEntity;
|
||||||
|
if (temp) {
|
||||||
|
$store.commit("setDeviceAttribute", temp.attribute);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,8 +39,38 @@
|
||||||
<q-card-section style="max-height: 50vh; width: 35vw" class="scroll">
|
<q-card-section style="max-height: 50vh; width: 35vw" class="scroll">
|
||||||
<q-list>
|
<q-list>
|
||||||
<q-item>
|
<q-item>
|
||||||
|
<q-item-section avatar>{{ $t("function") }}:</q-item-section>
|
||||||
<q-item-section>
|
<q-item-section>
|
||||||
<q-btn @click="restartDevice"> Restart </q-btn>
|
<q-checkbox
|
||||||
|
v-model="function_output_board"
|
||||||
|
:label="$t('output board')"
|
||||||
|
color="cyan"
|
||||||
|
:loading="loading"
|
||||||
|
:disable="loading"
|
||||||
|
/>
|
||||||
|
</q-item-section>
|
||||||
|
<q-item-section>
|
||||||
|
<q-checkbox
|
||||||
|
v-model="function_center_control"
|
||||||
|
:label="$t('center control')"
|
||||||
|
color="cyan"
|
||||||
|
:loading="loading"
|
||||||
|
:disable="loading"
|
||||||
|
/>
|
||||||
|
</q-item-section>
|
||||||
|
<q-item-section>
|
||||||
|
<q-btn
|
||||||
|
@click="setDeviceAttribute"
|
||||||
|
:label="$t('commit')"
|
||||||
|
outline
|
||||||
|
color="primary"
|
||||||
|
/>
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
<q-separator />
|
||||||
|
<q-item>
|
||||||
|
<q-item-section>
|
||||||
|
<q-btn @click="restartDevice"> {{ $t("restart") }} </q-btn>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
</q-list>
|
</q-list>
|
||||||
|
@ -65,11 +95,12 @@
|
||||||
<style scoped></style>
|
<style scoped></style>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { defineComponent, ref, watch, computed } from "vue";
|
import { defineComponent, ref, watch, computed, nextTick } from "vue";
|
||||||
import { useStore } from "src/store";
|
import { useStore } from "src/store";
|
||||||
import { useQuasar } from "quasar";
|
import { useQuasar } from "quasar";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import GlobalData from "src/common/GlobalData";
|
import GlobalData from "src/common/GlobalData";
|
||||||
|
import { Protocol } from "src/entities/WSProtocol";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "ComponentAdvancedDebugDialog",
|
name: "ComponentAdvancedDebugDialog",
|
||||||
|
@ -82,20 +113,68 @@ export default defineComponent({
|
||||||
let show_dialog = ref(false);
|
let show_dialog = ref(false);
|
||||||
let loading = ref(false);
|
let loading = ref(false);
|
||||||
|
|
||||||
|
const function_center_control = ref(false);
|
||||||
|
const function_output_board = ref(false);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
show_dialog,
|
show_dialog,
|
||||||
loading,
|
loading,
|
||||||
|
function_center_control,
|
||||||
|
function_output_board,
|
||||||
|
|
||||||
showDialog() {
|
showDialog() {
|
||||||
show_dialog.value = true;
|
show_dialog.value = true;
|
||||||
|
|
||||||
|
setTimeout(async () => {
|
||||||
|
try {
|
||||||
|
const response = await GlobalData.getInstance()
|
||||||
|
.getCurrentClient()
|
||||||
|
?.getDeviceAttribute();
|
||||||
|
if (response) {
|
||||||
|
nextTick(() => {
|
||||||
|
function_center_control.value =
|
||||||
|
(response.attribute &
|
||||||
|
Protocol.EDeviceAttribute.CenterControl) !=
|
||||||
|
0;
|
||||||
|
function_output_board.value =
|
||||||
|
(response.attribute &
|
||||||
|
Protocol.EDeviceAttribute.OutputBoard) !=
|
||||||
|
0;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch {}
|
||||||
|
}, 0);
|
||||||
},
|
},
|
||||||
resetData() {
|
resetData() {
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
|
|
||||||
|
function_center_control.value = false;
|
||||||
|
function_output_board.value = false;
|
||||||
},
|
},
|
||||||
|
|
||||||
restartDevice() {
|
restartDevice() {
|
||||||
GlobalData.getInstance().getCurrentClient()?.restartDevice();
|
GlobalData.getInstance().getCurrentClient()?.restartDevice();
|
||||||
},
|
},
|
||||||
|
setDeviceAttribute() {
|
||||||
|
let attribute = Protocol.EDeviceAttribute.None;
|
||||||
|
if (function_center_control.value) {
|
||||||
|
attribute |= Protocol.EDeviceAttribute.CenterControl;
|
||||||
|
}
|
||||||
|
if (function_output_board.value) {
|
||||||
|
attribute |= Protocol.EDeviceAttribute.OutputBoard;
|
||||||
|
}
|
||||||
|
GlobalData.getInstance()
|
||||||
|
.getCurrentClient()
|
||||||
|
?.setDeviceAttribute(attribute);
|
||||||
|
|
||||||
|
$q.notify({
|
||||||
|
color: "positive",
|
||||||
|
icon: "done",
|
||||||
|
message: $t.t("set device function") + $t.t("success") + "!",
|
||||||
|
position: "top",
|
||||||
|
timeout: 1500,
|
||||||
|
});
|
||||||
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -256,6 +256,32 @@
|
||||||
</q-input>
|
</q-input>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
|
|
||||||
|
<q-item v-if="register_type == 'online'">
|
||||||
|
<q-item-section avatar class="header_label">
|
||||||
|
{{ $t("function") }}
|
||||||
|
</q-item-section>
|
||||||
|
<q-item-section>
|
||||||
|
<div class="row q-gutter-sm">
|
||||||
|
<q-checkbox
|
||||||
|
v-model="function_output_board"
|
||||||
|
:label="$t('output board')"
|
||||||
|
color="cyan"
|
||||||
|
class="offset-md-1 col"
|
||||||
|
:loading="loading"
|
||||||
|
:disable="loading"
|
||||||
|
/>
|
||||||
|
<q-checkbox
|
||||||
|
v-model="function_center_control"
|
||||||
|
:label="$t('center control')"
|
||||||
|
color="cyan"
|
||||||
|
class="offset-md-1 col"
|
||||||
|
:loading="loading"
|
||||||
|
:disable="loading"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
</q-list>
|
</q-list>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
||||||
|
@ -307,6 +333,7 @@ import { useQuasar, copyToClipboard } from "quasar";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import GlobalData from "src/common/GlobalData";
|
import GlobalData from "src/common/GlobalData";
|
||||||
import QrcodeVue from "qrcode.vue";
|
import QrcodeVue from "qrcode.vue";
|
||||||
|
import { Protocol } from "src/entities/WSProtocol";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "ComponentRegisterDialog",
|
name: "ComponentRegisterDialog",
|
||||||
|
@ -331,6 +358,9 @@ export default defineComponent({
|
||||||
const ext_flag = ref(false);
|
const ext_flag = ref(false);
|
||||||
const server_address = ref("");
|
const server_address = ref("");
|
||||||
|
|
||||||
|
const function_center_control = ref(false);
|
||||||
|
const function_output_board = ref(false);
|
||||||
|
|
||||||
const trial_days = ref(0);
|
const trial_days = ref(0);
|
||||||
const last_days = ref(0);
|
const last_days = ref(0);
|
||||||
const register_date = ref("");
|
const register_date = ref("");
|
||||||
|
@ -347,6 +377,9 @@ export default defineComponent({
|
||||||
trial_days.value = 0;
|
trial_days.value = 0;
|
||||||
register_date.value = "";
|
register_date.value = "";
|
||||||
last_days.value = 0;
|
last_days.value = 0;
|
||||||
|
|
||||||
|
function_center_control.value = false;
|
||||||
|
function_output_board.value = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
const showDialog = async () => {
|
const showDialog = async () => {
|
||||||
|
@ -389,6 +422,8 @@ export default defineComponent({
|
||||||
licence_file,
|
licence_file,
|
||||||
select_file_dialog,
|
select_file_dialog,
|
||||||
server_address,
|
server_address,
|
||||||
|
function_output_board,
|
||||||
|
function_center_control,
|
||||||
copyToClipboard,
|
copyToClipboard,
|
||||||
isShow() {
|
isShow() {
|
||||||
return show_dialog.value;
|
return show_dialog.value;
|
||||||
|
@ -467,10 +502,10 @@ export default defineComponent({
|
||||||
resolve(false);
|
resolve(false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
console.log(licence_str);
|
// console.log(licence_str);
|
||||||
if (requested && licence_str) {
|
if (requested && licence_str) {
|
||||||
active_code.value = licence_str;
|
active_code.value = licence_str;
|
||||||
console.log(licence_str);
|
// console.log(licence_str);
|
||||||
} else {
|
} else {
|
||||||
$q.notify({
|
$q.notify({
|
||||||
color: "negative",
|
color: "negative",
|
||||||
|
@ -500,6 +535,19 @@ export default defineComponent({
|
||||||
success = response.success;
|
success = response.success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (success) {
|
||||||
|
let attribute = Protocol.EDeviceAttribute.None;
|
||||||
|
if (function_center_control.value) {
|
||||||
|
attribute |= Protocol.EDeviceAttribute.CenterControl;
|
||||||
|
}
|
||||||
|
if (function_output_board.value) {
|
||||||
|
attribute |= Protocol.EDeviceAttribute.OutputBoard;
|
||||||
|
}
|
||||||
|
GlobalData.getInstance()
|
||||||
|
.getCurrentClient()
|
||||||
|
?.setDeviceAttribute(attribute);
|
||||||
|
}
|
||||||
|
|
||||||
$q.notify({
|
$q.notify({
|
||||||
color: success ? "positive" : "negative",
|
color: success ? "positive" : "negative",
|
||||||
icon: success ? "done" : "warning",
|
icon: success ? "done" : "warning",
|
||||||
|
|
|
@ -388,6 +388,12 @@ export namespace Protocol {
|
||||||
public static get kWindowFullScreen() {
|
public static get kWindowFullScreen() {
|
||||||
return Commands.PROTOCOL_PREFIX + "WindowFullScreen";
|
return Commands.PROTOCOL_PREFIX + "WindowFullScreen";
|
||||||
}
|
}
|
||||||
|
public static get kSetDeviceAttribute() {
|
||||||
|
return Commands.PROTOCOL_PREFIX + "SetDeviceAttribute";
|
||||||
|
}
|
||||||
|
public static get kRpcGetDeviceAttribute() {
|
||||||
|
return Commands.PROTOCOL_PREFIX + "RpcGetDeviceAttribute";
|
||||||
|
}
|
||||||
|
|
||||||
static _all_commands = new Set([
|
static _all_commands = new Set([
|
||||||
Commands.kUnKnowCommand,
|
Commands.kUnKnowCommand,
|
||||||
|
@ -486,6 +492,8 @@ export namespace Protocol {
|
||||||
Commands.kRpcGetConnectionList,
|
Commands.kRpcGetConnectionList,
|
||||||
Commands.kRpcSetConnectionItem,
|
Commands.kRpcSetConnectionItem,
|
||||||
Commands.kWindowFullScreen,
|
Commands.kWindowFullScreen,
|
||||||
|
Commands.kRpcGetDeviceAttribute,
|
||||||
|
Commands.kSetDeviceAttribute,
|
||||||
]);
|
]);
|
||||||
public static get AllCommands() {
|
public static get AllCommands() {
|
||||||
return this._all_commands;
|
return this._all_commands;
|
||||||
|
@ -2463,4 +2471,66 @@ export namespace Protocol {
|
||||||
window_id: number;
|
window_id: number;
|
||||||
full_screen: boolean;
|
full_screen: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum EDeviceAttribute {
|
||||||
|
None_All = 0x0000,
|
||||||
|
|
||||||
|
None = 0x0001,
|
||||||
|
OutputBoard = 0x0002,
|
||||||
|
CenterControl = 0x0004,
|
||||||
|
Reserve2 = 0x0008,
|
||||||
|
Reserve3 = 0x0010,
|
||||||
|
Reserve4 = 0x0020,
|
||||||
|
Reserve5 = 0x0040,
|
||||||
|
Reserve6 = 0x0080,
|
||||||
|
Reserve7 = 0x0100,
|
||||||
|
Reserve8 = 0x0200,
|
||||||
|
Reserve9 = 0x0400,
|
||||||
|
Reserve10 = 0x0800,
|
||||||
|
Reserve11 = 0x1000,
|
||||||
|
Reserve12 = 0x2000,
|
||||||
|
Reserve13 = 0x4000,
|
||||||
|
Reserve14 = 0x8000,
|
||||||
|
|
||||||
|
All = 0xffff,
|
||||||
|
}
|
||||||
|
|
||||||
|
export class GetDeviceAttributeRequestEntity extends PacketEntity {
|
||||||
|
constructor(rpc_id = 0) {
|
||||||
|
super();
|
||||||
|
super.command = Commands.kRpcGetDeviceAttribute;
|
||||||
|
super.flag = PacketEntity.FLAG_REQUEST;
|
||||||
|
super.rpc_id = rpc_id;
|
||||||
|
}
|
||||||
|
timestamp = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class GetDeviceAttributeResponseEntity extends PacketEntity {
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
super.flag = PacketEntity.FLAG_RESPONSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
attribute = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class SetDeviceAttributeRequestEntity extends PacketEntity {
|
||||||
|
constructor(attribute: number, rpc_id = 0) {
|
||||||
|
super();
|
||||||
|
super.command = Commands.kSetDeviceAttribute;
|
||||||
|
super.flag = PacketEntity.FLAG_REQUEST;
|
||||||
|
super.rpc_id = rpc_id;
|
||||||
|
this.attribute = attribute;
|
||||||
|
}
|
||||||
|
attribute: number = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class SetDeviceAttributeNotifyEntity extends PacketEntity {
|
||||||
|
attribute: number = 0;
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
this.command = Commands.kSetDeviceAttribute;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -225,6 +225,7 @@ export default {
|
||||||
contrast: "对比度",
|
contrast: "对比度",
|
||||||
hue: "锐度",
|
hue: "锐度",
|
||||||
"device resolution": "设备分辨率",
|
"device resolution": "设备分辨率",
|
||||||
|
"output board": "输出板",
|
||||||
"output board resolution": "输出板分辨率",
|
"output board resolution": "输出板分辨率",
|
||||||
"use ntp": "使用NTP服务器",
|
"use ntp": "使用NTP服务器",
|
||||||
"current datetime": "当前日期时间",
|
"current datetime": "当前日期时间",
|
||||||
|
@ -492,4 +493,7 @@ export default {
|
||||||
"desktop height": "桌面高度",
|
"desktop height": "桌面高度",
|
||||||
px: "像素",
|
px: "像素",
|
||||||
Warning: "警告",
|
Warning: "警告",
|
||||||
|
function: "功能",
|
||||||
|
commit: "提交",
|
||||||
|
"set device function": "设置设备功能成功",
|
||||||
};
|
};
|
||||||
|
|
|
@ -185,7 +185,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { defineComponent, Ref, ref, computed } from "vue";
|
import { defineComponent, Ref, ref, computed, watch } from "vue";
|
||||||
import { Cookies, SessionStorage, useQuasar } from "quasar";
|
import { Cookies, SessionStorage, useQuasar } from "quasar";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import { useStore } from "src/store";
|
import { useStore } from "src/store";
|
||||||
|
|
|
@ -197,6 +197,7 @@
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<q-btn
|
<q-btn
|
||||||
|
v-if="function_center_control"
|
||||||
stretch
|
stretch
|
||||||
flat
|
flat
|
||||||
stack
|
stack
|
||||||
|
@ -365,7 +366,7 @@
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { defineComponent, ref, Ref, computed } from "vue";
|
import { defineComponent, ref, Ref, computed, watch } from "vue";
|
||||||
import { useStore } from "src/store";
|
import { useStore } from "src/store";
|
||||||
|
|
||||||
import GridSettingDialog from "src/components/GridSettingDialog.vue";
|
import GridSettingDialog from "src/components/GridSettingDialog.vue";
|
||||||
|
@ -424,6 +425,12 @@ export default defineComponent({
|
||||||
const edge_blending_dialog: Ref<any> = ref(null);
|
const edge_blending_dialog: Ref<any> = ref(null);
|
||||||
const register_dialog: Ref<any> = ref(null);
|
const register_dialog: Ref<any> = ref(null);
|
||||||
|
|
||||||
|
const function_center_control = ref(
|
||||||
|
($store.state.device_attribute &
|
||||||
|
Protocol.EDeviceAttribute.CenterControl) !=
|
||||||
|
0
|
||||||
|
);
|
||||||
|
|
||||||
let system_run_time = 0;
|
let system_run_time = 0;
|
||||||
let system_idle_time = 0;
|
let system_idle_time = 0;
|
||||||
let current_system_time = 0;
|
let current_system_time = 0;
|
||||||
|
@ -518,11 +525,21 @@ export default defineComponent({
|
||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => $store.state.device_attribute,
|
||||||
|
(value) => {
|
||||||
|
function_center_control.value =
|
||||||
|
(value & Protocol.EDeviceAttribute.CenterControl) != 0;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
show_advanced_menu,
|
show_advanced_menu,
|
||||||
plan_running,
|
plan_running,
|
||||||
edge_blending_dialog,
|
edge_blending_dialog,
|
||||||
register_dialog,
|
register_dialog,
|
||||||
|
function_center_control,
|
||||||
|
|
||||||
async backupDB() {
|
async backupDB() {
|
||||||
let client = GlobalData.getInstance().getCurrentClient();
|
let client = GlobalData.getInstance().getCurrentClient();
|
||||||
|
|
|
@ -61,6 +61,7 @@ export interface StateInterface {
|
||||||
pollings: PollingEntity[];
|
pollings: PollingEntity[];
|
||||||
signal_sources: SignalSourceEntity[];
|
signal_sources: SignalSourceEntity[];
|
||||||
landspace: boolean;
|
landspace: boolean;
|
||||||
|
device_attribute: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
// provide typings for `this.$store`
|
// provide typings for `this.$store`
|
||||||
|
@ -308,6 +309,7 @@ export default store(function (/* { ssrContext } */) {
|
||||||
pollings: [],
|
pollings: [],
|
||||||
signal_sources: [],
|
signal_sources: [],
|
||||||
landspace: window.innerWidth > window.innerHeight,
|
landspace: window.innerWidth > window.innerHeight,
|
||||||
|
device_attribute: 0,
|
||||||
},
|
},
|
||||||
|
|
||||||
mutations: {
|
mutations: {
|
||||||
|
@ -319,6 +321,12 @@ export default store(function (/* { ssrContext } */) {
|
||||||
state.landspace = playload;
|
state.landspace = playload;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
setDeviceAttribute(state: StateInterface, playload?: any) {
|
||||||
|
const num = parseInt(playload);
|
||||||
|
if (!isNaN(num) && num >= 0) {
|
||||||
|
state.device_attribute = num;
|
||||||
|
}
|
||||||
|
},
|
||||||
setArrayValue(state: StateInterface, playload?: any) {
|
setArrayValue(state: StateInterface, playload?: any) {
|
||||||
if (Array.isArray(playload.value)) {
|
if (Array.isArray(playload.value)) {
|
||||||
const arr: Array<any> = (<any>state)[playload.name];
|
const arr: Array<any> = (<any>state)[playload.name];
|
||||||
|
|
Loading…
Reference in New Issue