safecheck-client 3.0.35-6 → 3.0.35-8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +31 -31
  3. package/src/components/android/AddPlanItemYy.vue +451 -451
  4. package/src/components/android/CivilCurrentCreate.vue +46 -41
  5. package/src/components/android/examples/SafeListExamples.vue +296 -296
  6. package/src/components/android/examples/UserExamples.vue +136 -136
  7. package/src/components/rongcheng/AspiratedAreaPlan.vue +574 -574
  8. package/src/components/rongcheng/PhoneUpUserinfo.vue +1236 -1236
  9. package/src/filiale/bayan/android/AddPlanItem.vue +441 -430
  10. package/src/filiale/bayan/android/PaperFeedback.vue +1669 -1669
  11. package/src/filiale/bayan/android/PhoneUpUserinfo.vue +1380 -1380
  12. package/src/filiale/bayan/android/SafecheckOrderV.vue +2922 -2922
  13. package/src/filiale/bayan/android/SafecheckUserInfo.vue +4 -0
  14. package/src/filiale/bayan/pc/CheckPlanAreaList.vue +607 -607
  15. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  16. package/src/filiale/bayan/pc/NewCheckpaper.vue +1992 -1992
  17. package/src/filiale/bayan/pc/PaperList.vue +900 -900
  18. package/src/filiale/bayan/pc/SelectCheckPlan.vue +391 -391
  19. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  20. package/src/filiale/tongchuan/android/SafecheckDevices.vue +1207 -1207
  21. package/src/filiale/tongchuan/android/SafecheckOrderV.vue +3035 -3035
  22. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +1053 -1053
  23. package/src/filiale/tongchuan/pc/checkUserList.vue +639 -639
  24. package/src/filiale/xilan/android.js +11 -11
  25. package/src/filiale/yangchunboneng/pc/CheckPlanAreaList.vue +642 -642
  26. package/src/safecheck-android.js +307 -307
@@ -1,1669 +1,1669 @@
1
- <template>
2
- <form novalidate class="form-horizontal" style="width: 95%;margin: auto">
3
- <div class="form-group col-md-12 col-sm-12 col-xs-12" :class="style__">
4
- <div class="form-group col-md-12 col-sm-12 col-xs-12">
5
- <label class="control-label font text-left col-md-4 col-xs-4">备注</label>
6
- <div class="col-md-12 col-sm-12 col-xs-12">
7
- <textarea v-model="paper.f_repair_approved_note" class="form-control"></textarea>
8
- </div>
9
- </div>
10
- </div>
11
- <div class="form-group col-sm-12 col-xs-12 col-md-12 info" :class="style__">
12
- <div class="text-center">
13
- <label class="font">总体安检照片请依次拍摄:</label>
14
- </div>
15
- <div class="col-md-12 col-sm-12 col-xs-12">
16
- <ol class="showIi">
17
- <li>1.燃气设施全景</li>
18
- <li>2.燃气表照片</li>
19
- <li>3.灶具照片</li>
20
- <li>4.其他照片</li>
21
- </ol>
22
- </div>
23
- </div>
24
- <div class="form-group col-sm-12 col-xs-12 col-md-12 " :class="style__">
25
- <label class="text-left font">总体安检照片</label>
26
-
27
- <div class="auto" :class="style__">
28
- <div class="panel" style="padding: 10px 10px 5px 10px;">
29
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
30
- <div class="row" style="height: 240px;overflow: scroll;top: 1px" >
31
- <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px" v-for="(index,img) in paper.f_overall_imgs">
32
- <img-self :src="img.f_overall_path" alt="总体安检照片" :width="140" :height="170"></img-self>
33
- <img src="../../../assets/删除.png" @click="delfile('f_overall_path', img.f_overall_path,index)" style="width: 15px;margin-top: -80px" alt="">
34
- </div>
35
- </div>
36
- <div class="row text-right div-photo">
37
- <button type="button" name="button" class="btn btn-photo" @click="takePic('f_overall_path', '总体安检照片')">拍照</button>
38
- <!--<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_overall_path', '总体安检照片1')">拍照</button>-->
39
- <!--&nbsp;&nbsp;&nbsp;&nbsp;<img src="../../../../assets/remove.png" :class="style__" @click="delfile('f_overall_path', img.f_overall_path)" style="width: 25%;"></img>-->
40
- </div>
41
- </div>
42
- </div>
43
- </div>
44
- </div>
45
- <div class="form-group col-sm-12 col-xs-12 col-md-12 " :class="style__">
46
- <label class="text-left font">总体隐患照片</label>
47
- <div class="auto" :class="style__">
48
- <div class="panel" style="padding: 10px 10px 5px 10px;">
49
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
50
- <div class="row" style="height: 240px;overflow: scroll;top: 1px" >
51
- <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px" v-for="(index,img) in defectImgs">
52
- <img-self :src="img" alt="总体隐患照片" :width="140" :height="170"></img-self>
53
- <!-- <img src="../../assets/删除.png" @click="delfile('f_overall_path', img.f_overall_path,index)" style="width: 15px;margin-top: -80px" alt="">-->
54
- </div>
55
- </div>
56
- </div>
57
- </div>
58
- </div>
59
- </div>
60
- <div class="form-group col-sm-12 col-xs-12 col-md-12 info" :class="style__">
61
- <div class="text-center">
62
- <label class="font">隐患汇总:</label>
63
- </div>
64
- <div class="col-md-12 col-sm-12 col-xs-12">
65
- <ol class="showIi">
66
- <li v-for="item in defectReason">{{ item.deviceitem }}</li>
67
- </ol>
68
- </div>
69
- </div>
70
- <div class="form-group col-sm-12 col-xs-12 col-md-12 info" :class="style__">
71
- <div class="text-center">
72
- <label class="font">整改建议汇总:</label>
73
- </div>
74
- <div class="col-md-12 col-sm-12 col-xs-12">
75
- <ol class="showIi">
76
- <li v-for="item in defectToolTip">{{ item }}</li>
77
- </ol>
78
- </div>
79
- </div>
80
- <div class="form-group col-sm-12 col-xs-12 col-md-12 info" :class="style__">
81
- <div class="text-center">
82
- <label class="font">客户意见反馈:</label>
83
- </div>
84
- <div class="col-md-12 col-sm-12 col-xs-12">
85
- <ol class="showIi">
86
- <li>检查说明:</li>
87
- <li>1.已对客户燃气设施进行了安全检查</li>
88
- <li>2.已对客户进行了安全用气知识宣传,并发放宣传资料</li>
89
- <li>3.已对客户资料进行了登记</li>
90
- <li>4.已向隐患用户告知说明隐患整改项目,并充分向用户告知了存在的隐患内容及注意事项,用户已获悉其中的内容</li>
91
- </ol>
92
- </div>
93
- </div>
94
- <div class="form-group col-sm-12 col-xs-12 col-md-12 " :class="style__">
95
- <input type="checkbox" v-model="paper.f_read_instructions"/><label class="text-left font">我已阅读须知内容</label>
96
-
97
- </div>
98
- <div class="form-group col-sm-12 col-xs-12 col-md-12 " :class="style__">
99
- <label class="text-left font">用户签名</label>
100
- <div class="auto">
101
- <div class="panel">
102
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
103
- <div class="row" style="height: 240px;overflow: scroll;top: 1px">
104
- <div class="col-sm-4">
105
- <img :class="style__" :src="paper.f_sign_path" :width="200" :height="150" />
106
- </div>
107
- </div>
108
- <div class="row text-right div-photo">
109
- <button type="button" name="button" class="btn btn-primary btn-photo" @click="sign">签名</button>
110
- </div>
111
- </div>
112
- </div>
113
- </div>
114
- </div>
115
- <div class="form-group col-sm-12 col-xs-12 col-md-12 " :class="style__" v-if="paper.f_singed_notified">
116
- <label class="text-left font">确认签署供气合同签名</label>
117
- <div class="auto">
118
- <div class="panel">
119
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
120
- <div class="row" style="height: 240px;overflow: scroll;top: 1px">
121
- <div class="col-sm-4">
122
- <img :class="style__" :src="paper.f_sign_contract" :width="200" :height="150" />
123
- </div>
124
- </div>
125
- <div class="row text-right div-photo">
126
- <button type="button" name="button" class="btn btn-primary btn-photo" @click="sign1()">签名</button>
127
- </div>
128
- </div>
129
- </div>
130
- </div>
131
- </div>
132
- <div class="form-group col-sm-12 col-xs-12 col-md-12 " :style="timeSet(this.isneedDate)?'':'display:none'">
133
- <label>请输入超期原因:</label><br/>
134
- <textarea style="width: 100%;" v-model="paper.f_exceed_reason"></textarea>
135
- </div>
136
- <div class="form-group col-md-12 col-sm-12 col-xs-12" :class="style__" v-show="showbacklist=='是'">
137
- <div class="col-xs-6 col-sm-6">
138
- <input type="checkbox" v-model="backlistisselect" :readonly="enabled"/><label class="text-left font" >限制该用户购气</label>
139
- </div>
140
- <div class="col-xs-6 col-sm-6">
141
- <input type="checkbox" v-model="deletebacklistisselect" :readonly="deleteenabled"/><label class="text-left font" >取消该用户购气</label>
142
- </div>
143
- <div class="col-xs-6 col-sm-6" v-if="tyState">
144
- <input type="checkbox" v-model="backlistisselectTY"/><label class="text-left font" >对用户进行停用</label>
145
- </div>
146
- </div>
147
- <div class="form-group col-md-12 col-sm-12 col-xs-12" :class="style__" v-if="Vue.$appdata.getParam('安检天然气安全使用须知检查')=='是'">
148
- <div class="col-xs-12 col-sm-12">
149
- <input type="checkbox" v-model="paper.f_gas_guidelines" /><label class="text-left font" >天然气安全使用须知</label>
150
- </div>
151
- <div class="col-xs-12 col-sm-12">
152
- <input type="checkbox" v-model="paper.f_safety_warning" /><label class="text-left font" >天然气室内使用安全警示</label>
153
- </div>
154
- <div class="col-xs-12 col-sm-12">
155
- <input type="checkbox" v-model="paper.f_gas_manual" /><label class="text-left font" >安全用气手册</label>
156
- </div>
157
- </div>
158
- <div class="form-group col-md-12 col-sm-12 col-xs-12" :class="style__">
159
- <div class="form-group col-md-12 col-sm-12 col-xs-12">
160
- <input type="checkbox" v-model="paper.f_defect_notified" class="showIi" />安检通知书/隐患整改通知书
161
- </div>
162
- <div class="form-group col-md-12 col-sm-12 col-xs-12">
163
- <input type="checkbox" v-model="paper.f_singed_notified" class="showIi" />签署供气合同
164
- </div>
165
- <div class="form-group col-md-12 col-sm-12 col-xs-12" v-if="paper.f_defect_notified">
166
- <div class="form-group col-md-12 col-sm-12 col-xs-12">
167
- <button type="button" @click="print()">打印隐患整改单</button>
168
- </div>
169
- <div class="form-group col-md-12 col-sm-12 col-xs-12">
170
- <label class="text-left font">安检通知书/隐患整改通知书照片(要求能清晰反应安检通知单和用户签字内容):</label>
171
- <div class="auto" >
172
- <div class="panel" style="padding: 10px 10px 5px 10px;">
173
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
174
- <div class="row" style="height: 240px;overflow: scroll;top: 1px">
175
- <div class="col-sm-4">
176
- <img-self :src="paper.f_notified_path" alt="安检通知书/隐患整改通知书照片" width="150" height="200"></img-self>
177
- </div>
178
- </div>
179
- <div class="row text-right div-photo">
180
- <button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_notified_path', '安检通知书/隐患整改通知书照片')">拍照</button>
181
- &nbsp;&nbsp;&nbsp;&nbsp;<img src="../../../assets/remove.png" :class="style__" @click="delfile('f_notified_path', this.paper.f_notified_path)" style="width: 25%;"></img>
182
- </div>
183
- </div>
184
- </div>
185
- </div>
186
- </div>
187
-
188
- </div>
189
- <div class="form-group col-sm-12 col-xs-12 col-md-12 ">
190
- <label class="text-left font">隐患整改通知单单号</label>
191
- <input v-model="paper.f_repairorder_id" :value="paper.f_repairorder_id" type="text">
192
- </div>
193
- <div class="form-group col-sm-12 col-xs-12 col-md-12 ">
194
- <label class="text-left font">副操</label>
195
- <v-select
196
- :value.sync="paper.f_deputy_director"
197
- :value-single="true"
198
- :options='repairers'
199
- placeholder='请选择安检员'
200
- close-on-select></v-select>
201
- </div>
202
- <div class="form-group col-md-12 col-sm-12 col-xs-12">
203
- <div class="row">
204
- <label class="text-left">请对我们的服务做出评价:</label>
205
- </div>
206
- <div class="col-xs-4 col-sm-4" v-for="item in radios">
207
- <input v-model="paper.f_client_evaluation" :value="item.label" :checked='item.isChecked' @click="check(item.value)" type="radio">{{item.label}}
208
- </div>
209
-
210
- <!--<div class="col-sm-4">-->
211
- <!--<radio-group :value.sync="paper.f_client_evaluation" type="success" buttons="false">-->
212
- <!--<radio value="满意">满意</radio>-->
213
- <!--<radio value="基本满意">基本满意</radio>-->
214
- <!--<radio value="不满意">不满意</radio>-->
215
- <!--</radio-group>-->
216
- <!--</div>-->
217
- </div>
218
-
219
- <div class="form-group col-md-12 col-sm-12 col-xs-12" v-if="isRecodr=='false'">
220
- <label class="text-left font">反馈录音:</label>
221
- <div class="col-md-12 col-sm-12 col-xs-12">
222
- <button type="button" name="button" class="btn btn-primary btn-voice" @click="record">
223
- <img src="../../../assets/录音.png" style="width: 14%;">
224
- <span v-if="!paper.f_recording1_path">开始录音</span>
225
- <span v-if="paper.f_recording1_path">已录音</span>
226
- </button>
227
- &nbsp;&nbsp;&nbsp;&nbsp;<img src="../../../assets/remove.png" style="width: 15px;" :class="style__" @click="delAudioFile('f_recording1_path', paper.f_recording1_path)"></img>
228
- </div>
229
- </div>
230
- <div class="form-group col-md-12 col-sm-12 col-xs-12" v-if="paper.f_singed_notified">
231
- <div class="col-md-12 col-sm-12 col-xs-12">
232
- <button type="button" name="button" class="btn btn-primary btn-voice" @click="SignedContract">
233
- <span >签订供气合同</span>
234
- </button>
235
- </div>
236
- </div>
237
-
238
- <div v-if="false">
239
- <div class="text-center form-group col-md-12 col-sm-12 col-xs-12">
240
- <button style="width: 30%;margin:3%;margin-bottom: 0%" type="button" v-show="$parent.$parent.actionEnabled && upload_state !='已传' &&(paper.f_complete != '已完成' || paper.back_f_entry_status != '入户') " class="btn save-btn" @click="$parent.$parent.save('temp')">临时保存</button>
241
- <button style="width: 30%;margin:3%;margin-bottom: 0%" type="button" v-show="$parent.$parent.actionEnabled && upload_state !='已传' && (paper.f_complete != '已完成' || paper.back_f_entry_status != '入户')" class="btn save-btn " @click="$parent.$parent.save('finish')">完成安检</button>
242
- </div>
243
- <div class="text-center form-group col-md-12 col-sm-12 col-xs-12">
244
- <button style="width: 30%;margin:3%;margin-bottom: 0%;margin-top: 0%" id="upload" type="button" v-show="$parent.$parent.actionEnabled && upload_state !='已传' && (paper.f_complete != '已完成' || paper.back_f_entry_status != '入户')" class="btn upload-btn " @click="$parent.$parent.uploadCheckPaper" >上传</button>
245
- <button style="width: 30%;margin:3%;margin-bottom: 0%;margin-top: 0%" v-if="(safeCheckToRepair == true || safeCheckToRepair == 'true') && $parent.$parent.actionEnabled" class="btn repair-btn btn-warning " type="button" @click="showToRepair">转维修</button> </div>
246
- </div>
247
-
248
- </div>
249
- </form>
250
- <!-- <modal :show.sync="showCheckToRepair" v-ref:modal :backdrop="isback">-->
251
- <!-- <div slot="modal-header" class="modal-header">-->
252
- <!-- <h4 class="modal-title">-->
253
- <!-- 安检转维修-->
254
- <!-- </h4>-->
255
- <!-- </div>-->
256
- <!-- <div slot="modal-body" class="modal-body">-->
257
- <!-- <div v-if="showrepair">-->
258
- <!-- <div class="row">-->
259
- <!-- <label class="col-xs-4 col-md-4 control-label text-left">派单方式</label>-->
260
- <!-- <div class="col-xs-8 col-md-8">-->
261
- <!-- <label v-for="handling1 in handling" >-->
262
- <!-- <input type="radio"-->
263
- <!-- v-model="meading"-->
264
- <!-- value="{{handling1.label}}">-->
265
- <!-- {{handling1.label}}-->
266
- <!-- </label>-->
267
- <!-- </div>-->
268
- <!-- </div>-->
269
- <!-- <div class="row" v-if="meading == '转站点'">-->
270
- <!-- <label class="col-xs-4 col-md-4 control-label font text-left" for="f_reciever">站点</label>-->
271
- <!-- &lt;!&ndash;<input type="text" v-show="false" v-model="serviceacitivity.f_reciever"&ndash;&gt;-->
272
- <!-- &lt;!&ndash;v-validate:f_reciever='{ required: true }'>&ndash;&gt;-->
273
- <!-- <div class="col-xs-8 col-md-8">-->
274
- <!-- <right-tree @ready="onReady" islist :Url="Url" :userid="userid" :source="source" v-on:re-res="reres" :textContent="选择站点管理员" :selectData="" v-ref:f_reciever>-->
275
- <!-- </right-tree>-->
276
- <!-- </div>-->
277
- <!-- </div>-->
278
-
279
- <!-- <div class="row" style="margin-top: 6px" v-if="meading == '转维修员'">-->
280
- <!-- <label class="col-xs-4 col-md-4 control-label font text-left">维修人</label>-->
281
- <!-- <div class="col-xs-8">-->
282
- <!-- <v-select :value="$parent.$parent.model.serviceacitivity[0].f_reciever" :value-single="true"-->
283
- <!-- :options='f_repair_person' placeholder='请选择维修员'-->
284
- <!-- close-on-select v-on:change="repiarmancg"></v-select>-->
285
- <!-- </div>-->
286
-
287
- <!-- </div>-->
288
- <!-- <div class="row" style="margin-top: 6px">-->
289
- <!-- <label for="f_repair" class="col-xs-4 col-md-4 control-label font text-left">报修类型</label>-->
290
- <!-- <div class="col-xs-8 col-md-8">-->
291
- <!-- <v-select :value.sync="$parent.$parent.model.f_repairtype" :value-single="true"-->
292
- <!-- :options='repairstypes' placeholder='报修类型'-->
293
- <!-- close-on-select>-->
294
- <!-- </v-select>-->
295
- <!-- </div>-->
296
- <!-- </div>-->
297
-
298
- <!-- <div class="row" style="margin-top: 6px">-->
299
- <!-- <label class="control-label font text-left col-md-4 col-xs-4">备注</label>-->
300
- <!-- <div class="col-xs-8 col-md-8">-->
301
- <!-- <input type="text" v-model="$parent.$parent.model.f_remarks"/>-->
302
- <!-- </div>-->
303
-
304
- <!-- </div>-->
305
-
306
- <!-- </div>-->
307
- <!-- <div v-if="!showrepair">-->
308
- <!-- 暂无隐患设备信息-->
309
- <!-- </div>-->
310
- <!-- </div>-->
311
- <!-- <div slot="modal-footer" class="modal-footer">-->
312
- <!-- <button type="button" class="btn btn-default" @click="uploadPaper()">确定</button>-->
313
- <!-- <button type="button" class="btn btn-default" @click="undo()">取消</button>-->
314
- <!-- </div>-->
315
- <!-- </modal>-->
316
- <!--拉黑框-->
317
- <modal :show.sync="showmodel" v-ref:modal>
318
- <div slot="modal-header" class="modal-header">
319
- <h4 class="modal-title">
320
- 限制用户购气
321
- </h4>
322
- </div>
323
- <div slot="modal-body" class="modal-body">
324
- <!-- <div class="row" style="margin-top: 6px">-->
325
- <!-- <label style="color: red;">注:当前页面无法取消对用户的限制购气</label>-->
326
- <!-- </div>-->
327
- <div class="row" style="margin-top: 6px">
328
- <textarea id="el_ca_tx" v-model.trim="cause" style="border-radius:4px;width: 100%;" placeholder="请输入限制用户购气原因" >
329
- </textarea>
330
- </div>
331
- </div>
332
- <div slot="modal-footer" class="modal-footer">
333
- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="backlist()">确认</button>
334
- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="cancel()">取消</button>
335
- </div>
336
- </modal>
337
-
338
- <modal :show.sync="showmodelthree" v-ref:modal>
339
- <div slot="modal-header" class="modal-header">
340
- <h4 class="modal-title">
341
- 取消限制用户购气
342
- </h4>
343
- </div>
344
- <div slot="modal-body" class="modal-body">
345
- <!-- <div class="row" style="margin-top: 6px">-->
346
- <!-- <label style="color: red;">注:当前页面无法取消对用户的限制购气</label>-->
347
- <!-- </div>-->
348
- <div class="row" style="margin-top: 6px">
349
- <textarea id="el_ca_txt" v-model.trim="deletecause" style="border-radius:4px;width: 100%;" placeholder="请输入取消限制用户购气原因" >
350
- </textarea>
351
- </div>
352
- </div>
353
- <div slot="modal-footer" class="modal-footer">
354
- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="deletebacklist()">确认</button>
355
- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="deletecancel()">取消</button>
356
- </div>
357
- </modal>
358
-
359
- <!--停用框-->
360
- <modal :show.sync="showTYModel" v-ref:modal>
361
- <div slot="modal-header" class="modal-header">
362
- <h4 class="modal-title">
363
- 对用户停用
364
- </h4>
365
- </div>
366
- <div slot="modal-body" class="modal-body">
367
- <div class="row" style="margin-top: 6px">
368
- <textarea v-model.trim="tyCause" style="border-radius:4px;width: 100%;" placeholder="请输入停用原因">
369
- </textarea>
370
- </div>
371
- </div>
372
- <div slot="modal-footer" class="modal-footer">
373
- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="backlistTY()">确认</button>
374
- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="tyCancel()">取消</button>
375
- </div>
376
- </modal>
377
- </template>
378
-
379
- <script>
380
- import Vue from 'vue'
381
- import * as Util from '../../Util'
382
- import { HttpResetClass } from 'vue-client'
383
- import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
384
- import Radio from 'vue-client/src/vue-strap/src/radioBtn'
385
- import co from 'co'
386
-
387
- // let getRepairParam = function * (self){
388
- // let data = {
389
- // $parent.$parent.model: self.$parent.$parent.model, loginUser: {
390
- // name: self.role == 'view'?self.$login.f.name:Vue.user.name,
391
- // ename: self.role == 'view'?self.$login.f.ename:Vue.user.ename
392
- // }, user: self.user, callObj: self.callObj
393
- // }
394
- // if(self.$parent.$parent.meading == '转维修员'){
395
- // data.toRepair = '一级派单'
396
- // }
397
- // data.$parent.$parent.model.f_attendant = data.loginUser.name
398
- // ////tag
399
- // ////tag
400
- // let res
401
- // let errString = self.$parent. $parent.errorVerify()
402
- // if(errString){
403
- // ////tag
404
- // if (Vue.android)
405
- // self.undo()
406
- // this.$showMessage(errString)
407
- // return
408
- // } else {
409
- // if(self.role == 'inspect'){
410
- // if(self.$parent.$parent.meading == '转维修员' && (self.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || self.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)){
411
- // this.$showMessage("请选择维修员!")
412
- // return
413
- // }
414
- // if(self.$parent.$parent.meading == '转站点' && (self.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || self.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)){
415
- // HostApp.alert()
416
- // this.$showMessage("请选择站点!")
417
- // return
418
- // }
419
- // if(self.$parent.$parent.model.f_repairtype == ''){
420
- // this.$showMessage("请选择报修类型!")
421
- // return
422
- // }
423
- // ////tag)
424
- // let checkResult = '正常'
425
- // let options = [{"data": "已处理"},{"data": "未处理"}]
426
- // let value = ''
427
- // let codata = JSON.parse(JSON.stringify(self.paper))
428
- // for(let device in codata){
429
- // ////tag)
430
- // let f_device_type
431
- // if(device.startsWith("device")){
432
- // for(let item in codata[device]) {
433
- // if(codata[device].length > 1 ){
434
- // let j = Number.parseInt(item)+1
435
- // f_device_type = `${codata[device][item].f_device_type}${j}`
436
- // }else{
437
- // f_device_type = codata[device][item].f_device_type
438
- // }
439
- // // ////tag
440
- // let details = []
441
- // for(let i in codata[device][item].f_items){
442
- // let items = codata[device][item].f_items[i]
443
- // ////tag
444
- // if(items.f_is_defect == true || items.f_is_defect == 'true'){
445
- // checkResult = '有隐患'
446
- // ////tag
447
- // let res = yield self.$resetpost(`${self.Url}/rs/sql/getDeviceItem`,{data:{f_device_id:codata[device][item].f_device_id,f_item_name:items.f_item_name}})
448
- // ////tag)
449
- // self.$set('detail.f_defect_id', res.data[0].id)
450
- // self.$set('detail.f_project',`${items.f_item_name}:${items.f_item_value}`)
451
- // self.$set('detail.type',items.type)
452
- // self.$set('detail.options',options)
453
- // details.push(JSON.parse(JSON.stringify(self.detail)))
454
- // }
455
- // if(items.type == 'selector'){
456
- // items.selected = ''
457
- // }
458
- // self.detail = {}
459
- // }
460
- // ////tag
461
- // self.$set('defectDevice.f_type',f_device_type)
462
- // self.$set('defectDevice.details',details)
463
- // if(self.defectDevice.details.length >0 ){
464
- // self.repairitems.push(JSON.parse(JSON.stringify(self.defectDevice)))
465
- // }
466
- // self.defectDevice = {}
467
- // ////tag
468
- // }
469
- // }
470
- // }
471
- // self.$set('$parent.$parent.model.f_repairitems.data',self.repairitems)
472
- //
473
- //
474
- // ////tag)
475
- // res = self.$androidUtil.bzLogic('safecheckToRepair',data)
476
- // ////tag
477
- // ////tag
478
- // ////tag
479
- // if(res.code == 200){
480
- // self.$parent.$parent.isSafeCheckToRepair = true
481
- // self.undo()
482
- // self.$set('paper.f_SafeToRepair_id',res.data.f_service_id)
483
- // ////tag
484
- // self.$resetpost(`${self.Url}/rs/logic/updatePaperRepair`,{data:{f_paper_id:self.paper.f_paper_id,f_SafeToRepair_id:res.data.f_service_id}}).then((ret)=>{
485
- // ////tag
486
- // if(ret.data.code ==200){
487
- // ////tag
488
- // self.$parent.$parent.$back()
489
- // }else{
490
- // self.$showMessage('安检转维修失败!')
491
- // }
492
- // }).catch(v=>{
493
- // ////tag)
494
- // self.$showMessage('安检转维修失败!')
495
- // })
496
- // }else{
497
- // self.$showMessage('安检转维修失败!')
498
- // }
499
- // }
500
- // }
501
- // }
502
-
503
-
504
-
505
- // let getRepairs = async function(self,url) {
506
- // // 获取配置信息
507
- // try {
508
- // let val = {source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($维修员$) != -1 ))', userid: `${Vue.user.id}`}
509
- // let repairs =[]
510
- // let res = await Vue.resetpost(`${url}/rs/search`,{data: val},{resolveMsg: null, rejectMsg: null})
511
- // res.data.forEach((item) => {
512
- // repairs.push({label: item.name, value: item})
513
- // })
514
- // self.f_repair_person = repairs
515
- // if(self.$parent.$parent.role == 'inspect'){
516
- // let res = self.$androidUtil.bzLogic('getUserInfo',{id:self.paper.f_userinfoid})
517
- // if(res.code == 200){
518
- // self.$parent.$parent.user = res.data[0]
519
- // self.$parent.$parent.model.f_area = self.$parent.$parent.user.f_area
520
- // }
521
- // }else{
522
- // ////tag
523
- // self.$resetpost(`${self.Url}/rs/sql/safeCheckgetUserInfo`,{data:{id:self.paper.f_userinfoid}},{resolveMsg: null, rejectMsg: null}).then((res)=>{
524
- // ////tag
525
- // if(res.data.length != 0){
526
- // self.$parent.$parent.user = res.data[0]
527
- // self.$parent.$parent.model.f_area = self.$parent.$parent.user.f_area
528
- // }
529
- // })
530
- // // path({alias:'getUserInfo',data:{id:this.paper.f_userinfoid}})
531
- // }
532
- // } catch (error) {
533
- // ////tag
534
- // }
535
- // }
536
-
537
- export default {
538
- title: '用户反馈',
539
- data() {
540
- return {
541
- newConfig:'',
542
- repairers: [],
543
- defectImgs: [],
544
- defectToolTip: [],
545
- defectReason: [],
546
- images: [],
547
- showmodelthree: false,
548
- isneedDate: this.$parent.$parent.isneedDate,
549
- plan: this.$parent.$parent.item,
550
- meading: this.$parent.$parent.meading,
551
- paper: this.$parent.$parent.data,
552
- printContent: [],
553
- upload_state: this.$parent.$parent.item.f_upload_state,
554
- enabled: false,//控制限制购气是否可选
555
- deleteenabled: false,
556
- showmodel: false,
557
- showbacklist:'是',
558
- backlistisselect: false,
559
- deletebacklistisselect: false,
560
- radios: [
561
- {
562
- label: '满意',
563
- value: 0,
564
- isChecked: false,
565
- },
566
- {
567
- label: '基本满意',
568
- value: 1,
569
- isChecked: false,
570
- },
571
- {
572
- label: '不满意',
573
- value: 2,
574
- isChecked: false,
575
- },
576
- ],
577
- repairitems: [],
578
- repairstypes: this.$appdata.getParam('报修类型'),
579
- // f_repair_person: this.readRepair(),
580
- showrepair: false,
581
- safeCheckToRepair: '',
582
- showCheckToRepair: false,
583
- userid: '',
584
- source:
585
- 'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
586
- 'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
587
- isback: false,
588
- defectDevice: {},
589
- detail: {},
590
- callObj: null,
591
- user: {},
592
- role: this.$parent.$parent.role,
593
- handling: [{label: '转站点', value: '转站点'}, {label: '转维修员', value: '转维修员'}],
594
- Url: this.$androidUtil.getProxyUrl(),
595
- cause: "",
596
- deletecause: "",
597
- isRecodr: "false", //单值参数,为true则是开启全程录音
598
- tyCause:'',
599
- showTYModel:'',
600
- backlistisselectTY:false,
601
- tyState:this.$appdata.getSingleValue('用户停用')=='是'?true:false
602
-
603
- }
604
- },
605
- props: ['idx'],
606
- components: {
607
- RadioGroup,
608
- Radio
609
- },
610
- methods: {
611
- //对用户停用
612
- async backlistTY() {
613
- if (!this.tyCause) {
614
- this.$showMessage("请填写停用原因!")
615
- return
616
- }
617
- let http = new HttpResetClass()
618
- let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
619
- data: {
620
- items: "f_userfiles_id,version",
621
- tablename: "t_userfiles",
622
- condition: "f_table_state in ('正常','停用','封堵') and f_userinfo_id= '" + this.paper.f_userinfoid + "'",
623
- orderitem: "f_userfiles_id"
624
- }
625
- }, {resolveMsg: null, rejectMsg: null})
626
- if (res2.data.length==0){
627
- this.$showMessage('已成功停用')
628
- this.showTYModel = false
629
- return
630
- }
631
- let data = {
632
- f_userfiles_id: {
633
- f_userfiles_id: res2.data[0].f_userfiles_id,
634
- f_table_state: '停用',
635
- version: res2.data[0].version
636
- },
637
- f_userfile_id: res2.data[0].f_userfiles_id,
638
- f_user_id: this.paper.f_userinfo_code,
639
- f_userinfo_id: "'"+this.paper.f_userinfoid+"'",
640
- f_user_name: this.paper.f_user_name,
641
- f_othereason: this.tyCause,
642
- f_operat_type: '停用',
643
- f_describe: `${Vue.user.name}对客户${this.paper.f_user_name}进行停用操作`,
644
- f_state: '有效',
645
- f_user_phone: this.paper.f_user_phone,
646
- f_operator: Vue.user.name,
647
- f_operatorid: Vue.user.id,
648
- f_orgid: Vue.user.orgid,
649
- f_orgname: Vue.user.orgs,
650
- f_depid: Vue.user.depids,
651
- f_depname: Vue.user.deps,
652
- f_zoneid: Vue.user.zoneid,
653
- f_zones: Vue.user.zones
654
- }
655
- new HttpResetClass().load('post',`${this.$androidUtil.getProxyUrl()}/rs/entity/t_disable`,
656
- data, {resolveMsg: null, rejectMsg: null}).then((row) => {
657
- this.$showMessage('已成功停用')
658
- this.paper.f_table_state = '停用'
659
- this.$parent.$parent.data.f_table_state = '停用'
660
- this.showTYModel = false
661
- })
662
- },
663
- //停用取消按钮
664
- tyCancel() {
665
- this.backlistisselectTY = false
666
- this.showTYModel = false
667
- },
668
-
669
- // 获取安检员
670
- getEmp() {
671
- this.repairers=[]
672
- let per = {source: 'this.getRights().where(row.getType()==$user$).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))', userid: `${Vue.user.id}`}
673
- let http = new HttpResetClass()
674
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/search`, {data: per}, {resolveMsg: null, rejectMsg: null}).then((res) => {
675
- res.data.forEach((user)=>{
676
- this.repairers.push({label:user.name, value: user.name})
677
- })
678
- })
679
- },
680
- timeSet(val) {
681
- //////tag
682
- if (!val) {
683
- return
684
- }
685
- let time = new Date(val).getTime()
686
- let time2 = new Date().getTime()
687
- if (time2 > time) {
688
- return true
689
- }
690
- },
691
- // async isoverDate(){
692
- // ////tag
693
- // let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/androidGetuserinfo`, {data:{
694
- // condition:"f_plan_item_id='"+this.$parent.$parent.item.id+"'"
695
- // }
696
- // })
697
- // this.isneedDate=res.data[0]["f_subscribe_date"]
698
- // ////tag
699
- // },
700
- check(index) {
701
- ////tag
702
- // 先取消所有选中项
703
- for (let item of this.radios) {
704
- item.isChecked = false;
705
- }
706
- //再设置当前点击项选中
707
- this.paper.f_client_evaluation = this.radios[index].label;
708
- // 设置值,以供传递
709
- this.radios[index].isChecked = true;
710
- ////tag;
711
- },
712
- getSignValue(fileName) {
713
- this.f_signname = fileName
714
- },
715
- cameraCallBack(prop, fileName) {
716
- if (prop == 'f_overall_path') {
717
- let f_overall_path = fileName + '?' + Math.random()
718
- HostApp.__this__.paper.f_overall_imgs.push({
719
- f_overall_path: f_overall_path
720
- })
721
- } else {
722
- HostApp.__this__.paper[prop] = fileName + '?' + Math.random()
723
- }
724
- HostApp.__callback__ = null
725
- HostApp.__this__ = null
726
- },
727
- takePic(prop, title, index) {
728
- HostApp.__callback__ = this.cameraCallBack
729
- HostApp.__this__ = this
730
- ////tag
731
- ////tag
732
- let fileName
733
- if (prop == 'f_overall_path') {
734
- if (!this.paper.f_overall_imgs[index] || this.paper.f_overall_imgs[index].f_overall_path.includes("nopic.png")) {
735
- fileName = Util.guid() + '-' + prop + '.jpg'
736
- } else {
737
- fileName = Util.getFileName(this.paper.f_overall_imgs[index].f_overall_path)
738
- }
739
- } else {
740
- if (!this.paper[prop] || this.paper[prop].includes("nopic.png")) {
741
- fileName = Util.guid() + '-' + prop + '.jpg'
742
- } else {
743
- fileName = Util.getFileName(this.paper[prop])
744
- }
745
- }
746
- let jingweidu = ''
747
- if (this.$parent.$parent.is_has_jingweidu == 'true'){
748
- const obj = HostApp.getGpsDetailAddress()
749
- jingweidu = '\t经度:' + obj.longitude+ '\t纬度:' + obj.latitude
750
- }
751
- HostApp._open_a_page({
752
- type: 'boomerang',
753
- page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
754
- param: {
755
- file: fileName,
756
- requestCode: 111,
757
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
758
- watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name + '\t' + this.paper.f_userinfo_code+ '\t' + this.paper.f_user_name+ '\t' + this.paper.f_address
759
- +jingweidu
760
- }
761
- })
762
- },
763
- amrCallBack(fileName) {
764
- HostApp.__this__.$set('paper.f_recording1_path', fileName)
765
- HostApp.__callback__ = null
766
- HostApp.__this__ = null
767
- },
768
- SignedContract(){
769
- if(this.paper.f_sign_contract==undefined){
770
- this.$showMessage('请先进行供气合同签名!')
771
- return
772
- }
773
- //发送请求
774
- let http = new HttpResetClass()
775
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/ajSignContract`, {data:{f_userinfoid:this.paper.f_userinfoid}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
776
-
777
- })
778
-
779
- },
780
- record() {
781
- if (this.$parent.$parent.role != 'inspect') {
782
- if (this.paper.f_recording1_path != '') {
783
- window.location = this.paper.f_recording1_path
784
- }
785
- } else {
786
- HostApp.__callback__ = this.amrCallBack
787
- HostApp.__this__ = this
788
- let fileName
789
- if (!this.paper.f_recording1_path) {
790
- fileName = Util.guid() + '.amr'
791
- } else {
792
- fileName = Util.getFileName(this.paper.f_recording1_path)
793
- }
794
- HostApp._open_a_page({
795
- type: 'boomerang',
796
- page: 'com.aofeng.hybrid.android.peripheral.AudioClipActivity',
797
- param: {file: fileName, requestCode: 111, callback: 'javascript:HostApp.__callback__("%s");'}
798
- })
799
- }
800
- },
801
- // 签名回调
802
- signCallback1(prop, fileName) {
803
- // HostApp.alert('绑定属性:' + prop + ' 文件全路径如file:///storage/sdcard0/safecheck/abc.jpg:' + fullFileName)
804
- HostApp.__this__.$set('paper.f_sign_contract', fileName)
805
- HostApp.__callback__ = null
806
- HostApp.__this__ = null
807
- },
808
- // 签名回调
809
- signCallback(prop, fileName) {
810
- // HostApp.alert('绑定属性:' + prop + ' 文件全路径如file:///storage/sdcard0/safecheck/abc.jpg:' + fullFileName)
811
- HostApp.__this__.$set('paper.f_sign_path', fileName)
812
- HostApp.__callback__ = null
813
- HostApp.__this__ = null
814
- },
815
- // 供气合同签名
816
- sign1() {
817
- this.delAudioFile('f_sign_contract', this.paper.f_sign_contract)
818
- let prop = 'f_sign_contract'
819
- let idx = 'aofeng'
820
- let fileName
821
- if (!this.paper.f_sign_contract) {
822
- fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
823
- } else {
824
- fileName = Util.getFileName(this.paper.f_sign_contract)
825
- }
826
- HostApp.__callback__ = this.signCallback1
827
- HostApp.__this__ = this
828
- HostApp.getSignature({
829
- file: fileName,
830
- requestCode: 111,
831
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");'
832
- })
833
- },
834
- // 用户签名
835
- sign(param) {
836
- if (!this.paper.f_read_instructions) {
837
- this.$showMessage('请先阅读并勾选用户须知内容后进行签名!')
838
- return
839
- }
840
- this.delAudioFile('f_sign_path', this.paper.f_sign_path)
841
- let prop = 'f_sign_path'
842
- let idx = 'aofeng'
843
- let fileName
844
- if (!this.paper.f_sign_path) {
845
- fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
846
- } else {
847
- fileName = Util.getFileName(this.paper.f_sign_path)
848
- }
849
- HostApp.__callback__ = this.signCallback
850
- HostApp.__this__ = this
851
- HostApp.getSignature({
852
- file: fileName,
853
- requestCode: 111,
854
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");'
855
- })
856
- },
857
- delfile(prop, fileName, index) {
858
- if (fileName == Vue.nopic)
859
- return
860
- else {
861
- if (prop == 'f_overall_path') {
862
- this.paper.f_overall_imgs.splice(index, 1)
863
- HostApp.delfile(fileName)
864
- } else {
865
- HostApp.delfile(fileName)
866
- this.paper[prop] = Vue.nopic
867
- }
868
- }
869
- },
870
- delAudioFile(prop, fileName) {
871
- if (!fileName)
872
- return
873
- else {
874
- HostApp.delfile(fileName)
875
- this.paper[prop] = null
876
- }
877
- },
878
- //获取打印用户信息
879
- getUser() {
880
- if (this.paper.f_user_name == undefined)
881
- this.paper.f_user_name = ''
882
- this.printContent.push({
883
- type: 3,
884
- text: '用户名称:' + this.paper.f_user_name,
885
- fontsize: 2,
886
- isbold: false,
887
- align: 'left'
888
- })
889
- if (this.paper.f_userinfo_code == undefined)
890
- this.paper.f_userinfo_code = ''
891
- this.printContent.push({
892
- type: 3,
893
- text: '用户编号:' + this.paper.f_userinfo_code,
894
- fontsize: 2,
895
- isbold: false,
896
- align: 'left'
897
- })
898
- if (this.paper.f_address == undefined)
899
- this.paper.f_address = ''
900
- this.printContent.push({type: 3, text: '地址:' + this.paper.f_address, fontsize: 2, isbold: false, align: 'left'})
901
- if (this.paper.f_user_phone == undefined)
902
- this.paper.f_user_phone = ''
903
- this.printContent.push({
904
- type: 3,
905
- text: '电话:' + this.paper.f_user_phone,
906
- fontsize: 2,
907
- isbold: false,
908
- align: 'left'
909
- })
910
- },
911
- verify() {
912
- let hasError = this.$parent.$parent.verifyUser()
913
- if (hasError)
914
- return hasError
915
- hasError = this.$parent.$parent.verifyDevices()
916
- if (hasError)
917
- return hasError
918
- },
919
- print() {
920
- let errString = this.verify()
921
- if (errString) {
922
- ////tag
923
- if (Vue.android)
924
- this.$showMessage(errString)
925
- return
926
- }
927
- // 文本
928
- let templatename = '安检结果单'
929
- if (Vue.config.safecheck != undefined) {
930
- if (Vue.config.safecheck.ApproveConfig != undefined) {
931
- if (Vue.config.safecheck.ApproveConfig.templatename != undefined) {
932
- templatename = Vue.config.safecheck.ApproveConfig.templatename
933
- }
934
- }
935
- }
936
- let textHead = {type: 3, text: templatename, fontsize: 3, isbold: true, align: 'center'}
937
- let feedPageHead = {type: 4, value: 2, unit: 'line'}
938
- let feedPageEnd = {type: 4, value: 4, unit: 'line'}
939
- this.printContent.push(textHead)
940
- this.printContent.push(feedPageHead)
941
- this.getUser()
942
- this.getDefect()
943
- this.getCheck()
944
- this.printContent.push(feedPageEnd)
945
- let arrstr = JSON.stringify(this.printContent)
946
- ////tag
947
- this.$androidUtil.print(arrstr)
948
- this.$set('printContent', [])
949
- },
950
- //打印安检信息
951
- getCheck() {
952
- let telephone = '96777'
953
- if (Vue.config.safecheck != undefined) {
954
- if (Vue.config.safecheck.ApproveConfig != undefined) {
955
- if (Vue.config.safecheck.ApproveConfig.checkphone != undefined) {
956
- telephone = Vue.config.safecheck.ApproveConfig.checkphone
957
- }
958
- }
959
- }
960
- this.printContent.push({
961
- type: 3,
962
- text: '*******************************',
963
- fontsize: 3,
964
- isbold: false,
965
- align: 'center'
966
- })
967
- this.printContent.push({type: 3, text: '咨询电话;' + telephone, fontsize: 2, isbold: false, align: 'left'})
968
- this.printContent.push({type: 3, text: '安检人:' + Vue.user.name, fontsize: 2, isbold: false, align: 'left'})
969
- this.printContent.push({
970
- type: 3,
971
- text: '安检时间:' + this.getNowFormatDate(),
972
- fontsize: 2,
973
- isbold: false,
974
- align: 'left'
975
- })
976
- this.printContent.push({type: 3, text: '用户签字:', fontsize: 2, isbold: false, align: 'left'})
977
- this.printContent.push({type: 4, value: 4, unit: 'line'})
978
- },
979
-
980
- getDefect() {
981
- let showmore = false
982
- if (Vue.config.safecheck != undefined) {
983
- if (Vue.config.safecheck.ApproveConfig != undefined) {
984
- if (Vue.config.safecheck.ApproveConfig.showmore != undefined) {
985
- showmore = Vue.config.safecheck.ApproveConfig.showmore
986
- }
987
- }
988
- }
989
-
990
- let backData = this.$parent.$parent.getAllDefect()
991
- // 对隐患信息进行遍历
992
- let res = JSON.parse(backData.f_defect_content)
993
- this.printContent.push({
994
- type: 3,
995
- text: '安检结果:' + res.result,
996
- fontsize: 2,
997
- isbold: false,
998
- align: 'left'
999
- })
1000
- this.printContent.push({
1001
- type: 3,
1002
- text: '*******************************',
1003
- fontsize: 3,
1004
- isbold: false,
1005
- align: 'center'
1006
- })
1007
-
1008
-
1009
- if (showmore) {
1010
- //全部打印
1011
- for (let dev in this.$parent.$parent.config) {
1012
- for (let device in backData) {
1013
- if (device.startsWith("device")) {
1014
- for (let item in backData[device]) {
1015
- //遍历结果
1016
- if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
1017
- let error = true
1018
- for (let i in backData[device][item].f_items) {
1019
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
1020
- error = false
1021
- }
1022
- }
1023
- if (error) {
1024
- this.printContent.push({
1025
- type: 3,
1026
- text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':正常',
1027
- fontsize: 2,
1028
- isbold: false,
1029
- align: 'left'
1030
- })
1031
- } else {
1032
- this.printContent.push({
1033
- type: 3,
1034
- text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':有隐患',
1035
- fontsize: 2,
1036
- isbold: true,
1037
- align: 'left'
1038
- })
1039
- }
1040
-
1041
- for (let i in backData[device][item].f_items) {
1042
- if (backData[device][item].f_items[i].f_item_value != '' && backData[device][item].f_items[i].f_item_value != null) {
1043
- this.printContent.push({
1044
- type: 3,
1045
- text: backData[device][item].f_items[i].f_item_name + backData[device][item].f_items[i].f_item_value,
1046
- fontsize: 2,
1047
- isbold: false,
1048
- align: 'left'
1049
- })
1050
- }
1051
- }
1052
- this.printContent.push({type: 4, value: 2, unit: 'line'})
1053
- }
1054
- }
1055
- }
1056
- }
1057
- }
1058
-
1059
- for (let dev in this.$parent.$parent.config) {
1060
- for (let device in backData) {
1061
- if (device.startsWith("device")) {
1062
- for (let item in backData[device]) {
1063
- //遍历结果
1064
- if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
1065
- let error = true
1066
- for (let i in backData[device][item].f_items) {
1067
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
1068
- error = false
1069
- }
1070
- }
1071
- if (!error) {
1072
- this.printContent.push({
1073
- type: 3,
1074
- text: '隐患:',
1075
- fontsize: 2,
1076
- isbold: true,
1077
- align: 'left'
1078
- })
1079
- }
1080
- }
1081
- }
1082
- }
1083
- }
1084
- for (let device in backData) {
1085
- if (device.startsWith("device")) {
1086
- for (let item in backData[device]) {
1087
- if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
1088
- for (let i in backData[device][item].f_items) {
1089
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
1090
- this.printContent.push({
1091
- type: 3,
1092
- text: backData[device][item].f_items[i].f_item_name + ' ' + backData[device][item].f_items[i].f_item_value,
1093
- fontsize: 2,
1094
- isbold: true,
1095
- align: 'left'
1096
- })
1097
- }
1098
- }
1099
- }
1100
- }
1101
- }
1102
- }
1103
-
1104
- }
1105
- } else {
1106
- for (let dev in this.$parent.$parent.config) {
1107
- for (let device in backData) {
1108
- if (device.startsWith("device")) {
1109
- for (let item in backData[device]) {
1110
- //遍历结果
1111
- if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
1112
- let error = true
1113
- for (let i in backData[device][item].f_items) {
1114
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
1115
- error = false
1116
- }
1117
- }
1118
- if (error) {
1119
- this.printContent.push({
1120
- type: 3,
1121
- text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':正常',
1122
- fontsize: 2,
1123
- isbold: false,
1124
- align: 'left'
1125
- })
1126
- } else {
1127
- this.printContent.push({
1128
- type: 3,
1129
- text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':有隐患',
1130
- fontsize: 2,
1131
- isbold: false,
1132
- align: 'left'
1133
- })
1134
- }
1135
-
1136
- for (let i in backData[device][item].f_items) {
1137
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
1138
- this.printContent.push({
1139
- type: 3,
1140
- text: '隐患:' + backData[device][item].f_items[i].f_item_name + backData[device][item].f_items[i].f_item_value,
1141
- fontsize: 2,
1142
- isbold: false,
1143
- align: 'left'
1144
- })
1145
- }
1146
- }
1147
- this.printContent.push({type: 4, value: 2, unit: 'line'})
1148
- }
1149
- }
1150
- }
1151
- }
1152
- }
1153
- }
1154
- },
1155
- //获取当前时间
1156
- getNowFormatDate() {
1157
- var date = new Date();
1158
- var seperator1 = "-";
1159
- var seperator2 = ":";
1160
- var month = date.getMonth() + 1;
1161
- var strDate = date.getDate();
1162
- if (month >= 1 && month <= 9) {
1163
- month = "0" + month;
1164
- }
1165
- if (strDate >= 0 && strDate <= 9) {
1166
- strDate = "0" + strDate;
1167
- }
1168
- var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1169
- + " " + date.getHours() + seperator2 + date.getMinutes()
1170
- + seperator2 + date.getSeconds();
1171
- return currentdate;
1172
- },
1173
- readRepair() {
1174
- let url = this.$androidUtil.getProxyUrl()
1175
- let gen = getRepairs(this, url)
1176
- return co(gen)
1177
- },
1178
- showToRepair() {
1179
- let res = this.hasDefect()
1180
- ////tag
1181
- ////tag
1182
- if (res == '正常') {
1183
- this.showrepair = false
1184
- } else {
1185
- this.showrepair = true
1186
- this.assignObj()
1187
- }
1188
- this.showCheckToRepair = !this.showCheckToRepair
1189
- },
1190
- // 选中部门
1191
- reres(val) {
1192
- if (val.res == undefined) {
1193
- return
1194
- }
1195
- this.$parent.$parent.model.serviceacitivity[0].f_meetunit = val.res
1196
- this.$parent.$parent.model.f_meetunit = val.res
1197
- this.$parent.$parent.model.f_orgstr = val.resids
1198
- var arr = val.res.split('.')
1199
- this.$parent.$parent.model.f_outlets = arr[arr.length - 1]
1200
- this.$parent.$parent.model.serviceacitivity[0].f_reciever = val.resids
1201
- },
1202
- assignObj() {
1203
- this.$parent.$parent.model.f_contact_phone = this.paper.f_user_phone
1204
- this.$parent.$parent.model.f_user_name = this.paper.f_user_name
1205
- this.$parent.$parent.model.f_address = this.paper.f_address
1206
- this.$parent.$parent.model.f_user_type = this.paper.f_check_type
1207
- this.$parent.$parent.model.f_street = this.paper.f_street
1208
- this.$parent.$parent.model.f_residential_area = this.paper.f_residential_area
1209
- this.$parent.$parent.model.f_building = this.paper.f_building
1210
- this.$parent.$parent.model.f_unit = this.paper.f_unit
1211
- this.$parent.$parent.model.f_floor = this.paper.f_floor
1212
- this.$parent.$parent.model.f_room = this.paper.f_room
1213
- this.$parent.$parent.model.f_floor = this.paper.f_floor
1214
- this.$parent.$parent.model.f_userinfo_id = this.paper.f_userinfoid
1215
- this.$parent.$parent.model.f_userinfo_code = this.paper.f_userinfo_code
1216
- },
1217
- hasDefect() {
1218
- let checkResult = '正常'
1219
- let codata = JSON.parse(JSON.stringify(this.paper))
1220
- for (let device in this.paper) {
1221
- if (device.startsWith("device")) {
1222
- for (let item in this.paper[device]) {
1223
- for (let i in this.paper[device][item].f_items) {
1224
- let items = this.paper[device][item].f_items[i]
1225
- ////tag
1226
- if (items.f_is_defect == true || items.f_is_defect == 'true') {
1227
- checkResult = '有隐患'
1228
- }
1229
- }
1230
- }
1231
- }
1232
- }
1233
- return checkResult
1234
- },
1235
- uploadPaper() {
1236
- if (this.showrepair) {
1237
- ////tag
1238
- ////tag
1239
- ////tag
1240
- ////tag
1241
-
1242
- if (this.meading == '转维修员' && (this.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || this.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)) {
1243
- this.$showMessage("请选择维修员!")
1244
- return
1245
- }
1246
- if (this.$parent.$parent.meading == '转站点' && (this.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || this.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)) {
1247
- this.$showMessage("请选择站点!")
1248
- return
1249
- }
1250
- if (this.$parent.$parent.model.f_repairtype == '') {
1251
- this.$showMessage("请选择报修类型!")
1252
- return
1253
- }
1254
- this.$parent.$parent.isToRepair = true
1255
- this.$parent.$parent.uploadCheckPaper()
1256
- // this.$parent.$parent.savePaper(false).then((res) => {
1257
- // ////tag
1258
- // if(res != true){
1259
- // ////tag
1260
- // return
1261
- // }else{
1262
- // this.$parent.$parent.todo()
1263
- // }
1264
- // })
1265
- } else {
1266
- this.$parent.$parent.undo()
1267
- }
1268
-
1269
- },
1270
- //确认安检转维修
1271
-
1272
- undo() {
1273
- this.showCheckToRepair = !this.showCheckToRepair
1274
- this.$parent.$parent.model.serviceacitivity[0].f_reciever = ''
1275
- this.$parent.$parent.model.serviceacitivity[0].f_meetunit = ''
1276
- this.$parent.$parent.model.f_repairtype = ''
1277
- this.meading = '转站点'
1278
- },
1279
- //取消拉黑
1280
- async deletebacklist() {
1281
- if (!this.deletecause) {
1282
- this.$showMessage("请填写取消拉黑原因!")
1283
- return
1284
- }
1285
- this.paper.f_blocking_cause = this.deletecause
1286
- ////tag)
1287
- let http = new HttpResetClass()
1288
- ////tag
1289
- let res1 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
1290
- data: {
1291
- items: "version",
1292
- tablename: "t_userinfo",
1293
- condition: "f_userinfo_id=" + this.paper.f_userinfoid,
1294
- orderitem: "f_userinfo_id"
1295
- }
1296
- }, {resolveMsg: null, rejectMsg: null})
1297
- ////tag)
1298
- ////tag
1299
- let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/backlistOperate`, {
1300
- data: {
1301
- "f_operat_type": "取消拉黑",
1302
- "f_state": "有效",
1303
- "f_user_name": this.paper.f_user_name,
1304
- "f_comments": this.paper.f_delete_cause,
1305
- "f_operator": Vue.user.name,
1306
- "f_operatorid": Vue.user.id,
1307
- "f_orgid": Vue.user.orgid,
1308
- "f_orgname": Vue.user.orgs,
1309
- "f_depid": Vue.user.depids,
1310
- "f_depname": Vue.user.deps,
1311
- "f_describe": `${Vue.user.name}对用户${this.paper.f_user_name}进行取消拉黑`,
1312
- "f_userinfo_id": {
1313
- "f_userinfo_id": this.paper.f_userinfoid,
1314
- "f_user_state": "正常",
1315
- "version": res1.data[0].version
1316
- },
1317
- "f_limit_times":"",
1318
- "f_limit_value":""
1319
- }
1320
- }, {resolveMsg: null, rejectMsg: null})
1321
-
1322
- ////tag)
1323
- if (res2.data.code == 200) {
1324
- this.showmodelthree = false
1325
- this.deleteenabled = true
1326
- this.paper.f_blacklist = "否"
1327
- this.$showMessage("取消该用户限制购气成功!")
1328
- } else {
1329
- this.$showMessage("网络异常,请稍后再试!")
1330
- }
1331
- },
1332
- async backlist() {
1333
- if (!this.cause) {
1334
- this.$showMessage("请填写拉黑原因!")
1335
- return
1336
- }
1337
- this.paper.f_blocking_cause = this.cause
1338
-
1339
- let http = new HttpResetClass()
1340
-
1341
- // let res1 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
1342
- // data: {
1343
- // items: "version",
1344
- // tablename: "t_userinfo",
1345
- // condition: "f_userinfo_id=" + this.plan.f_userinfoid,
1346
- // orderitem: "f_userinfo_id"
1347
- // }
1348
- // }, {resolveMsg: null, rejectMsg: null})
1349
- // let url = self.newConfig == '是' ? '/safecheck/rs/safe_vue' : '/safecheck/rs/vue'
1350
- // let res = await new HttpResetClass().load('post', 'rs/sql/safe_singleTable_OrderBy', {
1351
- // data: {
1352
- // items: 'f_dir',
1353
- // tablename: 't_organization',
1354
- // condition: `id = '${Vue.user.orgid}'`,
1355
- // orderitem: 'id'
1356
- // }
1357
- // })
1358
- // let res3 = await new HttpResetClass().load('GET', `${url}/ApproveConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
1359
- // resolveMsg: '获取居民配置项成功!',
1360
- // rejectMsg: '获取居民配置项出错!'
1361
- // })
1362
- // Vue.config.safecheck.ApproveConfig = res3.data
1363
- let limit_times=1
1364
- let limit_value=20
1365
- let limit_amount=30
1366
- console.log(Vue.config)
1367
- if(Vue.config.safecheck ){
1368
- if (Vue.config.safecheck.ApproveConfig.limit_times ){
1369
- limit_times = Vue.config.safecheck.ApproveConfig.limit_times
1370
- }
1371
- if (Vue.config.safecheck.ApproveConfig.userValueQ && Vue.config.safecheck.ApproveConfig.noUserValueQ){
1372
- if (this.plan.f_user_type == '民用'){
1373
- limit_value = Vue.config.safecheck.ApproveConfig.userValueQ
1374
- }else {
1375
- limit_value = Vue.config.safecheck.ApproveConfig.noUserValueQ
1376
- }
1377
- }
1378
- if (Vue.config.safecheck.ApproveConfig.userValueJ && Vue.config.safecheck.ApproveConfig.noUserValueJ){
1379
- if (this.plan.f_user_type == '民用'){
1380
- limit_amount = Vue.config.safecheck.ApproveConfig.userValueJ
1381
- }else {
1382
- limit_amount = Vue.config.safecheck.ApproveConfig.noUserValueJ
1383
- }
1384
- }
1385
- }
1386
-
1387
- let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/backlistOperate`, {
1388
- data: {
1389
- data:this.$parent.$parent.data,
1390
- item:this.$parent.$parent.data.item,
1391
- "f_operat_type": "拉黑",
1392
- "f_state": "有效",
1393
- "f_user_name": this.plan.f_user_name,
1394
- "f_comments": this.paper.f_blocking_cause,
1395
- "f_operator": Vue.user.name,
1396
- "f_operate_date":Util.toStandardTimeString(),
1397
- "f_operatorid": Vue.user.id,
1398
- "f_orgid": Vue.user.orgid,
1399
- "f_orgname": Vue.user.orgs,
1400
- "f_depid": Vue.user.depids,
1401
- "f_depname": Vue.user.deps,
1402
- "f_describe": `${Vue.user.name}对用户${this.plan.f_user_name}进行拉黑`,
1403
- "f_userinfo_id": {
1404
- "f_userinfo_id": this.plan.f_userinfoid
1405
- },
1406
- "f_limit_times":limit_times,
1407
- "f_limit_value":limit_value,
1408
- "f_limit_amount":limit_amount
1409
- }
1410
- }, {resolveMsg: null, rejectMsg: null})
1411
-
1412
- ////tag)
1413
- if (res2.data.code == 200) {
1414
- this.showmodel = false
1415
- this.enabled = true
1416
- this.paper.f_blacklist = "是"
1417
- this.$showMessage("将该用户限制购气成功!")
1418
- } else if (res2.data.msg == '数据增加重复') {
1419
- this.showmodel = false
1420
- this.enabled = true
1421
- this.$showMessage("该用户已被限制购气,请勿重复提交!")
1422
- } else {
1423
- this.$showMessage("网络异常,请稍后再试!")
1424
- }
1425
- },
1426
- cancel() {
1427
- this.backlistisselect = false
1428
- this.showmodel = false
1429
- },
1430
- deletecancel() {
1431
- this.deletebacklistisselect = false
1432
- this.showmodelthree = false
1433
- },
1434
- repiarmancg(val) {
1435
- if (val) {
1436
- ////tag
1437
- this.$parent.$parent.model.serviceacitivity[0].f_reciever = val.name
1438
- let http1 = new HttpResetClass()
1439
- http1.load('POST', `${this.Url}/rs/sql/tel_singleTable_OrderBy`, {
1440
- data: {
1441
- items: 'f_user_telephone',
1442
- tablename: 't_user',
1443
- condition: `name = '${val}'`,
1444
- orderitem: 'id'
1445
- }
1446
- }, {resolveMsg: null, rejectMsg: null}).then((ress) => {
1447
- this.$parent.$parent.model.f_repairman_phone = ress.data[0].f_user_telephone
1448
- })
1449
- }
1450
- },
1451
- },
1452
- async ready() {
1453
- this.newConfig = this.$appdata.getSingleValue('配置中心获取文件') ? this.$appdata.getSingleValue('配置中心获取文件') : '否';
1454
- this.getEmp()
1455
- this.isRecodr = this.$appdata.getSingleValue('无限制录音')
1456
- if(this.$appdata.getSingleValue('安检时显示拉黑')){
1457
- this.showbacklist = this.$appdata.getSingleValue('安检时显示拉黑');
1458
- }
1459
- // await this.isoverDate()
1460
- ////tag
1461
- ////tag
1462
- ////tag)
1463
- ////tag))
1464
- if (this.$parent.$parent.role == 'repair') {
1465
- this.$set('style__', 'divmask')
1466
- this.$set('style_view_', '')
1467
- } else if (this.$parent.$parent.role == 'view' || this.$parent.$parent.item.f_upload_state == '已传') {
1468
- this.$set('style__', 'divmask')
1469
- this.$set('style_view_', 'divmask')
1470
- ////tag
1471
- } else {
1472
- this.$set('style__', '')
1473
- this.$set('style_view_', '')
1474
- }
1475
-
1476
- for (let item of this.radios) {
1477
- if (this.paper.f_client_evaluation == item.label) {
1478
- item.isChecked = true;
1479
- }
1480
- }
1481
- if (!this.paper.f_notified_path)
1482
- this.$set('paper.f_notified_path', Vue.nopic)
1483
- if (!this.paper.f_sign_path)
1484
- this.$set('paper.f_sign_path', Vue.nopic)
1485
- if (!this.paper.f_sign_path)
1486
- this.$set('paper.f_sign_contract', Vue.nopic)
1487
- ////tag
1488
- if (!this.paper.f_overall_imgs) {
1489
- let imgs = []
1490
- // imgs.push({f_overall_path:Vue.nopic})
1491
- this.$set('paper.f_overall_imgs', imgs)
1492
- ////tag
1493
- }
1494
- if (!this.paper.f_overall2_path)
1495
- this.$set('paper.f_overall2_path', Vue.nopic)
1496
-
1497
- this.userid = this.role == 'view' ? this.$login.f.id : Vue.user.id
1498
- if (Vue.config.safecheck != undefined) {
1499
- if (Vue.config.safecheck.ApproveConfig != undefined) {
1500
- if (Vue.config.safecheck.ApproveConfig.safeCheckToRepair != undefined) {
1501
- this.safeCheckToRepair = Vue.config.safecheck.ApproveConfig.safeCheckToRepair
1502
- }
1503
- }
1504
- }
1505
- let device = this.$parent.$parent.data
1506
- for (const deviceitem in device) {
1507
- if (deviceitem.startsWith('device')){
1508
- //tag)
1509
- if(device[deviceitem].length == 0){
1510
- continue
1511
- }
1512
- let items = device[deviceitem][0].f_items
1513
- let deviceType = device[deviceitem][0].f_device_type
1514
- for (let i = 0; i < items.length; i++) {
1515
- if (items[i].f_is_defect){
1516
- let reason = items[i].f_item_name+":"
1517
- if (items[i].type === 'selector' || items[i].type === 'radio' || items[i].type === 'checkbox'){
1518
- for (let j = 0; j < items[i].f_item_value.length; j++) {
1519
- if (j+1 === items[i].f_item_value.length){
1520
- reason += items[i].f_item_value[j]
1521
- }else{
1522
- reason += items[i].f_item_value[j] + ","
1523
- }
1524
- }
1525
- }else{
1526
- reason += items[i].f_item_value
1527
- }
1528
- if (items[i].f_path){
1529
- this.defectImgs.push(items[i].f_path)
1530
- }
1531
- if (items[i].f_p1_path){
1532
- this.defectImgs.push(items[i].f_p1_path)
1533
- }
1534
- if (items[i].f_p2_path){
1535
- this.defectImgs.push(items[i].f_p2_path)
1536
- }
1537
- if (items[i].f_p3_path){
1538
- this.defectImgs.push(items[i].f_p3_path)
1539
- }
1540
- if (items[i].tooltip){
1541
- this.defectToolTip.push(items[i].tooltip)
1542
- }
1543
- this.defectReason.push({device:deviceType,deviceitem:reason})
1544
- }else if(items[i].type === 'errorstring' && items[i].f_item_value ){
1545
- let reason = items[i].f_item_name+":" + items[i].f_item_value
1546
- this.defectReason.push({device:deviceType,deviceitem:reason})
1547
- }
1548
-
1549
- }
1550
- }
1551
- }
1552
- ////tag
1553
- ////tag
1554
- //tag
1555
- ////tag
1556
- //tag)
1557
- //tag)
1558
- //tag)
1559
- ////tag
1560
- ////tag
1561
- ////tag
1562
- },
1563
- watch: {
1564
- '$parent.$parent.isUpload'(val) {
1565
- ////tag
1566
- },
1567
- 'meading'(val) {
1568
- ////tag
1569
- this.$parent.$parent.meading = val
1570
- },
1571
- 'backlistisselect'(val) {
1572
- if (val == true) {
1573
- this.showmodel = true
1574
- this.deletebacklistisselect=false
1575
- }
1576
- },
1577
- 'backlistisselectTY'(val) {
1578
- if (val == true) {
1579
- this.showTYModel = true
1580
- }
1581
- },
1582
- 'deletebacklistisselect'(val) {
1583
- if (val == true) {
1584
- this.showmodelthree = true
1585
- this.backlistisselect=false
1586
- }
1587
- },
1588
- 'isRecodr'(val) {
1589
- if (val == 'false' || val == undefined || val == null || val == '' || val == 'undefined') {
1590
- this.isRecodr = "false";
1591
- }
1592
- }
1593
- }
1594
- }
1595
- </script>
1596
- <style scoped>
1597
- .panel-self{
1598
- border-radius: 5px;
1599
- border:1px solid #c5e1f7;
1600
- background-color: #F2F6FA;
1601
- }
1602
- .text-left{
1603
- text-align:left;
1604
- }
1605
- .font{
1606
- font: 15px PingFang-SC-Medium;
1607
- color: #333333;
1608
- }
1609
- .showIi{
1610
- font: 14px PingFang-SC-Medium;
1611
- color: #666666;
1612
- }
1613
- .info{
1614
- margin-top: 15px;
1615
- border-radius: 5px;
1616
- background-color: #f3faff;
1617
- }
1618
- .btn-photo{
1619
- border: 0;
1620
- border-radius: 7px;
1621
- background-color: #7dc1f4;
1622
- font: 15px PingFang-SC-Bold;
1623
- height: 20%;
1624
- }
1625
- .div-photo{
1626
- width: auto;
1627
- height: auto;
1628
- /* margin-top: 10px; */
1629
- position: absolute;
1630
- bottom: 10px;
1631
- right: 10px;
1632
- }
1633
- .btn-voice{
1634
- border-radius: 7px;
1635
- border: 1px solid #dedede;
1636
- background-color: #f5fbff;
1637
- font: 15px PingFang-SC-Bold;
1638
- color: #499edf;
1639
- }
1640
- .save-btn{
1641
- width: 25%;
1642
- background-color:#499edf;
1643
- border-radius: 6px;
1644
- color: #FFFFFF;
1645
- font: 15px PingFang-SC-Bold;
1646
- }
1647
- .upload-btn{
1648
- width: 25%;
1649
- background-color:#ffffff;
1650
- border: 1px solid #499edf;
1651
- border-radius: 6px;
1652
- color: #499edf;
1653
- font: 15px PingFang-SC-Bold;
1654
- }
1655
- .repair-btn{
1656
- width: 25%;
1657
- border: 1px solid #499edf;
1658
- border-radius: 6px;
1659
- font: 15px PingFang-SC-Bold;
1660
- }
1661
- #el_ca_tx{
1662
- width: 100%;
1663
- margin: 5px;
1664
- }
1665
- #el_ca_txt{
1666
- width: 100%;
1667
- margin: 5px;
1668
- }
1669
- </style>
1
+ <template>
2
+ <form novalidate class="form-horizontal" style="width: 95%;margin: auto">
3
+ <div class="form-group col-md-12 col-sm-12 col-xs-12" :class="style__">
4
+ <div class="form-group col-md-12 col-sm-12 col-xs-12">
5
+ <label class="control-label font text-left col-md-4 col-xs-4">备注</label>
6
+ <div class="col-md-12 col-sm-12 col-xs-12">
7
+ <textarea v-model="paper.f_repair_approved_note" class="form-control"></textarea>
8
+ </div>
9
+ </div>
10
+ </div>
11
+ <div class="form-group col-sm-12 col-xs-12 col-md-12 info" :class="style__">
12
+ <div class="text-center">
13
+ <label class="font">总体安检照片请依次拍摄:</label>
14
+ </div>
15
+ <div class="col-md-12 col-sm-12 col-xs-12">
16
+ <ol class="showIi">
17
+ <li>1.燃气设施全景</li>
18
+ <li>2.燃气表照片</li>
19
+ <li>3.灶具照片</li>
20
+ <li>4.其他照片</li>
21
+ </ol>
22
+ </div>
23
+ </div>
24
+ <div class="form-group col-sm-12 col-xs-12 col-md-12 " :class="style__">
25
+ <label class="text-left font">总体安检照片</label>
26
+
27
+ <div class="auto" :class="style__">
28
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
29
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
30
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px" >
31
+ <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px" v-for="(index,img) in paper.f_overall_imgs">
32
+ <img-self :src="img.f_overall_path" alt="总体安检照片" :width="140" :height="170"></img-self>
33
+ <img src="../../../assets/删除.png" @click="delfile('f_overall_path', img.f_overall_path,index)" style="width: 15px;margin-top: -80px" alt="">
34
+ </div>
35
+ </div>
36
+ <div class="row text-right div-photo">
37
+ <button type="button" name="button" class="btn btn-photo" @click="takePic('f_overall_path', '总体安检照片')">拍照</button>
38
+ <!--<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_overall_path', '总体安检照片1')">拍照</button>-->
39
+ <!--&nbsp;&nbsp;&nbsp;&nbsp;<img src="../../../../assets/remove.png" :class="style__" @click="delfile('f_overall_path', img.f_overall_path)" style="width: 25%;"></img>-->
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ </div>
45
+ <div class="form-group col-sm-12 col-xs-12 col-md-12 " :class="style__">
46
+ <label class="text-left font">总体隐患照片</label>
47
+ <div class="auto" :class="style__">
48
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
49
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
50
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px" >
51
+ <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px" v-for="(index,img) in defectImgs">
52
+ <img-self :src="img" alt="总体隐患照片" :width="140" :height="170"></img-self>
53
+ <!-- <img src="../../assets/删除.png" @click="delfile('f_overall_path', img.f_overall_path,index)" style="width: 15px;margin-top: -80px" alt="">-->
54
+ </div>
55
+ </div>
56
+ </div>
57
+ </div>
58
+ </div>
59
+ </div>
60
+ <div class="form-group col-sm-12 col-xs-12 col-md-12 info" :class="style__">
61
+ <div class="text-center">
62
+ <label class="font">隐患汇总:</label>
63
+ </div>
64
+ <div class="col-md-12 col-sm-12 col-xs-12">
65
+ <ol class="showIi">
66
+ <li v-for="item in defectReason">{{ item.deviceitem }}</li>
67
+ </ol>
68
+ </div>
69
+ </div>
70
+ <div class="form-group col-sm-12 col-xs-12 col-md-12 info" :class="style__">
71
+ <div class="text-center">
72
+ <label class="font">整改建议汇总:</label>
73
+ </div>
74
+ <div class="col-md-12 col-sm-12 col-xs-12">
75
+ <ol class="showIi">
76
+ <li v-for="item in defectToolTip">{{ item }}</li>
77
+ </ol>
78
+ </div>
79
+ </div>
80
+ <div class="form-group col-sm-12 col-xs-12 col-md-12 info" :class="style__">
81
+ <div class="text-center">
82
+ <label class="font">客户意见反馈:</label>
83
+ </div>
84
+ <div class="col-md-12 col-sm-12 col-xs-12">
85
+ <ol class="showIi">
86
+ <li>检查说明:</li>
87
+ <li>1.已对客户燃气设施进行了安全检查</li>
88
+ <li>2.已对客户进行了安全用气知识宣传,并发放宣传资料</li>
89
+ <li>3.已对客户资料进行了登记</li>
90
+ <li>4.已向隐患用户告知说明隐患整改项目,并充分向用户告知了存在的隐患内容及注意事项,用户已获悉其中的内容</li>
91
+ </ol>
92
+ </div>
93
+ </div>
94
+ <div class="form-group col-sm-12 col-xs-12 col-md-12 " :class="style__">
95
+ <input type="checkbox" v-model="paper.f_read_instructions"/><label class="text-left font">我已阅读须知内容</label>
96
+
97
+ </div>
98
+ <div class="form-group col-sm-12 col-xs-12 col-md-12 " :class="style__">
99
+ <label class="text-left font">用户签名</label>
100
+ <div class="auto">
101
+ <div class="panel">
102
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
103
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px">
104
+ <div class="col-sm-4">
105
+ <img :class="style__" :src="paper.f_sign_path" :width="200" :height="150" />
106
+ </div>
107
+ </div>
108
+ <div class="row text-right div-photo">
109
+ <button type="button" name="button" class="btn btn-primary btn-photo" @click="sign">签名</button>
110
+ </div>
111
+ </div>
112
+ </div>
113
+ </div>
114
+ </div>
115
+ <div class="form-group col-sm-12 col-xs-12 col-md-12 " :class="style__" v-if="paper.f_singed_notified">
116
+ <label class="text-left font">确认签署供气合同签名</label>
117
+ <div class="auto">
118
+ <div class="panel">
119
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
120
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px">
121
+ <div class="col-sm-4">
122
+ <img :class="style__" :src="paper.f_sign_contract" :width="200" :height="150" />
123
+ </div>
124
+ </div>
125
+ <div class="row text-right div-photo">
126
+ <button type="button" name="button" class="btn btn-primary btn-photo" @click="sign1()">签名</button>
127
+ </div>
128
+ </div>
129
+ </div>
130
+ </div>
131
+ </div>
132
+ <div class="form-group col-sm-12 col-xs-12 col-md-12 " :style="timeSet(this.isneedDate)?'':'display:none'">
133
+ <label>请输入超期原因:</label><br/>
134
+ <textarea style="width: 100%;" v-model="paper.f_exceed_reason"></textarea>
135
+ </div>
136
+ <div class="form-group col-md-12 col-sm-12 col-xs-12" :class="style__" v-show="showbacklist=='是'">
137
+ <div class="col-xs-6 col-sm-6">
138
+ <input type="checkbox" v-model="backlistisselect" :readonly="enabled"/><label class="text-left font" >限制该用户购气</label>
139
+ </div>
140
+ <div class="col-xs-6 col-sm-6">
141
+ <input type="checkbox" v-model="deletebacklistisselect" :readonly="deleteenabled"/><label class="text-left font" >取消该用户购气</label>
142
+ </div>
143
+ <div class="col-xs-6 col-sm-6" v-if="tyState">
144
+ <input type="checkbox" v-model="backlistisselectTY"/><label class="text-left font" >对用户进行停用</label>
145
+ </div>
146
+ </div>
147
+ <div class="form-group col-md-12 col-sm-12 col-xs-12" :class="style__" v-if="Vue.$appdata.getParam('安检天然气安全使用须知检查')=='是'">
148
+ <div class="col-xs-12 col-sm-12">
149
+ <input type="checkbox" v-model="paper.f_gas_guidelines" /><label class="text-left font" >天然气安全使用须知</label>
150
+ </div>
151
+ <div class="col-xs-12 col-sm-12">
152
+ <input type="checkbox" v-model="paper.f_safety_warning" /><label class="text-left font" >天然气室内使用安全警示</label>
153
+ </div>
154
+ <div class="col-xs-12 col-sm-12">
155
+ <input type="checkbox" v-model="paper.f_gas_manual" /><label class="text-left font" >安全用气手册</label>
156
+ </div>
157
+ </div>
158
+ <div class="form-group col-md-12 col-sm-12 col-xs-12" :class="style__">
159
+ <div class="form-group col-md-12 col-sm-12 col-xs-12">
160
+ <input type="checkbox" v-model="paper.f_defect_notified" class="showIi" />安检通知书/隐患整改通知书
161
+ </div>
162
+ <div class="form-group col-md-12 col-sm-12 col-xs-12">
163
+ <input type="checkbox" v-model="paper.f_singed_notified" class="showIi" />签署供气合同
164
+ </div>
165
+ <div class="form-group col-md-12 col-sm-12 col-xs-12" v-if="paper.f_defect_notified">
166
+ <div class="form-group col-md-12 col-sm-12 col-xs-12">
167
+ <button type="button" @click="print()">打印隐患整改单</button>
168
+ </div>
169
+ <div class="form-group col-md-12 col-sm-12 col-xs-12">
170
+ <label class="text-left font">安检通知书/隐患整改通知书照片(要求能清晰反应安检通知单和用户签字内容):</label>
171
+ <div class="auto" >
172
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
173
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
174
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px">
175
+ <div class="col-sm-4">
176
+ <img-self :src="paper.f_notified_path" alt="安检通知书/隐患整改通知书照片" width="150" height="200"></img-self>
177
+ </div>
178
+ </div>
179
+ <div class="row text-right div-photo">
180
+ <button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_notified_path', '安检通知书/隐患整改通知书照片')">拍照</button>
181
+ &nbsp;&nbsp;&nbsp;&nbsp;<img src="../../../assets/remove.png" :class="style__" @click="delfile('f_notified_path', this.paper.f_notified_path)" style="width: 25%;"></img>
182
+ </div>
183
+ </div>
184
+ </div>
185
+ </div>
186
+ </div>
187
+
188
+ </div>
189
+ <div class="form-group col-sm-12 col-xs-12 col-md-12 ">
190
+ <label class="text-left font">隐患整改通知单单号</label>
191
+ <input v-model="paper.f_repairorder_id" :value="paper.f_repairorder_id" type="text">
192
+ </div>
193
+ <div class="form-group col-sm-12 col-xs-12 col-md-12 ">
194
+ <label class="text-left font">副操</label>
195
+ <v-select
196
+ :value.sync="paper.f_deputy_director"
197
+ :value-single="true"
198
+ :options='repairers'
199
+ placeholder='请选择安检员'
200
+ close-on-select></v-select>
201
+ </div>
202
+ <div class="form-group col-md-12 col-sm-12 col-xs-12">
203
+ <div class="row">
204
+ <label class="text-left">请对我们的服务做出评价:</label>
205
+ </div>
206
+ <div class="col-xs-4 col-sm-4" v-for="item in radios">
207
+ <input v-model="paper.f_client_evaluation" :value="item.label" :checked='item.isChecked' @click="check(item.value)" type="radio">{{item.label}}
208
+ </div>
209
+
210
+ <!--<div class="col-sm-4">-->
211
+ <!--<radio-group :value.sync="paper.f_client_evaluation" type="success" buttons="false">-->
212
+ <!--<radio value="满意">满意</radio>-->
213
+ <!--<radio value="基本满意">基本满意</radio>-->
214
+ <!--<radio value="不满意">不满意</radio>-->
215
+ <!--</radio-group>-->
216
+ <!--</div>-->
217
+ </div>
218
+
219
+ <div class="form-group col-md-12 col-sm-12 col-xs-12" v-if="isRecodr=='false'">
220
+ <label class="text-left font">反馈录音:</label>
221
+ <div class="col-md-12 col-sm-12 col-xs-12">
222
+ <button type="button" name="button" class="btn btn-primary btn-voice" @click="record">
223
+ <img src="../../../assets/录音.png" style="width: 14%;">
224
+ <span v-if="!paper.f_recording1_path">开始录音</span>
225
+ <span v-if="paper.f_recording1_path">已录音</span>
226
+ </button>
227
+ &nbsp;&nbsp;&nbsp;&nbsp;<img src="../../../assets/remove.png" style="width: 15px;" :class="style__" @click="delAudioFile('f_recording1_path', paper.f_recording1_path)"></img>
228
+ </div>
229
+ </div>
230
+ <div class="form-group col-md-12 col-sm-12 col-xs-12" v-if="paper.f_singed_notified">
231
+ <div class="col-md-12 col-sm-12 col-xs-12">
232
+ <button type="button" name="button" class="btn btn-primary btn-voice" @click="SignedContract">
233
+ <span >签订供气合同</span>
234
+ </button>
235
+ </div>
236
+ </div>
237
+
238
+ <div v-if="false">
239
+ <div class="text-center form-group col-md-12 col-sm-12 col-xs-12">
240
+ <button style="width: 30%;margin:3%;margin-bottom: 0%" type="button" v-show="$parent.$parent.actionEnabled && upload_state !='已传' &&(paper.f_complete != '已完成' || paper.back_f_entry_status != '入户') " class="btn save-btn" @click="$parent.$parent.save('temp')">临时保存</button>
241
+ <button style="width: 30%;margin:3%;margin-bottom: 0%" type="button" v-show="$parent.$parent.actionEnabled && upload_state !='已传' && (paper.f_complete != '已完成' || paper.back_f_entry_status != '入户')" class="btn save-btn " @click="$parent.$parent.save('finish')">完成安检</button>
242
+ </div>
243
+ <div class="text-center form-group col-md-12 col-sm-12 col-xs-12">
244
+ <button style="width: 30%;margin:3%;margin-bottom: 0%;margin-top: 0%" id="upload" type="button" v-show="$parent.$parent.actionEnabled && upload_state !='已传' && (paper.f_complete != '已完成' || paper.back_f_entry_status != '入户')" class="btn upload-btn " @click="$parent.$parent.uploadCheckPaper" >上传</button>
245
+ <button style="width: 30%;margin:3%;margin-bottom: 0%;margin-top: 0%" v-if="(safeCheckToRepair == true || safeCheckToRepair == 'true') && $parent.$parent.actionEnabled" class="btn repair-btn btn-warning " type="button" @click="showToRepair">转维修</button> </div>
246
+ </div>
247
+
248
+ </div>
249
+ </form>
250
+ <!-- <modal :show.sync="showCheckToRepair" v-ref:modal :backdrop="isback">-->
251
+ <!-- <div slot="modal-header" class="modal-header">-->
252
+ <!-- <h4 class="modal-title">-->
253
+ <!-- 安检转维修-->
254
+ <!-- </h4>-->
255
+ <!-- </div>-->
256
+ <!-- <div slot="modal-body" class="modal-body">-->
257
+ <!-- <div v-if="showrepair">-->
258
+ <!-- <div class="row">-->
259
+ <!-- <label class="col-xs-4 col-md-4 control-label text-left">派单方式</label>-->
260
+ <!-- <div class="col-xs-8 col-md-8">-->
261
+ <!-- <label v-for="handling1 in handling" >-->
262
+ <!-- <input type="radio"-->
263
+ <!-- v-model="meading"-->
264
+ <!-- value="{{handling1.label}}">-->
265
+ <!-- {{handling1.label}}-->
266
+ <!-- </label>-->
267
+ <!-- </div>-->
268
+ <!-- </div>-->
269
+ <!-- <div class="row" v-if="meading == '转站点'">-->
270
+ <!-- <label class="col-xs-4 col-md-4 control-label font text-left" for="f_reciever">站点</label>-->
271
+ <!-- &lt;!&ndash;<input type="text" v-show="false" v-model="serviceacitivity.f_reciever"&ndash;&gt;-->
272
+ <!-- &lt;!&ndash;v-validate:f_reciever='{ required: true }'>&ndash;&gt;-->
273
+ <!-- <div class="col-xs-8 col-md-8">-->
274
+ <!-- <right-tree @ready="onReady" islist :Url="Url" :userid="userid" :source="source" v-on:re-res="reres" :textContent="选择站点管理员" :selectData="" v-ref:f_reciever>-->
275
+ <!-- </right-tree>-->
276
+ <!-- </div>-->
277
+ <!-- </div>-->
278
+
279
+ <!-- <div class="row" style="margin-top: 6px" v-if="meading == '转维修员'">-->
280
+ <!-- <label class="col-xs-4 col-md-4 control-label font text-left">维修人</label>-->
281
+ <!-- <div class="col-xs-8">-->
282
+ <!-- <v-select :value="$parent.$parent.model.serviceacitivity[0].f_reciever" :value-single="true"-->
283
+ <!-- :options='f_repair_person' placeholder='请选择维修员'-->
284
+ <!-- close-on-select v-on:change="repiarmancg"></v-select>-->
285
+ <!-- </div>-->
286
+
287
+ <!-- </div>-->
288
+ <!-- <div class="row" style="margin-top: 6px">-->
289
+ <!-- <label for="f_repair" class="col-xs-4 col-md-4 control-label font text-left">报修类型</label>-->
290
+ <!-- <div class="col-xs-8 col-md-8">-->
291
+ <!-- <v-select :value.sync="$parent.$parent.model.f_repairtype" :value-single="true"-->
292
+ <!-- :options='repairstypes' placeholder='报修类型'-->
293
+ <!-- close-on-select>-->
294
+ <!-- </v-select>-->
295
+ <!-- </div>-->
296
+ <!-- </div>-->
297
+
298
+ <!-- <div class="row" style="margin-top: 6px">-->
299
+ <!-- <label class="control-label font text-left col-md-4 col-xs-4">备注</label>-->
300
+ <!-- <div class="col-xs-8 col-md-8">-->
301
+ <!-- <input type="text" v-model="$parent.$parent.model.f_remarks"/>-->
302
+ <!-- </div>-->
303
+
304
+ <!-- </div>-->
305
+
306
+ <!-- </div>-->
307
+ <!-- <div v-if="!showrepair">-->
308
+ <!-- 暂无隐患设备信息-->
309
+ <!-- </div>-->
310
+ <!-- </div>-->
311
+ <!-- <div slot="modal-footer" class="modal-footer">-->
312
+ <!-- <button type="button" class="btn btn-default" @click="uploadPaper()">确定</button>-->
313
+ <!-- <button type="button" class="btn btn-default" @click="undo()">取消</button>-->
314
+ <!-- </div>-->
315
+ <!-- </modal>-->
316
+ <!--拉黑框-->
317
+ <modal :show.sync="showmodel" v-ref:modal>
318
+ <div slot="modal-header" class="modal-header">
319
+ <h4 class="modal-title">
320
+ 限制用户购气
321
+ </h4>
322
+ </div>
323
+ <div slot="modal-body" class="modal-body">
324
+ <!-- <div class="row" style="margin-top: 6px">-->
325
+ <!-- <label style="color: red;">注:当前页面无法取消对用户的限制购气</label>-->
326
+ <!-- </div>-->
327
+ <div class="row" style="margin-top: 6px">
328
+ <textarea id="el_ca_tx" v-model.trim="cause" style="border-radius:4px;width: 100%;" placeholder="请输入限制用户购气原因" >
329
+ </textarea>
330
+ </div>
331
+ </div>
332
+ <div slot="modal-footer" class="modal-footer">
333
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="backlist()">确认</button>
334
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="cancel()">取消</button>
335
+ </div>
336
+ </modal>
337
+
338
+ <modal :show.sync="showmodelthree" v-ref:modal>
339
+ <div slot="modal-header" class="modal-header">
340
+ <h4 class="modal-title">
341
+ 取消限制用户购气
342
+ </h4>
343
+ </div>
344
+ <div slot="modal-body" class="modal-body">
345
+ <!-- <div class="row" style="margin-top: 6px">-->
346
+ <!-- <label style="color: red;">注:当前页面无法取消对用户的限制购气</label>-->
347
+ <!-- </div>-->
348
+ <div class="row" style="margin-top: 6px">
349
+ <textarea id="el_ca_txt" v-model.trim="deletecause" style="border-radius:4px;width: 100%;" placeholder="请输入取消限制用户购气原因" >
350
+ </textarea>
351
+ </div>
352
+ </div>
353
+ <div slot="modal-footer" class="modal-footer">
354
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="deletebacklist()">确认</button>
355
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="deletecancel()">取消</button>
356
+ </div>
357
+ </modal>
358
+
359
+ <!--停用框-->
360
+ <modal :show.sync="showTYModel" v-ref:modal>
361
+ <div slot="modal-header" class="modal-header">
362
+ <h4 class="modal-title">
363
+ 对用户停用
364
+ </h4>
365
+ </div>
366
+ <div slot="modal-body" class="modal-body">
367
+ <div class="row" style="margin-top: 6px">
368
+ <textarea v-model.trim="tyCause" style="border-radius:4px;width: 100%;" placeholder="请输入停用原因">
369
+ </textarea>
370
+ </div>
371
+ </div>
372
+ <div slot="modal-footer" class="modal-footer">
373
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="backlistTY()">确认</button>
374
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="tyCancel()">取消</button>
375
+ </div>
376
+ </modal>
377
+ </template>
378
+
379
+ <script>
380
+ import Vue from 'vue'
381
+ import * as Util from '../../Util'
382
+ import { HttpResetClass } from 'vue-client'
383
+ import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
384
+ import Radio from 'vue-client/src/vue-strap/src/radioBtn'
385
+ import co from 'co'
386
+
387
+ // let getRepairParam = function * (self){
388
+ // let data = {
389
+ // $parent.$parent.model: self.$parent.$parent.model, loginUser: {
390
+ // name: self.role == 'view'?self.$login.f.name:Vue.user.name,
391
+ // ename: self.role == 'view'?self.$login.f.ename:Vue.user.ename
392
+ // }, user: self.user, callObj: self.callObj
393
+ // }
394
+ // if(self.$parent.$parent.meading == '转维修员'){
395
+ // data.toRepair = '一级派单'
396
+ // }
397
+ // data.$parent.$parent.model.f_attendant = data.loginUser.name
398
+ // ////tag
399
+ // ////tag
400
+ // let res
401
+ // let errString = self.$parent. $parent.errorVerify()
402
+ // if(errString){
403
+ // ////tag
404
+ // if (Vue.android)
405
+ // self.undo()
406
+ // this.$showMessage(errString)
407
+ // return
408
+ // } else {
409
+ // if(self.role == 'inspect'){
410
+ // if(self.$parent.$parent.meading == '转维修员' && (self.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || self.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)){
411
+ // this.$showMessage("请选择维修员!")
412
+ // return
413
+ // }
414
+ // if(self.$parent.$parent.meading == '转站点' && (self.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || self.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)){
415
+ // HostApp.alert()
416
+ // this.$showMessage("请选择站点!")
417
+ // return
418
+ // }
419
+ // if(self.$parent.$parent.model.f_repairtype == ''){
420
+ // this.$showMessage("请选择报修类型!")
421
+ // return
422
+ // }
423
+ // ////tag)
424
+ // let checkResult = '正常'
425
+ // let options = [{"data": "已处理"},{"data": "未处理"}]
426
+ // let value = ''
427
+ // let codata = JSON.parse(JSON.stringify(self.paper))
428
+ // for(let device in codata){
429
+ // ////tag)
430
+ // let f_device_type
431
+ // if(device.startsWith("device")){
432
+ // for(let item in codata[device]) {
433
+ // if(codata[device].length > 1 ){
434
+ // let j = Number.parseInt(item)+1
435
+ // f_device_type = `${codata[device][item].f_device_type}${j}`
436
+ // }else{
437
+ // f_device_type = codata[device][item].f_device_type
438
+ // }
439
+ // // ////tag
440
+ // let details = []
441
+ // for(let i in codata[device][item].f_items){
442
+ // let items = codata[device][item].f_items[i]
443
+ // ////tag
444
+ // if(items.f_is_defect == true || items.f_is_defect == 'true'){
445
+ // checkResult = '有隐患'
446
+ // ////tag
447
+ // let res = yield self.$resetpost(`${self.Url}/rs/sql/getDeviceItem`,{data:{f_device_id:codata[device][item].f_device_id,f_item_name:items.f_item_name}})
448
+ // ////tag)
449
+ // self.$set('detail.f_defect_id', res.data[0].id)
450
+ // self.$set('detail.f_project',`${items.f_item_name}:${items.f_item_value}`)
451
+ // self.$set('detail.type',items.type)
452
+ // self.$set('detail.options',options)
453
+ // details.push(JSON.parse(JSON.stringify(self.detail)))
454
+ // }
455
+ // if(items.type == 'selector'){
456
+ // items.selected = ''
457
+ // }
458
+ // self.detail = {}
459
+ // }
460
+ // ////tag
461
+ // self.$set('defectDevice.f_type',f_device_type)
462
+ // self.$set('defectDevice.details',details)
463
+ // if(self.defectDevice.details.length >0 ){
464
+ // self.repairitems.push(JSON.parse(JSON.stringify(self.defectDevice)))
465
+ // }
466
+ // self.defectDevice = {}
467
+ // ////tag
468
+ // }
469
+ // }
470
+ // }
471
+ // self.$set('$parent.$parent.model.f_repairitems.data',self.repairitems)
472
+ //
473
+ //
474
+ // ////tag)
475
+ // res = self.$androidUtil.bzLogic('safecheckToRepair',data)
476
+ // ////tag
477
+ // ////tag
478
+ // ////tag
479
+ // if(res.code == 200){
480
+ // self.$parent.$parent.isSafeCheckToRepair = true
481
+ // self.undo()
482
+ // self.$set('paper.f_SafeToRepair_id',res.data.f_service_id)
483
+ // ////tag
484
+ // self.$resetpost(`${self.Url}/rs/logic/updatePaperRepair`,{data:{f_paper_id:self.paper.f_paper_id,f_SafeToRepair_id:res.data.f_service_id}}).then((ret)=>{
485
+ // ////tag
486
+ // if(ret.data.code ==200){
487
+ // ////tag
488
+ // self.$parent.$parent.$back()
489
+ // }else{
490
+ // self.$showMessage('安检转维修失败!')
491
+ // }
492
+ // }).catch(v=>{
493
+ // ////tag)
494
+ // self.$showMessage('安检转维修失败!')
495
+ // })
496
+ // }else{
497
+ // self.$showMessage('安检转维修失败!')
498
+ // }
499
+ // }
500
+ // }
501
+ // }
502
+
503
+
504
+
505
+ // let getRepairs = async function(self,url) {
506
+ // // 获取配置信息
507
+ // try {
508
+ // let val = {source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($维修员$) != -1 ))', userid: `${Vue.user.id}`}
509
+ // let repairs =[]
510
+ // let res = await Vue.resetpost(`${url}/rs/search`,{data: val},{resolveMsg: null, rejectMsg: null})
511
+ // res.data.forEach((item) => {
512
+ // repairs.push({label: item.name, value: item})
513
+ // })
514
+ // self.f_repair_person = repairs
515
+ // if(self.$parent.$parent.role == 'inspect'){
516
+ // let res = self.$androidUtil.bzLogic('getUserInfo',{id:self.paper.f_userinfoid})
517
+ // if(res.code == 200){
518
+ // self.$parent.$parent.user = res.data[0]
519
+ // self.$parent.$parent.model.f_area = self.$parent.$parent.user.f_area
520
+ // }
521
+ // }else{
522
+ // ////tag
523
+ // self.$resetpost(`${self.Url}/rs/sql/safeCheckgetUserInfo`,{data:{id:self.paper.f_userinfoid}},{resolveMsg: null, rejectMsg: null}).then((res)=>{
524
+ // ////tag
525
+ // if(res.data.length != 0){
526
+ // self.$parent.$parent.user = res.data[0]
527
+ // self.$parent.$parent.model.f_area = self.$parent.$parent.user.f_area
528
+ // }
529
+ // })
530
+ // // path({alias:'getUserInfo',data:{id:this.paper.f_userinfoid}})
531
+ // }
532
+ // } catch (error) {
533
+ // ////tag
534
+ // }
535
+ // }
536
+
537
+ export default {
538
+ title: '用户反馈',
539
+ data() {
540
+ return {
541
+ newConfig:'',
542
+ repairers: [],
543
+ defectImgs: [],
544
+ defectToolTip: [],
545
+ defectReason: [],
546
+ images: [],
547
+ showmodelthree: false,
548
+ isneedDate: this.$parent.$parent.isneedDate,
549
+ plan: this.$parent.$parent.item,
550
+ meading: this.$parent.$parent.meading,
551
+ paper: this.$parent.$parent.data,
552
+ printContent: [],
553
+ upload_state: this.$parent.$parent.item.f_upload_state,
554
+ enabled: false,//控制限制购气是否可选
555
+ deleteenabled: false,
556
+ showmodel: false,
557
+ showbacklist:'是',
558
+ backlistisselect: false,
559
+ deletebacklistisselect: false,
560
+ radios: [
561
+ {
562
+ label: '满意',
563
+ value: 0,
564
+ isChecked: false,
565
+ },
566
+ {
567
+ label: '基本满意',
568
+ value: 1,
569
+ isChecked: false,
570
+ },
571
+ {
572
+ label: '不满意',
573
+ value: 2,
574
+ isChecked: false,
575
+ },
576
+ ],
577
+ repairitems: [],
578
+ repairstypes: this.$appdata.getParam('报修类型'),
579
+ // f_repair_person: this.readRepair(),
580
+ showrepair: false,
581
+ safeCheckToRepair: '',
582
+ showCheckToRepair: false,
583
+ userid: '',
584
+ source:
585
+ 'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
586
+ 'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
587
+ isback: false,
588
+ defectDevice: {},
589
+ detail: {},
590
+ callObj: null,
591
+ user: {},
592
+ role: this.$parent.$parent.role,
593
+ handling: [{label: '转站点', value: '转站点'}, {label: '转维修员', value: '转维修员'}],
594
+ Url: this.$androidUtil.getProxyUrl(),
595
+ cause: "",
596
+ deletecause: "",
597
+ isRecodr: "false", //单值参数,为true则是开启全程录音
598
+ tyCause:'',
599
+ showTYModel:'',
600
+ backlistisselectTY:false,
601
+ tyState:this.$appdata.getSingleValue('用户停用')=='是'?true:false
602
+
603
+ }
604
+ },
605
+ props: ['idx'],
606
+ components: {
607
+ RadioGroup,
608
+ Radio
609
+ },
610
+ methods: {
611
+ //对用户停用
612
+ async backlistTY() {
613
+ if (!this.tyCause) {
614
+ this.$showMessage("请填写停用原因!")
615
+ return
616
+ }
617
+ let http = new HttpResetClass()
618
+ let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
619
+ data: {
620
+ items: "f_userfiles_id,version",
621
+ tablename: "t_userfiles",
622
+ condition: "f_table_state in ('正常','停用','封堵') and f_userinfo_id= '" + this.paper.f_userinfoid + "'",
623
+ orderitem: "f_userfiles_id"
624
+ }
625
+ }, {resolveMsg: null, rejectMsg: null})
626
+ if (res2.data.length==0){
627
+ this.$showMessage('已成功停用')
628
+ this.showTYModel = false
629
+ return
630
+ }
631
+ let data = {
632
+ f_userfiles_id: {
633
+ f_userfiles_id: res2.data[0].f_userfiles_id,
634
+ f_table_state: '停用',
635
+ version: res2.data[0].version
636
+ },
637
+ f_userfile_id: res2.data[0].f_userfiles_id,
638
+ f_user_id: this.paper.f_userinfo_code,
639
+ f_userinfo_id: "'"+this.paper.f_userinfoid+"'",
640
+ f_user_name: this.paper.f_user_name,
641
+ f_othereason: this.tyCause,
642
+ f_operat_type: '停用',
643
+ f_describe: `${Vue.user.name}对客户${this.paper.f_user_name}进行停用操作`,
644
+ f_state: '有效',
645
+ f_user_phone: this.paper.f_user_phone,
646
+ f_operator: Vue.user.name,
647
+ f_operatorid: Vue.user.id,
648
+ f_orgid: Vue.user.orgid,
649
+ f_orgname: Vue.user.orgs,
650
+ f_depid: Vue.user.depids,
651
+ f_depname: Vue.user.deps,
652
+ f_zoneid: Vue.user.zoneid,
653
+ f_zones: Vue.user.zones
654
+ }
655
+ new HttpResetClass().load('post',`${this.$androidUtil.getProxyUrl()}/rs/entity/t_disable`,
656
+ data, {resolveMsg: null, rejectMsg: null}).then((row) => {
657
+ this.$showMessage('已成功停用')
658
+ this.paper.f_table_state = '停用'
659
+ this.$parent.$parent.data.f_table_state = '停用'
660
+ this.showTYModel = false
661
+ })
662
+ },
663
+ //停用取消按钮
664
+ tyCancel() {
665
+ this.backlistisselectTY = false
666
+ this.showTYModel = false
667
+ },
668
+
669
+ // 获取安检员
670
+ getEmp() {
671
+ this.repairers=[]
672
+ let per = {source: 'this.getRights().where(row.getType()==$user$).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))', userid: `${Vue.user.id}`}
673
+ let http = new HttpResetClass()
674
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/search`, {data: per}, {resolveMsg: null, rejectMsg: null}).then((res) => {
675
+ res.data.forEach((user)=>{
676
+ this.repairers.push({label:user.name, value: user.name})
677
+ })
678
+ })
679
+ },
680
+ timeSet(val) {
681
+ //////tag
682
+ if (!val) {
683
+ return
684
+ }
685
+ let time = new Date(val).getTime()
686
+ let time2 = new Date().getTime()
687
+ if (time2 > time) {
688
+ return true
689
+ }
690
+ },
691
+ // async isoverDate(){
692
+ // ////tag
693
+ // let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/androidGetuserinfo`, {data:{
694
+ // condition:"f_plan_item_id='"+this.$parent.$parent.item.id+"'"
695
+ // }
696
+ // })
697
+ // this.isneedDate=res.data[0]["f_subscribe_date"]
698
+ // ////tag
699
+ // },
700
+ check(index) {
701
+ ////tag
702
+ // 先取消所有选中项
703
+ for (let item of this.radios) {
704
+ item.isChecked = false;
705
+ }
706
+ //再设置当前点击项选中
707
+ this.paper.f_client_evaluation = this.radios[index].label;
708
+ // 设置值,以供传递
709
+ this.radios[index].isChecked = true;
710
+ ////tag;
711
+ },
712
+ getSignValue(fileName) {
713
+ this.f_signname = fileName
714
+ },
715
+ cameraCallBack(prop, fileName) {
716
+ if (prop == 'f_overall_path') {
717
+ let f_overall_path = fileName + '?' + Math.random()
718
+ HostApp.__this__.paper.f_overall_imgs.push({
719
+ f_overall_path: f_overall_path
720
+ })
721
+ } else {
722
+ HostApp.__this__.paper[prop] = fileName + '?' + Math.random()
723
+ }
724
+ HostApp.__callback__ = null
725
+ HostApp.__this__ = null
726
+ },
727
+ takePic(prop, title, index) {
728
+ HostApp.__callback__ = this.cameraCallBack
729
+ HostApp.__this__ = this
730
+ ////tag
731
+ ////tag
732
+ let fileName
733
+ if (prop == 'f_overall_path') {
734
+ if (!this.paper.f_overall_imgs[index] || this.paper.f_overall_imgs[index].f_overall_path.includes("nopic.png")) {
735
+ fileName = Util.guid() + '-' + prop + '.jpg'
736
+ } else {
737
+ fileName = Util.getFileName(this.paper.f_overall_imgs[index].f_overall_path)
738
+ }
739
+ } else {
740
+ if (!this.paper[prop] || this.paper[prop].includes("nopic.png")) {
741
+ fileName = Util.guid() + '-' + prop + '.jpg'
742
+ } else {
743
+ fileName = Util.getFileName(this.paper[prop])
744
+ }
745
+ }
746
+ let jingweidu = ''
747
+ if (this.$parent.$parent.is_has_jingweidu == 'true'){
748
+ const obj = HostApp.getGpsDetailAddress()
749
+ jingweidu = '\t经度:' + obj.longitude+ '\t纬度:' + obj.latitude
750
+ }
751
+ HostApp._open_a_page({
752
+ type: 'boomerang',
753
+ page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
754
+ param: {
755
+ file: fileName,
756
+ requestCode: 111,
757
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
758
+ watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name + '\t' + this.paper.f_userinfo_code+ '\t' + this.paper.f_user_name+ '\t' + this.paper.f_address
759
+ +jingweidu
760
+ }
761
+ })
762
+ },
763
+ amrCallBack(fileName) {
764
+ HostApp.__this__.$set('paper.f_recording1_path', fileName)
765
+ HostApp.__callback__ = null
766
+ HostApp.__this__ = null
767
+ },
768
+ SignedContract(){
769
+ if(this.paper.f_sign_contract==undefined){
770
+ this.$showMessage('请先进行供气合同签名!')
771
+ return
772
+ }
773
+ //发送请求
774
+ let http = new HttpResetClass()
775
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/ajSignContract`, {data:{f_userinfoid:this.paper.f_userinfoid}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
776
+
777
+ })
778
+
779
+ },
780
+ record() {
781
+ if (this.$parent.$parent.role != 'inspect') {
782
+ if (this.paper.f_recording1_path != '') {
783
+ window.location = this.paper.f_recording1_path
784
+ }
785
+ } else {
786
+ HostApp.__callback__ = this.amrCallBack
787
+ HostApp.__this__ = this
788
+ let fileName
789
+ if (!this.paper.f_recording1_path) {
790
+ fileName = Util.guid() + '.amr'
791
+ } else {
792
+ fileName = Util.getFileName(this.paper.f_recording1_path)
793
+ }
794
+ HostApp._open_a_page({
795
+ type: 'boomerang',
796
+ page: 'com.aofeng.hybrid.android.peripheral.AudioClipActivity',
797
+ param: {file: fileName, requestCode: 111, callback: 'javascript:HostApp.__callback__("%s");'}
798
+ })
799
+ }
800
+ },
801
+ // 签名回调
802
+ signCallback1(prop, fileName) {
803
+ // HostApp.alert('绑定属性:' + prop + ' 文件全路径如file:///storage/sdcard0/safecheck/abc.jpg:' + fullFileName)
804
+ HostApp.__this__.$set('paper.f_sign_contract', fileName)
805
+ HostApp.__callback__ = null
806
+ HostApp.__this__ = null
807
+ },
808
+ // 签名回调
809
+ signCallback(prop, fileName) {
810
+ // HostApp.alert('绑定属性:' + prop + ' 文件全路径如file:///storage/sdcard0/safecheck/abc.jpg:' + fullFileName)
811
+ HostApp.__this__.$set('paper.f_sign_path', fileName)
812
+ HostApp.__callback__ = null
813
+ HostApp.__this__ = null
814
+ },
815
+ // 供气合同签名
816
+ sign1() {
817
+ this.delAudioFile('f_sign_contract', this.paper.f_sign_contract)
818
+ let prop = 'f_sign_contract'
819
+ let idx = 'aofeng'
820
+ let fileName
821
+ if (!this.paper.f_sign_contract) {
822
+ fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
823
+ } else {
824
+ fileName = Util.getFileName(this.paper.f_sign_contract)
825
+ }
826
+ HostApp.__callback__ = this.signCallback1
827
+ HostApp.__this__ = this
828
+ HostApp.getSignature({
829
+ file: fileName,
830
+ requestCode: 111,
831
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");'
832
+ })
833
+ },
834
+ // 用户签名
835
+ sign(param) {
836
+ if (!this.paper.f_read_instructions) {
837
+ this.$showMessage('请先阅读并勾选用户须知内容后进行签名!')
838
+ return
839
+ }
840
+ this.delAudioFile('f_sign_path', this.paper.f_sign_path)
841
+ let prop = 'f_sign_path'
842
+ let idx = 'aofeng'
843
+ let fileName
844
+ if (!this.paper.f_sign_path) {
845
+ fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
846
+ } else {
847
+ fileName = Util.getFileName(this.paper.f_sign_path)
848
+ }
849
+ HostApp.__callback__ = this.signCallback
850
+ HostApp.__this__ = this
851
+ HostApp.getSignature({
852
+ file: fileName,
853
+ requestCode: 111,
854
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");'
855
+ })
856
+ },
857
+ delfile(prop, fileName, index) {
858
+ if (fileName == Vue.nopic)
859
+ return
860
+ else {
861
+ if (prop == 'f_overall_path') {
862
+ this.paper.f_overall_imgs.splice(index, 1)
863
+ HostApp.delfile(fileName)
864
+ } else {
865
+ HostApp.delfile(fileName)
866
+ this.paper[prop] = Vue.nopic
867
+ }
868
+ }
869
+ },
870
+ delAudioFile(prop, fileName) {
871
+ if (!fileName)
872
+ return
873
+ else {
874
+ HostApp.delfile(fileName)
875
+ this.paper[prop] = null
876
+ }
877
+ },
878
+ //获取打印用户信息
879
+ getUser() {
880
+ if (this.paper.f_user_name == undefined)
881
+ this.paper.f_user_name = ''
882
+ this.printContent.push({
883
+ type: 3,
884
+ text: '用户名称:' + this.paper.f_user_name,
885
+ fontsize: 2,
886
+ isbold: false,
887
+ align: 'left'
888
+ })
889
+ if (this.paper.f_userinfo_code == undefined)
890
+ this.paper.f_userinfo_code = ''
891
+ this.printContent.push({
892
+ type: 3,
893
+ text: '用户编号:' + this.paper.f_userinfo_code,
894
+ fontsize: 2,
895
+ isbold: false,
896
+ align: 'left'
897
+ })
898
+ if (this.paper.f_address == undefined)
899
+ this.paper.f_address = ''
900
+ this.printContent.push({type: 3, text: '地址:' + this.paper.f_address, fontsize: 2, isbold: false, align: 'left'})
901
+ if (this.paper.f_user_phone == undefined)
902
+ this.paper.f_user_phone = ''
903
+ this.printContent.push({
904
+ type: 3,
905
+ text: '电话:' + this.paper.f_user_phone,
906
+ fontsize: 2,
907
+ isbold: false,
908
+ align: 'left'
909
+ })
910
+ },
911
+ verify() {
912
+ let hasError = this.$parent.$parent.verifyUser()
913
+ if (hasError)
914
+ return hasError
915
+ hasError = this.$parent.$parent.verifyDevices()
916
+ if (hasError)
917
+ return hasError
918
+ },
919
+ print() {
920
+ let errString = this.verify()
921
+ if (errString) {
922
+ ////tag
923
+ if (Vue.android)
924
+ this.$showMessage(errString)
925
+ return
926
+ }
927
+ // 文本
928
+ let templatename = '安检结果单'
929
+ if (Vue.config.safecheck != undefined) {
930
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
931
+ if (Vue.config.safecheck.ApproveConfig.templatename != undefined) {
932
+ templatename = Vue.config.safecheck.ApproveConfig.templatename
933
+ }
934
+ }
935
+ }
936
+ let textHead = {type: 3, text: templatename, fontsize: 3, isbold: true, align: 'center'}
937
+ let feedPageHead = {type: 4, value: 2, unit: 'line'}
938
+ let feedPageEnd = {type: 4, value: 4, unit: 'line'}
939
+ this.printContent.push(textHead)
940
+ this.printContent.push(feedPageHead)
941
+ this.getUser()
942
+ this.getDefect()
943
+ this.getCheck()
944
+ this.printContent.push(feedPageEnd)
945
+ let arrstr = JSON.stringify(this.printContent)
946
+ ////tag
947
+ this.$androidUtil.print(arrstr)
948
+ this.$set('printContent', [])
949
+ },
950
+ //打印安检信息
951
+ getCheck() {
952
+ let telephone = '96777'
953
+ if (Vue.config.safecheck != undefined) {
954
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
955
+ if (Vue.config.safecheck.ApproveConfig.checkphone != undefined) {
956
+ telephone = Vue.config.safecheck.ApproveConfig.checkphone
957
+ }
958
+ }
959
+ }
960
+ this.printContent.push({
961
+ type: 3,
962
+ text: '*******************************',
963
+ fontsize: 3,
964
+ isbold: false,
965
+ align: 'center'
966
+ })
967
+ this.printContent.push({type: 3, text: '咨询电话;' + telephone, fontsize: 2, isbold: false, align: 'left'})
968
+ this.printContent.push({type: 3, text: '安检人:' + Vue.user.name, fontsize: 2, isbold: false, align: 'left'})
969
+ this.printContent.push({
970
+ type: 3,
971
+ text: '安检时间:' + this.getNowFormatDate(),
972
+ fontsize: 2,
973
+ isbold: false,
974
+ align: 'left'
975
+ })
976
+ this.printContent.push({type: 3, text: '用户签字:', fontsize: 2, isbold: false, align: 'left'})
977
+ this.printContent.push({type: 4, value: 4, unit: 'line'})
978
+ },
979
+
980
+ getDefect() {
981
+ let showmore = false
982
+ if (Vue.config.safecheck != undefined) {
983
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
984
+ if (Vue.config.safecheck.ApproveConfig.showmore != undefined) {
985
+ showmore = Vue.config.safecheck.ApproveConfig.showmore
986
+ }
987
+ }
988
+ }
989
+
990
+ let backData = this.$parent.$parent.getAllDefect()
991
+ // 对隐患信息进行遍历
992
+ let res = JSON.parse(backData.f_defect_content)
993
+ this.printContent.push({
994
+ type: 3,
995
+ text: '安检结果:' + res.result,
996
+ fontsize: 2,
997
+ isbold: false,
998
+ align: 'left'
999
+ })
1000
+ this.printContent.push({
1001
+ type: 3,
1002
+ text: '*******************************',
1003
+ fontsize: 3,
1004
+ isbold: false,
1005
+ align: 'center'
1006
+ })
1007
+
1008
+
1009
+ if (showmore) {
1010
+ //全部打印
1011
+ for (let dev in this.$parent.$parent.config) {
1012
+ for (let device in backData) {
1013
+ if (device.startsWith("device")) {
1014
+ for (let item in backData[device]) {
1015
+ //遍历结果
1016
+ if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
1017
+ let error = true
1018
+ for (let i in backData[device][item].f_items) {
1019
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
1020
+ error = false
1021
+ }
1022
+ }
1023
+ if (error) {
1024
+ this.printContent.push({
1025
+ type: 3,
1026
+ text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':正常',
1027
+ fontsize: 2,
1028
+ isbold: false,
1029
+ align: 'left'
1030
+ })
1031
+ } else {
1032
+ this.printContent.push({
1033
+ type: 3,
1034
+ text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':有隐患',
1035
+ fontsize: 2,
1036
+ isbold: true,
1037
+ align: 'left'
1038
+ })
1039
+ }
1040
+
1041
+ for (let i in backData[device][item].f_items) {
1042
+ if (backData[device][item].f_items[i].f_item_value != '' && backData[device][item].f_items[i].f_item_value != null) {
1043
+ this.printContent.push({
1044
+ type: 3,
1045
+ text: backData[device][item].f_items[i].f_item_name + backData[device][item].f_items[i].f_item_value,
1046
+ fontsize: 2,
1047
+ isbold: false,
1048
+ align: 'left'
1049
+ })
1050
+ }
1051
+ }
1052
+ this.printContent.push({type: 4, value: 2, unit: 'line'})
1053
+ }
1054
+ }
1055
+ }
1056
+ }
1057
+ }
1058
+
1059
+ for (let dev in this.$parent.$parent.config) {
1060
+ for (let device in backData) {
1061
+ if (device.startsWith("device")) {
1062
+ for (let item in backData[device]) {
1063
+ //遍历结果
1064
+ if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
1065
+ let error = true
1066
+ for (let i in backData[device][item].f_items) {
1067
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
1068
+ error = false
1069
+ }
1070
+ }
1071
+ if (!error) {
1072
+ this.printContent.push({
1073
+ type: 3,
1074
+ text: '隐患:',
1075
+ fontsize: 2,
1076
+ isbold: true,
1077
+ align: 'left'
1078
+ })
1079
+ }
1080
+ }
1081
+ }
1082
+ }
1083
+ }
1084
+ for (let device in backData) {
1085
+ if (device.startsWith("device")) {
1086
+ for (let item in backData[device]) {
1087
+ if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
1088
+ for (let i in backData[device][item].f_items) {
1089
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
1090
+ this.printContent.push({
1091
+ type: 3,
1092
+ text: backData[device][item].f_items[i].f_item_name + ' ' + backData[device][item].f_items[i].f_item_value,
1093
+ fontsize: 2,
1094
+ isbold: true,
1095
+ align: 'left'
1096
+ })
1097
+ }
1098
+ }
1099
+ }
1100
+ }
1101
+ }
1102
+ }
1103
+
1104
+ }
1105
+ } else {
1106
+ for (let dev in this.$parent.$parent.config) {
1107
+ for (let device in backData) {
1108
+ if (device.startsWith("device")) {
1109
+ for (let item in backData[device]) {
1110
+ //遍历结果
1111
+ if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
1112
+ let error = true
1113
+ for (let i in backData[device][item].f_items) {
1114
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
1115
+ error = false
1116
+ }
1117
+ }
1118
+ if (error) {
1119
+ this.printContent.push({
1120
+ type: 3,
1121
+ text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':正常',
1122
+ fontsize: 2,
1123
+ isbold: false,
1124
+ align: 'left'
1125
+ })
1126
+ } else {
1127
+ this.printContent.push({
1128
+ type: 3,
1129
+ text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':有隐患',
1130
+ fontsize: 2,
1131
+ isbold: false,
1132
+ align: 'left'
1133
+ })
1134
+ }
1135
+
1136
+ for (let i in backData[device][item].f_items) {
1137
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
1138
+ this.printContent.push({
1139
+ type: 3,
1140
+ text: '隐患:' + backData[device][item].f_items[i].f_item_name + backData[device][item].f_items[i].f_item_value,
1141
+ fontsize: 2,
1142
+ isbold: false,
1143
+ align: 'left'
1144
+ })
1145
+ }
1146
+ }
1147
+ this.printContent.push({type: 4, value: 2, unit: 'line'})
1148
+ }
1149
+ }
1150
+ }
1151
+ }
1152
+ }
1153
+ }
1154
+ },
1155
+ //获取当前时间
1156
+ getNowFormatDate() {
1157
+ var date = new Date();
1158
+ var seperator1 = "-";
1159
+ var seperator2 = ":";
1160
+ var month = date.getMonth() + 1;
1161
+ var strDate = date.getDate();
1162
+ if (month >= 1 && month <= 9) {
1163
+ month = "0" + month;
1164
+ }
1165
+ if (strDate >= 0 && strDate <= 9) {
1166
+ strDate = "0" + strDate;
1167
+ }
1168
+ var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1169
+ + " " + date.getHours() + seperator2 + date.getMinutes()
1170
+ + seperator2 + date.getSeconds();
1171
+ return currentdate;
1172
+ },
1173
+ readRepair() {
1174
+ let url = this.$androidUtil.getProxyUrl()
1175
+ let gen = getRepairs(this, url)
1176
+ return co(gen)
1177
+ },
1178
+ showToRepair() {
1179
+ let res = this.hasDefect()
1180
+ ////tag
1181
+ ////tag
1182
+ if (res == '正常') {
1183
+ this.showrepair = false
1184
+ } else {
1185
+ this.showrepair = true
1186
+ this.assignObj()
1187
+ }
1188
+ this.showCheckToRepair = !this.showCheckToRepair
1189
+ },
1190
+ // 选中部门
1191
+ reres(val) {
1192
+ if (val.res == undefined) {
1193
+ return
1194
+ }
1195
+ this.$parent.$parent.model.serviceacitivity[0].f_meetunit = val.res
1196
+ this.$parent.$parent.model.f_meetunit = val.res
1197
+ this.$parent.$parent.model.f_orgstr = val.resids
1198
+ var arr = val.res.split('.')
1199
+ this.$parent.$parent.model.f_outlets = arr[arr.length - 1]
1200
+ this.$parent.$parent.model.serviceacitivity[0].f_reciever = val.resids
1201
+ },
1202
+ assignObj() {
1203
+ this.$parent.$parent.model.f_contact_phone = this.paper.f_user_phone
1204
+ this.$parent.$parent.model.f_user_name = this.paper.f_user_name
1205
+ this.$parent.$parent.model.f_address = this.paper.f_address
1206
+ this.$parent.$parent.model.f_user_type = this.paper.f_check_type
1207
+ this.$parent.$parent.model.f_street = this.paper.f_street
1208
+ this.$parent.$parent.model.f_residential_area = this.paper.f_residential_area
1209
+ this.$parent.$parent.model.f_building = this.paper.f_building
1210
+ this.$parent.$parent.model.f_unit = this.paper.f_unit
1211
+ this.$parent.$parent.model.f_floor = this.paper.f_floor
1212
+ this.$parent.$parent.model.f_room = this.paper.f_room
1213
+ this.$parent.$parent.model.f_floor = this.paper.f_floor
1214
+ this.$parent.$parent.model.f_userinfo_id = this.paper.f_userinfoid
1215
+ this.$parent.$parent.model.f_userinfo_code = this.paper.f_userinfo_code
1216
+ },
1217
+ hasDefect() {
1218
+ let checkResult = '正常'
1219
+ let codata = JSON.parse(JSON.stringify(this.paper))
1220
+ for (let device in this.paper) {
1221
+ if (device.startsWith("device")) {
1222
+ for (let item in this.paper[device]) {
1223
+ for (let i in this.paper[device][item].f_items) {
1224
+ let items = this.paper[device][item].f_items[i]
1225
+ ////tag
1226
+ if (items.f_is_defect == true || items.f_is_defect == 'true') {
1227
+ checkResult = '有隐患'
1228
+ }
1229
+ }
1230
+ }
1231
+ }
1232
+ }
1233
+ return checkResult
1234
+ },
1235
+ uploadPaper() {
1236
+ if (this.showrepair) {
1237
+ ////tag
1238
+ ////tag
1239
+ ////tag
1240
+ ////tag
1241
+
1242
+ if (this.meading == '转维修员' && (this.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || this.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)) {
1243
+ this.$showMessage("请选择维修员!")
1244
+ return
1245
+ }
1246
+ if (this.$parent.$parent.meading == '转站点' && (this.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || this.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)) {
1247
+ this.$showMessage("请选择站点!")
1248
+ return
1249
+ }
1250
+ if (this.$parent.$parent.model.f_repairtype == '') {
1251
+ this.$showMessage("请选择报修类型!")
1252
+ return
1253
+ }
1254
+ this.$parent.$parent.isToRepair = true
1255
+ this.$parent.$parent.uploadCheckPaper()
1256
+ // this.$parent.$parent.savePaper(false).then((res) => {
1257
+ // ////tag
1258
+ // if(res != true){
1259
+ // ////tag
1260
+ // return
1261
+ // }else{
1262
+ // this.$parent.$parent.todo()
1263
+ // }
1264
+ // })
1265
+ } else {
1266
+ this.$parent.$parent.undo()
1267
+ }
1268
+
1269
+ },
1270
+ //确认安检转维修
1271
+
1272
+ undo() {
1273
+ this.showCheckToRepair = !this.showCheckToRepair
1274
+ this.$parent.$parent.model.serviceacitivity[0].f_reciever = ''
1275
+ this.$parent.$parent.model.serviceacitivity[0].f_meetunit = ''
1276
+ this.$parent.$parent.model.f_repairtype = ''
1277
+ this.meading = '转站点'
1278
+ },
1279
+ //取消拉黑
1280
+ async deletebacklist() {
1281
+ if (!this.deletecause) {
1282
+ this.$showMessage("请填写取消拉黑原因!")
1283
+ return
1284
+ }
1285
+ this.paper.f_blocking_cause = this.deletecause
1286
+ ////tag)
1287
+ let http = new HttpResetClass()
1288
+ ////tag
1289
+ let res1 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
1290
+ data: {
1291
+ items: "version",
1292
+ tablename: "t_userinfo",
1293
+ condition: "f_userinfo_id=" + this.paper.f_userinfoid,
1294
+ orderitem: "f_userinfo_id"
1295
+ }
1296
+ }, {resolveMsg: null, rejectMsg: null})
1297
+ ////tag)
1298
+ ////tag
1299
+ let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/backlistOperate`, {
1300
+ data: {
1301
+ "f_operat_type": "取消拉黑",
1302
+ "f_state": "有效",
1303
+ "f_user_name": this.paper.f_user_name,
1304
+ "f_comments": this.paper.f_delete_cause,
1305
+ "f_operator": Vue.user.name,
1306
+ "f_operatorid": Vue.user.id,
1307
+ "f_orgid": Vue.user.orgid,
1308
+ "f_orgname": Vue.user.orgs,
1309
+ "f_depid": Vue.user.depids,
1310
+ "f_depname": Vue.user.deps,
1311
+ "f_describe": `${Vue.user.name}对用户${this.paper.f_user_name}进行取消拉黑`,
1312
+ "f_userinfo_id": {
1313
+ "f_userinfo_id": this.paper.f_userinfoid,
1314
+ "f_user_state": "正常",
1315
+ "version": res1.data[0].version
1316
+ },
1317
+ "f_limit_times":"",
1318
+ "f_limit_value":""
1319
+ }
1320
+ }, {resolveMsg: null, rejectMsg: null})
1321
+
1322
+ ////tag)
1323
+ if (res2.data.code == 200) {
1324
+ this.showmodelthree = false
1325
+ this.deleteenabled = true
1326
+ this.paper.f_blacklist = "否"
1327
+ this.$showMessage("取消该用户限制购气成功!")
1328
+ } else {
1329
+ this.$showMessage("网络异常,请稍后再试!")
1330
+ }
1331
+ },
1332
+ async backlist() {
1333
+ if (!this.cause) {
1334
+ this.$showMessage("请填写拉黑原因!")
1335
+ return
1336
+ }
1337
+ this.paper.f_blocking_cause = this.cause
1338
+
1339
+ let http = new HttpResetClass()
1340
+
1341
+ // let res1 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
1342
+ // data: {
1343
+ // items: "version",
1344
+ // tablename: "t_userinfo",
1345
+ // condition: "f_userinfo_id=" + this.plan.f_userinfoid,
1346
+ // orderitem: "f_userinfo_id"
1347
+ // }
1348
+ // }, {resolveMsg: null, rejectMsg: null})
1349
+ // let url = self.newConfig == '是' ? '/safecheck/rs/safe_vue' : '/safecheck/rs/vue'
1350
+ // let res = await new HttpResetClass().load('post', 'rs/sql/safe_singleTable_OrderBy', {
1351
+ // data: {
1352
+ // items: 'f_dir',
1353
+ // tablename: 't_organization',
1354
+ // condition: `id = '${Vue.user.orgid}'`,
1355
+ // orderitem: 'id'
1356
+ // }
1357
+ // })
1358
+ // let res3 = await new HttpResetClass().load('GET', `${url}/ApproveConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
1359
+ // resolveMsg: '获取居民配置项成功!',
1360
+ // rejectMsg: '获取居民配置项出错!'
1361
+ // })
1362
+ // Vue.config.safecheck.ApproveConfig = res3.data
1363
+ let limit_times=1
1364
+ let limit_value=20
1365
+ let limit_amount=30
1366
+ console.log(Vue.config)
1367
+ if(Vue.config.safecheck ){
1368
+ if (Vue.config.safecheck.ApproveConfig.limit_times ){
1369
+ limit_times = Vue.config.safecheck.ApproveConfig.limit_times
1370
+ }
1371
+ if (Vue.config.safecheck.ApproveConfig.userValueQ && Vue.config.safecheck.ApproveConfig.noUserValueQ){
1372
+ if (this.plan.f_user_type == '民用'){
1373
+ limit_value = Vue.config.safecheck.ApproveConfig.userValueQ
1374
+ }else {
1375
+ limit_value = Vue.config.safecheck.ApproveConfig.noUserValueQ
1376
+ }
1377
+ }
1378
+ if (Vue.config.safecheck.ApproveConfig.userValueJ && Vue.config.safecheck.ApproveConfig.noUserValueJ){
1379
+ if (this.plan.f_user_type == '民用'){
1380
+ limit_amount = Vue.config.safecheck.ApproveConfig.userValueJ
1381
+ }else {
1382
+ limit_amount = Vue.config.safecheck.ApproveConfig.noUserValueJ
1383
+ }
1384
+ }
1385
+ }
1386
+
1387
+ let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/backlistOperate`, {
1388
+ data: {
1389
+ data:this.$parent.$parent.data,
1390
+ item:this.$parent.$parent.data.item,
1391
+ "f_operat_type": "拉黑",
1392
+ "f_state": "有效",
1393
+ "f_user_name": this.plan.f_user_name,
1394
+ "f_comments": this.paper.f_blocking_cause,
1395
+ "f_operator": Vue.user.name,
1396
+ "f_operate_date":Util.toStandardTimeString(),
1397
+ "f_operatorid": Vue.user.id,
1398
+ "f_orgid": Vue.user.orgid,
1399
+ "f_orgname": Vue.user.orgs,
1400
+ "f_depid": Vue.user.depids,
1401
+ "f_depname": Vue.user.deps,
1402
+ "f_describe": `${Vue.user.name}对用户${this.plan.f_user_name}进行拉黑`,
1403
+ "f_userinfo_id": {
1404
+ "f_userinfo_id": this.plan.f_userinfoid
1405
+ },
1406
+ "f_limit_times":limit_times,
1407
+ "f_limit_value":limit_value,
1408
+ "f_limit_amount":limit_amount
1409
+ }
1410
+ }, {resolveMsg: null, rejectMsg: null})
1411
+
1412
+ ////tag)
1413
+ if (res2.data.code == 200) {
1414
+ this.showmodel = false
1415
+ this.enabled = true
1416
+ this.paper.f_blacklist = "是"
1417
+ this.$showMessage("将该用户限制购气成功!")
1418
+ } else if (res2.data.msg == '数据增加重复') {
1419
+ this.showmodel = false
1420
+ this.enabled = true
1421
+ this.$showMessage("该用户已被限制购气,请勿重复提交!")
1422
+ } else {
1423
+ this.$showMessage("网络异常,请稍后再试!")
1424
+ }
1425
+ },
1426
+ cancel() {
1427
+ this.backlistisselect = false
1428
+ this.showmodel = false
1429
+ },
1430
+ deletecancel() {
1431
+ this.deletebacklistisselect = false
1432
+ this.showmodelthree = false
1433
+ },
1434
+ repiarmancg(val) {
1435
+ if (val) {
1436
+ ////tag
1437
+ this.$parent.$parent.model.serviceacitivity[0].f_reciever = val.name
1438
+ let http1 = new HttpResetClass()
1439
+ http1.load('POST', `${this.Url}/rs/sql/tel_singleTable_OrderBy`, {
1440
+ data: {
1441
+ items: 'f_user_telephone',
1442
+ tablename: 't_user',
1443
+ condition: `name = '${val}'`,
1444
+ orderitem: 'id'
1445
+ }
1446
+ }, {resolveMsg: null, rejectMsg: null}).then((ress) => {
1447
+ this.$parent.$parent.model.f_repairman_phone = ress.data[0].f_user_telephone
1448
+ })
1449
+ }
1450
+ },
1451
+ },
1452
+ async ready() {
1453
+ this.newConfig = this.$appdata.getSingleValue('配置中心获取文件') ? this.$appdata.getSingleValue('配置中心获取文件') : '否';
1454
+ this.getEmp()
1455
+ this.isRecodr = this.$appdata.getSingleValue('无限制录音')
1456
+ if(this.$appdata.getSingleValue('安检时显示拉黑')){
1457
+ this.showbacklist = this.$appdata.getSingleValue('安检时显示拉黑');
1458
+ }
1459
+ // await this.isoverDate()
1460
+ ////tag
1461
+ ////tag
1462
+ ////tag)
1463
+ ////tag))
1464
+ if (this.$parent.$parent.role == 'repair') {
1465
+ this.$set('style__', 'divmask')
1466
+ this.$set('style_view_', '')
1467
+ } else if (this.$parent.$parent.role == 'view' || this.$parent.$parent.item.f_upload_state == '已传') {
1468
+ this.$set('style__', 'divmask')
1469
+ this.$set('style_view_', 'divmask')
1470
+ ////tag
1471
+ } else {
1472
+ this.$set('style__', '')
1473
+ this.$set('style_view_', '')
1474
+ }
1475
+
1476
+ for (let item of this.radios) {
1477
+ if (this.paper.f_client_evaluation == item.label) {
1478
+ item.isChecked = true;
1479
+ }
1480
+ }
1481
+ if (!this.paper.f_notified_path)
1482
+ this.$set('paper.f_notified_path', Vue.nopic)
1483
+ if (!this.paper.f_sign_path)
1484
+ this.$set('paper.f_sign_path', Vue.nopic)
1485
+ if (!this.paper.f_sign_path)
1486
+ this.$set('paper.f_sign_contract', Vue.nopic)
1487
+ ////tag
1488
+ if (!this.paper.f_overall_imgs) {
1489
+ let imgs = []
1490
+ // imgs.push({f_overall_path:Vue.nopic})
1491
+ this.$set('paper.f_overall_imgs', imgs)
1492
+ ////tag
1493
+ }
1494
+ if (!this.paper.f_overall2_path)
1495
+ this.$set('paper.f_overall2_path', Vue.nopic)
1496
+
1497
+ this.userid = this.role == 'view' ? this.$login.f.id : Vue.user.id
1498
+ if (Vue.config.safecheck != undefined) {
1499
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
1500
+ if (Vue.config.safecheck.ApproveConfig.safeCheckToRepair != undefined) {
1501
+ this.safeCheckToRepair = Vue.config.safecheck.ApproveConfig.safeCheckToRepair
1502
+ }
1503
+ }
1504
+ }
1505
+ let device = this.$parent.$parent.data
1506
+ for (const deviceitem in device) {
1507
+ if (deviceitem.startsWith('device')){
1508
+ //tag)
1509
+ if(device[deviceitem].length == 0){
1510
+ continue
1511
+ }
1512
+ let items = device[deviceitem][0].f_items
1513
+ let deviceType = device[deviceitem][0].f_device_type
1514
+ for (let i = 0; i < items.length; i++) {
1515
+ if (items[i].f_is_defect){
1516
+ let reason = items[i].f_item_name+":"
1517
+ if (items[i].type === 'selector' || items[i].type === 'radio' || items[i].type === 'checkbox'){
1518
+ for (let j = 0; j < items[i].f_item_value.length; j++) {
1519
+ if (j+1 === items[i].f_item_value.length){
1520
+ reason += items[i].f_item_value[j]
1521
+ }else{
1522
+ reason += items[i].f_item_value[j] + ","
1523
+ }
1524
+ }
1525
+ }else{
1526
+ reason += items[i].f_item_value
1527
+ }
1528
+ if (items[i].f_path){
1529
+ this.defectImgs.push(items[i].f_path)
1530
+ }
1531
+ if (items[i].f_p1_path){
1532
+ this.defectImgs.push(items[i].f_p1_path)
1533
+ }
1534
+ if (items[i].f_p2_path){
1535
+ this.defectImgs.push(items[i].f_p2_path)
1536
+ }
1537
+ if (items[i].f_p3_path){
1538
+ this.defectImgs.push(items[i].f_p3_path)
1539
+ }
1540
+ if (items[i].tooltip){
1541
+ this.defectToolTip.push(items[i].tooltip)
1542
+ }
1543
+ this.defectReason.push({device:deviceType,deviceitem:reason})
1544
+ }else if(items[i].type === 'errorstring' && items[i].f_item_value ){
1545
+ let reason = items[i].f_item_name+":" + items[i].f_item_value
1546
+ this.defectReason.push({device:deviceType,deviceitem:reason})
1547
+ }
1548
+
1549
+ }
1550
+ }
1551
+ }
1552
+ ////tag
1553
+ ////tag
1554
+ //tag
1555
+ ////tag
1556
+ //tag)
1557
+ //tag)
1558
+ //tag)
1559
+ ////tag
1560
+ ////tag
1561
+ ////tag
1562
+ },
1563
+ watch: {
1564
+ '$parent.$parent.isUpload'(val) {
1565
+ ////tag
1566
+ },
1567
+ 'meading'(val) {
1568
+ ////tag
1569
+ this.$parent.$parent.meading = val
1570
+ },
1571
+ 'backlistisselect'(val) {
1572
+ if (val == true) {
1573
+ this.showmodel = true
1574
+ this.deletebacklistisselect=false
1575
+ }
1576
+ },
1577
+ 'backlistisselectTY'(val) {
1578
+ if (val == true) {
1579
+ this.showTYModel = true
1580
+ }
1581
+ },
1582
+ 'deletebacklistisselect'(val) {
1583
+ if (val == true) {
1584
+ this.showmodelthree = true
1585
+ this.backlistisselect=false
1586
+ }
1587
+ },
1588
+ 'isRecodr'(val) {
1589
+ if (val == 'false' || val == undefined || val == null || val == '' || val == 'undefined') {
1590
+ this.isRecodr = "false";
1591
+ }
1592
+ }
1593
+ }
1594
+ }
1595
+ </script>
1596
+ <style scoped>
1597
+ .panel-self{
1598
+ border-radius: 5px;
1599
+ border:1px solid #c5e1f7;
1600
+ background-color: #F2F6FA;
1601
+ }
1602
+ .text-left{
1603
+ text-align:left;
1604
+ }
1605
+ .font{
1606
+ font: 15px PingFang-SC-Medium;
1607
+ color: #333333;
1608
+ }
1609
+ .showIi{
1610
+ font: 14px PingFang-SC-Medium;
1611
+ color: #666666;
1612
+ }
1613
+ .info{
1614
+ margin-top: 15px;
1615
+ border-radius: 5px;
1616
+ background-color: #f3faff;
1617
+ }
1618
+ .btn-photo{
1619
+ border: 0;
1620
+ border-radius: 7px;
1621
+ background-color: #7dc1f4;
1622
+ font: 15px PingFang-SC-Bold;
1623
+ height: 20%;
1624
+ }
1625
+ .div-photo{
1626
+ width: auto;
1627
+ height: auto;
1628
+ /* margin-top: 10px; */
1629
+ position: absolute;
1630
+ bottom: 10px;
1631
+ right: 10px;
1632
+ }
1633
+ .btn-voice{
1634
+ border-radius: 7px;
1635
+ border: 1px solid #dedede;
1636
+ background-color: #f5fbff;
1637
+ font: 15px PingFang-SC-Bold;
1638
+ color: #499edf;
1639
+ }
1640
+ .save-btn{
1641
+ width: 25%;
1642
+ background-color:#499edf;
1643
+ border-radius: 6px;
1644
+ color: #FFFFFF;
1645
+ font: 15px PingFang-SC-Bold;
1646
+ }
1647
+ .upload-btn{
1648
+ width: 25%;
1649
+ background-color:#ffffff;
1650
+ border: 1px solid #499edf;
1651
+ border-radius: 6px;
1652
+ color: #499edf;
1653
+ font: 15px PingFang-SC-Bold;
1654
+ }
1655
+ .repair-btn{
1656
+ width: 25%;
1657
+ border: 1px solid #499edf;
1658
+ border-radius: 6px;
1659
+ font: 15px PingFang-SC-Bold;
1660
+ }
1661
+ #el_ca_tx{
1662
+ width: 100%;
1663
+ margin: 5px;
1664
+ }
1665
+ #el_ca_txt{
1666
+ width: 100%;
1667
+ margin: 5px;
1668
+ }
1669
+ </style>