|
@@ -26,7 +26,7 @@
|
|
|
@toggle-algo="handleToggleAlgo(item, $event)"
|
|
@toggle-algo="handleToggleAlgo(item, $event)"
|
|
|
:is-fence-open="item.electronicFence === FENCE_ENBALED_STATUS.enabled"
|
|
:is-fence-open="item.electronicFence === FENCE_ENBALED_STATUS.enabled"
|
|
|
@toggle-fence="handleToggleFence(item, $event)"
|
|
@toggle-fence="handleToggleFence(item, $event)"
|
|
|
- @toggleSetting="handleToggleSetting"
|
|
|
|
|
|
|
+ @toggle-setting="handleToggleSetting(item.algoId)"
|
|
|
/>
|
|
/>
|
|
|
</div>
|
|
</div>
|
|
|
<div>
|
|
<div>
|
|
@@ -80,8 +80,34 @@
|
|
|
const hasAddPermission = () => userStore.checkPermission('algo_add');
|
|
const hasAddPermission = () => userStore.checkPermission('algo_add');
|
|
|
const algoSettingIsOpen = ref(false);
|
|
const algoSettingIsOpen = ref(false);
|
|
|
|
|
|
|
|
- const handleToggleSetting = () => {
|
|
|
|
|
- algoSettingIsOpen.value = !algoSettingIsOpen.value;
|
|
|
|
|
|
|
+ const handleToggleSetting = (algoId: number) => {
|
|
|
|
|
+ // 如果是在当前选中的卡片上切换设置开关,那么反选即可
|
|
|
|
|
+ if (selectedAlgoId.value === algoId) {
|
|
|
|
|
+ algoSettingIsOpen.value = !algoSettingIsOpen.value;
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 如果是在其他卡片上切换设置开关,等同于直接切卡片,并且显示设置。
|
|
|
|
|
+ // 如果原先设置开关是打开的,那么要先alert提示,否则就直接切
|
|
|
|
|
+ if (algoSettingIsOpen.value) {
|
|
|
|
|
+ const el = document.getElementById('algoSetting') as HTMLElement;
|
|
|
|
|
+ ElMessageBox.confirm(
|
|
|
|
|
+ '<strong>确认切换算法配置吗?</strong><br />切换后未保存的算法配置将被丢弃。',
|
|
|
|
|
+ '',
|
|
|
|
|
+ {
|
|
|
|
|
+ confirmButtonText: '确定',
|
|
|
|
|
+ cancelButtonText: '取消',
|
|
|
|
|
+ type: 'warning',
|
|
|
|
|
+ dangerouslyUseHTMLString: true,
|
|
|
|
|
+ appendTo: el,
|
|
|
|
|
+ },
|
|
|
|
|
+ ).then(() => {
|
|
|
|
|
+ selectedAlgoId.value = algoId;
|
|
|
|
|
+ algoSettingIsOpen.value = true;
|
|
|
|
|
+ });
|
|
|
|
|
+ } else {
|
|
|
|
|
+ selectedAlgoId.value = algoId;
|
|
|
|
|
+ algoSettingIsOpen.value = true;
|
|
|
|
|
+ }
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
const handleSelectAlgo = (algoId: number) => {
|
|
const handleSelectAlgo = (algoId: number) => {
|
|
@@ -102,10 +128,8 @@
|
|
|
},
|
|
},
|
|
|
)
|
|
)
|
|
|
.then(() => {
|
|
.then(() => {
|
|
|
- if (algoId !== selectedAlgoId.value) {
|
|
|
|
|
- selectedAlgoId.value = algoId;
|
|
|
|
|
- algoSettingIsOpen.value = false;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ selectedAlgoId.value = algoId;
|
|
|
|
|
+ algoSettingIsOpen.value = false;
|
|
|
})
|
|
})
|
|
|
.catch(() => {});
|
|
.catch(() => {});
|
|
|
} else {
|
|
} else {
|