1. 统一删除 dialog-footer,包括代码生成的模版

2. 查询参数列表,改下
3. 简化 formatDate
4. 看看是不是有部分新增的 plain 不对
5. modelVisible 改成 dialogVisible?modelTitle 改成 dialogTitle
pull/78/MERGE
YunaiV 2023-04-02 23:52:56 +08:00
parent 87a5ddfd2c
commit 0d6ecfb45c
77 changed files with 363 additions and 341 deletions

View File

@ -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 }) return request.get({ url: '/system/dict-data/export', params })
} }

View File

@ -11,7 +11,7 @@
</ContentWrap> </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 ref="formRef" :model="formData" :rules="formRules" label-width="80px">
<el-form-item label="表单名" prop="name"> <el-form-item label="表单名" prop="name">
<el-input v-model="formData.name" placeholder="请输入表单名" /> <el-input v-model="formData.name" placeholder="请输入表单名" />
@ -33,7 +33,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -48,7 +48,7 @@ const message = useMessage() // 消息
const { query } = useRoute() // const { query } = useRoute() //
const designer = ref() // const designer = ref() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const formLoading = ref(false) // const formLoading = ref(false) //
const formData = ref({ const formData = ref({
name: '', name: '',
@ -63,7 +63,7 @@ const formRef = ref() // 表单 Ref
/** 处理保存按钮 */ /** 处理保存按钮 */
const handleSave = () => { const handleSave = () => {
modelVisible.value = true dialogVisible.value = true
} }
/** 提交表单 */ /** 提交表单 */
@ -85,7 +85,7 @@ const submitForm = async () => {
await FormApi.updateForm(data) await FormApi.updateForm(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
} finally { } finally {
formLoading.value = false formLoading.value = false
} }

View File

@ -20,7 +20,7 @@
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <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 @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" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
</el-form-item> </el-form-item>

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -37,7 +37,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -50,8 +50,8 @@ import * as UserApi from '@/api/system/user'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -72,8 +72,8 @@ const userList = ref([]) // 用户列表
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -108,7 +108,7 @@ const submitForm = async () => {
await UserGroupApi.updateUserGroup(data) await UserGroupApi.updateUserGroup(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -43,6 +43,7 @@
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button <el-button
type="primary" type="primary"
plain
@click="openForm('create')" @click="openForm('create')"
v-hasPermi="['bpm:user-group:create']" v-hasPermi="['bpm:user-group:create']"
> >

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible" width="600"> <Dialog :title="dialogTitle" v-model="dialogVisible" width="600">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -117,7 +117,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -129,8 +129,8 @@ import * as FormApi from '@/api/bpm/form'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -154,8 +154,8 @@ const formList = ref([]) // 流程表单的下拉框的数据
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -203,7 +203,7 @@ const submitForm = async () => {
await ModelApi.updateModel(data) await ModelApi.updateModel(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog title="导入流程" v-model="modelVisible" width="400"> <Dialog title="导入流程" v-model="dialogVisible" width="400">
<div> <div>
<el-upload <el-upload
ref="uploadRef" ref="uploadRef"
@ -45,7 +45,7 @@
</div> </div>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -53,7 +53,7 @@
import { getAccessToken, getTenantId } from '@/utils/auth' import { getAccessToken, getTenantId } from '@/utils/auth'
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const formLoading = ref(false) // const formLoading = ref(false) //
const formData = ref({ const formData = ref({
key: '', key: '',
@ -72,7 +72,7 @@ const fileList = ref([]) // 文件列表
/** 打开弹窗 */ /** 打开弹窗 */
const open = async () => { const open = async () => {
modelVisible.value = true dialogVisible.value = true
resetForm() resetForm()
} }
defineExpose({ open }) // open defineExpose({ open }) // open

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog title="转派审批人" v-model="modelVisible" width="500"> <Dialog title="转派审批人" v-model="dialogVisible" width="500">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -20,7 +20,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -28,7 +28,7 @@
import * as TaskApi from '@/api/bpm/task' import * as TaskApi from '@/api/bpm/task'
import * as UserApi from '@/api/system/user' import * as UserApi from '@/api/system/user'
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const formLoading = ref(false) // const formLoading = ref(false) //
const formData = ref({ const formData = ref({
id: '', id: '',
@ -43,7 +43,7 @@ const userList = ref<any[]>([]) // 用户列表
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (id: string) => { const open = async (id: string) => {
modelVisible.value = true dialogVisible.value = true
resetForm() resetForm()
formData.value.id = id formData.value.id = id
// //
@ -62,7 +62,7 @@ const submitForm = async () => {
formLoading.value = true formLoading.value = true
try { try {
await TaskApi.updateTaskAssignee(formData.value) await TaskApi.updateTaskAssignee(formData.value)
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <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 ref="formRef" :model="formData" :rules="formRules" label-width="80px">
<el-form-item label="任务名称" prop="taskDefinitionName"> <el-form-item label="任务名称" prop="taskDefinitionName">
<el-input v-model="formData.taskDefinitionName" placeholder="请输入流标标识" disabled /> <el-input v-model="formData.taskDefinitionName" placeholder="请输入流标标识" disabled />
@ -93,7 +93,7 @@
<!-- 操作按钮 --> <!-- 操作按钮 -->
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -109,7 +109,7 @@ import * as UserGroupApi from '@/api/bpm/userGroup'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formData = ref({ const formData = ref({
type: Number(undefined), type: Number(undefined),
@ -171,7 +171,7 @@ const open = async (modelId: string, row: TaskAssignRuleApi.TaskAssignVO) => {
formData.value.scripts.push(...row.options) formData.value.scripts.push(...row.options)
} }
// //
modelVisible.value = true dialogVisible.value = true
// //
roleOptions.value = await RoleApi.getSimpleRoleList() roleOptions.value = await RoleApi.getSimpleRoleList()
@ -232,7 +232,7 @@ const submitForm = async () => {
await TaskAssignRuleApi.updateTaskAssignRule(data) await TaskAssignRuleApi.updateTaskAssignRule(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <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 border :column="1">
<el-descriptions-item label="日志主键" min-width="120"> <el-descriptions-item label="日志主键" min-width="120">
{{ detailData.id }} {{ detailData.id }}
@ -45,13 +45,13 @@ import { DICT_TYPE } from '@/utils/dict'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import * as ApiAccessLog from '@/api/infra/apiAccessLog' import * as ApiAccessLog from '@/api/infra/apiAccessLog'
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const detailLoading = ref(false) // const detailLoading = ref(false) //
const detailData = ref() // const detailData = ref() //
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (data: ApiAccessLog.ApiAccessLogVO) => { const open = async (data: ApiAccessLog.ApiAccessLogVO) => {
modelVisible.value = true dialogVisible.value = true
// //
detailLoading.value = true detailLoading.value = true
try { try {

View File

@ -1,5 +1,5 @@
<template> <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 border :column="1">
<el-descriptions-item label="日志主键" min-width="120"> <el-descriptions-item label="日志主键" min-width="120">
{{ detailData.id }} {{ detailData.id }}
@ -60,13 +60,13 @@ import { DICT_TYPE } from '@/utils/dict'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import * as ApiErrorLog from '@/api/infra/apiErrorLog' import * as ApiErrorLog from '@/api/infra/apiErrorLog'
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const detailLoading = ref(false) // const detailLoading = ref(false) //
const detailData = ref() // const detailData = ref() //
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (data: ApiErrorLog.ApiErrorLogVO) => { const open = async (data: ApiErrorLog.ApiErrorLogVO) => {
modelVisible.value = true dialogVisible.value = true
// //
detailLoading.value = true detailLoading.value = true
try { try {

View File

@ -1,5 +1,5 @@
<template> <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 :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
<el-form-item label="数据源" prop="dataSourceConfigId"> <el-form-item label="数据源" prop="dataSourceConfigId">
@ -69,7 +69,7 @@ import * as DataSourceConfigApi from '@/api/infra/dataSourceConfig'
import { ElTable } from 'element-plus' import { ElTable } from 'element-plus'
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const dbTableLoading = ref(true) // const dbTableLoading = ref(true) //
const dbTableList = ref<CodegenApi.DatabaseTableVO[]>([]) // const dbTableList = ref<CodegenApi.DatabaseTableVO[]>([]) //
const queryParams = reactive({ const queryParams = reactive({
@ -103,7 +103,7 @@ const open = async () => {
// //
dataSourceConfigList.value = await DataSourceConfigApi.getDataSourceConfigList() dataSourceConfigList.value = await DataSourceConfigApi.getDataSourceConfigList()
queryParams.dataSourceConfigId = dataSourceConfigList.value[0].id as number queryParams.dataSourceConfigId = dataSourceConfigList.value[0].id as number
modelVisible.value = true dialogVisible.value = true
// //
await getList() await getList()
} }
@ -111,7 +111,7 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
/** 关闭弹窗 */ /** 关闭弹窗 */
const close = () => { const close = () => {
modelVisible.value = false dialogVisible.value = false
tableList.value = [] tableList.value = []
} }

View File

@ -1,7 +1,7 @@
<template> <template>
<Dialog <Dialog
title="代码预览" title="代码预览"
v-model="modelVisible" v-model="dialogVisible"
align-center align-center
width="80%" width="80%"
class="app-infra-codegen-preview-container" class="app-infra-codegen-preview-container"
@ -61,7 +61,7 @@ import * as CodegenApi from '@/api/infra/codegen'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const loading = ref(false) // const loading = ref(false) //
const preview = reactive({ const preview = reactive({
fileTree: [], // fileTree: [], //
@ -86,7 +86,7 @@ interface filesType {
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (id: number) => { const open = async (id: number) => {
modelVisible.value = true dialogVisible.value = true
try { try {
loading.value = true loading.value = true
// //

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -36,7 +36,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -47,8 +47,8 @@ import * as ConfigApi from '@/api/infra/config'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -71,8 +71,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async (type: string, id?: number) => { const openModal = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -105,7 +105,7 @@ const submitForm = async () => {
await ConfigApi.updateConfig(data) await ConfigApi.updateConfig(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -55,7 +55,12 @@
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <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 @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" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
<el-button <el-button

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -22,7 +22,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -32,8 +32,8 @@ import * as DataSourceConfigApi from '@/api/infra/dataSourceConfig'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref<DataSourceConfigApi.DataSourceConfigVO>({ const formData = ref<DataSourceConfigApi.DataSourceConfigVO>({
@ -53,8 +53,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async (type: string, id?: number) => { const openModal = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -87,7 +87,7 @@ const submitForm = async () => {
await DataSourceConfigApi.updateDataSourceConfig(data) await DataSourceConfigApi.updateDataSourceConfig(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -5,6 +5,7 @@
<el-form-item> <el-form-item>
<el-button <el-button
type="primary" type="primary"
plain
@click="openModal('create')" @click="openModal('create')"
v-hasPermi="['infra:data-source-config:create']" v-hasPermi="['infra:data-source-config:create']"
> >

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-upload <el-upload
ref="uploadRef" ref="uploadRef"
:limit="1" :limit="1"
@ -24,7 +24,7 @@
</el-upload> </el-upload>
<template #footer> <template #footer>
<el-button @click="submitFileForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -36,8 +36,8 @@ import { getAccessToken } from '@/utils/auth'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const url = import.meta.env.VITE_UPLOAD_URL const url = import.meta.env.VITE_UPLOAD_URL
const headers = { Authorization: 'Bearer ' + getAccessToken() } const headers = { Authorization: 'Bearer ' + getAccessToken() }
@ -46,8 +46,8 @@ const uploadRef = ref()
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async () => { const openModal = async () => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.fileUpload') dialogTitle.value = t('action.fileUpload')
} }
defineExpose({ openModal }) // openModal defineExpose({ openModal }) // openModal
@ -71,7 +71,7 @@ const submitFileForm = () => {
/** 文件上传成功处理 */ /** 文件上传成功处理 */
const handleFileSuccess = () => { const handleFileSuccess = () => {
// //
modelVisible.value = false dialogVisible.value = false
formLoading.value = false formLoading.value = false
unref(uploadRef)?.clearFiles() unref(uploadRef)?.clearFiles()
// //

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -94,7 +94,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -105,8 +105,8 @@ import * as FileConfigApi from '@/api/infra/fileConfig'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -137,8 +137,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async (type: string, id?: number) => { const openModal = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -171,7 +171,7 @@ const submitForm = async () => {
await FileConfigApi.updateFileConfig(data) await FileConfigApi.updateFileConfig(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -35,6 +35,7 @@
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button <el-button
type="primary" type="primary"
plain
@click="openModal('create')" @click="openModal('create')"
v-hasPermi="['infra:file-config:create']" v-hasPermi="['infra:file-config:create']"
> >

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog title="任务详细" v-model="modelVisible" width="700px"> <Dialog title="任务详细" v-model="dialogVisible" width="700px">
<el-descriptions border :column="1"> <el-descriptions border :column="1">
<el-descriptions-item label="任务编号" min-width="60"> <el-descriptions-item label="任务编号" min-width="60">
{{ detailData.id }} {{ detailData.id }}
@ -47,14 +47,14 @@ import { DICT_TYPE } from '@/utils/dict'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import * as JobApi from '@/api/infra/job' import * as JobApi from '@/api/infra/job'
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const detailLoading = ref(false) // const detailLoading = ref(false) //
const detailData = ref({}) // const detailData = ref({}) //
const nextTimes = ref([]) // const nextTimes = ref([]) //
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (id: number) => { const open = async (id: number) => {
modelVisible.value = true dialogVisible.value = true
// //
if (id) { if (id) {
detailLoading.value = true detailLoading.value = true

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -41,7 +41,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button type="primary" @click="submitForm" :loading="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -50,8 +50,8 @@ import * as JobApi from '@/api/infra/job'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -72,8 +72,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -106,7 +106,7 @@ const submitForm = async () => {
await JobApi.updateJob(data) await JobApi.updateJob(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog title="任务详细" v-model="modelVisible" width="700px"> <Dialog title="任务详细" v-model="dialogVisible" width="700px">
<el-descriptions border :column="1"> <el-descriptions border :column="1">
<el-descriptions-item label="日志编号" min-width="60"> <el-descriptions-item label="日志编号" min-width="60">
{{ detailData.id }} {{ detailData.id }}
@ -36,13 +36,13 @@ import { DICT_TYPE } from '@/utils/dict'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import * as JobLogApi from '@/api/infra/jobLog' import * as JobLogApi from '@/api/infra/jobLog'
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const detailLoading = ref(false) // const detailLoading = ref(false) //
const detailData = ref({}) // const detailData = ref({}) //
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (id: number) => { const open = async (id: number) => {
modelVisible.value = true dialogVisible.value = true
// //
if (id) { if (id) {
detailLoading.value = true detailLoading.value = true

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -46,7 +46,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -58,8 +58,8 @@ import * as ProductCategoryApi from '@/api/mall/product/category'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -81,8 +81,8 @@ const categoryTree = ref<any[]>([]) // 分类树
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -117,7 +117,7 @@ const submitForm = async () => {
await ProductCategoryApi.updateCategory(data) await ProductCategoryApi.updateCategory(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -17,7 +17,7 @@
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </div>
</template> </template>
</Dialog> </Dialog>
@ -27,8 +27,8 @@ import * as PropertyApi from '@/api/mall/product/property'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -42,8 +42,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -76,7 +76,7 @@ const submitForm = async () => {
await PropertyApi.updateProperty(data) await PropertyApi.updateProperty(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -110,7 +110,7 @@ const queryParams = reactive({
}) })
const queryFormRef = ref() // const queryFormRef = ref() //
/** 查询参数列表 */ /** 查询列表 */
const getList = async () => { const getList = async () => {
loading.value = true loading.value = true
try { try {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -19,7 +19,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -28,8 +28,8 @@ import * as PropertyApi from '@/api/mall/product/property'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -46,8 +46,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, propertyId: number, id?: number) => { const open = async (type: string, propertyId: number, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
formData.value.propertyId = propertyId formData.value.propertyId = propertyId
@ -81,7 +81,7 @@ const submitForm = async () => {
await PropertyApi.updatePropertyValue(data) await PropertyApi.updatePropertyValue(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -108,7 +108,7 @@ const queryParams = reactive({
const queryFormRef = ref() // const queryFormRef = ref() //
const propertyOptions = ref([]) // const propertyOptions = ref([]) //
/** 查询参数列表 */ /** 查询列表 */
const getList = async () => { const getList = async () => {
loading.value = true loading.value = true
try { try {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -64,7 +64,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -73,8 +73,8 @@ import * as AccountApi from '@/api/mp/account'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -98,8 +98,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -132,7 +132,7 @@ const submitForm = async () => {
await AccountApi.updateAccount(data) await AccountApi.updateAccount(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -13,7 +13,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -22,8 +22,8 @@ import * as MpTagApi from '@/api/mp/tag'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -37,8 +37,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, accountId: number, id?: number) => { const open = async (type: string, accountId: number, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
formData.value.accountId = accountId formData.value.accountId = accountId
@ -72,7 +72,7 @@ const submitForm = async () => {
await MpTagApi.updateTag(data) await MpTagApi.updateTag(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <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 ref="formRef" :model="formData" :rules="formRules" label-width="80px">
<el-form-item label="商户全称" prop="name"> <el-form-item label="商户全称" prop="name">
<el-input v-model="formData.name" placeholder="请输入商户全称" /> <el-input v-model="formData.name" placeholder="请输入商户全称" />
@ -23,7 +23,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -34,8 +34,8 @@ import { CommonStatusEnum } from '@/utils/constants'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -54,8 +54,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -88,7 +88,7 @@ const submitForm = async () => {
await MerchantApi.updateMerchant(data) await MerchantApi.updateMerchant(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog title="IP 查询" v-model="modelVisible"> <Dialog title="IP 查询" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -16,7 +16,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -24,7 +24,7 @@
import * as AreaApi from '@/api/system/area' import * as AreaApi from '@/api/system/area'
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const formLoading = ref(false) // const formLoading = ref(false) //
const formData = ref({ const formData = ref({
ip: '', ip: '',
@ -37,7 +37,7 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async () => { const openModal = async () => {
modelVisible.value = true dialogVisible.value = true
resetForm() resetForm()
} }
defineExpose({ openModal }) // openModal defineExpose({ openModal }) // openModal

View File

@ -1,7 +1,7 @@
<template> <template>
<!-- 操作栏 --> <!-- 操作栏 -->
<content-wrap> <content-wrap>
<el-button type="primary" @click="openModal()"> <el-button type="primary" plain @click="openModal()">
<Icon icon="ep:plus" class="mr-5px" /> IP 查询 <Icon icon="ep:plus" class="mr-5px" /> IP 查询
</el-button> </el-button>
</content-wrap> </content-wrap>

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -58,7 +58,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="modelVisible = false"> </el-button> <el-button @click="dialogVisible = false"> </el-button>
</template> </template>
</Dialog> </Dialog>
</template> </template>
@ -71,8 +71,8 @@ import { CommonStatusEnum } from '@/utils/constants'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -101,8 +101,8 @@ const userList = ref<UserApi.UserVO[]>([]) // 用户列表
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -139,7 +139,7 @@ const submitForm = async () => {
await DeptApi.updateDeptApi(data) await DeptApi.updateDeptApi(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -51,13 +51,7 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<el-table <el-table v-loading="loading" :data="list" row-key="id" default-expand-all v-if="refreshTable">
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="name" label="部门名称" width="260" />
<el-table-column prop="leader" label="负责人" width="120"> <el-table-column prop="leader" label="负责人" width="120">
<template #default="scope"> <template #default="scope">

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -52,7 +52,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -63,8 +63,8 @@ import { CommonStatusEnum } from '@/utils/constants'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -115,8 +115,8 @@ const colorTypeOptions = readonly([
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async (type: string, id?: number) => { const openModal = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -149,7 +149,7 @@ const submitForm = async () => {
await DictDataApi.updateDictData(data) await DictDataApi.updateDictData(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -180,7 +180,7 @@ const handleExport = async () => {
await message.exportConfirm() await message.exportConfirm()
// //
exportLoading.value = true exportLoading.value = true
const data = await DictDataApi.exportDictDataApi(queryParams) const data = await DictDataApi.exportDictData(queryParams)
download.excel(data, '字典数据.xls') download.excel(data, '字典数据.xls')
} catch { } catch {
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -34,7 +34,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -46,8 +46,8 @@ import { CommonStatusEnum } from '@/utils/constants'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -65,8 +65,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async (type: string, id?: number) => { const openModal = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -99,7 +99,7 @@ const submitForm = async () => {
await DictTypeApi.updateDictType(data) await DictTypeApi.updateDictType(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -41,7 +41,6 @@
v-model="queryParams.createTime" v-model="queryParams.createTime"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
type="daterange" type="daterange"
range-separator="-"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
@ -51,7 +50,12 @@
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <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 @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" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
<el-button <el-button

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -22,7 +22,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -32,8 +32,8 @@ import * as ErrorCodeApi from '@/api/system/errorCode'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
// //
@ -54,8 +54,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async (type: string, id?: number) => { const openModal = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -88,7 +88,7 @@ const submitForm = async () => {
await ErrorCodeApi.updateErrorCodeApi(data) await ErrorCodeApi.updateErrorCodeApi(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -61,6 +61,7 @@
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button <el-button
type="primary" type="primary"
plain
@click="openModal('create')" @click="openModal('create')"
v-hasPermi="['system:error-code:create']" v-hasPermi="['system:error-code:create']"
> >

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog title="详情" v-model="modelVisible" width="800"> <Dialog title="详情" v-model="dialogVisible" width="800">
<el-descriptions border :column="1"> <el-descriptions border :column="1">
<el-descriptions-item label="日志编号" min-width="120"> <el-descriptions-item label="日志编号" min-width="120">
{{ detailData.id }} {{ detailData.id }}
@ -30,13 +30,13 @@ import { DICT_TYPE } from '@/utils/dict'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import * as LoginLogApi from '@/api/system/loginLog' import * as LoginLogApi from '@/api/system/loginLog'
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const detailLoading = ref(false) // const detailLoading = ref(false) //
const detailData = ref() // const detailData = ref() //
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (data: LoginLogApi.LoginLogVO) => { const open = async (data: LoginLogApi.LoginLogVO) => {
modelVisible.value = true dialogVisible.value = true
// //
detailLoading.value = true detailLoading.value = true
try { try {

View File

@ -1,9 +1,9 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<Form ref="formRef" :schema="allSchemas.formSchema" :rules="rules" v-loading="formLoading" /> <Form ref="formRef" :schema="allSchemas.formSchema" :rules="rules" v-loading="formLoading" />
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -14,16 +14,16 @@ import { rules, allSchemas } from './account.data'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formRef = ref() // Ref const formRef = ref() // Ref
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async (type: string, id?: number) => { const openModal = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
// //
if (id) { if (id) {
@ -56,7 +56,7 @@ const submitForm = async () => {
await MailAccountApi.updateMailAccount(data) await MailAccountApi.updateMailAccount(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -6,6 +6,7 @@
<template #actionMore> <template #actionMore>
<el-button <el-button
type="primary" type="primary"
plain
@click="openModal('create')" @click="openModal('create')"
v-hasPermi="['system:mail-account:create']" v-hasPermi="['system:mail-account:create']"
> >

View File

@ -1,5 +1,5 @@
<template> <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"> <Descriptions :schema="allSchemas.detailSchema" :data="detailData">
<!-- 展示 HTML 内容 --> <!-- 展示 HTML 内容 -->
<template #templateContent="{ row }"> <template #templateContent="{ row }">
@ -12,13 +12,13 @@
import * as MailLogApi from '@/api/system/mail/log' import * as MailLogApi from '@/api/system/mail/log'
import { allSchemas } from './log.data' import { allSchemas } from './log.data'
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const detailLoading = ref(false) // const detailLoading = ref(false) //
const detailData = ref() // const detailData = ref() //
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async (id: number) => { const openModal = async (id: number) => {
modelVisible.value = true dialogVisible.value = true
// //
detailLoading.value = true detailLoading.value = true
try { try {

View File

@ -1,9 +1,9 @@
<template> <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" /> <Form ref="formRef" :schema="allSchemas.formSchema" :rules="rules" v-loading="formLoading" />
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -14,16 +14,16 @@ import { rules, allSchemas } from './template.data'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formRef = ref() // Ref const formRef = ref() // Ref
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async (type: string, id?: number) => { const openModal = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
// //
if (id) { if (id) {
@ -56,7 +56,7 @@ const submitForm = async () => {
await MailTemplateApi.updateMailTemplate(data) await MailTemplateApi.updateMailTemplate(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -6,6 +6,7 @@
<template #actionMore> <template #actionMore>
<el-button <el-button
type="primary" type="primary"
plain
@click="openModal('create')" @click="openModal('create')"
v-hasPermi="['system:mail-account:create']" v-hasPermi="['system:mail-account:create']"
> >

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog title="测试" v-model="modelVisible"> <Dialog title="测试" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -27,7 +27,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -36,7 +36,7 @@ import * as MailTemplateApi from '@/api/system/mail/template'
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formData = ref({ const formData = ref({
content: '', content: '',
@ -54,7 +54,7 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async (id: number) => { const openModal = async (id: number) => {
modelVisible.value = true dialogVisible.value = true
resetForm() resetForm()
// //
formLoading.value = true formLoading.value = true
@ -92,7 +92,7 @@ const submitForm = async () => {
if (logId) { if (logId) {
message.success('提交发送成功!发送结果,见发送日志编号:' + logId) message.success('提交发送成功!发送结果,见发送日志编号:' + logId)
} }
modelVisible.value = false dialogVisible.value = false
} finally { } finally {
formLoading.value = false formLoading.value = false
} }

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -108,7 +108,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -122,8 +122,8 @@ const { wsCache } = useCache()
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -152,8 +152,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number, parentId?: number) => { const open = async (type: string, id?: number, parentId?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
if (parentId) { if (parentId) {
@ -205,7 +205,7 @@ const submitForm = async () => {
await MenuApi.updateMenu(data) await MenuApi.updateMenu(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible" width="800"> <Dialog :title="dialogTitle" v-model="dialogVisible" width="800">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -39,7 +39,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -49,8 +49,8 @@ import * as NoticeApi from '@/api/system/notice'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -71,8 +71,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async (type: string, id?: number) => { const openModal = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -105,7 +105,7 @@ const submitForm = async () => {
await NoticeApi.updateNotice(data) await NoticeApi.updateNotice(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -37,6 +37,7 @@
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button <el-button
type="primary" type="primary"
plain
@click="openModal('create')" @click="openModal('create')"
v-hasPermi="['system:notice:create']" v-hasPermi="['system:notice:create']"
> >
@ -127,7 +128,6 @@ const getList = async () => {
loading.value = true loading.value = true
try { try {
const data = await NoticeApi.getNoticePage(queryParams) const data = await NoticeApi.getNoticePage(queryParams)
list.value = data.list list.value = data.list
total.value = data.total total.value = data.total
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <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 border :column="1">
<el-descriptions-item label="编号" min-width="120"> <el-descriptions-item label="编号" min-width="120">
{{ detailData.id }} {{ detailData.id }}
@ -45,13 +45,13 @@ import { DICT_TYPE } from '@/utils/dict'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import * as NotifyMessageApi from '@/api/system/notify/message' import * as NotifyMessageApi from '@/api/system/notify/message'
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const detailLoading = ref(false) // const detailLoading = ref(false) //
const detailData = ref() // const detailData = ref() //
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (data: NotifyMessageApi.NotifyMessageVO) => { const open = async (data: NotifyMessageApi.NotifyMessageVO) => {
modelVisible.value = true dialogVisible.value = true
// //
detailLoading.value = true detailLoading.value = true
try { try {

View File

@ -1,5 +1,5 @@
<template> <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 border :column="1">
<el-descriptions-item label="发送人"> <el-descriptions-item label="发送人">
{{ detailData.templateNickname }} {{ detailData.templateNickname }}
@ -27,13 +27,13 @@ import { DICT_TYPE } from '@/utils/dict'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import * as NotifyMessageApi from '@/api/system/notify/message' import * as NotifyMessageApi from '@/api/system/notify/message'
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const detailLoading = ref(false) // const detailLoading = ref(false) //
const detailData = ref() // const detailData = ref() //
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (data: NotifyMessageApi.NotifyMessageVO) => { const open = async (data: NotifyMessageApi.NotifyMessageVO) => {
modelVisible.value = true dialogVisible.value = true
// //
detailLoading.value = true detailLoading.value = true
try { try {

View File

@ -46,7 +46,7 @@
</ContentWrap> </ContentWrap>
<!-- 添加/修改的弹窗 --> <!-- 添加/修改的弹窗 -->
<XModal id="templateModel" :loading="modelLoading" v-model="modelVisible" :title="modelTitle"> <XModal id="templateModel" :loading="modelLoading" v-model="dialogVisible" :title="dialogTitle">
<!-- 表单添加/修改 --> <!-- 表单添加/修改 -->
<Form <Form
ref="formRef" ref="formRef"
@ -70,7 +70,7 @@
@click="submitForm()" @click="submitForm()"
/> />
<!-- 按钮关闭 --> <!-- 按钮关闭 -->
<XButton :loading="actionLoading" :title="t('dialog.close')" @click="modelVisible = false" /> <XButton :loading="actionLoading" :title="t('dialog.close')" @click="dialogVisible = false" />
</template> </template>
</XModal> </XModal>
@ -132,8 +132,8 @@ const [registerTable, { reload, deleteData }] = useXTable({
}) })
// //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('edit') // const dialogTitle = ref('edit') //
const modelLoading = ref(false) // loading const modelLoading = ref(false) // loading
const actionType = ref('') // const actionType = ref('') //
const actionLoading = ref(false) // Loading const actionLoading = ref(false) // Loading
@ -143,9 +143,9 @@ const detailData = ref() // 详情 Ref
// //
const setDialogTile = (type: string) => { const setDialogTile = (type: string) => {
modelLoading.value = true modelLoading.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
actionType.value = type actionType.value = type
modelVisible.value = true dialogVisible.value = true
} }
// //
@ -188,7 +188,7 @@ const submitForm = async () => {
await NotifyTemplateApi.updateNotifyTemplateApi(data) await NotifyTemplateApi.updateNotifyTemplateApi(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
} finally { } finally {
actionLoading.value = false actionLoading.value = false
// //

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible" scroll max-height="500px"> <Dialog :title="dialogTitle" v-model="dialogVisible" scroll max-height="500px">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -139,7 +139,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -150,8 +150,8 @@ import * as ClientApi from '@/api/system/oauth2/client'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -191,8 +191,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -225,7 +225,7 @@ const submitForm = async () => {
await ClientApi.updateOAuth2Client(data) await ClientApi.updateOAuth2Client(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -135,7 +135,7 @@ const queryParams = reactive({
}) })
const queryFormRef = ref() // const queryFormRef = ref() //
/** 查询参数列表 */ /** 查询列表 */
const getList = async () => { const getList = async () => {
loading.value = true loading.value = true
try { try {

View File

@ -1,5 +1,5 @@
<template> <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 border :column="1">
<el-descriptions-item label="日志主键" min-width="120"> <el-descriptions-item label="日志主键" min-width="120">
{{ detailData.id }} {{ detailData.id }}
@ -61,13 +61,13 @@
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import * as OperateLogApi from '@/api/system/operatelog' import * as OperateLogApi from '@/api/system/operatelog'
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const detailLoading = ref(false) // const detailLoading = ref(false) //
const detailData = ref() // const detailData = ref() //
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async (data: OperateLogApi.OperateLogVO) => { const openModal = async (data: OperateLogApi.OperateLogVO) => {
modelVisible.value = true dialogVisible.value = true
// //
detailLoading.value = true detailLoading.value = true
try { try {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible" width="800"> <Dialog :title="dialogTitle" v-model="dialogVisible" width="800">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -29,7 +29,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -41,8 +41,8 @@ import * as PostApi from '@/api/system/post'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -63,8 +63,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const openModal = async (type: string, id?: number) => { const openModal = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -97,7 +97,7 @@ const submitForm = async () => {
await PostApi.updatePost(data) await PostApi.updatePost(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -39,6 +39,7 @@
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button <el-button
type="primary" type="primary"
plain
@click="openModal('create')" @click="openModal('create')"
v-hasPermi="['system:notice:create']" v-hasPermi="['system:notice:create']"
> >

View File

@ -1,5 +1,5 @@
<template> <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 ref="formRef" :model="formData" label-width="80px" v-loading="formLoading">
<el-form-item label="角色名称"> <el-form-item label="角色名称">
<el-tag>{{ formData.name }}</el-tag> <el-tag>{{ formData.name }}</el-tag>
@ -40,7 +40,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -52,7 +52,7 @@ import * as PermissionApi from '@/api/system/permission'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formData = reactive({ const formData = reactive({
id: 0, id: 0,
@ -68,7 +68,7 @@ const treeNodeAll = ref(false) // 全选/全不选
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (row: RoleApi.RoleVO) => { const open = async (row: RoleApi.RoleVO) => {
modelVisible.value = true dialogVisible.value = true
resetForm() resetForm()
// Menu setChecked // Menu setChecked
menuOptions.value = handleTree(await MenuApi.getSimpleMenusList()) menuOptions.value = handleTree(await MenuApi.getSimpleMenusList())
@ -107,7 +107,7 @@ const submitForm = async () => {
} }
await PermissionApi.assignRoleMenu(data) await PermissionApi.assignRoleMenu(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
modelVisible.value = false dialogVisible.value = false
} finally { } finally {
formLoading.value = false formLoading.value = false
} }

View File

@ -1,5 +1,5 @@
<template> <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 ref="formRef" :model="formData" label-width="80px" v-loading="formLoading">
<el-form-item label="角色名称"> <el-form-item label="角色名称">
<el-tag>{{ formData.name }}</el-tag> <el-tag>{{ formData.name }}</el-tag>
@ -58,7 +58,7 @@
</el-form-item> </el-form-item>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -72,7 +72,7 @@ import * as PermissionApi from '@/api/system/permission'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formData = reactive({ const formData = reactive({
id: 0, id: 0,
@ -90,7 +90,7 @@ const checkStrictly = ref(true) // 是否严格模式,即父子不关联
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (row: RoleApi.RoleVO) => { const open = async (row: RoleApi.RoleVO) => {
modelVisible.value = true dialogVisible.value = true
resetForm() resetForm()
// Dept setChecked // Dept setChecked
deptOptions.value = handleTree(await DeptApi.getSimpleDeptList()) deptOptions.value = handleTree(await DeptApi.getSimpleDeptList())
@ -119,7 +119,7 @@ const submitForm = async () => {
} }
await PermissionApi.assignRoleDataScope(data) await PermissionApi.assignRoleDataScope(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
modelVisible.value = false dialogVisible.value = false
} finally { } finally {
formLoading.value = false formLoading.value = false
} }

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -32,7 +32,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -43,8 +43,8 @@ import * as RoleApi from '@/api/system/role'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -66,8 +66,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -113,7 +113,7 @@ const submitForm = async () => {
await RoleApi.updateRole(data) await RoleApi.updateRole(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -39,7 +39,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -50,8 +50,8 @@ import { CommonStatusEnum } from '@/utils/constants'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -70,8 +70,8 @@ const tagList = ref([]) // 标签数组
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -106,7 +106,7 @@ const submitForm = async () => {
await SensitiveWordApi.updateSensitiveWord(data) await SensitiveWordApi.updateSensitiveWord(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog title="检测敏感词" v-model="modelVisible"> <Dialog title="检测敏感词" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -24,10 +24,8 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <el-button @click="dialogVisible = false"> </el-button>
<el-button @click="modelVisible = false"> </el-button>
</div>
</template> </template>
</Dialog> </Dialog>
</template> </template>
@ -35,7 +33,7 @@
import * as SensitiveWordApi from '@/api/system/sensitiveWord' import * as SensitiveWordApi from '@/api/system/sensitiveWord'
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formData = ref({ const formData = ref({
text: '', text: '',
@ -50,7 +48,7 @@ const tagList = ref([]) // 标签数组
/** 打开弹窗 */ /** 打开弹窗 */
const open = async () => { const open = async () => {
modelVisible.value = true dialogVisible.value = true
resetForm() resetForm()
// Tag // Tag
tagList.value = await SensitiveWordApi.getSensitiveWordTagList() tagList.value = await SensitiveWordApi.getSensitiveWordTagList()
@ -73,7 +71,7 @@ const submitForm = async () => {
return return
} }
message.warning('包含敏感词:' + data.join(', ')) message.warning('包含敏感词:' + data.join(', '))
modelVisible.value = false dialogVisible.value = false
} finally { } finally {
formLoading.value = false formLoading.value = false
} }

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -46,7 +46,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -57,8 +57,8 @@ import { CommonStatusEnum } from '@/utils/constants'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -81,8 +81,8 @@ const formRef = ref() // 表单 Ref
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -116,7 +116,7 @@ const submitForm = async () => {
await SmsChannelApi.updateSmsChannel(data) await SmsChannelApi.updateSmsChannel(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -40,6 +40,7 @@
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button <el-button
type="primary" type="primary"
plain
@click="openForm('create')" @click="openForm('create')"
v-hasPermi="['system:sms-channel:create']" v-hasPermi="['system:sms-channel:create']"
> >

View File

@ -1,5 +1,5 @@
<template> <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 border :column="1">
<el-descriptions-item label="日志主键" min-width="120"> <el-descriptions-item label="日志主键" min-width="120">
{{ detailData.id }} {{ detailData.id }}
@ -65,14 +65,14 @@ import { formatDate } from '@/utils/formatTime'
import * as SmsLogApi from '@/api/system/sms/smsLog' import * as SmsLogApi from '@/api/system/sms/smsLog'
import * as SmsChannelApi from '@/api/system/sms/smsChannel' import * as SmsChannelApi from '@/api/system/sms/smsChannel'
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const detailLoading = ref(false) // const detailLoading = ref(false) //
const detailData = ref() // const detailData = ref() //
const channelList = ref([]) // const channelList = ref([]) //
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (data: SmsLogApi.SmsLogVO) => { const open = async (data: SmsLogApi.SmsLogVO) => {
modelVisible.value = true dialogVisible.value = true
// //
detailLoading.value = true detailLoading.value = true
try { try {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -59,7 +59,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -71,8 +71,8 @@ import { CommonStatusEnum } from '@/utils/constants'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // const formType = ref('') //
const formData = ref<SmsTemplateApi.SmsTemplateVO>({ const formData = ref<SmsTemplateApi.SmsTemplateVO>({
@ -99,8 +99,8 @@ const formRef = ref() // 表单 Ref
const channelList = ref<SmsChannelApi.SmsChannelVO[]>([]) // const channelList = ref<SmsChannelApi.SmsChannelVO[]>([]) //
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -134,7 +134,7 @@ const submitForm = async () => {
await SmsTemplateApi.updateSmsTemplate(data) await SmsTemplateApi.updateSmsTemplate(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog title="测试" v-model="modelVisible"> <Dialog title="测试" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -32,7 +32,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -40,7 +40,7 @@
import * as SmsTemplateApi from '@/api/system/sms/smsTemplate' import * as SmsTemplateApi from '@/api/system/sms/smsTemplate'
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
// //
@ -59,7 +59,7 @@ const formRules = reactive({
const formRef = ref() // Ref const formRef = ref() // Ref
const open = async (id: number) => { const open = async (id: number) => {
modelVisible.value = true dialogVisible.value = true
resetForm() resetForm()
// //
formLoading.value = true formLoading.value = true
@ -97,7 +97,7 @@ const submitForm = async () => {
if (logId) { if (logId) {
message.success('提交发送成功!发送结果,见发送日志编号:' + logId) message.success('提交发送成功!发送结果,见发送日志编号:' + logId)
} }
modelVisible.value = false dialogVisible.value = false
} finally { } finally {
formLoading.value = false formLoading.value = false
} }

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible" width="50%"> <Dialog :title="dialogTitle" v-model="dialogVisible" width="50%">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -71,7 +71,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -83,8 +83,8 @@ import * as TenantPackageApi from '@/api/system/tenantPackage'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -112,8 +112,8 @@ const packageList = ref([]) // 租户套餐
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -148,7 +148,7 @@ const submitForm = async () => {
await TenantApi.updateTenant(data) await TenantApi.updateTenant(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -71,7 +71,12 @@
<Icon icon="ep:refresh" class="mr-5px" /> <Icon icon="ep:refresh" class="mr-5px" />
重置 重置
</el-button> </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" /> <Icon icon="ep:plus" class="mr-5px" />
新增 新增
</el-button> </el-button>

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -57,7 +57,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -71,8 +71,8 @@ import { ElTree } from 'element-plus'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -95,8 +95,8 @@ const treeNodeAll = ref(false) // 全选/全不选
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// Menu setChecked // Menu setChecked
@ -141,7 +141,7 @@ const submitForm = async () => {
await TenantPackageApi.updateTenantPackage(data) await TenantPackageApi.updateTenantPackage(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -42,6 +42,7 @@
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button <el-button
type="primary" type="primary"
plain
@click="openForm('create')" @click="openForm('create')"
v-hasPermi="['system:tenant-package:create']" v-hasPermi="['system:tenant-package:create']"
> >
@ -63,11 +64,13 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180"> <el-table-column
<template #default="scope"> label="创建时间"
<span>{{ formatDate(scope.row.createTime) }}</span> align="center"
</template> prop="createTime"
</el-table-column> width="180"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope"> <template #default="scope">
<el-button <el-button
@ -103,7 +106,7 @@
</template> </template>
<script setup lang="ts" name="TenantPackage"> <script setup lang="ts" name="TenantPackage">
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' 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 * as TenantPackageApi from '@/api/system/tenantPackage'
import TenantPackageForm from './TenantPackageForm.vue' import TenantPackageForm from './TenantPackageForm.vue'
const message = useMessage() // const message = useMessage() //

View File

@ -1,5 +1,5 @@
<template> <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 ref="formRef" :model="formData" label-width="80px" v-loading="formLoading">
<el-form-item label="用户名称"> <el-form-item label="用户名称">
<el-input v-model="formData.username" :disabled="true" /> <el-input v-model="formData.username" :disabled="true" />
@ -15,7 +15,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -26,7 +26,7 @@ import * as RoleApi from '@/api/system/role'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formData = ref({ const formData = ref({
id: undefined, id: undefined,
@ -39,7 +39,7 @@ const roleList = ref([]) // 角色的列表
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (row: UserApi.UserVO) => { const open = async (row: UserApi.UserVO) => {
modelVisible.value = true dialogVisible.value = true
resetForm() resetForm()
// //
formData.value.id = row.id formData.value.id = row.id
@ -72,7 +72,7 @@ const submitForm = async () => {
roleIds: formData.value.roleIds roleIds: formData.value.roleIds
}) })
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
modelVisible.value = false dialogVisible.value = false
// //
emit('success', true) emit('success', true)
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="modelTitle" v-model="modelVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -91,7 +91,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -105,8 +105,8 @@ import * as UserApi from '@/api/system/user'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const modelTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData = ref({
@ -148,8 +148,8 @@ const postList = ref([]) // 岗位列表
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
modelVisible.value = true dialogVisible.value = true
modelTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
// //
@ -186,7 +186,7 @@ const submitForm = async () => {
await UserApi.updateUser(data) await UserApi.updateUser(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
} }
modelVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')
} finally { } finally {

View File

@ -1,5 +1,5 @@
<template> <template>
<Dialog title="用户导入" v-model="modelVisible" width="400"> <Dialog title="用户导入" v-model="dialogVisible" width="400">
<el-upload <el-upload
ref="uploadRef" ref="uploadRef"
:action="importUrl + '?updateSupport=' + updateSupport" :action="importUrl + '?updateSupport=' + updateSupport"
@ -35,7 +35,7 @@
</el-upload> </el-upload>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <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> </template>
</Dialog> </Dialog>
</template> </template>
@ -45,7 +45,7 @@ import { getAccessToken, getTenantId } from '@/utils/auth'
import download from '@/utils/download' import download from '@/utils/download'
const message = useMessage() // const message = useMessage() //
const modelVisible = ref(false) // const dialogVisible = ref(false) //
const formLoading = ref(false) // const formLoading = ref(false) //
const uploadRef = ref() const uploadRef = ref()
const importUrl = const importUrl =
@ -56,7 +56,7 @@ const updateSupport = ref(0) // 是否更新已经存在的用户数据
/** 打开弹窗 */ /** 打开弹窗 */
const open = () => { const open = () => {
modelVisible.value = true dialogVisible.value = true
resetForm() resetForm()
} }
defineExpose({ open }) // open defineExpose({ open }) // open

View File

@ -70,11 +70,16 @@
> >
<Icon icon="ep:plus" /> 新增 <Icon icon="ep:plus" /> 新增
</el-button> </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" /> 导入 <Icon icon="ep:upload" /> 导入
</el-button> </el-button>
<el-button <el-button
type="warning" type="success"
plain plain
@click="handleExport" @click="handleExport"
:loading="exportLoading" :loading="exportLoading"