telephone-clients 3.0.104-10 → 3.0.104-100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/package.json +3 -3
  2. package/src/App.vue +54 -54
  3. package/src/components/android/ImgArea.vue +80 -0
  4. package/src/components/guoxin/Console.vue +42 -14
  5. package/src/components/guoxin/call.state.api.js +3 -1
  6. package/src/components/pc/ComplainWork.vue +3 -0
  7. package/src/components/pc/RecordListLeft.vue +80 -10
  8. package/src/components/pc/RepairsWork.vue +33 -3
  9. package/src/components/pc/RoleSelector.vue +7 -1
  10. package/src/components/pc/Seekwork.vue +3 -0
  11. package/src/components/pc/SiteSend.vue +38 -1
  12. package/src/components/pc/TelLossList.vue +20 -3
  13. package/src/components/pc/WorkHistory.vue +1 -1
  14. package/src/components/pc/WorkList.vue +4 -3
  15. package/src/components/pc/WorkListAllNew.vue +16 -8
  16. package/src/components/pc/WorkListNew.vue +722 -712
  17. package/src/components/sendsingle/onlinequeryuser.vue +1 -1
  18. package/src/components/telcount/TelByOrderMan.vue +22 -4
  19. package/src/components/telreport/RepairsDetailsReport.vue +2 -2
  20. package/src/components/telreport/TrafficClassificationReport.vue +13 -13
  21. package/src/components/telreport/Trafficassess.vue +2 -2
  22. package/src/components/temp/HandplanInfo.vue +5 -1
  23. package/src/components/temp/InstructInfo.vue +1 -1
  24. package/src/components/temp/SecuritycheckInfo.vue +14 -0
  25. package/src/components/workorder/RepairDetails.vue +8 -2
  26. package/src/components/workorder/RepairInfo.vue +3 -3
  27. package/src/components/workorder/RepairPaperAndroid.vue +351 -0
  28. package/src/components/workorder/ServiceOnlineQuery.vue +306 -0
  29. package/src/components/workorder/TemporarySingle.vue +346 -302
  30. package/src/filiale/furuike/pc/QueryVisitHistory.vue +14 -1
  31. package/src/filiale/furuike/pc/WorkHistory.vue +576 -576
  32. package/src/filiale/hanzhong/telephone.js +1 -1
  33. package/src/filiale/jiaocheng/android/createQRcode.vue +204 -0
  34. package/src/filiale/jiaocheng/android/onlineBuyGas.vue +637 -0
  35. package/src/filiale/jiaocheng/telephone.js +8 -0
  36. package/src/filiale/jiaocheng/telephoneAndroid.js +15 -0
  37. package/src/filiale/lixian/onlineChangeMeter.vue +481 -0
  38. package/src/filiale/lixian/onlineoperation.vue +606 -0
  39. package/src/filiale/lixian/onlinequeryuser.vue +509 -0
  40. package/src/filiale/lixian/telephoneAndroid.js +23 -0
  41. package/src/filiale/qianneng/android/AppInstallationMaterial.vue +880 -845
  42. package/src/filiale/qianneng/android/TemporarySingle.vue +537 -537
  43. package/src/filiale/qianneng/pc/MaterialDetailed.vue +260 -260
  44. package/src/filiale/qianneng/pc/NewRepairPaper.vue +467 -467
  45. package/src/filiale/qianneng/pc/RepairsWork.vue +992 -992
  46. package/src/filiale/qianneng/pc/WorkListAllNew.vue +757 -757
  47. package/src/filiale/qianneng/pc/changetable.vue +273 -273
  48. package/src/filiale/qianneng/telephone.js +22 -22
  49. package/src/filiale/rizhao/pc/IgnitionVentilation.vue +0 -1
  50. package/src/filiale/rizhao/pc/RepairsWork.vue +0 -1
  51. package/src/filiale/rizhao/pc/WorkListAllNew.vue +11 -5
  52. package/src/filiale/rizhao/telephone.js +1 -1
  53. package/src/filiale/shanxian/android/RepairFirstV.vue +3 -0
  54. package/src/filiale/shanxian/pc/TelFindUser.vue +310 -0
  55. package/src/filiale/shanxian/pc/WorkList.vue +2 -2
  56. package/src/filiale/shanxian/telephone.js +1 -0
  57. package/src/filiale/shexian/android/AddMyTask.vue +7 -0
  58. package/src/filiale/shexian/android/RepairFirstV.vue +5 -0
  59. package/src/filiale/shexian/android/RepairInfo.vue +1 -0
  60. package/src/filiale/shexian/pc/TelAgentVoiceReport.vue +9 -9
  61. package/src/filiale/shexian/pc/TelByRepairType.vue +3 -3
  62. package/src/filiale/shexian/pc/WorkList.vue +4 -1
  63. package/src/filiale/shexian/pc/WorkListAllNew.vue +14 -1
  64. package/src/filiale/tongchuan/android/RepairDetails.vue +623 -0
  65. package/src/filiale/tongchuan/pc/AnalysisMain.vue +7 -7
  66. package/src/filiale/tongchuan/pc/RepairsWork.vue +8 -0
  67. package/src/filiale/tongchuan/pc/UserWork.vue +8 -0
  68. package/src/filiale/tongchuan/telephoneAndroid.js +1 -0
  69. package/src/filiale/wenxi/android/FaultAll.vue +710 -0
  70. package/src/filiale/wenxi/android/PhoneUpUserinfo.vue +73 -162
  71. package/src/filiale/wenxi/android/RepairOrderV.vue +1 -1
  72. package/src/filiale/wenxi/android/ZHihuanFirst.vue +149 -129
  73. package/src/filiale/wenxi/pc/DistributeWork.vue +1 -1
  74. package/src/filiale/wenxi/pc/RecordListLeft.vue +272 -0
  75. package/src/filiale/wenxi/pc/RepairsWork.vue +143 -64
  76. package/src/filiale/wenxi/pc/TelAgentVoiceReport.vue +290 -0
  77. package/src/filiale/wenxi/pc/TelLossList.vue +272 -0
  78. package/src/filiale/wenxi/telephone.js +4 -0
  79. package/src/filiale/wenxi/telephoneAndroid.js +2 -1
  80. package/src/filiale/wuhai/telephone.js +1 -1
  81. package/src/filiale/yuncheng/android/LdapHelper.js +75 -0
  82. package/src/filiale/yuncheng/android/Outlay.vue +201 -0
  83. package/src/filiale/yuncheng/android/RepairInfo.vue +163 -0
  84. package/src/filiale/yuncheng/android/RepairOrderV.vue +1483 -0
  85. package/src/filiale/yuncheng/android/RepairUserInfo.vue +390 -0
  86. package/src/filiale/yuncheng/android/RightTree.vue +218 -0
  87. package/src/filiale/yuncheng/android/TemporarySingle.vue +522 -0
  88. package/src/filiale/yuncheng/android/ZHihuanFirst.vue +541 -0
  89. package/src/filiale/yuncheng/pc/DistributeWork.vue +199 -0
  90. package/src/filiale/yuncheng/pc/GasWork.vue +773 -0
  91. package/src/filiale/yuncheng/pc/TelFindUser.vue +31 -11
  92. package/src/filiale/yuncheng/pc/WorkList.vue +823 -0
  93. package/src/filiale/yuncheng/pc/WorkListAllNew.vue +781 -0
  94. package/src/filiale/yuncheng/telephone.js +5 -1
  95. package/src/filiale/yuncheng/telephoneAndroid.js +19 -0
  96. package/src/filiale/zhongyi/pc/WorkListAllNew.vue +2 -1
  97. package/src/main.js +1 -1
  98. package/src/telephone-android.js +7 -0
  99. package/src/telephone.js +1 -1
@@ -0,0 +1,623 @@
1
+ <template>
2
+ <div class="select-overspread repair-bg auto" style="padding-bottom:5px;">
3
+ <div class="bq-parent" v-if="shutype == 'heng'">
4
+ <blockquote class="blockquote">
5
+ <p><span>{{repairitem.header}}</span><a @click="mute()" style="float:right" href="javascript:void(0)" class="repair-mute-class"><img src="../../../assets/novoice.png" width="25px;" alt=""><span style="margin-left:10px;color: #304A66">关闭声音</span></a></p>
6
+ </blockquote>
7
+ </div>
8
+ <div class="panel panel-default auto repair-info-content">
9
+ <div class="panel-body">
10
+ <!-- 维修项内容 -->
11
+ <div class="auto repair-info-content compatible">
12
+ <div class="row auto">
13
+ <div class="{{shuclass}}" v-if="!show && Detail.f_remarks == '设备'">
14
+ <button type="button" name="button" class="btn btn-primary" @click='adddetails()' :disabled="issee">增加</button>
15
+ </div>
16
+ <div class="{{shuclass}}" v-if="!show && Detail.f_remarks == '设备' && candelete">
17
+ <button type="button" name="button" class="btn btn-primary" @click='deletedetails()' :disabled="issee">删除</button>
18
+ </div>
19
+ <div class="{{service.f_source == '安检'?shuclass1:shuclass}}" v-for="row in Detail.details">
20
+ <label :class="[row.f_project.length > 6 ? 'fivelabel' : 'lb-left text-justify', service.f_source == '安检'?'tel_del_lable':'']" @click='getCheckImg(row.f_defect_id)' :style="gettextstyle(row.f_project) == 'false'? textstyle:''" v-if="((row.type != 'checkbox') && (ischecked == '有')) || show">{{row.f_project}}</label>
21
+ <span v-show="ischecked == '有'" v-if="show" style="font-weight:bold">{{row.f_content}}</span>
22
+ <datepicker v-show="ischecked == '有'"
23
+ placeholder="请选择时间"
24
+ :value.sync="row.f_content"
25
+ v-model="row.f_content"
26
+ :format="'yyyy-MM-dd'"
27
+ v-if="!show && row.type == 'date'"
28
+ :disabled="(!(ischecked == '有')) && issee"
29
+ :readonly="true"
30
+ ></datepicker>
31
+ <input v-show="ischecked == '有'" type="text" class="form-control" v-model="row.f_content" v-if="!show && row.type == 'string' && row.f_project.indexOf('表号') == -1" :disabled="(!(ischecked == '有')) || issee" :readonly="issee">
32
+ <input v-show="ischecked == '有'" type="text" class="form-control" v-model="row.f_content" v-if="!show && row.type == 'string' && row.f_project.indexOf('表号') != -1 " :disabled="(!(ischecked == '有')) || issee" :readonly="issee" >
33
+ <button v-show="ischecked == '有'" type="button" name="button" class="btn btn-primary" @click="scan(row.f_project)" v-if="!show && row.f_project.indexOf('表号') != -1 ">扫码</button>
34
+ <v-select v-show="ischecked == '有'"
35
+ :value.sync="row.f_content"
36
+ :options='getOptions(row.f_project)'
37
+ placeholder='请选择'
38
+ :disabled="(!(ischecked == '有')) || issee" close-on-select
39
+ :value-single="true" v-if="!show && row.type == 'selector' && row.f_project != '气表品牌' && row.f_project != '气价名称' && row.f_project != '换表类型' && row.f_project != '换表原因'"
40
+ ></v-select>
41
+
42
+ <div style="clear: both" v-if="service.f_source == '安检' && row.f_content=='已处理'">
43
+ <div class="form-group col-sm-12" style="display: flex;flex-wrap: wrap">
44
+ <div class="auto" style="margin:1px">
45
+ <div class="panel">
46
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 150px;height: 150px;position: relative">
47
+ <div class="col-xs-6" style="height: 160px;width:160px;overflow: scroll;top: 1px">
48
+ <div class="col-sm-4" v-show="row.f_first_repairimg">
49
+ <img-self :src="row.f_first_repairimg" width="140" height="140"></img-self>
50
+ </div>
51
+ <div class="col-sm-4" v-show="!row.f_first_repairimg" @click="takePic($index, row.f_project,1)">
52
+ <img src="../../../assets/tackpic.png" :alt="点击拍摄照片" width="140" height="140"/>
53
+ </div>
54
+ <img v-show="row.f_first_repairimg" src="../../../assets/remove.png" :class="style__"
55
+ @click="delfile($index, row.f_first_repairimg,1)"
56
+ style="width: 40px;height: 40px;position: absolute;left:110px;top:110px"/>
57
+ </div>
58
+ </div>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ </div>
63
+ <div v-show="row.f_defect_remark" class="{{shuclass}}" >
64
+ <div style="margin-left: 5px;font-weight: bolder;">
65
+ 备&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注: {{row.f_defect_remark}}
66
+ </div>
67
+ </div>
68
+ <v-select
69
+ v-show="ischecked == '有'"
70
+ :value.sync="row.f_content"
71
+ :options='getOptions(row.f_project)'
72
+ @change="getgasmodel" placeholder='请选择'
73
+ :disabled="(!(ischecked == '有')) || issee" close-on-select
74
+ :value-single="true" v-if="!show && row.type == 'selector' && row.f_project == '气表品牌'"
75
+ ></v-select>
76
+ <v-select
77
+ v-show="ischecked == '有'"
78
+ :value.sync="row.f_content"
79
+ :options='pricelists'
80
+ @change="getgasmodel" placeholder='请选择'
81
+ :disabled="(!(ischecked == '有')) || issee" close-on-select
82
+ :value-single="true" v-if="!show && row.type == 'selector' && row.f_project == '气价名称'"
83
+ ></v-select>
84
+
85
+ <v-select
86
+ v-show="ischecked == '有'"
87
+ :value.sync="row.f_content"
88
+ :options='getOptions(row.f_project)'
89
+ @change="getReasonChangeTable(row.f_content)" placeholder='请选择'
90
+ :disabled="(!(ischecked == '有')) || issee" close-on-select
91
+ :value-single="true" v-if="!show && row.type == 'selector' && row.f_project == '换表类型'"
92
+ ></v-select>
93
+ <v-select
94
+ v-show="ischecked == '有'"
95
+ :value.sync="row.f_content"
96
+ :options='reasonChangeTableOptions'
97
+ placeholder='请选择'
98
+ :disabled="(!(ischecked == '有')) || issee" close-on-select
99
+ :value-single="true" v-if="!show && row.type == 'selector' && row.f_project == '换表原因'"
100
+ ></v-select>
101
+
102
+ <div v-show="ischecked == '有'" class="form-control" v-if="!show && row.type == 'radio'" style="border-color: white;align-self: center" >
103
+ <div class="col-xs-6 col-sm-6 col-md-6">
104
+ <input type="radio" id="one" value="是" v-model="row.f_content" :disabled="(!(ischecked == '有')) || issee" @click="getradios(row.f_project,'是')" >
105
+ <span for="one">是</span>
106
+ </div>
107
+ <div class="col-xs-6 col-sm-6 col-md-6">
108
+ <input type="radio" id="two" value="否" v-model="row.f_content" :disabled="(!(ischecked == '有')) || issee" @click="getradios(row.f_project,'否')">
109
+ <span for="two">否</span>
110
+ </div>
111
+ </div>
112
+ <div class="auto" v-if="!show && row.type == 'checkbox' ">
113
+ <input class="magic-checkbox" type="checkbox" id="shebeicheckbox"
114
+ :checked="row.f_content == '有'"
115
+ @click="switchDetails(row.f_project, $event)" :disabled="issee"/>
116
+ <label for="shebeicheckbox" style="width:150px;padding-bottom: 10px">{{row.f_project}}</label>
117
+ </div>
118
+ <div class="auto" v-if="row.type == 'devices'">
119
+ <button type="button" name="button" class="btn btn-primary" @click='goToPhoneUpDetail()' :disabled="issee">维护</button>
120
+ </div>
121
+ <div class="auto" v-if="row.type == 'information'">
122
+ <button type="button" name="button" class="btn btn-primary" @click='goToPhoneUpDetailPlus()' :disabled="issee">维护</button>
123
+ </div>
124
+ <input v-show="ischecked == '有'" type="text" class="form-control" v-model="row.f_content" v-if="!show && row.type == 'number'" onkeyup="value=value.replace(/[^\d\.]/g,'')" :readonly="issee">
125
+ <img-area v-show="ischecked == '有'" :model="Detail.imgs" :sutitle="row.f_project" v-if="row.type == 'picture'" :disabled="issee"></img-area>
126
+ </div>
127
+ </div>
128
+ </div>
129
+ </div>
130
+ </div>
131
+ <modal :show.sync="showModal" :backdrop="false">
132
+ <div slot="modal-header" class="modal-header">
133
+ <h4 class="modal-title">
134
+ 隐患照片
135
+ </h4>
136
+ </div>
137
+ <div slot="modal-body" class="modal-body">
138
+ <div class="from-group">
139
+ <div class="row" style="display: flex;flex-direction: column;align-items: center;">
140
+ <div class="col-md-6" v-for="row in defectImgs">
141
+ <img-self :src="row" style="margin: 5px" width="200" height="250"></img-self>
142
+ </div>
143
+ </div>
144
+ </div>
145
+ </div>
146
+ <div slot="modal-footer" class="modal-footer">
147
+ <button type="button" class="btn btn-default" @click="closeshowModal">确认</button>
148
+ </div>
149
+ </modal>
150
+ </div>
151
+ </template>
152
+ <script>
153
+ import Vue from 'vue'
154
+ import {HttpResetClass} from "vue-client";
155
+ import * as Util from '../../../components/Util'
156
+
157
+
158
+ export default {
159
+ title: '维修列表信息',
160
+ data() {
161
+ return {
162
+ telphoneValid: '/^((0\\d{2,3}-\\d{7,8})|(1[3584]\\d{9}))$/',
163
+ meterstyle:[],
164
+ shuclass:'col-xs-6 col-sm-6 col-md-6 form-input-group mg8',
165
+ labels:[],
166
+ reasonChangeTableOptions:[],
167
+ meternum:'',
168
+ ischecked:'有',
169
+ gasmodel:'',
170
+ textstyle:'color: red',
171
+ codedata:'',
172
+ defectImgs: [],
173
+ showModal:false
174
+ }
175
+ },
176
+ props: {
177
+ // 维修对应的用户数据收集
178
+ model: {
179
+ type: Object
180
+ },
181
+ service:{
182
+ type: Object
183
+ },
184
+ show: {
185
+ type: Boolean,
186
+ default: false
187
+ },
188
+ repairitem:{
189
+ type: Object
190
+ },
191
+ shutype:'heng',
192
+ tabs:{
193
+ type: Object
194
+ },
195
+ repairdetails:{
196
+ type: Object
197
+ },
198
+ faultshow:{
199
+ type: Object
200
+ },
201
+ issee:'',
202
+ pricelists: {
203
+ type: Array
204
+ }
205
+ },
206
+ methods: {
207
+ getReasonChangeTable(val){
208
+ this.reasonChangeTableOptions = this.$appdata.getParam(val)
209
+ },
210
+ closeshowModal(){
211
+ this.showModal=false
212
+ },
213
+ getCheckImg(defectid){
214
+ if(defectid){
215
+ this.defectImgs=[]
216
+ let http = new HttpResetClass()
217
+ http.load('POST',this.$androidUtil.getProxyUrl()+'/rs/sql/tel_singleTable_OrderBy', {data: {
218
+ items: '*',
219
+ tablename: 't_devices_items',
220
+ condition: `id = '${defectid}'`,
221
+ orderitem: 'id'
222
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
223
+ //tag)
224
+ if(res.data[0].f_path){
225
+ this.defectImgs.push(`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+res.data[0].f_path)
226
+ }
227
+ if(res.data[0].f_p1_path){
228
+ this.defectImgs.push(`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+res.data[0].f_p1_path)
229
+ }
230
+ if(res.data[0].f_p2_path){
231
+ this.defectImgs.push(`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+res.data[0].f_p2_path)
232
+ }
233
+ if(res.data[0].f_p3_path){
234
+ this.defectImgs.push(`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+res.data[0].f_p3_path)
235
+ }
236
+ this.showModal=true
237
+ })
238
+ }
239
+ },
240
+ goToPhoneUpDetail(){
241
+ this.$dispatch('gotoson', {
242
+ _this: this.$parent.$parent,
243
+ title: '设备信息变更',
244
+ safe: false
245
+ })
246
+ this.$parent.$parent.$goto('PhoneUpDetail-tel', {f_userinfo_id: this.model.baseuserinfo.f_userinfo_id,f_source:'维修'})
247
+ },
248
+ goToPhoneUpDetailPlus(){
249
+ this.$dispatch('gotoson', {
250
+ _this: this.$parent.$parent,
251
+ title: '设备信息变更',
252
+ safe: false
253
+ })
254
+ this.$parent.$parent.$goto('PhoneUpUserinfoTel', {f_userinfo_id: this.model.baseuserinfo.f_userinfo_id,f_source:'维修'})
255
+ },
256
+ switchDetails(detailsType, event){
257
+ if (event.srcElement.checked) {
258
+ for(var i = 0;i<this.Detail.details.length;i++){
259
+ if(this.Detail.details[i].f_project == detailsType){
260
+ this.Detail.details[i].f_content = '有'
261
+ this.ischecked = '有'
262
+ return
263
+ }
264
+ }
265
+ } else {
266
+ this.Detail.imgs = []
267
+ for(var i = 0;i<this.Detail.details.length;i++){
268
+ if(this.Detail.details[i].f_project == detailsType){
269
+ this.Detail.details[i].f_content = '无'
270
+ this.ischecked = '无'
271
+ }else{
272
+ this.Detail.details[i].f_content = ''
273
+ }
274
+ }
275
+ }
276
+ },
277
+ scan(val){
278
+ this.codedata = val
279
+ HostApp.__this__=this,
280
+ HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
281
+ },
282
+ getCode(){
283
+ var datapa = HostApp.getCode().data;
284
+ //tag
285
+ //tag
286
+ for(var i = 0;i<this.Detail.details.length;i++){
287
+ if(this.Detail.details[i].f_project == this.codedata){
288
+ //tag
289
+ // this.meternum = datapa
290
+ this.$set('Detail.details['+i+'].f_content',datapa)
291
+ this.codedata = ''
292
+ //tag
293
+ return
294
+ }
295
+ }
296
+ },
297
+ getDetail(value){
298
+ if (this.model && this.model.details.length > 0) {
299
+ let result = this.model.details.find((row) => {
300
+ return row.f_project === value
301
+ })
302
+ //tag
303
+ //tag)
304
+ return result
305
+ }
306
+ },
307
+ getgasmodel(val){
308
+ this.gasmodel = val
309
+ },
310
+ getOptions(val){
311
+ if(val == '气表品牌'){
312
+ return this.$appdata.saleParams.gasbrands
313
+ }
314
+ if(val == '气表型号'){
315
+ return this.$appdata.getParam(this.gasmodel)
316
+ }
317
+
318
+ if(val == '换表类型'){
319
+ return this.$appdata.getParam('换表类型')
320
+ }
321
+ let Reoptions = []
322
+ let OptionItem = []
323
+ for (let i = 0;i<this.repairdetails.length;i++) {
324
+ var t = false
325
+ if(this.repairdetails[i].f_type == this.repairitem.header ){
326
+ for(var j =0;j<this.repairdetails[i].details.length;j++){
327
+ if(this.repairdetails[i].details[j].f_project == val ){
328
+ Reoptions = this.repairdetails[i].details[j].options
329
+ t = true
330
+ break
331
+ }
332
+ }
333
+ }
334
+ if(t){
335
+ break
336
+ }
337
+ }
338
+ for(let j = 0;j<Reoptions.length;j++){
339
+ OptionItem.push({
340
+ label: Reoptions[j].data,
341
+ value: Reoptions[j].data
342
+ })
343
+ }
344
+ return OptionItem
345
+ },
346
+ getradios(val,flag){
347
+ let Reoptions = []
348
+ for (let i = 0;i<this.repairdetails.length;i++) {
349
+ var t = false
350
+ if(this.repairdetails[i].f_type == this.repairitem.header ){
351
+ for(var j =0;j<this.repairdetails[i].details.length;j++){
352
+ if(this.repairdetails[i].details[j].f_project == val ){
353
+ Reoptions = this.repairdetails[i].details[j].options
354
+ t = true
355
+ break
356
+ }
357
+ }
358
+ }
359
+ if(t){
360
+ break
361
+ }
362
+ }
363
+ for(let j = 0;j<Reoptions.length;j++){
364
+ if(Reoptions[j].data == flag){
365
+ for(var e = 0;e<this.Detail.details.length;e++){
366
+ if(this.Detail.details[e].f_project == val){
367
+ this.Detail.details[e].f_status = Reoptions[j].f_status
368
+ return
369
+ }
370
+ }
371
+ break
372
+ }
373
+ }
374
+ },
375
+ mute () {
376
+ HostApp.mute()
377
+ },
378
+ deletedetails(){
379
+ this.$showMessage('该操作会删除所填信息,是否继续!', ['confirm', 'cancel']).then((res) => {
380
+ if (res === 'confirm') {
381
+ for(var i = 0;i<this.tabs.length;i++){
382
+ if(this.tabs[i].number == this.repairitem.number){
383
+ this.tabs.splice(i, 1)
384
+ this.model.servicerepair.splice(this.repairitem.number, 1)
385
+ for(let t = i;t < this.tabs.length;t++ ) {
386
+ this.tabs[t].number -= 1
387
+ }
388
+ return
389
+ }
390
+ }
391
+ }
392
+ })
393
+ },
394
+ adddetails(){
395
+ // 下标作为序号,取值用。 增加 序号得依次增加
396
+ if(this.tabs.length > 0){
397
+ for(let i = this.tabs.length-1;i > 0 ;i-- ){
398
+ if(this.tabs[i].header == this.repairitem.header){
399
+ if(this.model.servicerepair.length > 0){
400
+ for(let j = this.model.servicerepair.length -1;j > -1;j-- ){
401
+ if(this.model.servicerepair[j].f_type == this.repairitem.header){
402
+ this.model.servicerepair.splice(j+1, 0, Object.assign({}, JSON.parse(JSON.stringify(this.tabs[i].details))))
403
+ this.tabs.splice(i+1, 0, {header: `${this.repairitem.header}`,details:this.tabs[i].details,complete:'repair-details',class:'repair-details-class',number:j+1,items:this.tabs[i].items})
404
+ for(let t = i+2;t < this.tabs.length;t++ ) {
405
+ this.tabs[t].number += 1
406
+ }
407
+ this.faultshow.number += this.faultshow.number + 1
408
+ return
409
+ }
410
+ }
411
+ }
412
+ }
413
+ }
414
+ }
415
+ },
416
+ takePic(prop, title,order) {
417
+
418
+ HostApp.__callback__ = this.cameraCallBack
419
+ HostApp.__this__ = this
420
+ //tag
421
+ let fileName
422
+ if(order==1 && (!this.Detail.details[prop].f_first_repairimg || this.Detail.details[prop][prop].f_first_repairimg.includes("nopic.png"))) {
423
+ fileName = Util.guid() + '-' + 'details'+prop + '-' +'f_items'+prop+ '.jpg'
424
+ }else if(order==2 && (!this.Detail.details[prop].f_second_repairimg || this.Detail.details[prop].f_second_repairimg.includes("nopic.png"))) {
425
+ fileName = Util.guid() + '-' + 'details'+prop + '-' +'f_items'+prop+ '.jpg'
426
+ }
427
+ HostApp._open_a_page({type: 'boomerang',
428
+ page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
429
+ param: {file: fileName, requestCode: 111, callback:'javascript:HostApp.__callback__("'+ prop +'", "%s",'+order+');', watermark: title + '\t时间:'+ Util.toStandardTimeString() + '\t' + Vue.user.name}
430
+ })
431
+ },
432
+ cameraCallBack(prop, fileName,order) {
433
+ //tag
434
+ if(order==2){
435
+ HostApp.__this__.$set( 'Detail.details['+prop+'].f_second_repairimg', fileName)
436
+ HostApp.__this__.$set( 'Detail.details['+prop+'].f_second_imgname', fileName.substring(fileName.lastIndexOf('/')+1,fileName.length))
437
+ //tag
438
+ //tag
439
+ }else{
440
+ HostApp.__this__.$set( 'Detail.details['+prop+'].f_first_repairimg', fileName)
441
+ HostApp.__this__.$set( 'Detail.details['+prop+'].f_first_imgname', fileName.substring(fileName.lastIndexOf('/')+1,fileName.length))
442
+ //tag
443
+ //tag
444
+ }
445
+ HostApp.__callback__ = null
446
+ HostApp.__this__ = null
447
+ },
448
+ delfile(prop, fileName,order) {
449
+ //tag
450
+ //tag)
451
+ if(fileName == Vue.nopic)
452
+ return
453
+ else {
454
+ if(order==2){
455
+ HostApp.delfile(fileName)
456
+ this.Detail.details[prop].f_second_repairimg = Vue.nopic
457
+ }else{
458
+ HostApp.delfile(fileName)
459
+ this.Detail.details[prop].f_first_repairimg = Vue.nopic
460
+ }
461
+ }
462
+ }
463
+ },
464
+ ready() {
465
+ //tag)
466
+ // 表号扫码
467
+ //tag)
468
+ for(let i = 0;i<this.Detail.details.length;i++){
469
+ if(this.Detail.details[i].f_project.indexOf('表号') != -1){
470
+ //tag
471
+ this.meternum = this.Detail.details[i].f_content
472
+ //tag
473
+ }
474
+ }
475
+ // 回写 控制checkbox
476
+ for(let i = 0;i<this.Detail.details.length;i++){
477
+ if(this.Detail.details[i].type == 'checkbox'){
478
+ if(this.Detail.details[i].f_content){
479
+ this.ischecked = this.Detail.details[i].f_content
480
+ return
481
+ }else{
482
+ this.ischecked = '无'
483
+ this.Detail.details[i].f_content = '无'
484
+ return
485
+ }
486
+ }
487
+ }
488
+ // 刷新气表型号
489
+ for (let i = 0; i < this.Detail.details.length; i++) {
490
+ if (this.Detail.details[i].f_project == '气表品牌') {
491
+ //tag
492
+ this.getgasmodel(this.Detail.details[i].f_content)
493
+ }
494
+ }
495
+
496
+ // 赋予默认值
497
+ for (let a = 0; a < this.repairdetails.length; a++) {
498
+ for (let i = 0; i < this.repairdetails[a].details.length; i++) {
499
+ let f_item_value = ''
500
+ if ((this.repairdetails[a].details[i].type == 'selector' && !this.repairdetails[a].details[i].multiple) || this.repairdetails[a].details[i].type == 'radio' ){
501
+ if (this.repairdetails[a].details[i].options) {
502
+ for (let j = 0; j < this.repairdetails[a].details[i].options.length; j++) {
503
+ if (this.repairdetails[a].details[i].options[j].isdefault) {
504
+ f_item_value = this.repairdetails[a].details[i].options[j].data
505
+ }
506
+ }
507
+ }
508
+ } else if (this.repairdetails[a].details[i].type == 'string' && this.repairdetails[a].details[i].isdefault) {
509
+ f_item_value = this.repairdetails[a].details[i].isdefault
510
+ }
511
+ for (let k = 0; k < this.Detail.details.length; k++) {
512
+ if (this.Detail.details[k].f_project == this.repairdetails[a].details[i].f_project) {
513
+ this.Detail.details[k].f_content = this.Detail.details[k].f_content?this.Detail.details[k].f_content:f_item_value
514
+ }
515
+ }
516
+ }
517
+ }
518
+ },
519
+ watch: {
520
+ 'valid' () {
521
+ this.savevalid.uservalid = this.$v.valid
522
+ },
523
+ // 'meternum'(val){
524
+ // if(val == undefined || val == ''){
525
+ // return
526
+ // }
527
+ // this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/get_meterinfo`,
528
+ // {data: {
529
+ // condition:`f_meternumber = '${val}'`}}, {resolveMsg: "获取成功", rejectMsg: null}).then((res) => {
530
+ // if (res.data.length > 0) {
531
+ // for (var i = 0; i < this.Detail.details.length; i++) {
532
+ // if (this.Detail.details[i].f_project == '气表品牌') {
533
+ // //tag
534
+ // //tag
535
+ // this.f_meter_brand = res.data[0].f_meter_brand
536
+ // this.Detail.details[i].f_content = res.data[0].f_meter_brand
537
+ // //tag
538
+ // }
539
+ // if (this.Detail.details[i].f_project == '气表型号') {
540
+ // //tag
541
+ // this.f_meter_style = res.data[0].f_meter_style
542
+ // this.Detail.details[i].f_content = res.data[0].f_meter_style,
543
+ // //tag
544
+ // }
545
+ // if (this.Detail.details[i].f_project == '表类型') {
546
+ // //tag
547
+ // this.f_meter_type = res.data[0].f_meter_type
548
+ // this.Detail.details[i].f_content = res.data[0].f_meter_type
549
+ // //tag
550
+ // }
551
+ // }
552
+ // }
553
+ // })
554
+ // for(var i = 0;i<this.Detail.details.length;i++){
555
+ // if(this.Detail.details[i].f_project.indexOf('表号') != -1){
556
+ // //tag
557
+ // this.Detail.details[i].f_content = val
558
+ // return
559
+ // }
560
+ // }
561
+ // },
562
+ 'shutype'(val){
563
+ if(val == 'shu'){
564
+ this.shuclass = 'col-xs-12 col-sm-12 col-md-12 form-input-group mg8'
565
+ }
566
+ }
567
+ },
568
+ computed:{
569
+ gettextstyle: function () {
570
+ return function (val) {
571
+ for(var e = 0;e<this.Detail.details.length;e++){
572
+ if(this.Detail.details[e].f_project == val){
573
+ return this.Detail.details[e].f_status
574
+ }
575
+ }
576
+ }
577
+ },
578
+ Detail(){
579
+ if (this.model && this.model.servicerepair.length > 0) {
580
+ let result = this.model.servicerepair.find((row,index) => {
581
+ return index === this.repairitem.number
582
+ })
583
+ return result
584
+ }
585
+ },
586
+ candelete(){
587
+ var number = 0
588
+ if (this.model && this.model.servicerepair.length > 0) {
589
+ for(var i = 0;i<this.model.servicerepair.length;i++){
590
+ if(this.model.servicerepair[i].f_type == this.repairitem.header){
591
+ number +=1
592
+ if(number > 1){
593
+ return true
594
+ }
595
+ }
596
+ }
597
+ return false
598
+ }
599
+ }
600
+ }
601
+
602
+ }
603
+ </script>
604
+ <style lang="less" scoped>
605
+ .class-erro {
606
+ color: #a94442;
607
+ }
608
+ .tel_del_lable {
609
+ color: #0000ff99;
610
+ text-decoration: underline;
611
+ }
612
+ .fivelabel{
613
+ padding-left: 8px;
614
+ border: none;
615
+ border-left: 5px solid #A2C2EB;
616
+ width:110px;
617
+ text-align: left;
618
+ }
619
+ .spanrodio{
620
+ margin-right: 10px;
621
+ }
622
+ </style>
623
+
@@ -46,15 +46,15 @@
46
46
  <div class="main-bottom">
47
47
  <div class="bottom1">
48
48
  <p> &emsp;&emsp;今日呼出时长 </p>
49
- <div class="ring1">
50
- {{dayhuchu}}&ensp;<span>分钟</span>
49
+ <div class="ring1" style="font-size:2rem">
50
+ {{dayhuchu}}&ensp;<span style="font-size:2rem">分钟</span>
51
51
  </div>
52
52
  </div>
53
53
 
54
54
  <div class="bottom4">
55
55
  <p> &emsp;&emsp;今日接听时长 </p>
56
- <div class="ring2" style="float:none">
57
- {{dayhuru}}&ensp;<span>分钟</span>
56
+ <div class="ring2" style="float:none;font-size:2rem">
57
+ {{dayhuru}}&ensp;<span style="font-size:2rem">分钟</span>
58
58
  </div>
59
59
  </div>
60
60
 
@@ -63,15 +63,15 @@
63
63
 
64
64
  <div class="bottom3">
65
65
  <p> 来电未接听数 </p>
66
- <div class="ring3">
66
+ <div class="ring3" style="font-size:2rem">
67
67
  {{dayweijie}}&ensp;
68
68
  </div>
69
69
  </div>
70
70
 
71
71
  <div class="bottom3">
72
72
  <p> &emsp;来电接听率 </p>
73
- <div class="ring4">
74
- {{dayweijie!==0?dayscale:100}}<span>%</span>
73
+ <div class="ring4" style="font-size:2rem">
74
+ {{dayweijie!==0?dayscale:100}}<span style="font-size:2rem">%</span>
75
75
  </div>
76
76
  </div>
77
77
  </div>
@@ -609,6 +609,14 @@ export default {
609
609
  if(this.operType == '报修'){
610
610
  data.model.f_attendant = this.loginUser.name
611
611
  }
612
+ //判断报修类型是否选择
613
+ if(this.model.f_repairtype == '' || this.model.f_repairtype == undefined){
614
+ return this.$showAlert('请选择报修类型', 'warning', 2000)
615
+ }else{
616
+ if(this.model.failure == '' || this.model.failure == undefined){
617
+ return this.$showAlert('请选择故障类型', 'warning', 2000)
618
+ }
619
+ }
612
620
  if(data.model.failure){
613
621
  data.model.f_json = this.trouble(data.model.failure)
614
622
  }