2
0
mirror of https://github.com/acepanel/panel.git synced 2026-02-05 23:07:26 +08:00

feat: 优化数据库删除

This commit is contained in:
耗子
2024-11-27 03:09:40 +08:00
parent 5d5633b31a
commit c2ae9dc4a1
14 changed files with 292 additions and 97 deletions

View File

@@ -0,0 +1,71 @@
<script setup lang="ts">
import database from '@/api/panel/database'
import { NButton, NInput } from 'naive-ui'
const show = defineModel<boolean>('show', { type: Boolean, required: true })
const id = defineModel<number>('id', { type: Number, required: true })
const updateModel = ref({
password: '',
privileges: [],
remark: ''
})
const handleUpdate = () => {
useRequest(() => database.userUpdate(id.value, updateModel.value)).onSuccess(() => {
show.value = false
window.$message.success('更新成功')
window.$bus.emit('database-user:refresh')
})
}
watch(
() => show.value,
(value) => {
if (value && id.value) {
database.userGet(id.value).then((data: any) => {
updateModel.value.password = data.password
updateModel.value.privileges = data.privileges
updateModel.value.remark = data.remark
})
}
}
)
</script>
<template>
<n-modal
v-model:show="show"
preset="card"
title="更新用户"
style="width: 60vw"
size="huge"
:bordered="false"
:segmented="false"
@close="show = false"
>
<n-form :model="updateModel">
<n-form-item path="password" label="密码">
<n-input
v-model:value="updateModel.password"
type="password"
@keydown.enter.prevent
placeholder="输入密码"
/>
</n-form-item>
<n-form-item path="privileges" label="授权">
<n-dynamic-input v-model:value="updateModel.privileges" placeholder="输入数据库名" />
</n-form-item>
<n-form-item path="remark" label="备注">
<n-input
v-model:value="updateModel.remark"
type="textarea"
@keydown.enter.prevent
placeholder="输入数据库用户备注"
/>
</n-form-item>
</n-form>
<n-button type="info" block @click="handleUpdate">提交</n-button>
</n-modal>
</template>
<style scoped lang="scss"></style>