Browse Source

feat: 全局删除二次确认弹窗 100%

luoyali 1 year ago
parent
commit
b438867560

+ 2 - 2
src/views/flow/group/components/listGroup.vue

@@ -152,12 +152,12 @@ const deleteFlowGroup = (item: any) => {
 			buttonSize: 'default'
 		})
 			.then(async () => {
+				await flowGroup.flowGroupDeleteApi([item.categoryId])
+				flowGroupListAll()
 				ElMessage({
 					message: '删除成功!',
 					type: 'success'
 				})
-				await flowGroup.flowGroupDeleteApi([item.categoryId])
-				flowGroupListAll()
 			})
 			.catch(() => {
 				console.log('取消')

+ 10 - 2
src/views/message/list/index.vue

@@ -54,7 +54,7 @@ import { useTablePage } from '@/hooks/useTablePage'
 import MessageDetail from './detail.vue'
 import { useRoute } from 'vue-router'
 import { Delete } from '@element-plus/icons-vue'
-import { ElMessage } from 'element-plus'
+import { ElMessage, ElMessageBox } from 'element-plus'
 
 const route = useRoute()
 const visibleDetail = ref(false) // 权限设置弹窗显示隐藏
@@ -153,6 +153,7 @@ const deleteItem = async ids => {
 	try {
 		await message.messageDeleteApi(ids)
 		updateParams()
+		ElMessage.success(`删除成功~`)
 	} catch (e) {
 		console.log('删除失败')
 		ElMessage.error(`删除失败~`)
@@ -167,7 +168,14 @@ const table_del = row => {
 //批量删除
 const batch_del = () => {
 	const ids = curSelectionRows.value.map(item => item.id) // 多选数据
-	deleteItem(ids)
+	ElMessageBox.confirm('是否删除选中数据?', '提示', {
+		confirmButtonText: '确认',
+		cancelButtonText: '取消',
+		type: 'error',
+		buttonSize: 'default'
+	}).then(() => {
+		deleteItem(ids)
+	})
 }
 
 const openDetail = (row: any) => {

+ 10 - 2
src/views/message/list/my.vue

@@ -56,7 +56,7 @@ import { useTablePage } from '@/hooks/useTablePage'
 import MessageDetail from './detail.vue'
 import { useRoute } from 'vue-router'
 import { Delete } from '@element-plus/icons-vue'
-import { ElMessage } from 'element-plus'
+import { ElMessage, ElMessageBox } from 'element-plus'
 
 const route = useRoute()
 const visibleDetail = ref(false) // 权限设置弹窗显示隐藏
@@ -155,6 +155,7 @@ const deleteItem = async ids => {
 	try {
 		await message.messageDeleteApi(ids)
 		updateParams()
+		ElMessage.success(`删除成功~`)
 	} catch (e) {
 		console.log('删除失败')
 		ElMessage.error(`删除失败~`)
@@ -169,7 +170,14 @@ const table_del = row => {
 //批量删除
 const batch_del = () => {
 	const ids = curSelectionRows.value.map(item => item.id) // 多选数据
-	deleteItem(ids)
+	ElMessageBox.confirm('是否删除选中数据?', '提示', {
+		confirmButtonText: '确认',
+		cancelButtonText: '取消',
+		type: 'error',
+		buttonSize: 'default'
+	}).then(() => {
+		deleteItem(ids)
+	})
 }
 
 const openDetail = (row: any) => {

+ 10 - 2
src/views/setting/app/index.vue

@@ -64,7 +64,7 @@
 <script lang="tsx" setup>
 import app from '@/api/system/app'
 import { computed, nextTick, ref, watch } from 'vue'
-import { ElMessage, ElTree } from 'element-plus'
+import { ElMessage, ElMessageBox, ElTree } from 'element-plus'
 import { useTablePage } from '@/hooks/useTablePage'
 import { Plus, Delete } from '@element-plus/icons-vue'
 import StatusIndicator from '@/components/StatusIndicator'
@@ -241,6 +241,7 @@ const { searchData, tableOpts, checkedColumns, activeColumns, curSelectionRows,
 const deleteItem = async ids => {
 	try {
 		await app.appDeleteApi(ids)
+		ElMessage.success(`删除成功~`)
 		updateParams()
 	} catch (e) {
 		console.log('删除失败')
@@ -256,7 +257,14 @@ const table_del = row => {
 //批量删除
 const batch_del = () => {
 	const ids = curSelectionRows.value.map(item => item.id) // 多选数据
-	deleteItem(ids)
+	ElMessageBox.confirm('是否删除选中数据?', '提示', {
+		confirmButtonText: '确认',
+		cancelButtonText: '取消',
+		type: 'error',
+		buttonSize: 'default'
+	}).then(() => {
+		deleteItem(ids)
+	})
 }
 
 const table_edit = async row => {

+ 10 - 2
src/views/setting/configure/index.vue

@@ -64,7 +64,7 @@
 <script lang="tsx" setup>
 import configure from '@/api/system/configure'
 import { computed, nextTick, ref, watch } from 'vue'
-import { ElMessage, ElTree } from 'element-plus'
+import { ElMessage, ElMessageBox, ElTree } from 'element-plus'
 import { useTablePage } from '@/hooks/useTablePage'
 import { Plus, Delete } from '@element-plus/icons-vue'
 import StatusIndicator from '@/components/StatusIndicator'
@@ -228,6 +228,7 @@ const { searchData, tableOpts, checkedColumns, activeColumns, curSelectionRows,
 const deleteItem = async ids => {
 	try {
 		await configure.configureDeleteApi(ids)
+		ElMessage.success(`删除成功~`)
 		updateParams()
 	} catch (e) {
 		console.log('删除失败')
@@ -243,7 +244,14 @@ const table_del = row => {
 //批量删除
 const batch_del = () => {
 	const ids = curSelectionRows.value.map(item => item.id) // 多选数据
-	deleteItem(ids)
+	ElMessageBox.confirm('是否删除选中数据?', '提示', {
+		confirmButtonText: '确认',
+		cancelButtonText: '取消',
+		type: 'error',
+		buttonSize: 'default'
+	}).then(() => {
+		deleteItem(ids)
+	})
 }
 
 const table_edit = async row => {

+ 10 - 2
src/views/setting/department/index.vue

@@ -64,7 +64,7 @@
 <script lang="tsx" setup>
 import department from '@/api/system/department'
 import { computed, nextTick, ref, watch } from 'vue'
-import { ElMessage, ElTree } from 'element-plus'
+import {ElMessage, ElMessageBox, ElTree} from 'element-plus'
 import { useTablePage } from '@/hooks/useTablePage'
 import { Plus, Delete } from '@element-plus/icons-vue'
 import StatusIndicator from '@/components/StatusIndicator'
@@ -275,6 +275,7 @@ const { searchData, tableOpts, checkedColumns, activeColumns, updateParams } = u
 const deleteItem = async ids => {
 	try {
 		await department.departmentDeleteApi(ids)
+    ElMessage.success(`删除成功~`)
 		updateParams()
 	} catch (e) {
 		console.log('删除失败')
@@ -290,7 +291,14 @@ const table_del = row => {
 //批量删除
 const batch_del = () => {
 	const ids = curSelectionRows.value.map(item => item.id) // 多选数据
-	deleteItem(ids)
+  ElMessageBox.confirm('是否删除选中数据?', '提示', {
+    confirmButtonText: '确认',
+    cancelButtonText: '取消',
+    type: 'error',
+    buttonSize: 'default'
+  }).then(() => {
+    deleteItem(ids)
+  })
 }
 
 const table_edit = async row => {

+ 14 - 11
src/views/setting/dict/index.vue

@@ -32,7 +32,9 @@
 					</el-tree>
 				</el-main>
 				<el-footer style="height: 51px">
-					<el-button type="primary" icon="el-icon-plus" style="width: 100%" @click="addHandler('tree')">字典分类</el-button>
+					<el-button type="primary" style="width: 100%" @click="addHandler('tree')">
+						<el-icon><Plus /></el-icon>字典分类</el-button
+					>
 				</el-footer>
 			</el-container>
 		</el-aside>
@@ -292,12 +294,9 @@ const deleteItem = async ids => {
 			getGroup()
 		}
 		updateParams()
-		ElMessage({
-			type: 'success',
-			message: '操作成功'
-		})
+		ElMessage.success(`删除成功~`)
 	} catch (e) {
-		console.log('删除失败')
+		ElMessage.error(`删除失败~`)
 	}
 }
 
@@ -309,7 +308,14 @@ const table_del = row => {
 //批量删除
 const batch_del = () => {
 	const ids = curSelectionRows.value.map(item => item.id) // 多选数据
-	deleteItem(ids)
+	ElMessageBox.confirm('是否删除选中数据?', '提示', {
+		confirmButtonText: '确认',
+		cancelButtonText: '取消',
+		type: 'error',
+		buttonSize: 'default'
+	}).then(() => {
+		deleteItem(ids)
+	})
 }
 
 const table_edit = async row => {
@@ -351,10 +357,7 @@ const dictDel = (node, data) => {
 			try {
 				deleteItem([data.id])
 			} catch (e) {
-				ElMessage({
-					type: 'error',
-					message: '操作失败'
-				})
+				ElMessage.error(`删除失败~`)
 			}
 		})
 		.catch(() => {})

+ 1 - 1
src/views/setting/menu/index.vue

@@ -150,7 +150,7 @@ const delMenu = () => {
 				ElMessage.success('操作成功')
 			} catch (e) {
 				menuLoading.value = false
-				ElMessage.success('操作失败')
+				ElMessage.error('操作失败')
 				console.log('删除左侧菜单失败', e)
 			}
 		})

+ 11 - 3
src/views/setting/post/index.vue

@@ -19,7 +19,7 @@
 							<Plus />
 						</el-icon>
 					</el-button>
-					<el-button type="danger" @click="batch_del" :disabled="curSelectionRows.length === 0">
+					<el-button type="danger" :disabled="curSelectionRows.length === 0" @click="batch_del">
 						<el-icon class="btn-icon">
 							<Delete />
 						</el-icon>
@@ -64,7 +64,7 @@
 <script lang="tsx" setup>
 import post from '@/api/system/post'
 import { computed, nextTick, ref, watch } from 'vue'
-import { ElMessage, ElTree } from 'element-plus'
+import { ElMessage, ElMessageBox, ElTree } from 'element-plus'
 import { useTablePage } from '@/hooks/useTablePage'
 import { Plus, Delete } from '@element-plus/icons-vue'
 import StatusIndicator from '@/components/StatusIndicator'
@@ -233,6 +233,7 @@ const { searchData, tableOpts, checkedColumns, activeColumns, curSelectionRows,
 const deleteItem = async ids => {
 	try {
 		await post.postDeleteApi(ids)
+		ElMessage.error(`删除成功~`)
 		updateParams()
 	} catch (e) {
 		console.log('删除失败')
@@ -248,7 +249,14 @@ const table_del = row => {
 //批量删除
 const batch_del = () => {
 	const ids = curSelectionRows.value.map(item => item.id) // 多选数据
-	deleteItem(ids)
+	ElMessageBox.confirm('是否删除选中数据?', '提示', {
+		confirmButtonText: '确认',
+		cancelButtonText: '取消',
+		type: 'error',
+		buttonSize: 'default'
+	}).then(() => {
+		deleteItem(ids)
+	})
 }
 
 const table_edit = async row => {

+ 10 - 2
src/views/setting/region/index.vue

@@ -65,7 +65,7 @@
 <script lang="tsx" setup>
 import region from '@/api/system/region'
 import { computed, nextTick, ref, watch } from 'vue'
-import { ElMessage, ElTree } from 'element-plus'
+import { ElMessage, ElMessageBox, ElTree } from 'element-plus'
 import { useTablePage } from '@/hooks/useTablePage'
 import { Plus, Delete } from '@element-plus/icons-vue'
 
@@ -249,6 +249,7 @@ const { searchData, tableOpts, checkedColumns, activeColumns, updateParams } = u
 const deleteItem = async ids => {
 	try {
 		await region.regionDeleteApi(ids)
+		ElMessage.success(`删除成功~`)
 		updateParams()
 	} catch (e) {
 		console.log('删除失败')
@@ -264,7 +265,14 @@ const table_del = row => {
 //批量删除
 const batch_del = () => {
 	const ids = curSelectionRows.value.map(item => item.id) // 多选数据
-	deleteItem(ids)
+	ElMessageBox.confirm('是否删除选中数据?', '提示', {
+		confirmButtonText: '确认',
+		cancelButtonText: '取消',
+		type: 'error',
+		buttonSize: 'default'
+	}).then(() => {
+		deleteItem(ids)
+	})
 }
 
 const table_edit = async row => {

+ 12 - 4
src/views/setting/role/index.vue

@@ -19,7 +19,7 @@
 							<Plus />
 						</el-icon>
 					</el-button>
-					<el-button type="danger" @click="batch_del" :disabled="curSelectionRows.length === 0">
+					<el-button type="danger" :disabled="curSelectionRows.length === 0" @click="batch_del">
 						<el-icon class="btn-icon">
 							<Delete />
 						</el-icon>
@@ -66,8 +66,8 @@
 		<!-- 权限设置 -->
 		<Permission
 			v-if="visiblePermission"
-			:role-id="curSelectionRows.map(item => item.id).join(',')"
 			v-model="visiblePermission"
+			:role-id="curSelectionRows.map(item => item.id).join(',')"
 			@closed="visiblePermission = false"
 		/>
 	</div>
@@ -75,7 +75,7 @@
 <script lang="tsx" setup>
 import role from '@/api/system/role'
 import { computed, nextTick, ref, watch } from 'vue'
-import { ElMessage, ElTree } from 'element-plus'
+import { ElMessage, ElMessageBox, ElTree } from 'element-plus'
 import { useTablePage } from '@/hooks/useTablePage'
 import { Plus, Delete } from '@element-plus/icons-vue'
 import StatusIndicator from '@/components/StatusIndicator'
@@ -244,6 +244,7 @@ const { searchData, tableOpts, checkedColumns, activeColumns, curSelectionRows,
 const deleteItem = async ids => {
 	try {
 		await role.roleDeleteApi(ids)
+		ElMessage.success(`删除成功~`)
 		updateParams()
 	} catch (e) {
 		console.log('删除失败')
@@ -259,7 +260,14 @@ const table_del = row => {
 //批量删除
 const batch_del = () => {
 	const ids = curSelectionRows.value.map(item => item.id) // 多选数据
-	deleteItem(ids)
+	ElMessageBox.confirm('是否删除选中数据?', '提示', {
+		confirmButtonText: '确认',
+		cancelButtonText: '取消',
+		type: 'error',
+		buttonSize: 'default'
+	}).then(() => {
+		deleteItem(ids)
+	})
 }
 
 const table_edit = async row => {

+ 1 - 1
src/views/setting/user/assign-role.vue

@@ -1,5 +1,5 @@
 <template>
-	<el-dialog class="le-dialog" v-model="visibleDialog" :title="`分配${currentTypeFlag ? '角色' : '部门'}`" :width="550" destroy-on-close @closed="handleCancel">
+	<el-dialog class="le-dialog" v-model="visibleDialog" :title="`分配${currentTypeFlag ? '角色' : '部门'}`" destroy-on-close @closed="handleCancel">
 		<el-select v-model="roleIds" style="width: 500px" multiple filterable :placeholder="`请选择分配${currentTypeFlag ? '角色' : '部门'}`">
 			<el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id">
 				<span style="float: left">{{ item.name }}</span>

+ 11 - 3
src/views/setting/user/index.vue

@@ -95,7 +95,7 @@
 			v-model="assignRoleVisibile"
 			:user-ids="curSelectionRows.map(item => item.id)"
 			:type-model="typeModel"
-			@successFn="updateParams()"
+			@success-fn="updateParams()"
 			@closed="assignRoleVisibile = false"
 		></assign-role-dialog>
 
@@ -113,7 +113,7 @@ import role from '@/api/system/role'
 import user from '@/api/system/user'
 import department from '@/api/system/department'
 import { computed, nextTick, ref, watch } from 'vue'
-import { ElMessage, ElTree } from 'element-plus'
+import { ElMessage, ElMessageBox, ElTree } from 'element-plus'
 import { useTablePage } from '@/hooks/useTablePage'
 import { Plus, Delete } from '@element-plus/icons-vue'
 import StatusIndicator from '@/components/StatusIndicator'
@@ -387,6 +387,7 @@ const { searchData, tableOpts, checkedColumns, activeColumns, curSelectionRows,
 const deleteItem = async ids => {
 	try {
 		await user.userDeleteApi(ids)
+		ElMessage.success(`删除成功~`)
 		updateParams()
 	} catch (e) {
 		console.log('删除失败')
@@ -402,7 +403,14 @@ const table_del = row => {
 //批量删除
 const batch_del = () => {
 	const ids = curSelectionRows.value.map(item => item.id) // 多选数据
-	deleteItem(ids)
+	ElMessageBox.confirm('是否删除选中数据?', '提示', {
+		confirmButtonText: '确认',
+		cancelButtonText: '取消',
+		type: 'error',
+		buttonSize: 'default'
+	}).then(() => {
+		deleteItem(ids)
+	})
 }
 
 const table_edit = async row => {