mirror of
				https://gitee.com/hhyykk/ipms-sjy-ui.git
				synced 2025-10-31 10:18:43 +08:00 
			
		
		
		
	邮箱账号,增加详情弹窗
This commit is contained in:
		
							
								
								
									
										26
									
								
								src/views/system/mail/account/MailAccountDetail.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								src/views/system/mail/account/MailAccountDetail.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| <template> | ||||
|   <Dialog title="详情" v-model="dialogVisible"> | ||||
|     <Descriptions :schema="allSchemas.detailSchema" :data="detailData" /> | ||||
|   </Dialog> | ||||
| </template> | ||||
| <script setup lang="ts"> | ||||
| import * as MailAccountApi from '@/api/system/mail/account' | ||||
| import { allSchemas } from './account.data' | ||||
|  | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const detailLoading = ref(false) // 表单的加载中 | ||||
| const detailData = ref() // 详情数据 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (id: number) => { | ||||
|   dialogVisible.value = true | ||||
|   // 设置数据 | ||||
|   detailLoading.value = true | ||||
|   try { | ||||
|     detailData.value = await MailAccountApi.getMailAccount(id) | ||||
|   } finally { | ||||
|     detailLoading.value = false | ||||
|   } | ||||
| } | ||||
| defineExpose({ open }) // 提供 open 方法,用于打开弹窗 | ||||
| </script> | ||||
| @@ -61,12 +61,16 @@ const crudSchemas = reactive<CrudSchema[]>([ | ||||
|     label: '创建时间', | ||||
|     field: 'createTime', | ||||
|     isForm: false, | ||||
|     formatter: dateFormatter | ||||
|     formatter: dateFormatter, | ||||
|     detail: { | ||||
|       dateFormat: 'YYYY-MM-DD HH:mm:ss' | ||||
|     } | ||||
|   }, | ||||
|   { | ||||
|     label: '操作', | ||||
|     field: 'action', | ||||
|     isForm: false | ||||
|     isForm: false, | ||||
|     isDetail: false | ||||
|   } | ||||
| ]) | ||||
| export const { allSchemas } = useCrudSchemas(crudSchemas) | ||||
|   | ||||
| @@ -39,6 +39,14 @@ | ||||
|         > | ||||
|           编辑 | ||||
|         </el-button> | ||||
|         <el-button | ||||
|           link | ||||
|           type="primary" | ||||
|           @click="openDetail(row.id)" | ||||
|           v-hasPermi="['system:mail-account:query']" | ||||
|         > | ||||
|           详情 | ||||
|         </el-button> | ||||
|         <el-button | ||||
|           link | ||||
|           type="danger" | ||||
| @@ -53,11 +61,14 @@ | ||||
|  | ||||
|   <!-- 表单弹窗:添加/修改 --> | ||||
|   <MailAccountForm ref="formRef" @success="getList" /> | ||||
|   <!-- 详情弹窗 --> | ||||
|   <MailAccountDetail ref="detailRef" /> | ||||
| </template> | ||||
| <script setup lang="ts" name="MailAccount"> | ||||
| import { allSchemas } from './account.data' | ||||
| import * as MailAccountApi from '@/api/system/mail/account' | ||||
| import MailAccountForm from './MailAccountForm.vue' | ||||
| import MailAccountDetail from './MailAccountDetail.vue' | ||||
|  | ||||
| // tableObject:表格的属性对象,可获得分页大小、条数等属性 | ||||
| // tableMethods:表格的操作对象,可进行获得分页、删除记录等操作 | ||||
| @@ -75,6 +86,12 @@ const openForm = (type: string, id?: number) => { | ||||
|   formRef.value.open(type, id) | ||||
| } | ||||
|  | ||||
| /** 详情操作 */ | ||||
| const detailRef = ref() | ||||
| const openDetail = (id: number) => { | ||||
|   detailRef.value.open(id) | ||||
| } | ||||
|  | ||||
| /** 删除按钮操作 */ | ||||
| const handleDelete = (id: number) => { | ||||
|   tableMethods.delList(id, false) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV