telephone-clients 3.0.103 → 3.0.104-11

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 (132) hide show
  1. package/package.json +3 -3
  2. package/src/App.vue +54 -56
  3. package/src/assets//345/210/240/351/231/244.png +0 -0
  4. package/src/components/Util/RightTreeSafe.vue +2 -2
  5. package/src/components/Util/RightTreeSafeDep.vue +350 -0
  6. package/src/components/android/AddMyTask.vue +7 -0
  7. package/src/components/guoxin/Console.vue +9 -0
  8. package/src/components/guoxin/VisitInfo.vue +0 -11
  9. package/src/components/pc/NewRepairPaper.vue +370 -370
  10. package/src/components/pc/RepairsWork.vue +23 -2
  11. package/src/components/pc/RoleSelectorDep.vue +158 -0
  12. package/src/components/pc/TelFindUser.vue +1 -1
  13. package/src/components/pc/TelListener.vue +47 -16
  14. package/src/components/pc/VisitInfo.vue +44 -17
  15. package/src/components/pc/WorkCenter.vue +1 -1
  16. package/src/components/pc/WorkCenterList.vue +1 -1
  17. package/src/components/pc/WorkHistory.vue +20 -2
  18. package/src/components/pc/WorkListAll.vue +1 -1
  19. package/src/components/pc/WorkListAllNew.vue +10 -3
  20. package/src/components/pc/WorkListNew.vue +9 -3
  21. package/src/components/pc/olddata/OldWorkList.vue +193 -0
  22. package/src/components/telreport/RepairsDetailsReport.vue +98 -0
  23. package/src/components/telreport/TableFaultReport.vue +96 -0
  24. package/src/components/telreport/Traffic.vue +3 -3
  25. package/src/components/telreport/TrafficClassificationReport.vue +134 -0
  26. package/src/components/temp/ChangemeterInfo.vue +75 -87
  27. package/src/components/temp/DeviceInfo.vue +80 -82
  28. package/src/components/temp/HandplanInfo.vue +14 -3
  29. package/src/components/temp/InfoTable.vue +5 -2
  30. package/src/components/temp/MetereadInfo.vue +1 -4
  31. package/src/components/temp/OldRepairList.vue +100 -0
  32. package/src/components/temp/RepairList.vue +2 -2
  33. package/src/components/weinan/Console.vue +1 -1
  34. package/src/components/weinan/RecordList.vue +2 -2
  35. package/src/components/weinan/SiteSend.vue +2 -2
  36. package/src/components/weinan/SiteSendWeixiu.vue +7 -16
  37. package/src/components/weinan/StandWorkWeixiu.vue +1 -1
  38. package/src/components/weinan/WorkList.vue +73 -0
  39. package/src/components/weinan/WorkListAll.vue +90 -14
  40. package/src/components/weinan/WorkListWeixiu.vue +1 -1
  41. package/src/components/workorder/CompletedRepair.vue +269 -183
  42. package/src/components/workorder/FaultAll.vue +826 -826
  43. package/src/components/workorder/PhoneStandWork.vue +354 -354
  44. package/src/components/workorder/PhoneUpDetail.vue +3 -0
  45. package/src/components/workorder/RepairDetails.vue +12 -2
  46. package/src/components/workorder/RepairFirstV.vue +1 -1
  47. package/src/components/workorder/RepairOrderV.vue +1446 -1446
  48. package/src/filiale/furuike/pc/ComplainWork.vue +348 -348
  49. package/src/filiale/furuike/pc/Seekwork.vue +352 -352
  50. package/src/filiale/gongyi/android/RepairOrderV.vue +1415 -1415
  51. package/src/filiale/hanzhong/telephone.js +1 -1
  52. package/src/filiale/kelai/android/AppTakePic.vue +143 -0
  53. package/src/filiale/kelai/android/PhoneVentilationLeave.vue +176 -0
  54. package/src/filiale/kelai/pc/WorkCenterList.vue +20 -3
  55. package/src/filiale/kelai/pc/WorkListAllNew.vue +47 -9
  56. package/src/filiale/kelai/pc/serviceDeleteOrder.vue +55 -0
  57. package/src/filiale/kelai/telephone.js +9 -8
  58. package/src/filiale/kelai/telephoneAndroid.js +3 -1
  59. package/src/filiale/liaoyuan/android/RepairOrderV.vue +831 -831
  60. package/src/filiale/qianneng/android/FaultAll.vue +883 -883
  61. package/src/filiale/qianneng/android/MaterIialOne.vue +123 -123
  62. package/src/filiale/qianneng/android/RepairOrderV.vue +874 -874
  63. package/src/filiale/qianneng/android/TemporarySingle.vue +25 -0
  64. package/src/filiale/qianneng/android/chargesList.vue +161 -161
  65. package/src/filiale/qianneng/pc/MaterialDetailed.vue +15 -3
  66. package/src/filiale/qianneng/pc/MaterialStatistics.vue +144 -0
  67. package/src/filiale/qianneng/pc/NewRepairPaper.vue +467 -467
  68. package/src/filiale/qianneng/pc/RepairsWork.vue +992 -982
  69. package/src/filiale/qianneng/pc/WorkHistory.vue +2 -2
  70. package/src/filiale/qianneng/pc/WorkListAllNew.vue +53 -5
  71. package/src/filiale/qianneng/pc/changetable.vue +273 -0
  72. package/src/filiale/qianneng/telephone.js +2 -0
  73. package/src/filiale/rizhao/pc/DispatchMan.vue +3 -3
  74. package/src/filiale/rizhao/pc/DispatchWork.vue +3 -3
  75. package/src/filiale/rizhao/pc/Traffic.vue +3 -3
  76. package/src/filiale/rizhao/pc/WorkListAllNew.vue +8 -3
  77. package/src/filiale/rizhao/telephone.js +1 -1
  78. package/src/filiale/rongcheng/CliWorkListAll.vue +442 -407
  79. package/src/filiale/rongcheng/FaultAll.vue +3 -3
  80. package/src/filiale/rongcheng/RepairOrderV.vue +1445 -0
  81. package/src/filiale/rongcheng/telephoneAndroid.js +3 -1
  82. package/src/filiale/shanxian/android/RepairFirstV.vue +5 -1
  83. package/src/filiale/shanxian/pc/RepairsWork.vue +826 -0
  84. package/src/filiale/shanxian/pc/WorkList.vue +1 -1
  85. package/src/filiale/shanxian/telephone.js +13 -12
  86. package/src/filiale/shexian/android/AddMyTask.vue +7 -0
  87. package/src/filiale/shexian/android/CompletedRepair.vue +280 -0
  88. package/src/filiale/shexian/android/FaultAll.vue +847 -0
  89. package/src/filiale/shexian/android/Outlay.vue +182 -165
  90. package/src/filiale/shexian/android/RepairFirstV.vue +16 -2
  91. package/src/filiale/shexian/android/RepairInfo.vue +1 -0
  92. package/src/filiale/shexian/pc/QueryVisitHistory.vue +237 -0
  93. package/src/filiale/shexian/pc/TelAgentVoiceReport.vue +271 -0
  94. package/src/filiale/shexian/pc/TelByOrderManCount.vue +10 -2
  95. package/src/filiale/shexian/pc/WorkList.vue +782 -740
  96. package/src/filiale/shexian/pc/WorkListAllNew.vue +75 -67
  97. package/src/filiale/shexian/telephone.js +21 -18
  98. package/src/filiale/shexian/telephoneAndroid.js +32 -26
  99. package/src/filiale/tongchuan/android/RepairDetails.vue +623 -0
  100. package/src/filiale/tongchuan/android/TicketDetails.vue +3 -0
  101. package/src/filiale/tongchuan/pc/UserWork.vue +805 -805
  102. package/src/filiale/tongchuan/pc/WorkOrderStatistics.vue +2 -2
  103. package/src/filiale/tongchuan/telephone.js +52 -52
  104. package/src/filiale/tongchuan/telephoneAndroid.js +23 -22
  105. package/src/filiale/wenxi/android/FailureShow.vue +61 -0
  106. package/src/filiale/wenxi/android/PhoneUpUserinfo.vue +1053 -0
  107. package/src/filiale/wenxi/android/RepairInfo.vue +158 -74
  108. package/src/filiale/wenxi/android/RepairOrderV.vue +805 -1419
  109. package/src/filiale/wenxi/android/RepairUserInfo.vue +532 -0
  110. package/src/filiale/wenxi/android/ZHihuanFirst.vue +502 -0
  111. package/src/filiale/wenxi/pc/DistributeWork.vue +107 -121
  112. package/src/filiale/wenxi/pc/FailureEdit.vue +1 -1
  113. package/src/filiale/wenxi/pc/GasWork.vue +747 -0
  114. package/src/filiale/wenxi/pc/MetereadInfo.vue +82 -0
  115. package/src/filiale/wenxi/pc/RepairsWork.vue +15 -0
  116. package/src/filiale/wenxi/pc/TelFindUser.vue +213 -116
  117. package/src/filiale/wenxi/pc/WorkListAll.vue +348 -297
  118. package/src/filiale/wenxi/telephone.js +4 -5
  119. package/src/filiale/wenxi/telephoneAndroid.js +4 -1
  120. package/src/filiale/wuan/android/RepairOrderV.vue +1384 -1384
  121. package/src/filiale/wuhai/telephone.js +1 -1
  122. package/src/filiale/yuncheng/pc/TelFindUser.vue +302 -0
  123. package/src/filiale/yuncheng/telephone.js +12 -0
  124. package/src/filiale/zhongsheng/android/FaultAll.vue +741 -0
  125. package/src/filiale/zhongsheng/android/RepairOrderV.vue +1430 -1430
  126. package/src/filiale/zhongsheng/android/RepairUserInfo.vue +241 -214
  127. package/src/filiale/zhongsheng/pc/RepairsWork.vue +775 -775
  128. package/src/filiale/zhongsheng/telephone.js +23 -23
  129. package/src/filiale/zhongsheng/telephoneAndroid.js +2 -1
  130. package/src/main.js +1 -1
  131. package/src/telephone.js +17 -1
  132. package/src/weinan.js +6 -0
@@ -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()" 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
+ debugger
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
+
@@ -179,6 +179,9 @@
179
179
  <div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
180
180
  故障明细: {{ trouble(row.failure) }}
181
181
  </div>
182
+ <div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu" v-if="['维修员接单', '维修完成'].indexOf(row.defname) >= 0">
183
+ 维修人员: {{ row.f_order_man }}
184
+ </div>
182
185
  </div>
183
186
  </div>
184
187
  </div>