safecheck-client 4.0.0-56 → 4.0.0-59

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.
Files changed (32) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +31 -31
  3. package/src/components/NewDefectList/DefectListNew.vue +663 -663
  4. package/src/components/Util/SafecheckUpload.vue +281 -281
  5. package/src/components/android/AndroidDefectDetails.vue +725 -725
  6. package/src/components/android/PhoneUpUserinfo.vue +1249 -1249
  7. package/src/components/android/SafecheckDevices.vue +1340 -1340
  8. package/src/components/pc/AddToCheckBook.vue +237 -237
  9. package/src/components/pc/CheckBook.vue +303 -303
  10. package/src/components/pc/CheckBookArea.vue +146 -146
  11. package/src/components/pc/CheckBookCompany.vue +144 -144
  12. package/src/components/pc/CheckBookDetails.vue +161 -161
  13. package/src/components/pc/CheckBookEntry.vue +60 -60
  14. package/src/components/pc/CheckBookList.vue +366 -366
  15. package/src/components/pc/CheckBookSearchArea.vue +560 -560
  16. package/src/components/pc/CheckBookSearchUnit.vue +229 -229
  17. package/src/components/pc/CheckBookSearchUser.vue +659 -659
  18. package/src/components/pc/CheckBookSearchUserList.vue +674 -674
  19. package/src/components/pc/CheckBookUser.vue +333 -333
  20. package/src/components/pc/DefectDeal.vue +1007 -1007
  21. package/src/components/pc/PaperDefectMain.vue +1 -0
  22. package/src/filiale/jinhong/android/PhoneInsurancePurchaseDetail.vue +437 -433
  23. package/src/filiale/jinhong/android/PhoneInsuranceRecordList.vue +346 -332
  24. package/src/filiale/meihekou/android/AreaPlan.vue +569 -569
  25. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -198
  26. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -190
  27. package/src/filiale/meihekou/android/CurrentCreate.vue +1087 -1087
  28. package/src/filiale/meihekou/android/MeterReading.vue +106 -106
  29. package/src/filiale/meihekou/android/SafecheckOrderV.vue +2398 -2397
  30. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +787 -787
  31. package/src/filiale/meihekou/android.js +19 -19
  32. package/src/filiale/meihekou/pc.js +12 -12
@@ -1,569 +1,569 @@
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
- .button_shrink_top {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_top.png")}
56
- .button_shrink_bottom {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_bottom.png")}
57
- .button_shrink_left {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_left.png")}
58
- .button_shrink_right {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_right.png")}
59
-
60
- </style>
61
-
62
- <template>
63
- <div class="auto">
64
- <criteria-paged :model="model" v-ref:paged>
65
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
66
- <div partial>
67
- <form>
68
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
69
- <div class="col-xs-4">
70
- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
71
- <label for="f_user_type" class="font text-left">完成情况:</label>
72
- </div>
73
- <div class="col-xs-8" >
74
- <v-select id="f_check_version" :value.sync="model.f_is_end" class="input-font"
75
- :options='$parent.$parent.isends' placeholder='请选择完成状态'
76
- v-model="model.f_is_end" condition="{}" close-on-select clear-button></v-select>
77
- </div>
78
- </div>
79
- <div class="row app-row">
80
- <div class="col-xs-4">
81
- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
82
- <label for="f_plan_name" class="font text-left">计划名称:</label>
83
- </div>
84
- <div class="col-xs-8" >
85
- <input id="f_plan_name" class="search_input input-font"
86
- v-model=model.f_plan_name condition="f_plan_name like '%{}%'" />
87
- </div>
88
- </div>
89
- <div class="row app-row">
90
- <div class="col-xs-4">
91
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
92
- <label for="f_userinfo_code" class="font text-left">用户编号:</label>
93
- </div>
94
- <div class="col-xs-8" >
95
- <input id="f_userinfo_code" class="search_input input-font"
96
- v-model=model.f_userinfo_code condition="ti.f_userinfo_code like '%{}%'" />
97
- </div>
98
- </div>
99
-
100
- <div class="row app-row">
101
- <div class="col-xs-4">
102
- <img src="../../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
103
- <label for="f_user_name" class="font text-left">用户姓名:</label>
104
- </div>
105
- <div class="col-xs-8" >
106
- <input id="f_user_name" class="search_input input-font"
107
- v-model=model.f_user_name condition="ti.f_user_name like '%{}%'" />
108
- </div>
109
- </div>
110
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
111
- <div class="col-xs-4">
112
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
113
- <label for="f_keyword" class="font text-left">小区名称:</label>
114
- </div>
115
- <div class="col-xs-8" >
116
- <input id="f_keyword" class="search_input input-font"
117
- v-model="model.f_residential_area" condition="ti.f_residential_area like '%{}%'" />
118
- </div>
119
- </div>
120
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
121
- <div class="col-xs-4">
122
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
123
- <label for="f_building" class="font text-left">楼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
124
- </div>
125
- <div class="col-xs-8" >
126
- <input id="f_building" class="search_input input-font"
127
- v-model="model.f_building" condition="ti.f_building like '%{}%'" />
128
- </div>
129
- </div>
130
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
131
- <div class="col-xs-4">
132
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
133
- <label for="f_unit" class="font text-left">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;元:</label>
134
- </div>
135
- <div class="col-xs-8" >
136
- <input id="f_unit" class="search_input input-font"
137
- v-model="model.f_unit" condition="ti.f_unit like '%{}%'" />
138
- </div>
139
- </div>
140
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
141
- <div class="col-xs-4">
142
- <img src="../../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">
143
- <label for="f_plan_year" class="font text-left">计划年份:</label>
144
- </div>
145
- <div class="col-xs-8" >
146
- <input id="f_plan_year" class="search_input input-font"
147
- v-model="model.f_plan_year" condition="f_plan_year = '{}'" />
148
- </div>
149
- </div>
150
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
151
- <div class="col-xs-4">
152
- <img src="../../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">
153
- <label for="f_plan_month" class="font text-left">计划月份:</label>
154
- </div>
155
- <div class="col-xs-8" >
156
- <input id="f_plan_month" class="search_input input-font"
157
- v-model="model.f_plan_month" condition="f_plan_month = '{}'" />
158
- </div>
159
- </div>
160
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
161
- <div class="col-xs-4">
162
- <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
163
- <label class="font text-left">起始时间:</label>
164
- </div>
165
- <datepicker id="f_start_date"
166
- placeholder= '起始时间'
167
- :value.sync="model.f_start_date"
168
- :disabled-days-of-Week="[]"
169
- v-model="model.f_start_date"
170
- class="input-font"
171
- :format="'yyyy-MM-dd 00:00:00'"
172
- :show-reset-button="reset"
173
- condition="tcp.f_offsite_time > '{}'"
174
- readonly="readonly">
175
- </datepicker>
176
- </div>
177
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
178
- <div class="col-xs-4">
179
- <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
180
- <label class="font text-left">结束时间:</label>
181
- </div>
182
- <datepicker id="f_end_date"
183
- placeholder= '结束时间'
184
- :value.sync="model.f_end_date"
185
- :disabled-days-of-Week="[]"
186
- v-model="model.f_end_date"
187
- class="input-font"
188
- :format="'yyyy-MM-dd 23:59:00'"
189
- :show-reset-button="reset"
190
- condition="tcp.f_offsite_time < '{}'"
191
- readonly="readonly">
192
- </datepicker>
193
- </div>
194
- <div class="row app-row" v-show="$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_address condition="ti.f_address like '%{}%'" />
202
- </div>
203
-
204
- </div>
205
-
206
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
207
- <div class="col-xs-4">
208
- <img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
209
- <label for="f_user_type" class="font text-left">用户类型:</label>
210
- </div>
211
- <div class="col-xs-8" >
212
- <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
213
- :options='$parent.$parent.user_types' placeholder='请选择用户类型'
214
- v-model="model.f_user_type" condition="ti.f_user_type='{}'" close-on-select clear-button></v-select>
215
- </div>
216
- </div>
217
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
218
- <div class="col-xs-4">
219
- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
220
- <label class="font text-left">挂表方式:</label>
221
- </div>
222
- <div class="col-xs-8" >
223
- <v-select :value.sync="model.f_flow_direction"
224
- :value-single="true"
225
- :options='$parent.$parent.flow_direction' placeholder='请选择挂表方式'
226
- v-model="model.f_flow_direction" condition="tm.f_flow_direction='{}'" close-on-select clear-button></v-select>
227
- </div>
228
- </div>
229
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
230
- <div class="col-xs-4">
231
- <img src="../../../assets/有无计划.png" style="width: 20px;margin-bottom: 5px" alt="">
232
- <label for="f_no_checkplan" class="font text-left">有无计划:</label>
233
- </div>
234
- <div class="col-xs-8" >
235
- <v-select id="f_no_checkplan" :value.sync="model.f_no_checkplan" class="input-font"
236
- :options='$parent.$parent.planstates' placeholder='请选择有无计划'
237
- v-model="model.f_no_checkplan" condition="ti.f_no_checkplan='{}'" close-on-select clear-button></v-select>
238
- </div>
239
- </div>
240
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
241
- <div class="col-xs-4">
242
- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
243
- <label for="f_no_checkplan" class="font text-left">有无隐患:</label>
244
- </div>
245
- <div class="col-xs-8" >
246
- <v-select id="f_no_checkplan" :value.sync="model.f_defect_content" class="input-font"
247
- :options='$parent.$parent.defectcontents' placeholder='请选择有无隐患'
248
- v-model="model.f_defect_content"
249
- condition="tcp.f_defect_content like '%{}%'"
250
- close-on-select clear-button></v-select>
251
- </div>
252
- </div>
253
- <!-- <div class="row app-row" v-show="false">-->
254
- <!-- <div class="col-xs-4">-->
255
- <!-- <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">-->
256
- <!-- <label for="f_state" class="font text-left">是否已检:</label>-->
257
- <!-- </div>-->
258
- <!-- <div class="col-xs-8" >-->
259
- <!-- <v-select id="f_state" :value.sync="model.f_state" class="input-font"-->
260
- <!-- :options='$parent.$parent.check_states' placeholder='请选择是否已检'-->
261
- <!-- v-model="model.f_state" condition="ti.f_state='{}'" close-on-select clear-button></v-select>-->
262
- <!-- </div>-->
263
- <!-- </div>-->
264
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
265
- <div class="col-xs-4">
266
- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
267
- <label for="f_last_state" class="font text-left">安检状态:</label>
268
- </div>
269
- <div class="col-xs-8" >
270
- <v-select id="f_last_state" :value.sync="model.f_last_state" class="input-font"
271
- :multiple="true"
272
- :options='$parent.$parent.last_check_states' placeholder='请选择安检状态'
273
- v-model="model.f_last_state" condition="ti.f_last_check_state in {}" ></v-select>
274
- </div>
275
- </div>
276
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
277
- <div class="col-xs-4">
278
- <img src="../../../assets/上传状态.png" style="width: 20px;margin-bottom: 5px" alt="">
279
- <label for="f_upload_state" class="font text-left">上传状态:</label>
280
- </div>
281
- <div class="col-xs-8" >
282
- <v-select id="f_upload_state" :value.sync="model.f_upload_state" class="input-font"
283
- :options='$parent.$parent.upload_states' placeholder='请选择上传状态'
284
- v-model="model.f_upload_state" condition="ti.f_upload_state='{}'" close-on-select clear-button></v-select>
285
- </div>
286
- </div>
287
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
288
- <div class="col-xs-4">
289
- <img src="../../../assets/上传状态.png" style="width: 20px;margin-bottom: 5px" alt="">
290
- <label for="f_upload_state" class="font text-left">审核未通过</label>
291
- </div>
292
- <div class="col-xs-8" >
293
- <v-select id="f_upload_state" :value.sync="model.f_approved" class="input-font"
294
- :options='$parent.$parent.approveds' placeholder='请选择审核状态'
295
- v-model="model.f_approved" condition="ti.f_approved='{}'" :value-single="true" close-on-select clear-button></v-select>
296
- </div>
297
- </div>
298
- <div class="row text-center" style="margin-top: 20px;">
299
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
300
- <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>
301
- </div>
302
- <!--<div class="row app-btn">-->
303
- <!--<button class="btn btn-primary col-xs-6" type="button" @click="search"><span class="glyphicon glyphicon-search" style="margin-right: 20px;">查询</span></button>-->
304
- <!--</div>-->
305
- <div style="height:30px;"></div>
306
- </form>
307
- </div>
308
- </criteria>
309
- <list :model="model" partial='list'>
310
- <div partial>
311
- <div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
312
- <div class="panel" style="padding: 10px 10px 5px 10px;">
313
- <div class="panel-body panel-self">
314
- <div class="col-xs-12">
315
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
316
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_userinfo_code }}</p>
317
- </div>
318
- <div class="col-xs-12">
319
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
320
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_user_name }}</p>
321
- </div>
322
- <div class="col-xs-6">
323
- <p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
324
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
325
- </p>
326
- </div>
327
- <div class="col-xs-6">
328
- <p class="panel-title col-xs-5 text-left font"><b>计划名称:</b></p>
329
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
330
- </div>
331
- <div class="col-xs-12">
332
- <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
333
- <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}
334
- <img src="../../../assets/phone.png" style="width: 6%" v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone)'></img>
335
- </p>
336
- </div>
337
- <div class="col-xs-12">
338
- <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
339
- <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
340
- </div>
341
- <div class="col-xs-6">
342
- <p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
343
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_last_check_state }}</p>
344
- </div>
345
- <div class="col-xs-6">
346
- <p class="panel-title col-xs-5 text-left font"><b>上传状态:</b></p>
347
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
348
- </div>
349
- <div class="row">
350
- <p class="panel-title col-xs-4 text-left font"><b>有无计划</b></p>
351
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_no_checkplan }}</p>
352
- </div>
353
- <div class="row" v-if="row.f_check_version">
354
- <p class="panel-title col-xs-4 text-left font"><b>到访次数</b></p>
355
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_check_version }}</p>
356
- </div>
357
- <div class="col-xs-12" v-show="row.f_approved == '不通过'">
358
- <p class="panel-title col-xs-5 text-left font" style="color: red;"><b>未通过原因:</b></p>
359
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_approved_note }}</p>
360
- </div>
361
- <!-- <div class="row" v-if="!row.f_check_version">
362
- <p class="panel-title col-xs-4 text-left font"><b>完成情况</b></p>
363
- <p class="panel-title col-xs-8 text-left input-font">已完成</p>
364
- </div>-->
365
- <!-- <div class="row text-right" v-show="row.f_upload_state != '已传'" >-->
366
- <!-- <button type="button" class="btn yybtn-color" v-on:click.stop.prevent='$parent.$parent.$parent.reserve($index)'>预约</button>&nbsp;-->
367
- <!-- <button type="button" class="btn qxbtn-color" v-if ='row.f_prearranged_date'-->
368
- <!-- v-on:click.stop.prevent='$parent.$parent.$parent.cancelReserve($index, row.id)'>取消预约</button>-->
369
- <!-- </div>-->
370
- </div>
371
- </div>
372
-
373
- </div>
374
- </div>
375
- </list>
376
- </criteria-paged>
377
- <modal :show.sync="showModal">
378
- <div slot="modal-header" class="modal-header">
379
- <h4 class="modal-title">
380
- 选择预约时间
381
- </h4>
382
- </div>
383
- <div slot="modal-body" class="modal-body">
384
- <input type="datetime-local" v-model="f_preset_dt">
385
- </div>
386
- <div slot="modal-footer" class="modal-footer">
387
- <button type="button" class="btn btn-default" @click="genuineReserve">确认</button>
388
- </div>
389
- </modal>
390
- <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
391
- </div>
392
- </template>
393
-
394
- <script>
395
- import LocalPagedList from '../../../plugins/LocalPagedList'
396
- import Vue from 'vue'
397
- import { PagedList } from 'vue-client'
398
- import * as Util from '../../Util'
399
-
400
- export default {
401
- title: '安检计划项',
402
- data() {
403
- return {
404
- model:Vue.android? new LocalPagedList('androidGetHasDone',5): new PagedList( 'AndroidRest/api/af-safecheck/sql/androidGetHasDone',5),
405
- showModal: false,
406
- param: null,
407
- criteriaShow: false,
408
- f_preset_dt : Util.to3339TimeString(),
409
- approveds:[
410
- {label: '全部', value: ''},
411
- {label: '通过', value: '通过'},
412
- {label: '不通过', value: '不通过'}
413
- ],
414
- flow_direction:[
415
- {label: '全部', value: ''},
416
- {label: '左表', value: '左表'},
417
- {label: '右表', value: '右表'}
418
- ],
419
- isends: [
420
- {label: '请选择完成状态', value: ''},
421
- {label: '未完成', value: '( tcp.f_check_version = 1 or tcp.f_check_version = 2 )'},
422
- {label: '已完成', value: 'tcp.f_check_version is null'},
423
- ],
424
- check_states: [
425
- {label: '请选择安检状态', value: ''},
426
- {label: '未检', value: '未检'},
427
- {label: '已检', value: '已检'},
428
- ],
429
- last_check_states: Vue.$appdata.getParam('安检状态'),
430
- upload_states: [
431
- {label: '请选择上传状态', value: ''},
432
- {label: '未传', value: '未传'},
433
- {label: '已传', value: '已传'}
434
- ],
435
- user_types: [
436
- {label: '请选择用户类型', value: ''},
437
- {label: '民用', value: '民用'},
438
- {label: '非民用', value: '非民用'},
439
- ],
440
- verify_state: [
441
- {label: '请选择审核状态', value: ''},
442
- {label: '未审核', value: '未审核'},
443
- {label: '打回', value: '打回'}
444
- ],
445
- planstates:[
446
- {label: '请选择有无安检计划', value: ''},
447
- {label: '有计划安检', value: '有计划安检'},
448
- {label: '无计划安检', value: '无计划安检'},
449
- ],
450
- defectcontents:[
451
- {label: '请选择有无安检隐患', value: ''},
452
- {label: '有隐患', value: '有隐患'},
453
- {label: '正常', value: '正常'},
454
- ]
455
- }
456
- },
457
- ready(){
458
- this.$refs.paged.$refs.cri.model.f_state = '已检'
459
- this.$refs.paged.$refs.cri.model.f_approved = '不通过'
460
- },
461
- methods: {
462
- refresh() {
463
- //tag
464
- // hard code relationship
465
- this.$refs.paged.$refs.cri.search()
466
- },
467
- reload(){
468
- //tag
469
- this.$refs.paged.loadPage(this.$refs.paged.model.pageIndex)
470
- },
471
- inspect(row) {
472
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/查询计划项表信息`, {data: {f_userid: row.f_userinfoid}},{resolveMsg: null,rejectMsg: null}).then((response) => {
473
- //tag)
474
- row['f_plan_meters'] = response.data
475
- var pardate = {
476
- _this:this,
477
- tittle:'安检已办',
478
- safe:true
479
- }
480
- this.$dispatch('gotoson',pardate)
481
- this.$goto('safecheck-order-v', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
482
- /* if (row.f_user_type == '民用') {
483
- this.$goto('paper-set', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
484
- } else {
485
- this.$goto('paper-set-noncivil', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
486
- }*/
487
- }).catch((err)=>{
488
- //网络异常调用本地数据
489
- let criteria = {
490
- items: '*',
491
- tablename: 't_plan_item_meter',
492
- condition: `f_plan_item_id = '${row.id}'`,
493
- groupitem: 'f_plan_item_id'
494
- }
495
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
496
- //tag)
497
- if(result.code == 200){
498
- //tag)
499
- row['f_plan_meters'] = result.data.rows
500
- var pardate = {
501
- _this:this,
502
- tittle:'安检已办',
503
- safe:true
504
- }
505
- this.$dispatch('gotoson',pardate)
506
- this.$goto('safecheck-order-v', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
507
- }
508
- })
509
-
510
- },
511
- makeAPhoneCall(phoneNumber) {
512
- this.$androidUtil.makeAPhoneCall(phoneNumber)
513
- },
514
- reserve (idx) {
515
- this.param = idx
516
- this.showModal = true
517
- },
518
- cancelReserve (idx, id) {
519
- if(Vue.android){
520
- let res = this.$androidUtil.bzLogic('BookingCheck', {dt: '', id: id})
521
- this.$set('model.rows[' + idx + '].f_prearranged_date', null)
522
- if (res.code == 200) {
523
- this.$showMessage("取消预约成功")
524
- }
525
- }else {
526
- this.$androidUtil.bzLogic('PCbookingCheck', {dt: '', id: id}).then((repanse) => {
527
- this.$set('model.rows[' + idx + '].f_prearranged_date', null)
528
- if (repanse.data.code == 200) {
529
- alert("取消预约成功!")
530
- }
531
- })
532
- }},
533
- genuineReserve () {
534
- if(Vue.android){
535
- if (!this.f_preset_dt) {
536
- this.$showMessage('请选择一个日期')
537
- return
538
- }
539
- let pdt = this.f_preset_dt.replace('T', ' ')
540
- let respanse = this.$androidUtil.bzLogic('BookingCheck', {id: this.model.rows[this.param].id, dt: pdt})
541
- this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
542
- if(respanse.code == 200) {
543
- this.$showMessage("预约成功!")
544
- }
545
- this.showModal = false
546
- }else {
547
- if (!this.f_preset_dt) {
548
- alert('请选择一个日期')
549
- return
550
- }
551
- let pdt = this.f_preset_dt.replace('T', ' ')
552
- this.$androidUtil.bzLogic('PCbookingCheck', {id: this.model.rows[this.param].id, dt: pdt}).then((res) => {
553
- this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
554
- if(res.data.code == 200) {
555
- alert("预约成功!")
556
- }
557
- this.showModal = false
558
- })
559
- }
560
- },
561
- selfSearch (args) {
562
- this.model.search(args.condition,args.model)
563
- },
564
- hidden() {
565
- this.criteriaShow = !this.criteriaShow
566
- }
567
- }
568
- }
569
- </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
+ .button_shrink_top {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_top.png")}
56
+ .button_shrink_bottom {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_bottom.png")}
57
+ .button_shrink_left {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_left.png")}
58
+ .button_shrink_right {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_right.png")}
59
+
60
+ </style>
61
+
62
+ <template>
63
+ <div class="auto">
64
+ <criteria-paged :model="model" v-ref:paged>
65
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
66
+ <div partial>
67
+ <form>
68
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
69
+ <div class="col-xs-4">
70
+ <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
71
+ <label for="f_user_type" class="font text-left">完成情况:</label>
72
+ </div>
73
+ <div class="col-xs-8" >
74
+ <v-select id="f_check_version" :value.sync="model.f_is_end" class="input-font"
75
+ :options='$parent.$parent.isends' placeholder='请选择完成状态'
76
+ v-model="model.f_is_end" condition="{}" close-on-select clear-button></v-select>
77
+ </div>
78
+ </div>
79
+ <div class="row app-row">
80
+ <div class="col-xs-4">
81
+ <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
82
+ <label for="f_plan_name" class="font text-left">计划名称:</label>
83
+ </div>
84
+ <div class="col-xs-8" >
85
+ <input id="f_plan_name" class="search_input input-font"
86
+ v-model=model.f_plan_name condition="f_plan_name like '%{}%'" />
87
+ </div>
88
+ </div>
89
+ <div class="row app-row">
90
+ <div class="col-xs-4">
91
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
92
+ <label for="f_userinfo_code" class="font text-left">用户编号:</label>
93
+ </div>
94
+ <div class="col-xs-8" >
95
+ <input id="f_userinfo_code" class="search_input input-font"
96
+ v-model=model.f_userinfo_code condition="ti.f_userinfo_code like '%{}%'" />
97
+ </div>
98
+ </div>
99
+
100
+ <div class="row app-row">
101
+ <div class="col-xs-4">
102
+ <img src="../../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
103
+ <label for="f_user_name" class="font text-left">用户姓名:</label>
104
+ </div>
105
+ <div class="col-xs-8" >
106
+ <input id="f_user_name" class="search_input input-font"
107
+ v-model=model.f_user_name condition="ti.f_user_name like '%{}%'" />
108
+ </div>
109
+ </div>
110
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
111
+ <div class="col-xs-4">
112
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
113
+ <label for="f_keyword" class="font text-left">小区名称:</label>
114
+ </div>
115
+ <div class="col-xs-8" >
116
+ <input id="f_keyword" class="search_input input-font"
117
+ v-model="model.f_residential_area" condition="ti.f_residential_area like '%{}%'" />
118
+ </div>
119
+ </div>
120
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
121
+ <div class="col-xs-4">
122
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
123
+ <label for="f_building" class="font text-left">楼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
124
+ </div>
125
+ <div class="col-xs-8" >
126
+ <input id="f_building" class="search_input input-font"
127
+ v-model="model.f_building" condition="ti.f_building like '%{}%'" />
128
+ </div>
129
+ </div>
130
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
131
+ <div class="col-xs-4">
132
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
133
+ <label for="f_unit" class="font text-left">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;元:</label>
134
+ </div>
135
+ <div class="col-xs-8" >
136
+ <input id="f_unit" class="search_input input-font"
137
+ v-model="model.f_unit" condition="ti.f_unit like '%{}%'" />
138
+ </div>
139
+ </div>
140
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
141
+ <div class="col-xs-4">
142
+ <img src="../../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">
143
+ <label for="f_plan_year" class="font text-left">计划年份:</label>
144
+ </div>
145
+ <div class="col-xs-8" >
146
+ <input id="f_plan_year" class="search_input input-font"
147
+ v-model="model.f_plan_year" condition="f_plan_year = '{}'" />
148
+ </div>
149
+ </div>
150
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
151
+ <div class="col-xs-4">
152
+ <img src="../../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">
153
+ <label for="f_plan_month" class="font text-left">计划月份:</label>
154
+ </div>
155
+ <div class="col-xs-8" >
156
+ <input id="f_plan_month" class="search_input input-font"
157
+ v-model="model.f_plan_month" condition="f_plan_month = '{}'" />
158
+ </div>
159
+ </div>
160
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
161
+ <div class="col-xs-4">
162
+ <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
163
+ <label class="font text-left">起始时间:</label>
164
+ </div>
165
+ <datepicker id="f_start_date"
166
+ placeholder= '起始时间'
167
+ :value.sync="model.f_start_date"
168
+ :disabled-days-of-Week="[]"
169
+ v-model="model.f_start_date"
170
+ class="input-font"
171
+ :format="'yyyy-MM-dd 00:00:00'"
172
+ :show-reset-button="reset"
173
+ condition="tcp.f_offsite_time > '{}'"
174
+ readonly="readonly">
175
+ </datepicker>
176
+ </div>
177
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
178
+ <div class="col-xs-4">
179
+ <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
180
+ <label class="font text-left">结束时间:</label>
181
+ </div>
182
+ <datepicker id="f_end_date"
183
+ placeholder= '结束时间'
184
+ :value.sync="model.f_end_date"
185
+ :disabled-days-of-Week="[]"
186
+ v-model="model.f_end_date"
187
+ class="input-font"
188
+ :format="'yyyy-MM-dd 23:59:00'"
189
+ :show-reset-button="reset"
190
+ condition="tcp.f_offsite_time < '{}'"
191
+ readonly="readonly">
192
+ </datepicker>
193
+ </div>
194
+ <div class="row app-row" v-show="$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_address condition="ti.f_address like '%{}%'" />
202
+ </div>
203
+
204
+ </div>
205
+
206
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
207
+ <div class="col-xs-4">
208
+ <img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
209
+ <label for="f_user_type" class="font text-left">用户类型:</label>
210
+ </div>
211
+ <div class="col-xs-8" >
212
+ <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
213
+ :options='$parent.$parent.user_types' placeholder='请选择用户类型'
214
+ v-model="model.f_user_type" condition="ti.f_user_type='{}'" close-on-select clear-button></v-select>
215
+ </div>
216
+ </div>
217
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
218
+ <div class="col-xs-4">
219
+ <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
220
+ <label class="font text-left">挂表方式:</label>
221
+ </div>
222
+ <div class="col-xs-8" >
223
+ <v-select :value.sync="model.f_flow_direction"
224
+ :value-single="true"
225
+ :options='$parent.$parent.flow_direction' placeholder='请选择挂表方式'
226
+ v-model="model.f_flow_direction" condition="tm.f_flow_direction='{}'" close-on-select clear-button></v-select>
227
+ </div>
228
+ </div>
229
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
230
+ <div class="col-xs-4">
231
+ <img src="../../../assets/有无计划.png" style="width: 20px;margin-bottom: 5px" alt="">
232
+ <label for="f_no_checkplan" class="font text-left">有无计划:</label>
233
+ </div>
234
+ <div class="col-xs-8" >
235
+ <v-select id="f_no_checkplan" :value.sync="model.f_no_checkplan" class="input-font"
236
+ :options='$parent.$parent.planstates' placeholder='请选择有无计划'
237
+ v-model="model.f_no_checkplan" condition="ti.f_no_checkplan='{}'" close-on-select clear-button></v-select>
238
+ </div>
239
+ </div>
240
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
241
+ <div class="col-xs-4">
242
+ <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
243
+ <label for="f_no_checkplan" class="font text-left">有无隐患:</label>
244
+ </div>
245
+ <div class="col-xs-8" >
246
+ <v-select id="f_no_checkplan" :value.sync="model.f_defect_content" class="input-font"
247
+ :options='$parent.$parent.defectcontents' placeholder='请选择有无隐患'
248
+ v-model="model.f_defect_content"
249
+ condition="tcp.f_defect_content like '%{}%'"
250
+ close-on-select clear-button></v-select>
251
+ </div>
252
+ </div>
253
+ <!-- <div class="row app-row" v-show="false">-->
254
+ <!-- <div class="col-xs-4">-->
255
+ <!-- <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">-->
256
+ <!-- <label for="f_state" class="font text-left">是否已检:</label>-->
257
+ <!-- </div>-->
258
+ <!-- <div class="col-xs-8" >-->
259
+ <!-- <v-select id="f_state" :value.sync="model.f_state" class="input-font"-->
260
+ <!-- :options='$parent.$parent.check_states' placeholder='请选择是否已检'-->
261
+ <!-- v-model="model.f_state" condition="ti.f_state='{}'" close-on-select clear-button></v-select>-->
262
+ <!-- </div>-->
263
+ <!-- </div>-->
264
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
265
+ <div class="col-xs-4">
266
+ <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
267
+ <label for="f_last_state" class="font text-left">安检状态:</label>
268
+ </div>
269
+ <div class="col-xs-8" >
270
+ <v-select id="f_last_state" :value.sync="model.f_last_state" class="input-font"
271
+ :multiple="true"
272
+ :options='$parent.$parent.last_check_states' placeholder='请选择安检状态'
273
+ v-model="model.f_last_state" condition="ti.f_last_check_state in {}" ></v-select>
274
+ </div>
275
+ </div>
276
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
277
+ <div class="col-xs-4">
278
+ <img src="../../../assets/上传状态.png" style="width: 20px;margin-bottom: 5px" alt="">
279
+ <label for="f_upload_state" class="font text-left">上传状态:</label>
280
+ </div>
281
+ <div class="col-xs-8" >
282
+ <v-select id="f_upload_state" :value.sync="model.f_upload_state" class="input-font"
283
+ :options='$parent.$parent.upload_states' placeholder='请选择上传状态'
284
+ v-model="model.f_upload_state" condition="ti.f_upload_state='{}'" close-on-select clear-button></v-select>
285
+ </div>
286
+ </div>
287
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
288
+ <div class="col-xs-4">
289
+ <img src="../../../assets/上传状态.png" style="width: 20px;margin-bottom: 5px" alt="">
290
+ <label for="f_upload_state" class="font text-left">审核未通过</label>
291
+ </div>
292
+ <div class="col-xs-8" >
293
+ <v-select id="f_upload_state" :value.sync="model.f_approved" class="input-font"
294
+ :options='$parent.$parent.approveds' placeholder='请选择审核状态'
295
+ v-model="model.f_approved" condition="ti.f_approved='{}'" :value-single="true" close-on-select clear-button></v-select>
296
+ </div>
297
+ </div>
298
+ <div class="row text-center" style="margin-top: 20px;">
299
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
300
+ <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>
301
+ </div>
302
+ <!--<div class="row app-btn">-->
303
+ <!--<button class="btn btn-primary col-xs-6" type="button" @click="search"><span class="glyphicon glyphicon-search" style="margin-right: 20px;">查询</span></button>-->
304
+ <!--</div>-->
305
+ <div style="height:30px;"></div>
306
+ </form>
307
+ </div>
308
+ </criteria>
309
+ <list :model="model" partial='list'>
310
+ <div partial>
311
+ <div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
312
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
313
+ <div class="panel-body panel-self">
314
+ <div class="col-xs-12">
315
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
316
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_userinfo_code }}</p>
317
+ </div>
318
+ <div class="col-xs-12">
319
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
320
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_user_name }}</p>
321
+ </div>
322
+ <div class="col-xs-6">
323
+ <p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
324
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
325
+ </p>
326
+ </div>
327
+ <div class="col-xs-6">
328
+ <p class="panel-title col-xs-5 text-left font"><b>计划名称:</b></p>
329
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
330
+ </div>
331
+ <div class="col-xs-12">
332
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
333
+ <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}
334
+ <img src="../../../assets/phone.png" style="width: 6%" v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone)'></img>
335
+ </p>
336
+ </div>
337
+ <div class="col-xs-12">
338
+ <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
339
+ <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
340
+ </div>
341
+ <div class="col-xs-6">
342
+ <p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
343
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_last_check_state }}</p>
344
+ </div>
345
+ <div class="col-xs-6">
346
+ <p class="panel-title col-xs-5 text-left font"><b>上传状态:</b></p>
347
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
348
+ </div>
349
+ <div class="row">
350
+ <p class="panel-title col-xs-4 text-left font"><b>有无计划</b></p>
351
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_no_checkplan }}</p>
352
+ </div>
353
+ <div class="row" v-if="row.f_check_version">
354
+ <p class="panel-title col-xs-4 text-left font"><b>到访次数</b></p>
355
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_check_version }}</p>
356
+ </div>
357
+ <div class="col-xs-12" v-show="row.f_approved == '不通过'">
358
+ <p class="panel-title col-xs-5 text-left font" style="color: red;"><b>未通过原因:</b></p>
359
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_approved_note }}</p>
360
+ </div>
361
+ <!-- <div class="row" v-if="!row.f_check_version">
362
+ <p class="panel-title col-xs-4 text-left font"><b>完成情况</b></p>
363
+ <p class="panel-title col-xs-8 text-left input-font">已完成</p>
364
+ </div>-->
365
+ <!-- <div class="row text-right" v-show="row.f_upload_state != '已传'" >-->
366
+ <!-- <button type="button" class="btn yybtn-color" v-on:click.stop.prevent='$parent.$parent.$parent.reserve($index)'>预约</button>&nbsp;-->
367
+ <!-- <button type="button" class="btn qxbtn-color" v-if ='row.f_prearranged_date'-->
368
+ <!-- v-on:click.stop.prevent='$parent.$parent.$parent.cancelReserve($index, row.id)'>取消预约</button>-->
369
+ <!-- </div>-->
370
+ </div>
371
+ </div>
372
+
373
+ </div>
374
+ </div>
375
+ </list>
376
+ </criteria-paged>
377
+ <modal :show.sync="showModal">
378
+ <div slot="modal-header" class="modal-header">
379
+ <h4 class="modal-title">
380
+ 选择预约时间
381
+ </h4>
382
+ </div>
383
+ <div slot="modal-body" class="modal-body">
384
+ <input type="datetime-local" v-model="f_preset_dt">
385
+ </div>
386
+ <div slot="modal-footer" class="modal-footer">
387
+ <button type="button" class="btn btn-default" @click="genuineReserve">确认</button>
388
+ </div>
389
+ </modal>
390
+ <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
391
+ </div>
392
+ </template>
393
+
394
+ <script>
395
+ import LocalPagedList from '../../../plugins/LocalPagedList'
396
+ import Vue from 'vue'
397
+ import { PagedList } from 'vue-client'
398
+ import * as Util from '../../Util'
399
+
400
+ export default {
401
+ title: '安检计划项',
402
+ data() {
403
+ return {
404
+ model:Vue.android? new LocalPagedList('androidGetHasDone',5): new PagedList( 'AndroidRest/api/af-safecheck/sql/androidGetHasDone',5),
405
+ showModal: false,
406
+ param: null,
407
+ criteriaShow: false,
408
+ f_preset_dt : Util.to3339TimeString(),
409
+ approveds:[
410
+ {label: '全部', value: ''},
411
+ {label: '通过', value: '通过'},
412
+ {label: '不通过', value: '不通过'}
413
+ ],
414
+ flow_direction:[
415
+ {label: '全部', value: ''},
416
+ {label: '左表', value: '左表'},
417
+ {label: '右表', value: '右表'}
418
+ ],
419
+ isends: [
420
+ {label: '请选择完成状态', value: ''},
421
+ {label: '未完成', value: '( tcp.f_check_version = 1 or tcp.f_check_version = 2 )'},
422
+ {label: '已完成', value: 'tcp.f_check_version is null'},
423
+ ],
424
+ check_states: [
425
+ {label: '请选择安检状态', value: ''},
426
+ {label: '未检', value: '未检'},
427
+ {label: '已检', value: '已检'},
428
+ ],
429
+ last_check_states: Vue.$appdata.getParam('安检状态'),
430
+ upload_states: [
431
+ {label: '请选择上传状态', value: ''},
432
+ {label: '未传', value: '未传'},
433
+ {label: '已传', value: '已传'}
434
+ ],
435
+ user_types: [
436
+ {label: '请选择用户类型', value: ''},
437
+ {label: '民用', value: '民用'},
438
+ {label: '非民用', value: '非民用'},
439
+ ],
440
+ verify_state: [
441
+ {label: '请选择审核状态', value: ''},
442
+ {label: '未审核', value: '未审核'},
443
+ {label: '打回', value: '打回'}
444
+ ],
445
+ planstates:[
446
+ {label: '请选择有无安检计划', value: ''},
447
+ {label: '有计划安检', value: '有计划安检'},
448
+ {label: '无计划安检', value: '无计划安检'},
449
+ ],
450
+ defectcontents:[
451
+ {label: '请选择有无安检隐患', value: ''},
452
+ {label: '有隐患', value: '有隐患'},
453
+ {label: '正常', value: '正常'},
454
+ ]
455
+ }
456
+ },
457
+ ready(){
458
+ this.$refs.paged.$refs.cri.model.f_state = '已检'
459
+ this.$refs.paged.$refs.cri.model.f_approved = '不通过'
460
+ },
461
+ methods: {
462
+ refresh() {
463
+ //tag
464
+ // hard code relationship
465
+ this.$refs.paged.$refs.cri.search()
466
+ },
467
+ reload(){
468
+ //tag
469
+ this.$refs.paged.loadPage(this.$refs.paged.model.pageIndex)
470
+ },
471
+ inspect(row) {
472
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/查询计划项表信息`, {data: {f_userid: row.f_userinfoid}},{resolveMsg: null,rejectMsg: null}).then((response) => {
473
+ //tag)
474
+ row['f_plan_meters'] = response.data
475
+ var pardate = {
476
+ _this:this,
477
+ tittle:'安检已办',
478
+ safe:true
479
+ }
480
+ this.$dispatch('gotoson',pardate)
481
+ this.$goto('safecheck-order-v', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
482
+ /* if (row.f_user_type == '民用') {
483
+ this.$goto('paper-set', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
484
+ } else {
485
+ this.$goto('paper-set-noncivil', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
486
+ }*/
487
+ }).catch((err)=>{
488
+ //网络异常调用本地数据
489
+ let criteria = {
490
+ items: '*',
491
+ tablename: 't_plan_item_meter',
492
+ condition: `f_plan_item_id = '${row.id}'`,
493
+ groupitem: 'f_plan_item_id'
494
+ }
495
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
496
+ //tag)
497
+ if(result.code == 200){
498
+ //tag)
499
+ row['f_plan_meters'] = result.data.rows
500
+ var pardate = {
501
+ _this:this,
502
+ tittle:'安检已办',
503
+ safe:true
504
+ }
505
+ this.$dispatch('gotoson',pardate)
506
+ this.$goto('safecheck-order-v', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
507
+ }
508
+ })
509
+
510
+ },
511
+ makeAPhoneCall(phoneNumber) {
512
+ this.$androidUtil.makeAPhoneCall(phoneNumber)
513
+ },
514
+ reserve (idx) {
515
+ this.param = idx
516
+ this.showModal = true
517
+ },
518
+ cancelReserve (idx, id) {
519
+ if(Vue.android){
520
+ let res = this.$androidUtil.bzLogic('BookingCheck', {dt: '', id: id})
521
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
522
+ if (res.code == 200) {
523
+ this.$showMessage("取消预约成功")
524
+ }
525
+ }else {
526
+ this.$androidUtil.bzLogic('PCbookingCheck', {dt: '', id: id}).then((repanse) => {
527
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
528
+ if (repanse.data.code == 200) {
529
+ alert("取消预约成功!")
530
+ }
531
+ })
532
+ }},
533
+ genuineReserve () {
534
+ if(Vue.android){
535
+ if (!this.f_preset_dt) {
536
+ this.$showMessage('请选择一个日期')
537
+ return
538
+ }
539
+ let pdt = this.f_preset_dt.replace('T', ' ')
540
+ let respanse = this.$androidUtil.bzLogic('BookingCheck', {id: this.model.rows[this.param].id, dt: pdt})
541
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
542
+ if(respanse.code == 200) {
543
+ this.$showMessage("预约成功!")
544
+ }
545
+ this.showModal = false
546
+ }else {
547
+ if (!this.f_preset_dt) {
548
+ alert('请选择一个日期')
549
+ return
550
+ }
551
+ let pdt = this.f_preset_dt.replace('T', ' ')
552
+ this.$androidUtil.bzLogic('PCbookingCheck', {id: this.model.rows[this.param].id, dt: pdt}).then((res) => {
553
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
554
+ if(res.data.code == 200) {
555
+ alert("预约成功!")
556
+ }
557
+ this.showModal = false
558
+ })
559
+ }
560
+ },
561
+ selfSearch (args) {
562
+ this.model.search(args.condition,args.model)
563
+ },
564
+ hidden() {
565
+ this.criteriaShow = !this.criteriaShow
566
+ }
567
+ }
568
+ }
569
+ </script>