safecheck-client 3.0.34-92 → 3.0.34-94

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,1060 +1,1060 @@
1
- <style scoped>
2
- .bg {
3
- background-color: blue;
4
- height: 1px;
5
- border: 0;
6
- }
7
- .app-row {
8
- background-color: white;
9
- padding: 10px 10px 0 10px;
10
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
11
- }
12
- .search_input {
13
- border: 0;
14
- outline: none;
15
- }
16
- .font{
17
- font: 15px PingFang-SC-Medium;
18
- color: #666666;
19
- }
20
- .input-font{
21
- font: 15px PingFang-SC-Medium;
22
- color: #333333;
23
- }
24
- .btn-font{
25
- font:600 16px PingFang-SC-Bold;
26
- color: #499EDF;
27
- }
28
- .btn-color{
29
- background-color: #FFFFFF;
30
- border-radius: 10px ;
31
- border: 1px solid #499EDF;
32
- }
33
- .app-text {
34
- font-size: 12px;
35
- }
36
- .panel-self{
37
- border-radius: 10px;
38
- border:1px solid #499EDF;
39
- background-color: #F8F8F8;
40
- }
41
- .yybtn-color{
42
- background-color:#499edf;
43
- border-radius: 4px ;
44
- border: 1px solid #499EDF;
45
- color: #FFFFFF;
46
- font: 14px PingFang-SC-Bold;
47
- }
48
- .qxbtn-color{
49
- background-color: #FFFFFF;
50
- border-radius: 4px ;
51
- color: #499edf;
52
- font: 14px PingFang-SC-Bold;
53
- border: 1px solid #499EDF;
54
- }
55
-
56
- .button_shrink_top {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_top.png")}
57
- .button_shrink_bottom {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_bottom.png")}
58
- .button_shrink_left {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_left.png")}
59
- .button_shrink_right {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_right.png")}
60
- </style>
61
- <style>
62
- .clear-select-with .dropdown-menu{
63
- left: 0px !important;
64
- width: 200% !important;
65
- }
66
- </style>
67
- <template>
68
- <div style="height: auto;width: 100%">
69
- <criteria-paged :model="model" v-ref:paged>
70
- <criteria partial='criteria' @condition-changed='search' v-ref:cri>
71
- <div partial>
72
- <form>
73
- <div class="row app-row">
74
- <!--小区名称-->
75
- <v-select :value.sync="model.f_residential_area"
76
- class="input-font clear-select-with"
77
- :options='$parent.$parent.residentialAreaOptions'
78
- placeholder='小区名称'
79
- :width="'32.5%'"
80
- v-model="model.f_residential_area"
81
- condition="ti.f_residential_area = '{}'"
82
- @change="$parent.$parent.getbuilds"
83
- close-on-select clear-button>
84
- </v-select>
85
- <!--楼栋-->
86
- <v-select :value.sync="model.f_building"
87
- class="input-font"
88
- :options='$parent.$parent.buildOptions'
89
- placeholder='楼栋'
90
- :width="'32.5%'"
91
- v-model="model.f_building"
92
- condition="ti.f_building = '{}'"
93
- @change="$parent.$parent.getUnits"
94
- close-on-select clear-button>
95
- </v-select>
96
- <!--单元-->
97
- <v-select :value.sync="model.f_unit"
98
- class="input-font"
99
- :options='$parent.$parent.unitOptions'
100
- placeholder='单元'
101
- :width="'32.5%'"
102
- v-model="model.f_unit"
103
- condition="ti.f_unit = '{}'"
104
- close-on-select clear-button>
105
- </v-select>
106
- </div>
107
- <div class="row app-row">
108
- <div class="col-xs-4">
109
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
110
- <label for="f_userinfo_code" class="font text-left">旧用户编号:</label>
111
- </div>
112
- <div class="col-xs-8" >
113
- <input id="f_userinfo_code" class="search_input input-font"
114
- v-model=model.f_userinfo_code condition="f_olduserinfo_code like '%{}%'" />
115
- </div>
116
- </div>
117
- <div class="row app-row">
118
- <div class="col-xs-4">
119
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
120
- <label for="f_userinfo_code" class="font text-left">用户编号:</label>
121
- </div>
122
- <div class="col-xs-8" >
123
- <input id="f_userinfo_code" class="search_input input-font"
124
- v-model=model.f_userinfo_code condition="f_userinfo_code like '%{}%'" />
125
- </div>
126
- </div>
127
- <div class="row app-row">
128
- <div class="col-xs-4">
129
- <img src="../../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
130
- <label class="font text-left">用户姓名:</label>
131
- </div>
132
- <div class="col-xs-8" >
133
- <input class="search_input input-font" v-model=model.f_user_name condition="f_user_name like '%{}%'" />
134
- </div>
135
- </div>
136
-
137
- <div class="row app-row">
138
- <div class="col-xs-4">
139
- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
140
- <label class="font text-left">用户证号:</label>
141
- </div>
142
- <div class="col-xs-8" >
143
- <input class="search_input input-font" v-model=model.f_enter_number condition="f_enter_number like '%{}%'" />
144
- </div>
145
- </div>
146
-
147
- <div class="row app-row" v-if="$parent.$parent.criteriaShow && !$parent.$parent.planName">
148
- <div class="col-xs-4">
149
- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
150
- <label for="f_plan_name" class="font text-left">计划名称:</label>
151
- </div>
152
- <v-select
153
- id="f_plan_name"
154
- :value.sync="model.f_plan_name"
155
- class="input-font"
156
- :options='$parent.$parent.planNameOptions'
157
- placeholder='计划名称'
158
- :width="'60%'"
159
- v-model="model.f_plan_name"
160
- condition="f_plan_name like '%{}%'"
161
- close-on-select clear-button>
162
- </v-select>
163
- </div>
164
-
165
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
166
- <div class="col-xs-4">
167
- <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
168
- <label for="f_state" class="font text-left">是否已检:</label>
169
- </div>
170
- <v-select id="f_state"
171
- :value.sync="model.f_state"
172
- class="input-font"
173
- :options='$parent.$parent.check_states'
174
- placeholder='是否已检'
175
- :width="'60%'"
176
- v-model="model.f_state"
177
- condition="f_state='{}'"
178
- close-on-select clear-button>
179
- </v-select>
180
- </div>
181
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
182
- <div class="col-xs-4">
183
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
184
- <label class="font text-left">表&emsp;&emsp;号:</label>
185
- </div>
186
- <div class="col-xs-5" >
187
- <input class="search_input input-font"
188
- v-model=model.f_meter_no condition="f_meter_no like '%{}%'" />
189
- </div>
190
- <div class="col-xs-3">
191
- <button type="button" class="btn btn-lg btn-font btn-color" @click="$parent.$parent.scan()">扫码</button>
192
- </div>
193
- </div>
194
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
195
- <div class="col-xs-4">
196
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
197
- <label class="font text-left">客户电话:</label>
198
- </div>
199
- <div class="col-xs-8" >
200
- <input class="search_input input-font"
201
- v-model=model.f_user_phone condition="f_user_phone like '%{}%'" />
202
- </div>
203
- </div>
204
-
205
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
206
- <div class="col-xs-4">
207
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
208
- <label class="font text-left">用户地址:</label>
209
- </div>
210
- <div class="col-xs-8" >
211
- <input class="search_input input-font"
212
- v-model=model.f_keyword condition="f_address like '%{}%'" />
213
- </div>
214
- </div>
215
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
216
- <div class="col-xs-4">
217
- <img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
218
- <label for="f_user_type" class="font text-left">用户类型:</label>
219
- </div>
220
- <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
221
- :width="'60%'"
222
- :options='$parent.$parent.user_types' placeholder='请选择用户类型'
223
- v-model="model.f_user_type" condition="f_user_type='{}'" close-on-select clear-button></v-select>
224
- </div>
225
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
226
- <div class="col-xs-6">
227
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
228
- <label class="font text-left">到访不遇:</label>
229
- </div>
230
- <div class="col-xs-8" >
231
- <input class="search_input input-font" type="number"
232
- v-model=model.f_check_version condition="f_check_version <= '{}'" />
233
- </div>
234
- </div>
235
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
236
- <div class="col-xs-6" style="text-align: center">
237
- <span class="font text-left">待办{{$parent.$parent.upcomingCount}}条</span>
238
- </div>
239
- <div class="col-xs-6" style="text-align: center">
240
- <span class="font text-left">已办{{$parent.$parent.doneCount}}条</span>
241
- </div>
242
- <div class="col-xs-6" style="text-align: center">
243
- <span class="font text-left">临时保存{{$parent.$parent.tempSaveCount}}条</span>
244
- </div>
245
- <div class="col-xs-6" style="text-align: center">
246
- <span class="font text-left">总共{{$parent.$parent.allPlanCount}}条</span>
247
- </div>
248
- </div>
249
-
250
- <div class="row text-center" style="margin-top: 20px;">
251
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;" @click="$parent.$parent.selfSearch">查询</button>
252
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%; margin-left: 10px" @click="$parent.$parent.queryplanmany">转发</button>
253
- <div style="float: right;margin-right: 3% " class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
254
- <img v-if="!$parent.$parent.planName" style="float: right;margin-right: 3% " @click="$parent.$parent.getNewOrder" src="../../../assets/shuaxindaiban1.png" style="width: 40px;padding: 5px; float:right">
255
- </div>
256
- <div class="col-sm-12">
257
-
258
- </div>
259
- <!--<div class="row app-btn">-->
260
- <!--<button class="btn btn-primary col-xs-6" type="button" @click="search"><span class="glyphicon glyphicon-search" style="margin-right: 20px;">查询</span></button>-->
261
- <!--</div>-->
262
- <div style="height:30px;"></div>
263
- </form>
264
- </div>
265
- </criteria>
266
- <list :model="model" partial='list'>
267
- <div partial>
268
- <div class="auto app-text" style="margin-top: 5px;">
269
- <div class="panel" style="padding: 10px 10px 5px 10px;">
270
- <div class="panel-body panel-self">
271
-
272
- <div class="col-xs-12">
273
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
274
- <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{ row.f_userinfo_code }}</p>
275
- <p class="panel-title col-xs-2 text-left input-font" style="width: 5%;float:right">
276
- <input type="checkbox" @click="$parent.$parent.$parent.setPlanParam(row.id, $event)"/>
277
- </p>
278
- </div>
279
- <div class="col-xs-12">
280
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
281
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_user_name }}</p>
282
- </div>
283
- <div class="col-xs-6">
284
- <p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
285
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
286
- </p>
287
- </div>
288
- <div class="col-xs-6">
289
- <p class="panel-title col-xs-5 text-left font"><b>计划名称:</b></p>
290
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
291
- </div>
292
- <!-- <div class="col-xs-6">-->
293
- <!-- <p class="panel-title col-xs-5 text-left font"><b>小区名称:</b></p>-->
294
- <!-- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_residential_area }}</p>-->
295
- <!-- </div>-->
296
- <div class="col-xs-12">
297
- <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
298
- <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone }}
299
- <img src="../../../assets/phone.png" style="width: 6%"
300
- v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone)'/>
301
- </p>
302
- </div>
303
- <div class="col-xs-12">
304
- <p class="panel-title text-left font" style="width: 23%;float: left"><b>备用电话:</b></p>
305
- <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_rent_phone}}
306
- <img v-if="row.f_rent_phone" src="../../../assets/phone.png" style="width: 6%"
307
- v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_rent_phone)'/>
308
- </p>
309
- </div>
310
- <div class="col-xs-12">
311
- <p class="panel-title text-left font" style="width: 23%;float: left"><b>租户电话:</b></p>
312
- <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_zuhu_phone }}
313
- <img v-if="row.f_zuhu_phone" src="../../../assets/phone.png" style="width: 6%"
314
- v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_zuhu_phone)'/>
315
- </p>
316
- </div>
317
-
318
- <div class="col-xs-12">
319
- <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
320
- <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
321
- </div>
322
-
323
- <!-- <div class="row">-->
324
- <!-- <p class="panel-title col-xs-4 text-left font">计划年份</p>-->
325
- <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_year }}</p>-->
326
- <!-- </div>-->
327
- <!-- <div class="row">-->
328
- <!-- <p class="panel-title col-xs-4 text-left font">计划月份</p>-->
329
- <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_month }}</p>-->
330
- <!-- </div>-->
331
- <!-- <div class="row">-->
332
- <!-- <p class="panel-title col-xs-4 text-left font">预约时间</p>-->
333
- <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_prearranged_date }}</p>-->
334
- <!-- </div>-->
335
- <!--<div class="row">-->
336
- <!--<p class="panel-title col-xs-4 text-left font">上次安检状态</p>-->
337
- <!--<p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_state }}</p>-->
338
- <!--</div>-->
339
- <div class="col-xs-6">
340
- <p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
341
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_state == '已检'?'临时保存':row.f_state }}</p>
342
- </div>
343
- <div class="col-xs-6">
344
- <p class="panel-title col-xs-5 text-left font"><b>上传状态:</b></p>
345
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
346
- </div>
347
- <div class="col-xs-12" v-if="row.f_prearranged_date !=null">
348
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>预约时间:</b></p>
349
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_prearranged_date }}</p>
350
- </div>
351
- <div class="col-xs-6">
352
- <p class="panel-title col-xs-5 text-left font"><b>安检类型:</b></p>
353
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_safecheck_type }}</p>
354
- </div>
355
- <div class="col-xs-12">
356
- <p class="panel-title col-xs-5 text-left font"><b>到访不遇次数:</b></p>
357
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_check_version }}</p>
358
- </div>
359
- <!--<div class="col-xs-12">-->
360
- <!--<p class="panel-title col-xs-5 text-left font"><b>送气期限:</b></p>-->
361
- <!--<p class="panel-title col-xs-7 text-left input-font">{{timeSet(row.f_issue_time)}}</p>-->
362
- <!--</div>-->
363
- <div class="col-xs-12">
364
- <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right" @click="$parent.$parent.$parent.inspect(row)">处理</button>
365
- <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right;margin-right:10px;" @click="$parent.$parent.$parent.queryplan(row.id)">转发</button>
366
- <!--<button type="button" class="btn btn-default" @click="$parent.$parent.$parent.ceshi">确认2</button>-->
367
- </div>
368
- <!-- <div class="row text-right" v-show="row.f_upload_state != '已传'" >-->
369
- <!-- <button type="button" class="btn yybtn-color" v-on:click.stop.prevent='$parent.$parent.$parent.reserve($index)'>预约</button>&nbsp;-->
370
- <!-- <button type="button" class="btn qxbtn-color" v-if ='row.f_prearranged_date'-->
371
- <!-- v-on:click.stop.prevent='$parent.$parent.$parent.cancelReserve($index, row.id)'>取消预约</button>-->
372
- <!-- </div>-->
373
- </div>
374
- </div>
375
- </div>
376
- </div>
377
- </list>
378
- </criteria-paged>
379
- <modal :show.sync="showModal">
380
- <div slot="modal-header" class="modal-header">
381
- <h4 class="modal-title">
382
- 选择预约时间
383
- </h4>
384
- </div>
385
- <div slot="modal-body" class="modal-body">
386
- <input type="datetime-local" v-model="f_preset_dt">
387
- </div>
388
- <div slot="modal-footer" class="modal-footer">
389
- <button type="button" class="btn btn-default" @click="genuineReserve">确认</button>
390
- </div>
391
- </modal>
392
- <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
393
- <modal :show.sync="showModal2" v-ref:modal>
394
- <div slot="modal-header" class="modal-header">
395
- <h4 class="modal-title">
396
- 选择计划
397
- </h4>
398
- </div>
399
- <div slot="modal-body" class="modal-body">
400
- <div class="col-xs-12">
401
-
402
- <div class="col-xs-4">
403
- <v-select :value.sync="check" v-model='check'
404
- :value-single="true"
405
- class="select_list select"
406
- :options='checkers' placeholder='安检员'
407
- close-on-select width="100%"></v-select>
408
- </div>
409
-
410
- <div class="col-xs-1">
411
- <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
412
- </div>
413
- <div class="col-xs-4" style="padding-left: 2px">
414
- <input class="select-style" placeholder="计划名称" type="text" v-model="plan" style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
415
- </div>
416
- <div class="col-xs-1" >
417
- <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
418
- </div>
419
- <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
420
- <div class="col-xs-2" style="float: right">
421
- <button type="button" class="btn btn-primary" @click="plansearch" style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">查询</button>
422
- </div>
423
- </div>
424
- <table class="table table_sy">
425
- <thead>
426
- <tr>
427
- <th style="width: 30px"></th>
428
- <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
429
- </tr>
430
- </thead>
431
- <tbody>
432
- <tr v-for="row in planoption">
433
- <td @click="select(row, $index)" >{{row.selected==true ? '☆' : '&nbsp;&nbsp;&nbsp;&nbsp;'}}</td>
434
- <td @click="select(row, $index)" style="text-align: center">{{row.label}}</td>
435
-
436
-
437
- </tr>
438
- </tbody>
439
- </table>
440
- </div>
441
- <div slot="modal-footer" class="modal-footer">
442
- <button class="btn btn-default" @click="isok()">确认</button>
443
- <button class="btn btn-default" @click="iscancel()">取消</button>
444
- </div>
445
- </modal>
446
- <modal :show.sync="showModal3" v-ref:modal>
447
- <div slot="modal-header" class="modal-header">
448
- <h4 class="modal-title">
449
- 选择计划
450
- </h4>
451
- </div>
452
- <div slot="modal-body" class="modal-body">
453
- <div class="col-xs-12">
454
-
455
- <div class="col-xs-4">
456
- <v-select :value.sync="check" v-model='check'
457
- :value-single="true"
458
- class="select_list select"
459
- :options='checkers' placeholder='安检员'
460
- close-on-select width="100%"></v-select>
461
- </div>
462
-
463
- <div class="col-xs-1">
464
- <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
465
- </div>
466
- <div class="col-xs-4" style="padding-left: 2px">
467
- <input class="select-style" placeholder="计划名称" type="text" v-model="plan" style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
468
- </div>
469
- <div class="col-xs-1" >
470
- <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
471
- </div>
472
- <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
473
- <div class="col-xs-2" style="float: right">
474
- <button type="button" class="btn btn-primary" @click="plansearch" style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">查询</button>
475
- </div>
476
- </div>
477
- <table class="table table_sy">
478
- <thead>
479
- <tr>
480
- <th style="width: 30px"></th>
481
- <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
482
- </tr>
483
- </thead>
484
- <tbody>
485
- <tr v-for="row in planoption">
486
- <td @click="select(row, $index)" >{{row.selected==true ? '☆' : '&nbsp;&nbsp;&nbsp;&nbsp;'}}</td>
487
- <td @click="select(row, $index)" style="text-align: center">{{row.label}}</td>
488
-
489
-
490
- </tr>
491
- </tbody>
492
- </table>
493
- </div>
494
- <div slot="modal-footer" class="modal-footer">
495
- <button class="btn btn-default" @click="manyisok()">确认</button>
496
- <button class="btn btn-default" @click="iscancel()">取消</button>
497
- </div>
498
- </modal>
499
- </div>
500
-
501
- </template>
502
-
503
- <script>
504
- import LocalPagedList from '../../../plugins/LocalPagedList'
505
- import Vue from 'vue'
506
- import { PagedList,HttpResetClass } from 'vue-client'
507
- import * as Util from '../../Util'
508
- import co from 'co'
509
- let select = function * (self) {
510
- let http = new HttpResetClass()
511
- http.load('POST', `${self.$androidUtil.getProxyUrl()}/rs/search`, {
512
- source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
513
- userid: Vue.user.id
514
- }, {resolveMsg: null, rejectMsg: null}).then((res) => {
515
- //tag
516
- self.checkers.push({label:'全部',value:''})
517
- res.data.forEach((checker)=>{
518
- self.checkers.push({label:checker.name,value:checker.id})
519
- })
520
- })
521
- }
522
- export default {
523
- title: '无计划安检查询',
524
- props: ['planName'],
525
- data() {
526
- return {
527
- f_filialeids:'('+Vue.user.orgid+')',
528
- //f_filialeids:'(305)',
529
- planparam:[],
530
- check:'',
531
- plan:'',
532
- planid:'',
533
- model:Vue.android? new LocalPagedList('androidGetuserinfo',20,{condition:'this.condition'}): new PagedList( 'AndroidRest/rs/sql/androidGetuserinfo',20,{condition:'this.condition'}),
534
- showModal: false,
535
- showModal2:false,
536
- showModal3:false,
537
- needid:'',
538
- criteriaShow: false,
539
- planoption:[],
540
- condition:'',
541
- checkers:[],
542
- param: null,
543
- f_preset_dt : Util.to3339TimeString(),
544
- flow_direction:[
545
- {label: '请选择挂表方式', value: ''},
546
- {label: '左表', value: '左表'},
547
- {label: '右表', value: '右表'}
548
- ],
549
- check_states: [
550
- {label: '请选择安检状态', value: ''},
551
- {label: '未检', value: '未检'},
552
- {label: '临时保存', value: '已检'},
553
- ],
554
- last_check_states: [
555
- {label: '请选择上次安检状态', value: ''},
556
- {label: '入户', value: '入户'},
557
- {label: '拒检', value: '拒检'},
558
- {label: '到访不遇', value: '到访不遇'},
559
- {label: '未使用天然气', value: '未使用天然气'}
560
- ],
561
- upload_states: [
562
- {label: '请选择上传状态', value: ''},
563
- {label: '未传', value: '未传'},
564
- {label: '已传', value: '已传'}
565
- ],
566
- user_types: [
567
- {label: '请选择用户类型', value: ''},
568
- {label: '民用', value: '民用'},
569
- {label: '非民用', value: '非民用'},
570
- ],
571
- verify_state: [
572
- {label: '请选择审核状态', value: ''},
573
- {label: '未审核', value: '未审核'},
574
- {label: '打回', value: '打回'}
575
- ],
576
- residentialAreaOptions: [],
577
- buildOptions: [],
578
- unitOptions: [],
579
- planNameOptions: [],
580
- upcomingCount: 0,
581
- doneCount: 0,
582
- tempSaveCount: 0,
583
- allPlanCount: 0
584
- }
585
- },
586
- ready(){
587
- this.getAllArea()
588
- this.getAllPlanName()
589
- this.selfSearch()
590
- let gen = select(this)
591
- co(gen)
592
- },
593
- mounted(){
594
- //tag
595
- if (window.history && window.history.pushState) {
596
- history.pushState(null, null, document.URL);
597
- window.addEventListener('popstate', this.fun, false);//false阻止默认事件
598
- }
599
- },
600
- destroyed(){
601
- //tag
602
- window.removeEventListener('popstate', this.fun, false);//false阻止默认事件
603
- },
604
- methods: {
605
- scan(){
606
- HostApp.__this__=this,
607
- HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
608
- },
609
- getCode(){
610
- const datapa = HostApp.getCode().data;
611
- //tag
612
- this.$refs.paged.$refs.cri.model.f_meter_no = datapa
613
-
614
- },
615
- fun () {
616
- //tag
617
- //tag
618
- },
619
- iscancel(){
620
- this.showModal2=false
621
- this.showModal3=false
622
- this.planoption=[]
623
- },
624
- timeSet(val){
625
- return val
626
- },
627
- async isok(){
628
- if(this.planoption.length==0){
629
- this.$showMessage("请选择计划")
630
- return false
631
- }
632
- for (let i = 0; i <this.planoption.length ; i++) {
633
- if (this.planoption[i]["selected"]==true){
634
- this.planid=this.planoption[i].value
635
- break
636
- }
637
- }
638
- if(this.planid==''){
639
- this.$showMessage("请选择计划")
640
- return false
641
- }
642
- await this.okput()
643
- },
644
- async manyisok(){
645
- if(this.planoption.length==0){
646
- this.$showMessage("请选择计划")
647
- return false
648
- }
649
- for (let i = 0; i <this.planoption.length ; i++) {
650
- if (this.planoption[i]["selected"]==true){
651
- this.planid=this.planoption[i].value
652
- break
653
- }
654
- }
655
- if(this.planid==''){
656
- this.$showMessage("请选择计划")
657
- return false
658
- }
659
- await this.manyokput()
660
- },
661
- changenull(){
662
- this.showModal2=false
663
- this.showModal3=false
664
- this.planoption=[]
665
- this.plan=''
666
- this.check=''
667
- },
668
- async okput(){
669
- let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/UpCheckPlanItem`, {data:{
670
- condition:`i.id='`+this.needid+`'`,
671
- f_plan_id:this.planid,
672
- switchCheckAll:false,
673
- checkAll:false,
674
- f_operator:Vue.user.name
675
- }
676
- })
677
- this.$showMessage("上传成功,请等待审核")
678
- await this.changenull()
679
- await this.getNewOrder()
680
- },
681
- async manyokput(){
682
- let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/UpCheckPlanItem`, {data:{
683
- columnName:"i.id",
684
- condition:"1=1",
685
- f_plan_id:this.planid,
686
- switchCheckAll:true,
687
- param:this.planparam,
688
- checkAll:false,
689
- f_operator:Vue.user.name
690
- }
691
- })
692
- await this.changenull()
693
- await this.getNewOrder()
694
- },
695
- async plansearch(){
696
- this.planoption=[]
697
- let condition= ` f_plan_year=${new Date().getFullYear()}`
698
- if(this.check){
699
- condition += ` and f_checker_id= '${this.check}'`
700
- }
701
- if(this.plan){
702
- condition += ` and f_plan_name like '%${this.plan}%'`
703
- }
704
- let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/预约计划下发`, {data:{
705
- condition:condition,
706
- f_filialeids:this.f_filialeids,
707
- groupitem:'',
708
- orderitem:'id'
709
- }})
710
- let resoult=res.data
711
- for (let i = 0; i < resoult.length; i++) {
712
- this.planoption.push({label: resoult[i].f_plan_name,selected:false, value: resoult[i].id})
713
- }
714
- },
715
-
716
- select(row, idx) {
717
- this.$set('planoption[' + idx + '].selected', true)
718
- for (let i = 0; i <this.planoption.length ; i++) {
719
- if (i!=idx){
720
- this.planoption[i]["selected"]=false
721
- }
722
- }
723
- },
724
- planclose(){
725
- this.showModal2=false
726
- this.showModal3=false
727
- },
728
- queryplan(val){
729
- this.needid=val
730
- this.showModal2 = true
731
- },
732
- queryplanmany(){
733
-
734
- this.showModal3 = true
735
- },
736
- reload(){
737
- // this.getAllArea()
738
- // this.getAllPlanName()
739
- this.selfSearch()
740
- },
741
- cancelReserve (idx, id) {
742
- if(Vue.android){
743
- let res = this.$androidUtil.bzLogic('BookingCheck', {dt: '', id: id})
744
- this.$set('model.rows[' + idx + '].f_prearranged_date', null)
745
- if (res.code == 200) {
746
- this.$showMessage("取消预约成功")
747
- }
748
- }else {
749
- this.$androidUtil.bzLogic('PCbookingCheck', {dt: '', id: id}).then((repanse) => {
750
- this.$set('model.rows[' + idx + '].f_prearranged_date', null)
751
- if (repanse.data.code == 200) {
752
- alert("取消预约成功!")
753
- }
754
- })
755
- }},
756
- genuineReserve () {
757
- if(Vue.android){
758
- if (!this.f_preset_dt) {
759
- this.$showMessage('请选择一个日期')
760
- return
761
- }
762
- let pdt = this.f_preset_dt.replace('T', ' ')
763
- let respanse = this.$androidUtil.bzLogic('BookingCheck', {id: this.model.rows[this.param].id, dt: pdt})
764
- this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
765
- if(respanse.code == 200) {
766
- this.$showMessage("预约成功!")
767
- }
768
- this.showModal = false
769
- }else {
770
- if (!this.f_preset_dt) {
771
- alert('请选择一个日期')
772
- return
773
- }
774
- let pdt = this.f_preset_dt.replace('T', ' ')
775
- this.$androidUtil.bzLogic('PCbookingCheck', {id: this.model.rows[this.param].id, dt: pdt}).then((res) => {
776
- this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
777
- if(res.data.code == 200) {
778
- alert("预约成功!")
779
- }
780
- this.showModal = false
781
- })
782
- }
783
- },
784
- inspect(row) {
785
- var _this = this
786
- let http = new HttpResetClass()
787
- http.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: {
788
- items: 'id',
789
- tablename: 't_check_plan_item',
790
- condition: `id = '${row.id}'`,
791
- orderitem: ' id '
792
- }}, {resolveMsg: null, rejectMsg: null}).then((getcheckplan) => {
793
- console.log('getcheckplan=', JSON.stringify(getcheckplan))
794
- this.getcheckplandata = getcheckplan.data[0]
795
- if(this.getcheckplandata){
796
- if (row.f_upload_state == '未传' || (row.f_upload_state == '已传' && row.f_state == '未检' && row.f_no_checkplan != '无计划安检' ) ) {
797
- _this.$resetpost(`${_this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`, {data: {f_userid: row.f_userinfoid}},{resolveMsg: null,rejectMsg: null}).then((response) => {
798
- row['f_plan_meters'] = response.data
799
- var pardate = {
800
- _this:_this,
801
- title:'安全检查',
802
- safe:true
803
- }
804
- _this.$dispatch('gotoson',pardate)
805
- //tag
806
- _this.$goto('safecheck-order-v', {f_plan_id: row.f_plan_id, item: row, role: 'inspect',parentPage:'CurrentCreate'}, 'self', _this.reload)
807
- }).catch ((msg)=>{
808
- this.$showMessage("网络异常,请检查网络后再试!")
809
- })
810
- }else{
811
- this.$showMessage("该安检单已被上传!")
812
- }
813
- }else {
814
- this.$showMessage("该用户安检单已被移除,请联系管理员确认!")
815
- }
816
- })
817
- },
818
- makeAPhoneCall(phoneNumber) {
819
- this.$androidUtil.makeAPhoneCall(phoneNumber)
820
- },
821
- reserve (idx) {
822
- this.param = idx
823
- this.showModal = true
824
- },
825
- search(args) {
826
- this.model.rows = []
827
- this.model.search(args.condition, args.model)
828
- },
829
- selfSearch () {
830
- this.getPlanCount()
831
- let condition = ""
832
- if (Array.isArray(this.$refs.paged.$refs.cri.model.f_residential_area) && this.$refs.paged.$refs.cri.model.f_residential_area.length >0){
833
- condition += " and ti.f_residential_area = '"+this.$refs.paged.$refs.cri.model.f_residential_area[0]+"'"
834
- }else if(this.$refs.paged.$refs.cri.model.f_residential_area instanceof String && this.$refs.paged.$refs.cri.model.f_residential_area){
835
- condition += " and ti.f_residential_area = '"+this.$refs.paged.$refs.cri.model.f_residential_area+"'"
836
- }
837
- if(this.$refs.paged.$refs.cri.model.f_building)
838
- condition += ` and ti.f_building = '${this.$refs.paged.$refs.cri.model.f_building}'`
839
- if(this.$refs.paged.$refs.cri.model.f_unit)
840
- condition += ` and ti.f_unit = '${this.$refs.paged.$refs.cri.model.f_unit}'`
841
- if (this.planName){
842
- condition += " and f_plan_name like '%"+this.planName +"%'"
843
- }else {
844
- if(this.$refs.paged.$refs.cri.model.f_plan_name)
845
- condition += " and f_plan_name like '%"+this.$refs.paged.$refs.cri.model.f_plan_name +"%'"
846
- }
847
- // if(this.$refs.paged.$refs.cri.model.f_plan_year)
848
- // condition += " and f_plan_year = '"+this.$refs.paged.$refs.cri.model.f_plan_year +"'"
849
- // if(this.$refs.paged.$refs.cri.model.f_plan_month)
850
- // condition += " and f_plan_month = '"+this.$refs.paged.$refs.cri.model.f_plan_month +"'"
851
- if(this.$refs.paged.$refs.cri.model.f_userinfo_code)
852
- condition += " and ti.f_userinfo_code like '%"+this.$refs.paged.$refs.cri.model.f_userinfo_code+"%'"
853
- if(this.$refs.paged.$refs.cri.model.f_keyword)
854
- condition += " and ti.f_address like '%"+this.$refs.paged.$refs.cri.model.f_keyword+"%'"
855
- if(this.$refs.paged.$refs.cri.model.f_user_name)
856
- condition += " and ti.f_user_name like '%"+this.$refs.paged.$refs.cri.model.f_user_name+"%'"
857
- if(this.$refs.paged.$refs.cri.model.f_state[0])
858
- condition += " and ti.f_state='"+this.$refs.paged.$refs.cri.model.f_state[0]+"'"
859
- // if(this.$refs.paged.$refs.cri.model.f_last_state[0])
860
- // condition += " and ti.f_last_check_state='"+this.$refs.paged.$refs.cri.model.f_last_state[0]+"'"
861
- if(this.$refs.paged.$refs.cri.model.f_user_type[0])
862
- condition += " and ti.f_user_type='"+this.$refs.paged.$refs.cri.model.f_user_type[0]+"'"
863
- if(this.$refs.paged.$refs.cri.model.f_meter_no)
864
- condition += " and tm.f_meter_no like '%"+this.$refs.paged.$refs.cri.model.f_meter_no+"%'"
865
- // if(this.$refs.paged.$refs.cri.model.f_flow_direction[0])
866
- // condition += " and tm.f_flow_direction = '"+this.$refs.paged.$refs.cri.model.f_flow_direction[0]+"'"
867
- if(this.$refs.paged.$refs.cri.model.f_user_phone){
868
- condition += `and ti.f_user_phone like '%${this.$refs.paged.$refs.cri.model.f_user_phone}%'`
869
- }
870
- if(this.$refs.paged.$refs.cri.model.f_enter_number)
871
- condition += " and ti.f_enter_number like '%"+this.$refs.paged.$refs.cri.model.f_enter_number+"%'"
872
- if(this.$refs.paged.$refs.cri.model.f_check_version)
873
- condition += " and ti.f_check_version <= "+this.$refs.paged.$refs.cri.model.f_check_version
874
- //tag
875
- this.model.search("((f_complete = '' or f_complete = null or f_complete = '未完成') or (f_state = '未检')) and ti.f_no_checkplan = '有计划安检'" + condition)
876
- },
877
- getNewOrder(){
878
- HostApp.__this__ = this
879
- HostApp.logicWithHint({
880
- // logic别名,key必须为logic
881
- 'logic': 'SafeCheckServiceTimeOut',
882
- // 回调执行方法名,key必须为callback
883
- 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
884
- // logic执行需要的业务参数
885
- 'data': {params: ''},
886
- // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
887
- // 执行回调方法传入key为backresult
888
- // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
889
- 'backresult': 1
890
- })
891
- HostApp.logicWithHint({
892
- // logic别名,key必须为logic
893
- 'logic': 'FreshPlanItem',
894
- // 回调执行方法名,key必须为callback
895
- 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
896
- // logic执行需要的业务参数
897
- 'data': {params: ''},
898
- // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
899
- // 执行回调方法传入key为backresult
900
- // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
901
- 'backresult': 1
902
- })
903
- },
904
- getNewOrderCallBack() {
905
- this.selfSearch()
906
- this.getAllArea()
907
- this.getAllPlanName()
908
- },
909
- hidden() {
910
- this.criteriaShow = !this.criteriaShow
911
- },
912
- getAllArea(){
913
- this.residentialAreaOptions = []
914
- this.buildOptions = []
915
- this.unitOptions = []
916
- this.$refs.paged.$refs.cri.model.f_residential_area = ''
917
- this.$refs.paged.$refs.cri.model.f_building = ''
918
- this.$refs.paged.$refs.cri.model.f_unit = ''
919
- let criteria = {
920
- items: 'f_residential_area',
921
- tablename: 't_check_plan_item',
922
- condition: `f_residential_area IS NOT NULL AND f_residential_area != '' AND f_state <> '已检'`,
923
- groupitem: 'f_residential_area'
924
- }
925
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
926
- //tag)
927
- if(result.code == 200){
928
- result.data.rows.forEach(item => this.residentialAreaOptions.push({label:item.f_residential_area,value:item.f_residential_area}))
929
- }
930
- //tag)
931
- },
932
- getbuilds(f_residential_area){
933
- //tag)
934
- this.buildOptions = []
935
- this.unitOptions = []
936
- this.$refs.paged.$refs.cri.model.f_building = ''
937
- this.$refs.paged.$refs.cri.model.f_unit = ''
938
- if(!f_residential_area){
939
- return
940
- }
941
- let criteria = {
942
- items: 'f_building',
943
- tablename: 't_check_plan_item',
944
- condition: `f_building IS NOT NULL AND f_building != '' AND f_state <> '已检' AND f_residential_area = '${f_residential_area}'`,
945
- groupitem: 'f_building order by f_building+0'
946
- }
947
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
948
- if(result.code == 200){
949
- result.data.rows.forEach(item => this.buildOptions.push({label:item.f_building,value:item.f_building}))
950
- }
951
- this.buildOptions.sort((a,b)=>{
952
- return Number(a.label)- Number(b.label)
953
- })
954
- //tag)
955
- },
956
- getUnits(f_building){
957
- f_building = f_building[0]
958
- //tag)
959
- this.unitOptions = []
960
- this.$refs.paged.$refs.cri.model.f_unit = ''
961
- if(!f_building){
962
- return
963
- }
964
- let criteria = {
965
- items: 'f_unit',
966
- tablename: 't_check_plan_item',
967
- condition: `f_unit IS NOT NULL AND f_unit != '' AND f_state <> '已检' AND f_residential_area = '${this.$refs.paged.$refs.cri.model.f_residential_area}' AND f_building = '${f_building}'`,
968
- groupitem: 'f_unit'
969
- }
970
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
971
- if(result.code == 200){
972
- result.data.rows.forEach(item => this.unitOptions.push({label:item.f_unit,value:item.f_unit}))
973
- }
974
- this.unitOptions.sort((a,b)=>{
975
- return Number(a.label)- Number(b.label)
976
- })
977
- },
978
- getPlanCount(){
979
- this.upcomingCount = 0
980
- this.tempSaveCount = 0
981
- this.doneCount = 0
982
- this.allPlanCount = 0
983
- let criteria = {
984
- items: 'count(id) count',
985
- tablename: 't_check_plan_item',
986
- condition: `f_state = '未检'`,
987
- groupitem: 'f_state'
988
- }
989
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
990
- if(result.code && result.code == 200){
991
- if(result.data.rows[0] && !isNaN(result.data.rows[0].count)) {
992
- this.upcomingCount = result.data.rows[0].count
993
- }
994
- }
995
- criteria = {
996
- items: 'count(id) count',
997
- tablename: 't_check_plan_item',
998
- condition: `(f_complete = '' or f_complete is null or f_complete = '未完成') AND f_state = '已检'`,
999
- groupitem: 'f_state'
1000
- }
1001
- result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1002
- if(result.code && result.code == 200){
1003
- if(result.data.rows[0] && !isNaN(result.data.rows[0].count)){
1004
- this.tempSaveCount = result.data.rows[0].count
1005
- }
1006
- }
1007
- criteria = {
1008
- items: 'count(id) count',
1009
- tablename: 't_check_plan_item',
1010
- condition: `f_complete = '已完成' AND f_state = '已检'`,
1011
- groupitem: 'f_state'
1012
- }
1013
- result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1014
- if(result.code && result.code == 200){
1015
- if(result.data.rows[0] && !isNaN(result.data.rows[0].count)){
1016
- this.doneCount = result.data.rows[0].count
1017
- }
1018
- }
1019
- this.allPlanCount = this.upcomingCount + this.tempSaveCount + this.doneCount
1020
-
1021
- //tag
1022
- //tag
1023
- //tag
1024
- //tag
1025
- },
1026
- getAllPlanName(){
1027
- this.planNameOptions = []
1028
- this.$refs.paged.$refs.cri.model.f_plan_name = ''
1029
- let criteria = {
1030
- items: 'f_plan_name',
1031
- tablename: 't_check_plan',
1032
- condition: `f_plan_name IS NOT NULL AND f_plan_name != ''`,
1033
- groupitem: 'f_plan_name'
1034
- }
1035
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1036
- //tag)
1037
- if(result.code == 200){
1038
- result.data.rows.forEach(item => this.planNameOptions.push({label:item.f_plan_name,value:item.f_plan_name}))
1039
- }
1040
- //tag)
1041
- },
1042
- setPlanParam(detailsType, event) {
1043
- if (event.srcElement.checked) {
1044
- this.planparam.push(detailsType)
1045
- //tag
1046
- } else {
1047
- if(this.planparam.length>0){
1048
- let planid= this.planparam.findIndex((value) => {
1049
- return value === detailsType
1050
- })
1051
- this.planparam.splice(planid, 1)
1052
- //tag
1053
-
1054
- }
1055
-
1056
- }
1057
- }
1058
- }
1059
- }
1060
- </script>
1
+ <style scoped>
2
+ .bg {
3
+ background-color: blue;
4
+ height: 1px;
5
+ border: 0;
6
+ }
7
+ .app-row {
8
+ background-color: white;
9
+ padding: 10px 10px 0 10px;
10
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
11
+ }
12
+ .search_input {
13
+ border: 0;
14
+ outline: none;
15
+ }
16
+ .font{
17
+ font: 15px PingFang-SC-Medium;
18
+ color: #666666;
19
+ }
20
+ .input-font{
21
+ font: 15px PingFang-SC-Medium;
22
+ color: #333333;
23
+ }
24
+ .btn-font{
25
+ font:600 16px PingFang-SC-Bold;
26
+ color: #499EDF;
27
+ }
28
+ .btn-color{
29
+ background-color: #FFFFFF;
30
+ border-radius: 10px ;
31
+ border: 1px solid #499EDF;
32
+ }
33
+ .app-text {
34
+ font-size: 12px;
35
+ }
36
+ .panel-self{
37
+ border-radius: 10px;
38
+ border:1px solid #499EDF;
39
+ background-color: #F8F8F8;
40
+ }
41
+ .yybtn-color{
42
+ background-color:#499edf;
43
+ border-radius: 4px ;
44
+ border: 1px solid #499EDF;
45
+ color: #FFFFFF;
46
+ font: 14px PingFang-SC-Bold;
47
+ }
48
+ .qxbtn-color{
49
+ background-color: #FFFFFF;
50
+ border-radius: 4px ;
51
+ color: #499edf;
52
+ font: 14px PingFang-SC-Bold;
53
+ border: 1px solid #499EDF;
54
+ }
55
+
56
+ .button_shrink_top {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_top.png")}
57
+ .button_shrink_bottom {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_bottom.png")}
58
+ .button_shrink_left {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_left.png")}
59
+ .button_shrink_right {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_right.png")}
60
+ </style>
61
+ <style>
62
+ .clear-select-with .dropdown-menu{
63
+ left: 0px !important;
64
+ width: 200% !important;
65
+ }
66
+ </style>
67
+ <template>
68
+ <div style="height: auto;width: 100%">
69
+ <criteria-paged :model="model" v-ref:paged>
70
+ <criteria partial='criteria' @condition-changed='search' v-ref:cri>
71
+ <div partial>
72
+ <form>
73
+ <div class="row app-row">
74
+ <!--小区名称-->
75
+ <v-select :value.sync="model.f_residential_area"
76
+ class="input-font clear-select-with"
77
+ :options='$parent.$parent.residentialAreaOptions'
78
+ placeholder='小区名称'
79
+ :width="'32.5%'"
80
+ v-model="model.f_residential_area"
81
+ condition="ti.f_residential_area = '{}'"
82
+ @change="$parent.$parent.getbuilds"
83
+ close-on-select clear-button>
84
+ </v-select>
85
+ <!--楼栋-->
86
+ <v-select :value.sync="model.f_building"
87
+ class="input-font"
88
+ :options='$parent.$parent.buildOptions'
89
+ placeholder='楼栋'
90
+ :width="'32.5%'"
91
+ v-model="model.f_building"
92
+ condition="ti.f_building = '{}'"
93
+ @change="$parent.$parent.getUnits"
94
+ close-on-select clear-button>
95
+ </v-select>
96
+ <!--单元-->
97
+ <v-select :value.sync="model.f_unit"
98
+ class="input-font"
99
+ :options='$parent.$parent.unitOptions'
100
+ placeholder='单元'
101
+ :width="'32.5%'"
102
+ v-model="model.f_unit"
103
+ condition="ti.f_unit = '{}'"
104
+ close-on-select clear-button>
105
+ </v-select>
106
+ </div>
107
+ <div class="row app-row">
108
+ <div class="col-xs-4">
109
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
110
+ <label for="f_userinfo_code" style="padding: 0" class="font text-left">旧用户编号:</label>
111
+ </div>
112
+ <div class="col-xs-8" >
113
+ <input id="f_userinfo_code" class="search_input input-font"
114
+ v-model=model.f_olduserinfo_code condition="f_olduserinfo_code like '%{}%'" />
115
+ </div>
116
+ </div>
117
+ <div class="row app-row">
118
+ <div class="col-xs-4">
119
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
120
+ <label for="f_userinfo_code" class="font text-left">用户编号:</label>
121
+ </div>
122
+ <div class="col-xs-8" >
123
+ <input id="f_userinfo_code" class="search_input input-font"
124
+ v-model=model.f_userinfo_code condition="f_userinfo_code like '%{}%'" />
125
+ </div>
126
+ </div>
127
+ <div class="row app-row">
128
+ <div class="col-xs-4">
129
+ <img src="../../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
130
+ <label class="font text-left">用户姓名:</label>
131
+ </div>
132
+ <div class="col-xs-8" >
133
+ <input class="search_input input-font" v-model=model.f_user_name condition="f_user_name like '%{}%'" />
134
+ </div>
135
+ </div>
136
+
137
+ <div class="row app-row">
138
+ <div class="col-xs-4">
139
+ <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
140
+ <label class="font text-left">用户证号:</label>
141
+ </div>
142
+ <div class="col-xs-8" >
143
+ <input class="search_input input-font" v-model=model.f_enter_number condition="f_enter_number like '%{}%'" />
144
+ </div>
145
+ </div>
146
+
147
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow && !$parent.$parent.planName">
148
+ <div class="col-xs-4">
149
+ <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
150
+ <label for="f_plan_name" class="font text-left">计划名称:</label>
151
+ </div>
152
+ <v-select
153
+ id="f_plan_name"
154
+ :value.sync="model.f_plan_name"
155
+ class="input-font"
156
+ :options='$parent.$parent.planNameOptions'
157
+ placeholder='计划名称'
158
+ :width="'60%'"
159
+ v-model="model.f_plan_name"
160
+ condition="f_plan_name like '%{}%'"
161
+ close-on-select clear-button>
162
+ </v-select>
163
+ </div>
164
+
165
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
166
+ <div class="col-xs-4">
167
+ <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
168
+ <label for="f_state" class="font text-left">是否已检:</label>
169
+ </div>
170
+ <v-select id="f_state"
171
+ :value.sync="model.f_state"
172
+ class="input-font"
173
+ :options='$parent.$parent.check_states'
174
+ placeholder='是否已检'
175
+ :width="'60%'"
176
+ v-model="model.f_state"
177
+ condition="f_state='{}'"
178
+ close-on-select clear-button>
179
+ </v-select>
180
+ </div>
181
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
182
+ <div class="col-xs-4">
183
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
184
+ <label class="font text-left">表&emsp;&emsp;号:</label>
185
+ </div>
186
+ <div class="col-xs-5" >
187
+ <input class="search_input input-font"
188
+ v-model=model.f_meter_no condition="f_meter_no like '%{}%'" />
189
+ </div>
190
+ <div class="col-xs-3">
191
+ <button type="button" class="btn btn-lg btn-font btn-color" @click="$parent.$parent.scan()">扫码</button>
192
+ </div>
193
+ </div>
194
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
195
+ <div class="col-xs-4">
196
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
197
+ <label class="font text-left">客户电话:</label>
198
+ </div>
199
+ <div class="col-xs-8" >
200
+ <input class="search_input input-font"
201
+ v-model=model.f_user_phone condition="f_user_phone like '%{}%'" />
202
+ </div>
203
+ </div>
204
+
205
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
206
+ <div class="col-xs-4">
207
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
208
+ <label class="font text-left">用户地址:</label>
209
+ </div>
210
+ <div class="col-xs-8" >
211
+ <input class="search_input input-font"
212
+ v-model=model.f_keyword condition="f_address like '%{}%'" />
213
+ </div>
214
+ </div>
215
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
216
+ <div class="col-xs-4">
217
+ <img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
218
+ <label for="f_user_type" class="font text-left">用户类型:</label>
219
+ </div>
220
+ <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
221
+ :width="'60%'"
222
+ :options='$parent.$parent.user_types' placeholder='请选择用户类型'
223
+ v-model="model.f_user_type" condition="f_user_type='{}'" close-on-select clear-button></v-select>
224
+ </div>
225
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
226
+ <div class="col-xs-6">
227
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
228
+ <label class="font text-left">到访不遇:</label>
229
+ </div>
230
+ <div class="col-xs-8" >
231
+ <input class="search_input input-font" type="number"
232
+ v-model=model.f_check_version condition="f_check_version <= '{}'" />
233
+ </div>
234
+ </div>
235
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
236
+ <div class="col-xs-6" style="text-align: center">
237
+ <span class="font text-left">待办{{$parent.$parent.upcomingCount}}条</span>
238
+ </div>
239
+ <div class="col-xs-6" style="text-align: center">
240
+ <span class="font text-left">已办{{$parent.$parent.doneCount}}条</span>
241
+ </div>
242
+ <div class="col-xs-6" style="text-align: center">
243
+ <span class="font text-left">临时保存{{$parent.$parent.tempSaveCount}}条</span>
244
+ </div>
245
+ <div class="col-xs-6" style="text-align: center">
246
+ <span class="font text-left">总共{{$parent.$parent.allPlanCount}}条</span>
247
+ </div>
248
+ </div>
249
+
250
+ <div class="row text-center" style="margin-top: 20px;">
251
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;" @click="$parent.$parent.selfSearch">查询</button>
252
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%; margin-left: 10px" @click="$parent.$parent.queryplanmany">转发</button>
253
+ <div style="float: right;margin-right: 3% " class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
254
+ <img v-if="!$parent.$parent.planName" style="float: right;margin-right: 3% " @click="$parent.$parent.getNewOrder" src="../../../assets/shuaxindaiban1.png" style="width: 40px;padding: 5px; float:right">
255
+ </div>
256
+ <div class="col-sm-12">
257
+
258
+ </div>
259
+ <!--<div class="row app-btn">-->
260
+ <!--<button class="btn btn-primary col-xs-6" type="button" @click="search"><span class="glyphicon glyphicon-search" style="margin-right: 20px;">查询</span></button>-->
261
+ <!--</div>-->
262
+ <div style="height:30px;"></div>
263
+ </form>
264
+ </div>
265
+ </criteria>
266
+ <list :model="model" partial='list'>
267
+ <div partial>
268
+ <div class="auto app-text" style="margin-top: 5px;">
269
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
270
+ <div class="panel-body panel-self">
271
+
272
+ <div class="col-xs-12">
273
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
274
+ <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{ row.f_userinfo_code }}</p>
275
+ <p class="panel-title col-xs-2 text-left input-font" style="width: 5%;float:right">
276
+ <input type="checkbox" @click="$parent.$parent.$parent.setPlanParam(row.id, $event)"/>
277
+ </p>
278
+ </div>
279
+ <div class="col-xs-12">
280
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
281
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_user_name }}</p>
282
+ </div>
283
+ <div class="col-xs-6">
284
+ <p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
285
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
286
+ </p>
287
+ </div>
288
+ <div class="col-xs-6">
289
+ <p class="panel-title col-xs-5 text-left font"><b>计划名称:</b></p>
290
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
291
+ </div>
292
+ <!-- <div class="col-xs-6">-->
293
+ <!-- <p class="panel-title col-xs-5 text-left font"><b>小区名称:</b></p>-->
294
+ <!-- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_residential_area }}</p>-->
295
+ <!-- </div>-->
296
+ <div class="col-xs-12">
297
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
298
+ <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone }}
299
+ <img src="../../../assets/phone.png" style="width: 6%"
300
+ v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone)'/>
301
+ </p>
302
+ </div>
303
+ <div class="col-xs-12">
304
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>备用电话:</b></p>
305
+ <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_rent_phone}}
306
+ <img v-if="row.f_rent_phone" src="../../../assets/phone.png" style="width: 6%"
307
+ v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_rent_phone)'/>
308
+ </p>
309
+ </div>
310
+ <div class="col-xs-12">
311
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>租户电话:</b></p>
312
+ <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_zuhu_phone }}
313
+ <img v-if="row.f_zuhu_phone" src="../../../assets/phone.png" style="width: 6%"
314
+ v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_zuhu_phone)'/>
315
+ </p>
316
+ </div>
317
+
318
+ <div class="col-xs-12">
319
+ <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
320
+ <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
321
+ </div>
322
+
323
+ <!-- <div class="row">-->
324
+ <!-- <p class="panel-title col-xs-4 text-left font">计划年份</p>-->
325
+ <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_year }}</p>-->
326
+ <!-- </div>-->
327
+ <!-- <div class="row">-->
328
+ <!-- <p class="panel-title col-xs-4 text-left font">计划月份</p>-->
329
+ <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_month }}</p>-->
330
+ <!-- </div>-->
331
+ <!-- <div class="row">-->
332
+ <!-- <p class="panel-title col-xs-4 text-left font">预约时间</p>-->
333
+ <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_prearranged_date }}</p>-->
334
+ <!-- </div>-->
335
+ <!--<div class="row">-->
336
+ <!--<p class="panel-title col-xs-4 text-left font">上次安检状态</p>-->
337
+ <!--<p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_state }}</p>-->
338
+ <!--</div>-->
339
+ <div class="col-xs-6">
340
+ <p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
341
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_state == '已检'?'临时保存':row.f_state }}</p>
342
+ </div>
343
+ <div class="col-xs-6">
344
+ <p class="panel-title col-xs-5 text-left font"><b>上传状态:</b></p>
345
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
346
+ </div>
347
+ <div class="col-xs-12" v-if="row.f_prearranged_date !=null">
348
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>预约时间:</b></p>
349
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_prearranged_date }}</p>
350
+ </div>
351
+ <div class="col-xs-6">
352
+ <p class="panel-title col-xs-5 text-left font"><b>安检类型:</b></p>
353
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_safecheck_type }}</p>
354
+ </div>
355
+ <div class="col-xs-12">
356
+ <p class="panel-title col-xs-5 text-left font"><b>到访不遇次数:</b></p>
357
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_check_version }}</p>
358
+ </div>
359
+ <!--<div class="col-xs-12">-->
360
+ <!--<p class="panel-title col-xs-5 text-left font"><b>送气期限:</b></p>-->
361
+ <!--<p class="panel-title col-xs-7 text-left input-font">{{timeSet(row.f_issue_time)}}</p>-->
362
+ <!--</div>-->
363
+ <div class="col-xs-12">
364
+ <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right" @click="$parent.$parent.$parent.inspect(row)">处理</button>
365
+ <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right;margin-right:10px;" @click="$parent.$parent.$parent.queryplan(row.id)">转发</button>
366
+ <!--<button type="button" class="btn btn-default" @click="$parent.$parent.$parent.ceshi">确认2</button>-->
367
+ </div>
368
+ <!-- <div class="row text-right" v-show="row.f_upload_state != '已传'" >-->
369
+ <!-- <button type="button" class="btn yybtn-color" v-on:click.stop.prevent='$parent.$parent.$parent.reserve($index)'>预约</button>&nbsp;-->
370
+ <!-- <button type="button" class="btn qxbtn-color" v-if ='row.f_prearranged_date'-->
371
+ <!-- v-on:click.stop.prevent='$parent.$parent.$parent.cancelReserve($index, row.id)'>取消预约</button>-->
372
+ <!-- </div>-->
373
+ </div>
374
+ </div>
375
+ </div>
376
+ </div>
377
+ </list>
378
+ </criteria-paged>
379
+ <modal :show.sync="showModal">
380
+ <div slot="modal-header" class="modal-header">
381
+ <h4 class="modal-title">
382
+ 选择预约时间
383
+ </h4>
384
+ </div>
385
+ <div slot="modal-body" class="modal-body">
386
+ <input type="datetime-local" v-model="f_preset_dt">
387
+ </div>
388
+ <div slot="modal-footer" class="modal-footer">
389
+ <button type="button" class="btn btn-default" @click="genuineReserve">确认</button>
390
+ </div>
391
+ </modal>
392
+ <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
393
+ <modal :show.sync="showModal2" v-ref:modal>
394
+ <div slot="modal-header" class="modal-header">
395
+ <h4 class="modal-title">
396
+ 选择计划
397
+ </h4>
398
+ </div>
399
+ <div slot="modal-body" class="modal-body">
400
+ <div class="col-xs-12">
401
+
402
+ <div class="col-xs-4">
403
+ <v-select :value.sync="check" v-model='check'
404
+ :value-single="true"
405
+ class="select_list select"
406
+ :options='checkers' placeholder='安检员'
407
+ close-on-select width="100%"></v-select>
408
+ </div>
409
+
410
+ <div class="col-xs-1">
411
+ <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
412
+ </div>
413
+ <div class="col-xs-4" style="padding-left: 2px">
414
+ <input class="select-style" placeholder="计划名称" type="text" v-model="plan" style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
415
+ </div>
416
+ <div class="col-xs-1" >
417
+ <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
418
+ </div>
419
+ <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
420
+ <div class="col-xs-2" style="float: right">
421
+ <button type="button" class="btn btn-primary" @click="plansearch" style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">查询</button>
422
+ </div>
423
+ </div>
424
+ <table class="table table_sy">
425
+ <thead>
426
+ <tr>
427
+ <th style="width: 30px"></th>
428
+ <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
429
+ </tr>
430
+ </thead>
431
+ <tbody>
432
+ <tr v-for="row in planoption">
433
+ <td @click="select(row, $index)" >{{row.selected==true ? '☆' : '&nbsp;&nbsp;&nbsp;&nbsp;'}}</td>
434
+ <td @click="select(row, $index)" style="text-align: center">{{row.label}}</td>
435
+
436
+
437
+ </tr>
438
+ </tbody>
439
+ </table>
440
+ </div>
441
+ <div slot="modal-footer" class="modal-footer">
442
+ <button class="btn btn-default" @click="isok()">确认</button>
443
+ <button class="btn btn-default" @click="iscancel()">取消</button>
444
+ </div>
445
+ </modal>
446
+ <modal :show.sync="showModal3" v-ref:modal>
447
+ <div slot="modal-header" class="modal-header">
448
+ <h4 class="modal-title">
449
+ 选择计划
450
+ </h4>
451
+ </div>
452
+ <div slot="modal-body" class="modal-body">
453
+ <div class="col-xs-12">
454
+
455
+ <div class="col-xs-4">
456
+ <v-select :value.sync="check" v-model='check'
457
+ :value-single="true"
458
+ class="select_list select"
459
+ :options='checkers' placeholder='安检员'
460
+ close-on-select width="100%"></v-select>
461
+ </div>
462
+
463
+ <div class="col-xs-1">
464
+ <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
465
+ </div>
466
+ <div class="col-xs-4" style="padding-left: 2px">
467
+ <input class="select-style" placeholder="计划名称" type="text" v-model="plan" style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
468
+ </div>
469
+ <div class="col-xs-1" >
470
+ <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
471
+ </div>
472
+ <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
473
+ <div class="col-xs-2" style="float: right">
474
+ <button type="button" class="btn btn-primary" @click="plansearch" style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">查询</button>
475
+ </div>
476
+ </div>
477
+ <table class="table table_sy">
478
+ <thead>
479
+ <tr>
480
+ <th style="width: 30px"></th>
481
+ <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
482
+ </tr>
483
+ </thead>
484
+ <tbody>
485
+ <tr v-for="row in planoption">
486
+ <td @click="select(row, $index)" >{{row.selected==true ? '☆' : '&nbsp;&nbsp;&nbsp;&nbsp;'}}</td>
487
+ <td @click="select(row, $index)" style="text-align: center">{{row.label}}</td>
488
+
489
+
490
+ </tr>
491
+ </tbody>
492
+ </table>
493
+ </div>
494
+ <div slot="modal-footer" class="modal-footer">
495
+ <button class="btn btn-default" @click="manyisok()">确认</button>
496
+ <button class="btn btn-default" @click="iscancel()">取消</button>
497
+ </div>
498
+ </modal>
499
+ </div>
500
+
501
+ </template>
502
+
503
+ <script>
504
+ import LocalPagedList from '../../../plugins/LocalPagedList'
505
+ import Vue from 'vue'
506
+ import { PagedList,HttpResetClass } from 'vue-client'
507
+ import * as Util from '../../Util'
508
+ import co from 'co'
509
+ let select = function * (self) {
510
+ let http = new HttpResetClass()
511
+ http.load('POST', `${self.$androidUtil.getProxyUrl()}/rs/search`, {
512
+ source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
513
+ userid: Vue.user.id
514
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
515
+ //tag
516
+ self.checkers.push({label:'全部',value:''})
517
+ res.data.forEach((checker)=>{
518
+ self.checkers.push({label:checker.name,value:checker.id})
519
+ })
520
+ })
521
+ }
522
+ export default {
523
+ title: '无计划安检查询',
524
+ props: ['planName'],
525
+ data() {
526
+ return {
527
+ f_filialeids:'('+Vue.user.orgid+')',
528
+ //f_filialeids:'(305)',
529
+ planparam:[],
530
+ check:'',
531
+ plan:'',
532
+ planid:'',
533
+ model:Vue.android? new LocalPagedList('androidGetuserinfo',20,{condition:'this.condition'}): new PagedList( 'AndroidRest/rs/sql/androidGetuserinfo',20,{condition:'this.condition'}),
534
+ showModal: false,
535
+ showModal2:false,
536
+ showModal3:false,
537
+ needid:'',
538
+ criteriaShow: false,
539
+ planoption:[],
540
+ condition:'',
541
+ checkers:[],
542
+ param: null,
543
+ f_preset_dt : Util.to3339TimeString(),
544
+ flow_direction:[
545
+ {label: '请选择挂表方式', value: ''},
546
+ {label: '左表', value: '左表'},
547
+ {label: '右表', value: '右表'}
548
+ ],
549
+ check_states: [
550
+ {label: '请选择安检状态', value: ''},
551
+ {label: '未检', value: '未检'},
552
+ {label: '临时保存', value: '已检'},
553
+ ],
554
+ last_check_states: [
555
+ {label: '请选择上次安检状态', value: ''},
556
+ {label: '入户', value: '入户'},
557
+ {label: '拒检', value: '拒检'},
558
+ {label: '到访不遇', value: '到访不遇'},
559
+ {label: '未使用天然气', value: '未使用天然气'}
560
+ ],
561
+ upload_states: [
562
+ {label: '请选择上传状态', value: ''},
563
+ {label: '未传', value: '未传'},
564
+ {label: '已传', value: '已传'}
565
+ ],
566
+ user_types: [
567
+ {label: '请选择用户类型', value: ''},
568
+ {label: '民用', value: '民用'},
569
+ {label: '非民用', value: '非民用'},
570
+ ],
571
+ verify_state: [
572
+ {label: '请选择审核状态', value: ''},
573
+ {label: '未审核', value: '未审核'},
574
+ {label: '打回', value: '打回'}
575
+ ],
576
+ residentialAreaOptions: [],
577
+ buildOptions: [],
578
+ unitOptions: [],
579
+ planNameOptions: [],
580
+ upcomingCount: 0,
581
+ doneCount: 0,
582
+ tempSaveCount: 0,
583
+ allPlanCount: 0
584
+ }
585
+ },
586
+ ready(){
587
+ this.getAllArea()
588
+ this.getAllPlanName()
589
+ this.selfSearch()
590
+ let gen = select(this)
591
+ co(gen)
592
+ },
593
+ mounted(){
594
+ //tag
595
+ if (window.history && window.history.pushState) {
596
+ history.pushState(null, null, document.URL);
597
+ window.addEventListener('popstate', this.fun, false);//false阻止默认事件
598
+ }
599
+ },
600
+ destroyed(){
601
+ //tag
602
+ window.removeEventListener('popstate', this.fun, false);//false阻止默认事件
603
+ },
604
+ methods: {
605
+ scan(){
606
+ HostApp.__this__=this,
607
+ HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
608
+ },
609
+ getCode(){
610
+ const datapa = HostApp.getCode().data;
611
+ //tag
612
+ this.$refs.paged.$refs.cri.model.f_meter_no = datapa
613
+
614
+ },
615
+ fun () {
616
+ //tag
617
+ //tag
618
+ },
619
+ iscancel(){
620
+ this.showModal2=false
621
+ this.showModal3=false
622
+ this.planoption=[]
623
+ },
624
+ timeSet(val){
625
+ return val
626
+ },
627
+ async isok(){
628
+ if(this.planoption.length==0){
629
+ this.$showMessage("请选择计划")
630
+ return false
631
+ }
632
+ for (let i = 0; i <this.planoption.length ; i++) {
633
+ if (this.planoption[i]["selected"]==true){
634
+ this.planid=this.planoption[i].value
635
+ break
636
+ }
637
+ }
638
+ if(this.planid==''){
639
+ this.$showMessage("请选择计划")
640
+ return false
641
+ }
642
+ await this.okput()
643
+ },
644
+ async manyisok(){
645
+ if(this.planoption.length==0){
646
+ this.$showMessage("请选择计划")
647
+ return false
648
+ }
649
+ for (let i = 0; i <this.planoption.length ; i++) {
650
+ if (this.planoption[i]["selected"]==true){
651
+ this.planid=this.planoption[i].value
652
+ break
653
+ }
654
+ }
655
+ if(this.planid==''){
656
+ this.$showMessage("请选择计划")
657
+ return false
658
+ }
659
+ await this.manyokput()
660
+ },
661
+ changenull(){
662
+ this.showModal2=false
663
+ this.showModal3=false
664
+ this.planoption=[]
665
+ this.plan=''
666
+ this.check=''
667
+ },
668
+ async okput(){
669
+ let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/UpCheckPlanItem`, {data:{
670
+ condition:`i.id='`+this.needid+`'`,
671
+ f_plan_id:this.planid,
672
+ switchCheckAll:false,
673
+ checkAll:false,
674
+ f_operator:Vue.user.name
675
+ }
676
+ })
677
+ this.$showMessage("上传成功,请等待审核")
678
+ await this.changenull()
679
+ await this.getNewOrder()
680
+ },
681
+ async manyokput(){
682
+ let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/UpCheckPlanItem`, {data:{
683
+ columnName:"i.id",
684
+ condition:"1=1",
685
+ f_plan_id:this.planid,
686
+ switchCheckAll:true,
687
+ param:this.planparam,
688
+ checkAll:false,
689
+ f_operator:Vue.user.name
690
+ }
691
+ })
692
+ await this.changenull()
693
+ await this.getNewOrder()
694
+ },
695
+ async plansearch(){
696
+ this.planoption=[]
697
+ let condition= ` f_plan_year=${new Date().getFullYear()}`
698
+ if(this.check){
699
+ condition += ` and f_checker_id= '${this.check}'`
700
+ }
701
+ if(this.plan){
702
+ condition += ` and f_plan_name like '%${this.plan}%'`
703
+ }
704
+ let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/预约计划下发`, {data:{
705
+ condition:condition,
706
+ f_filialeids:this.f_filialeids,
707
+ groupitem:'',
708
+ orderitem:'id'
709
+ }})
710
+ let resoult=res.data
711
+ for (let i = 0; i < resoult.length; i++) {
712
+ this.planoption.push({label: resoult[i].f_plan_name,selected:false, value: resoult[i].id})
713
+ }
714
+ },
715
+
716
+ select(row, idx) {
717
+ this.$set('planoption[' + idx + '].selected', true)
718
+ for (let i = 0; i <this.planoption.length ; i++) {
719
+ if (i!=idx){
720
+ this.planoption[i]["selected"]=false
721
+ }
722
+ }
723
+ },
724
+ planclose(){
725
+ this.showModal2=false
726
+ this.showModal3=false
727
+ },
728
+ queryplan(val){
729
+ this.needid=val
730
+ this.showModal2 = true
731
+ },
732
+ queryplanmany(){
733
+
734
+ this.showModal3 = true
735
+ },
736
+ reload(){
737
+ // this.getAllArea()
738
+ // this.getAllPlanName()
739
+ this.selfSearch()
740
+ },
741
+ cancelReserve (idx, id) {
742
+ if(Vue.android){
743
+ let res = this.$androidUtil.bzLogic('BookingCheck', {dt: '', id: id})
744
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
745
+ if (res.code == 200) {
746
+ this.$showMessage("取消预约成功")
747
+ }
748
+ }else {
749
+ this.$androidUtil.bzLogic('PCbookingCheck', {dt: '', id: id}).then((repanse) => {
750
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
751
+ if (repanse.data.code == 200) {
752
+ alert("取消预约成功!")
753
+ }
754
+ })
755
+ }},
756
+ genuineReserve () {
757
+ if(Vue.android){
758
+ if (!this.f_preset_dt) {
759
+ this.$showMessage('请选择一个日期')
760
+ return
761
+ }
762
+ let pdt = this.f_preset_dt.replace('T', ' ')
763
+ let respanse = this.$androidUtil.bzLogic('BookingCheck', {id: this.model.rows[this.param].id, dt: pdt})
764
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
765
+ if(respanse.code == 200) {
766
+ this.$showMessage("预约成功!")
767
+ }
768
+ this.showModal = false
769
+ }else {
770
+ if (!this.f_preset_dt) {
771
+ alert('请选择一个日期')
772
+ return
773
+ }
774
+ let pdt = this.f_preset_dt.replace('T', ' ')
775
+ this.$androidUtil.bzLogic('PCbookingCheck', {id: this.model.rows[this.param].id, dt: pdt}).then((res) => {
776
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
777
+ if(res.data.code == 200) {
778
+ alert("预约成功!")
779
+ }
780
+ this.showModal = false
781
+ })
782
+ }
783
+ },
784
+ inspect(row) {
785
+ var _this = this
786
+ let http = new HttpResetClass()
787
+ http.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: {
788
+ items: 'id',
789
+ tablename: 't_check_plan_item',
790
+ condition: `id = '${row.id}'`,
791
+ orderitem: ' id '
792
+ }}, {resolveMsg: null, rejectMsg: null}).then((getcheckplan) => {
793
+ console.log('getcheckplan=', JSON.stringify(getcheckplan))
794
+ this.getcheckplandata = getcheckplan.data[0]
795
+ if(this.getcheckplandata){
796
+ if (row.f_upload_state == '未传' || (row.f_upload_state == '已传' && row.f_state == '未检' && row.f_no_checkplan != '无计划安检' ) ) {
797
+ _this.$resetpost(`${_this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`, {data: {f_userid: row.f_userinfoid}},{resolveMsg: null,rejectMsg: null}).then((response) => {
798
+ row['f_plan_meters'] = response.data
799
+ var pardate = {
800
+ _this:_this,
801
+ title:'安全检查',
802
+ safe:true
803
+ }
804
+ _this.$dispatch('gotoson',pardate)
805
+ //tag
806
+ _this.$goto('safecheck-order-v', {f_plan_id: row.f_plan_id, item: row, role: 'inspect',parentPage:'CurrentCreate'}, 'self', _this.reload)
807
+ }).catch ((msg)=>{
808
+ this.$showMessage("网络异常,请检查网络后再试!")
809
+ })
810
+ }else{
811
+ this.$showMessage("该安检单已被上传!")
812
+ }
813
+ }else {
814
+ this.$showMessage("该用户安检单已被移除,请联系管理员确认!")
815
+ }
816
+ })
817
+ },
818
+ makeAPhoneCall(phoneNumber) {
819
+ this.$androidUtil.makeAPhoneCall(phoneNumber)
820
+ },
821
+ reserve (idx) {
822
+ this.param = idx
823
+ this.showModal = true
824
+ },
825
+ search(args) {
826
+ this.model.rows = []
827
+ this.model.search(args.condition, args.model)
828
+ },
829
+ selfSearch () {
830
+ this.getPlanCount()
831
+ let condition = ""
832
+ if (Array.isArray(this.$refs.paged.$refs.cri.model.f_residential_area) && this.$refs.paged.$refs.cri.model.f_residential_area.length >0){
833
+ condition += " and ti.f_residential_area = '"+this.$refs.paged.$refs.cri.model.f_residential_area[0]+"'"
834
+ }else if(this.$refs.paged.$refs.cri.model.f_residential_area instanceof String && this.$refs.paged.$refs.cri.model.f_residential_area){
835
+ condition += " and ti.f_residential_area = '"+this.$refs.paged.$refs.cri.model.f_residential_area+"'"
836
+ }
837
+ if(this.$refs.paged.$refs.cri.model.f_building)
838
+ condition += ` and ti.f_building = '${this.$refs.paged.$refs.cri.model.f_building}'`
839
+ if(this.$refs.paged.$refs.cri.model.f_unit)
840
+ condition += ` and ti.f_unit = '${this.$refs.paged.$refs.cri.model.f_unit}'`
841
+ if (this.planName){
842
+ condition += " and f_plan_name like '%"+this.planName +"%'"
843
+ }else {
844
+ if(this.$refs.paged.$refs.cri.model.f_plan_name)
845
+ condition += " and f_plan_name like '%"+this.$refs.paged.$refs.cri.model.f_plan_name +"%'"
846
+ }
847
+ // if(this.$refs.paged.$refs.cri.model.f_plan_year)
848
+ // condition += " and f_plan_year = '"+this.$refs.paged.$refs.cri.model.f_plan_year +"'"
849
+ // if(this.$refs.paged.$refs.cri.model.f_plan_month)
850
+ // condition += " and f_plan_month = '"+this.$refs.paged.$refs.cri.model.f_plan_month +"'"
851
+ if(this.$refs.paged.$refs.cri.model.f_userinfo_code)
852
+ condition += " and ti.f_userinfo_code like '%"+this.$refs.paged.$refs.cri.model.f_userinfo_code+"%'"
853
+ if(this.$refs.paged.$refs.cri.model.f_keyword)
854
+ condition += " and ti.f_address like '%"+this.$refs.paged.$refs.cri.model.f_keyword+"%'"
855
+ if(this.$refs.paged.$refs.cri.model.f_user_name)
856
+ condition += " and ti.f_user_name like '%"+this.$refs.paged.$refs.cri.model.f_user_name+"%'"
857
+ if(this.$refs.paged.$refs.cri.model.f_state[0])
858
+ condition += " and ti.f_state='"+this.$refs.paged.$refs.cri.model.f_state[0]+"'"
859
+ // if(this.$refs.paged.$refs.cri.model.f_last_state[0])
860
+ // condition += " and ti.f_last_check_state='"+this.$refs.paged.$refs.cri.model.f_last_state[0]+"'"
861
+ if(this.$refs.paged.$refs.cri.model.f_user_type[0])
862
+ condition += " and ti.f_user_type='"+this.$refs.paged.$refs.cri.model.f_user_type[0]+"'"
863
+ if(this.$refs.paged.$refs.cri.model.f_meter_no)
864
+ condition += " and tm.f_meter_no like '%"+this.$refs.paged.$refs.cri.model.f_meter_no+"%'"
865
+ // if(this.$refs.paged.$refs.cri.model.f_flow_direction[0])
866
+ // condition += " and tm.f_flow_direction = '"+this.$refs.paged.$refs.cri.model.f_flow_direction[0]+"'"
867
+ if(this.$refs.paged.$refs.cri.model.f_user_phone){
868
+ condition += `and ti.f_user_phone like '%${this.$refs.paged.$refs.cri.model.f_user_phone}%'`
869
+ }
870
+ if(this.$refs.paged.$refs.cri.model.f_enter_number)
871
+ condition += " and ti.f_enter_number like '%"+this.$refs.paged.$refs.cri.model.f_enter_number+"%'"
872
+ if(this.$refs.paged.$refs.cri.model.f_check_version)
873
+ condition += " and ti.f_check_version <= "+this.$refs.paged.$refs.cri.model.f_check_version
874
+ //tag
875
+ this.model.search("((f_complete = '' or f_complete = null or f_complete = '未完成') or (f_state = '未检')) and ti.f_no_checkplan = '有计划安检'" + condition)
876
+ },
877
+ getNewOrder(){
878
+ HostApp.__this__ = this
879
+ HostApp.logicWithHint({
880
+ // logic别名,key必须为logic
881
+ 'logic': 'SafeCheckServiceTimeOut',
882
+ // 回调执行方法名,key必须为callback
883
+ 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
884
+ // logic执行需要的业务参数
885
+ 'data': {params: ''},
886
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
887
+ // 执行回调方法传入key为backresult
888
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
889
+ 'backresult': 1
890
+ })
891
+ HostApp.logicWithHint({
892
+ // logic别名,key必须为logic
893
+ 'logic': 'FreshPlanItem',
894
+ // 回调执行方法名,key必须为callback
895
+ 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
896
+ // logic执行需要的业务参数
897
+ 'data': {params: ''},
898
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
899
+ // 执行回调方法传入key为backresult
900
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
901
+ 'backresult': 1
902
+ })
903
+ },
904
+ getNewOrderCallBack() {
905
+ this.selfSearch()
906
+ this.getAllArea()
907
+ this.getAllPlanName()
908
+ },
909
+ hidden() {
910
+ this.criteriaShow = !this.criteriaShow
911
+ },
912
+ getAllArea(){
913
+ this.residentialAreaOptions = []
914
+ this.buildOptions = []
915
+ this.unitOptions = []
916
+ this.$refs.paged.$refs.cri.model.f_residential_area = ''
917
+ this.$refs.paged.$refs.cri.model.f_building = ''
918
+ this.$refs.paged.$refs.cri.model.f_unit = ''
919
+ let criteria = {
920
+ items: 'f_residential_area',
921
+ tablename: 't_check_plan_item',
922
+ condition: `f_residential_area IS NOT NULL AND f_residential_area != '' AND f_state <> '已检'`,
923
+ groupitem: 'f_residential_area'
924
+ }
925
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
926
+ //tag)
927
+ if(result.code == 200){
928
+ result.data.rows.forEach(item => this.residentialAreaOptions.push({label:item.f_residential_area,value:item.f_residential_area}))
929
+ }
930
+ //tag)
931
+ },
932
+ getbuilds(f_residential_area){
933
+ //tag)
934
+ this.buildOptions = []
935
+ this.unitOptions = []
936
+ this.$refs.paged.$refs.cri.model.f_building = ''
937
+ this.$refs.paged.$refs.cri.model.f_unit = ''
938
+ if(!f_residential_area){
939
+ return
940
+ }
941
+ let criteria = {
942
+ items: 'f_building',
943
+ tablename: 't_check_plan_item',
944
+ condition: `f_building IS NOT NULL AND f_building != '' AND f_state <> '已检' AND f_residential_area = '${f_residential_area}'`,
945
+ groupitem: 'f_building order by f_building+0'
946
+ }
947
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
948
+ if(result.code == 200){
949
+ result.data.rows.forEach(item => this.buildOptions.push({label:item.f_building,value:item.f_building}))
950
+ }
951
+ this.buildOptions.sort((a,b)=>{
952
+ return Number(a.label)- Number(b.label)
953
+ })
954
+ //tag)
955
+ },
956
+ getUnits(f_building){
957
+ f_building = f_building[0]
958
+ //tag)
959
+ this.unitOptions = []
960
+ this.$refs.paged.$refs.cri.model.f_unit = ''
961
+ if(!f_building){
962
+ return
963
+ }
964
+ let criteria = {
965
+ items: 'f_unit',
966
+ tablename: 't_check_plan_item',
967
+ condition: `f_unit IS NOT NULL AND f_unit != '' AND f_state <> '已检' AND f_residential_area = '${this.$refs.paged.$refs.cri.model.f_residential_area}' AND f_building = '${f_building}'`,
968
+ groupitem: 'f_unit'
969
+ }
970
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
971
+ if(result.code == 200){
972
+ result.data.rows.forEach(item => this.unitOptions.push({label:item.f_unit,value:item.f_unit}))
973
+ }
974
+ this.unitOptions.sort((a,b)=>{
975
+ return Number(a.label)- Number(b.label)
976
+ })
977
+ },
978
+ getPlanCount(){
979
+ this.upcomingCount = 0
980
+ this.tempSaveCount = 0
981
+ this.doneCount = 0
982
+ this.allPlanCount = 0
983
+ let criteria = {
984
+ items: 'count(id) count',
985
+ tablename: 't_check_plan_item',
986
+ condition: `f_state = '未检'`,
987
+ groupitem: 'f_state'
988
+ }
989
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
990
+ if(result.code && result.code == 200){
991
+ if(result.data.rows[0] && !isNaN(result.data.rows[0].count)) {
992
+ this.upcomingCount = result.data.rows[0].count
993
+ }
994
+ }
995
+ criteria = {
996
+ items: 'count(id) count',
997
+ tablename: 't_check_plan_item',
998
+ condition: `(f_complete = '' or f_complete is null or f_complete = '未完成') AND f_state = '已检'`,
999
+ groupitem: 'f_state'
1000
+ }
1001
+ result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1002
+ if(result.code && result.code == 200){
1003
+ if(result.data.rows[0] && !isNaN(result.data.rows[0].count)){
1004
+ this.tempSaveCount = result.data.rows[0].count
1005
+ }
1006
+ }
1007
+ criteria = {
1008
+ items: 'count(id) count',
1009
+ tablename: 't_check_plan_item',
1010
+ condition: `f_complete = '已完成' AND f_state = '已检'`,
1011
+ groupitem: 'f_state'
1012
+ }
1013
+ result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1014
+ if(result.code && result.code == 200){
1015
+ if(result.data.rows[0] && !isNaN(result.data.rows[0].count)){
1016
+ this.doneCount = result.data.rows[0].count
1017
+ }
1018
+ }
1019
+ this.allPlanCount = this.upcomingCount + this.tempSaveCount + this.doneCount
1020
+
1021
+ //tag
1022
+ //tag
1023
+ //tag
1024
+ //tag
1025
+ },
1026
+ getAllPlanName(){
1027
+ this.planNameOptions = []
1028
+ this.$refs.paged.$refs.cri.model.f_plan_name = ''
1029
+ let criteria = {
1030
+ items: 'f_plan_name',
1031
+ tablename: 't_check_plan',
1032
+ condition: `f_plan_name IS NOT NULL AND f_plan_name != ''`,
1033
+ groupitem: 'f_plan_name'
1034
+ }
1035
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1036
+ //tag)
1037
+ if(result.code == 200){
1038
+ result.data.rows.forEach(item => this.planNameOptions.push({label:item.f_plan_name,value:item.f_plan_name}))
1039
+ }
1040
+ //tag)
1041
+ },
1042
+ setPlanParam(detailsType, event) {
1043
+ if (event.srcElement.checked) {
1044
+ this.planparam.push(detailsType)
1045
+ //tag
1046
+ } else {
1047
+ if(this.planparam.length>0){
1048
+ let planid= this.planparam.findIndex((value) => {
1049
+ return value === detailsType
1050
+ })
1051
+ this.planparam.splice(planid, 1)
1052
+ //tag
1053
+
1054
+ }
1055
+
1056
+ }
1057
+ }
1058
+ }
1059
+ }
1060
+ </script>