Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mes-ui
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
周远喜
mes-ui
Commits
b393a7a1
Commit
b393a7a1
authored
Apr 01, 2020
by
康振飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
恢复文件
parent
6957e42f
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1539 additions
and
0 deletions
+1539
-0
add.vue
pages/basicData/dataDictionary/components/add.vue
+46
-0
index.vue
pages/basicData/dataDictionary/index.vue
+293
-0
add.vue
pages/basicData/privilegeManagent/components/add.vue
+149
-0
treeGrid.vue
pages/basicData/privilegeManagent/components/treeGrid.vue
+553
-0
index.vue
pages/basicData/privilegeManagent/index.vue
+498
-0
No files found.
pages/basicData/dataDictionary/components/add.vue
0 → 100644
View file @
b393a7a1
<
template
>
<Form
ref=
"formValidate"
:model=
"formValidate"
:rules=
"ruleValidate"
:show-message=
"false"
:label-width=
"90"
>
<Row>
<FormItem
label=
"类型"
prop=
"typeid"
>
<Select
v-model=
"formValidate.typeid"
placeholder=
"请选择"
style=
"width:240px;"
>
<Option
v-for=
"(item,index) in alltype "
:key=
"item.index"
:value=
"item.value"
>
{{
item
.
label
}}
</Option>
</Select>
</FormItem>
</Row>
<Row>
<FormItem
label=
"名称"
prop=
"name"
>
<Input
v-model=
"formValidate.name"
style=
"width:240px;"
></Input>
</FormItem>
</Row>
<Row>
<FormItem
label=
"描述"
prop=
"description"
>
<Input
v-model=
"formValidate.description"
style=
"width:240px;"
></Input>
</FormItem>
</Row>
<!--
<FormItem
label=
"编号"
prop=
"number"
>
<Input
v-model=
"formValidate.number"
number
></Input>
</FormItem>
-->
</Form>
</
template
>
<
script
>
export
default
{
name
:
'addDictionary'
,
props
:[
'alltype'
],
data
(){
return
{
formValidate
:{
typeid
:
''
,
name
:
''
,
description
:
''
},
ruleValidate
:{
name
:[{
required
:
true
}],
// number:[{required: true,type:'number'}],
typeid
:[{
required
:
true
}]
}
}
}
}
</
script
>
<
style
scoped
>
.ivu-form-item
{
width
:
48%
;
display
:
inline-block
;}
.ivu-form-item
:nth-child
(
odd
)
{
margin-left
:
10px
}
</
style
>
\ No newline at end of file
pages/basicData/dataDictionary/index.vue
0 → 100644
View file @
b393a7a1
<
template
>
<div>
<div
class=
"contentRight"
>
<label>
类型:
</label>
<Select
v-model=
"model1"
@
on-change=
"change"
placeholder=
"请选择"
style=
"width: 200px"
>
<Option
v-for=
"(item,index) in selectdata"
:key=
"item.index"
:value=
"item.value"
>
{{
item
.
label
}}
</Option>
</Select>
<div
style=
"float:right"
class=
"paddingbtn"
>
<Button
type=
"primary"
@
click=
"add('formValidate')"
>
新增
</Button>
<!--
<Button
type=
"primary"
@
click=
"edit"
>
编辑
</Button>
<Button
type=
"primary"
@
click=
"del"
>
删除
</Button>
-->
</div>
<tb
:tbPro=
"tbPro"
ref=
"table"
v-on:rowclick=
"rowclick"
class=
"margin-top-10"
></tb>
</div>
<Modal
v-model=
"modal1"
title=
"新增字典数据"
:width=
"440"
:mask-closable=
"false"
:loading=
"myloading"
ok-text=
"保存"
cancel-text=
"取消"
@
on-ok=
"ok('formValidate')"
@
on-cancel=
'cancel'
>
<add-dictionary
ref=
"datadictionary"
:alltype=
"selectdata"
></add-dictionary>
<!--
<div
slot=
"footer"
style=
"text-align:center"
>
<Button
type=
"primary"
@
click=
"ok('formValidate')"
>
保存
</Button>
<Button
type=
"primary"
style=
"border-color: rgb(204, 204, 204);background-color:white;color:black"
@
click=
"cancel"
>
取消
</Button>
</div>
-->
</Modal>
<myconfirm
ref=
"mysel"
v-on:confirmok=
"okmysel"
v-on:confirmcancel=
"cancelmysel"
></myconfirm>
</div>
</
template
>
<
script
>
import
tb
from
'../roleManagent/components/tb'
import
addDictionary
from
'./components/add'
import
myconfirm
from
'../../processDesign/productTree/components/myconfirm'
import
service
from
'@/plugins/request'
export
default
{
components
:{
tb
,
addDictionary
,
myconfirm
},
data
(){
return
{
myloading
:
true
,
model1
:
''
,
modal1
:
false
,
isEdit
:
false
,
formValidate1
:{},
keyid
:
0
,
clickdata
:{},
//xia la
selectdata
:[
{
value
:
'产品类型'
,
label
:
'产品类型'
},
{
value
:
'产品分类'
,
label
:
'产品分类'
},
{
value
:
'工艺类型'
,
label
:
'工艺类型'
},
{
value
:
'工艺阶段'
,
label
:
'工艺阶段'
},
{
value
:
'产品型号'
,
label
:
'产品型号'
},
],
//表格数据和属性
tbPro
:{
height
:
""
,
isBorder
:
true
,
stripe
:
true
,
//斑马纹
highlight
:
true
,
//高亮显示
columns
:
[
{
type
:
'index'
,
width
:
60
,
align
:
'center'
},
{
title
:
'名称'
,
key
:
'name'
},
{
title
:
'描述'
,
key
:
'description'
},
{
title
:
'编码'
,
key
:
'code'
},
{
title
:
'操作'
,
key
:
'action'
,
align
:
'center'
,
width
:
400
,
render
:
(
h
,
params
)
=>
{
return
h
(
'div'
,
[
h
(
'span'
,
{
props
:
{
type
:
'text'
,
ghost
:
true
},
style
:
{
color
:
'#249E91'
,
marginRight
:
"5px"
,
cursor
:
"pointer"
},
on
:
{
click
:
()
=>
{
this
.
edit
(
params
)
}
}
},
'编辑'
),
h
(
'span'
,
{
props
:
{
type
:
'text'
,
ghost
:
true
},
style
:
{
color
:
'#F56C6C'
,
marginRight
:
"5px"
,
cursor
:
"pointer"
},
on
:
{
click
:
()
=>
{
this
.
del
(
params
)
}
}
},
'删除'
)
])
}
}
],
data
:
[
]
}
}
},
created
(){
var
url
=
`
${
systemUrl
}
/DictionaryType/GetPaged`
service
.
get
(
`
${
url
}
`
).
then
(
response
=>
{
//console.log(response.data.result.items)
this
.
selectdata
=
response
.
data
.
result
.
items
this
.
model1
=
this
.
selectdata
[
0
].
value
this
.
loaddata
(
this
.
model1
)
});
this
.
tbPro
.
height
=
window
.
innerHeight
-
180
;
},
mounted
(){
window
.
onresize
=
()
=>
{
return
(()
=>
{
this
.
tbPro
.
height
=
window
.
innerHeight
-
180
;
})()
}
},
computed
:{
alldata
:
function
(){
return
this
.
tbPro
.
data
}
},
methods
:{
loaddata
(
id
){
var
url
=
`
${
systemUrl
}
/Dictionary/GetPaged`
service
.
get
(
`
${
url
}
`
,{
params
:{
TypeId
:
id
}}).
then
(
response
=>
{
this
.
tbPro
.
data
=
response
.
data
.
result
.
items
})
},
change
(
data
){
// console.log(data);
this
.
loaddata
(
data
)
},
add
:
function
(
name
){
this
.
isEdit
=
false
;
var
a
=
this
.
$refs
.
datadictionary
;
a
.
$refs
[
name
].
resetFields
();
this
.
modal1
=
true
;
this
.
$refs
.
datadictionary
.
formValidate
=
{
typeid
:
''
,
description
:
''
,
name
:
''
}
},
edit
(
params
){
var
a
=
this
.
$refs
.
datadictionary
;
a
.
$refs
[
'formValidate'
].
resetFields
();
this
.
modal1
=
true
;
this
.
isEdit
=
true
;
let
{
typeId
,
name
,
description
,
id
,
code
}
=
params
.
row
;
// console.log(typeId)
// console.log(number);
this
.
$refs
.
datadictionary
.
formValidate
=
{
typeid
:
typeId
,
name
:
name
,
description
:
description
,
id
:
id
,
code
:
code
}
},
del
(
params
){
console
.
log
(
params
)
this
.
keyid
=
params
.
row
.
id
console
.
log
(
this
.
keyid
)
this
.
$refs
.
mysel
.
confirmmodal
=
true
;
},
okmysel
(
bl
){
var
url
=
`
${
systemUrl
}
/Dictionary/Delete?id=
${
this
.
keyid
}
`
service
.
delete
(
`
${
url
}
`
).
then
(
response
=>
{
if
(
response
.
data
.
success
)
{
this
.
$Message
.
success
(
'删除成功'
)
this
.
loaddata
(
this
.
model1
)
}
}).
catch
(
error
=>
{
this
.
$Message
.
error
(
'删除失败'
)
})
this
.
$refs
.
mysel
.
confirmmodal
=
bl
},
cancelmysel
(
bl
){
this
.
$refs
.
mysel
.
confirmmodal
=
bl
},
//保存增加修改
ok
(
name
){
var
a
=
this
.
$refs
.
datadictionary
;
var
url
=
`
${
systemUrl
}
/Dictionary/CreateOrUpdate`
var
ar
=
this
.
alldata
.
find
((
val
)
=>
{
return
(
val
.
name
==
this
.
$refs
.
datadictionary
.
formValidate
.
name
)
})
if
(
ar
){
this
.
$Message
.
error
(
'已存在字典项的名字'
);
setTimeout
(()
=>
{
this
.
myloading
=
false
this
.
$nextTick
(()
=>
{
this
.
myloading
=
true
})
},
500
)
return
;
}
a
.
$refs
[
name
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
formValidate1
=
this
.
$refs
.
datadictionary
.
formValidate
if
(
this
.
isedit
)
{
//this.formValidate1.id=
}
service
.
post
(
`
${
url
}
`
,
JSON
.
stringify
({
Dictionary
:
this
.
formValidate1
})).
then
(
response
=>
{
if
(
response
.
data
.
success
){
this
.
$Message
.
success
(
'保存成功'
)
this
.
loaddata
(
this
.
model1
)
this
.
modal1
=
false
}
}).
catch
(
error
=>
{
//console.log(123)
// console.log(error)
this
.
$Message
.
error
(
'保存失败'
)
})
}
else
{
setTimeout
(()
=>
{
this
.
myloading
=
false
this
.
$nextTick
(()
=>
{
this
.
myloading
=
true
})
},
500
)
this
.
$Message
.
error
(
'请输入必填项'
)
}
})
},
cancel
(){
this
.
modal1
=
false
;
},
rowclick
(
data
,
index
){
console
.
log
(
typeof
(
data
));
this
.
clickdata
=
data
;
// console.log(this.clickdata);
}
}
}
</
script
>
<
style
scoped
>
</
style
>
pages/basicData/privilegeManagent/components/add.vue
0 → 100644
View file @
b393a7a1
<
template
id=
"addPRi"
>
<Form
ref=
"formValidate"
:model=
"formValidate"
:rules=
"ruleValidate"
:show-message=
"false"
:label-width=
"80"
>
<FormItem
label=
"父权限"
prop=
"up_id"
>
<Select
v-model=
"formValidate.up_id"
style=
"width:240px;"
>
<Option
v-for=
"(item,index) in list "
:key=
"index"
:value=
"item.value"
style=
"display:none"
>
{{
item
.
label
}}
</Option>
<Tree
v-show=
"isShow"
:data=
"seldata"
@
on-select-change=
"handleSelect"
></Tree>
</Select>
</FormItem>
<FormItem
label=
"权限名称"
prop=
"name"
>
<Input
v-model=
"formValidate.name"
style=
"width:240px;"
></Input>
</FormItem>
<FormItem
label=
"系统"
prop=
"from_system"
>
<Select
v-model=
"formValidate.from_system"
@
on-change=
"selectSys"
style=
"width:240px;"
>
<Option
v-for=
"(item,index) in allsystem "
:key=
"index+1"
:value=
"item.value"
>
{{
item
.
label
}}
</Option>
</Select>
</FormItem>
<FormItem
label=
"操作类型"
prop=
"type"
>
<Select
v-model=
"formValidate.type"
placeholder=
"请选择"
style=
"width:240px;"
>
<Option
value=
1
>
菜单
</Option>
<Option
value=
2
>
系统
</Option>
<Option
value=
3
>
页面
</Option>
</Select>
</FormItem>
<FormItem
label=
"地址"
prop=
"url"
>
<Input
v-model=
"formValidate.url"
style=
"width:240px;"
></Input>
<!--
<Select
v-model=
"formValidate.url"
placeholder=
"请选择"
>
<Option
v-for=
"(item,index) in allpages "
:key=
"item.value"
:value=
"item.value"
>
{{
item
.
label
}}
</Option>
</Select>
-->
</FormItem>
<!--
<FormItem
label=
"密级"
prop=
"secret_class"
>
<Select
v-model=
"formValidate.secret_class"
placeholder=
"请选择"
style=
"width:240px;"
>
<Option
v-for=
"(item,index) in mijis "
:key=
"item.value"
:value=
"item.value"
>
{{
item
.
label
}}
</Option>
</Select>
</FormItem>
-->
<FormItem
label=
"状态"
prop=
"status"
>
<Select
v-model=
"formValidate.status"
placeholder=
"请选择"
style=
"width:240px;"
>
<Option
value=
0
>
启用
</Option>
<Option
value=
1
>
禁用
</Option>
</Select>
</FormItem>
<!--
<FormItem
label=
"打开方式"
prop=
"target"
>
<Select
v-model=
"formValidate.target"
placeholder=
"请选择"
style=
"width:240px;"
>
<Option
value=
"系统内"
>
系统内
</Option>
<Option
value=
"新页面"
>
新页面
</Option>
</Select>
</FormItem>
-->
<FormItem
label=
"排序"
prop=
"priority"
>
<Input
v-model=
"formValidate.priority"
style=
"width:240px;"
></Input>
</FormItem>
</Form>
</
template
>
<
script
>
import
service
from
'@/plugins/request'
export
default
{
name
:
'addPrivilege'
,
tit
:
''
,
props
:[
'seldata'
],
data
(){
return
{
formValidate
:{
name
:
''
,
up_id
:
-
1
,
from_system
:
''
,
type
:
''
,
url
:
''
,
status
:
''
,
target
:
''
,
priority
:
''
,
secret_class
:
''
},
ruleValidate
:
{
up_id
:[{
required
:
true
}],
name
:[{
required
:
true
}],
from_system
:[{
required
:
true
}],
type
:[{
required
:
true
}],
url
:[{
required
:
true
}]
// priority:[ { required: true, message: '排序不能为空' },
// { type: 'number', message: '请输入排序,只能填写数字' }]
},
list
:[],
isShow
:
true
,
allsystem
:[
{
value
:
'0'
,
label
:
'三车间MES'
},
{
value
:
'1'
,
label
:
'机加MES'
}
],
allpages
:[
{
value
:
'/a/index.html'
,
label
:
'/a/index.html'
},
{
value
:
'/a/port.html'
,
label
:
'/a/port.html'
},
{
value
:
'/a/default.html'
,
label
:
'/a/default.html'
}
],
mijis
:[
{
value
:
'机密'
,
label
:
'机密'
},
{
value
:
'一般'
,
label
:
'一般'
},
{
value
:
'内部'
,
label
:
'内部'
}
]
}
},
created
(){
this
.
formValidate
.
from_system
=
this
.
allsystem
[
0
].
value
//this.gettree(this.formValidate.from_system);
},
computed
:{
},
methods
:{
selectSys
(){
this
.
$emit
(
'selectSys'
,
this
.
formValidate
.
from_system
)
},
handleSelect
(
data
){
this
.
list
=
[];
this
.
list
.
push
({
label
:
data
[
0
].
title
,
value
:
data
[
0
].
value
});
console
.
log
(
this
.
list
);
this
.
formValidate
.
up_id
=
data
[
0
].
value
;
},
getdata
(){
return
this
.
formValidate
}
}
}
</
script
>
<
style
scoped
>
.ivu-form-item
{
width
:
48%
;
display
:
inline-block
;}
.ivu-form-item
:nth-child
(
odd
)
{
margin-left
:
10px
}
</
style
>
\ No newline at end of file
pages/basicData/privilegeManagent/components/treeGrid.vue
0 → 100644
View file @
b393a7a1
<!--
* @Author: 黄龙
* @pageName: 'tree-grid 树型表格'
* @Date: 2017-07-17 16:48:44
* @Last Modified by: 黄龙
* @Last Modified time: 2017-07-17 16:48:44
* @events @on-row-click 单击行或者单击操作按钮方法
@on-selection-change 多选模式下 选中项变化时触发
@on-sort-change 排序时有效,当点击排序时触发
@props items 显示的结构化数据
columns 表格列的配置描述 sortable:true 开启排序功能
type: 'selection'为多选功能 type: 'action' 为操作功能 actions:[{}] 操作按钮
-->
<
template
>
<div
:style=
"
{width:tableWidth,height:tableWidth}" class='autoTbale'>
<table
class=
"table table-bordered"
id=
'hl-tree-table'
ref=
"hl-tree-table"
>
<thead>
<tr>
<th
v-for=
"(column,index) in cloneColumns"
:key=
"index"
style=
"background:#F5F6FA"
>
<label
v-if=
"column.type === 'selection'"
>
<input
type=
"checkbox"
v-model=
"checks"
@
click=
"handleCheckAll"
>
</label>
<label
v-else
>
{{
renderHeader
(
column
,
index
)
}}
<span
class=
"ivu-table-sort"
v-if=
"column.sortable"
>
<Icon
type=
"arrow-up-b"
:class=
"
{on: column._sortType === 'asc'}" @click.native="handleSort(index, 'asc')" />
<Icon
type=
"arrow-down-b"
:class=
"
{on: column._sortType === 'desc'}" @click.native="handleSort(index, 'desc')" />
</span>
</label>
</th>
</tr>
</thead>
<tbody>
<tr
v-for=
"(item,index) in initItems"
:key=
"item.index"
v-show=
"show(item)"
:class=
"
{'child-tr':item.parent}" class="mytr noacitve" @click="clicktr(item,$event,index)">
<td
v-for=
"(column,snum) in columns"
:key=
"column.key"
:style=
tdStyle(column)
>
<label
v-if=
"column.type === 'selection'"
>
<input
type=
"checkbox"
:value=
"item.id"
v-model=
"checkGroup"
@
click=
"handleCheckClick(item,$event,index)"
>
</label>
<div
v-if=
"column.type === 'action'"
class=
"action"
>
<op
:oprate=
"action.oprate"
:class=
"action.class"
@
click=
"RowClick(item,$event,index,action.text)"
v-for=
'action in (column.actions)'
:key=
"action.text"
>
{{
action
.
text
}}
</op>
</div>
<label
@
click=
"toggle(index,item)"
v-if=
"!column.type"
>
<span
v-if=
'snum==iconRow()'
>
<i
v-html=
'item.spaceHtml'
></i>
<i
v-if=
"item.children&&item.children.length>0"
class=
"ivu-icon"
style=
"font-size:20px"
:class=
"
{'ivu-icon-md-arrow-dropright':!item.expanded,'ivu-icon-md-arrow-dropdown':item.expanded }">
</i>
<i
v-else
class=
"ms-tree-space"
></i>
</span>
{{
renderBody
(
item
,
column
)
}}
</label>
</td>
</tr>
</tbody>
</table>
</div>
</
template
>
<
script
>
export
default
{
name
:
'treeGrid'
,
props
:
{
columns
:
Array
,
items
:
{
type
:
Array
,
default
:
function
()
{
return
[];
}
}
},
data
()
{
return
{
initItems
:
[],
//处理后数据数组
cloneColumns
:
[],
//处理后的表头数据
checkGroup
:
[],
//复选框数组
checks
:
false
,
//全选
screenWidth
:
document
.
body
.
clientWidth
,
//自适应宽
tdsWidth
:
0
,
//td总宽
timer
:
false
,
//控制监听时长
dataLength
:
0
,
//树形数据长度
isActive
:
false
,
leftWidth
:
0
}
},
computed
:
{
tableWidth
()
{
return
this
.
tdsWidth
>
this
.
screenWidth
&&
this
.
screenWidth
>
0
?
this
.
screenWidth
+
'px'
:
'100%'
}
},
watch
:
{
screenWidth
(
val
)
{
if
(
!
this
.
timer
)
{
this
.
screenWidth
=
val
this
.
timer
=
true
setTimeout
(()
=>
{
this
.
timer
=
false
},
400
)
}
},
items
()
{
if
(
this
.
items
)
{
this
.
dataLength
=
this
.
Length
(
this
.
items
)
this
.
initData
(
this
.
deepCopy
(
this
.
items
),
1
,
null
);
this
.
checkGroup
=
this
.
renderCheck
(
this
.
items
)
if
(
this
.
checkGroup
.
length
==
this
.
dataLength
)
{
this
.
checks
=
true
}
else
{
this
.
checks
=
false
}
}
},
columns
:
{
handler
()
{
this
.
cloneColumns
=
this
.
makeColumns
();
},
deep
:
true
},
checkGroup
(
data
)
{
this
.
checkAllGroupChange
(
data
)
},
},
mounted
()
{
if
(
this
.
items
)
{
this
.
dataLength
=
this
.
Length
(
this
.
items
)
this
.
initData
(
this
.
deepCopy
(
this
.
items
),
1
,
null
);
this
.
cloneColumns
=
this
.
makeColumns
();
this
.
checkGroup
=
this
.
renderCheck
(
this
.
items
)
if
(
this
.
checkGroup
.
length
==
this
.
dataLength
)
{
this
.
checks
=
true
}
else
{
this
.
checks
=
false
}
}
// 绑定onresize事件 监听屏幕变化设置宽
this
.
$nextTick
(()
=>
{
this
.
screenWidth
=
document
.
body
.
clientWidth
})
window
.
onresize
=
()
=>
{
return
(()
=>
{
window
.
screenWidth
=
document
.
body
.
clientWidth
;
this
.
screenWidth
=
window
.
screenWidth
;
})()
}
},
methods
:
{
clicktr
(
data
,
e
,
i
){
//console.log(e);
let
result
=
this
.
makeData
(
data
);
//console.log(result);
this
.
$emit
(
'on-row-click'
,
result
,
e
,
i
)
var
boxArr
=
document
.
querySelectorAll
(
".mytr"
);
// console.log(boxArr)
boxArr
.
forEach
(
function
(
item
,
index
){
item
.
classList
.
remove
(
'acitvetr'
);
if
(
i
!==
index
){
item
.
classList
.
add
(
'noacitve'
);
}
});
boxArr
[
i
].
classList
.
remove
(
'noacitve'
);
boxArr
[
i
].
classList
.
add
(
'acitvetr'
);
},
// 有无多选框折叠位置优化
iconRow
()
{
for
(
var
i
=
0
,
len
=
this
.
columns
.
length
;
i
<
len
;
i
++
)
{
if
(
this
.
columns
[
i
].
type
==
'selection'
)
{
return
1
}
}
return
0
},
// 设置td宽度,td的align
tdStyle
(
column
)
{
var
style
=
{}
if
(
column
.
align
)
{
style
[
"text-align"
]
=
column
.
align
;
}
if
(
column
.
width
)
{
style
[
"min-width"
]
=
column
.
width
+
'px'
;
}
return
style
;
},
// 排序事件
handleSort
(
index
,
type
)
{
this
.
cloneColumns
.
forEach
((
col
)
=>
col
.
_sortType
=
'normal'
);
if
(
this
.
cloneColumns
[
index
].
_sortType
===
type
)
{
this
.
cloneColumns
[
index
].
_sortType
=
'normal'
}
else
{
this
.
cloneColumns
[
index
].
_sortType
=
type
}
this
.
$emit
(
'on-sort-change'
,
this
.
cloneColumns
[
index
][
'key'
],
this
.
cloneColumns
[
index
][
'_sortType'
])
},
// 点击某一行事件
RowClick
(
data
,
event
,
index
,
text
)
{
let
result
=
this
.
makeData
(
data
)
this
.
$emit
(
'on-row-click'
,
result
,
event
,
index
,
text
)
},
// 点击事件 返回数据处理
makeData
(
data
)
{
const
t
=
this
.
type
(
data
);
let
o
;
if
(
t
===
'array'
)
{
o
=
[];
}
else
if
(
t
===
'object'
)
{
o
=
{};
}
else
{
return
data
;
}
if
(
t
===
'array'
)
{
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
o
.
push
(
this
.
makeData
(
data
[
i
]));
}
}
else
if
(
t
===
'object'
)
{
for
(
let
i
in
data
)
{
if
(
i
!=
'spaceHtml'
&&
i
!=
'parent'
&&
i
!=
'level'
&&
i
!=
'expanded'
&&
i
!=
'isShow'
&&
i
!=
'load'
)
{
o
[
i
]
=
this
.
makeData
(
data
[
i
]);
}
}
}
return
o
;
},
// 处理表头数据
makeColumns
()
{
let
columns
=
this
.
deepCopy
(
this
.
columns
);
this
.
tdsWidth
=
0
columns
.
forEach
((
column
,
index
)
=>
{
column
.
_index
=
index
;
column
.
_width
=
column
.
width
?
column
.
width
:
''
;
column
.
_sortType
=
'normal'
;
this
.
tdsWidth
+=
column
.
width
?
parseFloat
(
column
.
width
)
:
0
;
});
return
columns
;
},
// 数据处理 增加自定义属性监听
initData
(
items
,
level
,
parent
)
{
this
.
initItems
=
[]
let
spaceHtml
=
""
;
for
(
var
i
=
1
;
i
<
level
;
i
++
)
{
spaceHtml
+=
"<i class='ms-tree-space'></i>"
}
items
.
forEach
((
item
,
index
)
=>
{
item
=
Object
.
assign
({},
item
,
{
"parent"
:
parent
,
"level"
:
level
,
"spaceHtml"
:
spaceHtml
});
if
((
typeof
item
.
expanded
)
==
"undefined"
)
{
item
=
Object
.
assign
({},
item
,
{
"expanded"
:
false
});
}
if
((
typeof
item
.
show
)
==
"undefined"
)
{
item
=
Object
.
assign
({},
item
,
{
"isShow"
:
false
});
}
if
((
typeof
item
.
isChecked
)
==
"undefined"
)
{
item
=
Object
.
assign
({},
item
,
{
"isChecked"
:
false
});
}
item
=
Object
.
assign
({},
item
,
{
"load"
:
(
item
.
expanded
?
true
:
false
)
});
this
.
initItems
.
push
(
item
);
if
(
item
.
children
&&
item
.
expanded
)
{
this
.
initData
(
item
.
children
,
level
+
1
,
item
);
}
})
},
// 隐藏显示
show
(
item
)
{
return
((
item
.
level
==
1
)
||
(
item
.
parent
&&
item
.
parent
.
expanded
&&
item
.
isShow
));
},
toggle
(
index
,
item
)
{
let
level
=
item
.
level
+
1
;
let
spaceHtml
=
""
;
for
(
var
i
=
1
;
i
<
level
;
i
++
)
{
spaceHtml
+=
"<i class='ms-tree-space'></i>"
}
if
(
item
.
children
)
{
if
(
item
.
expanded
)
{
item
.
expanded
=
!
item
.
expanded
;
this
.
close
(
index
,
item
);
}
else
{
item
.
expanded
=
!
item
.
expanded
;
if
(
item
.
load
)
{
this
.
open
(
index
,
item
);
}
else
{
item
.
load
=
true
;
item
.
children
.
forEach
((
child
,
childIndex
)
=>
{
this
.
initItems
.
splice
((
index
+
childIndex
+
1
),
0
,
child
);
//设置监听属性
this
.
$set
(
this
.
initItems
[
index
+
childIndex
+
1
],
'parent'
,
item
);
this
.
$set
(
this
.
initItems
[
index
+
childIndex
+
1
],
'level'
,
level
);
this
.
$set
(
this
.
initItems
[
index
+
childIndex
+
1
],
'spaceHtml'
,
spaceHtml
);
this
.
$set
(
this
.
initItems
[
index
+
childIndex
+
1
],
'isShow'
,
true
);
this
.
$set
(
this
.
initItems
[
index
+
childIndex
+
1
],
'expanded'
,
false
);
})
}
}
}
},
open
(
index
,
item
)
{
if
(
item
.
children
)
{
item
.
children
.
forEach
((
child
,
childIndex
)
=>
{
child
.
isShow
=
true
;
if
(
child
.
children
&&
child
.
expanded
)
{
this
.
open
(
index
+
childIndex
+
1
,
child
);
}
})
}
},
close
(
index
,
item
)
{
if
(
item
.
children
)
{
item
.
children
.
forEach
((
child
,
childIndex
)
=>
{
child
.
isShow
=
false
;
child
.
expanded
=
false
;
if
(
child
.
children
)
{
this
.
close
(
index
+
childIndex
+
1
,
child
);
}
})
}
},
//点击check勾选框,判断是否有children节点 如果有就一并勾选
handleCheckClick
(
data
,
event
,
index
){
data
.
isChecked
=
!
data
.
isChecked
;
var
arr
=
data
.
children
;
if
(
arr
){
if
(
data
.
isChecked
){
this
.
checkGroup
.
push
(
data
.
id
);
for
(
let
i
=
0
;
i
<
arr
.
length
;
i
++
){
this
.
checkGroup
.
push
(
arr
[
i
].
id
)
}
}
else
{
for
(
var
i
=
0
;
i
<
this
.
checkGroup
.
length
;
i
++
){
if
(
this
.
checkGroup
[
i
]
==
data
.
id
){
this
.
checkGroup
.
splice
(
i
,
1
)
}
for
(
var
j
=
0
;
j
<
arr
.
length
;
j
++
){
if
(
this
.
checkGroup
[
i
]
==
arr
[
j
].
id
){
this
.
checkGroup
.
splice
(
i
,
1
);
}
}
}
}
}
},
//checkbox 全选 选择事件
handleCheckAll
()
{
this
.
checks
=
!
this
.
checks
;
if
(
this
.
checks
)
{
this
.
checkGroup
=
this
.
getArray
(
this
.
checkGroup
.
concat
(
this
.
All
(
this
.
items
)))
}
else
{
this
.
checkGroup
=
[]
}
// this.$emit('on-selection-change', this.checkGroup)
},
// 数组去重
getArray
(
a
)
{
var
hash
=
{},
len
=
a
.
length
,
result
=
[];
for
(
var
i
=
0
;
i
<
len
;
i
++
)
{
if
(
!
hash
[
a
[
i
]])
{
hash
[
a
[
i
]]
=
true
;
result
.
push
(
a
[
i
]);
}
}
return
result
;
},
checkAllGroupChange
(
data
)
{
if
(
this
.
dataLength
>
0
&&
data
.
length
===
this
.
dataLength
)
{
this
.
checks
=
true
;
}
else
{
this
.
checks
=
false
;
}
this
.
$emit
(
'on-selection-change'
,
this
.
checkGroup
)
},
All
(
data
)
{
let
arr
=
[]
data
.
forEach
((
item
)
=>
{
arr
.
push
(
item
.
id
)
if
(
item
.
children
&&
item
.
children
.
length
>
0
)
{
arr
=
arr
.
concat
(
this
.
All
(
item
.
children
));
}
})
return
arr
},
// 返回树形数据长度
Length
(
data
)
{
let
length
=
data
.
length
data
.
forEach
((
child
)
=>
{
if
(
child
.
children
)
{
length
+=
this
.
Length
(
child
.
children
)
}
})
return
length
;
},
// 返回表头
renderHeader
(
column
,
$index
)
{
if
(
'renderHeader'
in
this
.
columns
[
$index
])
{
return
this
.
columns
[
$index
].
renderHeader
(
column
,
$index
);
}
else
{
return
column
.
title
||
'#'
;
}
},
// 返回内容
renderBody
(
row
,
column
,
index
)
{
return
row
[
column
.
key
]
},
// 默认选中
renderCheck
(
data
)
{
let
arr
=
[]
data
.
forEach
((
item
)
=>
{
if
(
item
.
_checked
)
{
arr
.
push
(
item
.
id
)
}
if
(
item
.
children
&&
item
.
children
.
length
>
0
)
{
arr
=
arr
.
concat
(
this
.
renderCheck
(
item
.
children
));
}
})
return
arr
},
// 深度拷贝函数
deepCopy
(
data
)
{
var
t
=
this
.
type
(
data
),
o
,
i
,
ni
;
if
(
t
===
'array'
)
{
o
=
[];
}
else
if
(
t
===
'object'
)
{
o
=
{};
}
else
{
return
data
;
}
if
(
t
===
'array'
)
{
for
(
i
=
0
,
ni
=
data
.
length
;
i
<
ni
;
i
++
)
{
o
.
push
(
this
.
deepCopy
(
data
[
i
]));
}
return
o
;
}
else
if
(
t
===
'object'
)
{
for
(
i
in
data
)
{
o
[
i
]
=
this
.
deepCopy
(
data
[
i
]);
}
return
o
;
}
},
type
(
obj
)
{
var
toString
=
Object
.
prototype
.
toString
;
var
map
=
{
'[object Boolean]'
:
'boolean'
,
'[object Number]'
:
'number'
,
'[object String]'
:
'string'
,
'[object Function]'
:
'function'
,
'[object Array]'
:
'array'
,
'[object Date]'
:
'date'
,
'[object RegExp]'
:
'regExp'
,
'[object Undefined]'
:
'undefined'
,
'[object Null]'
:
'null'
,
'[object Object]'
:
'object'
};
return
map
[
toString
.
call
(
obj
)];
}
},
beforeDestroy
()
{
window
.
onresize
=
null
}
}
</
script
>
<
style
scoped
>
.autoTbale
{
overflow
:
auto
;
}
table
{
width
:
100%
;
border-spacing
:
0
;
border-collapse
:
collapse
;
}
.table-bordered
{
border
:
1px
solid
#EBEBEB
;
}
.table
>
tbody
>
tr
>
td
,
.table
>
tbody
>
tr
>
th
,
.table
>
thead
>
tr
>
td
,
.table
>
thead
>
tr
>
th
{
border-top
:
1px
solid
#e7eaec
;
line-height
:
1.42857
;
padding
:
8px
;
vertical-align
:
middle
;
text-align
:
center
}
.table
>
tbody
>
tr
>
td
:nth-child
(
1
)
{
padding
:
8px
8px
8px
30px
;
text-align
:
left
;
}
.table-bordered
>
tbody
>
tr
>
td
,
.table-bordered
>
tbody
>
tr
>
th
,
.table-bordered
>
tfoot
>
tr
>
td
,
.table-bordered
>
tfoot
>
tr
>
th
,
.table-bordered
>
thead
>
tr
>
td
,
.table-bordered
>
thead
>
tr
>
th
{
border
:
1px
solid
#e7e7e7
;
}
.table
>
thead
>
tr
>
th
{
border-bottom
:
1px
solid
#DDD
;
}
.table-bordered
>
thead
>
tr
>
td
,
.table-bordered
>
thead
>
tr
>
th
{
background-color
:
#F5F5F6
;
}
#hl-tree-table
>
tbody
>
tr
{
height
:
48px
;
}
#hl-tree-table
>
tbody
>
tr
:hover
{
background-color
:
#ebf7ff
;
}
.noacitve
{
background-color
:
#fbfbfb
;
}
.acitvetr
{
background-color
:
#ebf7ff
;
}
/
deep
/
.ms-tree-space
{
position
:
relative
;
top
:
1px
;
display
:
inline-block
;
font-style
:
normal
;
font-weight
:
400
;
line-height
:
1
;
width
:
14px
;
height
:
14px
;
}
/
deep
/
.ms-tree-space
::before
{
content
:
""
}
#hl-tree-table
th
>
label
{
margin
:
0
;
}
</
style
>
pages/basicData/privilegeManagent/index.vue
0 → 100644
View file @
b393a7a1
<
template
>
<div>
<div
class=
"contentRight "
:style=
"
{height:divHeihgt}">
<div
style=
"height:32px;"
>
<div
style=
"display:inline-block;"
>
<span
class=
"margriht6"
>
系统
</span>
<Select
v-model=
"model1"
label-in-value
@
on-change=
"model1Change"
style=
"width:240px"
placeholder=
"请选择"
>
<Option
v-for=
"item in sysdata"
:value=
"item.value"
:key=
"item.value"
>
{{
item
.
label
}}
</Option>
</Select>
<span
class=
"margriht6 marleft10"
>
状态
</span>
<Select
v-model=
"model2"
style=
"width:80px"
placeholder=
"请选择"
>
<Option
v-for=
"item in roleStatus"
:value=
"item.value"
:key=
"item.value"
>
{{
item
.
label
}}
</Option>
</Select>
<Button
type=
"primary"
@
click=
"search"
>
查询
</Button>
</div>
<div
style=
"float:right"
class=
"paddingbtn"
>
<Button
type=
"primary"
@
click=
"add"
>
新增
</Button>
<Button
type=
"primary"
@
click=
"edit"
>
编辑
</Button>
<Button
type=
"primary"
@
click=
"del"
>
删除
</Button>
</div>
</div>
<div
class=
"margin-top-10"
>
<tree-grid
:items=
"data"
ref=
"table"
:columns=
"columns"
@
on-row-click=
"rowClick"
@
on-selection-change=
"selectionClick"
@
on-sort-change=
"sortClick"
></tree-grid>
</div>
</div>
<Modal
v-model=
"modal1"
:mask-closable=
"false"
title=
"新增权限菜单"
:width=
"800"
:loading=
"myloading"
ok-text=
"保存"
cancel-text=
"取消"
@
on-ok=
"ok('formValidate')"
@
on-cancel=
"cancel"
>
<add-privilege
:seldata=
"seldata"
ref=
"addpri"
v-on:selectSys=
"selectSys"
></add-privilege>
<!--
<div
slot=
"footer"
style=
"text-align:center"
>
<Button
type=
"primary"
@
click=
"ok('formValidate')"
>
保存
</Button>
<Button
type=
"primary"
style=
"border-color: rgb(204, 204, 204);background-color:white;color:black"
@
click=
"cancel"
>
取消
</Button>
</div>
-->
</Modal>
<myconfirm
ref=
"mysel"
v-on:confirmok=
"okmysel"
v-on:confirmcancel=
"cancelmysel"
></myconfirm>
</div>
</
template
>
<
script
>
import
treeGrid
from
'./components/treeGrid'
import
addPrivilege
from
'./components/add'
import
myconfirm
from
'../../processDesign/productTree/components/myconfirm'
import
service
from
'@/plugins/request'
export
default
{
components
:
{
treeGrid
,
addPrivilege
,
myconfirm
},
data
()
{
return
{
model1
:
''
,
model1Name
:
''
,
model2
:
''
,
modal1
:
false
,
keyid
:
0
,
divHeihgt
:
""
,
myloading
:
true
,
//点击的行号
clickindex
:
-
1
,
clickdata
:
{},
checkids
:
[],
//添加还是编辑
isedit
:
false
,
//添加时候表单数据
formValidate1
:
{},
sysdata
:
[
// {
// value: '-1',
// label: '全部'
// },
{
value
:
'0'
,
label
:
'3车间MES'
},
{
value
:
'1'
,
label
:
'机加MES'
}
],
roleStatus
:
[
{
value
:
'-1'
,
label
:
'不限'
},
{
value
:
'0'
,
label
:
'启用'
},
{
value
:
'1'
,
label
:
'禁用'
}
],
columns
:
[
// {
// type: 'selection'
// },
{
title
:
'权限名称'
,
key
:
'name'
,
width
:
'150'
,
sortable
:
true
},
// {
// title: '父权限',
// key: 'up_id'
// },
{
title
:
'系统'
,
key
:
'system_name'
,
align
:
"left"
,
},
{
title
:
'地址'
,
key
:
'url'
,
width
:
'200'
,
align
:
"left"
,
},
// {
// title: '密级',
// key: 'secret_class'
// },
{
title
:
'状态'
,
key
:
'status_name'
,
render
:
(
h
,
params
)
=>
{
return
h
(
'span'
,
{
on
:
{
click
:
()
=>
{}
}
},
params
.
status
==
'0'
?
'启用'
:
'禁用'
)
}
},
{
title
:
'类型'
,
key
:
'type_name'
},
// {
// title: '打开方式',
// key: 'target'
// },
{
title
:
'排序'
,
key
:
'priority'
},
{
title
:
'创建时间'
,
key
:
'creationTime'
,
width
:
'150'
,
},
{
title
:
'修改时间'
,
key
:
'lastModificationTime'
,
width
:
'150'
,
}
// {
// title: '操作',
// type: 'action',
// actions: [{
// type: 'primary',
// text: '编辑'
// }, {
// type: 'error',
// text: '删除'
// }],
// width: '150',
// }
],
data
:
[],
//父权限菜单树
seldata
:
[],
//父权限名
parent_name
:
''
}
},
methods
:
{
loaddata
:
function
()
{
var
url
=
`
${
systemUrl
}
/Privilege/getprivileges`
var
that
=
this
service
.
get
(
`
${
url
}
`
,
{
params
:
this
.
searchdata
}).
then
((
response
)
=>
{
// console.log(response)
that
.
data
=
response
.
data
.
result
})
},
lodataByid
:
function
(
data1
)
{
var
url
=
`
${
systemUrl
}
/Privilege/GetById`
service
.
get
(
`
${
url
}
`
,
{
params
:
{
id
:
this
.
clickindex
}
})
.
then
((
response
)
=>
{
//console.log(response)
data1
=
response
.
data
.
result
//console.log(data1)
this
.
gettree
(
data1
.
from_system
,
data1
)
})
},
gettree
(
sid
,
data1
)
{
service
.
get
(
`
${
systemUrl
}
/Privilege/getTree`
,
{
params
:
{
from_system
:
sid
,
id
:
this
.
clickindex
}
})
.
then
((
response
)
=>
{
this
.
seldata
=
response
.
data
.
result
this
.
$refs
.
addpri
.
list
=
[]
if
(
this
.
clickindex
>=
0
)
{
if
(
data1
)
{
//下拉列表切换的时候
if
(
data1
==
'selectSys'
)
{
//alert(1)
this
.
$refs
.
addpri
.
formValidate
.
up_id
=
0
this
.
$refs
.
addpri
.
list
.
push
({
label
:
'根节点'
,
value
:
0
})
this
.
setSelect
(
this
.
seldata
,
0
)
}
else
{
// alert(2)
console
.
log
(
data1
)
if
(
this
.
isedit
)
{
// alert(12)
this
.
setSelect
(
this
.
seldata
,
data1
.
up_id
)
this
.
$refs
.
addpri
.
list
.
push
({
label
:
this
.
parent_name
,
value
:
data1
.
up_id
})
this
.
$refs
.
addpri
.
formValidate
=
data1
this
.
$refs
.
addpri
.
formValidate
.
from_system
=
data1
.
from_system
+
''
this
.
$refs
.
addpri
.
formValidate
.
status
=
data1
.
status
+
''
this
.
$refs
.
addpri
.
formValidate
.
type
=
data1
.
type
+
''
}
else
{
// alert(13)
this
.
setSelect
(
this
.
seldata
,
data1
.
id
)
this
.
$refs
.
addpri
.
formValidate
=
{}
this
.
$refs
.
addpri
.
formValidate
.
up_id
=
data1
.
id
this
.
$refs
.
addpri
.
formValidate
.
from_system
=
data1
.
from_system
+
''
//this.$refs.addpri.formValidate.id=''
this
.
$refs
.
addpri
.
list
.
push
({
label
:
this
.
parent_name
,
value
:
data1
.
id
})
}
}
}
}
else
{
}
})
},
search
:
function
()
{
this
.
isedit
=
false
this
.
clickindex
=-
1
this
.
loaddata
()
this
.
gettree
(
this
.
searchdata
.
from_system
)
},
selectSys
:
function
(
val
)
{
this
.
gettree
(
val
,
'selectSys'
)
},
setnoselect
:
function
(
data
,
val
)
{
data
.
forEach
((
item
,
index
)
=>
{
item
.
selected
=
false
if
(
item
.
children
)
{
this
.
setnoselect
(
item
.
children
)
}
})
},
setSelect
:
function
(
data
,
val
)
{
//data=this.seldata;
this
.
setnoselect
(
data
)
data
.
forEach
((
item
,
index
)
=>
{
item
.
selected
=
false
if
(
item
.
value
==
val
)
{
// alert(11)
item
.
selected
=
true
this
.
parent_name
=
item
.
title
}
else
{
if
(
item
.
children
)
{
this
.
setSelect
(
item
.
children
,
val
)
}
}
})
//console.log(data)
},
add
:
function
()
{
// if(this.datacount>=1 && this.clickindex
<
0
){
// this.$Message.error("请选中一个根节点后再添加");
// return;
// }
this
.
isedit
=
false
this
.
setnoselect
(
this
.
seldata
)
this
.
$refs
.
addpri
.
$refs
[
'formValidate'
].
resetFields
()
this
.
modal1
=
true
this
.
$refs
.
addpri
.
list
=
[]
if
(
this
.
clickindex
<
0
)
{
this
.
$refs
.
addpri
.
formValidate
.
up_id
=
0
this
.
$refs
.
addpri
.
list
.
push
({
label
:
'根节点'
,
value
:
0
})
this
.
setSelect
(
this
.
seldata
,
0
)
console
.
log
(
this
.
searchdata
.
from_system
)
this
.
$refs
.
addpri
.
formValidate
.
from_system
=
this
.
searchdata
.
from_system
+
''
}
//选中一行
else
{
var
data1
=
{}
this
.
lodataByid
(
data1
)
}
},
//新增,编辑保存
ok
:
function
(
name
)
{
var
a
=
this
.
$refs
.
addpri
a
.
$refs
[
name
].
validate
((
valid
)
=>
{
if
(
valid
)
{
//this.$Message.success('Success!');
var
url
=
`
${
systemUrl
}
/Privilege/CreateOrUpdate`
var
that
=
this
if
(
!
this
.
$refs
.
addpri
.
formValidate
.
status
){
this
.
$refs
.
addpri
.
formValidate
.
status
=
0
}
if
(
!
this
.
$refs
.
addpri
.
formValidate
.
priority
){
this
.
$refs
.
addpri
.
formValidate
.
priority
=
0
}
if
(
this
.
$refs
.
addpri
.
formValidate
.
priority
){
if
(
typeof
(
this
.
$refs
.
addpri
.
formValidate
.
priority
)
!=
'number'
){
that
.
$Message
.
error
(
'排序字段只能输入数字'
);
return
;
}
}
this
.
formValidate1
=
this
.
$refs
.
addpri
.
formValidate
//console.log(this.formValidate1)
service
.
post
(
`
${
url
}
`
,
JSON
.
stringify
({
Privilege
:
this
.
formValidate1
}))
.
then
((
response
)
=>
{
if
(
response
.
data
.
success
)
{
that
.
$Message
.
success
(
'保存成功'
)
that
.
loaddata
()
// that.gettree();
this
.
modal1
=
false
}
})
.
catch
((
error
)
=>
{
that
.
$Message
.
error
(
'保存失败'
)
})
//
}
else
{
setTimeout
(()
=>
{
this
.
myloading
=
false
this
.
$nextTick
(()
=>
{
this
.
myloading
=
true
})
},
500
)
this
.
$Message
.
error
(
'请输入必填项'
)
}
})
},
edit
:
function
()
{
if
(
this
.
clickindex
>=
0
)
{
this
.
modal1
=
true
this
.
isedit
=
true
this
.
$refs
.
addpri
.
$refs
[
'formValidate'
].
resetFields
()
var
data1
=
{}
this
.
lodataByid
(
data1
)
//编辑页面父权限下拉设置
// this.$refs.addpri.formValidate.up_id=data.up_id;
}
else
{
this
.
$Message
.
warning
(
'请选中一行数据'
)
}
},
del
:
function
()
{
if
(
this
.
clickindex
>=
0
||
this
.
checkids
.
length
>
0
)
{
var
data
=
this
.
clickdata
this
.
keyid
=
data
.
id
this
.
$refs
.
mysel
.
confirmmodal
=
true
}
else
{
this
.
$Message
.
warning
(
'请选中一行数据'
)
}
},
okmysel
(
bl
)
{
var
url
=
`
${
systemUrl
}
/Privilege/Delete`
var
that
=
this
service
.
delete
(
`
${
url
}
?id=
${
this
.
keyid
}
`
)
.
then
((
response
)
=>
{
if
(
response
.
data
.
success
)
{
that
.
$Message
.
success
(
'删除成功'
)
that
.
loaddata
()
}
})
.
catch
((
error
)
=>
{
that
.
$Message
.
error
(
'删除失败'
)
})
that
.
$refs
.
mysel
.
confirmmodal
=
bl
},
cancelmysel
(
bl
)
{
this
.
$refs
.
mysel
.
confirmmodal
=
bl
},
cancel
:
function
()
{
this
.
isedit
=
false
this
.
modal1
=
false
},
rowClick
(
data
,
event
,
index
,
txt
)
{
//console.log('当前行数据:' + data)
//console.log('点击行号:' + index)
//console.log('点击事件:' + event)
data
=
JSON
.
stringify
(
data
)
data
=
JSON
.
parse
(
data
)
this
.
clickindex
=
data
.
id
this
.
clickdata
=
data
},
selectionClick
(
arr
)
{
//console.log('选中数据id数组:' + arr)
this
.
checkids
=
arr
},
sortClick
(
key
,
type
)
{
//console.log('排序字段:' + key)
//console.log('排序规则:' + type)
},
model1Change
:
function
(
v
)
{
//console.log(v);
this
.
model1Name
=
v
.
label
}
},
created
()
{
this
.
model1
=
this
.
sysdata
[
0
].
value
this
.
model1Name
=
this
.
sysdata
[
0
].
label
this
.
model2
=
this
.
roleStatus
[
0
].
value
this
.
loaddata
()
//this.gettree(this.model1)
this
.
divHeihgt
=
window
.
innerHeight
-
100
+
"px"
;
},
mounted
()
{
// this.tbPro.height = window.innerHeight - this.$refs.table.$el.offsetTop - 70
window
.
onresize
=
()
=>
{
return
(()
=>
{
this
.
divHeihgt
=
window
.
innerHeight
-
100
+
"px"
;
})()
}
},
computed
:
{
searchdata
:
function
()
{
return
{
from_system
:
this
.
model1
,
status
:
this
.
model2
,
system_name
:
this
.
model1Name
}
},
datacount
:
function
(){
return
this
.
data
.
length
}
}
}
</
script
>
<
style
scoped
>
.margriht6
{
display
:
inline-block
;
margin-right
:
6px
;
}
.marleft10
{
margin-left
:
10px
;
}
.marleft20
{
margin-left
:
20px
;
}
</
style
>
\ No newline at end of file
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