system-clients 3.2.1-13 → 3.2.1-16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +16 -16
- package/build/webpack.base.conf.js +85 -85
- package/package.json +1 -1
- package/src/App.vue +24 -24
- package/src/components/Main.vue +649 -649
- package/src/components/TabButton.vue +201 -201
- package/src/components/equipment/EquipmentManage.vue +65 -65
- package/src/components/equipment/PosAdd.vue +323 -323
- package/src/components/equipment/PosList.vue +294 -294
- package/src/components/equipment/PosManage.vue +138 -138
- package/src/components/equipment/PosManageBoth.vue +125 -125
- package/src/components/equipment/PosParamAdd.vue +236 -236
- package/src/components/equipment/PosParamList.vue +121 -121
- package/src/components/equipment/PosParamManage.vue +51 -51
- package/src/components/server/Login.vue +7 -7
- package/src/filiale/rizhao/LeftTree.vue +111 -111
- package/src/filiale/rizhao/Login.vue +792 -792
- package/src/filiale/rizhao/Main.vue +606 -606
- package/src/filiale/rizhao/system.js +14 -14
- package/src/styles/less/aofeng/themeOne/systemStyle.less +2650 -2650
- package/src/system.js +105 -105
- package/yarn-error.log +128 -128
@@ -1,121 +1,121 @@
|
|
1
|
-
<template>
|
2
|
-
<div class="flex">
|
3
|
-
<criteria-paged :model="model" v-ref:paged>
|
4
|
-
<criteria partial='criteria' style="background-color: white" @condition-changed='$parent.selfSearch' v-ref:cri>
|
5
|
-
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
6
|
-
<div class="row">
|
7
|
-
<div class="col-sm-3 form-group">
|
8
|
-
<label class="font_normal_body">公 司</label>
|
9
|
-
<res-select restype='organization'
|
10
|
-
:is-mul="false"
|
11
|
-
@res-select="$parent.$parent.getorg"
|
12
|
-
:initresid="$parent.$parent.curorgid">
|
13
|
-
</res-select>
|
14
|
-
</div>
|
15
|
-
<div class="col-sm-3 form-group">
|
16
|
-
<label class="font_normal_body">参数名称</label>
|
17
|
-
<input type="text" class="input_search" style="width:60%" v-model="model.f_param_name"
|
18
|
-
condition="name like '%{}%'" placeholder="参数名称">
|
19
|
-
</div>
|
20
|
-
<div class="span" style="float:right;margin-top: 6px">
|
21
|
-
<button type="button" class="button_search" @click="search()" v-el:cx>查询</button>
|
22
|
-
<button type="button" class="button_search" @click="$parent.$parent.add() " v-el:cx>新增</button>
|
23
|
-
</div>
|
24
|
-
</div>
|
25
|
-
</div>
|
26
|
-
</criteria>
|
27
|
-
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
|
28
|
-
<template partial='head'>
|
29
|
-
<tr>
|
30
|
-
<th style="text-align:center;white-space:nowrap;">参数id</th>
|
31
|
-
<th style="text-align:center;white-space:nowrap;">参数名称</th>
|
32
|
-
<th style="text-align:center;white-space:nowrap;">所属分公司</th>
|
33
|
-
<th style="text-align:center;white-space:nowrap;">所属银行</th>
|
34
|
-
<th style="text-align:center;white-space:nowrap;">创建人</th>
|
35
|
-
<th style="text-align:center;white-space:nowrap;">操作</th>
|
36
|
-
</tr>
|
37
|
-
</template>
|
38
|
-
<template partial='body' :model="model">
|
39
|
-
<tr>
|
40
|
-
<td style="text-align:center;white-space:nowrap;">{{ row.f_param_id }}</td>
|
41
|
-
<td style="text-align:center;white-space:nowrap;">{{ row.name }}</td>
|
42
|
-
<td style="text-align:center;white-space:nowrap;">{{ row.f_orgname }}</td>
|
43
|
-
<td style="text-align:center;white-space:nowrap;">{{ row.f_bank_name }}</td>
|
44
|
-
<td style="text-align:center;white-space:nowrap;">{{ row.f_operator }}</td>
|
45
|
-
<td style="text-align:center;white-space:nowrap;">
|
46
|
-
<div class="col-sm-1"></div>
|
47
|
-
<div class="col-sm-4">
|
48
|
-
<button type="button" class="btn button_new" v-if="!row.sum||row.sum ===0 "
|
49
|
-
@click.stop="$parent.$parent.$parent.delete(row)">删除
|
50
|
-
</button>
|
51
|
-
</div>
|
52
|
-
<div class="col-sm-1"></div>
|
53
|
-
<div class="col-sm-4">
|
54
|
-
<button type="button" class="btn button_new"
|
55
|
-
@click.stop="$parent.$parent.$parent.modify(row)">修改
|
56
|
-
</button>
|
57
|
-
</div>
|
58
|
-
<div class="col-sm-1"></div>
|
59
|
-
</td>
|
60
|
-
</tr>
|
61
|
-
</template>
|
62
|
-
</data-grid>
|
63
|
-
</criteria-paged>
|
64
|
-
</div>
|
65
|
-
</template>
|
66
|
-
|
67
|
-
<script>
|
68
|
-
|
69
|
-
import {PagedList} from 'vue-client'
|
70
|
-
|
71
|
-
export default {
|
72
|
-
title: '终端控制',
|
73
|
-
components: {},
|
74
|
-
data() {
|
75
|
-
return {
|
76
|
-
model: new PagedList('rs/sql/get_posParam', 20),
|
77
|
-
curorgid: [this.f_filialeid],
|
78
|
-
}
|
79
|
-
},
|
80
|
-
props: [],
|
81
|
-
ready() {
|
82
|
-
this.search()
|
83
|
-
},
|
84
|
-
watch: {},
|
85
|
-
methods: {
|
86
|
-
getRes(val) {
|
87
|
-
if (val.orgobj.length === 1 && val.orgobj[0].resourcetype === 'user') {
|
88
|
-
this.$refs.paged.$refs.cri.model.f_user_operatorid = val.orgobj[0].userid
|
89
|
-
this.$refs.paged.$refs.cri.model.f_user_operator = val.orgobj[0].name
|
90
|
-
} else {
|
91
|
-
this.$refs.paged.$refs.cri.model.f_user_operatorid = ''
|
92
|
-
this.$refs.paged.$refs.cri.model.f_user_operator = ''
|
93
|
-
}
|
94
|
-
},
|
95
|
-
async delete(row) {
|
96
|
-
await this.$resetpost('rs/logic/deletePosParam', {data: row}, {rejectMsg: null, resolveMsg: null})
|
97
|
-
await this.search()
|
98
|
-
},
|
99
|
-
modify(row) {
|
100
|
-
this.$dispatch('modify', row)
|
101
|
-
},
|
102
|
-
search() {
|
103
|
-
this.$refs.paged.$refs.cri.search()
|
104
|
-
},
|
105
|
-
selfSearch(args) {
|
106
|
-
if (this.f_orgid) {
|
107
|
-
args.condition += ` and f_orgid = ${this.f_orgid} `
|
108
|
-
}
|
109
|
-
this.model.search(args.condition, this.model)
|
110
|
-
},
|
111
|
-
add() {
|
112
|
-
this.$dispatch('add', this.f_filialeid)
|
113
|
-
},
|
114
|
-
getorg(val) {
|
115
|
-
this.f_orgid = val[0]
|
116
|
-
this.f_filialeid = val[0]
|
117
|
-
}
|
118
|
-
},
|
119
|
-
computed: {}
|
120
|
-
}
|
121
|
-
</script>
|
1
|
+
<template>
|
2
|
+
<div class="flex">
|
3
|
+
<criteria-paged :model="model" v-ref:paged>
|
4
|
+
<criteria partial='criteria' style="background-color: white" @condition-changed='$parent.selfSearch' v-ref:cri>
|
5
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
6
|
+
<div class="row">
|
7
|
+
<div class="col-sm-3 form-group">
|
8
|
+
<label class="font_normal_body">公 司</label>
|
9
|
+
<res-select restype='organization'
|
10
|
+
:is-mul="false"
|
11
|
+
@res-select="$parent.$parent.getorg"
|
12
|
+
:initresid="$parent.$parent.curorgid">
|
13
|
+
</res-select>
|
14
|
+
</div>
|
15
|
+
<div class="col-sm-3 form-group">
|
16
|
+
<label class="font_normal_body">参数名称</label>
|
17
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_param_name"
|
18
|
+
condition="name like '%{}%'" placeholder="参数名称">
|
19
|
+
</div>
|
20
|
+
<div class="span" style="float:right;margin-top: 6px">
|
21
|
+
<button type="button" class="button_search" @click="search()" v-el:cx>查询</button>
|
22
|
+
<button type="button" class="button_search" @click="$parent.$parent.add() " v-el:cx>新增</button>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
</criteria>
|
27
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
|
28
|
+
<template partial='head'>
|
29
|
+
<tr>
|
30
|
+
<th style="text-align:center;white-space:nowrap;">参数id</th>
|
31
|
+
<th style="text-align:center;white-space:nowrap;">参数名称</th>
|
32
|
+
<th style="text-align:center;white-space:nowrap;">所属分公司</th>
|
33
|
+
<th style="text-align:center;white-space:nowrap;">所属银行</th>
|
34
|
+
<th style="text-align:center;white-space:nowrap;">创建人</th>
|
35
|
+
<th style="text-align:center;white-space:nowrap;">操作</th>
|
36
|
+
</tr>
|
37
|
+
</template>
|
38
|
+
<template partial='body' :model="model">
|
39
|
+
<tr>
|
40
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.f_param_id }}</td>
|
41
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.name }}</td>
|
42
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.f_orgname }}</td>
|
43
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.f_bank_name }}</td>
|
44
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.f_operator }}</td>
|
45
|
+
<td style="text-align:center;white-space:nowrap;">
|
46
|
+
<div class="col-sm-1"></div>
|
47
|
+
<div class="col-sm-4">
|
48
|
+
<button type="button" class="btn button_new" v-if="!row.sum||row.sum ===0 "
|
49
|
+
@click.stop="$parent.$parent.$parent.delete(row)">删除
|
50
|
+
</button>
|
51
|
+
</div>
|
52
|
+
<div class="col-sm-1"></div>
|
53
|
+
<div class="col-sm-4">
|
54
|
+
<button type="button" class="btn button_new"
|
55
|
+
@click.stop="$parent.$parent.$parent.modify(row)">修改
|
56
|
+
</button>
|
57
|
+
</div>
|
58
|
+
<div class="col-sm-1"></div>
|
59
|
+
</td>
|
60
|
+
</tr>
|
61
|
+
</template>
|
62
|
+
</data-grid>
|
63
|
+
</criteria-paged>
|
64
|
+
</div>
|
65
|
+
</template>
|
66
|
+
|
67
|
+
<script>
|
68
|
+
|
69
|
+
import {PagedList} from 'vue-client'
|
70
|
+
|
71
|
+
export default {
|
72
|
+
title: '终端控制',
|
73
|
+
components: {},
|
74
|
+
data() {
|
75
|
+
return {
|
76
|
+
model: new PagedList('rs/sql/get_posParam', 20),
|
77
|
+
curorgid: [this.f_filialeid],
|
78
|
+
}
|
79
|
+
},
|
80
|
+
props: [],
|
81
|
+
ready() {
|
82
|
+
this.search()
|
83
|
+
},
|
84
|
+
watch: {},
|
85
|
+
methods: {
|
86
|
+
getRes(val) {
|
87
|
+
if (val.orgobj.length === 1 && val.orgobj[0].resourcetype === 'user') {
|
88
|
+
this.$refs.paged.$refs.cri.model.f_user_operatorid = val.orgobj[0].userid
|
89
|
+
this.$refs.paged.$refs.cri.model.f_user_operator = val.orgobj[0].name
|
90
|
+
} else {
|
91
|
+
this.$refs.paged.$refs.cri.model.f_user_operatorid = ''
|
92
|
+
this.$refs.paged.$refs.cri.model.f_user_operator = ''
|
93
|
+
}
|
94
|
+
},
|
95
|
+
async delete(row) {
|
96
|
+
await this.$resetpost('rs/logic/deletePosParam', {data: row}, {rejectMsg: null, resolveMsg: null})
|
97
|
+
await this.search()
|
98
|
+
},
|
99
|
+
modify(row) {
|
100
|
+
this.$dispatch('modify', row)
|
101
|
+
},
|
102
|
+
search() {
|
103
|
+
this.$refs.paged.$refs.cri.search()
|
104
|
+
},
|
105
|
+
selfSearch(args) {
|
106
|
+
if (this.f_orgid) {
|
107
|
+
args.condition += ` and f_orgid = ${this.f_orgid} `
|
108
|
+
}
|
109
|
+
this.model.search(args.condition, this.model)
|
110
|
+
},
|
111
|
+
add() {
|
112
|
+
this.$dispatch('add', this.f_filialeid)
|
113
|
+
},
|
114
|
+
getorg(val) {
|
115
|
+
this.f_orgid = val[0]
|
116
|
+
this.f_filialeid = val[0]
|
117
|
+
}
|
118
|
+
},
|
119
|
+
computed: {}
|
120
|
+
}
|
121
|
+
</script>
|
@@ -1,51 +1,51 @@
|
|
1
|
-
<template>
|
2
|
-
<div class="flex-row">
|
3
|
-
<div :class="{'basic-main':!isChange,'binary-left':isChange}">
|
4
|
-
<pos-param-list v-ref:list></pos-param-list>
|
5
|
-
</div>
|
6
|
-
<div class="binary-right" style="margin-left: 10px; width: 40%;" v-if="isChange">
|
7
|
-
<pos-param-add :param_id="param_id" v-ref:add></pos-param-add>
|
8
|
-
</div>
|
9
|
-
</div>
|
10
|
-
</template>
|
11
|
-
<script>
|
12
|
-
|
13
|
-
import PosParamList from './PosParamList'
|
14
|
-
import PosParamAdd from './PosParamAdd'
|
15
|
-
|
16
|
-
export default {
|
17
|
-
title: 'POS终端管理',
|
18
|
-
components: {
|
19
|
-
PosParamList, PosParamAdd
|
20
|
-
},
|
21
|
-
data() {
|
22
|
-
return {
|
23
|
-
isChange: false,
|
24
|
-
param_id: ''
|
25
|
-
}
|
26
|
-
},
|
27
|
-
methods: {},
|
28
|
-
events: {
|
29
|
-
'add'() {
|
30
|
-
this.isChange = true
|
31
|
-
setTimeout(() => {
|
32
|
-
this.$refs.add.initModel()
|
33
|
-
}, 100)
|
34
|
-
},
|
35
|
-
'close'() {
|
36
|
-
this.isChange = false
|
37
|
-
},
|
38
|
-
'research'() {
|
39
|
-
this.$refs.list.search()
|
40
|
-
this.isChange = false
|
41
|
-
},
|
42
|
-
'modify'(row) {
|
43
|
-
this.isChange = true
|
44
|
-
setTimeout(() => {
|
45
|
-
this.$refs.add.curorgid = []
|
46
|
-
this.$refs.add.edit(row.f_param_id)
|
47
|
-
}, 100)
|
48
|
-
}
|
49
|
-
}
|
50
|
-
}
|
51
|
-
</script>
|
1
|
+
<template>
|
2
|
+
<div class="flex-row">
|
3
|
+
<div :class="{'basic-main':!isChange,'binary-left':isChange}">
|
4
|
+
<pos-param-list v-ref:list></pos-param-list>
|
5
|
+
</div>
|
6
|
+
<div class="binary-right" style="margin-left: 10px; width: 40%;" v-if="isChange">
|
7
|
+
<pos-param-add :param_id="param_id" v-ref:add></pos-param-add>
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
</template>
|
11
|
+
<script>
|
12
|
+
|
13
|
+
import PosParamList from './PosParamList'
|
14
|
+
import PosParamAdd from './PosParamAdd'
|
15
|
+
|
16
|
+
export default {
|
17
|
+
title: 'POS终端管理',
|
18
|
+
components: {
|
19
|
+
PosParamList, PosParamAdd
|
20
|
+
},
|
21
|
+
data() {
|
22
|
+
return {
|
23
|
+
isChange: false,
|
24
|
+
param_id: ''
|
25
|
+
}
|
26
|
+
},
|
27
|
+
methods: {},
|
28
|
+
events: {
|
29
|
+
'add'() {
|
30
|
+
this.isChange = true
|
31
|
+
setTimeout(() => {
|
32
|
+
this.$refs.add.initModel()
|
33
|
+
}, 100)
|
34
|
+
},
|
35
|
+
'close'() {
|
36
|
+
this.isChange = false
|
37
|
+
},
|
38
|
+
'research'() {
|
39
|
+
this.$refs.list.search()
|
40
|
+
this.isChange = false
|
41
|
+
},
|
42
|
+
'modify'(row) {
|
43
|
+
this.isChange = true
|
44
|
+
setTimeout(() => {
|
45
|
+
this.$refs.add.curorgid = []
|
46
|
+
this.$refs.add.edit(row.f_param_id)
|
47
|
+
}, 100)
|
48
|
+
}
|
49
|
+
}
|
50
|
+
}
|
51
|
+
</script>
|
@@ -79,8 +79,8 @@
|
|
79
79
|
</div>
|
80
80
|
|
81
81
|
<modal v-if="depPromptShow" :show.sync="depPromptShow" :backdrop="false" v-ref:modal >
|
82
|
-
<header slot="modal-header" class="modal-header">
|
83
|
-
|
82
|
+
<header slot="modal-header" style="height: 8vh" class="modal-header">
|
83
|
+
<!--<h4 class="modal-title">登录信息</h4>-->
|
84
84
|
</header>
|
85
85
|
<article slot="modal-body" class="modal-body">
|
86
86
|
<form class="form-horizontal">
|
@@ -89,13 +89,13 @@
|
|
89
89
|
<label class="col-sm-5 ">当前登录人:</label>
|
90
90
|
<label style="font-weight:normal">{{$login.f.name}}</label>
|
91
91
|
</div>
|
92
|
-
|
93
|
-
|
94
|
-
|
92
|
+
<!--<div class="col-sm-12 form-group" v-if="$login.f.number">-->
|
93
|
+
<!--<label class="col-sm-5 ">组 织 编 码:</label>-->
|
94
|
+
<!--<label style="font-weight:normal">{{$login.f.number}}</label>-->
|
95
95
|
<!-- <div class="col-sm-7">
|
96
96
|
<span >{{$login.f.number}}</span>
|
97
97
|
</div> -->
|
98
|
-
|
98
|
+
<!--</div>-->
|
99
99
|
<div class="col-sm-12 form-group">
|
100
100
|
<label class="col-sm-5">所在销售点:</label>
|
101
101
|
<label style="font-weight:normal">{{$login.f.deps}}</label>
|
@@ -106,7 +106,7 @@
|
|
106
106
|
</div>
|
107
107
|
</form>
|
108
108
|
</article>
|
109
|
-
<footer slot="modal-footer" class="modal-footer">
|
109
|
+
<footer slot="modal-footer" style="height: 8vh" class="modal-footer">
|
110
110
|
<button class="button_search" @click="depPromptConfirm">确认</button>
|
111
111
|
<button class="button_clear" @click="depPromptCancel">取消</button>
|
112
112
|
</footer>
|
@@ -1,111 +1,111 @@
|
|
1
|
-
<template>
|
2
|
-
<div class='over' style="display: inline-block; width: 100%;">
|
3
|
-
<tree :model='functions' :flagres="false" :is-click="false" v-ref:tree @toggle="toggled" >
|
4
|
-
<span partial class="row" :class="{ 'tree-img': isFolder(row), 'tree-span': !isFolder(row) }">
|
5
|
-
<div class="col-sm-2" >
|
6
|
-
<img v-if="isFolder(row)" :src="row.data.icon" alt="">
|
7
|
-
</div>
|
8
|
-
<div class="col-sm-8" style="padding-left:6%;text-align: left">{{row.data.name}}</div>
|
9
|
-
</span>
|
10
|
-
</tree>
|
11
|
-
</div>
|
12
|
-
</template>
|
13
|
-
<script>
|
14
|
-
import Vue from 'vue'
|
15
|
-
|
16
|
-
export default {
|
17
|
-
props: ['functions', 'userid','tabs'],
|
18
|
-
title: '左侧树菜单',
|
19
|
-
data () {
|
20
|
-
return {
|
21
|
-
index: -1,
|
22
|
-
name: null,
|
23
|
-
tbcg:[]
|
24
|
-
}
|
25
|
-
},
|
26
|
-
methods: {
|
27
|
-
open (row) {
|
28
|
-
if (row.data.name === '资源管理') {
|
29
|
-
this.$parent.changeMain(row.data.id)
|
30
|
-
return
|
31
|
-
}
|
32
|
-
console.log(row.data.navigate)
|
33
|
-
if (row.data.navigate) {
|
34
|
-
|
35
|
-
let isExist = false
|
36
|
-
this.tbcg.forEach((tab) => {
|
37
|
-
if(tab.comp.name == row.data.link) {
|
38
|
-
isExist = true
|
39
|
-
}
|
40
|
-
})
|
41
|
-
if (!isExist){
|
42
|
-
this.$goto('embbed-page', {domainName: row.data.navigate, title: row.data.name, compName: row.data.link, login: Vue.$login, param: Vue.$appdata}, 'main')
|
43
|
-
}else {
|
44
|
-
console.log(isExist,'aa')
|
45
|
-
this.$emit('isnodo',row.data.link)
|
46
|
-
}
|
47
|
-
} else if (row.data.link) {
|
48
|
-
let isExist = false
|
49
|
-
this.tbcg.forEach((tab) => {
|
50
|
-
if(tab.comp.name == row.data.link) {
|
51
|
-
isExist = true
|
52
|
-
}
|
53
|
-
})
|
54
|
-
if (!isExist){
|
55
|
-
this.$goto(row.data.link, {f: this.functions}, 'main')
|
56
|
-
}else {
|
57
|
-
console.log(isExist,'saaa')
|
58
|
-
this.$emit('isnodo',row.data.link)
|
59
|
-
}
|
60
|
-
}
|
61
|
-
},
|
62
|
-
changeSelect(name) {
|
63
|
-
if (!name) {
|
64
|
-
this.$refs.tree.selectStore.select(null)
|
65
|
-
return
|
66
|
-
}
|
67
|
-
this.name = name
|
68
|
-
let index = this.selfFindIndex(name)
|
69
|
-
this.index = index
|
70
|
-
// 当前激活页签有,index为-1,说明菜单收缩
|
71
|
-
this.changeSelected(index)
|
72
|
-
},
|
73
|
-
selfFindIndex (name) {
|
74
|
-
|
75
|
-
return this.$refs.tree.toNode.findIndex((item) => {
|
76
|
-
return item.data.link === name
|
77
|
-
})
|
78
|
-
},
|
79
|
-
changeSelected (index) {
|
80
|
-
|
81
|
-
if (index === -1) {
|
82
|
-
this.$refs.tree.selectStore.select(null)
|
83
|
-
}else {
|
84
|
-
this.$refs.tree.selectStore.select(this.$refs.tree.toNode[index])
|
85
|
-
}
|
86
|
-
|
87
|
-
},
|
88
|
-
toggled () {
|
89
|
-
|
90
|
-
if (this.name && this.index === -1) {
|
91
|
-
let index = this.selfFindIndex(this.name)
|
92
|
-
if (index !== -1) {
|
93
|
-
this.changeSelected(index)
|
94
|
-
}
|
95
|
-
}
|
96
|
-
}
|
97
|
-
},
|
98
|
-
events: {
|
99
|
-
'select-changed': function (data) {
|
100
|
-
|
101
|
-
// 事件回调内的 `this` 自动绑定到注册它的实例上
|
102
|
-
this.open(data.val)
|
103
|
-
}
|
104
|
-
},
|
105
|
-
watch:{
|
106
|
-
'tabs'(val){
|
107
|
-
this.tbcg = val
|
108
|
-
}
|
109
|
-
}
|
110
|
-
}
|
111
|
-
</script>
|
1
|
+
<template>
|
2
|
+
<div class='over' style="display: inline-block; width: 100%;">
|
3
|
+
<tree :model='functions' :flagres="false" :is-click="false" v-ref:tree @toggle="toggled" >
|
4
|
+
<span partial class="row" :class="{ 'tree-img': isFolder(row), 'tree-span': !isFolder(row) }">
|
5
|
+
<div class="col-sm-2" >
|
6
|
+
<img v-if="isFolder(row)" :src="row.data.icon" alt="">
|
7
|
+
</div>
|
8
|
+
<div class="col-sm-8" style="padding-left:6%;text-align: left">{{row.data.name}}</div>
|
9
|
+
</span>
|
10
|
+
</tree>
|
11
|
+
</div>
|
12
|
+
</template>
|
13
|
+
<script>
|
14
|
+
import Vue from 'vue'
|
15
|
+
|
16
|
+
export default {
|
17
|
+
props: ['functions', 'userid','tabs'],
|
18
|
+
title: '左侧树菜单',
|
19
|
+
data () {
|
20
|
+
return {
|
21
|
+
index: -1,
|
22
|
+
name: null,
|
23
|
+
tbcg:[]
|
24
|
+
}
|
25
|
+
},
|
26
|
+
methods: {
|
27
|
+
open (row) {
|
28
|
+
if (row.data.name === '资源管理') {
|
29
|
+
this.$parent.changeMain(row.data.id)
|
30
|
+
return
|
31
|
+
}
|
32
|
+
console.log(row.data.navigate)
|
33
|
+
if (row.data.navigate) {
|
34
|
+
|
35
|
+
let isExist = false
|
36
|
+
this.tbcg.forEach((tab) => {
|
37
|
+
if(tab.comp.name == row.data.link) {
|
38
|
+
isExist = true
|
39
|
+
}
|
40
|
+
})
|
41
|
+
if (!isExist){
|
42
|
+
this.$goto('embbed-page', {domainName: row.data.navigate, title: row.data.name, compName: row.data.link, login: Vue.$login, param: Vue.$appdata}, 'main')
|
43
|
+
}else {
|
44
|
+
console.log(isExist,'aa')
|
45
|
+
this.$emit('isnodo',row.data.link)
|
46
|
+
}
|
47
|
+
} else if (row.data.link) {
|
48
|
+
let isExist = false
|
49
|
+
this.tbcg.forEach((tab) => {
|
50
|
+
if(tab.comp.name == row.data.link) {
|
51
|
+
isExist = true
|
52
|
+
}
|
53
|
+
})
|
54
|
+
if (!isExist){
|
55
|
+
this.$goto(row.data.link, {f: this.functions}, 'main')
|
56
|
+
}else {
|
57
|
+
console.log(isExist,'saaa')
|
58
|
+
this.$emit('isnodo',row.data.link)
|
59
|
+
}
|
60
|
+
}
|
61
|
+
},
|
62
|
+
changeSelect(name) {
|
63
|
+
if (!name) {
|
64
|
+
this.$refs.tree.selectStore.select(null)
|
65
|
+
return
|
66
|
+
}
|
67
|
+
this.name = name
|
68
|
+
let index = this.selfFindIndex(name)
|
69
|
+
this.index = index
|
70
|
+
// 当前激活页签有,index为-1,说明菜单收缩
|
71
|
+
this.changeSelected(index)
|
72
|
+
},
|
73
|
+
selfFindIndex (name) {
|
74
|
+
|
75
|
+
return this.$refs.tree.toNode.findIndex((item) => {
|
76
|
+
return item.data.link === name
|
77
|
+
})
|
78
|
+
},
|
79
|
+
changeSelected (index) {
|
80
|
+
|
81
|
+
if (index === -1) {
|
82
|
+
this.$refs.tree.selectStore.select(null)
|
83
|
+
}else {
|
84
|
+
this.$refs.tree.selectStore.select(this.$refs.tree.toNode[index])
|
85
|
+
}
|
86
|
+
|
87
|
+
},
|
88
|
+
toggled () {
|
89
|
+
|
90
|
+
if (this.name && this.index === -1) {
|
91
|
+
let index = this.selfFindIndex(this.name)
|
92
|
+
if (index !== -1) {
|
93
|
+
this.changeSelected(index)
|
94
|
+
}
|
95
|
+
}
|
96
|
+
}
|
97
|
+
},
|
98
|
+
events: {
|
99
|
+
'select-changed': function (data) {
|
100
|
+
|
101
|
+
// 事件回调内的 `this` 自动绑定到注册它的实例上
|
102
|
+
this.open(data.val)
|
103
|
+
}
|
104
|
+
},
|
105
|
+
watch:{
|
106
|
+
'tabs'(val){
|
107
|
+
this.tbcg = val
|
108
|
+
}
|
109
|
+
}
|
110
|
+
}
|
111
|
+
</script>
|