system-clients 3.2.1-14 → 3.2.1-17
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/SystemClient.iml +8 -8
- package/build/webpack.base.conf.js +85 -85
- package/package.json +1 -1
- package/src/App.vue +24 -24
- package/src/components/Main.vue +2 -2
- 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 +59 -1
- 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 +109 -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>
|
@@ -103,6 +103,14 @@
|
|
103
103
|
<span >{{$login.f.deps}}</span>
|
104
104
|
</div> -->
|
105
105
|
</div>
|
106
|
+
<div class="col-sm-12 " v-if="AppDaiBan !==''">
|
107
|
+
<label class="col-sm-2">报装待办:</label>
|
108
|
+
<span style="font-weight:normal">{{AppDaiBan}}</span>
|
109
|
+
</div>
|
110
|
+
<div class="col-sm-12 " v-if="OrderDaiBan !==''">
|
111
|
+
<label class="col-sm-2">预约待办:</label>
|
112
|
+
<span style="font-weight:normal">{{OrderDaiBan}}</span>
|
113
|
+
</div>
|
106
114
|
</div>
|
107
115
|
</form>
|
108
116
|
</article>
|
@@ -189,6 +197,10 @@ let saveGen = function *(self) {
|
|
189
197
|
})
|
190
198
|
} else if ((!self.otherLogin) && self.$login.depPrompt) {
|
191
199
|
self.depPromptShow = true
|
200
|
+
if (self.$login.showDaiBan && self.$login.r.includes('展示预约信息')){
|
201
|
+
// 获取待办
|
202
|
+
self.getDaiBan()
|
203
|
+
}
|
192
204
|
} else {
|
193
205
|
self.$goto('home-page', {functions: self.$login.f})
|
194
206
|
// if (self.otherLogin){
|
@@ -289,10 +301,56 @@ export default {
|
|
289
301
|
logoandroid:false,
|
290
302
|
showus:false,
|
291
303
|
notice:'',
|
292
|
-
loginotherflag :true
|
304
|
+
loginotherflag :true,
|
305
|
+
// 报建待办
|
306
|
+
AppDaiBan: '',
|
307
|
+
// 预约待处理
|
308
|
+
OrderDaiBan: ''
|
293
309
|
}
|
294
310
|
},
|
295
311
|
methods: {
|
312
|
+
async getDaiBan(){
|
313
|
+
let http = new HttpResetClass()
|
314
|
+
let data = {
|
315
|
+
condition: '1 = 1',
|
316
|
+
data: {
|
317
|
+
orgid: this.$login.f.orgid,
|
318
|
+
id: this.$login.f.id
|
319
|
+
}
|
320
|
+
}
|
321
|
+
await http.load('POST', '/rs/sql/checkuser', {data: data}, {
|
322
|
+
resolveMsg: null,
|
323
|
+
rejectMsg: null
|
324
|
+
}).then((res) => {
|
325
|
+
let AppDaiBan = {}
|
326
|
+
res.data.forEach(item=>{
|
327
|
+
AppDaiBan[item.defname] = AppDaiBan[item.defname] || []
|
328
|
+
AppDaiBan[item.defname].push(item)
|
329
|
+
})
|
330
|
+
this.AppDaiBan = `您有${res.data.length}条需要处理的报建待办业务!`
|
331
|
+
if (res.data.length> 0){
|
332
|
+
this.AppDaiBan += `其中 ${Object.keys(AppDaiBan).map(key=>`${key}:${AppDaiBan[key].length}条`).join(', ')}`
|
333
|
+
}
|
334
|
+
})
|
335
|
+
await http.load('POST', '/rs/sql/singleTable', {data: {
|
336
|
+
tablename:'t_order_center',
|
337
|
+
condition:` f_orderstate != '预约成功' and f_orderstate != '预约失败'`
|
338
|
+
|
339
|
+
}}, {
|
340
|
+
resolveMsg: null,
|
341
|
+
rejectMsg: null
|
342
|
+
}).then((res) => {
|
343
|
+
let OrderDaiBan = {}
|
344
|
+
res.data.forEach(item=>{
|
345
|
+
OrderDaiBan[item.f_ordertype] = OrderDaiBan[item.f_ordertype] || []
|
346
|
+
OrderDaiBan[item.f_ordertype].push(item)
|
347
|
+
})
|
348
|
+
this.OrderDaiBan = `您有${res.data.length}条需要处理的微信预约业务!`
|
349
|
+
if (res.data.length> 0){
|
350
|
+
this.OrderDaiBan += `其中 ${Object.keys(OrderDaiBan).map(key=>`${key}:${OrderDaiBan[key].length}条`).join(', ')}`
|
351
|
+
}
|
352
|
+
})
|
353
|
+
},
|
296
354
|
async loginother(){
|
297
355
|
if (this.config.distanceLogin) {
|
298
356
|
if (this.$login && this.$login.getUrlParames('name') ) {
|
@@ -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>
|