2026-01-06 13:45:39 +08:00
|
|
|
|
<template>
|
2026-01-16 11:15:44 +08:00
|
|
|
|
<van-dialog
|
|
|
|
|
|
v-model:show="show"
|
|
|
|
|
|
title="新增交易分类"
|
2026-01-06 13:45:39 +08:00
|
|
|
|
show-cancel-button
|
|
|
|
|
|
@confirm="handleConfirm"
|
|
|
|
|
|
>
|
2026-01-16 11:15:44 +08:00
|
|
|
|
<van-field
|
|
|
|
|
|
v-model="classifyName"
|
|
|
|
|
|
placeholder="请输入新的交易分类"
|
|
|
|
|
|
/>
|
2026-01-06 13:45:39 +08:00
|
|
|
|
</van-dialog>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script setup>
|
|
|
|
|
|
import { ref } from 'vue'
|
|
|
|
|
|
import { showToast } from 'vant'
|
|
|
|
|
|
|
|
|
|
|
|
const emit = defineEmits(['confirm'])
|
|
|
|
|
|
|
|
|
|
|
|
const show = ref(false)
|
|
|
|
|
|
const classifyName = ref('')
|
|
|
|
|
|
|
|
|
|
|
|
// 打开弹窗
|
|
|
|
|
|
const open = () => {
|
|
|
|
|
|
classifyName.value = ''
|
|
|
|
|
|
show.value = true
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 确认
|
|
|
|
|
|
const handleConfirm = () => {
|
|
|
|
|
|
if (!classifyName.value.trim()) {
|
|
|
|
|
|
showToast('请输入分类名称')
|
|
|
|
|
|
return
|
|
|
|
|
|
}
|
2026-01-16 11:15:44 +08:00
|
|
|
|
|
2026-01-06 13:45:39 +08:00
|
|
|
|
emit('confirm', classifyName.value.trim())
|
|
|
|
|
|
show.value = false
|
|
|
|
|
|
classifyName.value = ''
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 暴露方法给父组件
|
|
|
|
|
|
defineExpose({
|
|
|
|
|
|
open
|
|
|
|
|
|
})
|
|
|
|
|
|
</script>
|