telephone-clients 3.0.104-1 → 3.0.104-100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/package.json +3 -3
  2. package/src/App.vue +54 -54
  3. package/src/components/android/ImgArea.vue +80 -0
  4. package/src/components/guoxin/Console.vue +42 -5
  5. package/src/components/guoxin/call.state.api.js +3 -1
  6. package/src/components/pc/ComplainWork.vue +3 -0
  7. package/src/components/pc/NewRepairPaper.vue +370 -370
  8. package/src/components/pc/RecordListLeft.vue +80 -10
  9. package/src/components/pc/RepairsWork.vue +33 -3
  10. package/src/components/pc/RoleSelector.vue +7 -1
  11. package/src/components/pc/Seekwork.vue +3 -0
  12. package/src/components/pc/SiteSend.vue +38 -1
  13. package/src/components/pc/TelLossList.vue +20 -3
  14. package/src/components/pc/VisitInfo.vue +44 -7
  15. package/src/components/pc/WorkHistory.vue +1 -1
  16. package/src/components/pc/WorkList.vue +4 -3
  17. package/src/components/pc/WorkListAllNew.vue +16 -8
  18. package/src/components/pc/WorkListNew.vue +722 -712
  19. package/src/components/sendsingle/onlinequeryuser.vue +1 -1
  20. package/src/components/telcount/TelByOrderMan.vue +22 -4
  21. package/src/components/telreport/RepairsDetailsReport.vue +2 -2
  22. package/src/components/telreport/TrafficClassificationReport.vue +13 -13
  23. package/src/components/telreport/Trafficassess.vue +2 -2
  24. package/src/components/temp/HandplanInfo.vue +16 -1
  25. package/src/components/temp/InstructInfo.vue +1 -1
  26. package/src/components/temp/SecuritycheckInfo.vue +14 -0
  27. package/src/components/workorder/RepairDetails.vue +8 -2
  28. package/src/components/workorder/RepairInfo.vue +3 -3
  29. package/src/components/workorder/RepairPaperAndroid.vue +351 -0
  30. package/src/components/workorder/ServiceOnlineQuery.vue +306 -0
  31. package/src/components/workorder/TemporarySingle.vue +346 -302
  32. package/src/filiale/furuike/pc/QueryVisitHistory.vue +14 -1
  33. package/src/filiale/furuike/pc/WorkHistory.vue +576 -576
  34. package/src/filiale/hanzhong/telephone.js +1 -1
  35. package/src/filiale/jiaocheng/android/createQRcode.vue +204 -0
  36. package/src/filiale/jiaocheng/android/onlineBuyGas.vue +637 -0
  37. package/src/filiale/jiaocheng/telephone.js +8 -0
  38. package/src/filiale/jiaocheng/telephoneAndroid.js +15 -0
  39. package/src/filiale/lixian/onlineChangeMeter.vue +481 -0
  40. package/src/filiale/lixian/onlineoperation.vue +606 -0
  41. package/src/filiale/lixian/onlinequeryuser.vue +509 -0
  42. package/src/filiale/lixian/telephoneAndroid.js +23 -0
  43. package/src/filiale/qianneng/android/AppInstallationMaterial.vue +880 -845
  44. package/src/filiale/qianneng/android/TemporarySingle.vue +537 -537
  45. package/src/filiale/qianneng/pc/MaterialDetailed.vue +260 -260
  46. package/src/filiale/qianneng/pc/NewRepairPaper.vue +467 -467
  47. package/src/filiale/qianneng/pc/RepairsWork.vue +992 -992
  48. package/src/filiale/qianneng/pc/WorkListAllNew.vue +11 -3
  49. package/src/filiale/qianneng/pc/changetable.vue +273 -273
  50. package/src/filiale/qianneng/telephone.js +22 -22
  51. package/src/filiale/rizhao/pc/IgnitionVentilation.vue +0 -1
  52. package/src/filiale/rizhao/pc/RepairsWork.vue +0 -1
  53. package/src/filiale/rizhao/pc/WorkListAllNew.vue +11 -5
  54. package/src/filiale/rizhao/telephone.js +1 -1
  55. package/src/filiale/shanxian/android/RepairFirstV.vue +3 -0
  56. package/src/filiale/shanxian/pc/TelFindUser.vue +310 -0
  57. package/src/filiale/shanxian/pc/WorkList.vue +2 -2
  58. package/src/filiale/shanxian/telephone.js +1 -0
  59. package/src/filiale/shexian/android/AddMyTask.vue +7 -0
  60. package/src/filiale/shexian/android/RepairFirstV.vue +5 -0
  61. package/src/filiale/shexian/android/RepairInfo.vue +1 -0
  62. package/src/filiale/shexian/pc/TelAgentVoiceReport.vue +9 -9
  63. package/src/filiale/shexian/pc/TelByRepairType.vue +3 -3
  64. package/src/filiale/shexian/pc/WorkList.vue +4 -1
  65. package/src/filiale/shexian/pc/WorkListAllNew.vue +14 -1
  66. package/src/filiale/tongchuan/android/RepairDetails.vue +623 -0
  67. package/src/filiale/tongchuan/pc/AnalysisMain.vue +7 -7
  68. package/src/filiale/tongchuan/pc/RepairsWork.vue +8 -0
  69. package/src/filiale/tongchuan/pc/UserWork.vue +8 -0
  70. package/src/filiale/tongchuan/telephoneAndroid.js +1 -0
  71. package/src/filiale/wenxi/android/FaultAll.vue +710 -0
  72. package/src/filiale/wenxi/android/PhoneUpUserinfo.vue +73 -162
  73. package/src/filiale/wenxi/android/RepairOrderV.vue +1 -1
  74. package/src/filiale/wenxi/android/ZHihuanFirst.vue +149 -129
  75. package/src/filiale/wenxi/pc/DistributeWork.vue +1 -1
  76. package/src/filiale/wenxi/pc/RecordListLeft.vue +272 -0
  77. package/src/filiale/wenxi/pc/RepairsWork.vue +143 -64
  78. package/src/filiale/wenxi/pc/TelAgentVoiceReport.vue +290 -0
  79. package/src/filiale/wenxi/pc/TelLossList.vue +272 -0
  80. package/src/filiale/wenxi/pc/WorkListAll.vue +698 -0
  81. package/src/filiale/wenxi/telephone.js +5 -0
  82. package/src/filiale/wenxi/telephoneAndroid.js +2 -1
  83. package/src/filiale/wuhai/telephone.js +1 -1
  84. package/src/filiale/yuncheng/android/LdapHelper.js +75 -0
  85. package/src/filiale/yuncheng/android/Outlay.vue +201 -0
  86. package/src/filiale/yuncheng/android/RepairInfo.vue +163 -0
  87. package/src/filiale/yuncheng/android/RepairOrderV.vue +1483 -0
  88. package/src/filiale/yuncheng/android/RepairUserInfo.vue +390 -0
  89. package/src/filiale/yuncheng/android/RightTree.vue +218 -0
  90. package/src/filiale/yuncheng/android/TemporarySingle.vue +522 -0
  91. package/src/filiale/yuncheng/android/ZHihuanFirst.vue +541 -0
  92. package/src/filiale/yuncheng/pc/DistributeWork.vue +199 -0
  93. package/src/filiale/yuncheng/pc/GasWork.vue +773 -0
  94. package/src/filiale/yuncheng/pc/TelFindUser.vue +31 -11
  95. package/src/filiale/yuncheng/pc/WorkList.vue +823 -0
  96. package/src/filiale/yuncheng/pc/WorkListAllNew.vue +781 -0
  97. package/src/filiale/yuncheng/telephone.js +5 -1
  98. package/src/filiale/yuncheng/telephoneAndroid.js +19 -0
  99. package/src/filiale/zhongyi/pc/WorkListAllNew.vue +2 -1
  100. package/src/main.js +1 -1
  101. package/src/telephone-android.js +7 -0
  102. package/src/telephone.js +1 -1
@@ -0,0 +1,290 @@
1
+ <template>
2
+ <div class="flex">
3
+ <section>
4
+ <div class="basic-main row" style="height: 100%">
5
+ <criteria-paged :model="model" v-ref:paged>
6
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
7
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
8
+ <div class="row">
9
+ <div class="col-sm-4 form-group" style="width: 20%">
10
+ <label class="font_normal_body">&nbsp;公&nbsp;&nbsp;&nbsp;&nbsp;司&nbsp;</label>
11
+ <right-tree :userid.sync='$parent.$parent.userid' style="width: 60%;"
12
+ :source.sync='$parent.$parent.source' @re-res="$parent.$parent.getRes"></right-tree>
13
+ </div>
14
+ <div class="form-group col-sm-2">
15
+ <label for="startDate" class="font_normal_body">开始日期:</label>
16
+ <datepicker id="startDate" placeholder="开始日期"
17
+ v-model="$parent.$parent.startDate"
18
+ :value.sync="$parent.$parent.startDate"
19
+ style="width: 60%;"
20
+ :disabled-days-of-Week="[]"
21
+ :format="'yyyy-MM-dd 00:00:00'"
22
+ :show-reset-button="reset">
23
+ </datepicker>
24
+ </div>
25
+ <div class="form-group col-sm-2">
26
+ <label for="endDate" class="font_normal_body">结束日期:</label>
27
+ <datepicker id="endDate" placeholder="结束日期"
28
+ v-model="$parent.$parent.endDate"
29
+ :value.sync="$parent.$parent.endDate"
30
+ :disabled-days-of-Week="[]"
31
+ style="width: 60%;"
32
+ :format="'yyyy-MM-dd 23:59:59'"
33
+ :show-reset-button="reset">
34
+ </datepicker>
35
+ </div>
36
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%;left: 35%">
37
+ <button type="button" name="button" class="button_search" @click="search">查询</button>
38
+ <export-excel-tel :data="$parent.$parent.searchData"
39
+ :field="$parent.$parent.excelHeaders"
40
+ sqlurl="rs/logic/telephoneExport" sql-name="manage_telman" :template-name="$parent.$parent.excelTitle"></export-excel-tel>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ </criteria>
45
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid >
46
+ <template partial='head'>
47
+ <tr >
48
+ <th colspan="20" class="tableinfo">
49
+ <h3 style="text-align: center;color: #00A3F0;font-size: 26px" >{{$parent.$parent.$parent.orgname }}话务统计报表</h3>
50
+ </th>
51
+ </tr>
52
+ <tr>
53
+ <th>
54
+ <nobr>话务员</nobr>
55
+ </th>
56
+ <th>
57
+ <nobr>工号</nobr>
58
+ </th>
59
+ <th>
60
+ <nobr>来电总数</nobr>
61
+ </th>
62
+ <th>
63
+ <nobr>接线率</nobr>
64
+ </th>
65
+ <!-- <th>-->
66
+ <!-- <nobr>置忙次数</nobr>-->
67
+ <!-- </th>-->
68
+ <th>
69
+ <nobr>已接</nobr>
70
+ </th>
71
+ <th>
72
+ <nobr>未接</nobr>
73
+ </th>
74
+ <th>
75
+ <nobr>外拨</nobr>
76
+ </th>
77
+ <th>
78
+ <nobr>咨询单</nobr>
79
+ </th>
80
+ <th>
81
+ <nobr>投诉单</nobr>
82
+ </th>
83
+ <th>
84
+ <nobr>报修单</nobr>
85
+ </th>
86
+ <th>
87
+ <nobr>话务来电</nobr>
88
+ </th>
89
+ <th>
90
+ <nobr>部门派单</nobr>
91
+ </th>
92
+ <th >
93
+ <nobr>报修单(抢修)</nobr>
94
+ </th>
95
+ <th >
96
+ <nobr>报修单(服务)</nobr>
97
+ </th>
98
+ <th >
99
+ <nobr>报修单(整改)</nobr>
100
+ </th>
101
+ <th >
102
+ <nobr>报修单(置换通气)</nobr>
103
+ </th>
104
+ </tr>
105
+ </template>
106
+ <template partial='body'>
107
+ <tr>
108
+ <td style="text-align:center">
109
+ <nobr>{{ row.nam }}</nobr>
110
+ </td>
111
+ <td style="text-align:center">
112
+ <nobr>{{ row.id }}</nobr>
113
+ </td>
114
+ <td style="text-align:center">
115
+ <nobr>{{ row.zongji }}</nobr>
116
+ </td>
117
+ <td style="text-align:center">
118
+ <nobr>{{ row.scale }}</nobr>
119
+ </td>
120
+ <!-- <td style="text-align:center">-->
121
+ <!-- <nobr>{{ row.zhimangcishu }}</nobr>-->
122
+ <!-- </td>-->
123
+ <td style="text-align:center" >
124
+ <nobr>{{ row.yijie }}</nobr>
125
+ </td>
126
+ <td style="text-align:center">
127
+ <nobr>{{ row.weijie }}</nobr>
128
+ </td>
129
+ <td style="text-align:center">
130
+ <nobr>{{ row.waibo }}</nobr>
131
+ </td>
132
+ <td style="text-align:center">
133
+ <nobr>{{ row.zixundan}}</nobr>
134
+ </td>
135
+ <td style="text-align:center">
136
+ <nobr>{{ row.tousudan}}</nobr>
137
+ </td>
138
+ <td style="text-align:center">
139
+ <nobr>{{ row.baoxiudan}}</nobr>
140
+ </td>
141
+ <td style="text-align:center">
142
+ <nobr>{{ row.huawunum}}</nobr>
143
+ </td>
144
+ <td style="text-align:center">
145
+ <nobr>{{ row.bumennum}}</nobr>
146
+ </td>
147
+ <td style="text-align:center" >
148
+ <nobr >{{ row.qiangxius}}</nobr>
149
+ </td>
150
+ <td style="text-align:center" >
151
+ <nobr >{{ row.fuwus}}</nobr>
152
+ </td>
153
+ <td style="text-align:center" >
154
+ <nobr >{{ row.zhenggais}}</nobr>
155
+ </td>
156
+ <td style="text-align:center" >
157
+ <nobr >{{ row.zhihuantongqis}}</nobr>
158
+ </td>
159
+ </tr>
160
+ </template>
161
+ <template partial="foot">
162
+ <td style="text-align: center"><span><b>合计:</b></span></td>
163
+ <td style="text-align: center"><span><b> </b></span></td>
164
+ <td style="text-align: center">{{model.sums.zongji}}</td>
165
+ <td style="text-align: center">{{((model.sums.yijie/model.sums.zongji)*100).toFixed(2)+'%'}}</td>
166
+ <!-- <td style="text-align: center">{{model.sums.zhimangcishu}}</td>-->
167
+ <td style="text-align: center">{{model.sums.yijie}}</td>
168
+ <td style="text-align: center">{{model.sums.weijie}}</td>
169
+ <td style="text-align: center">{{model.sums.waibo}}</td>
170
+ <td style="text-align: center">{{model.sums.zixundan}}</td>
171
+ <td style="text-align: center">{{model.sums.tousudan}}</td>
172
+ <td style="text-align: center">{{model.sums.baoxiudan}}</td>
173
+ <td style="text-align: center">{{model.sums.huawunum}}</td>
174
+ <td style="text-align: center">{{model.sums.bumennum}}</td>
175
+ <td style="text-align: center" >{{model.sums.qiangxius}}</td>
176
+ <td style="text-align: center" >{{model.sums.fuwus}}</td>
177
+ <td style="text-align: center" >{{model.sums.zhenggais}}</td>
178
+ <td style="text-align: center" >{{model.sums.zhihuantongqis}}</td>
179
+ </template>
180
+ </data-grid>
181
+ </criteria-paged>
182
+ </div>
183
+ </section>
184
+ </div>
185
+ </template>
186
+ <script>
187
+ import {PagedList, HttpResetClass} from 'vue-client'
188
+ import * as Util from '../../../components/Util'
189
+
190
+ export default {
191
+ title: '话务员报表',
192
+ data () {
193
+ let model = new PagedList('rs/sql/manage_telman', 20, {
194
+ startDate: 'this.startDate',
195
+ endDate: 'this.endDate',
196
+ f_filiale_id: 'this.f_filiale_id'
197
+ },{zongji:'',yijie:'',weijie:'',waibo:'',zixundan:'',tousudan:'',baoxiudan:'',huawunum:'',bumennum:'',qiangxius:'',fuwus:'',zhenggais:'',zhihuantongqis:''})
198
+ model.f_filiale_id = `('${this.$login.f.orgid}')`
199
+ model.startDate=Util.getYesterDay() + ' 00:00:00'//昨天时间
200
+ model.endDate=Util.toStandardDateString()+ ' 23:59:59'//当前时间
201
+ return {
202
+ f_filiale_id: `('${this.$login.f.orgid}')`, // 分公司id
203
+ model: model,
204
+ source: 'tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() == $organization$))', //获取公司参数
205
+ userid: this.$login.f.id,
206
+ orgname: '',
207
+ startDate:Util.getYesterDay() + ' 00:00:00',
208
+ endDate:Util.toStandardDateString()+ ' 23:59:59',
209
+ searchData: {
210
+ condition: '',
211
+ startDate: '',
212
+ endDate: '',
213
+ f_filiale_id: ''
214
+ },
215
+ excelHeaders: {
216
+ 'nam': '话务员',
217
+ 'id': '工号',
218
+ 'quanbujieting': '接线数',
219
+ 'scale': '接线率',
220
+ // 'zhimangcishu': '置忙次数',
221
+ 'yijie': '已接',
222
+ 'weijie': '未接',
223
+ 'waibo': '外拨',
224
+ 'zixundan': '咨询单',
225
+ 'tousudan': '投诉单',
226
+ 'baoxiudan': '报修单',
227
+ 'huawunum': '话务来电',
228
+ 'bumennum': '部门派单',
229
+ 'qiangxius': '报修单(抢修)',
230
+ 'fuwus': '报修单(服务)',
231
+ 'zhenggais': '报修单(整改)',
232
+ 'zhihuantongqis': '报修单(置换通气)'
233
+ }
234
+ }
235
+ },
236
+ methods: {
237
+ getRes (obj) {
238
+ this.f_filiale_id = this.$login.convertToIn(obj.resids)
239
+ this.orgname = obj.res[0]
240
+ this.$set('orgname', obj.res[0])
241
+ console.log(
242
+ `%c 来电内容明细 %c 呼叫模块 %c`,
243
+ 'background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff',
244
+ 'background:#41b883 ; padding: 1px; border-radius: 0 3px 3px 0; color: #fff',
245
+ 'background:transparent',
246
+ this.orgname
247
+ )
248
+ },
249
+ selfSearch (args) {
250
+ if (!this.f_filiale_id) {
251
+ return this.$showMessage("请选择公司进行查询!!!")
252
+ }
253
+ this.model.f_filiale_id = this.f_filiale_id // 只有选择了下面的条件才会变化
254
+ this.searchData.f_filiale_id = this.f_filiale_id //导出
255
+ this.searchData.condition=args.condition //导出
256
+ this.model.startDate = this.startDate
257
+ this.searchData.startDate = this.startDate //导出
258
+ this.model.endDate = this.endDate
259
+ this.searchData.endDate = this.endDate //导出
260
+ this.model.search(args.condition, args.model)
261
+ }
262
+ },
263
+ computed: {
264
+ excelTitle() {
265
+ return `${this.orgname }话务员统计报表`
266
+ },
267
+ },
268
+ watch: {
269
+ },
270
+ ready () {
271
+ // //tag)
272
+ // this.$refs.paged.$refs.cri.search()
273
+ //tag + ' 00:00:00')
274
+ //tag+ ' 23:59:59')
275
+ this.orgname = this.$login.f.orgs
276
+ //tag)
277
+ //tag
278
+ }
279
+
280
+ }
281
+ </script>
282
+
283
+ <style lang="less" >
284
+ .tableinfo {
285
+ text-align: center;
286
+ background-color: #00A3F0;
287
+ color: #0c2e4d;
288
+ font-size: 26px;
289
+ }
290
+ </style>
@@ -0,0 +1,272 @@
1
+ <template >
2
+ <div class="flex-row">
3
+ <div id="stand-work-list" class="flex bg-white p-10 basic-main" style="flex-direction: row">
4
+ <div style="width: 40%;height: 100%" v-show="leftShow">
5
+ <div class="row" style="height: 10%;width: 50%">
6
+ <div class="form-group form-input-group" style="display: flex;justify-content: flex-start">
7
+ <label class="font_normal_body" style="width: 40%">查询日期</label>
8
+ <datepicker placeholder="查询日期"
9
+ :value.sync="searchDate"
10
+ v-model="searchDate"
11
+ :format="'yyyy-MM-dd 00:00:00'"
12
+ ></datepicker>
13
+ <button type="button" name="button"
14
+ class="button_search button_spacing" style="z-index: 2" @click="searchEcharts()">查询</button>
15
+ </div>
16
+ </div>
17
+ <div style="height: 45%;" id="husunzhexian1"></div>
18
+ <div style="height: 45%;" id="husunzhexian2"></div>
19
+ </div>
20
+ <div class="span" style="width: 60%;overflow: auto">
21
+ <visit-info v-if="showVisit" :phone="wavflie" :idwavfile="idwavfile" :outltime="outltime" @show-obj="watchShow"></visit-info>
22
+ <criteria-paged :model="model" v-else v-ref:paged>
23
+ <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.search'>
24
+ <div novalidate class="form-inline" partial>
25
+ <div class="row">
26
+ <div class="col-sm-3 form-group form-input-group">
27
+ <label class="font_normal_body" style="width: 35%">电话号码</label>
28
+ <input type="text" class="input_search" v-model="model.telnum" placeholder='电话号码'
29
+ condition="telnum like '%{}%'"
30
+ :size="model.telnum ? model.telnum.length : 7">
31
+ </div>
32
+
33
+ <div class="col-sm-3 form-group form-input-group">
34
+ <label class="font_normal_body" style="width: 40%">开始时间</label>
35
+ <datepicker placeholder="开始时间"
36
+ :value.sync="model.f_date_start"
37
+ v-model="model.f_date_start"
38
+ :format="'yyyy-MM-dd 00:00:01'"
39
+ condition="outltime > '{}'"
40
+ ></datepicker>
41
+ </div>
42
+ <div class="col-sm-3 form-group form-input-group">
43
+ <label class="font_normal_body" style="width: 40%">结束时间</label>
44
+ <datepicker placeholder="结束时间"
45
+ :value.sync="model.f_date_end"
46
+ v-model="model.f_date_end"
47
+ :format="'yyyy-MM-dd 23:59:59'"
48
+ condition="outltime < '{}'"
49
+ ></datepicker>
50
+ </div>
51
+ <div class="col-sm-3 form-group form-input-group">
52
+ <label class="font_normal_body" style="width: 35%">回访状态</label>
53
+ <v-select :value.sync="model.f_flghuifang"
54
+ :options='$parent.$parent.huifangs'
55
+ :value-single="true"
56
+ placeholder='请选择回访状态'
57
+ close-on-select
58
+ style="width: 60%"
59
+ ></v-select>
60
+ </div>
61
+ <div style="float: right;" class="form-group span">
62
+ <button type="button" name="button"
63
+ class="button_search button_spacing" @click="search(),$dispatch('search')" style="z-index: 2">查询</button>
64
+ <export-excel-tel
65
+ :data="$parent.$parent.searchData"
66
+ :field="$parent.$parent.excelHeaders"
67
+ sqlurl="rs/logic/telephoneExport" sql-name="tel_singleTable_OrderBy" template-name='呼损记录导出'
68
+ :choose-col="false">
69
+ </export-excel-tel>
70
+ </div>
71
+ </div>
72
+ </div>
73
+ </criteria>
74
+ <data-grid partial='list' v-ref:grid :model="model" class="list_area table_sy">
75
+ <template partial='head'>
76
+ <tr>
77
+ <th><nobr>电话号码</nobr></th>
78
+ <th><nobr>来电时间</nobr></th>
79
+ <th><nobr>操作</nobr></th>
80
+ </tr>
81
+ </template>
82
+ <template partial='body'>
83
+ <td style="text-align: center">{{row.telnum}}</td>
84
+ <td style="text-align: center">{{row.outltime}}</td>
85
+ <td style="text-align: center">
86
+ <button-link v-show="!row.f_flghuifang" type="button" class="btn btn-link" @click="$parent.$parent.$parent.playWav(row.telnum,row.id)">回拨</button-link>
87
+ </td>
88
+ </template>
89
+ </data-grid>
90
+ </criteria-paged>
91
+ </div>
92
+ </div>
93
+ </div>
94
+ <!-- <modal :show.sync="showVisit" v-ref:modal backdrop="false">-->
95
+ <!-- <header slot="modal-header" class="modal-header">-->
96
+ <!-- </header>-->
97
+ <!-- <article slot="modal-body" class="modal-body">-->
98
+ <!-- <visit-info v-if="showVisit" :phone="wavflie" :idwavfile="idwavfile" :outltime="outltime" @show-obj="watchShow"></visit-info>-->
99
+ <!-- </article>-->
100
+ <!-- <footer slot="modal-footer" class="modal-footer">-->
101
+ <!-- </footer>-->
102
+ <!-- </modal>-->
103
+ </template>
104
+
105
+ <script>
106
+ import {HttpResetClass, PagedList} from 'vue-client'
107
+ import * as Util from '../../../components/Util'
108
+ export default {
109
+ title: '呼损记录',
110
+ data () {
111
+ return {
112
+ model: new PagedList('rs/sql/tel_singleTable_OrderBy', 20, {items: "'*'", tablename: "'t_records'", orderitem: "'outltime desc'" }),
113
+ row: null,
114
+ show: false,
115
+ wavflie : '',
116
+ idwavfile:'',
117
+ leftShow:true,
118
+ searchDate:Util.toStandardDateString(),
119
+ orderMan: '',
120
+ msgs: [],
121
+ huifangs:[{label:"全部",value:""},{label:"已回访",value:"已回访"},{label:"未回访",value:"未回访"}],
122
+ service: Object,
123
+ pendingCount: 0,
124
+ serobj:Object,
125
+ showVisit:false,
126
+ outltime:this.getNowFormatDate(),
127
+ searchData:{
128
+ items: "*",
129
+ tablename: "t_records",
130
+ orderitem: "outltime desc",
131
+ condition: '1=1'
132
+ },
133
+ excelHeaders: {
134
+ 'telnum': '电话号码',
135
+ 'outltime': '来电时间',
136
+ },
137
+ }
138
+ },
139
+ ready () {
140
+ this.$refs.paged.$refs.criteria.model.f_flghuifang = '未回访'
141
+ this.leftShow = (this.$parent.leftShow == undefined ? true : this.$parent.leftShow)
142
+ this.renderEcharts(Util.toStandardDateString())
143
+ // this.selfSearch()
144
+
145
+ },
146
+ methods: {
147
+ searchEcharts(){
148
+ console.log("9334",this.searchDate)
149
+ this.renderEcharts(this.searchDate)
150
+ },
151
+ //获取当前日期
152
+ renderEcharts(date){
153
+ console.log("933",Util.addDate(3,date),Util.addDate(-3),date)
154
+ new HttpResetClass().load("post",'rs/sql/getLossPhoneByTime',{
155
+ data:{
156
+ groupitem:'SUBSTRING(outltime, 0, 11)',
157
+ condition:`outltime>='${Util.addDate(-3,date)} 00:00:00' and outltime<='${Util.addDate(3,date)} 23:59:59'`
158
+ }
159
+ },{resolveMsg:null,rejectMsg:null}).then(res=>{
160
+ let myChart1 = this.$echarts.init(document.getElementById(("husunzhexian1")))
161
+ myChart1.setOption(this.getAOptions("呼损日分析表",res.data))
162
+ })
163
+
164
+ new HttpResetClass().load("post",'rs/sql/getLossPhoneByTime',{
165
+ data:{
166
+ groupitem:"SUBSTRING(outltime, 12, 2)+':00'",
167
+ condition:`outltime>='${Util.toStandardDateString(date)} 08:00:00' and outltime<='${Util.toStandardDateString(date)} 18:59:59'`
168
+ }
169
+ },{resolveMsg:null,rejectMsg:null}).then(res=>{
170
+ let myChart1 = this.$echarts.init(document.getElementById(("husunzhexian2")))
171
+ myChart1.setOption(this.getAOptions("呼损时分析表",res.data))
172
+ })
173
+ },
174
+ getAOptions(title,arr){
175
+
176
+ return {
177
+ color: ['rgb(155,214,129)', '#73c0de'],
178
+ title: {
179
+ text: title
180
+ },
181
+ tooltip: {
182
+ trigger: 'axis'
183
+ },
184
+ legend: {
185
+ data: ['忙线', '未接']
186
+ },
187
+ grid: {
188
+ left: '3%',
189
+ right: '4%',
190
+ bottom: '3%',
191
+ containLabel: true
192
+ },
193
+ toolbox: {
194
+ feature: {
195
+ saveAsImage: {}
196
+ }
197
+ },
198
+ xAxis: {
199
+ type: 'category',
200
+ boundaryGap: false,
201
+ data: arr.map(item=>{
202
+ if(title === '呼损日分析表'){
203
+ return item.timearea.substr(5,5)
204
+ }
205
+ return item.timearea
206
+ })
207
+ },
208
+ yAxis: {
209
+ type: 'value'
210
+ },
211
+ series: [
212
+ {
213
+ name: '未接',
214
+ type: 'line',
215
+ stack: 'Total',
216
+ data: arr.map(item=>item.weijie)
217
+ },
218
+ {
219
+ name: '忙线',
220
+ type: 'line',
221
+ stack: 'Total',
222
+ data: arr.map(item=>item.zhanxian)
223
+ },
224
+ ]
225
+ }
226
+ },
227
+ getNowFormatDate() {
228
+ var date = new Date();
229
+ var seperator1 = "-";
230
+ var month = date.getMonth() + 1;
231
+ var strDate = date.getDate();
232
+ if (month >= 1 && month <= 9) {
233
+ month = "0" + month;
234
+ }
235
+ if (strDate >= 0 && strDate <= 9) {
236
+ strDate = "0" + strDate;
237
+ }
238
+ var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + ' 23:59:59'
239
+ return currentdate;
240
+ },
241
+ watchShow(val){
242
+ this.showVisit = val
243
+ },
244
+ clearVisit(){
245
+ this.show = false
246
+ },
247
+ playWav(val,val1){
248
+ if (!this.leftShow){
249
+ this.$parent.setUserPhone(val)
250
+ }
251
+ this.wavflie=val;
252
+ this.idwavfile=val1
253
+ this.showVisit = true
254
+ },
255
+ closemodel () {
256
+ this.showVisit = false
257
+ },
258
+ search(args) {
259
+ if(args.model.f_flghuifang){
260
+ if(args.model.f_flghuifang==='已回访'){
261
+ args.condition += ` and f_flghuifang = '已回访'`
262
+ }else{
263
+ args.condition += ` and f_flghuifang is null`
264
+ }
265
+ }
266
+ args.condition += " AND isnull(starttime,'') = '' AND isnull(findtime,'') != ''"
267
+ this.searchData.condition = args.condition
268
+ this.model.search(args.condition)
269
+ },
270
+ },
271
+ }
272
+ </script>