telephone-clients 3.0.103 → 3.0.104-1

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 (126) hide show
  1. package/package.json +3 -3
  2. package/src/App.vue +7 -9
  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/VisitInfo.vue +0 -11
  8. package/src/components/pc/NewRepairPaper.vue +3 -3
  9. package/src/components/pc/RepairsWork.vue +22 -2
  10. package/src/components/pc/RoleSelectorDep.vue +158 -0
  11. package/src/components/pc/TelFindUser.vue +1 -1
  12. package/src/components/pc/TelListener.vue +47 -16
  13. package/src/components/pc/VisitInfo.vue +0 -10
  14. package/src/components/pc/WorkCenter.vue +1 -1
  15. package/src/components/pc/WorkCenterList.vue +1 -1
  16. package/src/components/pc/WorkHistory.vue +20 -2
  17. package/src/components/pc/WorkListAll.vue +1 -1
  18. package/src/components/pc/WorkListAllNew.vue +10 -3
  19. package/src/components/pc/WorkListNew.vue +712 -706
  20. package/src/components/pc/olddata/OldWorkList.vue +193 -0
  21. package/src/components/telreport/RepairsDetailsReport.vue +98 -0
  22. package/src/components/telreport/TableFaultReport.vue +96 -0
  23. package/src/components/telreport/Traffic.vue +3 -3
  24. package/src/components/telreport/TrafficClassificationReport.vue +134 -0
  25. package/src/components/temp/ChangemeterInfo.vue +75 -87
  26. package/src/components/temp/DeviceInfo.vue +80 -82
  27. package/src/components/temp/HandplanInfo.vue +2 -2
  28. package/src/components/temp/InfoTable.vue +5 -2
  29. package/src/components/temp/MetereadInfo.vue +1 -4
  30. package/src/components/temp/OldRepairList.vue +100 -0
  31. package/src/components/temp/RepairList.vue +2 -2
  32. package/src/components/weinan/Console.vue +1 -1
  33. package/src/components/weinan/RecordList.vue +2 -2
  34. package/src/components/weinan/SiteSend.vue +2 -2
  35. package/src/components/weinan/SiteSendWeixiu.vue +7 -16
  36. package/src/components/weinan/StandWorkWeixiu.vue +1 -1
  37. package/src/components/weinan/WorkList.vue +73 -0
  38. package/src/components/weinan/WorkListAll.vue +90 -14
  39. package/src/components/weinan/WorkListWeixiu.vue +1 -1
  40. package/src/components/workorder/CompletedRepair.vue +269 -183
  41. package/src/components/workorder/FaultAll.vue +826 -826
  42. package/src/components/workorder/PhoneStandWork.vue +354 -354
  43. package/src/components/workorder/PhoneUpDetail.vue +3 -0
  44. package/src/components/workorder/RepairDetails.vue +12 -2
  45. package/src/components/workorder/RepairFirstV.vue +1 -1
  46. package/src/components/workorder/RepairOrderV.vue +1446 -1446
  47. package/src/filiale/furuike/pc/ComplainWork.vue +348 -348
  48. package/src/filiale/furuike/pc/Seekwork.vue +352 -352
  49. package/src/filiale/furuike/pc/WorkHistory.vue +576 -576
  50. package/src/filiale/gongyi/android/RepairOrderV.vue +1415 -1415
  51. package/src/filiale/kelai/android/AppTakePic.vue +143 -0
  52. package/src/filiale/kelai/android/PhoneVentilationLeave.vue +176 -0
  53. package/src/filiale/kelai/pc/WorkCenterList.vue +20 -3
  54. package/src/filiale/kelai/pc/WorkListAllNew.vue +47 -9
  55. package/src/filiale/kelai/pc/serviceDeleteOrder.vue +55 -0
  56. package/src/filiale/kelai/telephone.js +9 -8
  57. package/src/filiale/kelai/telephoneAndroid.js +3 -1
  58. package/src/filiale/liaoyuan/android/RepairOrderV.vue +831 -831
  59. package/src/filiale/qianneng/android/FaultAll.vue +883 -883
  60. package/src/filiale/qianneng/android/MaterIialOne.vue +123 -123
  61. package/src/filiale/qianneng/android/RepairOrderV.vue +874 -874
  62. package/src/filiale/qianneng/android/TemporarySingle.vue +537 -512
  63. package/src/filiale/qianneng/android/chargesList.vue +161 -161
  64. package/src/filiale/qianneng/pc/MaterialDetailed.vue +260 -248
  65. package/src/filiale/qianneng/pc/MaterialStatistics.vue +144 -0
  66. package/src/filiale/qianneng/pc/NewRepairPaper.vue +4 -4
  67. package/src/filiale/qianneng/pc/RepairsWork.vue +12 -2
  68. package/src/filiale/qianneng/pc/WorkHistory.vue +2 -2
  69. package/src/filiale/qianneng/pc/WorkListAllNew.vue +53 -5
  70. package/src/filiale/qianneng/pc/changetable.vue +273 -0
  71. package/src/filiale/qianneng/telephone.js +22 -20
  72. package/src/filiale/rizhao/pc/DispatchMan.vue +3 -3
  73. package/src/filiale/rizhao/pc/DispatchWork.vue +3 -3
  74. package/src/filiale/rizhao/pc/Traffic.vue +3 -3
  75. package/src/filiale/rizhao/pc/WorkListAllNew.vue +8 -3
  76. package/src/filiale/rongcheng/CliWorkListAll.vue +442 -407
  77. package/src/filiale/rongcheng/FaultAll.vue +3 -3
  78. package/src/filiale/rongcheng/RepairOrderV.vue +1445 -0
  79. package/src/filiale/rongcheng/telephoneAndroid.js +3 -1
  80. package/src/filiale/shanxian/android/RepairFirstV.vue +5 -1
  81. package/src/filiale/shanxian/pc/RepairsWork.vue +826 -0
  82. package/src/filiale/shanxian/pc/WorkList.vue +1 -1
  83. package/src/filiale/shanxian/telephone.js +13 -12
  84. package/src/filiale/shexian/android/AddMyTask.vue +7 -0
  85. package/src/filiale/shexian/android/CompletedRepair.vue +280 -0
  86. package/src/filiale/shexian/android/FaultAll.vue +847 -0
  87. package/src/filiale/shexian/android/Outlay.vue +182 -165
  88. package/src/filiale/shexian/android/RepairFirstV.vue +16 -2
  89. package/src/filiale/shexian/android/RepairInfo.vue +1 -0
  90. package/src/filiale/shexian/pc/QueryVisitHistory.vue +237 -0
  91. package/src/filiale/shexian/pc/TelAgentVoiceReport.vue +271 -0
  92. package/src/filiale/shexian/pc/TelByOrderManCount.vue +10 -2
  93. package/src/filiale/shexian/pc/WorkList.vue +782 -740
  94. package/src/filiale/shexian/pc/WorkListAllNew.vue +75 -67
  95. package/src/filiale/shexian/telephone.js +21 -18
  96. package/src/filiale/shexian/telephoneAndroid.js +32 -26
  97. package/src/filiale/tongchuan/android/TicketDetails.vue +3 -0
  98. package/src/filiale/tongchuan/pc/UserWork.vue +805 -805
  99. package/src/filiale/tongchuan/pc/WorkOrderStatistics.vue +2 -2
  100. package/src/filiale/wenxi/android/FailureShow.vue +61 -0
  101. package/src/filiale/wenxi/android/PhoneUpUserinfo.vue +1053 -0
  102. package/src/filiale/wenxi/android/RepairInfo.vue +158 -74
  103. package/src/filiale/wenxi/android/RepairOrderV.vue +805 -1419
  104. package/src/filiale/wenxi/android/RepairUserInfo.vue +532 -0
  105. package/src/filiale/wenxi/android/ZHihuanFirst.vue +502 -0
  106. package/src/filiale/wenxi/pc/DistributeWork.vue +107 -121
  107. package/src/filiale/wenxi/pc/FailureEdit.vue +1 -1
  108. package/src/filiale/wenxi/pc/GasWork.vue +747 -0
  109. package/src/filiale/wenxi/pc/MetereadInfo.vue +82 -0
  110. package/src/filiale/wenxi/pc/RepairsWork.vue +15 -0
  111. package/src/filiale/wenxi/pc/TelFindUser.vue +213 -116
  112. package/src/filiale/wenxi/telephone.js +4 -6
  113. package/src/filiale/wenxi/telephoneAndroid.js +4 -1
  114. package/src/filiale/wuan/android/RepairOrderV.vue +1384 -1384
  115. package/src/filiale/yuncheng/pc/TelFindUser.vue +302 -0
  116. package/src/filiale/yuncheng/telephone.js +12 -0
  117. package/src/filiale/zhongsheng/android/FaultAll.vue +741 -0
  118. package/src/filiale/zhongsheng/android/RepairOrderV.vue +1430 -1430
  119. package/src/filiale/zhongsheng/android/RepairUserInfo.vue +241 -214
  120. package/src/filiale/zhongsheng/pc/RepairsWork.vue +775 -775
  121. package/src/filiale/zhongsheng/telephone.js +23 -23
  122. package/src/filiale/zhongsheng/telephoneAndroid.js +2 -1
  123. package/src/main.js +1 -1
  124. package/src/telephone.js +16 -0
  125. package/src/weinan.js +6 -0
  126. package/src/filiale/wenxi/pc/WorkListAll.vue +0 -647
@@ -256,6 +256,7 @@
256
256
  f_reciever:'',
257
257
  f_remarks: '',
258
258
  f_user_type: '',
259
+ failure_str:'',
259
260
  f_area: '',
260
261
  f_unit_name:'',
261
262
  f_street: '',
@@ -354,8 +355,9 @@
354
355
  http.load('POST', '/rs/search', {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
355
356
  // let result = res.data.filter(res=>res.orgid==this.$login.f.orgid)
356
357
  res.data.forEach((item) => {
357
- this.repairers.push({label: `${item.name}`, value: item.name})
358
-
358
+ if (item.state == '在职'){
359
+ this.repairers.push({label: `${item.name}`, value: item.name})
360
+ }
359
361
  })
360
362
  })
361
363
  },
@@ -478,6 +480,7 @@
478
480
  },
479
481
  assignObj() {
480
482
  if (this.data) {
483
+ this.model.failure_str = ''
481
484
  this.model.f_address = this.data.f_address
482
485
  this.model.f_user_name = this.data.f_user_name
483
486
  this.model.f_user_type = this.data.f_user_type
@@ -524,6 +527,7 @@
524
527
  f_user_name: '',
525
528
  failure: '',
526
529
  f_userinfo_id: '',
530
+ failure_str:'',
527
531
  f_address: '',
528
532
  f_json: '',
529
533
  f_repair_date: Util.getNowDate(),
@@ -581,6 +585,18 @@
581
585
  this.model.f_outlets = this.$login.f.deps
582
586
  this.model.f_filiale_id = this.$login.f.orgid
583
587
  }
588
+ let failureStr = ''
589
+ if(this.model.failure.startsWith("[")){
590
+ const failureData = JSON.parse(this.model.failure)
591
+ failureData.forEach(item=>{
592
+ if (item.failurecase.length>0){
593
+ failureStr+=item.f_failure_type+":"+item.failurecase.toString()+";"
594
+ }else {
595
+ failureStr+=item.f_failure_type+";"
596
+ }
597
+ })
598
+ this.model.failure_str = failureStr
599
+ }
584
600
  let data = {
585
601
  model: this.model, loginUser: {
586
602
  name: this.loginUser.name,
@@ -603,6 +619,7 @@
603
619
  url = config[this.operType].url
604
620
  data.toRepair = '一级派单'
605
621
  }
622
+ data.model.f_state = null
606
623
  this.saveing = true
607
624
  return this.$resetpost(url, data).then((data) => {
608
625
  if(data.data && data.data.id){
@@ -681,6 +698,9 @@
681
698
  watch: {
682
699
  // 转接类型
683
700
  'model.f_handlingtype'(){
701
+ if(this.operType === '修改工单'){
702
+ return
703
+ }
684
704
  // 清楚上次记录
685
705
  this.model.serviceacitivity[0].f_reciever = ''
686
706
  this.model.serviceacitivity[0].f_meetunit =''
@@ -0,0 +1,158 @@
1
+ <template>
2
+ <div style="width: 100%;height: 100%">
3
+ <div class="col-sm-6 form-group" style="margin-bottom: 0px">
4
+ <label class="font_normal_body">所属部门</label>
5
+ <right-tree-safe-dep :width="leftWidth" @re-res="getRes" :resobjprop.sync="resobjprop"></right-tree-safe-dep>
6
+ </div>
7
+ <div class="col-sm-6 form-group" style="margin-bottom: 0px">
8
+ <label class="font_normal_body">{{ roleLable }}</label>
9
+ <v-select :value="selVal" v-model='selVal'
10
+ :value-single="!valueMultiple"
11
+ class="select_list select"
12
+ :options='users' :placeholder='roleName'
13
+ :close-on-select = 'valueClose'
14
+ :multiple="valueMultiple"
15
+ :width="rightWidth"
16
+ @change="valuechange">
17
+ </v-select>
18
+ </div>
19
+ </div>
20
+ </template>
21
+
22
+ <script>
23
+ import {HttpResetClass} from 'vue-client'
24
+
25
+ export default {
26
+ name: "RoleSelector",
27
+ props: {
28
+ valueMultiple: {
29
+ type: Boolean,
30
+ default: false
31
+ },
32
+ roleName: {
33
+ type: String,
34
+ default: '安检员'
35
+ },
36
+ roleLable: {
37
+ type: String,
38
+ default: '安检员'
39
+ },
40
+ leftWidth: {
41
+ type: String,
42
+ default: '60%'
43
+ },
44
+ rightWidth: {
45
+ type: String,
46
+ default: '60%'
47
+ },
48
+ value: {
49
+ default: ''
50
+ },
51
+ resobjprop: {
52
+ default: {}
53
+ },
54
+ valueClose: {
55
+ type: Boolean,
56
+ default: true
57
+ }
58
+ },
59
+ data() {
60
+ return {
61
+ // source: `tool.getChildrenOfResName($${this.roleName}$)`,
62
+ source: `root.getResourceById($${this.$login.f.depids}$,$department$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($${this.roleName}$) != -1)`,
63
+ allUsers: [],
64
+ users: [],
65
+ selVal: '',
66
+ organizationname:this.$login.f.organizationname,
67
+ resids: [],
68
+ changeval: ''
69
+ }
70
+ },
71
+ watch: {
72
+ 'value'(val) {
73
+ console.log("969696", val)
74
+ if (val) {
75
+ if (this.valueMultiple) {
76
+
77
+ } else {
78
+ this.selVal = val
79
+ }
80
+
81
+ }
82
+ }
83
+ },
84
+ async ready() {
85
+ await this.search()
86
+ await this.filterUser(this.resids)
87
+ },
88
+ methods: {
89
+ async search() {
90
+ let http = new HttpResetClass()
91
+ const res = await http.load('POST', '/rs/search', {
92
+ data: {
93
+ source: this.source,
94
+ userid: this.$login.f.id
95
+ }
96
+ }, {resolveMsg: null, rejectMsg: null})
97
+ this.allUsers = res.data
98
+ },
99
+ valuechange(val) {
100
+ console.log(`val instanceof Array======${!val instanceof Array}`)
101
+ if ((typeof val === 'object' && !val instanceof Array) || (val instanceof Event)) {
102
+ return
103
+ }
104
+ if (this.valueMultiple && Array.isArray(val)) {
105
+ if (val && val.length > 0) {
106
+ let valuesele = `(`
107
+ for (let i = 0; i < val.length; i++) {
108
+ valuesele += `'${val[i]}',`
109
+ }
110
+ this.value = valuesele.substring(0, valuesele.length - 1) + ')'
111
+ } else {
112
+ this.value = ''
113
+ }
114
+ } else {
115
+ this.value = val
116
+ }
117
+ // this.changeval = val
118
+ },
119
+ getRes(obj) {
120
+ this.resids = obj.resids
121
+ this.organizationname = obj.res[0]
122
+ this.filterUser(this.resids)
123
+ this.$dispatch('re-res', obj)
124
+ },
125
+ async filterUser(resids) {
126
+ // 处理第一次进入页面值异常问题
127
+ if (resids.length > 0 && typeof resids[0] == "object") {
128
+ resids = resids[0]
129
+ }
130
+ if (resids[0]) {
131
+ this.source = `root.getResourceById($${resids[0]}$,$department$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($${this.roleName}$) != -1)`
132
+ await this.search()
133
+ }
134
+ this.users = []
135
+ this.allUsers.forEach(user => {
136
+ this.users.push({label: user.name, value: user.name})
137
+ })
138
+ if (!this.valueMultiple && this.users.length > 0) {
139
+ this.users = [{label: '全部', value: ''}, ...this.users]
140
+ }
141
+ let temp = []
142
+ this.users = this.users.filter(item => {
143
+ if (!temp.includes(item.label)) {
144
+ temp.push(item.label)
145
+ return true
146
+ }
147
+ return false
148
+ })
149
+ this.$emit('alluser', this.allUsers)
150
+ //tag
151
+ }
152
+ }
153
+ }
154
+ </script>
155
+
156
+ <style scoped>
157
+
158
+ </style>
@@ -206,7 +206,7 @@ export default {
206
206
  }else if(this.$login.f.orgid == 46997 && this.$login.f.fullnames.indexOf("铜川市天然气")!= -1){
207
207
  args.condition += ` and ti.f_user_state = '正常'`
208
208
  }else {
209
- args.condition += ` and ti.f_filialeid = '${this.$login.f.orgid}' and ti.f_user_state = '正常'`
209
+ args.condition += ` and ti.f_filialeid = '${this.$login.f.orgid}' and ti.f_user_state in('正常','停用','预备')`
210
210
  }
211
211
  this.model.search(args.condition, args.model)
212
212
  },
@@ -24,7 +24,7 @@
24
24
  <td style="text-align: center;">{{inlinemodel1.aState}}</td>
25
25
  <td style="text-align: center;">{{inlinemodel1.callingNo}}</td>
26
26
  <td style="text-align: center;">
27
- <button-link type="button" class="btn btn-link" @click="listen(inlinemodel1.aChannel)">监听</button-link>
27
+ <button-link type="button" class="btn btn-link" @click="listen(inlinemodel1)">监听</button-link>
28
28
  </td>
29
29
  </tr>
30
30
  <tr v-for="outlinemodel1 in outlinemodel" >
@@ -39,6 +39,25 @@
39
39
  </table>
40
40
  </div>
41
41
  </div>
42
+ <modal :show.sync="showlisten" width="50%" backdrop="false">
43
+ <header slot="modal-header" class="modal-header">
44
+ <center><h4 class="modal-title ">话务监听信息</h4></center>
45
+ </header>
46
+ <article slot="modal-body" class="modal-body" style="height: 100px;padding-top: 15px!important;">
47
+ <div class="row auto">
48
+ <label>坐席号码</label><span>{{lisachanl.aChannel}}</span>
49
+ </div>
50
+ <div class="row auto">
51
+ <label>话务人员</label><span>{{lisachanl.aName}}</span>
52
+ </div>
53
+ <div class="row auto">
54
+ <label>通话号码</label><span>{{lisachanl.callingNo}}</span>
55
+ </div>
56
+ </article>
57
+ <footer slot="modal-footer" class="modal-footer">
58
+ <button type="button" class="btn btn-success" @click='canal'>取消</button>
59
+ </footer>
60
+ </modal>
42
61
  </template>
43
62
 
44
63
  <script>
@@ -68,6 +87,12 @@
68
87
  },
69
88
  data () {
70
89
  return {
90
+ showlisten:false,
91
+ lisachanl:{
92
+ aChannel:0,
93
+ aName:'',
94
+ callingNo:''
95
+ },
71
96
  interval: null, // 循环函数返回值,用来停止循环
72
97
  inlinemodel:{
73
98
  type: Object,
@@ -81,18 +106,6 @@
81
106
  }
82
107
  },
83
108
  ready () {
84
- // 循环读取通道状态
85
- // let sql = 'tel_singleTable_OrderBy'
86
- // let condition = {
87
- // items: 'tongdao',
88
- // tablename: 'T_IPTONGDAO',
89
- // condition: `loginip = '${this.$login.f.loginip}'`,
90
- // orderitem: 'id'
91
- // }
92
- // let http = new HttpResetClass()
93
- // http.load('POST', `rs/logic/tel_getOneData`, {data: {sql: sql, params: condition}}, {resolveMsg: null, rejectMsg: null}).then((req) => {
94
- // this.aChannel = parseInt(req.data.tongdao);
95
- // })
96
109
  if(this.aChannel) {
97
110
  let gen = stateGen(this)
98
111
  co(gen)
@@ -105,13 +118,31 @@
105
118
 
106
119
  },
107
120
  methods: {
121
+ canal(){
122
+ this.lisachanl = {
123
+ aChannel:0,
124
+ aName:'',
125
+ callingNo:''
126
+ }
127
+ this.showlisten = false
128
+ },
108
129
  // 所有控制函数
109
130
  // 循环获取通道状态
110
- listen(val){
111
- val = val + ''
131
+ listen(val){
132
+ let valaChannel = val.aChannel + ''
112
133
  let http1 = new HttpResetClass()
113
- http1.load('POST', data.voiceUrl, {aId: Util.f.id, RecordsID:'',aChannel:this.aChannel, aModule:1, aBzType:"listen", bzExtra: val, bzId: "1", aName: Util.f.name,RoleId:"话务员"}, {resolveMsg: null, rejectMsg: null}).then((req) => {
134
+ http1.load('POST', data.voiceUrl, {aId: this.$login.f.id,aName: this.$login.f.name,aChannel:this.aChannel, aModule:1, aBzType:"listen", bzExtra: valaChannel, bzId: "1",RoleId:"话务员"}, {resolveMsg: null, rejectMsg: null}).then((req) => {
114
135
  //tag
136
+ if(req.data && req.data.msg == '开始监听'){
137
+ this.showlisten = true
138
+ this.lisachanl = {
139
+ aChannel:val.aChannel,
140
+ aName:val.aName,
141
+ callingNo:val.callingNo
142
+ }
143
+ }else{
144
+ this.$showMessage(`操作结果:${req.data.msg}`)
145
+ }
115
146
  })
116
147
  },
117
148
 
@@ -90,7 +90,6 @@
90
90
  title: '回访单',
91
91
  props: {
92
92
  contextxianshi:null,
93
- show: false,
94
93
  row:Object,
95
94
  phone:'',
96
95
  idwavfile:'',
@@ -191,14 +190,12 @@
191
190
  f_visitdate:this.getNowFormatDate(),
192
191
  f_record_sound:''
193
192
  })
194
- this.show=false
195
193
  this.$emit('visitback','commit')
196
194
  })
197
195
  },
198
196
  // 取消
199
197
  clearVisit () {
200
198
  this.$emit('visitback','nodo')
201
- this.show=false
202
199
  },
203
200
  callout(telnum){
204
201
  if(telnum){
@@ -229,13 +226,6 @@
229
226
  },
230
227
  },
231
228
  watch: {
232
- 'show' () {
233
- this.$emit('show-obj', {showVisit: this.show})
234
- },
235
- 'row' () {
236
- this.show=this.row;
237
- this.$emit('show-obj', {showVisit: this.show})
238
- },
239
229
  'phone'(val){
240
230
  this.model.f_phone = val
241
231
  }
@@ -14,7 +14,7 @@
14
14
  <reminder-order :call-obj="callObj" :login-user="loginUser" :row="row" @success="component = 'list'" @cancel="component = 'list'"></reminder-order>
15
15
  </div>
16
16
  <!-- 撤销-->
17
- <div class="" v-if="component === '结案'" style="height: 200px;">
17
+ <div class="" v-if="component === '结案' || component == 'serviceDelete'" style="height: 200px;">
18
18
  <service-delete-order :call-obj="callObj" :login-user="loginUser" :row="row" @success="sucs" @cancel="component = 'list'" ></service-delete-order>
19
19
  </div>
20
20
  <div class="" v-if="component === 'modify'">
@@ -122,7 +122,7 @@
122
122
  </div>
123
123
  <div v-show="$parent.$parent.$parent.canRemindChange(row) && row.f_workorder_type == '报修单' && row.f_state!='完成' ">
124
124
  <button type="button" class="btn btn-link" @click.stop="$parent.$parent.$parent.$emit('do', 'remind', row)" style="min-width: 30px;">催单</button>
125
- <button type="button" class="btn btn-link" @click.stop="$parent.$parent.$parent.$emit('do', 'modify', row)" style="min-width: 30px;">修改</button>
125
+ <button type="button" class="btn btn-link" @click.stop="$parent.$parent.$parent.$emit('do', 'modify', row)" v-show="row.f_source != '安检'" style="min-width: 30px;">修改</button>
126
126
  </div>
127
127
  <div v-show="$parent.$parent.$parent.canRemindChange(row) && row.f_workorder_type == '置换通气单' && row.f_state!='完成' ">
128
128
  <button type="button" class="btn btn-link" @click.stop="$parent.$parent.$parent.$emit('do', 'remind', row)" style="min-width: 30px;">催单</button>
@@ -114,12 +114,30 @@
114
114
  <p>{{ activity.f_operator }}将工单{{activity.f_back_type}}</p>
115
115
  <p v-if="activity.f_remarks">原因:{{ activity.f_remarks }}</p>
116
116
  </div>
117
+ <!-- 工单打回 工单打回旧版使用t_site_back,兼容之前的逻辑。新版本无需调整此项-->
118
+ <div style="margin-top: 5px" v-if="activity.type === 't_site_back'">
119
+ <p>{{ activity.f_site_back_date }}</p>
120
+ <p>{{ activity.f_site_back_name }}将工单打回</p>
121
+ <p>原因:{{ activity.f_site_back_reason }}</p>
122
+ </div>
123
+ <!-- 未维修,属于维修员打回 兼容之前的逻辑。新版本无需调整此项 -->
124
+ <div style="margin-top: 5px" v-if="activity.type === 't_notwork'">
125
+ <p>{{ activity.f_date }}</p>
126
+ <p>{{ activity.f_name }}未处理</p>
127
+ <p>原因:{{ activity.f_reason }}</p>
128
+ </div>
117
129
  <!-- 用户催单 -->
118
130
  <div style="margin-top: 5px" v-if="activity.type === 't_reminder'">
119
131
  <p>{{ activity.f_reminder_date }}</p>
120
132
  <p>用户催单</p>
121
133
  <p>催单内容:{{ activity.f_content }}</p>
122
134
  </div>
135
+ <!-- 工单撤回 -->
136
+ <div style="margin-top: 5px" v-if="activity.type === 't_recall'">
137
+ <p>{{ activity.f_recall_date }}</p>
138
+ <p>{{ activity.f_recall_name }}撤回工单</p>
139
+ <p>备注:{{ activity.f_remarks }}</p>
140
+ </div>
123
141
  <!-- 工单信息补充 -->
124
142
  <div style="margin-top: 5px" v-if="activity.type === 't_telinformation'">
125
143
  <p>{{ activity.f_information_date }}</p>
@@ -270,7 +288,7 @@
270
288
  <div class="col-sm-12 form-input-group" >
271
289
  <label class="font_normal_body" style="width: 10%" v-if="rowOne.f_workorder_type === '咨询单'">咨询内容</label>
272
290
  <label class="font_normal_body" style="width: 10%" v-if="rowOne.f_workorder_type === '投诉单'">投诉内容</label>
273
- <textarea name="name" rows="3" v-model="rowOne.f_content"
291
+ <textarea name="name" rows="3" v-model="rowOne.f_content || service.f_content"
274
292
  class="form-control ver-textarea" id="f_content" name="f_content" readonly="readonly"></textarea>
275
293
  </div>
276
294
  <div class="col-sm-4 form-group form-input-group" >
@@ -295,7 +313,7 @@
295
313
  </div>
296
314
  <div class="col-sm-12 form-input-group">
297
315
  <label class="font_normal_body" style="width: 10%">处理结果</label>
298
- <textarea name="name" rows="3" v-model="complanResult.f_complaint_results"
316
+ <textarea name="name" rows="3" v-model="complanResult.f_complaint_results || '已处理'"
299
317
  class="form-control ver-textarea" readonly="readonly"></textarea>
300
318
  </div>
301
319
  </div>
@@ -267,7 +267,7 @@
267
267
  <header slot="modal-header" class="modal-header">
268
268
  </header>
269
269
  <article slot="modal-body" class="modal-body">
270
- <visit-info-xin v-if="showVisit" :row="visitrow" :phone="wavflie" :outltime="outltime" @show-obj="watchShow"></visit-info-xin>
270
+ <visit-info v-if="showVisit" :row="visitrow" :phone="wavflie" :outltime="outltime" @show-obj="watchShow"></visit-info>
271
271
  </article>
272
272
  <footer slot="modal-footer" class="modal-footer">
273
273
  </footer>
@@ -8,7 +8,7 @@
8
8
  <div class="col-sm-3 form-group form-input-group" style="width: 20%">
9
9
  <label class="font_normal_body" style="width: 40%">工单编号</label>
10
10
  <input type="text" class="input_search" v-model="model.f_service_id" placeholder='工单编号'
11
- condition="f_service_id like '%{}%'"
11
+ condition="tswo.f_service_id like '%{}%'"
12
12
  :size="model.f_service_id ? model.f_service_id.length : 6">
13
13
  </div>
14
14
  <div class="col-sm-3 form-group form-input-group" style="width: 20%">
@@ -248,6 +248,9 @@
248
248
  <th>
249
249
  <nobr>工单结果</nobr>
250
250
  </th>
251
+ <th>
252
+ <nobr>维护信息</nobr>
253
+ </th>
251
254
  </tr>
252
255
  </template>
253
256
  <template partial='body'>
@@ -321,6 +324,9 @@
321
324
  <td style="text-align: center;">
322
325
  <nobr>{{ row.f_result_status }}</nobr>
323
326
  </td>
327
+ <td style="text-align: center;">
328
+ <nobr>{{ row.f_content }}</nobr>
329
+ </td>
324
330
 
325
331
 
326
332
  </template>
@@ -415,10 +421,10 @@ export default {
415
421
  tfoot: '',
416
422
  zhihuans: [{label: '全部', value: ''}, {label: '正常', value: '正常'}, {label: '异常', value: '异常'}],
417
423
  headData: ['工单类型', '工单编号', '派单时间','客户信息', '联系电话', '故障明细', '工单来源', '工单状态', '派单人', '话务员','接单员',
418
- '结单时间','到达时间', '离开时间','逾期状态','截止时间','工单结果'],
424
+ '结单时间','到达时间', '离开时间','逾期状态','截止时间','工单结果','维护信息'],
419
425
  bodyData: ['f_workorder_type', 'f_service_id', 'f_created_date', 'f_customer_info_show','f_contact_phone', 'f_json', 'f_source',
420
426
  'f_state_show', 'f_single_man','f_attendant','f_order_man','f_date','f_date_come','f_date_leave',
421
- 'f_overdue_show','f_finish_time_show','f_result_status'],
427
+ 'f_overdue_show','f_finish_time_show','f_result_status','f_content'],
422
428
  searchData: {
423
429
  condition: '1=1'
424
430
  },
@@ -440,6 +446,7 @@ export default {
440
446
  'f_overdue_show': '逾期状态',
441
447
  'f_finish_time_show': '截止时间',
442
448
  'f_result_status': '工单结果',
449
+ 'f_content': '维护信息'
443
450
  },
444
451
  criteriaShow: false
445
452
  }