This commit is contained in:
zhbaor 2024-09-23 20:52:53 +08:00
parent 70d5879d00
commit fc5fbdff95
2 changed files with 32 additions and 17 deletions

View file

@ -52,19 +52,20 @@ provide('steps', steps)
<n-spin v-if="loading" class="container"> <n-spin v-if="loading" class="container">
<template #description>加载中</template> <template #description>加载中</template>
</n-spin> </n-spin>
<n-tabs <n-notification-provider v-else>
v-else <n-tabs
type="card" type="card"
placement="left" placement="left"
class="container" class="container"
:default-value="page" :default-value="page"
@update:value="set_page" @before-leave="!running"
:disabled="running" @update:value="set_page"
> >
<n-tab-pane name="init" tab="初始化"><init /></n-tab-pane> <n-tab-pane name="init" tab="初始化"><init /></n-tab-pane>
<n-tab-pane name="update" tab="更新代码"><update /></n-tab-pane> <n-tab-pane name="update" tab="更新代码"><update /></n-tab-pane>
<n-tab-pane name="launch" tab="启动程序"><launch /></n-tab-pane> <n-tab-pane name="launch" tab="启动程序"><launch /></n-tab-pane>
</n-tabs> </n-tabs>
</n-notification-provider>
<n-global-style /> <n-global-style />
</n-config-provider> </n-config-provider>
</template> </template>

View file

@ -8,6 +8,8 @@ const steps = inject('steps')
const current_step = inject('current_step') const current_step = inject('current_step')
const current_state = inject('current_state') const current_state = inject('current_state')
const notification = useNotification()
async function start() { async function start() {
log.value = '' log.value = ''
running.value = true running.value = true
@ -20,25 +22,37 @@ async function start() {
} }
current_state.value = 'finish' current_state.value = 'finish'
running.value = false running.value = false
notification['info']({
content: '提示',
meta: '命令运行完成',
duration: 3000
})
} }
</script> </script>
<template> <template>
<n-button class="float" type="primary" :loading="running" :disabled="running" @click="start"> <n-button
class="float"
type="primary"
:loading="running"
:disabled="running"
@click="start"
circle
size="large"
>
<template #icon> <template #icon>
<n-icon> <n-icon>
<play-icon /> <play-icon />
</n-icon> </n-icon>
</template> </template>
{{ running ? '' : '运行' }}
</n-button> </n-button>
</template> </template>
<style scoped> <style scoped>
.float { .float {
position: absolute; position: absolute;
right: 28px; right: 36px;
bottom: 28px; bottom: 36px;
opacity: 0.8; opacity: 0.8;
} }