diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index f39f4b2..a7d1766 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -179,7 +179,7 @@ meta: { title: '业务日志', icon: 'ep:key', - auth: '/sys/resource', + auth: '/sys/log/biz/list', }, children: [ { @@ -188,7 +188,7 @@ component: () => import('@/views/system/log/list.log.vue'), meta: { title: '业务日志', - auth: '/sys/resource', + auth: '/sys/log/biz/list', sidebar: false, breadcrumb: true, }, @@ -203,7 +203,7 @@ meta: { title: '异常日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/log/error/list', }, children: [ { @@ -212,7 +212,7 @@ component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - auth: '/sys/role', + auth: '/sys/log/error/list', sidebar: false, breadcrumb: true, }, @@ -227,7 +227,7 @@ meta: { title: '登录日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/loginLog', }, children: [ { @@ -236,7 +236,7 @@ component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - auth: '/sys/role', + auth: '/sys/loginLog', sidebar: false, breadcrumb: true, }, diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index f39f4b2..a7d1766 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -179,7 +179,7 @@ meta: { title: '业务日志', icon: 'ep:key', - auth: '/sys/resource', + auth: '/sys/log/biz/list', }, children: [ { @@ -188,7 +188,7 @@ component: () => import('@/views/system/log/list.log.vue'), meta: { title: '业务日志', - auth: '/sys/resource', + auth: '/sys/log/biz/list', sidebar: false, breadcrumb: true, }, @@ -203,7 +203,7 @@ meta: { title: '异常日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/log/error/list', }, children: [ { @@ -212,7 +212,7 @@ component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - auth: '/sys/role', + auth: '/sys/log/error/list', sidebar: false, breadcrumb: true, }, @@ -227,7 +227,7 @@ meta: { title: '登录日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/loginLog', }, children: [ { @@ -236,7 +236,7 @@ component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - auth: '/sys/role', + auth: '/sys/loginLog', sidebar: false, breadcrumb: true, }, diff --git a/src/views/system/area/areaSelectTree.vue b/src/views/system/area/areaSelectTree.vue new file mode 100644 index 0000000..a6ddd4c --- /dev/null +++ b/src/views/system/area/areaSelectTree.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index f39f4b2..a7d1766 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -179,7 +179,7 @@ meta: { title: '业务日志', icon: 'ep:key', - auth: '/sys/resource', + auth: '/sys/log/biz/list', }, children: [ { @@ -188,7 +188,7 @@ component: () => import('@/views/system/log/list.log.vue'), meta: { title: '业务日志', - auth: '/sys/resource', + auth: '/sys/log/biz/list', sidebar: false, breadcrumb: true, }, @@ -203,7 +203,7 @@ meta: { title: '异常日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/log/error/list', }, children: [ { @@ -212,7 +212,7 @@ component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - auth: '/sys/role', + auth: '/sys/log/error/list', sidebar: false, breadcrumb: true, }, @@ -227,7 +227,7 @@ meta: { title: '登录日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/loginLog', }, children: [ { @@ -236,7 +236,7 @@ component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - auth: '/sys/role', + auth: '/sys/loginLog', sidebar: false, breadcrumb: true, }, diff --git a/src/views/system/area/areaSelectTree.vue b/src/views/system/area/areaSelectTree.vue new file mode 100644 index 0000000..a6ddd4c --- /dev/null +++ b/src/views/system/area/areaSelectTree.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index f39f4b2..a7d1766 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -179,7 +179,7 @@ meta: { title: '业务日志', icon: 'ep:key', - auth: '/sys/resource', + auth: '/sys/log/biz/list', }, children: [ { @@ -188,7 +188,7 @@ component: () => import('@/views/system/log/list.log.vue'), meta: { title: '业务日志', - auth: '/sys/resource', + auth: '/sys/log/biz/list', sidebar: false, breadcrumb: true, }, @@ -203,7 +203,7 @@ meta: { title: '异常日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/log/error/list', }, children: [ { @@ -212,7 +212,7 @@ component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - auth: '/sys/role', + auth: '/sys/log/error/list', sidebar: false, breadcrumb: true, }, @@ -227,7 +227,7 @@ meta: { title: '登录日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/loginLog', }, children: [ { @@ -236,7 +236,7 @@ component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - auth: '/sys/role', + auth: '/sys/loginLog', sidebar: false, breadcrumb: true, }, diff --git a/src/views/system/area/areaSelectTree.vue b/src/views/system/area/areaSelectTree.vue new file mode 100644 index 0000000..a6ddd4c --- /dev/null +++ b/src/views/system/area/areaSelectTree.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue new file mode 100644 index 0000000..799120c --- /dev/null +++ b/src/views/system/area/editArea.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index f39f4b2..a7d1766 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -179,7 +179,7 @@ meta: { title: '业务日志', icon: 'ep:key', - auth: '/sys/resource', + auth: '/sys/log/biz/list', }, children: [ { @@ -188,7 +188,7 @@ component: () => import('@/views/system/log/list.log.vue'), meta: { title: '业务日志', - auth: '/sys/resource', + auth: '/sys/log/biz/list', sidebar: false, breadcrumb: true, }, @@ -203,7 +203,7 @@ meta: { title: '异常日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/log/error/list', }, children: [ { @@ -212,7 +212,7 @@ component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - auth: '/sys/role', + auth: '/sys/log/error/list', sidebar: false, breadcrumb: true, }, @@ -227,7 +227,7 @@ meta: { title: '登录日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/loginLog', }, children: [ { @@ -236,7 +236,7 @@ component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - auth: '/sys/role', + auth: '/sys/loginLog', sidebar: false, breadcrumb: true, }, diff --git a/src/views/system/area/areaSelectTree.vue b/src/views/system/area/areaSelectTree.vue new file mode 100644 index 0000000..a6ddd4c --- /dev/null +++ b/src/views/system/area/areaSelectTree.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue new file mode 100644 index 0000000..799120c --- /dev/null +++ b/src/views/system/area/editArea.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/system/area/list.area.vue b/src/views/system/area/list.area.vue index e620b3d..d071f14 100644 --- a/src/views/system/area/list.area.vue +++ b/src/views/system/area/list.area.vue @@ -1,14 +1,169 @@ - diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue new file mode 100644 index 0000000..799120c --- /dev/null +++ b/src/views/system/area/editArea.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/system/area/list.area.vue b/src/views/system/area/list.area.vue index e620b3d..d071f14 100644 --- a/src/views/system/area/list.area.vue +++ b/src/views/system/area/list.area.vue @@ -1,14 +1,169 @@ - diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue new file mode 100644 index 0000000..799120c --- /dev/null +++ b/src/views/system/area/editArea.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/system/area/list.area.vue b/src/views/system/area/list.area.vue index e620b3d..d071f14 100644 --- a/src/views/system/area/list.area.vue +++ b/src/views/system/area/list.area.vue @@ -1,14 +1,169 @@ - + + diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index f39f4b2..a7d1766 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -179,7 +179,7 @@ meta: { title: '业务日志', icon: 'ep:key', - auth: '/sys/resource', + auth: '/sys/log/biz/list', }, children: [ { @@ -188,7 +188,7 @@ component: () => import('@/views/system/log/list.log.vue'), meta: { title: '业务日志', - auth: '/sys/resource', + auth: '/sys/log/biz/list', sidebar: false, breadcrumb: true, }, @@ -203,7 +203,7 @@ meta: { title: '异常日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/log/error/list', }, children: [ { @@ -212,7 +212,7 @@ component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - auth: '/sys/role', + auth: '/sys/log/error/list', sidebar: false, breadcrumb: true, }, @@ -227,7 +227,7 @@ meta: { title: '登录日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/loginLog', }, children: [ { @@ -236,7 +236,7 @@ component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - auth: '/sys/role', + auth: '/sys/loginLog', sidebar: false, breadcrumb: true, }, diff --git a/src/views/system/area/areaSelectTree.vue b/src/views/system/area/areaSelectTree.vue new file mode 100644 index 0000000..a6ddd4c --- /dev/null +++ b/src/views/system/area/areaSelectTree.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue new file mode 100644 index 0000000..799120c --- /dev/null +++ b/src/views/system/area/editArea.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/system/area/list.area.vue b/src/views/system/area/list.area.vue index e620b3d..d071f14 100644 --- a/src/views/system/area/list.area.vue +++ b/src/views/system/area/list.area.vue @@ -1,14 +1,169 @@ - + + diff --git a/src/views/system/log/listErrorLog.vue b/src/views/system/log/listErrorLog.vue index b17e2c3..afd1ee7 100644 --- a/src/views/system/log/listErrorLog.vue +++ b/src/views/system/log/listErrorLog.vue @@ -1,14 +1,15 @@ + + + diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index f39f4b2..a7d1766 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -179,7 +179,7 @@ meta: { title: '业务日志', icon: 'ep:key', - auth: '/sys/resource', + auth: '/sys/log/biz/list', }, children: [ { @@ -188,7 +188,7 @@ component: () => import('@/views/system/log/list.log.vue'), meta: { title: '业务日志', - auth: '/sys/resource', + auth: '/sys/log/biz/list', sidebar: false, breadcrumb: true, }, @@ -203,7 +203,7 @@ meta: { title: '异常日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/log/error/list', }, children: [ { @@ -212,7 +212,7 @@ component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - auth: '/sys/role', + auth: '/sys/log/error/list', sidebar: false, breadcrumb: true, }, @@ -227,7 +227,7 @@ meta: { title: '登录日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/loginLog', }, children: [ { @@ -236,7 +236,7 @@ component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - auth: '/sys/role', + auth: '/sys/loginLog', sidebar: false, breadcrumb: true, }, diff --git a/src/views/system/area/areaSelectTree.vue b/src/views/system/area/areaSelectTree.vue new file mode 100644 index 0000000..a6ddd4c --- /dev/null +++ b/src/views/system/area/areaSelectTree.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue new file mode 100644 index 0000000..799120c --- /dev/null +++ b/src/views/system/area/editArea.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/system/area/list.area.vue b/src/views/system/area/list.area.vue index e620b3d..d071f14 100644 --- a/src/views/system/area/list.area.vue +++ b/src/views/system/area/list.area.vue @@ -1,14 +1,169 @@ - + + diff --git a/src/views/system/log/listErrorLog.vue b/src/views/system/log/listErrorLog.vue index b17e2c3..afd1ee7 100644 --- a/src/views/system/log/listErrorLog.vue +++ b/src/views/system/log/listErrorLog.vue @@ -1,14 +1,15 @@ + + + diff --git a/src/views/system/log/log_interface.ts b/src/views/system/log/log_interface.ts index 9269bdd..09be72c 100644 --- a/src/views/system/log/log_interface.ts +++ b/src/views/system/log/log_interface.ts @@ -2,18 +2,7 @@ keywords: string beginTime: string endTime: string - // logType: '业务日志', - offset: number - limit: number - sort: string - order: string -} - -export interface IlistQueryError { - keywords: string - beginTime: string - endTime: string - logType: string + logType?: string offset: number limit: number sort: string diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index f39f4b2..a7d1766 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -179,7 +179,7 @@ meta: { title: '业务日志', icon: 'ep:key', - auth: '/sys/resource', + auth: '/sys/log/biz/list', }, children: [ { @@ -188,7 +188,7 @@ component: () => import('@/views/system/log/list.log.vue'), meta: { title: '业务日志', - auth: '/sys/resource', + auth: '/sys/log/biz/list', sidebar: false, breadcrumb: true, }, @@ -203,7 +203,7 @@ meta: { title: '异常日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/log/error/list', }, children: [ { @@ -212,7 +212,7 @@ component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - auth: '/sys/role', + auth: '/sys/log/error/list', sidebar: false, breadcrumb: true, }, @@ -227,7 +227,7 @@ meta: { title: '登录日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/loginLog', }, children: [ { @@ -236,7 +236,7 @@ component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - auth: '/sys/role', + auth: '/sys/loginLog', sidebar: false, breadcrumb: true, }, diff --git a/src/views/system/area/areaSelectTree.vue b/src/views/system/area/areaSelectTree.vue new file mode 100644 index 0000000..a6ddd4c --- /dev/null +++ b/src/views/system/area/areaSelectTree.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue new file mode 100644 index 0000000..799120c --- /dev/null +++ b/src/views/system/area/editArea.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/system/area/list.area.vue b/src/views/system/area/list.area.vue index e620b3d..d071f14 100644 --- a/src/views/system/area/list.area.vue +++ b/src/views/system/area/list.area.vue @@ -1,14 +1,169 @@ - + + diff --git a/src/views/system/log/listErrorLog.vue b/src/views/system/log/listErrorLog.vue index b17e2c3..afd1ee7 100644 --- a/src/views/system/log/listErrorLog.vue +++ b/src/views/system/log/listErrorLog.vue @@ -1,14 +1,15 @@ + + + diff --git a/src/views/system/log/log_interface.ts b/src/views/system/log/log_interface.ts index 9269bdd..09be72c 100644 --- a/src/views/system/log/log_interface.ts +++ b/src/views/system/log/log_interface.ts @@ -2,18 +2,7 @@ keywords: string beginTime: string endTime: string - // logType: '业务日志', - offset: number - limit: number - sort: string - order: string -} - -export interface IlistQueryError { - keywords: string - beginTime: string - endTime: string - logType: string + logType?: string offset: number limit: number sort: string diff --git a/src/views/system/log/loginLog.vue b/src/views/system/log/loginLog.vue index 068b97b..0f40674 100644 --- a/src/views/system/log/loginLog.vue +++ b/src/views/system/log/loginLog.vue @@ -1,10 +1,12 @@ + + + diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index f39f4b2..a7d1766 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -179,7 +179,7 @@ meta: { title: '业务日志', icon: 'ep:key', - auth: '/sys/resource', + auth: '/sys/log/biz/list', }, children: [ { @@ -188,7 +188,7 @@ component: () => import('@/views/system/log/list.log.vue'), meta: { title: '业务日志', - auth: '/sys/resource', + auth: '/sys/log/biz/list', sidebar: false, breadcrumb: true, }, @@ -203,7 +203,7 @@ meta: { title: '异常日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/log/error/list', }, children: [ { @@ -212,7 +212,7 @@ component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - auth: '/sys/role', + auth: '/sys/log/error/list', sidebar: false, breadcrumb: true, }, @@ -227,7 +227,7 @@ meta: { title: '登录日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/loginLog', }, children: [ { @@ -236,7 +236,7 @@ component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - auth: '/sys/role', + auth: '/sys/loginLog', sidebar: false, breadcrumb: true, }, diff --git a/src/views/system/area/areaSelectTree.vue b/src/views/system/area/areaSelectTree.vue new file mode 100644 index 0000000..a6ddd4c --- /dev/null +++ b/src/views/system/area/areaSelectTree.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue new file mode 100644 index 0000000..799120c --- /dev/null +++ b/src/views/system/area/editArea.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/system/area/list.area.vue b/src/views/system/area/list.area.vue index e620b3d..d071f14 100644 --- a/src/views/system/area/list.area.vue +++ b/src/views/system/area/list.area.vue @@ -1,14 +1,169 @@ - + + diff --git a/src/views/system/log/listErrorLog.vue b/src/views/system/log/listErrorLog.vue index b17e2c3..afd1ee7 100644 --- a/src/views/system/log/listErrorLog.vue +++ b/src/views/system/log/listErrorLog.vue @@ -1,14 +1,15 @@ + + + diff --git a/src/views/system/log/log_interface.ts b/src/views/system/log/log_interface.ts index 9269bdd..09be72c 100644 --- a/src/views/system/log/log_interface.ts +++ b/src/views/system/log/log_interface.ts @@ -2,18 +2,7 @@ keywords: string beginTime: string endTime: string - // logType: '业务日志', - offset: number - limit: number - sort: string - order: string -} - -export interface IlistQueryError { - keywords: string - beginTime: string - endTime: string - logType: string + logType?: string offset: number limit: number sort: string diff --git a/src/views/system/log/loginLog.vue b/src/views/system/log/loginLog.vue index 068b97b..0f40674 100644 --- a/src/views/system/log/loginLog.vue +++ b/src/views/system/log/loginLog.vue @@ -1,10 +1,12 @@ + + + diff --git a/src/views/system/role/data.perm.vue b/src/views/system/role/data.perm.vue new file mode 100644 index 0000000..7276e21 --- /dev/null +++ b/src/views/system/role/data.perm.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index f39f4b2..a7d1766 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -179,7 +179,7 @@ meta: { title: '业务日志', icon: 'ep:key', - auth: '/sys/resource', + auth: '/sys/log/biz/list', }, children: [ { @@ -188,7 +188,7 @@ component: () => import('@/views/system/log/list.log.vue'), meta: { title: '业务日志', - auth: '/sys/resource', + auth: '/sys/log/biz/list', sidebar: false, breadcrumb: true, }, @@ -203,7 +203,7 @@ meta: { title: '异常日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/log/error/list', }, children: [ { @@ -212,7 +212,7 @@ component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - auth: '/sys/role', + auth: '/sys/log/error/list', sidebar: false, breadcrumb: true, }, @@ -227,7 +227,7 @@ meta: { title: '登录日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/loginLog', }, children: [ { @@ -236,7 +236,7 @@ component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - auth: '/sys/role', + auth: '/sys/loginLog', sidebar: false, breadcrumb: true, }, diff --git a/src/views/system/area/areaSelectTree.vue b/src/views/system/area/areaSelectTree.vue new file mode 100644 index 0000000..a6ddd4c --- /dev/null +++ b/src/views/system/area/areaSelectTree.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue new file mode 100644 index 0000000..799120c --- /dev/null +++ b/src/views/system/area/editArea.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/system/area/list.area.vue b/src/views/system/area/list.area.vue index e620b3d..d071f14 100644 --- a/src/views/system/area/list.area.vue +++ b/src/views/system/area/list.area.vue @@ -1,14 +1,169 @@ - + + diff --git a/src/views/system/log/listErrorLog.vue b/src/views/system/log/listErrorLog.vue index b17e2c3..afd1ee7 100644 --- a/src/views/system/log/listErrorLog.vue +++ b/src/views/system/log/listErrorLog.vue @@ -1,14 +1,15 @@ + + + diff --git a/src/views/system/log/log_interface.ts b/src/views/system/log/log_interface.ts index 9269bdd..09be72c 100644 --- a/src/views/system/log/log_interface.ts +++ b/src/views/system/log/log_interface.ts @@ -2,18 +2,7 @@ keywords: string beginTime: string endTime: string - // logType: '业务日志', - offset: number - limit: number - sort: string - order: string -} - -export interface IlistQueryError { - keywords: string - beginTime: string - endTime: string - logType: string + logType?: string offset: number limit: number sort: string diff --git a/src/views/system/log/loginLog.vue b/src/views/system/log/loginLog.vue index 068b97b..0f40674 100644 --- a/src/views/system/log/loginLog.vue +++ b/src/views/system/log/loginLog.vue @@ -1,10 +1,12 @@ + + + diff --git a/src/views/system/role/data.perm.vue b/src/views/system/role/data.perm.vue new file mode 100644 index 0000000..7276e21 --- /dev/null +++ b/src/views/system/role/data.perm.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/system/role/function.perm.vue b/src/views/system/role/function.perm.vue index 178e924..294dc9f 100644 --- a/src/views/system/role/function.perm.vue +++ b/src/views/system/role/function.perm.vue @@ -24,6 +24,8 @@ children: 'children', } const filterText = ref('') +// 所有资源id +const resourceIds = ref([]) // 资源树列表数据 const treeList = ref([]) // 默认展开项 @@ -65,10 +67,12 @@ loading.value = true getResourceListByRole(roleid).then((response) => { if (response.data) { + resourceIds.value = response.data.map((item: { id: string }) => item.id) treeList.value = toTreeList(response.data) const temp = getShowItem(response.data) // 获取展开项和选中项 defaultExpanded.value = temp.expandList defaultChecked.value = temp.openedList + tree.value.setCheckedKeys(temp.openedList) loading.value = false } }) @@ -101,7 +105,7 @@ } // 全选或全不选 function handleCheckedTreeNodeAll(value: boolean) { - tree.value.setCheckedNodes(value ? treeList.value : []) + tree.value.setCheckedKeys(value ? resourceIds.value : []) } const filterNode = (value: string, data: { name: string }) => data.name?.includes(value) diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index f39f4b2..a7d1766 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -179,7 +179,7 @@ meta: { title: '业务日志', icon: 'ep:key', - auth: '/sys/resource', + auth: '/sys/log/biz/list', }, children: [ { @@ -188,7 +188,7 @@ component: () => import('@/views/system/log/list.log.vue'), meta: { title: '业务日志', - auth: '/sys/resource', + auth: '/sys/log/biz/list', sidebar: false, breadcrumb: true, }, @@ -203,7 +203,7 @@ meta: { title: '异常日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/log/error/list', }, children: [ { @@ -212,7 +212,7 @@ component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - auth: '/sys/role', + auth: '/sys/log/error/list', sidebar: false, breadcrumb: true, }, @@ -227,7 +227,7 @@ meta: { title: '登录日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/loginLog', }, children: [ { @@ -236,7 +236,7 @@ component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - auth: '/sys/role', + auth: '/sys/loginLog', sidebar: false, breadcrumb: true, }, diff --git a/src/views/system/area/areaSelectTree.vue b/src/views/system/area/areaSelectTree.vue new file mode 100644 index 0000000..a6ddd4c --- /dev/null +++ b/src/views/system/area/areaSelectTree.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue new file mode 100644 index 0000000..799120c --- /dev/null +++ b/src/views/system/area/editArea.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/system/area/list.area.vue b/src/views/system/area/list.area.vue index e620b3d..d071f14 100644 --- a/src/views/system/area/list.area.vue +++ b/src/views/system/area/list.area.vue @@ -1,14 +1,169 @@ - + + diff --git a/src/views/system/log/listErrorLog.vue b/src/views/system/log/listErrorLog.vue index b17e2c3..afd1ee7 100644 --- a/src/views/system/log/listErrorLog.vue +++ b/src/views/system/log/listErrorLog.vue @@ -1,14 +1,15 @@ + + + diff --git a/src/views/system/log/log_interface.ts b/src/views/system/log/log_interface.ts index 9269bdd..09be72c 100644 --- a/src/views/system/log/log_interface.ts +++ b/src/views/system/log/log_interface.ts @@ -2,18 +2,7 @@ keywords: string beginTime: string endTime: string - // logType: '业务日志', - offset: number - limit: number - sort: string - order: string -} - -export interface IlistQueryError { - keywords: string - beginTime: string - endTime: string - logType: string + logType?: string offset: number limit: number sort: string diff --git a/src/views/system/log/loginLog.vue b/src/views/system/log/loginLog.vue index 068b97b..0f40674 100644 --- a/src/views/system/log/loginLog.vue +++ b/src/views/system/log/loginLog.vue @@ -1,10 +1,12 @@ + + + diff --git a/src/views/system/role/data.perm.vue b/src/views/system/role/data.perm.vue new file mode 100644 index 0000000..7276e21 --- /dev/null +++ b/src/views/system/role/data.perm.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/system/role/function.perm.vue b/src/views/system/role/function.perm.vue index 178e924..294dc9f 100644 --- a/src/views/system/role/function.perm.vue +++ b/src/views/system/role/function.perm.vue @@ -24,6 +24,8 @@ children: 'children', } const filterText = ref('') +// 所有资源id +const resourceIds = ref([]) // 资源树列表数据 const treeList = ref([]) // 默认展开项 @@ -65,10 +67,12 @@ loading.value = true getResourceListByRole(roleid).then((response) => { if (response.data) { + resourceIds.value = response.data.map((item: { id: string }) => item.id) treeList.value = toTreeList(response.data) const temp = getShowItem(response.data) // 获取展开项和选中项 defaultExpanded.value = temp.expandList defaultChecked.value = temp.openedList + tree.value.setCheckedKeys(temp.openedList) loading.value = false } }) @@ -101,7 +105,7 @@ } // 全选或全不选 function handleCheckedTreeNodeAll(value: boolean) { - tree.value.setCheckedNodes(value ? treeList.value : []) + tree.value.setCheckedKeys(value ? resourceIds.value : []) } const filterNode = (value: string, data: { name: string }) => data.name?.includes(value) diff --git a/src/views/system/role/list.role.vue b/src/views/system/role/list.role.vue index 96f4dfb..be01103 100644 --- a/src/views/system/role/list.role.vue +++ b/src/views/system/role/list.role.vue @@ -6,12 +6,21 @@ import type { DataScopeTypeInfo, RoleInfo } from './role_interface' import SystemEditRole from './edit.role.vue' import FunctionPerm from './function.perm.vue' +import DataPerm from './data.perm.vue' import { delRole, getDataScopeTypeList, getRoleList } from '@/api/system/role' import { toTreeList } from '@/utils/structure' const { proxy } = getCurrentInstance() as any const editDialog = ref() // 组件 +// 数据权限类型字典 +const dataScopeTypeDict: { [key: string]: string } = { + 1: '所有数据', + 2: '所属及下属部门', + 3: '本部门', + 4: '自定义', +} + // 默认查询条件 const defaultQuery = { keyword: '', @@ -27,8 +36,9 @@ const columns = ref([ { text: '角色名称', value: 'name', align: 'left' }, { text: '所在组织机构', value: 'deptName' }, - { text: '排序', value: 'num', width: 80 }, + { text: '数据权限类型', value: 'dataScopeTypeName' }, { text: '别名', value: 'tips' }, + { text: '排序', value: 'num', width: 80 }, ]) // 数据列表 const list: Ref = ref([]) @@ -42,7 +52,13 @@ function fetchData() { loading.value = true getRoleList(listQuery).then((res) => { - const treeData = toTreeList(res.data) + const data = res.data.map((item: RoleInfo): RoleInfo => { + return { + ...item, + dataScopeTypeName: dataScopeTypeDict[parseInt(item.dataScopeType)], + } + }) + const treeData = toTreeList(data) list.value = treeData loading.value = false }) @@ -81,10 +97,17 @@ editDialog.value.initDialog('create') } +// 打开功能权限菜单 const functionPerm = ref() function openFunctionPerm(row: RoleInfo) { functionPerm.value.initDialog(row) } + +// 打开数据权限菜单 +const dataPerm = ref() +function openDataPerm(row: RoleInfo) { + dataPerm.value.initDialog(row) +} // 表格组件 const table = ref() const expansion = ref(false) @@ -126,26 +149,28 @@ - + + diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index f39f4b2..a7d1766 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -179,7 +179,7 @@ meta: { title: '业务日志', icon: 'ep:key', - auth: '/sys/resource', + auth: '/sys/log/biz/list', }, children: [ { @@ -188,7 +188,7 @@ component: () => import('@/views/system/log/list.log.vue'), meta: { title: '业务日志', - auth: '/sys/resource', + auth: '/sys/log/biz/list', sidebar: false, breadcrumb: true, }, @@ -203,7 +203,7 @@ meta: { title: '异常日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/log/error/list', }, children: [ { @@ -212,7 +212,7 @@ component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - auth: '/sys/role', + auth: '/sys/log/error/list', sidebar: false, breadcrumb: true, }, @@ -227,7 +227,7 @@ meta: { title: '登录日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/loginLog', }, children: [ { @@ -236,7 +236,7 @@ component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - auth: '/sys/role', + auth: '/sys/loginLog', sidebar: false, breadcrumb: true, }, diff --git a/src/views/system/area/areaSelectTree.vue b/src/views/system/area/areaSelectTree.vue new file mode 100644 index 0000000..a6ddd4c --- /dev/null +++ b/src/views/system/area/areaSelectTree.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue new file mode 100644 index 0000000..799120c --- /dev/null +++ b/src/views/system/area/editArea.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/system/area/list.area.vue b/src/views/system/area/list.area.vue index e620b3d..d071f14 100644 --- a/src/views/system/area/list.area.vue +++ b/src/views/system/area/list.area.vue @@ -1,14 +1,169 @@ - + + diff --git a/src/views/system/log/listErrorLog.vue b/src/views/system/log/listErrorLog.vue index b17e2c3..afd1ee7 100644 --- a/src/views/system/log/listErrorLog.vue +++ b/src/views/system/log/listErrorLog.vue @@ -1,14 +1,15 @@ + + + diff --git a/src/views/system/log/log_interface.ts b/src/views/system/log/log_interface.ts index 9269bdd..09be72c 100644 --- a/src/views/system/log/log_interface.ts +++ b/src/views/system/log/log_interface.ts @@ -2,18 +2,7 @@ keywords: string beginTime: string endTime: string - // logType: '业务日志', - offset: number - limit: number - sort: string - order: string -} - -export interface IlistQueryError { - keywords: string - beginTime: string - endTime: string - logType: string + logType?: string offset: number limit: number sort: string diff --git a/src/views/system/log/loginLog.vue b/src/views/system/log/loginLog.vue index 068b97b..0f40674 100644 --- a/src/views/system/log/loginLog.vue +++ b/src/views/system/log/loginLog.vue @@ -1,10 +1,12 @@ + + + diff --git a/src/views/system/role/data.perm.vue b/src/views/system/role/data.perm.vue new file mode 100644 index 0000000..7276e21 --- /dev/null +++ b/src/views/system/role/data.perm.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/system/role/function.perm.vue b/src/views/system/role/function.perm.vue index 178e924..294dc9f 100644 --- a/src/views/system/role/function.perm.vue +++ b/src/views/system/role/function.perm.vue @@ -24,6 +24,8 @@ children: 'children', } const filterText = ref('') +// 所有资源id +const resourceIds = ref([]) // 资源树列表数据 const treeList = ref([]) // 默认展开项 @@ -65,10 +67,12 @@ loading.value = true getResourceListByRole(roleid).then((response) => { if (response.data) { + resourceIds.value = response.data.map((item: { id: string }) => item.id) treeList.value = toTreeList(response.data) const temp = getShowItem(response.data) // 获取展开项和选中项 defaultExpanded.value = temp.expandList defaultChecked.value = temp.openedList + tree.value.setCheckedKeys(temp.openedList) loading.value = false } }) @@ -101,7 +105,7 @@ } // 全选或全不选 function handleCheckedTreeNodeAll(value: boolean) { - tree.value.setCheckedNodes(value ? treeList.value : []) + tree.value.setCheckedKeys(value ? resourceIds.value : []) } const filterNode = (value: string, data: { name: string }) => data.name?.includes(value) diff --git a/src/views/system/role/list.role.vue b/src/views/system/role/list.role.vue index 96f4dfb..be01103 100644 --- a/src/views/system/role/list.role.vue +++ b/src/views/system/role/list.role.vue @@ -6,12 +6,21 @@ import type { DataScopeTypeInfo, RoleInfo } from './role_interface' import SystemEditRole from './edit.role.vue' import FunctionPerm from './function.perm.vue' +import DataPerm from './data.perm.vue' import { delRole, getDataScopeTypeList, getRoleList } from '@/api/system/role' import { toTreeList } from '@/utils/structure' const { proxy } = getCurrentInstance() as any const editDialog = ref() // 组件 +// 数据权限类型字典 +const dataScopeTypeDict: { [key: string]: string } = { + 1: '所有数据', + 2: '所属及下属部门', + 3: '本部门', + 4: '自定义', +} + // 默认查询条件 const defaultQuery = { keyword: '', @@ -27,8 +36,9 @@ const columns = ref([ { text: '角色名称', value: 'name', align: 'left' }, { text: '所在组织机构', value: 'deptName' }, - { text: '排序', value: 'num', width: 80 }, + { text: '数据权限类型', value: 'dataScopeTypeName' }, { text: '别名', value: 'tips' }, + { text: '排序', value: 'num', width: 80 }, ]) // 数据列表 const list: Ref = ref([]) @@ -42,7 +52,13 @@ function fetchData() { loading.value = true getRoleList(listQuery).then((res) => { - const treeData = toTreeList(res.data) + const data = res.data.map((item: RoleInfo): RoleInfo => { + return { + ...item, + dataScopeTypeName: dataScopeTypeDict[parseInt(item.dataScopeType)], + } + }) + const treeData = toTreeList(data) list.value = treeData loading.value = false }) @@ -81,10 +97,17 @@ editDialog.value.initDialog('create') } +// 打开功能权限菜单 const functionPerm = ref() function openFunctionPerm(row: RoleInfo) { functionPerm.value.initDialog(row) } + +// 打开数据权限菜单 +const dataPerm = ref() +function openDataPerm(row: RoleInfo) { + dataPerm.value.initDialog(row) +} // 表格组件 const table = ref() const expansion = ref(false) @@ -126,26 +149,28 @@ - + + diff --git a/src/views/system/role/role_interface.ts b/src/views/system/role/role_interface.ts index 47032e6..d3847c3 100644 --- a/src/views/system/role/role_interface.ts +++ b/src/views/system/role/role_interface.ts @@ -10,6 +10,7 @@ name: string // 角色名 tips: string // 别名 dataScopeType: string // 数据权限类型 + dataScopeTypeName?: string // 数据权限类型名称 pid: string // 父角色 deptId: string // 组织机构 num: number // 排序 diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index f39f4b2..a7d1766 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -179,7 +179,7 @@ meta: { title: '业务日志', icon: 'ep:key', - auth: '/sys/resource', + auth: '/sys/log/biz/list', }, children: [ { @@ -188,7 +188,7 @@ component: () => import('@/views/system/log/list.log.vue'), meta: { title: '业务日志', - auth: '/sys/resource', + auth: '/sys/log/biz/list', sidebar: false, breadcrumb: true, }, @@ -203,7 +203,7 @@ meta: { title: '异常日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/log/error/list', }, children: [ { @@ -212,7 +212,7 @@ component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - auth: '/sys/role', + auth: '/sys/log/error/list', sidebar: false, breadcrumb: true, }, @@ -227,7 +227,7 @@ meta: { title: '登录日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/loginLog', }, children: [ { @@ -236,7 +236,7 @@ component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - auth: '/sys/role', + auth: '/sys/loginLog', sidebar: false, breadcrumb: true, }, diff --git a/src/views/system/area/areaSelectTree.vue b/src/views/system/area/areaSelectTree.vue new file mode 100644 index 0000000..a6ddd4c --- /dev/null +++ b/src/views/system/area/areaSelectTree.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue new file mode 100644 index 0000000..799120c --- /dev/null +++ b/src/views/system/area/editArea.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/system/area/list.area.vue b/src/views/system/area/list.area.vue index e620b3d..d071f14 100644 --- a/src/views/system/area/list.area.vue +++ b/src/views/system/area/list.area.vue @@ -1,14 +1,169 @@ - + + diff --git a/src/views/system/log/listErrorLog.vue b/src/views/system/log/listErrorLog.vue index b17e2c3..afd1ee7 100644 --- a/src/views/system/log/listErrorLog.vue +++ b/src/views/system/log/listErrorLog.vue @@ -1,14 +1,15 @@ + + + diff --git a/src/views/system/log/log_interface.ts b/src/views/system/log/log_interface.ts index 9269bdd..09be72c 100644 --- a/src/views/system/log/log_interface.ts +++ b/src/views/system/log/log_interface.ts @@ -2,18 +2,7 @@ keywords: string beginTime: string endTime: string - // logType: '业务日志', - offset: number - limit: number - sort: string - order: string -} - -export interface IlistQueryError { - keywords: string - beginTime: string - endTime: string - logType: string + logType?: string offset: number limit: number sort: string diff --git a/src/views/system/log/loginLog.vue b/src/views/system/log/loginLog.vue index 068b97b..0f40674 100644 --- a/src/views/system/log/loginLog.vue +++ b/src/views/system/log/loginLog.vue @@ -1,10 +1,12 @@ + + + diff --git a/src/views/system/role/data.perm.vue b/src/views/system/role/data.perm.vue new file mode 100644 index 0000000..7276e21 --- /dev/null +++ b/src/views/system/role/data.perm.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/system/role/function.perm.vue b/src/views/system/role/function.perm.vue index 178e924..294dc9f 100644 --- a/src/views/system/role/function.perm.vue +++ b/src/views/system/role/function.perm.vue @@ -24,6 +24,8 @@ children: 'children', } const filterText = ref('') +// 所有资源id +const resourceIds = ref([]) // 资源树列表数据 const treeList = ref([]) // 默认展开项 @@ -65,10 +67,12 @@ loading.value = true getResourceListByRole(roleid).then((response) => { if (response.data) { + resourceIds.value = response.data.map((item: { id: string }) => item.id) treeList.value = toTreeList(response.data) const temp = getShowItem(response.data) // 获取展开项和选中项 defaultExpanded.value = temp.expandList defaultChecked.value = temp.openedList + tree.value.setCheckedKeys(temp.openedList) loading.value = false } }) @@ -101,7 +105,7 @@ } // 全选或全不选 function handleCheckedTreeNodeAll(value: boolean) { - tree.value.setCheckedNodes(value ? treeList.value : []) + tree.value.setCheckedKeys(value ? resourceIds.value : []) } const filterNode = (value: string, data: { name: string }) => data.name?.includes(value) diff --git a/src/views/system/role/list.role.vue b/src/views/system/role/list.role.vue index 96f4dfb..be01103 100644 --- a/src/views/system/role/list.role.vue +++ b/src/views/system/role/list.role.vue @@ -6,12 +6,21 @@ import type { DataScopeTypeInfo, RoleInfo } from './role_interface' import SystemEditRole from './edit.role.vue' import FunctionPerm from './function.perm.vue' +import DataPerm from './data.perm.vue' import { delRole, getDataScopeTypeList, getRoleList } from '@/api/system/role' import { toTreeList } from '@/utils/structure' const { proxy } = getCurrentInstance() as any const editDialog = ref() // 组件 +// 数据权限类型字典 +const dataScopeTypeDict: { [key: string]: string } = { + 1: '所有数据', + 2: '所属及下属部门', + 3: '本部门', + 4: '自定义', +} + // 默认查询条件 const defaultQuery = { keyword: '', @@ -27,8 +36,9 @@ const columns = ref([ { text: '角色名称', value: 'name', align: 'left' }, { text: '所在组织机构', value: 'deptName' }, - { text: '排序', value: 'num', width: 80 }, + { text: '数据权限类型', value: 'dataScopeTypeName' }, { text: '别名', value: 'tips' }, + { text: '排序', value: 'num', width: 80 }, ]) // 数据列表 const list: Ref = ref([]) @@ -42,7 +52,13 @@ function fetchData() { loading.value = true getRoleList(listQuery).then((res) => { - const treeData = toTreeList(res.data) + const data = res.data.map((item: RoleInfo): RoleInfo => { + return { + ...item, + dataScopeTypeName: dataScopeTypeDict[parseInt(item.dataScopeType)], + } + }) + const treeData = toTreeList(data) list.value = treeData loading.value = false }) @@ -81,10 +97,17 @@ editDialog.value.initDialog('create') } +// 打开功能权限菜单 const functionPerm = ref() function openFunctionPerm(row: RoleInfo) { functionPerm.value.initDialog(row) } + +// 打开数据权限菜单 +const dataPerm = ref() +function openDataPerm(row: RoleInfo) { + dataPerm.value.initDialog(row) +} // 表格组件 const table = ref() const expansion = ref(false) @@ -126,26 +149,28 @@ - + + diff --git a/src/views/system/role/role_interface.ts b/src/views/system/role/role_interface.ts index 47032e6..d3847c3 100644 --- a/src/views/system/role/role_interface.ts +++ b/src/views/system/role/role_interface.ts @@ -10,6 +10,7 @@ name: string // 角色名 tips: string // 别名 dataScopeType: string // 数据权限类型 + dataScopeTypeName?: string // 数据权限类型名称 pid: string // 父角色 deptId: string // 组织机构 num: number // 排序 diff --git a/src/views/system/tenant/editTenant.vue b/src/views/system/tenant/editTenant.vue new file mode 100644 index 0000000..3226635 --- /dev/null +++ b/src/views/system/tenant/editTenant.vue @@ -0,0 +1,206 @@ + + + diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index f39f4b2..a7d1766 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -179,7 +179,7 @@ meta: { title: '业务日志', icon: 'ep:key', - auth: '/sys/resource', + auth: '/sys/log/biz/list', }, children: [ { @@ -188,7 +188,7 @@ component: () => import('@/views/system/log/list.log.vue'), meta: { title: '业务日志', - auth: '/sys/resource', + auth: '/sys/log/biz/list', sidebar: false, breadcrumb: true, }, @@ -203,7 +203,7 @@ meta: { title: '异常日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/log/error/list', }, children: [ { @@ -212,7 +212,7 @@ component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - auth: '/sys/role', + auth: '/sys/log/error/list', sidebar: false, breadcrumb: true, }, @@ -227,7 +227,7 @@ meta: { title: '登录日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/loginLog', }, children: [ { @@ -236,7 +236,7 @@ component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - auth: '/sys/role', + auth: '/sys/loginLog', sidebar: false, breadcrumb: true, }, diff --git a/src/views/system/area/areaSelectTree.vue b/src/views/system/area/areaSelectTree.vue new file mode 100644 index 0000000..a6ddd4c --- /dev/null +++ b/src/views/system/area/areaSelectTree.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue new file mode 100644 index 0000000..799120c --- /dev/null +++ b/src/views/system/area/editArea.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/system/area/list.area.vue b/src/views/system/area/list.area.vue index e620b3d..d071f14 100644 --- a/src/views/system/area/list.area.vue +++ b/src/views/system/area/list.area.vue @@ -1,14 +1,169 @@ - + + diff --git a/src/views/system/log/listErrorLog.vue b/src/views/system/log/listErrorLog.vue index b17e2c3..afd1ee7 100644 --- a/src/views/system/log/listErrorLog.vue +++ b/src/views/system/log/listErrorLog.vue @@ -1,14 +1,15 @@ + + + diff --git a/src/views/system/log/log_interface.ts b/src/views/system/log/log_interface.ts index 9269bdd..09be72c 100644 --- a/src/views/system/log/log_interface.ts +++ b/src/views/system/log/log_interface.ts @@ -2,18 +2,7 @@ keywords: string beginTime: string endTime: string - // logType: '业务日志', - offset: number - limit: number - sort: string - order: string -} - -export interface IlistQueryError { - keywords: string - beginTime: string - endTime: string - logType: string + logType?: string offset: number limit: number sort: string diff --git a/src/views/system/log/loginLog.vue b/src/views/system/log/loginLog.vue index 068b97b..0f40674 100644 --- a/src/views/system/log/loginLog.vue +++ b/src/views/system/log/loginLog.vue @@ -1,10 +1,12 @@ + + + diff --git a/src/views/system/role/data.perm.vue b/src/views/system/role/data.perm.vue new file mode 100644 index 0000000..7276e21 --- /dev/null +++ b/src/views/system/role/data.perm.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/system/role/function.perm.vue b/src/views/system/role/function.perm.vue index 178e924..294dc9f 100644 --- a/src/views/system/role/function.perm.vue +++ b/src/views/system/role/function.perm.vue @@ -24,6 +24,8 @@ children: 'children', } const filterText = ref('') +// 所有资源id +const resourceIds = ref([]) // 资源树列表数据 const treeList = ref([]) // 默认展开项 @@ -65,10 +67,12 @@ loading.value = true getResourceListByRole(roleid).then((response) => { if (response.data) { + resourceIds.value = response.data.map((item: { id: string }) => item.id) treeList.value = toTreeList(response.data) const temp = getShowItem(response.data) // 获取展开项和选中项 defaultExpanded.value = temp.expandList defaultChecked.value = temp.openedList + tree.value.setCheckedKeys(temp.openedList) loading.value = false } }) @@ -101,7 +105,7 @@ } // 全选或全不选 function handleCheckedTreeNodeAll(value: boolean) { - tree.value.setCheckedNodes(value ? treeList.value : []) + tree.value.setCheckedKeys(value ? resourceIds.value : []) } const filterNode = (value: string, data: { name: string }) => data.name?.includes(value) diff --git a/src/views/system/role/list.role.vue b/src/views/system/role/list.role.vue index 96f4dfb..be01103 100644 --- a/src/views/system/role/list.role.vue +++ b/src/views/system/role/list.role.vue @@ -6,12 +6,21 @@ import type { DataScopeTypeInfo, RoleInfo } from './role_interface' import SystemEditRole from './edit.role.vue' import FunctionPerm from './function.perm.vue' +import DataPerm from './data.perm.vue' import { delRole, getDataScopeTypeList, getRoleList } from '@/api/system/role' import { toTreeList } from '@/utils/structure' const { proxy } = getCurrentInstance() as any const editDialog = ref() // 组件 +// 数据权限类型字典 +const dataScopeTypeDict: { [key: string]: string } = { + 1: '所有数据', + 2: '所属及下属部门', + 3: '本部门', + 4: '自定义', +} + // 默认查询条件 const defaultQuery = { keyword: '', @@ -27,8 +36,9 @@ const columns = ref([ { text: '角色名称', value: 'name', align: 'left' }, { text: '所在组织机构', value: 'deptName' }, - { text: '排序', value: 'num', width: 80 }, + { text: '数据权限类型', value: 'dataScopeTypeName' }, { text: '别名', value: 'tips' }, + { text: '排序', value: 'num', width: 80 }, ]) // 数据列表 const list: Ref = ref([]) @@ -42,7 +52,13 @@ function fetchData() { loading.value = true getRoleList(listQuery).then((res) => { - const treeData = toTreeList(res.data) + const data = res.data.map((item: RoleInfo): RoleInfo => { + return { + ...item, + dataScopeTypeName: dataScopeTypeDict[parseInt(item.dataScopeType)], + } + }) + const treeData = toTreeList(data) list.value = treeData loading.value = false }) @@ -81,10 +97,17 @@ editDialog.value.initDialog('create') } +// 打开功能权限菜单 const functionPerm = ref() function openFunctionPerm(row: RoleInfo) { functionPerm.value.initDialog(row) } + +// 打开数据权限菜单 +const dataPerm = ref() +function openDataPerm(row: RoleInfo) { + dataPerm.value.initDialog(row) +} // 表格组件 const table = ref() const expansion = ref(false) @@ -126,26 +149,28 @@ - + + diff --git a/src/views/system/role/role_interface.ts b/src/views/system/role/role_interface.ts index 47032e6..d3847c3 100644 --- a/src/views/system/role/role_interface.ts +++ b/src/views/system/role/role_interface.ts @@ -10,6 +10,7 @@ name: string // 角色名 tips: string // 别名 dataScopeType: string // 数据权限类型 + dataScopeTypeName?: string // 数据权限类型名称 pid: string // 父角色 deptId: string // 组织机构 num: number // 排序 diff --git a/src/views/system/tenant/editTenant.vue b/src/views/system/tenant/editTenant.vue new file mode 100644 index 0000000..3226635 --- /dev/null +++ b/src/views/system/tenant/editTenant.vue @@ -0,0 +1,206 @@ + + + diff --git a/src/views/system/tenant/list.tenant.vue b/src/views/system/tenant/list.tenant.vue index f651ed0..c434b42 100644 --- a/src/views/system/tenant/list.tenant.vue +++ b/src/views/system/tenant/list.tenant.vue @@ -1,12 +1,160 @@ - diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue new file mode 100644 index 0000000..799120c --- /dev/null +++ b/src/views/system/area/editArea.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/system/area/list.area.vue b/src/views/system/area/list.area.vue index e620b3d..d071f14 100644 --- a/src/views/system/area/list.area.vue +++ b/src/views/system/area/list.area.vue @@ -1,14 +1,169 @@ - + + diff --git a/src/views/system/log/listErrorLog.vue b/src/views/system/log/listErrorLog.vue index b17e2c3..afd1ee7 100644 --- a/src/views/system/log/listErrorLog.vue +++ b/src/views/system/log/listErrorLog.vue @@ -1,14 +1,15 @@ + + + diff --git a/src/views/system/log/log_interface.ts b/src/views/system/log/log_interface.ts index 9269bdd..09be72c 100644 --- a/src/views/system/log/log_interface.ts +++ b/src/views/system/log/log_interface.ts @@ -2,18 +2,7 @@ keywords: string beginTime: string endTime: string - // logType: '业务日志', - offset: number - limit: number - sort: string - order: string -} - -export interface IlistQueryError { - keywords: string - beginTime: string - endTime: string - logType: string + logType?: string offset: number limit: number sort: string diff --git a/src/views/system/log/loginLog.vue b/src/views/system/log/loginLog.vue index 068b97b..0f40674 100644 --- a/src/views/system/log/loginLog.vue +++ b/src/views/system/log/loginLog.vue @@ -1,10 +1,12 @@ + + + diff --git a/src/views/system/role/data.perm.vue b/src/views/system/role/data.perm.vue new file mode 100644 index 0000000..7276e21 --- /dev/null +++ b/src/views/system/role/data.perm.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/system/role/function.perm.vue b/src/views/system/role/function.perm.vue index 178e924..294dc9f 100644 --- a/src/views/system/role/function.perm.vue +++ b/src/views/system/role/function.perm.vue @@ -24,6 +24,8 @@ children: 'children', } const filterText = ref('') +// 所有资源id +const resourceIds = ref([]) // 资源树列表数据 const treeList = ref([]) // 默认展开项 @@ -65,10 +67,12 @@ loading.value = true getResourceListByRole(roleid).then((response) => { if (response.data) { + resourceIds.value = response.data.map((item: { id: string }) => item.id) treeList.value = toTreeList(response.data) const temp = getShowItem(response.data) // 获取展开项和选中项 defaultExpanded.value = temp.expandList defaultChecked.value = temp.openedList + tree.value.setCheckedKeys(temp.openedList) loading.value = false } }) @@ -101,7 +105,7 @@ } // 全选或全不选 function handleCheckedTreeNodeAll(value: boolean) { - tree.value.setCheckedNodes(value ? treeList.value : []) + tree.value.setCheckedKeys(value ? resourceIds.value : []) } const filterNode = (value: string, data: { name: string }) => data.name?.includes(value) diff --git a/src/views/system/role/list.role.vue b/src/views/system/role/list.role.vue index 96f4dfb..be01103 100644 --- a/src/views/system/role/list.role.vue +++ b/src/views/system/role/list.role.vue @@ -6,12 +6,21 @@ import type { DataScopeTypeInfo, RoleInfo } from './role_interface' import SystemEditRole from './edit.role.vue' import FunctionPerm from './function.perm.vue' +import DataPerm from './data.perm.vue' import { delRole, getDataScopeTypeList, getRoleList } from '@/api/system/role' import { toTreeList } from '@/utils/structure' const { proxy } = getCurrentInstance() as any const editDialog = ref() // 组件 +// 数据权限类型字典 +const dataScopeTypeDict: { [key: string]: string } = { + 1: '所有数据', + 2: '所属及下属部门', + 3: '本部门', + 4: '自定义', +} + // 默认查询条件 const defaultQuery = { keyword: '', @@ -27,8 +36,9 @@ const columns = ref([ { text: '角色名称', value: 'name', align: 'left' }, { text: '所在组织机构', value: 'deptName' }, - { text: '排序', value: 'num', width: 80 }, + { text: '数据权限类型', value: 'dataScopeTypeName' }, { text: '别名', value: 'tips' }, + { text: '排序', value: 'num', width: 80 }, ]) // 数据列表 const list: Ref = ref([]) @@ -42,7 +52,13 @@ function fetchData() { loading.value = true getRoleList(listQuery).then((res) => { - const treeData = toTreeList(res.data) + const data = res.data.map((item: RoleInfo): RoleInfo => { + return { + ...item, + dataScopeTypeName: dataScopeTypeDict[parseInt(item.dataScopeType)], + } + }) + const treeData = toTreeList(data) list.value = treeData loading.value = false }) @@ -81,10 +97,17 @@ editDialog.value.initDialog('create') } +// 打开功能权限菜单 const functionPerm = ref() function openFunctionPerm(row: RoleInfo) { functionPerm.value.initDialog(row) } + +// 打开数据权限菜单 +const dataPerm = ref() +function openDataPerm(row: RoleInfo) { + dataPerm.value.initDialog(row) +} // 表格组件 const table = ref() const expansion = ref(false) @@ -126,26 +149,28 @@ - + + diff --git a/src/views/system/role/role_interface.ts b/src/views/system/role/role_interface.ts index 47032e6..d3847c3 100644 --- a/src/views/system/role/role_interface.ts +++ b/src/views/system/role/role_interface.ts @@ -10,6 +10,7 @@ name: string // 角色名 tips: string // 别名 dataScopeType: string // 数据权限类型 + dataScopeTypeName?: string // 数据权限类型名称 pid: string // 父角色 deptId: string // 组织机构 num: number // 排序 diff --git a/src/views/system/tenant/editTenant.vue b/src/views/system/tenant/editTenant.vue new file mode 100644 index 0000000..3226635 --- /dev/null +++ b/src/views/system/tenant/editTenant.vue @@ -0,0 +1,206 @@ + + + diff --git a/src/views/system/tenant/list.tenant.vue b/src/views/system/tenant/list.tenant.vue index f651ed0..c434b42 100644 --- a/src/views/system/tenant/list.tenant.vue +++ b/src/views/system/tenant/list.tenant.vue @@ -1,12 +1,160 @@ - diff --git a/.env.development b/.env.development index 6cb6c2e..b34f073 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ # 页面标题 VITE_APP_TITLE = 后台基础框架 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://111.198.10.15:11309 +# VITE_APP_API_BASEURL = http://111.198.10.15:11309 +VITE_APP_API_BASEURL = http://111.198.10.15:21409 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.eslintrc b/.eslintrc index 0b36062..5d9c01f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,8 @@ { "extends": "@antfu", "rules": { - "curly": ["error", "all"] + "curly": ["error", "all"], + "no-tabs":"off", + "no-const-assign": "off" } } diff --git a/src/api/system/area.ts b/src/api/system/area.ts new file mode 100644 index 0000000..07a4c5f --- /dev/null +++ b/src/api/system/area.ts @@ -0,0 +1,79 @@ +/** + * 区域管理接口 + */ +import request from '../index' +const prefix = 'sys' + +// 区域查询 +export function getAreaListPage(params: object) { + return request({ + url: `${prefix}/area/listPage`, + method: 'get', + params, + }) +} + +// 根据部门找其默认区域 +export function getAreaByDept(deptid) { + return request({ + url: 'config/getAreaByDept', + method: 'get', + params: { + deptId: deptid, + }, + }) +} +// 区域查询 +export function getAreaList(pid) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params: { + pid, + }, + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: `${prefix}/area/list`, + method: 'get', + params, + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: `${prefix}/dict/code/levelType`, + method: 'get', + }) +} + +// 添加区域 +export function addArea(data) { + return request({ + url: `${prefix}/area/add`, + method: 'post', + data, + }) +} +// 修改区域机构 +export function updateArea(data) { + return request({ + url: `${prefix}/area/update`, + method: 'post', + data, + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: `${prefix}/area/delete`, + method: 'post', + data: { + id, + }, + }) +} + diff --git a/src/api/system/log.ts b/src/api/system/log.ts index acb8fba..fb4a0e7 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -2,10 +2,11 @@ * 日志管理接口 */ import request from '../index' +const prefix = 'sys' // 操作日志查询 export function getBizLogList(params) { return request({ - url: 'sys/log/biz/list', + url: `${prefix}/log/biz/list`, method: 'get', params, }) @@ -13,14 +14,14 @@ // 操作日志详情 export function getBizLogDetail(id: string) { return request({ - url: `sys/log/biz/detail/${id}`, + url: `${prefix}/log/biz/detail/${id}`, method: 'get', }) } // 异常日志查询 export function getErrorLogList(params) { return request({ - url: 'sys/log/error/list', + url: `${prefix}/log/error/list`, method: 'get', params, }) @@ -28,14 +29,14 @@ // 异常日志详情 export function getErrorLogDetail(id: string) { return request({ - url: `sys/log/error/detail/${id}`, + url: `${prefix}/log/error/detail/${id}`, method: 'get', }) } // 日志类型查询 export function getLogType() { return request({ - url: 'sys/dict/code/logType', + url: `${prefix}/dict/code/logType`, method: 'get', }) } @@ -43,7 +44,7 @@ // 删除业务日志 export function delLog() { return request({ - url: 'sys/log/biz/delLog', + url: `${prefix}/log/biz/delLog`, method: 'post', }) } @@ -51,7 +52,7 @@ // 删除异常日志 export function delErrorLog() { return request({ - url: 'sys/log/error/delLog', + url: `${prefix}/log/error/delLog`, method: 'post', }) } @@ -59,7 +60,7 @@ // 登录日志查询 export function getLoginLogList(params) { return request({ - url: 'sys/loginLog/list', + url: `${prefix}/loginLog/list`, method: 'get', params, }) @@ -67,7 +68,7 @@ // 删除日志 export function delLoginLog() { return request({ - url: 'sys/loginLog/delLoginLog', + url: `${prefix}/loginLog/delLoginLog`, method: 'post', }) } diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts new file mode 100644 index 0000000..386cd18 --- /dev/null +++ b/src/api/system/tenant.ts @@ -0,0 +1,55 @@ +/* + * 项目管理接口 +*/ +import qs from 'qs' +import request from '../index' +const prefix = 'sys' + +// 项目管理查询 +export function getTenantList(params: object) { + return request({ + url: 'bus/tenant/list', + method: 'get', + params, + }) +} + +// 添加项目管理 +export function addTenant(data: object) { + return request({ + url: `${prefix}/tenant/add`, + method: 'post', + data, + }) +} +// 修改项目管理 +export function updateTenant(data: object) { + return request({ + url: `${prefix}/tenant/update`, + method: 'post', + data, + }) +} + +// 修改项目管理 +export function relatedDept(data: object) { + return request({ + url: 'bus/tenant/relateTenant', + method: 'post', + data, + }) +} + +// 删除项目管理 +export function delTenantSys(ids: any) { + return request({ + url: `${prefix}/tenant/delete`, + method: 'post', + params: { + ids, + }, + paramsSerializer: (params) => { + return qs.stringify(params, { indices: false }) + }, + }) +} diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index f39f4b2..a7d1766 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -179,7 +179,7 @@ meta: { title: '业务日志', icon: 'ep:key', - auth: '/sys/resource', + auth: '/sys/log/biz/list', }, children: [ { @@ -188,7 +188,7 @@ component: () => import('@/views/system/log/list.log.vue'), meta: { title: '业务日志', - auth: '/sys/resource', + auth: '/sys/log/biz/list', sidebar: false, breadcrumb: true, }, @@ -203,7 +203,7 @@ meta: { title: '异常日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/log/error/list', }, children: [ { @@ -212,7 +212,7 @@ component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - auth: '/sys/role', + auth: '/sys/log/error/list', sidebar: false, breadcrumb: true, }, @@ -227,7 +227,7 @@ meta: { title: '登录日志', icon: 'ep:key', - auth: '/sys/role', + auth: '/sys/loginLog', }, children: [ { @@ -236,7 +236,7 @@ component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - auth: '/sys/role', + auth: '/sys/loginLog', sidebar: false, breadcrumb: true, }, diff --git a/src/views/system/area/areaSelectTree.vue b/src/views/system/area/areaSelectTree.vue new file mode 100644 index 0000000..a6ddd4c --- /dev/null +++ b/src/views/system/area/areaSelectTree.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/views/system/area/area_interface.ts b/src/views/system/area/area_interface.ts new file mode 100644 index 0000000..627a360 --- /dev/null +++ b/src/views/system/area/area_interface.ts @@ -0,0 +1,21 @@ +export interface IlistQuery { + keywords: string + offset: number + limit: number + sort: string + order: string +} + +export interface IareaForm { + id: string // 编号 + pid: string // 父级编号 + pName: string // 父级名称 + areaName: string // 区域名 + simpleName: string // 别名, + level: string + num: number // 排序 +} + +export interface IlistQuerySelectTree { + pid: string +} diff --git a/src/views/system/area/editArea.vue b/src/views/system/area/editArea.vue new file mode 100644 index 0000000..799120c --- /dev/null +++ b/src/views/system/area/editArea.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/system/area/list.area.vue b/src/views/system/area/list.area.vue index e620b3d..d071f14 100644 --- a/src/views/system/area/list.area.vue +++ b/src/views/system/area/list.area.vue @@ -1,14 +1,169 @@ - + + diff --git a/src/views/system/log/listErrorLog.vue b/src/views/system/log/listErrorLog.vue index b17e2c3..afd1ee7 100644 --- a/src/views/system/log/listErrorLog.vue +++ b/src/views/system/log/listErrorLog.vue @@ -1,14 +1,15 @@ + + + diff --git a/src/views/system/log/log_interface.ts b/src/views/system/log/log_interface.ts index 9269bdd..09be72c 100644 --- a/src/views/system/log/log_interface.ts +++ b/src/views/system/log/log_interface.ts @@ -2,18 +2,7 @@ keywords: string beginTime: string endTime: string - // logType: '业务日志', - offset: number - limit: number - sort: string - order: string -} - -export interface IlistQueryError { - keywords: string - beginTime: string - endTime: string - logType: string + logType?: string offset: number limit: number sort: string diff --git a/src/views/system/log/loginLog.vue b/src/views/system/log/loginLog.vue index 068b97b..0f40674 100644 --- a/src/views/system/log/loginLog.vue +++ b/src/views/system/log/loginLog.vue @@ -1,10 +1,12 @@ + + + diff --git a/src/views/system/role/data.perm.vue b/src/views/system/role/data.perm.vue new file mode 100644 index 0000000..7276e21 --- /dev/null +++ b/src/views/system/role/data.perm.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/system/role/function.perm.vue b/src/views/system/role/function.perm.vue index 178e924..294dc9f 100644 --- a/src/views/system/role/function.perm.vue +++ b/src/views/system/role/function.perm.vue @@ -24,6 +24,8 @@ children: 'children', } const filterText = ref('') +// 所有资源id +const resourceIds = ref([]) // 资源树列表数据 const treeList = ref([]) // 默认展开项 @@ -65,10 +67,12 @@ loading.value = true getResourceListByRole(roleid).then((response) => { if (response.data) { + resourceIds.value = response.data.map((item: { id: string }) => item.id) treeList.value = toTreeList(response.data) const temp = getShowItem(response.data) // 获取展开项和选中项 defaultExpanded.value = temp.expandList defaultChecked.value = temp.openedList + tree.value.setCheckedKeys(temp.openedList) loading.value = false } }) @@ -101,7 +105,7 @@ } // 全选或全不选 function handleCheckedTreeNodeAll(value: boolean) { - tree.value.setCheckedNodes(value ? treeList.value : []) + tree.value.setCheckedKeys(value ? resourceIds.value : []) } const filterNode = (value: string, data: { name: string }) => data.name?.includes(value) diff --git a/src/views/system/role/list.role.vue b/src/views/system/role/list.role.vue index 96f4dfb..be01103 100644 --- a/src/views/system/role/list.role.vue +++ b/src/views/system/role/list.role.vue @@ -6,12 +6,21 @@ import type { DataScopeTypeInfo, RoleInfo } from './role_interface' import SystemEditRole from './edit.role.vue' import FunctionPerm from './function.perm.vue' +import DataPerm from './data.perm.vue' import { delRole, getDataScopeTypeList, getRoleList } from '@/api/system/role' import { toTreeList } from '@/utils/structure' const { proxy } = getCurrentInstance() as any const editDialog = ref() // 组件 +// 数据权限类型字典 +const dataScopeTypeDict: { [key: string]: string } = { + 1: '所有数据', + 2: '所属及下属部门', + 3: '本部门', + 4: '自定义', +} + // 默认查询条件 const defaultQuery = { keyword: '', @@ -27,8 +36,9 @@ const columns = ref([ { text: '角色名称', value: 'name', align: 'left' }, { text: '所在组织机构', value: 'deptName' }, - { text: '排序', value: 'num', width: 80 }, + { text: '数据权限类型', value: 'dataScopeTypeName' }, { text: '别名', value: 'tips' }, + { text: '排序', value: 'num', width: 80 }, ]) // 数据列表 const list: Ref = ref([]) @@ -42,7 +52,13 @@ function fetchData() { loading.value = true getRoleList(listQuery).then((res) => { - const treeData = toTreeList(res.data) + const data = res.data.map((item: RoleInfo): RoleInfo => { + return { + ...item, + dataScopeTypeName: dataScopeTypeDict[parseInt(item.dataScopeType)], + } + }) + const treeData = toTreeList(data) list.value = treeData loading.value = false }) @@ -81,10 +97,17 @@ editDialog.value.initDialog('create') } +// 打开功能权限菜单 const functionPerm = ref() function openFunctionPerm(row: RoleInfo) { functionPerm.value.initDialog(row) } + +// 打开数据权限菜单 +const dataPerm = ref() +function openDataPerm(row: RoleInfo) { + dataPerm.value.initDialog(row) +} // 表格组件 const table = ref() const expansion = ref(false) @@ -126,26 +149,28 @@ - + + diff --git a/src/views/system/role/role_interface.ts b/src/views/system/role/role_interface.ts index 47032e6..d3847c3 100644 --- a/src/views/system/role/role_interface.ts +++ b/src/views/system/role/role_interface.ts @@ -10,6 +10,7 @@ name: string // 角色名 tips: string // 别名 dataScopeType: string // 数据权限类型 + dataScopeTypeName?: string // 数据权限类型名称 pid: string // 父角色 deptId: string // 组织机构 num: number // 排序 diff --git a/src/views/system/tenant/editTenant.vue b/src/views/system/tenant/editTenant.vue new file mode 100644 index 0000000..3226635 --- /dev/null +++ b/src/views/system/tenant/editTenant.vue @@ -0,0 +1,206 @@ + + + diff --git a/src/views/system/tenant/list.tenant.vue b/src/views/system/tenant/list.tenant.vue index f651ed0..c434b42 100644 --- a/src/views/system/tenant/list.tenant.vue +++ b/src/views/system/tenant/list.tenant.vue @@ -1,12 +1,160 @@ - diff --git a/src/views/system/tenant/tenant_interface.ts b/src/views/system/tenant/tenant_interface.ts new file mode 100644 index 0000000..d13898d --- /dev/null +++ b/src/views/system/tenant/tenant_interface.ts @@ -0,0 +1,15 @@ +export interface IlistQuery { + tenantName: string + offset: number + sort: string + order: string +} +export interface IdeviceForm { + id: string // 主键 + tenantCode: string // 项目编码 + tenantName: string // 项目名称 + linkPerson: string // 联系人 + tel: string // 联系电话 + clearday: string // 清除时间 +} +