safecheck-client 3.0.34-7 → 3.0.34-9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. package/package.json +1 -1
  2. package/src/components/android/AndroidDefectDeal.vue +634 -633
  3. package/src/components/android/PaperFeedback.vue +1481 -1481
  4. package/src/components/android/PaperFeedbackTemp.vue +1470 -1470
  5. package/src/components/android/SafePlanItem.vue +509 -509
  6. package/src/components/android/SafecheckDevices.vue +1298 -1298
  7. package/src/components/android/SafecheckDevicesTemp.vue +1333 -1333
  8. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  9. package/src/components/safecheckNew/android/SafecheckOrderV.vue +2731 -2731
  10. package/src/filiale/bayan/android/PaperFeedback.vue +1651 -1651
  11. package/src/filiale/bayan/android/SafecheckDevices.vue +1303 -1303
  12. package/src/filiale/bayan/android/SafecheckUserInfo.vue +863 -863
  13. package/src/filiale/dexin/android/SafecheckDevices.vue +1305 -1305
  14. package/src/filiale/hanzhong/android/PaperFeedback.vue +1477 -1477
  15. package/src/filiale/hanzhong/android/SafecheckDevices.vue +1313 -1313
  16. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  17. package/src/filiale/jiaxian/android/SafecheckDevices.vue +1298 -1298
  18. package/src/filiale/jingyang/android/PaperFeedback.vue +1493 -1493
  19. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  20. package/src/filiale/pingxiang/android/PaperFeedback.vue +1399 -1399
  21. package/src/filiale/qingjian/android/SafecheckDevices.vue +1269 -1269
  22. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  23. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  24. package/src/filiale/shiquan/android/SafecheckDevices.vue +1269 -1269
  25. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  26. package/src/filiale/siyang/pc/NewCheckpaper.vue +1938 -1938
  27. package/src/filiale/siyang/pc/checkUserList.vue +786 -786
  28. package/src/filiale/siyang/pc.js +16 -16
  29. package/src/filiale/weinan/android/SafecheckDevices.vue +1295 -1295
  30. package/src/filiale/wuan/android/SafecheckOrderV.vue +2240 -2240
  31. package/src/filiale/wuan/android/SafecheckUserInfo.vue +592 -592
  32. package/src/filiale/yangchunboneng/android/PaperFeedback.vue +1731 -1731
  33. package/src/filiale/yangchunboneng/android/SafecheckDevices.vue +1332 -1332
  34. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  35. package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +269 -269
  36. package/src/filiale/yangchunboneng/pc/DefectPaperNew.vue +1128 -1128
  37. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +972 -972
  38. package/src/filiale/yangchunboneng/pc/PaperList.vue +773 -773
  39. package/src/filiale/yongzhou/android/PaperFeedback.vue +1519 -1519
  40. package/src/filiale/yongzhou/android/SafecheckDevices.vue +1294 -1294
  41. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  42. package/src/filiale/yuansheng/android/SwitchValve.vue +322 -322
  43. package/src/filiale/yuansheng/android.js +17 -17
  44. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1508 -1508
  45. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +1270 -1270
  46. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +784 -784
@@ -1,773 +1,773 @@
1
- <template>
2
- <div class="flex-row">
3
- <div class="basic-main">
4
- <criteria-paged :model="model" v-ref:paged @sort="sort">
5
- <criteria partial='criteria' class="search_area" @condition-changed='$parent.selfSearch' v-ref:criteria>
6
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
- <div class="row">
8
- <div class="form-group col-sm-2" >
9
- <label class="font_normal_body">模糊查询</label>
10
- <input type="text" class="input_search" v-model="model.f_userinfo"
11
- style="width: 60%" placeholder="编号 名称 电话 表号 地址"
12
- condition="(f_userinfo_code like '%{}%' or f_user_name like '%{}%' or f_user_phone like '%{}%' or f_meternumber like '%{}%' or f_address like '%{}%' or f_zuhu_phone like '%${}%' or f_rent_phone like '%${}%')">
13
- </div>
14
- <div class="form-group col-sm-2" >
15
- <label class="font_normal_body">客户编号</label>
16
- <input type="text" class="input_search" v-model="model.f_userinfo_code"
17
- style="width: 60%" placeholder="客户编号" condition="f_userinfo_code='{}'">
18
- </div>
19
- <div class="form-group col-sm-2" >
20
- <label class="font_normal_body">客户名称</label>
21
- <input type="text" class="input_search" v-model="model.f_user_name"
22
- style="width: 60%" placeholder="客户名称" condition="f_user_name like '%{}%'">
23
- </div>
24
- <div class="form-group col-sm-2" >
25
- <label class="font_normal_body">客户电话</label>
26
- <input type="text" class="input_search" v-model="model.f_user_phone"
27
- style="width: 60%" placeholder="客户电话" condition=" ( f_user_phone like '%{}%' or f_zuhu_phone like '%${}%' or f_rent_phone like '%${}%' )">
28
- </div>
29
- <div class="form-group col-sm-2" >
30
- <label class="font_normal_body">客户表号</label>
31
- <input type="text" class="input_search" v-model="model.f_meternumber"
32
- style="width: 60%" placeholder="客户表号" condition="f_meternumber like '%{}%'">
33
- </div>
34
- <div class="form-group col-sm-2" >
35
- <label class="font_normal_body">详细地址</label>
36
- <input type="text" class="input_search" v-model="model.f_address"
37
- style="width: 60%" placeholder="详细地址" condition="f_address like '%{}%'">
38
- </div>
39
- <div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right">
40
-
41
- <export-excel-safe :data="$parent.$parent.searchData"
42
- :field="$parent.$parent.excelHeaders"
43
- :choose-col="true"
44
- sqlurl="rs/logic/SafeExportExcel" sql-name="查找安检单" template-name='安检结果明细'></export-excel-safe>
45
- <!-- <export-excel :data="$parent.$parent.getCondition" -->
46
- <!-- :field="$parent.$parent.getfield"-->
47
- <!-- sqlurl="rs/logic/exportfile" sql-name="chargeQuery" template-name='收费查询导出'-->
48
- <!-- :choose-col="true"></export-excel>-->
49
- <!-- <button class="button_spacing button_search" @click="$parent.$parent.showaudio()" v-if="!$parent.$parent.audioshow">录音</button>-->
50
- <button class="button_spacing button_search" @click="$parent.$parent.showaudio()" v-if="$parent.$parent.audioshow">隐藏</button>
51
-
52
- <button class="button_spacing button_search" @click="search()">查询</button>
53
- <div style="float: right" class="button_spacing"
54
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
55
- @click="$parent.$parent.hidden()"></div>
56
- </div>
57
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
58
- <label class="font_normal_body">小&emsp;&emsp;区</label>
59
- <input type="text" class="input_search" v-model="model.f_residential_area"
60
- style="width: 60%" placeholder="小区" condition="f_residential_area like '%{}%'">
61
- </div>
62
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
63
- <label class="font_normal_body">安检计划</label>
64
- <input type="text" class="input_search" v-model="$parent.$parent.model.f_check_plan.f_plan_name"
65
- @click="$parent.$parent.showChooser"
66
- style="width: 60%" placeholder="安检计划" readonly="readonly">
67
- </div>
68
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
69
- <label class="font_normal_body">开始时间</label>
70
- <datepicker
71
- :value.sync="model.f_check_start"
72
- placeholder='开始时间' style="width: 60%"
73
- :disabled-days-of-week="[]"
74
- :format="'yyyy-MM-dd'"
75
- :show-rest-button="reset"
76
- v-model="model.f_check_start"
77
- condition="f_offsite_time > ='{} 00:00:00'">
78
- </datepicker>
79
- <!-- <datepicker-->
80
- <!-- class="select_list select"-->
81
- <!-- :value.sync="model.f_check_start"-->
82
- <!-- placeholder='开始时间' style="width: 60%"-->
83
- <!-- :disabled-days-of-week="[]"-->
84
- <!-- :format="'yyyy-MM-dd'"-->
85
- <!-- :show-rest-button="reset"-->
86
- <!-- v-model="model.f_check_start"-->
87
- <!-- condition="f_offsite_time > ='{} 00:00:00'">-->
88
- <!-- </datepicker>-->
89
- </div>
90
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
91
- <label class="font_normal_body">结束时间</label>
92
- <datepicker
93
- :value.sync="model.f_check_end"
94
- placeholder='结束时间' style="width: 60%"
95
- :disabled-days-of-week="[]"
96
- :format="'yyyy-MM-dd'"
97
- :show-rest-button="reset"
98
- v-model="model.f_check_end"
99
- condition="f_offsite_time <= '{} 23:59:59'">
100
- </datepicker>
101
- </div>
102
-
103
-
104
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
105
-
106
- <label class="font_normal_body">安检类型</label>
107
- <v-select :value.sync="model.f_safecheck_type" v-model='model.f_safecheck_type'
108
- :value-single="true" style="width: 60%"
109
- class="select_list select"
110
- :options='$parent.$parent.safetype' placeholder='安检类型'
111
- close-on-select
112
- condition="f_safecheck_type = '{}'"></v-select>
113
- </div>
114
-
115
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
116
-
117
- <label class="font_normal_body">客户类型</label>
118
- <v-select :value.sync="model.f_check_type" v-model='model.f_check_type'
119
- :value-single="true" style="width: 60%"
120
- class="select_list select"
121
- :options='$parent.$parent.checktype' placeholder='客户类型'
122
- close-on-select
123
- condition="f_check_type = '{}'"></v-select>
124
- </div>
125
-
126
-
127
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
128
- <label class="font_normal_body">安检状态</label>
129
- <v-select id="f_entry"
130
- class="select_list select"
131
- placeholder='安检状态' style="width: 60%"
132
- v-model='model.f_entry'
133
- :value.sync="model.f_entry"
134
- :options='$parent.$parent.f_entry_status'
135
- condition=""
136
- :multiple="true"
137
- ></v-select>
138
- </div>
139
-
140
-
141
-
142
- <!-- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">-->
143
- <!-- <label class="font_normal_body">安&ensp;检&ensp;员</label>-->
144
- <!-- <v-select :value.sync="model.f_checker_id" v-model='model.f_checker_id'-->
145
- <!-- :value-single="true" style="width: 60%"-->
146
- <!-- class="select_list select"-->
147
- <!-- :options='$parent.$parent.checkersid' placeholder='安检员'-->
148
- <!-- close-on-select-->
149
- <!-- condition="f_checker_id = '{}'"></v-select>-->
150
- <!-- </div>-->
151
- <!-- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">-->
152
- <!-- <label class="font_normal_body" style="margin-right: 2px">公&emsp;&emsp;司</label>-->
153
- <!-- <right-tree @re-res="$parent.$parent.getRes" :initresid="$parent.$parent.$login.f.orgid">-->
154
- <!-- </right-tree>-->
155
- <!-- </div>-->
156
- <div class="col-sm-4 form-group" v-show="$parent.$parent.criteriaShow" style="margin: 0">
157
- <role-selector-safe
158
- role-name="安检员"
159
- role-lable="安&nbsp;检&nbsp;员&nbsp;"
160
- @re-res="$parent.$parent.getRes"
161
- :value.sync="model.f_checker_id"
162
- v-model="model.f_checker_id"
163
- :value-multiple="true"
164
- :value-close="false"
165
- condition="f_checker_name in {}">
166
- </role-selector-safe>
167
- </div>
168
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
169
- <label class="font_normal_body">片&emsp;&emsp;区</label>
170
- <v-select class="select_list select"
171
- placeholder='片区/管理站' style="width: 60%"
172
- :value.sync="model.f_slice_area" v-model="model.f_slice_area"
173
- :options='$parent.$parent.sliceArea'
174
- filer-key="name"
175
- close-on-select clear-button
176
- condition="f_slice_area='{}'"
177
- @change="$parent.$parent.getmeterbook(model.f_slice_area)"
178
- :value-single="true">
179
- </v-select>
180
- </div>
181
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
182
- <label class="font_normal_body">抄&ensp;表&ensp;册</label>
183
- <v-select class="select_list select"
184
- placeholder='抄表册' style="width: 60%"
185
- :value.sync="model.f_meter_book_num" v-model="model.f_meter_book_num"
186
- :options='$parent.$parent.cbc'
187
- filer-key="name"
188
- close-on-select clear-button
189
- condition="f_meter_book_num={}"
190
- :value-single="true">
191
- </v-select>
192
- </div>
193
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
194
- <label class="font_normal_body">省&ensp;市&ensp;区</label>
195
- <v-select class="select_list select"
196
- placeholder='请选择' style="width: 60%"
197
- :value.sync="model.f_pcd" v-model="model.f_pcd"
198
- :options='$parent.$parent.pcds'
199
- filer-key="name"
200
- close-on-select clear-button
201
- condition="f_pcd='{}'"
202
- :value-single="true">
203
- </v-select>
204
- </div>
205
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
206
- <label class="font_normal_body">计划类型</label>
207
- <v-select class="select_list select"
208
- placeholder='请选择' style="width: 60%"
209
- :value.sync="model.f_no_checkplan" v-model="model.f_no_checkplan"
210
- :options='$parent.$parent.no_checkplans'
211
- filer-key="name"
212
- close-on-select clear-button
213
- condition="f_no_checkplan='{}'"
214
- :value-single="true">
215
- </v-select>
216
- </div>
217
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
218
- <label class="font_normal_body">客户卡号</label>
219
- <input type="text" class="input_search" v-model="model.f_card_id"
220
- style="width: 60%" placeholder="客户卡号" condition="f_card_id like '%{}%'">
221
- </div>
222
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
223
- <label class="font_normal_body">部&emsp;&emsp;门</label>
224
- <v-select class="select_list select"
225
- placeholder='请选择' style="width: 60%"
226
- :value.sync="model.f_department_name" v-model="model.f_department_name"
227
- :options='$parent.$parent.departmentArr'
228
- filer-key="name"
229
- close-on-select clear-button
230
- :value-single="true">
231
- </v-select>
232
- </div>
233
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
234
- <label class="font_normal_body">客户评价</label>
235
- <v-select class="select_list select"
236
- placeholder='客户评价' style="width: 60%"
237
- :value.sync="model.f_client_evaluation" v-model="model.f_client_evaluation"
238
- :options='$parent.$parent.evaluations'
239
- close-on-select clear-button
240
- condition="f_client_evaluation='{}'"
241
- :value-single="true">
242
- </v-select>
243
- </div>
244
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
245
- <label class="font_normal_body">通气开始</label>
246
- <datepicker
247
- :value.sync="model.f_gas_start"
248
- placeholder='首次通气时间' style="width: 60%"
249
- :disabled-days-of-week="[]"
250
- :format="'yyyy-MM-dd'"
251
- :show-rest-button="reset"
252
- v-model="model.f_gas_start"
253
- condition="f_uservent_date >='{} 00:00:00'">
254
- </datepicker>
255
- </div>
256
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
257
- <label class="font_normal_body">通气结束</label>
258
- <datepicker
259
- :value.sync="model.f_gas_end"
260
- placeholder='首次通气时间' style="width: 60%"
261
- :disabled-days-of-week="[]"
262
- :format="'yyyy-MM-dd'"
263
- :show-rest-button="reset"
264
- v-model="model.f_gas_end"
265
- condition="f_uservent_date <= '{} 23:59:59'">
266
- </datepicker>
267
- </div>
268
- </div>
269
- <modal :show.sync="$parent.$parent.showModal" v-ref:modal backdrop="false">
270
- <div slot="modal-header" class="modal-header">
271
- <h4 class="modal-title">
272
- 选择计划
273
- </h4>
274
- </div>
275
- <div slot="modal-body" class="modal-body">
276
- <plan-chooser :f.sync="$parent.$parent.fun" v-ref:chooser></plan-chooser>
277
- </div>
278
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
279
- <button class="button_search" @click="$parent.$parent.ok">确认</button>
280
- <button class="button_search" @click="$parent.$parent.cancel">取消</button>
281
- </div>
282
- </modal>
283
- </div>
284
- </criteria>
285
- <data-grid class="list_area table_sy" style="overflow: hidden" :model="model" partial='list' v-ref:grid>
286
- <template partial='head'>
287
- <tr>
288
- <th>
289
- <nobr>客户编号</nobr>
290
- </th>
291
- <th>
292
- <nobr>客户名称</nobr>
293
- </th>
294
- <th>
295
- <nobr>客户表号</nobr>
296
- </th>
297
- <th>
298
- <nobr>客户电话</nobr>
299
- </th>
300
- <th>
301
- <nobr>客户类型</nobr>
302
- </th>
303
- <th>
304
- <nobr>客户地址</nobr>
305
- </th>
306
- <th>
307
- <nobr>通气时间</nobr>
308
- </th>
309
- <th>
310
- <nobr>安检状态</nobr>
311
- </th>
312
- <th>
313
- <data-order field="f_offsite_time" name="安检时间"></data-order>
314
- </th>
315
- <th>
316
- <nobr>安检员</nobr>
317
- </th>
318
- <th>
319
- <nobr>气表型号</nobr>
320
- </th>
321
- <th>
322
- <nobr>气表品牌</nobr>
323
- </th>
324
- <th>
325
- <nobr>电子读数</nobr>
326
- </th>
327
- <th>
328
- <nobr>机械读数</nobr>
329
- </th>
330
- <th>
331
- <nobr>剩余气量</nobr>
332
- </th>
333
- <th>
334
- <nobr>剩余金额</nobr>
335
- </th>
336
- <th>
337
- <nobr>备注</nobr>
338
- </th>
339
- <th>
340
- <nobr>客户评价</nobr>
341
- </th>
342
- <th>
343
- <nobr>操作</nobr>
344
- </th>
345
- <th v-if="$parent.$parent.$parent.audioshow">
346
- <nobr>录音</nobr>
347
- </th>
348
- </tr>
349
- </template>
350
- <template partial='body'>
351
-
352
- <td style="text-align: center">{{row.f_userinfo_code}}</td>
353
- <td style="text-align: center">{{row.f_user_name}}</td>
354
- <td style="text-align: center">{{row.f_meternumber}}</td>
355
- <td style="text-align: center">{{row.f_user_phone}}</td>
356
- <td style="text-align: center">{{row.f_check_type}}</td>
357
-
358
- <td style="text-align: center">{{row.f_address}}</td>
359
- <td style="text-align: center">{{row.f_uservent_date}}</td>
360
- <td style="text-align: center">{{row.f_entry_status}}</td>
361
- <td style="text-align: center">{{row.f_offsite_time}}</td>
362
- <td style="text-align: center">{{row.f_checker_name}}</td>
363
- <td style="text-align: center">{{row.f_diaphgram_size}}</td>
364
- <td style="text-align: center">{{row.f_aliasname}}</td>
365
- <td style="text-align: center">{{row.f_electronic_read}}</td>
366
- <td style="text-align: center">{{row.f_mechanical_read}}</td>
367
- <td style="text-align: center">{{row.f_remaining_gas_volume}}</td>
368
- <td style="text-align: center">{{row.f_remaining_amount}}</td>
369
- <td style="text-align: center">{{row.f_repair_approved_note}}</td>
370
- <td style="text-align: center">{{row.f_client_evaluation}}</td>
371
- <td style="text-align: center">
372
- <button class="button_spacing button_search-1" @click='$parent.$parent.$parent.change(row)'>查看</button>
373
-
374
-
375
- </td>
376
- <td style="text-align: center" v-if="$parent.$parent.$parent.audioshow">
377
- <!-- <button class="button_spacing button_search-1" @click='$parent.$parent.$parent.change(row)'>查看</button>-->
378
- <audio controls="controls" v-if="row.f_recording1_path">
379
- <source type="audio/mpeg" :src="'rs/audio/file/'+row.f_recording1_path">
380
- </audio>
381
- <!--<button type="button" class="button_new-1 button_spacing" data-toggle="dropdown"
382
- @click="$parent.$parent.$parent.print(row)">
383
- 打印
384
- </button>-->
385
- </td>
386
- </template>
387
- </data-grid>
388
- </criteria-paged>
389
- <check-msg v-if="showcheckmsg" :show="showcheckmsg" :data="checkInfo"></check-msg>
390
- </div>
391
- </div>
392
- </template>
393
-
394
- <script>
395
- import {PagedList} from 'vue-client'
396
- import Vue from 'vue'
397
- import co from 'co'
398
- import AppData from '../../../stores/AppData'
399
- import * as Util from '../../Util'
400
- import getNowDate from "../../../utils/getNowDate";
401
- import HttpResetClass from "vue-client/src/plugins/HttpResetClass";
402
- import BenzAMRRecorder from 'benz-amr-recorder'
403
-
404
- //获取json配置文件
405
- let asyncReady = async function (self) {
406
- // 获取配置信息
407
- try {
408
- let res = await Vue.resetget(`/phone/rs/vue`, {data: {}}, {resolveMsg: null, rejectMsg: null})
409
- Vue.config = res.data
410
- } catch (error) {
411
- // 忽略704,文件找不到异常R
412
- if (error.status !== 704) {
413
- throw error
414
- }
415
- }
416
- }
417
-
418
- let select = function* (self) {
419
- let http = new HttpResetClass()
420
- let getGasman = yield http.load('POST', '/rs/search', {
421
- source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
422
- userid: self.$login.f.id
423
- }, {resolveMsg: null, rejectMsg: null})
424
- ////tag
425
- self.checkersid.push({label: '全部', value: ''})
426
- getGasman.data.forEach((checker) => {
427
- self.checkersid.push({label: checker.name, value: checker.id})
428
- })
429
- }
430
-
431
- export default {
432
- title: '安检结果查看',
433
- data() {
434
- let model = new PagedList('rs/sql/查找安检单', 20, {
435
- f_plan_id: 'this.f_plan_id',
436
- f_approved: 'this.f_approved',
437
- f_entry_status: 'this.f_entry',
438
- f_no_checkplan: 'this.f_no_checkplan',
439
- f_filialeid: 'this.f_filialeid',
440
- orderitem: "'f_offsite_time desc'"
441
- })
442
- model.f_check_type=''
443
- model.f_plan_id = ''
444
- model.f_approved = ''
445
- model.f_entry = ''
446
- model.f_no_checkplan = ''
447
- model.f_filialeid = `('${this.$login.f.orgid}')`
448
- //model.f_check_type='民用'
449
- // let searchData={
450
- // f_plan_id: this.model.f_checker_id==undefined?"":this.model.f_checker_id,
451
- // f_approved: this.model.f_approved,
452
- // f_entry_status: this.model.f_entry,
453
- // f_no_checkplan:this.model.f_no_checkplan[0],
454
- // f_filialeid: this.model.f_filialeid,
455
- // //orderitem: this.model.f_offsite_time,
456
- // //condition:this.model.condition
457
- // }
458
- // model.f_subcompany = this.$login.f.f_fengongsi
459
- return {
460
- audioshow:false,
461
- searchData: {
462
- condition: "1=1",
463
- orderitem: "f_offsite_time desc",
464
- f_plan_id: "",
465
- f_approved: '',
466
- f_no_checkplan: '',
467
- f_filialeid: `('${this.$login.f.orgid}')`
468
- },
469
- model: model,
470
- excelHeaders: {
471
- //searchData:searchData,
472
- 'f_userinfo_code': '客户编号',
473
- 'f_user_name': '客户姓名',
474
- 'f_meternumber':'客户表号',
475
- 'f_user_phone':'客户电话',
476
- 'f_check_type': '客户类型',
477
- 'f_residential_area': '小区',
478
- 'f_address': '客户地址',
479
- 'f_uservent_date': '通气时间',
480
- 'f_entry_status': '安检状态',
481
- 'f_offsite_time': '安检时间',
482
- 'f_checker_name': '安检员',
483
- 'f_diaphgram_size': '气表型号',
484
- 'f_aliasname': '气表品牌',
485
- 'f_electronic_read': '电子读数',
486
- 'f_mechanical_read': '机械读数',
487
- 'f_remaining_gas_volume': '剩余气量',
488
- 'f_remaining_amount': '剩余金额',
489
- 'f_safecheck_type':'安检类型',
490
- 'f_repair_approved_note': '备注',
491
- 'f_client_evaluation': '评价',
492
- 'f_plan_name': '计划名称',
493
- },
494
- fun: this.$login.f,
495
- pcds:[],
496
- departmentArr:[],
497
- checkerArr:[],
498
- checkersid: [],
499
- safetype: this.$appdata.getParam('安检类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检类型')]:[{label: '全部', value: ''}],
500
- criteriaShow: false,
501
- checktype: this.$appdata.getParam('用户类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]:[{label: '全部', value: ''}],
502
- f_check_type:[{label:'全部',value:''},{label:'民用',value:'民用'},{label:'非民用',value:'非民用'}],
503
- showModal: false,
504
- no_checkplans:this.$appdata.getParam('计划类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('计划类型')]:[{label: '全部', value: ''}],
505
- f_approval_states: this.$appdata.getParam('安检单审核状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检单审核状态')]:[{label: '全部', value: ''}],
506
- f_entry_status: this.$appdata.getParam('安检状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检状态')]:[{label: '全部', value: ''}],
507
- f_checkplans: this.$appdata.getParam('有无计划')?[{label: '全部', value: ''}, ...this.$appdata.getParam('有无计划')]:[{label: '全部', value: ''}],
508
- showcheckmsg: false,
509
- evaluations:[{label: '全部', value: ''},{label: '满意', value: '满意'},{label: '基本满意', value: '基本满意'},{label: '不满意', value: '不满意'}],
510
- checkInfo: {},
511
- orderDefault: "'f_offsite_time'",
512
- orderFields: {
513
- f_offsite_time: 'no'
514
- },
515
- sliceArea: [],
516
- cbc:[]
517
- }
518
- },
519
- methods: {
520
- //获取省市区列表
521
- getPcd(val){
522
- this.pcds = [{label:'全部',value:''}]
523
- new HttpResetClass().load("POST", `/rs/sql/safe_singleTable_OrderBy`,
524
- {data:{items:"*",tablename:"t_pcd",orderitem:"id",condition:`f_orgid in ${val}`}},
525
- {resolveMsg: null, rejectMsg: null}).then((pcdlist)=>{
526
- pcdlist.data.forEach((result)=>{
527
- this.pcds.push({label:result.f_pcd,value:result.f_pcd})
528
- })
529
- })
530
- },
531
- getDepartment(){
532
- new HttpResetClass().load('POST',`/rs/sql/tel_singleTable_OrderBy`, {data: {
533
- items: '*',
534
- tablename: 't_user',
535
- condition: `rolestr like '%安检员%' and state = '在职'`,
536
- orderitem: '1'
537
- }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
538
- this.checkerArr = res.data
539
- this.departmentArr = []
540
- let tempArr = []
541
- res.data.forEach((user)=>{
542
- if (!tempArr.includes(user.f_department_name)){
543
- tempArr.push(user.f_department_name)
544
- this.departmentArr.push({label:user.f_department_name,value:user.f_department_name})
545
- }
546
- })
547
- })
548
- },
549
- showaudio(){
550
- //tag
551
- this.audioshow=!this.audioshow
552
- //tag
553
- },
554
- getmeterbook(val){
555
- this.cbc=[]
556
- this.cbc.push({
557
- label:'全部',
558
- value:''
559
- })
560
- if (val==''){
561
-
562
- this.cbcs.forEach(res=>{
563
- this.cbc.push({
564
- label:res.f_book_name,
565
- value:res.id
566
- })
567
- })
568
- }else{
569
- this.cbcs.forEach(res=>{
570
- if (res.f_book_slice_area==val){
571
- this.cbc.push({
572
- label:res.f_book_name,
573
- value:res.id
574
- })
575
- }
576
- })
577
- }
578
- },
579
- Mreadibook(val){
580
- ////tag
581
- ////tag
582
- if (val){
583
- new HttpResetClass().load('POST',`/rs/sql/tel_singleTable_OrderBy`, {data: {
584
- items: 'name',
585
- tablename: 't_zone',
586
- condition: `parentid in ${val}`,
587
- orderitem: 'id'
588
- }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
589
- this.sliceArea=[]
590
- this.sliceArea.push({
591
- label:'全部',
592
- value:''
593
- })
594
- res.data.forEach(ress=>{
595
- this.sliceArea.push({
596
- label:ress.name,
597
- value:ress.name
598
- })
599
- })
600
-
601
- })
602
- }
603
- },
604
- getAllMeterBook(val){
605
- ////tag
606
- ////tag
607
- this.cbcs=[]
608
- if (val){
609
- new HttpResetClass().load('POST',`/rs/sql/tel_singleTable_OrderBy`, {data: {
610
- items: 'f_book_name,f_book_slice_area,id',
611
- tablename: 't_meter_book',
612
- condition: `f_filiale_id in ${val}`,
613
- orderitem: 'id'
614
- }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
615
- res.data.forEach(ress=>{
616
- this.cbcs.push({
617
- id:ress.id,
618
- f_book_name:ress.f_book_name,
619
- f_book_slice_area:ress.f_book_slice_area
620
- })
621
- })
622
- this.cbc=[]
623
- this.cbc.push({
624
- label:'全部',
625
- value:''
626
- })
627
- this.cbcs.forEach(res=>{
628
- this.cbc.push({
629
- label:res.f_book_name,
630
- value:res.id
631
- })
632
- })
633
- })
634
- }
635
- },
636
- getRes(obj) {
637
- this.model.f_filialeid = this.$login.convertToIn(obj.resids);
638
- this.searchData.f_filialeid = this.$login.convertToIn(obj.resids);
639
- this.Mreadibook(this.model.f_filialeid)
640
- this.getAllMeterBook(this.model.f_filialeid)
641
- this.getPcd(this.model.f_filialeid)
642
- //this.$refs.paged.$refs.criteria.search()
643
- },
644
-
645
- change(row) {
646
- // Vue.$login = {jwt: row.f_checker_id}
647
- asyncReady(this).then(() => {
648
- ////tag)
649
- row.f_upload_state = '已传'
650
- this.$goto('new-check-paper', {f_plan_id: row.f_check_plan_id, item: row, role: 'view'}, 'self')
651
- }).catch(
652
- (respanse) => {
653
- alert('获取配置文件失败')
654
- })
655
- },
656
- readConfig() {
657
- let gen = asyncReady(this)
658
- return co(gen)
659
- },
660
- showChooser() {
661
- this.showModal = true
662
- },
663
- hidden() {
664
- this.criteriaShow = !this.criteriaShow
665
- },
666
- refresh() {
667
- this.$refs.paged.$refs.criteria.search()
668
- },
669
- ok() {
670
- this.showModal = false
671
- if (this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id) {
672
- this.model.f_plan_id = this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id
673
- this.model.f_check_plan=this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow
674
- }
675
- },
676
- cancel() {
677
- this.showModal = false
678
- this.model.f_check_plan = {f_plan_name: '', id: ''}
679
- this.model.f_plan_id=''
680
- },
681
- print(row) {
682
- this.showcheckmsg = true
683
- this.checkInfo = row
684
- },
685
-
686
- sort(field, rule) {
687
- // 将所有排序方式设为不排序,实现相互排斥
688
- for (let key in this.orderFields) {
689
- if (key === field) {
690
- this.orderFields[key] = rule
691
- } else {
692
- this.orderFields[key] = 'no'
693
- }
694
- }
695
- // 如果新规则不排序,还原为默认排序
696
- if (rule === 'no') {
697
- this.model.paramSource.orderitem = `'${this.orderDefault}'`
698
- } else {
699
- this.model.paramSource.orderitem = `'${field} ${rule}'`
700
- }
701
- this.search()
702
- },
703
- search() {
704
- this.$refs.paged.$refs.criteria.search()
705
- },
706
- selfSearch(args) {
707
- if (args.model.f_department_name){
708
- const matchedCheckers = this.checkerArr
709
- .filter(user => user.f_department_name === args.model.f_department_name)
710
- .map(user => `'${user.name}'`)
711
- if (matchedCheckers.length > 0) {
712
- args.condition += ` and f_checker_name in (${matchedCheckers.join()})`
713
- }
714
- }
715
- ////tag
716
- //args.condition+=" and f_check_type='民用'"
717
- if (args.model.f_entry && args.model.f_entry.length > 0) {
718
- let valuesele = `(`
719
- for (let i = 0; i < args.model.f_entry.length; i++) {
720
- valuesele += `'${args.model.f_entry[i]}',`
721
- }
722
- args.condition += ' and f_entry_status in ' + valuesele.substring(0, valuesele.length - 1) + ')'
723
- }
724
- this.model.search(args.condition, args.model, args.condValue)
725
- }
726
- },
727
-
728
- ready() {
729
- ////tag
730
- this.function = this.f
731
- ////tag
732
-
733
- let gen = select(this)
734
- //this.pianqu()
735
- this.Mreadibook(`('${this.$login.f.orgid}')`)
736
- co(gen)
737
- this.getDepartment()
738
- },
739
- watch: {
740
- 'model.f_no_checkplan'(val) {
741
- if (this.model.f_no_checkplan){
742
- this.searchData.f_no_checkplan = val
743
- }
744
- if (this.model.f_no_checkplan == '有计划安检') {
745
-
746
- this.showChooser()
747
- }
748
- },
749
- 'model.condition'(val) {
750
- if (val) {
751
- this.searchData.condition = val
752
- }
753
-
754
- },
755
- /*'model.f_entry'(val) {
756
- this.searchData.f_entry_status = val
757
- },*/
758
- 'model.f_plan_id'(val) {
759
- if (val) {
760
- this.searchData.f_plan_id = val
761
- }
762
- },
763
- 'model.f_slice_area'(val) {
764
- },
765
- 'model.f_approved'(val) {
766
- if (val) {
767
- this.searchData.f_approved = val
768
- }
769
- },
770
- }
771
-
772
- }
773
- </script>
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="basic-main">
4
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
5
+ <criteria partial='criteria' class="search_area" @condition-changed='$parent.selfSearch' v-ref:criteria>
6
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
+ <div class="row">
8
+ <div class="form-group col-sm-2" >
9
+ <label class="font_normal_body">模糊查询</label>
10
+ <input type="text" class="input_search" v-model="model.f_userinfo"
11
+ style="width: 60%" placeholder="编号 名称 电话 表号 地址"
12
+ condition="(f_userinfo_code like '%{}%' or f_user_name like '%{}%' or f_user_phone like '%{}%' or f_meternumber like '%{}%' or f_address like '%{}%' or f_zuhu_phone like '%${}%' or f_rent_phone like '%${}%')">
13
+ </div>
14
+ <div class="form-group col-sm-2" >
15
+ <label class="font_normal_body">客户编号</label>
16
+ <input type="text" class="input_search" v-model="model.f_userinfo_code"
17
+ style="width: 60%" placeholder="客户编号" condition="f_userinfo_code='{}'">
18
+ </div>
19
+ <div class="form-group col-sm-2" >
20
+ <label class="font_normal_body">客户名称</label>
21
+ <input type="text" class="input_search" v-model="model.f_user_name"
22
+ style="width: 60%" placeholder="客户名称" condition="f_user_name like '%{}%'">
23
+ </div>
24
+ <div class="form-group col-sm-2" >
25
+ <label class="font_normal_body">客户电话</label>
26
+ <input type="text" class="input_search" v-model="model.f_user_phone"
27
+ style="width: 60%" placeholder="客户电话" condition=" ( f_user_phone like '%{}%' or f_zuhu_phone like '%${}%' or f_rent_phone like '%${}%' )">
28
+ </div>
29
+ <div class="form-group col-sm-2" >
30
+ <label class="font_normal_body">客户表号</label>
31
+ <input type="text" class="input_search" v-model="model.f_meternumber"
32
+ style="width: 60%" placeholder="客户表号" condition="f_meternumber like '%{}%'">
33
+ </div>
34
+ <div class="form-group col-sm-2" >
35
+ <label class="font_normal_body">详细地址</label>
36
+ <input type="text" class="input_search" v-model="model.f_address"
37
+ style="width: 60%" placeholder="详细地址" condition="f_address like '%{}%'">
38
+ </div>
39
+ <div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right">
40
+
41
+ <export-excel-safe :data="$parent.$parent.searchData"
42
+ :field="$parent.$parent.excelHeaders"
43
+ :choose-col="true"
44
+ sqlurl="rs/logic/SafeExportExcel" sql-name="查找安检单" template-name='安检结果明细'></export-excel-safe>
45
+ <!-- <export-excel :data="$parent.$parent.getCondition" -->
46
+ <!-- :field="$parent.$parent.getfield"-->
47
+ <!-- sqlurl="rs/logic/exportfile" sql-name="chargeQuery" template-name='收费查询导出'-->
48
+ <!-- :choose-col="true"></export-excel>-->
49
+ <!-- <button class="button_spacing button_search" @click="$parent.$parent.showaudio()" v-if="!$parent.$parent.audioshow">录音</button>-->
50
+ <button class="button_spacing button_search" @click="$parent.$parent.showaudio()" v-if="$parent.$parent.audioshow">隐藏</button>
51
+
52
+ <button class="button_spacing button_search" @click="search()">查询</button>
53
+ <div style="float: right" class="button_spacing"
54
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
55
+ @click="$parent.$parent.hidden()"></div>
56
+ </div>
57
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
58
+ <label class="font_normal_body">小&emsp;&emsp;区</label>
59
+ <input type="text" class="input_search" v-model="model.f_residential_area"
60
+ style="width: 60%" placeholder="小区" condition="f_residential_area like '%{}%'">
61
+ </div>
62
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
63
+ <label class="font_normal_body">安检计划</label>
64
+ <input type="text" class="input_search" v-model="$parent.$parent.model.f_check_plan.f_plan_name"
65
+ @click="$parent.$parent.showChooser"
66
+ style="width: 60%" placeholder="安检计划" readonly="readonly">
67
+ </div>
68
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
69
+ <label class="font_normal_body">开始时间</label>
70
+ <datepicker
71
+ :value.sync="model.f_check_start"
72
+ placeholder='开始时间' style="width: 60%"
73
+ :disabled-days-of-week="[]"
74
+ :format="'yyyy-MM-dd'"
75
+ :show-rest-button="reset"
76
+ v-model="model.f_check_start"
77
+ condition="f_offsite_time > ='{} 00:00:00'">
78
+ </datepicker>
79
+ <!-- <datepicker-->
80
+ <!-- class="select_list select"-->
81
+ <!-- :value.sync="model.f_check_start"-->
82
+ <!-- placeholder='开始时间' style="width: 60%"-->
83
+ <!-- :disabled-days-of-week="[]"-->
84
+ <!-- :format="'yyyy-MM-dd'"-->
85
+ <!-- :show-rest-button="reset"-->
86
+ <!-- v-model="model.f_check_start"-->
87
+ <!-- condition="f_offsite_time > ='{} 00:00:00'">-->
88
+ <!-- </datepicker>-->
89
+ </div>
90
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
91
+ <label class="font_normal_body">结束时间</label>
92
+ <datepicker
93
+ :value.sync="model.f_check_end"
94
+ placeholder='结束时间' style="width: 60%"
95
+ :disabled-days-of-week="[]"
96
+ :format="'yyyy-MM-dd'"
97
+ :show-rest-button="reset"
98
+ v-model="model.f_check_end"
99
+ condition="f_offsite_time <= '{} 23:59:59'">
100
+ </datepicker>
101
+ </div>
102
+
103
+
104
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
105
+
106
+ <label class="font_normal_body">安检类型</label>
107
+ <v-select :value.sync="model.f_safecheck_type" v-model='model.f_safecheck_type'
108
+ :value-single="true" style="width: 60%"
109
+ class="select_list select"
110
+ :options='$parent.$parent.safetype' placeholder='安检类型'
111
+ close-on-select
112
+ condition="f_safecheck_type = '{}'"></v-select>
113
+ </div>
114
+
115
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
116
+
117
+ <label class="font_normal_body">客户类型</label>
118
+ <v-select :value.sync="model.f_check_type" v-model='model.f_check_type'
119
+ :value-single="true" style="width: 60%"
120
+ class="select_list select"
121
+ :options='$parent.$parent.checktype' placeholder='客户类型'
122
+ close-on-select
123
+ condition="f_check_type = '{}'"></v-select>
124
+ </div>
125
+
126
+
127
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
128
+ <label class="font_normal_body">安检状态</label>
129
+ <v-select id="f_entry"
130
+ class="select_list select"
131
+ placeholder='安检状态' style="width: 60%"
132
+ v-model='model.f_entry'
133
+ :value.sync="model.f_entry"
134
+ :options='$parent.$parent.f_entry_status'
135
+ condition=""
136
+ :multiple="true"
137
+ ></v-select>
138
+ </div>
139
+
140
+
141
+
142
+ <!-- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">-->
143
+ <!-- <label class="font_normal_body">安&ensp;检&ensp;员</label>-->
144
+ <!-- <v-select :value.sync="model.f_checker_id" v-model='model.f_checker_id'-->
145
+ <!-- :value-single="true" style="width: 60%"-->
146
+ <!-- class="select_list select"-->
147
+ <!-- :options='$parent.$parent.checkersid' placeholder='安检员'-->
148
+ <!-- close-on-select-->
149
+ <!-- condition="f_checker_id = '{}'"></v-select>-->
150
+ <!-- </div>-->
151
+ <!-- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">-->
152
+ <!-- <label class="font_normal_body" style="margin-right: 2px">公&emsp;&emsp;司</label>-->
153
+ <!-- <right-tree @re-res="$parent.$parent.getRes" :initresid="$parent.$parent.$login.f.orgid">-->
154
+ <!-- </right-tree>-->
155
+ <!-- </div>-->
156
+ <div class="col-sm-4 form-group" v-show="$parent.$parent.criteriaShow" style="margin: 0">
157
+ <role-selector-safe
158
+ role-name="安检员"
159
+ role-lable="安&nbsp;检&nbsp;员&nbsp;"
160
+ @re-res="$parent.$parent.getRes"
161
+ :value.sync="model.f_checker_id"
162
+ v-model="model.f_checker_id"
163
+ :value-multiple="true"
164
+ :value-close="false"
165
+ condition="f_checker_name in {}">
166
+ </role-selector-safe>
167
+ </div>
168
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
169
+ <label class="font_normal_body">片&emsp;&emsp;区</label>
170
+ <v-select class="select_list select"
171
+ placeholder='片区/管理站' style="width: 60%"
172
+ :value.sync="model.f_slice_area" v-model="model.f_slice_area"
173
+ :options='$parent.$parent.sliceArea'
174
+ filer-key="name"
175
+ close-on-select clear-button
176
+ condition="f_slice_area='{}'"
177
+ @change="$parent.$parent.getmeterbook(model.f_slice_area)"
178
+ :value-single="true">
179
+ </v-select>
180
+ </div>
181
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
182
+ <label class="font_normal_body">抄&ensp;表&ensp;册</label>
183
+ <v-select class="select_list select"
184
+ placeholder='抄表册' style="width: 60%"
185
+ :value.sync="model.f_meter_book_num" v-model="model.f_meter_book_num"
186
+ :options='$parent.$parent.cbc'
187
+ filer-key="name"
188
+ close-on-select clear-button
189
+ condition="f_meter_book_num={}"
190
+ :value-single="true">
191
+ </v-select>
192
+ </div>
193
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
194
+ <label class="font_normal_body">省&ensp;市&ensp;区</label>
195
+ <v-select class="select_list select"
196
+ placeholder='请选择' style="width: 60%"
197
+ :value.sync="model.f_pcd" v-model="model.f_pcd"
198
+ :options='$parent.$parent.pcds'
199
+ filer-key="name"
200
+ close-on-select clear-button
201
+ condition="f_pcd='{}'"
202
+ :value-single="true">
203
+ </v-select>
204
+ </div>
205
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
206
+ <label class="font_normal_body">计划类型</label>
207
+ <v-select class="select_list select"
208
+ placeholder='请选择' style="width: 60%"
209
+ :value.sync="model.f_no_checkplan" v-model="model.f_no_checkplan"
210
+ :options='$parent.$parent.no_checkplans'
211
+ filer-key="name"
212
+ close-on-select clear-button
213
+ condition="f_no_checkplan='{}'"
214
+ :value-single="true">
215
+ </v-select>
216
+ </div>
217
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
218
+ <label class="font_normal_body">客户卡号</label>
219
+ <input type="text" class="input_search" v-model="model.f_card_id"
220
+ style="width: 60%" placeholder="客户卡号" condition="f_card_id like '%{}%'">
221
+ </div>
222
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
223
+ <label class="font_normal_body">部&emsp;&emsp;门</label>
224
+ <v-select class="select_list select"
225
+ placeholder='请选择' style="width: 60%"
226
+ :value.sync="model.f_department_name" v-model="model.f_department_name"
227
+ :options='$parent.$parent.departmentArr'
228
+ filer-key="name"
229
+ close-on-select clear-button
230
+ :value-single="true">
231
+ </v-select>
232
+ </div>
233
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
234
+ <label class="font_normal_body">客户评价</label>
235
+ <v-select class="select_list select"
236
+ placeholder='客户评价' style="width: 60%"
237
+ :value.sync="model.f_client_evaluation" v-model="model.f_client_evaluation"
238
+ :options='$parent.$parent.evaluations'
239
+ close-on-select clear-button
240
+ condition="f_client_evaluation='{}'"
241
+ :value-single="true">
242
+ </v-select>
243
+ </div>
244
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
245
+ <label class="font_normal_body">通气开始</label>
246
+ <datepicker
247
+ :value.sync="model.f_gas_start"
248
+ placeholder='首次通气时间' style="width: 60%"
249
+ :disabled-days-of-week="[]"
250
+ :format="'yyyy-MM-dd'"
251
+ :show-rest-button="reset"
252
+ v-model="model.f_gas_start"
253
+ condition="f_uservent_date >='{} 00:00:00'">
254
+ </datepicker>
255
+ </div>
256
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
257
+ <label class="font_normal_body">通气结束</label>
258
+ <datepicker
259
+ :value.sync="model.f_gas_end"
260
+ placeholder='首次通气时间' style="width: 60%"
261
+ :disabled-days-of-week="[]"
262
+ :format="'yyyy-MM-dd'"
263
+ :show-rest-button="reset"
264
+ v-model="model.f_gas_end"
265
+ condition="f_uservent_date <= '{} 23:59:59'">
266
+ </datepicker>
267
+ </div>
268
+ </div>
269
+ <modal :show.sync="$parent.$parent.showModal" v-ref:modal backdrop="false">
270
+ <div slot="modal-header" class="modal-header">
271
+ <h4 class="modal-title">
272
+ 选择计划
273
+ </h4>
274
+ </div>
275
+ <div slot="modal-body" class="modal-body">
276
+ <plan-chooser :f.sync="$parent.$parent.fun" v-ref:chooser></plan-chooser>
277
+ </div>
278
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
279
+ <button class="button_search" @click="$parent.$parent.ok">确认</button>
280
+ <button class="button_search" @click="$parent.$parent.cancel">取消</button>
281
+ </div>
282
+ </modal>
283
+ </div>
284
+ </criteria>
285
+ <data-grid class="list_area table_sy" style="overflow: hidden" :model="model" partial='list' v-ref:grid>
286
+ <template partial='head'>
287
+ <tr>
288
+ <th>
289
+ <nobr>客户编号</nobr>
290
+ </th>
291
+ <th>
292
+ <nobr>客户名称</nobr>
293
+ </th>
294
+ <th>
295
+ <nobr>客户表号</nobr>
296
+ </th>
297
+ <th>
298
+ <nobr>客户电话</nobr>
299
+ </th>
300
+ <th>
301
+ <nobr>客户类型</nobr>
302
+ </th>
303
+ <th>
304
+ <nobr>客户地址</nobr>
305
+ </th>
306
+ <th>
307
+ <nobr>通气时间</nobr>
308
+ </th>
309
+ <th>
310
+ <nobr>安检状态</nobr>
311
+ </th>
312
+ <th>
313
+ <data-order field="f_offsite_time" name="安检时间"></data-order>
314
+ </th>
315
+ <th>
316
+ <nobr>安检员</nobr>
317
+ </th>
318
+ <th>
319
+ <nobr>气表型号</nobr>
320
+ </th>
321
+ <th>
322
+ <nobr>气表品牌</nobr>
323
+ </th>
324
+ <th>
325
+ <nobr>电子读数</nobr>
326
+ </th>
327
+ <th>
328
+ <nobr>机械读数</nobr>
329
+ </th>
330
+ <th>
331
+ <nobr>剩余气量</nobr>
332
+ </th>
333
+ <th>
334
+ <nobr>剩余金额</nobr>
335
+ </th>
336
+ <th>
337
+ <nobr>备注</nobr>
338
+ </th>
339
+ <th>
340
+ <nobr>客户评价</nobr>
341
+ </th>
342
+ <th>
343
+ <nobr>操作</nobr>
344
+ </th>
345
+ <th v-if="$parent.$parent.$parent.audioshow">
346
+ <nobr>录音</nobr>
347
+ </th>
348
+ </tr>
349
+ </template>
350
+ <template partial='body'>
351
+
352
+ <td style="text-align: center">{{row.f_userinfo_code}}</td>
353
+ <td style="text-align: center">{{row.f_user_name}}</td>
354
+ <td style="text-align: center">{{row.f_meternumber}}</td>
355
+ <td style="text-align: center">{{row.f_user_phone}}</td>
356
+ <td style="text-align: center">{{row.f_check_type}}</td>
357
+
358
+ <td style="text-align: center">{{row.f_address}}</td>
359
+ <td style="text-align: center">{{row.f_uservent_date}}</td>
360
+ <td style="text-align: center">{{row.f_entry_status}}</td>
361
+ <td style="text-align: center">{{row.f_offsite_time}}</td>
362
+ <td style="text-align: center">{{row.f_checker_name}}</td>
363
+ <td style="text-align: center">{{row.f_diaphgram_size}}</td>
364
+ <td style="text-align: center">{{row.f_aliasname}}</td>
365
+ <td style="text-align: center">{{row.f_electronic_read}}</td>
366
+ <td style="text-align: center">{{row.f_mechanical_read}}</td>
367
+ <td style="text-align: center">{{row.f_remaining_gas_volume}}</td>
368
+ <td style="text-align: center">{{row.f_remaining_amount}}</td>
369
+ <td style="text-align: center">{{row.f_repair_approved_note}}</td>
370
+ <td style="text-align: center">{{row.f_client_evaluation}}</td>
371
+ <td style="text-align: center">
372
+ <button class="button_spacing button_search-1" @click='$parent.$parent.$parent.change(row)'>查看</button>
373
+
374
+
375
+ </td>
376
+ <td style="text-align: center" v-if="$parent.$parent.$parent.audioshow">
377
+ <!-- <button class="button_spacing button_search-1" @click='$parent.$parent.$parent.change(row)'>查看</button>-->
378
+ <audio controls="controls" v-if="row.f_recording1_path">
379
+ <source type="audio/mpeg" :src="'rs/audio/file/'+row.f_recording1_path">
380
+ </audio>
381
+ <!--<button type="button" class="button_new-1 button_spacing" data-toggle="dropdown"
382
+ @click="$parent.$parent.$parent.print(row)">
383
+ 打印
384
+ </button>-->
385
+ </td>
386
+ </template>
387
+ </data-grid>
388
+ </criteria-paged>
389
+ <check-msg v-if="showcheckmsg" :show="showcheckmsg" :data="checkInfo"></check-msg>
390
+ </div>
391
+ </div>
392
+ </template>
393
+
394
+ <script>
395
+ import {PagedList} from 'vue-client'
396
+ import Vue from 'vue'
397
+ import co from 'co'
398
+ import AppData from '../../../stores/AppData'
399
+ import * as Util from '../../Util'
400
+ import getNowDate from "../../../utils/getNowDate";
401
+ import HttpResetClass from "vue-client/src/plugins/HttpResetClass";
402
+ import BenzAMRRecorder from 'benz-amr-recorder'
403
+
404
+ //获取json配置文件
405
+ let asyncReady = async function (self) {
406
+ // 获取配置信息
407
+ try {
408
+ let res = await Vue.resetget(`/phone/rs/vue`, {data: {}}, {resolveMsg: null, rejectMsg: null})
409
+ Vue.config = res.data
410
+ } catch (error) {
411
+ // 忽略704,文件找不到异常R
412
+ if (error.status !== 704) {
413
+ throw error
414
+ }
415
+ }
416
+ }
417
+
418
+ let select = function* (self) {
419
+ let http = new HttpResetClass()
420
+ let getGasman = yield http.load('POST', '/rs/search', {
421
+ source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
422
+ userid: self.$login.f.id
423
+ }, {resolveMsg: null, rejectMsg: null})
424
+ ////tag
425
+ self.checkersid.push({label: '全部', value: ''})
426
+ getGasman.data.forEach((checker) => {
427
+ self.checkersid.push({label: checker.name, value: checker.id})
428
+ })
429
+ }
430
+
431
+ export default {
432
+ title: '安检结果查看',
433
+ data() {
434
+ let model = new PagedList('rs/sql/查找安检单', 20, {
435
+ f_plan_id: 'this.f_plan_id',
436
+ f_approved: 'this.f_approved',
437
+ f_entry_status: 'this.f_entry',
438
+ f_no_checkplan: 'this.f_no_checkplan',
439
+ f_filialeid: 'this.f_filialeid',
440
+ orderitem: "'f_offsite_time desc'"
441
+ })
442
+ model.f_check_type=''
443
+ model.f_plan_id = ''
444
+ model.f_approved = ''
445
+ model.f_entry = ''
446
+ model.f_no_checkplan = ''
447
+ model.f_filialeid = `('${this.$login.f.orgid}')`
448
+ //model.f_check_type='民用'
449
+ // let searchData={
450
+ // f_plan_id: this.model.f_checker_id==undefined?"":this.model.f_checker_id,
451
+ // f_approved: this.model.f_approved,
452
+ // f_entry_status: this.model.f_entry,
453
+ // f_no_checkplan:this.model.f_no_checkplan[0],
454
+ // f_filialeid: this.model.f_filialeid,
455
+ // //orderitem: this.model.f_offsite_time,
456
+ // //condition:this.model.condition
457
+ // }
458
+ // model.f_subcompany = this.$login.f.f_fengongsi
459
+ return {
460
+ audioshow:false,
461
+ searchData: {
462
+ condition: "1=1",
463
+ orderitem: "f_offsite_time desc",
464
+ f_plan_id: "",
465
+ f_approved: '',
466
+ f_no_checkplan: '',
467
+ f_filialeid: `('${this.$login.f.orgid}')`
468
+ },
469
+ model: model,
470
+ excelHeaders: {
471
+ //searchData:searchData,
472
+ 'f_userinfo_code': '客户编号',
473
+ 'f_user_name': '客户姓名',
474
+ 'f_meternumber':'客户表号',
475
+ 'f_user_phone':'客户电话',
476
+ 'f_check_type': '客户类型',
477
+ 'f_residential_area': '小区',
478
+ 'f_address': '客户地址',
479
+ 'f_uservent_date': '通气时间',
480
+ 'f_entry_status': '安检状态',
481
+ 'f_offsite_time': '安检时间',
482
+ 'f_checker_name': '安检员',
483
+ 'f_diaphgram_size': '气表型号',
484
+ 'f_aliasname': '气表品牌',
485
+ 'f_electronic_read': '电子读数',
486
+ 'f_mechanical_read': '机械读数',
487
+ 'f_remaining_gas_volume': '剩余气量',
488
+ 'f_remaining_amount': '剩余金额',
489
+ 'f_safecheck_type':'安检类型',
490
+ 'f_repair_approved_note': '备注',
491
+ 'f_client_evaluation': '评价',
492
+ 'f_plan_name': '计划名称',
493
+ },
494
+ fun: this.$login.f,
495
+ pcds:[],
496
+ departmentArr:[],
497
+ checkerArr:[],
498
+ checkersid: [],
499
+ safetype: this.$appdata.getParam('安检类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检类型')]:[{label: '全部', value: ''}],
500
+ criteriaShow: false,
501
+ checktype: this.$appdata.getParam('用户类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]:[{label: '全部', value: ''}],
502
+ f_check_type:[{label:'全部',value:''},{label:'民用',value:'民用'},{label:'非民用',value:'非民用'}],
503
+ showModal: false,
504
+ no_checkplans:this.$appdata.getParam('计划类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('计划类型')]:[{label: '全部', value: ''}],
505
+ f_approval_states: this.$appdata.getParam('安检单审核状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检单审核状态')]:[{label: '全部', value: ''}],
506
+ f_entry_status: this.$appdata.getParam('安检状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检状态')]:[{label: '全部', value: ''}],
507
+ f_checkplans: this.$appdata.getParam('有无计划')?[{label: '全部', value: ''}, ...this.$appdata.getParam('有无计划')]:[{label: '全部', value: ''}],
508
+ showcheckmsg: false,
509
+ evaluations:[{label: '全部', value: ''},{label: '满意', value: '满意'},{label: '基本满意', value: '基本满意'},{label: '不满意', value: '不满意'}],
510
+ checkInfo: {},
511
+ orderDefault: "'f_offsite_time'",
512
+ orderFields: {
513
+ f_offsite_time: 'no'
514
+ },
515
+ sliceArea: [],
516
+ cbc:[]
517
+ }
518
+ },
519
+ methods: {
520
+ //获取省市区列表
521
+ getPcd(val){
522
+ this.pcds = [{label:'全部',value:''}]
523
+ new HttpResetClass().load("POST", `/rs/sql/safe_singleTable_OrderBy`,
524
+ {data:{items:"*",tablename:"t_pcd",orderitem:"id",condition:`f_orgid in ${val}`}},
525
+ {resolveMsg: null, rejectMsg: null}).then((pcdlist)=>{
526
+ pcdlist.data.forEach((result)=>{
527
+ this.pcds.push({label:result.f_pcd,value:result.f_pcd})
528
+ })
529
+ })
530
+ },
531
+ getDepartment(){
532
+ new HttpResetClass().load('POST',`/rs/sql/tel_singleTable_OrderBy`, {data: {
533
+ items: '*',
534
+ tablename: 't_user',
535
+ condition: `rolestr like '%安检员%' and state = '在职'`,
536
+ orderitem: '1'
537
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
538
+ this.checkerArr = res.data
539
+ this.departmentArr = []
540
+ let tempArr = []
541
+ res.data.forEach((user)=>{
542
+ if (!tempArr.includes(user.f_department_name)){
543
+ tempArr.push(user.f_department_name)
544
+ this.departmentArr.push({label:user.f_department_name,value:user.f_department_name})
545
+ }
546
+ })
547
+ })
548
+ },
549
+ showaudio(){
550
+ //tag
551
+ this.audioshow=!this.audioshow
552
+ //tag
553
+ },
554
+ getmeterbook(val){
555
+ this.cbc=[]
556
+ this.cbc.push({
557
+ label:'全部',
558
+ value:''
559
+ })
560
+ if (val==''){
561
+
562
+ this.cbcs.forEach(res=>{
563
+ this.cbc.push({
564
+ label:res.f_book_name,
565
+ value:res.id
566
+ })
567
+ })
568
+ }else{
569
+ this.cbcs.forEach(res=>{
570
+ if (res.f_book_slice_area==val){
571
+ this.cbc.push({
572
+ label:res.f_book_name,
573
+ value:res.id
574
+ })
575
+ }
576
+ })
577
+ }
578
+ },
579
+ Mreadibook(val){
580
+ ////tag
581
+ ////tag
582
+ if (val){
583
+ new HttpResetClass().load('POST',`/rs/sql/tel_singleTable_OrderBy`, {data: {
584
+ items: 'name',
585
+ tablename: 't_zone',
586
+ condition: `parentid in ${val}`,
587
+ orderitem: 'id'
588
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
589
+ this.sliceArea=[]
590
+ this.sliceArea.push({
591
+ label:'全部',
592
+ value:''
593
+ })
594
+ res.data.forEach(ress=>{
595
+ this.sliceArea.push({
596
+ label:ress.name,
597
+ value:ress.name
598
+ })
599
+ })
600
+
601
+ })
602
+ }
603
+ },
604
+ getAllMeterBook(val){
605
+ ////tag
606
+ ////tag
607
+ this.cbcs=[]
608
+ if (val){
609
+ new HttpResetClass().load('POST',`/rs/sql/tel_singleTable_OrderBy`, {data: {
610
+ items: 'f_book_name,f_book_slice_area,id',
611
+ tablename: 't_meter_book',
612
+ condition: `f_filiale_id in ${val}`,
613
+ orderitem: 'id'
614
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
615
+ res.data.forEach(ress=>{
616
+ this.cbcs.push({
617
+ id:ress.id,
618
+ f_book_name:ress.f_book_name,
619
+ f_book_slice_area:ress.f_book_slice_area
620
+ })
621
+ })
622
+ this.cbc=[]
623
+ this.cbc.push({
624
+ label:'全部',
625
+ value:''
626
+ })
627
+ this.cbcs.forEach(res=>{
628
+ this.cbc.push({
629
+ label:res.f_book_name,
630
+ value:res.id
631
+ })
632
+ })
633
+ })
634
+ }
635
+ },
636
+ getRes(obj) {
637
+ this.model.f_filialeid = this.$login.convertToIn(obj.resids);
638
+ this.searchData.f_filialeid = this.$login.convertToIn(obj.resids);
639
+ this.Mreadibook(this.model.f_filialeid)
640
+ this.getAllMeterBook(this.model.f_filialeid)
641
+ this.getPcd(this.model.f_filialeid)
642
+ //this.$refs.paged.$refs.criteria.search()
643
+ },
644
+
645
+ change(row) {
646
+ // Vue.$login = {jwt: row.f_checker_id}
647
+ asyncReady(this).then(() => {
648
+ ////tag)
649
+ row.f_upload_state = '已传'
650
+ this.$goto('new-check-paper', {f_plan_id: row.f_check_plan_id, item: row, role: 'view'}, 'self')
651
+ }).catch(
652
+ (respanse) => {
653
+ alert('获取配置文件失败')
654
+ })
655
+ },
656
+ readConfig() {
657
+ let gen = asyncReady(this)
658
+ return co(gen)
659
+ },
660
+ showChooser() {
661
+ this.showModal = true
662
+ },
663
+ hidden() {
664
+ this.criteriaShow = !this.criteriaShow
665
+ },
666
+ refresh() {
667
+ this.$refs.paged.$refs.criteria.search()
668
+ },
669
+ ok() {
670
+ this.showModal = false
671
+ if (this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id) {
672
+ this.model.f_plan_id = this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id
673
+ this.model.f_check_plan=this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow
674
+ }
675
+ },
676
+ cancel() {
677
+ this.showModal = false
678
+ this.model.f_check_plan = {f_plan_name: '', id: ''}
679
+ this.model.f_plan_id=''
680
+ },
681
+ print(row) {
682
+ this.showcheckmsg = true
683
+ this.checkInfo = row
684
+ },
685
+
686
+ sort(field, rule) {
687
+ // 将所有排序方式设为不排序,实现相互排斥
688
+ for (let key in this.orderFields) {
689
+ if (key === field) {
690
+ this.orderFields[key] = rule
691
+ } else {
692
+ this.orderFields[key] = 'no'
693
+ }
694
+ }
695
+ // 如果新规则不排序,还原为默认排序
696
+ if (rule === 'no') {
697
+ this.model.paramSource.orderitem = `'${this.orderDefault}'`
698
+ } else {
699
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
700
+ }
701
+ this.search()
702
+ },
703
+ search() {
704
+ this.$refs.paged.$refs.criteria.search()
705
+ },
706
+ selfSearch(args) {
707
+ if (args.model.f_department_name){
708
+ const matchedCheckers = this.checkerArr
709
+ .filter(user => user.f_department_name === args.model.f_department_name)
710
+ .map(user => `'${user.name}'`)
711
+ if (matchedCheckers.length > 0) {
712
+ args.condition += ` and f_checker_name in (${matchedCheckers.join()})`
713
+ }
714
+ }
715
+ ////tag
716
+ //args.condition+=" and f_check_type='民用'"
717
+ if (args.model.f_entry && args.model.f_entry.length > 0) {
718
+ let valuesele = `(`
719
+ for (let i = 0; i < args.model.f_entry.length; i++) {
720
+ valuesele += `'${args.model.f_entry[i]}',`
721
+ }
722
+ args.condition += ' and f_entry_status in ' + valuesele.substring(0, valuesele.length - 1) + ')'
723
+ }
724
+ this.model.search(args.condition, args.model, args.condValue)
725
+ }
726
+ },
727
+
728
+ ready() {
729
+ ////tag
730
+ this.function = this.f
731
+ ////tag
732
+
733
+ let gen = select(this)
734
+ //this.pianqu()
735
+ this.Mreadibook(`('${this.$login.f.orgid}')`)
736
+ co(gen)
737
+ this.getDepartment()
738
+ },
739
+ watch: {
740
+ 'model.f_no_checkplan'(val) {
741
+ if (this.model.f_no_checkplan){
742
+ this.searchData.f_no_checkplan = val
743
+ }
744
+ if (this.model.f_no_checkplan == '有计划安检') {
745
+
746
+ this.showChooser()
747
+ }
748
+ },
749
+ 'model.condition'(val) {
750
+ if (val) {
751
+ this.searchData.condition = val
752
+ }
753
+
754
+ },
755
+ /*'model.f_entry'(val) {
756
+ this.searchData.f_entry_status = val
757
+ },*/
758
+ 'model.f_plan_id'(val) {
759
+ if (val) {
760
+ this.searchData.f_plan_id = val
761
+ }
762
+ },
763
+ 'model.f_slice_area'(val) {
764
+ },
765
+ 'model.f_approved'(val) {
766
+ if (val) {
767
+ this.searchData.f_approved = val
768
+ }
769
+ },
770
+ }
771
+
772
+ }
773
+ </script>