apply-clients 3.1.37 → 3.1.40
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/package.json +112 -112
- package/src/App.vue +20 -20
- package/src/apply.js +73 -70
- package/src/components/product/ApplyCharge/ApplyChargeList.vue +266 -247
- package/src/components/product/ApplyCharge/ApplyChargeSearch.vue +30 -232
- package/src/components/product/Function/InstallFunction.vue +165 -165
- package/src/components/product/Function/InstallInfoSelect.vue +234 -195
- package/src/components/product/Function/Service/FunctionServiceControl.vue +262 -203
- package/src/components/product/Function/functions/ChargeManagement.vue +317 -22
- package/src/components/product/Process/ExplorationSelect.vue +326 -287
- package/src/components/product/Process/ExplorationUser.vue +168 -168
- package/src/components/product/Process/Service/ServiceControl.vue +1075 -1074
- package/src/components/product/ReportForm/CustomerRecordMessage.vue +213 -35
- package/src/components/product/ServiceView.vue +718 -714
- package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +169 -153
- package/src/components/product/Supervisory/SupervisoryControl.vue +132 -132
- package/src/components/product/Supervisory/SupervisoryControl2.vue +132 -0
- package/src/components/product/Supervisory/SupervisoryList.vue +250 -184
- package/src/components/product/Supervisory/SupervisoryList2.vue +285 -0
- package/src/components/product/Supervisory/SupervisoryhCart.vue +105 -104
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="col-sm-12">
|
|
3
|
+
<criteria-paged :model="model" v-ref:cp>
|
|
4
|
+
<criteria partial='criteria' @condition-changed='search' v-ref:cri>
|
|
5
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
6
|
+
<div class="row">
|
|
7
|
+
<div class="form-group col-sm-3">
|
|
8
|
+
<label class="font_normal_body">客户名称/联系人:</label>
|
|
9
|
+
<input type="text" class="input_search" v-model="model.f_user_name"
|
|
10
|
+
v-on:keyup.enter="search" condition=" (f_user_name like '%{}%' or f_contact like '%{}%') " placeholder='二选一输入'>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="form-group col-sm-3">
|
|
13
|
+
<label class="font_normal_body">报建编号:</label>
|
|
14
|
+
<input type="text" class="input_search" placeholder='报建编号' v-model="model.f_apply_num"
|
|
15
|
+
v-on:keyup.enter="search"
|
|
16
|
+
condition="f_apply_num like '%{}%'">
|
|
17
|
+
</div>
|
|
18
|
+
<div class="form-group col-sm-3">
|
|
19
|
+
<label class="font_normal_body">合同编号:</label>
|
|
20
|
+
<input type="text" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
|
|
21
|
+
v-on:keyup.enter="search"
|
|
22
|
+
condition="f_contract_number like '%{}%'">
|
|
23
|
+
</div>
|
|
24
|
+
<div class="form-group col-sm-2 operate">
|
|
25
|
+
<button type="button" class="btn btn-info head-but" @click="$parent.$parent.search(),$parent.$parent.close()" v-el:cx>查询</button>
|
|
26
|
+
<export-excel :data="$parent.$parent.getCondition"
|
|
27
|
+
:field="$parent.$parent.getfield"
|
|
28
|
+
sqlurl="rs/logic/applyExportfile"
|
|
29
|
+
sql-name="supervisory2"
|
|
30
|
+
template-name='报建记录信息导出'
|
|
31
|
+
:choose-col="true"></export-excel>
|
|
32
|
+
<!-- <button class="button_search button_spacing width-60" @click="search(),$parent.$parent.close()" v-el:cx>查询</button>-->
|
|
33
|
+
<div
|
|
34
|
+
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
35
|
+
@click="$parent.$parent.hidden()"
|
|
36
|
+
class="button_spacing"
|
|
37
|
+
style="float: right">
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
42
|
+
<div class="form-group col-sm-3">
|
|
43
|
+
<label class="font_normal_body">用户地址:</label>
|
|
44
|
+
<input type="text" class="input_search" placeholder='用户地址' v-model="model.f_address"
|
|
45
|
+
v-on:keyup.enter="search"
|
|
46
|
+
condition="f_address like '%{}%'">
|
|
47
|
+
</div>
|
|
48
|
+
<div class="form-group col-sm-3">
|
|
49
|
+
<label class="font_normal_body">票号:</label>
|
|
50
|
+
<input type="text" class="input_search" placeholder='票号' v-model="model.f_ticket_number"
|
|
51
|
+
v-on:keyup.enter="search"
|
|
52
|
+
condition="c.f_ticket_number like '%{}%'">
|
|
53
|
+
</div>
|
|
54
|
+
<div class="col-sm-3 form-group">
|
|
55
|
+
<label class="font_normal_body">报建类型:</label>
|
|
56
|
+
<v-select
|
|
57
|
+
v-model="model.f_apply_type"
|
|
58
|
+
placeholder='报建类型'
|
|
59
|
+
condition="f_apply_type like '%{}%'"
|
|
60
|
+
:value.sync="model.f_apply_type"
|
|
61
|
+
:options='$parent.$parent.applytype'
|
|
62
|
+
class="select select_list"
|
|
63
|
+
:value-single="true"
|
|
64
|
+
close-on-select ></v-select>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="col-sm-3 form-group">
|
|
67
|
+
<label class="font_normal_body">办理环节:</label>
|
|
68
|
+
<v-select
|
|
69
|
+
v-model="model.defname"
|
|
70
|
+
placeholder='办理环节'
|
|
71
|
+
condition="defname = '{}'"
|
|
72
|
+
:value.sync="model.defname"
|
|
73
|
+
:options='$parent.$parent.defnames'
|
|
74
|
+
class="select select_list"
|
|
75
|
+
:value-single="true"
|
|
76
|
+
close-on-select ></v-select>
|
|
77
|
+
</div>
|
|
78
|
+
<div class="form-group col-sm-3">
|
|
79
|
+
<label for="startDate" class="font_normal_body">开始时间:</label>
|
|
80
|
+
<datepicker id="startDate" placeholder="开始日期"
|
|
81
|
+
style="width: 60%!important;"
|
|
82
|
+
v-model="model.startDate"
|
|
83
|
+
:value.sync="model.startDate"
|
|
84
|
+
:format="'yyyy-MM-dd 00:00:00'"
|
|
85
|
+
:show-reset-button="true"
|
|
86
|
+
condition="f_apply_date >= '{}'">
|
|
87
|
+
</datepicker>
|
|
88
|
+
</div>
|
|
89
|
+
<div class="form-group col-sm-3">
|
|
90
|
+
<label for="endDate" class="font_normal_body">结束时间:</label>
|
|
91
|
+
<datepicker id="endDate" placeholder="结束日期"
|
|
92
|
+
style="width: 60%!important;"
|
|
93
|
+
v-model="model.endDate"
|
|
94
|
+
:value.sync="model.endDate"
|
|
95
|
+
:format="'yyyy-MM-dd 23:59:59'"
|
|
96
|
+
:show-reset-button="true"
|
|
97
|
+
condition="f_apply_date <= '{}'">
|
|
98
|
+
</datepicker>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
</criteria>
|
|
103
|
+
<data-grid :model="model" partial='list' v-ref:grid class="list_area table_sy">
|
|
104
|
+
<template partial='head'>
|
|
105
|
+
<tr>
|
|
106
|
+
<th>序号</th>
|
|
107
|
+
<th>报建编号</th>
|
|
108
|
+
<th>当前状态</th>
|
|
109
|
+
<th>客户名称/联系人</th>
|
|
110
|
+
<th>合同编号</th>
|
|
111
|
+
<th>电话</th>
|
|
112
|
+
<th>地址</th>
|
|
113
|
+
<th>流程状态</th>
|
|
114
|
+
<th>报建类型</th>
|
|
115
|
+
<th>报建日期</th>
|
|
116
|
+
</tr>
|
|
117
|
+
</template>
|
|
118
|
+
<template partial='body'>
|
|
119
|
+
<tr>
|
|
120
|
+
<td style="text-align: center;">
|
|
121
|
+
<nobr>{{$index+1}}</nobr>
|
|
122
|
+
</td>
|
|
123
|
+
<td style="text-align: center;">
|
|
124
|
+
<nobr><font>{{row.f_apply_num}}</font></nobr>
|
|
125
|
+
</td>
|
|
126
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
127
|
+
<nobr>{{row.f_sub_state}}</nobr>
|
|
128
|
+
</td>
|
|
129
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
130
|
+
<nobr>{{row.f_user_name}}/{{row.f_contact}}</nobr>
|
|
131
|
+
</td>
|
|
132
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
133
|
+
<nobr>{{row.f_contract_number}}</nobr>
|
|
134
|
+
</td>
|
|
135
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
136
|
+
<nobr>{{row.f_phone}}</nobr>
|
|
137
|
+
</td>
|
|
138
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
139
|
+
<nobr>{{row.f_address}}</nobr>
|
|
140
|
+
</td>
|
|
141
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
142
|
+
<nobr>{{row.defname}}</nobr>
|
|
143
|
+
</td>
|
|
144
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
145
|
+
<nobr>{{row.f_apply_type}}</nobr>
|
|
146
|
+
</td>
|
|
147
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
148
|
+
<nobr>{{row.f_apply_date}}</nobr>
|
|
149
|
+
</td>
|
|
150
|
+
</tr>
|
|
151
|
+
</template>
|
|
152
|
+
</data-grid>
|
|
153
|
+
</criteria-paged>
|
|
154
|
+
</div>
|
|
155
|
+
</template>
|
|
156
|
+
<script>
|
|
157
|
+
import {PagedList} from 'vue-client'
|
|
158
|
+
import getNowDate from '../../getNowDate.js'
|
|
159
|
+
import {HttpResetClass} from 'vue-client'
|
|
160
|
+
|
|
161
|
+
export default {
|
|
162
|
+
title: '勘探详情',
|
|
163
|
+
data() {
|
|
164
|
+
return {
|
|
165
|
+
applytype: [{label:"全部",value:''}, {label:"集中报建",value:'集中报建'}, {label:"非民用报建",value:'非民用报建'},{label:"散户报建",value:'散户报建'}],
|
|
166
|
+
model: {
|
|
167
|
+
data:null
|
|
168
|
+
},
|
|
169
|
+
defnames:[], // 所有流程节点
|
|
170
|
+
condition: '', // 查询条件
|
|
171
|
+
criteriaShow: false,
|
|
172
|
+
processids: null,
|
|
173
|
+
getfield: {
|
|
174
|
+
'f_apply_num': '报建编号',
|
|
175
|
+
'defname': '当前环节',
|
|
176
|
+
'f_sub_state': '流程状态',
|
|
177
|
+
'f_user_name': '联系人',
|
|
178
|
+
'f_contact': '联系人',
|
|
179
|
+
'f_contract_number': '合同编号',
|
|
180
|
+
'f_phone': '电话',
|
|
181
|
+
'f_address': '地址',
|
|
182
|
+
'f_apply_type': '报建类型',
|
|
183
|
+
'f_apply_date': '报建日期'
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
async ready() {
|
|
188
|
+
this.search()
|
|
189
|
+
|
|
190
|
+
// 获取所有办理环节
|
|
191
|
+
this.getDefnames()
|
|
192
|
+
},
|
|
193
|
+
events: {
|
|
194
|
+
},
|
|
195
|
+
methods: {
|
|
196
|
+
async search() {
|
|
197
|
+
let http = new HttpResetClass()
|
|
198
|
+
let data = {
|
|
199
|
+
org: `${this.$login.f.orgs}`
|
|
200
|
+
}
|
|
201
|
+
let res = await http.load('POST', 'rs/sql/getActor', {data: data}, {
|
|
202
|
+
resolveMsg: null,
|
|
203
|
+
rejectMsg: '查询角色失败'
|
|
204
|
+
})
|
|
205
|
+
let x = []
|
|
206
|
+
for (let i = 0; i < res.data.length; i++){
|
|
207
|
+
if (this.$login.f.f_role_name.includes(res.data[i].actor)){
|
|
208
|
+
x.push(res.data[i].processid)
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
this.processids = JSON.stringify(x)
|
|
212
|
+
console.log("x的数据",this.processids)
|
|
213
|
+
data = {
|
|
214
|
+
condition: '1=1',
|
|
215
|
+
x:this.processids,
|
|
216
|
+
org: `${this.$login.f.orgs}`
|
|
217
|
+
}
|
|
218
|
+
if (this.$refs.cp.$refs.cri.condition){
|
|
219
|
+
data.condition = data.condition + 'and' +this.$refs.cp.$refs.cri.condition
|
|
220
|
+
}
|
|
221
|
+
this.condition = data.condition
|
|
222
|
+
res = await http.load('POST', 'rs/sql/supervisory2', {data: data}, {
|
|
223
|
+
resolveMsg: null,
|
|
224
|
+
rejectMsg: '查询失败'
|
|
225
|
+
})
|
|
226
|
+
console.log("当前数据",res.data)
|
|
227
|
+
this.model.data = res.data
|
|
228
|
+
// 调用查询
|
|
229
|
+
// this.$refs.cp.$refs.cri.search()
|
|
230
|
+
},
|
|
231
|
+
hidden() {
|
|
232
|
+
this.$dispatch('hidden', this.criteriaShow)
|
|
233
|
+
this.criteriaShow = !this.criteriaShow
|
|
234
|
+
},
|
|
235
|
+
// 获取所有办理环节
|
|
236
|
+
getDefnames() {
|
|
237
|
+
let http = new HttpResetClass()
|
|
238
|
+
http.load('POST', 'rs/logic/getAllDefname', {}, {
|
|
239
|
+
resolveMsg: null,
|
|
240
|
+
rejectMsg: null
|
|
241
|
+
}).then((res) => {
|
|
242
|
+
this.defnames = [{label: '全部', value: ''}, ...res.data]
|
|
243
|
+
})
|
|
244
|
+
},
|
|
245
|
+
check(val) {
|
|
246
|
+
this.$dispatch('apply', val)
|
|
247
|
+
},
|
|
248
|
+
close() {
|
|
249
|
+
this.$dispatch('close')
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
computed: {
|
|
253
|
+
getCondition () {
|
|
254
|
+
console.log("condition",this.$refs.cp.$refs.cri.condition)
|
|
255
|
+
return {
|
|
256
|
+
condition: this.condition,
|
|
257
|
+
org: `${this.$login.f.orgs}`,
|
|
258
|
+
x: this.processids,
|
|
259
|
+
data: {
|
|
260
|
+
org: `${this.$login.f.orgs}`,
|
|
261
|
+
orgid: this.$login.f.orgid
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
</script>
|
|
268
|
+
<style scoped>
|
|
269
|
+
|
|
270
|
+
.operate{
|
|
271
|
+
text-align: right;
|
|
272
|
+
display: flex;
|
|
273
|
+
align-items: center; /*子元素中线居中*/
|
|
274
|
+
justify-content: flex-end; /*子元素靠右*/
|
|
275
|
+
margin-top: 7px;
|
|
276
|
+
}
|
|
277
|
+
.head-but{
|
|
278
|
+
margin-left: 5px;
|
|
279
|
+
height: 34px;
|
|
280
|
+
background-color: #6aa6e2;
|
|
281
|
+
border-radius: 4px;
|
|
282
|
+
font-family: PingFang;
|
|
283
|
+
color: #ffffff;
|
|
284
|
+
}
|
|
285
|
+
</style>
|
|
@@ -1,104 +1,105 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div style="overflow: auto;">
|
|
3
|
-
<div class="row" v-for="(i,row) in defnames">
|
|
4
|
-
<div :class="row.defname === defname ? 'item selectIndex' : 'item'" @click="getdefname(row)" >
|
|
5
|
-
{{row.defname}}
|
|
6
|
-
<br>
|
|
7
|
-
{{i === (defnames.length) - 1 ? row.sendtime : row.finishtime}}
|
|
8
|
-
</div>
|
|
9
|
-
<div class="arrow glyphicon glyphicon-menu-down" v-if="i != defnames.length-1" aria-hidden="true"></div>
|
|
10
|
-
</div>
|
|
11
|
-
</div>
|
|
12
|
-
</template>
|
|
13
|
-
|
|
14
|
-
<script>
|
|
15
|
-
import {HttpResetClass} from 'vue-client'
|
|
16
|
-
export default {
|
|
17
|
-
title: "流程节点",
|
|
18
|
-
props:['selectdata','defname'],
|
|
19
|
-
data(){
|
|
20
|
-
return{
|
|
21
|
-
defnames: [] // 所有节点
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
created () {
|
|
25
|
-
this.initial()
|
|
26
|
-
},
|
|
27
|
-
methods :{
|
|
28
|
-
async initial() {
|
|
29
|
-
// 获取流程节点信息
|
|
30
|
-
let http = new HttpResetClass()
|
|
31
|
-
let temp = []
|
|
32
|
-
if(this.selectdata && this.selectdata.f_process_id){
|
|
33
|
-
let res = await http.load('POST','rs/sql/getAllNode',{data:{processid: this.selectdata.f_process_id}},{resolveMsg:null, rejectMsg:null})
|
|
34
|
-
//循环去除回退导致重复的节点
|
|
35
|
-
for (let i = 0; i < res.data.length; i++) {
|
|
36
|
-
let flag = true
|
|
37
|
-
for (let j = 0; j < temp.length; j++) {
|
|
38
|
-
if (res.data[i].defname === temp[j].defname) {
|
|
39
|
-
flag = false
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
if(flag){
|
|
43
|
-
temp.push(res.data[i])
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
this.defnames = temp
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
//点击获取节点名
|
|
51
|
-
getdefname(row){
|
|
52
|
-
if(row.defname === this.$workflow_vue.start_activity){
|
|
53
|
-
row = Object.assign({},this.selectdata,row)
|
|
54
|
-
this.$dispatch('apply', row)
|
|
55
|
-
}else if(this.check(row.actorexpression)){
|
|
56
|
-
row = Object.assign({},this.selectdata,row)
|
|
57
|
-
this.$dispatch('apply', row)
|
|
58
|
-
}else{
|
|
59
|
-
this.$showMessage("对不起,您没有查看此节点的权限!")
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
// 检测是否有权限
|
|
63
|
-
check(actorexpression){
|
|
64
|
-
let sign = actorexpression.charAt(0)
|
|
65
|
-
let str = actorexpression.substring(2,actorexpression.length-1)
|
|
66
|
-
let flag = false
|
|
67
|
-
if (sign === 'D' && this.$login.f.f_department_name.includes(str)) {
|
|
68
|
-
flag = true
|
|
69
|
-
}
|
|
70
|
-
if (sign === 'R' && this.$login.f.f_role_name.includes(str)) {
|
|
71
|
-
flag = true
|
|
72
|
-
}
|
|
73
|
-
if (sign === 'P' && this.$login.f.id.includes(str)) {
|
|
74
|
-
flag = true
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
border:
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
color: #
|
|
103
|
-
|
|
104
|
-
|
|
1
|
+
<template>
|
|
2
|
+
<div style="overflow: auto;">
|
|
3
|
+
<div class="row" v-for="(i,row) in defnames">
|
|
4
|
+
<div :class="row.defname === defname ? 'item selectIndex' : 'item'" @click="getdefname(row)" >
|
|
5
|
+
{{row.defname}}
|
|
6
|
+
<br>
|
|
7
|
+
{{i === (defnames.length) - 1 ? row.sendtime : row.finishtime}}
|
|
8
|
+
</div>
|
|
9
|
+
<div class="arrow glyphicon glyphicon-menu-down" v-if="i != defnames.length-1" aria-hidden="true"></div>
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
</template>
|
|
13
|
+
|
|
14
|
+
<script>
|
|
15
|
+
import {HttpResetClass} from 'vue-client'
|
|
16
|
+
export default {
|
|
17
|
+
title: "流程节点",
|
|
18
|
+
props:['selectdata','defname'],
|
|
19
|
+
data(){
|
|
20
|
+
return{
|
|
21
|
+
defnames: [] // 所有节点
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
created () {
|
|
25
|
+
this.initial()
|
|
26
|
+
},
|
|
27
|
+
methods :{
|
|
28
|
+
async initial() {
|
|
29
|
+
// 获取流程节点信息
|
|
30
|
+
let http = new HttpResetClass()
|
|
31
|
+
let temp = []
|
|
32
|
+
if(this.selectdata && this.selectdata.f_process_id){
|
|
33
|
+
let res = await http.load('POST','rs/sql/getAllNode',{data:{processid: this.selectdata.f_process_id}},{resolveMsg:null, rejectMsg:null})
|
|
34
|
+
//循环去除回退导致重复的节点
|
|
35
|
+
for (let i = 0; i < res.data.length; i++) {
|
|
36
|
+
let flag = true
|
|
37
|
+
for (let j = 0; j < temp.length; j++) {
|
|
38
|
+
if (res.data[i].defname === temp[j].defname) {
|
|
39
|
+
flag = false
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if(flag){
|
|
43
|
+
temp.push(res.data[i])
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
this.defnames = temp
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
//点击获取节点名
|
|
51
|
+
getdefname(row){
|
|
52
|
+
if(row.defname === this.$workflow_vue.start_activity){
|
|
53
|
+
row = Object.assign({},this.selectdata,row)
|
|
54
|
+
this.$dispatch('apply', row)
|
|
55
|
+
}else if(this.check(row.actorexpression)){
|
|
56
|
+
row = Object.assign({},this.selectdata,row)
|
|
57
|
+
this.$dispatch('apply', row)
|
|
58
|
+
}else{
|
|
59
|
+
this.$showMessage("对不起,您没有查看此节点的权限!")
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
// 检测是否有权限
|
|
63
|
+
check(actorexpression){
|
|
64
|
+
let sign = actorexpression.charAt(0)
|
|
65
|
+
let str = actorexpression.substring(2,actorexpression.length-1)
|
|
66
|
+
let flag = false
|
|
67
|
+
if (sign === 'D' && this.$login.f.f_department_name.includes(str)) {
|
|
68
|
+
flag = true
|
|
69
|
+
}
|
|
70
|
+
if (sign === 'R' && this.$login.f.f_role_name.includes(str)) {
|
|
71
|
+
flag = true
|
|
72
|
+
}
|
|
73
|
+
if (sign === 'P' && this.$login.f.id.includes(str)) {
|
|
74
|
+
flag = true
|
|
75
|
+
}
|
|
76
|
+
flag = true
|
|
77
|
+
return flag
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
watch:{
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
</script>
|
|
84
|
+
|
|
85
|
+
<style scoped>
|
|
86
|
+
.row{
|
|
87
|
+
text-align: center;
|
|
88
|
+
height: auto;
|
|
89
|
+
margin-right: 20px;
|
|
90
|
+
}
|
|
91
|
+
.item{
|
|
92
|
+
border-radius: 2em;
|
|
93
|
+
border: 1px solid silver;
|
|
94
|
+
line-height: 25px;
|
|
95
|
+
}
|
|
96
|
+
.arrow{
|
|
97
|
+
width: 100%;
|
|
98
|
+
color: #5ac0d9;
|
|
99
|
+
font-weight: bold;
|
|
100
|
+
}
|
|
101
|
+
.selectIndex{
|
|
102
|
+
background-color: #5ac0d9;
|
|
103
|
+
color: #ffffff;
|
|
104
|
+
}
|
|
105
|
+
</style>
|