Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
template_vue
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
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
杨硕
template_vue
Commits
b9e98e50
Commit
b9e98e50
authored
Jul 18, 2023
by
杨硕
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加自定义按钮组件
parent
4481a194
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
752 additions
and
434 deletions
+752
-434
index.vue
src/components/coolbutton/index.vue
+84
-0
permission.js
src/permission.js
+1
-2
index.vue
src/views/monitor/errorLog/index.vue
+76
-52
index.vue
src/views/monitor/loginInfo/index.vue
+40
-25
index.vue
src/views/monitor/operLog/index.vue
+76
-52
index.vue
src/views/system/dept/index.vue
+54
-23
data.vue
src/views/system/dict/data.vue
+96
-63
index.vue
src/views/system/dict/index.vue
+108
-77
index.vue
src/views/system/menu/index.vue
+50
-24
index.vue
src/views/system/role/index.vue
+72
-48
index.vue
src/views/system/user/index.vue
+95
-68
No files found.
src/components/coolbutton/index.vue
0 → 100644
View file @
b9e98e50
<
template
>
<el-button
v-hasPermi=
"hasper"
:size=
"size"
:type=
"type"
:icon=
"icon"
:disabled=
"disabled"
@
click=
"defaultClick"
>
{{
name
}}
</el-button>
</
template
>
<
script
>
import
{
getInfo
}
from
'@/api/login'
export
default
{
name
:
'CoolButton'
,
props
:
{
// 调用该组件时需要传递过来的属性
name
:
{
type
:
String
},
type
:
{
type
:
String
},
haspermi
:
{
type
:
Array
},
size
:
{
type
:
String
},
icon
:
{
type
:
String
},
disabled
:
{
type
:
Boolean
}
},
data
()
{
return
{
isShow
:
true
,
hasper
:
''
,
butname
:
this
.
name
}
},
computed
:
{},
created
()
{
this
.
getInfoMessage
()
},
methods
:
{
defaultClick
()
{
this
.
$emit
(
'btn-click'
)
},
getInfoMessage
()
{
const
data
=
this
.
haspermi
getInfo
().
then
(
res
=>
{
if
(
res
.
data
.
permissions
[
0
]
===
'*:*:*'
)
{
this
.
isShow
=
true
this
.
hasper
=
[]
}
else
{
this
.
hasper
=
data
}
// TODO: clear this log
console
.
log
(
`this.hasper`
,
this
.
hasper
)
})
}
}
}
</
script
>
<
style
scoped
>
/*按钮样式*/
input
{
border
:
none
;
padding
:
2px
10px
;
border-radius
:
6px
;
margin
:
2px
6px
;
color
:
#fff
}
/*不同属性按钮颜色不同*/
.primary
{
background-color
:
#409eff
}
.danger
{
background-color
:
#f56c6c
}
.success
{
background-color
:
#67c23a
}
.warning
{
background-color
:
#e6a23c
}
</
style
>
src/permission.js
View file @
b9e98e50
...
@@ -21,10 +21,9 @@ router.beforeEach((to, from, next) => {
...
@@ -21,10 +21,9 @@ router.beforeEach((to, from, next) => {
}
else
{
}
else
{
if
(
store
.
getters
.
roles
.
length
===
0
)
{
if
(
store
.
getters
.
roles
.
length
===
0
)
{
// 判断当前用户是否已拉取完user_info信息
// 判断当前用户是否已拉取完user_info信息
store
.
dispatch
(
'GetInfo'
).
then
(
res
=>
{
store
.
dispatch
(
'GetInfo'
).
then
(
res
=>
{
// 判断用户是否有权限 有角色
// 判断用户是否有权限 有角色
if
(
res
.
data
.
roles
&&
res
.
data
.
roles
.
length
>
0
&&
res
.
data
.
permissions
&&
res
.
data
.
permissions
.
length
>
0
)
{
if
(
res
.
data
.
permissions
&&
res
.
data
.
permissions
.
length
>
0
)
{
// 拉取user_info
// 拉取user_info
const
roles
=
res
.
data
.
roles
const
roles
=
res
.
data
.
roles
store
.
dispatch
(
'GenerateRoutes'
,
{
roles
}).
then
((
routers
)
=>
{
store
.
dispatch
(
'GenerateRoutes'
,
{
roles
}).
then
((
routers
)
=>
{
...
...
src/views/monitor/errorLog/index.vue
View file @
b9e98e50
...
@@ -69,25 +69,28 @@
...
@@ -69,25 +69,28 @@
<el-button
type=
"primary"
size=
"small"
@
click=
"handleQuery"
>
查询
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"handleQuery"
>
查询
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
style=
"float: right"
>
<el-form-item
style=
"float: right"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['monitor:errorLog:delete']"
<!-- v-hasPermi="['monitor:errorLog:delete']"-->
type=
"danger"
<!-- type="danger"-->
size=
"small"
<!-- size="small"-->
:disabled=
"ids.length === 0"
<!-- :disabled="ids.length === 0"-->
@
click=
"handleDelete"
<!-- @click="handleDelete"-->
>
删除
</el-button>
<!-- >删除
</el-button>
-->
<el-button
<coolbutton
:type=
"deletetypePrimary"
:name=
"deleteName"
:size=
"deleteSize"
:disabled=
"ids.length === 0"
:haspermi=
"deleteHaspermi"
@
btn-click=
"handleDelete"
/>
v-hasPermi=
"['zt:errlog:clear']"
<!--
<el-button-->
type=
"danger"
<!-- v-hasPermi="['zt:errlog:clear']"-->
size=
"small"
<!-- type="danger"-->
@
click=
"handleClean"
<!-- size="small"-->
>
清空
</el-button>
<!-- @click="handleClean"-->
<el-button
<!-- >清空
</el-button>
-->
v-hasPermi=
"['zt:errlog:export']"
<coolbutton
:type=
"cleantypePrimary"
:name=
"cleanName"
:size=
"cleanSize"
:haspermi=
"cleanHaspermi"
@
btn-click=
"handleClean"
/>
type=
"success"
<!--
<el-button-->
size=
"small"
<!-- v-hasPermi="['zt:errlog:export']"-->
@
click=
"handleExport"
<!-- type="success"-->
>
导出
</el-button>
<!-- size="small"-->
<!-- @click="handleExport"-->
<!-- >导出
</el-button>
-->
<coolbutton
:type=
"exporttypePrimary"
:name=
"exportName"
:size=
"exportSize"
:haspermi=
"exportHaspermi"
@
btn-click=
"handleExport"
/>
<!--
<el-button
size=
"small"
@
click=
"resetQuery"
>
重置
</el-button>
-->
<!--
<el-button
size=
"small"
@
click=
"resetQuery"
>
重置
</el-button>
-->
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -145,12 +148,13 @@
...
@@ -145,12 +148,13 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['zt:operLog:detail']"
<!-- v-hasPermi="['zt:operLog:detail']"-->
size=
"mini"
<!-- size="mini"-->
type=
"text"
<!-- type="text"-->
@
click=
"handleView(scope.row,scope.index)"
<!-- @click="handleView(scope.row,scope.index)"-->
>
查看
</el-button>
<!-- >查看
</el-button>
-->
<coolbutton
:type=
"typeText"
:name=
"viewName"
:size=
"miniSize"
:haspermi=
"viewHaspermi"
@
btn-click=
"handleView(scope.row,scope.index)"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -200,20 +204,40 @@
...
@@ -200,20 +204,40 @@
</el-col>
</el-col>
</el-row>
</el-row>
</el-form>
</el-form>
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <el-button @click="open = false">关 闭</el-button>-->
<!-- <el-button @click="open = false">关 闭</el-button>-->
<!-- </div>-->
<!-- </div>-->
</el-dialog>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
list
,
delErrLog
,
cleanErrLog
,
exportErrLog
}
from
'@/api/monitor/errorLog'
import
{
list
,
delErrLog
,
cleanErrLog
,
exportErrLog
}
from
'@/api/monitor/errorLog'
import
Coolbutton
from
'@/components/coolbutton'
export
default
{
export
default
{
name
:
'Operlog'
,
name
:
'Operlog'
,
components
:
{
Coolbutton
},
data
()
{
data
()
{
return
{
return
{
// 自定义按钮
deletetypePrimary
:
'danger'
,
deleteName
:
'删除'
,
deleteSize
:
'small'
,
deleteDisabled
:
'ids.length === 0'
,
deleteHaspermi
:
[
'monitor:errorLog:delete'
],
cleantypePrimary
:
'danger'
,
cleanName
:
'清空'
,
viewName
:
'查看'
,
cleanSize
:
'small'
,
miniSize
:
'mini'
,
cleanHaspermi
:
[
'zt:errlog:clear'
],
viewHaspermi
:
[
'zt:operLog:detail'
],
exporttypePrimary
:
'success'
,
exportName
:
'导出'
,
exportSize
:
'small'
,
exportHaspermi
:
[
'zt:errlog:export'
],
typeText
:
'text'
,
// 遮罩层
// 遮罩层
loading
:
true
,
loading
:
true
,
// 选中数组
// 选中数组
...
@@ -390,7 +414,7 @@ export default {
...
@@ -390,7 +414,7 @@ export default {
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.app-container-errlog
{
.app-container-errlog
{
padding
:
0
;
padding
:
0
;
font-size
:
18px
;
font-size
:
18px
;
.placeholder
{
.placeholder
{
...
@@ -398,6 +422,6 @@ export default {
...
@@ -398,6 +422,6 @@ export default {
background-color
:
#F4F4F4
;
background-color
:
#F4F4F4
;
margin-bottom
:
10px
margin-bottom
:
10px
}
}
}
}
</
style
>
</
style
>
src/views/monitor/loginInfo/index.vue
View file @
b9e98e50
...
@@ -54,24 +54,27 @@
...
@@ -54,24 +54,27 @@
<div
style=
"float: right"
>
<div
style=
"float: right"
>
<el-form-item>
<el-form-item>
<!-- v-hasPermi="['zt:loginlog:delete']"-->
<!-- v-hasPermi="['zt:loginlog:delete']"-->
<el-button
<!--
<el-button-->
type=
"danger"
<!-- type="danger"-->
size=
"small"
<!-- size="small"-->
:disabled=
"multiple"
<!-- :disabled="multiple"-->
@
click=
"handleDelete"
<!-- @click="handleDelete"-->
>
删除
</el-button>
<!-- >删除
</el-button>
-->
<coolbutton
:type=
"deletetypePrimary"
:name=
"deleteName"
:size=
"deleteSize"
:disabled=
"multiple"
@
btn-click=
"handleDelete"
/>
<!-- v-hasPermi="['zt:loginlog:clear']"-->
<!-- v-hasPermi="['zt:loginlog:clear']"-->
<el-button
<!--
<el-button-->
type=
"danger"
<!-- type="danger"-->
size=
"small"
<!-- size="small"-->
@
click=
"handleClean"
<!-- @click="handleClean"-->
>
清空
</el-button>
<!-- >清空
</el-button>
-->
<coolbutton
:type=
"cleantypePrimary"
:name=
"cleanName"
:size=
"cleanSize"
@
btn-click=
"handleClean"
/>
<!-- v-hasPermi="['zt:loginlog:export']"-->
<!-- v-hasPermi="['zt:loginlog:export']"-->
<el-button
<!--
<el-button-->
type=
"success"
<!-- type="success"-->
size=
"small"
<!-- size="small"-->
@
click=
"handleExport"
<!-- @click="handleExport"-->
>
导出
</el-button>
<!-- >导出
</el-button>
-->
<coolbutton
:type=
"exporttypePrimary"
:name=
"exportName"
:size=
"exportSize"
@
btn-click=
"handleExport"
/>
<!--
<el-button
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
-->
<!--
<el-button
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
-->
</el-form-item>
</el-form-item>
</div>
</div>
...
@@ -155,11 +158,23 @@
...
@@ -155,11 +158,23 @@
import
{
list
,
delLogininfo
,
cleanLogininfo
,
exportLogininfo
}
from
'@/api/monitor/loginInfo'
import
{
list
,
delLogininfo
,
cleanLogininfo
,
exportLogininfo
}
from
'@/api/monitor/loginInfo'
import
dictCons
from
'@/utils/dictCons'
import
dictCons
from
'@/utils/dictCons'
import
Template
from
'@/views/instance/Template'
import
Template
from
'@/views/instance/Template'
import
Coolbutton
from
'@/components/coolbutton'
export
default
{
export
default
{
name
:
'LoginInfo'
,
name
:
'LoginInfo'
,
components
:
{
Template
},
components
:
{
Template
,
Coolbutton
},
data
()
{
data
()
{
return
{
return
{
// 自定义按钮
deletetypePrimary
:
'danger'
,
deleteName
:
'删除'
,
deleteSize
:
'small'
,
deleteDisabled
:
'multiple'
,
cleantypePrimary
:
'danger'
,
cleanName
:
'清空'
,
cleanSize
:
'small'
,
exporttypePrimary
:
'success'
,
exportName
:
'导出'
,
exportSize
:
'small'
,
// 遮罩层
// 遮罩层
loading
:
true
,
loading
:
true
,
// 选中数组
// 选中数组
...
@@ -309,7 +324,7 @@ export default {
...
@@ -309,7 +324,7 @@ export default {
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.app-container
{
.app-container
{
padding
:
0
;
padding
:
0
;
font-size
:
18px
;
font-size
:
18px
;
.placeholder
{
.placeholder
{
...
@@ -317,6 +332,6 @@ export default {
...
@@ -317,6 +332,6 @@ export default {
background-color
:
#F4F4F4
;
background-color
:
#F4F4F4
;
margin-bottom
:
10px
margin-bottom
:
10px
}
}
}
}
</
style
>
</
style
>
src/views/monitor/operLog/index.vue
View file @
b9e98e50
...
@@ -69,25 +69,28 @@
...
@@ -69,25 +69,28 @@
<el-button
type=
"primary"
size=
"small"
@
click=
"handleQuery"
>
查询
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"handleQuery"
>
查询
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
style=
"float: right"
>
<el-form-item
style=
"float: right"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['zt:operLog:delete']"
<!-- v-hasPermi="['zt:operLog:delete']"-->
type=
"danger"
<!-- type="danger"-->
size=
"small"
<!-- size="small"-->
:disabled=
"ids.length === 0"
<!-- :disabled="ids.length === 0"-->
@
click=
"handleDelete"
<!-- @click="handleDelete"-->
>
删除
</el-button>
<!-- >删除
</el-button>
-->
<el-button
<coolbutton
:type=
"deletetypePrimary"
:name=
"deleteName"
:size=
"deleteSize"
:disabled=
"ids.length === 0"
:haspermi=
"deleteHaspermi"
@
btn-click=
"handleDelete"
/>
v-hasPermi=
"['zt:operLog:clear']"
<!--
<el-button-->
type=
"danger"
<!-- v-hasPermi="['zt:operLog:clear']"-->
size=
"small"
<!-- type="danger"-->
@
click=
"handleClean"
<!-- size="small"-->
>
清空
</el-button>
<!-- @click="handleClean"-->
<el-button
<!-- >清空
</el-button>
-->
v-hasPermi=
"['zt:operLog:export']"
<coolbutton
:type=
"cleantypePrimary"
:name=
"cleanName"
:size=
"cleanSize"
:haspermi=
"cleanHaspermi"
@
btn-click=
"handleClean"
/>
type=
"success"
<!--
<el-button-->
size=
"small"
<!-- v-hasPermi="['zt:operLog:export']"-->
@
click=
"handleExport"
<!-- type="success"-->
>
导出
</el-button>
<!-- size="small"-->
<!-- @click="handleExport"-->
<!-- >导出
</el-button>
-->
<coolbutton
:type=
"exporttypePrimary"
:name=
"exportName"
:size=
"exportSize"
:haspermi=
"exportHaspermi"
@
btn-click=
"handleExport"
/>
<!--
<el-button
size=
"small"
@
click=
"resetQuery"
>
重置
</el-button>
-->
<!--
<el-button
size=
"small"
@
click=
"resetQuery"
>
重置
</el-button>
-->
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -145,12 +148,13 @@
...
@@ -145,12 +148,13 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['zt:operLog:detail']"
<!-- v-hasPermi="['zt:operLog:detail']"-->
size=
"mini"
<!-- size="mini"-->
type=
"text"
<!-- type="text"-->
@
click=
"handleView(scope.row,scope.index)"
<!-- @click="handleView(scope.row,scope.index)"-->
>
查看
</el-button>
<!-- >查看
</el-button>
-->
<coolbutton
:type=
"typeText"
:name=
"viewName"
:size=
"miniSize"
:haspermi=
"viewHaspermi"
@
btn-click=
"handleView(scope.row,scope.index)"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -200,20 +204,40 @@
...
@@ -200,20 +204,40 @@
<!-- </el-col>-->
<!-- </el-col>-->
</el-row>
</el-row>
</el-form>
</el-form>
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <el-button @click="open = false">关 闭</el-button>-->
<!-- <el-button @click="open = false">关 闭</el-button>-->
<!-- </div>-->
<!-- </div>-->
</el-dialog>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
list
,
delOperLog
,
cleanOperLog
,
exportOperLog
}
from
'@/api/monitor/operLog'
import
{
list
,
delOperLog
,
cleanOperLog
,
exportOperLog
}
from
'@/api/monitor/operLog'
import
Coolbutton
from
'@/components/coolbutton'
export
default
{
export
default
{
name
:
'Operlog'
,
name
:
'Operlog'
,
components
:
{
Coolbutton
},
data
()
{
data
()
{
return
{
return
{
// 自定义按钮
deletetypePrimary
:
'danger'
,
deleteName
:
'删除'
,
deleteSize
:
'small'
,
deleteDisabled
:
'ids.length === 0'
,
deleteHaspermi
:
[
'zt:operLog:delete'
],
cleantypePrimary
:
'danger'
,
cleanName
:
'清空'
,
cleanSize
:
'small'
,
typeText
:
'text'
,
viewName
:
'查看'
,
miniSize
:
'mini'
,
viewHaspermi
:
[
'zt:operLog:detail'
],
cleanHaspermi
:
[
'zt:operLog:clear'
],
exporttypePrimary
:
'success'
,
exportName
:
'导出'
,
exportSize
:
'small'
,
exportHaspermi
:
[
'zt:operLog:export'
],
// 遮罩层
// 遮罩层
loading
:
true
,
loading
:
true
,
// 选中数组
// 选中数组
...
@@ -392,7 +416,7 @@ export default {
...
@@ -392,7 +416,7 @@ export default {
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.app-container-operlog
{
.app-container-operlog
{
padding
:
0
;
padding
:
0
;
font-size
:
18px
;
font-size
:
18px
;
.placeholder
{
.placeholder
{
...
@@ -400,6 +424,6 @@ export default {
...
@@ -400,6 +424,6 @@ export default {
background-color
:
#F4F4F4
;
background-color
:
#F4F4F4
;
margin-bottom
:
10px
margin-bottom
:
10px
}
}
}
}
</
style
>
</
style
>
src/views/system/dept/index.vue
View file @
b9e98e50
...
@@ -25,15 +25,21 @@
...
@@ -25,15 +25,21 @@
class=
"filter-item"
class=
"filter-item"
type=
"primary"
type=
"primary"
size=
"small"
size=
"small"
style=
"padding: 8px 7px;"
icon=
"el-icon-search"
@
click=
"getList"
@
click=
"getList"
>
查询
</el-button>
>
查询
</el-button>
<!--
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
-->
</el-form-item>
<el-form-item
style=
"float: right"
>
<el-button
<el-button
style=
"padding: 8px 7px;"
class=
"filter-item"
class=
"filter-item"
type=
"primary"
type=
"primary"
size=
"small"
size=
"small"
icon=
"el-icon-plus"
@
click=
"handleAdd"
@
click=
"handleAdd"
>
新增
</el-button>
>
新增
</el-button>
<!--
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
-->
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -98,13 +104,14 @@
...
@@ -98,13 +104,14 @@
<!-- >删除</el-button>-->
<!-- >删除</el-button>-->
<!-- </template>-->
<!-- </template>-->
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:dept:update']"
<!-- v-hasPermi="['sys:dept:update']"-->
size=
"mini"
<!-- size="mini"-->
type=
"text"
<!-- type="text"-->
style=
"color: #49cec9"
<!-- style="color: #49cec9"-->
@
click=
"handleUpdate(scope.row)"
<!-- @click="handleUpdate(scope.row)"-->
>
修改
</el-button>
<!-- >修改
</el-button>
-->
<coolbutton
style=
"color: #49cec9"
:type=
"typeParent"
:name=
"updataName"
:size=
"size"
:haspermi=
"updateHaspermi"
@
btn-click=
"handleUpdate(scope.row)"
/>
<!--
<el-switch-->
<!--
<el-switch-->
<!-- v-model="scope.row.flag"-->
<!-- v-model="scope.row.flag"-->
<!-- v-hasPermi="['system:dept:toggle']"-->
<!-- v-hasPermi="['system:dept:toggle']"-->
...
@@ -112,19 +119,21 @@
...
@@ -112,19 +119,21 @@
<!-- inactive-value="1"-->
<!-- inactive-value="1"-->
<!-- @change="handleStatusChange(scope.row)"-->
<!-- @change="handleStatusChange(scope.row)"-->
<!-- />-->
<!-- />-->
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:dept:add']"
<!-- v-hasPermi="['sys:dept:add']"-->
size=
"mini"
<!-- size="mini"-->
type=
"text"
<!-- type="text"-->
@
click=
"handleAdd(scope.row)"
<!-- @click="handleAdd(scope.row)"-->
>
新增
</el-button>
<!-- >新增
</el-button>
-->
<el-button
<coolbutton
:type=
"typeParent"
:name=
"addName"
:size=
"size"
:haspermi=
"addHaspermi"
@
btn-click=
"handleAdd(scope.row)"
/>
v-if=
"scope.row.parentId !== 0"
<!--
<el-button-->
v-hasPermi=
"['sys:dept:delete']"
<!-- v-if="scope.row.parentId !== 0"-->
size=
"mini"
<!-- v-hasPermi="['sys:dept:delete']"-->
type=
"text"
<!-- size="mini"-->
@
click=
"handleDelete(scope.row)"
<!-- type="text"-->
>
删除
</el-button>
<!-- @click="handleDelete(scope.row)"-->
<!-- >删除
</el-button>
-->
<coolbutton
:type=
"typeParent"
:name=
"nameParent"
:size=
"size"
:icon=
"delicon"
:haspermi=
"delHaspermi"
@
btn-click=
"handleDelete(scope.row)"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -196,12 +205,34 @@
...
@@ -196,12 +205,34 @@
import
{
addDept
,
delDept
,
getDept
,
listDept
,
listDeptExcludeChild
,
updateDept
}
from
'@/api/system/dept'
import
{
addDept
,
delDept
,
getDept
,
listDept
,
listDeptExcludeChild
,
updateDept
}
from
'@/api/system/dept'
import
Treeselect
from
'@riophae/vue-treeselect'
import
Treeselect
from
'@riophae/vue-treeselect'
import
'@riophae/vue-treeselect/dist/vue-treeselect.css'
import
'@riophae/vue-treeselect/dist/vue-treeselect.css'
import
Coolbutton
from
'@/components/coolbutton'
export
default
{
export
default
{
name
:
'Dept'
,
name
:
'Dept'
,
components
:
{
Treeselect
},
components
:
{
Treeselect
,
Coolbutton
},
data
()
{
data
()
{
return
{
return
{
typeParent
:
'text'
,
typePrimary
:
'primary'
,
typeSuccess
:
'success'
,
nameParent
:
'删除'
,
resetName
:
'重置'
,
addName
:
'新增'
,
queryName
:
'查询'
,
exportName
:
'导出'
,
updataName
:
'修改'
,
size
:
'mini'
,
smallSize
:
'small'
,
delicon
:
'el-icon-delete'
,
addIcon
:
'el-icon-plus'
,
exportIcon
:
'el-icon-download'
,
queryIcon
:
'el-icon-search'
,
resetIcon
:
''
,
delHaspermi
:
[
'sys:dept:delete'
],
resetHaspermi
:
[
'sys:user:resetPwd'
],
updateHaspermi
:
[
'sys:dept:update'
],
addHaspermi
:
[
'sys:dept:add'
],
exportHaspermi
:
[
'sys:role:export'
],
queryHaspermi
:
[
'sys:menu:query'
],
// 搜索条件
// 搜索条件
showSearch
:
true
,
showSearch
:
true
,
// 遮罩
// 遮罩
...
...
src/views/system/dict/data.vue
View file @
b9e98e50
...
@@ -38,36 +38,39 @@
...
@@ -38,36 +38,39 @@
</el-form>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:dict:add']"
<!-- v-hasPermi="['sys:dict:add']"-->
type=
"primary"
<!-- type="primary"-->
icon=
"el-icon-plus"
<!-- icon="el-icon-plus"-->
size=
"mini"
<!-- size="mini"-->
@
click=
"handleAdd"
<!-- @click="handleAdd"-->
>
新增
<!-- >新增-->
</el-button>
<!--
</el-button>
-->
<coolbutton
:type=
"typePrimary"
:name=
"addName"
:icon=
"addIcon"
:size=
"size"
:haspermi=
"addHaspermi"
@
btn-click=
"handleAdd"
/>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:dict:update']"
<!-- v-hasPermi="['sys:dict:update']"-->
type=
"success"
<!-- type="success"-->
icon=
"el-icon-edit"
<!-- icon="el-icon-edit"-->
size=
"mini"
<!-- size="mini"-->
:disabled=
"single"
<!-- :disabled="single"-->
@
click=
"handleUpdate"
<!-- @click="handleUpdate"-->
>
修改
<!-- >修改-->
</el-button>
<!--
</el-button>
-->
<coolbutton
:type=
"typeSuccess"
:name=
"updataName"
:icon=
"updateIcon"
:size=
"size"
:haspermi=
"updateHaspermi"
@
btn-click=
"handleUpdate"
/>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:dict:delete']"
<!-- v-hasPermi="['sys:dict:delete']"-->
type=
"danger"
<!-- type="danger"-->
icon=
"el-icon-delete"
<!-- icon="el-icon-delete"-->
size=
"mini"
<!-- size="mini"-->
:disabled=
"multiple"
<!-- :disabled="multiple"-->
@
click=
"handleDelete"
<!-- @click="handleDelete"-->
>
删除
<!-- >删除-->
</el-button>
<!--
</el-button>
-->
<coolbutton
:type=
"typeDanger"
:name=
"nameParent"
:icon=
"delicon"
:size=
"size"
:haspermi=
"delHaspermi"
@
btn-click=
"handleDelete"
/>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
...
@@ -130,28 +133,30 @@
...
@@ -130,28 +133,30 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"操作"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:dictConfig:edit']"
<!-- v-hasPermi="['sys:dictConfig:edit']"-->
size=
"mini"
<!-- size="mini"-->
type=
"text"
<!-- type="text"-->
style=
"color: #49cec9"
<!-- style="color: #49cec9"-->
@
click=
"handleUpdate(scope.row)"
<!-- @click="handleUpdate(scope.row)"-->
>
修改
</el-button>
<!-- >修改
</el-button>
-->
<el-button
<coolbutton
style=
"color: #49cec9"
:type=
"typeParent"
:name=
"updataName"
:size=
"size"
:haspermi=
"editHaspermi"
@
btn-click=
"handleUpdate(scope.row)"
/>
v-hasPermi=
"['sys:dictConfig:remove']"
<!--
<el-button-->
size=
"mini"
<!-- v-hasPermi="['sys:dictConfig:remove']"-->
type=
"text"
<!-- size="mini"-->
@
click=
"handleDelete(scope.row)"
<!-- type="text"-->
>
删除
</el-button>
<!-- @click="handleDelete(scope.row)"-->
<!--
<el-switch-->
<!-- >删除
</el-button>
-->
<!-- v-model="scope.row.status"-->
<coolbutton
:type=
"typeParent"
:icon=
"delicon"
:name=
"nameParent"
:size=
"size"
:haspermi=
"removeHaspermi"
@
btn-click=
"handleDelete(scope.row)"
/>
<!-- v-hasPermi="['sys:dictConfig:toggle']"-->
<!--
<el-switch-->
<!-- disabled-->
<!-- v-model="scope.row.status"-->
<!-- class="switchDisabledStyle"-->
<!-- v-hasPermi="['sys:dictConfig:toggle']"-->
<!-- active-value="0"-->
<!-- disabled-->
<!-- inactive-value="1"-->
<!-- class="switchDisabledStyle"-->
<!-- @click.native="changeStatus(scope.row)"-->
<!-- active-value="0"-->
<!-- />-->
<!-- inactive-value="1"-->
<!-- @click.native="changeStatus(scope.row)"-->
<!-- />-->
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -204,9 +209,11 @@
...
@@ -204,9 +209,11 @@
import
{
listData
,
getData
,
delData
,
addData
,
updateData
,
exportData
,
checkDictLabelUnique
}
from
'@/api/system/dict/data'
import
{
listData
,
getData
,
delData
,
addData
,
updateData
,
exportData
,
checkDictLabelUnique
}
from
'@/api/system/dict/data'
import
{
listType
,
getType
,
updateType
}
from
'@/api/system/dict/type'
import
{
listType
,
getType
,
updateType
}
from
'@/api/system/dict/type'
import
dictCons
from
'@/utils/dictCons'
import
dictCons
from
'@/utils/dictCons'
import
Coolbutton
from
'@/components/coolbutton'
export
default
{
export
default
{
name
:
'Data'
,
name
:
'Data'
,
components
:
{
Coolbutton
},
data
()
{
data
()
{
const
verifyIDProp
=
(
rule
,
value
,
callback
)
=>
{
const
verifyIDProp
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
''
||
value
===
undefined
||
value
===
null
)
{
if
(
value
===
''
||
value
===
undefined
||
value
===
null
)
{
...
@@ -235,6 +242,32 @@ export default {
...
@@ -235,6 +242,32 @@ export default {
}
}
}
}
return
{
return
{
typeParent
:
'text'
,
typePrimary
:
'primary'
,
typeSuccess
:
'success'
,
typeDanger
:
'danger'
,
nameParent
:
'删除'
,
resetName
:
'重置'
,
addName
:
'新增'
,
queryName
:
'查询'
,
exportName
:
'导出'
,
updataName
:
'修改'
,
size
:
'mini'
,
smallSize
:
'small'
,
delicon
:
'el-icon-delete'
,
addIcon
:
'el-icon-plus'
,
exportIcon
:
'el-icon-download'
,
queryIcon
:
'el-icon-search'
,
updateIcon
:
'el-icon-edit'
,
resetIcon
:
''
,
delHaspermi
:
[
'sys:dict:delete'
],
removeHaspermi
:
[
'sys:dictConfig:remove'
],
resetHaspermi
:
[
'sys:user:resetPwd'
],
updateHaspermi
:
[
'sys:dict:update'
],
editHaspermi
:
[
'sys:dictConfig:edit'
],
addHaspermi
:
[
'sys:dict:add'
],
exportHaspermi
:
[
'sys:dict:export'
],
queryHaspermi
:
[
'sys:menu:query'
],
// 遮罩层
// 遮罩层
loading
:
false
,
loading
:
false
,
// 选中数组
// 选中数组
...
@@ -459,7 +492,7 @@ export default {
...
@@ -459,7 +492,7 @@ export default {
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.app-container
{
.app-container
{
font-size
:
18px
;
font-size
:
18px
;
padding
:
0
;
padding
:
0
;
.placeholder
{
.placeholder
{
...
@@ -474,5 +507,5 @@ export default {
...
@@ -474,5 +507,5 @@ export default {
display
:
flex
;
display
:
flex
;
flex-direction
:
row
;
flex-direction
:
row
;
}
}
}
}
</
style
>
</
style
>
src/views/system/dict/index.vue
View file @
b9e98e50
...
@@ -57,44 +57,48 @@
...
@@ -57,44 +57,48 @@
</el-form-item>
</el-form-item>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:dict:add']"
<!-- v-hasPermi="['sys:dict:add']"-->
type=
"primary"
<!-- type="primary"-->
icon=
"el-icon-plus"
<!-- icon="el-icon-plus"-->
size=
"small"
<!-- size="small"-->
@
click=
"handleAdd"
<!-- @click="handleAdd"-->
>
新增
</el-button>
<!-- >新增
</el-button>
-->
<coolbutton
:type=
"typePrimary"
:name=
"addName"
:size=
"smallSize"
:icon=
"addIcon"
:haspermi=
"addHaspermi"
@
btn-click=
"handleAdd"
/>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:dict:update']"
<!-- v-hasPermi="['sys:dict:update']"-->
type=
"success"
<!-- type="success"-->
icon=
"el-icon-edit"
<!-- icon="el-icon-edit"-->
size=
"mini"
<!-- size="mini"-->
:disabled=
"single"
<!-- :disabled="single"-->
@
click=
"handleUpdate"
<!-- @click="handleUpdate"-->
>
修改
<!-- >修改-->
</el-button>
<!--
</el-button>
-->
<coolbutton
:type=
"typeSuccess"
:name=
"updataName"
:icon=
"updateIcon"
:size=
"size"
:haspermi=
"updateHaspermi"
@
btn-click=
"handleUpdate"
/>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:dict:delete']"
<!-- v-hasPermi="['sys:dict:delete']"-->
type=
"danger"
<!-- type="danger"-->
icon=
"el-icon-delete"
<!-- icon="el-icon-delete"-->
size=
"mini"
<!-- size="mini"-->
:disabled=
"multiple"
<!-- :disabled="multiple"-->
@
click=
"handleDelete"
<!-- @click="handleDelete"-->
>
删除
<!-- >删除-->
</el-button>
<!--
</el-button>
-->
<coolbutton
:type=
"typeDanger"
:name=
"nameParent"
:icon=
"delicon"
:size=
"size"
:haspermi=
"delHaspermi"
@
btn-click=
"handleDelete"
/>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:dict:export']"
<!-- v-hasPermi="['sys:dict:export']"-->
type=
"success"
<!-- type="success"-->
icon=
"el-icon-download"
<!-- icon="el-icon-download"-->
size=
"small"
<!-- size="small"-->
@
click=
"handleExport"
<!-- @click="handleExport"-->
>
导出
</el-button>
<!-- >导出
</el-button>
-->
<coolbutton
:type=
"typeSuccess"
:name=
"exportName"
:icon=
"exportIcon"
:size=
"size"
:haspermi=
"exportHaspermi"
@
btn-click=
"handleExport"
/>
</el-col>
</el-col>
<right-toolbar
:show-search
.
sync=
"showSearch"
@
queryTable=
"getList"
/>
<right-toolbar
:show-search
.
sync=
"showSearch"
@
queryTable=
"getList"
/>
</el-row>
</el-row>
...
@@ -115,11 +119,10 @@
...
@@ -115,11 +119,10 @@
<!-- v-hasPermi="['system:dictConfig:list']"-->
<!-- v-hasPermi="['system:dictConfig:list']"-->
<router-link
<router-link
v-if=
"scope.row.businessId"
v-if=
"scope.row.businessId"
:style=
"
{ pointerEvents: $haveAuth('sys:dictConfig:list') ? '' : 'none' }"
:to=
"'/dict/type/data/' + scope.row.businessId"
:to=
"'/dict/type/data/' + scope.row.businessId"
class=
"link-type"
class=
"link-type"
>
>
<span
:style=
"
{color: $haveAuth('sys:dictConfig:list') ? '#20a0ff' : '#333333' }
">
{{
scope
.
row
.
dictType
}}
</span>
<span
style=
"color: #20a0ff
"
>
{{
scope
.
row
.
dictType
}}
</span>
</router-link>
</router-link>
<div
v-else
>
-
</div>
<div
v-else
>
-
</div>
</
template
>
</
template
>
...
@@ -147,19 +150,21 @@
...
@@ -147,19 +150,21 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"操作"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:dict:edit']"
<!-- v-hasPermi="['sys:dict:edit']"-->
size=
"mini"
<!-- size="mini"-->
type=
"text"
<!-- type="text"-->
style=
"color: #49cec9"
<!-- style="color: #49cec9"-->
@
click=
"handleUpdate(scope.row)"
<!-- @click="handleUpdate(scope.row)"-->
>
修改
</el-button>
<!-- >修改
</el-button>
-->
<el-button
<coolbutton
:type=
"typeParent"
style=
"color: #49cec9"
:name=
"updataName"
:size=
"size"
:haspermi=
"editHaspermi"
@
btn-click=
"handleUpdate(scope.row)"
/>
v-hasPermi=
"['sys:dict:remove']"
<!--
<el-button-->
size=
"mini"
<!-- v-hasPermi="['sys:dict:remove']"-->
type=
"text"
<!-- size="mini"-->
@
click=
"handleDelete(scope.row)"
<!-- type="text"-->
>
删除
</el-button>
<!-- @click="handleDelete(scope.row)"-->
<!-- >删除
</el-button>
-->
<coolbutton
:type=
"typeParent"
:icon=
"delicon"
:name=
"nameParent"
:size=
"size"
:haspermi=
"removeHaspermi"
@
btn-click=
"handleDelete(scope.row)"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -242,10 +247,10 @@ import { listType,
...
@@ -242,10 +247,10 @@ import { listType,
}
from
'@/api/system/dict/type'
}
from
'@/api/system/dict/type'
import
dictCons
from
'@/utils/dictCons'
import
dictCons
from
'@/utils/dictCons'
import
Template
from
'@/views/instance/Template'
import
Template
from
'@/views/instance/Template'
import
Coolbutton
from
'@/components/coolbutton'
export
default
{
export
default
{
name
:
'Dict'
,
name
:
'Dict'
,
components
:
{
Template
},
components
:
{
Template
,
Coolbutton
},
data
()
{
data
()
{
const
verifyTypeProp
=
(
rule
,
value
,
callback
)
=>
{
const
verifyTypeProp
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
''
||
value
===
undefined
||
value
===
null
)
{
if
(
value
===
''
||
value
===
undefined
||
value
===
null
)
{
...
@@ -302,6 +307,32 @@ export default {
...
@@ -302,6 +307,32 @@ export default {
return
{
return
{
test
:
''
,
test
:
''
,
options
:
[],
options
:
[],
typeParent
:
'text'
,
typePrimary
:
'primary'
,
typeSuccess
:
'success'
,
typeDanger
:
'danger'
,
nameParent
:
'删除'
,
resetName
:
'重置'
,
addName
:
'新增'
,
queryName
:
'查询'
,
exportName
:
'导出'
,
updataName
:
'修改'
,
size
:
'mini'
,
smallSize
:
'small'
,
delicon
:
'el-icon-delete'
,
addIcon
:
'el-icon-plus'
,
exportIcon
:
'el-icon-download'
,
queryIcon
:
'el-icon-search'
,
updateIcon
:
'el-icon-edit'
,
resetIcon
:
''
,
delHaspermi
:
[
'sys:dict:delete'
],
removeHaspermi
:
[
'sys:dict:remove'
],
resetHaspermi
:
[
'sys:user:resetPwd'
],
updateHaspermi
:
[
'sys:dict:update'
],
editHaspermi
:
[
'sys:dict:edit'
],
addHaspermi
:
[
'sys:dict:add'
],
exportHaspermi
:
[
'sys:dict:export'
],
queryHaspermi
:
[
'sys:menu:query'
],
optionsDict
:
[],
optionsDict
:
[],
// 遮罩层
// 遮罩层
loading
:
true
,
loading
:
true
,
...
@@ -373,9 +404,9 @@ export default {
...
@@ -373,9 +404,9 @@ export default {
this
.
getDicts
(
dictCons
[
'NORMAL_DISABLE'
]).
then
(
response
=>
{
this
.
getDicts
(
dictCons
[
'NORMAL_DISABLE'
]).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
this
.
statusOptions
=
response
.
data
})
})
optionselect
().
then
(
response
=>
{
//
optionselect().then(response => {
this
.
options
=
response
.
data
//
this.options = response.data
})
//
})
},
},
methods
:
{
methods
:
{
/** 查询字典类型列表 */
/** 查询字典类型列表 */
...
@@ -389,12 +420,12 @@ export default {
...
@@ -389,12 +420,12 @@ export default {
)
)
},
},
// 获取当前父字典数据
// 获取当前父字典数据
/*
getOptions(val) {
getOptions
(
val
)
{
selectDictType
(
this
.
options
.
find
(
item
=>
{
return
item
.
businessId
===
val
}).
dictType
).
then
(
response
=>
{
selectDictType
(
this
.
options
.
find
(
item
=>
{
return
item
.
businessId
===
val
}).
dictType
).
then
(
response
=>
{
this
.
optionsDict
=
response
.
data
this
.
optionsDict
=
response
.
data
})
})
this
.
form
.
dataId
=
''
this
.
form
.
dataId
=
''
},
*/
},
clearSelected
(
flag
)
{
clearSelected
(
flag
)
{
// flag = true 为下拉框选项展开时的标识
// flag = true 为下拉框选项展开时的标识
if
(
flag
)
{
if
(
flag
)
{
...
@@ -565,7 +596,7 @@ export default {
...
@@ -565,7 +596,7 @@ export default {
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.app-container-dict
{
.app-container-dict
{
font-size
:
18px
;
font-size
:
18px
;
padding
:
0
;
padding
:
0
;
.placeholder
{
.placeholder
{
...
@@ -573,10 +604,10 @@ export default {
...
@@ -573,10 +604,10 @@ export default {
background-color
:
#F4F4F4
;
background-color
:
#F4F4F4
;
margin-bottom
:
10px
margin-bottom
:
10px
}
}
}
}
</
style
>
</
style
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.app-container-dict
{
.app-container-dict
{
.el-form
{
.el-form
{
padding
:
0
0
0
10px
;
padding
:
0
0
0
10px
;
.el-form-item
{
.el-form-item
{
...
@@ -586,5 +617,5 @@ export default {
...
@@ -586,5 +617,5 @@ export default {
margin-right
:
10px
;
margin-right
:
10px
;
}
}
}
}
}
}
</
style
>
</
style
>
src/views/system/menu/index.vue
View file @
b9e98e50
...
@@ -12,11 +12,13 @@
...
@@ -12,11 +12,13 @@
/>
/>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
v-hasPermi=
"['sys:menu:query']"
type=
"primary"
size=
"small"
@
click=
"handleQuery"
>
查询
</el-button>
<!--
<el-button
v-hasPermi=
"['sys:menu:query']"
type=
"primary"
size=
"small"
@
click=
"handleQuery"
>
查询
</el-button>
-->
<coolbutton
style=
"padding: 8px 7px;"
:icon=
"queryIcon"
:type=
"typePrimary"
:name=
"queryName"
:size=
"smallSize"
:haspermi=
"queryHaspermi"
@
btn-click=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<div
style=
"float: right"
>
<div
style=
"float: right"
>
<el-form-item>
<el-form-item>
<el-button
v-hasPermi=
"['sys:menu:add']"
type=
"primary"
size=
"small"
@
click=
"handleAdd"
>
新增
</el-button>
<!--
<el-button
v-hasPermi=
"['sys:menu:add']"
type=
"primary"
size=
"small"
@
click=
"handleAdd"
>
新增
</el-button>
-->
<coolbutton
style=
"padding: 8px 7px;"
:type=
"typePrimary"
:name=
"addName"
:size=
"smallSize"
:icon=
"addIcon"
:haspermi=
"addHaspermi"
@
btn-click=
"handleAdd"
/>
<!--
<el-button
size=
"small"
@
click=
"resetQuery"
>
重置
</el-button>
-->
<!--
<el-button
size=
"small"
@
click=
"resetQuery"
>
重置
</el-button>
-->
</el-form-item>
</el-form-item>
</div>
</div>
...
@@ -83,16 +85,16 @@
...
@@ -83,16 +85,16 @@
>删除</el-button>
>删除</el-button>
</template>-->
</template>-->
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:menu:update']"
<!-- v-hasPermi="['sys:menu:update']"-->
size=
"mini"
<!-- size="mini"-->
type=
"text"
<!-- type="text"-->
style=
"color: #49cec9"
<!-- style="color: #49cec9"-->
@
click=
"handleUpdate(scope.row)"
<!-- @click="handleUpdate(scope.row)"-->
>
修改
</el-button>
<!-- >修改
</el-button>
-->
<coolbutton
style=
"color: #49cec9"
:type=
"typeParent"
:name=
"updataName"
:size=
"size"
:haspermi=
"updateHaspermi"
@
btn-click=
"handleUpdate(scope.row)"
/>
<el-switch
<el-switch
v-model=
"scope.row.flag"
v-model=
"scope.row.flag"
v-hasPermi=
"['sys:menu:toggle']"
active-value=
"1"
active-value=
"1"
inactive-value=
"0"
inactive-value=
"0"
@
change=
"handleStatusChange(scope.row)"
@
change=
"handleStatusChange(scope.row)"
...
@@ -103,20 +105,22 @@
...
@@ -103,20 +105,22 @@
</span>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item>
<el-dropdown-item>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:menu:delete']"
<!-- v-hasPermi="['sys:menu:delete']"-->
size=
"mini"
<!-- size="mini"-->
type=
"text"
<!-- type="text"-->
@
click=
"handleDelete(scope.row)"
<!-- @click="handleDelete(scope.row)"-->
>
删除
</el-button>
<!-- >删除
</el-button>
-->
<coolbutton
:type=
"typeParent"
:name=
"nameParent"
:size=
"size"
:haspermi=
"delHaspermi"
@
btn-click=
"handleDelete(scope.row)"
/>
</el-dropdown-item>
</el-dropdown-item>
<el-dropdown-item>
<el-dropdown-item>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:menu:add']"
<!-- v-hasPermi="['sys:menu:add']"-->
size=
"mini"
<!-- size="mini"-->
type=
"text"
<!-- type="text"-->
@
click=
"handleAdd(scope.row)"
<!-- @click="handleAdd(scope.row)"-->
>
新增
</el-button>
<!-- >新增
</el-button>
-->
<coolbutton
:type=
"typeParent"
:name=
"addName"
:size=
"size"
:haspermi=
"addHaspermi"
@
btn-click=
"handleAdd(scope.row)"
/>
</el-dropdown-item>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>
...
@@ -259,10 +263,10 @@ import Treeselect from '@riophae/vue-treeselect'
...
@@ -259,10 +263,10 @@ import Treeselect from '@riophae/vue-treeselect'
import
'@riophae/vue-treeselect/dist/vue-treeselect.css'
import
'@riophae/vue-treeselect/dist/vue-treeselect.css'
import
IconSelect
from
'@/components/IconSelect'
import
IconSelect
from
'@/components/IconSelect'
import
dictCons
from
'@/utils/dictCons'
import
dictCons
from
'@/utils/dictCons'
import
Coolbutton
from
'@/components/coolbutton'
export
default
{
export
default
{
name
:
'Menu'
,
name
:
'Menu'
,
components
:
{
Treeselect
,
IconSelect
},
components
:
{
Treeselect
,
IconSelect
,
Coolbutton
},
data
()
{
data
()
{
var
trueGroupName
=
(
rule
,
value
,
callback
)
=>
{
var
trueGroupName
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
.
trim
())
{
if
(
!
value
.
trim
())
{
...
@@ -271,6 +275,28 @@ export default {
...
@@ -271,6 +275,28 @@ export default {
callback
()
callback
()
}
}
return
{
return
{
typeParent
:
'text'
,
typePrimary
:
'primary'
,
typeSuccess
:
'success'
,
nameParent
:
'删除'
,
resetName
:
'重置'
,
addName
:
'新增'
,
queryName
:
'查询'
,
exportName
:
'导出'
,
updataName
:
'修改'
,
size
:
'mini'
,
smallSize
:
'small'
,
delicon
:
'el-icon-delete'
,
addIcon
:
'el-icon-plus'
,
exportIcon
:
'el-icon-download'
,
queryIcon
:
'el-icon-search'
,
resetIcon
:
''
,
delHaspermi
:
[
'sys:menu:delete'
],
resetHaspermi
:
[
'sys:user:resetPwd'
],
updateHaspermi
:
[
'sys:menu:update'
],
addHaspermi
:
[
'sys:menu:add'
],
exportHaspermi
:
[
'sys:role:export'
],
queryHaspermi
:
[
'sys:menu:query'
],
isWorkFlow
:
'0'
,
isWorkFlow
:
'0'
,
workFlow
:
''
,
workFlow
:
''
,
workFlows
:
[],
workFlows
:
[],
...
...
src/views/system/role/index.vue
View file @
b9e98e50
...
@@ -43,20 +43,22 @@
...
@@ -43,20 +43,22 @@
</el-form-item>
</el-form-item>
<div
style=
"float: right"
>
<div
style=
"float: right"
>
<el-form-item>
<el-form-item>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:role:add']"
<!-- v-hasPermi="['sys:role:add']"-->
type=
"primary"
<!-- type="primary"-->
size=
"small"
<!-- size="small"-->
@
click=
"handleAdd"
<!-- @click="handleAdd"-->
>
新增
</el-button>
<!-- >新增
</el-button>
-->
<el-button
<coolbutton
style=
"padding: 8px 7px;"
:type=
"typePrimary"
:name=
"addName"
:size=
"smallSize"
:icon=
"addIcon"
:haspermi=
"addHaspermi"
@
btn-click=
"handleAdd"
/>
v-hasPermi=
"['sys:role:export']"
<!--
<el-button-->
style=
"padding: 8px 7px;"
<!-- v-hasPermi="['sys:role:export']"-->
type=
"success"
<!-- style="padding: 8px 7px;"-->
size=
"small"
<!-- type="success"-->
icon=
"el-icon-download"
<!-- size="small"-->
@
click=
"handleExport"
<!-- icon="el-icon-download"-->
>
导出
</el-button>
<!-- @click="handleExport"-->
<!-- >导出
</el-button>
-->
<coolbutton
style=
"padding: 8px 7px;"
:type=
"typeSuccess"
:name=
"exportName"
:size=
"smallSize"
:icon=
"exportIcon"
:haspermi=
"exportHaspermi"
@
btn-click=
"handleExport"
/>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form>
</el-form>
...
@@ -102,20 +104,21 @@
...
@@ -102,20 +104,21 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
class-name=
"small-padding fixed-width"
width=
"240px"
>
<el-table-column
label=
"操作"
class-name=
"small-padding fixed-width"
width=
"240px"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:role:update']"
<!-- v-hasPermi="['sys:role:update']"-->
size=
"mini"
<!-- size="mini"-->
type=
"text"
<!-- type="text"-->
style=
"color: #49cec9"
<!-- style="color: #49cec9"-->
@
click=
"handleUpdate(scope.row)"
<!-- @click="handleUpdate(scope.row)"-->
>
修改
</el-button>
<!-- >修改
</el-button>
-->
<!--
<el-button-->
<coolbutton
style=
"color: #49cec9"
:type=
"typeParent"
:name=
"updataName"
:size=
"size"
:haspermi=
"updateHaspermi"
@
btn-click=
"handleUpdate(scope.row)"
/>
<!-- v-hasPermi="['sys:role:update']"-->
<!--
<el-button-->
<!-- size="mini"-->
<!-- v-hasPermi="['sys:role:update']"-->
<!-- type="text"-->
<!-- size="mini"-->
<!-- icon="el-icon-circle-check"-->
<!-- type="text"-->
<!-- @click="handleMenu(scope.row)"-->
<!-- icon="el-icon-circle-check"-->
<!-- >数据权限
</el-button>
-->
<!-- @click="handleMenu(scope.row)"-->
<!-- >数据权限
</el-button>
-->
<el-button
<el-button
size=
"mini"
size=
"mini"
type=
"text"
type=
"text"
...
@@ -264,10 +267,31 @@ import { listRole, getRole, delRole, addRole, updateRole, exportRole, dataScope,
...
@@ -264,10 +267,31 @@ import { listRole, getRole, delRole, addRole, updateRole, exportRole, dataScope,
import
{
roleMenuTreeselectMC
,
treeselect
as
menuTreeselect
,
roleMenuTreeselect
}
from
'@/api/system/menu'
import
{
roleMenuTreeselectMC
,
treeselect
as
menuTreeselect
,
roleMenuTreeselect
}
from
'@/api/system/menu'
import
{
treeselect
as
deptTreeselect
,
roleDeptTreeselect
}
from
'@/api/system/dept'
import
{
treeselect
as
deptTreeselect
,
roleDeptTreeselect
}
from
'@/api/system/dept'
// import { getRolesByInsId } from '../../../api/businessManage/template'
// import { getRolesByInsId } from '../../../api/businessManage/template'
import
Coolbutton
from
'@/components/coolbutton'
export
default
{
export
default
{
name
:
'Role'
,
name
:
'Role'
,
components
:
{
Coolbutton
},
data
()
{
data
()
{
return
{
return
{
typeParent
:
'text'
,
typePrimary
:
'primary'
,
typeSuccess
:
'success'
,
nameParent
:
'删除'
,
resetName
:
'重置'
,
addName
:
'新增'
,
exportName
:
'导出'
,
updataName
:
'修改'
,
size
:
'mini'
,
smallSize
:
'small'
,
delicon
:
'el-icon-delete'
,
addIcon
:
'el-icon-plus'
,
exportIcon
:
'el-icon-download'
,
resetIcon
:
''
,
haspermi
:
[
'sys:user:delete'
],
resetHaspermi
:
[
'sys:user:resetPwd'
],
updateHaspermi
:
[
'sys:role:update'
],
addHaspermi
:
[
'sys:role:add'
],
exportHaspermi
:
[
'sys:role:export'
],
// 遮罩层
// 遮罩层
loading
:
true
,
loading
:
true
,
// 选中数组
// 选中数组
...
@@ -674,7 +698,7 @@ export default {
...
@@ -674,7 +698,7 @@ export default {
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.app-container
{
.app-container
{
font-size
:
18px
;
font-size
:
18px
;
padding
:
0
;
padding
:
0
;
...
@@ -693,9 +717,9 @@ export default {
...
@@ -693,9 +717,9 @@ export default {
.el-switch
{
.el-switch
{
margin-left
:
15px
;
margin-left
:
15px
;
}
}
}
}
.el-divider--vertical
{
.el-divider--vertical
{
height
:
12em
;
height
:
12em
;
width
:
4px
;
width
:
4px
;
}
}
</
style
>
</
style
>
src/views/system/user/index.vue
View file @
b9e98e50
...
@@ -51,14 +51,15 @@
...
@@ -51,14 +51,15 @@
<!-- icon="el-icon-plus"-->
<!-- icon="el-icon-plus"-->
<!-- @click="handleFormAdd"-->
<!-- @click="handleFormAdd"-->
<!-- >表单页新增模板
</el-button>
-->
<!-- >表单页新增模板
</el-button>
-->
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:user:add']"
<!-- v-hasPermi="['sys:user:add']"-->
style=
"padding: 8px 7px;"
<!-- style="padding: 8px 7px;"-->
type=
"primary"
<!-- type="primary"-->
size=
"small"
<!-- size="small"-->
icon=
"el-icon-plus"
<!-- icon="el-icon-plus"-->
@
click=
"handleAdd"
<!-- @click="handleAdd"-->
>
新增
</el-button>
<!-- >新增
</el-button>
-->
<coolbutton
style=
"padding: 8px 7px;"
:type=
"typePrimary"
:name=
"addName"
:size=
"smallSize"
:icon=
"addIcon"
:haspermi=
"addHaspermi"
@
btn-click=
"handleAdd"
/>
<el-button
<el-button
style=
"padding: 8px 7px;"
style=
"padding: 8px 7px;"
type=
"warning"
type=
"warning"
...
@@ -66,14 +67,15 @@
...
@@ -66,14 +67,15 @@
size=
"small"
size=
"small"
@
click=
"handleImport"
@
click=
"handleImport"
>
导入
</el-button>
>
导入
</el-button>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:user:export']"
<!-- v-hasPermi="['sys:user:export']"-->
style=
"padding: 8px 7px;"
<!-- style="padding: 8px 7px;"-->
type=
"success"
<!-- type="success"-->
size=
"small"
<!-- size="small"-->
icon=
"el-icon-download"
<!-- icon="el-icon-download"-->
@
click=
"handleExport"
<!-- @click="handleExport"-->
>
导出
</el-button>
<!-- >导出
</el-button>
-->
<coolbutton
style=
"padding: 8px 7px;"
:type=
"typeSuccess"
:name=
"exportName"
:size=
"smallSize"
:icon=
"exportIcon"
:haspermi=
"addHaspermi"
@
btn-click=
"handleExport"
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
...
@@ -161,28 +163,31 @@
...
@@ -161,28 +163,31 @@
class-name=
"small-padding fixed-width"
class-name=
"small-padding fixed-width"
>
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
<!--
<el-button-->
v-hasPermi=
"['sys:user:update']"
<!-- v-hasPermi="['sys:user:update']"-->
size=
"mini"
<!-- size="mini"-->
type=
"text"
<!-- type="text"-->
style=
"color: #49cec9"
<!-- style="color: #49cec9"-->
@
click=
"handleUpdate(scope.row)"
<!-- @click="handleUpdate(scope.row)"-->
>
修改
</el-button>
<!-- >修改
</el-button>
-->
<el-button
<coolbutton
style=
"color: #49cec9"
:type=
"typeParent"
:name=
"updataName"
:size=
"size"
:haspermi=
"updateHaspermi"
@
btn-click=
"handleUpdate(scope.row)"
/>
v-hasPermi=
"['sys:user:resetPwd']"
<!--
<el-button-->
size=
"mini"
<!-- v-hasPermi="['sys:user:resetPwd']"-->
type=
"text"
<!-- size="mini"-->
:loading=
"addLoading"
<!-- type="text"-->
@
click=
"handleResetPwd(scope.row)"
<!-- :loading="addLoading"-->
>
重置
</el-button>
<!-- @click="handleResetPwd(scope.row)"-->
<el-button
<!-- >重置
</el-button>
-->
v-if=
"scope.row.businessId !== 1"
<coolbutton
:type=
"typeParent"
:name=
"resetName"
:size=
"size"
:haspermi=
"resetHaspermi"
@
btn-click=
"handleResetPwd(scope.row)"
/>
v-hasPermi=
"['sys:user:delete']"
<!--
<el-button-->
size=
"mini"
<!-- v-if="scope.row.businessId !== 1"-->
type=
"text"
<!-- v-hasPermi="['sys:user:delete']"-->
icon=
"el-icon-delete"
<!-- size="mini"-->
@
click=
"handleDelete(scope.row)"
<!-- type="text"-->
>
删除
</el-button>
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- >删除
</el-button>
-->
<coolbutton
v-if=
"scope.row.businessId !== 1"
:type=
"typeParent"
:name=
"nameParent"
:size=
"size"
:icon=
"delicon"
:haspermi=
"haspermi"
@
btn-click=
"handleDelete(scope.row)"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -397,14 +402,14 @@ import {
...
@@ -397,14 +402,14 @@ import {
// userLoginManage
// userLoginManage
}
from
'@/api/system/user'
}
from
'@/api/system/user'
import
{
getToken
}
from
'@/utils/auth'
import
{
getToken
}
from
'@/utils/auth'
import
{
getChildrenDept
,
treeselect
}
from
'@/api/system/dept'
import
{
treeselect
}
from
'@/api/system/dept'
import
TreeSelect
from
'@riophae/vue-treeselect'
import
TreeSelect
from
'@riophae/vue-treeselect'
import
'@riophae/vue-treeselect/dist/vue-treeselect.css'
import
'@riophae/vue-treeselect/dist/vue-treeselect.css'
import
{
getlistRole
,
listRole
}
from
'@/api/system/role'
import
{
getlistRole
}
from
'@/api/system/role'
import
Coolbutton
from
'@/components/coolbutton'
export
default
{
export
default
{
name
:
'User'
,
name
:
'User'
,
components
:
{
TreeSelect
},
components
:
{
TreeSelect
,
Coolbutton
},
data
()
{
data
()
{
var
trueGroupName
=
(
rule
,
value
,
callback
)
=>
{
var
trueGroupName
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
&&
!
value
.
trim
())
{
if
(
value
&&
!
value
.
trim
())
{
...
@@ -445,6 +450,25 @@ export default {
...
@@ -445,6 +450,25 @@ export default {
text
:
true
,
text
:
true
,
password
:
false
password
:
false
},
},
typeParent
:
'text'
,
typePrimary
:
'primary'
,
typeSuccess
:
'success'
,
nameParent
:
'删除'
,
resetName
:
'重置'
,
addName
:
'新增'
,
exportName
:
'导出'
,
updataName
:
'修改'
,
size
:
'mini'
,
smallSize
:
'small'
,
delicon
:
'el-icon-delete'
,
addIcon
:
'el-icon-plus'
,
exportIcon
:
'el-icon-download'
,
resetIcon
:
''
,
haspermi
:
[
'sys:user:delete'
],
resetHaspermi
:
[
'sys:user:resetPwd'
],
updateHaspermi
:
[
'sys:user:update'
],
addHaspermi
:
[
'sys:user:add'
],
exportHaspermi
:
[
'sys:user:export'
],
pwdType
:
'password'
,
pwdType
:
'password'
,
// 遮罩层
// 遮罩层
loading
:
true
,
loading
:
true
,
...
@@ -639,6 +663,9 @@ export default {
...
@@ -639,6 +663,9 @@ export default {
changeValue
()
{
changeValue
()
{
this
.
$refs
.
form
.
validateField
(
'id'
)
this
.
$refs
.
form
.
validateField
(
'id'
)
},
},
a
()
{
console
.
log
(
'调用按钮组件'
)
},
/** 查询用户列表 */
/** 查询用户列表 */
getList
()
{
getList
()
{
this
.
loading
=
true
this
.
loading
=
true
...
@@ -991,22 +1018,22 @@ export default {
...
@@ -991,22 +1018,22 @@ export default {
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.user-manage
{
.user-manage
{
font-size
:
18px
;
font-size
:
18px
;
.placeholder
{
.placeholder
{
height
:
14px
;
height
:
14px
;
background-color
:
#F4F4F4
background-color
:
#F4F4F4
}
}
}
}
.table-drop
{
.table-drop
{
margin-left
:
15px
;
margin-left
:
15px
;
font-size
:
16px
;
font-size
:
16px
;
font-weight
:
bold
;
font-weight
:
bold
;
color
:
#46BCF3
;
color
:
#46BCF3
;
}
}
</
style
>
</
style
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.user-manage
{
.user-manage
{
.formClass
{
.formClass
{
}
}
.paddingFixed
{
.paddingFixed
{
...
@@ -1017,5 +1044,5 @@ export default {
...
@@ -1017,5 +1044,5 @@ export default {
.el-form-item__label-wrap
{
.el-form-item__label-wrap
{
margin-left
:
0
!
important
;
margin-left
:
0
!
important
;
}
}
}
}
</
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