safecheck-client 3.0.35-6 → 3.0.35-8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +31 -31
  3. package/src/components/android/AddPlanItemYy.vue +451 -451
  4. package/src/components/android/CivilCurrentCreate.vue +46 -41
  5. package/src/components/android/examples/SafeListExamples.vue +296 -296
  6. package/src/components/android/examples/UserExamples.vue +136 -136
  7. package/src/components/rongcheng/AspiratedAreaPlan.vue +574 -574
  8. package/src/components/rongcheng/PhoneUpUserinfo.vue +1236 -1236
  9. package/src/filiale/bayan/android/AddPlanItem.vue +441 -430
  10. package/src/filiale/bayan/android/PaperFeedback.vue +1669 -1669
  11. package/src/filiale/bayan/android/PhoneUpUserinfo.vue +1380 -1380
  12. package/src/filiale/bayan/android/SafecheckOrderV.vue +2922 -2922
  13. package/src/filiale/bayan/android/SafecheckUserInfo.vue +4 -0
  14. package/src/filiale/bayan/pc/CheckPlanAreaList.vue +607 -607
  15. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  16. package/src/filiale/bayan/pc/NewCheckpaper.vue +1992 -1992
  17. package/src/filiale/bayan/pc/PaperList.vue +900 -900
  18. package/src/filiale/bayan/pc/SelectCheckPlan.vue +391 -391
  19. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  20. package/src/filiale/tongchuan/android/SafecheckDevices.vue +1207 -1207
  21. package/src/filiale/tongchuan/android/SafecheckOrderV.vue +3035 -3035
  22. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +1053 -1053
  23. package/src/filiale/tongchuan/pc/checkUserList.vue +639 -639
  24. package/src/filiale/xilan/android.js +11 -11
  25. package/src/filiale/yangchunboneng/pc/CheckPlanAreaList.vue +642 -642
  26. package/src/safecheck-android.js +307 -307
@@ -1,574 +1,574 @@
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">
69
- <div class="col-xs-4">
70
- <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
71
- <label for="f_plan_name" class="font text-left">计划名称:</label>
72
- </div>
73
- <div class="col-xs-8" >
74
- <input id="f_plan_name" class="search_input input-font"
75
- v-model=model.f_plan_name condition="f_plan_name like '%{}%'" />
76
- </div>
77
- </div>
78
- <div class="row app-row">
79
- <div class="col-xs-4">
80
- <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
81
- <label for="f_userinfo_code" class="font text-left">用户编号:</label>
82
- </div>
83
- <div class="col-xs-8" >
84
- <input id="f_userinfo_code" class="search_input input-font"
85
- v-model=model.f_userinfo_code condition="ti.f_userinfo_code like '%{}%'" />
86
- </div>
87
- </div>
88
-
89
- <div class="row app-row">
90
- <div class="col-xs-4">
91
- <img src="../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
92
- <label for="f_user_name" class="font text-left">用户姓名:</label>
93
- </div>
94
- <div class="col-xs-8" >
95
- <input id="f_user_name" class="search_input input-font"
96
- v-model=model.f_user_name condition="ti.f_user_name like '%{}%'" />
97
- </div>
98
- </div>
99
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
100
- <div class="col-xs-4">
101
- <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
102
- <label for="f_keyword" class="font text-left">小区名称:</label>
103
- </div>
104
- <div class="col-xs-8" >
105
- <input id="f_keyword" class="search_input input-font"
106
- v-model="model.f_residential_area" condition="ti.f_residential_area like '%{}%'" />
107
- </div>
108
- </div>
109
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
110
- <div class="col-xs-4">
111
- <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
112
- <label for="f_building" class="font text-left">楼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
113
- </div>
114
- <div class="col-xs-8" >
115
- <input id="f_building" class="search_input input-font"
116
- v-model="model.f_building" condition="ti.f_building like '%{}%'" />
117
- </div>
118
- </div>
119
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
120
- <div class="col-xs-4">
121
- <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
122
- <label for="f_unit" class="font text-left">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;元:</label>
123
- </div>
124
- <div class="col-xs-8" >
125
- <input id="f_unit" class="search_input input-font"
126
- v-model="model.f_unit" condition="ti.f_unit like '%{}%'" />
127
- </div>
128
- </div>
129
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
130
- <div class="col-xs-4">
131
- <img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">
132
- <label for="f_plan_year" class="font text-left">计划年份:</label>
133
- </div>
134
- <div class="col-xs-8" >
135
- <input id="f_plan_year" class="search_input input-font"
136
- v-model="model.f_plan_year" condition="f_plan_year = '{}'" />
137
- </div>
138
- </div>
139
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
140
- <div class="col-xs-4">
141
- <img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">
142
- <label for="f_plan_month" class="font text-left">计划月份:</label>
143
- </div>
144
- <div class="col-xs-8" >
145
- <input id="f_plan_month" class="search_input input-font"
146
- v-model="model.f_plan_month" condition="f_plan_month = '{}'" />
147
- </div>
148
- </div>
149
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
150
- <div class="col-xs-4">
151
- <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
152
- <label class="font text-left">用户地址:</label>
153
- </div>
154
- <div class="col-xs-8" >
155
- <input class="search_input input-font"
156
- v-model=model.f_address condition="ti.f_address like '%{}%'" />
157
- </div>
158
-
159
- </div>
160
-
161
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
162
- <div class="col-xs-4">
163
- <img src="../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
164
- <label for="f_user_type" class="font text-left">用户类型:</label>
165
- </div>
166
- <div class="col-xs-8" >
167
- <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
168
- :options='$parent.$parent.user_types' placeholder='请选择用户类型'
169
- v-model="model.f_user_type" condition="ti.f_user_type='{}'" close-on-select clear-button></v-select>
170
- </div>
171
- </div>
172
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
173
- <div class="col-xs-4">
174
- <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
175
- <label class="font text-left">挂表方式:</label>
176
- </div>
177
- <div class="col-xs-8" >
178
- <v-select :value.sync="model.f_flow_direction"
179
- :value-single="true"
180
- :options='$parent.$parent.flow_direction' placeholder='请选择挂表方式'
181
- v-model="model.f_flow_direction" condition="tm.f_flow_direction='{}'" close-on-select clear-button></v-select>
182
- </div>
183
- </div>
184
- <!--<div class="row app-row" v-show="$parent.$parent.criteriaShow">
185
- <div class="col-xs-4">
186
- <img src="../../assets/有无计划.png" style="width: 20px;margin-bottom: 5px" alt="">
187
- <label for="f_no_checkplan" class="font text-left">有无计划:</label>
188
- </div>
189
- <div class="col-xs-8" >
190
- <v-select id="f_no_checkplan" :value.sync="model.f_no_checkplan" class="input-font"
191
- :options='$parent.$parent.planstates' placeholder='请选择有无计划'
192
- v-model="model.f_no_checkplan" condition="ti.f_no_checkplan='{}'" close-on-select clear-button></v-select>
193
- </div>
194
- </div>-->
195
- <!-- <div class="row app-row" v-show="false">-->
196
- <!-- <div class="col-xs-4">-->
197
- <!-- <img src="../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">-->
198
- <!-- <label for="f_state" class="font text-left">是否已检:</label>-->
199
- <!-- </div>-->
200
- <!-- <div class="col-xs-8" >-->
201
- <!-- <v-select id="f_state" :value.sync="model.f_state" class="input-font"-->
202
- <!-- :options='$parent.$parent.check_states' placeholder='请选择是否已检'-->
203
- <!-- v-model="model.f_state" condition="ti.f_state='{}'" close-on-select clear-button></v-select>-->
204
- <!-- </div>-->
205
- <!-- </div>-->
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_last_state" class="font text-left">安检状态:</label>
210
- </div>
211
- <div class="col-xs-8" >
212
- <v-select id="f_last_state" :value.sync="model.f_last_state" class="input-font"
213
- :options='$parent.$parent.last_check_states' placeholder='请选择安检状态'
214
- v-model="model.f_last_state" condition="ti.f_last_check_state='{}'" 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 for="f_upload_state" class="font text-left">上传状态:</label>
221
- </div>
222
- <div class="col-xs-8" >
223
- <v-select id="f_upload_state" :value.sync="model.f_upload_state" class="input-font"
224
- :options='$parent.$parent.upload_states' placeholder='请选择上传状态'
225
- v-model="model.f_upload_state" condition="ti.f_upload_state='{}'" close-on-select clear-button></v-select>
226
- </div>
227
- </div>
228
- <div class="row text-center" style="margin-top: 20px;">
229
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
230
- <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>
231
- </div>
232
- <!--<div class="row app-btn">-->
233
- <!--<button class="btn btn-primary col-xs-6" type="button" @click="search"><span class="glyphicon glyphicon-search" style="margin-right: 20px;">查询</span></button>-->
234
- <!--</div>-->
235
- <div style="height:30px;"></div>
236
- </form>
237
- </div>
238
- </criteria>
239
- <list :model="model" partial='list'>
240
- <div partial>
241
- <div class="auto app-text" style="margin-top: 5px;">
242
- <div class="panel" style="padding: 10px 10px 5px 10px;">
243
- <div class="panel-body panel-self">
244
- <div class="col-xs-12">
245
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
246
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_userinfo_code }}</p>
247
- </div>
248
- <div class="col-xs-12">
249
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
250
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_user_name }}</p>
251
- </div>
252
- <div class="col-xs-6">
253
- <p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
254
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
255
- </p>
256
- </div>
257
- <div class="col-xs-6">
258
- <p class="panel-title col-xs-5 text-left font"><b>计划名称:</b></p>
259
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
260
- </div>
261
- <div class="col-xs-12">
262
- <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
263
- <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}
264
- <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>
265
- </p>
266
- </div>
267
- <div class="col-xs-12">
268
- <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
269
- <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
270
- </div>
271
- <div class="col-xs-6">
272
- <p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
273
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_state }}</p>
274
- </div>
275
- <div class="col-xs-6">
276
- <p class="panel-title col-xs-5 text-left font"><b>上传状态:</b></p>
277
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
278
- </div>
279
- <div class="row">
280
- <p class="panel-title col-xs-4 text-left font">有无计划</p>
281
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_no_checkplan }}</p>
282
- </div>
283
- <div class="row" v-if="row.f_upload_state=='已传'">
284
- <p class="panel-title col-xs-4 text-left font"><b>上传时间</b></p>
285
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_upload_date }}</p>
286
- </div>
287
- <div class="row text-right">
288
- <button type="button" class="btn yybtn-color" @click="$parent.$parent.$parent.inspect(row)" >查看</button>&nbsp;
289
- <button type="button" class="btn qxbtn-color" v-if ="row.f_upload_state=='已传'"
290
- @click='$parent.$parent.$parent.imgUp(row)'>图片补充</button>
291
- </div>
292
- </div>
293
- </div>
294
-
295
- </div>
296
- </div>
297
- </list>
298
- </criteria-paged>
299
- <modal :show.sync="showModal">
300
- <div slot="modal-header" class="modal-header">
301
- <h4 class="modal-title">
302
- 选择预约时间
303
- </h4>
304
- </div>
305
- <div slot="modal-body" class="modal-body">
306
- <input type="datetime-local" v-model="f_preset_dt">
307
- </div>
308
- <div slot="modal-footer" class="modal-footer">
309
- <button type="button" class="btn btn-default" @click="genuineReserve">确认</button>
310
- </div>
311
- </modal>
312
- <modal :show.sync="imgUpModalShow">
313
- <div slot="modal-header" class="modal-header">
314
- <h4 class="modal-title">
315
- 图片补充上传
316
- </h4>
317
- </div>
318
- <div slot="modal-body" class="modal-body">
319
- <div class="auto" :class="style__">
320
- <div class="panel" style="padding: 10px 10px 5px 10px;">
321
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
322
- <div class="row" style="height: 240px;overflow: scroll;top: 1px" >
323
- <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px" v-for="(index,img) in tableImages">
324
- <img-self :src="img.path" alt="安检补充照片" :width="140" :height="170"></img-self>
325
- <img src="../../assets/删除.png" @click="delfile('path', img.path,index)" style="width: 15px;margin-top: -80px" alt="">
326
- </div>
327
- </div>
328
- <div class="row text-right div-photo">
329
- <button type="button" name="button" class="btn btn-photo" @click="takePic('path', '安检补充照片')">拍照</button>
330
- </div>
331
- </div>
332
- </div>
333
- </div>
334
- </div>
335
- <div slot="modal-footer" class="modal-footer">
336
- <button type="button" class="btn btn-default" @click="uploadPic">上传</button>
337
- </div>
338
- </modal>
339
- <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
340
- </div>
341
- </template>
342
-
343
- <script>
344
- import LocalPagedList from '../../plugins/LocalPagedList'
345
- import Vue from 'vue'
346
- import {HttpResetClass, PagedList} from 'vue-client'
347
- import * as Util from '../Util'
348
-
349
- export default {
350
- title: '安检计划项',
351
- data() {
352
- return {
353
- tableImages:[],
354
- paper_id:'',
355
- imgUpModalShow:false,
356
- model:Vue.android? new LocalPagedList('androidGetHasDone',5): new PagedList( 'AndroidRest/rs/sql/androidGetHasDone',5),
357
- showModal: false,
358
- param: null,
359
- criteriaShow: false,
360
- f_preset_dt : Util.to3339TimeString(),
361
- flow_direction:[
362
- {label: '全部', value: ''},
363
- {label: '左表', value: '左表'},
364
- {label: '右表', value: '右表'}
365
- ],
366
- check_states: [
367
- {label: '请选择安检状态', value: ''},
368
- {label: '未检', value: '未检'},
369
- {label: '已检', value: '已检'},
370
- ],
371
- last_check_states: [
372
- {label: '请选择上次安检状态', value: ''},
373
- {label: '入户', value: '入户'},
374
- {label: '拒检', value: '拒检'},
375
- {label: '到访不遇', value: '到访不遇'},
376
- {label: '未使用天然气', value: '未使用天然气'}
377
- ],
378
- upload_states: [
379
- {label: '请选择上传状态', value: ''},
380
- {label: '未传', value: '未传'},
381
- {label: '已传', value: '已传'}
382
- ],
383
- user_types: [
384
- {label: '请选择用户类型', value: ''},
385
- {label: '民用', value: '民用'},
386
- {label: '非民用', value: '非民用'},
387
- ],
388
- verify_state: [
389
- {label: '请选择审核状态', value: ''},
390
- {label: '未审核', value: '未审核'},
391
- {label: '打回', value: '打回'}
392
- ],
393
- planstates:[
394
- {label: '请选择有无安检计划', value: ''},
395
- {label: '有计划安检', value: '有计划安检'},
396
- {label: '无计划安检', value: '无计划安检'},
397
- ]
398
- }
399
- },
400
- ready(){
401
- this.$refs.paged.$refs.cri.model.f_state = '已检'
402
- },
403
- methods: {
404
- delfile(prop, fileName, index) {
405
- if (fileName == Vue.nopic){
406
-
407
- }else {
408
- this.tableImages.splice(index, 1)
409
- HostApp.delfile(fileName)
410
- }
411
- },
412
- cameraCallBack(prop, fileName) {
413
- if (prop == 'path') {
414
- let path = fileName
415
- HostApp.__this__.tableImages.push({
416
- path: path
417
- })
418
- } else {
419
- HostApp.__this__.paper[prop] = fileName
420
- }
421
- HostApp.__callback__ = null
422
- HostApp.__this__ = null
423
- },
424
- takePic(prop, title) {
425
- HostApp.__callback__ = this.cameraCallBack
426
- HostApp.__this__ = this
427
- let fileName = Util.guid() + '-' + prop + '.jpg'
428
- HostApp._open_a_page({
429
- type: 'boomerang',
430
- page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
431
- param: {
432
- file: fileName,
433
- requestCode: 111,
434
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
435
- watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
436
- }
437
- })
438
- },
439
- imgUp(row){
440
- this.tableImages = []
441
- this.paper_id = ''
442
- let http = new HttpResetClass()
443
- http.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: {
444
- items: 'id',
445
- tablename: 't_check_paper',
446
- condition: `f_check_item_id = '${row.id}'`,
447
- orderitem: 'f_upload_date'
448
- }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
449
- this.paper_id = res.data[0].id
450
- this.imgUpModalShow = true
451
- })
452
- },
453
- async uploadPic() {
454
- if (this.tableImages.length == 0){
455
- this.$showMessage('请上传图片')
456
- return
457
- }
458
- let data = {
459
- tableImages: this.tableImages
460
- }
461
- HostApp.__this__ = this
462
- HostApp.logicWithHint({
463
- 'logic': 'imagesUploadAndroid', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
464
- 'data': data, 'backresult': 1
465
- })
466
- },
467
- async commitCallBack(jo) {
468
- if (jo.state == 'ok'){
469
- let result = JSON.parse(jo.result)
470
- if (result.images && result.images.length > 0){
471
- let condition = result.images.map((item)=>{return `'${item.imgid}'`}).join()
472
- await new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/runSQL`, {data: {sql: `update t_files set f_blobid = '${this.paper_id}' where id in (${condition})`}},
473
- {resolveMsg: null, rejectMsg: '上传成功'})
474
- this.$showMessage('上传图片成功')
475
- this.tableImages = []
476
- this.paper_id = ''
477
- this.imgUpModalShow = false
478
- }else {
479
- this.$showMessage('上传图片失败')
480
- }
481
- }
482
-
483
- },
484
- refresh() {
485
- //tag
486
- // hard code relationship
487
- this.$refs.paged.$refs.cri.search()
488
- },
489
- reload(){
490
- //tag
491
- this.$refs.paged.loadPage(this.$refs.paged.model.pageIndex)
492
- },
493
- inspect(row) {
494
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`, {data: {f_userid: row.f_userinfoid}}).then((response) => {
495
- //tag)
496
- row['f_plan_meters'] = response.data
497
- var pardate = {
498
- _this:this,
499
- tittle:'安检计划',
500
- safe:true
501
- }
502
- this.$dispatch('gotoson',pardate)
503
- this.$goto('AspiratedOrderV', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
504
- /* if (row.f_user_type == '民用') {
505
- this.$goto('paper-set', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
506
- } else {
507
- this.$goto('paper-set-noncivil', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
508
- }*/
509
- }).catch((err)=>{
510
- this.$showMessage('网络异常,请稍后再试!')
511
- })
512
-
513
- },
514
- makeAPhoneCall(phoneNumber) {
515
- this.$androidUtil.makeAPhoneCall(phoneNumber)
516
- },
517
- reserve (idx) {
518
- this.param = idx
519
- this.showModal = true
520
- },
521
- cancelReserve (idx, id) {
522
- if(Vue.android){
523
- let res = this.$androidUtil.bzLogic('BookingCheck', {dt: '', id: id})
524
- this.$set('model.rows[' + idx + '].f_prearranged_date', null)
525
- if (res.code == 200) {
526
- this.$showMessage("取消预约成功")
527
- }
528
- }else {
529
- this.$androidUtil.bzLogic('PCbookingCheck', {dt: '', id: id}).then((repanse) => {
530
- this.$set('model.rows[' + idx + '].f_prearranged_date', null)
531
- if (repanse.data.code == 200) {
532
- alert("取消预约成功!")
533
- }
534
- })
535
- }},
536
- genuineReserve () {
537
- if(Vue.android){
538
- if (!this.f_preset_dt) {
539
- this.$showMessage('请选择一个日期')
540
- return
541
- }
542
- let pdt = this.f_preset_dt.replace('T', ' ')
543
- let respanse = this.$androidUtil.bzLogic('BookingCheck', {id: this.model.rows[this.param].id, dt: pdt})
544
- this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
545
- if(respanse.code == 200) {
546
- this.$showMessage("预约成功!")
547
- }
548
- this.showModal = false
549
- }else {
550
- if (!this.f_preset_dt) {
551
- alert('请选择一个日期')
552
- return
553
- }
554
- let pdt = this.f_preset_dt.replace('T', ' ')
555
- this.$androidUtil.bzLogic('PCbookingCheck', {id: this.model.rows[this.param].id, dt: pdt}).then((res) => {
556
- this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
557
- if(res.data.code == 200) {
558
- alert("预约成功!")
559
- }
560
- this.showModal = false
561
- })
562
- }
563
- },
564
- selfSearch (args) {
565
- args.condition += " and f_complete = '已完成' and ti.f_safecheck_type='送气类型'"
566
- //tag)
567
- this.model.search(args.condition,args.model)
568
- },
569
- hidden() {
570
- this.criteriaShow = !this.criteriaShow
571
- }
572
- }
573
- }
574
- </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">
69
+ <div class="col-xs-4">
70
+ <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
71
+ <label for="f_plan_name" class="font text-left">计划名称:</label>
72
+ </div>
73
+ <div class="col-xs-8" >
74
+ <input id="f_plan_name" class="search_input input-font"
75
+ v-model=model.f_plan_name condition="f_plan_name like '%{}%'" />
76
+ </div>
77
+ </div>
78
+ <div class="row app-row">
79
+ <div class="col-xs-4">
80
+ <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
81
+ <label for="f_userinfo_code" class="font text-left">用户编号:</label>
82
+ </div>
83
+ <div class="col-xs-8" >
84
+ <input id="f_userinfo_code" class="search_input input-font"
85
+ v-model=model.f_userinfo_code condition="ti.f_userinfo_code like '%{}%'" />
86
+ </div>
87
+ </div>
88
+
89
+ <div class="row app-row">
90
+ <div class="col-xs-4">
91
+ <img src="../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
92
+ <label for="f_user_name" class="font text-left">用户姓名:</label>
93
+ </div>
94
+ <div class="col-xs-8" >
95
+ <input id="f_user_name" class="search_input input-font"
96
+ v-model=model.f_user_name condition="ti.f_user_name like '%{}%'" />
97
+ </div>
98
+ </div>
99
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
100
+ <div class="col-xs-4">
101
+ <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
102
+ <label for="f_keyword" class="font text-left">小区名称:</label>
103
+ </div>
104
+ <div class="col-xs-8" >
105
+ <input id="f_keyword" class="search_input input-font"
106
+ v-model="model.f_residential_area" condition="ti.f_residential_area like '%{}%'" />
107
+ </div>
108
+ </div>
109
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
110
+ <div class="col-xs-4">
111
+ <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
112
+ <label for="f_building" class="font text-left">楼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
113
+ </div>
114
+ <div class="col-xs-8" >
115
+ <input id="f_building" class="search_input input-font"
116
+ v-model="model.f_building" condition="ti.f_building like '%{}%'" />
117
+ </div>
118
+ </div>
119
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
120
+ <div class="col-xs-4">
121
+ <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
122
+ <label for="f_unit" class="font text-left">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;元:</label>
123
+ </div>
124
+ <div class="col-xs-8" >
125
+ <input id="f_unit" class="search_input input-font"
126
+ v-model="model.f_unit" condition="ti.f_unit like '%{}%'" />
127
+ </div>
128
+ </div>
129
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
130
+ <div class="col-xs-4">
131
+ <img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">
132
+ <label for="f_plan_year" class="font text-left">计划年份:</label>
133
+ </div>
134
+ <div class="col-xs-8" >
135
+ <input id="f_plan_year" class="search_input input-font"
136
+ v-model="model.f_plan_year" condition="f_plan_year = '{}'" />
137
+ </div>
138
+ </div>
139
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
140
+ <div class="col-xs-4">
141
+ <img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">
142
+ <label for="f_plan_month" class="font text-left">计划月份:</label>
143
+ </div>
144
+ <div class="col-xs-8" >
145
+ <input id="f_plan_month" class="search_input input-font"
146
+ v-model="model.f_plan_month" condition="f_plan_month = '{}'" />
147
+ </div>
148
+ </div>
149
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
150
+ <div class="col-xs-4">
151
+ <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
152
+ <label class="font text-left">用户地址:</label>
153
+ </div>
154
+ <div class="col-xs-8" >
155
+ <input class="search_input input-font"
156
+ v-model=model.f_address condition="ti.f_address like '%{}%'" />
157
+ </div>
158
+
159
+ </div>
160
+
161
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
162
+ <div class="col-xs-4">
163
+ <img src="../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
164
+ <label for="f_user_type" class="font text-left">用户类型:</label>
165
+ </div>
166
+ <div class="col-xs-8" >
167
+ <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
168
+ :options='$parent.$parent.user_types' placeholder='请选择用户类型'
169
+ v-model="model.f_user_type" condition="ti.f_user_type='{}'" close-on-select clear-button></v-select>
170
+ </div>
171
+ </div>
172
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
173
+ <div class="col-xs-4">
174
+ <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
175
+ <label class="font text-left">挂表方式:</label>
176
+ </div>
177
+ <div class="col-xs-8" >
178
+ <v-select :value.sync="model.f_flow_direction"
179
+ :value-single="true"
180
+ :options='$parent.$parent.flow_direction' placeholder='请选择挂表方式'
181
+ v-model="model.f_flow_direction" condition="tm.f_flow_direction='{}'" close-on-select clear-button></v-select>
182
+ </div>
183
+ </div>
184
+ <!--<div class="row app-row" v-show="$parent.$parent.criteriaShow">
185
+ <div class="col-xs-4">
186
+ <img src="../../assets/有无计划.png" style="width: 20px;margin-bottom: 5px" alt="">
187
+ <label for="f_no_checkplan" class="font text-left">有无计划:</label>
188
+ </div>
189
+ <div class="col-xs-8" >
190
+ <v-select id="f_no_checkplan" :value.sync="model.f_no_checkplan" class="input-font"
191
+ :options='$parent.$parent.planstates' placeholder='请选择有无计划'
192
+ v-model="model.f_no_checkplan" condition="ti.f_no_checkplan='{}'" close-on-select clear-button></v-select>
193
+ </div>
194
+ </div>-->
195
+ <!-- <div class="row app-row" v-show="false">-->
196
+ <!-- <div class="col-xs-4">-->
197
+ <!-- <img src="../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">-->
198
+ <!-- <label for="f_state" class="font text-left">是否已检:</label>-->
199
+ <!-- </div>-->
200
+ <!-- <div class="col-xs-8" >-->
201
+ <!-- <v-select id="f_state" :value.sync="model.f_state" class="input-font"-->
202
+ <!-- :options='$parent.$parent.check_states' placeholder='请选择是否已检'-->
203
+ <!-- v-model="model.f_state" condition="ti.f_state='{}'" close-on-select clear-button></v-select>-->
204
+ <!-- </div>-->
205
+ <!-- </div>-->
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_last_state" class="font text-left">安检状态:</label>
210
+ </div>
211
+ <div class="col-xs-8" >
212
+ <v-select id="f_last_state" :value.sync="model.f_last_state" class="input-font"
213
+ :options='$parent.$parent.last_check_states' placeholder='请选择安检状态'
214
+ v-model="model.f_last_state" condition="ti.f_last_check_state='{}'" 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 for="f_upload_state" class="font text-left">上传状态:</label>
221
+ </div>
222
+ <div class="col-xs-8" >
223
+ <v-select id="f_upload_state" :value.sync="model.f_upload_state" class="input-font"
224
+ :options='$parent.$parent.upload_states' placeholder='请选择上传状态'
225
+ v-model="model.f_upload_state" condition="ti.f_upload_state='{}'" close-on-select clear-button></v-select>
226
+ </div>
227
+ </div>
228
+ <div class="row text-center" style="margin-top: 20px;">
229
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
230
+ <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>
231
+ </div>
232
+ <!--<div class="row app-btn">-->
233
+ <!--<button class="btn btn-primary col-xs-6" type="button" @click="search"><span class="glyphicon glyphicon-search" style="margin-right: 20px;">查询</span></button>-->
234
+ <!--</div>-->
235
+ <div style="height:30px;"></div>
236
+ </form>
237
+ </div>
238
+ </criteria>
239
+ <list :model="model" partial='list'>
240
+ <div partial>
241
+ <div class="auto app-text" style="margin-top: 5px;">
242
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
243
+ <div class="panel-body panel-self">
244
+ <div class="col-xs-12">
245
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
246
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_userinfo_code }}</p>
247
+ </div>
248
+ <div class="col-xs-12">
249
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
250
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_user_name }}</p>
251
+ </div>
252
+ <div class="col-xs-6">
253
+ <p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
254
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
255
+ </p>
256
+ </div>
257
+ <div class="col-xs-6">
258
+ <p class="panel-title col-xs-5 text-left font"><b>计划名称:</b></p>
259
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
260
+ </div>
261
+ <div class="col-xs-12">
262
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
263
+ <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}
264
+ <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>
265
+ </p>
266
+ </div>
267
+ <div class="col-xs-12">
268
+ <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
269
+ <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
270
+ </div>
271
+ <div class="col-xs-6">
272
+ <p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
273
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_state }}</p>
274
+ </div>
275
+ <div class="col-xs-6">
276
+ <p class="panel-title col-xs-5 text-left font"><b>上传状态:</b></p>
277
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
278
+ </div>
279
+ <div class="row">
280
+ <p class="panel-title col-xs-4 text-left font">有无计划</p>
281
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_no_checkplan }}</p>
282
+ </div>
283
+ <div class="row" v-if="row.f_upload_state=='已传'">
284
+ <p class="panel-title col-xs-4 text-left font"><b>上传时间</b></p>
285
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_upload_date }}</p>
286
+ </div>
287
+ <div class="row text-right">
288
+ <button type="button" class="btn yybtn-color" @click="$parent.$parent.$parent.inspect(row)" >查看</button>&nbsp;
289
+ <button type="button" class="btn qxbtn-color" v-if ="row.f_upload_state=='已传'"
290
+ @click='$parent.$parent.$parent.imgUp(row)'>图片补充</button>
291
+ </div>
292
+ </div>
293
+ </div>
294
+
295
+ </div>
296
+ </div>
297
+ </list>
298
+ </criteria-paged>
299
+ <modal :show.sync="showModal">
300
+ <div slot="modal-header" class="modal-header">
301
+ <h4 class="modal-title">
302
+ 选择预约时间
303
+ </h4>
304
+ </div>
305
+ <div slot="modal-body" class="modal-body">
306
+ <input type="datetime-local" v-model="f_preset_dt">
307
+ </div>
308
+ <div slot="modal-footer" class="modal-footer">
309
+ <button type="button" class="btn btn-default" @click="genuineReserve">确认</button>
310
+ </div>
311
+ </modal>
312
+ <modal :show.sync="imgUpModalShow">
313
+ <div slot="modal-header" class="modal-header">
314
+ <h4 class="modal-title">
315
+ 图片补充上传
316
+ </h4>
317
+ </div>
318
+ <div slot="modal-body" class="modal-body">
319
+ <div class="auto" :class="style__">
320
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
321
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
322
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px" >
323
+ <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px" v-for="(index,img) in tableImages">
324
+ <img-self :src="img.path" alt="安检补充照片" :width="140" :height="170"></img-self>
325
+ <img src="../../assets/删除.png" @click="delfile('path', img.path,index)" style="width: 15px;margin-top: -80px" alt="">
326
+ </div>
327
+ </div>
328
+ <div class="row text-right div-photo">
329
+ <button type="button" name="button" class="btn btn-photo" @click="takePic('path', '安检补充照片')">拍照</button>
330
+ </div>
331
+ </div>
332
+ </div>
333
+ </div>
334
+ </div>
335
+ <div slot="modal-footer" class="modal-footer">
336
+ <button type="button" class="btn btn-default" @click="uploadPic">上传</button>
337
+ </div>
338
+ </modal>
339
+ <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
340
+ </div>
341
+ </template>
342
+
343
+ <script>
344
+ import LocalPagedList from '../../plugins/LocalPagedList'
345
+ import Vue from 'vue'
346
+ import {HttpResetClass, PagedList} from 'vue-client'
347
+ import * as Util from '../Util'
348
+
349
+ export default {
350
+ title: '安检计划项',
351
+ data() {
352
+ return {
353
+ tableImages:[],
354
+ paper_id:'',
355
+ imgUpModalShow:false,
356
+ model:Vue.android? new LocalPagedList('androidGetHasDone',5): new PagedList( 'AndroidRest/rs/sql/androidGetHasDone',5),
357
+ showModal: false,
358
+ param: null,
359
+ criteriaShow: false,
360
+ f_preset_dt : Util.to3339TimeString(),
361
+ flow_direction:[
362
+ {label: '全部', value: ''},
363
+ {label: '左表', value: '左表'},
364
+ {label: '右表', value: '右表'}
365
+ ],
366
+ check_states: [
367
+ {label: '请选择安检状态', value: ''},
368
+ {label: '未检', value: '未检'},
369
+ {label: '已检', value: '已检'},
370
+ ],
371
+ last_check_states: [
372
+ {label: '请选择上次安检状态', value: ''},
373
+ {label: '入户', value: '入户'},
374
+ {label: '拒检', value: '拒检'},
375
+ {label: '到访不遇', value: '到访不遇'},
376
+ {label: '未使用天然气', value: '未使用天然气'}
377
+ ],
378
+ upload_states: [
379
+ {label: '请选择上传状态', value: ''},
380
+ {label: '未传', value: '未传'},
381
+ {label: '已传', value: '已传'}
382
+ ],
383
+ user_types: [
384
+ {label: '请选择用户类型', value: ''},
385
+ {label: '民用', value: '民用'},
386
+ {label: '非民用', value: '非民用'},
387
+ ],
388
+ verify_state: [
389
+ {label: '请选择审核状态', value: ''},
390
+ {label: '未审核', value: '未审核'},
391
+ {label: '打回', value: '打回'}
392
+ ],
393
+ planstates:[
394
+ {label: '请选择有无安检计划', value: ''},
395
+ {label: '有计划安检', value: '有计划安检'},
396
+ {label: '无计划安检', value: '无计划安检'},
397
+ ]
398
+ }
399
+ },
400
+ ready(){
401
+ this.$refs.paged.$refs.cri.model.f_state = '已检'
402
+ },
403
+ methods: {
404
+ delfile(prop, fileName, index) {
405
+ if (fileName == Vue.nopic){
406
+
407
+ }else {
408
+ this.tableImages.splice(index, 1)
409
+ HostApp.delfile(fileName)
410
+ }
411
+ },
412
+ cameraCallBack(prop, fileName) {
413
+ if (prop == 'path') {
414
+ let path = fileName
415
+ HostApp.__this__.tableImages.push({
416
+ path: path
417
+ })
418
+ } else {
419
+ HostApp.__this__.paper[prop] = fileName
420
+ }
421
+ HostApp.__callback__ = null
422
+ HostApp.__this__ = null
423
+ },
424
+ takePic(prop, title) {
425
+ HostApp.__callback__ = this.cameraCallBack
426
+ HostApp.__this__ = this
427
+ let fileName = Util.guid() + '-' + prop + '.jpg'
428
+ HostApp._open_a_page({
429
+ type: 'boomerang',
430
+ page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
431
+ param: {
432
+ file: fileName,
433
+ requestCode: 111,
434
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
435
+ watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
436
+ }
437
+ })
438
+ },
439
+ imgUp(row){
440
+ this.tableImages = []
441
+ this.paper_id = ''
442
+ let http = new HttpResetClass()
443
+ http.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: {
444
+ items: 'id',
445
+ tablename: 't_check_paper',
446
+ condition: `f_check_item_id = '${row.id}'`,
447
+ orderitem: 'f_upload_date'
448
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
449
+ this.paper_id = res.data[0].id
450
+ this.imgUpModalShow = true
451
+ })
452
+ },
453
+ async uploadPic() {
454
+ if (this.tableImages.length == 0){
455
+ this.$showMessage('请上传图片')
456
+ return
457
+ }
458
+ let data = {
459
+ tableImages: this.tableImages
460
+ }
461
+ HostApp.__this__ = this
462
+ HostApp.logicWithHint({
463
+ 'logic': 'imagesUploadAndroid', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
464
+ 'data': data, 'backresult': 1
465
+ })
466
+ },
467
+ async commitCallBack(jo) {
468
+ if (jo.state == 'ok'){
469
+ let result = JSON.parse(jo.result)
470
+ if (result.images && result.images.length > 0){
471
+ let condition = result.images.map((item)=>{return `'${item.imgid}'`}).join()
472
+ await new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/runSQL`, {data: {sql: `update t_files set f_blobid = '${this.paper_id}' where id in (${condition})`}},
473
+ {resolveMsg: null, rejectMsg: '上传成功'})
474
+ this.$showMessage('上传图片成功')
475
+ this.tableImages = []
476
+ this.paper_id = ''
477
+ this.imgUpModalShow = false
478
+ }else {
479
+ this.$showMessage('上传图片失败')
480
+ }
481
+ }
482
+
483
+ },
484
+ refresh() {
485
+ //tag
486
+ // hard code relationship
487
+ this.$refs.paged.$refs.cri.search()
488
+ },
489
+ reload(){
490
+ //tag
491
+ this.$refs.paged.loadPage(this.$refs.paged.model.pageIndex)
492
+ },
493
+ inspect(row) {
494
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`, {data: {f_userid: row.f_userinfoid}}).then((response) => {
495
+ //tag)
496
+ row['f_plan_meters'] = response.data
497
+ var pardate = {
498
+ _this:this,
499
+ tittle:'安检计划',
500
+ safe:true
501
+ }
502
+ this.$dispatch('gotoson',pardate)
503
+ this.$goto('AspiratedOrderV', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
504
+ /* if (row.f_user_type == '民用') {
505
+ this.$goto('paper-set', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
506
+ } else {
507
+ this.$goto('paper-set-noncivil', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
508
+ }*/
509
+ }).catch((err)=>{
510
+ this.$showMessage('网络异常,请稍后再试!')
511
+ })
512
+
513
+ },
514
+ makeAPhoneCall(phoneNumber) {
515
+ this.$androidUtil.makeAPhoneCall(phoneNumber)
516
+ },
517
+ reserve (idx) {
518
+ this.param = idx
519
+ this.showModal = true
520
+ },
521
+ cancelReserve (idx, id) {
522
+ if(Vue.android){
523
+ let res = this.$androidUtil.bzLogic('BookingCheck', {dt: '', id: id})
524
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
525
+ if (res.code == 200) {
526
+ this.$showMessage("取消预约成功")
527
+ }
528
+ }else {
529
+ this.$androidUtil.bzLogic('PCbookingCheck', {dt: '', id: id}).then((repanse) => {
530
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
531
+ if (repanse.data.code == 200) {
532
+ alert("取消预约成功!")
533
+ }
534
+ })
535
+ }},
536
+ genuineReserve () {
537
+ if(Vue.android){
538
+ if (!this.f_preset_dt) {
539
+ this.$showMessage('请选择一个日期')
540
+ return
541
+ }
542
+ let pdt = this.f_preset_dt.replace('T', ' ')
543
+ let respanse = this.$androidUtil.bzLogic('BookingCheck', {id: this.model.rows[this.param].id, dt: pdt})
544
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
545
+ if(respanse.code == 200) {
546
+ this.$showMessage("预约成功!")
547
+ }
548
+ this.showModal = false
549
+ }else {
550
+ if (!this.f_preset_dt) {
551
+ alert('请选择一个日期')
552
+ return
553
+ }
554
+ let pdt = this.f_preset_dt.replace('T', ' ')
555
+ this.$androidUtil.bzLogic('PCbookingCheck', {id: this.model.rows[this.param].id, dt: pdt}).then((res) => {
556
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
557
+ if(res.data.code == 200) {
558
+ alert("预约成功!")
559
+ }
560
+ this.showModal = false
561
+ })
562
+ }
563
+ },
564
+ selfSearch (args) {
565
+ args.condition += " and f_complete = '已完成' and ti.f_safecheck_type='送气类型'"
566
+ //tag)
567
+ this.model.search(args.condition,args.model)
568
+ },
569
+ hidden() {
570
+ this.criteriaShow = !this.criteriaShow
571
+ }
572
+ }
573
+ }
574
+ </script>