apply-clients 3.1.61 → 3.1.63

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.
@@ -1,371 +1,421 @@
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-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"
11
- condition=" (f_user_name like '%{}%' or f_contact like '%{}%') " placeholder='二选一输入'>
12
- </div>
13
- <div class="form-group col-sm-3">
14
- <label class="font_normal_body">报建编号:</label>
15
- <input type="text" class="input_search" placeholder='报建编号' v-model="model.f_apply_num"
16
- v-on:keyup.enter="search"
17
- condition="u.f_apply_num like '%{}%'">
18
- </div>
19
- <div class="form-group col-sm-3">
20
- <label class="font_normal_body">合同编号:</label>
21
- <input type="text" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
22
- v-on:keyup.enter="search"
23
- condition="f_contract_number like '%{}%'">
24
- </div>
25
- <div class="form-group col-sm-2 operate">
26
- <button type="button" class="btn btn-info head-but" @click="$parent.$parent.show = !$parent.$parent.show">工程发起</button>
27
- <button type="button" class="btn btn-info head-but" @click="search(),$parent.$parent.close()" v-el:cx>查询</button>
28
- <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
29
- <div
30
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
31
- @click="$parent.$parent.hidden()"
32
- class="button_spacing"
33
- style="float: right">
34
- </div>
35
- </div>
36
- </div>
37
- <div class="row" v-show="$parent.$parent.criteriaShow">
38
- <div class="form-group col-sm-3">
39
- <label class="font_normal_body">用户地址:</label>
40
- <input type="text" class="input_search" placeholder='用户地址' v-model="model.f_address"
41
- v-on:keyup.enter="search"
42
- condition="f_address like '%{}%'">
43
- </div>
44
- <div class="form-group col-sm-3">
45
- <label class="font_normal_body">小&emsp;&emsp;区:</label>
46
- <v-select
47
- v-model="model.f_residential_area"
48
- placeholder='请选择'
49
- condition="u.f_residential_area = '{}'"
50
- :value.sync="model.f_residential_area"
51
- :options='$parent.$parent.area'
52
- class="select select_list"
53
- search="true"
54
- :value-single="true"
55
- close-on-select ></v-select>
56
- </div>
57
- <div class="form-group col-sm-3">
58
- <label class="font_normal_body">票&emsp;&emsp;号:</label>
59
- <input type="text" class="input_search" placeholder='票号' v-model="model.f_ticket_number"
60
- v-on:keyup.enter="search"
61
- condition="c.f_ticket_number like '%{}%'">
62
- </div>
63
- <div class="col-sm-3 form-group">
64
- <label class="font_normal_body">报建类型:</label>
65
- <v-select
66
- v-model="model.f_apply_type"
67
- placeholder='报建类型'
68
- condition="f_apply_type like '%{}%'"
69
- :value.sync="model.f_apply_type"
70
- :options='$parent.$parent.completionApplytype'
71
- class="select select_list"
72
- :value-single="true"
73
- close-on-select ></v-select>
74
- </div>
75
- <div class="col-sm-3 form-group">
76
- <label class="font_normal_body">办理环节:</label>
77
- <v-select
78
- v-model="model.defname"
79
- placeholder='办理环节'
80
- condition="defname = '{}'"
81
- :value.sync="model.defname"
82
- :options='$parent.$parent.defnames'
83
- class="select select_list"
84
- :value-single="true"
85
- close-on-select ></v-select>
86
- </div>
87
- <div class="form-group col-sm-3">
88
- <label for="startDate" class="font_normal_body">开始时间:</label>
89
- <datepicker id="startDate" placeholder="开始日期"
90
- style="width: 60%!important;"
91
- v-model="model.startDate"
92
- :value.sync="model.startDate"
93
- :format="'yyyy-MM-dd 00:00:00'"
94
- :show-reset-button="true"
95
- condition="f_apply_date >= '{}'">
96
- </datepicker>
97
- </div>
98
- <div class="form-group col-sm-3">
99
- <label for="endDate" class="font_normal_body">结束时间:</label>
100
- <datepicker id="endDate" placeholder="结束日期"
101
- style="width: 60%!important;"
102
- v-model="model.endDate"
103
- :value.sync="model.endDate"
104
- :format="'yyyy-MM-dd 23:59:59'"
105
- :show-reset-button="true"
106
- condition="f_apply_date <= '{}'">
107
- </datepicker>
108
- </div>
109
- <div class="form-group col-sm-3">
110
- <label for="endDate" class="font_normal_body">收费日期:</label>
111
- <datepicker id="f_charge_date" placeholder="收费日期"
112
- style="width: 60%!important;"
113
- v-model="model.f_charge_date"
114
- :value.sync="model.f_charge_date"
115
- :format="'yyyy-MM-dd'"
116
- :show-reset-button="true"
117
- condition="c.f_charge_date <= '{} 23:59:59' and c.f_charge_date >= '{} 00:00:00'">
118
- </datepicker>
119
- </div>
120
- </div>
121
- </div>
122
- </criteria>
123
- <data-grid :model="model" partial='list' v-ref:grid class="list_area table_sy">
124
- <template partial='head'>
125
- <tr>
126
- <th>序号</th>
127
- <th>流程操作</th>
128
- <th>报建编号</th>
129
- <th>客户名称/联系人</th>
130
- <th>当前状态</th>
131
- <th>合同编号</th>
132
- <th>流程状态</th>
133
- <th>电话</th>
134
- <th>地址</th>
135
- <th>报建类型</th>
136
- <th>报建日期</th>
137
- </tr>
138
- </template>
139
- <template partial='body'>
140
- <tr >
141
- <td style="text-align: center;">
142
- <nobr><font>{{$index+1}}</font></nobr>
143
- </td>
144
- <td style="text-align: center;">
145
- <dropdown>
146
- <button type="button" data-toggle="dropdown" style="border: 0px;background: none;">
147
- <span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>
148
- </button>
149
- <ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-right">
150
- <li>
151
- <a href="#" @click="$parent.$parent.$parent.click(row)">{{row.defname}}</a>
152
- </li>
153
- </ul>
154
- </dropdown>
155
- </td>
156
- <td style="text-align: center;">
157
- <nobr><font>{{row.f_apply_num}}</font></nobr>
158
- </td>
159
- <td style="text-align: center;">
160
- <nobr><font>{{row.f_user_name}}/{{row.f_contact}}</font></nobr>
161
- </td>
162
- <td style="text-align: center;">
163
- <nobr><font>{{row.f_sub_state}}</font></nobr>
164
- </td>
165
- <td style="text-align: center;">
166
- <nobr><font>{{row.f_contract_number}}</font></nobr>
167
- </td>
168
- <td style="text-align: center;">
169
- <nobr><font>{{row.defname}}</font></nobr>
170
- </td>
171
- <td style="text-align: center;">
172
- <nobr><font>{{row.f_phone}}</font></nobr>
173
- </td>
174
- <td style="text-align: center;">
175
- <nobr><font>{{row.f_address}}</font></nobr>
176
- </td>
177
- <td style="text-align: center;">
178
- <nobr><font>{{row.f_apply_type}}</font></nobr>
179
- </td>
180
- <td style="text-align: center;">
181
- <nobr><font>{{row.f_apply_date}}</font></nobr>
182
- </td>
183
- </tr>
184
- </template>
185
- </data-grid>
186
- </criteria-paged>
187
-
188
- <modal
189
- v-if="show"
190
- :show.sync="show"
191
- backdrop="false"
192
- title="工程类型"
193
- >
194
- <div class="form-horizontal" slot="modal-body">
195
- <div class="form-group" style="margin: 10px auto">
196
- <label class="col-sm-3 control-label">报建类型:</label>
197
- <div class="col-sm-9">
198
- <v-select
199
- v-model="f_apply_type"
200
- placeholder='请选择需要发起的工程类型'
201
- :value.sync="f_apply_type"
202
- :options='applytype'
203
- :value-single="true"
204
- class="select select_list"
205
- :search="false"
206
- close-on-select ></v-select>
207
- </div>
208
- </div>
209
- </div>
210
- <footer slot="modal-footer" class="modal-footer">
211
- <button
212
- class="btn btn-default"
213
- @click="this.show = !this.show">
214
- 取消
215
- </button>
216
- <button
217
- class="btn btn-primary"
218
- type="button"
219
- :disabled="applyButton_disabled"
220
- @click="apply()">
221
- 确认
222
- </button>
223
- </footer>
224
- </modal>
225
- </div>
226
- </template>
227
- <script>
228
- import {PagedList} from 'vue-client'
229
- import {HttpResetClass} from 'vue-client'
230
- export default {
231
- title: '工程列表',
232
- data() {
233
- return {
234
- applytype: [{label:"集中报建",value:'集中报建'},{label:"非民用报建",value:'非民用报建'},{label:"散户报建",value:'散户报建'}], // 所有报建类型
235
- defnames: [{label: '请先选择报建类型', value: ''}], // 所有办理环节
236
- model: new PagedList('rs/sql/checkuser', 20, {
237
- data: {
238
- id: this.$login.f.id,
239
- org: this.$login.f.orgs
240
- }
241
- }),
242
- condition: '', // 查询条件
243
- f_apply_type: null, // 报建类型
244
- startname: null, // 启动节点
245
- criteriaShow: false,
246
- show: false,
247
- applyButton_disabled: true,
248
- area:[]
249
- }
250
- },
251
- ready() {
252
- // 调用查询
253
- this.$refs.cp.$refs.cri.search()
254
- // 获取所有办理环节
255
- this.getDefnames()
256
- this.getAreaAll()
257
- },
258
- methods: {
259
- clear () {
260
- Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
261
- this.$refs.cp.$refs.cri.model[key] = ''
262
- })
263
- },
264
- hidden() {
265
- this.$dispatch('hidden', this.criteriaShow)
266
- this.criteriaShow = !this.criteriaShow
267
- },
268
- // 获取所有办理环节
269
- getDefnames() {
270
- let http = new HttpResetClass()
271
- http.load('POST', 'rs/logic/getAllDefname', {}, {
272
- resolveMsg: null,
273
- rejectMsg: null
274
- }).then((res) => {
275
- this.defnames = [{label: '全部', value: ''}, ...res.data]
276
- })
277
- console.log("this.defname",this.defnames)
278
- },
279
- // 报装申请
280
- async apply () {
281
- this.applyButton_disabled = true
282
-
283
- if (this.f_apply_type === '集中报建') {
284
- this.startname = '申请登记'
285
- if (this.$login.f.deps !== '市场部') {
286
- this.$showMessage("只能由市场部受理")
287
- return
288
- }
289
- }
290
- if (this.f_apply_type === '散户报建') {
291
- this.startname = '申请登记'
292
- if (this.$login.f.deps !== '销售客服部') {
293
- this.$showMessage("只能由销售客服部受理")
294
- return
295
- }
296
- }
297
- if (this.f_apply_type === '非民用报建') {
298
- this.startname = '申请登记'
299
- if (this.$login.f.deps !== '市场部') {
300
- this.$showMessage("只能由市场部受理")
301
- return
302
- }
303
- }
304
-
305
- let val = {
306
- f_apply_type: this.f_apply_type,
307
- defname: this.startname
308
- }
309
- // 调用ExplorationUser事件
310
- this.$dispatch('apply', val)
311
-
312
- this.show = false
313
- this.f_apply_type = null
314
- },
315
- async getAreaAll () {
316
- let http = new HttpResetClass()
317
- let condition = "f_filialeid = " + this.$login.f.orgid
318
- let res = await http.load('POST','rs/logic/apply_queryArea',{data:{condition:condition}}, {resolveMsg: null, rejectMsg: null})
319
-
320
- this.area = res.data.queryArea.map(item => {
321
- return {
322
- 'label': item.f_residential_area,
323
- 'value': item.f_residential_area,
324
- }
325
- })
326
- },
327
- // ExplorationUser 关闭组件
328
- close() {
329
- this.$dispatch('close')
330
- },
331
- // 点击操作
332
- click(val) {
333
- this.criteriaShow = false
334
- this.$dispatch('apply', val)
335
- }
336
- },
337
- computed: {
338
- completionApplytype() {
339
- return [{label:"全部",value:''},...this.applytype]
340
- }
341
- },
342
- watch: {
343
- deep: true,
344
- immediate: true,
345
- f_apply_type: function() {
346
- if (this.f_apply_type === "" || this.f_apply_type === null || this.f_apply_type === undefined){
347
- this.applyButton_disabled = true
348
- return
349
- }
350
- this.applyButton_disabled = false
351
- }
352
- }
353
- }
354
- </script>
355
- <style scoped>
356
- .operate{
357
- text-align: right;
358
- display: flex;
359
- align-items: center; /*子元素中线居中*/
360
- justify-content: flex-end; /*子元素靠右*/
361
- margin-top: 7px;
362
- }
363
- .head-but{
364
- margin-left: 5px;
365
- height: 34px;
366
- background-color: #6aa6e2;
367
- border-radius: 4px;
368
- font-family: PingFang;
369
- color: #ffffff;
370
- }
371
- </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-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"
11
+ condition=" (f_user_name like '%{}%' or f_contact like '%{}%') " placeholder='二选一输入'>
12
+ </div>
13
+ <div class="form-group col-sm-3">
14
+ <label class="font_normal_body">报建编号:</label>
15
+ <input type="text" class="input_search" placeholder='报建编号' v-model="model.f_apply_num"
16
+ v-on:keyup.enter="search"
17
+ condition="u.f_apply_num like '%{}%'">
18
+ </div>
19
+ <div class="form-group col-sm-3">
20
+ <label class="font_normal_body">合同编号:</label>
21
+ <input type="text" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
22
+ v-on:keyup.enter="search"
23
+ condition="f_contract_number like '%{}%'">
24
+ </div>
25
+ <div class="form-group col-sm-2 operate">
26
+ <button type="button" class="btn btn-info head-but" @click="$parent.$parent.show = !$parent.$parent.show">工程发起</button>
27
+ <button type="button" class="btn btn-info head-but" @click="search(),$parent.$parent.close()" v-el:cx>查询</button>
28
+ <button class="button_search button_spacing" @click="$parent.$parent.loadPage()">返回</button>
29
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
30
+ <button class="button_search button_spacing" @click="$parent.$parent.applySendAll()"
31
+ style="margin-right: 9px">批量回访
32
+ </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">小&emsp;&emsp;区:</label>
50
+ <v-select
51
+ v-model="model.f_residential_area"
52
+ placeholder='请选择'
53
+ condition="u.f_residential_area = '{}'"
54
+ :value.sync="model.f_residential_area"
55
+ :options='$parent.$parent.area'
56
+ class="select select_list"
57
+ search="true"
58
+ :value-single="true"
59
+ close-on-select ></v-select>
60
+ </div>
61
+ <div class="form-group col-sm-3">
62
+ <label class="font_normal_body">票&emsp;&emsp;号:</label>
63
+ <input type="text" class="input_search" placeholder='票号' v-model="model.f_ticket_number"
64
+ v-on:keyup.enter="search"
65
+ condition="c.f_ticket_number like '%{}%'">
66
+ </div>
67
+ <div class="col-sm-3 form-group">
68
+ <label class="font_normal_body">报建类型:</label>
69
+ <v-select
70
+ v-model="model.f_apply_type"
71
+ placeholder='报建类型'
72
+ condition="f_apply_type like '%{}%'"
73
+ :value.sync="model.f_apply_type"
74
+ :options='$parent.$parent.completionApplytype'
75
+ class="select select_list"
76
+ :value-single="true"
77
+ close-on-select ></v-select>
78
+ </div>
79
+ <div class="col-sm-3 form-group">
80
+ <label class="font_normal_body">办理环节:</label>
81
+ <v-select
82
+ v-model="model.defname"
83
+ placeholder='办理环节'
84
+ condition="defname = '{}'"
85
+ :value.sync="model.defname"
86
+ :options='$parent.$parent.defnames'
87
+ class="select select_list"
88
+ :value-single="true"
89
+ close-on-select ></v-select>
90
+ </div>
91
+ <div class="form-group col-sm-3">
92
+ <label for="startDate" class="font_normal_body">开始时间:</label>
93
+ <datepicker id="startDate" placeholder="开始日期"
94
+ style="width: 60%!important;"
95
+ v-model="model.startDate"
96
+ :value.sync="model.startDate"
97
+ :format="'yyyy-MM-dd 00:00:00'"
98
+ :show-reset-button="true"
99
+ condition="f_apply_date >= '{}'">
100
+ </datepicker>
101
+ </div>
102
+ <div class="form-group col-sm-3">
103
+ <label for="endDate" class="font_normal_body">结束时间:</label>
104
+ <datepicker id="endDate" placeholder="结束日期"
105
+ style="width: 60%!important;"
106
+ v-model="model.endDate"
107
+ :value.sync="model.endDate"
108
+ :format="'yyyy-MM-dd 23:59:59'"
109
+ :show-reset-button="true"
110
+ condition="f_apply_date <= '{}'">
111
+ </datepicker>
112
+ </div>
113
+ <div class="form-group col-sm-3">
114
+ <label for="endDate" class="font_normal_body">收费日期:</label>
115
+ <datepicker id="f_charge_date" placeholder="收费日期"
116
+ style="width: 60%!important;"
117
+ v-model="model.f_charge_date"
118
+ :value.sync="model.f_charge_date"
119
+ :format="'yyyy-MM-dd'"
120
+ :show-reset-button="true"
121
+ condition="c.f_charge_date <= '{} 23:59:59' and c.f_charge_date >= '{} 00:00:00'">
122
+ </datepicker>
123
+ </div>
124
+ </div>
125
+ </div>
126
+ </criteria>
127
+ <data-grid :model="model" optional partial='list' v-ref:grid class="list_area table_sy">
128
+ <template partial='head'>
129
+ <tr>
130
+ <!-- <th>-->
131
+ <!-- <nobr><input type="checkbox" v-model="$parent.$parent.$parent.checkAll"/> 全选</nobr>-->
132
+ <!-- </th>-->
133
+ <th>序号</th>
134
+ <th>流程操作</th>
135
+ <th>报建编号</th>
136
+ <th>客户名称/联系人</th>
137
+ <th>当前状态</th>
138
+ <th>合同编号</th>
139
+ <th>流程状态</th>
140
+ <th>电话</th>
141
+ <th>地址</th>
142
+ <th>报建类型</th>
143
+ <th>报建日期</th>
144
+ </tr>
145
+ </template>
146
+ <template partial='body'>
147
+ <tr >
148
+ <td style="text-align: center;white-space:nowrap;">
149
+ <input type="checkbox" v-if="row.defname=='回访'" onClick="event.cancelBubble = true" :checked="$parent.$parent.$parent.isChecked(row)" @change="$parent.$parent.$parent.setCheckes(row)" />
150
+ </td>
151
+ <td style="text-align: center;">
152
+ <nobr><font>{{$index+1}}</font></nobr>
153
+ </td>
154
+ <td style="text-align: center;">
155
+ <dropdown>
156
+ <button type="button" data-toggle="dropdown" style="border: 0px;background: none;">
157
+ <span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>
158
+ </button>
159
+ <ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-right">
160
+ <li>
161
+ <a href="#" @click="$parent.$parent.$parent.click(row)">{{row.defname}}</a>
162
+ </li>
163
+ </ul>
164
+ </dropdown>
165
+ </td>
166
+ <td style="text-align: center;">
167
+ <nobr><font>{{row.f_apply_num}}</font></nobr>
168
+ </td>
169
+ <td style="text-align: center;">
170
+ <nobr><font>{{row.f_user_name}}/{{row.f_contact}}</font></nobr>
171
+ </td>
172
+ <td style="text-align: center;">
173
+ <nobr><font>{{row.f_sub_state}}</font></nobr>
174
+ </td>
175
+ <td style="text-align: center;">
176
+ <nobr><font>{{row.f_contract_number}}</font></nobr>
177
+ </td>
178
+ <td style="text-align: center;">
179
+ <nobr><font>{{row.defname}}</font></nobr>
180
+ </td>
181
+ <td style="text-align: center;">
182
+ <nobr><font>{{row.f_phone}}</font></nobr>
183
+ </td>
184
+ <td style="text-align: center;">
185
+ <nobr><font>{{row.f_address}}</font></nobr>
186
+ </td>
187
+ <td style="text-align: center;">
188
+ <nobr><font>{{row.f_apply_type}}</font></nobr>
189
+ </td>
190
+ <td style="text-align: center;">
191
+ <nobr><font>{{row.f_apply_date}}</font></nobr>
192
+ </td>
193
+ </tr>
194
+ </template>
195
+ </data-grid>
196
+ </criteria-paged>
197
+
198
+ <modal
199
+ v-if="show"
200
+ :show.sync="show"
201
+ backdrop="false"
202
+ title="工程类型"
203
+ >
204
+ <div class="form-horizontal" slot="modal-body">
205
+ <div class="form-group" style="margin: 10px auto">
206
+ <label class="col-sm-3 control-label">报建类型:</label>
207
+ <div class="col-sm-9">
208
+ <v-select
209
+ v-model="f_apply_type"
210
+ placeholder='请选择需要发起的工程类型'
211
+ :value.sync="f_apply_type"
212
+ :options='applytype'
213
+ :value-single="true"
214
+ class="select select_list"
215
+ :search="false"
216
+ close-on-select ></v-select>
217
+ </div>
218
+ </div>
219
+ </div>
220
+ <footer slot="modal-footer" class="modal-footer">
221
+ <button
222
+ class="btn btn-default"
223
+ @click="this.show = !this.show">
224
+ 取消
225
+ </button>
226
+ <button
227
+ class="btn btn-primary"
228
+ type="button"
229
+ :disabled="applyButton_disabled"
230
+ @click="apply()">
231
+ 确认
232
+ </button>
233
+ </footer>
234
+ </modal>
235
+ </div>
236
+ </template>
237
+ <script>
238
+ import {PagedList} from 'vue-client'
239
+ import {HttpResetClass} from 'vue-client'
240
+ export default {
241
+ title: '工程列表',
242
+ data() {
243
+ return {
244
+ applytype: [{label:"集中报建",value:'集中报建'},{label:"非民用报建",value:'非民用报建'},{label:"散户报建",value:'散户报建'}], // 所有报建类型
245
+ defnames: [{label: '请先选择报建类型', value: ''}], // 所有办理环节
246
+ model: new PagedList('rs/sql/checkuser', 20, {
247
+ data: {
248
+ id: this.$login.f.id,
249
+ org: this.$login.f.orgs
250
+ }
251
+ }),
252
+ condition: '', // 查询条件
253
+ applys:[], // 选择的报建
254
+ checkAll: false, // 全选
255
+ f_apply_type: null, // 报建类型
256
+ startname: null, // 启动节点
257
+ criteriaShow: false,
258
+ show: false,
259
+ applyButton_disabled: true,
260
+ area:[]
261
+ }
262
+ },
263
+ ready() {
264
+ // 调用查询
265
+ this.$refs.cp.$refs.cri.search()
266
+ // 获取所有办理环节
267
+ this.getDefnames()
268
+ this.getAreaAll()
269
+ },
270
+ methods: {
271
+ applySendAll () {
272
+ if(this.applys.length==0){
273
+ this.$showMessage("请选择需要回访的报建")
274
+ return
275
+ }
276
+ //将选中的回访环节的数据,走到下一步
277
+ new HttpResetClass().load('post','rs/logic/CompleteVisit',
278
+ {data:{
279
+ apply:this.applys,
280
+ name:this.$login.f.name,
281
+ id:this.$login.f.id
282
+ }
283
+ },{resolveMsg:null,rejectMsg:null}).then(res=>{
284
+ this.$showMessage("回访成功")
285
+ this.$refs.cp.$refs.grid.load()
286
+ })
287
+ },
288
+ isChecked(v) {
289
+ // 如果全选,不在的按选中算,否则,在的按选中算
290
+ if (this.checkAll) {
291
+ return this.applys.indexOf(v.f_process_id) == -1
292
+ } else {
293
+ return this.applys.indexOf(v.f_process_id) != -1
294
+ }
295
+ },
296
+ setCheckes(row) {
297
+ if (!this.checkAll){
298
+ let index=this.applys.indexOf(row.f_process_id)
299
+ if(index<0){
300
+ this.applys.push(row.f_process_id)
301
+ }else{
302
+ this.applys.splice(index,1)
303
+ }
304
+ }
305
+ },
306
+ loadPage () {
307
+ this.$dispatch('loadPage')
308
+ },
309
+ clear () {
310
+ Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
311
+ this.$refs.cp.$refs.cri.model[key] = ''
312
+ })
313
+ },
314
+ hidden() {
315
+ this.$dispatch('hidden', this.criteriaShow)
316
+ this.criteriaShow = !this.criteriaShow
317
+ },
318
+ // 获取所有办理环节
319
+ getDefnames() {
320
+ let http = new HttpResetClass()
321
+ http.load('POST', 'rs/logic/getAllDefname', {}, {
322
+ resolveMsg: null,
323
+ rejectMsg: null
324
+ }).then((res) => {
325
+ this.defnames = [{label: '全部', value: ''}, ...res.data]
326
+ })
327
+ console.log("this.defname",this.defnames)
328
+ },
329
+ // 报装申请
330
+ async apply () {
331
+ this.applyButton_disabled = true
332
+
333
+ if (this.f_apply_type === '集中报建') {
334
+ this.startname = '申请登记'
335
+ if (this.$login.f.deps !== '市场部') {
336
+ this.$showMessage("只能由市场部受理")
337
+ return
338
+ }
339
+ }
340
+ if (this.f_apply_type === '散户报建') {
341
+ this.startname = '申请登记'
342
+ if (this.$login.f.deps !== '销售客服部') {
343
+ this.$showMessage("只能由销售客服部受理")
344
+ return
345
+ }
346
+ }
347
+ if (this.f_apply_type === '非民用报建') {
348
+ this.startname = '申请登记'
349
+ if (this.$login.f.deps !== '市场部') {
350
+ this.$showMessage("只能由市场部受理")
351
+ return
352
+ }
353
+ }
354
+
355
+ let val = {
356
+ f_apply_type: this.f_apply_type,
357
+ defname: this.startname
358
+ }
359
+ // 调用ExplorationUser事件
360
+ this.$dispatch('apply', val)
361
+
362
+ this.show = false
363
+ this.f_apply_type = null
364
+ },
365
+ async getAreaAll () {
366
+ let http = new HttpResetClass()
367
+ let condition = "f_filialeid = " + this.$login.f.orgid
368
+ let res = await http.load('POST','rs/logic/apply_queryArea',{data:{condition:condition}}, {resolveMsg: null, rejectMsg: null})
369
+
370
+ this.area = res.data.queryArea.map(item => {
371
+ return {
372
+ 'label': item.f_residential_area,
373
+ 'value': item.f_residential_area,
374
+ }
375
+ })
376
+ },
377
+ // ExplorationUser 关闭组件
378
+ close() {
379
+ this.$dispatch('close')
380
+ },
381
+ // 点击操作
382
+ click(val) {
383
+ this.criteriaShow = false
384
+ this.$dispatch('apply', val)
385
+ }
386
+ },
387
+ computed: {
388
+ completionApplytype() {
389
+ return [{label:"全部",value:''},...this.applytype]
390
+ }
391
+ },
392
+ watch: {
393
+ deep: true,
394
+ immediate: true,
395
+ f_apply_type: function() {
396
+ if (this.f_apply_type === "" || this.f_apply_type === null || this.f_apply_type === undefined){
397
+ this.applyButton_disabled = true
398
+ return
399
+ }
400
+ this.applyButton_disabled = false
401
+ }
402
+ }
403
+ }
404
+ </script>
405
+ <style scoped>
406
+ .operate{
407
+ text-align: right;
408
+ display: flex;
409
+ align-items: center; /*子元素中线居中*/
410
+ justify-content: flex-end; /*子元素靠右*/
411
+ margin-top: 7px;
412
+ }
413
+ .head-but{
414
+ margin-left: 5px;
415
+ height: 34px;
416
+ background-color: #6aa6e2;
417
+ border-radius: 4px;
418
+ font-family: PingFang;
419
+ color: #ffffff;
420
+ }
421
+ </style>