|
|
@@ -32,6 +32,7 @@ interface Props {
|
|
|
showToolbar?: boolean
|
|
|
height?: string
|
|
|
formMode?: 'dialog' | 'drawer'
|
|
|
+ beforeCreate?: Function
|
|
|
}
|
|
|
|
|
|
const props = withDefaults(defineProps<Props>(), {
|
|
|
@@ -147,7 +148,8 @@ const handleSelectionChange = () => {
|
|
|
|
|
|
// ============== crud部分开始 ===============
|
|
|
const formRoute = ref<any>(props.formConfig.route)
|
|
|
-const handleCreate = () => {
|
|
|
+
|
|
|
+const doCreate = () => {
|
|
|
emits('click-create')
|
|
|
if (formRoute.value) {
|
|
|
router.push(formRoute.value)
|
|
|
@@ -157,6 +159,25 @@ const handleCreate = () => {
|
|
|
formVisible.value = true
|
|
|
}
|
|
|
}
|
|
|
+const handleCreate = async () => {
|
|
|
+ if (!props.beforeCreate) {
|
|
|
+ return doCreate()
|
|
|
+ }
|
|
|
+
|
|
|
+ let result = true
|
|
|
+ try {
|
|
|
+ const beforeUploadPromise = props.beforeCreate(formData.value)
|
|
|
+ result = await beforeUploadPromise
|
|
|
+ } catch {
|
|
|
+ result = false
|
|
|
+ }
|
|
|
+ console.log(result)
|
|
|
+ if (result === false) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ doCreate()
|
|
|
+}
|
|
|
+
|
|
|
const handleUpdate = (row: any) => {
|
|
|
emits('click-edit', row)
|
|
|
if (formRoute.value) {
|