mirror of
https://github.com/thousmile/molly-multi-tenant.git
synced 2025-12-30 04:32:26 +00:00
1.添加 防止重复提交
This commit is contained in:
@@ -53,4 +53,5 @@ const props = defineProps<Props>()
|
||||
.card-body {
|
||||
font-size: 12px;
|
||||
}
|
||||
}</style>
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -8,6 +8,8 @@ export function loadDirectives(app: App) {
|
||||
app.directive("has", permission)
|
||||
// example: v-admin
|
||||
app.directive("admin", adminFlag)
|
||||
// example: v-preventReClick
|
||||
app.directive("preventReClick", preventReClick)
|
||||
}
|
||||
|
||||
/** 权限指令,和权限判断函数 checkPermission 功能类似 */
|
||||
@@ -37,3 +39,18 @@ const adminFlag: Directive = {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** 防止重复请求 指令 */
|
||||
const preventReClick: Directive = {
|
||||
mounted(el, binding) {
|
||||
const { value } = binding
|
||||
el.addEventListener("click", () => {
|
||||
el.disabled = true
|
||||
el.loading = true
|
||||
setTimeout(() => {
|
||||
el.disabled = false
|
||||
el.loading = false
|
||||
}, value || 3000)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="handleSaveAndFlush">确定</el-button>
|
||||
<el-button type="primary" v-preventReClick @click="handleSaveAndFlush">确定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
<select-dict-data v-model:value="userInfoForm.gender" dictTypeKey="sys_user_sex" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onUpdateUserInfo">立即修改</el-button>
|
||||
<el-button type="primary" v-preventReClick @click="onUpdateUserInfo">立即修改</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-tab-pane>
|
||||
@@ -112,7 +112,7 @@
|
||||
<el-input v-model="updatePwdForm.confirmPwd" show-password />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onUpdatePassword">立即修改</el-button>
|
||||
<el-button type="primary" v-preventReClick @click="onUpdatePassword">立即修改</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-tab-pane>
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="handleSaveAndFlush">确定</el-button>
|
||||
<el-button type="primary" v-preventReClick @click="handleSaveAndFlush">确定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -188,7 +188,7 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="handleSaveAndFlush">确定</el-button>
|
||||
<el-button type="primary" v-preventReClick @click="handleSaveAndFlush">确定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="menusDialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="handleUpdateMenus">确定</el-button>
|
||||
<el-button type="primary" v-preventReClick @click="handleUpdateMenus">确定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -240,7 +240,7 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="handleSaveAndFlush">确定</el-button>
|
||||
<el-button type="primary" v-preventReClick @click="handleSaveAndFlush">确定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -270,7 +270,7 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="linkTenantForm.visible = false">取消</el-button>
|
||||
<el-button type="primary" @click="handleSaveLinkTenant">确定</el-button>
|
||||
<el-button type="primary" v-preventReClick @click="handleSaveLinkTenant">确定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -184,7 +184,7 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="handleSaveAndFlush">确定</el-button>
|
||||
<el-button type="primary" v-preventReClick @click="handleSaveAndFlush">确定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="handleSaveAndFlush">确定</el-button>
|
||||
<el-button type="primary" v-preventReClick @click="handleSaveAndFlush">确定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="handleSaveAndFlush">确定</el-button>
|
||||
<el-button type="primary" v-preventReClick @click="handleSaveAndFlush">确定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="handleSaveAndFlush">确定</el-button>
|
||||
<el-button type="primary" v-preventReClick @click="handleSaveAndFlush">确定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="handleSaveAndFlush">确定</el-button>
|
||||
<el-button type="primary" v-preventReClick @click="handleSaveAndFlush">确定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -125,7 +125,7 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="menusDialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="handleUpdateMenus">确定</el-button>
|
||||
<el-button type="primary" v-preventReClick @click="handleUpdateMenus">确定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -168,7 +168,7 @@
|
||||
</template>
|
||||
<template v-if="active === 1">
|
||||
<el-button type="info" :icon="ArrowLeft" @click="previous" v-loading="loading">上一步</el-button>
|
||||
<el-button type="primary" @click="next" v-loading="loading">
|
||||
<el-button type="primary" @click="next" v-preventReClick v-loading="loading">
|
||||
确定 <el-icon class="el-icon--right"><Check /></el-icon>
|
||||
</el-button>
|
||||
</template>
|
||||
|
||||
@@ -215,7 +215,7 @@
|
||||
<template v-if="!saveFlag" #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="handleUpdate">确定</el-button>
|
||||
<el-button type="primary" v-preventReClick @click="handleUpdate">确定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
Reference in New Issue
Block a user