Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
tuia-robot-manager-node
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
杨贺晨吉
tuia-robot-manager-node
Commits
f3fbf2ef
Commit
f3fbf2ef
authored
Sep 18, 2023
by
杨贺晨吉
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 1
parent
355e7e2c
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
203 additions
and
274 deletions
+203
-274
config.js
public/config.js
+2
-2
common.js
src/api/common.js
+0
-5
index.js
src/api/index.js
+42
-44
setting.js
src/api/setting.js
+5
-5
axios.js
src/libs/axios.js
+20
-15
util.js
src/libs/util.js
+33
-158
validate.js
src/libs/validate.js
+1
-1
regular.js
src/utils/regular.js
+1
-1
Main.vue
src/views/Main.vue
+1
-1
header.vue
src/views/main-parts/header.vue
+7
-13
roleManage.vue
src/views/sys/role-manage/roleManage.vue
+81
-23
slider.vue
src/views/sys/slider/slider.vue
+7
-4
userManage.vue
src/views/sys/user-manage/userManage.vue
+1
-1
vue.config.js
vue.config.js
+2
-1
No files found.
public/config.js
View file @
f3fbf2ef
var
ls
=
'
https://mall.jiliang666.com
'
var
ls
=
''
var
BASE
=
{
/**
* @description api请求基础路径
...
...
@@ -18,5 +18,5 @@ var BASE = {
/**
* @description api请求基础路径前缀
*/
PREFIX
:
"/manager"
//
PREFIX: "/manager"
};
src/api/common.js
View file @
f3fbf2ef
...
...
@@ -21,11 +21,6 @@ export const postVerifyImg = (params) => {
};
// 获取系统基础信息
export
const
getBaseSite
=
()
=>
{
return
getRequest
(
`
${
commonUrl
}
/common/common/site`
);
};
// 上传文件
export
const
upLoadFile
=
(
bold
)
=>
{
return
uploadFileRequest
(
uploadFile
,
bold
);
...
...
src/api/index.js
View file @
f3fbf2ef
...
...
@@ -9,145 +9,143 @@ import {
putRequestWithNoForm
,
postRequestWithNoTokenData
,
postRequestWithNoForm
,
managerUrl
}
from
"@/libs/axios"
;
let
commonUrl
=
(
process
.
env
.
NODE_ENV
===
'development'
?
BASE
.
API_DEV
.
common
:
BASE
.
API_PROD
.
common
)
// 文件上传接口
export
const
uploadFile
=
commonUrl
+
"/common/common/upload/file"
;
export
const
uploadFile
=
"/common/common/upload/file"
;
// 通知提示信息
export
const
getNoticePage
=
(
params
)
=>
{
return
getRequest
(
"/statistics/index/notice"
,
params
);
return
getRequest
(
"/
manager/
statistics/index/notice"
,
params
);
};
// 登陆
export
const
login
=
(
params
)
=>
{
return
postRequestWithNoTokenData
(
"/passport/user/login"
,
params
);
return
postRequestWithNoTokenData
(
"/
manager/
passport/user/login"
,
params
);
};
// 登出
export
const
logout
=
()
=>
{
return
postRequest
(
"/passport/user/logout"
);
return
postRequest
(
"/
manager/
passport/user/logout"
);
};
// 刷新token
export
const
handleRefreshToken
=
(
token
)
=>
{
return
getRequestWithNoToken
(
`/passport/user/refresh/
${
token
}
`
);
return
getRequestWithNoToken
(
`/
manager/
passport/user/refresh/
${
token
}
`
);
};
// 获取用户登录信息
export
const
userInfo
=
(
params
)
=>
{
return
getRequest
(
"/passport/user/info"
,
params
);
return
getRequest
(
"/
manager/
passport/user/info"
,
params
);
};
// 个人中心编辑
export
const
userInfoEdit
=
(
params
)
=>
{
return
putRequest
(
"/passport/user/edit"
,
params
);
return
putRequest
(
"/
manager/
passport/user/edit"
,
params
);
};
// 个人中心修改密码
export
const
changePass
=
(
params
)
=>
{
return
putRequest
(
"/passport/user/editPassword"
,
params
);
return
putRequest
(
"/
manager/
passport/user/editPassword"
,
params
);
};
// 获取用户数据 多条件
export
const
getUserListData
=
(
params
)
=>
{
return
getRequest
(
"/passport/user"
,
params
);
return
getRequest
(
"/
manager/
passport/user"
,
params
);
};
// 添加用户
export
const
addUser
=
(
params
)
=>
{
return
postRequest
(
"/passport/user"
,
params
);
return
postRequest
(
"/
manager/
passport/user"
,
params
);
};
// 编辑用户
export
const
editOtherUser
=
(
params
)
=>
{
return
putRequest
(
"/passport/user/admin/edit"
,
params
);
return
putRequest
(
"/
manager/
passport/user/admin/edit"
,
params
);
};
// 启用用户
export
const
enableUser
=
(
id
,
params
)
=>
{
return
putRequest
(
`/passport/user/enable/
${
id
}
`
,
params
);
return
putRequest
(
`/
manager/
passport/user/enable/
${
id
}
`
,
params
);
};
// 删除用户
export
const
deleteUser
=
(
ids
,
params
)
=>
{
return
deleteRequest
(
`/passport/user/
${
ids
}
`
,
params
);
return
deleteRequest
(
`/
manager/
passport/user/
${
ids
}
`
,
params
);
};
/****************************** 部门 */
// 通过部门获取全部角色数据
export
const
getUserByDepartmentId
=
(
id
,
params
)
=>
{
return
getRequest
(
`/permission/departmentRole/
${
id
}
`
,
params
);
return
getRequest
(
`/
manager/
permission/departmentRole/
${
id
}
`
,
params
);
};
// 通过部门修改绑定角色
export
const
updateDepartmentRole
=
(
id
,
params
)
=>
{
return
putRequestWithNoForm
(
`/permission/departmentRole/
${
id
}
`
,
params
);
return
putRequestWithNoForm
(
`/
manager/
permission/departmentRole/
${
id
}
`
,
params
);
};
// 获取一级部门
export
const
initDepartment
=
(
params
)
=>
{
return
getRequest
(
"/permission/department"
,
params
);
return
getRequest
(
"/
manager/
permission/department"
,
params
);
};
// 加载部门子级数据
export
const
loadDepartment
=
(
id
)
=>
{
return
getRequest
(
`/permission/department/
${
id
}
`
);
return
getRequest
(
`/
manager/
permission/department/
${
id
}
`
);
};
// 添加部门
export
const
addDepartment
=
(
params
)
=>
{
return
postRequest
(
"/permission/department"
,
params
);
return
postRequest
(
"/
manager/
permission/department"
,
params
);
};
// 编辑部门
export
const
editDepartment
=
(
ids
,
params
)
=>
{
return
putRequest
(
`/permission/department/
${
ids
}
`
,
params
);
return
putRequest
(
`/
manager/
permission/department/
${
ids
}
`
,
params
);
};
// 删除部门
export
const
deleteDepartment
=
(
ids
,
params
)
=>
{
return
deleteRequest
(
`/permission/department/
${
ids
}
`
,
params
);
return
deleteRequest
(
`/
manager/
permission/department/
${
ids
}
`
,
params
);
};
// 搜索部门
export
const
searchDepartment
=
(
params
)
=>
{
return
getRequest
(
"/permission/department"
,
params
);
return
getRequest
(
"/
manager/
permission/department"
,
params
);
};
/****************************** 部门结束 */
// 获取全部角色数据
export
const
getAllRoleList
=
(
params
)
=>
{
return
getRequest
(
"/permission/role"
,
params
);
return
getRequest
(
"/
manager/
permission/role"
,
params
);
};
// 分页获取角色数据
export
const
getRoleList
=
(
params
)
=>
{
return
getRequest
(
"/permission/role"
,
params
);
return
getRequest
(
"/
manager/
permission/role"
,
params
);
};
// 添加角色
export
const
addRole
=
(
params
)
=>
{
return
postRequest
(
"/permission/role"
,
params
);
return
postRequest
(
"/
manager/
permission/role"
,
params
);
};
// 编辑角色
export
const
editRole
=
(
params
)
=>
{
return
putRequest
(
`/permission/role/
${
params
.
roleId
}
`
,
params
);
return
putRequest
(
`/
manager/
permission/role/
${
params
.
roleId
}
`
,
params
);
};
// 查看某角色拥有的菜单
export
const
selectRoleMenu
=
(
params
)
=>
{
return
getRequest
(
`/permission/roleMenu/
${
params
}
`
);
return
getRequest
(
`/
manager/
permission/roleMenu/
${
params
}
`
);
};
// 保存角色菜单
export
const
saveRoleMenu
=
(
id
,
params
)
=>
{
return
postRequestWithNoForm
(
`/permission/roleMenu/
${
id
}
`
,
params
);
return
postRequestWithNoForm
(
`/
manager/
permission/roleMenu/
${
id
}
`
,
params
);
};
// 分配角色权限
export
const
editRolePerm
=
(
params
)
=>
{
return
postRequest
(
"/permission/role/editRolePerm"
,
params
);
return
postRequest
(
"/
manager/
permission/role/editRolePerm"
,
params
);
};
// 分配角色数据权限
export
const
editRoleDep
=
(
params
)
=>
{
return
postRequest
(
"/permission/role/editRoleDep"
,
params
);
return
postRequest
(
"/
manager/
permission/role/editRoleDep"
,
params
);
};
// 删除角色
export
const
deleteRole
=
(
ids
,
params
)
=>
{
return
deleteRequest
(
`/permission/role/
${
ids
}
`
,
params
);
return
deleteRequest
(
`/
manager/
permission/role/
${
ids
}
`
,
params
);
};
/****************************** 角色结束 */
...
...
@@ -156,59 +154,59 @@ export const deleteRole = (ids, params) => {
/****************************** 权限 */
// 获取全部权限数据
export
const
getAllPermissionList
=
(
params
)
=>
{
return
getRequest
(
"/permission/menu/tree"
,
params
);
return
getRequest
(
"/
manager/
permission/menu/tree"
,
params
);
};
// 获取全部权限数据
export
const
getCurrentPermissionList
=
(
params
)
=>
{
return
getRequest
(
"/permission/menu/memberMenu"
,
params
);
return
getRequest
(
"/
manager/
permission/menu/memberMenu"
,
params
);
};
// 添加权限
export
const
addPermission
=
(
params
)
=>
{
return
postRequest
(
"/permission/menu"
,
params
);
return
postRequest
(
"/
manager/
permission/menu"
,
params
);
};
// 编辑权限
export
const
editPermission
=
(
params
)
=>
{
return
putRequest
(
`/permission/menu/
${
params
.
id
}
`
,
params
);
return
putRequest
(
`/
manager/
permission/menu/
${
params
.
id
}
`
,
params
);
};
// 删除权限
export
const
deletePermission
=
(
ids
,
params
)
=>
{
return
deleteRequest
(
`/permission/menu/
${
ids
}
`
,
params
);
return
deleteRequest
(
`/
manager/
permission/menu/
${
ids
}
`
,
params
);
};
// 搜索权限
export
const
searchPermission
=
(
params
)
=>
{
return
getRequest
(
"/permission/menu"
,
params
);
return
getRequest
(
"/
manager/
permission/menu"
,
params
);
};
/****************************** 权限结束 */
// 分页获取文件数据
export
const
getFileListData
=
(
params
)
=>
{
return
getRequest
(
"/common/file"
,
params
);
return
getRequest
(
"/
manager/
common/file"
,
params
);
};
// 重命名文件
export
const
renameFile
=
(
params
)
=>
{
return
postRequest
(
"/common/file/rename"
,
params
);
return
postRequest
(
"/
manager/
common/file/rename"
,
params
);
};
// 删除文件
export
const
deleteFile
=
(
ids
,
params
)
=>
{
return
deleteRequest
(
`/common/file/delete/
${
ids
}
`
,
params
);
return
deleteRequest
(
`/
manager/
common/file/delete/
${
ids
}
`
,
params
);
};
// 下载文件
export
const
aliDownloadFile
=
(
fKey
,
params
)
=>
{
return
getRequest
(
`/file/ali/download/
${
fKey
}
`
,
params
);
return
getRequest
(
`/
manager/
file/ali/download/
${
fKey
}
`
,
params
);
};
// base64上传
export
const
base64Upload
=
(
params
)
=>
{
return
postRequest
(
"/common/common/upload/file"
,
params
);
return
postRequest
(
"/
manager/
common/common/upload/file"
,
params
);
};
// 重置用户密码
export
const
resetPassword
=
(
params
)
=>
{
return
postRequest
(
`/passport/user/resetPassword/
${
params
}
`
);
return
postRequest
(
`/
manager/
passport/user/resetPassword/
${
params
}
`
);
};
src/api/setting.js
View file @
f3fbf2ef
...
...
@@ -6,25 +6,25 @@ import {
}
from
'@/libs/axios'
;
// 验证码源文件删除
export
const
delVerification
=
(
id
)
=>
{
return
deleteRequest
(
`/other/verificationSource/
${
id
}
`
)
return
deleteRequest
(
`/
manager/
other/verificationSource/
${
id
}
`
)
}
// 添加验证码源文件
export
const
addVerification
=
(
params
)
=>
{
return
postRequest
(
`/other/verificationSource`
,
params
)
return
postRequest
(
`/
manager/
other/verificationSource`
,
params
)
}
// 修改验证码源文件
export
const
editVerification
=
(
id
,
params
)
=>
{
return
putRequest
(
`/other/verificationSource/
${
id
}
`
,
params
)
return
putRequest
(
`/
manager/
other/verificationSource/
${
id
}
`
,
params
)
}
// 验证码源文件详情
export
const
verificationDetail
=
(
id
)
=>
{
return
getRequest
(
`/other/verificationSource/
${
id
}
`
)
return
getRequest
(
`/
manager/
other/verificationSource/
${
id
}
`
)
}
// 验证码源文件列表
export
const
verificationPage
=
(
params
)
=>
{
return
getRequest
(
`/other/verificationSource`
,
params
)
return
getRequest
(
`/
manager/
other/verificationSource`
,
params
)
}
\ No newline at end of file
src/libs/axios.js
View file @
f3fbf2ef
...
...
@@ -7,21 +7,19 @@ import { handleRefreshToken } from "../api/index";
import
{
v4
as
uuidv4
}
from
'uuid'
;
// 统一请求路径前缀
export
const
commonUrl
=
process
.
env
.
NODE_ENV
===
"development"
?
BASE
.
API_DEV
.
common
:
BASE
.
API_PROD
.
common
;
export
const
managerUrl
=
(
process
.
env
.
NODE_ENV
===
"development"
?
BASE
.
API_DEV
.
manager
:
BASE
.
API_PROD
.
manager
)
+
BASE
.
PREFIX
;
export
const
commonUrl
=
''
//
process.env.NODE_ENV === "development"
//
? BASE.API_DEV.common
//
: BASE.API_PROD.common;
export
const
managerUrl
=
''
//
(process.env.NODE_ENV === "development"
//
? BASE.API_DEV.manager
// : BASE.API_PROD.manager)
;
// 文件上传接口
export
const
uploadFile
=
commonUrl
+
"/common/common/upload/file"
;
const
service
=
axios
.
create
({
timeout
:
80000
,
baseURL
:
managerUrl
timeout
:
80000
});
var
isRefreshToken
=
0
;
const
refreshToken
=
getTokenDebounce
();
...
...
@@ -171,9 +169,18 @@ function getTokenDebounce() {
};
}
function
formatParams
(
params
)
{
console
.
log
(
'params'
,
params
)
if
(
!
params
||
params
==
null
||
params
==
undefined
)
return
params
let
copyP
=
JSON
.
parse
(
JSON
.
stringify
(
params
))
for
(
let
item
in
copyP
)
{
if
(
copyP
[
item
]
==
""
||
copyP
[
item
]
==
null
||
copyP
[
item
]
==
undefined
){
// // boolean 类型为false
// if(typeof copyP[item] === 'boolean') return
// // number类型,并且为0
// if(typeof copyP[item] === 'number' && copyP[item] == 0) return
if
(
copyP
[
item
]
===
""
||
copyP
[
item
]
==
null
||
copyP
[
item
]
==
undefined
){
delete
copyP
[
item
]
}
}
...
...
@@ -286,7 +293,6 @@ export const putRequestWithNoForm = (url, params) => {
method
:
"put"
,
url
:
`
${
url
}
`
,
data
:
copyP
,
headers
:
{
accessToken
:
accessToken
}
...
...
@@ -367,13 +373,12 @@ export const postRequestWithNoToken = (url, params) => {
* @param {*} params
*/
export
const
postRequestWithNoTokenData
=
(
url
,
params
)
=>
{
let
copyP
=
formatParams
(
params
)
return
service
({
method
:
"post"
,
url
:
`
${
url
}
`
,
headers
:
{
"Content-Type"
:
"application/x-www-form-urlencoded"
},
data
:
copyP
data
:
params
});
};
src/libs/util.js
View file @
f3fbf2ef
...
...
@@ -104,167 +104,42 @@ util.initRouter = function(vm) {
}
if
(
!
vm
.
$store
.
state
.
app
.
added
)
{
// 第一次加载 读取数据
// 加载菜单
let
menuData
=
[
{
"id"
:
"1681489990591033345"
,
"createBy"
:
"admin"
,
"createTime"
:
"2023-07-19 10:23:49"
,
"updateBy"
:
"admin"
,
"updateTime"
:
"2023-07-19 16:07:55"
,
"deleteFlag"
:
false
,
"title"
:
"人员管理"
,
"name"
:
"user"
,
"path"
:
"/"
,
"level"
:
0
,
"frontRoute"
:
"Main"
,
"parentId"
:
"0"
,
"sortOrder"
:
6
,
"permission"
:
"null"
,
"icon"
:
"icon-renyuanguanli-normal"
,
children
:
[
{
"id"
:
"1681491736155500545"
,
"createBy"
:
"admin"
,
"createTime"
:
"2023-07-19 10:30:45"
,
"updateBy"
:
null
,
"updateTime"
:
null
,
"deleteFlag"
:
false
,
"title"
:
"用户管理"
,
"name"
:
"user-manage"
,
"path"
:
"user-manage"
,
"level"
:
1
,
"frontRoute"
:
"sys/user-manage/userManage"
,
"parentId"
:
"1681489990591033345"
,
"sortOrder"
:
0
,
"permission"
:
""
,
"icon"
:
"icon-yonghuguanli-normal"
,
"children"
:
[]
},
{
"id"
:
"1681491850097963010"
,
"createBy"
:
"admin"
,
"createTime"
:
"2023-07-19 10:31:12"
,
"updateBy"
:
null
,
"updateTime"
:
null
,
"deleteFlag"
:
false
,
"title"
:
"角色权限"
,
"name"
:
"role-manage"
,
"path"
:
"role-manage"
,
"level"
:
1
,
"frontRoute"
:
"sys/role-manage/roleManage"
,
"parentId"
:
"1681489990591033345"
,
"sortOrder"
:
1
,
"permission"
:
""
,
"icon"
:
"icon-juesequanxian-normal"
,
"children"
:
[]
},
{
"id"
:
"1681491942414594049"
,
"createBy"
:
"admin"
,
"createTime"
:
"2023-07-19 10:31:34"
,
"updateBy"
:
null
,
"updateTime"
:
null
,
"deleteFlag"
:
false
,
"title"
:
"部门管理"
,
"name"
:
"department-manage"
,
"path"
:
"department-manage"
,
"level"
:
1
,
"frontRoute"
:
"sys/department-manage/departmentManage"
,
"parentId"
:
"1681489990591033345"
,
"sortOrder"
:
2
,
"permission"
:
""
,
"icon"
:
"icon-bumenguanli-normal"
,
"children"
:
[]
}
]
},
{
"id"
:
"1681490485414047745"
,
"createBy"
:
"admin"
,
"createTime"
:
"2023-07-19 10:25:47"
,
"updateBy"
:
"admin"
,
"updateTime"
:
"2023-07-19 16:07:01"
,
"deleteFlag"
:
false
,
"title"
:
"基础设置"
,
"name"
:
"base"
,
"path"
:
"/"
,
"level"
:
0
,
"frontRoute"
:
"Main"
,
"parentId"
:
"0"
,
"sortOrder"
:
9
,
"permission"
:
"null"
,
"icon"
:
"icon-jichushezhi-normal"
,
children
:
[
{
"id"
:
"1681495881449058306"
,
"createBy"
:
"admin"
,
"createTime"
:
"2023-07-19 10:47:13"
,
"updateBy"
:
null
,
"updateTime"
:
null
,
"deleteFlag"
:
false
,
"title"
:
"菜单管理"
,
"name"
:
"menuManage"
,
"path"
:
"menu-manage"
,
"level"
:
1
,
"frontRoute"
:
"sys/menu-manage/menuManage"
,
"parentId"
:
"1681490485414047745"
,
"sortOrder"
:
1
,
"permission"
:
""
,
"icon"
:
"icon-caidanguanli-normal"
,
"children"
:
[]
},
{
"id"
:
"1681496280251871234"
,
"createBy"
:
"admin"
,
"createTime"
:
"2023-07-19 10:48:49"
,
"updateBy"
:
"admin"
,
"updateTime"
:
"2023-07-20 11:23:41"
,
"deleteFlag"
:
false
,
"title"
:
"平台登录验证码"
,
"name"
:
"slider"
,
"path"
:
"slider"
,
"level"
:
1
,
"frontRoute"
:
"sys/slider/slider"
,
"parentId"
:
"1681490485414047745"
,
"sortOrder"
:
7
,
"permission"
:
"/manager/verificationSource*"
,
"icon"
:
"icon-yanzhengma-normal"
,
"children"
:
[]
getCurrentPermissionList
().
then
((
res
)
=>
{
if
(
!
res
.
success
)
return
false
;
let
menuData
=
res
.
result
;
// 加载菜单
for
(
let
i
=
0
;
i
<
menuData
.
length
;
i
++
)
{
let
t
=
menuData
[
i
].
children
;
//一级路由
menuData
[
i
].
frontRoute
=
'Main'
menuData
[
i
].
path
=
'/'
let
arr
=
[]
for
(
let
k
=
0
;
k
<
t
.
length
;
k
++
)
{
// 二级路由
let
tt
=
t
[
k
].
children
;
if
(
tt
.
length
===
0
)
{
arr
.
push
(
t
[
k
])
}
]
}
]
for
(
let
i
=
0
;
i
<
menuData
.
length
;
i
++
)
{
let
t
=
menuData
[
i
].
children
;
//一级路由
menuData
[
i
].
frontRoute
=
'Main'
menuData
[
i
].
path
=
'/'
let
arr
=
[]
for
(
let
k
=
0
;
k
<
t
.
length
;
k
++
)
{
// 二级路由
let
tt
=
t
[
k
].
children
;
if
(
tt
.
length
===
0
)
{
arr
.
push
(
t
[
k
])
}
menuData
[
i
].
children
=
arr
}
menuData
[
i
].
children
=
arr
}
if
(
!
menuData
)
{
return
;
}
util
.
initAllMenuData
(
constRoutes
,
menuData
);
util
.
initRouterNode
(
otherRoutes
,
otherRouter
);
// 添加所有主界面路由
vm
.
$store
.
commit
(
"updateAppRouter"
,
constRoutes
);
// 添加全局
路由
vm
.
$store
.
commit
(
"updateDefaultRouter"
,
otherRoutes
);
// 添加菜单路由
util
.
initMenuData
(
vm
,
menuData
);
// 缓存数据 修改加载标识
window
.
localStorage
.
setItem
(
"menuData"
,
JSON
.
stringify
(
menuData
));
vm
.
$store
.
commit
(
"setAdded"
,
true
);
if
(
!
menuData
)
{
return
;
}
util
.
initAllMenuData
(
constRoutes
,
menuData
)
;
util
.
initRouterNode
(
otherRoutes
,
otherRouter
);
// 添加所有主界面路由
vm
.
$store
.
commit
(
"updateAppRouter"
,
constRoutes
);
// 添加全局路由
vm
.
$store
.
commit
(
"updateDefaultRouter"
,
otherRoutes
);
// 添加菜单
路由
util
.
initMenuData
(
vm
,
menuData
);
// 缓存数据 修改加载标识
window
.
localStorage
.
setItem
(
"menuData"
,
JSON
.
stringify
(
menuData
)
);
vm
.
$store
.
commit
(
"setAdded"
,
true
);
})
}
else
{
// 读取缓存数据
let
data
=
window
.
localStorage
.
getItem
(
"menuData"
);
...
...
src/libs/validate.js
View file @
f3fbf2ef
...
...
@@ -19,7 +19,7 @@ export const validatePassword = (rule, value, callback) => {
* @param callback 回调函数
*/
export
const
validateMobile
=
(
rule
,
value
,
callback
)
=>
{
var
reg
=
/^
[
1
][
3,4,5,6,7,8
][
0-9
]
{9}
$/
;
var
reg
=
/^
1
[
23456789
]\d
{9}
$/
;
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
'手机号格式错误'
));
}
else
{
...
...
src/utils/regular.js
View file @
f3fbf2ef
...
...
@@ -21,7 +21,7 @@ export const qq = /^[1-9][0-9]{4,14}$/
export
const
name
=
/^
[\u
4e00-
\u
9fa5
]{0,}
$/
// 手机号
export
const
mobile
=
/^
0
?(
13
[
0-9
]
|14
[
0-9
]
|15
[
0-9
]
|16
[
0-9
]
|17
[
0-9
]
|18
[
0-9
]
|19
[
0-9
])[
0-9
]{8
}
$/
export
const
mobile
=
/^
1
[
23456789
]\d{9
}
$/
// 电子邮箱
export
const
email
=
/^
\w
+
([
-+.
]\w
+
)
*@
\w
+
([
-.
]\w
+
)
*
\.\w
+
([
-.
]\w
+
)
*$/
...
...
src/views/Main.vue
View file @
f3fbf2ef
...
...
@@ -150,7 +150,7 @@ export default {
if
(
currWidth
<=
1200
)
{
this
.
sliceNum
=
2
;
}
window
.
document
.
title
=
localStorage
.
getItem
(
"title"
)
+
"
- 管理后台"
;
window
.
document
.
title
=
"机械手
- 管理后台"
;
},
handleChangeModel
(
type
)
{
this
.
$store
.
commit
(
"setCurModel"
,
type
.
id
);
...
...
src/views/main-parts/header.vue
View file @
f3fbf2ef
...
...
@@ -7,7 +7,6 @@
</
template
>
<
script
>
import
{
getBaseSite
}
from
"@/api/common.js"
;
export
default
{
data
()
{
return
{
...
...
@@ -17,18 +16,13 @@ export default {
},
methods
:
{
getSite
()
{
//获取domainLogo
getBaseSite
().
then
((
res
)
=>
{
const
{
siteName
}
=
JSON
.
parse
(
res
.
result
.
settingValue
);
localStorage
.
setItem
(
"title"
,
siteName
);
let
link
=
document
.
querySelector
(
"link[rel*='icon']"
)
||
document
.
createElement
(
"link"
);
link
.
type
=
"image/x-icon"
;
link
.
href
=
this
.
domainIcon
;
link
.
rel
=
"shortcut icon"
;
document
.
getElementsByTagName
(
"head"
)[
0
].
appendChild
(
link
);
});
let
link
=
document
.
querySelector
(
"link[rel*='icon']"
)
||
document
.
createElement
(
"link"
);
link
.
type
=
"image/x-icon"
;
link
.
href
=
this
.
domainIcon
;
link
.
rel
=
"shortcut icon"
;
document
.
getElementsByTagName
(
"head"
)[
0
].
appendChild
(
link
);
},
},
mounted
()
{
...
...
src/views/sys/role-manage/roleManage.vue
View file @
f3fbf2ef
...
...
@@ -4,14 +4,43 @@
<Button
@
click=
"addRole"
type=
"primary"
>
添加角色
</Button>
<Button
@
click=
"delAll"
>
批量删除
</Button>
</Row>
<Table
:loading=
"loading"
border
:columns=
"columns"
:data=
"data"
ref=
"table"
sortable=
"custom"
@
on-sort-change=
"changeSort"
@
on-selection-change=
"changeSelect"
></Table>
<Table
:loading=
"loading"
border
:columns=
"columns"
:data=
"data"
ref=
"table"
sortable=
"custom"
@
on-sort-change=
"changeSort"
@
on-selection-change=
"changeSelect"
></Table>
<Row
type=
"flex"
justify=
"end"
class=
"mt_10"
>
<Page
:current=
"pageNumber"
:total=
"total"
:page-size=
"pageSize"
@
on-change=
"changePage"
@
on-page-size-change=
"changePageSize"
:page-size-opts=
"[10, 20, 50]"
size=
"small"
show-total
show-elevator
show-sizer
></Page>
<Page
:current=
"pageNumber"
:total=
"total"
:page-size=
"pageSize"
@
on-change=
"changePage"
@
on-page-size-change=
"changePageSize"
:page-size-opts=
"[10, 20, 50]"
size=
"small"
show-total
show-elevator
show-sizer
></Page>
</Row>
<!-- 编辑 -->
<Modal
:title=
"modalTitle"
v-model=
"roleModalVisible"
:mask-closable=
"false"
:width=
"500"
>
<Form
ref=
"roleForm"
:model=
"roleForm"
:label-width=
"80"
:rules=
"roleFormValidate"
>
<Modal
:title=
"modalTitle"
v-model=
"roleModalVisible"
:mask-closable=
"false"
:width=
"500"
>
<Form
ref=
"roleForm"
:model=
"roleForm"
:label-width=
"80"
:rules=
"roleFormValidate"
>
<FormItem
label=
"角色名称"
prop=
"name"
>
<Input
v-model=
"roleForm.name"
/>
</FormItem>
...
...
@@ -21,12 +50,20 @@
</Form>
<div
slot=
"footer"
>
<Button
type=
"text"
@
click=
"roleModalVisible = false"
>
取消
</Button>
<Button
type=
"primary"
:loading=
"submitLoading"
@
click=
"submitRole"
>
提交
<Button
type=
"primary"
:loading=
"submitLoading"
@
click=
"submitRole"
>
提交
</Button>
</div>
</Modal>
<!-- 菜单权限 -->
<Modal
:title=
"modalTitle"
v-model=
"permModalVisible"
:mask-closable=
"false"
:width=
"500"
:styles=
"
{ top: '30px' }" class="permModal">
<Modal
:title=
"modalTitle"
v-model=
"permModalVisible"
:mask-closable=
"false"
:width=
"500"
:styles=
"
{ top: '30px' }"
class="permModal"
>
<div
style=
"position: relative"
>
<Tree
ref=
"tree"
:data=
"permData"
show-checkbox
:render=
"renderContent"
>
</Tree>
...
...
@@ -34,29 +71,51 @@
</div>
<div
slot=
"footer"
>
<Button
type=
"text"
@
click=
"permModalVisible = false"
>
取消
</Button>
<Select
v-model=
"openLevel"
@
on-change=
"changeOpen"
style=
"width: 110px; text-align: left; margin-right: 10px"
>
<Select
v-model=
"openLevel"
@
on-change=
"changeOpen"
style=
"width: 110px; text-align: left; margin-right: 10px"
>
<Option
value=
"0"
>
展开所有
</Option>
<Option
value=
"1"
>
收合所有
</Option>
<Option
value=
"2"
>
仅展开一级
</Option>
<Option
value=
"3"
>
仅展开两级
</Option>
</Select>
<Button
type=
"primary"
:loading=
"submitPermLoading"
@
click=
"saveRole()"
>
保存
<Button
type=
"primary"
:loading=
"submitPermLoading"
@
click=
"saveRole()"
>
保存
</Button>
</div>
</Modal>
<!-- 保存权限弹出选择权限 -->
<Modal
width=
"800"
v-model=
"selectIsSuperModel"
title=
"选择菜单权限"
:loading=
"superModelLoading"
@
on-ok=
"saveRole"
>
<Modal
width=
"800"
v-model=
"selectIsSuperModel"
title=
"选择菜单权限"
:loading=
"superModelLoading"
@
on-ok=
"saveRole"
>
<div
class=
"btns"
>
<Button
type=
"primary"
@
click=
"setRole()"
class=
"btn-item"
>
一键选中·数据权限
</Button>
<Button
class=
"btn-item"
@
click=
"setRole('onlyView')"
>
一键选中·查看权限
</Button>
<Button
type=
"primary"
@
click=
"setRole()"
class=
"btn-item"
>
一键选中·数据权限
</Button
>
<Button
class=
"btn-item"
@
click=
"setRole('onlyView')"
>
一键选中·查看权限
</Button
>
</div>
<div
class=
"role-list"
>
<div
class=
"role-item"
v-for=
"(item, index) in saveRoleWay"
:key=
"index"
>
<div
class=
"role-item"
v-for=
"(item, index) in saveRoleWay"
:key=
"index"
>
<div
class=
"title"
>
{{
item
.
title
}}
</div>
<div
class=
"content"
>
<RadioGroup
type=
"button"
button-style=
"solid"
v-model=
"item.isSuper"
>
<RadioGroup
type=
"button"
button-style=
"solid"
v-model=
"item.isSuper"
>
<Radio
:label=
"1"
>
<span>
操作数据权限
</span>
</Radio>
...
...
@@ -137,14 +196,14 @@ export default {
},
{
title
:
"创建时间"
,
key
:
"
createTim
e"
,
key
:
"
gmtCreat
e"
,
width
:
170
,
sortable
:
true
,
sortType
:
"desc"
,
},
{
title
:
"更新时间"
,
key
:
"
updateTime
"
,
key
:
"
gmtModify
"
,
width
:
170
,
sortable
:
true
,
},
...
...
@@ -496,7 +555,6 @@ export default {
// 菜单权限
async
editPerm
(
v
)
{
/**
* 点击菜单权限每次将赋值的isSuper数据给清空掉
*/
...
...
@@ -582,22 +640,22 @@ export default {
let
selectedNodes
=
this
.
$refs
.
tree
.
getCheckedAndIndeterminateNodes
();
let
way
=
[];
selectedNodes
.
forEach
((
e
)
=>
{
console
.
log
(
e
)
console
.
log
(
e
);
let
perm
=
{
title
:
e
.
title
,
isSuper
:
e
.
isSuper
?
e
.
isSuper
=
1
:
e
.
isSuper
=
0
||
0
,
isSuper
:
e
.
isSuper
?
(
e
.
isSuper
=
1
)
:
(
e
.
isSuper
=
0
||
0
)
,
menuId
:
e
.
id
,
roleId
:
this
.
editRolePermId
,
};
way
.
push
(
perm
);
this
.
$set
(
this
,
'saveRoleWay'
,
way
)
this
.
$set
(
this
,
"saveRoleWay"
,
way
);
});
await
this
.
setRole
()
await
this
.
setRole
()
;
},
/**保存权限 */
async
saveRole
()
{
await
this
.
submitPermEdit
()
await
this
.
submitPermEdit
()
;
this
.
superModelLoading
=
true
;
saveRoleMenu
(
this
.
editRolePermId
,
this
.
saveRoleWay
).
then
((
res
)
=>
{
this
.
superModelLoading
=
false
;
...
...
src/views/sys/slider/slider.vue
View file @
f3fbf2ef
...
...
@@ -93,7 +93,10 @@
/>
</FormItem>
<FormItem
label=
"图片"
prop=
"resource"
>
<upload-pic-input
v-model=
"form.resource"
style=
"width: 100%"
></upload-pic-input>
<upload-pic-input
v-model=
"form.resource"
style=
"width: 100%"
></upload-pic-input>
</FormItem>
<FormItem
label=
"类型"
prop=
"type"
>
<radio-group
v-model=
"form.type"
type=
"button"
>
...
...
@@ -116,7 +119,7 @@ import * as API_Setting from "@/api/setting";
import
uploadPicInput
from
"@/components/lili/upload-pic-input"
;
export
default
{
components
:
{
uploadPicInput
uploadPicInput
,
},
data
()
{
return
{
...
...
@@ -150,7 +153,7 @@ export default {
// 搜索框初始化对象
pageNumber
:
1
,
// 当前页数
pageSize
:
10
,
// 页面大小
sort
:
"
createTim
e"
,
// 默认排序字段
sort
:
"
gmtCreat
e"
,
// 默认排序字段
order
:
"desc"
,
// 默认排序方式
type
:
"RESOURCE"
,
},
...
...
@@ -276,7 +279,7 @@ export default {
},
//添加验证码源
add
()
{
this
.
$refs
.
form
.
resetFields
()
this
.
$refs
.
form
.
resetFields
()
;
this
.
form
.
type
=
this
.
searchForm
.
type
;
this
.
modalVisible
=
true
;
this
.
modalType
=
0
;
...
...
src/views/sys/user-manage/userManage.vue
View file @
f3fbf2ef
...
...
@@ -301,7 +301,7 @@ export default {
departmentId
:
""
,
pageNumber
:
1
,
pageSize
:
10
,
sort
:
"
createTim
e"
,
sort
:
"
gmt_creat
e"
,
order
:
"desc"
,
adminType
:
null
,
},
...
...
vue.config.js
View file @
f3fbf2ef
...
...
@@ -80,10 +80,11 @@ module.exports = {
}
},
devServer
:
{
open
:
true
,
port
:
configs
.
port
,
proxy
:
{
"/"
:
{
target
:
'http
s://mall.jiliang666.com
'
,
target
:
'http
://robot.tuiatest.cn
'
,
changeOrigin
:
true
,
// 只需要添加该方法,然后当请求的是html,则重定向到index.html
bypass
:
function
(
req
,
res
,
proxyOptions
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment