diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ diff --git a/src/api/area.js b/src/api/area.js deleted file mode 100644 index 1207d91..0000000 --- a/src/api/area.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 区域接口 - */ -import request from '@/utils/request' -// 区域查询 -export function getAreaList(params) { - return request({ - url: 'area/listPage', - method: 'get', - params - }) -} -// 区域查询,非分页,加载树用 -export function getAreaTree(params) { - return request({ - url: 'area/list', - method: 'get', - params - }) -} -// 区域类型查询 -export function getAreaType() { - return request({ - url: 'dict/code/levelType', - method: 'get' - }) -} - -// 添加区域 -export function addArea(params) { - return request({ - url: 'area/add', - method: 'post', - params - }) -} -// 修改区域机构 -export function updateArea(params) { - return request({ - url: 'area/update', - method: 'post', - params - }) -} -// 删除区域机构 -export function delArea(id) { - return request({ - url: 'area/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dept.js b/src/api/dept.js deleted file mode 100644 index ae3dd22..0000000 --- a/src/api/dept.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 组织机构接口 - */ -import request from '@/utils/request' -// 组织查询 -export function getDeptList(params) { - return request({ - url: 'dept/list', - method: 'get', - params - }) -} -// 组织机构树列表 -export function getDeptTreeList(params) { - return request({ - url: 'dept/tree', - method: 'get', - params - }) -} - -// 组织机构树列表 -export function getDeptTreeListByPid(pid) { - return request({ - url: 'dept/listByPid', - method: 'get', - data: { - pid: pid - } - }) -} -// 根据角色获取组织机构树列表 -export function getDeptTreeByRole(roleId) { - return request({ - url: 'role/treeByRoleId', - method: 'get', - params: { - roleId - } - }) -} - -// 添加组织机构 -export function addDept(params) { - return request({ - url: 'dept/add', - method: 'post', - params - }) -} -// 修改组织机构 -export function updateDept(params) { - return request({ - url: 'dept/update', - method: 'post', - params - }) -} -// 删除组织机构 -export function delDept(id) { - return request({ - url: 'dept/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/dict.js b/src/api/dict.js deleted file mode 100644 index 3415b6d..0000000 --- a/src/api/dict.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 字典接口 - */ -import request from '@/utils/request' -// 字典查询 -export function getDictList(params) { - return request({ - url: 'dict/listPage', - method: 'get', - params - }) -} - -// 添加字典 -export function addDict(params) { - return request({ - url: 'dict/add', - method: 'post', - params - }) -} -// 修改字典机构 -export function updateDict(params) { - return request({ - url: 'dict/update', - method: 'post', - params - }) -} -// 删除字典机构 -export function delDict(id) { - return request({ - url: 'dict/delete', - method: 'post', - params: { - dictId: id - } - }) -} diff --git a/src/api/log.js b/src/api/log.js deleted file mode 100644 index 1dbb3a3..0000000 --- a/src/api/log.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 日志管理接口 - */ -import request from '@/utils/request' -// 日志查询 -export function getLogList(params) { - return request({ - url: 'log/list', - method: 'post', - params - }) -} -// 日志查询 -export function getLogDetail(id) { - return request({ - url: 'log/detail/' + id, - method: 'get' - }) -} -// 日志类型查询 -export function getLogType() { - return request({ - url: 'dict/code/logType', - method: 'get' - }) -} - -// 删除日志 -export function delLog() { - return request({ - url: 'log/delLog', - method: 'post' - }) -} - -// 登录日志查询 -export function getLoginLogList(params) { - return request({ - url: 'loginLog/list', - method: 'get', - params - }) -} -// 删除日志 -export function delLoginLog() { - return request({ - url: 'loginLog/delLoginLog', - method: 'post' - }) -} diff --git a/src/api/resource.js b/src/api/resource.js deleted file mode 100644 index bd57641..0000000 --- a/src/api/resource.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 资源管理接口 - */ -import request from '@/utils/request' -// 资源查询 -export function getResourceList(params) { - return request({ - url: 'resource/list', - method: 'get', - params - }) -} -// 资源查询 -export function getResourceListByRole(roleId) { - return request({ - url: 'resource/treeListByRoleId', - method: 'get', - params: { - roleId: roleId - } - }) -} -// 资源树列表 -export function getResourceTreeList() { - return request({ - url: 'resource/tree', - method: 'get' - }) -} - -// 资源类型列表 -export function getResourceTypeList() { - return request({ - url: 'dict/code/resourceType', - method: 'get' - }) -} - -// 添加资源 -export function addResource(params) { - return request({ - url: 'resource/add', - method: 'post', - params - }) -} -// 修改资源 -export function updateResource(params) { - return request({ - url: 'resource/update', - method: 'post', - params - }) -} -// 删除资源 -export function delResource(id) { - return request({ - url: 'resource/delete', - method: 'post', - params: { - id: id - } - }) -} diff --git a/src/api/role.js b/src/api/role.js deleted file mode 100644 index 573f948..0000000 --- a/src/api/role.js +++ /dev/null @@ -1,83 +0,0 @@ -import qs from 'qs' -/** - * 角色管理接口 - */ -import request from '@/utils/request' -// 角色查询 -export function getRoleList(params) { - return request({ - url: 'role/list', - method: 'get', - params - }) -} -// 角色机构树列表 -export function getRoleTreeList() { - return request({ - url: 'role/tree', - method: 'get' - }) -} -// 根据用户获取角色机构树列表 -export function getRoleTreeListByUser(userId) { - return request({ - url: 'role/treeByUserId', - method: 'get', - params: { - userId: userId - } - }) -} - -// 添加角色机构 -export function addRole(params) { - return request({ - url: 'role/add', - method: 'post', - params - }) -} -// 修改角色机构 -export function updateRole(params) { - return request({ - url: 'role/update', - method: 'post', - params - }) -} -// 删除角色机构 -export function delRole(id) { - return request({ - url: 'role/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 功能授权, 改为body -export function funcAuthor(roleId, ids) { - return request({ - url: 'role/funcAuthorJson', - method: 'post', - data: { - roleId: roleId, - ids: ids - } - }) -} -// 数据授权 -export function dataAuthor(roleId, ids) { - return request({ - url: 'role/dataAuthor', - method: 'post', - params: { - roleId: roleId, - ids: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} diff --git a/src/api/system/area.js b/src/api/system/area.js new file mode 100644 index 0000000..ee118ec --- /dev/null +++ b/src/api/system/area.js @@ -0,0 +1,76 @@ +/** + * 区域管理接口 + */ +import request from '@/utils/request' +// 区域查询 +export function getAreaListPage(params) { + return request({ + url: '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: 'area/list', + method: 'get', + params: { + pid: pid + } + }) +} + +// 区域查询,非分页,加载树用 +export function getAreaTree(params) { + return request({ + url: 'area/list', + method: 'get', + params + }) +} +// 区域类型查询 +export function getAreaType() { + return request({ + url: 'dict/code/levelType', + method: 'get' + }) +} + +// 添加区域 +export function addArea(params) { + return request({ + url: 'area/add', + method: 'post', + params + }) +} +// 修改区域机构 +export function updateArea(params) { + return request({ + url: 'area/update', + method: 'post', + params + }) +} +// 删除区域机构 +export function delArea(id) { + return request({ + url: 'area/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js new file mode 100644 index 0000000..ae3dd22 --- /dev/null +++ b/src/api/system/dept.js @@ -0,0 +1,68 @@ +/** + * 组织机构接口 + */ +import request from '@/utils/request' +// 组织查询 +export function getDeptList(params) { + return request({ + url: 'dept/list', + method: 'get', + params + }) +} +// 组织机构树列表 +export function getDeptTreeList(params) { + return request({ + url: 'dept/tree', + method: 'get', + params + }) +} + +// 组织机构树列表 +export function getDeptTreeListByPid(pid) { + return request({ + url: 'dept/listByPid', + method: 'get', + data: { + pid: pid + } + }) +} +// 根据角色获取组织机构树列表 +export function getDeptTreeByRole(roleId) { + return request({ + url: 'role/treeByRoleId', + method: 'get', + params: { + roleId + } + }) +} + +// 添加组织机构 +export function addDept(params) { + return request({ + url: 'dept/add', + method: 'post', + params + }) +} +// 修改组织机构 +export function updateDept(params) { + return request({ + url: 'dept/update', + method: 'post', + params + }) +} +// 删除组织机构 +export function delDept(id) { + return request({ + url: 'dept/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/dict.js b/src/api/system/dict.js new file mode 100644 index 0000000..3415b6d --- /dev/null +++ b/src/api/system/dict.js @@ -0,0 +1,39 @@ +/** + * 字典接口 + */ +import request from '@/utils/request' +// 字典查询 +export function getDictList(params) { + return request({ + url: 'dict/listPage', + method: 'get', + params + }) +} + +// 添加字典 +export function addDict(params) { + return request({ + url: 'dict/add', + method: 'post', + params + }) +} +// 修改字典机构 +export function updateDict(params) { + return request({ + url: 'dict/update', + method: 'post', + params + }) +} +// 删除字典机构 +export function delDict(id) { + return request({ + url: 'dict/delete', + method: 'post', + params: { + dictId: id + } + }) +} diff --git a/src/api/system/log.js b/src/api/system/log.js new file mode 100644 index 0000000..1dbb3a3 --- /dev/null +++ b/src/api/system/log.js @@ -0,0 +1,50 @@ +/** + * 日志管理接口 + */ +import request from '@/utils/request' +// 日志查询 +export function getLogList(params) { + return request({ + url: 'log/list', + method: 'post', + params + }) +} +// 日志查询 +export function getLogDetail(id) { + return request({ + url: 'log/detail/' + id, + method: 'get' + }) +} +// 日志类型查询 +export function getLogType() { + return request({ + url: 'dict/code/logType', + method: 'get' + }) +} + +// 删除日志 +export function delLog() { + return request({ + url: 'log/delLog', + method: 'post' + }) +} + +// 登录日志查询 +export function getLoginLogList(params) { + return request({ + url: 'loginLog/list', + method: 'get', + params + }) +} +// 删除日志 +export function delLoginLog() { + return request({ + url: 'loginLog/delLoginLog', + method: 'post' + }) +} diff --git a/src/api/system/resource.js b/src/api/system/resource.js new file mode 100644 index 0000000..bd57641 --- /dev/null +++ b/src/api/system/resource.js @@ -0,0 +1,64 @@ +/** + * 资源管理接口 + */ +import request from '@/utils/request' +// 资源查询 +export function getResourceList(params) { + return request({ + url: 'resource/list', + method: 'get', + params + }) +} +// 资源查询 +export function getResourceListByRole(roleId) { + return request({ + url: 'resource/treeListByRoleId', + method: 'get', + params: { + roleId: roleId + } + }) +} +// 资源树列表 +export function getResourceTreeList() { + return request({ + url: 'resource/tree', + method: 'get' + }) +} + +// 资源类型列表 +export function getResourceTypeList() { + return request({ + url: 'dict/code/resourceType', + method: 'get' + }) +} + +// 添加资源 +export function addResource(params) { + return request({ + url: 'resource/add', + method: 'post', + params + }) +} +// 修改资源 +export function updateResource(params) { + return request({ + url: 'resource/update', + method: 'post', + params + }) +} +// 删除资源 +export function delResource(id) { + return request({ + url: 'resource/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js new file mode 100644 index 0000000..99ff16e --- /dev/null +++ b/src/api/system/role.js @@ -0,0 +1,91 @@ +import qs from 'qs' +/** + * 角色管理接口 + */ +import request from '@/utils/request' +// 角色查询 +export function getRoleList(params) { + return request({ + url: 'role/list', + method: 'get', + params + }) +} +// 角色机构树列表 +export function getRoleTreeList() { + return request({ + url: 'role/tree', + method: 'get' + }) +} +// 根据用户获取角色机构树列表 +export function getRoleTreeListByUser(userId) { + return request({ + url: 'role/treeByUserId', + method: 'get', + params: { + userId: userId + } + }) +} + +// 添加角色机构 +export function addRole(params) { + return request({ + url: 'role/add', + method: 'post', + params + }) +} +// 修改角色机构 +export function updateRole(params) { + return request({ + url: 'role/update', + method: 'post', + params + }) +} +// 删除角色机构 +export function delRole(id) { + return request({ + url: 'role/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 功能授权, 改为body +export function funcAuthor(roleId, ids) { + return request({ + url: 'role/funcAuthorJson', + method: 'post', + data: { + roleId: roleId, + ids: ids + } + }) +} +// 数据授权 +export function dataAuthor(roleId, ids) { + return request({ + url: 'role/dataAuthor', + method: 'post', + params: { + roleId: roleId, + ids: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} + +// 角色类型列表 +export function getDataScopeTypeList() { + return request({ + url: 'dict/code/dataScopeType', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js new file mode 100644 index 0000000..02a38d0 --- /dev/null +++ b/src/api/system/user.js @@ -0,0 +1,95 @@ +/** + * 用户管理接口 + */ +import request from '@/utils/request' +import qs from 'qs' + +// 用户查询 +export function getUserList(params) { + return request({ + url: 'mgr/list', + method: 'post', + params + }) +} + +// 添加用户 +export function addUser(params) { + return request({ + url: 'mgr/add', + method: 'post', + params + }) +} +// 修改用户 +export function updateUser(params) { + return request({ + url: 'mgr/update', + method: 'post', + params + }) +} +// 删除用户 +export function delUser(id) { + return request({ + url: 'mgr/delete', + method: 'post', + params: { + id: id + } + }) +} + +// 冻结用户 +export function freezeUser(id) { + return request({ + url: 'mgr/freeze', + method: 'post', + params: { + id: id + } + }) +} +// 冻结用户 +export function unfreezeUser(id) { + return request({ + url: 'mgr/unfreeze', + method: 'post', + params: { + id: id + } + }) +} + +// 重置用户密码 +export function resetPwd(params) { + return request({ + url: 'mgr/reset', + method: 'post', + params + }) +} + +// 修改密码 +export function changePwd(params) { + return request({ + url: 'mgr/changePwd', + method: 'post', + params + }) +} + +// 分配角色 +export function roleAssign(userId, ids) { + return request({ + url: 'mgr/roleAssign', + method: 'post', + params: { + userId: userId, + roleIds: ids + }, + paramsSerializer: params => { + return qs.stringify(params, { indices: false }) + } + }) +} diff --git a/src/api/user.js b/src/api/user.js deleted file mode 100644 index 3b67ef5..0000000 --- a/src/api/user.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 用户管理接口 - */ -import request from '@/utils/request' -import qs from 'qs' - -// 用户查询 -export function getUserList(params) { - return request({ - url: 'mgr/list', - method: 'post', - params - }) -} - -// 添加用户 -export function addUser(params) { - return request({ - url: 'mgr/add', - method: 'post', - params - }) -} -// 修改用户 -export function updateUser(params) { - return request({ - url: 'mgr/update', - method: 'post', - params - }) -} -// 删除用户 -export function delUser(id) { - return request({ - url: 'mgr/delete', - method: 'post', - params: { - id: id - } - }) -} - -// 冻结用户 -export function freezeUser(id) { - return request({ - url: 'mgr/freeze', - method: 'post', - params: { - id: id - } - }) -} -// 冻结用户 -export function unfreezeUser(id) { - return request({ - url: 'mgr/unfreeze', - method: 'post', - params: { - id: id - } - }) -} - -// 重置用户密码 -export function resetPwd(params) { - return request({ - url: 'mgr/reset', - method: 'post', - params - }) -} - -// 修改密码 -export function changePwd(params) { - return request({ - url: 'mgr/changePwd', - method: 'post', - params - }) -} - -// 分配角色 -export function roleAssign(userId, ids) { - return request({ - url: 'mgr/roleAssign', - method: 'post', - params: { - userId: userId, - roleIds: ids - }, - paramsSerializer: params => { - return qs.stringify(params, { indices: false }) - } - }) -} - -// 在线用户查询 -export function getUserOnLine(params) { - return request({ - url: '/userDevice/userDeviceOnLine', - method: 'get', - params - }) -} diff --git a/src/components/DeptSelect/index.vue b/src/components/DeptSelect/index.vue index 7907f3c..6147dd7 100644 --- a/src/components/DeptSelect/index.vue +++ b/src/components/DeptSelect/index.vue @@ -14,7 +14,7 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ diff --git a/src/views/system/role/listRole.vue b/src/views/system/role/listRole.vue index 2ce6456..c567717 100644 --- a/src/views/system/role/listRole.vue +++ b/src/views/system/role/listRole.vue @@ -1,27 +1,27 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ diff --git a/src/views/system/role/listRole.vue b/src/views/system/role/listRole.vue index 2ce6456..c567717 100644 --- a/src/views/system/role/listRole.vue +++ b/src/views/system/role/listRole.vue @@ -1,27 +1,27 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ diff --git a/src/views/system/role/listRole.vue b/src/views/system/role/listRole.vue index 2ce6456..c567717 100644 --- a/src/views/system/role/listRole.vue +++ b/src/views/system/role/listRole.vue @@ -1,27 +1,27 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ diff --git a/src/views/system/role/listRole.vue b/src/views/system/role/listRole.vue index 2ce6456..c567717 100644 --- a/src/views/system/role/listRole.vue +++ b/src/views/system/role/listRole.vue @@ -1,27 +1,27 @@ + + + diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue new file mode 100644 index 0000000..e911521 --- /dev/null +++ b/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/src/components/SearchArea/SearchArea.vue b/src/components/SearchArea/SearchArea.vue new file mode 100644 index 0000000..1175911 --- /dev/null +++ b/src/components/SearchArea/SearchArea.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/SearchArea/SearchItem.vue b/src/components/SearchArea/SearchItem.vue new file mode 100644 index 0000000..84e0096 --- /dev/null +++ b/src/components/SearchArea/SearchItem.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/layout/AppContainer.vue b/src/components/layout/AppContainer.vue new file mode 100644 index 0000000..b3243ce --- /dev/null +++ b/src/components/layout/AppContainer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue new file mode 100644 index 0000000..38c6f74 --- /dev/null +++ b/src/layout/Layout.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue new file mode 100644 index 0000000..dbc4dbd --- /dev/null +++ b/src/layout/components/AppHeader.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..2ea268e --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..24ea99b --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..cf3023d --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..4ed6b5f --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..bff45cd --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,36 @@ + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..988d662 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..2cf371d --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..0ec76e7 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1091fc0 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,287 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..52d35e3 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as AppHeader } from './AppHeader' diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..604fe3d --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,40 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('CloseSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.resizeHandler) + }, + mounted() { + const isMobile = this.isMobile() + if (isMobile) { + store.dispatch('ToggleDevice', 'mobile') + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + }, + methods: { + isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + resizeHandler() { + if (!document.hidden) { + const isMobile = this.isMobile() + store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('CloseSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js index 043a276..01e8427 100644 --- a/src/main.js +++ b/src/main.js @@ -56,6 +56,15 @@ import VCharts from 'v-charts' Vue.use(VCharts) +// 注册全局自定义布局组件 +import NormalTable from '@/components/NomalTable/index' +import SearchArea from '@/components/SearchArea/SearchArea' +import AppContainer from '@/components/layout/AppContainer' + +Vue.use(AppContainer) +Vue.use(NormalTable) +Vue.use(SearchArea) + // 先加载配置文件后,new Vue /* eslint-disable no-new */ import axios from 'axios' diff --git a/src/router/index.js b/src/router/index.js index 646647f..52dc869 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,7 +7,7 @@ Vue.use(Router) /* Layout */ -import Layout from '../views/layout/Layout' +import Layout from '../layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' import { commenetRouters } from './modules/comment' diff --git a/src/router/modules/base.js b/src/router/modules/base.js index 5812db4..c28e4b1 100644 --- a/src/router/modules/base.js +++ b/src/router/modules/base.js @@ -1,5 +1,5 @@ -import SupLayout from '../../views/layout/SupLayout' +import Layout from '../../layout/Layout' export const baseRouters = [ { path: '/base', @@ -14,7 +14,7 @@ }, { path: '/baseSource', - component: SupLayout, + component: Layout, redirect: '/baseSourceMain', name: 'BaseSource', alwaysShow: true, diff --git a/src/router/modules/comment.js b/src/router/modules/comment.js index 31eb0df..4a6531b 100644 --- a/src/router/modules/comment.js +++ b/src/router/modules/comment.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commenetRouters = [ { path: '/comment', diff --git a/src/router/modules/common.js b/src/router/modules/common.js index 3e252fd..96fcc6d 100644 --- a/src/router/modules/common.js +++ b/src/router/modules/common.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const commonRouters = [ { path: '/common', diff --git a/src/router/modules/coo.js b/src/router/modules/coo.js index 14aa37e..5bd2ded 100644 --- a/src/router/modules/coo.js +++ b/src/router/modules/coo.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const cooRouters = [ { path: '/cooperate', diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index c9727c8..6d0f9c8 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const suphandleRouters = [ { path: '/suphandle', diff --git a/src/router/modules/system.js b/src/router/modules/system.js index c80b732..2f77b38 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -1,5 +1,5 @@ /* Layout */ -import Layout from '../../views/layout/Layout' +import Layout from '../../layout/Layout' export const systemRouters = [ { path: '/sys', diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..b568ce0 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,33 @@ +module.exports = { + /** + * @type {boolean} true | false + * @description 是否显示设置按钮 + */ + showSettings: true, + + /** + * @type {boolean} true | false + * @description 是否显示tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description 是否固定面包屑和tagsViews头 + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description 是否要显示侧边栏logo + */ + sidebarLogo: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/src/store/index.js b/src/store/index.js index c7e23ff..7747f6a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import user from './modules/user' import permission from './modules/permission' import tagsView from './modules/tagsView' +import settings from './modules/settings' import getters from './getters' Vue.use(Vuex) @@ -13,7 +14,8 @@ app, user, permission, - tagsView + tagsView, + settings }, getters }) diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..bd06105 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,33 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings +const state = { + theme: variables.theme, // 主题 + showSettings: showSettings, // 是否显示设置按钮 + tagsView: tagsView, // 是否显示tagsView + fixedHeader: fixedHeader, // 是否固定面包屑 + sidebarLogo: sidebarLogo // 是否显示logo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..f11a88b --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #278df9; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +//$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; +// +//$--border-color-light: #dfe4ed; +//$--border-color-lighter: #e6ebf5; +// +//$--table-border:1px solid#dfe6ec; +// +///* icon font path, required */ +//$--font-path: '~element-ui/lib/theme-chalk/fonts'; +// +//@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss index 96a98ed..781865d 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -2,6 +2,7 @@ @import './mixin.scss'; @import './transition.scss'; @import './element-ui.scss'; +@import './element-variables'; @import './sidebar.scss'; body { @@ -57,6 +58,11 @@ text-decoration: none; } +// 去掉IE 的密码眼睛 +input::-ms-reveal { + display: none; +} + .clearfix { &:after { visibility: hidden; @@ -71,23 +77,84 @@ //main-container全局样式 .app-container { - padding: 20px; + height:100%; + min-height: calc(100vh - 158px); + //border:10px solid #ebebeb; } + .app-header{ - background-color:$themeColor; + height:$headerHeight !important; + background-color:$headerColor; width: 100%; position:fixed; + //box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); + color:$headerText; + .dropdown-container{ + height: $headerHeight; + .dropdown-wrapper{ + color:$dropDownText; + } + } } +.navbar,.navbar .hamburger-container, .el-breadcrumb, .app-breadcrumb .el-breadcrumb { + height:$breadcrumbHeight !important; + line-height: $breadcrumbHeight !important; +} + +.tags-view-container { + .tags-view-wrapper { + .tags-view-item{ + &.active { + background-color: $tagsViewActiveBg !important; + color: #fff !important; + border-color: $tagsViewActiveBg !important; + } + } + } +} +.no-head-scrollbar, has-head-scrollbar{ + .el-scrollbar__wrap{ + overflow-x: hidden; + padding: 10px; + background-color: #ebebeb; + } +} +.no-head-scrollbar{ + height: calc(100vh - 138px); +} + .app-body{ width: 100%; position:fixed; - margin-top:60px; + margin-top:$headerHeight; } .el-main{ - height: calc(100vh - 50px); + padding:0px !important; + //height: calc(100vh - $headerHeight); } .imgBox img{ max-height: 400px !important; max-width:700px !important; margin: 0px auto; } + +.table-container{ + background-color: $tableTitleColor !important; + border-top: 12px solid #ebebeb !important; + .table-title{ + background-color:#fff; + height: $tableTitleHeight; + .title-header{ + line-height:$tableTitleHeight; + color: $tableTitleText; + i{ + margin-left: 10px; + margin-right: 5px; + } + } + } +} + +.el-table td{ + padding: 4px 0px !important; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..dfa0193 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -15,7 +15,7 @@ width: $sideBarWidth !important; height: 100%; position: fixed; - padding-top:60px; + margin-top:$headerHeight; font-size: 0px; top: 0; bottom: 0; @@ -58,12 +58,14 @@ border: none; height: 100%; width: 100% !important; + background-color: $menuBg !important; } // menu hover .submenu-title-noDropdown, .el-submenu__title { &:hover { + color: $subMenuHoverText !important; background-color: $menuHover !important; } } @@ -83,6 +85,7 @@ background-color: $subMenuBg !important; &:hover { + color: $menuHoverText !important; background-color: $subMenuHover !important; } } diff --git a/src/styles/variables.scss b/src/styles/variables.scss index a19cece..d8e287e 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -1,35 +1,55 @@ +@import './element-variables'; +$themeColor:$--color-primary; +// Header +$headerColor:$themeColor; +$headerText:#ffffff; +$dropDownText: #fff; +$headerHeight: 56px; +// tagsView +$breadcrumbHeight: 48px; +$tagsViewHeight: 30px; +$tagsViewActiveBg:#66b1ff; //sidebar -$menuText:#bfcbd9; -$themeColor: rgb(40, 51, 86); -$menuText:#000000; -$subMenuText:#000000; -$menuActiveText: rgb(98, 193, 255); -//$menuActiveText:#ffffff; -$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951 -//$subMenuActiveText:#000000; //https://github.com/ElemeFE/element/issues/12951 +$menuText:#333333; +$subMenuText:#333333; +$menuActiveText:$themeColor; +$subMenuActiveText:$themeColor; //https://github.com/ElemeFE/element/issues/12951 -$menuBg: #2f3856; -//$menuBg:#ffffff; -$menuHover:#0c1f3c; -//$menuHover:#6666cc; +$menuBg:#f4f4f4; +$menuHover:#f4f4f4; +$menuHoverText:$themeColor; -$subMenuBg:#2f3856; -//$subMenuBg:#fcfcfc; -$subMenuHover: #0c1f3c; -//$subMenuHover:#6666cc; +$subMenuBg:#f4f4f4; +$subMenuHover:#f4f4f4; +$subMenuHoverText:$themeColor; +$sideBarWidth: 208px; -$sideBarWidth: 180px; +// table +$tableTitleHeight:46px; +$tableTitleColor:#fff; +$tableTitleText:#606266; // the :export directive is the magic sauce for webpack :export { themeColor: $themeColor; + headerColor: headerColor; + headerText: headerText; + dropDownText:$dropDownText; + headerHeight:$headerHeight; + breadcrumbHeight:$breadcrumbHeight; + tagsViewHeight:$tagsViewHeight; menuText: $menuText; subMenuText: $subMenuText; menuActiveText: $menuActiveText; subMenuActiveText: $subMenuActiveText; menuBg: $menuBg; menuHover: $menuHover; + menuHoverText:$menuHoverText; subMenuBg: $subMenuBg; subMenuHover: $subMenuHover; + subMenuHoverText:$subMenuHoverText; sideBarWidth: $sideBarWidth; + tableTitleHeight:$tableTitleHeight; + tableTitleColor:$tableTitleColor; + tabelTitleText:$tableTitleText; } diff --git a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue index d0ba37f..c2b1355 100644 --- a/src/views/busAdmin/areaPersonliable/areaSelectTree.vue +++ b/src/views/busAdmin/areaPersonliable/areaSelectTree.vue @@ -18,7 +18,7 @@ diff --git a/src/views/system/role/listRole.vue b/src/views/system/role/listRole.vue index 2ce6456..c567717 100644 --- a/src/views/system/role/listRole.vue +++ b/src/views/system/role/listRole.vue @@ -1,27 +1,27 @@