Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
JSH ERP
Commits
04e3fc85
Commit
04e3fc85
authored
Apr 28, 2021
by
季圣华
Browse files
增加分配按钮的功能
parent
909af32e
Changes
5
Hide whitespace changes
Inline
Side-by-side
jshERP-web/src/api/api.js
View file @
04e3fc85
...
...
@@ -143,6 +143,7 @@ const checkSystemConfig = (params)=>getAction("/systemConfig/checkIsNameExist",p
const
addUserBusiness
=
(
params
)
=>
postAction
(
"
/userBusiness/add
"
,
params
);
const
editUserBusiness
=
(
params
)
=>
putAction
(
"
/userBusiness/update
"
,
params
);
const
checkUserBusiness
=
(
params
)
=>
getAction
(
"
/userBusiness/checkIsValueExist
"
,
params
);
const
updateBtnStrByRoleId
=
(
params
)
=>
postAction
(
"
/userBusiness/updateBtnStr
"
,
params
);
//计量单位
const
addUnit
=
(
params
)
=>
postAction
(
"
/unit/add
"
,
params
);
const
editUnit
=
(
params
)
=>
putAction
(
"
/unit/update
"
,
params
);
...
...
@@ -256,6 +257,7 @@ export {
addUserBusiness
,
editUserBusiness
,
checkUserBusiness
,
updateBtnStrByRoleId
,
addUnit
,
editUnit
,
checkUnit
,
...
...
jshERP-web/src/utils/util.js
View file @
04e3fc85
...
...
@@ -530,4 +530,18 @@ export function getNowFormatDateTime() {
+
"
"
+
strHours
+
seperator2
+
strMinutes
+
seperator2
+
strSeconds
;
return
currentdate
;
}
/**
* JS中根据指定值删除数组中的元素
* @param arrylist
* @param val
*/
export
function
removeByVal
(
arrylist
,
val
)
{
for
(
var
i
=
0
;
i
<
arrylist
.
length
;
i
++
)
{
if
(
arrylist
[
i
]
==
val
)
{
arrylist
.
splice
(
i
,
1
);
break
;
}
}
}
\ No newline at end of file
jshERP-web/src/views/system/RoleList.vue
View file @
04e3fc85
...
...
@@ -47,7 +47,7 @@
<span
slot=
"action"
slot-scope=
"text, record"
>
<a
@
click=
"handleSetFunction(record)"
>
分配功能
</a>
<a-divider
type=
"vertical"
/>
<a
@
click=
"handleSetPushBtn(record)"
>
分配按钮
</a>
<a
@
click=
"handleSetPushBtn(record
.id
)"
>
分配按钮
</a>
<a-divider
type=
"vertical"
/>
<a
@
click=
"handleEdit(record)"
>
编辑
</a>
<a-divider
type=
"vertical"
/>
...
...
@@ -60,8 +60,11 @@
<!-- table区域-end -->
<!-- 表单区域 -->
<role-modal
ref=
"modalForm"
@
ok=
"modalFormOk"
></role-modal>
<role-function-modal
ref=
"roleFunctionModal"
@
ok=
"
m
odalFormOk"
></role-function-modal>
<role-function-modal
ref=
"roleFunctionModal"
@
ok=
"
roleFunctionM
odalFormOk"
></role-function-modal>
<role-push-btn-modal
ref=
"rolePushBtnModal"
@
ok=
"modalFormOk"
></role-push-btn-modal>
<a-modal
v-model=
"roleFunctionModalVisible"
title=
"操作提示"
@
ok=
"handleTipOk"
>
<p>
分配功能已经操作成功!现在继续
<b>
分配按钮
</b>
吗?
</p>
</a-modal>
</a-card>
</
template
>
<
script
>
...
...
@@ -82,6 +85,8 @@
data
()
{
return
{
description
:
'
角色管理页面
'
,
roleFunctionModalVisible
:
false
,
currentRoleId
:
''
,
// 查询条件
queryParam
:
{
name
:
''
,},
// 表头
...
...
@@ -133,13 +138,25 @@
methods
:
{
handleSetFunction
(
record
)
{
this
.
$refs
.
roleFunctionModal
.
edit
(
record
);
this
.
$refs
.
roleFunctionModal
.
title
=
"
分配功能
"
;
this
.
$refs
.
roleFunctionModal
.
title
=
"
分配功能
【分配之后请继续分配按钮】
"
;
this
.
$refs
.
roleFunctionModal
.
disableSubmit
=
false
;
},
handleSetPushBtn
(
r
ecor
d
)
{
this
.
$refs
.
rolePushBtnModal
.
edit
(
r
ecor
d
);
handleSetPushBtn
(
r
oleI
d
)
{
this
.
$refs
.
rolePushBtnModal
.
edit
(
r
oleI
d
);
this
.
$refs
.
rolePushBtnModal
.
title
=
"
分配按钮
"
;
this
.
$refs
.
rolePushBtnModal
.
disableSubmit
=
false
;
},
roleFunctionModalFormOk
(
id
)
{
//重载列表
this
.
loadData
();
this
.
roleFunctionModalVisible
=
true
;
this
.
currentRoleId
=
id
},
handleTipOk
()
{
if
(
this
.
currentRoleId
)
{
this
.
roleFunctionModalVisible
=
false
;
this
.
handleSetPushBtn
(
this
.
currentRoleId
)
}
}
}
}
...
...
jshERP-web/src/views/system/modules/RoleFunctionModal.vue
View file @
04e3fc85
<
template
>
<a-modal
:title=
"title"
:width=
"
800
"
:width=
"
width
"
:visible=
"visible"
:confirmLoading=
"confirmLoading"
@
ok=
"handleOk"
...
...
@@ -52,6 +52,7 @@
data
()
{
return
{
title
:
"
操作
"
,
width
:
'
800px
'
,
visible
:
false
,
model
:
{},
roleId
:
0
,
...
...
@@ -111,7 +112,7 @@
}
obj
.
then
((
res
)
=>
{
if
(
res
.
code
===
200
){
that
.
$emit
(
'
ok
'
);
that
.
$emit
(
'
ok
'
,
this
.
roleId
);
}
else
{
that
.
$message
.
warning
(
res
.
data
.
message
);
}
...
...
jshERP-web/src/views/system/modules/RolePushBtnModal.vue
View file @
04e3fc85
<
template
>
<a-modal
:title=
"title"
:width=
"
800
"
:width=
"
width
"
:visible=
"visible"
:confirmLoading=
"confirmLoading"
@
ok=
"handleOk"
...
...
@@ -36,12 +36,12 @@
:dataSource=
"dataSource"
:loading=
"loading"
>
<span
slot=
"action"
slot-scope=
"text, record"
>
<a-checkbox
v-if=
"record.pushBtn.indexOf(1)>-1"
value=
"1"
:checked=
"
checked
"
@
change=
"onChange"
>
编辑
</a-checkbox>
<a-checkbox
v-if=
"record.pushBtn.indexOf(2)>-1"
value=
"2"
:checked=
"
checked
"
@
change=
"onChange"
>
审核反审核
</a-checkbox>
<a-checkbox
v-if=
"record.pushBtn.indexOf(3)>-1"
value=
"3"
:checked=
"
checked
"
@
change=
"onChange"
>
导入导出
</a-checkbox>
<a-checkbox
v-if=
"record.pushBtn.indexOf(4)>-1"
value=
"4"
:checked=
"
checked
"
@
change=
"onChange"
>
启用禁用
</a-checkbox>
<a-checkbox
v-if=
"record.pushBtn.indexOf(5)>-1"
value=
"5"
:checked=
"
checked
"
@
change=
"onChange"
>
打印
</a-checkbox>
<a-checkbox
v-if=
"record.pushBtn.indexOf(6)>-1"
value=
"6"
:checked=
"
checked
"
@
change=
"onChange"
>
作废
</a-checkbox>
<a-checkbox
v-if=
"record.pushBtn.indexOf(1)>-1"
value=
"1"
:checked=
"
record.btnStr?record.btnStr.indexOf(1)>-1:false
"
@
change=
"onChange
(record,'1')
"
>
编辑
</a-checkbox>
<a-checkbox
v-if=
"record.pushBtn.indexOf(2)>-1"
value=
"2"
:checked=
"
record.btnStr?record.btnStr.indexOf(2)>-1:false
"
@
change=
"onChange
(record,'2')
"
>
审核反审核
</a-checkbox>
<a-checkbox
v-if=
"record.pushBtn.indexOf(3)>-1"
value=
"3"
:checked=
"
record.btnStr?record.btnStr.indexOf(3)>-1:false
"
@
change=
"onChange
(record,'3')
"
>
导入导出
</a-checkbox>
<a-checkbox
v-if=
"record.pushBtn.indexOf(4)>-1"
value=
"4"
:checked=
"
record.btnStr?record.btnStr.indexOf(4)>-1:false
"
@
change=
"onChange
(record,'4')
"
>
启用禁用
</a-checkbox>
<a-checkbox
v-if=
"record.pushBtn.indexOf(5)>-1"
value=
"5"
:checked=
"
record.btnStr?record.btnStr.indexOf(5)>-1:false
"
@
change=
"onChange
(record,'5')
"
>
打印
</a-checkbox>
<a-checkbox
v-if=
"record.pushBtn.indexOf(6)>-1"
value=
"6"
:checked=
"
record.btnStr?record.btnStr.indexOf(6)>-1:false
"
@
change=
"onChange
(record,'6')
"
>
作废
</a-checkbox>
</span>
</a-table>
</div>
...
...
@@ -52,13 +52,15 @@
import
pick
from
'
lodash.pick
'
import
{
JeecgListMixin
}
from
'
@/mixins/JeecgListMixin
'
import
{
getAction
}
from
'
@/api/manage
'
import
{
addRole
,
editRole
,
checkRole
}
from
'
@/api/api
'
import
{
updateBtnStrByRoleId
}
from
'
@/api/api
'
import
{
removeByVal
}
from
"
@/utils/util
"
export
default
{
name
:
"
RolePushBtnModal
"
,
mixins
:[
JeecgListMixin
],
data
()
{
return
{
title
:
"
操作
"
,
width
:
'
800px
'
,
visible
:
false
,
model
:
{},
checked
:
false
,
...
...
@@ -91,62 +93,67 @@
}
],
url
:
{
list
:
"
/function/findByIds
"
,
getBasicData
:
"
/userBusiness/getBasicData
"
list
:
"
/function/findRoleFunctionsById
"
}
}
},
created
()
{
},
methods
:
{
edit
(
r
ecor
d
)
{
edit
(
r
oleI
d
)
{
this
.
form
.
resetFields
();
this
.
model
=
Object
.
assign
({},
record
);
this
.
model
.
id
=
roleId
this
.
visible
=
true
;
getAction
(
this
.
url
.
getBasicData
,
{
Type
:
'
RoleFunctions
'
,
KeyId
:
record
.
id
}).
then
((
res
)
=>
{
if
(
res
&&
res
.
code
===
200
)
{
let
ubList
=
res
.
data
.
userBusinessList
;
let
getValue
=
ubList
[
0
].
value
;
getValue
=
getValue
.
substring
(
1
,
getValue
.
length
-
1
);
if
(
getValue
.
indexOf
(
"
][
"
))
{
let
arr
=
getValue
.
split
(
"
][
"
);
arr
=
arr
.
toString
();
getAction
(
this
.
url
.
list
,
{
functionsIds
:
arr
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
dataSource
=
res
.
data
.
rows
;
this
.
ipagination
.
total
=
res
.
data
.
total
;
}
if
(
res
.
code
===
510
)
{
this
.
$message
.
warning
(
res
.
data
)
}
this
.
loading
=
false
;
})
if
(
roleId
)
{
getAction
(
this
.
url
.
list
,
{
roleId
:
roleId
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
dataSource
=
res
.
data
.
rows
;
this
.
ipagination
.
total
=
res
.
data
.
total
;
}
}
})
else
if
(
res
.
code
===
400
)
{
this
.
dataSource
=
[]
this
.
ipagination
.
total
=
0
}
else
if
(
res
.
code
===
500
)
{
this
.
$message
.
warning
(
res
.
data
)
}
this
.
loading
=
false
;
})
}
},
close
()
{
this
.
$emit
(
'
close
'
);
this
.
visible
=
false
;
},
handleCancel
()
{
this
.
close
()
},
handleOk
()
{
const
that
=
this
;
// 触发表单验证
this
.
form
.
validateFields
((
err
,
values
)
=>
{
if
(
!
err
)
{
that
.
confirmLoading
=
true
;
let
formData
=
Object
.
assign
(
this
.
model
,
values
);
let
obj
;
if
(
!
this
.
model
.
id
){
obj
=
addRole
(
formData
);
}
else
{
obj
=
editRole
(
formData
);
let
funArray
=
this
.
dataSource
let
bindArr
=
[];
let
btnStr
=
''
for
(
let
item
of
funArray
){
if
(
item
.
btnStr
!==
undefined
&&
item
.
btnStr
!==
""
&&
item
.
btnStr
!==
"
null
"
&&
item
.
btnStr
!==
null
)
{
let
bindJSON
=
{};
bindJSON
.
funId
=
item
.
id
;
bindJSON
.
btnStr
=
item
.
btnStr
;
bindArr
.
push
(
bindJSON
);
}
}
if
(
bindArr
.
length
)
{
btnStr
=
JSON
.
stringify
(
bindArr
);
}
let
obj
=
updateBtnStrByRoleId
({
roleId
:
this
.
model
.
id
,
btnStr
:
btnStr
});
obj
.
then
((
res
)
=>
{
if
(
res
.
code
===
200
){
that
.
$emit
(
'
ok
'
);
}
else
{
that
.
$message
.
warning
(
res
.
data
.
message
);
that
.
$message
.
warning
(
res
.
data
);
}
}).
finally
(()
=>
{
that
.
confirmLoading
=
false
;
...
...
@@ -155,14 +162,43 @@
}
})
},
handleCancel
()
{
this
.
close
()
},
toggleChecked
()
{
this
.
checked
=
!
this
.
checked
;
let
funArray
=
this
.
dataSource
if
(
this
.
checked
)
{
for
(
let
item
of
funArray
){
item
.
btnStr
=
item
.
pushBtn
}
}
else
{
for
(
let
item
of
funArray
){
item
.
btnStr
=
''
}
}
},
onChange
(
e
)
{
this
.
checked
=
e
.
target
.
checked
;
onChange
(
record
,
value
)
{
let
funArray
=
this
.
dataSource
for
(
let
item
of
funArray
){
if
(
item
.
id
===
record
.
id
)
{
let
btnStr
=
record
.
btnStr
if
(
btnStr
)
{
let
btnArr
=
btnStr
.
split
(
'
,
'
)
if
(
btnStr
.
indexOf
(
value
)
>-
1
)
{
//去掉勾选
removeByVal
(
btnArr
,
value
)
item
.
btnStr
=
btnArr
.
join
()
}
else
{
//勾选
btnArr
.
push
(
value
)
item
.
btnStr
=
btnArr
.
join
()
}
}
else
{
let
btnArr
=
[]
//勾选
btnArr
.
push
(
value
)
item
.
btnStr
=
btnArr
.
join
()
}
}
}
}
}
}
...
...
Write
Preview
Supports
Markdown
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