瀏覽代碼

问题修改

zhaomin 4 年之前
父節點
當前提交
6fcc0bd22f

+ 2 - 0
CallCenterWeb.UI/src/store/modules/user.js

@@ -99,6 +99,7 @@ const user = {
99 99
           // commit('SET_GROUPCODE', data.group.toLowerCase()) // 用户的坐席组code
100 100
           window.localStorage.setItem('groupCode', data.zxzbh) // 用户的坐席组code
101 101
           window.localStorage.setItem('roleCode', data.zxzbh) // 用户的坐席组code
102
+		  window.localStorage.setItem('roleId', data.id) // 用户的坐席组code
102 103
           resolve()
103 104
         }).catch(error => {
104 105
           reject(error)
@@ -176,6 +177,7 @@ const user = {
176 177
         window.localStorage.removeItem('groupCode')// 用户的坐席组code   roleCode
177 178
         window.sessionStorage.removeItem('telIsLogin')// 签入状态
178 179
         window.sessionStorage.removeItem('roleCode') // 角色code值
180
+		window.sessionStorage.removeItem('roleId') // 角色code值
179 181
         resolve()
180 182
       })
181 183
     },

+ 2 - 2
CallCenterWeb.UI/src/utils/telWebsocket.js

@@ -15,10 +15,10 @@ let wsUrl = null
15 15
 // const wsUrl = 'ws://' + process.env.SOCKET_IP + ':' + process.env.SOCKET_PORT
16 16
 // 创建scoket连接
17 17
 export function createWebSocket() {
18
-  wsUrl = 'ws://' + store.getters.serverConfig.SOCKET_IP + ':' + store.getters.serverConfig.SOCKET_PORT
18
+  wsUrl = 'ws://' + store.getters.serverConfig.SOCKET_IP + ':' + store.getters.serverConfig.SOCKET_PORT//请求地址
19 19
   try {
20 20
     if ('WebSocket' in window) {
21
-      ws = new WebSocket(wsUrl)
21
+      ws = new WebSocket(wsUrl) //创建一个websocket实例
22 22
       init()
23 23
     } else {
24 24
       Message.error('当前浏览器不支持Websocket!')

+ 1 - 1
CallCenterWeb.UI/src/views/faxManager/faxTransmission/faxImgs.vue

@@ -108,7 +108,7 @@ export default {
108 108
 			'http://' + "192.168.19.197:8088" + '/files' + this.rowfile
109 109
 
110 110
     this.loadImage()
111
-    // this.seefax()
111
+    this.seefax()
112 112
     console.log(this.url);
113 113
     console.log(this.companyName);
114 114
   },

+ 1 - 1
CallCenterWeb.UI/src/views/faxManager/faxTransmission/index.vue

@@ -338,7 +338,7 @@
338 338
 						value: '4',
339 339
 						faxStatus: '回收站'
340 340
 					}
341
-				],
341
+				],//下拉框
342 342
 				delList: [{
343 343
 						value: '1',
344 344
 						del: '是'

+ 2 - 0
CallCenterWeb.UI/src/views/faxManager/faxTransmission/updateFax.vue

@@ -349,6 +349,7 @@
349 349
 			},
350 350
 			//  提交
351 351
 			submitForm() {
352
+				const roleId =localStorage.roleId;
352 353
 				// 传真号码关联客户管理
353 354
 
354 355
 				// 同步
@@ -392,6 +393,7 @@
392 393
 						this.ruleForm.faxNumber = this.ruleForm.faxNumber
393 394
 						// this.ruleForm.faxNumber = this.faxNumber
394 395
 						this.ruleForm.faxPhone = this.faxPhone
396
+						this.ruleForm.czyId = roleId;
395 397
 						// console.log(this.ruleForm.selcusid)
396 398
 						updateFax(this.ruleForm)
397 399
 							.then((response) => {

+ 402 - 471
CallCenterWeb.UI/src/views/reportFormManagement/agentSeatTrafficTime/index.vue

@@ -1,117 +1,41 @@
1 1
 <template>
2
-  <div class="app-container dic_setup">
3
-    <el-tabs v-model="activeName" @tab-click="handleClick">
4
-      <el-tab-pane label="表格分析" name="first">
5
-        <el-alert :closable="false" title="通话时长统计列表" type="success" />
6
-        <div class="filter-container">
7
-          <el-date-picker
8
-            v-model="searchDate"
9
-            :picker-options="pickerOptions"
10
-            :clearable="clearable"
11
-            class="filter-item"
12
-            type="datetimerange"
13
-            format="yyyy-MM-dd HH:mm:ss"
14
-            value-format="yyyy-MM-dd HH:mm:ss"
15
-            align="left"
16
-            unlink-panels
17
-            range-separator="至"
18
-            start-placeholder="开始日期"
19
-            end-placeholder="结束日期"
20
-            @change="changeOne"/>
21
-          <el-button
22
-            type="primary"
23
-            class="filter-item"
24
-            icon="el-icon-search"
25
-            @click="btn_search"
26
-          >搜索</el-button
27
-          >
28
-          <el-button :loading="downloadLoading" class="filter-item" type="primary" icon="el-icon-upload2" @click="handleDownload">导出</el-button>
29
-        </div>
30
-        <el-table
31
-          v-loading="loadingL"
32
-          :data="dicLLists"
33
-          border
34
-          stripe
35
-          highlight-current-row
36
-        >
37
-          <el-table-column
38
-            type="index"
39
-            label="编号"
40
-            align="center"
41
-            fixed
42
-            width="60"
43
-          />
44
-          <el-table-column
45
-            prop="seatAgentName"
46
-            label="坐席名称"
47
-            align="center"
48
-            min-width="90"
49
-          />
50
-          <el-table-column
51
-            prop="callInNumber"
52
-            label="呼入次数"
53
-            align="center"
54
-            min-width="50"
55
-          />
56
-          <el-table-column
57
-            label="呼入时长"
58
-            align="center"
59
-            min-width="60"
60
-          >
61
-            <template slot-scope="scope">
62
-              {{ scope.row.callIngPeriodTalking }}
63
-            </template>
64
-          </el-table-column>
65
-          <el-table-column
66
-            prop="callIngUnAnswerNumber"
67
-            label="呼入未接通次数"
68
-            align="center"
69
-            min-width="70"
70
-          />
71
-          <el-table-column
72
-            prop="callOuterNumber"
73
-            label="呼出次数"
74
-            align="center"
75
-            min-width="60"
76
-          />
77
-          <el-table-column
78
-            prop="callOuterPeriodTalking"
79
-            label="呼出时长"
80
-            align="center"
81
-            min-width="70"
82
-          />
83
-          <el-table-column
84
-            prop="callOuterUnAnswerNumber"
85
-            label="呼出未接通次数"
86
-            align="center"
87
-            min-width="70"
88
-          />
89
-          <el-table-column
90
-            prop="periodAlertingTotalTimes"
91
-            label="超时接听次数"
92
-            align="center"
93
-            min-width="70"
94
-          />
95
-          <el-table-column
96
-            prop="connectedTotalTimes"
97
-            label="接通总次数"
98
-            align="center"
99
-            min-width="70"
100
-          />
101
-          <el-table-column
102
-            prop="periodTimeConnected"
103
-            label="通话总时长"
104
-            align="center"
105
-            min-width="70"
106
-          />
107
-          <el-table-column
108
-            prop="periodTalkAverage"
109
-            label="平均通话时长"
110
-            align="center"
111
-            min-width=""
112
-          />
113
-        </el-table>
114
-        <!-- <pagination
2
+	<div class="app-container dic_setup">
3
+		<el-tabs v-model="activeName" @tab-click="handleClick">
4
+			<el-tab-pane label="表格分析" name="first">
5
+				<el-alert :closable="false" title="通话时长统计列表" type="success" />
6
+				<div class="filter-container">
7
+					<el-date-picker v-model="searchDate" :picker-options="pickerOptions" :clearable="clearable"
8
+						class="filter-item" type="datetimerange" format="yyyy-MM-dd HH:mm:ss"
9
+						value-format="yyyy-MM-dd HH:mm:ss" align="left" unlink-panels range-separator="至"
10
+						start-placeholder="开始日期" end-placeholder="结束日期" @change="changeOne" />
11
+					<el-col :span="3">
12
+						<label style="font-size: 12px">超时秒次:</label>
13
+						<el-input v-model="timeout" size="mini" class="filter_name" placeholder="请输入超时秒数" />
14
+					</el-col>
15
+					<el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索
16
+					</el-button>
17
+					<el-button :loading="downloadLoading" class="filter-item" type="primary" icon="el-icon-upload2"
18
+						@click="handleDownload">导出</el-button>
19
+				</div>
20
+				<el-table v-loading="loadingL" :data="dicLLists" border stripe highlight-current-row>
21
+					<el-table-column type="index" label="编号" align="center" fixed width="60" />
22
+					<el-table-column prop="seatAgentName" label="坐席名称" align="center" min-width="90" />
23
+					<el-table-column prop="callInNumber" label="呼入次数" align="center" min-width="50" />
24
+					<el-table-column label="呼入时长" align="center" min-width="60">
25
+						<template slot-scope="scope">
26
+							{{ scope.row.callIngPeriodTalking }}
27
+						</template>
28
+					</el-table-column>
29
+					<el-table-column prop="callIngUnAnswerNumber" label="呼入未接通次数" align="center" min-width="70" />
30
+					<el-table-column prop="callOuterNumber" label="呼出次数" align="center" min-width="60" />
31
+					<el-table-column prop="callOuterPeriodTalking" label="呼出时长" align="center" min-width="70" />
32
+					<el-table-column prop="callOuterUnAnswerNumber" label="呼出未接通次数" align="center" min-width="70" />
33
+					<el-table-column prop="periodAlertingTotalTimes" label="超时接听次数" align="center" min-width="70" />
34
+					<el-table-column prop="connectedTotalTimes" label="接通总次数" align="center" min-width="70" />
35
+					<el-table-column prop="periodTimeConnected" label="通话总时长" align="center" min-width="70" />
36
+					<el-table-column prop="periodTalkAverage" label="平均通话时长" align="center" min-width="" />
37
+				</el-table>
38
+				<!-- <pagination
115 39
           v-show="pageParams.total > 0"
116 40
           :total="pageParams.total"
117 41
           :pageindex.sync="pageParams.pageindex"
@@ -119,378 +43,385 @@
119 43
           class="pagination"
120 44
           @pagination="getListL"
121 45
         /> -->
122
-      </el-tab-pane>
46
+			</el-tab-pane>
123 47
 
124
-      <el-tab-pane label="图形分析" name="second">
125
-        <el-alert :closable="false" title="通话时长统计图表" type="success" />
126
-        <div class="filter-container">
127
-          <el-date-picker
128
-            v-model="searchDate2"
129
-            :picker-options="pickerOptions"
130
-            :clearable="clearable"
131
-            class="filter-item"
132
-            type="datetimerange"
133
-            format="yyyy-MM-dd HH:mm:ss"
134
-            value-format="yyyy-MM-dd HH:mm:ss"
135
-            align="left"
136
-            unlink-panels
137
-            range-separator="至"
138
-            start-placeholder="开始日期"
139
-            end-placeholder="结束日期"/>
140
-          <el-button
141
-            type="primary"
142
-            class="filter-item"
143
-            icon="el-icon-search"
144
-            @click="btn_search2"
145
-          >搜索</el-button
146
-          >
48
+			<el-tab-pane label="图形分析" name="second">
49
+				<el-alert :closable="false" title="通话时长统计图表" type="success" />
50
+				<div class="filter-container">
51
+					<el-date-picker v-model="searchDate2" :picker-options="pickerOptions" :clearable="clearable"
52
+						class="filter-item" type="datetimerange" format="yyyy-MM-dd HH:mm:ss"
53
+						value-format="yyyy-MM-dd HH:mm:ss" align="left" unlink-panels range-separator="至"
54
+						start-placeholder="开始日期" end-placeholder="结束日期" />
55
+					<el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search2">搜索
56
+					</el-button>
147 57
 
148
-        </div>
149
-        <div ref="pieChart" class="chart" style="height:500px;width:1200px;margin:0 auto"/>
58
+				</div>
59
+				<div ref="pieChart" class="chart" style="height:500px;width:1200px;margin:0 auto" />
150 60
 
151
-      </el-tab-pane>
61
+			</el-tab-pane>
152 62
 
153
-  </el-tabs></div>
63
+		</el-tabs>
64
+	</div>
154 65
 </template>
155 66
 
156 67
 <script>
157
-import {
158
-  getagentSeatTrafficTimeList,
159
-  agentSeatTrafficTotalGraphicsList
160
-} from '@/api/reportFormManagement/reportFormManagement'
161
-import { timestampToTime, pickerOptions, getNowDateTime, getPreDate } from '@/utils'
162
-import { formatterContent } from '@/utils/index'
163
-import echarts from 'echarts'
164
-require('echarts/theme/macarons') // echarts theme
165
-import Pagination from '@/components/Pagination' // 对el-pagination 二次封装
166
-export default {
167
-  name: 'Message',
168
-  data() {
169
-    return {
170
-      activeName: 'first', // tab切换默认报表分析
171
-      clearable: false,
172
-      pickerOptions,
173
-      option: {
174
-        tooltip: {
175
-          trigger: 'axis',
176
-          axisPointer: { // 坐标轴指示器,坐标轴触发有效
177
-            type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
178
-          }
179
-        },
180
-        legend: {
181
-          data: ['呼入次数', '呼入时长', '呼入未接通次数', '呼出次数', '呼出时长', '呼出未接通次数', '振铃时长', '接通总次数', '通话总时长', '平均通话时长']
182
-        },
183
-        // toolbox: {
184
-        //   show: true,
185
-        //   orient: 'vertical',
186
-        //   x: 'right',
187
-        //   y: 'center',
188
-        //   feature: {
189
-        //     mark: { show: true },
190
-        //     dataView: { show: true, readOnly: false },
191
-        //     magicType: { show: true, type: ['line', 'bar', 'stack', 'tiled'] },
192
-        //     restore: { show: true },
193
-        //     saveAsImage: { show: true }
194
-        //   }
195
-        // },
196
-        calculable: true,
197
-        xAxis: [
198
-          {
199
-            type: 'category',
200
-            axisLabel: {
201
-              interval: 0,
202
-              rotate: 40
203
-            },
204
-            data: []
205
-          }
206
-        ],
207
-        yAxis: [
208
-          {
209
-            type: 'value'
210
-          }
211
-        ],
212
-        series: [
213
-          {
214
-            name: '呼入次数',
215
-            type: 'bar',
216
-            data: []
217
-          },
218
-          {
219
-            name: '呼入时长',
220
-            type: 'bar',
221
-            data: []
222
-          },
223
-          {
224
-            name: '呼入未接通次数',
225
-            type: 'bar',
226
-            data: []
227
-          },
228
-          {
229
-            name: '呼出次数',
230
-            type: 'bar',
231
-            data: []
232
-          },
233
-          {
234
-            name: '呼出时长',
235
-            type: 'bar',
236
-            data: []
237
-          },
238
-          {
239
-            name: '呼出未接通次数',
240
-            type: 'bar',
241
-            data: []
242
-          },
243
-          {
244
-            name: '振铃时长',
245
-            type: 'bar',
246
-            data: []
247
-          },
248
-          {
249
-            name: '接通总次数',
250
-            type: 'bar',
251
-            data: []
252
-          },
253
-          {
254
-            name: '通话总时长',
255
-            type: 'bar',
256
-            data: []
257
-          },
258
-          {
259
-            name: '平均通话时长',
260
-            type: 'bar',
261
-            data: []
262
-          }
263
-        ]
264
-      },
265
-      searchDate: [getPreDate(), getNowDateTime()],
266
-      searchDate2: [getPreDate(), getNowDateTime()],
267
-      downloadLoading: false,
268
-      autoWidth: true,
269
-      bookType: 'xlsx',
270
-      loadingL: false,
271
-      loadingR: false,
272
-      dicLLists: [],
273
-      dicRLists: [],
274
-      currentMonth: '' // 当前月份
275
-      // pageParams: {
276
-      //   pageindex: 1, // 当前第几页
277
-      //   pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), // 每页几条数据
278
-      //   total: 0 // 总共多少数据
279
-      // }
68
+	import {
69
+		getagentSeatTrafficTimeList,
70
+		agentSeatTrafficTotalGraphicsList
71
+	} from '@/api/reportFormManagement/reportFormManagement'
72
+	import {
73
+		timestampToTime,
74
+		pickerOptions,
75
+		getNowDateTime,
76
+		getPreDate
77
+	} from '@/utils'
78
+	import {
79
+		formatterContent
80
+	} from '@/utils/index'
81
+	import echarts from 'echarts'
82
+	require('echarts/theme/macarons') // echarts theme
83
+	import Pagination from '@/components/Pagination' // 对el-pagination 二次封装
84
+	export default {
85
+		name: 'Message',
86
+		data() {
87
+			return {
88
+				timeout: '',
89
+				activeName: 'first', // tab切换默认报表分析
90
+				clearable: false,
91
+				pickerOptions,
92
+				option: {
93
+					tooltip: {
94
+						trigger: 'axis',
95
+						axisPointer: { // 坐标轴指示器,坐标轴触发有效
96
+							type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
97
+						}
98
+					},
99
+					legend: {
100
+						data: ['呼入次数', '呼入时长', '呼入未接通次数', '呼出次数', '呼出时长', '呼出未接通次数', '振铃时长', '接通总次数', '通话总时长', '平均通话时长']
101
+					},
102
+					// toolbox: {
103
+					//   show: true,
104
+					//   orient: 'vertical',
105
+					//   x: 'right',
106
+					//   y: 'center',
107
+					//   feature: {
108
+					//     mark: { show: true },
109
+					//     dataView: { show: true, readOnly: false },
110
+					//     magicType: { show: true, type: ['line', 'bar', 'stack', 'tiled'] },
111
+					//     restore: { show: true },
112
+					//     saveAsImage: { show: true }
113
+					//   }
114
+					// },
115
+					calculable: true,
116
+					xAxis: [{
117
+						type: 'category',
118
+						axisLabel: {
119
+							interval: 0,
120
+							rotate: 40
121
+						},
122
+						data: []
123
+					}],
124
+					yAxis: [{
125
+						type: 'value'
126
+					}],
127
+					series: [{
128
+							name: '呼入次数',
129
+							type: 'bar',
130
+							data: []
131
+						},
132
+						{
133
+							name: '呼入时长',
134
+							type: 'bar',
135
+							data: []
136
+						},
137
+						{
138
+							name: '呼入未接通次数',
139
+							type: 'bar',
140
+							data: []
141
+						},
142
+						{
143
+							name: '呼出次数',
144
+							type: 'bar',
145
+							data: []
146
+						},
147
+						{
148
+							name: '呼出时长',
149
+							type: 'bar',
150
+							data: []
151
+						},
152
+						{
153
+							name: '呼出未接通次数',
154
+							type: 'bar',
155
+							data: []
156
+						},
157
+						{
158
+							name: '振铃时长',
159
+							type: 'bar',
160
+							data: []
161
+						},
162
+						{
163
+							name: '接通总次数',
164
+							type: 'bar',
165
+							data: []
166
+						},
167
+						{
168
+							name: '通话总时长',
169
+							type: 'bar',
170
+							data: []
171
+						},
172
+						{
173
+							name: '平均通话时长',
174
+							type: 'bar',
175
+							data: []
176
+						}
177
+					]
178
+				},
179
+				searchDate: [getPreDate(), getNowDateTime()],
180
+				searchDate2: [getPreDate(), getNowDateTime()],
181
+				downloadLoading: false,
182
+				autoWidth: true,
183
+				bookType: 'xlsx',
184
+				loadingL: false,
185
+				loadingR: false,
186
+				dicLLists: [],
187
+				dicRLists: [],
188
+				currentMonth: '' // 当前月份
189
+				// pageParams: {
190
+				//   pageindex: 1, // 当前第几页
191
+				//   pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), // 每页几条数据
192
+				//   total: 0 // 总共多少数据
193
+				// }
280 194
 
281
-    }
282
-  },
283
-  created() {
284
-    this.getListR()
285
-    this.getListL().then(() => {})
286
-    document.onkeyup = (e) => {
287
-      if (e.keyCode === 13) {
288
-        this.getListL()
289
-      }
290
-    }
291
-  },
292
-  mounted() {
293
-    this.initChart()
294
-    if (this.autoResize) {
295
-      this.__resizeHandler = debounce(() => {
296
-        if (this.chart) {
297
-          this.chart.resize()
298
-        }
299
-      }, 100)
300
-      window.addEventListener('resize', this.__resizeHandler)
301
-    }
302
-  },
303
-  beforeDestroy() {
304
-    if (!this.chart) {
305
-      return
306
-    }
307
-    if (!this.chart2) {
308
-      return
309
-    }
310
-    if (this.autoResize) {
311
-      window.removeEventListener('resize', this.__resizeHandler)
312
-    }
313
-    this.chart.dispose()
314
-    this.chart = null
315
-  },
316
-  methods: {
317
-    // tab切换
318
-    handleClick(tab, event) {
319
-      this.activeName = tab.name
320
-    },
321
-    //   图表
322
-    // 初始化数据
323
-    initChart() {
324
-      this.chart = echarts.init(this.$refs.pieChart, 'macarons')
325
-      this.chart.clear()
326
-      this.chart.setOption(this.option)
327
-    },
328
-    // 导出
329
-    handleDownload() {
330
-      this.downloadLoading = true
331
-      import('@/vendor/Export2Excel').then(excel => {
332
-        const tHeader = ['坐席名称', '呼入次数', '呼入时长', '呼入未接通次数', '呼出次数', '呼出时长', '呼出未接通次数', '振铃时长', '接通总次数', '通话总时长', '平均通话时长']
333
-        const filterVal = ['seatAgentName', 'callInNumber', 'callIngPeriodTalking', 'callIngUnAnswerNumber', 'callOuterNumber', 'callOuterPeriodTalking', 'callOuterUnAnswerNumber', 'periodAlerting', 'connectedTotalTimes', 'periodTimeConnected', 'periodTalkAverage']
334
-        const list = this.dicLLists
335
-        const data = this.formatJson(filterVal, list)
195
+			}
196
+		},
197
+		created() {
198
+			this.getListR()
199
+			this.getListL().then(() => {})
200
+			document.onkeyup = (e) => {
201
+				if (e.keyCode === 13) {
202
+					this.getListL()
203
+				}
204
+			}
205
+		},
206
+		mounted() {
207
+			this.initChart()
208
+			if (this.autoResize) {
209
+				this.__resizeHandler = debounce(() => {
210
+					if (this.chart) {
211
+						this.chart.resize()
212
+					}
213
+				}, 100)
214
+				window.addEventListener('resize', this.__resizeHandler)
215
+			}
216
+		},
217
+		beforeDestroy() {
218
+			if (!this.chart) {
219
+				return
220
+			}
221
+			if (!this.chart2) {
222
+				return
223
+			}
224
+			if (this.autoResize) {
225
+				window.removeEventListener('resize', this.__resizeHandler)
226
+			}
227
+			this.chart.dispose()
228
+			this.chart = null
229
+		},
230
+		methods: {
231
+			// tab切换
232
+			handleClick(tab, event) {
233
+				this.activeName = tab.name
234
+			},
235
+			//   图表
236
+			// 初始化数据
237
+			initChart() {
238
+				this.chart = echarts.init(this.$refs.pieChart, 'macarons')
239
+				this.chart.clear()
240
+				this.chart.setOption(this.option)
241
+			},
242
+			// 导出
243
+			handleDownload() {
244
+				this.downloadLoading = true
245
+				import('@/vendor/Export2Excel').then(excel => {
246
+					const tHeader = ['坐席名称', '呼入次数', '呼入时长', '呼入未接通次数', '呼出次数', '呼出时长', '呼出未接通次数', '振铃时长', '接通总次数',
247
+						'通话总时长', '平均通话时长'
248
+					]
249
+					const filterVal = ['seatAgentName', 'callInNumber', 'callIngPeriodTalking',
250
+						'callIngUnAnswerNumber', 'callOuterNumber', 'callOuterPeriodTalking',
251
+						'callOuterUnAnswerNumber', 'periodAlerting', 'connectedTotalTimes',
252
+						'periodTimeConnected', 'periodTalkAverage'
253
+					]
254
+					const list = this.dicLLists
255
+					const data = this.formatJson(filterVal, list)
336 256
 
337
-        excel.export_json_to_excel({
338
-          header: tHeader, // 表头 必填
339
-          data, // 具体数据 必填
340
-          filename: '通话时长报表', // 非必填
341
-          autoWidth: this.autoWidth, // 非必填
342
-          bookType: this.bookType// 非必填
343
-        })
344
-        this.downloadLoading = false
345
-      })
346
-    },
347
-    formatJson(filterVal, jsonData) {
348
-      return jsonData.map(v => filterVal.map(j => {
349
-        if (j === '') {
350
-          return timestampToTime(v[j])
351
-        } else {
352
-          return v[j]
353
-        }
354
-      }))
355
-    },
356
-    // 获取当前月份
357
-    doHandleMonth() {
358
-      var myDate = new Date()
359
-      var tMonth = myDate.getMonth()
360
-      var m = tMonth + 1
361
-      if (m.toString().length == 1) {
362
-        m = '0' + m
363
-      }
364
-      return m
365
-    },
366
-    getListL() {
367
-    //   this.loadingL = true
368
-      return new Promise((resolve) => {
369
-        const params = {
370
-          startTime: this.searchDate[0],
371
-          endTime: this.searchDate[1]
372
-        }
373
-        getagentSeatTrafficTimeList(params).then((response) => {
374
-        //   this.loadingL = false
375
-          if (response.state.toLowerCase() === 'success') {
376
-            console.log(response.total)
377
-            // this.pageParams.total = response.total
378
-            this.dicLLists = response.data
379
-          }
380
-        })
381
-        resolve()
382
-      })
383
-    },
257
+					excel.export_json_to_excel({
258
+						header: tHeader, // 表头 必填
259
+						data, // 具体数据 必填
260
+						filename: '通话时长报表', // 非必填
261
+						autoWidth: this.autoWidth, // 非必填
262
+						bookType: this.bookType // 非必填
263
+					})
264
+					this.downloadLoading = false
265
+				})
266
+			},
267
+			formatJson(filterVal, jsonData) {
268
+				return jsonData.map(v => filterVal.map(j => {
269
+					if (j === '') {
270
+						return timestampToTime(v[j])
271
+					} else {
272
+						return v[j]
273
+					}
274
+				}))
275
+			},
276
+			// 获取当前月份
277
+			doHandleMonth() {
278
+				var myDate = new Date()
279
+				var tMonth = myDate.getMonth()
280
+				var m = tMonth + 1
281
+				if (m.toString().length == 1) {
282
+					m = '0' + m
283
+				}
284
+				return m
285
+			},
286
+			getListL() {
287
+				//   this.loadingL = true
288
+				return new Promise((resolve) => {
289
+					const params = {
290
+						startTime: this.searchDate[0],
291
+						endTime: this.searchDate[1],
292
+						timeout:this.timeout
293
+					}
294
+					getagentSeatTrafficTimeList(params).then((response) => {
295
+						//   this.loadingL = false
296
+						if (response.state.toLowerCase() === 'success') {
297
+							console.log(response.total)
298
+							// this.pageParams.total = response.total
299
+							this.dicLLists = response.data
300
+						}
301
+					})
302
+					resolve()
303
+				})
304
+			},
384 305
 
385
-    getListR() {
386
-      this.loadingR = true
387
-      return new Promise((resolve) => {
388
-        const params = {
389
-          startTime: this.searchDate2[0],
390
-          endTime: this.searchDate2[1]
391
-        }
392
-        agentSeatTrafficTotalGraphicsList(params).then((response) => {
393
-          this.loadingR = false
394
-          if (response.state.toLowerCase() === 'success') {
395
-            this.dicRLists = response.data
396
-            if (this.dicRLists && this.dicRLists.length > 0) {
397
-              const sData = []
398
-              const sData2 = []
399
-              const sData3 = []
400
-              const sData4 = []
401
-              const sData5 = []
402
-              const sData6 = []
403
-              const sData7 = []
404
-              const sData8 = []
405
-              const sData9 = []
406
-              const sData10 = []
407
-              const xData = []
408
-              this.dicRLists.forEach((v, i) => {
409
-                sData.push(v.callInNumber)
410
-                sData2.push(v.CallIngPeriodTalking) //
411
-                sData3.push(v.CallIngUnAnswerNumber) //
412
-                sData4.push(v.callOuterNumber) //
413
-                sData5.push(v.CallOuterPeriodTalking) //
414
-                sData6.push(v.CallOuterUnAnswerNumber) //
415
-                sData7.push(v.PeriodAlerting) //
416
-                sData8.push(v.ConnectedTotalTimes) //
417
-                sData9.push(v.PeriodTimeConnected) //
418
-                sData10.push(v.PeriodTalkAverage) //
419
-                xData.push(v.seatAgentName) //
420
-              })
421
-              this.option.series[0].data = sData
422
-              this.option.series[1].data = sData2
423
-              this.option.series[2].data = sData3
424
-              this.option.series[3].data = sData4
425
-              this.option.series[4].data = sData5
426
-              this.option.series[5].data = sData6
427
-              this.option.series[6].data = sData7
428
-              this.option.series[7].data = sData8
429
-              this.option.series[8].data = sData9
430
-              this.option.series[9].data = sData10
431
-              this.option.xAxis[0].data = xData
432
-              this.initChart()
433
-            }
434
-            this.initChart()
435
-          }
436
-        })
437
-        resolve()
438
-      })
439
-    },
440
-    // 复选框状态改变
441
-    changeSelects(val) {
442
-      this.multipleSelection = val
443
-    },
444
-    btn_search() {
445
-      this.getListL()
446
-    },
447
-    btn_search2() {
448
-      this.getListR()
449
-    },
450
-    changeOne(event) {
451
-      if (event == null) {
452
-        this.searchDate = [getPreDate(), getNowDateTime()]
453
-      }
454
-    }
455
-  }
456
-}
306
+			getListR() {
307
+				this.loadingR = true
308
+				return new Promise((resolve) => {
309
+					const params = {
310
+						startTime: this.searchDate2[0],
311
+						endTime: this.searchDate2[1]
312
+					}
313
+					agentSeatTrafficTotalGraphicsList(params).then((response) => {
314
+						this.loadingR = false
315
+						if (response.state.toLowerCase() === 'success') {
316
+							this.dicRLists = response.data
317
+							if (this.dicRLists && this.dicRLists.length > 0) {
318
+								const sData = []
319
+								const sData2 = []
320
+								const sData3 = []
321
+								const sData4 = []
322
+								const sData5 = []
323
+								const sData6 = []
324
+								const sData7 = []
325
+								const sData8 = []
326
+								const sData9 = []
327
+								const sData10 = []
328
+								const xData = []
329
+								this.dicRLists.forEach((v, i) => {
330
+									sData.push(v.callInNumber)
331
+									sData2.push(v.CallIngPeriodTalking) //
332
+									sData3.push(v.CallIngUnAnswerNumber) //
333
+									sData4.push(v.callOuterNumber) //
334
+									sData5.push(v.CallOuterPeriodTalking) //
335
+									sData6.push(v.CallOuterUnAnswerNumber) //
336
+									sData7.push(v.PeriodAlerting) //
337
+									sData8.push(v.ConnectedTotalTimes) //
338
+									sData9.push(v.PeriodTimeConnected) //
339
+									sData10.push(v.PeriodTalkAverage) //
340
+									xData.push(v.seatAgentName) //
341
+								})
342
+								this.option.series[0].data = sData
343
+								this.option.series[1].data = sData2
344
+								this.option.series[2].data = sData3
345
+								this.option.series[3].data = sData4
346
+								this.option.series[4].data = sData5
347
+								this.option.series[5].data = sData6
348
+								this.option.series[6].data = sData7
349
+								this.option.series[7].data = sData8
350
+								this.option.series[8].data = sData9
351
+								this.option.series[9].data = sData10
352
+								this.option.xAxis[0].data = xData
353
+								this.initChart()
354
+							}
355
+							this.initChart()
356
+						}
357
+					})
358
+					resolve()
359
+				})
360
+			},
361
+			// 复选框状态改变
362
+			changeSelects(val) {
363
+				this.multipleSelection = val
364
+			},
365
+			btn_search() {
366
+				this.getListL()
367
+			},
368
+			btn_search2() {
369
+				this.getListR()
370
+			},
371
+			changeOne(event) {
372
+				if (event == null) {
373
+					this.searchDate = [getPreDate(), getNowDateTime()]
374
+				}
375
+			}
376
+		}
377
+	}
457 378
 </script>
458 379
 
459 380
 <!-- 需要注意的是,修改elementUI的默认样式的css不能使用scoped. -->
460 381
 <style rel="stylesheet/scss" lang="scss">
461
-.dic_setup {
462
-    .el-range-editor--small.el-input__inner {
463
-    height: 32px;
464
-    width: 611px;
465
-}
466
-  .el-table tr {
467
-    cursor: pointer;
468
-  }
469
- /* 用来设置当前页面element全局table 选中某行时的背景色*/
470
-.el-table__body tr.current-row > td {
471
-  background-color: #00a1cb !important;
472
-  color: #fff;
473
-}
474
-  .filter-container {
475
-    color: #676a6c;
476
-    height: 35px;
477
-    font-size: 14px;
478
-    margin-bottom: 25px;
479
-    padding: 15px 10px 0px 10px;
480
-    .select_picker {
481
-      float: left;
482
-      margin-right: 10px;
483
-    }
484
-    .showMessage {
485
-      height: 35px;
486
-      line-height: 35px;
487
-      float: right;
488
-      span {
489
-        padding-left: 10px;
490
-      }
491
-    }
492
-  }
493
-}
382
+	.filter_name {
383
+		width: 130px !important;
384
+	}
385
+
386
+	.dic_setup {
387
+		.el-range-editor--small.el-input__inner {
388
+			height: 32px;
389
+			width: 611px;
390
+		}
391
+
392
+		.el-table tr {
393
+			cursor: pointer;
394
+		}
395
+
396
+		/* 用来设置当前页面element全局table 选中某行时的背景色*/
397
+		.el-table__body tr.current-row>td {
398
+			background-color: #00a1cb !important;
399
+			color: #fff;
400
+		}
401
+
402
+		.filter-container {
403
+			color: #676a6c;
404
+			height: 35px;
405
+			font-size: 14px;
406
+			margin-bottom: 25px;
407
+			padding: 15px 10px 0px 10px;
408
+
409
+			.select_picker {
410
+				float: left;
411
+				margin-right: 10px;
412
+			}
413
+
414
+			.showMessage {
415
+				height: 35px;
416
+				line-height: 35px;
417
+				float: right;
418
+
419
+				span {
420
+					padding-left: 10px;
421
+				}
422
+			}
423
+		}
424
+	}
494 425
 </style>
495 426
 <style rel="stylesheet/scss" lang="scss" scoped>
496 427