mirror of
				https://gitee.com/hhyykk/ipms-sjy-ui.git
				synced 2025-11-01 02:38:44 +08:00 
			
		
		
		
	1. 统一删除 dialog-footer,包括代码生成的模版
2. 查询参数列表,改下 3. 简化 formatDate 4. 看看是不是有部分新增的 plain 不对 5. modelVisible 改成 dialogVisible?modelTitle 改成 dialogTitle
This commit is contained in:
		| @@ -44,6 +44,6 @@ export const deleteDictData = (id: number) => { | ||||
| } | ||||
|  | ||||
| // 导出字典类型数据 | ||||
| export const exportDictDataApi = (params) => { | ||||
| export const exportDictData = (params) => { | ||||
|   return request.get({ url: '/system/dict-data/export', params }) | ||||
| } | ||||
|   | ||||
| @@ -11,7 +11,7 @@ | ||||
|   </ContentWrap> | ||||
|  | ||||
|   <!-- 表单保存的弹窗 --> | ||||
|   <Dialog title="保存表单" v-model="modelVisible" width="600"> | ||||
|   <Dialog title="保存表单" v-model="dialogVisible" width="600"> | ||||
|     <el-form ref="formRef" :model="formData" :rules="formRules" label-width="80px"> | ||||
|       <el-form-item label="表单名" prop="name"> | ||||
|         <el-input v-model="formData.name" placeholder="请输入表单名" /> | ||||
| @@ -33,7 +33,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -48,7 +48,7 @@ const message = useMessage() // 消息 | ||||
| const { query } = useRoute() // 路由 | ||||
|  | ||||
| const designer = ref() // 表单设计器 | ||||
| const modelVisible = ref(false) // 弹窗是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗是否展示 | ||||
| const formLoading = ref(false) // 表单的加载中:提交的按钮禁用 | ||||
| const formData = ref({ | ||||
|   name: '', | ||||
| @@ -63,7 +63,7 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 处理保存按钮 */ | ||||
| const handleSave = () => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
| } | ||||
|  | ||||
| /** 提交表单 */ | ||||
| @@ -85,7 +85,7 @@ const submitForm = async () => { | ||||
|       await FormApi.updateForm(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|   } finally { | ||||
|     formLoading.value = false | ||||
|   } | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|       <el-form-item> | ||||
|         <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> | ||||
|         <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> | ||||
|         <el-button type="primary" @click="openForm()" v-hasPermi="['bpm:form:create']"> | ||||
|         <el-button type="primary" plain @click="openForm" v-hasPermi="['bpm:form:create']"> | ||||
|           <Icon icon="ep:plus" class="mr-5px" /> 新增 | ||||
|         </el-button> | ||||
|       </el-form-item> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -37,7 +37,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -50,8 +50,8 @@ import * as UserApi from '@/api/system/user' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -72,8 +72,8 @@ const userList = ref([]) // 用户列表 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -108,7 +108,7 @@ const submitForm = async () => { | ||||
|       await UserGroupApi.updateUserGroup(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -43,6 +43,7 @@ | ||||
|         <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> | ||||
|         <el-button | ||||
|           type="primary" | ||||
|           plain | ||||
|           @click="openForm('create')" | ||||
|           v-hasPermi="['bpm:user-group:create']" | ||||
|         > | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible" width="600"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible" width="600"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -117,7 +117,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -129,8 +129,8 @@ import * as FormApi from '@/api/bpm/form' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -154,8 +154,8 @@ const formList = ref([]) // 流程表单的下拉框的数据 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -203,7 +203,7 @@ const submitForm = async () => { | ||||
|       await ModelApi.updateModel(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="导入流程" v-model="modelVisible" width="400"> | ||||
|   <Dialog title="导入流程" v-model="dialogVisible" width="400"> | ||||
|     <div> | ||||
|       <el-upload | ||||
|         ref="uploadRef" | ||||
| @@ -45,7 +45,7 @@ | ||||
|     </div> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -53,7 +53,7 @@ | ||||
| import { getAccessToken, getTenantId } from '@/utils/auth' | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const formLoading = ref(false) // 表单的加载中 | ||||
| const formData = ref({ | ||||
|   key: '', | ||||
| @@ -72,7 +72,7 @@ const fileList = ref([]) // 文件列表 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async () => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   resetForm() | ||||
| } | ||||
| defineExpose({ open }) // 提供 open 方法,用于打开弹窗 | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="转派审批人" v-model="modelVisible" width="500"> | ||||
|   <Dialog title="转派审批人" v-model="dialogVisible" width="500"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -20,7 +20,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -28,7 +28,7 @@ | ||||
| import * as TaskApi from '@/api/bpm/task' | ||||
| import * as UserApi from '@/api/system/user' | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const formLoading = ref(false) // 表单的加载中 | ||||
| const formData = ref({ | ||||
|   id: '', | ||||
| @@ -43,7 +43,7 @@ const userList = ref<any[]>([]) // 用户列表 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (id: string) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   resetForm() | ||||
|   formData.value.id = id | ||||
|   // 获得用户列表 | ||||
| @@ -62,7 +62,7 @@ const submitForm = async () => { | ||||
|   formLoading.value = true | ||||
|   try { | ||||
|     await TaskApi.updateTaskAssignee(formData.value) | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="修改任务规则" v-model="modelVisible" width="600"> | ||||
|   <Dialog title="修改任务规则" v-model="dialogVisible" width="600"> | ||||
|     <el-form ref="formRef" :model="formData" :rules="formRules" label-width="80px"> | ||||
|       <el-form-item label="任务名称" prop="taskDefinitionName"> | ||||
|         <el-input v-model="formData.taskDefinitionName" placeholder="请输入流标标识" disabled /> | ||||
| @@ -93,7 +93,7 @@ | ||||
|     <!-- 操作按钮 --> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -109,7 +109,7 @@ import * as UserGroupApi from '@/api/bpm/userGroup' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formData = ref({ | ||||
|   type: Number(undefined), | ||||
| @@ -171,7 +171,7 @@ const open = async (modelId: string, row: TaskAssignRuleApi.TaskAssignVO) => { | ||||
|     formData.value.scripts.push(...row.options) | ||||
|   } | ||||
|   // 打开弹窗 | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|  | ||||
|   // 获得角色列表 | ||||
|   roleOptions.value = await RoleApi.getSimpleRoleList() | ||||
| @@ -232,7 +232,7 @@ const submitForm = async () => { | ||||
|       await TaskAssignRuleApi.updateTaskAssignRule(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="详情" v-model="modelVisible" :scroll="true" :max-height="500" width="800"> | ||||
|   <Dialog title="详情" v-model="dialogVisible" :scroll="true" :max-height="500" width="800"> | ||||
|     <el-descriptions border :column="1"> | ||||
|       <el-descriptions-item label="日志主键" min-width="120"> | ||||
|         {{ detailData.id }} | ||||
| @@ -45,13 +45,13 @@ import { DICT_TYPE } from '@/utils/dict' | ||||
| import { formatDate } from '@/utils/formatTime' | ||||
| import * as ApiAccessLog from '@/api/infra/apiAccessLog' | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const detailLoading = ref(false) // 表单地加载中 | ||||
| const detailData = ref() // 详情数据 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (data: ApiAccessLog.ApiAccessLogVO) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   // 设置数据 | ||||
|   detailLoading.value = true | ||||
|   try { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="详情" v-model="modelVisible" :scroll="true" :max-height="500" width="800"> | ||||
|   <Dialog title="详情" v-model="dialogVisible" :scroll="true" :max-height="500" width="800"> | ||||
|     <el-descriptions border :column="1"> | ||||
|       <el-descriptions-item label="日志主键" min-width="120"> | ||||
|         {{ detailData.id }} | ||||
| @@ -60,13 +60,13 @@ import { DICT_TYPE } from '@/utils/dict' | ||||
| import { formatDate } from '@/utils/formatTime' | ||||
| import * as ApiErrorLog from '@/api/infra/apiErrorLog' | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const detailLoading = ref(false) // 表单的加载中 | ||||
| const detailData = ref() // 详情数据 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (data: ApiErrorLog.ApiErrorLogVO) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   // 设置数据 | ||||
|   detailLoading.value = true | ||||
|   try { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="导入表" v-model="modelVisible" width="800px"> | ||||
|   <Dialog title="导入表" v-model="dialogVisible" width="800px"> | ||||
|     <!-- 搜索栏 --> | ||||
|     <el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px"> | ||||
|       <el-form-item label="数据源" prop="dataSourceConfigId"> | ||||
| @@ -69,7 +69,7 @@ import * as DataSourceConfigApi from '@/api/infra/dataSourceConfig' | ||||
| import { ElTable } from 'element-plus' | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dbTableLoading = ref(true) // 数据源的加载中 | ||||
| const dbTableList = ref<CodegenApi.DatabaseTableVO[]>([]) // 表的列表 | ||||
| const queryParams = reactive({ | ||||
| @@ -103,7 +103,7 @@ const open = async () => { | ||||
|   // 加载数据源的列表 | ||||
|   dataSourceConfigList.value = await DataSourceConfigApi.getDataSourceConfigList() | ||||
|   queryParams.dataSourceConfigId = dataSourceConfigList.value[0].id as number | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   // 加载表的列表 | ||||
|   await getList() | ||||
| } | ||||
| @@ -111,7 +111,7 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗 | ||||
|  | ||||
| /** 关闭弹窗 */ | ||||
| const close = () => { | ||||
|   modelVisible.value = false | ||||
|   dialogVisible.value = false | ||||
|   tableList.value = [] | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| <template> | ||||
|   <Dialog | ||||
|     title="代码预览" | ||||
|     v-model="modelVisible" | ||||
|     v-model="dialogVisible" | ||||
|     align-center | ||||
|     width="80%" | ||||
|     class="app-infra-codegen-preview-container" | ||||
| @@ -61,7 +61,7 @@ import * as CodegenApi from '@/api/infra/codegen' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const loading = ref(false) // 加载中的状态 | ||||
| const preview = reactive({ | ||||
|   fileTree: [], // 文件树 | ||||
| @@ -86,7 +86,7 @@ interface filesType { | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (id: number) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   try { | ||||
|     loading.value = true | ||||
|     // 生成代码 | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -36,7 +36,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -47,8 +47,8 @@ import * as ConfigApi from '@/api/infra/config' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -71,8 +71,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const openModal = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -105,7 +105,7 @@ const submitForm = async () => { | ||||
|       await ConfigApi.updateConfig(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -55,7 +55,12 @@ | ||||
|       <el-form-item> | ||||
|         <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> | ||||
|         <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> | ||||
|         <el-button type="primary" @click="openModal('create')" v-hasPermi="['infra:config:create']"> | ||||
|         <el-button | ||||
|           type="primary" | ||||
|           plain | ||||
|           @click="openModal('create')" | ||||
|           v-hasPermi="['infra:config:create']" | ||||
|         > | ||||
|           <Icon icon="ep:plus" class="mr-5px" /> 新增 | ||||
|         </el-button> | ||||
|         <el-button | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -22,7 +22,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -32,8 +32,8 @@ import * as DataSourceConfigApi from '@/api/infra/dataSourceConfig' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref<DataSourceConfigApi.DataSourceConfigVO>({ | ||||
| @@ -53,8 +53,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const openModal = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -87,7 +87,7 @@ const submitForm = async () => { | ||||
|       await DataSourceConfigApi.updateDataSourceConfig(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -5,6 +5,7 @@ | ||||
|       <el-form-item> | ||||
|         <el-button | ||||
|           type="primary" | ||||
|           plain | ||||
|           @click="openModal('create')" | ||||
|           v-hasPermi="['infra:data-source-config:create']" | ||||
|         > | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-upload | ||||
|       ref="uploadRef" | ||||
|       :limit="1" | ||||
| @@ -24,7 +24,7 @@ | ||||
|     </el-upload> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitFileForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -36,8 +36,8 @@ import { getAccessToken } from '@/utils/auth' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const url = import.meta.env.VITE_UPLOAD_URL | ||||
| const headers = { Authorization: 'Bearer ' + getAccessToken() } | ||||
| @@ -46,8 +46,8 @@ const uploadRef = ref() | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const openModal = async () => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.fileUpload') | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.fileUpload') | ||||
| } | ||||
| defineExpose({ openModal }) // 提供 openModal 方法,用于打开弹窗 | ||||
|  | ||||
| @@ -71,7 +71,7 @@ const submitFileForm = () => { | ||||
| /** 文件上传成功处理 */ | ||||
| const handleFileSuccess = () => { | ||||
|   // 清理 | ||||
|   modelVisible.value = false | ||||
|   dialogVisible.value = false | ||||
|   formLoading.value = false | ||||
|   unref(uploadRef)?.clearFiles() | ||||
|   // 提示成功,并刷新 | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -94,7 +94,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -105,8 +105,8 @@ import * as FileConfigApi from '@/api/infra/fileConfig' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -137,8 +137,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const openModal = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -171,7 +171,7 @@ const submitForm = async () => { | ||||
|       await FileConfigApi.updateFileConfig(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -35,6 +35,7 @@ | ||||
|         <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> | ||||
|         <el-button | ||||
|           type="primary" | ||||
|           plain | ||||
|           @click="openModal('create')" | ||||
|           v-hasPermi="['infra:file-config:create']" | ||||
|         > | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="任务详细" v-model="modelVisible" width="700px"> | ||||
|   <Dialog title="任务详细" v-model="dialogVisible" width="700px"> | ||||
|     <el-descriptions border :column="1"> | ||||
|       <el-descriptions-item label="任务编号" min-width="60"> | ||||
|         {{ detailData.id }} | ||||
| @@ -47,14 +47,14 @@ import { DICT_TYPE } from '@/utils/dict' | ||||
| import { formatDate } from '@/utils/formatTime' | ||||
| import * as JobApi from '@/api/infra/job' | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const detailLoading = ref(false) // 表单的加载中 | ||||
| const detailData = ref({}) // 详情数据 | ||||
| const nextTimes = ref([]) // 下一轮执行时间的数组 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (id: number) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   // 查看,设置数据 | ||||
|   if (id) { | ||||
|     detailLoading.value = true | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -41,7 +41,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button type="primary" @click="submitForm" :loading="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -50,8 +50,8 @@ import * as JobApi from '@/api/infra/job' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -72,8 +72,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -106,7 +106,7 @@ const submitForm = async () => { | ||||
|       await JobApi.updateJob(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="任务详细" v-model="modelVisible" width="700px"> | ||||
|   <Dialog title="任务详细" v-model="dialogVisible" width="700px"> | ||||
|     <el-descriptions border :column="1"> | ||||
|       <el-descriptions-item label="日志编号" min-width="60"> | ||||
|         {{ detailData.id }} | ||||
| @@ -36,13 +36,13 @@ import { DICT_TYPE } from '@/utils/dict' | ||||
| import { formatDate } from '@/utils/formatTime' | ||||
| import * as JobLogApi from '@/api/infra/jobLog' | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const detailLoading = ref(false) // 表单的加载中 | ||||
| const detailData = ref({}) // 详情数据 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (id: number) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   // 查看,设置数据 | ||||
|   if (id) { | ||||
|     detailLoading.value = true | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -46,7 +46,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -58,8 +58,8 @@ import * as ProductCategoryApi from '@/api/mall/product/category' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -81,8 +81,8 @@ const categoryTree = ref<any[]>([]) // 分类树 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -117,7 +117,7 @@ const submitForm = async () => { | ||||
|       await ProductCategoryApi.updateCategory(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -17,7 +17,7 @@ | ||||
|     <template #footer> | ||||
|       <div class="dialog-footer"> | ||||
|         <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|         <el-button @click="modelVisible = false">取 消</el-button> | ||||
|         <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|       </div> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| @@ -27,8 +27,8 @@ import * as PropertyApi from '@/api/mall/product/property' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -42,8 +42,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -76,7 +76,7 @@ const submitForm = async () => { | ||||
|       await PropertyApi.updateProperty(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -110,7 +110,7 @@ const queryParams = reactive({ | ||||
| }) | ||||
| const queryFormRef = ref() // 搜索的表单 | ||||
|  | ||||
| /** 查询参数列表 */ | ||||
| /** 查询列表 */ | ||||
| const getList = async () => { | ||||
|   loading.value = true | ||||
|   try { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -19,7 +19,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -28,8 +28,8 @@ import * as PropertyApi from '@/api/mall/product/property' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -46,8 +46,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, propertyId: number, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   formData.value.propertyId = propertyId | ||||
| @@ -81,7 +81,7 @@ const submitForm = async () => { | ||||
|       await PropertyApi.updatePropertyValue(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -108,7 +108,7 @@ const queryParams = reactive({ | ||||
| const queryFormRef = ref() // 搜索的表单 | ||||
| const propertyOptions = ref([]) // 属性项的列表 | ||||
|  | ||||
| /** 查询参数列表 */ | ||||
| /** 查询列表 */ | ||||
| const getList = async () => { | ||||
|   loading.value = true | ||||
|   try { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -64,7 +64,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -73,8 +73,8 @@ import * as AccountApi from '@/api/mp/account' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -98,8 +98,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -132,7 +132,7 @@ const submitForm = async () => { | ||||
|       await AccountApi.updateAccount(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -13,7 +13,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -22,8 +22,8 @@ import * as MpTagApi from '@/api/mp/tag' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -37,8 +37,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, accountId: number, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   formData.value.accountId = accountId | ||||
| @@ -72,7 +72,7 @@ const submitForm = async () => { | ||||
|       await MpTagApi.updateTag(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form ref="formRef" :model="formData" :rules="formRules" label-width="80px"> | ||||
|       <el-form-item label="商户全称" prop="name"> | ||||
|         <el-input v-model="formData.name" placeholder="请输入商户全称" /> | ||||
| @@ -23,7 +23,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -34,8 +34,8 @@ import { CommonStatusEnum } from '@/utils/constants' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -54,8 +54,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -88,7 +88,7 @@ const submitForm = async () => { | ||||
|       await MerchantApi.updateMerchant(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="IP 查询" v-model="modelVisible"> | ||||
|   <Dialog title="IP 查询" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -16,7 +16,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -24,7 +24,7 @@ | ||||
| import * as AreaApi from '@/api/system/area' | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const formLoading = ref(false) // 表单的加载中:提交的按钮禁用 | ||||
| const formData = ref({ | ||||
|   ip: '', | ||||
| @@ -37,7 +37,7 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const openModal = async () => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   resetForm() | ||||
| } | ||||
| defineExpose({ openModal }) // 提供 openModal 方法,用于打开弹窗 | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| <template> | ||||
|   <!-- 操作栏 --> | ||||
|   <content-wrap> | ||||
|     <el-button type="primary" @click="openModal()"> | ||||
|     <el-button type="primary" plain @click="openModal()"> | ||||
|       <Icon icon="ep:plus" class="mr-5px" /> IP 查询 | ||||
|     </el-button> | ||||
|   </content-wrap> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -58,7 +58,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button type="primary" @click="submitForm">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -71,8 +71,8 @@ import { CommonStatusEnum } from '@/utils/constants' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -101,8 +101,8 @@ const userList = ref<UserApi.UserVO[]>([]) // 用户列表 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -139,7 +139,7 @@ const submitForm = async () => { | ||||
|       await DeptApi.updateDeptApi(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -51,13 +51,7 @@ | ||||
|  | ||||
|   <!-- 列表 --> | ||||
|   <ContentWrap> | ||||
|     <el-table | ||||
|       v-loading="loading" | ||||
|       :data="list" | ||||
|       row-key="id" | ||||
|       default-expand-all | ||||
|       v-if="refreshTable" | ||||
|     > | ||||
|     <el-table v-loading="loading" :data="list" row-key="id" default-expand-all v-if="refreshTable"> | ||||
|       <el-table-column prop="name" label="部门名称" width="260" /> | ||||
|       <el-table-column prop="leader" label="负责人" width="120"> | ||||
|         <template #default="scope"> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -52,7 +52,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -63,8 +63,8 @@ import { CommonStatusEnum } from '@/utils/constants' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -115,8 +115,8 @@ const colorTypeOptions = readonly([ | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const openModal = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -149,7 +149,7 @@ const submitForm = async () => { | ||||
|       await DictDataApi.updateDictData(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -180,7 +180,7 @@ const handleExport = async () => { | ||||
|     await message.exportConfirm() | ||||
|     // 发起导出 | ||||
|     exportLoading.value = true | ||||
|     const data = await DictDataApi.exportDictDataApi(queryParams) | ||||
|     const data = await DictDataApi.exportDictData(queryParams) | ||||
|     download.excel(data, '字典数据.xls') | ||||
|   } catch { | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -34,7 +34,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -46,8 +46,8 @@ import { CommonStatusEnum } from '@/utils/constants' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -65,8 +65,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const openModal = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -99,7 +99,7 @@ const submitForm = async () => { | ||||
|       await DictTypeApi.updateDictType(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -41,7 +41,6 @@ | ||||
|           v-model="queryParams.createTime" | ||||
|           value-format="yyyy-MM-dd HH:mm:ss" | ||||
|           type="daterange" | ||||
|           range-separator="-" | ||||
|           start-placeholder="开始日期" | ||||
|           end-placeholder="结束日期" | ||||
|           :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" | ||||
| @@ -51,7 +50,12 @@ | ||||
|       <el-form-item> | ||||
|         <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> | ||||
|         <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> | ||||
|         <el-button type="primary" @click="openModal('create')" v-hasPermi="['system:dict:create']"> | ||||
|         <el-button | ||||
|           type="primary" | ||||
|           plain | ||||
|           @click="openModal('create')" | ||||
|           v-hasPermi="['system:dict:create']" | ||||
|         > | ||||
|           <Icon icon="ep:plus" class="mr-5px" /> 新增 | ||||
|         </el-button> | ||||
|         <el-button | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -22,7 +22,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -32,8 +32,8 @@ import * as ErrorCodeApi from '@/api/system/errorCode' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| // 表单参数 | ||||
| @@ -54,8 +54,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const openModal = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -88,7 +88,7 @@ const submitForm = async () => { | ||||
|       await ErrorCodeApi.updateErrorCodeApi(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -61,6 +61,7 @@ | ||||
|         <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> | ||||
|         <el-button | ||||
|           type="primary" | ||||
|           plain | ||||
|           @click="openModal('create')" | ||||
|           v-hasPermi="['system:error-code:create']" | ||||
|         > | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="详情" v-model="modelVisible" width="800"> | ||||
|   <Dialog title="详情" v-model="dialogVisible" width="800"> | ||||
|     <el-descriptions border :column="1"> | ||||
|       <el-descriptions-item label="日志编号" min-width="120"> | ||||
|         {{ detailData.id }} | ||||
| @@ -30,13 +30,13 @@ import { DICT_TYPE } from '@/utils/dict' | ||||
| import { formatDate } from '@/utils/formatTime' | ||||
| import * as LoginLogApi from '@/api/system/loginLog' | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const detailLoading = ref(false) // 表单的加载中 | ||||
| const detailData = ref() // 详情数据 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (data: LoginLogApi.LoginLogVO) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   // 设置数据 | ||||
|   detailLoading.value = true | ||||
|   try { | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <Form ref="formRef" :schema="allSchemas.formSchema" :rules="rules" v-loading="formLoading" /> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -14,16 +14,16 @@ import { rules, allSchemas } from './account.data' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const openModal = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   // 修改时,设置数据 | ||||
|   if (id) { | ||||
| @@ -56,7 +56,7 @@ const submitForm = async () => { | ||||
|       await MailAccountApi.updateMailAccount(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -6,6 +6,7 @@ | ||||
|       <template #actionMore> | ||||
|         <el-button | ||||
|           type="primary" | ||||
|           plain | ||||
|           @click="openModal('create')" | ||||
|           v-hasPermi="['system:mail-account:create']" | ||||
|         > | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="详情" v-model="modelVisible" :scroll="true" :max-height="500"> | ||||
|   <Dialog title="详情" v-model="dialogVisible" :scroll="true" :max-height="500"> | ||||
|     <Descriptions :schema="allSchemas.detailSchema" :data="detailData"> | ||||
|       <!-- 展示 HTML 内容 --> | ||||
|       <template #templateContent="{ row }"> | ||||
| @@ -12,13 +12,13 @@ | ||||
| import * as MailLogApi from '@/api/system/mail/log' | ||||
| import { allSchemas } from './log.data' | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const detailLoading = ref(false) // 表单的加载中 | ||||
| const detailData = ref() // 详情数据 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const openModal = async (id: number) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   // 设置数据 | ||||
|   detailLoading.value = true | ||||
|   try { | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible" :scroll="true" :width="800" :max-height="500"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible" :scroll="true" :width="800" :max-height="500"> | ||||
|     <Form ref="formRef" :schema="allSchemas.formSchema" :rules="rules" v-loading="formLoading" /> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -14,16 +14,16 @@ import { rules, allSchemas } from './template.data' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const openModal = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   // 修改时,设置数据 | ||||
|   if (id) { | ||||
| @@ -56,7 +56,7 @@ const submitForm = async () => { | ||||
|       await MailTemplateApi.updateMailTemplate(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -6,6 +6,7 @@ | ||||
|       <template #actionMore> | ||||
|         <el-button | ||||
|           type="primary" | ||||
|           plain | ||||
|           @click="openModal('create')" | ||||
|           v-hasPermi="['system:mail-account:create']" | ||||
|         > | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="测试" v-model="modelVisible"> | ||||
|   <Dialog title="测试" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -27,7 +27,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -36,7 +36,7 @@ import * as MailTemplateApi from '@/api/system/mail/template' | ||||
|  | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formData = ref({ | ||||
|   content: '', | ||||
| @@ -54,7 +54,7 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const openModal = async (id: number) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   resetForm() | ||||
|   // 设置数据 | ||||
|   formLoading.value = true | ||||
| @@ -92,7 +92,7 @@ const submitForm = async () => { | ||||
|     if (logId) { | ||||
|       message.success('提交发送成功!发送结果,见发送日志编号:' + logId) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|   } finally { | ||||
|     formLoading.value = false | ||||
|   } | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -108,7 +108,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -122,8 +122,8 @@ const { wsCache } = useCache() | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -152,8 +152,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number, parentId?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   if (parentId) { | ||||
| @@ -205,7 +205,7 @@ const submitForm = async () => { | ||||
|       await MenuApi.updateMenu(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible" width="800"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible" width="800"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -39,7 +39,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -49,8 +49,8 @@ import * as NoticeApi from '@/api/system/notice' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -71,8 +71,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const openModal = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -105,7 +105,7 @@ const submitForm = async () => { | ||||
|       await NoticeApi.updateNotice(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -37,6 +37,7 @@ | ||||
|         <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> | ||||
|         <el-button | ||||
|           type="primary" | ||||
|           plain | ||||
|           @click="openModal('create')" | ||||
|           v-hasPermi="['system:notice:create']" | ||||
|         > | ||||
| @@ -127,7 +128,6 @@ const getList = async () => { | ||||
|   loading.value = true | ||||
|   try { | ||||
|     const data = await NoticeApi.getNoticePage(queryParams) | ||||
|  | ||||
|     list.value = data.list | ||||
|     total.value = data.total | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="详情" v-model="modelVisible" :scroll="true" :max-height="500"> | ||||
|   <Dialog title="详情" v-model="dialogVisible" :scroll="true" :max-height="500"> | ||||
|     <el-descriptions border :column="1"> | ||||
|       <el-descriptions-item label="编号" min-width="120"> | ||||
|         {{ detailData.id }} | ||||
| @@ -45,13 +45,13 @@ import { DICT_TYPE } from '@/utils/dict' | ||||
| import { formatDate } from '@/utils/formatTime' | ||||
| import * as NotifyMessageApi from '@/api/system/notify/message' | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const detailLoading = ref(false) // 表单的加载中 | ||||
| const detailData = ref() // 详情数据 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (data: NotifyMessageApi.NotifyMessageVO) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   // 设置数据 | ||||
|   detailLoading.value = true | ||||
|   try { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="消息详情" v-model="modelVisible" :scroll="true" :max-height="500"> | ||||
|   <Dialog title="消息详情" v-model="dialogVisible" :scroll="true" :max-height="500"> | ||||
|     <el-descriptions border :column="1"> | ||||
|       <el-descriptions-item label="发送人"> | ||||
|         {{ detailData.templateNickname }} | ||||
| @@ -27,13 +27,13 @@ import { DICT_TYPE } from '@/utils/dict' | ||||
| import { formatDate } from '@/utils/formatTime' | ||||
| import * as NotifyMessageApi from '@/api/system/notify/message' | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const detailLoading = ref(false) // 表单的加载中 | ||||
| const detailData = ref() // 详情数据 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (data: NotifyMessageApi.NotifyMessageVO) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   // 设置数据 | ||||
|   detailLoading.value = true | ||||
|   try { | ||||
|   | ||||
| @@ -46,7 +46,7 @@ | ||||
|   </ContentWrap> | ||||
|  | ||||
|   <!-- 添加/修改的弹窗 --> | ||||
|   <XModal id="templateModel" :loading="modelLoading" v-model="modelVisible" :title="modelTitle"> | ||||
|   <XModal id="templateModel" :loading="modelLoading" v-model="dialogVisible" :title="dialogTitle"> | ||||
|     <!-- 表单:添加/修改 --> | ||||
|     <Form | ||||
|       ref="formRef" | ||||
| @@ -70,7 +70,7 @@ | ||||
|         @click="submitForm()" | ||||
|       /> | ||||
|       <!-- 按钮:关闭 --> | ||||
|       <XButton :loading="actionLoading" :title="t('dialog.close')" @click="modelVisible = false" /> | ||||
|       <XButton :loading="actionLoading" :title="t('dialog.close')" @click="dialogVisible = false" /> | ||||
|     </template> | ||||
|   </XModal> | ||||
|  | ||||
| @@ -132,8 +132,8 @@ const [registerTable, { reload, deleteData }] = useXTable({ | ||||
| }) | ||||
|  | ||||
| // 弹窗相关的变量 | ||||
| const modelVisible = ref(false) // 是否显示弹出层 | ||||
| const modelTitle = ref('edit') // 弹出层标题 | ||||
| const dialogVisible = ref(false) // 是否显示弹出层 | ||||
| const dialogTitle = ref('edit') // 弹出层标题 | ||||
| const modelLoading = ref(false) // 弹出层loading | ||||
| const actionType = ref('') // 操作按钮的类型 | ||||
| const actionLoading = ref(false) // 按钮 Loading | ||||
| @@ -143,9 +143,9 @@ const detailData = ref() // 详情 Ref | ||||
| // 设置标题 | ||||
| const setDialogTile = (type: string) => { | ||||
|   modelLoading.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   actionType.value = type | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
| } | ||||
|  | ||||
| // 新增操作 | ||||
| @@ -188,7 +188,7 @@ const submitForm = async () => { | ||||
|           await NotifyTemplateApi.updateNotifyTemplateApi(data) | ||||
|           message.success(t('common.updateSuccess')) | ||||
|         } | ||||
|         modelVisible.value = false | ||||
|         dialogVisible.value = false | ||||
|       } finally { | ||||
|         actionLoading.value = false | ||||
|         // 刷新列表 | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible" scroll max-height="500px"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible" scroll max-height="500px"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -139,7 +139,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -150,8 +150,8 @@ import * as ClientApi from '@/api/system/oauth2/client' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -191,8 +191,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -225,7 +225,7 @@ const submitForm = async () => { | ||||
|       await ClientApi.updateOAuth2Client(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -135,7 +135,7 @@ const queryParams = reactive({ | ||||
| }) | ||||
| const queryFormRef = ref() // 搜索的表单 | ||||
|  | ||||
| /** 查询参数列表 */ | ||||
| /** 查询列表 */ | ||||
| const getList = async () => { | ||||
|   loading.value = true | ||||
|   try { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="详情" v-model="modelVisible" :scroll="true" :max-height="500" width="800"> | ||||
|   <Dialog title="详情" v-model="dialogVisible" :scroll="true" :max-height="500" width="800"> | ||||
|     <el-descriptions border :column="1"> | ||||
|       <el-descriptions-item label="日志主键" min-width="120"> | ||||
|         {{ detailData.id }} | ||||
| @@ -61,13 +61,13 @@ | ||||
| import { formatDate } from '@/utils/formatTime' | ||||
| import * as OperateLogApi from '@/api/system/operatelog' | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const detailLoading = ref(false) // 表单的加载中 | ||||
| const detailData = ref() // 详情数据 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const openModal = async (data: OperateLogApi.OperateLogVO) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   // 设置数据 | ||||
|   detailLoading.value = true | ||||
|   try { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible" width="800"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible" width="800"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -29,7 +29,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -41,8 +41,8 @@ import * as PostApi from '@/api/system/post' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -63,8 +63,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const openModal = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -97,7 +97,7 @@ const submitForm = async () => { | ||||
|       await PostApi.updatePost(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -39,6 +39,7 @@ | ||||
|         <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> | ||||
|         <el-button | ||||
|           type="primary" | ||||
|           plain | ||||
|           @click="openModal('create')" | ||||
|           v-hasPermi="['system:notice:create']" | ||||
|         > | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="菜单权限" v-model="modelVisible"> | ||||
|   <Dialog title="菜单权限" v-model="dialogVisible"> | ||||
|     <el-form ref="formRef" :model="formData" label-width="80px" v-loading="formLoading"> | ||||
|       <el-form-item label="角色名称"> | ||||
|         <el-tag>{{ formData.name }}</el-tag> | ||||
| @@ -40,7 +40,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -52,7 +52,7 @@ import * as PermissionApi from '@/api/system/permission' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formData = reactive({ | ||||
|   id: 0, | ||||
| @@ -68,7 +68,7 @@ const treeNodeAll = ref(false) // 全选/全不选 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (row: RoleApi.RoleVO) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   resetForm() | ||||
|   // 加载 Menu 列表。注意,必须放在前面,不然下面 setChecked 没数据节点 | ||||
|   menuOptions.value = handleTree(await MenuApi.getSimpleMenusList()) | ||||
| @@ -107,7 +107,7 @@ const submitForm = async () => { | ||||
|     } | ||||
|     await PermissionApi.assignRoleMenu(data) | ||||
|     message.success(t('common.updateSuccess')) | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|   } finally { | ||||
|     formLoading.value = false | ||||
|   } | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="菜单权限" v-model="modelVisible" width="800"> | ||||
|   <Dialog title="菜单权限" v-model="dialogVisible" width="800"> | ||||
|     <el-form ref="formRef" :model="formData" label-width="80px" v-loading="formLoading"> | ||||
|       <el-form-item label="角色名称"> | ||||
|         <el-tag>{{ formData.name }}</el-tag> | ||||
| @@ -58,7 +58,7 @@ | ||||
|     </el-form-item> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -72,7 +72,7 @@ import * as PermissionApi from '@/api/system/permission' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formData = reactive({ | ||||
|   id: 0, | ||||
| @@ -90,7 +90,7 @@ const checkStrictly = ref(true) // 是否严格模式,即父子不关联 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (row: RoleApi.RoleVO) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   resetForm() | ||||
|   // 加载 Dept 列表。注意,必须放在前面,不然下面 setChecked 没数据节点 | ||||
|   deptOptions.value = handleTree(await DeptApi.getSimpleDeptList()) | ||||
| @@ -119,7 +119,7 @@ const submitForm = async () => { | ||||
|     } | ||||
|     await PermissionApi.assignRoleDataScope(data) | ||||
|     message.success(t('common.updateSuccess')) | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|   } finally { | ||||
|     formLoading.value = false | ||||
|   } | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -32,7 +32,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -43,8 +43,8 @@ import * as RoleApi from '@/api/system/role' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -66,8 +66,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -113,7 +113,7 @@ const submitForm = async () => { | ||||
|       await RoleApi.updateRole(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -39,7 +39,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -50,8 +50,8 @@ import { CommonStatusEnum } from '@/utils/constants' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -70,8 +70,8 @@ const tagList = ref([]) // 标签数组 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -106,7 +106,7 @@ const submitForm = async () => { | ||||
|       await SensitiveWordApi.updateSensitiveWord(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="检测敏感词" v-model="modelVisible"> | ||||
|   <Dialog title="检测敏感词" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -24,10 +24,8 @@ | ||||
|       </el-form-item> | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <div class="dialog-footer"> | ||||
|         <el-button @click="submitForm" type="primary" :disabled="formLoading">检 测</el-button> | ||||
|         <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       </div> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">检 测</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -35,7 +33,7 @@ | ||||
| import * as SensitiveWordApi from '@/api/system/sensitiveWord' | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formData = ref({ | ||||
|   text: '', | ||||
| @@ -50,7 +48,7 @@ const tagList = ref([]) // 标签数组 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async () => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   resetForm() | ||||
|   // 获得 Tag 标签列表 | ||||
|   tagList.value = await SensitiveWordApi.getSensitiveWordTagList() | ||||
| @@ -73,7 +71,7 @@ const submitForm = async () => { | ||||
|       return | ||||
|     } | ||||
|     message.warning('包含敏感词:' + data.join(', ')) | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|   } finally { | ||||
|     formLoading.value = false | ||||
|   } | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -46,7 +46,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -57,8 +57,8 @@ import { CommonStatusEnum } from '@/utils/constants' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -81,8 +81,8 @@ const formRef = ref() // 表单 Ref | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -116,7 +116,7 @@ const submitForm = async () => { | ||||
|       await SmsChannelApi.updateSmsChannel(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -40,6 +40,7 @@ | ||||
|         <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> | ||||
|         <el-button | ||||
|           type="primary" | ||||
|           plain | ||||
|           @click="openForm('create')" | ||||
|           v-hasPermi="['system:sms-channel:create']" | ||||
|         > | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="详情" v-model="modelVisible" :scroll="true" :max-height="500" width="800"> | ||||
|   <Dialog title="详情" v-model="dialogVisible" :scroll="true" :max-height="500" width="800"> | ||||
|     <el-descriptions border :column="1"> | ||||
|       <el-descriptions-item label="日志主键" min-width="120"> | ||||
|         {{ detailData.id }} | ||||
| @@ -65,14 +65,14 @@ import { formatDate } from '@/utils/formatTime' | ||||
| import * as SmsLogApi from '@/api/system/sms/smsLog' | ||||
| import * as SmsChannelApi from '@/api/system/sms/smsChannel' | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const detailLoading = ref(false) // 表单的加载中 | ||||
| const detailData = ref() // 详情数据 | ||||
| const channelList = ref([]) // 短信渠道列表 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (data: SmsLogApi.SmsLogVO) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   // 设置数据 | ||||
|   detailLoading.value = true | ||||
|   try { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -59,7 +59,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -71,8 +71,8 @@ import { CommonStatusEnum } from '@/utils/constants' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型 | ||||
| const formData = ref<SmsTemplateApi.SmsTemplateVO>({ | ||||
| @@ -99,8 +99,8 @@ const formRef = ref() // 表单 Ref | ||||
| const channelList = ref<SmsChannelApi.SmsChannelVO[]>([]) // 短信渠道列表 | ||||
|  | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -134,7 +134,7 @@ const submitForm = async () => { | ||||
|       await SmsTemplateApi.updateSmsTemplate(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="测试" v-model="modelVisible"> | ||||
|   <Dialog title="测试" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -32,7 +32,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -40,7 +40,7 @@ | ||||
| import * as SmsTemplateApi from '@/api/system/sms/smsTemplate' | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
|  | ||||
| // 发送短信表单相关 | ||||
| @@ -59,7 +59,7 @@ const formRules = reactive({ | ||||
| const formRef = ref() // 表单 Ref | ||||
|  | ||||
| const open = async (id: number) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   resetForm() | ||||
|   // 设置数据 | ||||
|   formLoading.value = true | ||||
| @@ -97,7 +97,7 @@ const submitForm = async () => { | ||||
|     if (logId) { | ||||
|       message.success('提交发送成功!发送结果,见发送日志编号:' + logId) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|   } finally { | ||||
|     formLoading.value = false | ||||
|   } | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible" width="50%"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible" width="50%"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -71,7 +71,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -83,8 +83,8 @@ import * as TenantPackageApi from '@/api/system/tenantPackage' | ||||
|  | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -112,8 +112,8 @@ const packageList = ref([]) // 租户套餐 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -148,7 +148,7 @@ const submitForm = async () => { | ||||
|       await TenantApi.updateTenant(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -71,7 +71,12 @@ | ||||
|           <Icon icon="ep:refresh" class="mr-5px" /> | ||||
|           重置 | ||||
|         </el-button> | ||||
|         <el-button type="primary" @click="openForm('create')" v-hasPermi="['system:tenant:create']"> | ||||
|         <el-button | ||||
|           type="primary" | ||||
|           plain | ||||
|           @click="openForm('create')" | ||||
|           v-hasPermi="['system:tenant:create']" | ||||
|         > | ||||
|           <Icon icon="ep:plus" class="mr-5px" /> | ||||
|           新增 | ||||
|         </el-button> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -57,7 +57,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -71,8 +71,8 @@ import { ElTree } from 'element-plus' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -95,8 +95,8 @@ const treeNodeAll = ref(false) // 全选/全不选 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 加载 Menu 列表。注意,必须放在前面,不然下面 setChecked 没数据节点 | ||||
| @@ -141,7 +141,7 @@ const submitForm = async () => { | ||||
|       await TenantPackageApi.updateTenantPackage(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -42,6 +42,7 @@ | ||||
|         <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> | ||||
|         <el-button | ||||
|           type="primary" | ||||
|           plain | ||||
|           @click="openForm('create')" | ||||
|           v-hasPermi="['system:tenant-package:create']" | ||||
|         > | ||||
| @@ -63,11 +64,13 @@ | ||||
|         </template> | ||||
|       </el-table-column> | ||||
|       <el-table-column label="备注" align="center" prop="remark" /> | ||||
|       <el-table-column label="创建时间" align="center" prop="createTime" width="180"> | ||||
|         <template #default="scope"> | ||||
|           <span>{{ formatDate(scope.row.createTime) }}</span> | ||||
|         </template> | ||||
|       </el-table-column> | ||||
|       <el-table-column | ||||
|         label="创建时间" | ||||
|         align="center" | ||||
|         prop="createTime" | ||||
|         width="180" | ||||
|         :formatter="dateFormatter" | ||||
|       /> | ||||
|       <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> | ||||
|         <template #default="scope"> | ||||
|           <el-button | ||||
| @@ -103,7 +106,7 @@ | ||||
| </template> | ||||
| <script setup lang="ts" name="TenantPackage"> | ||||
| import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' | ||||
| import { formatDate } from '@/utils/formatTime' | ||||
| import { dateFormatter } from '@/utils/formatTime' | ||||
| import * as TenantPackageApi from '@/api/system/tenantPackage' | ||||
| import TenantPackageForm from './TenantPackageForm.vue' | ||||
| const message = useMessage() // 消息弹窗 | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="分配角色" v-model="modelVisible"> | ||||
|   <Dialog title="分配角色" v-model="dialogVisible"> | ||||
|     <el-form ref="formRef" :model="formData" label-width="80px" v-loading="formLoading"> | ||||
|       <el-form-item label="用户名称"> | ||||
|         <el-input v-model="formData.username" :disabled="true" /> | ||||
| @@ -15,7 +15,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -26,7 +26,7 @@ import * as RoleApi from '@/api/system/role' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formData = ref({ | ||||
|   id: undefined, | ||||
| @@ -39,7 +39,7 @@ const roleList = ref([]) // 角色的列表 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (row: UserApi.UserVO) => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   resetForm() | ||||
|   // 设置数据 | ||||
|   formData.value.id = row.id | ||||
| @@ -72,7 +72,7 @@ const submitForm = async () => { | ||||
|       roleIds: formData.value.roleIds | ||||
|     }) | ||||
|     message.success(t('common.updateSuccess')) | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success', true) | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog :title="modelTitle" v-model="modelVisible"> | ||||
|   <Dialog :title="dialogTitle" v-model="dialogVisible"> | ||||
|     <el-form | ||||
|       ref="formRef" | ||||
|       :model="formData" | ||||
| @@ -91,7 +91,7 @@ | ||||
|     </el-form> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -105,8 +105,8 @@ import * as UserApi from '@/api/system/user' | ||||
| const { t } = useI18n() // 国际化 | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const modelTitle = ref('') // 弹窗的标题 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogTitle = ref('') // 弹窗的标题 | ||||
| const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 | ||||
| const formType = ref('') // 表单的类型:create - 新增;update - 修改 | ||||
| const formData = ref({ | ||||
| @@ -148,8 +148,8 @@ const postList = ref([]) // 岗位列表 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = async (type: string, id?: number) => { | ||||
|   modelVisible.value = true | ||||
|   modelTitle.value = t('action.' + type) | ||||
|   dialogVisible.value = true | ||||
|   dialogTitle.value = t('action.' + type) | ||||
|   formType.value = type | ||||
|   resetForm() | ||||
|   // 修改时,设置数据 | ||||
| @@ -186,7 +186,7 @@ const submitForm = async () => { | ||||
|       await UserApi.updateUser(data) | ||||
|       message.success(t('common.updateSuccess')) | ||||
|     } | ||||
|     modelVisible.value = false | ||||
|     dialogVisible.value = false | ||||
|     // 发送操作成功的事件 | ||||
|     emit('success') | ||||
|   } finally { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <template> | ||||
|   <Dialog title="用户导入" v-model="modelVisible" width="400"> | ||||
|   <Dialog title="用户导入" v-model="dialogVisible" width="400"> | ||||
|     <el-upload | ||||
|       ref="uploadRef" | ||||
|       :action="importUrl + '?updateSupport=' + updateSupport" | ||||
| @@ -35,7 +35,7 @@ | ||||
|     </el-upload> | ||||
|     <template #footer> | ||||
|       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> | ||||
|       <el-button @click="modelVisible = false">取 消</el-button> | ||||
|       <el-button @click="dialogVisible = false">取 消</el-button> | ||||
|     </template> | ||||
|   </Dialog> | ||||
| </template> | ||||
| @@ -45,7 +45,7 @@ import { getAccessToken, getTenantId } from '@/utils/auth' | ||||
| import download from '@/utils/download' | ||||
| const message = useMessage() // 消息弹窗 | ||||
|  | ||||
| const modelVisible = ref(false) // 弹窗的是否展示 | ||||
| const dialogVisible = ref(false) // 弹窗的是否展示 | ||||
| const formLoading = ref(false) // 表单的加载中 | ||||
| const uploadRef = ref() | ||||
| const importUrl = | ||||
| @@ -56,7 +56,7 @@ const updateSupport = ref(0) // 是否更新已经存在的用户数据 | ||||
|  | ||||
| /** 打开弹窗 */ | ||||
| const open = () => { | ||||
|   modelVisible.value = true | ||||
|   dialogVisible.value = true | ||||
|   resetForm() | ||||
| } | ||||
| defineExpose({ open }) // 提供 open 方法,用于打开弹窗 | ||||
|   | ||||
| @@ -70,11 +70,16 @@ | ||||
|             > | ||||
|               <Icon icon="ep:plus" /> 新增 | ||||
|             </el-button> | ||||
|             <el-button type="info" plain @click="handleImport" v-hasPermi="['system:user:import']"> | ||||
|             <el-button | ||||
|               type="warning" | ||||
|               plain | ||||
|               @click="handleImport" | ||||
|               v-hasPermi="['system:user:import']" | ||||
|             > | ||||
|               <Icon icon="ep:upload" /> 导入 | ||||
|             </el-button> | ||||
|             <el-button | ||||
|               type="warning" | ||||
|               type="success" | ||||
|               plain | ||||
|               @click="handleExport" | ||||
|               :loading="exportLoading" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV