优化切换LMS状态功能:请求失败不允许切换
This commit is contained in:
		@@ -10,7 +10,7 @@
 | 
			
		||||
    <a-row :gutter="[0, 12]">
 | 
			
		||||
      <a-col :span="8" class="modal-label">LMS 状态</a-col>
 | 
			
		||||
      <a-col :span="16" class="modal-value">
 | 
			
		||||
        <a-switch v-model:checked="isOnline" checked-children="在线" un-checked-children="离线" @change="handleToggleOnline" />
 | 
			
		||||
        <a-switch v-model:checked="isOnline" checked-children="在线" un-checked-children="离线" :loading="loading" @click="handleToggleOnline" />
 | 
			
		||||
      </a-col>
 | 
			
		||||
    </a-row>
 | 
			
		||||
    <a-row :gutter="[0, 12]">
 | 
			
		||||
@@ -37,6 +37,7 @@ import { message } from 'ant-design-vue';
 | 
			
		||||
const { visible: dialogVisible, show, hide } = useDialog();
 | 
			
		||||
 | 
			
		||||
const isOnline = ref(false);
 | 
			
		||||
const loading = ref(false);
 | 
			
		||||
const lmsStatus = computed(() => isOnline.value ? '在线' : '离线');
 | 
			
		||||
 | 
			
		||||
const onlineStatusClass = computed(() => {
 | 
			
		||||
@@ -45,12 +46,19 @@ const onlineStatusClass = computed(() => {
 | 
			
		||||
 | 
			
		||||
// 当请求发送成功后才切换状态
 | 
			
		||||
async function handleToggleOnline(checked: boolean | string | number) {
 | 
			
		||||
  await updateLmsWorkMode(checked ? 1 : 0).then(() => {
 | 
			
		||||
  console.log('checked', checked);
 | 
			
		||||
  loading.value = true;
 | 
			
		||||
 | 
			
		||||
  try {
 | 
			
		||||
    await updateLmsWorkMode(checked ? 1 : 0);
 | 
			
		||||
    isOnline.value = Boolean(checked);
 | 
			
		||||
    message.success('切换成功');
 | 
			
		||||
  }).catch((error) => {
 | 
			
		||||
  } catch (e) {
 | 
			
		||||
    isOnline.value = !Boolean(checked);
 | 
			
		||||
    message.error('切换失败');
 | 
			
		||||
  });
 | 
			
		||||
  } finally {
 | 
			
		||||
    loading.value = false;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const modalTitle = ref('LMS 状态');
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user