增加轮询窗口任意开窗

This commit is contained in:
fangxiang 2022-07-25 16:31:23 +08:00
parent 36c1b0b4a3
commit 07a0e5fe92
6 changed files with 147 additions and 18 deletions

View File

@ -131,7 +131,10 @@
</q-item-section> </q-item-section>
<q-item-section> <q-item-section>
<q-input <q-input
:disable="clock_entity.type == 2" :disable="
clock_entity.type == 2 ||
clock_entity.background_transparent
"
v-model="clock_entity.background_color" v-model="clock_entity.background_color"
:rules="['anyColor']" :rules="['anyColor']"
> >

View File

@ -16,6 +16,20 @@
(evt) => (evt) =>
false && !prop.node.is_group && runPlan(prop.node.item_data) false && !prop.node.is_group && runPlan(prop.node.item_data)
" "
@click="
$store.commit(
'setSelectedPolling',
prop.node.is_group
? $store.state.selected_polling
: prop.node.uuid
)
"
:style="{
border:
$store.state.selected_polling == prop.node.uuid
? '1px solid #aacceec2'
: 'none',
}"
> >
<q-item-section avatar> <q-item-section avatar>
<q-icon <q-icon

View File

@ -28,7 +28,8 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent, ref } from "vue"; import { defineComponent, ref, watch } from "vue";
import { useStore } from "src/store";
import SignalSourceTree from "src/components/SignalSourceTree.vue"; import SignalSourceTree from "src/components/SignalSourceTree.vue";
import PollingTree from "src/components/PollingTree.vue"; import PollingTree from "src/components/PollingTree.vue";
@ -38,8 +39,19 @@ export default defineComponent({
components: { SignalSourceTree, PollingTree }, components: { SignalSourceTree, PollingTree },
setup() { setup() {
const $store = useStore();
const tab_value = ref("signal_source"); const tab_value = ref("signal_source");
$store.commit("setCurrentLeftTab", tab_value.value);
watch(
() => tab_value.value,
(n, o) => {
$store.commit("setCurrentLeftTab", n);
}
);
return { tab_value }; return { tab_value };
}, },
}); });

View File

@ -186,7 +186,7 @@ import Window from "src/components/Window.vue";
import WindowRectEditDialog from "src/components/WindowRectEditDialog.vue"; import WindowRectEditDialog from "src/components/WindowRectEditDialog.vue";
import { useI18n } from "vue-i18n"; import { useI18n } from "vue-i18n";
import { useStore } from "src/store"; import { NullSignalSource, useStore } from "src/store";
import EventBus, { EventNamesDefine } from "src/common/EventBus"; import EventBus, { EventNamesDefine } from "src/common/EventBus";
import { WindowOpenNotifyEntity } from "src/entities/MultimediaWindowEntity"; import { WindowOpenNotifyEntity } from "src/entities/MultimediaWindowEntity";
import WindowOtherStateChangeNotifyEntity from "src/entities/WindowOtherStateChangeNotifyEntity"; import WindowOtherStateChangeNotifyEntity from "src/entities/WindowOtherStateChangeNotifyEntity";
@ -363,6 +363,8 @@ export default defineComponent({
area_open_window_rect.value.start_y area_open_window_rect.value.start_y
); );
if ($store.state.current_left_tab == "signal_source") {
if ($store.state.selected_signal_source != NullSignalSource) {
GlobalData.getInstance() GlobalData.getInstance()
.getCurrentClient() .getCurrentClient()
?.openWindow( ?.openWindow(
@ -375,6 +377,22 @@ export default defineComponent({
) )
); );
} }
} else {
if ($store.state.selected_polling != NullSignalSource) {
GlobalData.getInstance()
.getCurrentClient()
?.openPolling(
new Protocol.OpenPollingRequestEntity(
$store.state.selected_polling,
start_x / wall.value.offsetWidth,
start_y / wall.value.offsetHeight,
end_x / wall.value.offsetWidth,
end_y / wall.value.offsetHeight
)
);
}
}
}
} }
area_open_window_flag.value = false; area_open_window_flag.value = false;
area_open_window_rect.value.reset(); area_open_window_rect.value.reset();

View File

@ -53,7 +53,9 @@ export interface StateInterface {
power_on_plan: string; power_on_plan: string;
fan_temp: number; fan_temp: number;
selected_window: string; selected_window: string;
current_left_tab: string;
selected_signal_source: string; selected_signal_source: string;
selected_polling: string;
current_running_plan: string; current_running_plan: string;
connect_list: ConnectTableEntity[]; connect_list: ConnectTableEntity[];
@ -279,7 +281,7 @@ export const storeKey: InjectionKey<VuexStore<StateInterface>> =
Symbol("vuex-key"); Symbol("vuex-key");
import window_color_list from "./window_color_list.js"; import window_color_list from "./window_color_list.js";
const NullSignalSource = export const NullSignalSource =
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"; "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF";
export default store(function (/* { ssrContext } */) { export default store(function (/* { ssrContext } */) {
@ -308,8 +310,9 @@ export default store(function (/* { ssrContext } */) {
power_on_plan: "", power_on_plan: "",
fan_temp: 0, fan_temp: 0,
selected_window: "", selected_window: "",
selected_signal_source: current_left_tab: "signal_source",
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", selected_signal_source: NullSignalSource,
selected_polling: NullSignalSource,
current_running_plan: "", current_running_plan: "",
connect_list: [], connect_list: [],
modes: [], modes: [],
@ -422,9 +425,12 @@ export default store(function (/* { ssrContext } */) {
}, },
pushWindow(state: StateInterface, playload?: WindowOpenNotifyEntity) { pushWindow(state: StateInterface, playload?: WindowOpenNotifyEntity) {
if (playload) { if (playload) {
if (state.windows.find((e) => e && e.uuid == playload.uuid)) {
return;
}
try { try {
playload.client_color = window_color_list.splice( playload.client_color = window_color_list.splice(
Math.round(Math.random() * window_color_list.length), Math.round(Math.random() * window_color_list.length - 1),
1 1
)[0]; )[0];
} catch {} } catch {}
@ -896,6 +902,11 @@ export default store(function (/* { ssrContext } */) {
setSelectedWindow(state: StateInterface, playload?: any) { setSelectedWindow(state: StateInterface, playload?: any) {
state.selected_window = playload; state.selected_window = playload;
}, },
setCurrentLeftTab(state: StateInterface, playload?: any) {
if (typeof playload == "string") {
state.current_left_tab = playload;
}
},
setSelectedSignalSource(state: StateInterface, playload?: any) { setSelectedSignalSource(state: StateInterface, playload?: any) {
if (state.selected_signal_source == playload) { if (state.selected_signal_source == playload) {
state.selected_signal_source = NullSignalSource; state.selected_signal_source = NullSignalSource;
@ -903,6 +914,13 @@ export default store(function (/* { ssrContext } */) {
state.selected_signal_source = playload; state.selected_signal_source = playload;
} }
}, },
setSelectedPolling(state: StateInterface, playload?: any) {
if (state.selected_polling == playload) {
state.selected_polling = NullSignalSource;
} else {
state.selected_polling = playload;
}
},
setCurrentRunningPlan(state: StateInterface, playload?: any) { setCurrentRunningPlan(state: StateInterface, playload?: any) {
state.current_running_plan = playload; state.current_running_plan = playload;
}, },

View File

@ -63,4 +63,68 @@ export default [
"#1E603FAF", "#1E603FAF",
"#3EF529AF", "#3EF529AF",
"#CB7177AF", "#CB7177AF",
"#C21817AF",
"#72D345AF",
"#1EA033AF",
"#6382F3AF",
"#735F83AF",
"#2AAF9BAF",
"#E4491EAF",
"#D769D9AF",
"#BDADE3AF",
"#24DE81AF",
"#DA454EAF",
"#4CED56AF",
"#91688DAF",
"#BBF360AF",
"#08BB79AF",
"#6F3E0BAF",
"#26BCBDAF",
"#ECA437AF",
"#94BE23AF",
"#FED7C7AF",
"#E2BF1CAF",
"#FDF2F1AF",
"#4C6CDBAF",
"#5E8B3CAF",
"#E09A78AF",
"#3FCD0EAF",
"#99C6BBAF",
"#D80921AF",
"#27072DAF",
"#213531AF",
"#7B01C9AF",
"#304AE5AF",
"#5CA05BAF",
"#F012B3AF",
"#BF7E0AAF",
"#FE4DB2AF",
"#B9416DAF",
"#2C015FAF",
"#01FD9BAF",
"#EB5CAEAF",
"#DA47BEAF",
"#DBEE46AF",
"#FBA68AAF",
"#58358DAF",
"#461298AF",
"#764860AF",
"#659F87AF",
"#3821AFAF",
"#8CACF9AF",
"#65E6B3AF",
"#78EE52AF",
"#4E5D30AF",
"#885361AF",
"#5CB17CAF",
"#5856C3AF",
"#C17EF9AF",
"#48921DAF",
"#543987AF",
"#4A3CFDAF",
"#294DE2AF",
"#A9A494AF",
"#1E603FAF",
"#3EF529AF",
"#CB7177AF",
]; ];