safecheck-client 3.0.34-65 → 3.0.34-67

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,633 +1,633 @@
1
- <style scoped>
2
- .bg {
3
- background-color: blue;
4
- height: 1px;
5
- border: 0;
6
- }
7
-
8
- .app-row {
9
- background-color: white;
10
- padding: 10px 10px 0 10px;
11
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
12
- }
13
-
14
- .search_input {
15
- border: 0;
16
- outline: none;
17
- }
18
-
19
- .font {
20
- font: 15px PingFang-SC-Medium;
21
- color: #666666;
22
- }
23
-
24
- .input-font {
25
- font: 15px PingFang-SC-Medium;
26
- color: #333333;
27
- }
28
-
29
- .btn-font {
30
- font: 600 16px PingFang-SC-Bold;
31
- color: #499EDF;
32
- }
33
-
34
- .btn-color {
35
- background-color: #FFFFFF;
36
- border-radius: 10px;
37
- border: 1px solid #499EDF;
38
- }
39
-
40
- .app-text {
41
- font-size: 12px;
42
- }
43
-
44
- .panel-self {
45
- border-radius: 10px;
46
- border: 1px solid #499EDF;
47
- background-color: #F8F8F8;
48
- }
49
-
50
- .yybtn-color {
51
- background-color: #499edf;
52
- border-radius: 4px;
53
- border: 1px solid #499EDF;
54
- color: #FFFFFF;
55
- font: 14px PingFang-SC-Bold;
56
- }
57
-
58
- .qxbtn-color {
59
- background-color: #FFFFFF;
60
- border-radius: 4px;
61
- color: #499edf;
62
- font: 14px PingFang-SC-Bold;
63
- border: 1px solid #499EDF;
64
- }
65
-
66
- .button_shrink_top {
67
- width: 35px;
68
- height: 35px;
69
- background-size: 100%;
70
- background-image: url("../../../../static/newStyle/stretch_top.png")
71
- }
72
-
73
- .button_shrink_bottom {
74
- width: 35px;
75
- height: 35px;
76
- background-size: 100%;
77
- background-image: url("../../../../static/newStyle/stretch_bottom.png")
78
- }
79
-
80
- .button_shrink_left {
81
- width: 35px;
82
- height: 35px;
83
- background-size: 100%;
84
- background-image: url("../../../../static/newStyle/stretch_left.png")
85
- }
86
-
87
- .button_shrink_right {
88
- width: 35px;
89
- height: 35px;
90
- background-size: 100%;
91
- background-image: url("../../../../static/newStyle/stretch_right.png")
92
- }
93
- </style>
94
- <template>
95
- <div style="height: auto;width: 100%">
96
- <criteria-paged :model="model" v-ref:paged>
97
- <criteria partial='criteria' @condition-changed='search' v-ref:cri>
98
- <div partial>
99
- <form>
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 class="font text-left">用户姓名:</label>
104
- </div>
105
- <div class="col-xs-8">
106
- <input class="search_input input-font" v-model=model.f_user_name
107
- condition="tcp.f_user_name like '%{}%'"/>
108
- </div>
109
- </div>
110
- <div class="row app-row">
111
- <div class="col-xs-4">
112
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
113
- <label for="f_userinfo_code" class="font text-left">用户编号:</label>
114
- </div>
115
- <div class="col-xs-8">
116
- <input id="f_userinfo_code" class="search_input input-font"
117
- v-model=model.f_userinfo_code condition="tcp.f_userinfo_code like '%{}%'"/>
118
- </div>
119
- </div>
120
- <div class="row app-row">
121
- <div class="col-xs-4">
122
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
123
- <label for="f_userinfo_code" class="font text-left">安检人员:</label>
124
- </div>
125
- <div class="col-xs-8">
126
- <input id="f_userinfo_code" class="search_input input-font"
127
- v-model=model.f_checker_name condition="tcp.f_checker_name like '%{}%'"/>
128
- </div>
129
- </div>
130
- <div class="row app-row">
131
- <div class="col-xs-4">
132
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
133
- <label class="font text-left">用户地址:</label>
134
- </div>
135
- <div class="col-xs-8">
136
- <input class="search_input input-font"
137
- v-model=model.f_address condition="tcp.f_address like '%{}%'"/>
138
- </div>
139
- </div>
140
- <div class="row app-row">
141
- <div class="col-xs-4">
142
- <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
143
- <label for="f_state" class="font text-left">起始时间:</label>
144
- </div>
145
- <datepicker id="f_start_date"
146
- placeholder='起始时间'
147
- :value.sync="model.f_start_date"
148
- :disabled-days-of-Week="[]"
149
- v-model="model.f_start_date"
150
- class="input-font col-xs-8"
151
- :format="'yyyy-MM-dd 00:00:00'"
152
- :show-reset-button="reset" readonly="readonly">
153
- </datepicker>
154
- </div>
155
- <div class="row app-row">
156
- <div class="col-xs-4">
157
- <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
158
- <label for="f_state" class="font text-left">结束时间:</label>
159
- </div>
160
- <datepicker id="f_end_date"
161
- placeholder='结束时间'
162
- :value.sync="model.f_end_date"
163
- :disabled-days-of-Week="[]"
164
- v-model="model.f_end_date"
165
- class="input-font col-xs-8"
166
- :format="'yyyy-MM-dd 23:59:00'"
167
- :show-reset-button="reset" readonly="readonly">
168
- </datepicker>
169
- </div>
170
- <div class="row app-row">
171
- <div class="col-xs-4">
172
- <img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
173
- <label for="f_user_type" class="font text-left">用户类型:</label>
174
- </div>
175
- <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
176
- :width="'60%'"
177
- :options='$parent.$parent.user_types' placeholder='请选择用户类型'
178
- v-model="model.f_user_type" condition="uf.f_user_type = '{}'" close-on-select
179
- clear-button></v-select>
180
- </div>
181
- <div class="row text-center" style="margin-top: 20px;">
182
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;"
183
- @click="$parent.$parent.selfSearch">查询
184
- </button>
185
- <div style="float: right;margin-right: 3% " class="button_spacing"
186
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
187
- @click="$parent.$parent.hidden()"></div>
188
- </div>
189
- <div style="height:30px;"></div>
190
- </form>
191
- </div>
192
- </criteria>
193
- <list :model="model" partial='list'>
194
- <div partial>
195
- <div class="auto app-text" style="margin-top: 5px;">
196
- <div class="panel" style="padding: 10px 10px 5px 10px;">
197
- <div class="panel-body panel-self">
198
- <div class="col-xs-12">
199
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
200
- <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{ row.f_userinfo_code }}</p>
201
- </div>
202
- <div class="col-xs-12">
203
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
204
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_user_name }}</p>
205
- </div>
206
- <div class="col-xs-12">
207
- <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
208
- <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone }}</p>
209
- </div>
210
- <div class="col-xs-12">
211
- <p class="panel-title text-left font" style="width: 23%;float: left"><b>安检时间:</b></p>
212
- <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_create_time }}</p>
213
- </div>
214
- <div class="col-xs-12">
215
- <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
216
- <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
217
- </div>
218
- <div class="col-xs-12">
219
- <p class="panel-title text-left font" style="width: 21%;float: left"><b>所属安检:</b></p>
220
- <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_checker_name }}</p>
221
- </div>
222
- <div class="col-xs-6">
223
- <p class="panel-title col-xs-5 text-left font"><b>检&ensp;查&ensp;项:</b></p>
224
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_device_type }}</p>
225
- </div>
226
- <div class="col-xs-6">
227
- <p class="panel-title col-xs-5 text-left font"><b>隐&ensp;患&ensp;项:</b></p>
228
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_item_name }}</p>
229
- </div>
230
- <div class="col-xs-12">
231
- <p class="panel-title col-xs-5 text-left font"><b>备注:</b></p>
232
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_comments }}</p>
233
- </div>
234
- <div class="col-xs-12">
235
- <p class="panel-title col-xs-5 text-left font"><b>隐患原因:</b></p>
236
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_item_value }}</p>
237
- </div>
238
-
239
- <div class="col-xs-12">
240
- <button type="button" name="button" class="btn btn-primary"
241
- style="background-color:#499edf;float: right"
242
- @click="$parent.$parent.$parent.openshowModal(row)">查看
243
- </button>
244
- <button type="button" name="button" class="btn btn-primary"
245
- style="background-color:#499edf;float: right;margin-right:10px;"
246
- @click="$parent.$parent.$parent.openshowModal1(row)">处理
247
- </button>
248
- <!--<button type="button" class="btn btn-default" @click="$parent.$parent.$parent.ceshi">确认2</button>-->
249
- </div>
250
- </div>
251
- </div>
252
- </div>
253
- </div>
254
- </list>
255
- </criteria-paged>
256
- </div>
257
- <modal :show.sync="showModal">
258
- <div slot="modal-header" class="modal-header">
259
- <h4 class="modal-title">
260
- 隐患照片
261
- </h4>
262
- </div>
263
- <div slot="modal-body" class="modal-body">
264
- <div class="from-group">
265
- <div class="row">
266
- <div class="col-md-6">
267
- <img-self v-if="row.f_path" :src="`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+row.f_path" width="300" height="400"></img-self>
268
- <img-self v-if="row.f_p1_path" :src="`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+row.f_p1_path" width="300" height="400"></img-self>
269
- <img-self v-if="row.f_p2_path" :src="`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+row.f_p2_path" width="300" height="400"></img-self>
270
- </div>
271
- </div>
272
- </div>
273
- </div>
274
- <div slot="modal-footer" class="modal-footer">
275
- <button type="button" class="btn btn-default" @click="closeshowModal">确认</button>
276
- </div>
277
- </modal>
278
- <modal :show.sync="showModal1">
279
- <div slot="modal-header" class="modal-header">
280
- <h4 class="modal-title">
281
- 处理结果
282
- </h4>
283
- </div>
284
- <div slot="modal-body" class="modal-body">
285
- <div class="row" style="margin-bottom: 10px">
286
- <p class="panel-title col-xs-3 text-left font"><b>隐&ensp;患&ensp;项:</b></p>
287
- <p class="panel-title col-xs-9 text-left input-font">{{ deal.result.f_item_name }}</p>
288
- </div>
289
- <div class="row" style="margin-bottom: 10px">
290
- <p class="panel-title col-xs-3 text-left font"><b>隐患原因:</b></p>
291
- <p class="panel-title col-xs-9 text-left input-font">{{ deal.result.f_item_value }}</p>
292
- </div>
293
- <div class="form-group col-sm-12">
294
- <div class="auto">
295
- <div class="panel" style="padding: 10px 10px 5px 10px;">
296
- <div class="panel-body panel-self"
297
- style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
298
- <img-self :src="deal.f_deal_path" alt="整改照片" :width="140" :height="170" capture="camera"
299
- type="file"></img-self>
300
- <div class="row text-right div-photo" style="height: 50px;margin-top: -30px">
301
- <img src="../../../assets/remove.png" @click="delfile('f_deal_path', deal.f_deal_path)"></img>
302
- <button type="button" name="button" class="btn btn-primary btn-photo"
303
- @click="takePic('f_deal_path','整改照片')">拍照
304
- </button>
305
- </div>
306
- </div>
307
- <div class="panel-body panel-self"
308
- style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
309
- <img-self :src="deal.f_other_dealpath1" alt="整改照片" :width="140" :height="170" capture="camera"
310
- type="file"></img-self>
311
- <div class="row text-right div-photo" style="height: 50px;margin-top: -30px">
312
- <img src="../../../assets/remove.png" @click="delfile('f_other_dealpath1', deal.f_other_dealpath1)"></img>
313
- <button type="button" name="button" class="btn btn-primary btn-photo"
314
- @click="takePic('f_other_dealpath1','整改照片')">拍照
315
- </button>
316
- </div>
317
- </div>
318
- <div class="panel-body panel-self"
319
- style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
320
- <img-self :src="deal.f_other_dealpath2" alt="整改照片" :width="140" :height="170" capture="camera"
321
- type="file"></img-self>
322
- <div class="row text-right div-photo" style="height: 50px;margin-top: -30px">
323
- <img src="../../../assets/remove.png" @click="delfile('f_other_dealpath2', deal.f_other_dealpath2)"></img>
324
- <button type="button" name="button" class="btn btn-primary btn-photo"
325
- @click="takePic('f_other_dealpath2','整改照片')">拍照
326
- </button>
327
- </div>
328
- </div>
329
- </div>
330
- </div>
331
- </div>
332
- <div class="form-group col-sm-12" v-if="isNeedDealSign">
333
- <p class="panel-title text-left font" style="text-align: center">用户签名:</p>
334
- <div class="auto">
335
- <div class="panel" style="padding: 10px 10px 5px 10px;">
336
- <div class="panel-body panel-self"
337
- style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
338
- <img :src="deal.f_dealsign_path" :width="200" :height="150"/>
339
- <div class="row text-right div-photo" style="height: 50px;margin-top: 60px">
340
- <button type="button" name="button" class="btn btn-primary btn-photo" @click="sign">签名</button>
341
- </div>
342
- </div>
343
- </div>
344
- </div>
345
- </div>
346
- <div class="row">
347
- <div class="col-xs-2">
348
- <p class="panel-title text-left font" style="text-align: center">处理结果</p>
349
- </div>
350
- <div class="col-xs-9">
351
- <textarea class="input-font " v-model=deal.f_deal_remark style="width: 100%"></textarea>
352
- </div>
353
- </div>
354
- <div v-if="isCancelLimitGas" style="display: flex;align-items: end;height: 30px;gap: 10px;padding-left: 16px;">
355
- <input type="checkbox" v-model="deletebacklistisselect"/>
356
- <div style="height: 18px">取消限制该用户购气</div>
357
- </div>
358
- </div>
359
- <div slot="modal-footer" class="modal-footer">
360
- <button type="button" class="btn btn-default" @click="commitDealDefect">确认</button>
361
- <button type="button" class="btn btn-default" @click="closeshowModal1">取消</button>
362
- </div>
363
- </modal>
364
- </template>
365
-
366
- <script>
367
- import Vue from 'vue'
368
- import {HttpResetClass, PagedList} from 'vue-client'
369
- import * as Util from '../../Util'
370
-
371
- export default {
372
- title: '无计划安检查询',
373
- data() {
374
- return {
375
- row:{},
376
- showModal: false,
377
- showModal1: false,
378
- showimg: '',
379
- deal: {
380
- result: {},
381
- f_deal_path: '',
382
- f_other_dealpath1: '',
383
- f_other_dealpath2: '',
384
- f_deal_remark: '',
385
- f_dealsign_path: '', //签名
386
- f_dealer: Vue.user.name,
387
- f_dealer_id: Vue.user.id
388
- },
389
- user_types: [
390
- {label: '请选择用户类型', value: ''},
391
- {label: '民用', value: '民用'},
392
- {label: '非民用', value: '非民用'},
393
- ],
394
- f_filialeids: '',
395
- model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/AndroidDealWith`, 20, {
396
- condition: 'this.condition',
397
- f_filialeids: `'${Vue.user.f_orgids.substring(0,Vue.user.f_orgids.length-1)}'`,
398
- f_checker_id: `'${Vue.user.id}'`
399
- }),
400
- criteriaShow: false,
401
- isNeedDealSign: this.$appdata.getSingleValue('隐患处理是否需要签名') == 'true',
402
- isCancelLimitGas: this.$appdata.getSingleValue('隐患处理-取消限制购气') == '是',
403
- deletebacklistisselect: false
404
- }
405
- },
406
- ready() {
407
- this.selfSearch()
408
- },
409
- methods: {
410
- async deletebacklist() {
411
- ////tag)
412
- let http = new HttpResetClass()
413
- ////tag
414
- let res1 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
415
- data: {
416
- items: "*",
417
- tablename: "t_userinfo",
418
- condition: `f_userinfo_code = ${this.deal.result.f_userinfo_code}`,
419
- orderitem: "f_userinfo_code"
420
- }
421
- }, {resolveMsg: null, rejectMsg: null})
422
- ////tag)
423
- ////tag
424
- let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/backlistOperate`, {
425
- data: {
426
- "f_operat_type": "取消拉黑",
427
- "f_state": "有效",
428
- "f_user_name": this.deal.result.f_user_name,
429
- "f_comments": '',
430
- "f_operator": Vue.user.name,
431
- "f_operatorid": Vue.user.id,
432
- "f_orgid": Vue.user.f_orgids.substring(0,Vue.user.f_orgids.length-1),
433
- "f_orgname": Vue.user.f_fengongsi,
434
- "f_depid": Vue.user.parentid,
435
- "f_depname": Vue.user.f_parentname,
436
- "f_describe": `${Vue.user.name}对用户${this.deal.result.f_user_name}进行取消拉黑`,
437
- "f_userinfo_id": {
438
- "f_userinfo_id": res1.data[0].f_userinfo_id,
439
- "f_user_state": "正常",
440
- "version": res1.data[0].version
441
- },
442
- "f_limit_times":"",
443
- "f_limit_value":""
444
- }
445
- }, {resolveMsg: null, rejectMsg: null})
446
- },
447
- // 签名回调
448
- signCallback(prop, fileName) {
449
- console.log("签名回调地址" + fileName)
450
- // HostApp.alert('绑定属性:' + prop + ' 文件全路径如file:///storage/sdcard0/safecheck/abc.jpg:' + fullFileName)
451
- HostApp.__this__.$set('deal.f_dealsign_path', fileName)
452
- HostApp.__callback__ = null
453
- HostApp.__this__ = null
454
- },
455
- // 用户签名
456
- sign() {
457
- if (!this.deal.f_deal_path) {
458
- this.$showMessage('请先拍摄处理后照片!!!')
459
- return
460
- }
461
- this.delAudioFile('f_dealsign_path', this.deal.f_dealsign_path)
462
- let prop = 'f_dealsign_path'
463
- let idx = 'aofeng'
464
- let fileName
465
- if (!this.deal.f_dealsign_path) {
466
- fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
467
- } else {
468
- fileName = Util.getFileName(this.deal.f_dealsign_path)
469
- }
470
- HostApp.__callback__ = this.signCallback
471
- HostApp.__this__ = this
472
- HostApp.getSignature({
473
- file: fileName,
474
- requestCode: 111,
475
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");'
476
- })
477
- },
478
- delAudioFile(prop, fileName) {
479
- if (!fileName)
480
- return
481
- else {
482
- HostApp.delfile(fileName)
483
- this.deal[prop] = null
484
- }
485
- },
486
- commitDealDefect() {
487
- //tag
488
- //tag)
489
- if (!this.deal.f_deal_path) {
490
- this.$showMessage('处理后照片必须上传')
491
- return
492
- }
493
- if (this.isNeedDealSign && !this.deal.f_dealsign_path) {
494
- this.$showMessage('签名必须上传')
495
- return
496
- }
497
- if (this.deletebacklistisselect){
498
- this.deletebacklist()
499
- }
500
- HostApp.__this__ = this
501
- HostApp.logicWithHint({
502
- 'logic': 'safe_dealWithDefect', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
503
- 'data': this.deal, 'backresult': 1
504
- })
505
- },
506
- commitCallBack(jo) {
507
- //tag
508
- //tag)
509
- if (jo.state == 'ok') {
510
- let ress = JSON.parse(jo.result)
511
- if (ress.code == 200) {
512
- this.$showMessage(ress.msg)
513
- this.closeshowModal1()
514
- } else {
515
- this.$showMessage(ress.msg)
516
- }
517
- } else {
518
- this.$showMessage('本地服务调用失败')
519
- }
520
- },
521
- delfile(prop, fileName) {
522
- if (fileName == Vue.nopic)
523
- return
524
- else {
525
- HostApp.delfile(fileName)
526
- this.deal[prop] = Vue.nopic
527
- }
528
- },
529
- openshowModal(val) {
530
- this.row = val
531
- this.showModal = true
532
- },
533
- closeshowModal() {
534
- this.showimg = ''
535
- this.showModal = false
536
- },
537
- openshowModal1(val) {
538
- this.deal.result = val
539
- //tag
540
- //tag
541
- this.deletebacklistisselect = false
542
- this.showModal1 = true
543
- },
544
- closeshowModal1() {
545
- this.deal = {
546
- result: {},
547
- f_deal_path: '',
548
- f_other_dealpath1: '',
549
- f_other_dealpath2: '',
550
- f_deal_remark: '',
551
- f_dealsign_path: '', //签名
552
- f_dealer: Vue.user.name,
553
- f_dealer_id: Vue.user.id
554
- }
555
- this.showModal1 = false
556
- this.selfSearch()
557
- },
558
- cameraCallBack(prop, fileName) {
559
- HostApp.__this__.$set( 'deal.'+prop+'', fileName)
560
- HostApp.__callback__ = null
561
- HostApp.__this__ = null
562
- },
563
- takePic(prop, title) {
564
- HostApp.__callback__ = this.cameraCallBack
565
- HostApp.__this__ = this
566
- let fileName
567
- if (!this.deal[prop] || this.deal[prop].includes("nopic.png")) {
568
- fileName = Util.guid() + '-' + prop + '.jpg'
569
- } else {
570
- fileName = Util.getFileName(this.deal[prop])
571
- }
572
- //tag
573
- //tag
574
- HostApp._open_a_page({
575
- type: 'boomerang',
576
- page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
577
- param: {
578
- file: fileName,
579
- requestCode: 111,
580
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
581
- watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
582
- }
583
- })
584
- },
585
- selfSearch() {
586
-
587
- let condition = "1=1 "
588
- if (this.$refs.paged.$refs.cri.model.f_user_name) {
589
- if (this.$refs.paged.$refs.cri.model.f_user_name.toString().trim()) {
590
- condition += " and tcp.f_user_name like '" + this.$refs.paged.$refs.cri.model.f_user_name + "%'"
591
- }
592
- }
593
- if (this.$refs.paged.$refs.cri.model.f_userinfo_code) {
594
- if (this.$refs.paged.$refs.cri.model.f_userinfo_code.toString().trim()) {
595
- condition += " and tcp.f_userinfo_code = '" + this.$refs.paged.$refs.cri.model.f_userinfo_code + "'"
596
- }
597
- }
598
- if (this.$refs.paged.$refs.cri.model.f_checker_name) {
599
- if (this.$refs.paged.$refs.cri.model.f_checker_name.toString().trim()) {
600
- condition += " and tcp.f_checker_name = '" + this.$refs.paged.$refs.cri.model.f_checker_name + "'"
601
- }
602
- }
603
- if (this.$refs.paged.$refs.cri.model.f_address) {
604
- if (this.$refs.paged.$refs.cri.model.f_address.toString().trim()) {
605
- condition += " and tcp.f_address like '%" + this.$refs.paged.$refs.cri.model.f_address + "%'"
606
- }
607
- }
608
- if (this.$refs.paged.$refs.cri.model.f_start_date) {
609
- if (this.$refs.paged.$refs.cri.model.f_start_date.toString().trim()) {
610
- condition += " and tdl.f_create_time > '" + this.$refs.paged.$refs.cri.model.f_start_date + "'"
611
- }
612
- }
613
- if (this.$refs.paged.$refs.cri.model.f_end_date) {
614
- if (this.$refs.paged.$refs.cri.model.f_end_date.toString().trim()) {
615
- condition += " and tdl.f_create_time < '" + this.$refs.paged.$refs.cri.model.f_end_date + "'"
616
- }
617
- }
618
- if (this.$refs.paged.$refs.cri.model.f_user_type) {
619
- if (this.$refs.paged.$refs.cri.model.f_user_type.toString().trim()) {
620
- condition += " and uf.f_user_type = '" + this.$refs.paged.$refs.cri.model.f_user_type + "'"
621
- }
622
- }
623
-
624
- //tag
625
- this.model.search(condition)
626
- },
627
-
628
- hidden() {
629
- this.criteriaShow = !this.criteriaShow
630
- }
631
- }
632
- }
633
- </script>
1
+ <style scoped>
2
+ .bg {
3
+ background-color: blue;
4
+ height: 1px;
5
+ border: 0;
6
+ }
7
+
8
+ .app-row {
9
+ background-color: white;
10
+ padding: 10px 10px 0 10px;
11
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
12
+ }
13
+
14
+ .search_input {
15
+ border: 0;
16
+ outline: none;
17
+ }
18
+
19
+ .font {
20
+ font: 15px PingFang-SC-Medium;
21
+ color: #666666;
22
+ }
23
+
24
+ .input-font {
25
+ font: 15px PingFang-SC-Medium;
26
+ color: #333333;
27
+ }
28
+
29
+ .btn-font {
30
+ font: 600 16px PingFang-SC-Bold;
31
+ color: #499EDF;
32
+ }
33
+
34
+ .btn-color {
35
+ background-color: #FFFFFF;
36
+ border-radius: 10px;
37
+ border: 1px solid #499EDF;
38
+ }
39
+
40
+ .app-text {
41
+ font-size: 12px;
42
+ }
43
+
44
+ .panel-self {
45
+ border-radius: 10px;
46
+ border: 1px solid #499EDF;
47
+ background-color: #F8F8F8;
48
+ }
49
+
50
+ .yybtn-color {
51
+ background-color: #499edf;
52
+ border-radius: 4px;
53
+ border: 1px solid #499EDF;
54
+ color: #FFFFFF;
55
+ font: 14px PingFang-SC-Bold;
56
+ }
57
+
58
+ .qxbtn-color {
59
+ background-color: #FFFFFF;
60
+ border-radius: 4px;
61
+ color: #499edf;
62
+ font: 14px PingFang-SC-Bold;
63
+ border: 1px solid #499EDF;
64
+ }
65
+
66
+ .button_shrink_top {
67
+ width: 35px;
68
+ height: 35px;
69
+ background-size: 100%;
70
+ background-image: url("../../../../static/newStyle/stretch_top.png")
71
+ }
72
+
73
+ .button_shrink_bottom {
74
+ width: 35px;
75
+ height: 35px;
76
+ background-size: 100%;
77
+ background-image: url("../../../../static/newStyle/stretch_bottom.png")
78
+ }
79
+
80
+ .button_shrink_left {
81
+ width: 35px;
82
+ height: 35px;
83
+ background-size: 100%;
84
+ background-image: url("../../../../static/newStyle/stretch_left.png")
85
+ }
86
+
87
+ .button_shrink_right {
88
+ width: 35px;
89
+ height: 35px;
90
+ background-size: 100%;
91
+ background-image: url("../../../../static/newStyle/stretch_right.png")
92
+ }
93
+ </style>
94
+ <template>
95
+ <div style="height: auto;width: 100%">
96
+ <criteria-paged :model="model" v-ref:paged>
97
+ <criteria partial='criteria' @condition-changed='search' v-ref:cri>
98
+ <div partial>
99
+ <form>
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 class="font text-left">用户姓名:</label>
104
+ </div>
105
+ <div class="col-xs-8">
106
+ <input class="search_input input-font" v-model=model.f_user_name
107
+ condition="tcp.f_user_name like '%{}%'"/>
108
+ </div>
109
+ </div>
110
+ <div class="row app-row">
111
+ <div class="col-xs-4">
112
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
113
+ <label for="f_userinfo_code" class="font text-left">用户编号:</label>
114
+ </div>
115
+ <div class="col-xs-8">
116
+ <input id="f_userinfo_code" class="search_input input-font"
117
+ v-model=model.f_userinfo_code condition="tcp.f_userinfo_code like '%{}%'"/>
118
+ </div>
119
+ </div>
120
+ <div class="row app-row">
121
+ <div class="col-xs-4">
122
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
123
+ <label for="f_userinfo_code" class="font text-left">安检人员:</label>
124
+ </div>
125
+ <div class="col-xs-8">
126
+ <input id="f_userinfo_code" class="search_input input-font"
127
+ v-model=model.f_checker_name condition="tcp.f_checker_name like '%{}%'"/>
128
+ </div>
129
+ </div>
130
+ <div class="row app-row">
131
+ <div class="col-xs-4">
132
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
133
+ <label class="font text-left">用户地址:</label>
134
+ </div>
135
+ <div class="col-xs-8">
136
+ <input class="search_input input-font"
137
+ v-model=model.f_address condition="tcp.f_address like '%{}%'"/>
138
+ </div>
139
+ </div>
140
+ <div class="row app-row">
141
+ <div class="col-xs-4">
142
+ <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
143
+ <label for="f_state" class="font text-left">起始时间:</label>
144
+ </div>
145
+ <datepicker id="f_start_date"
146
+ placeholder='起始时间'
147
+ :value.sync="model.f_start_date"
148
+ :disabled-days-of-Week="[]"
149
+ v-model="model.f_start_date"
150
+ class="input-font col-xs-8"
151
+ :format="'yyyy-MM-dd 00:00:00'"
152
+ :show-reset-button="reset" readonly="readonly">
153
+ </datepicker>
154
+ </div>
155
+ <div class="row app-row">
156
+ <div class="col-xs-4">
157
+ <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
158
+ <label for="f_state" class="font text-left">结束时间:</label>
159
+ </div>
160
+ <datepicker id="f_end_date"
161
+ placeholder='结束时间'
162
+ :value.sync="model.f_end_date"
163
+ :disabled-days-of-Week="[]"
164
+ v-model="model.f_end_date"
165
+ class="input-font col-xs-8"
166
+ :format="'yyyy-MM-dd 23:59:00'"
167
+ :show-reset-button="reset" readonly="readonly">
168
+ </datepicker>
169
+ </div>
170
+ <div class="row app-row">
171
+ <div class="col-xs-4">
172
+ <img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
173
+ <label for="f_user_type" class="font text-left">用户类型:</label>
174
+ </div>
175
+ <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
176
+ :width="'60%'"
177
+ :options='$parent.$parent.user_types' placeholder='请选择用户类型'
178
+ v-model="model.f_user_type" condition="uf.f_user_type = '{}'" close-on-select
179
+ clear-button></v-select>
180
+ </div>
181
+ <div class="row text-center" style="margin-top: 20px;">
182
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;"
183
+ @click="$parent.$parent.selfSearch">查询
184
+ </button>
185
+ <div style="float: right;margin-right: 3% " class="button_spacing"
186
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
187
+ @click="$parent.$parent.hidden()"></div>
188
+ </div>
189
+ <div style="height:30px;"></div>
190
+ </form>
191
+ </div>
192
+ </criteria>
193
+ <list :model="model" partial='list'>
194
+ <div partial>
195
+ <div class="auto app-text" style="margin-top: 5px;">
196
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
197
+ <div class="panel-body panel-self">
198
+ <div class="col-xs-12">
199
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
200
+ <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{ row.f_userinfo_code }}</p>
201
+ </div>
202
+ <div class="col-xs-12">
203
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
204
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_user_name }}</p>
205
+ </div>
206
+ <div class="col-xs-12">
207
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
208
+ <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone }}</p>
209
+ </div>
210
+ <div class="col-xs-12">
211
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>安检时间:</b></p>
212
+ <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_create_time }}</p>
213
+ </div>
214
+ <div class="col-xs-12">
215
+ <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
216
+ <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
217
+ </div>
218
+ <div class="col-xs-12">
219
+ <p class="panel-title text-left font" style="width: 21%;float: left"><b>所属安检:</b></p>
220
+ <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_checker_name }}</p>
221
+ </div>
222
+ <div class="col-xs-6">
223
+ <p class="panel-title col-xs-5 text-left font"><b>检&ensp;查&ensp;项:</b></p>
224
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_device_type }}</p>
225
+ </div>
226
+ <div class="col-xs-6">
227
+ <p class="panel-title col-xs-5 text-left font"><b>隐&ensp;患&ensp;项:</b></p>
228
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_item_name }}</p>
229
+ </div>
230
+ <div class="col-xs-12">
231
+ <p class="panel-title col-xs-5 text-left font"><b>备注:</b></p>
232
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_comments }}</p>
233
+ </div>
234
+ <div class="col-xs-12">
235
+ <p class="panel-title col-xs-5 text-left font"><b>隐患原因:</b></p>
236
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_item_value }}</p>
237
+ </div>
238
+
239
+ <div class="col-xs-12">
240
+ <button type="button" name="button" class="btn btn-primary"
241
+ style="background-color:#499edf;float: right"
242
+ @click="$parent.$parent.$parent.openshowModal(row)">查看
243
+ </button>
244
+ <button type="button" name="button" class="btn btn-primary"
245
+ style="background-color:#499edf;float: right;margin-right:10px;"
246
+ @click="$parent.$parent.$parent.openshowModal1(row)">处理
247
+ </button>
248
+ <!--<button type="button" class="btn btn-default" @click="$parent.$parent.$parent.ceshi">确认2</button>-->
249
+ </div>
250
+ </div>
251
+ </div>
252
+ </div>
253
+ </div>
254
+ </list>
255
+ </criteria-paged>
256
+ </div>
257
+ <modal :show.sync="showModal">
258
+ <div slot="modal-header" class="modal-header">
259
+ <h4 class="modal-title">
260
+ 隐患照片
261
+ </h4>
262
+ </div>
263
+ <div slot="modal-body" class="modal-body">
264
+ <div class="from-group">
265
+ <div class="row">
266
+ <div class="col-md-6">
267
+ <img-self v-if="row.f_path" :src="`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+row.f_path" width="300" height="400"></img-self>
268
+ <img-self v-if="row.f_p1_path" :src="`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+row.f_p1_path" width="300" height="400"></img-self>
269
+ <img-self v-if="row.f_p2_path" :src="`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+row.f_p2_path" width="300" height="400"></img-self>
270
+ </div>
271
+ </div>
272
+ </div>
273
+ </div>
274
+ <div slot="modal-footer" class="modal-footer">
275
+ <button type="button" class="btn btn-default" @click="closeshowModal">确认</button>
276
+ </div>
277
+ </modal>
278
+ <modal :show.sync="showModal1">
279
+ <div slot="modal-header" class="modal-header">
280
+ <h4 class="modal-title">
281
+ 处理结果
282
+ </h4>
283
+ </div>
284
+ <div slot="modal-body" class="modal-body">
285
+ <div class="row" style="margin-bottom: 10px">
286
+ <p class="panel-title col-xs-3 text-left font"><b>隐&ensp;患&ensp;项:</b></p>
287
+ <p class="panel-title col-xs-9 text-left input-font">{{ deal.result.f_item_name }}</p>
288
+ </div>
289
+ <div class="row" style="margin-bottom: 10px">
290
+ <p class="panel-title col-xs-3 text-left font"><b>隐患原因:</b></p>
291
+ <p class="panel-title col-xs-9 text-left input-font">{{ deal.result.f_item_value }}</p>
292
+ </div>
293
+ <div class="form-group col-sm-12">
294
+ <div class="auto">
295
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
296
+ <div class="panel-body panel-self"
297
+ style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
298
+ <img-self :src="deal.f_deal_path" alt="整改照片" :width="140" :height="170" capture="camera"
299
+ type="file"></img-self>
300
+ <div class="row text-right div-photo" style="height: 50px;margin-top: -30px">
301
+ <img src="../../../assets/remove.png" @click="delfile('f_deal_path', deal.f_deal_path)"></img>
302
+ <button type="button" name="button" class="btn btn-primary btn-photo"
303
+ @click="takePic('f_deal_path','整改照片')">拍照
304
+ </button>
305
+ </div>
306
+ </div>
307
+ <div class="panel-body panel-self"
308
+ style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
309
+ <img-self :src="deal.f_other_dealpath1" alt="整改照片" :width="140" :height="170" capture="camera"
310
+ type="file"></img-self>
311
+ <div class="row text-right div-photo" style="height: 50px;margin-top: -30px">
312
+ <img src="../../../assets/remove.png" @click="delfile('f_other_dealpath1', deal.f_other_dealpath1)"></img>
313
+ <button type="button" name="button" class="btn btn-primary btn-photo"
314
+ @click="takePic('f_other_dealpath1','整改照片')">拍照
315
+ </button>
316
+ </div>
317
+ </div>
318
+ <div class="panel-body panel-self"
319
+ style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
320
+ <img-self :src="deal.f_other_dealpath2" alt="整改照片" :width="140" :height="170" capture="camera"
321
+ type="file"></img-self>
322
+ <div class="row text-right div-photo" style="height: 50px;margin-top: -30px">
323
+ <img src="../../../assets/remove.png" @click="delfile('f_other_dealpath2', deal.f_other_dealpath2)"></img>
324
+ <button type="button" name="button" class="btn btn-primary btn-photo"
325
+ @click="takePic('f_other_dealpath2','整改照片')">拍照
326
+ </button>
327
+ </div>
328
+ </div>
329
+ </div>
330
+ </div>
331
+ </div>
332
+ <div class="form-group col-sm-12" v-if="isNeedDealSign">
333
+ <p class="panel-title text-left font" style="text-align: center">用户签名:</p>
334
+ <div class="auto">
335
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
336
+ <div class="panel-body panel-self"
337
+ style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
338
+ <img :src="deal.f_dealsign_path" :width="200" :height="150"/>
339
+ <div class="row text-right div-photo" style="height: 50px;margin-top: 60px">
340
+ <button type="button" name="button" class="btn btn-primary btn-photo" @click="sign">签名</button>
341
+ </div>
342
+ </div>
343
+ </div>
344
+ </div>
345
+ </div>
346
+ <div class="row">
347
+ <div class="col-xs-2">
348
+ <p class="panel-title text-left font" style="text-align: center">处理结果</p>
349
+ </div>
350
+ <div class="col-xs-9">
351
+ <textarea class="input-font " v-model=deal.f_deal_remark style="width: 100%"></textarea>
352
+ </div>
353
+ </div>
354
+ <div v-if="isCancelLimitGas" style="display: flex;align-items: end;height: 30px;gap: 10px;padding-left: 16px;">
355
+ <input type="checkbox" v-model="deletebacklistisselect"/>
356
+ <div style="height: 18px">取消限制该用户购气</div>
357
+ </div>
358
+ </div>
359
+ <div slot="modal-footer" class="modal-footer">
360
+ <button type="button" class="btn btn-default" @click="commitDealDefect">确认</button>
361
+ <button type="button" class="btn btn-default" @click="closeshowModal1">取消</button>
362
+ </div>
363
+ </modal>
364
+ </template>
365
+
366
+ <script>
367
+ import Vue from 'vue'
368
+ import {HttpResetClass, PagedList} from 'vue-client'
369
+ import * as Util from '../../Util'
370
+
371
+ export default {
372
+ title: '无计划安检查询',
373
+ data() {
374
+ return {
375
+ row:{},
376
+ showModal: false,
377
+ showModal1: false,
378
+ showimg: '',
379
+ deal: {
380
+ result: {},
381
+ f_deal_path: '',
382
+ f_other_dealpath1: '',
383
+ f_other_dealpath2: '',
384
+ f_deal_remark: '',
385
+ f_dealsign_path: '', //签名
386
+ f_dealer: Vue.user.name,
387
+ f_dealer_id: Vue.user.id
388
+ },
389
+ user_types: [
390
+ {label: '请选择用户类型', value: ''},
391
+ {label: '民用', value: '民用'},
392
+ {label: '非民用', value: '非民用'},
393
+ ],
394
+ f_filialeids: '',
395
+ model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/AndroidDealWith`, 20, {
396
+ condition: 'this.condition',
397
+ f_filialeids: `'${Vue.user.f_orgids.substring(0,Vue.user.f_orgids.length-1)}'`,
398
+ f_checker_id: `'${Vue.user.id}'`
399
+ }),
400
+ criteriaShow: false,
401
+ isNeedDealSign: this.$appdata.getSingleValue('隐患处理是否需要签名') == 'true',
402
+ isCancelLimitGas: this.$appdata.getSingleValue('隐患处理-取消限制购气') == '是',
403
+ deletebacklistisselect: false
404
+ }
405
+ },
406
+ ready() {
407
+ this.selfSearch()
408
+ },
409
+ methods: {
410
+ async deletebacklist() {
411
+ ////tag)
412
+ let http = new HttpResetClass()
413
+ ////tag
414
+ let res1 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
415
+ data: {
416
+ items: "*",
417
+ tablename: "t_userinfo",
418
+ condition: `f_userinfo_code = ${this.deal.result.f_userinfo_code}`,
419
+ orderitem: "f_userinfo_code"
420
+ }
421
+ }, {resolveMsg: null, rejectMsg: null})
422
+ ////tag)
423
+ ////tag
424
+ let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/backlistOperate`, {
425
+ data: {
426
+ "f_operat_type": "取消拉黑",
427
+ "f_state": "有效",
428
+ "f_user_name": this.deal.result.f_user_name,
429
+ "f_comments": '',
430
+ "f_operator": Vue.user.name,
431
+ "f_operatorid": Vue.user.id,
432
+ "f_orgid": Vue.user.f_orgids.substring(0,Vue.user.f_orgids.length-1),
433
+ "f_orgname": Vue.user.f_fengongsi,
434
+ "f_depid": Vue.user.parentid,
435
+ "f_depname": Vue.user.f_parentname,
436
+ "f_describe": `${Vue.user.name}对用户${this.deal.result.f_user_name}进行取消拉黑`,
437
+ "f_userinfo_id": {
438
+ "f_userinfo_id": res1.data[0].f_userinfo_id,
439
+ "f_user_state": "正常",
440
+ "version": res1.data[0].version
441
+ },
442
+ "f_limit_times":"",
443
+ "f_limit_value":""
444
+ }
445
+ }, {resolveMsg: null, rejectMsg: null})
446
+ },
447
+ // 签名回调
448
+ signCallback(prop, fileName) {
449
+ console.log("签名回调地址" + fileName)
450
+ // HostApp.alert('绑定属性:' + prop + ' 文件全路径如file:///storage/sdcard0/safecheck/abc.jpg:' + fullFileName)
451
+ HostApp.__this__.$set('deal.f_dealsign_path', fileName)
452
+ HostApp.__callback__ = null
453
+ HostApp.__this__ = null
454
+ },
455
+ // 用户签名
456
+ sign() {
457
+ if (!this.deal.f_deal_path) {
458
+ this.$showMessage('请先拍摄处理后照片!!!')
459
+ return
460
+ }
461
+ this.delAudioFile('f_dealsign_path', this.deal.f_dealsign_path)
462
+ let prop = 'f_dealsign_path'
463
+ let idx = 'aofeng'
464
+ let fileName
465
+ if (!this.deal.f_dealsign_path) {
466
+ fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
467
+ } else {
468
+ fileName = Util.getFileName(this.deal.f_dealsign_path)
469
+ }
470
+ HostApp.__callback__ = this.signCallback
471
+ HostApp.__this__ = this
472
+ HostApp.getSignature({
473
+ file: fileName,
474
+ requestCode: 111,
475
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");'
476
+ })
477
+ },
478
+ delAudioFile(prop, fileName) {
479
+ if (!fileName)
480
+ return
481
+ else {
482
+ HostApp.delfile(fileName)
483
+ this.deal[prop] = null
484
+ }
485
+ },
486
+ commitDealDefect() {
487
+ //tag
488
+ //tag)
489
+ if (!this.deal.f_deal_path) {
490
+ this.$showMessage('处理后照片必须上传')
491
+ return
492
+ }
493
+ if (this.isNeedDealSign && !this.deal.f_dealsign_path) {
494
+ this.$showMessage('签名必须上传')
495
+ return
496
+ }
497
+ if (this.deletebacklistisselect){
498
+ this.deletebacklist()
499
+ }
500
+ HostApp.__this__ = this
501
+ HostApp.logicWithHint({
502
+ 'logic': 'safe_dealWithDefect', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
503
+ 'data': this.deal, 'backresult': 1
504
+ })
505
+ },
506
+ commitCallBack(jo) {
507
+ //tag
508
+ //tag)
509
+ if (jo.state == 'ok') {
510
+ let ress = JSON.parse(jo.result)
511
+ if (ress.code == 200) {
512
+ this.$showMessage(ress.msg)
513
+ this.closeshowModal1()
514
+ } else {
515
+ this.$showMessage(ress.msg)
516
+ }
517
+ } else {
518
+ this.$showMessage('本地服务调用失败')
519
+ }
520
+ },
521
+ delfile(prop, fileName) {
522
+ if (fileName == Vue.nopic)
523
+ return
524
+ else {
525
+ HostApp.delfile(fileName)
526
+ this.deal[prop] = Vue.nopic
527
+ }
528
+ },
529
+ openshowModal(val) {
530
+ this.row = val
531
+ this.showModal = true
532
+ },
533
+ closeshowModal() {
534
+ this.showimg = ''
535
+ this.showModal = false
536
+ },
537
+ openshowModal1(val) {
538
+ this.deal.result = val
539
+ //tag
540
+ //tag
541
+ this.deletebacklistisselect = false
542
+ this.showModal1 = true
543
+ },
544
+ closeshowModal1() {
545
+ this.deal = {
546
+ result: {},
547
+ f_deal_path: '',
548
+ f_other_dealpath1: '',
549
+ f_other_dealpath2: '',
550
+ f_deal_remark: '',
551
+ f_dealsign_path: '', //签名
552
+ f_dealer: Vue.user.name,
553
+ f_dealer_id: Vue.user.id
554
+ }
555
+ this.showModal1 = false
556
+ this.selfSearch()
557
+ },
558
+ cameraCallBack(prop, fileName) {
559
+ HostApp.__this__.$set( 'deal.'+prop+'', fileName)
560
+ HostApp.__callback__ = null
561
+ HostApp.__this__ = null
562
+ },
563
+ takePic(prop, title) {
564
+ HostApp.__callback__ = this.cameraCallBack
565
+ HostApp.__this__ = this
566
+ let fileName
567
+ if (!this.deal[prop] || this.deal[prop].includes("nopic.png")) {
568
+ fileName = Util.guid() + '-' + prop + '.jpg'
569
+ } else {
570
+ fileName = Util.getFileName(this.deal[prop])
571
+ }
572
+ //tag
573
+ //tag
574
+ HostApp._open_a_page({
575
+ type: 'boomerang',
576
+ page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
577
+ param: {
578
+ file: fileName,
579
+ requestCode: 111,
580
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
581
+ watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
582
+ }
583
+ })
584
+ },
585
+ selfSearch() {
586
+
587
+ let condition = "1=1 "
588
+ if (this.$refs.paged.$refs.cri.model.f_user_name) {
589
+ if (this.$refs.paged.$refs.cri.model.f_user_name.toString().trim()) {
590
+ condition += " and tcp.f_user_name like '" + this.$refs.paged.$refs.cri.model.f_user_name + "%'"
591
+ }
592
+ }
593
+ if (this.$refs.paged.$refs.cri.model.f_userinfo_code) {
594
+ if (this.$refs.paged.$refs.cri.model.f_userinfo_code.toString().trim()) {
595
+ condition += " and tcp.f_userinfo_code = '" + this.$refs.paged.$refs.cri.model.f_userinfo_code + "'"
596
+ }
597
+ }
598
+ if (this.$refs.paged.$refs.cri.model.f_checker_name) {
599
+ if (this.$refs.paged.$refs.cri.model.f_checker_name.toString().trim()) {
600
+ condition += " and tcp.f_checker_name = '" + this.$refs.paged.$refs.cri.model.f_checker_name + "'"
601
+ }
602
+ }
603
+ if (this.$refs.paged.$refs.cri.model.f_address) {
604
+ if (this.$refs.paged.$refs.cri.model.f_address.toString().trim()) {
605
+ condition += " and tcp.f_address like '%" + this.$refs.paged.$refs.cri.model.f_address + "%'"
606
+ }
607
+ }
608
+ if (this.$refs.paged.$refs.cri.model.f_start_date) {
609
+ if (this.$refs.paged.$refs.cri.model.f_start_date.toString().trim()) {
610
+ condition += " and tdl.f_create_time > '" + this.$refs.paged.$refs.cri.model.f_start_date + "'"
611
+ }
612
+ }
613
+ if (this.$refs.paged.$refs.cri.model.f_end_date) {
614
+ if (this.$refs.paged.$refs.cri.model.f_end_date.toString().trim()) {
615
+ condition += " and tdl.f_create_time < '" + this.$refs.paged.$refs.cri.model.f_end_date + "'"
616
+ }
617
+ }
618
+ if (this.$refs.paged.$refs.cri.model.f_user_type) {
619
+ if (this.$refs.paged.$refs.cri.model.f_user_type.toString().trim()) {
620
+ condition += " and uf.f_user_type = '" + this.$refs.paged.$refs.cri.model.f_user_type + "'"
621
+ }
622
+ }
623
+
624
+ //tag
625
+ this.model.search(condition)
626
+ },
627
+
628
+ hidden() {
629
+ this.criteriaShow = !this.criteriaShow
630
+ }
631
+ }
632
+ }
633
+ </script>