safecheck-client 3.0.30-9 → 3.0.30-90

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 (102) hide show
  1. package/examples/SafePlan-liaoyuan/App.vue +3 -1
  2. package/package.json +4 -3
  3. package/src/App.vue +2 -2
  4. package/src/components/DefectDealMain/DefectListNew.vue +5 -5
  5. package/src/components/Util.js +15 -0
  6. package/src/components/android/AddPlanItem.vue +5 -2
  7. package/src/components/android/AreaPlan.vue +2 -2
  8. package/src/components/android/CurrentCreate.vue +3 -2
  9. package/src/components/android/CurrentCreate_new.vue +563 -559
  10. package/src/components/android/PaperFeedback.vue +4 -2
  11. package/src/components/android/SafecheckOrderV.vue +2 -2
  12. package/src/components/android/UploadPage.vue +13 -123
  13. package/src/components/paper/PaperList.vue +9 -2
  14. package/src/components/paper/PlanChooser.vue +8 -6
  15. package/src/components/pc/Edit.vue +126 -0
  16. package/src/components/pc/LodopFuncs.js +159 -0
  17. package/src/components/pc/NewCheckpaper.vue +9 -5
  18. package/src/components/pc/PaperEdit.vue +151 -0
  19. package/src/components/pc/PrintData.vue +243 -0
  20. package/src/components/pc/PrintTable.vue +241 -0
  21. package/src/components/pc/SelectCheckPlanAndNoPLan.vue +3 -0
  22. package/src/components/report/NoCheckplanSafecheck.vue +0 -2
  23. package/src/components/rongcheng/CheckCurrentCreate.vue +8 -0
  24. package/src/components/rongcheng/PaperStatem.vue +42 -1
  25. package/src/components/rongcheng/PhoneUpUserinfo.vue +149 -199
  26. package/src/components/rongcheng/SafecheckOrderV.vue +8 -0
  27. package/src/components/rongcheng/SafecheckUserInfo.vue +419 -0
  28. package/src/components/rongcheng/report/CheckPlanAreaList.vue +21 -3
  29. package/src/filiale/ankangyihua/pc/checkUserList.vue +1 -0
  30. package/src/filiale/bayan/android/CurrentCreate.vue +1 -1
  31. package/src/filiale/bayan/android/Edit.vue +132 -0
  32. package/src/filiale/bayan/android/SafecheckOrderV.vue +2 -2
  33. package/src/filiale/bayan/android/SafecheckUserInfo.vue +6 -1
  34. package/src/filiale/bayan/android.js +2 -1
  35. package/src/filiale/fugou/android/AddPlanItem.vue +413 -0
  36. package/src/filiale/fugou/android.js +10 -0
  37. package/src/filiale/fugou/pc/DefectMainNew.vue +63 -0
  38. package/src/filiale/fugou/pc/DefectPaperNew.vue +1081 -0
  39. package/src/filiale/fugou/pc/PaperDefectMain.vue +890 -0
  40. package/src/filiale/fugou/pc/PaperList.vue +46 -0
  41. package/src/filiale/fugou/pc/checkUserList.vue +824 -0
  42. package/src/filiale/fugou/pc.js +5 -1
  43. package/src/filiale/hanzhong/android/SafecheckDevices.vue +24 -24
  44. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2 -2
  45. package/src/filiale/hanzhong/pc/CheckSafeStatus.vue +1 -1
  46. package/src/filiale/hanzhong/pc/NewCheckpaper.vue +1923 -0
  47. package/src/filiale/hanzhong/pc.js +4 -1
  48. package/src/filiale/huatong/android/CurrentCreate.vue +564 -564
  49. package/src/filiale/huatong/android/SafecheckOrderV.vue +8 -0
  50. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -0
  51. package/src/filiale/jingyang/android/CurrentCreate.vue +1080 -0
  52. package/src/filiale/jingyang/android/PhoneUpUserinfo.vue +34 -34
  53. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -0
  54. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +780 -0
  55. package/src/filiale/kelai/android/AddPlanItem.vue +488 -0
  56. package/src/filiale/kelai/android.js +1 -0
  57. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -0
  58. package/src/filiale/liaoyuan/android.js +1 -0
  59. package/src/filiale/pingxiang/pc/DefectPaperNew.vue +1 -1
  60. package/src/filiale/qianneng/android/PaperFeedback.vue +40 -0
  61. package/src/filiale/qianneng/pc/PaperList.vue +6 -0
  62. package/src/filiale/qingjian/android/PhoneUpUserinfo.vue +6 -0
  63. package/src/filiale/tianke/pc/checkScreen.vue +4 -4
  64. package/src/filiale/tianke/pc/cq.jpg +0 -0
  65. package/src/filiale/tianke/pc/qy.jpg +0 -0
  66. package/src/filiale/tongchuan/android/SafecheckDevices.vue +1 -0
  67. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +371 -401
  68. package/src/filiale/wensu/android/AndroidDefectDeal.vue +321 -366
  69. package/src/filiale/wensu/android/AndroidDefectDealItems.vue +480 -0
  70. package/src/filiale/wensu/android.js +1 -0
  71. package/src/filiale/wensu/pc/CheckSearchUser.vue +64 -0
  72. package/src/filiale/wensu/pc/DefectPaperNew.vue +16 -10
  73. package/src/filiale/wensu/pc/NewCheckpaper.vue +1936 -0
  74. package/src/filiale/wensu/pc/RoleSelector.vue +4 -1
  75. package/src/filiale/wensu/pc/checkUserList.vue +50 -0
  76. package/src/filiale/wensu/pc.js +2 -1
  77. package/src/filiale/wenxi/pc/DefectPaper.vue +1 -1
  78. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2069 -2041
  79. package/src/filiale/wuhai/pc/NewCheckpaper.vue +26 -24
  80. package/src/filiale/yangchunboneng/android/PaperFeedback.vue +20 -0
  81. package/src/filiale/yangchunboneng/pc/CheckBookDetails.vue +19 -0
  82. package/src/filiale/yongzhou/pc/CheckSearchUser.vue +1092 -0
  83. package/src/filiale/yongzhou/pc/LodopFuncs.js +159 -0
  84. package/src/filiale/yongzhou/pc/NoCheckplanSafecheck.vue +252 -0
  85. package/src/filiale/yongzhou/pc/PaperList.vue +798 -0
  86. package/src/filiale/yongzhou/pc/PrintData.vue +243 -0
  87. package/src/filiale/yongzhou/pc/PrintTable.vue +241 -0
  88. package/src/filiale/yongzhou/pc/communityDetail.vue +35 -12
  89. package/src/filiale/yongzhou/pc/communityTypeDetailG.vue +28 -14
  90. package/src/filiale/yongzhou/pc/communityTypeDetailM.vue +28 -14
  91. package/src/filiale/yongzhou/pc/safeDetail.vue +43 -15
  92. package/src/filiale/yongzhou/pc/safeStatistics.vue +16 -6
  93. package/src/filiale/yongzhou/pc/safeStatisticsDay.vue +81 -27
  94. package/src/filiale/yongzhou/pc/safeStatisticsMonth.vue +56 -26
  95. package/src/filiale/yongzhou/pc/safeStatisticsYear.vue +16 -6
  96. package/src/filiale/yongzhou/pc/safeTable.vue +10 -2
  97. package/src/filiale/yongzhou/pc.js +17 -12
  98. package/src/filiale/zhongsheng/android/CurrentCreate.vue +540 -536
  99. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +151 -53
  100. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +14 -0
  101. package/src/main.js +1 -1
  102. package/src/safecheck.js +12 -0
@@ -0,0 +1,480 @@
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
+
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
+ </style>
61
+ <template>
62
+ <div style="height: auto;width: 100%">
63
+ <criteria-paged :model="model" v-ref:paged :pager="false">
64
+ <!-- <criteria partial='criteria' @condition-changed='search' v-ref:cri>-->
65
+ <!-- <div partial>-->
66
+ <!-- <form>-->
67
+ <!-- <div class="row app-row">-->
68
+ <!-- <div class="col-xs-4">-->
69
+ <!-- <img src="../../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">-->
70
+ <!-- <label class="font text-left">用户姓名:</label>-->
71
+ <!-- </div>-->
72
+ <!-- <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
+ <!-- </div>-->
75
+ <!-- </div>-->
76
+ <!-- <div class="row app-row">-->
77
+ <!-- <div class="col-xs-4">-->
78
+ <!-- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">-->
79
+ <!-- <label for="f_userinfo_code" class="font text-left">用户编号:</label>-->
80
+ <!-- </div>-->
81
+ <!-- <div class="col-xs-8" >-->
82
+ <!-- <input id="f_userinfo_code" class="search_input input-font"-->
83
+ <!-- v-model=model.f_userinfo_code condition="tcp.f_userinfo_code = '{}'" />-->
84
+ <!-- </div>-->
85
+ <!-- </div>-->
86
+ <!-- <div class="row app-row">-->
87
+ <!-- <div class="col-xs-4">-->
88
+ <!-- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">-->
89
+ <!-- <label for="f_meternumber" class="font text-left">用户表号:</label>-->
90
+ <!-- </div>-->
91
+ <!-- <div class="col-xs-8" >-->
92
+ <!-- <input id="f_meternumber" class="search_input input-font"-->
93
+ <!-- v-model=model.f_meternumber condition="uf.f_meternumber = '{}'" />-->
94
+ <!-- </div>-->
95
+ <!-- </div>-->
96
+ <!-- <div class="row app-row">-->
97
+ <!-- <div class="col-xs-4">-->
98
+ <!-- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">-->
99
+ <!-- <label class="font text-left">用户地址:</label>-->
100
+ <!-- </div>-->
101
+ <!-- <div class="col-xs-8">-->
102
+ <!-- <input class="search_input input-font"-->
103
+ <!-- v-model=model.f_address condition="tcp.f_address like '%{}%'" />-->
104
+ <!-- </div>-->
105
+ <!-- </div>-->
106
+ <!-- <div class="row app-row">-->
107
+ <!-- <div class="col-xs-4">-->
108
+ <!-- <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">-->
109
+ <!-- <label for="f_state" class="font text-left">起始时间:</label>-->
110
+ <!-- </div>-->
111
+ <!-- <datepicker id="f_start_date"-->
112
+ <!-- placeholder= '起始时间'-->
113
+ <!-- :value.sync="model.f_start_date"-->
114
+ <!-- :disabled-days-of-Week="[]"-->
115
+ <!-- v-model="model.f_start_date"-->
116
+ <!-- class="input-font"-->
117
+ <!-- :format="'yyyy-MM-dd 00:00:00'"-->
118
+ <!-- :show-reset-button="reset" readonly="readonly">-->
119
+ <!-- </datepicker>-->
120
+ <!-- </div>-->
121
+ <!-- <div class="row app-row">-->
122
+ <!-- <div class="col-xs-4">-->
123
+ <!-- <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">-->
124
+ <!-- <label for="f_state" class="font text-left">结束时间:</label>-->
125
+ <!-- </div>-->
126
+ <!-- <datepicker id="f_end_date"-->
127
+ <!-- placeholder= '结束时间'-->
128
+ <!-- :value.sync="model.f_end_date"-->
129
+ <!-- :disabled-days-of-Week="[]"-->
130
+ <!-- v-model="model.f_end_date"-->
131
+ <!-- class="input-font"-->
132
+ <!-- :format="'yyyy-MM-dd 23:59:00'"-->
133
+ <!-- :show-reset-button="reset" readonly="readonly">-->
134
+ <!-- </datepicker>-->
135
+ <!-- </div>-->
136
+ <!-- <div class="row text-center" style="margin-top: 20px;">-->
137
+ <!-- <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>-->
140
+ <!-- <div style="height:30px;"></div>-->
141
+ <!-- </form>-->
142
+ <!-- </div>-->
143
+ <!-- </criteria>-->
144
+ <list :model="model" partial='list'>
145
+ <div partial>
146
+ <div class="auto app-text" style="margin-top: 5px;">
147
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
148
+ <div class="panel-body panel-self">
149
+ <div class="col-xs-12">
150
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
151
+ <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{ row.f_userinfo_code }}</p>
152
+ </div>
153
+ <div class="col-xs-12">
154
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户表号:</b></p>
155
+ <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{ row.f_meternumber }}</p>
156
+ </div>
157
+ <div class="col-xs-12">
158
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
159
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_user_name }}</p>
160
+ </div>
161
+ <div class="col-xs-12">
162
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
163
+ <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone }}</p>
164
+ </div>
165
+
166
+ <div class="col-xs-12">
167
+ <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
168
+ <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
169
+ </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>
182
+ </div>
183
+ <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
+ <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
+ </div>
188
+ </div>
189
+ </div>
190
+ </div>
191
+ </div>
192
+ </list>
193
+ </criteria-paged>
194
+ </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
+ </template>
274
+
275
+ <script>
276
+
277
+ import Vue from 'vue'
278
+ import { PagedList,HttpResetClass } from 'vue-client'
279
+ import * as Util from '../../Util'
280
+
281
+ export default {
282
+ title: '无计划安检查询',
283
+ props: {
284
+ id: {
285
+ type: String
286
+ }
287
+ },
288
+ data() {
289
+ return {
290
+ showModal:false,
291
+ showModal1:false,
292
+ showimg:'',
293
+ deletecause:'',
294
+ deletecauseBooble: false,
295
+ deal:{
296
+ result:{},
297
+ f_deal_path:'',
298
+ f_deal_remark:'',
299
+ f_dealsign_path:'', //签名
300
+ f_dealer:Vue.user.name,
301
+ f_dealer_id:Vue.user.id
302
+ },
303
+ f_filialeids:'',
304
+ model:new PagedList( `${this.$androidUtil.getProxyUrl()}/rs/sql/AndroidDealWith`,20,{condition:'this.condition',f_filialeids:`'${Vue.user.orgid}'`,f_checker_id:`'${Vue.user.id}'`}),
305
+ criteriaShow: false,
306
+ isNeedDealSign: this.$appdata.getSingleValue('隐患处理是否需要签名') == 'true',
307
+ }
308
+ },
309
+ ready(){
310
+ this.$androidUtil.setPreference('paper_id', this.id)
311
+ this.selfSearch()
312
+ },
313
+ methods: {
314
+ // 签名回调
315
+ signCallback(prop, fileName) {
316
+ console.log("签名回调地址" + fileName)
317
+ // HostApp.alert('绑定属性:' + prop + ' 文件全路径如file:///storage/sdcard0/safecheck/abc.jpg:' + fullFileName)
318
+ HostApp.__this__.$set('deal.f_dealsign_path', fileName)
319
+ HostApp.__callback__ = null
320
+ HostApp.__this__ = null
321
+ },
322
+ // 用户签名
323
+ sign() {
324
+ if (!this.deal.f_deal_path) {
325
+ this.$showMessage('请先拍摄处理后照片!!!')
326
+ return
327
+ }
328
+ this.delAudioFile('f_dealsign_path', this.deal.f_dealsign_path)
329
+ let prop = 'f_dealsign_path'
330
+ let idx = 'aofeng'
331
+ let fileName
332
+ if (!this.deal.f_dealsign_path) {
333
+ fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
334
+ } else {
335
+ fileName = Util.getFileName(this.deal.f_dealsign_path)
336
+ }
337
+ HostApp.__callback__ = this.signCallback
338
+ HostApp.__this__ = this
339
+ HostApp.getSignature({
340
+ file: fileName,
341
+ requestCode: 111,
342
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");'
343
+ })
344
+ },
345
+ delAudioFile(prop, fileName) {
346
+ if (!fileName)
347
+ return
348
+ else {
349
+ HostApp.delfile(fileName)
350
+ this.deal[prop] = null
351
+ }
352
+ },
353
+ commitDealDefect(){
354
+ if (this.deletecauseBooble && !this.deletecause) {
355
+ this.$showMessage("请填写取消拉黑原因!")
356
+ return;
357
+ }
358
+ if (!this.deal.f_deal_path){
359
+ this.$showMessage('处理后照片必须上传')
360
+ return
361
+ }
362
+ if (this.isNeedDealSign && !this.deal.f_dealsign_path){
363
+ this.$showMessage('签名必须上传')
364
+ return
365
+ }
366
+ if (this.deletecauseBooble) {
367
+ let http = new HttpResetClass()
368
+ http.load('POST', 'http://36.108.175.152:8000/API/Secheck/SetBlackList', {
369
+ data: {
370
+ "id": this.deal.result.f_userinfo_code,
371
+ "bh": this.deal.result.f_meternumber,
372
+ "black": false,
373
+ "blackMemo": this.deletecause
374
+ }
375
+ }, {resolveMsg: null, rejectMsg: null})
376
+ .then((res)=>{
377
+ if (res.data.Success) {
378
+ HostApp.__this__ = this
379
+ HostApp.logicWithHint({'logic': 'safe_dealWithDefect', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
380
+ 'data': this.deal, 'backresult':1
381
+ })
382
+ } else {
383
+ this.$showMessage("取消拉黑失败,请稍后再试!")
384
+ }
385
+ })
386
+ } else {
387
+ HostApp.__this__ = this
388
+ HostApp.logicWithHint({'logic': 'safe_dealWithDefect', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
389
+ 'data': this.deal, 'backresult':1
390
+ })
391
+ }
392
+ },
393
+ commitCallBack(jo){
394
+ //tag
395
+ //tag)
396
+ if (jo.state =='ok'){
397
+ let ress = JSON.parse(jo.result)
398
+ if (ress.code == 200 ) {
399
+ this.$showMessage(ress.msg)
400
+ this.closeshowModal1()
401
+ } else {
402
+ this.$showMessage(ress.msg)
403
+ }
404
+ }else{
405
+ this.$showMessage('本地服务调用失败')
406
+ }
407
+ },
408
+ delfile(prop, fileName) {
409
+ if (fileName == Vue.nopic)
410
+ return
411
+ else {
412
+ HostApp.delfile(fileName)
413
+ this.deal[prop] = Vue.nopic
414
+ }
415
+ },
416
+ openshowModal(val){
417
+ //tag
418
+ //tag
419
+ this.showimg=`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+val
420
+ this.showModal=true
421
+ },
422
+ closeshowModal(){
423
+ this.showimg=''
424
+ this.showModal=false
425
+ },
426
+ openshowModal1(val){
427
+ this.deal.result=val
428
+ //tag
429
+ //tag
430
+ this.showModal1=true
431
+ },
432
+ closeshowModal1(){
433
+ this.deal={
434
+ result: {},
435
+ f_deal_path:'',
436
+ f_deal_remark:'',
437
+ f_dealsign_path:'', //签名
438
+ f_dealer:Vue.user.name,
439
+ f_dealer_id:Vue.user.id
440
+ }
441
+ this.showModal1=false
442
+ this.selfSearch()
443
+ },
444
+ cameraCallBack(prop, fileName) {
445
+ HostApp.__this__.deal.f_deal_path = fileName
446
+ HostApp.__callback__ = null
447
+ HostApp.__this__ = null
448
+ },
449
+ takePic(prop, title) {
450
+ HostApp.__callback__ = this.cameraCallBack
451
+ HostApp.__this__ = this
452
+ let fileName
453
+ if (!this.deal.f_deal_path || this.deal.f_deal_path.includes("nopic.png")) {
454
+ fileName = Util.guid() + '-' + prop + '.jpg'
455
+ } else {
456
+ fileName = Util.getFileName(this.deal.f_deal_path)
457
+ }
458
+ //tag
459
+ //tag
460
+ HostApp._open_a_page({
461
+ type: 'boomerang',
462
+ page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
463
+ param: {
464
+ file: fileName,
465
+ requestCode: 111,
466
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
467
+ watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
468
+ }
469
+ })
470
+ },
471
+ selfSearch () {
472
+ this.model.search(`tcp.id = '${this.id}'`)
473
+ },
474
+
475
+ hidden() {
476
+ this.criteriaShow = !this.criteriaShow
477
+ },
478
+ }
479
+ }
480
+ </script>
@@ -9,6 +9,7 @@ let specialComp = {
9
9
  'PhoneUpUserinfo': (resolve) => { require(['./android/PhoneUpUserinfo'], resolve) },
10
10
  'paper-feedback': (resolve) => { require(['./android/PaperFeedback'], resolve) },
11
11
  'android-defect-deal': (resolve) => { require(['./android/AndroidDefectDeal'], resolve) },
12
+ 'android-defect-deal-items': (resolve) => { require(['./android/AndroidDefectDealItems'], resolve) },
12
13
  'add-plan-item': (resolve) => { require(['./android/AddPlanItem'], resolve) }
13
14
  }
14
15
  exports.specialComp = specialComp
@@ -183,6 +183,28 @@
183
183
  :value-single="true">
184
184
  </v-select>
185
185
  </div>
186
+ <div :class="$parent.$parent.style" v-show="$parent.$parent.criteriaShow">
187
+ <label class="font_normal_body">用户性质</label>
188
+ <v-select class="select_list select"
189
+ placeholder='用户性质' style="width: 60%"
190
+ :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
191
+ :options='$parent.$parent.gasproperties'
192
+ close-on-select clear-button
193
+ condition="f_gasproperties = '{}'"
194
+ :value-single="true">
195
+ </v-select>
196
+ </div>
197
+ <div :class="$parent.$parent.style" v-show="$parent.$parent.criteriaShow">
198
+ <label class="font_normal_body">片区</label>
199
+ <v-select class="select_list select"
200
+ placeholder='片区' style="width: 60%"
201
+ :value.sync="model.f_outlets" v-model="model.f_outlets"
202
+ :options='$parent.$parent.userareas'
203
+ close-on-select clear-button
204
+ condition="f_outlets = '{}'"
205
+ :value-single="true">
206
+ </v-select>
207
+ </div>
186
208
  </div>
187
209
 
188
210
  <div class="row" v-show="$parent.$parent.$parent.showItem">
@@ -583,6 +605,8 @@ export default {
583
605
  f_defect_content:"CASE WHEN CHARINDEX( '\"result\":\"正常\"', tp.f_defect_content ) > 0 THEN '无隐患' ELSE replace(replace(replace( replace( RIGHT ( tp.f_defect_content, len( tp.f_defect_content ) - 26 ), substring('{}',2,1), '' ), substring('{}',1,1), '' ),']',''),'\"','') END",
584
606
  orgstrs: [{label: '全部', value: ''}],
585
607
  checkersid: [],
608
+ gasproperties:[],
609
+ userareas:[],
586
610
  SafeCheckXZ: '',
587
611
  civil: '', //民用安检周期
588
612
  civilian: '', //非民用安检周期
@@ -659,6 +683,8 @@ export default {
659
683
  this.model.f_OrgStr = this.$login.f.orgpathstr
660
684
  this.Mreadibook(`('${this.$login.f.orgid}')`)
661
685
  this.getAllMeterBook(`('${this.$login.f.orgid}')`)
686
+ this.getAllGasproperties()
687
+ this.getAllOutlets()
662
688
  },
663
689
  methods: {
664
690
  async blacklist(){
@@ -1037,6 +1063,44 @@ export default {
1037
1063
  })
1038
1064
  this.adjustables = [{label: '全部', value: ''}, ...arr]
1039
1065
  },
1066
+ getAllGasproperties(){
1067
+ this.gasproperties=[{
1068
+ label:'全部',
1069
+ value:''
1070
+ }]
1071
+ new HttpResetClass().load('POST',`/rs/sql/tel_singleTable_GroupBy`, {data: {
1072
+ items: 'f_gasproperties',
1073
+ tablename: 't_userfiles',
1074
+ condition: `1=1`,
1075
+ groupitem: 'f_gasproperties'
1076
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
1077
+ res.data.forEach(ress=>{
1078
+ this.gasproperties.push({
1079
+ label:ress.f_gasproperties,
1080
+ value:ress.f_gasproperties
1081
+ })
1082
+ })
1083
+ })
1084
+ },
1085
+ getAllOutlets(){
1086
+ this.userareas=[{
1087
+ label:'全部',
1088
+ value:''
1089
+ }]
1090
+ new HttpResetClass().load('POST',`/rs/sql/tel_singleTable_GroupBy`, {data: {
1091
+ items: 'f_outlets',
1092
+ tablename: 't_user_address',
1093
+ condition: `1=1`,
1094
+ groupitem: 'f_outlets'
1095
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
1096
+ res.data.forEach(ress=>{
1097
+ this.userareas.push({
1098
+ label:ress.f_outlets,
1099
+ value:ress.f_outlets
1100
+ })
1101
+ })
1102
+ })
1103
+ },
1040
1104
  getAllMeterBook(val){
1041
1105
  ////tag
1042
1106
  ////tag
@@ -598,8 +598,10 @@ export default {
598
598
  repairers: [],
599
599
  cbcs: [],
600
600
  thead: '',
601
- headData: ['入户状态', '用户编号', '用户名', '用户电话', '用户小区', '用户地址', '用户表号', '安检时间', '安检员', '计划名', '是否有隐患', '隐患数', '隐患明细'],
602
- bodyData: ['f_entry_status', 'f_userinfo_code', 'f_user_name', 'f_user_phone', 'f_residential_area', 'f_address', 'f_meternumber', 'f_offsite_time', 'f_checker_name', 'f_plan_name', 'f_has_defect', 'f_defect_count', 'f_defect_content'],
601
+ headData: ['入户状态', '用户编号', '用户名', '用户电话', '用户小区', '用户地址', '用户表号',
602
+ '安检时间', '安检员', '计划名', '是否有隐患', '隐患数','处理数','处理情况', '隐患明细','最后一次隐患处理时间'],
603
+ bodyData: ['f_entry_status', 'f_userinfo_code', 'f_user_name', 'f_user_phone', 'f_residential_area', 'f_address', 'f_meternumber',
604
+ 'f_offsite_time', 'f_checker_name', 'f_plan_name', 'f_has_defect', 'f_defect_count','f_deal_count', 'f_is_deal','f_defect_content','f_repair_date'],
603
605
  f_defect_contents: [{label:"全部",value:""}],
604
606
  DevicesConfig: [],
605
607
  DevicesSetConfig: []
@@ -1043,16 +1045,20 @@ export default {
1043
1045
  } else {
1044
1046
  //this.f_dir=res.data[0].f_dir
1045
1047
  try {
1046
- let res1 = await new HttpResetClass().load('GET', `/safecheck/rs/vue/DevicesConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
1048
+ let res = await new HttpResetClass().load('get', `/phone/rs/vue`, {}, {
1049
+ resolveMsg: null,
1050
+ rejectMsg: null
1051
+ })
1052
+ /*let res1 = await new HttpResetClass().load('post', `/safecheck/rs/vue/DevicesConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
1047
1053
  resolveMsg: '获取居民配置项成功!',
1048
1054
  rejectMsg: '获取居民配置项出错!'
1049
- })
1050
- this.DevicesConfig = res1.data
1051
- let res2 = await new HttpResetClass().load('GET', `/safecheck/rs/vue/DevicesSetConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
1055
+ })*/
1056
+ this.DevicesConfig = res.data.safecheck.DevicesConfig
1057
+ /*let res2 = await new HttpResetClass().load('post', `/safecheck/rs/vue/DevicesSetConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
1052
1058
  resolveMsg: '获取非居民配置项成功!',
1053
1059
  rejectMsg: '获取非居民配置项出错!'
1054
- })
1055
- this.DevicesSetConfig = res2.data
1060
+ })*/
1061
+ this.DevicesSetConfig = res.data.safecheck.DevicesSetConfig
1056
1062
  } catch (e) {
1057
1063
  self.$showMessage("获取配置文件失败" + e)
1058
1064
  }
@@ -1085,8 +1091,8 @@ export default {
1085
1091
  }
1086
1092
  if (this.DevicesSetConfig) {
1087
1093
  for (const key in this.DevicesSetConfig) {
1088
- if (Object.hasOwnProperty.call(this.DevicesConfig, key)) {
1089
- for (const ke in this.DevicesConfig[key]['items']) {
1094
+ if (Object.hasOwnProperty.call(this.DevicesSetConfig, key)) {
1095
+ for (const ke in this.DevicesSetConfig[key]['items']) {
1090
1096
  defectTypeSet.add(ke)
1091
1097
  }
1092
1098
  }