mirror of https://github.com/1Panel-dev/1Panel
zhengkunwang223
1 year ago
committed by
GitHub
19 changed files with 897 additions and 584 deletions
@ -0,0 +1,85 @@ |
|||||||
|
<template> |
||||||
|
<el-drawer :close-on-click-modal="false" v-model="open" size="30%"> |
||||||
|
<template #header> |
||||||
|
<Header :header="$t('app.ignoreList')" :back="handleClose"></Header> |
||||||
|
</template> |
||||||
|
<el-row :gutter="5"> |
||||||
|
<el-col v-for="(app, index) in apps" :key="index"> |
||||||
|
<el-card class="app-margin"> |
||||||
|
<el-row :gutter="20"> |
||||||
|
<el-col :span="6"> |
||||||
|
<el-avatar shape="square" :size="60" :src="'data:image/png;base64,' + app.icon" /> |
||||||
|
</el-col> |
||||||
|
<el-col :span="12"> |
||||||
|
<span>{{ app.name }}</span> |
||||||
|
<div class="app-margin"> |
||||||
|
<el-tag>{{ app.version }}</el-tag> |
||||||
|
</div> |
||||||
|
</el-col> |
||||||
|
<el-col :span="6"> |
||||||
|
<el-button type="primary" link @click="cancelIngore(app.detailID)"> |
||||||
|
{{ $t('app.cancelIgnore') }} |
||||||
|
</el-button> |
||||||
|
</el-col> |
||||||
|
</el-row> |
||||||
|
</el-card> |
||||||
|
</el-col> |
||||||
|
</el-row> |
||||||
|
<template #footer> |
||||||
|
<span class="dialog-footer"> |
||||||
|
<el-button @click="handleClose" :disabled="loading">{{ $t('commons.button.cancel') }}</el-button> |
||||||
|
</span> |
||||||
|
</template> |
||||||
|
</el-drawer> |
||||||
|
</template> |
||||||
|
<script lang="ts" setup> |
||||||
|
import { GetIgnoredApp, IgnoreUpgrade } from '@/api/modules/app'; |
||||||
|
import { ref } from 'vue'; |
||||||
|
import Header from '@/components/drawer-header/index.vue'; |
||||||
|
import { MsgSuccess } from '@/utils/message'; |
||||||
|
import i18n from '@/lang'; |
||||||
|
|
||||||
|
const open = ref(false); |
||||||
|
const loading = ref(false); |
||||||
|
const apps = ref(); |
||||||
|
const em = defineEmits(['close']); |
||||||
|
|
||||||
|
const handleClose = () => { |
||||||
|
open.value = false; |
||||||
|
em('close', open); |
||||||
|
}; |
||||||
|
|
||||||
|
const acceptParams = () => { |
||||||
|
open.value = true; |
||||||
|
getApps(); |
||||||
|
}; |
||||||
|
|
||||||
|
const getApps = async () => { |
||||||
|
try { |
||||||
|
const res = await GetIgnoredApp(); |
||||||
|
apps.value = res.data; |
||||||
|
} catch (error) {} |
||||||
|
}; |
||||||
|
|
||||||
|
const cancelIngore = async (id: number) => { |
||||||
|
loading.value = true; |
||||||
|
await IgnoreUpgrade({ detailID: id, operate: 'cancel' }) |
||||||
|
.then(() => { |
||||||
|
MsgSuccess(i18n.global.t('commons.msg.operationSuccess')); |
||||||
|
}) |
||||||
|
.finally(() => { |
||||||
|
getApps(); |
||||||
|
loading.value = false; |
||||||
|
}); |
||||||
|
}; |
||||||
|
|
||||||
|
defineExpose({ |
||||||
|
acceptParams, |
||||||
|
}); |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
.app-margin { |
||||||
|
margin-top: 10px; |
||||||
|
} |
||||||
|
</style> |
Loading…
Reference in new issue