telephone-clients 3.0.103-9 → 3.0.103-91

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 (98) hide show
  1. package/package.json +3 -3
  2. package/src/App.vue +5 -3
  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/pc/NewRepairPaper.vue +2 -2
  8. package/src/components/pc/RepairsWork.vue +19 -0
  9. package/src/components/pc/RoleSelectorDep.vue +158 -0
  10. package/src/components/pc/TelFindUser.vue +1 -1
  11. package/src/components/pc/TelListener.vue +47 -16
  12. package/src/components/pc/WorkCenter.vue +1 -1
  13. package/src/components/pc/WorkCenterList.vue +1 -1
  14. package/src/components/pc/WorkHistory.vue +14 -2
  15. package/src/components/pc/WorkListAllNew.vue +1 -1
  16. package/src/components/pc/WorkListNew.vue +9 -3
  17. package/src/components/telreport/RepairsDetailsReport.vue +98 -0
  18. package/src/components/telreport/TableFaultReport.vue +96 -0
  19. package/src/components/telreport/Traffic.vue +3 -3
  20. package/src/components/temp/ChangemeterInfo.vue +4 -16
  21. package/src/components/temp/DeviceInfo.vue +2 -4
  22. package/src/components/temp/InfoTable.vue +5 -2
  23. package/src/components/temp/OldRepairList.vue +100 -0
  24. package/src/components/temp/RepairList.vue +2 -2
  25. package/src/components/weinan/RecordList.vue +2 -2
  26. package/src/components/weinan/SiteSend.vue +2 -2
  27. package/src/components/weinan/SiteSendWeixiu.vue +7 -16
  28. package/src/components/weinan/StandWorkWeixiu.vue +1 -1
  29. package/src/components/weinan/WorkList.vue +73 -0
  30. package/src/components/weinan/WorkListAll.vue +90 -14
  31. package/src/components/weinan/WorkListWeixiu.vue +1 -1
  32. package/src/components/workorder/CompletedRepair.vue +269 -183
  33. package/src/components/workorder/FaultAll.vue +9 -9
  34. package/src/components/workorder/PhoneUpDetail.vue +3 -0
  35. package/src/components/workorder/RepairDetails.vue +12 -2
  36. package/src/components/workorder/RepairFirstV.vue +1 -1
  37. package/src/filiale/kelai/android/AppTakePic.vue +143 -0
  38. package/src/filiale/kelai/android/PhoneVentilationLeave.vue +176 -0
  39. package/src/filiale/kelai/pc/WorkCenterList.vue +20 -3
  40. package/src/filiale/kelai/pc/WorkListAllNew.vue +47 -9
  41. package/src/filiale/kelai/pc/serviceDeleteOrder.vue +55 -0
  42. package/src/filiale/kelai/telephone.js +9 -8
  43. package/src/filiale/kelai/telephoneAndroid.js +3 -1
  44. package/src/filiale/qianneng/android/FaultAll.vue +1 -1
  45. package/src/filiale/qianneng/android/TemporarySingle.vue +25 -0
  46. package/src/filiale/qianneng/pc/MaterialDetailed.vue +10 -0
  47. package/src/filiale/qianneng/pc/MaterialStatistics.vue +144 -0
  48. package/src/filiale/qianneng/pc/NewRepairPaper.vue +4 -4
  49. package/src/filiale/qianneng/pc/RepairsWork.vue +12 -2
  50. package/src/filiale/qianneng/pc/WorkHistory.vue +2 -2
  51. package/src/filiale/qianneng/pc/WorkListAllNew.vue +53 -5
  52. package/src/filiale/qianneng/pc/changetable.vue +273 -0
  53. package/src/filiale/qianneng/telephone.js +2 -0
  54. package/src/filiale/rizhao/pc/DispatchMan.vue +3 -3
  55. package/src/filiale/rizhao/pc/DispatchWork.vue +3 -3
  56. package/src/filiale/rizhao/pc/Traffic.vue +3 -3
  57. package/src/filiale/rizhao/pc/WorkListAllNew.vue +8 -3
  58. package/src/filiale/rongcheng/CliWorkListAll.vue +442 -407
  59. package/src/filiale/rongcheng/FaultAll.vue +3 -3
  60. package/src/filiale/rongcheng/RepairOrderV.vue +1445 -0
  61. package/src/filiale/rongcheng/telephoneAndroid.js +3 -1
  62. package/src/filiale/shanxian/android/RepairFirstV.vue +5 -1
  63. package/src/filiale/shanxian/pc/RepairsWork.vue +826 -0
  64. package/src/filiale/shanxian/telephone.js +2 -1
  65. package/src/filiale/shexian/android/AddMyTask.vue +7 -0
  66. package/src/filiale/shexian/android/CompletedRepair.vue +280 -0
  67. package/src/filiale/shexian/android/FaultAll.vue +16 -0
  68. package/src/filiale/shexian/android/Outlay.vue +182 -165
  69. package/src/filiale/shexian/android/RepairFirstV.vue +16 -2
  70. package/src/filiale/shexian/android/RepairInfo.vue +1 -0
  71. package/src/filiale/shexian/pc/TelByOrderManCount.vue +10 -2
  72. package/src/filiale/shexian/pc/WorkList.vue +25 -1
  73. package/src/filiale/shexian/pc/WorkListAllNew.vue +21 -15
  74. package/src/filiale/shexian/telephoneAndroid.js +3 -0
  75. package/src/filiale/tongchuan/android/TicketDetails.vue +3 -0
  76. package/src/filiale/tongchuan/pc/WorkOrderStatistics.vue +2 -2
  77. package/src/filiale/wenxi/android/FailureShow.vue +61 -0
  78. package/src/filiale/wenxi/android/PhoneUpUserinfo.vue +1047 -0
  79. package/src/filiale/wenxi/android/RepairInfo.vue +158 -74
  80. package/src/filiale/wenxi/android/RepairOrderV.vue +1 -9
  81. package/src/filiale/wenxi/android/RepairUserInfo.vue +532 -0
  82. package/src/filiale/wenxi/android/ZHihuanFirst.vue +502 -0
  83. package/src/filiale/wenxi/pc/DistributeWork.vue +107 -121
  84. package/src/filiale/wenxi/pc/FailureEdit.vue +1 -1
  85. package/src/filiale/wenxi/pc/GasWork.vue +747 -0
  86. package/src/filiale/wenxi/pc/MetereadInfo.vue +82 -0
  87. package/src/filiale/wenxi/pc/RepairsWork.vue +15 -0
  88. package/src/filiale/wenxi/pc/TelFindUser.vue +213 -116
  89. package/src/filiale/wenxi/pc/WorkListAll.vue +5 -2
  90. package/src/filiale/wenxi/telephone.js +4 -6
  91. package/src/filiale/wenxi/telephoneAndroid.js +4 -1
  92. package/src/filiale/yuncheng/pc/TelFindUser.vue +302 -0
  93. package/src/filiale/yuncheng/telephone.js +12 -0
  94. package/src/filiale/zhongsheng/android/FaultAll.vue +741 -0
  95. package/src/filiale/zhongsheng/android/RepairUserInfo.vue +241 -214
  96. package/src/filiale/zhongsheng/telephoneAndroid.js +2 -1
  97. package/src/telephone.js +10 -0
  98. package/src/weinan.js +6 -0
@@ -19,6 +19,7 @@
19
19
  <li ><a :style="selectFiled == '指令查看'?'color:#333333!important;':'color:#666666!important;'" :class="{'tel_voiceActive':selectFiled == '指令查看','tel_f_size':selectFiled != '指令查看'}" href="javascript:void(0)" @click="setField('指令查看')">指令查看</a></li>
20
20
  <li ><a :style="selectFiled == '上报查询'?'color:#333333!important;':'color:#666666!important;'" :class="{'tel_voiceActive':selectFiled == '上报查询','tel_f_size':selectFiled != '上报查询'}" href="javascript:void(0)" @click="setField('上报查询')">上报查询</a></li>
21
21
  <li ><a :style="selectFiled == '停用信息'?'color:#333333!important;':'color:#666666!important;'" :class="{'tel_voiceActive':selectFiled == '停用信息','tel_f_size':selectFiled != '停用信息'}" href="javascript:void(0)" @click="setField('停用信息')">停用信息</a></li>
22
+ <li v-if="oldshow"><a :style="selectFiled == '旧单信息'?'color:#333333!important;':'color:#666666!important;'" :class="{'tel_voiceActive':selectFiled == '旧单信息','tel_f_size':selectFiled != '旧单信息'}" href="javascript:void(0)" @click="setField('旧单信息')">旧单信息</a></li>
22
23
  </ul>
23
24
  <div class="tab-content span">
24
25
  <sell-info v-if="selectFiled=='购气记录'" :user="user" :clearflg="clearflg" style="font-size: 12px"></sell-info>
@@ -31,7 +32,7 @@
31
32
  <tel-meteread-info v-if="selectFiled=='上报查询'" :user="user" :clearflg="clearflg" style="font-size: 12px"></tel-meteread-info>
32
33
  <disable-information v-if="selectFiled=='停用信息'" :user="user" :clearflg="clearflg" style="font-size: 12px"></disable-information>
33
34
  <repair-list v-if="selectFiled=='来电记录'" :user="user" :clearflg="clearflg" style="font-size: 12px"></repair-list>
34
-
35
+ <old-repair-list v-if="selectFiled=='旧单信息'" :user="user" :clearflg="clearflg" style="font-size: 12px"></old-repair-list>
35
36
  </div>
36
37
 
37
38
  </div>
@@ -81,12 +82,14 @@ export default {
81
82
  },
82
83
 
83
84
  ready () {
85
+ this.oldshow = this.$appdata.getSingleValue('旧工单信息显示') ? true : false
84
86
  //tag
85
87
  },
86
88
  data () {
87
89
  return {
88
90
  a:'tabs-one',
89
- selectFiled:'购气记录'
91
+ selectFiled:'购气记录',
92
+ oldshow:false
90
93
  }
91
94
  },
92
95
  methods :{
@@ -0,0 +1,100 @@
1
+ <template>
2
+ <div id="pc-finduser-page">
3
+ <criteria-paged :model="model" v-ref:paged :simple="true">
4
+ <data-grid :model="model" partial='list' v-ref:grid
5
+ class="list_area table_sy">
6
+ <template partial='head'>
7
+ <tr>
8
+ <th><nobr>用户编号</nobr></th>
9
+ <th><nobr>用户信息</nobr></th>
10
+ <th><nobr>来电电话</nobr></th>
11
+ <th><nobr>来电时间</nobr></th>
12
+ <th><nobr>表信息</nobr></th>
13
+ <th><nobr>累够</nobr></th>
14
+ <th><nobr>来电方式</nobr></th>
15
+ <th><nobr>报修类型</nobr></th>
16
+ <th><nobr>话务员信息</nobr></th>
17
+ <th><nobr>维修备注</nobr></th>
18
+ <th><nobr>工单编号</nobr></th>
19
+ <th><nobr>处理方式</nobr></th>
20
+ <th><nobr>是否处理</nobr></th>
21
+ <th><nobr>派单人</nobr></th>
22
+ <th><nobr>派单时间</nobr></th>
23
+ <th><nobr>接单人信息</nobr></th>
24
+ <th><nobr>维修信息</nobr></th>
25
+ <th><nobr>完成状态</nobr></th>
26
+ <th><nobr>是否回访</nobr></th>
27
+ <th><nobr>回访人</nobr></th>
28
+ <th><nobr>用户意见</nobr>
29
+ </tr>
30
+ </template>
31
+ <template partial='body'>
32
+ <td>{{row.f_userid}}</td>
33
+ <td>{{row.f_username}} {{row.f_address}} {{row.f_phone}}</td>
34
+ <td>{{row.f_linktype}}</td>
35
+ <td>{{row.f_reporttime}}</td>
36
+ <td>{{row.f_meternumber}} {{row.f_metertype}} {{row.f_aroundmeter}}</td>
37
+ <td>{{row.f_metergasnums}}</td>
38
+ <td>{{row.f_teltype}}</td>
39
+ <td>{{row.f_repairtype}}</td>
40
+ <td>{{row.f_operator}} {{row.f_department}}</td>
41
+ <td>{{row.f_repairreason}}</td>
42
+ <td>{{row.f_cucode}}</td>
43
+ <td>{{row.f_dealtype}}</td>
44
+ <td>{{row.f_havadeal}}</td>
45
+ <td>{{row.f_sender}}</td>
46
+ <td>{{row.f_senddate}}</td>
47
+ <td>{{row.f_accepter}} {{row.f_acceptertel}}</td>
48
+ <td>{{row.f_smwxjl}}</td>
49
+ <td>{{row.f_havacomplete}}</td>
50
+ <td>{{row.f_ifvisit}}</td>
51
+ <td>{{row.f_visitren}}</td>
52
+ <td>{{row.f_consumeroption}}</td>
53
+ </template>
54
+
55
+ </data-grid>
56
+ </criteria-paged>
57
+ </div>
58
+ </template>
59
+
60
+ <script>
61
+ /**
62
+ *用户档案相关信息组件
63
+ */
64
+ import { PagedList } from 'vue-client'
65
+ export default {
66
+ title: '历史维修记录',
67
+ data () {
68
+ return {
69
+ model: new PagedList( 'rs/sql/tel_singleTable_OrderBy', 5,{items: '"*"', tablename: '"t_oldserviceworkorder"', orderitem: '"f_reporttime desc"'}),
70
+ show:false,
71
+ }
72
+ },
73
+ props: {
74
+ user: {
75
+ type: Object
76
+ },
77
+ callObj:{
78
+ type: Object
79
+ },
80
+ clearflg:0
81
+ },
82
+ methods: {
83
+ },
84
+ watch : {
85
+ 'user' (val) {
86
+ this.model.rows = []
87
+ this.model.search(`f_userid = '${this.user.f_userinfo_code}'`)
88
+
89
+ },
90
+ 'clearflg'(){
91
+ this.model.rows = []
92
+ }
93
+ },
94
+ ready () {
95
+ if (this.user && this.user.f_userinfo_code) {
96
+ this.model.search(`f_userid = '${this.user.f_userinfo_code}'`)
97
+ }
98
+ }
99
+ }
100
+ </script>
@@ -108,7 +108,7 @@
108
108
  watch : {
109
109
  'user' (val) {
110
110
  this.model.rows = []
111
- this.model.search(`f_userinfo_id = '${this.user.f_userinfo_id}'`)
111
+ this.model.search(`tswo.f_userinfo_id = '${this.user.f_userinfo_id}'`)
112
112
 
113
113
  },
114
114
 
@@ -118,7 +118,7 @@
118
118
  },
119
119
  ready () {
120
120
  if (this.user && this.user.f_userinfo_id) {
121
- this.model.search(`f_userinfo_id = '${this.user.f_userinfo_id}'`)
121
+ this.model.search(`tswo.f_userinfo_id = '${this.user.f_userinfo_id}'`)
122
122
  }
123
123
  }
124
124
  }
@@ -78,7 +78,7 @@
78
78
  </v-select>
79
79
  </div>
80
80
  <div class="col-sm-9 form-group form-input-group" style="width: 80%" >
81
- <label style="width: 100%;margin-right: 10px" class="font_normal_body">呼入数:{{$parent.$parent.RecordAll.neixian}}&nbsp;&nbsp;&nbsp; 接听数:{{$parent.$parent.RecordAll.jieting}}&nbsp;&nbsp;&nbsp; 回访数:{{$parent.$parent.RecordAll.huchu}}&nbsp;&nbsp;&nbsp; 接线率:{{$parent.$parent.RecordAll.hflv}}%&nbsp;&nbsp;&nbsp; </label>
81
+ <label style="width: 100%;margin-right: 10px" class="font_normal_body">呼入自助数:{{$parent.$parent.RecordAll.zizhu}}&nbsp;&nbsp;&nbsp; 呼入人工数:{{$parent.$parent.RecordAll.neixian}}&nbsp;&nbsp;&nbsp; 人工接听数:{{$parent.$parent.RecordAll.jieting}}&nbsp;&nbsp;&nbsp; 回访数:{{$parent.$parent.RecordAll.huchu}}&nbsp;&nbsp;&nbsp; 接线率:{{$parent.$parent.RecordAll.hflv}}%&nbsp;&nbsp;&nbsp; </label>
82
82
 
83
83
  </div>
84
84
  <!-- <div class="col-sm-1" style="float: right;margin-right: 40px" >-->
@@ -218,7 +218,7 @@
218
218
  ],
219
219
  model: new PagedList('rs/sql/tel_recordlist', 20, {items: "'*'", tablename: "'t_records'", orderitem: "'outltime desc'" }),
220
220
  row: null,
221
- RecordAll: {"huru":0,"zongshu":0,"jieting":0,"huchu":0,"neixian":0,"hflv":0,"jxlv":0},
221
+ RecordAll: {"huru":0,"zongshu":0,"jieting":0,"huchu":0,"neixian":0,"hflv":0,"jxlv":0,"zizhu":0},
222
222
  cclist:{
223
223
  type: Array,
224
224
  default: null
@@ -199,7 +199,7 @@ export default {
199
199
  resolveMsg: null,
200
200
  rejectMsg: null
201
201
  }).then((res) => {
202
- let result = res.data.filter(res=>res.depids==Vue.user.depids)
202
+ let result = res.data.filter(res=>res.depids==Vue.user.depids && res.state == '在职')
203
203
  result.forEach((item) => {
204
204
  this.repairers.push({label: `${item.name} ${item.f_user_telephone}`, value: item.name})
205
205
 
@@ -213,7 +213,7 @@ export default {
213
213
  }
214
214
  http.load('POST', '/rs/search', {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
215
215
 
216
- let result = res.data.filter(res=>res.depids==this.$login.f.depids)
216
+ let result = res.data.filter(res=>res.depids==this.$login.f.depids && res.state == '在职')
217
217
 
218
218
  result.forEach((item) => {
219
219
  this.repairers.push({label: `${item.name} ${item.f_user_telephone}`, value: item.name})
@@ -33,10 +33,11 @@
33
33
  @click="$emit('cancel')">取消
34
34
  </button>
35
35
 
36
- <button style="float: right; margin-top: 25vh " type="button" name="button" class="button_search button_spacing" @click="worksend()">
36
+ <button v-if="rowlist.length===0" style="float: right; margin-top: 25vh " type="button" name="button" class="button_search button_spacing" @click="worksend()">
37
37
  下发
38
38
  </button>
39
- <!--<button type="button" name="button" class="btn btn-success" @click="worksendall()" :disabled='btnshow' v-if="!source == 'mobile'">批量下发</button>-->
39
+ <button v-if="!(rowlist.length===0) && !(source == 'mobile')" style="float: right; margin-top: 25vh" type="button" name="button" class="button_search button_spacing" @click="worksendall()">批量下发</button>
40
+ <!-- <button type="button" name="button" class="btn btn-success" @click="worksendall()" :disabled='btnshow' v-if="!source == 'mobile'">批量下发</button>-->
40
41
  </div>
41
42
  </template>
42
43
  <script>
@@ -182,43 +183,33 @@ export default {
182
183
  if (!this.row.serviceacitivity[0].f_reciever) {
183
184
  return this.$showAlert('请选择维修人员', 'warning', 2000)
184
185
  }
185
- if (this.rowlist.length > 0 && this.rowlist.length < 16) {
186
+ if (this.rowlist.length > 0) {
186
187
  this.bartext = '正在批量下发' + this.rowlist.length + '个单子'
187
188
  this.btnshow = true
188
189
  this.$showAlert('正在批量下发,请稍等!!!!!', 'warning', 2000)
189
190
  for (var index in this.rowlist) {
190
191
  this.barperc = ((parseInt(index) + 1) * 100) / (parseInt(this.rowlist.length))
191
- //this.barperc=parseInt((parseInt(index)+1)/this.rowlist.length)*100)
192
- //tag
193
- //tag
194
- // let result = ''
195
- // if(this.rowlist[index].f_repairtype == '置换通气'){
196
- // result = this.getUserfile(this.rowlist[index])
197
- // //tag)
198
- // }
199
192
  this.rowlist[index].serviceacitivity = this.row.serviceacitivity
200
193
  let userdata = Object.assign({}, userdata, this.rowlist[index])
201
194
  userdata.f_advice = this.f_advice
202
195
  let data = {
203
196
  model: userdata,
204
197
  loginUser: {name: this.$login.f.name, ename: this.$login.f.ename}
205
- // adduser:{userinfo: result, devices: []}
206
198
  }
207
199
  let gen = await this.sendmsg(data)
208
- //tag
209
200
  }
210
201
  this.saveing = false
211
202
  this.btnshow = false
212
203
  this.barperc = 0
213
204
  this.$showMessage('批量派发' + this.rowlist.length + '个单子成功', ['confirm']).then((res) => {
214
205
  if (res === 'confirm') {
206
+ this.rowlist = []
215
207
  this.$emit('success')
216
- // this.cleardate()
217
208
  }
218
209
  })
219
210
  //tag
220
211
  } else {
221
- this.$showMessage('批量派发单子个数小于等于15个', ['confirm']).then((res) => {
212
+ this.$showMessage('请先选择工单,再进行批量下发', ['confirm']).then((res) => {
222
213
  if (res === 'confirm') {
223
214
  //tag
224
215
  }
@@ -262,7 +253,7 @@ export default {
262
253
  }
263
254
  http.load('POST', '/rs/search', {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
264
255
 
265
- let result = res.data.filter(res=>res.depids==this.$login.f.depids)
256
+ let result = res.data
266
257
 
267
258
  result.forEach((item) => {
268
259
  this.repairers.push({label: item.name, value: item.name})
@@ -16,7 +16,7 @@
16
16
  import * as Util from '../Util'
17
17
 
18
18
  export default {
19
- title: '站点工单',
19
+ title: '维修班工单',
20
20
  data () {
21
21
  return {
22
22
  user: this.$login.f,
@@ -30,6 +30,9 @@
30
30
  <button class="button_search button_spacing" @click="search(),$dispatch('search')"
31
31
  style="margin-right: 9px">查询
32
32
  </button>
33
+ <button class="button_search button_spacing" @click="$parent.$parent.repairSendAll()"
34
+ style="margin-right: 9px">批量下发
35
+ </button>
33
36
 
34
37
  <export-excel-tel
35
38
  :data="$parent.$parent.searchData"
@@ -105,6 +108,7 @@
105
108
  <data-grid partial='list' v-ref:grid :model="model" class="list_area table_sy" :classname="'table tablenew table-bordered table-striped table-hover'">
106
109
  <template partial='head'>
107
110
  <tr>
111
+ <th><nobr><input type="checkbox" v-model="$parent.$parent.$parent.checkAll"/> 全选</nobr></th>
108
112
  <!--<th></th>-->
109
113
  <!--<th>-->
110
114
  <!--预约时间-->
@@ -140,6 +144,7 @@
140
144
  <!--:checked="$parent.$parent.$parent.isInList(row)"-->
141
145
  <!--@click=$parent.$parent.$parent.addInList(row)></td>-->
142
146
  <!--<td>{{row.f_repair_date}}</td>-->
147
+ <td style="text-align: center;white-space:nowrap;"><input type="checkbox" v-if="row.processins.activities[0].defname=='站点接单'" onClick="event.cancelBubble = true" :checked="$parent.$parent.$parent.isChecked(row.id)" @change="$parent.$parent.$parent.setCheckes(row)" /></td>
143
148
  <td
144
149
  :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.processins.activities[0].defname=='站点接单'?'background-color: #f1eecb':''">
145
150
  {{ row.f_workorder_type }}<span style="color: red" v-if="row.f_remindersign==='true'">(催单)</span></td>
@@ -384,6 +389,9 @@ export default {
384
389
  title: '工单列表',
385
390
  data () {
386
391
  return {
392
+ rowlist:[],
393
+ checkes:[],
394
+ checkAll:false,
387
395
  criteriaShow: false,
388
396
  f_complaint_results: '',
389
397
  serlist: [],
@@ -475,6 +483,68 @@ export default {
475
483
  }
476
484
  },
477
485
  methods: {
486
+ isChecked(v) {
487
+ // 如果全选,不在的按选中算,否则,在的按选中算
488
+ if (this.checkAll) {
489
+ return this.checkes.indexOf(v) == -1
490
+ } else {
491
+ return this.checkes.indexOf(v) != -1
492
+ }
493
+ },
494
+ setCheckes(row) {
495
+ if (!this.checkAll){
496
+ let index=this.checkes.indexOf(row.id)
497
+ if(index<0){
498
+ this.checkes.push(row.id)
499
+ this.rowlist.push(row)
500
+ }else{
501
+ this.checkes.splice(index,1)
502
+ this.rowlist.splice(this.rowlist.findIndex(res => {
503
+ return res.id === row.id
504
+ }) , 1)
505
+ }
506
+ }
507
+ },
508
+ async repairSendAll () {
509
+ //tag
510
+ if (!this.$refs.paged.$refs.criteria.model.f_workorder_type){
511
+ this.$showMessage('必须选择工单类型后查询')
512
+ return
513
+ }
514
+ this.selectone={
515
+ f_workorder_type:this.$refs.paged.$refs.criteria.model.f_workorder_type
516
+ }
517
+
518
+ if (this.checkAll){
519
+ //如果全选,根据条件去查询数据
520
+ let data={
521
+ condition:this.model.params.condition,
522
+ userid:this.$login.f.name
523
+ }
524
+ await new HttpResetClass().load('post','rs/sql/operatorService',{data:data},{resolveMsg:null,rejectMsg:null}).then(res=>{
525
+ const results=res.data
526
+ this.rowlist=results.filter(result=>{
527
+ //tag)
528
+ console.log("999",result,JSON.stringify(result).indexOf('站点接单')!=-1)
529
+ return JSON.stringify(result).indexOf('站点接单')!=-1
530
+ })
531
+ console.log(this.rowlist)
532
+ //tag
533
+ this.serlist=JSON.parse(JSON.stringify(this.rowlist))
534
+ this.editflag ='工单下发'
535
+ })
536
+
537
+ }else{
538
+ if (this.rowlist.length===0){
539
+ this.$showMessage('请选择工单')
540
+ return
541
+ }
542
+ //不全选,去取数据
543
+ this.serlist=JSON.parse(JSON.stringify(this.rowlist))
544
+ console.log("752752",this.rowlist)
545
+ this.editflag ='工单下发'
546
+ }
547
+ },
478
548
  hidden () {
479
549
  this.criteriaShow = !this.criteriaShow
480
550
  },
@@ -552,6 +622,7 @@ export default {
552
622
  return checkstr
553
623
  },
554
624
  proc (selectone, type) {
625
+ this.serlist = []
555
626
  this.editflag = type
556
627
  this.selectone = selectone
557
628
  },
@@ -578,6 +649,7 @@ export default {
578
649
  this.imgfilename = 'rs/image/file/' + val.f_single_path
579
650
  },
580
651
  search (args) {
652
+ this.rowlist = []
581
653
  this.serlist = []
582
654
  //tag
583
655
  let data = {}
@@ -589,6 +661,7 @@ export default {
589
661
  },
590
662
  selfSearch () {
591
663
  // 取消编辑状态
664
+ this.rowlist = []
592
665
  this.serlist = []
593
666
  this.editflag = null
594
667
 
@@ -136,6 +136,30 @@
136
136
  condition="{}"
137
137
  close-on-select></v-select>
138
138
  </div>
139
+ <div class="col-sm-6 form-group form-input-group" style="width: 40%">
140
+ <role-selector-safe-dep
141
+ role-name="维修员"
142
+ role-lable="接&nbsp;单&nbsp;员&nbsp;"
143
+ style="width: 60%"
144
+ @re-res="$parent.$parent.getRes"
145
+ @alluser="$parent.$parent.getchecker"
146
+ :value.sync="model.f_order_man"
147
+ v-model="model.f_order_man"
148
+ condition="f_order_man = '{}'">
149
+ </role-selector-safe-dep>
150
+ </div>
151
+ <!-- <div class="col-sm-3 form-group form-input-group" style="width: 20%">-->
152
+ <!-- <label class="font_normal_body">所属部门</label>-->
153
+ <!-- <right-tree width="80%" :source="$parent.$parent.source" @re-res="$parent.$parent.getRes"></right-tree>-->
154
+ <!-- </div>-->
155
+ <!-- <div class="col-sm-3 form-group form-input-group" style="width: 20%">-->
156
+ <!-- <label class="font_normal_body" style="width: 40%">接&ensp;单&ensp;员</label>-->
157
+ <!-- <v-select :value.sync="model.f_order_man" v-model='model.f_order_man'-->
158
+ <!-- :value-single="true"-->
159
+ <!-- :options='$parent.$parent.repairerss' placeholder='接单员'-->
160
+ <!-- close-on-select-->
161
+ <!-- condition="f_order_man = '{}'"></v-select>-->
162
+ <!-- </div>-->
139
163
  <div class="col-sm-3 form-group form-input-group" style="width: 20%">
140
164
  <label class="font_normal_body" style="width: 40%" title="接单站点">接单站点</label>
141
165
  <v-select :value="model.f_outlets" v-model='model.f_outlets'
@@ -147,20 +171,21 @@
147
171
  </div>
148
172
  <div class="col-sm-3 form-group form-input-group" style="width: 20%">
149
173
  <label class="font_normal_body" style="width: 40%">接单班组</label>
150
- <v-select :value.sync="model.f_single_man" v-model='model.f_single_man'
174
+ <v-select :value="model.f_single_man" v-model='model.f_single_man'
151
175
  :value-single="true"
152
176
  :options='$parent.$parent.single_mans' placeholder='接单班组'
177
+ @change="$parent.$parent.getrepair"
153
178
  condition="(f_single_man = '{}' or f_order_man = '{}')"
154
179
  close-on-select></v-select>
155
180
  </div>
156
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
157
- <label class="font_normal_body" style="width: 40%">接&ensp;单&ensp;员</label>
158
- <v-select :value.sync="model.f_order_man" v-model='model.f_order_man'
159
- :value-single="true"
160
- :options='$parent.$parent.repairers' placeholder='接单员'
161
- close-on-select
162
- condition="f_order_man = '{}'"></v-select>
163
- </div>
181
+ <!-- <div class="col-sm-3 form-group form-input-group" style="width: 20%">-->
182
+ <!-- <label class="font_normal_body" style="width: 40%">接&ensp;单&ensp;员</label>-->
183
+ <!-- <v-select :value.sync="model.f_order_man" v-model='model.f_order_man'-->
184
+ <!-- :value-single="true"-->
185
+ <!-- :options='$parent.$parent.repairerss' placeholder='接单员'-->
186
+ <!-- close-on-select-->
187
+ <!-- condition="f_order_man = '{}'"></v-select>-->
188
+ <!-- </div>-->
164
189
  <div class="col-sm-3 form-group form-input-group" style="width: 20%">
165
190
  <label class="font_normal_body" style="width: 40%">报修类型</label>
166
191
  <v-select :value.sync="model.f_repairtype" v-model='model.f_repairtype'
@@ -363,9 +388,16 @@
363
388
  title: '工单列表',
364
389
  data () {
365
390
  return {
391
+ depname:this.$login.f.deps,
392
+ order_man:'',
393
+ source:'tool.getFullTree(this.getRights().where(row.getType() == $department$))',
394
+ resobjprop: {res: this.$login.f.orgs, resids: this.$login.f.orgid},
366
395
  single_mans:[{label: '全部', value: ''}],
367
396
  f_accept_man:"",
368
397
  repairmans:[],
398
+ curorgid: [this.$login.f.orgid],
399
+ f_orgid:'',
400
+ f_filialeids:'',
369
401
  gongdan:{
370
402
  zixundan:0,
371
403
  tousudan:0,
@@ -395,13 +427,14 @@
395
427
  wavflie : '',
396
428
  selectone: '',
397
429
  repairers:[{label: '全部', value: ''}],
430
+ repairerss:[{label: '全部', value: ''}],
398
431
  model: new PagedList('rs/sql/worklistallnew', 20,{}),
399
432
  row: null,
400
433
  orderMan: '',
401
434
  msgs: [],
402
435
  service: Object,
403
436
  pendingCount: 0,
404
- defnames: [{label: '全部', value: ''},{label: '未完成', value: "state = '未完成'"},{label: '已完成', value: "state = '已完成'"}],
437
+ defnames: [{label: '全部', value: ''},{label: '未完成', value: "state = '未完成'"},{label: '已完成', value: "state = '已完成'"},{label: '撤销', value: "state = '撤销'"}],
405
438
  // 打印
406
439
  all: false,
407
440
  modelval: [],
@@ -485,8 +518,34 @@
485
518
  this.selfSearch()
486
519
  //this.model.search()
487
520
  }
521
+
488
522
  },
489
523
  methods: {
524
+ getchecker(val){
525
+ this.$refs.paged.$refs.criteria.model.f_order_man = ''
526
+ if(val && val.length > 0){
527
+ this.order_man = ''
528
+ val.forEach(user => {
529
+ this.order_man += `'${user.name}',`
530
+ })
531
+ this.order_man = this.order_man.slice(0,this.order_man.length-1)
532
+ }else{
533
+ this.order_man = ''
534
+ }
535
+ },
536
+ //通过参数取
537
+ getrepair(val){
538
+ this.$refs.paged.$refs.criteria.model.f_single_man = val
539
+ // if(val){
540
+ // this.repairerss = this.$appdata.getParam(val) ? [{
541
+ // label: '全部',
542
+ // value: ''
543
+ // }, ...this.$appdata.getParam(val)] : [{label: '全部', value: ''}]
544
+ // }else{
545
+ // this.repairerss = this.repairers
546
+ // }
547
+
548
+ },
490
549
  // 如果接单站点改变,则重组班组下拉值,维修员下拉值改变
491
550
  getsingleman(val){
492
551
  if(val) {
@@ -683,6 +742,9 @@
683
742
  condition1:this.$refs.paged.$refs.criteria.condition,
684
743
  condition2: '1 = 1'
685
744
  }
745
+ if(this.order_man){
746
+ condition.condition1 += ` and (f_order_man in (${this.order_man}) or f_outlets = '${this.depname}') `
747
+ }
686
748
  if(this.f_accept_man){
687
749
  condition.condition2 = ` sender = '${this.f_accept_man}'`
688
750
  condition.condition1 += 'and tt.actcount > 0'
@@ -726,6 +788,9 @@
726
788
  condition1: '1 = 1',
727
789
  condition2: '1 = 1'
728
790
  }
791
+ if(this.order_man){
792
+ condition.condition1 += ` and (f_order_man in (${this.order_man}) or f_outlets = '${this.depname}') `
793
+ }
729
794
  if(this.f_accept_man){
730
795
  condition.condition2 = ` sender = '${this.f_accept_man}'`
731
796
  condition.condition1 += 'and tt.actcount > 0'
@@ -831,10 +896,21 @@
831
896
  this.criteriaShow = !this.criteriaShow
832
897
  },
833
898
  getRes(obj){
834
- //tag
835
- ////tag)
836
- this.f_filialeids = this.$login.convertToIn(obj.resids);
837
- //tag
899
+ this.depname = obj.res[0]
900
+ // if(obj){
901
+ // this.$refs.paged.$refs.criteria.model.f_order_man = ''
902
+ // this.repairerss = [{label: '全部', value: ''}]
903
+ // let val = {source: 'this.getChildUser().where(row.getAttributes().get($rolestr$).indexOf($维修员$)!=-1)', userid: `${obj.resids[0]}`}
904
+ // let http = new HttpResetClass()
905
+ // http.load('POST', '/rs/search', {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
906
+ // this.order_man = ''
907
+ // res.data.forEach((item) => {
908
+ // this.repairerss.push({label: item.name, value: item.name})
909
+ // this.order_man += `'${item.name}',`
910
+ // })
911
+ // this.order_man = this.order_man.slice(0,this.order_man.length-1)
912
+ // })
913
+ // }
838
914
  }
839
915
  },
840
916
  computed: {
@@ -420,7 +420,7 @@ export default {
420
420
  this.serlist = []
421
421
  if (this.picked) {
422
422
  if (this.picked === 'wait') {
423
- this.model.url = 'rs/path/operatorService'
423
+ this.model.url = 'rs/path/pcService'
424
424
  } else if (this.picked === 'done') {
425
425
  this.model.url = 'rs/path/doneService'
426
426
  }