telephone-clients 3.0.104-1 → 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 (102) 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 -5
  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/NewRepairPaper.vue +370 -370
  8. package/src/components/pc/RecordListLeft.vue +80 -10
  9. package/src/components/pc/RepairsWork.vue +33 -3
  10. package/src/components/pc/RoleSelector.vue +7 -1
  11. package/src/components/pc/Seekwork.vue +3 -0
  12. package/src/components/pc/SiteSend.vue +38 -1
  13. package/src/components/pc/TelLossList.vue +20 -3
  14. package/src/components/pc/VisitInfo.vue +44 -7
  15. package/src/components/pc/WorkHistory.vue +1 -1
  16. package/src/components/pc/WorkList.vue +4 -3
  17. package/src/components/pc/WorkListAllNew.vue +16 -8
  18. package/src/components/pc/WorkListNew.vue +722 -712
  19. package/src/components/sendsingle/onlinequeryuser.vue +1 -1
  20. package/src/components/telcount/TelByOrderMan.vue +22 -4
  21. package/src/components/telreport/RepairsDetailsReport.vue +2 -2
  22. package/src/components/telreport/TrafficClassificationReport.vue +13 -13
  23. package/src/components/telreport/Trafficassess.vue +2 -2
  24. package/src/components/temp/HandplanInfo.vue +16 -1
  25. package/src/components/temp/InstructInfo.vue +1 -1
  26. package/src/components/temp/SecuritycheckInfo.vue +14 -0
  27. package/src/components/workorder/RepairDetails.vue +8 -2
  28. package/src/components/workorder/RepairInfo.vue +3 -3
  29. package/src/components/workorder/RepairPaperAndroid.vue +351 -0
  30. package/src/components/workorder/ServiceOnlineQuery.vue +306 -0
  31. package/src/components/workorder/TemporarySingle.vue +346 -302
  32. package/src/filiale/furuike/pc/QueryVisitHistory.vue +14 -1
  33. package/src/filiale/furuike/pc/WorkHistory.vue +576 -576
  34. package/src/filiale/hanzhong/telephone.js +1 -1
  35. package/src/filiale/jiaocheng/android/createQRcode.vue +204 -0
  36. package/src/filiale/jiaocheng/android/onlineBuyGas.vue +637 -0
  37. package/src/filiale/jiaocheng/telephone.js +8 -0
  38. package/src/filiale/jiaocheng/telephoneAndroid.js +15 -0
  39. package/src/filiale/lixian/onlineChangeMeter.vue +481 -0
  40. package/src/filiale/lixian/onlineoperation.vue +606 -0
  41. package/src/filiale/lixian/onlinequeryuser.vue +509 -0
  42. package/src/filiale/lixian/telephoneAndroid.js +23 -0
  43. package/src/filiale/qianneng/android/AppInstallationMaterial.vue +880 -845
  44. package/src/filiale/qianneng/android/TemporarySingle.vue +537 -537
  45. package/src/filiale/qianneng/pc/MaterialDetailed.vue +260 -260
  46. package/src/filiale/qianneng/pc/NewRepairPaper.vue +467 -467
  47. package/src/filiale/qianneng/pc/RepairsWork.vue +992 -992
  48. package/src/filiale/qianneng/pc/WorkListAllNew.vue +11 -3
  49. package/src/filiale/qianneng/pc/changetable.vue +273 -273
  50. package/src/filiale/qianneng/telephone.js +22 -22
  51. package/src/filiale/rizhao/pc/IgnitionVentilation.vue +0 -1
  52. package/src/filiale/rizhao/pc/RepairsWork.vue +0 -1
  53. package/src/filiale/rizhao/pc/WorkListAllNew.vue +11 -5
  54. package/src/filiale/rizhao/telephone.js +1 -1
  55. package/src/filiale/shanxian/android/RepairFirstV.vue +3 -0
  56. package/src/filiale/shanxian/pc/TelFindUser.vue +310 -0
  57. package/src/filiale/shanxian/pc/WorkList.vue +2 -2
  58. package/src/filiale/shanxian/telephone.js +1 -0
  59. package/src/filiale/shexian/android/AddMyTask.vue +7 -0
  60. package/src/filiale/shexian/android/RepairFirstV.vue +5 -0
  61. package/src/filiale/shexian/android/RepairInfo.vue +1 -0
  62. package/src/filiale/shexian/pc/TelAgentVoiceReport.vue +9 -9
  63. package/src/filiale/shexian/pc/TelByRepairType.vue +3 -3
  64. package/src/filiale/shexian/pc/WorkList.vue +4 -1
  65. package/src/filiale/shexian/pc/WorkListAllNew.vue +14 -1
  66. package/src/filiale/tongchuan/android/RepairDetails.vue +623 -0
  67. package/src/filiale/tongchuan/pc/AnalysisMain.vue +7 -7
  68. package/src/filiale/tongchuan/pc/RepairsWork.vue +8 -0
  69. package/src/filiale/tongchuan/pc/UserWork.vue +8 -0
  70. package/src/filiale/tongchuan/telephoneAndroid.js +1 -0
  71. package/src/filiale/wenxi/android/FaultAll.vue +710 -0
  72. package/src/filiale/wenxi/android/PhoneUpUserinfo.vue +73 -162
  73. package/src/filiale/wenxi/android/RepairOrderV.vue +1 -1
  74. package/src/filiale/wenxi/android/ZHihuanFirst.vue +149 -129
  75. package/src/filiale/wenxi/pc/DistributeWork.vue +1 -1
  76. package/src/filiale/wenxi/pc/RecordListLeft.vue +272 -0
  77. package/src/filiale/wenxi/pc/RepairsWork.vue +143 -64
  78. package/src/filiale/wenxi/pc/TelAgentVoiceReport.vue +290 -0
  79. package/src/filiale/wenxi/pc/TelLossList.vue +272 -0
  80. package/src/filiale/wenxi/pc/WorkListAll.vue +698 -0
  81. package/src/filiale/wenxi/telephone.js +5 -0
  82. package/src/filiale/wenxi/telephoneAndroid.js +2 -1
  83. package/src/filiale/wuhai/telephone.js +1 -1
  84. package/src/filiale/yuncheng/android/LdapHelper.js +75 -0
  85. package/src/filiale/yuncheng/android/Outlay.vue +201 -0
  86. package/src/filiale/yuncheng/android/RepairInfo.vue +163 -0
  87. package/src/filiale/yuncheng/android/RepairOrderV.vue +1483 -0
  88. package/src/filiale/yuncheng/android/RepairUserInfo.vue +390 -0
  89. package/src/filiale/yuncheng/android/RightTree.vue +218 -0
  90. package/src/filiale/yuncheng/android/TemporarySingle.vue +522 -0
  91. package/src/filiale/yuncheng/android/ZHihuanFirst.vue +541 -0
  92. package/src/filiale/yuncheng/pc/DistributeWork.vue +199 -0
  93. package/src/filiale/yuncheng/pc/GasWork.vue +773 -0
  94. package/src/filiale/yuncheng/pc/TelFindUser.vue +31 -11
  95. package/src/filiale/yuncheng/pc/WorkList.vue +823 -0
  96. package/src/filiale/yuncheng/pc/WorkListAllNew.vue +781 -0
  97. package/src/filiale/yuncheng/telephone.js +5 -1
  98. package/src/filiale/yuncheng/telephoneAndroid.js +19 -0
  99. package/src/filiale/zhongyi/pc/WorkListAllNew.vue +2 -1
  100. package/src/main.js +1 -1
  101. package/src/telephone-android.js +7 -0
  102. 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
  }