mirror of
https://gitee.com/java110/MicroCommunityWeb.git
synced 2026-06-14 18:58:44 +08:00
85 lines
1.7 KiB
Vue
85 lines
1.7 KiB
Vue
<template>
|
|
<el-dialog
|
|
:title="$t('mapping.dialog.delTitle')"
|
|
:visible.sync="dialogVisible"
|
|
width="400px"
|
|
@close="handleClose"
|
|
>
|
|
<div class="del-dialog-content">
|
|
<i class="el-icon-warning"></i>
|
|
<span>{{ $t('mapping.delete.confirm') }}</span>
|
|
</div>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="handleClose">{{ $t('mapping.dialog.cancel') }}</el-button>
|
|
<el-button type="primary" @click="handleConfirm">{{ $t('mapping.dialog.confirm') }}</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
</template>
|
|
|
|
<script>
|
|
import { deleteMapping } from '@/api/dev/mappingApi'
|
|
|
|
export default {
|
|
name: 'DelMapping',
|
|
props: {
|
|
visible: {
|
|
type: Boolean,
|
|
default: false
|
|
},
|
|
mappingId: {
|
|
type: String,
|
|
default: ''
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
dialogVisible: false
|
|
}
|
|
},
|
|
watch: {
|
|
visible: {
|
|
handler(val) {
|
|
this.dialogVisible = val
|
|
},
|
|
immediate: true
|
|
},
|
|
dialogVisible(val) {
|
|
this.$emit('update:visible', val)
|
|
}
|
|
},
|
|
methods: {
|
|
handleClose() {
|
|
this.dialogVisible = false
|
|
},
|
|
async handleConfirm() {
|
|
try {
|
|
await deleteMapping(this.mappingId)
|
|
this.$message.success(this.$t('mapping.delete.success'))
|
|
this.handleClose()
|
|
this.$emit('success')
|
|
} catch (error) {
|
|
console.error('删除失败:', error)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.del-dialog-content {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 20px 0;
|
|
|
|
i {
|
|
font-size: 24px;
|
|
color: #E6A23C;
|
|
margin-right: 10px;
|
|
}
|
|
}
|
|
|
|
.dialog-footer {
|
|
text-align: right;
|
|
}
|
|
</style> |