From b4e559be27b15cef3388cca703d916d591d05bbd Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期六, 06 六月 2026 14:08:17 +0800
Subject: [PATCH] fix: 修改打包
---
src/components/Dialog/FormDialog.vue | 86 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 86 insertions(+), 0 deletions(-)
diff --git a/src/components/Dialog/FormDialog.vue b/src/components/Dialog/FormDialog.vue
new file mode 100644
index 0000000..b60bfb4
--- /dev/null
+++ b/src/components/Dialog/FormDialog.vue
@@ -0,0 +1,86 @@
+<template>
+ <el-dialog
+ v-model="dialogVisible"
+ :title="computedTitle"
+ :width="width"
+ @close="handleClose"
+ >
+ <slot></slot>
+ <template #footer>
+ <div class="dialog-footer">
+ <!-- 鑷畾涔夋寜閽彃妲� -->
+ <slot name="footer">
+ <!-- 榛樿鎸夐挳 -->
+ <el-button
+ v-if="showConfirm"
+ type="primary"
+ @click="handleConfirm"
+ >
+ 纭
+ </el-button>
+ <el-button @click="handleCancel">鍙栨秷</el-button>
+ </slot>
+ </div>
+ </template>
+ </el-dialog>
+</template>
+
+<script setup>
+import { computed } from 'vue'
+
+const props = defineProps({
+ modelValue: {
+ type: Boolean,
+ default: false
+ },
+ title: {
+ type: [String, Function],
+ default: ''
+ },
+ operationType: {
+ type: String,
+ default: ''
+ },
+ width: {
+ type: String,
+ default: '70%'
+ }
+})
+
+const emit = defineEmits(['update:modelValue', 'close', 'confirm', 'cancel'])
+
+const dialogVisible = computed({
+ get: () => props.modelValue,
+ set: (val) => emit('update:modelValue', val)
+})
+
+// 璇︽儏妯″紡涓嶅睍绀衡�滅‘璁も�濇寜閽紝鍏跺畠绫诲瀷姝e父鏄剧ず
+const showConfirm = computed(() => props.operationType !== 'detail' && props.operationType !== 'view')
+
+const computedTitle = computed(() => {
+ if (typeof props.title === 'function') {
+ return props.title(props.operationType)
+ }
+ return props.title
+})
+
+const handleClose = () => {
+ emit('close')
+}
+
+const handleConfirm = () => {
+ emit('confirm')
+}
+
+const handleCancel = () => {
+ emit('cancel')
+ dialogVisible.value = false
+}
+</script>
+
+<style scoped>
+.dialog-footer {
+ text-align: center;
+}
+</style>
+
--
Gitblit v1.9.3