telephone-clients 3.0.104-5 → 3.0.104-51

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 (51) hide show
  1. package/package.json +3 -3
  2. package/src/components/guoxin/Console.vue +42 -14
  3. package/src/components/guoxin/call.state.api.js +3 -1
  4. package/src/components/pc/RecordListLeft.vue +39 -10
  5. package/src/components/pc/RepairsWork.vue +30 -3
  6. package/src/components/pc/SiteSend.vue +36 -1
  7. package/src/components/pc/TelLossList.vue +18 -1
  8. package/src/components/pc/WorkList.vue +2 -1
  9. package/src/components/pc/WorkListAllNew.vue +16 -8
  10. package/src/components/sendsingle/onlinequeryuser.vue +1 -1
  11. package/src/components/telreport/TrafficClassificationReport.vue +10 -9
  12. package/src/components/temp/HandplanInfo.vue +5 -1
  13. package/src/components/temp/InstructInfo.vue +1 -1
  14. package/src/components/workorder/RepairPaperAndroid.vue +351 -0
  15. package/src/components/workorder/ServiceOnlineQuery.vue +306 -0
  16. package/src/filiale/hanzhong/telephone.js +1 -1
  17. package/src/filiale/jiaocheng/android/createQRcode.vue +204 -0
  18. package/src/filiale/jiaocheng/android/onlineBuyGas.vue +637 -0
  19. package/src/filiale/jiaocheng/telephone.js +8 -0
  20. package/src/filiale/jiaocheng/telephoneAndroid.js +15 -0
  21. package/src/filiale/qianneng/android/AppInstallationMaterial.vue +878 -845
  22. package/src/filiale/rizhao/pc/WorkListAllNew.vue +9 -5
  23. package/src/filiale/rizhao/telephone.js +1 -1
  24. package/src/filiale/shanxian/pc/TelFindUser.vue +310 -0
  25. package/src/filiale/shanxian/pc/WorkList.vue +2 -2
  26. package/src/filiale/shanxian/telephone.js +1 -0
  27. package/src/filiale/shexian/android/AddMyTask.vue +7 -0
  28. package/src/filiale/shexian/android/RepairFirstV.vue +5 -0
  29. package/src/filiale/shexian/android/RepairInfo.vue +1 -0
  30. package/src/filiale/shexian/pc/TelAgentVoiceReport.vue +9 -9
  31. package/src/filiale/shexian/pc/WorkList.vue +4 -1
  32. package/src/filiale/shexian/pc/WorkListAllNew.vue +14 -1
  33. package/src/filiale/tongchuan/android/RepairDetails.vue +623 -0
  34. package/src/filiale/tongchuan/pc/AnalysisMain.vue +7 -7
  35. package/src/filiale/tongchuan/telephoneAndroid.js +1 -0
  36. package/src/filiale/wenxi/android/FaultAll.vue +710 -0
  37. package/src/filiale/wenxi/android/RepairOrderV.vue +1 -1
  38. package/src/filiale/wenxi/android/ZHihuanFirst.vue +3 -0
  39. package/src/filiale/wenxi/pc/DistributeWork.vue +1 -1
  40. package/src/filiale/wenxi/pc/RepairsWork.vue +143 -64
  41. package/src/filiale/wenxi/pc/TelAgentVoiceReport.vue +290 -0
  42. package/src/filiale/wenxi/pc/WorkListAll.vue +1 -1
  43. package/src/filiale/wenxi/telephone.js +2 -0
  44. package/src/filiale/wenxi/telephoneAndroid.js +2 -1
  45. package/src/filiale/wuhai/telephone.js +1 -1
  46. package/src/filiale/yuncheng/pc/TelFindUser.vue +14 -1
  47. package/src/filiale/yuncheng/pc/WorkList.vue +823 -0
  48. package/src/filiale/yuncheng/pc/WorkListAllNew.vue +722 -0
  49. package/src/filiale/yuncheng/telephone.js +3 -1
  50. package/src/telephone-android.js +6 -0
  51. package/src/telephone.js +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "telephone-clients",
3
- "version": "3.0.104-5",
3
+ "version": "3.0.104-51",
4
4
  "description": "呼叫模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -94,11 +94,11 @@
94
94
  "sinon-chai": "^2.8.0",
95
95
  "style": "0.0.3",
96
96
  "style-loader": "^0.20.3",
97
- "system-clients": "3.2.74",
97
+ "system-clients": "3.2.61",
98
98
  "system-phone": "1.2.100",
99
99
  "terser-webpack-plugin-legacy": "^1.2.5",
100
100
  "url-loader": "^0.5.7",
101
- "vue-client": "1.24.113",
101
+ "vue-client": "1.24.116",
102
102
  "vue-hot-reload-api": "^1.2.0",
103
103
  "vue-html-loader": "^1.0.0",
104
104
  "vue-loader": "^8.2.1",
@@ -96,6 +96,8 @@
96
96
  initPhone: '',
97
97
  phonelist: [],
98
98
  timeSubscribeId:null,
99
+ timeZhiXianId:null,
100
+ timeZhiXianFen:300,
99
101
  list: [],
100
102
  newPhone: '',
101
103
  interval: null, // 循环函数返回值,用来停止循环
@@ -141,7 +143,7 @@
141
143
  //tag;
142
144
  };
143
145
  this.$webSocket.onCallState = (event) => {
144
- //tag);
146
+ console.log('国信websocaket返回得数据:')
145
147
  const json = event;
146
148
  // 弹屏通知
147
149
  const id = json.id;
@@ -161,10 +163,12 @@
161
163
  //tag
162
164
  this.currentState = '已挂机'
163
165
  this.currentState = '正在保存'
166
+ this.timeZhiXian()
164
167
  } else if (state == "canceled") {
165
168
  //tag
166
169
  this.currentState = '已停止呼叫'
167
170
  this.currentState = '正在保存'
171
+ this.timeZhiXian()
168
172
  //这里发送置忙请求
169
173
  } else if (state == "calling") {
170
174
  //tag
@@ -179,16 +183,16 @@
179
183
  }
180
184
  this.showip = !this.showip
181
185
  },
182
- created() {
183
- window.addEventListener('beforeunload', this.handleBeforeUnload);
184
- },
186
+ // created() {
187
+ // window.addEventListener('beforeunload', this.handleBeforeUnload);
188
+ // },
185
189
  methods: {
186
- handleBeforeUnload(){
187
- if(this.$webSocket){
188
- this.zhimang();
189
- this.$webSocket.closeWebsocket()
190
- }
191
- },
190
+ // handleBeforeUnload(){
191
+ // if(this.$webSocket){
192
+ // this.zhimang();
193
+ // this.$webSocket.closeWebsocket()
194
+ // }
195
+ // },
192
196
  changeGroup(){
193
197
  let name = this.groupName == '话务分组' ? '值班分组':'话务分组'
194
198
  this.$showMessage(`确定要更改分组为${name}吗?`, ['confirm', 'cancel']).then(res=>{
@@ -245,6 +249,7 @@
245
249
  new HttpResetClass().load('POST',`/bridge/callctrl?extnum=${this.aChannel}&state=busy&opt=SET_EXT_PRESENCE_STATE`,{},{resolveMsg:null,rejectMsg:null}).then(res=>{
246
250
  if(res.data === 200){
247
251
  this.currentState = '忙'
252
+ this.timeZhiXianId = null
248
253
  }else if (res.data === 400){
249
254
  this.$showMessage('参数错误,置忙失败')
250
255
  }else if (res.data === 404){
@@ -258,9 +263,9 @@
258
263
  new HttpResetClass().load('POST',`bridge/callctrl?extnum=${this.aChannel}&state=online&opt=SET_EXT_PRESENCE_STATE`,{},{resolveMsg:null,rejectMsg:null}).then(res=>{
259
264
  if(res.data === 200){
260
265
  this.currentState = '空闲'
266
+ this.timeZhiXianId = null
261
267
  }else if (res.data === 400){
262
268
  this.$showMessage('参数错误,置忙失败')
263
-
264
269
  }else if (res.data === 404){
265
270
  // this.$showMessage('目标分机不存在,置忙失败')
266
271
  this.currentState = '登录错误'
@@ -284,6 +289,23 @@
284
289
  }
285
290
  }, (60 * 1000));
286
291
  },
292
+ timeZhiXian() {
293
+ let flag = this.$appdata.getSingleValue("是否自动置闲")
294
+ if(!flag){
295
+ return
296
+ }
297
+ let time = this.$appdata.getSingleValue('自动置闲时间')
298
+ if(time){
299
+ this.timeZhiXianFen = time
300
+ }
301
+ this.timeZhiXianId = setTimeout(()=> {
302
+ try {
303
+ this.zhixian();
304
+ } catch(err) {
305
+ //tag;
306
+ }
307
+ }, (this.timeZhiXianFen * 1000));
308
+ },
287
309
  // 确认
288
310
  confirm() {
289
311
  //tag
@@ -313,14 +335,20 @@
313
335
  }
314
336
  },
315
337
  },
316
- beforeDestroy() {
338
+ destroyed () {
317
339
  //国信置忙代表登出
318
-
319
340
  if(this.$webSocket){
320
341
  this.zhimang();
321
342
  this.$webSocket.closeWebsocket()
322
343
  }
323
- }
344
+ },
345
+ // beforeDestroy() {
346
+ // //国信置忙代表登出
347
+ // if(this.$webSocket){
348
+ // this.zhimang();
349
+ // this.$webSocket.closeWebsocket()
350
+ // }
351
+ // }
324
352
  }
325
353
  </script>
326
354
  <style lang="less">
@@ -104,11 +104,13 @@ import ReconnectingWebSocket from './reconnecting-websocket.min'
104
104
 
105
105
  // 发送消息给服务器
106
106
  function wsMsgSend(msg) {
107
+ console.log('国信发送订阅1')
107
108
  if (!window.WebSocket) {
108
109
  return;
109
110
  }
110
-
111
+ console.log('国信发送订阅2')
111
112
  if (self.socket.readyState == WebSocket.OPEN) {
113
+ console.log('国信发送订阅3')
112
114
  // //tag;
113
115
  self.socket.send(msg);
114
116
  }
@@ -4,6 +4,11 @@
4
4
  <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.search'>
5
5
  <div novalidate class="select-overspread form-horizontal" partial>
6
6
  <div class="row" >
7
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%" v-if="$parent.$parent.flag == '是'">
8
+ <label class="font_normal_body" style="width: 40%">公&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;司</label>
9
+ <right-tree :userid.sync='$parent.$parent.userid' style="width: 60%;"
10
+ :source.sync='$parent.$parent.source' @re-res="$parent.$parent.getRes"></right-tree>
11
+ </div>
7
12
  <div class="col-sm-3 form-group form-input-group" style="width: 20%">
8
13
  <label class="font_normal_body" style="width: 40%">录音&emsp;ID</label>
9
14
  <input type="text" class="form-control" v-model="model.id" placeholder='录音ID'
@@ -22,16 +27,6 @@
22
27
  condition="telname like '%{}%'"
23
28
  :size="model.telname ? model.telname.length : 7">
24
29
  </div>
25
- <div class="col-sm-3 form-group form-input-group" style="width: 20%" >
26
- <label class="font_normal_body" style="width: 40%">电话类型</label>
27
- <v-select :value.sync="model.teltype" :value-single="true"
28
- v-model="model.teltype"
29
- condition="teltype='{}'"
30
- :options='$parent.$parent.LoggedStates' placeholder='电话类型'
31
- close-on-select >
32
- </v-select>
33
-
34
- </div>
35
30
 
36
31
  <div style="float: right;" class="form-group span">
37
32
  <button type="button" name="button"
@@ -43,6 +38,16 @@
43
38
  @click="$parent.$parent.hidden()"></div>
44
39
  </div>
45
40
 
41
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%" v-if="$parent.$parent.criteriaShow">
42
+ <label class="font_normal_body" style="width: 40%">电话类型</label>
43
+ <v-select :value.sync="model.teltype" :value-single="true"
44
+ v-model="model.teltype"
45
+ condition="teltype='{}'"
46
+ :options='$parent.$parent.LoggedStates' placeholder='电话类型'
47
+ close-on-select >
48
+ </v-select>
49
+
50
+ </div>
46
51
  <div class="col-sm-3 form-group form-input-group" style="width: 20%" v-if="$parent.$parent.criteriaShow">
47
52
  <label class="font_normal_body" style="width: 40%">开始时间</label>
48
53
  <datepicker placeholder="开始时间"
@@ -154,15 +159,33 @@ export default {
154
159
  wavflie : '',
155
160
  msgs: [],
156
161
  infoobj:Object,
162
+ userid: this.$login.f.id,
163
+ source: 'tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() == $organization$))', //获取公司参数
164
+ flag: '',
165
+ f_filiale_id: ''
157
166
  }
158
167
  },props: {
159
168
 
160
169
  },
161
170
  ready () {
171
+ this.flag = this.$appdata.getSingleValue('电话记录只查当前公司')
172
+ if (this.flag) {
173
+ if (this.flag == '是') {
174
+ this.model.f_filiale = this.$login.f.f_fengongsi
175
+ this.model.f_filiale_id = this.$login.f.f_orgids
176
+ }
177
+ }
162
178
  },
163
179
  watch: {
164
180
  },
165
181
  methods: {
182
+ getRes (obj) {
183
+ this.f_filiale_id = this.$login.convertToIn(obj.resids)
184
+ console.log('--------------------')
185
+ console.log(this.f_filiale_id)
186
+ this.orgname = obj.res[0]
187
+ this.$set('orgname', obj.res[0])
188
+ },
166
189
  hidden () {
167
190
  this.criteriaShow = !this.criteriaShow
168
191
  },
@@ -171,6 +194,12 @@ export default {
171
194
  //tag
172
195
  },
173
196
  search(args) {
197
+ console.log(this.f_filiale_id)
198
+ if (this.flag == '是') {
199
+ if (this.f_filiale_id) {
200
+ args.condition = args.condition + ' and f_filiale_id in ' + this.f_filiale_id
201
+ }
202
+ }
174
203
  this.model.search(args.condition, args.model)
175
204
  },
176
205
  clearmsg(){
@@ -208,6 +208,10 @@
208
208
  type: String,
209
209
  default: '转维修员'
210
210
  },
211
+ telsource:{
212
+ type: String,
213
+ default: '转维修员'
214
+ },
211
215
  // 其他类型工单提交,清空控制
212
216
  cleantf: {
213
217
  type: Number
@@ -231,7 +235,7 @@
231
235
  f_residential_area: ''
232
236
  },
233
237
  residentialquery: '',
234
- servicesource:'用户来电', // 工单来源
238
+ servicesource:'话务来电', // 工单来源
235
239
  areacondition: '',
236
240
  testdata: {f_equipment: ''},
237
241
  residentialTemplate: 'f_villagename',
@@ -242,12 +246,13 @@
242
246
  f_service_acitivity_type: '派单'
243
247
  }],
244
248
  f_finish_date:'',
245
- f_source:'用户来电',
249
+ f_source:'话务来电',
246
250
  f_service_id: '',
247
251
  f_contact_phone: '',
248
252
  f_meetunit: '',
249
253
  f_phone: '',
250
254
  f_user_name: '',
255
+ failure:'',
251
256
  f_address: '',
252
257
  f_json: '',
253
258
  f_repair_date: Util.getNowDate(),
@@ -292,13 +297,18 @@
292
297
  'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
293
298
  'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
294
299
  userid: this.$login.f.id,
300
+ is_to_other :false,
295
301
  repairers: [] // 维修员
296
302
  }
297
303
  },
298
304
  ready() {
299
305
  // 获取sendType.json配置信息 获取派单类型 转站点,转维修员,自选模式
300
306
  getSendType(this)
301
-
307
+ if (this.$appdata.getSingleValue('转班组长') && this.$appdata.getSingleValue('转班组长') == 'true'){
308
+ this.is_to_other = true
309
+ this.source = 'dep=this.getParentByType($organization$).getSpecialResByType($department$),tool.getFullTree(dep.where(row.hasSpecialRole($班组长$)))'
310
+ }
311
+ this.model.f_source = this.telsource == '转维修员' ? '部门派单':'话务来电'
302
312
  },
303
313
  methods: {
304
314
  // 当维修员发生改变,获取维修员手机号
@@ -621,6 +631,11 @@
621
631
  }
622
632
  data.model.f_state = null
623
633
  this.saveing = true
634
+
635
+ if (this.is_to_other){
636
+ data.is_to_other = 'true'
637
+ }
638
+
624
639
  return this.$resetpost(url, data).then((data) => {
625
640
  if(data.data && data.data.id){
626
641
  this.id = JSON.parse(data.data.id).id
@@ -637,6 +652,8 @@
637
652
  Util.afterCallBz(this.$login.f.id, this.$login.f.name)
638
653
  }
639
654
  this.saveing = false
655
+ }).catch(error=>{
656
+ this.saveing = false
640
657
  })
641
658
  },
642
659
  address() {
@@ -696,6 +713,13 @@
696
713
  },
697
714
  },
698
715
  watch: {
716
+ 'telsource'(){
717
+ if(this.telsource == '转站点' ) {
718
+ this.servicesource = '话务来电'
719
+ }else{
720
+ this.servicesource = '部门派单'
721
+ }
722
+ },
699
723
  // 转接类型
700
724
  'model.f_handlingtype'(){
701
725
  if(this.operType === '修改工单'){
@@ -767,6 +791,9 @@
767
791
  getTestData() {
768
792
  return this.testdata
769
793
  },
794
+ getSource() {
795
+ return this.servicesource
796
+ },
770
797
  serviceacitivity() {
771
798
  return this.model.serviceacitivity.find((row) => {
772
799
  return row.f_service_acitivity_type === '派单'
@@ -15,7 +15,24 @@
15
15
  <progress-bar v-if="btnshow" :label="bartext" :color="barcolor" :percentage="barperc"
16
16
  :height="barheight"></progress-bar>
17
17
  <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
18
- <div class="row">
18
+ <div class="row" v-if="issitesend && source != 'mobile'">
19
+ <div class="col-sm-5 form-group form-input-group">
20
+ <label class="col-sm-5" >派单类型:</label>
21
+ <v-select :value.sync="f_handlingtype" :value-single="true"
22
+ :options='handling' placeholder='派单类型'
23
+ close-on-select :max-height="120"></v-select>
24
+ </div>
25
+ </div>
26
+ <div class="row" v-if="f_handlingtype == '转站点'">
27
+ <div class="col-sm-5 form-group form-input-group">
28
+ <label class="col-sm-5" >接单站点:</label>
29
+ <input style="width: 60%" type="text" v-show="false" v-model="row.serviceacitivity[0].f_reciever">
30
+ <right-tree islist :userid="userid" :source="sourcesite" v-on:re-res="reres" :textContent="选择站点管理员" :selectData="" v-ref:f_reciever>
31
+
32
+ </right-tree>
33
+ </div>
34
+ </div>
35
+ <div class="row" v-if="f_handlingtype == '转维修员'">
19
36
  <div class="col-sm-5 form-group form-input-group">
20
37
  <label class="col-sm-5" >接&ensp;单&ensp;人:</label>
21
38
  <v-select :value="row.serviceacitivity[0].f_reciever" :value-single="true"
@@ -59,6 +76,13 @@ export default {
59
76
  },
60
77
  data () {
61
78
  return {
79
+ sourcesite:
80
+ 'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
81
+ 'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
82
+ userid: this.$login.f.id,
83
+ f_handlingtype:'转维修员',
84
+ handling:[{label:'转站点',value:'转站点'},{label:'转维修员',value:'转维修员'}],
85
+ issitesend:this.$appdata.getSingleValue('是否允许站点转站点'),
62
86
  saveing:false,
63
87
  show: false,
64
88
  btnshow: false,
@@ -95,6 +119,14 @@ export default {
95
119
  }
96
120
  },
97
121
  methods: {
122
+ // 选中部门
123
+ reres(val){
124
+ if(val.res == undefined || val.res[0] == undefined || val.res[0] == ''){
125
+ return
126
+ }
127
+ this.row.serviceacitivity[0].f_meetunit = val.res[0]
128
+ this.row.serviceacitivity[0].f_reciever = val.resids[0]
129
+ },
98
130
  repiarmancg (val) {
99
131
  if (val.isTrusted){
100
132
  return
@@ -127,16 +159,19 @@ export default {
127
159
  if (this.source == 'mobile') {
128
160
  data = {
129
161
  model: userdata,
162
+ f_handlingtype:this.f_handlingtype,
130
163
  loginUser: {name: Vue.user.name, ename: Vue.user.ename}
131
164
  // adduser:{userinfo: result, devices: []}
132
165
  }
133
166
  } else {
134
167
  data = {
135
168
  model: userdata,
169
+ f_handlingtype:this.f_handlingtype,
136
170
  loginUser: {name: this.$login.f.name, ename: this.$login.f.ename}
137
171
  // adduser:{userinfo: result, devices: []}
138
172
  }
139
173
  }
174
+
140
175
  data.message = true
141
176
  this.saveing = true
142
177
  let HttpReset = new HttpResetClass()
@@ -52,6 +52,12 @@
52
52
  <div style="float: right;" class="form-group span">
53
53
  <button type="button" name="button"
54
54
  class="button_search button_spacing" @click="search(),$dispatch('search')" style="z-index: 2">查询</button>
55
+ <export-excel-tel
56
+ :data="$parent.$parent.searchData"
57
+ :field="$parent.$parent.excelHeaders"
58
+ sqlurl="rs/logic/telephoneExport" sql-name="tel_singleTable_OrderBy" template-name='呼损记录导出'
59
+ :choose-col="false">
60
+ </export-excel-tel>
55
61
  </div>
56
62
  </div>
57
63
  </div>
@@ -109,7 +115,17 @@ export default {
109
115
  pendingCount: 0,
110
116
  serobj:Object,
111
117
  showVisit:false,
112
- outltime:this.getNowFormatDate()
118
+ outltime:this.getNowFormatDate(),
119
+ searchData:{
120
+ items: "*",
121
+ tablename: "t_records",
122
+ orderitem: "outltime desc",
123
+ condition: '1=1'
124
+ },
125
+ excelHeaders: {
126
+ 'telnum': '电话号码',
127
+ 'outltime': '来电时间',
128
+ },
113
129
  }
114
130
  },
115
131
  ready () {
@@ -240,6 +256,7 @@ export default {
240
256
  }
241
257
  }
242
258
  args.condition += " AND isnull(starttime,'') = '' AND isnull(findtime,'') != ''"
259
+ this.searchData.condition = args.condition
243
260
  this.model.search(args.condition)
244
261
  },
245
262
  },
@@ -646,7 +646,8 @@ export default {
646
646
  },
647
647
  proc (selectone, type) {
648
648
  this.editflag = type
649
- this.selectone = selectone
649
+ //this.selectone = selectone
650
+ this.selectone = Object.assign({},selectone)
650
651
  },
651
652
  complanReview (itemVal, type) {
652
653
  //tag
@@ -251,6 +251,9 @@
251
251
  <th>
252
252
  <nobr>维护信息</nobr>
253
253
  </th>
254
+ <th>
255
+ <nobr>备注</nobr>
256
+ </th>
254
257
  </tr>
255
258
  </template>
256
259
  <template partial='body'>
@@ -316,10 +319,10 @@
316
319
  </td>
317
320
 
318
321
  <td style="text-align: center;">
319
- <nobr>{{ $parent.$parent.$parent.d1(row)}}</nobr>
322
+ <nobr>{{ row.f_overdue_show}}</nobr>
320
323
  </td>
321
324
  <td style="text-align: center;">
322
- <nobr>{{ row.f_finish_date == '1900-01-01 00:00:00' ? '' : row.f_finish_date}}</nobr>
325
+ <nobr>{{ row.f_finish_time_show }}</nobr>
323
326
  </td>
324
327
  <td style="text-align: center;">
325
328
  <nobr>{{ row.f_result_status }}</nobr>
@@ -327,6 +330,9 @@
327
330
  <td style="text-align: center;">
328
331
  <nobr>{{ row.f_content }}</nobr>
329
332
  </td>
333
+ <td style="text-align: center;">
334
+ <nobr>{{ row.f_remarks }}</nobr>
335
+ </td>
330
336
 
331
337
 
332
338
  </template>
@@ -420,11 +426,11 @@ export default {
420
426
  thead: '',
421
427
  tfoot: '',
422
428
  zhihuans: [{label: '全部', value: ''}, {label: '正常', value: '正常'}, {label: '异常', value: '异常'}],
423
- headData: ['工单类型', '工单编号', '派单时间','客户信息', '联系电话', '故障明细', '工单来源', '工单状态', '派单人', '话务员','接单员',
424
- '结单时间','到达时间', '离开时间','逾期状态','截止时间','工单结果','维护信息'],
425
- bodyData: ['f_workorder_type', 'f_service_id', 'f_created_date', 'f_customer_info_show','f_contact_phone', 'f_json', 'f_source',
429
+ headData: ['工单类型', '工单编号', '派单时间','客户姓名','客户地址', '联系电话', '故障明细', '工单来源', '工单状态', '派单人', '话务员','接单员',
430
+ '结单时间','到达时间', '离开时间','逾期状态','截止时间','工单结果','维护信息','备注'],
431
+ bodyData: ['f_workorder_type', 'f_service_id', 'f_created_date', 'f_user_name','f_address','f_contact_phone', 'f_json', 'f_source',
426
432
  'f_state_show', 'f_single_man','f_attendant','f_order_man','f_date','f_date_come','f_date_leave',
427
- 'f_overdue_show','f_finish_time_show','f_result_status','f_content'],
433
+ 'f_overdue_show','f_finish_time_show','f_result_status','f_content','f_remarks'],
428
434
  searchData: {
429
435
  condition: '1=1'
430
436
  },
@@ -432,7 +438,8 @@ export default {
432
438
  'f_workorder_type': '工单类型',
433
439
  'f_service_id': '工单编号',
434
440
  'f_created_date': '派单时间',
435
- 'f_customer_info_show': '客户信息',
441
+ 'f_user_name': '客户姓名',
442
+ 'f_address': '客户地址',
436
443
  'f_contact_phone': '联系电话',
437
444
  'f_json': '故障明细',
438
445
  'f_source': '工单来源',
@@ -446,7 +453,8 @@ export default {
446
453
  'f_overdue_show': '逾期状态',
447
454
  'f_finish_time_show': '截止时间',
448
455
  'f_result_status': '工单结果',
449
- 'f_content': '维护信息'
456
+ 'f_content': '维护信息',
457
+ 'f_remarks':'备注'
450
458
  },
451
459
  criteriaShow: false
452
460
  }
@@ -76,7 +76,7 @@
76
76
  <label class="font text-left">用户姓名:</label>
77
77
  </div>
78
78
  <div class="col-xs-8" >
79
- <input class="search_input input-font" v-model="model.f_user_name" condition="ui.f_user_name = '{}'" />
79
+ <input class="search_input input-font" v-model="model.f_user_name" condition="ui.f_user_name like '%{}%'" />
80
80
  </div>
81
81
  </div>
82
82
  <div class="row app-row">
@@ -31,6 +31,7 @@
31
31
  <v-select :value.sync="model.attendants"
32
32
  :options='$parent.$parent.operators'
33
33
  placeholder='请选择话务员'
34
+ :multiple="true"
34
35
  style="width: 60%"
35
36
  ></v-select>
36
37
  </div>
@@ -99,17 +100,17 @@
99
100
  this.model.f_filialeid = this.$login.convertToIn(obj.resids);
100
101
  },
101
102
  search(args){
102
- debugger
103
103
  if (args.model.attendants && args.model.attendants.length>0){
104
- // let attStr = "("
105
- // for (let attendantKey in args.model.attendants) {
106
- // attStr +=`'${args.model.attendants[attendantKey]}',`
107
- // }
108
- // attStr+="'')"
109
- // args.model.attendant = attStr
110
- args.model.attendant = args.model.attendants[0]
104
+ let attStr = ""
105
+ for (let attendantKey in args.model.attendants) {
106
+ attStr +=`'${args.model.attendants[attendantKey]}',',',`
107
+ }
108
+ attStr=attStr.substring(0, attStr.length-1)
109
+ args.model.attendant = attStr
110
+ // args.model.attendant = args.model.attendants[0]
111
111
  }else {
112
- args.model.attendant = ""
112
+ this.$showMessage('请选择话务员')
113
+ return
113
114
  }
114
115
  this.model.search('1=1',args.model)
115
116
  }
@@ -45,7 +45,7 @@
45
45
  title: '抄表记录',
46
46
  data () {
47
47
  return {
48
- model: new PagedList((this.user && this.user.isphone) ? '${this.$androidUtil.getProxyUrl()}/' : '' + 'rs/sql/tel_singleTable_OrderBy', 8, {items: '"*"', tablename: 'this.tablename', orderitem: '"id desc"'}),
48
+ model: new PagedList((this.user && this.user.isphone) ? '${this.$androidUtil.getProxyUrl()}/' : '' + 'rs/sql/tel_singleTable_OrderBy', 8, {items: '"*"', tablename: 'this.tablename', orderitem: '"f_hand_date desc"'}),
49
49
  show: false,
50
50
  row: Object
51
51
  }
@@ -74,6 +74,10 @@
74
74
  this.model.rows = []
75
75
  }
76
76
  },
77
+ /*
78
+ 1.12月18 2W
79
+ 2.1月18
80
+ */
77
81
  ready () {
78
82
  if (this.user && this.user.f_userinfo_id) {
79
83
  if(this.user.f_meter_classify == '物联网表'){
@@ -45,7 +45,7 @@
45
45
  title: '指令查看',
46
46
  data () {
47
47
  return {
48
- model: new PagedList('rs/sql/tel_singleTable_OrderBy', 8, {items: '"f_callback_date,f_instruct_date,f_receive_state,f_instruct_state,f_instruct_title,f_meternumber,f_instruct_type,f_manufacturers"', tablename: '"t_instruct with (nolock)"', orderitem: '"f_callback_date desc"'}),
48
+ model: new PagedList('rs/sql/tel_singleTable_OrderBy', 8, {items: '"f_callback_date,f_instruct_date,f_receive_state,f_instruct_state,f_instruct_title,f_meternumber,f_instruct_type,f_manufacturers"', tablename: '"t_instruct with (nolock)"', orderitem: '"f_instruct_date desc"'}),
49
49
  show: false,
50
50
  row: Object
51
51
  }