safecheck-client 3.0.35-60 → 3.0.35-62

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