diff --git a/package.json b/package.json
index d067560f6ca7047fc4fb77fef95f92567e8ded7b..683d09eb4675c4d4de91878e3d6bc914c585d589 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "yudao-ui-admin-vue3",
- "version": "1.7.1-snapshot.1941",
+ "version": "1.7.1-snapshot.1961",
"description": "基于vue3、vite4、element-plus、typesScript",
"author": "xingyu",
"private": false,
@@ -29,12 +29,14 @@
"@form-create/designer": "^3.1.0",
"@form-create/element-ui": "^3.1.17",
"@iconify/iconify": "^3.1.0",
+ "@videojs-player/vue": "^1.0.0",
"@vueuse/core": "^9.13.0",
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.10",
"@zxcvbn-ts/core": "^2.2.1",
"animate.css": "^4.1.1",
"axios": "^1.3.4",
+ "benz-amr-recorder": "^1.1.5",
"bpmn-js-token-simulation": "^0.10.0",
"camunda-bpmn-moddle": "^7.0.1",
"cropperjs": "^1.5.13",
@@ -43,7 +45,7 @@
"diagram-js": "^11.6.0",
"echarts": "^5.4.1",
"echarts-wordcloud": "^2.1.0",
- "element-plus": "2.2.34",
+ "element-plus": "2.3.1",
"fast-xml-parser": "^4.1.3",
"highlight.js": "^11.7.0",
"intro.js": "^6.0.0",
@@ -57,62 +59,63 @@
"qs": "^6.11.1",
"steady-xml": "^0.1.0",
"url": "^0.11.0",
+ "video.js": "^8.0.4",
"vue": "3.2.47",
"vue-i18n": "9.2.2",
"vue-router": "^4.1.6",
"vue-types": "^5.0.2",
"vuedraggable": "^4.1.0",
- "vxe-table": "^4.3.10",
+ "vxe-table": "^4.3.11",
"web-storage-cache": "^1.1.1",
"xe-utils": "^3.5.7",
"xml-js": "^1.6.11"
},
"devDependencies": {
- "@commitlint/cli": "^17.4.4",
+ "@commitlint/cli": "^17.5.0",
"@commitlint/config-conventional": "^17.4.4",
- "@iconify/json": "^2.2.31",
- "@intlify/unplugin-vue-i18n": "^0.8.2",
+ "@iconify/json": "^2.2.38",
+ "@intlify/unplugin-vue-i18n": "^0.10.0",
"@purge-icons/generated": "^0.9.0",
"@types/intro.js": "^5.1.1",
- "@types/lodash-es": "^4.17.6",
- "@types/node": "^18.14.6",
+ "@types/lodash-es": "^4.17.7",
+ "@types/node": "^18.15.5",
"@types/nprogress": "^0.2.0",
"@types/qrcode": "^1.5.0",
"@types/qs": "^6.9.7",
- "@typescript-eslint/eslint-plugin": "^5.54.1",
- "@typescript-eslint/parser": "^5.54.1",
- "@vitejs/plugin-legacy": "^4.0.1",
- "@vitejs/plugin-vue": "^4.0.0",
- "@vitejs/plugin-vue-jsx": "^3.0.0",
- "autoprefixer": "^10.4.13",
+ "@typescript-eslint/eslint-plugin": "^5.56.0",
+ "@typescript-eslint/parser": "^5.56.0",
+ "@vitejs/plugin-legacy": "^4.0.2",
+ "@vitejs/plugin-vue": "^4.1.0",
+ "@vitejs/plugin-vue-jsx": "^3.0.1",
+ "autoprefixer": "^10.4.14",
"bpmn-js": "^8.9.0",
"bpmn-js-properties-panel": "^0.46.0",
"consola": "^2.15.3",
- "eslint": "^8.35.0",
- "eslint-config-prettier": "^8.7.0",
- "eslint-define-config": "^1.15.0",
+ "eslint": "^8.36.0",
+ "eslint-config-prettier": "^8.8.0",
+ "eslint-define-config": "^1.17.0",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-vue": "^9.9.0",
- "lint-staged": "^13.1.2",
+ "lint-staged": "^13.2.0",
"postcss": "^8.4.21",
"postcss-html": "^1.5.0",
"postcss-scss": "^4.0.6",
- "prettier": "^2.8.4",
- "rimraf": "^4.3.1",
- "rollup": "^3.18.0",
- "sass": "^1.58.3",
- "stylelint": "^15.2.0",
+ "prettier": "^2.8.6",
+ "rimraf": "^4.4.1",
+ "rollup": "^3.20.0",
+ "sass": "^1.59.3",
+ "stylelint": "^15.3.0",
"stylelint-config-html": "^1.1.0",
"stylelint-config-prettier": "^9.0.5",
- "stylelint-config-recommended": "^10.0.1",
- "stylelint-config-standard": "^30.0.1",
- "stylelint-order": "^6.0.2",
- "terser": "^5.16.5",
- "typescript": "4.9.5",
+ "stylelint-config-recommended": "^11.0.0",
+ "stylelint-config-standard": "^31.0.0",
+ "stylelint-order": "^6.0.3",
+ "terser": "^5.16.6",
+ "typescript": "5.0.2",
"unplugin-auto-import": "^0.15.1",
"unplugin-element-plus": "^0.7.0",
"unplugin-vue-components": "^0.24.1",
- "vite": "4.1.4",
+ "vite": "4.2.1",
"vite-plugin-compression": "^0.5.1",
"vite-plugin-ejs": "^1.6.4",
"vite-plugin-eslint": "^1.8.1",
@@ -125,7 +128,7 @@
"windicss": "^3.5.6"
},
"engines": {
- "node": ">=16.0.0"
+ "node": ">=16.18.0"
},
"license": "MIT",
"repository": {
diff --git a/src/api/bpm/definition/index.ts b/src/api/bpm/definition/index.ts
index 477d672983cc36c5c4b1c5420d454c515fd04a2b..c0e51fab5b080ee88c46b65161c7bc5bf9eb781a 100644
--- a/src/api/bpm/definition/index.ts
+++ b/src/api/bpm/definition/index.ts
@@ -1,19 +1,19 @@
import request from '@/config/axios'
-export const getProcessDefinitionBpmnXMLApi = async (id: number) => {
+export const getProcessDefinitionBpmnXML = async (id: number) => {
return await request.get({
url: '/bpm/process-definition/get-bpmn-xml?id=' + id
})
}
-export const getProcessDefinitionPageApi = async (params) => {
+export const getProcessDefinitionPage = async (params) => {
return await request.get({
url: '/bpm/process-definition/page',
params
})
}
-export const getProcessDefinitionListApi = async (params) => {
+export const getProcessDefinitionList = async (params) => {
return await request.get({
url: '/bpm/process-definition/list',
params
diff --git a/src/api/bpm/form/index.ts b/src/api/bpm/form/index.ts
index c745201f2b65725e827db13133ee96d737f0ca36..142ed24c332d9d1ef1b2c83396a57789b29a11b7 100644
--- a/src/api/bpm/form/index.ts
+++ b/src/api/bpm/form/index.ts
@@ -11,7 +11,7 @@ export type FormVO = {
}
// 创建工作流的表单定义
-export const createFormApi = async (data: FormVO) => {
+export const createForm = async (data: FormVO) => {
return await request.post({
url: '/bpm/form/create',
data: data
@@ -19,7 +19,7 @@ export const createFormApi = async (data: FormVO) => {
}
// 更新工作流的表单定义
-export const updateFormApi = async (data: FormVO) => {
+export const updateForm = async (data: FormVO) => {
return await request.put({
url: '/bpm/form/update',
data: data
@@ -27,21 +27,21 @@ export const updateFormApi = async (data: FormVO) => {
}
// 删除工作流的表单定义
-export const deleteFormApi = async (id: number) => {
+export const deleteForm = async (id: number) => {
return await request.delete({
url: '/bpm/form/delete?id=' + id
})
}
// 获得工作流的表单定义
-export const getFormApi = async (id: number) => {
+export const getForm = async (id: number) => {
return await request.get({
url: '/bpm/form/get?id=' + id
})
}
// 获得工作流的表单定义分页
-export const getFormPageApi = async (params) => {
+export const getFormPage = async (params) => {
return await request.get({
url: '/bpm/form/page',
params
@@ -49,7 +49,7 @@ export const getFormPageApi = async (params) => {
}
// 获得动态表单的精简列表
-export const getSimpleFormsApi = async () => {
+export const getSimpleFormList = async () => {
return await request.get({
url: '/bpm/form/list-all-simple'
})
diff --git a/src/api/bpm/model/index.ts b/src/api/bpm/model/index.ts
index 0335a3db8251dce0fe10ef541316b697b1fa38c4..2e1d4e64bca571aea13e6f345c6396181e3e240b 100644
--- a/src/api/bpm/model/index.ts
+++ b/src/api/bpm/model/index.ts
@@ -25,20 +25,20 @@ export type ModelVO = {
bpmnXml: string
}
-export const getModelPageApi = async (params) => {
+export const getModelPage = async (params) => {
return await request.get({ url: '/bpm/model/page', params })
}
-export const getModelApi = async (id: number) => {
+export const getModel = async (id: number) => {
return await request.get({ url: '/bpm/model/get?id=' + id })
}
-export const updateModelApi = async (data: ModelVO) => {
+export const updateModel = async (data: ModelVO) => {
return await request.put({ url: '/bpm/model/update', data: data })
}
// 任务状态修改
-export const updateModelStateApi = async (id: number, state: number) => {
+export const updateModelState = async (id: number, state: number) => {
const data = {
id: id,
state: state
@@ -46,14 +46,14 @@ export const updateModelStateApi = async (id: number, state: number) => {
return await request.put({ url: '/bpm/model/update-state', data: data })
}
-export const createModelApi = async (data: ModelVO) => {
+export const createModel = async (data: ModelVO) => {
return await request.post({ url: '/bpm/model/create', data: data })
}
-export const deleteModelApi = async (id: number) => {
+export const deleteModel = async (id: number) => {
return await request.delete({ url: '/bpm/model/delete?id=' + id })
}
-export const deployModelApi = async (id: number) => {
+export const deployModel = async (id: number) => {
return await request.post({ url: '/bpm/model/deploy?id=' + id })
}
diff --git a/src/api/bpm/processInstance/index.ts b/src/api/bpm/processInstance/index.ts
index d48253c3abf8ec25f499940fcc004d20b82968f2..95591ae33ecd2db3bd833798d87c54abce1cba4a 100644
--- a/src/api/bpm/processInstance/index.ts
+++ b/src/api/bpm/processInstance/index.ts
@@ -4,6 +4,7 @@ export type Task = {
id: string
name: string
}
+
export type ProcessInstanceVO = {
id: number
name: string
diff --git a/src/api/bpm/userGroup/index.ts b/src/api/bpm/userGroup/index.ts
index 88ee961976d12b929628dae2899de83251491e54..035762bf19e3c08296f0e96777c7daf13f12e3a6 100644
--- a/src/api/bpm/userGroup/index.ts
+++ b/src/api/bpm/userGroup/index.ts
@@ -11,7 +11,7 @@ export type UserGroupVO = {
}
// 创建用户组
-export const createUserGroupApi = async (data: UserGroupVO) => {
+export const createUserGroup = async (data: UserGroupVO) => {
return await request.post({
url: '/bpm/user-group/create',
data: data
@@ -19,7 +19,7 @@ export const createUserGroupApi = async (data: UserGroupVO) => {
}
// 更新用户组
-export const updateUserGroupApi = async (data: UserGroupVO) => {
+export const updateUserGroup = async (data: UserGroupVO) => {
return await request.put({
url: '/bpm/user-group/update',
data: data
@@ -27,21 +27,21 @@ export const updateUserGroupApi = async (data: UserGroupVO) => {
}
// 删除用户组
-export const deleteUserGroupApi = async (id: number) => {
+export const deleteUserGroup = async (id: number) => {
return await request.delete({ url: '/bpm/user-group/delete?id=' + id })
}
// 获得用户组
-export const getUserGroupApi = async (id: number) => {
+export const getUserGroup = async (id: number) => {
return await request.get({ url: '/bpm/user-group/get?id=' + id })
}
// 获得用户组分页
-export const getUserGroupPageApi = async (params) => {
+export const getUserGroupPage = async (params) => {
return await request.get({ url: '/bpm/user-group/page', params })
}
// 获取用户组精简信息列表
-export const listSimpleUserGroupsApi = async () => {
+export const getSimpleUserGroupList = async (): Promise
=> {
return await request.get({ url: '/bpm/user-group/list-all-simple' })
}
diff --git a/src/api/infra/apiAccessLog/index.ts b/src/api/infra/apiAccessLog/index.ts
index b46199e4b39021b17bf4b6218a19896924eafb38..c6b4b45f01e26117482e642f29e74ea4930e21bb 100644
--- a/src/api/infra/apiAccessLog/index.ts
+++ b/src/api/infra/apiAccessLog/index.ts
@@ -19,32 +19,12 @@ export interface ApiAccessLogVO {
createTime: Date
}
-export interface ApiAccessLogPageReqVO extends PageParam {
- userId?: number
- userType?: number
- applicationName?: string
- requestUrl?: string
- beginTime?: Date[]
- duration?: number
- resultCode?: number
-}
-
-export interface ApiAccessLogExportReqVO {
- userId?: number
- userType?: number
- applicationName?: string
- requestUrl?: string
- beginTime?: Date[]
- duration?: number
- resultCode?: number
-}
-
// 查询列表API 访问日志
-export const getApiAccessLogPageApi = (params: ApiAccessLogPageReqVO) => {
+export const getApiAccessLogPage = (params: PageParam) => {
return request.get({ url: '/infra/api-access-log/page', params })
}
// 导出API 访问日志
-export const exportApiAccessLogApi = (params: ApiAccessLogExportReqVO) => {
+export const exportApiAccessLog = (params) => {
return request.download({ url: '/infra/api-access-log/export-excel', params })
}
diff --git a/src/api/infra/apiErrorLog/index.ts b/src/api/infra/apiErrorLog/index.ts
index 06515c36b51de4dfc2612f0319c33bd703837ae6..59ee21431bd33dd1a32892d5498b497a583737d0 100644
--- a/src/api/infra/apiErrorLog/index.ts
+++ b/src/api/infra/apiErrorLog/index.ts
@@ -27,38 +27,20 @@ export interface ApiErrorLogVO {
createTime: Date
}
-export interface ApiErrorLogPageReqVO extends PageParam {
- userId?: number
- userType?: number
- applicationName?: string
- requestUrl?: string
- exceptionTime?: Date[]
- processStatus: number
-}
-
-export interface ApiErrorLogExportReqVO {
- userId?: number
- userType?: number
- applicationName?: string
- requestUrl?: string
- exceptionTime?: Date[]
- processStatus: number
-}
-
// 查询列表API 访问日志
-export const getApiErrorLogPageApi = (params: ApiErrorLogPageReqVO) => {
+export const getApiErrorLogPage = (params: PageParam) => {
return request.get({ url: '/infra/api-error-log/page', params })
}
// 更新 API 错误日志的处理状态
-export const updateApiErrorLogPageApi = (id: number, processStatus: number) => {
+export const updateApiErrorLogPage = (id: number, processStatus: number) => {
return request.put({
url: '/infra/api-error-log/update-status?id=' + id + '&processStatus=' + processStatus
})
}
// 导出API 访问日志
-export const exportApiErrorLogApi = (params: ApiErrorLogExportReqVO) => {
+export const exportApiErrorLog = (params) => {
return request.download({
url: '/infra/api-error-log/export-excel',
params
diff --git a/src/api/infra/codegen/index.ts b/src/api/infra/codegen/index.ts
index 54f00ff0e35597eb15f4415be657ea45eeb73371..64701efe42930aec95d1989dd2006927755c0f6f 100644
--- a/src/api/infra/codegen/index.ts
+++ b/src/api/infra/codegen/index.ts
@@ -1,57 +1,123 @@
import request from '@/config/axios'
-import type { CodegenUpdateReqVO, CodegenCreateListReqVO } from './types'
+
+export type CodegenTableVO = {
+ id: number
+ tableId: number
+ isParentMenuIdValid: boolean
+ dataSourceConfigId: number
+ scene: number
+ tableName: string
+ tableComment: string
+ remark: string
+ moduleName: string
+ businessName: string
+ className: string
+ classComment: string
+ author: string
+ createTime: Date
+ updateTime: Date
+ templateType: number
+ parentMenuId: number
+}
+
+export type CodegenColumnVO = {
+ id: number
+ tableId: number
+ columnName: string
+ dataType: string
+ columnComment: string
+ nullable: number
+ primaryKey: number
+ autoIncrement: string
+ ordinalPosition: number
+ javaType: string
+ javaField: string
+ dictType: string
+ example: string
+ createOperation: number
+ updateOperation: number
+ listOperation: number
+ listOperationCondition: string
+ listOperationResult: number
+ htmlType: string
+}
+
+export type DatabaseTableVO = {
+ name: string
+ comment: string
+}
+
+export type CodegenDetailVO = {
+ table: CodegenTableVO
+ columns: CodegenColumnVO[]
+}
+
+export type CodegenPreviewVO = {
+ filePath: string
+ code: string
+}
+
+export type CodegenUpdateReqVO = {
+ table: CodegenTableVO | any
+ columns: CodegenColumnVO[]
+}
+
+export type CodegenCreateListReqVO = {
+ dataSourceConfigId: number
+ tableNames: string[]
+}
// 查询列表代码生成表定义
-export const getCodegenTablePageApi = (params) => {
+export const getCodegenTablePage = (params: PageParam) => {
return request.get({ url: '/infra/codegen/table/page', params })
}
// 查询详情代码生成表定义
-export const getCodegenTableApi = (id: number) => {
+export const getCodegenTable = (id: number) => {
return request.get({ url: '/infra/codegen/detail?tableId=' + id })
}
// 新增代码生成表定义
-export const createCodegenTableApi = (data: CodegenCreateListReqVO) => {
+export const createCodegenTable = (data: CodegenCreateListReqVO) => {
return request.post({ url: '/infra/codegen/create', data })
}
// 修改代码生成表定义
-export const updateCodegenTableApi = (data: CodegenUpdateReqVO) => {
+export const updateCodegenTable = (data: CodegenUpdateReqVO) => {
return request.put({ url: '/infra/codegen/update', data })
}
// 基于数据库的表结构,同步数据库的表和字段定义
-export const syncCodegenFromDBApi = (id: number) => {
+export const syncCodegenFromDB = (id: number) => {
return request.put({ url: '/infra/codegen/sync-from-db?tableId=' + id })
}
// 基于 SQL 建表语句,同步数据库的表和字段定义
-export const syncCodegenFromSQLApi = (id: number, sql: string) => {
+export const syncCodegenFromSQL = (id: number, sql: string) => {
return request.put({ url: '/infra/codegen/sync-from-sql?tableId=' + id + '&sql=' + sql })
}
// 预览生成代码
-export const previewCodegenApi = (id: number) => {
+export const previewCodegen = (id: number) => {
return request.get({ url: '/infra/codegen/preview?tableId=' + id })
}
// 下载生成代码
-export const downloadCodegenApi = (id: number) => {
+export const downloadCodegen = (id: number) => {
return request.download({ url: '/infra/codegen/download?tableId=' + id })
}
// 获得表定义
-export const getSchemaTableListApi = (params) => {
+export const getSchemaTableList = (params) => {
return request.get({ url: '/infra/codegen/db/table/list', params })
}
// 基于数据库的表结构,创建代码生成器的表定义
-export const createCodegenListApi = (data) => {
+export const createCodegenList = (data) => {
return request.post({ url: '/infra/codegen/create-list', data })
}
// 删除代码生成表定义
-export const deleteCodegenTableApi = (id: number) => {
+export const deleteCodegenTable = (id: number) => {
return request.delete({ url: '/infra/codegen/delete?tableId=' + id })
}
diff --git a/src/api/infra/codegen/types.ts b/src/api/infra/codegen/types.ts
deleted file mode 100644
index be6a66edecd64adeccd0a2c35140321e5e4aa2fc..0000000000000000000000000000000000000000
--- a/src/api/infra/codegen/types.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-export type CodegenTableVO = {
- id: number
- tableId: number
- isParentMenuIdValid: boolean
- dataSourceConfigId: number
- scene: number
- tableName: string
- tableComment: string
- remark: string
- moduleName: string
- businessName: string
- className: string
- classComment: string
- author: string
- createTime: Date
- updateTime: Date
- templateType: number
- parentMenuId: number
-}
-
-export type CodegenColumnVO = {
- id: number
- tableId: number
- columnName: string
- dataType: string
- columnComment: string
- nullable: number
- primaryKey: number
- autoIncrement: string
- ordinalPosition: number
- javaType: string
- javaField: string
- dictType: string
- example: string
- createOperation: number
- updateOperation: number
- listOperation: number
- listOperationCondition: string
- listOperationResult: number
- htmlType: string
-}
-export type DatabaseTableVO = {
- name: string
- comment: string
-}
-export type CodegenDetailVO = {
- table: CodegenTableVO
- columns: CodegenColumnVO[]
-}
-export type CodegenPreviewVO = {
- filePath: string
- code: string
-}
-export type CodegenUpdateReqVO = {
- table: CodegenTableVO
- columns: CodegenColumnVO[]
-}
-export type CodegenCreateListReqVO = {
- dataSourceConfigId: number
- tableNames: string[]
-}
diff --git a/src/api/infra/config/index.ts b/src/api/infra/config/index.ts
index c6d3772e219f1d2c722e579caf627c2b3440e8e5..07fb52fd8b76e7c51ddd05d66185db2e30f3c515 100644
--- a/src/api/infra/config/index.ts
+++ b/src/api/infra/config/index.ts
@@ -12,13 +12,6 @@ export interface ConfigVO {
createTime: Date
}
-export interface ConfigExportReqVO {
- name?: string
- key?: string
- type?: number
- createTime?: Date[]
-}
-
// 查询参数列表
export const getConfigPage = (params: PageParam) => {
return request.get({ url: '/infra/config/page', params })
@@ -50,6 +43,6 @@ export const deleteConfig = (id: number) => {
}
// 导出参数
-export const exportConfigApi = (params: ConfigExportReqVO) => {
+export const exportConfigApi = (params) => {
return request.download({ url: '/infra/config/export', params })
}
diff --git a/src/api/infra/dataSourceConfig/index.ts b/src/api/infra/dataSourceConfig/index.ts
index c0f9f6249bdd2b054abced129a1ad9c0a30ca26b..b413f345d4b56b7b76ce20c8acfe330b89652183 100644
--- a/src/api/infra/dataSourceConfig/index.ts
+++ b/src/api/infra/dataSourceConfig/index.ts
@@ -1,35 +1,35 @@
import request from '@/config/axios'
export interface DataSourceConfigVO {
- id: number
+ id: number | undefined
name: string
url: string
username: string
password: string
- createTime: Date
-}
-
-// 查询数据源配置列表
-export const getDataSourceConfigListApi = () => {
- return request.get({ url: '/infra/data-source-config/list' })
-}
-
-// 查询数据源配置详情
-export const getDataSourceConfigApi = (id: number) => {
- return request.get({ url: '/infra/data-source-config/get?id=' + id })
+ createTime?: Date
}
// 新增数据源配置
-export const createDataSourceConfigApi = (data: DataSourceConfigVO) => {
+export const createDataSourceConfig = (data: DataSourceConfigVO) => {
return request.post({ url: '/infra/data-source-config/create', data })
}
// 修改数据源配置
-export const updateDataSourceConfigApi = (data: DataSourceConfigVO) => {
+export const updateDataSourceConfig = (data: DataSourceConfigVO) => {
return request.put({ url: '/infra/data-source-config/update', data })
}
// 删除数据源配置
-export const deleteDataSourceConfigApi = (id: number) => {
+export const deleteDataSourceConfig = (id: number) => {
return request.delete({ url: '/infra/data-source-config/delete?id=' + id })
}
+
+// 查询数据源配置详情
+export const getDataSourceConfig = (id: number) => {
+ return request.get({ url: '/infra/data-source-config/get?id=' + id })
+}
+
+// 查询数据源配置列表
+export const getDataSourceConfigList = () => {
+ return request.get({ url: '/infra/data-source-config/list' })
+}
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 48b3c99175d09c833a8822fec3ca20572c468d67..f64bc0d69b25afb9648d82277d3c04b984c35e92 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 9a4f625c19eaf320cc0f0c8700585cd5ed9ac490..b72f18b7955fe8be54e33ecb89bd58f3cb870da6 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/infra/job/index.ts b/src/api/infra/job/index.ts
index 63f15da0deb70a4a54d54d4a256164b33cfdc29e..c1398d07676910c60ab88987b328643acbd205b5 100644
--- a/src/api/infra/job/index.ts
+++ b/src/api/infra/job/index.ts
@@ -13,50 +13,38 @@ export interface JobVO {
createTime: Date
}
-export interface JobPageReqVO extends PageParam {
- name?: string
- status?: number
- handlerName?: string
-}
-
-export interface JobExportReqVO {
- name?: string
- status?: number
- handlerName?: string
-}
-
// 任务列表
-export const getJobPageApi = (params: JobPageReqVO) => {
+export const getJobPage = (params: PageParam) => {
return request.get({ url: '/infra/job/page', params })
}
// 任务详情
-export const getJobApi = (id: number) => {
+export const getJob = (id: number) => {
return request.get({ url: '/infra/job/get?id=' + id })
}
// 新增任务
-export const createJobApi = (data: JobVO) => {
+export const createJob = (data: JobVO) => {
return request.post({ url: '/infra/job/create', data })
}
// 修改定时任务调度
-export const updateJobApi = (data: JobVO) => {
+export const updateJob = (data: JobVO) => {
return request.put({ url: '/infra/job/update', data })
}
// 删除定时任务调度
-export const deleteJobApi = (id: number) => {
+export const deleteJob = (id: number) => {
return request.delete({ url: '/infra/job/delete?id=' + id })
}
// 导出定时任务调度
-export const exportJobApi = (params: JobExportReqVO) => {
+export const exportJob = (params) => {
return request.download({ url: '/infra/job/export-excel', params })
}
// 任务状态修改
-export const updateJobStatusApi = (id: number, status: number) => {
+export const updateJobStatus = (id: number, status: number) => {
const params = {
id,
status
@@ -70,6 +58,6 @@ export const runJobApi = (id: number) => {
}
// 获得定时任务的下 n 次执行时间
-export const getJobNextTimesApi = (id: number) => {
+export const getJobNextTimes = (id: number) => {
return request.get({ url: '/infra/job/get_next_times?id=' + id })
}
diff --git a/src/api/infra/jobLog/index.ts b/src/api/infra/jobLog/index.ts
index 84b74fbdea81a1a5689552bd00b589b542cb47f6..f429cd9ea69495214bab53dea64e54f774017b80 100644
--- a/src/api/infra/jobLog/index.ts
+++ b/src/api/infra/jobLog/index.ts
@@ -14,34 +14,18 @@ export interface JobLogVO {
createTime: string
}
-export interface JobLogPageReqVO extends PageParam {
- jobId?: number
- handlerName?: string
- beginTime?: string
- endTime?: string
- status?: number
-}
-
-export interface JobLogExportReqVO {
- jobId?: number
- handlerName?: string
- beginTime?: string
- endTime?: string
- status?: number
-}
-
// 任务日志列表
-export const getJobLogPageApi = (params: JobLogPageReqVO) => {
+export const getJobLogPage = (params: PageParam) => {
return request.get({ url: '/infra/job-log/page', params })
}
// 任务日志详情
-export const getJobLogApi = (id: number) => {
+export const getJobLog = (id: number) => {
return request.get({ url: '/infra/job-log/get?id=' + id })
}
// 导出定时任务日志
-export const exportJobLogApi = (params: JobLogExportReqVO) => {
+export const exportJobLog = (params) => {
return request.download({
url: '/infra/job-log/export-excel',
params
diff --git a/src/api/mall/product/category.ts b/src/api/mall/product/category.ts
new file mode 100644
index 0000000000000000000000000000000000000000..7ae81285bd2c486b1467df6db5e3e9c8a6544800
--- /dev/null
+++ b/src/api/mall/product/category.ts
@@ -0,0 +1,60 @@
+import request from '@/config/axios'
+
+/**
+ * 产品分类
+ */
+export interface CategoryVO {
+ /**
+ * 分类编号
+ */
+ id?: number
+ /**
+ * 父分类编号
+ */
+ parentId?: number
+ /**
+ * 分类名称
+ */
+ name: string
+ /**
+ * 分类图片
+ */
+ picUrl: string
+ /**
+ * 分类排序
+ */
+ sort?: number
+ /**
+ * 分类描述
+ */
+ description?: string
+ /**
+ * 开启状态
+ */
+ status: number
+}
+
+// 创建商品分类
+export const createCategory = (data: CategoryVO) => {
+ return request.post({ url: '/product/category/create', data })
+}
+
+// 更新商品分类
+export const updateCategory = (data: CategoryVO) => {
+ return request.put({ url: '/product/category/update', data })
+}
+
+// 删除商品分类
+export const deleteCategory = (id: number) => {
+ return request.delete({ url: `/product/category/delete?id=${id}` })
+}
+
+// 获得商品分类
+export const getCategory = (id: number) => {
+ return request.get({ url: `/product/category/get?id=${id}` })
+}
+
+// 获得商品分类列表
+export const getCategoryList = (params: any) => {
+ return request.get({ url: '/product/category/list', params })
+}
diff --git a/src/api/mall/product/property.ts b/src/api/mall/product/property.ts
new file mode 100644
index 0000000000000000000000000000000000000000..01c79f9fded6326fa869eb6351eb273a89d2da8e
--- /dev/null
+++ b/src/api/mall/product/property.ts
@@ -0,0 +1,103 @@
+import request from '@/config/axios'
+
+/**
+ * 商品属性
+ */
+export interface PropertyVO {
+ id?: number
+ /** 名称 */
+ name: string
+ /** 备注 */
+ remark?: string
+}
+
+/**
+ * 属性值
+ */
+export interface PropertyValueVO {
+ id?: number
+ /** 属性项的编号 */
+ propertyId?: number
+ /** 名称 */
+ name: string
+ /** 备注 */
+ remark?: string
+}
+
+/**
+ * 商品属性值的明细
+ */
+export interface PropertyValueDetailVO {
+ /** 属性项的编号 */
+ propertyId: number // 属性的编号
+ /** 属性的名称 */
+ propertyName: string
+ /** 属性值的编号 */
+ valueId: number
+ /** 属性值的名称 */
+ valueName: string
+}
+
+// ------------------------ 属性项 -------------------
+
+// 创建属性项
+export const createProperty = (data: PropertyVO) => {
+ return request.post({ url: '/product/property/create', data })
+}
+
+// 更新属性项
+export const updateProperty = (data: PropertyVO) => {
+ return request.put({ url: '/product/property/update', data })
+}
+
+// 删除属性项
+export const deleteProperty = (id: number) => {
+ return request.delete({ url: `/product/property/delete?id=${id}` })
+}
+
+// 获得属性项
+export const getProperty = (id: number): Promise => {
+ return request.get({ url: `/product/property/get?id=${id}` })
+}
+
+// 获得属性项分页
+export const getPropertyPage = (params: PageParam) => {
+ return request.get({ url: '/product/property/page', params })
+}
+
+// 获得属性项列表
+export const getPropertyList = (params: any) => {
+ return request.get({ url: '/product/property/list', params })
+}
+
+// 获得属性项列表
+export const getPropertyListAndValue = (params: any) => {
+ return request.get({ url: '/product/property/get-value-list', params })
+}
+
+// ------------------------ 属性值 -------------------
+
+// 获得属性值分页
+export const getPropertyValuePage = (params: PageParam & any) => {
+ return request.get({ url: '/product/property/value/page', params })
+}
+
+// 获得属性值
+export const getPropertyValue = (id: number): Promise => {
+ return request.get({ url: `/product/property/value/get?id=${id}` })
+}
+
+// 创建属性值
+export const createPropertyValue = (data: PropertyValueVO) => {
+ return request.post({ url: '/product/property/value/create', data })
+}
+
+// 更新属性值
+export const updatePropertyValue = (data: PropertyValueVO) => {
+ return request.put({ url: '/product/property/value/update', data })
+}
+
+// 删除属性值
+export const deletePropertyValue = (id: number) => {
+ return request.delete({ url: `/product/property/value/delete?id=${id}` })
+}
diff --git a/src/api/mp/account/index.ts b/src/api/mp/account/index.ts
index cbdb14223a590d565049eb6525b48d24972d7b15..d641ef3c0377eff948f855cdc1277f95e9923f9a 100644
--- a/src/api/mp/account/index.ts
+++ b/src/api/mp/account/index.ts
@@ -1,5 +1,10 @@
import request from '@/config/axios'
+export interface AccountVO {
+ id?: number
+ name: string
+}
+
// 创建公众号账号
export const createAccount = async (data) => {
return await request.post({ url: '/mp/account/create', data })
@@ -26,7 +31,7 @@ export const getAccountPage = async (query) => {
}
// 获取公众号账号精简信息列表
-export const getSimpleAccounts = async () => {
+export const getSimpleAccountList = async () => {
return request.get({ url: '/mp/account/list-all-simple' })
}
diff --git a/src/api/mp/message/index.ts b/src/api/mp/message/index.ts
index 8b7d3cbdd812074f8f9b3adc970f59f03b2a170e..ad9b95dd70e14c5823ad9aeab06348008050ebde 100644
--- a/src/api/mp/message/index.ts
+++ b/src/api/mp/message/index.ts
@@ -1,7 +1,7 @@
import request from '@/config/axios'
// 获得公众号消息分页
-export const getMessagePage = (query) => {
+export const getMessagePage = (query: PageParam) => {
return request.get({
url: '/mp/message/page',
params: query
diff --git a/src/api/mp/tag/index.ts b/src/api/mp/tag/index.ts
index e681e2e18124ce188c286ec77417bc7406e730bd..50183a518d1157d12111e8f0c9bcb7ca23917d38 100644
--- a/src/api/mp/tag/index.ts
+++ b/src/api/mp/tag/index.ts
@@ -1,7 +1,14 @@
import request from '@/config/axios'
+export interface TagVO {
+ id?: number
+ name: string
+ accountId: number
+ createTime: Date
+}
+
// 创建公众号标签
-export const createTag = (data) => {
+export const createTag = (data: TagVO) => {
return request.post({
url: '/mp/tag/create',
data: data
@@ -9,7 +16,7 @@ export const createTag = (data) => {
}
// 更新公众号标签
-export const updateTag = (data) => {
+export const updateTag = (data: TagVO) => {
return request.put({
url: '/mp/tag/update',
data: data
@@ -17,21 +24,21 @@ export const updateTag = (data) => {
}
// 删除公众号标签
-export const deleteTag = (id) => {
+export const deleteTag = (id: number) => {
return request.delete({
url: '/mp/tag/delete?id=' + id
})
}
// 获得公众号标签
-export const getTag = (id) => {
+export const getTag = (id: number) => {
return request.get({
url: '/mp/tag/get?id=' + id
})
}
// 获得公众号标签分页
-export const getTagPage = (query) => {
+export const getTagPage = (query: PageParam) => {
return request.get({
url: '/mp/tag/page',
params: query
@@ -39,14 +46,14 @@ export const getTagPage = (query) => {
}
// 获取公众号标签精简信息列表
-export const getSimpleTags = () => {
+export const getSimpleTagList = () => {
return request.get({
url: '/mp/tag/list-all-simple'
})
}
// 同步公众号标签
-export const syncTag = (accountId) => {
+export const syncTag = (accountId: number) => {
return request.post({
url: '/mp/tag/sync?accountId=' + accountId
})
diff --git a/src/api/pay/merchant/index.ts b/src/api/pay/merchant/index.ts
index b4b6ba511e7031e50736bbea184291ff8b6e29df..bfb8f5e47ad3816cc1ea3007d026ac90131ab183 100644
--- a/src/api/pay/merchant/index.ts
+++ b/src/api/pay/merchant/index.ts
@@ -29,17 +29,17 @@ export interface MerchantExportReqVO {
}
// 查询列表支付商户
-export const getMerchantPageApi = (params: MerchantPageReqVO) => {
+export const getMerchantPage = (params: MerchantPageReqVO) => {
return request.get({ url: '/pay/merchant/page', params })
}
// 查询详情支付商户
-export const getMerchantApi = (id: number) => {
+export const getMerchant = (id: number) => {
return request.get({ url: '/pay/merchant/get?id=' + id })
}
// 根据商户名称搜索商户列表
-export const getMerchantListByNameApi = (name: string) => {
+export const getMerchantListByName = (name: string) => {
return request.get({
url: '/pay/merchant/list-by-name?id=',
params: {
@@ -49,26 +49,27 @@ export const getMerchantListByNameApi = (name: string) => {
}
// 新增支付商户
-export const createMerchantApi = (data: MerchantVO) => {
+export const createMerchant = (data: MerchantVO) => {
return request.post({ url: '/pay/merchant/create', data })
}
// 修改支付商户
-export const updateMerchantApi = (data: MerchantVO) => {
+export const updateMerchant = (data: MerchantVO) => {
return request.put({ url: '/pay/merchant/update', data })
}
// 删除支付商户
-export const deleteMerchantApi = (id: number) => {
+export const deleteMerchant = (id: number) => {
return request.delete({ url: '/pay/merchant/delete?id=' + id })
}
// 导出支付商户
-export const exportMerchantApi = (params: MerchantExportReqVO) => {
+export const exportMerchant = (params: MerchantExportReqVO) => {
return request.download({ url: '/pay/merchant/export-excel', params })
}
+
// 支付商户状态修改
-export const changeMerchantStatusApi = (id: number, status: number) => {
+export const updateMerchantStatus = (id: number, status: number) => {
const data = {
id,
status
diff --git a/src/api/system/area/index.ts b/src/api/system/area/index.ts
index 7d8a9d7c5382d04c5139ef90867dd6ad41656a26..e91a4997c9e3fe9a9c49df1eaabf84faf8899faa 100644
--- a/src/api/system/area/index.ts
+++ b/src/api/system/area/index.ts
@@ -1,15 +1,11 @@
-import request from '@/config/axios/request'
+import request from '@/config/axios'
// 获得地区树
-export const getAreaTree = async (content?: any) => {
- return await request.get({
- url: '/system/area/tree',
- params: content
- })
+export const getAreaTree = async () => {
+ return await request.get({ url: '/system/area/tree' })
}
+
// 获得 IP 对应的地区名
-export const getAreaByIp = async (ip) => {
- return await request.get({
- url: '/system/area/get-by-ip?ip=' + 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/dept/index.ts b/src/api/system/dept/index.ts
index d66de3f1c7b7d184fdd925a88fa288efdc1f1b35..e9c31fd7484a208cc223f1a37a1d0b15860901cc 100644
--- a/src/api/system/dept/index.ts
+++ b/src/api/system/dept/index.ts
@@ -18,7 +18,7 @@ export interface DeptPageReqVO {
}
// 查询部门(精简)列表
-export const listSimpleDeptApi = async () => {
+export const getSimpleDeptList = async (): Promise => {
return await request.get({ url: '/system/dept/list-all-simple' })
}
diff --git a/src/api/system/dict/dict.data.ts b/src/api/system/dict/dict.data.ts
index fd97a2dc9c4b5fd966fe7fa054cbccb56ca9979c..6d981326c0816340ad47114a9f3efb3e06c5b9eb 100644
--- a/src/api/system/dict/dict.data.ts
+++ b/src/api/system/dict/dict.data.ts
@@ -1,36 +1,49 @@
import request from '@/config/axios'
-import type { DictDataVO, DictDataPageReqVO, DictDataExportReqVO } from './types'
+
+export type DictDataVO = {
+ id: number | undefined
+ sort: number | undefined
+ label: string
+ value: string
+ dictType: string
+ status: number
+ colorType: string
+ cssClass: string
+ remark: string
+ createTime: Date
+}
// 查询字典数据(精简)列表
-export const listSimpleDictDataApi = () => {
+export const listSimpleDictData = () => {
return request.get({ url: '/system/dict-data/list-all-simple' })
}
// 查询字典数据列表
-export const getDictDataPageApi = (params: DictDataPageReqVO) => {
+export const getDictDataPage = (params: PageParam) => {
return request.get({ url: '/system/dict-data/page', params })
}
// 查询字典数据详情
-export const getDictDataApi = (id: number) => {
+export const getDictData = (id: number) => {
return request.get({ url: '/system/dict-data/get?id=' + id })
}
// 新增字典数据
-export const createDictDataApi = (data: DictDataVO) => {
+export const createDictData = (data: DictDataVO) => {
return request.post({ url: '/system/dict-data/create', data })
}
// 修改字典数据
-export const updateDictDataApi = (data: DictDataVO) => {
+export const updateDictData = (data: DictDataVO) => {
return request.put({ url: '/system/dict-data/update', data })
}
// 删除字典数据
-export const deleteDictDataApi = (id: number) => {
+export const deleteDictData = (id: number) => {
return request.delete({ url: '/system/dict-data/delete?id=' + id })
}
+
// 导出字典类型数据
-export const exportDictDataApi = (params: DictDataExportReqVO) => {
+export const exportDictDataApi = (params) => {
return request.get({ url: '/system/dict-data/export', params })
}
diff --git a/src/api/system/dict/dict.type.ts b/src/api/system/dict/dict.type.ts
index 22e6411e748e39d44f7730f332541ae6d52c382f..ed2969f1108c290575b45780449f7018989f8322 100644
--- a/src/api/system/dict/dict.type.ts
+++ b/src/api/system/dict/dict.type.ts
@@ -1,36 +1,44 @@
import request from '@/config/axios'
-import type { DictTypeVO, DictTypePageReqVO, DictTypeExportReqVO } from './types'
+
+export type DictTypeVO = {
+ id: number | undefined
+ name: string
+ type: string
+ status: number
+ remark: string
+ createTime: Date
+}
// 查询字典(精简)列表
-export const listSimpleDictTypeApi = () => {
+export const getSimpleDictTypeList = () => {
return request.get({ url: '/system/dict-type/list-all-simple' })
}
// 查询字典列表
-export const getDictTypePageApi = (params: DictTypePageReqVO) => {
+export const getDictTypePage = (params: PageParam) => {
return request.get({ url: '/system/dict-type/page', params })
}
// 查询字典详情
-export const getDictTypeApi = (id: number) => {
+export const getDictType = (id: number) => {
return request.get({ url: '/system/dict-type/get?id=' + id })
}
// 新增字典
-export const createDictTypeApi = (data: DictTypeVO) => {
+export const createDictType = (data: DictTypeVO) => {
return request.post({ url: '/system/dict-type/create', data })
}
// 修改字典
-export const updateDictTypeApi = (data: DictTypeVO) => {
+export const updateDictType = (data: DictTypeVO) => {
return request.put({ url: '/system/dict-type/update', data })
}
// 删除字典
-export const deleteDictTypeApi = (id: number) => {
+export const deleteDictType = (id: number) => {
return request.delete({ url: '/system/dict-type/delete?id=' + id })
}
// 导出字典类型
-export const exportDictTypeApi = (params: DictTypeExportReqVO) => {
+export const exportDictType = (params) => {
return request.get({ url: '/system/dict-type/export', params })
}
diff --git a/src/api/system/dict/types.ts b/src/api/system/dict/types.ts
deleted file mode 100644
index b630dccba97367b20a0a2da73c9c0a50a5a4bbf5..0000000000000000000000000000000000000000
--- a/src/api/system/dict/types.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-export type DictTypeVO = {
- id: number
- name: string
- type: string
- status: number
- remark: string
- createTime: Date
-}
-
-export type DictTypePageReqVO = {
- name: string
- type: string
- status: number
- createTime: Date[]
-}
-
-export type DictTypeExportReqVO = {
- name: string
- type: string
- status: number
- createTime: Date[]
-}
-
-export type DictDataVO = {
- id: number
- sort: number
- label: string
- value: string
- dictType: string
- status: number
- colorType: string
- cssClass: string
- remark: string
- createTime: Date
-}
-export type DictDataPageReqVO = {
- label: string
- dictType: string
- status: number
-}
-
-export type DictDataExportReqVO = {
- label: string
- dictType: string
- status: number
-}
diff --git a/src/api/system/errorCode/index.ts b/src/api/system/errorCode/index.ts
index 0e000794edd61f8195cc349f53a0c0c589f654b5..65eabd3af5ee5ce0aa3915f0aa397f19bdec9bad 100644
--- a/src/api/system/errorCode/index.ts
+++ b/src/api/system/errorCode/index.ts
@@ -1,10 +1,10 @@
import request from '@/config/axios'
export interface ErrorCodeVO {
- id: number
+ id: number | undefined
type: number
applicationName: string
- code: number
+ code: number | undefined
message: string
memo: string
createTime: Date
diff --git a/src/api/system/loginLog/index.ts b/src/api/system/loginLog/index.ts
index cadaeaf30b57cf5090296a2ef4df7f81138eacac..f275c3e2cc25aed647c7e912683a7a28443fc8de 100644
--- a/src/api/system/loginLog/index.ts
+++ b/src/api/system/loginLog/index.ts
@@ -13,18 +13,12 @@ export interface LoginLogVO {
createTime: Date
}
-export interface LoginLogReqVO extends PageParam {
- userIp?: string
- username?: string
- status?: boolean
- createTime?: Date[]
-}
-
// 查询登录日志列表
-export const getLoginLogPageApi = (params: LoginLogReqVO) => {
+export const getLoginLogPage = (params: PageParam) => {
return request.get({ url: '/system/login-log/page', params })
}
+
// 导出登录日志
-export const exportLoginLogApi = (params: LoginLogReqVO) => {
+export const exportLoginLog = (params) => {
return request.download({ url: '/system/login-log/export', params })
}
diff --git a/src/api/system/mail/account/index.ts b/src/api/system/mail/account/index.ts
index 8b662a701ce8f308be702bd86e6297b93af77a2e..9e10c92a1f73f035403c5a440d29f21437055a79 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 9c6c60eb2660dbe11dac90e2bb56584b401b208c..13172a72d0feb892c3b8ca2c03d4423373fcda1a 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 c044ddd4e4c097a1f6d387f9a7f503d10df57be1..fb7ce5ea7341d4735036c85281cdd2c027a70b3b 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/menu/index.ts b/src/api/system/menu/index.ts
index 5913972ba080844ed70e85be614c548871cf155e..137362155dd3f4f4f5dfacae702eff923a58a441 100644
--- a/src/api/system/menu/index.ts
+++ b/src/api/system/menu/index.ts
@@ -18,18 +18,13 @@ export interface MenuVO {
createTime: Date
}
-export interface MenuPageReqVO {
- name?: string
- status?: number
-}
-
// 查询菜单(精简)列表
-export const listSimpleMenusApi = () => {
+export const getSimpleMenusList = () => {
return request.get({ url: '/system/menu/list-all-simple' })
}
// 查询菜单列表
-export const getMenuListApi = (params: MenuPageReqVO) => {
+export const getMenuList = (params) => {
return request.get({ url: '/system/menu/list', params })
}
@@ -39,16 +34,16 @@ export const getMenuApi = (id: number) => {
}
// 新增菜单
-export const createMenuApi = (data: MenuVO) => {
+export const createMenu = (data: MenuVO) => {
return request.post({ url: '/system/menu/create', data })
}
// 修改菜单
-export const updateMenuApi = (data: MenuVO) => {
+export const updateMenu = (data: MenuVO) => {
return request.put({ url: '/system/menu/update', data })
}
// 删除菜单
-export const deleteMenuApi = (id: number) => {
+export const deleteMenu = (id: number) => {
return request.delete({ url: '/system/menu/delete?id=' + id })
}
diff --git a/src/api/system/notify/message/index.ts b/src/api/system/notify/message/index.ts
index a42d75c2134c1d3b32b90e0a0748a43daacd8cd7..e24c3f8cc4fead789847b1b320198799f7fd9bcf 100644
--- a/src/api/system/notify/message/index.ts
+++ b/src/api/system/notify/message/index.ts
@@ -15,31 +15,13 @@ export interface NotifyMessageVO {
readTime: Date
}
-export interface NotifyMessagePageReqVO extends PageParam {
- userId?: number
- userType?: number
- templateCode?: string
- templateType?: number
- createTime?: Date[]
-}
-
-export interface NotifyMessageMyPageReqVO extends PageParam {
- readStatus?: boolean
- createTime?: Date[]
-}
-
// 查询站内信消息列表
-export const getNotifyMessagePageApi = async (params: NotifyMessagePageReqVO) => {
+export const getNotifyMessagePage = async (params: PageParam) => {
return await request.get({ url: '/system/notify-message/page', params })
}
-// 查询站内信消息详情
-export const getNotifyMessageApi = async (id: number) => {
- return await request.get({ url: '/system/notify-message/get?id=' + id })
-}
-
// 获得我的站内信分页
-export const getMyNotifyMessagePage = async (params: NotifyMessageMyPageReqVO) => {
+export const getMyNotifyMessagePage = async (params: PageParam) => {
return await request.get({ url: '/system/notify-message/my-page', params })
}
diff --git a/src/api/system/oauth2/client.ts b/src/api/system/oauth2/client.ts
index 4c06386df079bc0894fb647e569f639802468cd4..6f71acad688906c9f894b148334ba599fac4e9e3 100644
--- a/src/api/system/oauth2/client.ts
+++ b/src/api/system/oauth2/client.ts
@@ -21,31 +21,27 @@ export interface OAuth2ClientVO {
createTime: Date
}
-export interface OAuth2ClientPageReqVO extends PageParam {
- name?: string
- status?: number
-}
-// 查询 OAuth2列表
-export const getOAuth2ClientPageApi = (params: OAuth2ClientPageReqVO) => {
+// 查询 OAuth2 客户端的列表
+export const getOAuth2ClientPage = (params: PageParam) => {
return request.get({ url: '/system/oauth2-client/page', params })
}
-// 查询 OAuth2详情
-export const getOAuth2ClientApi = (id: number) => {
+// 查询 OAuth2 客户端的详情
+export const getOAuth2Client = (id: number) => {
return request.get({ url: '/system/oauth2-client/get?id=' + id })
}
-// 新增 OAuth2
-export const createOAuth2ClientApi = (data: OAuth2ClientVO) => {
+// 新增 OAuth2 客户端
+export const createOAuth2Client = (data: OAuth2ClientVO) => {
return request.post({ url: '/system/oauth2-client/create', data })
}
-// 修改 OAuth2
-export const updateOAuth2ClientApi = (data: OAuth2ClientVO) => {
+// 修改 OAuth2 客户端
+export const updateOAuth2Client = (data: OAuth2ClientVO) => {
return request.put({ url: '/system/oauth2-client/update', data })
}
// 删除 OAuth2
-export const deleteOAuth2ClientApi = (id: number) => {
+export const deleteOAuth2Client = (id: number) => {
return request.delete({ url: '/system/oauth2-client/delete?id=' + id })
}
diff --git a/src/api/system/oauth2/token.ts b/src/api/system/oauth2/token.ts
index dc7c44f57d5f9f08708d002eb0157f50c9a68ec9..8e9dca1e2d0f877740371e7721f4398b1dc04bf8 100644
--- a/src/api/system/oauth2/token.ts
+++ b/src/api/system/oauth2/token.ts
@@ -11,18 +11,12 @@ export interface OAuth2TokenVO {
expiresTime: Date
}
-export interface OAuth2TokenPageReqVO extends PageParam {
- userId?: number
- userType?: number
- clientId?: string
-}
-
// 查询 token列表
-export const getAccessTokenPageApi = (params: OAuth2TokenPageReqVO) => {
+export const getAccessTokenPage = (params: PageParam) => {
return request.get({ url: '/system/oauth2-token/page', params })
}
// 删除 token
-export const deleteAccessTokenApi = (accessToken: number) => {
+export const deleteAccessToken = (accessToken: number) => {
return request.delete({ url: '/system/oauth2-token/delete?accessToken=' + accessToken })
}
diff --git a/src/api/system/operatelog/index.ts b/src/api/system/operatelog/index.ts
index 5fd31dbaca593a99a230b951b30b6eacb6d7c445..848a5333341a2568ba92a840cc2b6aed9f29355e 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/permission/index.ts b/src/api/system/permission/index.ts
index aa355dfcdabec5c39772d13b7530945617054567..baf2805b76afb6c74146a66a30a0041f3c0ce9ab 100644
--- a/src/api/system/permission/index.ts
+++ b/src/api/system/permission/index.ts
@@ -17,26 +17,26 @@ export interface PermissionAssignRoleDataScopeReqVO {
}
// 查询角色拥有的菜单权限
-export const listRoleMenusApi = async (roleId: number) => {
+export const getRoleMenuList = async (roleId: number) => {
return await request.get({ url: '/system/permission/list-role-resources?roleId=' + roleId })
}
// 赋予角色菜单权限
-export const assignRoleMenuApi = async (data: PermissionAssignRoleMenuReqVO) => {
+export const assignRoleMenu = async (data: PermissionAssignRoleMenuReqVO) => {
return await request.post({ url: '/system/permission/assign-role-menu', data })
}
// 赋予角色数据权限
-export const assignRoleDataScopeApi = async (data: PermissionAssignRoleDataScopeReqVO) => {
+export const assignRoleDataScope = async (data: PermissionAssignRoleDataScopeReqVO) => {
return await request.post({ url: '/system/permission/assign-role-data-scope', data })
}
// 查询用户拥有的角色数组
-export const listUserRolesApi = async (userId: number) => {
+export const getUserRoleList = async (userId: number) => {
return await request.get({ url: '/system/permission/list-user-roles?userId=' + userId })
}
// 赋予用户角色
-export const aassignUserRoleApi = async (data: PermissionAssignUserRoleReqVO) => {
+export const assignUserRole = async (data: PermissionAssignUserRoleReqVO) => {
return await request.post({ url: '/system/permission/assign-user-role', data })
}
diff --git a/src/api/system/post/index.ts b/src/api/system/post/index.ts
index 9e2540f019ca545327b57de04adff99246e8c290..405db387eda84e81f366f4853b6fa9f5ad0b200f 100644
--- a/src/api/system/post/index.ts
+++ b/src/api/system/post/index.ts
@@ -10,49 +10,37 @@ export interface PostVO {
createTime?: Date
}
-export interface PostPageReqVO extends PageParam {
- code?: string
- name?: string
- status?: number
-}
-
-export interface PostExportReqVO {
- code?: string
- name?: string
- status?: number
-}
-
// 查询岗位列表
-export const getPostPageApi = async (params: PostPageReqVO) => {
+export const getPostPage = async (params: PageParam) => {
return await request.get({ url: '/system/post/page', params })
}
// 获取岗位精简信息列表
-export const listSimplePostsApi = async () => {
+export const getSimplePostList = async (): Promise => {
return await request.get({ url: '/system/post/list-all-simple' })
}
// 查询岗位详情
-export const getPostApi = async (id: number) => {
+export const getPost = async (id: number) => {
return await request.get({ url: '/system/post/get?id=' + id })
}
// 新增岗位
-export const createPostApi = async (data: PostVO) => {
+export const createPost = async (data: PostVO) => {
return await request.post({ url: '/system/post/create', data })
}
// 修改岗位
-export const updatePostApi = async (data: PostVO) => {
+export const updatePost = async (data: PostVO) => {
return await request.put({ url: '/system/post/update', data })
}
// 删除岗位
-export const deletePostApi = async (id: number) => {
+export const deletePost = async (id: number) => {
return await request.delete({ url: '/system/post/delete?id=' + id })
}
// 导出岗位
-export const exportPostApi = async (params: PostExportReqVO) => {
+export const exportPost = async (params) => {
return await request.download({ url: '/system/post/export', params })
}
diff --git a/src/api/system/role/index.ts b/src/api/system/role/index.ts
index 0d4775559994170d89d107686e2fbeb5ff754da5..93636ff0d022530323af11199c21ed0cc00a517b 100644
--- a/src/api/system/role/index.ts
+++ b/src/api/system/role/index.ts
@@ -7,52 +7,55 @@ export interface RoleVO {
sort: number
status: number
type: number
+ dataScope: number
+ dataScopeDeptIds: number[]
createTime: Date
}
-export interface RolePageReqVO extends PageParam {
- name?: string
- code?: string
- status?: number
- createTime?: Date[]
-}
-
export interface UpdateStatusReqVO {
id: number
status: number
}
// 查询角色列表
-export const getRolePageApi = async (params: RolePageReqVO) => {
+export const getRolePage = async (params: PageParam) => {
return await request.get({ url: '/system/role/page', params })
}
// 查询角色(精简)列表
-export const listSimpleRolesApi = async () => {
+export const getSimpleRoleList = async (): Promise => {
return await request.get({ url: '/system/role/list-all-simple' })
}
// 查询角色详情
-export const getRoleApi = async (id: number) => {
+export const getRole = async (id: number) => {
return await request.get({ url: '/system/role/get?id=' + id })
}
// 新增角色
-export const createRoleApi = async (data: RoleVO) => {
+export const createRole = async (data: RoleVO) => {
return await request.post({ url: '/system/role/create', data })
}
// 修改角色
-export const updateRoleApi = async (data: RoleVO) => {
+export const updateRole = async (data: RoleVO) => {
return await request.put({ url: '/system/role/update', data })
}
// 修改角色状态
-export const updateRoleStatusApi = async (data: UpdateStatusReqVO) => {
+export const updateRoleStatus = async (data: UpdateStatusReqVO) => {
return await request.put({ url: '/system/role/update-status', data })
}
// 删除角色
-export const deleteRoleApi = async (id: number) => {
+export const deleteRole = async (id: number) => {
return await request.delete({ url: '/system/role/delete?id=' + id })
}
+
+// 导出角色
+export const exportRole = (params) => {
+ return request.download({
+ url: '/system/role/export-excel',
+ params
+ })
+}
diff --git a/src/api/system/sensitiveWord/index.ts b/src/api/system/sensitiveWord/index.ts
index ffda89c0314b1c2bb66d6caae0edb5fd99c3909a..1116226f7d8e3aed630e51322215ffc1a080936d 100644
--- a/src/api/system/sensitiveWord/index.ts
+++ b/src/api/system/sensitiveWord/index.ts
@@ -1,4 +1,5 @@
import request from '@/config/axios'
+import qs from 'qs'
export interface SensitiveWordVO {
id: number
@@ -9,56 +10,49 @@ export interface SensitiveWordVO {
createTime: Date
}
-export interface SensitiveWordPageReqVO extends PageParam {
- name?: string
- tag?: string
- status?: number
- createTime?: Date[]
-}
-
-export interface SensitiveWordExportReqVO {
- name?: string
- tag?: string
- status?: number
- createTime?: Date[]
+export interface SensitiveWordTestReqVO {
+ text: string
+ tag: string[]
}
// 查询敏感词列表
-export const getSensitiveWordPageApi = (params: SensitiveWordPageReqVO) => {
+export const getSensitiveWordPage = (params: PageParam) => {
return request.get({ url: '/system/sensitive-word/page', params })
}
// 查询敏感词详情
-export const getSensitiveWordApi = (id: number) => {
+export const getSensitiveWord = (id: number) => {
return request.get({ url: '/system/sensitive-word/get?id=' + id })
}
// 新增敏感词
-export const createSensitiveWordApi = (data: SensitiveWordVO) => {
+export const createSensitiveWord = (data: SensitiveWordVO) => {
return request.post({ url: '/system/sensitive-word/create', data })
}
// 修改敏感词
-export const updateSensitiveWordApi = (data: SensitiveWordVO) => {
+export const updateSensitiveWord = (data: SensitiveWordVO) => {
return request.put({ url: '/system/sensitive-word/update', data })
}
// 删除敏感词
-export const deleteSensitiveWordApi = (id: number) => {
+export const deleteSensitiveWord = (id: number) => {
return request.delete({ url: '/system/sensitive-word/delete?id=' + id })
}
// 导出敏感词
-export const exportSensitiveWordApi = (params: SensitiveWordExportReqVO) => {
+export const exportSensitiveWord = (params) => {
return request.download({ url: '/system/sensitive-word/export-excel', params })
}
// 获取所有敏感词的标签数组
-export const getSensitiveWordTagsApi = () => {
+export const getSensitiveWordTagList = () => {
return request.get({ url: '/system/sensitive-word/get-tags' })
}
// 获得文本所包含的不合法的敏感词数组
-export const validateTextApi = (id: number) => {
- return request.get({ url: '/system/sensitive-word/validate-text?' + id })
+export const validateText = (query: SensitiveWordTestReqVO) => {
+ return request.get({
+ url: '/system/sensitive-word/validate-text?' + qs.stringify(query, { arrayFormat: 'repeat' })
+ })
}
diff --git a/src/api/system/sms/smsChannel/index.ts b/src/api/system/sms/smsChannel/index.ts
index 176d075fe105dee208210fac874ae0032f4d8458..f335628f7827c8cd0a903c7a39a987b199bca0f3 100644
--- a/src/api/system/sms/smsChannel/index.ts
+++ b/src/api/system/sms/smsChannel/index.ts
@@ -12,39 +12,32 @@ export interface SmsChannelVO {
createTime: Date
}
-export interface SmsChannelPageReqVO extends PageParam {
- signature?: string
- code?: string
- status?: number
- createTime?: Date[]
-}
-
// 查询短信渠道列表
-export const getSmsChannelPageApi = (params: SmsChannelPageReqVO) => {
+export const getSmsChannelPage = (params: PageParam) => {
return request.get({ url: '/system/sms-channel/page', params })
}
// 获得短信渠道精简列表
-export function getSimpleSmsChannels() {
+export function getSimpleSmsChannelList() {
return request.get({ url: '/system/sms-channel/list-all-simple' })
}
// 查询短信渠道详情
-export const getSmsChannelApi = (id: number) => {
+export const getSmsChannel = (id: number) => {
return request.get({ url: '/system/sms-channel/get?id=' + id })
}
// 新增短信渠道
-export const createSmsChannelApi = (data: SmsChannelVO) => {
+export const createSmsChannel = (data: SmsChannelVO) => {
return request.post({ url: '/system/sms-channel/create', data })
}
// 修改短信渠道
-export const updateSmsChannelApi = (data: SmsChannelVO) => {
+export const updateSmsChannel = (data: SmsChannelVO) => {
return request.put({ url: '/system/sms-channel/update', data })
}
// 删除短信渠道
-export const deleteSmsChannelApi = (id: number) => {
+export const deleteSmsChannel = (id: number) => {
return request.delete({ url: '/system/sms-channel/delete?id=' + id })
}
diff --git a/src/api/system/sms/smsLog/index.ts b/src/api/system/sms/smsLog/index.ts
index 863eabb6bc9a89d219773fef205fe24019c01dce..3d54fac171151679befe6517e57e0082e596b95b 100644
--- a/src/api/system/sms/smsLog/index.ts
+++ b/src/api/system/sms/smsLog/index.ts
@@ -1,57 +1,39 @@
import request from '@/config/axios'
export interface SmsLogVO {
- id: number
- channelId: number
+ id: number | null
+ channelId: number | null
channelCode: string
- templateId: number
+ templateId: number | null
templateCode: string
- templateType: number
+ templateType: number | null
templateContent: string
- templateParams: Map
+ templateParams: Map | null
+ apiTemplateId: string
mobile: string
- userId: number
- userType: number
- sendStatus: number
- sendTime: Date
- sendCode: number
+ userId: number | null
+ userType: number | null
+ sendStatus: number | null
+ sendTime: Date | null
+ sendCode: number | null
sendMsg: string
apiSendCode: string
apiSendMsg: string
apiRequestId: string
apiSerialNo: string
- receiveStatus: number
- receiveTime: Date
+ receiveStatus: number | null
+ receiveTime: Date | null
apiReceiveCode: string
apiReceiveMsg: string
- createTime: Date
-}
-
-export interface SmsLogPageReqVO extends PageParam {
- channelId?: number
- templateId?: number
- mobile?: string
- sendStatus?: number
- sendTime?: Date[]
- receiveStatus?: number
- receiveTime?: Date[]
-}
-export interface SmsLogExportReqVO {
- channelId?: number
- templateId?: number
- mobile?: string
- sendStatus?: number
- sendTime?: Date[]
- receiveStatus?: number
- receiveTime?: Date[]
+ createTime: Date | null
}
// 查询短信日志列表
-export const getSmsLogPageApi = (params: SmsLogPageReqVO) => {
+export const getSmsLogPage = (params: PageParam) => {
return request.get({ url: '/system/sms-log/page', params })
}
// 导出短信日志
-export const exportSmsLogApi = (params: SmsLogExportReqVO) => {
+export const exportSmsLog = (params) => {
return request.download({ url: '/system/sms-log/export-excel', params })
}
diff --git a/src/api/system/sms/smsTemplate/index.ts b/src/api/system/sms/smsTemplate/index.ts
index 0433fe3a4acd52335cdd27af629523300973f1d4..35cb489dc19e45c5bb4a6710c909fc09252e16b0 100644
--- a/src/api/system/sms/smsTemplate/index.ts
+++ b/src/api/system/sms/smsTemplate/index.ts
@@ -1,18 +1,18 @@
import request from '@/config/axios'
export interface SmsTemplateVO {
- id: number
- type: number
+ id: number | null
+ type: number | null
status: number
code: string
name: string
content: string
remark: string
apiTemplateId: string
- channelId: number
- channelCode: string
- params: string[]
- createTime: Date
+ channelId: number | null
+ channelCode?: string
+ params?: string[]
+ createTime?: Date
}
export interface SendSmsReqVO {
@@ -21,60 +21,40 @@ export interface SendSmsReqVO {
templateParams: Map
}
-export interface SmsTemplatePageReqVO {
- type?: number
- status?: number
- code?: string
- content?: string
- apiTemplateId?: string
- channelId?: number
- createTime?: Date[]
-}
-
-export interface SmsTemplateExportReqVO {
- type?: number
- status?: number
- code?: string
- content?: string
- apiTemplateId?: string
- channelId?: number
- createTime?: Date[]
-}
-
// 查询短信模板列表
-export const getSmsTemplatePageApi = (params: SmsTemplatePageReqVO) => {
+export const getSmsTemplatePage = (params: PageParam) => {
return request.get({ url: '/system/sms-template/page', params })
}
// 查询短信模板详情
-export const getSmsTemplateApi = (id: number) => {
+export const getSmsTemplate = (id: number) => {
return request.get({ url: '/system/sms-template/get?id=' + id })
}
// 新增短信模板
-export const createSmsTemplateApi = (data: SmsTemplateVO) => {
+export const createSmsTemplate = (data: SmsTemplateVO) => {
return request.post({ url: '/system/sms-template/create', data })
}
// 修改短信模板
-export const updateSmsTemplateApi = (data: SmsTemplateVO) => {
+export const updateSmsTemplate = (data: SmsTemplateVO) => {
return request.put({ url: '/system/sms-template/update', data })
}
// 删除短信模板
-export const deleteSmsTemplateApi = (id: number) => {
+export const deleteSmsTemplate = (id: number) => {
return request.delete({ url: '/system/sms-template/delete?id=' + id })
}
-// 发送短信
-export const sendSmsApi = (data: SendSmsReqVO) => {
- return request.post({ url: '/system/sms-template/send-sms', data })
-}
-
// 导出短信模板
-export const exportPostApi = (params: SmsTemplateExportReqVO) => {
+export const exportSmsTemplate = (params) => {
return request.download({
url: '/system/sms-template/export-excel',
params
})
}
+
+// 发送短信
+export const sendSms = (data: SendSmsReqVO) => {
+ return request.post({ url: '/system/sms-template/send-sms', data })
+}
diff --git a/src/api/system/tenant/index.ts b/src/api/system/tenant/index.ts
index d79fb7b2301e421534ea32c6080878ab22d23770..176c37579925470a6c56bd30c277d3256f8ae817 100644
--- a/src/api/system/tenant/index.ts
+++ b/src/api/system/tenant/index.ts
@@ -32,31 +32,31 @@ export interface TenantExportReqVO {
}
// 查询租户列表
-export const getTenantPageApi = (params: TenantPageReqVO) => {
+export const getTenantPage = (params: TenantPageReqVO) => {
return request.get({ url: '/system/tenant/page', params })
}
// 查询租户详情
-export const getTenantApi = (id: number) => {
+export const getTenant = (id: number) => {
return request.get({ url: '/system/tenant/get?id=' + id })
}
// 新增租户
-export const createTenantApi = (data: TenantVO) => {
+export const createTenant = (data: TenantVO) => {
return request.post({ url: '/system/tenant/create', data })
}
// 修改租户
-export const updateTenantApi = (data: TenantVO) => {
+export const updateTenant = (data: TenantVO) => {
return request.put({ url: '/system/tenant/update', data })
}
// 删除租户
-export const deleteTenantApi = (id: number) => {
+export const deleteTenant = (id: number) => {
return request.delete({ url: '/system/tenant/delete?id=' + id })
}
// 导出租户
-export const exportTenantApi = (params: TenantExportReqVO) => {
+export const exportTenant = (params: TenantExportReqVO) => {
return request.download({ url: '/system/tenant/export-excel', params })
}
diff --git a/src/api/system/tenantPackage/index.ts b/src/api/system/tenantPackage/index.ts
index e431a9ee69bde9253714f571c7e84d61a4289f3d..01d139e22b6a238eafe1d77c85865a13d69072f5 100644
--- a/src/api/system/tenantPackage/index.ts
+++ b/src/api/system/tenantPackage/index.ts
@@ -12,35 +12,28 @@ export interface TenantPackageVO {
createTime: Date
}
-export interface TenantPackagePageReqVO extends PageParam {
- name?: string
- status?: number
- remark?: string
- createTime?: Date[]
-}
-
// 查询租户套餐列表
-export const getTenantPackageTypePageApi = (params: TenantPackagePageReqVO) => {
+export const getTenantPackagePage = (params: PageParam) => {
return request.get({ url: '/system/tenant-package/page', params })
}
// 获得租户
-export const getTenantPackageApi = (id: number) => {
+export const getTenantPackage = (id: number) => {
return request.get({ url: '/system/tenant-package/get?id=' + id })
}
// 新增租户套餐
-export const createTenantPackageTypeApi = (data: TenantPackageVO) => {
+export const createTenantPackage = (data: TenantPackageVO) => {
return request.post({ url: '/system/tenant-package/create', data })
}
// 修改租户套餐
-export const updateTenantPackageTypeApi = (data: TenantPackageVO) => {
+export const updateTenantPackage = (data: TenantPackageVO) => {
return request.put({ url: '/system/tenant-package/update', data })
}
// 删除租户套餐
-export const deleteTenantPackageTypeApi = (id: number) => {
+export const deleteTenantPackage = (id: number) => {
return request.delete({ url: '/system/tenant-package/delete?id=' + id })
}
// 获取租户套餐精简信息列表
diff --git a/src/api/system/user/index.ts b/src/api/system/user/index.ts
index e505921d3c5e07cb10026f670c11c16683943803..6224f0e85c4a36bfba785a2f51b0f3a341b251a1 100644
--- a/src/api/system/user/index.ts
+++ b/src/api/system/user/index.ts
@@ -17,58 +17,43 @@ export interface UserVO {
createTime: Date
}
-export interface UserPageReqVO extends PageParam {
- deptId?: number
- username?: string
- mobile?: string
- status?: number
- createTime?: Date[]
-}
-
-export interface UserExportReqVO {
- code?: string
- name?: string
- status?: number
- createTime?: Date[]
-}
-
// 查询用户管理列表
-export const getUserPageApi = (params: UserPageReqVO) => {
+export const getUserPage = (params: PageParam) => {
return request.get({ url: '/system/user/page', params })
}
// 查询用户详情
-export const getUserApi = (id: number) => {
+export const getUser = (id: number) => {
return request.get({ url: '/system/user/get?id=' + id })
}
// 新增用户
-export const createUserApi = (data: UserVO) => {
+export const createUser = (data: UserVO) => {
return request.post({ url: '/system/user/create', data })
}
// 修改用户
-export const updateUserApi = (data: UserVO) => {
+export const updateUser = (data: UserVO) => {
return request.put({ url: '/system/user/update', data })
}
// 删除用户
-export const deleteUserApi = (id: number) => {
+export const deleteUser = (id: number) => {
return request.delete({ url: '/system/user/delete?id=' + id })
}
// 导出用户
-export const exportUserApi = (params: UserExportReqVO) => {
+export const exportUser = (params) => {
return request.download({ url: '/system/user/export', params })
}
// 下载用户导入模板
-export const importUserTemplateApi = () => {
+export const importUserTemplate = () => {
return request.download({ url: '/system/user/get-import-template' })
}
// 用户密码重置
-export const resetUserPwdApi = (id: number, password: string) => {
+export const resetUserPwd = (id: number, password: string) => {
const data = {
id,
password
@@ -77,7 +62,7 @@ export const resetUserPwdApi = (id: number, password: string) => {
}
// 用户状态修改
-export const updateUserStatusApi = (id: number, status: number) => {
+export const updateUserStatus = (id: number, status: number) => {
const data = {
id,
status
@@ -86,6 +71,6 @@ export const updateUserStatusApi = (id: number, status: number) => {
}
// 获取用户精简信息列表
-export const getListSimpleUsersApi = () => {
+export const getSimpleUserList = (): Promise => {
return request.get({ url: '/system/user/list-all-simple' })
}
diff --git a/src/assets/imgs/profile.jpg b/src/assets/imgs/profile.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e4bcf879884f76657292f2e792bf9efbb4090f63
Binary files /dev/null and b/src/assets/imgs/profile.jpg differ
diff --git a/src/assets/imgs/wechat.png b/src/assets/imgs/wechat.png
new file mode 100644
index 0000000000000000000000000000000000000000..6afc5e41cfc29d258e0c6135981a7a09b7bcf126
Binary files /dev/null and b/src/assets/imgs/wechat.png differ
diff --git a/src/components/ContentWrap/src/ContentWrap.vue b/src/components/ContentWrap/src/ContentWrap.vue
index 51e50410c299b0c43a79e84dea355283aa3b503d..6890e21485614a74b882ffcb6f385662f538be41 100644
--- a/src/components/ContentWrap/src/ContentWrap.vue
+++ b/src/components/ContentWrap/src/ContentWrap.vue
@@ -13,7 +13,7 @@ defineProps({
-
+
{{ title }}
diff --git a/src/components/Crontab/src/Crontab.vue b/src/components/Crontab/src/Crontab.vue
index fe33bd5f5215d5eca4f55b1da3cd2784871a3c4f..0e474fb2ad4836a979ce9d6cbf37e058b80a2f61 100644
--- a/src/components/Crontab/src/Crontab.vue
+++ b/src/components/Crontab/src/Crontab.vue
@@ -6,7 +6,10 @@ interface shortcutsType {
value: string
}
const props = defineProps({
- modelValue: { type: String, default: '* * * * * ?' },
+ modelValue: {
+ type: String,
+ default: '* * * * * ?'
+ },
shortcuts: { type: Array as PropType
, default: () => [] }
})
const defaultValue = ref('')
diff --git a/src/components/Descriptions/src/Descriptions.vue b/src/components/Descriptions/src/Descriptions.vue
index fca370003ad35ee0af551942530e9d403585f457..f1e77ddf9e550fcd622c1a5cc3d371894697109c 100644
--- a/src/components/Descriptions/src/Descriptions.vue
+++ b/src/components/Descriptions/src/Descriptions.vue
@@ -76,7 +76,7 @@ const toggleClick = () => {
v-if="title"
:class="[
`${prefixCls}-header`,
- 'h-50px flex justify-between items-center mb-10px border-bottom-1 border-solid border-[var(--tags-view-border-color)] px-10px cursor-pointer dark:border-[var(--el-border-color)]'
+ 'h-50px flex justify-between items-center border-bottom-1 border-solid border-[var(--tags-view-border-color)] px-10px cursor-pointer dark:border-[var(--el-border-color)]'
]"
@click="toggleClick"
>
diff --git a/src/components/DictTag/src/DictTag.vue b/src/components/DictTag/src/DictTag.vue
index ecbfedb42315194d5053f7475297759abb46ddcb..e3ba78d2335d29c8c45b07f1cc5c3860b4eacb3d 100644
--- a/src/components/DictTag/src/DictTag.vue
+++ b/src/components/DictTag/src/DictTag.vue
@@ -34,7 +34,7 @@ export default defineComponent({
return null
}
// 解决自定义字典标签值为零时标签不渲染的问题
- if (props.value === undefined) {
+ if (props.value === undefined || props.value === null) {
return null
}
getDictObj(props.type, props.value.toString())
diff --git a/src/components/Editor/src/Editor.vue b/src/components/Editor/src/Editor.vue
index 85b849fba7867cdaa2a233f2415e2a5860663b1c..4d8e7ddea40a2da6dd1b3aedf423f047700d4bc3 100644
--- a/src/components/Editor/src/Editor.vue
+++ b/src/components/Editor/src/Editor.vue
@@ -178,7 +178,7 @@ defineExpose({
-
-
-
- 审批记录
-
-
-
-
-
- 任务:{{ item.name }}
-
-
-
-
-
-
-
-
-
- {{ item.reason }}
-
-
-
-
-
-
-
+
-
-
- 流程图
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+/** 初始化 */
+onMounted(() => {
+ getDetail()
+})
+
diff --git a/src/views/bpm/processInstance/process.create.ts b/src/views/bpm/processInstance/process.create.ts
deleted file mode 100644
index 7516c0b4d42a1fbcdabba02c0008d60d202ab8fb..0000000000000000000000000000000000000000
--- a/src/views/bpm/processInstance/process.create.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-
-// crudSchemas
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: null,
- action: true,
- columns: [
- {
- title: '流程名称',
- field: 'name'
- },
- {
- title: '流程分类',
- field: 'category',
- dictType: DICT_TYPE.BPM_MODEL_CATEGORY,
- dictClass: 'number',
- table: {
- slots: {
- default: 'category_default'
- }
- }
- },
- {
- title: '流程版本',
- field: 'version',
- table: {
- slots: {
- default: 'version_default'
- }
- }
- },
- {
- title: '流程描述',
- field: 'description'
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/bpm/taskAssignRule/TaskAssignRuleForm.vue b/src/views/bpm/taskAssignRule/TaskAssignRuleForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..a452cab906b7109de46d626fccfd50575df4ef26
--- /dev/null
+++ b/src/views/bpm/taskAssignRule/TaskAssignRuleForm.vue
@@ -0,0 +1,247 @@
+
+
+
+
diff --git a/src/views/bpm/taskAssignRule/index.vue b/src/views/bpm/taskAssignRule/index.vue
index 012e6f68faa2b6c44749b4b2e078e2313d001116..4a4e76f87f02486734aaa443572a02c86d01d210 100644
--- a/src/views/bpm/taskAssignRule/index.vue
+++ b/src/views/bpm/taskAssignRule/index.vue
@@ -1,186 +1,73 @@
-
-
-
-
-
- {{ getAssignRuleOptionName(row.type, option) }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ getAssignRuleOptionName(scope.row.type, option) }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 修改
+
+
+
+
+
+
diff --git a/src/views/bpm/taskAssignRule/taskAssignRule.data.ts b/src/views/bpm/taskAssignRule/taskAssignRule.data.ts
deleted file mode 100644
index cad743252d70f99b4380b7673f0244bb1995c8f2..0000000000000000000000000000000000000000
--- a/src/views/bpm/taskAssignRule/taskAssignRule.data.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-
-// 表单校验
-export const rules = reactive({
- type: [{ required: true, message: '规则类型不能为空', trigger: 'change' }],
- roleIds: [{ required: true, message: '指定角色不能为空', trigger: 'change' }],
- deptIds: [{ required: true, message: '指定部门不能为空', trigger: 'change' }],
- postIds: [{ required: true, message: '指定岗位不能为空', trigger: 'change' }],
- userIds: [{ required: true, message: '指定用户不能为空', trigger: 'change' }],
- userGroupIds: [{ required: true, message: '指定用户组不能为空', trigger: 'change' }],
- scripts: [{ required: true, message: '指定脚本不能为空', trigger: 'change' }]
-})
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: null,
- action: true,
- actionWidth: '200px',
- columns: [
- {
- title: '任务名',
- field: 'taskDefinitionName'
- },
- {
- title: '任务标识',
- field: 'taskDefinitionKey'
- },
- {
- title: '规则类型',
- field: 'type',
- dictType: DICT_TYPE.BPM_TASK_ASSIGN_RULE_TYPE,
- dictClass: 'number'
- },
- {
- title: '规则范围',
- field: 'options',
- table: {
- slots: {
- default: 'options_default'
- }
- }
- }
- ]
-})
-
-export const idShowActionClick = (modelId?: any) => {
- if (modelId) {
- return true
- } else {
- return false
- }
-}
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/infra/apiAccessLog/ApiAccessLogDetail.vue b/src/views/infra/apiAccessLog/ApiAccessLogDetail.vue
new file mode 100644
index 0000000000000000000000000000000000000000..d046a5218cfd72599d3d440b84886d4ff75450f2
--- /dev/null
+++ b/src/views/infra/apiAccessLog/ApiAccessLogDetail.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
diff --git a/src/views/infra/apiAccessLog/apiAccessLog.data.ts b/src/views/infra/apiAccessLog/apiAccessLog.data.ts
deleted file mode 100644
index cb9e97a7e3aec4eca0160aeab9eff31532c18b2b..0000000000000000000000000000000000000000
--- a/src/views/infra/apiAccessLog/apiAccessLog.data.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'id',
- primaryTitle: '日志编号',
- action: true,
- actionWidth: '80px',
- columns: [
- {
- title: '链路追踪',
- field: 'traceId',
- isTable: false
- },
- {
- title: '用户编号',
- field: 'userId',
- isSearch: true
- },
- {
- title: '用户类型',
- field: 'userType',
- dictType: DICT_TYPE.USER_TYPE,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: '应用名',
- field: 'applicationName',
- isSearch: true
- },
- {
- title: '请求方法名',
- field: 'requestMethod'
- },
- {
- title: '请求地址',
- field: 'requestUrl',
- isSearch: true
- },
- {
- title: '请求时间',
- field: 'beginTime',
- formatter: 'formatDate',
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- },
- {
- title: '执行时长',
- field: 'duration',
- table: {
- slots: {
- default: 'duration_default'
- }
- }
- },
- {
- title: '操作结果',
- field: 'resultCode',
- isSearch: true,
- table: {
- slots: {
- default: 'resultCode_default'
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/infra/apiAccessLog/index.vue b/src/views/infra/apiAccessLog/index.vue
index 6a09927d761899dc83207bef0f6300cdcc56d0bf..3102d39d0e8872083ed75380ee146357eef2be4f 100644
--- a/src/views/infra/apiAccessLog/index.vue
+++ b/src/views/infra/apiAccessLog/index.vue
@@ -1,62 +1,220 @@
-
-
-
-
- {{ row.duration + 'ms' }}
-
-
- {{ row.resultCode === 0 ? '成功' : '失败(' + row.resultMsg + ')' }}
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
- {{ row.duration + 'ms' }}
-
-
- {{ row.resultCode === 0 ? '成功' : '失败(' + row.resultMsg + ')' }}
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatDate(scope.row.beginTime) }}
+
+
+
+
+ {{ scope.row.duration }} ms
+
+
+
+
+ {{
+ scope.row.resultCode === 0 ? '成功' : '失败(' + scope.row.resultMsg + ')'
+ }}
+
+
+
+
+
+ 详细
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/infra/apiErrorLog/ApiErrorLogDetail.vue b/src/views/infra/apiErrorLog/ApiErrorLogDetail.vue
new file mode 100644
index 0000000000000000000000000000000000000000..5076fe00cbfe7c8aa509f493996042bdc7b980b1
--- /dev/null
+++ b/src/views/infra/apiErrorLog/ApiErrorLogDetail.vue
@@ -0,0 +1,79 @@
+
+
+
+
diff --git a/src/views/infra/apiErrorLog/apiErrorLog.data.ts b/src/views/infra/apiErrorLog/apiErrorLog.data.ts
deleted file mode 100644
index a539c167822cad9aa1194bb4e12097fbd81cc780..0000000000000000000000000000000000000000
--- a/src/views/infra/apiErrorLog/apiErrorLog.data.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'id',
- primaryTitle: '日志编号',
- action: true,
- actionWidth: '300',
- columns: [
- {
- title: '链路追踪',
- field: 'traceId',
- isTable: false
- },
- {
- title: '用户编号',
- field: 'userId',
- isSearch: true
- },
- {
- title: '用户类型',
- field: 'userType',
- dictType: DICT_TYPE.USER_TYPE,
- isSearch: true
- },
- {
- title: '应用名',
- field: 'applicationName',
- isSearch: true
- },
- {
- title: '请求方法名',
- field: 'requestMethod'
- },
- {
- title: '请求地址',
- field: 'requestUrl',
- isSearch: true
- },
- {
- title: '异常发生时间',
- field: 'exceptionTime',
- formatter: 'formatDate',
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- },
- {
- title: '异常名',
- field: 'exceptionName'
- },
- {
- title: '处理状态',
- field: 'processStatus',
- dictType: DICT_TYPE.INFRA_API_ERROR_LOG_PROCESS_STATUS,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: '处理人',
- field: 'processUserId',
- isTable: false
- },
- {
- title: '处理时间',
- field: 'processTime',
- formatter: 'formatDate',
- isTable: false
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/infra/apiErrorLog/index.vue b/src/views/infra/apiErrorLog/index.vue
index 4193351a3c48a61fc5c32a05903ac88339e9d1d9..800b50435b5c061488fac5b9e23cb3c2819c7761 100644
--- a/src/views/infra/apiErrorLog/index.vue
+++ b/src/views/infra/apiErrorLog/index.vue
@@ -1,99 +1,248 @@
-
-
-
-
-
+
+
+
-
-
- {{ row.duration + 'ms' }}
-
-
- {{ row.resultCode === 0 ? '成功' : '失败(' + row.resultMsg + ')' }}
-
-
-
-
+
+
+
+
+
+
+
-
+
+
-
-
-
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 详细
+
+
+ 已处理
+
+
+ 已忽略
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
diff --git a/src/views/infra/build/index.vue b/src/views/infra/build/index.vue
index 6f577e952b00a21da77e32b7879a8b6fd2ed2877..00b56feac545d209b8dafb45faba6f20daf61455 100644
--- a/src/views/infra/build/index.vue
+++ b/src/views/infra/build/index.vue
@@ -3,77 +3,99 @@
- 导入JSON
- 导入Options
- 生成JSON
- 生成Options
+ 生成 JSON
+ 生成O ptions
生成组件
-
+
-
+
+
+
diff --git a/src/views/infra/codegen/EditTable.vue b/src/views/infra/codegen/EditTable.vue
index 820d23ca020d9cc3580e65fae43c9aad4fcce08d..714b2761d24f2fa2c69035adfd252f7864cc2a44 100644
--- a/src/views/infra/codegen/EditTable.vue
+++ b/src/views/infra/codegen/EditTable.vue
@@ -1,67 +1,80 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+ 返回
+
+
+
diff --git a/src/views/infra/codegen/ImportTable.vue b/src/views/infra/codegen/ImportTable.vue
new file mode 100644
index 0000000000000000000000000000000000000000..b89b2923d4789bcd8c177d274bb27ccb46069582
--- /dev/null
+++ b/src/views/infra/codegen/ImportTable.vue
@@ -0,0 +1,142 @@
+
+
+
+
diff --git a/src/views/infra/codegen/components/Preview.vue b/src/views/infra/codegen/PreviewCode.vue
similarity index 61%
rename from src/views/infra/codegen/components/Preview.vue
rename to src/views/infra/codegen/PreviewCode.vue
index 2d9482ff0468f0649fc94718db168e1c811dc989..df521f5a5525efa768682ef433a18f99706536e9 100644
--- a/src/views/infra/codegen/components/Preview.vue
+++ b/src/views/infra/codegen/PreviewCode.vue
@@ -1,7 +1,20 @@
-
+
+
+
diff --git a/src/views/infra/codegen/codegen.data.ts b/src/views/infra/codegen/codegen.data.ts
deleted file mode 100644
index f3723a350f438a3272b6eea359edb164d428c265..0000000000000000000000000000000000000000
--- a/src/views/infra/codegen/codegen.data.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-const { t } = useI18n() // 国际化
-
-// 表单校验
-export const rules = reactive({
- title: [required],
- type: [required],
- status: [required]
-})
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'seq',
- action: true,
- actionWidth: '400px',
- columns: [
- {
- title: '表名称',
- field: 'tableName',
- isSearch: true
- },
- {
- title: '表描述',
- field: 'tableComment',
- isSearch: true
- },
- {
- title: '实体',
- field: 'className',
- isSearch: true
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false,
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- },
- {
- title: t('common.updateTime'),
- field: 'updateTime',
- formatter: 'formatDate',
- isForm: false
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/infra/codegen/components/BasicInfoForm.vue b/src/views/infra/codegen/components/BasicInfoForm.vue
index 2009553fac91168d0320750c2141283d95f3b77a..73174cbcd87d24d2528f2300d9684f1a9d3591ec 100644
--- a/src/views/infra/codegen/components/BasicInfoForm.vue
+++ b/src/views/infra/codegen/components/BasicInfoForm.vue
@@ -1,183 +1,85 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 实体类名称
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/infra/codegen/components/CloumInfoForm.vue b/src/views/infra/codegen/components/CloumInfoForm.vue
deleted file mode 100644
index 0b6ea6972f4ea95ec798f38d7c91dccf929fb6f2..0000000000000000000000000000000000000000
--- a/src/views/infra/codegen/components/CloumInfoForm.vue
+++ /dev/null
@@ -1,137 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/infra/codegen/components/ColumInfoForm.vue b/src/views/infra/codegen/components/ColumInfoForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..5d2a036d09859b9cc0fd22ec77db98ca793c335c
--- /dev/null
+++ b/src/views/infra/codegen/components/ColumInfoForm.vue
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/infra/codegen/components/GenerateInfoForm.vue b/src/views/infra/codegen/components/GenerateInfoForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..356ee6df3927e803097a07399ef6c8a4d00b9e0f
--- /dev/null
+++ b/src/views/infra/codegen/components/GenerateInfoForm.vue
@@ -0,0 +1,375 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 模块名
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 业务名
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 类名称
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 类描述
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上级菜单
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 自定义路径
+
+
+
+
+
+
+
+
+
+ 最近路径快速选择
+
+
+
+
+
+ 恢复默认的生成基础路径
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 树编码字段
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 树父编码字段
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 树名称字段
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 关联子表的表名
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 子表关联的外键名
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/infra/codegen/components/ImportTable.vue b/src/views/infra/codegen/components/ImportTable.vue
deleted file mode 100644
index 38a81541cf0c77039d7dc6a6b6747357188b57b8..0000000000000000000000000000000000000000
--- a/src/views/infra/codegen/components/ImportTable.vue
+++ /dev/null
@@ -1,125 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/infra/codegen/components/index.ts b/src/views/infra/codegen/components/index.ts
index b84c5a031509994d9ac94bc8310f057e2f8d255c..1634a76f0cfd4efa287a081889ea2edea628d8be 100644
--- a/src/views/infra/codegen/components/index.ts
+++ b/src/views/infra/codegen/components/index.ts
@@ -1,5 +1,4 @@
import BasicInfoForm from './BasicInfoForm.vue'
-import CloumInfoForm from './CloumInfoForm.vue'
-import ImportTable from './ImportTable.vue'
-import Preview from './Preview.vue'
-export { BasicInfoForm, CloumInfoForm, ImportTable, Preview }
+import ColumInfoForm from './ColumInfoForm.vue'
+import GenerateInfoForm from './GenerateInfoForm.vue'
+export { BasicInfoForm, ColumInfoForm, GenerateInfoForm }
diff --git a/src/views/infra/codegen/index.vue b/src/views/infra/codegen/index.vue
index 8337d2d45a25f54248317baa6a65ebe21371e0b6..4325f70221985ce9359af68459d9bdb7c1fbb81f 100644
--- a/src/views/infra/codegen/index.vue
+++ b/src/views/infra/codegen/index.vue
@@ -1,107 +1,243 @@
-
-
-
-
-
-
+
+
+
+
-
-
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
+
+
+ 搜索
+ 重置
+
+ 导入
+
+
+
+
+
+
+
+
+
+
+ {{
+ dataSourceConfigList.find((config) => config.id === scope.row.dataSourceConfigId)?.name
+ }}
+
+
+
+
+
+
+
+
+
+
+ 预览
+
+
+ 编辑
+
+
+ 删除
+
+
+ 同步
+
+
+ 生成代码
+
+
+
+
+
+
+
+
-
+
-
+
diff --git a/src/views/infra/config/config.data.ts b/src/views/infra/config/config.data.ts
deleted file mode 100644
index 41acfa1536998a80e2dd7ea63d1bbfc6c01bdc68..0000000000000000000000000000000000000000
--- a/src/views/infra/config/config.data.ts
+++ /dev/null
@@ -1,90 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-const { t } = useI18n() // 国际化
-
-// 表单校验
-export const rules = reactive({
- category: [required],
- name: [required],
- key: [required],
- value: [required]
-})
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: null,
- action: true,
- columns: [
- {
- title: '参数分类',
- field: 'category'
- },
- {
- title: '参数名称',
- field: 'name',
- isSearch: true
- },
- {
- title: '参数键名',
- field: 'key',
- isSearch: true
- },
- {
- title: '参数键值',
- field: 'value'
- },
- {
- title: '系统内置',
- field: 'type',
- dictType: DICT_TYPE.INFRA_CONFIG_TYPE,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: '是否可见',
- field: 'visible',
- table: {
- slots: {
- default: 'visible_default'
- }
- },
- form: {
- component: 'RadioButton',
- componentProps: {
- options: [
- { label: '是', value: true },
- { label: '否', value: false }
- ]
- }
- }
- },
- {
- title: t('form.remark'),
- field: 'remark',
- isTable: false,
- form: {
- component: 'Input',
- componentProps: {
- type: 'textarea',
- rows: 4
- },
- colProps: {
- span: 24
- }
- }
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false,
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/infra/config/form.vue b/src/views/infra/config/form.vue
new file mode 100644
index 0000000000000000000000000000000000000000..8d96b6298f6bf26c66f923db831156358e2cfc86
--- /dev/null
+++ b/src/views/infra/config/form.vue
@@ -0,0 +1,129 @@
+
+
+
+
diff --git a/src/views/infra/config/index.vue b/src/views/infra/config/index.vue
index b2bc8a8b43df37c5e1becf3611ba0c5d42bf192f..5fcafc070d3ee47e69412fa8f517ecfc74fcaa6b 100644
--- a/src/views/infra/config/index.vue
+++ b/src/views/infra/config/index.vue
@@ -1,185 +1,218 @@
-
-
-
-
-
-
-
-
-
-
- {{ row.visible ? '是' : '否' }}
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
-
-
-
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
-
-
-
-
-
-
- {{ row.visible ? '是' : '否' }}
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/infra/dataSourceConfig/dataSourceConfig.data.ts b/src/views/infra/dataSourceConfig/dataSourceConfig.data.ts
deleted file mode 100644
index a790ad17f6b03f3ca2cf691d791c2061909ffad3..0000000000000000000000000000000000000000
--- a/src/views/infra/dataSourceConfig/dataSourceConfig.data.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-// 国际化
-const { t } = useI18n()
-// 表单校验
-export const rules = reactive({
- name: [required],
- url: [required],
- username: [required],
- password: [required]
-})
-// 新增 + 修改
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'seq',
- action: true,
- columns: [
- {
- title: '数据源名称',
- field: 'name'
- },
- {
- title: '数据源连接',
- field: 'url',
- form: {
- component: 'Input',
- componentProps: {
- type: 'textarea',
- rows: 4
- },
- colProps: {
- span: 24
- }
- }
- },
- {
- title: '用户名',
- field: 'username'
- },
- {
- title: '密码',
- field: 'password',
- isTable: false
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/infra/dataSourceConfig/form.vue b/src/views/infra/dataSourceConfig/form.vue
new file mode 100644
index 0000000000000000000000000000000000000000..cd79e24b4335c1a5176fd73edd432ece69868cef
--- /dev/null
+++ b/src/views/infra/dataSourceConfig/form.vue
@@ -0,0 +1,109 @@
+
+
+
+
diff --git a/src/views/infra/dataSourceConfig/index.vue b/src/views/infra/dataSourceConfig/index.vue
index 1e3db49d447cefa3242b86454876ae8a41325583..ab3523e7f5a924103c912de18729e7208c23ee08 100644
--- a/src/views/infra/dataSourceConfig/index.vue
+++ b/src/views/infra/dataSourceConfig/index.vue
@@ -1,145 +1,102 @@
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
diff --git a/src/views/infra/file/form.vue b/src/views/infra/file/form.vue
new file mode 100644
index 0000000000000000000000000000000000000000..b0a76e0eac2d88bd9bd13f391ca1ff8af74309f0
--- /dev/null
+++ b/src/views/infra/file/form.vue
@@ -0,0 +1,81 @@
+
+
+
+
+
diff --git a/src/views/infra/file/index.vue b/src/views/infra/file/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..32b355623f6c11e1f4cc04084630e631db595998
--- /dev/null
+++ b/src/views/infra/file/index.vue
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 上传文件
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/infra/fileConfig/fileConfig.data.ts b/src/views/infra/fileConfig/fileConfig.data.ts
deleted file mode 100644
index ae351cfabac55fb758e94c47324dc4a29d3898e3..0000000000000000000000000000000000000000
--- a/src/views/infra/fileConfig/fileConfig.data.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-const { t } = useI18n() // 国际化
-
-// 表单校验
-export const rules = reactive({
- name: [required],
- storage: [required],
- config: {
- basePath: [required],
- host: [required],
- port: [required],
- username: [required],
- password: [required],
- mode: [required],
- endpoint: [required],
- bucket: [required],
- accessKey: [required],
- accessSecret: [required],
- domain: [required]
- }
-})
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'id',
- primaryTitle: '配置编号',
- action: true,
- actionWidth: '400px',
- columns: [
- {
- title: '配置名',
- field: 'name',
- isSearch: true
- },
- {
- title: '存储器',
- field: 'storage',
- dictType: DICT_TYPE.INFRA_FILE_STORAGE,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: '主配置',
- field: 'master',
- dictType: DICT_TYPE.INFRA_BOOLEAN_STRING,
- dictClass: 'boolean'
- },
- {
- title: t('form.remark'),
- field: 'remark',
- form: {
- component: 'Input',
- componentProps: {
- type: 'textarea',
- rows: 4
- },
- colProps: {
- span: 24
- }
- }
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false,
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/infra/fileConfig/form.vue b/src/views/infra/fileConfig/form.vue
new file mode 100644
index 0000000000000000000000000000000000000000..f08ba4c4c12663030669d4e0e0b42bcc473396fa
--- /dev/null
+++ b/src/views/infra/fileConfig/form.vue
@@ -0,0 +1,193 @@
+
+
+
+
diff --git a/src/views/infra/fileConfig/index.vue b/src/views/infra/fileConfig/index.vue
index bd9a978ac8372b88abc6fc619eb7761214e64572..ca0fac1579266d2f704f7ef97e613dcc288c420d 100644
--- a/src/views/infra/fileConfig/index.vue
+++ b/src/views/infra/fileConfig/index.vue
@@ -1,294 +1,198 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 主动模式
- 主动模式
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+ 搜索
+ 重置
+
+ 新增
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+ 编辑
+
+
+ 主配置
+
+ 测试
+
+ 删除
+
+
+
+
+
+
+
+
+
+
-
diff --git a/src/views/infra/fileList/fileList.data.ts b/src/views/infra/fileList/fileList.data.ts
deleted file mode 100644
index 29be6dae483a515440dd22926fc808d6463d02b2..0000000000000000000000000000000000000000
--- a/src/views/infra/fileList/fileList.data.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-const { t } = useI18n() // 国际化
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'seq',
- action: true,
- columns: [
- {
- title: '文件名',
- field: 'name'
- },
- {
- title: '文件路径',
- field: 'path',
- isSearch: true
- },
- {
- title: 'URL',
- field: 'url',
- table: {
- cellRender: {
- name: 'XPreview'
- }
- }
- },
- {
- title: '文件大小',
- field: 'size',
- formatter: 'formatSize'
- },
- {
- title: '文件类型',
- field: 'type',
- isSearch: true
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false,
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/infra/fileList/index.vue b/src/views/infra/fileList/index.vue
deleted file mode 100644
index b9bfb81506175d656975220894f66bc27a3971bd..0000000000000000000000000000000000000000
--- a/src/views/infra/fileList/index.vue
+++ /dev/null
@@ -1,177 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ row.url }}
-
-
-
-
-
-
-
-
-
-
- 将文件拖到此处,或点击上传
-
- 请上传 .jpg, .png, .gif 标准格式文件
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/infra/job/JobDetail.vue b/src/views/infra/job/JobDetail.vue
new file mode 100644
index 0000000000000000000000000000000000000000..081c50ded1794c336930bfee863335c5887f47ea
--- /dev/null
+++ b/src/views/infra/job/JobDetail.vue
@@ -0,0 +1,71 @@
+
+
+
+
diff --git a/src/views/infra/job/form.vue b/src/views/infra/job/JobForm.vue
similarity index 65%
rename from src/views/infra/job/form.vue
rename to src/views/infra/job/JobForm.vue
index 24488fd775c145ac786a051bfcb244302a55da8c..5148d181e1a40df682ecea39e32e2661bf134723 100644
--- a/src/views/infra/job/form.vue
+++ b/src/views/infra/job/JobForm.vue
@@ -1,5 +1,4 @@
-
-
-
-
diff --git a/src/views/infra/job/index.vue b/src/views/infra/job/index.vue
index 702b31feb9f94a9dda8af074ccd54defe82fac10..e113878a9d19db12c43d3bba6037342ee1d243fc 100644
--- a/src/views/infra/job/index.vue
+++ b/src/views/infra/job/index.vue
@@ -1,19 +1,31 @@
-
-
+
+
-
+
@@ -34,7 +47,7 @@
新增
@@ -48,63 +61,66 @@
>
导出
-
执行日志
+
+
+
- >
+
+
-
+
修改
+ 修改
+
{{ scope.row.status === InfraJobStatusEnum.STOP ? '开启' : '暂停' }}
+ {{ scope.row.status === InfraJobStatusEnum.STOP ? '开启' : '暂停' }}
+
删除
+ 删除
+
handleCommand(command, scope.row)"
v-hasPermi="['infra:job:trigger', 'infra:job:query']"
>
- 更多
+ 更多
-
+
执行一次
-
+
任务详细
-
+
调度日志
@@ -114,8 +130,7 @@
-
-
+
-
+
-
diff --git a/src/views/infra/job/JobLog.vue b/src/views/infra/job/logger/index.vue
similarity index 74%
rename from src/views/infra/job/JobLog.vue
rename to src/views/infra/job/logger/index.vue
index daa20046bb731f076292bcfdb94e47513f0209ff..f55a06475e014159d6fc4d2fcc3d1d7da5953492 100644
--- a/src/views/infra/job/JobLog.vue
+++ b/src/views/infra/job/logger/index.vue
@@ -1,37 +1,52 @@
-
-
+
+
-
+
+
+
+
-
+
- {{ parseTime(scope.row.beginTime) + ' ~ ' + parseTime(scope.row.endTime) }}
+ {{ formatDate(scope.row.beginTime) + ' ~ ' + formatDate(scope.row.endTime) }}
@@ -74,40 +92,39 @@
-
+
详细
+ >
+ 详细
-
-
+
+
-
+
-
diff --git a/src/views/infra/webSocket/index.vue b/src/views/infra/webSocket/index.vue
index 655045c0549ae4aac34ea433872dae4e5ce1feda..f090ba9b1019d77fd9376624c3e41ca1473c7256 100644
--- a/src/views/infra/webSocket/index.vue
+++ b/src/views/infra/webSocket/index.vue
@@ -44,7 +44,7 @@
收到消息:
- {{ dayjs(item.time).format('YYYY-MM-DD HH:mm:ss') }}
+ {{ parseTime(item.time) }}
{{ item.res }}
@@ -56,7 +56,7 @@
diff --git a/src/views/mall/product/category/index.vue b/src/views/mall/product/category/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..f57e35f8bc2c586553bbda6b67039f0b013fbfde
--- /dev/null
+++ b/src/views/mall/product/category/index.vue
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mall/product/property/PropertyForm.vue b/src/views/mall/product/property/PropertyForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..393d00ef4eeee07d217408b9c2c33d4fb2a48843
--- /dev/null
+++ b/src/views/mall/product/property/PropertyForm.vue
@@ -0,0 +1,95 @@
+
+
+
+
diff --git a/src/views/mall/product/property/index.vue b/src/views/mall/product/property/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..ea99292332a4b938e65b5a05d306760f56360ed0
--- /dev/null
+++ b/src/views/mall/product/property/index.vue
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 属性值
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mall/product/property/value/ValueForm.vue b/src/views/mall/product/property/value/ValueForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..e113825a5b289da7f6188c87bbe442c461864985
--- /dev/null
+++ b/src/views/mall/product/property/value/ValueForm.vue
@@ -0,0 +1,102 @@
+
+
+
+
diff --git a/src/views/mall/product/property/value/index.vue b/src/views/mall/product/property/value/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..85383e6332d49a563facbd4082c3e35e828da980
--- /dev/null
+++ b/src/views/mall/product/property/value/index.vue
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mp/account/AccountForm.vue b/src/views/mp/account/AccountForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..406db8fe32bc3368fe7f258e59fba7d62e156406
--- /dev/null
+++ b/src/views/mp/account/AccountForm.vue
@@ -0,0 +1,157 @@
+
+
+
+
diff --git a/src/views/mp/account/index.vue b/src/views/mp/account/index.vue
index 497f72ec1bed5c413a670537b1f68a1e386fd31c..2629c658fc143e3add7e5f7091b9d930857214b6 100644
--- a/src/views/mp/account/index.vue
+++ b/src/views/mp/account/index.vue
@@ -1,3 +1,192 @@
- 开发中
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ 'http://服务端地址/mp/open/' + scope.row.appId }}
+
+
+
+
+
+
+ 生成二维码
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+ 清空 API 配额
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mp/components/img.png b/src/views/mp/components/img.png
new file mode 100644
index 0000000000000000000000000000000000000000..c25a6e762f3a84c5a7f05c6383de843937725fcf
Binary files /dev/null and b/src/views/mp/components/img.png differ
diff --git a/src/views/mp/components/wx-location/main.vue b/src/views/mp/components/wx-location/main.vue
new file mode 100644
index 0000000000000000000000000000000000000000..47eab571352b0485e7f3ade136249c33a51ecaa9
--- /dev/null
+++ b/src/views/mp/components/wx-location/main.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ label }}
+
+
+
+
+
+
diff --git a/src/views/mp/components/wx-material-select/main.vue b/src/views/mp/components/wx-material-select/main.vue
new file mode 100644
index 0000000000000000000000000000000000000000..26b747e2bfc12c3278cb122cf226e395a8e00d3c
--- /dev/null
+++ b/src/views/mp/components/wx-material-select/main.vue
@@ -0,0 +1,302 @@
+
+
+
+
+
+
+
![]()
+
{{ item.name }}
+
+ 选择
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 选择
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 选择
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mp/components/wx-msg/card.scss b/src/views/mp/components/wx-msg/card.scss
new file mode 100644
index 0000000000000000000000000000000000000000..67ac921915f16ac79f5b05752743aaddd632b41f
--- /dev/null
+++ b/src/views/mp/components/wx-msg/card.scss
@@ -0,0 +1,101 @@
+.avue-card{
+ &__item{
+ margin-bottom: 16px;
+ border: 1px solid #e8e8e8;
+ background-color: #fff;
+ box-sizing: border-box;
+ color: rgba(0,0,0,.65);
+ font-size: 14px;
+ font-variant: tabular-nums;
+ line-height: 1.5;
+ list-style: none;
+ font-feature-settings: "tnum";
+ cursor: pointer;
+ height:200px;
+ &:hover{
+ border-color: rgba(0,0,0,.09);
+ box-shadow: 0 2px 8px rgba(0,0,0,.09);
+ }
+ &--add{
+ border:1px dashed #000;
+ width: 100%;
+ color: rgba(0,0,0,.45);
+ background-color: #fff;
+ border-color: #d9d9d9;
+ border-radius: 2px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 16px;
+ i{
+ margin-right: 10px;
+ }
+ &:hover{
+ color: #40a9ff;
+ background-color: #fff;
+ border-color: #40a9ff;
+ }
+ }
+ }
+ &__body{
+ display: flex;
+ padding: 24px;
+ }
+ &__detail{
+ flex:1
+ }
+ &__avatar{
+ width: 48px;
+ height: 48px;
+ border-radius: 48px;
+ overflow: hidden;
+ margin-right: 12px;
+ img{
+ width: 100%;
+ height: 100%;
+ }
+ }
+ &__title{
+ color: rgba(0,0,0,.85);
+ margin-bottom: 12px;
+ font-size: 16px;
+ &:hover{
+ color:#1890ff;
+ }
+ }
+ &__info{
+ color: rgba(0,0,0,.45);
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 3;
+ overflow: hidden;
+ height: 64px;
+ }
+ &__menu{
+ display: flex;
+ justify-content:space-around;
+ height: 50px;
+ background: #f7f9fa;
+ color: rgba(0,0,0,.45);
+ text-align: center;
+ line-height: 50px;
+ &:hover{
+ color:#1890ff;
+ }
+ }
+}
+
+/** joolun 额外加的 */
+.avue-comment__main {
+ flex: unset!important;
+ border-radius: 5px!important;
+ margin: 0 8px!important;
+}
+.avue-comment__header {
+ border-top-left-radius: 5px;
+ border-top-right-radius: 5px;
+}
+.avue-comment__body {
+ border-bottom-right-radius: 5px;
+ border-bottom-left-radius: 5px;
+}
diff --git a/src/views/mp/components/wx-msg/comment.scss b/src/views/mp/components/wx-msg/comment.scss
new file mode 100644
index 0000000000000000000000000000000000000000..3f1341b20de1160c99b81f08429f7cf83ab39341
--- /dev/null
+++ b/src/views/mp/components/wx-msg/comment.scss
@@ -0,0 +1,88 @@
+/* 来自 https://github.com/nmxiaowei/avue/blob/master/styles/src/element-ui/comment.scss */
+.avue-comment{
+ margin-bottom: 30px;
+ display: flex;
+ align-items: flex-start;
+ &--reverse{
+ flex-direction:row-reverse;
+ .avue-comment__main{
+ &:before,&:after{
+ left: auto;
+ right: -8px;
+ border-width: 8px 0 8px 8px;
+ }
+ &:before{
+ border-left-color: #dedede;
+ }
+ &:after{
+ border-left-color: #f8f8f8;
+ margin-right: 1px;
+ margin-left: auto;
+ }
+ }
+ }
+ &__avatar{
+ width: 48px;
+ height: 48px;
+ border-radius: 50%;
+ border: 1px solid transparent;
+ box-sizing: border-box;
+ vertical-align: middle;
+ }
+ &__header{
+ padding: 5px 15px;
+ background: #f8f8f8;
+ border-bottom: 1px solid #eee;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ }
+ &__author{
+ font-weight: 700;
+ font-size: 14px;
+ color: #999;
+ }
+ &__main{
+ flex:1;
+ margin: 0 20px;
+ position: relative;
+ border: 1px solid #dedede;
+ border-radius: 2px;
+ &:before,&:after{
+ position: absolute;
+ top: 10px;
+ left: -8px;
+ right: 100%;
+ width: 0;
+ height: 0;
+ display: block;
+ content: " ";
+ border-color: transparent;
+ border-style: solid solid outset;
+ border-width: 8px 8px 8px 0;
+ pointer-events: none;
+ }
+ &:before {
+ border-right-color: #dedede;
+ z-index: 1;
+ }
+ &:after{
+ border-right-color: #f8f8f8;
+ margin-left: 1px;
+ z-index: 2;
+ }
+ }
+ &__body{
+ padding: 15px;
+ overflow: hidden;
+ background: #fff;
+ font-family: Segoe UI,Lucida Grande,Helvetica,Arial,Microsoft YaHei,FreeSans,Arimo,Droid Sans,wenquanyi micro hei,Hiragino Sans GB,Hiragino Sans GB W3,FontAwesome,sans-serif;color: #333;
+ font-size: 14px;
+ }
+ blockquote{
+ margin:0;
+ font-family: Georgia,Times New Roman,Times,Kai,Kaiti SC,KaiTi,BiauKai,FontAwesome,serif;
+ padding: 1px 0 1px 15px;
+ border-left: 4px solid #ddd;
+ }
+}
diff --git a/src/views/mp/components/wx-msg/main.vue b/src/views/mp/components/wx-msg/main.vue
new file mode 100644
index 0000000000000000000000000000000000000000..215b4f973ac30d57e55868b1b11026f6552f81f6
--- /dev/null
+++ b/src/views/mp/components/wx-msg/main.vue
@@ -0,0 +1,335 @@
+
+
+
+
+
+
+ 发送(S)
+
+
+
+
+
+
diff --git a/src/views/mp/components/wx-music/main.vue b/src/views/mp/components/wx-music/main.vue
new file mode 100644
index 0000000000000000000000000000000000000000..52555f15fe3850e89b5d24377af8b11952811902
--- /dev/null
+++ b/src/views/mp/components/wx-music/main.vue
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
![]()
+
+
+
{{ title }}
+
{{ description }}
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mp/components/wx-news/main.vue b/src/views/mp/components/wx-news/main.vue
new file mode 100644
index 0000000000000000000000000000000000000000..d08e28135302c0ea8af0250ba3a1e2640d213a06
--- /dev/null
+++ b/src/views/mp/components/wx-news/main.vue
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/mp/components/wx-reply/main.vue b/src/views/mp/components/wx-reply/main.vue
new file mode 100644
index 0000000000000000000000000000000000000000..a31e9462e6b0d419f0362e885d02c50fda20dbf3
--- /dev/null
+++ b/src/views/mp/components/wx-reply/main.vue
@@ -0,0 +1,717 @@
+
+
+
+
+
+
+
+
+ 文本
+
+
+
+
+
+
+
+
+
+ 图片
+
+
+
+
+
![]()
+
{{ objDataRef.name }}
+
+
+
+
+
+
+
+
+
+
+
+ 素材库选择
+
+
+
+
+
+
+
+
+
+ 上传图片
+
+
+ 支持 bmp/png/jpeg/jpg/gif 格式,大小不超过 2M
+
+
+
+
+
+
+
+
+
+
+ 语音
+
+
+
+
+
{{ objDataRef.name }}
+
+
+
+
+
+
+
+
+
+
+
+ 素材库选择
+
+
+
+
+
+
+
+
+ 点击上传
+
+ 格式支持 mp3/wma/wav/amr,文件大小不超过 2M,播放长度不超过 60s
+
+
+
+
+
+
+
+
+
+
+
+ 视频
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 素材库选择
+
+
+
+
+
+
+
+
+
+ 新建视频
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 图文
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ newsType === '1' ? '选择已发布图文' : '选择草稿箱图文' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 音乐
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 本地上传
+
+ 素材库选择
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mp/components/wx-video-play/main.vue b/src/views/mp/components/wx-video-play/main.vue
new file mode 100644
index 0000000000000000000000000000000000000000..7dc4347ca9b9088e734e4efc1e3eb66b4aabea00
--- /dev/null
+++ b/src/views/mp/components/wx-video-play/main.vue
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mp/components/wx-voice-play/main.vue b/src/views/mp/components/wx-voice-play/main.vue
new file mode 100644
index 0000000000000000000000000000000000000000..9ec8e2e960e61a88bae457c73fde7e4519378264
--- /dev/null
+++ b/src/views/mp/components/wx-voice-play/main.vue
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+ {{ duration }} 秒
+
+
+ 语音识别
+ {{ content }}
+
+
+
+
+
+
diff --git a/src/views/mp/freePublish/index.vue b/src/views/mp/freePublish/index.vue
index 497f72ec1bed5c413a670537b1f68a1e386fd31c..8a3d528583bc33c29f32e074e218c33c41c5f077 100644
--- a/src/views/mp/freePublish/index.vue
+++ b/src/views/mp/freePublish/index.vue
@@ -1,3 +1,363 @@
- 开发中
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mp/message/index.vue b/src/views/mp/message/index.vue
index 497f72ec1bed5c413a670537b1f68a1e386fd31c..90db931a25d2f47e4059a6976c7c2ce31e874d96 100644
--- a/src/views/mp/message/index.vue
+++ b/src/views/mp/message/index.vue
@@ -1,3 +1,282 @@
- 开发中
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+ 粉丝
+ 公众号
+
+
+
+
+
+
+
+ 关注
+
+
+ 取消关注
+
+
+ 点击菜单
+ 【{{ scope.row.eventKey }}】
+
+
+ 点击菜单链接
+ 【{{ scope.row.eventKey }}】
+
+
+ 扫码结果
+ 【{{ scope.row.eventKey }}】
+
+
+ 扫码结果
+ 【{{ scope.row.eventKey }}】
+
+
+ 系统拍照发图
+
+
+ 拍照或者相册
+
+
+ 微信相册
+
+
+ 选择地理位置
+
+
+ 未知事件类型
+
+
+ {{ scope.row.content }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 未知消息类型
+
+
+
+
+
+
+ 消息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mp/statistics/index.vue b/src/views/mp/statistics/index.vue
index 497f72ec1bed5c413a670537b1f68a1e386fd31c..a692365ca29c99d0c135e68fd089a253994c4f43 100644
--- a/src/views/mp/statistics/index.vue
+++ b/src/views/mp/statistics/index.vue
@@ -1,3 +1,365 @@
- 开发中
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 用户增减数据
+
+
+
+
+
+
+
+
+
+ 累计用户数据
+
+
+
+
+
+
+
+
+
+ 消息概况数据
+
+
+
+
+
+
+
+
+
+ 接口分析数据
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mp/tag/TagForm.vue b/src/views/mp/tag/TagForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..db251cdfd1119ded3e9e2deaa9c14826f3ba2629
--- /dev/null
+++ b/src/views/mp/tag/TagForm.vue
@@ -0,0 +1,91 @@
+
+
+
+
diff --git a/src/views/mp/tag/index.vue b/src/views/mp/tag/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..8a4b731dc7d1916db8f22e158869d71c64743978
--- /dev/null
+++ b/src/views/mp/tag/index.vue
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+ 新增
+
+
+ 同步
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/pay/merchant/MerchantForm.vue b/src/views/pay/merchant/MerchantForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..1e09fb8c7116120666f06be5475ae49c4a99244a
--- /dev/null
+++ b/src/views/pay/merchant/MerchantForm.vue
@@ -0,0 +1,110 @@
+
+
+
+
diff --git a/src/views/pay/merchant/index.vue b/src/views/pay/merchant/index.vue
index 1ea460ec9d5a7aa9c30828a1a45059ce559eafaf..d2e487c341c5349a3ab9c95d515265daaeb02c12 100644
--- a/src/views/pay/merchant/index.vue
+++ b/src/views/pay/merchant/index.vue
@@ -1,153 +1,242 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
+
+
-
-
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+ 修改
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/pay/merchant/merchant.data.ts b/src/views/pay/merchant/merchant.data.ts
deleted file mode 100644
index e0e0727d733f9eea5134dd44a91c9e4c79864426..0000000000000000000000000000000000000000
--- a/src/views/pay/merchant/merchant.data.ts
+++ /dev/null
@@ -1,70 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-const { t } = useI18n() // 国际化
-
-// 表单校验
-export const rules = reactive({
- no: [required],
- name: [required],
- shortName: [required],
- status: [required]
-})
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'seq',
- primaryTitle: '商户编号',
- action: true,
- columns: [
- {
- title: '商户号',
- field: 'no',
- isSearch: true
- },
- {
- title: '商户全称',
- field: 'code',
- isSearch: true
- },
- {
- title: '商户简称',
- field: 'shortName',
- isSearch: true
- },
- {
- title: t('common.status'),
- field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: t('form.remark'),
- field: 'remark',
- isTable: false,
- form: {
- component: 'Input',
- componentProps: {
- type: 'textarea',
- rows: 4
- },
- colProps: {
- span: 24
- }
- }
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false,
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/area/area.data.ts b/src/views/system/area/area.data.ts
deleted file mode 100644
index 008e8a41bc3523bba33f01e934768b44c77baed3..0000000000000000000000000000000000000000
--- a/src/views/system/area/area.data.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: null,
- action: false,
- columns: [
- {
- title: '编号',
- field: 'id',
- table: {
- treeNode: true,
- align: 'left'
- }
- },
- {
- title: '名字',
- field: 'name'
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/area/form.vue b/src/views/system/area/form.vue
new file mode 100644
index 0000000000000000000000000000000000000000..f0cff434a26284a5ff76d4de31f0aeca07cd4cde
--- /dev/null
+++ b/src/views/system/area/form.vue
@@ -0,0 +1,69 @@
+
+
+
+
diff --git a/src/views/system/area/index.vue b/src/views/system/area/index.vue
index e5a6a682213ce1fe805820ddce022085e16a55ba..f9d4c57de8568a572110415f0dc5bad46f5f51fb 100644
--- a/src/views/system/area/index.vue
+++ b/src/views/system/area/index.vue
@@ -1,125 +1,70 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ IP 查询
+
+
-
-
-
-
-
-
-
-
-
-
-
- 查 询
- 取 消
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/dept/dept.data.ts b/src/views/system/dept/dept.data.ts
deleted file mode 100644
index c694584196e107a92e48e46fe5025a681a645bbc..0000000000000000000000000000000000000000
--- a/src/views/system/dept/dept.data.ts
+++ /dev/null
@@ -1,84 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-
-const { t } = useI18n() // 国际化
-
-// 表单校验
-export const rules = reactive({
- name: [required],
- sort: [required],
- // email: [required],
- email: [
- { required: true, message: t('profile.rules.mail'), trigger: 'blur' },
- {
- type: 'email',
- message: t('profile.rules.truemail'),
- trigger: ['blur', 'change']
- }
- ],
- phone: [
- {
- len: 11,
- trigger: 'blur',
- message: '请输入正确的手机号码'
- }
- ]
-})
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: null,
- action: true,
- columns: [
- {
- title: '上级部门',
- field: 'parentId',
- isTable: false
- },
- {
- title: '部门名称',
- field: 'name',
- isSearch: true,
- table: {
- treeNode: true,
- align: 'left'
- }
- },
- {
- title: '负责人',
- field: 'leaderUserId',
- table: {
- slots: {
- default: 'leaderUserId_default'
- }
- }
- },
- {
- title: '联系电话',
- field: 'phone'
- },
- {
- title: '邮箱',
- field: 'email',
- isTable: false
- },
- {
- title: '显示排序',
- field: 'sort'
- },
- {
- title: t('common.status'),
- field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue
index 3b182e2afcf8ef5aae488cc36a6c99140355f0c4..20f190137b9574306450366bec639e2f201711e8 100644
--- a/src/views/system/dept/index.vue
+++ b/src/views/system/dept/index.vue
@@ -1,189 +1,188 @@
+
-
-
-
-
-
-
-
-
-
- {{ userNicknameFormat(row) }}
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 展开/折叠
+
+
+
+
+
+
+
+
+
+
+
+ {{ userList.find((user) => user.id === scope.row.leaderUserId)?.nickname }}
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+ 修改
+
+
+ 删除
+
+
+
+
+
+
+
+
diff --git a/src/views/system/dict/data.form.vue b/src/views/system/dict/data.form.vue
new file mode 100644
index 0000000000000000000000000000000000000000..9271e8a988b0f04936a157183cfc7ad91219dafd
--- /dev/null
+++ b/src/views/system/dict/data.form.vue
@@ -0,0 +1,175 @@
+
+
+
+
diff --git a/src/views/system/dict/data.vue b/src/views/system/dict/data.vue
new file mode 100644
index 0000000000000000000000000000000000000000..41bcbaa85e33051b9b49f21eb087ae70e9dc8ceb
--- /dev/null
+++ b/src/views/system/dict/data.vue
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/dict/dict.data.ts b/src/views/system/dict/dict.data.ts
deleted file mode 100644
index cdfe45385b98ec1cae3808016c82d1eabefc9fc2..0000000000000000000000000000000000000000
--- a/src/views/system/dict/dict.data.ts
+++ /dev/null
@@ -1,104 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-// 国际化
-const { t } = useI18n()
-// 表单校验
-export const dictDataRules = reactive({
- label: [required],
- value: [required],
- sort: [required]
-})
-// crudSchemas
-export const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: null,
- action: true,
- actionWidth: '140px',
- searchSpan: 12,
- columns: [
- {
- title: '字典类型',
- field: 'dictType',
- isTable: false,
- isForm: false
- },
- {
- title: '数据标签',
- field: 'label',
- isSearch: true
- },
- {
- title: '数据键值',
- field: 'value'
- },
- // {
- // title: '标签类型',
- // field: 'colorType',
- // form: {
- // component: 'Select',
- // componentProps: {
- // options: [
- // {
- // label: 'default',
- // value: ''
- // },
- // {
- // label: 'success',
- // value: 'success'
- // },
- // {
- // label: 'info',
- // value: 'info'
- // },
- // {
- // label: 'warning',
- // value: 'warning'
- // },
- // {
- // label: 'danger',
- // value: 'danger'
- // }
- // ]
- // }
- // },
- // isTable: false
- // },
- {
- title: '颜色',
- field: 'cssClass',
- isTable: false,
- form: {
- component: 'ColorPicker',
- componentProps: {
- predefine: ['#ffffff', '#409eff', '#67c23a', '#e6a23c', '#f56c6c', '#909399', '#c71585']
- }
- }
- },
- {
- title: '显示排序',
- field: 'sort',
- isTable: false
- },
- {
- title: t('common.status'),
- field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: 'number'
- },
- {
- title: t('form.remark'),
- field: 'remark',
- form: {
- component: 'Input',
- componentProps: {
- type: 'textarea',
- rows: 4
- },
- colProps: {
- span: 24
- }
- },
- isTable: false
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/dict/dict.type.ts b/src/views/system/dict/dict.type.ts
deleted file mode 100644
index 73b5a021ca02da9827e6a4e85dbba9e8e55586b2..0000000000000000000000000000000000000000
--- a/src/views/system/dict/dict.type.ts
+++ /dev/null
@@ -1,65 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-const { t } = useI18n() // 国际化
-
-// 表单校验
-export const dictTypeRules = reactive({
- name: [required],
- type: [required]
-})
-// 新增 + 修改
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: null,
- action: true,
- actionWidth: '140px',
- searchSpan: 12,
- columns: [
- {
- title: '字典名称',
- field: 'name',
- isSearch: true
- },
- {
- title: '字典类型',
- field: 'type',
- isSearch: true
- },
- {
- title: t('common.status'),
- field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: 'number',
- table: {
- width: 70
- }
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false,
- isTable: false,
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- },
- {
- title: t('form.remark'),
- field: 'remark',
- isTable: false,
- form: {
- componentProps: {
- type: 'textarea',
- rows: 4
- },
- colProps: {
- span: 24
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/dict/form.vue b/src/views/system/dict/form.vue
new file mode 100644
index 0000000000000000000000000000000000000000..179656de8a11bafd0ff2263170805c231d2750f1
--- /dev/null
+++ b/src/views/system/dict/form.vue
@@ -0,0 +1,121 @@
+
+
+
+
diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue
index 713fde97795ee2661210f574f50b12caa4687f42..4e304bf5ef5363f54fafb22803ff578e17d3b81a 100644
--- a/src/views/system/dict/index.vue
+++ b/src/views/system/dict/index.vue
@@ -1,257 +1,211 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
-
-
+ 修改
+
+
+ 数据
+
+
+ >
+ 删除
+
-
-
-
-
-
-
-
-
-
-
- 请从左侧选择
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/errorCode/errorCode.data.ts b/src/views/system/errorCode/errorCode.data.ts
deleted file mode 100644
index 4736068b2197110769ced02de896b260b13c9c5c..0000000000000000000000000000000000000000
--- a/src/views/system/errorCode/errorCode.data.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-const { t } = useI18n() // 国际化
-
-// 表单校验
-export const rules = reactive({
- applicationName: [required],
- code: [required],
- message: [required]
-})
-
-// 新增 + 修改
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'id',
- primaryTitle: '编号',
- action: true,
- columns: [
- {
- title: '错误码类型',
- field: 'type',
- dictType: DICT_TYPE.SYSTEM_ERROR_CODE_TYPE,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: '应用名',
- field: 'applicationName',
- isSearch: true
- },
- {
- title: '错误码编码',
- field: 'code',
- isSearch: true
- },
- {
- title: '错误码错误提示',
- field: 'message',
- isSearch: true
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false,
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/errorCode/form.vue b/src/views/system/errorCode/form.vue
new file mode 100644
index 0000000000000000000000000000000000000000..f261ced187481a12cab288b57db10a2c37ea07c1
--- /dev/null
+++ b/src/views/system/errorCode/form.vue
@@ -0,0 +1,110 @@
+
+
+
+
diff --git a/src/views/system/errorCode/index.vue b/src/views/system/errorCode/index.vue
index 1ff3d103d47dedb49f719bdfa311578fe468a43f..e94b00f0c0a4389e1abac299063eb9d781338a38 100644
--- a/src/views/system/errorCode/index.vue
+++ b/src/views/system/errorCode/index.vue
@@ -1,145 +1,228 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/loginlog/LoginLogDetail.vue b/src/views/system/loginlog/LoginLogDetail.vue
new file mode 100644
index 0000000000000000000000000000000000000000..f0890eca0420e218a745d39d1dc304772d10d008
--- /dev/null
+++ b/src/views/system/loginlog/LoginLogDetail.vue
@@ -0,0 +1,49 @@
+
+
+
+
diff --git a/src/views/system/loginlog/index.vue b/src/views/system/loginlog/index.vue
index f2bb8c6777066ffa446191d77b0affa61973df13..c48957a77ae217df01f4306cc759ef2d35720000 100644
--- a/src/views/system/loginlog/index.vue
+++ b/src/views/system/loginlog/index.vue
@@ -1,53 +1,175 @@
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 详情
+
+
+
+
+
+
+
+
+
+
-
diff --git a/src/views/system/loginlog/loginLog.data.ts b/src/views/system/loginlog/loginLog.data.ts
deleted file mode 100644
index c0a51fbee49bed1e6af2b4d68b9530977f76925a..0000000000000000000000000000000000000000
--- a/src/views/system/loginlog/loginLog.data.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'id',
- primaryTitle: '日志编号',
- action: true,
- actionWidth: '100px',
- columns: [
- {
- title: '日志类型',
- field: 'logType',
- dictType: DICT_TYPE.SYSTEM_LOGIN_TYPE,
- dictClass: 'number'
- },
- {
- title: '用户名称',
- field: 'username',
- isSearch: true
- },
- {
- title: '登录地址',
- field: 'userIp',
- isSearch: true
- },
- {
- title: '浏览器',
- field: 'userAgent'
- },
- {
- title: '登陆结果',
- field: 'result',
- dictType: DICT_TYPE.SYSTEM_LOGIN_RESULT,
- dictClass: 'number'
- },
- {
- title: '登录日期',
- field: 'createTime',
- formatter: 'formatDate',
- table: {
- width: 150
- },
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/mail/account/account.data.ts b/src/views/system/mail/account/account.data.ts
index bd05ce4fb1f7227386cdf0df01163cea6033d3af..f01c39f28de33a8152f92b0533f06630cfb9cadc 100644
--- a/src/views/system/mail/account/account.data.ts
+++ b/src/views/system/mail/account/account.data.ts
@@ -1,10 +1,10 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
const { t } = useI18n() // 国际化
// 表单校验
export const rules = reactive({
- // mail: [required],
mail: [
{ required: true, message: t('profile.rules.mail'), trigger: 'blur' },
{
@@ -20,56 +20,54 @@ export const rules = reactive({
sslEnable: [required]
})
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id', // 默认的主键 ID
- primaryTitle: '编号',
- primaryType: 'id',
- action: true,
- actionWidth: '200', // 3 个按钮默认 200,如有删减对应增减即可
- columns: [
- {
- title: '邮箱',
- field: 'mail',
- isSearch: true
- },
- {
- title: '用户名',
- field: 'username',
- isSearch: true
- },
- {
- title: '密码',
- field: 'password',
- isTable: false
- },
- {
- title: 'SMTP 服务器域名',
- field: 'host'
- },
- {
- title: 'SMTP 服务器端口',
- field: 'port',
- form: {
- component: 'InputNumber',
- value: 465
- }
- },
- {
- title: '是否开启 SSL',
- field: 'sslEnable',
- dictType: DICT_TYPE.INFRA_BOOLEAN_STRING,
- dictClass: 'boolean'
- },
- {
- title: '创建时间',
- field: 'createTime',
- isForm: false,
- formatter: 'formatDate',
- table: {
- width: 180
- }
+// CrudSchema:https://kailong110120130.gitee.io/vue-element-plus-admin-doc/hooks/useCrudSchemas.html
+const crudSchemas = reactive([
+ {
+ label: '邮箱',
+ field: 'mail',
+ isSearch: true
+ },
+ {
+ label: '用户名',
+ field: 'username',
+ isSearch: true
+ },
+ {
+ label: '密码',
+ field: 'password',
+ isTable: false
+ },
+ {
+ label: 'SMTP 服务器域名',
+ field: 'host'
+ },
+ {
+ label: 'SMTP 服务器端口',
+ field: 'port',
+ form: {
+ component: 'InputNumber',
+ value: 465
}
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
+ },
+ {
+ label: '是否开启 SSL',
+ field: 'sslEnable',
+ dictType: DICT_TYPE.INFRA_BOOLEAN_STRING,
+ dictClass: 'boolean',
+ form: {
+ component: 'Radio'
+ }
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ isForm: false,
+ formatter: dateFormatter
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false
+ }
+])
+export const { allSchemas } = useCrudSchemas(crudSchemas)
diff --git a/src/views/system/mail/account/form.vue b/src/views/system/mail/account/form.vue
new file mode 100644
index 0000000000000000000000000000000000000000..78d7cf0dae3d466bce487c96a927f2ed7c75b377
--- /dev/null
+++ b/src/views/system/mail/account/form.vue
@@ -0,0 +1,66 @@
+
+
+
+
diff --git a/src/views/system/mail/account/index.vue b/src/views/system/mail/account/index.vue
index 7c4ad0f9dff8321eb024c3dd72359341682d23e6..1f80684f765965441b0769394f56254fa334af28 100644
--- a/src/views/system/mail/account/index.vue
+++ b/src/views/system/mail/account/index.vue
@@ -1,151 +1,84 @@
-
-
-
-
-
-
+
+
+
+
+
+ >
+ 新增
+
-
-
-
+
+
+
+
+
+
+
-
-
-
-
+ 编辑
+
+
+ @click="handleDelete(row.id)"
+ >
+ 删除
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
diff --git a/src/views/system/mail/log/detail.vue b/src/views/system/mail/log/detail.vue
new file mode 100644
index 0000000000000000000000000000000000000000..1795f7516703ec62f14ecdebd26237af0dfaa4a9
--- /dev/null
+++ b/src/views/system/mail/log/detail.vue
@@ -0,0 +1,31 @@
+
+
+
+
diff --git a/src/views/system/mail/log/index.vue b/src/views/system/mail/log/index.vue
index e147c52caa5dabb9873da95a6f221ce5219b0266..5373b71d2900eeba77db4752a3438b9713440ee2 100644
--- a/src/views/system/mail/log/index.vue
+++ b/src/views/system/mail/log/index.vue
@@ -1,98 +1,59 @@
-
-
-
-
-
-
-
-
-
-
- {{ row.toMail }}
-
- {{ '(' + row.userId + ')' }}
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ >
+ 详情
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
diff --git a/src/views/system/mail/log/log.data.ts b/src/views/system/mail/log/log.data.ts
index f01cb549b174c1bdde8b6d823b7d9dd99b815bd9..8ea96926a8f8e401ee83f922c8c8d3b3ad99bdc5 100644
--- a/src/views/system/mail/log/log.data.ts
+++ b/src/views/system/mail/log/log.data.ts
@@ -1,122 +1,133 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+import * as MailAccountApi from '@/api/system/mail/account'
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryTitle: '编号',
- primaryType: 'id',
- action: true,
- actionWidth: '70',
- columns: [
- {
- title: '发送时间',
- field: 'sendTime',
- table: {
- width: 180
- },
- formatter: 'formatDate',
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- },
- {
- title: '接收邮箱',
- field: 'toMail',
- isSearch: true,
- table: {
- width: 180,
- slots: {
- default: 'toMail_default'
- }
+// 邮箱账号的列表
+const accounts = await MailAccountApi.getSimpleMailAccountList()
+
+// CrudSchema:https://kailong110120130.gitee.io/vue-element-plus-admin-doc/hooks/useCrudSchemas.html
+const crudSchemas = reactive([
+ {
+ label: '编号',
+ field: 'id'
+ },
+ {
+ label: '发送时间',
+ field: 'sendTime',
+ formatter: dateFormatter,
+ search: {
+ show: true,
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
- {
- title: '用户编号',
- field: 'userId',
- isSearch: true,
- isTable: false
- },
- {
- title: '用户类型',
- field: 'userType',
- dictType: DICT_TYPE.USER_TYPE,
- dictClass: 'number',
- isSearch: true,
- isTable: false
- },
- {
- title: '邮件标题',
- field: 'templateTitle'
- },
- {
- title: '邮件内容',
- field: 'templateContent',
- isTable: false
- },
- {
- title: '邮箱参数',
- field: 'templateParams',
- isTable: false
- },
- {
- title: '发送状态',
- field: 'sendStatus',
- dictType: DICT_TYPE.SYSTEM_MAIL_SEND_STATUS,
- dictClass: 'string',
- isSearch: true
- },
- {
- title: '邮箱账号',
- field: 'accountId',
- isSearch: true,
- isTable: false,
- search: {
- slots: {
- default: 'accountId_search'
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ }
+ },
+ {
+ label: '接收邮箱',
+ field: 'toMail'
+ },
+ {
+ label: '用户编号',
+ field: 'userId',
+ isSearch: true,
+ isTable: false
+ },
+ {
+ label: '用户类型',
+ field: 'userType',
+ dictType: DICT_TYPE.USER_TYPE,
+ dictClass: 'number',
+ isSearch: true,
+ isTable: false
+ },
+ {
+ label: '邮件标题',
+ field: 'templateTitle'
+ },
+ {
+ label: '邮件内容',
+ field: 'templateContent',
+ isTable: false
+ },
+ {
+ label: '邮箱参数',
+ field: 'templateParams',
+ isTable: false
+ },
+ {
+ label: '发送状态',
+ field: 'sendStatus',
+ dictType: DICT_TYPE.SYSTEM_MAIL_SEND_STATUS,
+ dictClass: 'string',
+ isSearch: true
+ },
+ {
+ label: '邮箱账号',
+ field: 'accountId',
+ isTable: false,
+ search: {
+ show: true,
+ component: 'Select',
+ api: () => accounts,
+ componentProps: {
+ optionsAlias: {
+ labelField: 'mail',
+ valueField: 'id'
}
}
- },
- {
- title: '发送邮箱地址',
- field: 'fromMail',
- table: {
- title: '邮箱账号'
- }
- },
- {
- title: '模板编号',
- field: 'templateId',
- isSearch: true
- },
- {
- title: '模板编码',
- field: 'templateCode',
- isTable: false
- },
- {
- title: '模版发送人名称',
- field: 'templateNickname',
- isTable: false
- },
- {
- title: '发送返回的消息编号',
- field: 'sendMessageId',
- isTable: false
- },
- {
- title: '发送异常',
- field: 'sendException',
- isTable: false
- },
- {
- title: '创建时间',
- field: 'createTime',
- isTable: false,
- formatter: 'formatDate'
}
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
+ },
+ {
+ label: '发送邮箱地址',
+ field: 'fromMail',
+ table: {
+ label: '邮箱账号'
+ }
+ },
+ {
+ label: '模板编号',
+ field: 'templateId',
+ isSearch: true
+ },
+ {
+ label: '模板编码',
+ field: 'templateCode',
+ isTable: false
+ },
+ {
+ label: '模版发送人名称',
+ field: 'templateNickname',
+ isTable: false
+ },
+ {
+ label: '发送返回的消息编号',
+ field: 'sendMessageId',
+ isTable: false
+ },
+ {
+ label: '发送异常',
+ field: 'sendException',
+ isTable: false
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ isTable: false,
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ }
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isDetail: false
+ }
+])
+export const { allSchemas } = useCrudSchemas(crudSchemas)
diff --git a/src/views/system/mail/template/form.vue b/src/views/system/mail/template/form.vue
new file mode 100644
index 0000000000000000000000000000000000000000..92f3c5c12b8e9f2a1922fe35a278c08b7495cd57
--- /dev/null
+++ b/src/views/system/mail/template/form.vue
@@ -0,0 +1,66 @@
+
+
+
+
diff --git a/src/views/system/mail/template/index.vue b/src/views/system/mail/template/index.vue
index cb4a7e5d82332b5424e08e1cafa71aa01d0e4927..b9a5040b8b8c473e8b735339f65ac7d7528d5e1b 100644
--- a/src/views/system/mail/template/index.vue
+++ b/src/views/system/mail/template/index.vue
@@ -1,273 +1,102 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
- {{ accountOptions.find((account) => account.id === row.accountId)?.mail }}
+ @click="openModal('create')"
+ v-hasPermi="['system:mail-account:create']"
+ >
+ 新增
+
-
-
-
+
+
+
+
+
+
+
-
-
+ 测试
+
+
-
-
-
-
+ 编辑
+
+
+ @click="handleDelete(row.id)"
+ >
+ 删除
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/src/views/system/mail/template/send.vue b/src/views/system/mail/template/send.vue
new file mode 100644
index 0000000000000000000000000000000000000000..b4b411b961c21efc4b408b301c31761b1b1c93ee
--- /dev/null
+++ b/src/views/system/mail/template/send.vue
@@ -0,0 +1,113 @@
+
+
+
+
diff --git a/src/views/system/mail/template/template.data.ts b/src/views/system/mail/template/template.data.ts
index 32522e33c51086622760fc036d09ff755f3889fc..ba76dc27682757166bf52c6ff2c53bdc6a3dd0ab 100644
--- a/src/views/system/mail/template/template.data.ts
+++ b/src/views/system/mail/template/template.data.ts
@@ -1,98 +1,113 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+import { TableColumn } from '@/types/table'
+import * as MailAccountApi from '@/api/system/mail/account'
+
+// 邮箱账号的列表
+const accounts = await MailAccountApi.getSimpleMailAccountList()
// 表单校验
export const rules = reactive({
name: [required],
code: [required],
accountId: [required],
- title: [required],
+ label: [required],
content: [required],
params: [required],
status: [required]
})
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id', // 默认的主键ID
- primaryTitle: '编号', // 默认显示的值
- primaryType: null,
- action: true,
- actionWidth: '260',
- columns: [
- {
- title: '模板编码',
- field: 'code',
- isSearch: true
- },
- {
- title: '模板名称',
- field: 'name',
- isSearch: true
- },
- {
- title: '模板标题',
- field: 'title'
- },
- {
- title: '模板内容',
- field: 'content',
- form: {
- component: 'Editor',
- colProps: {
- span: 24
- },
- componentProps: {
- valueHtml: ''
- }
+// CrudSchema:https://kailong110120130.gitee.io/vue-element-plus-admin-doc/hooks/useCrudSchemas.html
+const crudSchemas = reactive([
+ {
+ label: '模板编码',
+ field: 'code',
+ isSearch: true
+ },
+ {
+ label: '模板名称',
+ field: 'name',
+ isSearch: true
+ },
+ {
+ label: '模板标题',
+ field: 'title'
+ },
+ {
+ label: '模板内容',
+ field: 'content',
+ form: {
+ component: 'Editor',
+ componentProps: {
+ valueHtml: '',
+ height: 200
}
+ }
+ },
+ {
+ label: '邮箱账号',
+ field: 'accountId',
+ width: '200px',
+ formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
+ return accounts.find((account) => account.id === cellValue)?.mail
},
- {
- title: '邮箱账号',
- field: 'accountId',
- isSearch: true,
- table: {
- width: 200,
- slots: {
- default: 'accountId_default'
- }
- },
- search: {
- slots: {
- default: 'accountId_search'
+ search: {
+ show: true,
+ component: 'Select',
+ api: () => accounts,
+ componentProps: {
+ optionsAlias: {
+ labelField: 'mail',
+ valueField: 'id'
}
}
},
- {
- title: '发送人名称',
- field: 'nickname'
- },
- {
- title: '开启状态',
- field: 'status',
- isSearch: true,
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: 'number'
- },
- {
- title: '备注',
- field: 'remark',
- isTable: false
- },
- {
- title: '创建时间',
- field: 'createTime',
- isForm: false,
- formatter: 'formatDate',
- table: {
- width: 180
- },
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
+ form: {
+ component: 'Select',
+ api: () => accounts,
+ componentProps: {
+ optionsAlias: {
+ labelField: 'mail',
+ valueField: 'id'
}
}
}
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
+ },
+ {
+ label: '发送人名称',
+ field: 'nickname'
+ },
+ {
+ label: '开启状态',
+ field: 'status',
+ isSearch: true,
+ dictType: DICT_TYPE.COMMON_STATUS,
+ dictClass: 'number'
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ isTable: false
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ isForm: false,
+ formatter: dateFormatter,
+ search: {
+ show: true,
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ }
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false
+ }
+])
+export const { allSchemas } = useCrudSchemas(crudSchemas)
diff --git a/src/views/system/menu/MenuForm.vue b/src/views/system/menu/MenuForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..45bcedfb42fe77d94b56923af03795b30d0dab51
--- /dev/null
+++ b/src/views/system/menu/MenuForm.vue
@@ -0,0 +1,253 @@
+
+
+
+
diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue
index 0604aa93faa4955d85572a07e02d9aa85744d242..8feb066b86e4c4a792c29b18e71314de5666c50d 100644
--- a/src/views/system/menu/index.vue
+++ b/src/views/system/menu/index.vue
@@ -1,351 +1,183 @@
+
-
-
-
-
-
-
-
-
-
-
- {{ row.name }}
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+
+
+ 新增
+
+
+ 删除
+
+
+
+
+
+
+
+
diff --git a/src/views/system/menu/menu.data.ts b/src/views/system/menu/menu.data.ts
deleted file mode 100644
index 753c121125f2017d786c38b42cccb7eb0e057f7f..0000000000000000000000000000000000000000
--- a/src/views/system/menu/menu.data.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-const { t } = useI18n() // 国际化
-
-// 新增和修改的表单校验
-export const rules = reactive({
- name: [required],
- sort: [required],
- path: [required],
- status: [required]
-})
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: null,
- action: true,
- columns: [
- {
- title: '上级菜单',
- field: 'parentId',
- isTable: false
- },
- {
- title: '菜单名称',
- field: 'name',
- isSearch: true,
- table: {
- treeNode: true,
- align: 'left',
- width: '200px',
- slots: {
- default: 'name_default'
- }
- }
- },
- {
- title: '菜单类型',
- field: 'type',
- dictType: DICT_TYPE.SYSTEM_MENU_TYPE
- },
- {
- title: '路由地址',
- field: 'path'
- },
- {
- title: '组件路径',
- field: 'component'
- },
- {
- title: '组件名字',
- field: 'componentName'
- },
- {
- title: '权限标识',
- field: 'permission'
- },
- {
- title: '排序',
- field: 'sort'
- },
- {
- title: t('common.status'),
- field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isTable: false
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/notice/form.vue b/src/views/system/notice/form.vue
index b8a49586c876f4991d28b6e6fc3a6135795885f1..87e75623e1a5706aa4d2a421ab573e2ca28867ab 100644
--- a/src/views/system/notice/form.vue
+++ b/src/views/system/notice/form.vue
@@ -38,17 +38,14 @@
-
+ 确 定
+ 取 消
diff --git a/src/views/system/notify/message/index.vue b/src/views/system/notify/message/index.vue
index 93a8ed6803a21c477c569602334ff4bbd6b33c05..9a39e7f65f5ae46bf3d3c2a8e5760a96f1ccbf2b 100644
--- a/src/views/system/notify/message/index.vue
+++ b/src/views/system/notify/message/index.vue
@@ -1,67 +1,208 @@
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.templateParams }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 详情
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
diff --git a/src/views/system/notify/message/message.data.ts b/src/views/system/notify/message/message.data.ts
deleted file mode 100644
index 665311d2726a020b76f4239d8888ad308bb1b051..0000000000000000000000000000000000000000
--- a/src/views/system/notify/message/message.data.ts
+++ /dev/null
@@ -1,101 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id', // 默认的主键ID
- primaryTitle: '编号', // 默认显示的值
- primaryType: 'id', // 默认为seq,序号模式
- action: true,
- actionWidth: '200', // 3个按钮默认200,如有删减对应增减即可
- columns: [
- {
- title: '用户编号',
- field: 'userId',
- isSearch: true
- },
- {
- title: '用户类型',
- field: 'userType',
- dictType: DICT_TYPE.USER_TYPE,
- dictClass: 'string',
- isSearch: true,
- table: {
- width: 80
- }
- },
- {
- title: '模版编号',
- field: 'templateId'
- },
- {
- title: '模板编码',
- field: 'templateCode',
- isSearch: true,
- table: {
- width: 80
- }
- },
- {
- title: '发送人名称',
- field: 'templateNickname',
- table: {
- width: 120
- }
- },
- {
- title: '模版内容',
- field: 'templateContent',
- table: {
- width: 200
- }
- },
- {
- title: '模版类型',
- field: 'templateType',
- dictType: DICT_TYPE.SYSTEM_NOTIFY_TEMPLATE_TYPE,
- dictClass: 'number',
- isSearch: true,
- table: {
- width: 80
- }
- },
- {
- title: '模版参数',
- field: 'templateParams',
- isTable: false
- },
- {
- title: '是否已读',
- field: 'readStatus',
- dictType: DICT_TYPE.INFRA_BOOLEAN_STRING,
- dictClass: 'boolean',
- table: {
- width: 80
- }
- },
- {
- title: '阅读时间',
- field: 'readTime',
- formatter: 'formatDate',
- table: {
- width: 180
- }
- },
- {
- title: '创建时间',
- field: 'createTime',
- isForm: false,
- formatter: 'formatDate',
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- },
- table: {
- width: 180
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/notify/my/MyNotifyMessageDetail.vue b/src/views/system/notify/my/MyNotifyMessageDetail.vue
new file mode 100644
index 0000000000000000000000000000000000000000..45af259daa18a3b298f3fd13873f31bb2db7bc22
--- /dev/null
+++ b/src/views/system/notify/my/MyNotifyMessageDetail.vue
@@ -0,0 +1,46 @@
+
+
+
+
diff --git a/src/views/system/notify/my/index.vue b/src/views/system/notify/my/index.vue
index 9f3e9b102a0def47855a12a8f236f8d080580e06..d423a98c509db0f8ceec9751401438e628a7036e 100644
--- a/src/views/system/notify/my/index.vue
+++ b/src/views/system/notify/my/index.vue
@@ -1,58 +1,213 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+ 搜索
+ 重置
+
+ 标记已读
+
+
+ 全部已读
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.readStatus ? '详情' : '已读' }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/notify/my/my.data.ts b/src/views/system/notify/my/my.data.ts
deleted file mode 100644
index 103ed8eff01149807517e08645c4edb63749b70f..0000000000000000000000000000000000000000
--- a/src/views/system/notify/my/my.data.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryTitle: ' ',
- primaryType: 'checkbox',
- action: true,
- actionWidth: '200', // 3个按钮默认200,如有删减对应增减即可
- columns: [
- {
- title: '发送人名称',
- field: 'templateNickname',
- table: {
- width: 120
- }
- },
- {
- title: '发送时间',
- field: 'createTime',
- isForm: false,
- formatter: 'formatDate',
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- },
- table: {
- width: 180
- }
- },
- {
- title: '类型',
- field: 'templateType',
- dictType: DICT_TYPE.SYSTEM_NOTIFY_TEMPLATE_TYPE,
- dictClass: 'number',
- table: {
- width: 80
- }
- },
- {
- title: '内容',
- field: 'templateContent'
- },
- {
- title: '是否已读',
- field: 'readStatus',
- dictType: DICT_TYPE.INFRA_BOOLEAN_STRING,
- dictClass: 'boolean',
- table: {
- width: 80
- },
- isSearch: true
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/notify/template/index.vue b/src/views/system/notify/template/index.vue
index 4ec16a0abebeb586b7b0fe4ba97002260589f96a..c41139247b7eaafc628c91da7cd3f4fdb05fd551 100644
--- a/src/views/system/notify/template/index.vue
+++ b/src/views/system/notify/template/index.vue
@@ -119,7 +119,7 @@ import { FormExpose } from '@/components/Form'
// 业务相关的 import
import { rules, allSchemas } from './template.data'
import * as NotifyTemplateApi from '@/api/system/notify/template'
-import { getListSimpleUsersApi, UserVO } from '@/api/system/user'
+import { getSimpleUserList, UserVO } from '@/api/system/user'
const { t } = useI18n() // 国际化
const message = useMessage() // 消息弹窗
@@ -244,7 +244,7 @@ const sendTest = async () => {
// ========== 初始化 ==========
onMounted(() => {
- getListSimpleUsersApi().then((data) => {
+ getSimpleUserList().then((data) => {
userOption.value = data
})
})
diff --git a/src/views/system/oauth2/client/ClientForm.vue b/src/views/system/oauth2/client/ClientForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..2e2281f56f92d9df0a65fb7313483d493709e396
--- /dev/null
+++ b/src/views/system/oauth2/client/ClientForm.vue
@@ -0,0 +1,258 @@
+
+
+
+
diff --git a/src/views/system/oauth2/client/client.data.ts b/src/views/system/oauth2/client/client.data.ts
deleted file mode 100644
index 52ee8895772c5a0939a9d4117f184f8e00e7fdfb..0000000000000000000000000000000000000000
--- a/src/views/system/oauth2/client/client.data.ts
+++ /dev/null
@@ -1,197 +0,0 @@
-import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-const { t } = useI18n() // 国际化
-
-const authorizedGrantOptions = getStrDictOptions(DICT_TYPE.SYSTEM_OAUTH2_GRANT_TYPE)
-
-// 表单校验
-export const rules = reactive({
- clientId: [required],
- secret: [required],
- name: [required],
- status: [required],
- accessTokenValiditySeconds: [required],
- refreshTokenValiditySeconds: [required],
- redirectUris: [required],
- authorizedGrantTypes: [required]
-})
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'clientId',
- primaryType: null,
- action: true,
- columns: [
- {
- title: '客户端端号',
- field: 'clientId'
- },
- {
- title: '客户端密钥',
- field: 'secret'
- },
- {
- title: '应用名',
- field: 'name',
- isSearch: true
- },
- {
- title: '应用图标',
- field: 'logo',
- table: {
- cellRender: {
- name: 'XImg'
- }
- },
- form: {
- component: 'UploadImg'
- }
- },
- {
- title: t('common.status'),
- field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: '访问令牌的有效期',
- field: 'accessTokenValiditySeconds',
- form: {
- component: 'InputNumber'
- },
- table: {
- slots: {
- default: 'accessTokenValiditySeconds_default'
- }
- }
- },
- {
- title: '刷新令牌的有效期',
- field: 'refreshTokenValiditySeconds',
- form: {
- component: 'InputNumber'
- },
- table: {
- slots: {
- default: 'refreshTokenValiditySeconds_default'
- }
- }
- },
- {
- title: '授权类型',
- field: 'authorizedGrantTypes',
- table: {
- width: 400,
- slots: {
- default: 'authorizedGrantTypes_default'
- }
- },
- form: {
- component: 'Select',
- componentProps: {
- options: authorizedGrantOptions,
- multiple: true,
- filterable: true
- }
- }
- },
- {
- title: '授权范围',
- field: 'scopes',
- isTable: false,
- form: {
- component: 'Select',
- componentProps: {
- options: [],
- multiple: true,
- filterable: true,
- allowCreate: true,
- defaultFirstOption: true
- }
- }
- },
- {
- title: '自动授权范围',
- field: 'autoApproveScopes',
- isTable: false,
- form: {
- component: 'Select',
- componentProps: {
- options: [],
- multiple: true,
- filterable: true,
- allowCreate: true,
- defaultFirstOption: true
- }
- }
- },
- {
- title: '可重定向的 URI 地址',
- field: 'redirectUris',
- isTable: false,
- form: {
- component: 'Select',
- componentProps: {
- options: [],
- multiple: true,
- filterable: true,
- allowCreate: true,
- defaultFirstOption: true
- }
- }
- },
- {
- title: '权限',
- field: 'authorities',
- isTable: false,
- form: {
- component: 'Select',
- componentProps: {
- options: [],
- multiple: true,
- filterable: true,
- allowCreate: true,
- defaultFirstOption: true
- }
- }
- },
- {
- title: '资源',
- field: 'resourceIds',
- isTable: false,
- form: {
- component: 'Select',
- componentProps: {
- options: [],
- multiple: true,
- filterable: true,
- allowCreate: true,
- defaultFirstOption: true
- }
- }
- },
- {
- title: '附加信息',
- field: 'additionalInformation',
- isTable: false,
- form: {
- component: 'Input',
- componentProps: {
- type: 'textarea',
- rows: 4
- },
- colProps: {
- span: 24
- }
- }
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/oauth2/client/index.vue b/src/views/system/oauth2/client/index.vue
index 9ff446926fe1caddd0d838007acf35e8e6aa7be1..fa04e6d36cb254fb7eafd82757fd8ddf85b20762 100644
--- a/src/views/system/oauth2/client/index.vue
+++ b/src/views/system/oauth2/client/index.vue
@@ -1,207 +1,185 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
-
-
- {{ row.accessTokenValiditySeconds + '秒' }}
-
-
- {{ row.refreshTokenValiditySeconds + '秒' }}
-
-
-
- {{ authorizedGrantType }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ row.accessTokenValiditySeconds + '秒' }}
-
-
- {{ row.refreshTokenValiditySeconds + '秒' }}
-
-
-
- {{ authorizedGrantType }}
-
-
-
-
- {{ scopes }}
-
-
-
-
- {{ autoApproveScopes }}
-
-
-
-
- {{ redirectUris }}
-
-
-
-
-
- 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.accessTokenValiditySeconds }} 秒
+
+
+ {{ scope.row.refreshTokenValiditySeconds }} 秒
+
+
+
+
+ {{ authorizedGrantType }}
+
+
+
+
-
-
-
-
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
-
diff --git a/src/views/system/oauth2/token/index.vue b/src/views/system/oauth2/token/index.vue
index f0dfbd9ca9d60dba13019a174b64834b0f3a2c6e..a809e45273a17e668696375161d90ef1aba8c385 100644
--- a/src/views/system/oauth2/token/index.vue
+++ b/src/views/system/oauth2/token/index.vue
@@ -1,64 +1,159 @@
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 强退
+
+
+
+
+
+
+
-
diff --git a/src/views/system/oauth2/token/token.data.ts b/src/views/system/oauth2/token/token.data.ts
deleted file mode 100644
index 8a0e84860a2af78b6a796c26d2e2a9227ec90fca..0000000000000000000000000000000000000000
--- a/src/views/system/oauth2/token/token.data.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-const { t } = useI18n() // 国际化
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: null,
- action: true,
- columns: [
- {
- title: '用户编号',
- field: 'userId',
- isSearch: true
- },
- {
- title: '访问令牌',
- field: 'accessToken'
- },
- {
- title: '刷新令牌',
- field: 'refreshToken'
- },
- {
- title: '客户端编号',
- field: 'clientId',
- isSearch: true
- },
- {
- title: '用户类型',
- field: 'userType',
- dictType: DICT_TYPE.USER_TYPE,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false
- },
- {
- title: '过期时间',
- field: 'expiresTime',
- formatter: 'formatDate',
- isForm: false
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/operatelog/detail.vue b/src/views/system/operatelog/detail.vue
new file mode 100644
index 0000000000000000000000000000000000000000..b3603e2ef5920fb2073d66b011e161dce2967ff0
--- /dev/null
+++ b/src/views/system/operatelog/detail.vue
@@ -0,0 +1,80 @@
+
+
+
+
diff --git a/src/views/system/operatelog/index.vue b/src/views/system/operatelog/index.vue
index 7f1e9bb444139e7dfaf894d65bbb1d0ea8ef13a0..c5713be11acbf9d7cabce435c1a4039d73dfd21b 100644
--- a/src/views/system/operatelog/index.vue
+++ b/src/views/system/operatelog/index.vue
@@ -1,67 +1,208 @@
-
-
-
-
-
-
+
+
+
+
-
-
- {{ row.duration + 'ms' }}
-
-
- {{ row.resultCode === 0 ? '成功' : '失败' }}
-
-
-
-
-
-
-
-
-
-
-
-
- {{ row.resultCode === 0 ? '成功' : '失败' }}
-
-
- {{ row.duration + 'ms' }}
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.resultCode === 0 ? '成功' : '失败' }}
+
+
+
+
+
+ {{ scope.row.duration }} ms
+
+
+
+
+
+ 详情
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/operatelog/operatelog.data.ts b/src/views/system/operatelog/operatelog.data.ts
deleted file mode 100644
index f8b4ef90a64b2fbd92ab9c0fa9a7a79aef1b5259..0000000000000000000000000000000000000000
--- a/src/views/system/operatelog/operatelog.data.ts
+++ /dev/null
@@ -1,106 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-
-const { t } = useI18n() // 国际化
-
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'id',
- primaryTitle: '日志编号',
- action: true,
- actionWidth: '80px',
- columns: [
- {
- title: '操作模块',
- field: 'module',
- isSearch: true
- },
- {
- title: '操作名',
- field: 'name'
- },
- {
- title: '操作类型',
- field: 'type',
- dictType: DICT_TYPE.SYSTEM_OPERATE_TYPE,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: '请求方法名',
- field: 'requestMethod',
- isTable: false
- },
- {
- title: '请求地址',
- field: 'requestUrl',
- isTable: false
- },
- {
- title: '操作人员',
- field: 'userNickname',
- isSearch: true
- },
- {
- title: '操作明细',
- field: 'content',
- isTable: false
- },
- {
- title: '用户 IP',
- field: 'userIp',
- isTable: false
- },
- {
- title: 'userAgent',
- field: 'userAgent'
- },
- {
- title: '操作结果',
- field: 'resultCode',
- table: {
- slots: {
- default: 'resultCode'
- }
- }
- },
- {
- title: '操作结果',
- field: 'success',
- isTable: false,
- isDetail: false,
- search: {
- show: true,
- itemRender: {
- name: '$select',
- props: { placeholder: t('common.selectText') },
- options: [
- { label: '成功', value: 'true' },
- { label: '失败', value: 'false' }
- ]
- }
- }
- },
- {
- title: '操作日期',
- field: 'startTime',
- formatter: 'formatDate',
- isForm: false,
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- },
- {
- title: '执行时长',
- field: 'duration',
- table: {
- slots: {
- default: 'duration'
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/post/PostForm.vue b/src/views/system/post/PostForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..a9dec8b04bee1ff5af1bd20b6775c775798310fc
--- /dev/null
+++ b/src/views/system/post/PostForm.vue
@@ -0,0 +1,120 @@
+
+
+
+
diff --git a/src/views/system/post/form.vue b/src/views/system/post/form.vue
deleted file mode 100644
index 065aecafe82787cc341199d5e4c14b1b8aefea5e..0000000000000000000000000000000000000000
--- a/src/views/system/post/form.vue
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/system/post/index.vue b/src/views/system/post/index.vue
index c5a13e1ef36cd83487355926756d0876ebc31780..03e491d05e47e1e77bd884af902a7662aa8adccc 100644
--- a/src/views/system/post/index.vue
+++ b/src/views/system/post/index.vue
@@ -1,71 +1,198 @@
-
-
-
-
-
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
-
-
-
-
-
-
-
-
-
-
+ @click="handleExport"
+ :loading="exportLoading"
+ v-hasPermi="['infra:config:export']"
+ >
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
-
-
+
+
+
-
diff --git a/src/views/system/post/post.data.ts b/src/views/system/post/post.data.ts
deleted file mode 100644
index 4926bcc69a432e401351ea49bd9c25ed062db28e..0000000000000000000000000000000000000000
--- a/src/views/system/post/post.data.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-const { t } = useI18n() // 国际化
-
-// 表单校验
-export const rules = reactive({
- name: [required],
- code: [required],
- sort: [required]
-})
-
-// 增删改查 CrudSchema 配置
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'id',
- primaryTitle: '岗位编号',
- action: true,
- columns: [
- {
- title: '岗位名称',
- field: 'name',
- isSearch: true
- },
- {
- title: '岗位编码',
- field: 'code',
- isSearch: true
- },
- {
- title: '岗位顺序',
- field: 'sort',
- form: {
- component: 'InputNumber'
- }
- },
- {
- title: t('common.status'),
- field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: '备注',
- field: 'remark',
- isTable: false
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false,
- table: {
- width: 180
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/role/RoleAssignMenuForm.vue b/src/views/system/role/RoleAssignMenuForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..db33811e1e94d3c5a773cf44ddb0d8a468674e37
--- /dev/null
+++ b/src/views/system/role/RoleAssignMenuForm.vue
@@ -0,0 +1,154 @@
+
+
+
+
+
diff --git a/src/views/system/role/RoleDataPermissionForm.vue b/src/views/system/role/RoleDataPermissionForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..9a331b6a2684565aff6d75c9819d0f6cbc6b9b69
--- /dev/null
+++ b/src/views/system/role/RoleDataPermissionForm.vue
@@ -0,0 +1,161 @@
+
+
+
+
diff --git a/src/views/system/role/RoleForm.vue b/src/views/system/role/RoleForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..e6444a0386c298cc13d3099db0697db221d7d050
--- /dev/null
+++ b/src/views/system/role/RoleForm.vue
@@ -0,0 +1,123 @@
+
+
+
+
diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue
index da4b83893850d9ddc85a81c44b7d6c3a50293998..71f0c415aa2169c494a931df708f8516c8c68296 100644
--- a/src/views/system/role/index.vue
+++ b/src/views/system/role/index.vue
@@ -1,331 +1,251 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ dataScopeForm.name }}
-
- {{ dataScopeForm.code }}
+
+
-
-
-
+
+
-
-
-
-
-
-
- 父子联动(选中父节点,自动选择子节点):
-
- 全选/全不选:
-
-
-
-
-
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+ 编辑
+
+
+ 菜单权限
+
+
+ 数据权限
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
diff --git a/src/views/system/role/role.data.ts b/src/views/system/role/role.data.ts
deleted file mode 100644
index d55b5e213339b0dd632602ffcb5a04b1c67fe84e..0000000000000000000000000000000000000000
--- a/src/views/system/role/role.data.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-// 国际化
-const { t } = useI18n()
-// 表单校验
-export const rules = reactive({
- name: [required],
- code: [required],
- sort: [required]
-})
-// CrudSchema
-const crudSchemas = reactive({
- // primaryKey: 'id',
- // primaryTitle: '角色编号',
- // primaryType: 'seq',
- action: true,
- actionWidth: '400px',
- columns: [
- {
- title: '角色编号',
- field: 'id',
- table: {
- width: 200
- }
- },
- {
- title: '角色名称',
- field: 'name',
- isSearch: true
- },
- {
- title: '角色类型',
- field: 'type',
- dictType: DICT_TYPE.SYSTEM_ROLE_TYPE,
- dictClass: 'number',
- isForm: false
- },
- {
- title: '角色标识',
- field: 'code',
- isSearch: true
- },
- {
- title: '显示顺序',
- field: 'sort'
- },
- {
- title: t('form.remark'),
- field: 'remark',
- isTable: false,
- form: {
- component: 'Input',
- componentProps: {
- type: 'textarea',
- rows: 4
- },
- colProps: {
- span: 24
- }
- }
- },
- {
- title: t('common.status'),
- field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false,
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/sensitiveWord/SensitiveWordForm.vue b/src/views/system/sensitiveWord/SensitiveWordForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..c069756b98e72e546b0ebe07e4e97a3e5844def4
--- /dev/null
+++ b/src/views/system/sensitiveWord/SensitiveWordForm.vue
@@ -0,0 +1,128 @@
+
+
+
+
diff --git a/src/views/system/sensitiveWord/SensitiveWordTestForm.vue b/src/views/system/sensitiveWord/SensitiveWordTestForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..881309c89e767059fb890074a517b084e8ad46c9
--- /dev/null
+++ b/src/views/system/sensitiveWord/SensitiveWordTestForm.vue
@@ -0,0 +1,90 @@
+
+
+
+
diff --git a/src/views/system/sensitiveWord/index.vue b/src/views/system/sensitiveWord/index.vue
index c3de895db8a92740ef3f3ed264a63d1c98c63677..5b73132bf05243dd5f76c93f51787569dd1e1fad 100644
--- a/src/views/system/sensitiveWord/index.vue
+++ b/src/views/system/sensitiveWord/index.vue
@@ -1,191 +1,241 @@
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
-
-
+ 新增
+
+
-
-
-
- {{ tag }}
-
-
-
-
-
-
-
-
-
-
-
+ 导出
+
+
+ 测试
+
+
+
-
-
-
-
-
-
-
- {{ tag }}
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ tag }}
+
+
+
+
-
-
-
-
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/sensitiveWord/sensitiveWord.data.ts b/src/views/system/sensitiveWord/sensitiveWord.data.ts
deleted file mode 100644
index d21bb94cbb68075b4ea3ba77af826aa0af85cba6..0000000000000000000000000000000000000000
--- a/src/views/system/sensitiveWord/sensitiveWord.data.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-const { t } = useI18n() // 国际化
-
-// 表单校验
-export const rules = reactive({
- name: [required],
- tags: [required]
-})
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'id',
- primaryTitle: '敏感词编号',
- action: true,
- columns: [
- {
- title: '敏感词',
- field: 'name',
- isSearch: true
- },
- {
- title: '标签',
- field: 'tag',
- isTable: false,
- isForm: false,
- isDetail: false,
- isSearch: true
- },
- {
- title: '标签',
- field: 'tags',
- table: {
- slots: {
- default: 'tags_default'
- }
- }
- },
- {
- title: t('common.status'),
- field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: '描述',
- field: 'description',
- form: {
- component: 'Input',
- componentProps: {
- type: 'textarea',
- rows: 4
- },
- colProps: {
- span: 24
- }
- }
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false,
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/sms/channel/SmsChannelForm.vue b/src/views/system/sms/channel/SmsChannelForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..3145af91324376dd18f249d56983be41abdc88a0
--- /dev/null
+++ b/src/views/system/sms/channel/SmsChannelForm.vue
@@ -0,0 +1,141 @@
+
+
+
+
diff --git a/src/views/system/sms/channel/index.vue b/src/views/system/sms/channel/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..62cd7cc2c08f5c2059515ec3e39056f1c8d48567
--- /dev/null
+++ b/src/views/system/sms/channel/index.vue
@@ -0,0 +1,196 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/sms/log/SmsLogDetail.vue b/src/views/system/sms/log/SmsLogDetail.vue
new file mode 100644
index 0000000000000000000000000000000000000000..736d0b8e389d3715cf56c2815d258d3f634d21a9
--- /dev/null
+++ b/src/views/system/sms/log/SmsLogDetail.vue
@@ -0,0 +1,87 @@
+
+
+
+
diff --git a/src/views/system/sms/log/index.vue b/src/views/system/sms/log/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..ec8a46594e5d3f0327398f72b135481059b7cbff
--- /dev/null
+++ b/src/views/system/sms/log/index.vue
@@ -0,0 +1,263 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.mobile }}
+
+
+ {{ '(' + scope.row.userId + ')' }}
+
+
+
+
+
+
+
+ {{ formatDate(scope.row.sendTime) }}
+
+
+
+
+
+ {{ formatDate(scope.row.receiveTime) }}
+
+
+
+
+
+ {{ channelList.find((channel) => channel.id === scope.row.channelId)?.signature }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 详情
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/sms/smsChannel/index.vue b/src/views/system/sms/smsChannel/index.vue
deleted file mode 100644
index ee47a51aa7b33b8e86d859e66def41a40276023d..0000000000000000000000000000000000000000
--- a/src/views/system/sms/smsChannel/index.vue
+++ /dev/null
@@ -1,147 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/system/sms/smsChannel/sms.channel.data.ts b/src/views/system/sms/smsChannel/sms.channel.data.ts
deleted file mode 100644
index 71b096e5d0fe3c51a8276bfe5d5184613360a557..0000000000000000000000000000000000000000
--- a/src/views/system/sms/smsChannel/sms.channel.data.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
-
-const { t } = useI18n() // 国际化
-
-const authorizedGrantOptions = getStrDictOptions(DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE)
-
-// 表单校验
-export const rules = reactive({
- signature: [required],
- code: [required],
- apiKey: [required],
- status: [required]
-})
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'id',
- primaryTitle: '渠道编号',
- action: true,
- columns: [
- {
- title: '短信签名',
- field: 'signature',
- isSearch: true
- },
- {
- title: '渠道编码',
- field: 'code',
- // dictType: DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE,
- // dictClass: 'string',
- isSearch: true,
- form: {
- component: 'Select',
- componentProps: {
- options: authorizedGrantOptions,
- multiple: false,
- filterable: true
- }
- }
- },
- {
- title: t('common.status'),
- field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: '短信 API 的账号',
- field: 'apiKey'
- },
- {
- title: '短信 API 的密钥',
- field: 'apiSecret'
- },
- {
- title: '短信发送回调 URL',
- field: 'callbackUrl'
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false,
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/sms/smsLog/index.vue b/src/views/system/sms/smsLog/index.vue
deleted file mode 100644
index 334da2ad831292d043e52740ad87e44e22978f8c..0000000000000000000000000000000000000000
--- a/src/views/system/sms/smsLog/index.vue
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/system/sms/smsLog/sms.log.data.ts b/src/views/system/sms/smsLog/sms.log.data.ts
deleted file mode 100644
index c975bb0fa49fa3affe17a980dc9a164858f1c1c1..0000000000000000000000000000000000000000
--- a/src/views/system/sms/smsLog/sms.log.data.ts
+++ /dev/null
@@ -1,93 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
-
-const { t } = useI18n() // 国际化
-
-const authorizedGrantOptions = getStrDictOptions(DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE)
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'id',
- primaryTitle: '日志编号',
- action: true,
- columns: [
- {
- title: '手机号',
- field: 'mobile',
- isSearch: true
- },
- {
- title: '短信内容',
- field: 'templateContent'
- },
- {
- title: '模板编号',
- field: 'templateId',
- isSearch: true
- },
- {
- title: '短信渠道',
- field: 'channelId',
- // dictType: DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE,
- // dictClass: 'number',
- isSearch: true,
- // table: {
- // component: 'Select',
- componentProps: {
- options: authorizedGrantOptions
- // multiple: false,
- // filterable: true
- }
- // }
- },
- {
- title: '发送状态',
- field: 'sendStatus',
- dictType: DICT_TYPE.SYSTEM_SMS_SEND_STATUS,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: '发送时间',
- field: 'sendTime',
- formatter: 'formatDate',
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- },
- {
- title: '短信类型',
- field: 'templateType',
- dictType: DICT_TYPE.SYSTEM_SMS_TEMPLATE_TYPE,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: '接收状态',
- field: 'receiveStatus',
- dictType: DICT_TYPE.SYSTEM_SMS_RECEIVE_STATUS,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: '接收时间',
- field: 'receiveTime',
- formatter: 'formatDate',
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate'
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/sms/smsTemplate/index.vue b/src/views/system/sms/smsTemplate/index.vue
deleted file mode 100644
index bbc7c86369e8bcec3b31172eff6e137bc0c27652..0000000000000000000000000000000000000000
--- a/src/views/system/sms/smsTemplate/index.vue
+++ /dev/null
@@ -1,232 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/system/sms/smsTemplate/sms.template.data.ts b/src/views/system/sms/smsTemplate/sms.template.data.ts
deleted file mode 100644
index 6178d6c2b589093bd6e9acf3f2d49eb37f27226f..0000000000000000000000000000000000000000
--- a/src/views/system/sms/smsTemplate/sms.template.data.ts
+++ /dev/null
@@ -1,107 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-import * as smsApi from '@/api/system/sms/smsChannel'
-const { t } = useI18n() // 国际化
-const tenantPackageOption = []
-const getTenantPackageOptions = async () => {
- const res = await smsApi.getSimpleSmsChannels()
- console.log(res, 'resresres')
- res.forEach((tenantPackage: TenantPackageVO) => {
- tenantPackageOption.push({
- key: tenantPackage.id,
- value: tenantPackage.id,
- label: tenantPackage.signature
- })
- })
-}
-getTenantPackageOptions()
-// 表单校验
-export const rules = reactive({
- type: [required],
- status: [required],
- code: [required],
- name: [required],
- content: [required],
- apiTemplateId: [required],
- channelId: [required]
-})
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'id',
- primaryTitle: '模板编号',
- action: true,
- actionWidth: '280',
- columns: [
- {
- title: '短信渠道编码',
- field: 'channelId',
- isSearch: false,
- isForm: true,
- isTable: false,
- form: {
- component: 'Select',
- componentProps: {
- options: tenantPackageOption
- }
- }
- },
- {
- title: '模板编码',
- field: 'code',
- isSearch: true
- },
- {
- title: '模板名称',
- field: 'name',
- isSearch: true
- },
- {
- title: '模板内容',
- field: 'content'
- },
- {
- title: '短信 API 的模板编号',
- field: 'apiTemplateId',
- isSearch: true
- },
- {
- title: '短信类型',
- field: 'type',
- dictType: DICT_TYPE.SYSTEM_SMS_TEMPLATE_TYPE,
- dictClass: 'number',
- isSearch: true,
- table: {
- width: 80
- }
- },
- {
- title: t('common.status'),
- field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: 'number',
- isSearch: true,
- table: {
- width: 80
- }
- },
- {
- title: t('form.remark'),
- field: 'remark',
- isTable: false
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false,
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/sms/template/SmsTemplateForm.vue b/src/views/system/sms/template/SmsTemplateForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..036842152bf5c69d29ab6193bd99b4923ee6884a
--- /dev/null
+++ b/src/views/system/sms/template/SmsTemplateForm.vue
@@ -0,0 +1,160 @@
+
+
+
+
diff --git a/src/views/system/sms/template/SmsTemplateSendForm.vue b/src/views/system/sms/template/SmsTemplateSendForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..f2ecbe9f546f876fe10bab5e6b83fabf6ba50a85
--- /dev/null
+++ b/src/views/system/sms/template/SmsTemplateSendForm.vue
@@ -0,0 +1,117 @@
+
+
+
+
diff --git a/src/views/system/sms/template/index.vue b/src/views/system/sms/template/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..906436a5dc09db1c66ac9d906813a461bb734a33
--- /dev/null
+++ b/src/views/system/sms/template/index.vue
@@ -0,0 +1,311 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ channelList.find((channel) => channel.id === scope.row.channelId)?.signature }}
+
+
+
+
+
+
+
+
+ 修改
+
+
+ 测试
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/tenant/form.vue b/src/views/system/tenant/form.vue
new file mode 100644
index 0000000000000000000000000000000000000000..4a6eaae45cfd680a0f1a820a789affc187e51ee1
--- /dev/null
+++ b/src/views/system/tenant/form.vue
@@ -0,0 +1,174 @@
+
+
+
+
diff --git a/src/views/system/tenant/index.vue b/src/views/system/tenant/index.vue
index bb1ca1a321b65975c02432842dba06065dc2c0c7..1991fbea52cd407bd24123821ac84ab7de785735 100644
--- a/src/views/system/tenant/index.vue
+++ b/src/views/system/tenant/index.vue
@@ -1,197 +1,257 @@
+
-
-
-
-
-
-
+
+
-
-
- {{ row.accountCount }}
-
-
- 系统租户
- {{ getPackageName(row.packageId) }}
-
-
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+ 搜索
+
+
+
+ 重置
+
+
+
+ 新增
+
+
+
+ 导出
+
+
+
-
-
-
-
-
-
- 系统租户
- {{ getPackageName(row.packageId) }}
-
-
-
-
-
-
+
+
+
+
+
+
+ 系统租户
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+ {{ scope.row.accountCount }}
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/tenant/tenant.data.ts b/src/views/system/tenant/tenant.data.ts
deleted file mode 100644
index 2c1e846a614f0312a39a7266ef4085359f99ba7e..0000000000000000000000000000000000000000
--- a/src/views/system/tenant/tenant.data.ts
+++ /dev/null
@@ -1,190 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-import { getTenantPackageList, TenantPackageVO } from '@/api/system/tenantPackage'
-import { ComponentOptions } from '@/types/components'
-
-const { t } = useI18n() // 国际化
-
-export const tenantPackageOption: ComponentOptions[] = []
-const getTenantPackageOptions = async () => {
- const res = await getTenantPackageList()
- res.forEach((tenantPackage: TenantPackageVO) => {
- tenantPackageOption.push({
- key: tenantPackage.id,
- value: tenantPackage.id,
- label: tenantPackage.name
- })
- })
-
- return tenantPackageOption
-}
-getTenantPackageOptions()
-
-const validateName = (rule: any, value: any, callback: any) => {
- const reg = /^[a-zA-Z0-9]{4,30}$/
- if (value === '') {
- callback(new Error('请输入用户名称'))
- } else {
- console.log(reg.test(rule), 'reg.test(rule)')
- if (!reg.test(value)) {
- callback(new Error('用户名称由 数字、字母 组成'))
- } else {
- callback()
- }
- }
-}
-const validateMobile = (rule: any, value: any, callback: any) => {
- const reg = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/
- if (value === '') {
- callback(new Error('请输入联系手机'))
- } else {
- if (!reg.test(value)) {
- callback(new Error('请输入正确的手机号'))
- } else {
- callback()
- }
- }
-}
-
-// 表单校验
-export const rules = reactive({
- name: [required],
- packageId: [required],
- contactName: [required],
- contactMobile: [
- required,
- {
- validator: validateMobile,
- trigger: 'blur'
- }
- ],
- accountCount: [required],
- expireTime: [required],
- username: [
- required,
- {
- min: 4,
- max: 30,
- trigger: 'blur',
- message: '用户名称长度为 4-30 个字符'
- },
- { validator: validateName, trigger: 'blur' }
- ],
- password: [
- required,
- {
- min: 4,
- max: 16,
- trigger: 'blur',
- message: '密码长度为 4-16 位'
- }
- ],
- domain: [required],
- status: [required]
-})
-
-// CrudSchema.
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryTitle: '租户编号',
- primaryType: 'id',
- action: true,
- columns: [
- {
- title: '租户名称',
- field: 'name',
- isSearch: true
- },
- {
- title: '租户套餐',
- field: 'packageId',
- table: {
- slots: {
- default: 'packageId_default'
- }
- },
- form: {
- component: 'Select',
- componentProps: {
- options: tenantPackageOption
- }
- }
- },
- {
- title: '联系人',
- field: 'contactName',
- isSearch: true
- },
- {
- title: '联系手机',
- field: 'contactMobile',
- isSearch: true
- },
- {
- title: '用户名称',
- field: 'username',
- isTable: false,
- isDetail: false
- },
- {
- title: '用户密码',
- field: 'password',
- isTable: false,
- isDetail: false,
- form: {
- component: 'InputPassword'
- }
- },
- {
- title: '账号额度',
- field: 'accountCount',
- table: {
- slots: {
- default: 'accountCount_default'
- }
- },
- form: {
- component: 'InputNumber',
- value: null,
- componentProps: {
- min: 1
- }
- }
- },
- {
- title: '过期时间',
- field: 'expireTime',
- formatter: 'formatDate',
- form: {
- component: 'DatePicker',
- componentProps: {
- type: 'datetime',
- valueFormat: 'x'
- }
- }
- },
- {
- title: '绑定域名',
- field: 'domain'
- },
- {
- title: '租户状态',
- field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: t('table.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false,
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/tenantPackage/TenantPackageForm.vue b/src/views/system/tenantPackage/TenantPackageForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..6ba78e9638fb748d815b5167bfe4ad375db7228a
--- /dev/null
+++ b/src/views/system/tenantPackage/TenantPackageForm.vue
@@ -0,0 +1,191 @@
+
+
+
+
+
diff --git a/src/views/system/tenantPackage/index.vue b/src/views/system/tenantPackage/index.vue
index c8f5756a14a0abedf02234bc0b5f298541e816bc..7e99815dc2403d4c3b805d3374ae653b1b951535 100644
--- a/src/views/system/tenantPackage/index.vue
+++ b/src/views/system/tenantPackage/index.vue
@@ -1,187 +1,172 @@
+
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
+
+
+ 搜索
+ 重置
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatDate(scope.row.createTime) }}
+
+
+
+
+
+ 修改
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
-
diff --git a/src/views/system/tenantPackage/tenantPackage.data.ts b/src/views/system/tenantPackage/tenantPackage.data.ts
deleted file mode 100644
index d57dee29b22c6e0b547307895efaefb8760d05d8..0000000000000000000000000000000000000000
--- a/src/views/system/tenantPackage/tenantPackage.data.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-const { t } = useI18n() // 国际化
-
-// 表单校验
-export const rules = reactive({
- name: [required],
- id: [required],
- type: [required],
- remark: [required],
- status: [required],
- menuIds: [required]
-})
-
-// CrudSchema
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'id',
- primaryTitle: '套餐编号',
- action: true,
- columns: [
- {
- title: '套餐名称',
- field: 'name',
- isSearch: true
- },
- {
- title: t('common.status'),
- field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: 'number',
- isSearch: true
- },
- {
- title: '菜单权限',
- field: 'menuIds',
- isTable: false,
- form: {
- colProps: {
- span: 24
- }
- }
- },
- {
- title: t('form.remark'),
- field: 'remark',
- isTable: true,
- isSearch: true,
- form: {
- component: 'Input',
- componentProps: {
- type: 'textarea',
- rows: 4
- },
- colProps: {
- span: 24
- }
- }
- },
- {
- title: '创建时间',
- field: 'createTime',
- formatter: 'formatDate',
- isForm: false,
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/src/views/system/user/DeptTree.vue b/src/views/system/user/DeptTree.vue
new file mode 100644
index 0000000000000000000000000000000000000000..87ffaf9a18a7ea9673d803b7074918c590e1fcfd
--- /dev/null
+++ b/src/views/system/user/DeptTree.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/user/UserAssignRoleForm.vue b/src/views/system/user/UserAssignRoleForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..2dc04e526604b98e996faab7e9ebc0b594935394
--- /dev/null
+++ b/src/views/system/user/UserAssignRoleForm.vue
@@ -0,0 +1,93 @@
+
+
+
+
diff --git a/src/views/system/user/UserForm.vue b/src/views/system/user/UserForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..ecf67fce8d85e607879a692f98d6b4d065570c3f
--- /dev/null
+++ b/src/views/system/user/UserForm.vue
@@ -0,0 +1,215 @@
+
+
+
+
diff --git a/src/views/system/user/UserImportForm.vue b/src/views/system/user/UserImportForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..0e96bf29c9933b73642746262bd313dafe65585b
--- /dev/null
+++ b/src/views/system/user/UserImportForm.vue
@@ -0,0 +1,129 @@
+
+
+
+
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index c59e6d1864df47033be1168ff41ba94222716745..b0f7f964abca06a73339ad21bc32902f90395f66 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -1,577 +1,350 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导入
+
+
+ 导出
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
- {{ dataFormater(row.deptId) }}
-
-
-
-
-
- {{ post === postObj.id ? postObj.name : '' }}
+
+
+
+
+ 修改
+
+ handleCommand(command, scope.row)"
+ v-hasPermi="[
+ 'system:user:delete',
+ 'system:user:update-password',
+ 'system:permission:assign-user-role'
+ ]"
+ >
+ 更多
+
+
+
+ 删除
+
+
+ 重置密码
+
+
+ 分配角色
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ userRole.username }}
-
-
- {{ userRole.nickname }}
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 将文件拖到此处,或点击上传
-
- 请上传 .xls , .xlsx 标准格式文件
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
+/** 初始化 */
+onMounted(() => {
+ getList()
+})
+
diff --git a/src/views/system/user/user.data.ts b/src/views/system/user/user.data.ts
deleted file mode 100644
index 7f7384eb9bf6b976302e00675c05582e2fa9dce6..0000000000000000000000000000000000000000
--- a/src/views/system/user/user.data.ts
+++ /dev/null
@@ -1,138 +0,0 @@
-import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
-// 国际化
-const { t } = useI18n()
-const validateMobile = (rule: any, value: any, callback: any) => {
- const reg = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/
- if (value === '') {
- callback(new Error('请输入联系手机'))
- } else {
- if (!reg.test(value)) {
- callback(new Error('请输入正确的手机号'))
- } else {
- callback()
- }
- }
-}
-// 表单校验
-export const rules = reactive({
- username: [required],
- nickname: [required],
- password: [required],
- deptId: [required],
- email: [
- { required: true, message: t('profile.rules.mail'), trigger: 'blur' },
- {
- type: 'email',
- message: t('profile.rules.truemail'),
- trigger: ['blur', 'change']
- }
- ],
- status: [required],
- postIds: [{ required: true, message: '请选择岗位', trigger: ['blur', 'change'] }],
- mobile: [
- required,
- {
- len: 11,
- trigger: 'blur',
- message: '请输入正确的手机号码'
- },
- { validator: validateMobile, trigger: 'blur' }
- ]
-})
-// crudSchemas
-const crudSchemas = reactive({
- primaryKey: 'id',
- primaryType: 'id',
- primaryTitle: '用户编号',
- action: true,
- actionWidth: '200px',
- columns: [
- {
- title: '用户账号',
- field: 'username',
- isSearch: true
- },
- {
- title: '用户密码',
- field: 'password',
- isDetail: false,
- isTable: false,
- form: {
- component: 'InputPassword'
- }
- },
- {
- title: '用户' + t('profile.user.sex'),
- field: 'sex',
- dictType: DICT_TYPE.SYSTEM_USER_SEX,
- dictClass: 'number',
- table: { show: false }
- },
- {
- title: '用户昵称',
- field: 'nickname'
- },
- {
- title: '用户邮箱',
- field: 'email'
- },
- {
- title: '手机号码',
- field: 'mobile',
- isSearch: true
- },
- {
- title: '部门',
- field: 'deptId',
- isTable: false
- },
- {
- title: '岗位',
- field: 'postIds',
- isTable: false
- },
- {
- title: t('common.status'),
- field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: 'number',
- isSearch: true,
- table: {
- slots: {
- default: 'status_default'
- }
- }
- },
- {
- title: '最后登录时间',
- field: 'loginDate',
- formatter: 'formatDate',
- isForm: false
- },
- {
- title: '最后登录IP',
- field: 'loginIp',
- isTable: false,
- isForm: false
- },
- {
- title: t('form.remark'),
- field: 'remark',
- isTable: false
- },
- {
- title: t('common.createTime'),
- field: 'createTime',
- formatter: 'formatDate',
- isTable: false,
- isForm: false,
- search: {
- show: true,
- itemRender: {
- name: 'XDataTimePicker'
- }
- }
- }
- ]
-})
-export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
diff --git a/tsconfig.json b/tsconfig.json
index 6b412cd8ec8e754a84bd3925383e48b2f6d8819e..b97c7079a9ff0d6299caea58ceb2069dd6d7d0a2 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -32,6 +32,7 @@
"vite-plugin-svg-icons/client",
"@form-create/element-ui/types"
],
+ "outDir": "target", // 请保留这个属性,防止tsconfig.json文件报错
"typeRoots": ["./node_modules/@types/", "./types"]
},
"include": [
@@ -40,5 +41,5 @@
"src/types/auto-imports.d.ts",
"src/types/auto-components.d.ts"
],
- "exclude": ["dist", "node_modules"]
+ "exclude": ["dist", "target", "node_modules"]
}
diff --git a/types/components.d.ts b/types/components.d.ts
index 85db5663b8d4dd38e36e4fcc1994a51c2c87b62c..9d0ba09adacce6cf4eb854073ebe7ed6bcf52d8b 100644
--- a/types/components.d.ts
+++ b/types/components.d.ts
@@ -1,6 +1,7 @@
declare module 'vue' {
export interface GlobalComponents {
- Icon: typeof import('../components/Icon/src/Icon.vue')['default']
+ Icon: typeof import('@/components/Icon')['Icon']
+ DictTag: typeof import('@/components/DictTag')['DictTag']
}
}
diff --git a/types/global.d.ts b/types/global.d.ts
index 3685ffbda4d513323168b3e7a62ff6f63d7660a1..5e2926870d45a446045a078fd46aacd99257b08d 100644
--- a/types/global.d.ts
+++ b/types/global.d.ts
@@ -1,29 +1,29 @@
export {}
declare global {
- declare interface Fn {
+ interface Fn {
(...arg: T[]): T
}
- declare type Nullable = T | null
+ type Nullable = T | null
- declare type ElRef = Nullable
+ type ElRef = Nullable
- declare type Recordable = Record
+ type Recordable = Record
- declare type ComponentRef = InstanceType
+ type ComponentRef = InstanceType
- declare type LocaleType = 'zh-CN' | 'en'
+ type LocaleType = 'zh-CN' | 'en'
- declare type AxiosHeaders =
+ type AxiosHeaders =
| 'application/json'
| 'application/x-www-form-urlencoded'
| 'multipart/form-data'
- declare type AxiosMethod = 'get' | 'post' | 'delete' | 'put' | 'GET' | 'POST' | 'DELETE' | 'PUT'
+ type AxiosMethod = 'get' | 'post' | 'delete' | 'put' | 'GET' | 'POST' | 'DELETE' | 'PUT'
- declare type AxiosResponseType = 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'
+ type AxiosResponseType = 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'
- declare interface AxiosConfig {
+ interface AxiosConfig {
params?: any
data?: any
url?: string
@@ -32,17 +32,17 @@ declare global {
responseType?: AxiosResponseType
}
- declare interface IResponse {
+ interface IResponse {
code: string
data: T extends any ? T : T & any
}
- declare interface PageParam {
+ interface PageParam {
pageSize?: number
pageNo?: number
}
- declare interface Tree {
+ interface Tree {
id: number
name: string
children?: Tree[] | any[]
diff --git a/types/router.d.ts b/types/router.d.ts
index 10ba0c1529515a6f697d88748754faf185039ca6..9b08b805d2a6a3ecd9873372261a9a3ef82c329b 100644
--- a/types/router.d.ts
+++ b/types/router.d.ts
@@ -54,7 +54,7 @@ type Component =
| (() => Promise)
declare global {
- declare interface AppRouteRecordRaw extends Omit {
+ interface AppRouteRecordRaw extends Omit {
name: string
meta: RouteMeta
component?: Component | string
@@ -64,7 +64,7 @@ declare global {
keepAlive?: boolean
}
- declare interface AppCustomRouteRecordRaw extends Omit {
+ interface AppCustomRouteRecordRaw extends Omit {
icon: any
name: string
meta: RouteMeta
diff --git a/vite.config.ts b/vite.config.ts
index 6b54e18352ef978e5965ac9e615b4438399e360b..fe2d7131999681b8eb80e97dd6b417e084efdab4 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -42,7 +42,7 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
// },
},
// 项目使用的vite插件。 单独提取到build/vite/plugin中管理
- plugins: createVitePlugins(env.VITE_APP_TITLE),
+ plugins: createVitePlugins(),
css: {
preprocessorOptions: {
scss: {