apply-clients 7.1.47 → 7.1.48
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 +1 -1
- package/src/components/product/Function/InstallInfoSelect.vue +281 -281
- package/src/components/product/Process/ExplorationSelect.vue +1 -1
- package/src/components/product/Process/Processes/InstallationDetails.vue +1 -1
- package/src/components/product/Supervisory/SupervisoryList.vue +1 -1
package/package.json
CHANGED
|
@@ -1,281 +1,281 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div>
|
|
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-5">
|
|
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="$parent.$parent.search()" condition=" (f_entry_name like '%{}%' or f_user_name like '%{}%' or f_contact like '%{}%') " placeholder='三选一输入'>
|
|
11
|
-
</div>
|
|
12
|
-
<div class="form-group col-sm-4">
|
|
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="$parent.$parent.search()"
|
|
16
|
-
condition="f_apply_num = '{}'">
|
|
17
|
-
</div>
|
|
18
|
-
<div class="form-group col-sm-3 button-range">
|
|
19
|
-
<button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
|
|
20
|
-
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
21
|
-
<div
|
|
22
|
-
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
23
|
-
@click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"
|
|
24
|
-
class="button_spacing"
|
|
25
|
-
style="float: right">
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
29
|
-
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
30
|
-
<div class="form-group col-sm-4">
|
|
31
|
-
<label class="font_normal_body">合同编号:</label>
|
|
32
|
-
<input type="text" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
|
|
33
|
-
v-on:keyup.enter="$parent.$parent.search()"
|
|
34
|
-
condition="f_contract_number = '{}'">
|
|
35
|
-
</div>
|
|
36
|
-
<div class="form-group col-sm-4">
|
|
37
|
-
<label class="font_normal_body">报建类型:</label>
|
|
38
|
-
<v-select
|
|
39
|
-
v-model="model.f_apply_type"
|
|
40
|
-
placeholder='报建类型'
|
|
41
|
-
condition="f_apply_type like '%{}%'"
|
|
42
|
-
:value.sync="model.f_apply_type"
|
|
43
|
-
:options='$parent.$parent.applytype'
|
|
44
|
-
class="select select_list"
|
|
45
|
-
:value-single="true"
|
|
46
|
-
@change="$parent.$parent.applyTypeChange()"
|
|
47
|
-
close-on-select ></v-select>
|
|
48
|
-
</div>
|
|
49
|
-
<div class="form-group col-sm-4">
|
|
50
|
-
<label class="font_normal_body">办理环节:</label>
|
|
51
|
-
<v-select
|
|
52
|
-
v-model="model.defname"
|
|
53
|
-
placeholder='办理环节'
|
|
54
|
-
condition="defname = '{}'"
|
|
55
|
-
:value.sync="model.defname"
|
|
56
|
-
:options='$parent.$parent.defnames'
|
|
57
|
-
class="select select_list"
|
|
58
|
-
:value-single="true"
|
|
59
|
-
close-on-select ></v-select>
|
|
60
|
-
</div>
|
|
61
|
-
<div class="form-group col-sm-4">
|
|
62
|
-
<label class="font_normal_body">联系电话:</label>
|
|
63
|
-
<input type="text" class="input_search" placeholder='联系电话' v-model="model.f_phone"
|
|
64
|
-
v-on:keyup.enter="$parent.$parent.search()"
|
|
65
|
-
condition="f_phone like '%{}%'">
|
|
66
|
-
</div>
|
|
67
|
-
<div class="form-group col-sm-4">
|
|
68
|
-
<label class="font_normal_body">用户地址:</label>
|
|
69
|
-
<input type="text" class="input_search" placeholder='用户地址' v-model="model.f_address"
|
|
70
|
-
v-on:keyup.enter="$parent.$parent.search()"
|
|
71
|
-
condition="f_address like '%{}%'">
|
|
72
|
-
</div>
|
|
73
|
-
<div class="form-group col-sm-4">
|
|
74
|
-
<label for="startDate" class="font_normal_body">开始时间:</label>
|
|
75
|
-
<datepicker id="startDate" placeholder="开始日期"
|
|
76
|
-
style="width: 60%!important;"
|
|
77
|
-
v-model="model.startDate"
|
|
78
|
-
:value.sync="model.startDate"
|
|
79
|
-
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
80
|
-
:show-reset-button="true"
|
|
81
|
-
condition="f_apply_date >= '{}'">
|
|
82
|
-
</datepicker>
|
|
83
|
-
</div>
|
|
84
|
-
<div class="form-group col-sm-4">
|
|
85
|
-
<label for="endDate" class="font_normal_body">结束时间:</label>
|
|
86
|
-
<datepicker id="endDate" placeholder="结束日期"
|
|
87
|
-
style="width: 60%!important;"
|
|
88
|
-
v-model="model.endDate"
|
|
89
|
-
:value.sync="model.endDate"
|
|
90
|
-
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
91
|
-
:show-reset-button="true"
|
|
92
|
-
condition="f_apply_date <= '{}'">
|
|
93
|
-
</datepicker>
|
|
94
|
-
</div>
|
|
95
|
-
</div>
|
|
96
|
-
</div>
|
|
97
|
-
</criteria>
|
|
98
|
-
<data-grid v-if="$parent.showData" :model="model" partial='list' v-ref:grid class="list_area table_sy">
|
|
99
|
-
<template partial='head'>
|
|
100
|
-
<tr class="title">
|
|
101
|
-
<th style="white-space: nowrap;">序号</th>
|
|
102
|
-
<th style="white-space: nowrap;">报建编号</th>
|
|
103
|
-
<th style="white-space: nowrap;">项目名称/客户名称/联系人</th>
|
|
104
|
-
<th style="white-space: nowrap;">合同编号</th>
|
|
105
|
-
<th style="white-space: nowrap;">电话</th>
|
|
106
|
-
<th style="white-space: nowrap;">地址</th>
|
|
107
|
-
<th style="white-space: nowrap;">报建类型</th>
|
|
108
|
-
<th style="white-space: nowrap;">办理环节</th>
|
|
109
|
-
<th style="white-space: nowrap;">流程状态</th>
|
|
110
|
-
<th style="white-space: nowrap;">报建日期</th>
|
|
111
|
-
<th style="white-space: nowrap;">操作</th>
|
|
112
|
-
</tr>
|
|
113
|
-
</template>
|
|
114
|
-
<template partial='body'>
|
|
115
|
-
<tr>
|
|
116
|
-
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
117
|
-
<nobr>{{$index+1}}</nobr>
|
|
118
|
-
</td>
|
|
119
|
-
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
120
|
-
<nobr>{{row.f_apply_num}}</nobr>
|
|
121
|
-
</td>
|
|
122
|
-
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
123
|
-
<nobr>{{row.f_entry_name}}/{{row.f_user_name}}/{{row.f_contact}}</nobr>
|
|
124
|
-
</td>
|
|
125
|
-
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
126
|
-
<nobr>{{row.f_contract_number}}</nobr>
|
|
127
|
-
</td>
|
|
128
|
-
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
129
|
-
<nobr>{{row.f_phone}}</nobr>
|
|
130
|
-
</td>
|
|
131
|
-
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
132
|
-
<nobr>{{row.f_address}}</nobr>
|
|
133
|
-
</td>
|
|
134
|
-
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
135
|
-
<nobr>{{row.f_apply_type}}</nobr>
|
|
136
|
-
</td>
|
|
137
|
-
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
138
|
-
<nobr>{{row.defname}}</nobr>
|
|
139
|
-
</td>
|
|
140
|
-
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
141
|
-
<nobr>{{row.f_sub_state}}</nobr>
|
|
142
|
-
</td>
|
|
143
|
-
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
144
|
-
<nobr>{{row.f_apply_date}}</nobr>
|
|
145
|
-
</td>
|
|
146
|
-
<td style="text-align: center;">
|
|
147
|
-
<dropdown>
|
|
148
|
-
<button @click="$parent.$parent.$parent.checkfuncs(row)" type="button" data-toggle="dropdown" style="border: 0px;background: none;">
|
|
149
|
-
<span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>
|
|
150
|
-
</button>
|
|
151
|
-
<ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-right">
|
|
152
|
-
<li v-for="(index,func) in $parent.$parent.$parent.funcs" v-if="$parent.$parent.$parent.$parent.showFunc(func)">
|
|
153
|
-
<a href="#" @click="$parent.$parent.$parent.$parent.func(func,row)">{{func.title}}</a>
|
|
154
|
-
</li>
|
|
155
|
-
</ul>
|
|
156
|
-
</dropdown>
|
|
157
|
-
</td>
|
|
158
|
-
</tr>
|
|
159
|
-
</template>
|
|
160
|
-
</data-grid>
|
|
161
|
-
</criteria-paged>
|
|
162
|
-
</div>
|
|
163
|
-
</template>
|
|
164
|
-
<script>
|
|
165
|
-
import {HttpResetClass} from 'vue-client'
|
|
166
|
-
import {PagedList} from 'vue-client'
|
|
167
|
-
import {isEmpty} from '../../Util'
|
|
168
|
-
export default {
|
|
169
|
-
title: '报建业务信息',
|
|
170
|
-
props: ['showData'],
|
|
171
|
-
data () {
|
|
172
|
-
return {
|
|
173
|
-
applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')],
|
|
174
|
-
defnames: [{label: '全部', value: ''}], // 流程节点
|
|
175
|
-
model: new PagedList('rs/sql/checkuserfunction', 20, {
|
|
176
|
-
data: {
|
|
177
|
-
id: this.$login.f.id,
|
|
178
|
-
orgid: this.$login.f.f_orgids
|
|
179
|
-
}
|
|
180
|
-
}),
|
|
181
|
-
funcs: [], // 功能列表
|
|
182
|
-
criteriaShow: false // 控制查询条件
|
|
183
|
-
}
|
|
184
|
-
},
|
|
185
|
-
ready () {
|
|
186
|
-
// 调用查询
|
|
187
|
-
this.search()
|
|
188
|
-
},
|
|
189
|
-
methods: {
|
|
190
|
-
clear () {
|
|
191
|
-
Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
|
|
192
|
-
this.$refs.cp.$refs.cri.model[key] = []
|
|
193
|
-
})
|
|
194
|
-
},
|
|
195
|
-
// 查询
|
|
196
|
-
search () {
|
|
197
|
-
this.$dispatch('search')
|
|
198
|
-
},
|
|
199
|
-
// 根据类型获取对应的流程节点
|
|
200
|
-
applyTypeChange () {
|
|
201
|
-
if (!isEmpty(this.$refs.cp.$refs.cri.model.f_apply_type)) {
|
|
202
|
-
let http = new HttpResetClass()
|
|
203
|
-
http.load('POST', 'rs/logic/getDefnameByType', {
|
|
204
|
-
f_apply_type: this.$refs.cp.$refs.cri.model.f_apply_type
|
|
205
|
-
}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
206
|
-
this.defnames = [{label: '全部', value: ''}, ...res.data]
|
|
207
|
-
})
|
|
208
|
-
} else {
|
|
209
|
-
this.defnames = [{label: '全部', value: ''}]
|
|
210
|
-
}
|
|
211
|
-
},
|
|
212
|
-
// 获取配置
|
|
213
|
-
async checkfuncs (row) {
|
|
214
|
-
this.funcs = []
|
|
215
|
-
let functions = this.$function_vue.functions
|
|
216
|
-
for (let i = 0; i < functions.length; i++) {
|
|
217
|
-
// 显示类型
|
|
218
|
-
if (functions[i].showApplyTypes) {
|
|
219
|
-
if (functions[i].showApplyTypes.indexOf(row.f_apply_type) === -1) {
|
|
220
|
-
continue
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
// 显示节点
|
|
224
|
-
if (functions[i].showDefnames) {
|
|
225
|
-
if (functions[i].showDefnames.indexOf(row.defname) === -1) {
|
|
226
|
-
continue
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
if ((row.f_apply_type === '散户集体报建' || row.f_apply_type === '煤改气报建') && (row.defname === '竣工验收' || row.defname === '完工') && functions[i].title === '收费') {
|
|
231
|
-
continue
|
|
232
|
-
}
|
|
233
|
-
this.funcs.push(functions[i])
|
|
234
|
-
}
|
|
235
|
-
},
|
|
236
|
-
// 点击功能操作
|
|
237
|
-
func (func, row) {
|
|
238
|
-
this.$dispatch('func', func, row)
|
|
239
|
-
},
|
|
240
|
-
// 权限控制
|
|
241
|
-
showFunc (func) {
|
|
242
|
-
// 没有配置所有人都可以看
|
|
243
|
-
if (!func.personexpression) {
|
|
244
|
-
return true
|
|
245
|
-
}
|
|
246
|
-
if (isEmpty(func.personexpression)) {
|
|
247
|
-
return true
|
|
248
|
-
}
|
|
249
|
-
if (func.personexpression.startsWith('P') || func.personexpression.startsWith('R') || func.personexpression.startsWith('D')) {
|
|
250
|
-
let personexpression = func.personexpression.substring(func.personexpression.indexOf('(') + 1, func.personexpression.indexOf(')'))
|
|
251
|
-
if (func.personexpression.startsWith('P')) {
|
|
252
|
-
if (this.$login.f.name === personexpression) {
|
|
253
|
-
return true
|
|
254
|
-
}
|
|
255
|
-
return false
|
|
256
|
-
}
|
|
257
|
-
if (func.personexpression.startsWith('R')) {
|
|
258
|
-
if (this.$login.f.f_role_name.indexOf(personexpression) !== -1) {
|
|
259
|
-
return true
|
|
260
|
-
}
|
|
261
|
-
return false
|
|
262
|
-
}
|
|
263
|
-
if (func.personexpression.startsWith('D')) {
|
|
264
|
-
if (this.$login.f.f_department_name === personexpression) {
|
|
265
|
-
return true
|
|
266
|
-
}
|
|
267
|
-
return false
|
|
268
|
-
}
|
|
269
|
-
} else {
|
|
270
|
-
return true
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
},
|
|
274
|
-
computed: {
|
|
275
|
-
},
|
|
276
|
-
events: {
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
</script>
|
|
280
|
-
<style scoped>
|
|
281
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
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-5">
|
|
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="$parent.$parent.search()" condition=" (u.f_entry_name like '%{}%' or u.f_user_name like '%{}%' or u.f_contact like '%{}%') " placeholder='三选一输入'>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="form-group col-sm-4">
|
|
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="$parent.$parent.search()"
|
|
16
|
+
condition="f_apply_num = '{}'">
|
|
17
|
+
</div>
|
|
18
|
+
<div class="form-group col-sm-3 button-range">
|
|
19
|
+
<button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
|
|
20
|
+
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
21
|
+
<div
|
|
22
|
+
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
23
|
+
@click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"
|
|
24
|
+
class="button_spacing"
|
|
25
|
+
style="float: right">
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
30
|
+
<div class="form-group col-sm-4">
|
|
31
|
+
<label class="font_normal_body">合同编号:</label>
|
|
32
|
+
<input type="text" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
|
|
33
|
+
v-on:keyup.enter="$parent.$parent.search()"
|
|
34
|
+
condition="f_contract_number = '{}'">
|
|
35
|
+
</div>
|
|
36
|
+
<div class="form-group col-sm-4">
|
|
37
|
+
<label class="font_normal_body">报建类型:</label>
|
|
38
|
+
<v-select
|
|
39
|
+
v-model="model.f_apply_type"
|
|
40
|
+
placeholder='报建类型'
|
|
41
|
+
condition="f_apply_type like '%{}%'"
|
|
42
|
+
:value.sync="model.f_apply_type"
|
|
43
|
+
:options='$parent.$parent.applytype'
|
|
44
|
+
class="select select_list"
|
|
45
|
+
:value-single="true"
|
|
46
|
+
@change="$parent.$parent.applyTypeChange()"
|
|
47
|
+
close-on-select ></v-select>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="form-group col-sm-4">
|
|
50
|
+
<label class="font_normal_body">办理环节:</label>
|
|
51
|
+
<v-select
|
|
52
|
+
v-model="model.defname"
|
|
53
|
+
placeholder='办理环节'
|
|
54
|
+
condition="defname = '{}'"
|
|
55
|
+
:value.sync="model.defname"
|
|
56
|
+
:options='$parent.$parent.defnames'
|
|
57
|
+
class="select select_list"
|
|
58
|
+
:value-single="true"
|
|
59
|
+
close-on-select ></v-select>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="form-group col-sm-4">
|
|
62
|
+
<label class="font_normal_body">联系电话:</label>
|
|
63
|
+
<input type="text" class="input_search" placeholder='联系电话' v-model="model.f_phone"
|
|
64
|
+
v-on:keyup.enter="$parent.$parent.search()"
|
|
65
|
+
condition="f_phone like '%{}%'">
|
|
66
|
+
</div>
|
|
67
|
+
<div class="form-group col-sm-4">
|
|
68
|
+
<label class="font_normal_body">用户地址:</label>
|
|
69
|
+
<input type="text" class="input_search" placeholder='用户地址' v-model="model.f_address"
|
|
70
|
+
v-on:keyup.enter="$parent.$parent.search()"
|
|
71
|
+
condition="f_address like '%{}%'">
|
|
72
|
+
</div>
|
|
73
|
+
<div class="form-group col-sm-4">
|
|
74
|
+
<label for="startDate" class="font_normal_body">开始时间:</label>
|
|
75
|
+
<datepicker id="startDate" placeholder="开始日期"
|
|
76
|
+
style="width: 60%!important;"
|
|
77
|
+
v-model="model.startDate"
|
|
78
|
+
:value.sync="model.startDate"
|
|
79
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
80
|
+
:show-reset-button="true"
|
|
81
|
+
condition="f_apply_date >= '{}'">
|
|
82
|
+
</datepicker>
|
|
83
|
+
</div>
|
|
84
|
+
<div class="form-group col-sm-4">
|
|
85
|
+
<label for="endDate" class="font_normal_body">结束时间:</label>
|
|
86
|
+
<datepicker id="endDate" placeholder="结束日期"
|
|
87
|
+
style="width: 60%!important;"
|
|
88
|
+
v-model="model.endDate"
|
|
89
|
+
:value.sync="model.endDate"
|
|
90
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
91
|
+
:show-reset-button="true"
|
|
92
|
+
condition="f_apply_date <= '{}'">
|
|
93
|
+
</datepicker>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
</criteria>
|
|
98
|
+
<data-grid v-if="$parent.showData" :model="model" partial='list' v-ref:grid class="list_area table_sy">
|
|
99
|
+
<template partial='head'>
|
|
100
|
+
<tr class="title">
|
|
101
|
+
<th style="white-space: nowrap;">序号</th>
|
|
102
|
+
<th style="white-space: nowrap;">报建编号</th>
|
|
103
|
+
<th style="white-space: nowrap;">项目名称/客户名称/联系人</th>
|
|
104
|
+
<th style="white-space: nowrap;">合同编号</th>
|
|
105
|
+
<th style="white-space: nowrap;">电话</th>
|
|
106
|
+
<th style="white-space: nowrap;">地址</th>
|
|
107
|
+
<th style="white-space: nowrap;">报建类型</th>
|
|
108
|
+
<th style="white-space: nowrap;">办理环节</th>
|
|
109
|
+
<th style="white-space: nowrap;">流程状态</th>
|
|
110
|
+
<th style="white-space: nowrap;">报建日期</th>
|
|
111
|
+
<th style="white-space: nowrap;">操作</th>
|
|
112
|
+
</tr>
|
|
113
|
+
</template>
|
|
114
|
+
<template partial='body'>
|
|
115
|
+
<tr>
|
|
116
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
117
|
+
<nobr>{{$index+1}}</nobr>
|
|
118
|
+
</td>
|
|
119
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
120
|
+
<nobr>{{row.f_apply_num}}</nobr>
|
|
121
|
+
</td>
|
|
122
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
123
|
+
<nobr>{{row.f_entry_name}}/{{row.f_user_name}}/{{row.f_contact}}</nobr>
|
|
124
|
+
</td>
|
|
125
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
126
|
+
<nobr>{{row.f_contract_number}}</nobr>
|
|
127
|
+
</td>
|
|
128
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
129
|
+
<nobr>{{row.f_phone}}</nobr>
|
|
130
|
+
</td>
|
|
131
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
132
|
+
<nobr>{{row.f_address}}</nobr>
|
|
133
|
+
</td>
|
|
134
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
135
|
+
<nobr>{{row.f_apply_type}}</nobr>
|
|
136
|
+
</td>
|
|
137
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
138
|
+
<nobr>{{row.defname}}</nobr>
|
|
139
|
+
</td>
|
|
140
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
141
|
+
<nobr>{{row.f_sub_state}}</nobr>
|
|
142
|
+
</td>
|
|
143
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
144
|
+
<nobr>{{row.f_apply_date}}</nobr>
|
|
145
|
+
</td>
|
|
146
|
+
<td style="text-align: center;">
|
|
147
|
+
<dropdown>
|
|
148
|
+
<button @click="$parent.$parent.$parent.checkfuncs(row)" type="button" data-toggle="dropdown" style="border: 0px;background: none;">
|
|
149
|
+
<span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>
|
|
150
|
+
</button>
|
|
151
|
+
<ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-right">
|
|
152
|
+
<li v-for="(index,func) in $parent.$parent.$parent.funcs" v-if="$parent.$parent.$parent.$parent.showFunc(func)">
|
|
153
|
+
<a href="#" @click="$parent.$parent.$parent.$parent.func(func,row)">{{func.title}}</a>
|
|
154
|
+
</li>
|
|
155
|
+
</ul>
|
|
156
|
+
</dropdown>
|
|
157
|
+
</td>
|
|
158
|
+
</tr>
|
|
159
|
+
</template>
|
|
160
|
+
</data-grid>
|
|
161
|
+
</criteria-paged>
|
|
162
|
+
</div>
|
|
163
|
+
</template>
|
|
164
|
+
<script>
|
|
165
|
+
import {HttpResetClass} from 'vue-client'
|
|
166
|
+
import {PagedList} from 'vue-client'
|
|
167
|
+
import {isEmpty} from '../../Util'
|
|
168
|
+
export default {
|
|
169
|
+
title: '报建业务信息',
|
|
170
|
+
props: ['showData'],
|
|
171
|
+
data () {
|
|
172
|
+
return {
|
|
173
|
+
applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')],
|
|
174
|
+
defnames: [{label: '全部', value: ''}], // 流程节点
|
|
175
|
+
model: new PagedList('rs/sql/checkuserfunction', 20, {
|
|
176
|
+
data: {
|
|
177
|
+
id: this.$login.f.id,
|
|
178
|
+
orgid: this.$login.f.f_orgids
|
|
179
|
+
}
|
|
180
|
+
}),
|
|
181
|
+
funcs: [], // 功能列表
|
|
182
|
+
criteriaShow: false // 控制查询条件
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
ready () {
|
|
186
|
+
// 调用查询
|
|
187
|
+
this.search()
|
|
188
|
+
},
|
|
189
|
+
methods: {
|
|
190
|
+
clear () {
|
|
191
|
+
Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
|
|
192
|
+
this.$refs.cp.$refs.cri.model[key] = []
|
|
193
|
+
})
|
|
194
|
+
},
|
|
195
|
+
// 查询
|
|
196
|
+
search () {
|
|
197
|
+
this.$dispatch('search')
|
|
198
|
+
},
|
|
199
|
+
// 根据类型获取对应的流程节点
|
|
200
|
+
applyTypeChange () {
|
|
201
|
+
if (!isEmpty(this.$refs.cp.$refs.cri.model.f_apply_type)) {
|
|
202
|
+
let http = new HttpResetClass()
|
|
203
|
+
http.load('POST', 'rs/logic/getDefnameByType', {
|
|
204
|
+
f_apply_type: this.$refs.cp.$refs.cri.model.f_apply_type
|
|
205
|
+
}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
206
|
+
this.defnames = [{label: '全部', value: ''}, ...res.data]
|
|
207
|
+
})
|
|
208
|
+
} else {
|
|
209
|
+
this.defnames = [{label: '全部', value: ''}]
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
// 获取配置
|
|
213
|
+
async checkfuncs (row) {
|
|
214
|
+
this.funcs = []
|
|
215
|
+
let functions = this.$function_vue.functions
|
|
216
|
+
for (let i = 0; i < functions.length; i++) {
|
|
217
|
+
// 显示类型
|
|
218
|
+
if (functions[i].showApplyTypes) {
|
|
219
|
+
if (functions[i].showApplyTypes.indexOf(row.f_apply_type) === -1) {
|
|
220
|
+
continue
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
// 显示节点
|
|
224
|
+
if (functions[i].showDefnames) {
|
|
225
|
+
if (functions[i].showDefnames.indexOf(row.defname) === -1) {
|
|
226
|
+
continue
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
if ((row.f_apply_type === '散户集体报建' || row.f_apply_type === '煤改气报建') && (row.defname === '竣工验收' || row.defname === '完工') && functions[i].title === '收费') {
|
|
231
|
+
continue
|
|
232
|
+
}
|
|
233
|
+
this.funcs.push(functions[i])
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
// 点击功能操作
|
|
237
|
+
func (func, row) {
|
|
238
|
+
this.$dispatch('func', func, row)
|
|
239
|
+
},
|
|
240
|
+
// 权限控制
|
|
241
|
+
showFunc (func) {
|
|
242
|
+
// 没有配置所有人都可以看
|
|
243
|
+
if (!func.personexpression) {
|
|
244
|
+
return true
|
|
245
|
+
}
|
|
246
|
+
if (isEmpty(func.personexpression)) {
|
|
247
|
+
return true
|
|
248
|
+
}
|
|
249
|
+
if (func.personexpression.startsWith('P') || func.personexpression.startsWith('R') || func.personexpression.startsWith('D')) {
|
|
250
|
+
let personexpression = func.personexpression.substring(func.personexpression.indexOf('(') + 1, func.personexpression.indexOf(')'))
|
|
251
|
+
if (func.personexpression.startsWith('P')) {
|
|
252
|
+
if (this.$login.f.name === personexpression) {
|
|
253
|
+
return true
|
|
254
|
+
}
|
|
255
|
+
return false
|
|
256
|
+
}
|
|
257
|
+
if (func.personexpression.startsWith('R')) {
|
|
258
|
+
if (this.$login.f.f_role_name.indexOf(personexpression) !== -1) {
|
|
259
|
+
return true
|
|
260
|
+
}
|
|
261
|
+
return false
|
|
262
|
+
}
|
|
263
|
+
if (func.personexpression.startsWith('D')) {
|
|
264
|
+
if (this.$login.f.f_department_name === personexpression) {
|
|
265
|
+
return true
|
|
266
|
+
}
|
|
267
|
+
return false
|
|
268
|
+
}
|
|
269
|
+
} else {
|
|
270
|
+
return true
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
computed: {
|
|
275
|
+
},
|
|
276
|
+
events: {
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
</script>
|
|
280
|
+
<style scoped>
|
|
281
|
+
</style>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<div class="form-group col-sm-3">
|
|
8
8
|
<label class="font_normal_body">项目、客户名称:</label>
|
|
9
9
|
<input type="text" class="input_search" v-model="model.f_user_name"
|
|
10
|
-
v-on:keyup.enter="$parent.$parent.search()" condition=" (f_entry_name like '%{}%' or f_user_name like '%{}%' or f_contact like '%{}%') " placeholder='项目名称/客户名称/联系人'>
|
|
10
|
+
v-on:keyup.enter="$parent.$parent.search()" condition=" (u.f_entry_name like '%{}%' or u.f_user_name like '%{}%' or u.f_contact like '%{}%') " placeholder='项目名称/客户名称/联系人'>
|
|
11
11
|
</div>
|
|
12
12
|
<div class="form-group col-sm-3">
|
|
13
13
|
<label class="font_normal_body">报建编号:</label>
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
:readonly="false"/>
|
|
177
177
|
</div>
|
|
178
178
|
</div>
|
|
179
|
-
<div class="form-group col-sm-6"
|
|
179
|
+
<div class="form-group col-sm-6">
|
|
180
180
|
<label class="col-sm-4 control-label">表向:</label>
|
|
181
181
|
<div class="col-sm-8">
|
|
182
182
|
<input-select
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<div class="form-group col-sm-4">
|
|
8
8
|
<label class="font_normal_body">项目名称/客户名称/联系人:</label>
|
|
9
9
|
<input type="text" class="input_search" v-model="model.f_user_name"
|
|
10
|
-
v-on:keyup.enter="search" condition=" (f_entry_name like '%{}%' or f_user_name like '%{}%' or f_contact like '%{}%') " placeholder='三选一输入'>
|
|
10
|
+
v-on:keyup.enter="search" condition=" (u.f_entry_name like '%{}%' or u.f_user_name like '%{}%' or u.f_contact like '%{}%') " placeholder='三选一输入'>
|
|
11
11
|
</div>
|
|
12
12
|
<div class="form-group col-sm-3">
|
|
13
13
|
<label class="font_normal_body">报建编号:</label>
|