safecheck-client 3.0.30-7 → 3.0.30-70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/examples/SafePlan-liaoyuan/App.vue +3 -1
  2. package/package.json +4 -3
  3. package/src/components/Util.js +15 -0
  4. package/src/components/android/AddPlanItem.vue +5 -2
  5. package/src/components/android/AreaPlan.vue +571 -571
  6. package/src/components/android/CurrentCreate.vue +3 -2
  7. package/src/components/android/CurrentCreate_new.vue +563 -559
  8. package/src/components/android/PhoneotherInfo.vue +132 -132
  9. package/src/components/android/SafecheckOrderV.vue +2 -2
  10. package/src/components/android/UploadPage.vue +13 -123
  11. package/src/components/paper/PlanChooser.vue +8 -6
  12. package/src/components/pc/Edit.vue +126 -0
  13. package/src/components/pc/LodopFuncs.js +159 -0
  14. package/src/components/pc/NewCheckpaper.vue +9 -5
  15. package/src/components/pc/PaperEdit.vue +151 -0
  16. package/src/components/pc/PrintData.vue +243 -0
  17. package/src/components/pc/PrintTable.vue +241 -0
  18. package/src/components/pc/SelectCheckPlanAndNoPLan.vue +281 -278
  19. package/src/components/querycheckpaper/CheckSearchUser.vue +1067 -1067
  20. package/src/components/report/NoCheckplanSafecheck.vue +0 -2
  21. package/src/filiale/bayan/android/SafecheckDevices.vue +1303 -1303
  22. package/src/filiale/bayan/android/SafecheckOrderV.vue +2850 -2850
  23. package/src/filiale/bayan/android/SafecheckUserInfo.vue +806 -806
  24. package/src/filiale/fugou/android/AddPlanItem.vue +413 -0
  25. package/src/filiale/fugou/android.js +10 -0
  26. package/src/filiale/hanzhong/android/PaperFeedback.vue +1477 -1477
  27. package/src/filiale/hanzhong/android/SafecheckDevices.vue +1313 -1294
  28. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  29. package/src/filiale/hanzhong/android.js +16 -16
  30. package/src/filiale/hanzhong/pc/NewCheckpaper.vue +1923 -0
  31. package/src/filiale/hanzhong/pc.js +4 -1
  32. package/src/filiale/huatong/android/CurrentCreate.vue +564 -564
  33. package/src/filiale/huatong/android/SafecheckOrderV.vue +8 -0
  34. package/src/filiale/jingyang/android/PhoneUpUserinfo.vue +34 -34
  35. package/src/filiale/jingyang/pc/PaperList.vue +1 -2
  36. package/src/filiale/kelai/android/AddPlanItem.vue +488 -0
  37. package/src/filiale/kelai/android.js +1 -0
  38. package/src/filiale/pingxiang/pc/DefectPaperNew.vue +1 -1
  39. package/src/filiale/qianneng/android/PaperFeedback.vue +40 -0
  40. package/src/filiale/qingjian/android/PhoneUpUserinfo.vue +6 -0
  41. package/src/filiale/tianke/pc/checkScreen.vue +781 -781
  42. package/src/filiale/tianke/pc/cq.jpg +0 -0
  43. package/src/filiale/tianke/pc/qy.jpg +0 -0
  44. package/src/filiale/tongchuan/android/SafecheckDevices.vue +1 -0
  45. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1095 -1090
  46. package/src/filiale/wensu/android/AndroidDefectDeal.vue +321 -366
  47. package/src/filiale/wensu/android/AndroidDefectDealItems.vue +480 -0
  48. package/src/filiale/wensu/android.js +1 -0
  49. package/src/filiale/wensu/pc/CheckSearchUser.vue +64 -0
  50. package/src/filiale/wensu/pc/DefectPaperNew.vue +16 -10
  51. package/src/filiale/wensu/pc/NewCheckpaper.vue +1936 -0
  52. package/src/filiale/wensu/pc/RoleSelector.vue +4 -1
  53. package/src/filiale/wensu/pc/checkUserList.vue +50 -0
  54. package/src/filiale/wensu/pc.js +2 -1
  55. package/src/filiale/wenxi/pc/DefectPaper.vue +1 -1
  56. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2069 -2041
  57. package/src/filiale/yangchunboneng/android/PaperFeedback.vue +20 -0
  58. package/src/filiale/yangchunboneng/pc/CheckBookDetails.vue +19 -0
  59. package/src/filiale/yongzhou/pc/CheckSearchUser.vue +1092 -0
  60. package/src/filiale/yongzhou/pc/LodopFuncs.js +159 -0
  61. package/src/filiale/yongzhou/pc/NoCheckplanSafecheck.vue +252 -0
  62. package/src/filiale/yongzhou/pc/PaperList.vue +798 -0
  63. package/src/filiale/yongzhou/pc/PrintData.vue +243 -0
  64. package/src/filiale/yongzhou/pc/PrintTable.vue +241 -0
  65. package/src/filiale/yongzhou/pc/communityDetail.vue +35 -12
  66. package/src/filiale/yongzhou/pc/communityTypeDetailG.vue +28 -14
  67. package/src/filiale/yongzhou/pc/communityTypeDetailM.vue +28 -14
  68. package/src/filiale/yongzhou/pc/safeDetail.vue +43 -15
  69. package/src/filiale/yongzhou/pc/safeStatistics.vue +16 -6
  70. package/src/filiale/yongzhou/pc/safeStatisticsDay.vue +88 -29
  71. package/src/filiale/yongzhou/pc/safeStatisticsMonth.vue +63 -27
  72. package/src/filiale/yongzhou/pc/safeStatisticsYear.vue +16 -6
  73. package/src/filiale/yongzhou/pc/safeTable.vue +10 -2
  74. package/src/filiale/yongzhou/pc.js +17 -12
  75. package/src/filiale/zhongsheng/android/CurrentCreate.vue +540 -536
  76. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +151 -53
  77. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +14 -0
  78. package/src/main.js +33 -33
  79. package/src/safecheck-android.js +290 -290
  80. package/src/safecheck.js +12 -0
@@ -1,65 +1,66 @@
1
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
- }
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
55
 
56
- .button_shrink_top {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_top.png")}
57
- .button_shrink_bottom {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_bottom.png")}
58
- .button_shrink_left {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_left.png")}
59
- .button_shrink_right {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_right.png")}
56
+ .button_shrink_top {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_top.png")}
57
+ .button_shrink_bottom {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_bottom.png")}
58
+ .button_shrink_left {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_left.png")}
59
+ .button_shrink_right {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_right.png")}
60
60
  </style>
61
61
  <template>
62
62
  <div style="height: auto;width: 100%">
63
+ <work-busy :is-busy="workBusy"></work-busy>
63
64
  <criteria-paged :model="model" v-ref:paged>
64
65
  <criteria partial='criteria' @condition-changed='search' v-ref:cri>
65
66
  <div partial>
@@ -70,7 +71,7 @@
70
71
  <label class="font text-left">用户姓名:</label>
71
72
  </div>
72
73
  <div class="col-xs-8" >
73
- <input class="search_input input-font" v-model=model.f_user_name condition="tcp.f_user_name like '%{}%'" />
74
+ <input class="search_input input-font" v-model=model.f_user_name></input>
74
75
  </div>
75
76
  </div>
76
77
  <div class="row app-row">
@@ -80,7 +81,7 @@
80
81
  </div>
81
82
  <div class="col-xs-8" >
82
83
  <input id="f_userinfo_code" class="search_input input-font"
83
- v-model=model.f_userinfo_code condition="tcp.f_userinfo_code = '{}'" />
84
+ v-model=model.f_userinfo_code></input>
84
85
  </div>
85
86
  </div>
86
87
  <div class="row app-row">
@@ -90,7 +91,7 @@
90
91
  </div>
91
92
  <div class="col-xs-8" >
92
93
  <input id="f_meternumber" class="search_input input-font"
93
- v-model=model.f_meternumber condition="uf.f_meternumber = '{}'" />
94
+ v-model=model.f_meternumber></input>
94
95
  </div>
95
96
  </div>
96
97
  <div class="row app-row">
@@ -100,7 +101,7 @@
100
101
  </div>
101
102
  <div class="col-xs-8">
102
103
  <input class="search_input input-font"
103
- v-model=model.f_address condition="tcp.f_address like '%{}%'" />
104
+ v-model=model.f_address></input>
104
105
  </div>
105
106
  </div>
106
107
  <div class="row app-row">
@@ -129,13 +130,13 @@
129
130
  :disabled-days-of-Week="[]"
130
131
  v-model="model.f_end_date"
131
132
  class="input-font"
132
- :format="'yyyy-MM-dd 23:59:00'"
133
+ :format="'yyyy-MM-dd 23:59:59'"
133
134
  :show-reset-button="reset" readonly="readonly">
134
135
  </datepicker>
135
136
  </div>
136
137
  <div class="row text-center" style="margin-top: 20px;">
137
138
  <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;" @click="$parent.$parent.selfSearch">查询</button>
138
- <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>
139
+ <!-- <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>-->
139
140
  </div>
140
141
  <div style="height:30px;"></div>
141
142
  </form>
@@ -167,23 +168,12 @@
167
168
  <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
168
169
  <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
169
170
  </div>
170
-
171
- <div class="col-xs-6">
172
- <p class="panel-title col-xs-5 text-left font"><b>检&ensp;查&ensp;项:</b></p>
173
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_device_type }}</p>
174
- </div>
175
- <div class="col-xs-6">
176
- <p class="panel-title col-xs-5 text-left font"><b>隐&ensp;患&ensp;项:</b></p>
177
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_item_name }}</p>
178
- </div>
179
- <div class="col-xs-6">
180
- <p class="panel-title col-xs-5 text-left font"><b>隐患原因:</b></p>
181
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_item_value }}</p>
171
+ <div class="col-xs-12">
172
+ <p class="panel-title text-left font" style="width: 21%;float: left"><b>隐患内容:</b></p>
173
+ <p class="panel-title text-left input-font" style="width: 79%">{{ $parent.$parent.$parent.trouble(row.f_defect_content) }}</p>
182
174
  </div>
183
175
  <div class="col-xs-12">
184
- <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right" @click="$parent.$parent.$parent.openshowModal(row.f_path)">查看</button>
185
176
  <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right;margin-right:10px;" @click="$parent.$parent.$parent.openshowModal1(row)">处理</button>
186
- <!--<button type="button" class="btn btn-default" @click="$parent.$parent.$parent.ceshi">确认2</button>-->
187
177
  </div>
188
178
  </div>
189
179
  </div>
@@ -192,318 +182,283 @@
192
182
  </list>
193
183
  </criteria-paged>
194
184
  </div>
195
- <modal :show.sync="showModal">
196
- <div slot="modal-header" class="modal-header">
197
- <h4 class="modal-title">
198
- 隐患照片
199
- </h4>
200
- </div>
201
- <div slot="modal-body" class="modal-body">
202
- <div class="from-group">
203
- <div class="row">
204
- <div class="col-md-6">
205
- <img-self :src="showimg" width="300" height="400"></img-self>
206
- </div>
207
- </div>
208
- </div>
209
- </div>
210
- <div slot="modal-footer" class="modal-footer">
211
- <button type="button" class="btn btn-default" @click="closeshowModal">确认</button>
212
- </div>
213
- </modal>
214
- <modal :show.sync="showModal1">
215
- <div slot="modal-header" class="modal-header">
216
- <h4 class="modal-title">
217
- 处理结果
218
- </h4>
219
- </div>
220
- <div slot="modal-body" class="modal-body">
221
- <div class="form-group col-sm-12">
222
- <div class="auto">
223
- <div class="panel" style="padding: 10px 10px 5px 10px;">
224
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
225
- <img-self :src="deal.f_deal_path" alt="整改照片" :width="140" :height="170" capture="camera" type="file" ></img-self>
226
- <div class="row text-right div-photo" style="height: 50px;margin-top: -30px">
227
- <img src="../../../assets/remove.png" @click="delfile('f_deal_path', deal.f_deal_path)" ></img>
228
- <button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_deal_path','整改照片')" >拍照</button>
229
- </div>
230
- </div>
231
- </div>
232
- </div>
233
- </div>
234
- <div class="form-group col-sm-12" v-if="isNeedDealSign">
235
- <p class="panel-title text-left font" style="text-align: center">用户签名:</p>
236
- <div class="auto">
237
- <div class="panel" style="padding: 10px 10px 5px 10px;">
238
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
239
- <img :src="deal.f_dealsign_path" :width="200" :height="150"/>
240
- <div class="row text-right div-photo" style="height: 50px;margin-top: 60px">
241
- <button type="button" name="button" class="btn btn-primary btn-photo" @click="sign">签名</button> </div>
242
- </div>
243
- </div>
244
- </div>
245
- </div>
246
- <div class="row app-row">
247
- <div class="col-xs-2">
248
- <p class="panel-title text-left font" style="text-align: center">备注</p>
249
- </div>
250
- <div class="col-xs-9">
251
- <textarea class="input-font " v-model=deal.f_deal_remark style="width: 100%"></textarea>
252
- </div>
253
- </div>
254
- <div class="row app-row">
255
- <label class="checkbox-inline">
256
- <input type="checkbox" v-model="deletecauseBooble"> 是否需要取消拉黑
257
- </label>
258
- </div>
259
- <div class="row app-row" v-show="deletecauseBooble">
260
- <div class="col-xs-2">
261
- <p class="panel-title text-left font" style="text-align: center">取消拉黑原因:</p>
262
- </div>
263
- <div class="col-xs-9">
264
- <textarea class="input-font " v-model="deletecause" style="width: 100%" placeholder="请输入取消限制用户购气原因"></textarea>
265
- </div>
266
- </div>
267
- </div>
268
- <div slot="modal-footer" class="modal-footer">
269
- <button type="button" class="btn btn-default" @click="commitDealDefect">确认</button>
270
- <button type="button" class="btn btn-default" @click="closeshowModal1">取消</button>
271
- </div>
272
- </modal>
273
185
  </template>
274
186
 
275
187
  <script>
276
188
 
277
- import Vue from 'vue'
278
- import { PagedList,HttpResetClass } from 'vue-client'
279
- import * as Util from '../../Util'
189
+ import Vue from 'vue'
190
+ import { PagedList,HttpResetClass } from 'vue-client'
191
+ import * as Util from '../../Util'
280
192
 
281
- export default {
282
- title: '无计划安检查询',
283
- data() {
284
- return {
285
- showModal:false,
286
- showModal1:false,
287
- showimg:'',
288
- deletecause:'',
289
- deletecauseBooble: false,
290
- deal:{
291
- result:{},
292
- f_deal_path:'',
293
- f_deal_remark:'',
294
- f_dealsign_path:'', //签名
295
- f_dealer:Vue.user.name,
296
- f_dealer_id:Vue.user.id
297
- },
298
- f_filialeids:'',
299
- model:new PagedList( `${this.$androidUtil.getProxyUrl()}/rs/sql/AndroidDealWith`,20,{condition:'this.condition',f_filialeids:`'${Vue.user.orgid}'`,f_checker_id:`'${Vue.user.id}'`}),
300
- criteriaShow: false,
301
- isNeedDealSign: this.$appdata.getSingleValue('隐患处理是否需要签名') == 'true',
302
- }
303
- },
304
- ready(){
305
- this.selfSearch()
306
- },
307
- methods: {
308
- // 签名回调
309
- signCallback(prop, fileName) {
310
- console.log("签名回调地址" + fileName)
311
- // HostApp.alert('绑定属性:' + prop + ' 文件全路径如file:///storage/sdcard0/safecheck/abc.jpg:' + fullFileName)
312
- HostApp.__this__.$set('deal.f_dealsign_path', fileName)
313
- HostApp.__callback__ = null
314
- HostApp.__this__ = null
315
- },
316
- // 用户签名
317
- sign() {
318
- if (!this.deal.f_deal_path) {
319
- this.$showMessage('请先拍摄处理后照片!!!')
320
- return
321
- }
322
- this.delAudioFile('f_dealsign_path', this.deal.f_dealsign_path)
323
- let prop = 'f_dealsign_path'
324
- let idx = 'aofeng'
325
- let fileName
326
- if (!this.deal.f_dealsign_path) {
327
- fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
328
- } else {
329
- fileName = Util.getFileName(this.deal.f_dealsign_path)
193
+ export default {
194
+ title: '无计划安检查询',
195
+ data() {
196
+ return {
197
+ showModal:false,
198
+ showModal1:false,
199
+ showimg:'',
200
+ deletecause:'',
201
+ deletecauseBooble: false,
202
+ workBusy:false,
203
+ deal:{
204
+ result:{},
205
+ f_deal_path:'',
206
+ f_deal_remark:'',
207
+ f_dealsign_path:'', //签名
208
+ f_dealer:Vue.user.name,
209
+ f_dealer_id:Vue.user.id
210
+ },
211
+ f_filialeids:'',
212
+ model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, 50, {items: '"tcp.*,uf.f_meternumber"', tablename: '"t_check_paper tcp left join t_userfiles uf on tcp.f_userinfoid = uf.f_userinfo_id left join (select tcp.id from t_check_paper tcp' +
213
+ ` LEFT JOIN t_paper_devices tpd ON tcp.id= tpd.f_paper_id ` +
214
+ ` LEFT JOIN t_devices_items tdi ON tpd.id= tdi.f_device_id` +
215
+ ` LEFT JOIN t_devices_items_lists tdl ON tdi.id= tdl.f_item_id ` +
216
+ ` where 1=1 AND tdi.f_is_defect= 'true' AND tdl.f_dealwith IS NULL AND tdi.f_deal_dispose = '未处理' AND tdi.f_is_repaired IS NULL group by tcp.id ) tcp2 on tcp.id = tcp2.id` +
217
+ ' "', orderitem: '"tcp.f_upload_date desc"'}),
218
+ criteriaShow: false,
219
+ isNeedDealSign: this.$appdata.getSingleValue('隐患处理是否需要签名') == 'true',
330
220
  }
331
- HostApp.__callback__ = this.signCallback
332
- HostApp.__this__ = this
333
- HostApp.getSignature({
334
- file: fileName,
335
- requestCode: 111,
336
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");'
337
- })
338
221
  },
339
- delAudioFile(prop, fileName) {
340
- if (!fileName)
341
- return
342
- else {
343
- HostApp.delfile(fileName)
344
- this.deal[prop] = null
345
- }
222
+ ready(){
223
+ // this.selfSearch()
346
224
  },
347
- commitDealDefect(){
348
- if (this.deletecauseBooble && !this.deletecause) {
349
- this.$showMessage("请填写取消拉黑原因!")
350
- return;
351
- }
352
- if (!this.deal.f_deal_path){
353
- this.$showMessage('处理后照片必须上传')
354
- return
355
- }
356
- if (this.isNeedDealSign && !this.deal.f_dealsign_path){
357
- this.$showMessage('签名必须上传')
358
- return
359
- }
360
- if (this.deletecauseBooble) {
361
- let http = new HttpResetClass()
362
- http.load('POST', 'http://36.108.175.152:8000/API/Secheck/SetBlackList', {
363
- data: {
364
- "id": this.deal.result.f_userinfo_code,
365
- "bh": this.deal.result.f_meternumber,
366
- "black": false,
367
- "blackMemo": this.deletecause
368
- }
369
- }, {resolveMsg: null, rejectMsg: null})
370
- .then((res)=>{
371
- if (res.data.Success) {
372
- HostApp.__this__ = this
373
- HostApp.logicWithHint({'logic': 'safe_dealWithDefect', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
374
- 'data': this.deal, 'backresult':1
375
- })
376
- } else {
377
- this.$showMessage("取消拉黑失败,请稍后再试!")
225
+ methods: {
226
+ trouble(val) {
227
+ const defect_content = JSON.parse(val)
228
+ let result = ''
229
+ if (defect_content.data) {
230
+ const jsonData = defect_content.data
231
+ for (const itemdata of jsonData) {
232
+ const keys = Object.keys(itemdata)
233
+ for (const itm of keys) {
234
+ const value = itemdata[itm]
235
+ result += itm + ':' + value +';'
378
236
  }
379
- })
380
- } else {
381
- HostApp.__this__ = this
382
- HostApp.logicWithHint({'logic': 'safe_dealWithDefect', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
383
- 'data': this.deal, 'backresult':1
384
- })
385
- }
386
- },
387
- commitCallBack(jo){
388
- //tag
389
- //tag)
390
- if (jo.state =='ok'){
391
- let ress = JSON.parse(jo.result)
392
- if (ress.code == 200 ) {
393
- this.$showMessage(ress.msg)
394
- this.closeshowModal1()
237
+ }
238
+ }
239
+ return result
240
+ },
241
+ // 签名回调
242
+ signCallback(prop, fileName) {
243
+ console.log("签名回调地址" + fileName)
244
+ // HostApp.alert('绑定属性:' + prop + ' 文件全路径如file:///storage/sdcard0/safecheck/abc.jpg:' + fullFileName)
245
+ HostApp.__this__.$set('deal.f_dealsign_path', fileName)
246
+ HostApp.__callback__ = null
247
+ HostApp.__this__ = null
248
+ },
249
+ // 用户签名
250
+ sign() {
251
+ if (!this.deal.f_deal_path) {
252
+ this.$showMessage('请先拍摄处理后照片!!!')
253
+ return
254
+ }
255
+ this.delAudioFile('f_dealsign_path', this.deal.f_dealsign_path)
256
+ let prop = 'f_dealsign_path'
257
+ let idx = 'aofeng'
258
+ let fileName
259
+ if (!this.deal.f_dealsign_path) {
260
+ fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
395
261
  } else {
396
- this.$showMessage(ress.msg)
262
+ fileName = Util.getFileName(this.deal.f_dealsign_path)
397
263
  }
398
- }else{
399
- this.$showMessage('本地服务调用失败')
400
- }
401
- },
402
- delfile(prop, fileName) {
403
- if (fileName == Vue.nopic)
404
- return
405
- else {
406
- HostApp.delfile(fileName)
407
- this.deal[prop] = Vue.nopic
408
- }
409
- },
410
- openshowModal(val){
411
- //tag
412
- //tag
413
- this.showimg=`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+val
414
- this.showModal=true
415
- },
416
- closeshowModal(){
417
- this.showimg=''
418
- this.showModal=false
419
- },
420
- openshowModal1(val){
421
- this.deal.result=val
422
- //tag
423
- //tag
424
- this.showModal1=true
425
- },
426
- closeshowModal1(){
427
- this.deal={
428
- result: {},
429
- f_deal_path:'',
430
- f_deal_remark:'',
431
- f_dealsign_path:'', //签名
432
- f_dealer:Vue.user.name,
433
- f_dealer_id:Vue.user.id
434
- }
435
- this.showModal1=false
436
- this.selfSearch()
437
- },
438
- cameraCallBack(prop, fileName) {
439
- HostApp.__this__.deal.f_deal_path = fileName
440
- HostApp.__callback__ = null
441
- HostApp.__this__ = null
442
- },
443
- takePic(prop, title) {
444
- HostApp.__callback__ = this.cameraCallBack
445
- HostApp.__this__ = this
446
- let fileName
447
- if (!this.deal.f_deal_path || this.deal.f_deal_path.includes("nopic.png")) {
448
- fileName = Util.guid() + '-' + prop + '.jpg'
449
- } else {
450
- fileName = Util.getFileName(this.deal.f_deal_path)
451
- }
452
- //tag
453
- //tag
454
- HostApp._open_a_page({
455
- type: 'boomerang',
456
- page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
457
- param: {
264
+ HostApp.__callback__ = this.signCallback
265
+ HostApp.__this__ = this
266
+ HostApp.getSignature({
458
267
  file: fileName,
459
268
  requestCode: 111,
460
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
461
- watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
269
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");'
270
+ })
271
+ },
272
+ delAudioFile(prop, fileName) {
273
+ if (!fileName)
274
+ return
275
+ else {
276
+ HostApp.delfile(fileName)
277
+ this.deal[prop] = null
462
278
  }
463
- })
464
- },
465
- selfSearch () {
279
+ },
280
+ commitDealDefect(){
281
+ if (this.deletecauseBooble && !this.deletecause) {
282
+ this.$showMessage("请填写取消拉黑原因!")
283
+ return;
284
+ }
285
+ if (!this.deal.f_deal_path){
286
+ this.$showMessage('处理后照片必须上传')
287
+ return
288
+ }
289
+ if (this.isNeedDealSign && !this.deal.f_dealsign_path){
290
+ this.$showMessage('签名必须上传')
291
+ return
292
+ }
293
+ if (this.deletecauseBooble) {
294
+ let http = new HttpResetClass()
295
+ http.load('POST', 'http://36.108.175.152:8000/API/Secheck/SetBlackList', {
296
+ data: {
297
+ "id": this.deal.result.f_userinfo_code,
298
+ "bh": this.deal.result.f_meternumber,
299
+ "black": false,
300
+ "blackMemo": this.deletecause
301
+ }
302
+ }, {resolveMsg: null, rejectMsg: null})
303
+ .then((res)=>{
304
+ if (res.data.Success) {
305
+ HostApp.__this__ = this
306
+ HostApp.logicWithHint({'logic': 'safe_dealWithDefect', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
307
+ 'data': this.deal, 'backresult':1
308
+ })
309
+ } else {
310
+ this.$showMessage("取消拉黑失败,请稍后再试!")
311
+ }
312
+ })
313
+ } else {
314
+ HostApp.__this__ = this
315
+ HostApp.logicWithHint({'logic': 'safe_dealWithDefect', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
316
+ 'data': this.deal, 'backresult':1
317
+ })
318
+ }
319
+ },
320
+ commitCallBack(jo){
321
+ //tag
322
+ //tag)
323
+ if (jo.state =='ok'){
324
+ let ress = JSON.parse(jo.result)
325
+ if (ress.code == 200 ) {
326
+ this.$showMessage(ress.msg)
327
+ this.closeshowModal1()
328
+ } else {
329
+ this.$showMessage(ress.msg)
330
+ }
331
+ }else{
332
+ this.$showMessage('本地服务调用失败')
333
+ }
334
+ },
335
+ delfile(prop, fileName) {
336
+ if (fileName == Vue.nopic)
337
+ return
338
+ else {
339
+ HostApp.delfile(fileName)
340
+ this.deal[prop] = Vue.nopic
341
+ }
342
+ },
343
+ openshowModal(val){
344
+ //tag
345
+ //tag
346
+ this.showimg=`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+val
347
+ this.showModal=true
348
+ },
349
+ closeshowModal(){
350
+ this.showimg=''
351
+ this.showModal=false
352
+ },
353
+ openshowModal1(val){
354
+ var _this = this
355
+ var pardate = {
356
+ _this:_this,
357
+ title:'安全检查',
358
+ safe:true
359
+ }
360
+ _this.$dispatch('gotoson',pardate)
361
+ _this.$goto('android-defect-deal-items', {id: val.id}, 'self',_this.callback)
362
+ },
363
+ callback(){
364
+ let id = this.$androidUtil.getPreference('paper_id')
365
+ if(!id){
366
+ return
367
+ }
368
+ this.selfSearch()
369
+ this.workBusy = true
370
+ new HttpResetClass().load('post',`${this.$androidUtil.getProxyUrl()}/rs/sql/AndroidDealWith`,{
371
+ data:{
372
+ condition:`tcp.id = '${id}'`,
373
+ f_filialeids:`${Vue.user.orgid}`
374
+ }
375
+ }).then(resp=>{
376
+ this.workBusy = false
377
+ if (resp.data.length>0){
378
+ return this.$showMessage('隐患未全部处理')
379
+ }
380
+ }).catch(()=>{
381
+ this.workBusy = false
382
+ })
383
+ },
384
+ closeshowModal1(){
385
+ this.deal={
386
+ result: {},
387
+ f_deal_path:'',
388
+ f_deal_remark:'',
389
+ f_dealsign_path:'', //签名
390
+ f_dealer:Vue.user.name,
391
+ f_dealer_id:Vue.user.id
392
+ }
393
+ this.showModal1=false
394
+ // this.selfSearch()
395
+ },
396
+ cameraCallBack(prop, fileName) {
397
+ HostApp.__this__.deal.f_deal_path = fileName
398
+ HostApp.__callback__ = null
399
+ HostApp.__this__ = null
400
+ },
401
+ takePic(prop, title) {
402
+ HostApp.__callback__ = this.cameraCallBack
403
+ HostApp.__this__ = this
404
+ let fileName
405
+ if (!this.deal.f_deal_path || this.deal.f_deal_path.includes("nopic.png")) {
406
+ fileName = Util.guid() + '-' + prop + '.jpg'
407
+ } else {
408
+ fileName = Util.getFileName(this.deal.f_deal_path)
409
+ }
410
+ HostApp._open_a_page({
411
+ type: 'boomerang',
412
+ page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
413
+ param: {
414
+ file: fileName,
415
+ requestCode: 111,
416
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
417
+ watermark: title + '时间:' + Util.toStandardTimeString() + '' + Vue.user.name
418
+ }
419
+ })
420
+ },
421
+ selfSearch () {
466
422
 
467
- let condition = "1=1 "
468
- if(this.$refs.paged.$refs.cri.model.f_user_name){
469
- if(this.$refs.paged.$refs.cri.model.f_user_name.toString().trim()){
470
- condition += " and tcp.f_user_name like '"+this.$refs.paged.$refs.cri.model.f_user_name+"%'"
423
+ let condition = "1=1 "
424
+ if(this.$refs.paged.$refs.cri.model.f_user_name){
425
+ if(this.$refs.paged.$refs.cri.model.f_user_name.toString().trim()){
426
+ condition += " and tcp.f_user_name like '"+this.$refs.paged.$refs.cri.model.f_user_name+"%'"
427
+ }
471
428
  }
472
- }
473
- if(this.$refs.paged.$refs.cri.model.f_userinfo_code){
474
- if(this.$refs.paged.$refs.cri.model.f_userinfo_code.toString().trim()){
475
- condition += " and tcp.f_userinfo_code = '"+this.$refs.paged.$refs.cri.model.f_userinfo_code+"'"
429
+ if(this.$refs.paged.$refs.cri.model.f_userinfo_code){
430
+ if(this.$refs.paged.$refs.cri.model.f_userinfo_code.toString().trim()){
431
+ condition += " and tcp.f_userinfo_code = '"+this.$refs.paged.$refs.cri.model.f_userinfo_code+"'"
432
+ }
476
433
  }
477
- }
478
- if(this.$refs.paged.$refs.cri.model.f_address){
479
- if(this.$refs.paged.$refs.cri.model.f_address.toString().trim()){
480
- condition += " and tcp.f_address like '%"+this.$refs.paged.$refs.cri.model.f_address+"%'"
434
+ if(this.$refs.paged.$refs.cri.model.f_address){
435
+ if(this.$refs.paged.$refs.cri.model.f_address.toString().trim()){
436
+ condition += " and tcp.f_address like '%"+this.$refs.paged.$refs.cri.model.f_address+"%'"
437
+ }
481
438
  }
482
- }
483
- if(this.$refs.paged.$refs.cri.model.f_start_date){
484
- if(this.$refs.paged.$refs.cri.model.f_start_date.toString().trim()){
485
- condition += " and tdl.f_create_time > '"+this.$refs.paged.$refs.cri.model.f_start_date +"'"
439
+ if(this.$refs.paged.$refs.cri.model.f_start_date){
440
+ if(this.$refs.paged.$refs.cri.model.f_start_date.toString().trim()){
441
+ condition += " and tcp.f_upload_date >= '"+this.$refs.paged.$refs.cri.model.f_start_date +"'"
442
+ }
486
443
  }
487
- }
488
- if(this.$refs.paged.$refs.cri.model.f_end_date){
489
- if(this.$refs.paged.$refs.cri.model.f_end_date.toString().trim()){
490
- condition += " and tdl.f_create_time < '"+this.$refs.paged.$refs.cri.model.f_end_date +"'"
444
+ if(this.$refs.paged.$refs.cri.model.f_end_date){
445
+ if(this.$refs.paged.$refs.cri.model.f_end_date.toString().trim()){
446
+ condition += " and tcp.f_upload_date <= '"+this.$refs.paged.$refs.cri.model.f_end_date +"'"
447
+ }
491
448
  }
492
- }
493
449
 
494
- if(this.$refs.paged.$refs.cri.model.f_meternumber){
495
450
  if(this.$refs.paged.$refs.cri.model.f_meternumber){
496
- condition += " and uf.f_meternumber = '"+this.$refs.paged.$refs.cri.model.f_meternumber +"'"
451
+ if(this.$refs.paged.$refs.cri.model.f_meternumber){
452
+ condition += " and uf.f_meternumber = '"+this.$refs.paged.$refs.cri.model.f_meternumber +"'"
453
+ }
497
454
  }
498
- }
499
-
500
- //tag
501
- this.model.search(condition)
502
- },
455
+ condition += ` and tcp.f_repaired = '未修' and tcp.f_defect_content like '%有隐患%' and tcp2.id is not null`
456
+ this.model.search(condition)
457
+ },
503
458
 
504
- hidden() {
505
- this.criteriaShow = !this.criteriaShow
506
- },
459
+ hidden() {
460
+ this.criteriaShow = !this.criteriaShow
461
+ },
462
+ }
507
463
  }
508
- }
509
464
  </script>