Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xichonght
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhangdishen
xichonght
Commits
ed27d672
Commit
ed27d672
authored
Aug 19, 2019
by
ytbdmhy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mhy
parent
9230fc63
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
105 additions
and
10 deletions
+105
-10
KtTable.vue
xichongSys/src/views/Core/KtTable.vue
+19
-1
Role.vue
xichongSys/src/views/Sys/Role.vue
+86
-9
No files found.
xichongSys/src/views/Core/KtTable.vue
View file @
ed27d672
...
@@ -10,6 +10,20 @@
...
@@ -10,6 +10,20 @@
:fixed=
"column.fixed"
:key=
"column.prop"
:type=
"column.type"
:formatter=
"column.formatter"
:fixed=
"column.fixed"
:key=
"column.prop"
:type=
"column.type"
:formatter=
"column.formatter"
:sortable=
"column.sortable==null?true:column.sortable"
>
:sortable=
"column.sortable==null?true:column.sortable"
>
</el-table-column>
</el-table-column>
<el-table-column
v-if=
"showSeal"
label=
"签章"
>
<template
slot-scope=
"scope"
>
<el-popover
v-if=
"scope.row.sealStr !== null && scope.row.sealStr != ''"
placement=
"left"
title=
""
trigger=
"hover"
>
<img
slot=
"reference"
:src=
"'data:image/jpg;base64,' + scope.row.sealStr"
height=
"50px"
width=
"50px"
class=
"head_pic"
>
<img
:src=
"'data:image/jpg;base64,' + scope.row.sealStr"
height=
"200px"
width=
"200px"
class=
"head_pic"
/>
</el-popover>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('action.operation')"
width=
"185"
fixed=
"right"
v-if=
"showOperation"
header-align=
"center"
align=
"center"
>
<el-table-column
:label=
"$t('action.operation')"
width=
"185"
fixed=
"right"
v-if=
"showOperation"
header-align=
"center"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<kt-button
v-if=
"scope.row.name!=='admin'"
icon=
"fa fa-edit"
:label=
"$t('action.edit')"
:perms=
"permsEdit"
:size=
"size"
@
click=
"handleEdit(scope.$index, scope.row)"
style=
"float: left"
/>
<kt-button
v-if=
"scope.row.name!=='admin'"
icon=
"fa fa-edit"
:label=
"$t('action.edit')"
:perms=
"permsEdit"
:size=
"size"
@
click=
"handleEdit(scope.$index, scope.row)"
style=
"float: left"
/>
...
@@ -94,7 +108,11 @@ export default {
...
@@ -94,7 +108,11 @@ export default {
showBatchDelete
:
{
// 是否显示操作组件
showBatchDelete
:
{
// 是否显示操作组件
type
:
Boolean
,
type
:
Boolean
,
default
:
true
default
:
true
}
},
showSeal
:
{
// 是否显示操作组件
type
:
Boolean
,
default
:
false
},
},
},
data
()
{
data
()
{
return
{
return
{
...
...
xichongSys/src/views/Sys/Role.vue
View file @
ed27d672
...
@@ -17,7 +17,7 @@
...
@@ -17,7 +17,7 @@
<!--表格内容栏-->
<!--表格内容栏-->
<kt-table
:height=
"220"
permsEdit=
"sys:role:edit"
permsDelete=
"sys:role:delete"
:highlightCurrentRow=
"true"
:stripe=
"false"
<kt-table
:height=
"220"
permsEdit=
"sys:role:edit"
permsDelete=
"sys:role:delete"
:highlightCurrentRow=
"true"
:stripe=
"false"
:data=
"pageResult"
:columns=
"columns"
:showBatchDelete=
"false"
@
handleCurrentChange=
"handleRoleSelectChange"
:data=
"pageResult"
:columns=
"columns"
:showBatchDelete=
"false"
@
handleCurrentChange=
"handleRoleSelectChange"
@
findPage=
"findPage"
@
handleEdit=
"handleEdit"
@
handleDelete=
"handleDelete"
>
@
findPage=
"findPage"
@
handleEdit=
"handleEdit"
@
handleDelete=
"handleDelete"
:showSeal=
"true"
>
</kt-table>
</kt-table>
<!--
</el-col>
-->
<!--
</el-col>
-->
<!--新增编辑界面-->
<!--新增编辑界面-->
...
@@ -29,10 +29,32 @@
...
@@ -29,10 +29,32 @@
<el-form-item
label=
"角色名"
prop=
"name"
>
<el-form-item
label=
"角色名"
prop=
"name"
>
<el-input
v-model=
"dataForm.name"
auto-complete=
"off"
></el-input>
<el-input
v-model=
"dataForm.name"
auto-complete=
"off"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"备注
"
prop=
"remark"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"dataForm.remark"
auto-complete=
"off"
type=
"textarea"
></el-input>
<el-input
v-model=
"dataForm.remark"
auto-complete=
"off"
type=
"textarea"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"签章"
prop=
"seal"
align=
"left"
>
<el-popover
v-if=
"dataForm.sealStr !== null && dataForm.sealStr != ''"
placement=
"left"
title=
""
trigger=
"hover"
>
<img
slot=
"reference"
:src=
"'data:image/jpg;base64,' + dataForm.sealStr"
height=
"50px"
width=
"50px"
class=
"head_pic"
>
<img
:src=
"'data:image/jpg;base64,' + dataForm.sealStr"
height=
"200px"
width=
"200px"
class=
"head_pic"
/>
</el-popover>
<el-upload
align=
"left"
class=
"upload-demo"
ref=
"upload"
action=
""
accept=
".png,.jpg"
:on-change=
"changeSeal"
:limit=
"1"
:file-list=
"sealUrl"
:auto-upload=
"false"
>
<el-button
slot=
"trigger"
size=
"small"
type=
"primary"
>
选取文件
</el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
>
只能上传jpg/png文件
</div>
</el-upload>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
:size=
"size"
@
click
.
native=
"dialogVisible = false"
>
{{
$t
(
'action.cancel'
)
}}
</el-button>
<el-button
:size=
"size"
@
click
.
native=
"dialogVisible = false"
>
{{
$t
(
'action.cancel'
)
}}
</el-button>
...
@@ -84,7 +106,8 @@ export default {
...
@@ -84,7 +106,8 @@ export default {
{
prop
:
"name"
,
label
:
"角色名"
,
minWidth
:
120
},
{
prop
:
"name"
,
label
:
"角色名"
,
minWidth
:
120
},
{
prop
:
"remark"
,
label
:
"备注"
,
minWidth
:
120
},
{
prop
:
"remark"
,
label
:
"备注"
,
minWidth
:
120
},
{
prop
:
"createBy"
,
label
:
"创建人"
,
minWidth
:
120
},
{
prop
:
"createBy"
,
label
:
"创建人"
,
minWidth
:
120
},
{
prop
:
"createTime"
,
label
:
"创建时间"
,
minWidth
:
120
,
formatter
:
this
.
dateFormat
}
{
prop
:
"createTime"
,
label
:
"创建时间"
,
minWidth
:
120
,
formatter
:
this
.
dateFormat
},
// {prop:"seal", label:"签章", minWidth:120}
// {prop:"lastUpdateBy", label:"更新人", minWidth:100},
// {prop:"lastUpdateBy", label:"更新人", minWidth:100},
// {prop:"lastUpdateTime", label:"更新时间", minWidth:120, formatter:this.dateFormat}
// {prop:"lastUpdateTime", label:"更新时间", minWidth:120, formatter:this.dateFormat}
],
],
...
@@ -103,7 +126,9 @@ export default {
...
@@ -103,7 +126,9 @@ export default {
dataForm
:
{
dataForm
:
{
id
:
0
,
id
:
0
,
name
:
''
,
name
:
''
,
remark
:
''
remark
:
''
,
seal
:
''
,
sealStr
:
''
},
},
selectRole
:
{},
selectRole
:
{},
menuData
:
[],
menuData
:
[],
...
@@ -115,7 +140,10 @@ export default {
...
@@ -115,7 +140,10 @@ export default {
defaultProps
:
{
defaultProps
:
{
children
:
'children'
,
children
:
'children'
,
label
:
'name'
label
:
'name'
}
},
sealUrl
:
[],
sealVisible
:
false
,
imageUrl
:
''
,
}
}
},
},
methods
:
{
methods
:
{
...
@@ -156,7 +184,8 @@ export default {
...
@@ -156,7 +184,8 @@ export default {
if
(
valid
)
{
if
(
valid
)
{
this
.
$confirm
(
'确认提交吗?'
,
'提示'
,
{}).
then
(()
=>
{
this
.
$confirm
(
'确认提交吗?'
,
'提示'
,
{}).
then
(()
=>
{
this
.
editLoading
=
true
this
.
editLoading
=
true
let
params
=
Object
.
assign
({},
this
.
dataForm
)
console
.
log
(
this
.
dataForm
);
let
params
=
Object
.
assign
({},
this
.
dataForm
)
this
.
$api
.
role
.
save
(
params
).
then
((
res
)
=>
{
this
.
$api
.
role
.
save
(
params
).
then
((
res
)
=>
{
this
.
editLoading
=
false
this
.
editLoading
=
false
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
...
@@ -270,8 +299,32 @@ export default {
...
@@ -270,8 +299,32 @@ export default {
// 时间格式化
// 时间格式化
dateFormat
:
function
(
row
,
column
,
cellValue
,
index
){
dateFormat
:
function
(
row
,
column
,
cellValue
,
index
){
return
format
(
row
[
column
.
property
])
return
format
(
row
[
column
.
property
])
}
},
changeSeal
(
file
)
{
var
This
=
this
;
this
.
sealUrl
.
length
=
0
;
this
.
sealUrl
.
push
(
file
);
if
(
this
.
sealUrl
.
length
>
0
)
{
var
aa
;
aa
=
this
.
convertImageToBase64
();
console
.
log
(
aa
);
console
.
log
(
this
.
dataForm
);
}
},
convertImageToBase64
()
{
var
This
=
this
;
var
base64
;
let
reader
=
new
FileReader
();
reader
.
readAsDataURL
(
this
.
sealUrl
[
0
].
raw
);
reader
.
onload
=
function
(
e
)
{
console
.
log
(
this
.
result
.
substring
(
this
.
result
.
indexOf
(
","
)
+
1
));
base64
=
this
.
result
.
substring
(
this
.
result
.
indexOf
(
","
)
+
1
);
This
.
sealUrl
[
0
]
=
this
.
result
.
substring
(
this
.
result
.
indexOf
(
","
)
+
1
);
}
console
.
log
(
This
.
sealUrl
[
0
]);
console
.
log
(
base64
);
return
base64
;
}
},
},
mounted
()
{
mounted
()
{
}
}
...
@@ -289,4 +342,28 @@ export default {
...
@@ -289,4 +342,28 @@ export default {
color
:
rgb
(
20
,
89
,
121
);
color
:
rgb
(
20
,
89
,
121
);
}
}
.avatar-uploader
.el-upload
{
border
:
1px
dashed
#d9d9d9
;
border-radius
:
6px
;
cursor
:
pointer
;
position
:
relative
;
overflow
:
hidden
;
}
.avatar-uploader
.el-upload
:hover
{
border-color
:
#409EFF
;
}
.avatar-uploader-icon
{
font-size
:
28px
;
color
:
#8c939d
;
width
:
178px
;
height
:
178px
;
line-height
:
178px
;
text-align
:
center
;
}
.avatar
{
width
:
178px
;
height
:
178px
;
display
:
block
;
}
</
style
>
</
style
>
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