diff --git a/build/vite/index.ts b/build/vite/index.ts index 304ce0d5b..53f66ec04 100644 --- a/build/vite/index.ts +++ b/build/vite/index.ts @@ -39,11 +39,14 @@ export function createVitePlugins(VITE_APP_TITLE: string) { imports: [ 'vue', 'vue-router', + // 可额外添加需要 autoImport 的组件 { '@/hooks/web/useI18n': ['useI18n'], - '@/hooks/web/useXTable': ['useXTable'], '@/hooks/web/useMessage': ['useMessage'], + '@/hooks/web/useXTable': ['useXTable'], '@/hooks/web/useVxeCrudSchemas': ['useVxeCrudSchemas'], + '@/hooks/web/useTable': ['useTable'], + '@/hooks/web/useCrudSchemas': ['useCrudSchemas'], '@/utils/formRules': ['required'], '@/utils/dict': ['DICT_TYPE'] } diff --git a/src/api/infra/fileList/index.ts b/src/api/infra/file/index.ts similarity index 54% rename from src/api/infra/fileList/index.ts rename to src/api/infra/file/index.ts index 48b3c9917..f64bc0d69 100644 --- a/src/api/infra/fileList/index.ts +++ b/src/api/infra/file/index.ts @@ -1,16 +1,5 @@ import request from '@/config/axios' -export interface FileVO { - id: number - configId: number - path: string - name: string - url: string - size: string - type: string - createTime: Date -} - export interface FilePageReqVO extends PageParam { path?: string type?: string @@ -18,11 +7,11 @@ export interface FilePageReqVO extends PageParam { } // 查询文件列表 -export const getFilePageApi = (params: FilePageReqVO) => { +export const getFilePage = (params: FilePageReqVO) => { return request.get({ url: '/infra/file/page', params }) } // 删除文件 -export const deleteFileApi = (id: number) => { +export const deleteFile = (id: number) => { return request.delete({ url: '/infra/file/delete?id=' + id }) } diff --git a/src/api/infra/fileConfig/index.ts b/src/api/infra/fileConfig/index.ts index 2151141cd..d6c00996e 100644 --- a/src/api/infra/fileConfig/index.ts +++ b/src/api/infra/fileConfig/index.ts @@ -13,6 +13,7 @@ export interface FileClientConfig { accessSecret?: string domain: string } + export interface FileConfigVO { id: number name: string @@ -24,43 +25,37 @@ export interface FileConfigVO { createTime: Date } -export interface FileConfigPageReqVO extends PageParam { - name?: string - storage?: number - createTime?: Date[] -} - // 查询文件配置列表 -export const getFileConfigPageApi = (params: FileConfigPageReqVO) => { +export const getFileConfigPage = (params: PageParam) => { return request.get({ url: '/infra/file-config/page', params }) } // 查询文件配置详情 -export const getFileConfigApi = (id: number) => { +export const getFileConfig = (id: number) => { return request.get({ url: '/infra/file-config/get?id=' + id }) } // 更新文件配置为主配置 -export const updateFileConfigMasterApi = (id: number) => { +export const updateFileConfigMaster = (id: number) => { return request.put({ url: '/infra/file-config/update-master?id=' + id }) } // 新增文件配置 -export const createFileConfigApi = (data: FileConfigVO) => { +export const createFileConfig = (data: FileConfigVO) => { return request.post({ url: '/infra/file-config/create', data }) } // 修改文件配置 -export const updateFileConfigApi = (data: FileConfigVO) => { +export const updateFileConfig = (data: FileConfigVO) => { return request.put({ url: '/infra/file-config/update', data }) } // 删除文件配置 -export const deleteFileConfigApi = (id: number) => { +export const deleteFileConfig = (id: number) => { return request.delete({ url: '/infra/file-config/delete?id=' + id }) } // 测试文件配置 -export const testFileConfigApi = (id: number) => { +export const testFileConfig = (id: number) => { return request.get({ url: '/infra/file-config/test?id=' + id }) } diff --git a/src/api/system/area/index.ts b/src/api/system/area/index.ts new file mode 100644 index 000000000..e91a4997c --- /dev/null +++ b/src/api/system/area/index.ts @@ -0,0 +1,11 @@ +import request from '@/config/axios' + +// 获得地区树 +export const getAreaTree = async () => { + return await request.get({ url: '/system/area/tree' }) +} + +// 获得 IP 对应的地区名 +export const getAreaByIp = async (ip: string) => { + return await request.get({ url: '/system/area/get-by-ip?ip=' + ip }) +} diff --git a/src/api/system/mail/account/index.ts b/src/api/system/mail/account/index.ts index 8b662a701..9e10c92a1 100644 --- a/src/api/system/mail/account/index.ts +++ b/src/api/system/mail/account/index.ts @@ -10,37 +10,32 @@ export interface MailAccountVO { sslEnable: boolean } -export interface MailAccountPageReqVO extends PageParam { - mail?: string - username?: string -} - // 查询邮箱账号列表 -export const getMailAccountPageApi = async (params: MailAccountPageReqVO) => { +export const getMailAccountPage = async (params: PageParam) => { return await request.get({ url: '/system/mail-account/page', params }) } // 查询邮箱账号详情 -export const getMailAccountApi = async (id: number) => { +export const getMailAccount = async (id: number) => { return await request.get({ url: '/system/mail-account/get?id=' + id }) } // 新增邮箱账号 -export const createMailAccountApi = async (data: MailAccountVO) => { +export const createMailAccount = async (data: MailAccountVO) => { return await request.post({ url: '/system/mail-account/create', data }) } // 修改邮箱账号 -export const updateMailAccountApi = async (data: MailAccountVO) => { +export const updateMailAccount = async (data: MailAccountVO) => { return await request.put({ url: '/system/mail-account/update', data }) } // 删除邮箱账号 -export const deleteMailAccountApi = async (id: number) => { +export const deleteMailAccount = async (id: number) => { return await request.delete({ url: '/system/mail-account/delete?id=' + id }) } // 获得邮箱账号精简列表 -export const getSimpleMailAccounts = async () => { +export const getSimpleMailAccountList = async () => { return request.get({ url: '/system/mail-account/list-all-simple' }) } diff --git a/src/api/system/mail/log/index.ts b/src/api/system/mail/log/index.ts index 9c6c60eb2..13172a72d 100644 --- a/src/api/system/mail/log/index.ts +++ b/src/api/system/mail/log/index.ts @@ -19,22 +19,12 @@ export interface MailLogVO { sendException: string } -export interface MailLogPageReqVO extends PageParam { - userId?: number - userType?: number - toMail?: string - accountId?: number - templateId?: number - sendStatus?: number - sendTime?: Date[] -} - // 查询邮件日志列表 -export const getMailLogPageApi = async (params: MailLogPageReqVO) => { +export const getMailLogPage = async (params: PageParam) => { return await request.get({ url: '/system/mail-log/page', params }) } // 查询邮件日志详情 -export const getMailLogApi = async (id: number) => { +export const getMailLog = async (id: number) => { return await request.get({ url: '/system/mail-log/get?id=' + id }) } diff --git a/src/api/system/mail/template/index.ts b/src/api/system/mail/template/index.ts index c044ddd4e..fb7ce5ea7 100644 --- a/src/api/system/mail/template/index.ts +++ b/src/api/system/mail/template/index.ts @@ -13,14 +13,6 @@ export interface MailTemplateVO { remark: string } -export interface MailTemplatePageReqVO extends PageParam { - name?: string - code?: string - accountId?: number - status?: number - createTime?: Date[] -} - export interface MailSendReqVO { mail: string templateCode: string @@ -28,31 +20,31 @@ export interface MailSendReqVO { } // 查询邮件模版列表 -export const getMailTemplatePageApi = async (params: MailTemplatePageReqVO) => { +export const getMailTemplatePage = async (params: PageParam) => { return await request.get({ url: '/system/mail-template/page', params }) } // 查询邮件模版详情 -export const getMailTemplateApi = async (id: number) => { +export const getMailTemplate = async (id: number) => { return await request.get({ url: '/system/mail-template/get?id=' + id }) } // 新增邮件模版 -export const createMailTemplateApi = async (data: MailTemplateVO) => { +export const createMailTemplate = async (data: MailTemplateVO) => { return await request.post({ url: '/system/mail-template/create', data }) } // 修改邮件模版 -export const updateMailTemplateApi = async (data: MailTemplateVO) => { +export const updateMailTemplate = async (data: MailTemplateVO) => { return await request.put({ url: '/system/mail-template/update', data }) } // 删除邮件模版 -export const deleteMailTemplateApi = async (id: number) => { +export const deleteMailTemplate = async (id: number) => { return await request.delete({ url: '/system/mail-template/delete?id=' + id }) } // 发送邮件 -export const sendMailApi = (data: MailSendReqVO) => { +export const sendMail = (data: MailSendReqVO) => { return request.post({ url: '/system/mail-template/send-mail', data }) } diff --git a/src/api/system/notice/index.ts b/src/api/system/notice/index.ts index f0f5d7e9c..62bf5259d 100644 --- a/src/api/system/notice/index.ts +++ b/src/api/system/notice/index.ts @@ -1,7 +1,7 @@ import request from '@/config/axios' export interface NoticeVO { - id: number + id: number | undefined title: string type: number content: string @@ -11,32 +11,27 @@ export interface NoticeVO { createTime: Date } -export interface NoticePageReqVO extends PageParam { - title?: string - status?: number -} - // 查询公告列表 -export const getNoticePageApi = (params: NoticePageReqVO) => { +export const getNoticePage = (params: PageParam) => { return request.get({ url: '/system/notice/page', params }) } // 查询公告详情 -export const getNoticeApi = (id: number) => { +export const getNotice = (id: number) => { return request.get({ url: '/system/notice/get?id=' + id }) } // 新增公告 -export const createNoticeApi = (data: NoticeVO) => { +export const createNotice = (data: NoticeVO) => { return request.post({ url: '/system/notice/create', data }) } // 修改公告 -export const updateNoticeApi = (data: NoticeVO) => { +export const updateNotice = (data: NoticeVO) => { return request.put({ url: '/system/notice/update', data }) } // 删除公告 -export const deleteNoticeApi = (id: number) => { +export const deleteNotice = (id: number) => { return request.delete({ url: '/system/notice/delete?id=' + id }) } diff --git a/src/api/system/operatelog/index.ts b/src/api/system/operatelog/index.ts index 5fd31dbac..848a53333 100644 --- a/src/api/system/operatelog/index.ts +++ b/src/api/system/operatelog/index.ts @@ -23,19 +23,11 @@ export type OperateLogVO = { resultData: string } -export interface OperateLogPageReqVO extends PageParam { - module?: string - userNickname?: string - type?: number - success?: boolean - startTime?: Date[] -} - // 查询操作日志列表 -export const getOperateLogPageApi = (params: OperateLogPageReqVO) => { +export const getOperateLogPage = (params: PageParam) => { return request.get({ url: '/system/operate-log/page', params }) } // 导出操作日志 -export const exportOperateLogApi = (params: OperateLogPageReqVO) => { +export const exportOperateLog = (params) => { return request.download({ url: '/system/operate-log/export', params }) } diff --git a/src/api/system/sms/smsLog/index.ts b/src/api/system/sms/smsLog/index.ts index 52594b908..863eabb6b 100644 --- a/src/api/system/sms/smsLog/index.ts +++ b/src/api/system/sms/smsLog/index.ts @@ -53,5 +53,5 @@ export const getSmsLogPageApi = (params: SmsLogPageReqVO) => { // 导出短信日志 export const exportSmsLogApi = (params: SmsLogExportReqVO) => { - return request.download({ url: '/system/sms-log/export', params }) + return request.download({ url: '/system/sms-log/export-excel', params }) } diff --git a/src/components/Form/src/Form.vue b/src/components/Form/src/Form.vue index 5e5120c3d..c11216416 100644 --- a/src/components/Form/src/Form.vue +++ b/src/components/Form/src/Form.vue @@ -35,7 +35,8 @@ export default defineComponent({ default: () => [] }, // 是否需要栅格布局 - isCol: propTypes.bool.def(true), + // update by 芋艿:将 true 改成 false,因为项目更常用这种方式 + isCol: propTypes.bool.def(false), // 表单数据对象 model: { type: Object as PropType, @@ -46,7 +47,9 @@ export default defineComponent({ // 是否自定义内容 isCustom: propTypes.bool.def(false), // 表单label宽度 - labelWidth: propTypes.oneOfType([String, Number]).def('auto') + labelWidth: propTypes.oneOfType([String, Number]).def('auto'), + // 是否 loading 数据中 add by 芋艿 + vLoading: propTypes.bool.def(false) }, emits: ['register'], setup(props, { slots, expose, emit }) { @@ -280,6 +283,7 @@ export default defineComponent({ {...getFormBindValue()} model={props.isCustom ? props.model : formModel} class={prefixCls} + v-loading={props.vLoading} > {{ // 如果需要自定义,就什么都不渲染,而是提供默认插槽 diff --git a/src/components/Icon/src/IconSelect.vue b/src/components/Icon/src/IconSelect.vue index 97a3e384c..f5be8d3a8 100644 --- a/src/components/Icon/src/IconSelect.vue +++ b/src/components/Icon/src/IconSelect.vue @@ -45,17 +45,22 @@ const tabsList = [ const pageList = computed(() => { if (currentPage.value === 1) { return copyIconList[currentActiveType.value] - .filter((v) => v.includes(filterValue.value)) + ?.filter((v) => v.includes(filterValue.value)) .slice(currentPage.value - 1, pageSize.value) } else { return copyIconList[currentActiveType.value] - .filter((v) => v.includes(filterValue.value)) + ?.filter((v) => v.includes(filterValue.value)) .slice( pageSize.value * (currentPage.value - 1), pageSize.value * (currentPage.value - 1) + pageSize.value ) } }) +const iconCount = computed(() => { + return copyIconList[currentActiveType.value] == undefined + ? 0 + : copyIconList[currentActiveType.value].length +}) const iconItemStyle = computed((): ParameterCSSProperties => { return (item) => { @@ -159,7 +164,7 @@ watch( { diff --git a/src/components/Table/src/Table.vue b/src/components/Table/src/Table.vue index 66969c99f..8ca596845 100644 --- a/src/components/Table/src/Table.vue +++ b/src/components/Table/src/Table.vue @@ -104,11 +104,12 @@ export default defineComponent({ }) const pagination = computed(() => { + // update by 芋艿:保持和 Pagination 组件的逻辑一致 return Object.assign( { small: false, background: true, - pagerCount: 5, + pagerCount: document.body.clientWidth < 992 ? 5 : 7, layout: 'total, sizes, prev, pager, next, jumper', pageSizes: [10, 20, 30, 50, 100], disabled: false, @@ -283,10 +284,11 @@ export default defineComponent({ }} {unref(getProps).pagination ? ( + // update by 芋艿:保持和 Pagination 组件一致 ) : undefined} diff --git a/src/components/XTable/src/XTable.vue b/src/components/XTable/src/XTable.vue index 451d3d302..55c7b129c 100644 --- a/src/components/XTable/src/XTable.vue +++ b/src/components/XTable/src/XTable.vue @@ -128,7 +128,7 @@ const getColumnsConfig = (options: XTableProps) => { proxyForm = true options.formConfig = { enabled: true, - titleWidth: 100, + titleWidth: 180, titleAlign: 'right', items: allSchemas.searchSchema } diff --git a/src/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue b/src/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue index e16857ecb..a14b0b60f 100644 --- a/src/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue +++ b/src/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue @@ -1,6 +1,6 @@