|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="autocallrecordlist.aspx.cs" Inherits="HySoft.BaseCallCenter.Web.telmanage.autocallrecordlist" %>
|
|
|
2
|
+
|
|
|
3
|
+
|
|
|
4
|
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
|
5
|
+<html xmlns="http://www.w3.org/1999/xhtml">
|
|
|
6
|
+<head id="Head1" runat="server">
|
|
|
7
|
+ <title></title>
|
|
|
8
|
+ <script src="../scripts/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
|
|
|
9
|
+ <link href="../scripts/ui/skins/Aqua/css/ligerui-all.css" rel="stylesheet" type="text/css" />
|
|
|
10
|
+ <script src="../scripts/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>
|
|
|
11
|
+ <script src="../scripts/ui/js/core/base.js" type="text/javascript"></script>
|
|
|
12
|
+ <script src="../scripts/ui/js/ligerui.min.js" type="text/javascript"></script>
|
|
|
13
|
+ <link href="../scripts/ui/skins/Tab/css/tab.css" rel="stylesheet" type="text/css" />
|
|
|
14
|
+ <link href="../scripts/ui/skins/Tab/css/grid.css" rel="stylesheet" type="text/css" />
|
|
|
15
|
+ <script src="../scripts/ui/js/plugins/ligerGrid.js" type="text/javascript"></script>
|
|
|
16
|
+ <script src="../scripts/CustomersData.js" type="text/javascript"></script>
|
|
|
17
|
+ <link href="../scripts/ui/skins/ligerui-icons.css" rel="stylesheet" type="text/css" />
|
|
|
18
|
+ <link href="../images/style.css" rel="stylesheet" type="text/css" />
|
|
|
19
|
+ <script type="text/javascript">
|
|
|
20
|
+ var strWhere = "";
|
|
|
21
|
+ function OpenWindowShow1(Url, Title, Width, Height) {
|
|
|
22
|
+ $.ligerDialog.open({
|
|
|
23
|
+ title: Title, isHidden: false, url: Url, height: Height, width: Width, isResize: true, modal: true, buttons: [
|
|
|
24
|
+ { text: '关闭', onclick: function (item, dialog) { dialog.close(); } }
|
|
|
25
|
+ ], isResize: true
|
|
|
26
|
+ });
|
|
|
27
|
+ }
|
|
|
28
|
+ function Player(path) {
|
|
|
29
|
+ OpenWindowShow1('voiceplay.aspx?path=' + path, '录音播放与下载', 600, 300);
|
|
|
30
|
+ //voiceplay.aspx
|
|
|
31
|
+ //var height = screen.availHeight / 2;
|
|
|
32
|
+ //var width = screen.availWidth / 2 - 50;
|
|
|
33
|
+ //window.showModalDialog(path, "Player", "dialogWidth:310px;dialogHeight:100px;dialogLeft:" + width + "px;dialogTop:" + height + "px;center:yes;help:no;resizable:no;status:no;scrollbars:no;");
|
|
|
34
|
+ }
|
|
|
35
|
+
|
|
|
36
|
+ function itemclick(item) {
|
|
|
37
|
+ alert(item.text);
|
|
|
38
|
+ }
|
|
|
39
|
+ var gridlist;
|
|
|
40
|
+ $(function () {
|
|
|
41
|
+ LoadList();
|
|
|
42
|
+ });
|
|
|
43
|
+ function CallOut(phone) {
|
|
|
44
|
+ parent.PhoneCallOut(1, phone);
|
|
|
45
|
+ }
|
|
|
46
|
+ function LoadList() {
|
|
|
47
|
+ if (strWhere == "") {
|
|
|
48
|
+ var userId = document.getElementById("hiddenuserid").value;
|
|
|
49
|
+ if (userId != "") {
|
|
|
50
|
+ strWhere += "&userid=" + userId + "";
|
|
|
51
|
+ }
|
|
|
52
|
+ }
|
|
|
53
|
+ gridlist = $("#divDataList").ligerGrid({
|
|
|
54
|
+ checkbox: true,
|
|
|
55
|
+ height: '100%',
|
|
|
56
|
+ columns: [
|
|
|
57
|
+ {
|
|
|
58
|
+ display: '回拨', name: 'CallNumber', width: 40, frozen: true, render: function (rowdata, rowindex, value) {
|
|
|
59
|
+ if (value == "") {
|
|
|
60
|
+ return;
|
|
|
61
|
+ }
|
|
|
62
|
+ else {
|
|
|
63
|
+ return "<img src=\"../images/phone3.png\" style=\"cursor:hand; width:24px;\" title=\"拨打" + value + "\" onclick=\"CallOut('" + encodeURI(value) + "');\" />";
|
|
|
64
|
+ }
|
|
|
65
|
+ }
|
|
|
66
|
+ },
|
|
|
67
|
+ { display: '电话号码', name: 'CallNumber', width: 100, frozen: true },
|
|
|
68
|
+ {
|
|
|
69
|
+ display: '录音', name: 'RecordPath', width: 40, frozen: true, render: function (rowdata, rowindex, value) {
|
|
|
70
|
+ if (value == "") {
|
|
|
71
|
+ return;
|
|
|
72
|
+ }
|
|
|
73
|
+ else {
|
|
|
74
|
+ return "<img src=\"../images/notice.png\" style=\"cursor:hand;\" onclick=\"Player('" + encodeURI(value) + "');\" />";
|
|
|
75
|
+ }
|
|
|
76
|
+ }
|
|
|
77
|
+ },
|
|
|
78
|
+ //{
|
|
|
79
|
+ // display: '呼叫方向', name: '_calltype', width: 80, frozen: true, render: function (rowdata, rowindex, value) {
|
|
|
80
|
+ // if (value == "0")
|
|
|
81
|
+ // return "呼入";
|
|
|
82
|
+ // else
|
|
|
83
|
+ // return "呼出";
|
|
|
84
|
+ // }
|
|
|
85
|
+ //},
|
|
|
86
|
+ //{
|
|
|
87
|
+ // display: '是否回访', name: '_dealtype', width: 80, frozen: true, render: function (rowdata, rowindex, value) {
|
|
|
88
|
+ // if (value == "7")
|
|
|
89
|
+ // return "回访";
|
|
|
90
|
+ // else
|
|
|
91
|
+ // return "";
|
|
|
92
|
+ // }
|
|
|
93
|
+ //},
|
|
|
94
|
+ {
|
|
|
95
|
+ display: '呼叫状态', name: 'State', width: 80, frozen: true, render: function (rowdata, rowindex, value) {
|
|
|
96
|
+ if (!value)
|
|
|
97
|
+ return "未接通";
|
|
|
98
|
+ else
|
|
|
99
|
+ return "已接通";
|
|
|
100
|
+ }
|
|
|
101
|
+ },
|
|
|
102
|
+ //{
|
|
|
103
|
+ // display: '是否处理', name: '_isdeal', width: 80, render: function (rowdata, rowindex, value) {
|
|
|
104
|
+ // if (value == "0")
|
|
|
105
|
+ // return "未处理";
|
|
|
106
|
+ // else if (value == "1")
|
|
|
107
|
+ // return "已处理";
|
|
|
108
|
+ // else
|
|
|
109
|
+ // return "注销";
|
|
|
110
|
+ // }
|
|
|
111
|
+ //},
|
|
|
112
|
+ {
|
|
|
113
|
+ display: '坐席工号', name: 'AgentId', width: 80, render: function (rowdata, rowindex, value) {
|
|
|
114
|
+ if (value == 0)
|
|
|
115
|
+ return "";
|
|
|
116
|
+ return value;
|
|
|
117
|
+ }
|
|
|
118
|
+ },
|
|
|
119
|
+ { display: '坐席姓名', name: 'Username', width: 80 },
|
|
|
120
|
+ //{ display: 'IVR开始时间', name: '_ivrstarttime', width: 130, type: 'date', format: 'yyyy-MM-dd hh:mm:ss' },
|
|
|
121
|
+ //{ display: 'IVR结束时间', name: '_ivrendtime', width: 130, type: 'date', format: 'yyyy-MM-dd hh:mm:ss' },
|
|
|
122
|
+ { display: '通话开始时间', name: 'StartDate', width: 130, type: 'date', format: 'yyyy-MM-dd hh:mm:ss' },
|
|
|
123
|
+ { display: '通话结束时间', name: 'EndDate', width: 130, type: 'date', format: 'yyyy-MM-dd hh:mm:ss' },
|
|
|
124
|
+ {
|
|
|
125
|
+ display: '通话时长(s)', name: 'StartDate', width: 80, render: function (rowdata, rowindex, value) {
|
|
|
126
|
+
|
|
|
127
|
+ }
|
|
|
128
|
+ }],
|
|
|
129
|
+ url: 'ajax/telrecords.ashx?action=getautolist' + strWhere, pageSize: 20, pageSizeOptions: [10, 20, 50], rownumbers: true
|
|
|
130
|
+ });
|
|
|
131
|
+ gridlist.changePage('first');
|
|
|
132
|
+ $("#pageloading").hide();
|
|
|
133
|
+ }
|
|
|
134
|
+ function formatDateTime(value, rowData, rowIndex) {
|
|
|
135
|
+ if (value != null) {
|
|
|
136
|
+ var date = new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10));
|
|
|
137
|
+ var result = date.getFullYear() + "-" + (date.getMonth() + 1 < 10 ? "0"
|
|
|
138
|
+ + (date.getMonth() + 1) : date.getMonth() + 1) + "-"
|
|
|
139
|
+ + (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " "
|
|
|
140
|
+ + (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + ":"
|
|
|
141
|
+ + (date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes()) + ":"
|
|
|
142
|
+ + (date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds());
|
|
|
143
|
+ return result;
|
|
|
144
|
+ }
|
|
|
145
|
+ return value;
|
|
|
146
|
+ }
|
|
|
147
|
+ function deleteRow() {
|
|
|
148
|
+ g.deleteSelectedRow();
|
|
|
149
|
+ }
|
|
|
150
|
+ function Delete() {
|
|
|
151
|
+ try {
|
|
|
152
|
+ //获取选择的行
|
|
|
153
|
+ var rows = gridlist.getSelectedRows();
|
|
|
154
|
+ if (rows.length > 0) {
|
|
|
155
|
+ $.ligerDialog.confirm('确定要批量删除选择的记录吗?', function (yes) {
|
|
|
156
|
+ if (yes) {
|
|
|
157
|
+ try {
|
|
|
158
|
+ var arr = new Array();
|
|
|
159
|
+ var i = 0;
|
|
|
160
|
+ for (var i = 0; i < rows.length; i++) {
|
|
|
161
|
+ arr[i] = rows[i]._callrecordsid;
|
|
|
162
|
+ }
|
|
|
163
|
+ $.post("ajax/telrecords.ashx?action=deletelist&arrid=" + arr.toString(), function (data) {
|
|
|
164
|
+ if (data == "success") {
|
|
|
165
|
+ $.ligerDialog.success('删除成功');
|
|
|
166
|
+ LoadList();
|
|
|
167
|
+ }
|
|
|
168
|
+ else {
|
|
|
169
|
+ $.ligerDialog.error('删除失败');
|
|
|
170
|
+ }
|
|
|
171
|
+ });
|
|
|
172
|
+ }
|
|
|
173
|
+ catch (e) {
|
|
|
174
|
+ alert(e.Message);
|
|
|
175
|
+ }
|
|
|
176
|
+ }
|
|
|
177
|
+ else {
|
|
|
178
|
+ }
|
|
|
179
|
+ });
|
|
|
180
|
+ }
|
|
|
181
|
+ else {
|
|
|
182
|
+ $.ligerDialog.error('没有选择要删除的行');
|
|
|
183
|
+ }
|
|
|
184
|
+ }
|
|
|
185
|
+ catch (e) {
|
|
|
186
|
+ $.ligerDialog.error(e.Message);
|
|
|
187
|
+ }
|
|
|
188
|
+ }
|
|
|
189
|
+ function cleartextbox() {
|
|
|
190
|
+ document.getElementById("txtTelphone").value = "";
|
|
|
191
|
+ document.getElementById("txtstate").value = "";
|
|
|
192
|
+ document.getElementById("txtzuowei").value = "";
|
|
|
193
|
+ document.getElementById("txtstarttime").value = "";
|
|
|
194
|
+ document.getElementById("txtendtime").value = "";
|
|
|
195
|
+ }
|
|
|
196
|
+ function getparams(params) {
|
|
|
197
|
+ strWhere = "";
|
|
|
198
|
+ if (params != "") {
|
|
|
199
|
+ strWhere += params;
|
|
|
200
|
+ }
|
|
|
201
|
+ LoadList();
|
|
|
202
|
+ }
|
|
|
203
|
+ function getsql() {
|
|
|
204
|
+ strWhere = "";
|
|
|
205
|
+ var phone = document.getElementById("txtTelphone").value;
|
|
|
206
|
+ var account = document.getElementById("ddlAccount").value;
|
|
|
207
|
+ var userId = document.getElementById("hiddenuserid").value;
|
|
|
208
|
+ var callstate = document.getElementById("drpCallState").value;
|
|
|
209
|
+ if (phone != "") {
|
|
|
210
|
+ strWhere += "&phone=" + phone + "";
|
|
|
211
|
+ }
|
|
|
212
|
+ if (account != "") {
|
|
|
213
|
+ strWhere += "&usercode=" + account + "";
|
|
|
214
|
+ }
|
|
|
215
|
+ if (userId != "") {
|
|
|
216
|
+ strWhere += "&userid=" + userId + "";
|
|
|
217
|
+ }
|
|
|
218
|
+ if (callstate != "-1") {
|
|
|
219
|
+ strWhere += "&callstate=" + callstate;
|
|
|
220
|
+ }
|
|
|
221
|
+ LoadList();
|
|
|
222
|
+ }
|
|
|
223
|
+ function HighSearch() {
|
|
|
224
|
+ $.ligerDialog.open({
|
|
|
225
|
+ url: 'recordhighsearch.aspx',
|
|
|
226
|
+ title: '高级搜索',
|
|
|
227
|
+ height: 300,
|
|
|
228
|
+ width: 600,
|
|
|
229
|
+ isResize: true
|
|
|
230
|
+ });
|
|
|
231
|
+ }
|
|
|
232
|
+ document.onkeydown = function (event) {
|
|
|
233
|
+ var e = event || window.event || arguments.callee.caller.arguments[0];
|
|
|
234
|
+ if (e && e.keyCode == 13) {
|
|
|
235
|
+ getsql();
|
|
|
236
|
+ }
|
|
|
237
|
+ };
|
|
|
238
|
+ </script>
|
|
|
239
|
+</head>
|
|
|
240
|
+<body style="margin: 0px; padding: 0px; overflow: hidden;">
|
|
|
241
|
+ <form id="form1" runat="server">
|
|
|
242
|
+ <div class="l-loading" style="display: block" id="pageloading">
|
|
|
243
|
+ </div>
|
|
|
244
|
+ <div class="tools_box">
|
|
|
245
|
+ <div class="tools_bar">
|
|
|
246
|
+ <a class="tools_btn" href="#" onclick="Delete();"><span>
|
|
|
247
|
+ <b class="delete">批量删除</b></span> </a>
|
|
|
248
|
+ <div class="search_box">
|
|
|
249
|
+ <asp:HiddenField runat="server" ID="hiddenuserid" />
|
|
|
250
|
+ 电话号码:<asp:TextBox ID="txtTelphone" runat="server" CssClass="txtInput" Width="80px"></asp:TextBox>
|
|
|
251
|
+ 坐席:
|
|
|
252
|
+
|
|
|
253
|
+ <asp:DropDownList ID="ddlAccount" runat="server" CssClass="selectBox" Width="70px"></asp:DropDownList>
|
|
|
254
|
+ 呼叫状态
|
|
|
255
|
+ <asp:DropDownList ID="drpCallState" runat="server" CssClass="selectBox"
|
|
|
256
|
+ Width="120px">
|
|
|
257
|
+ <asp:ListItem Value="-1">--全部--</asp:ListItem>
|
|
|
258
|
+ <asp:ListItem Value="0">未接通</asp:ListItem>
|
|
|
259
|
+ <asp:ListItem Value="1">已接通</asp:ListItem>
|
|
|
260
|
+ </asp:DropDownList>
|
|
|
261
|
+ <input id="btnSearch" type="button" value="搜 索" class="btnSearch" onclick="getsql();" />
|
|
|
262
|
+
|
|
|
263
|
+ <input id="btnHighSearch" type="button" value="高级搜索" class="btnSearch" onclick="HighSearch();" />
|
|
|
264
|
+ </div>
|
|
|
265
|
+ </div>
|
|
|
266
|
+ </div>
|
|
|
267
|
+ <div id="divDataList">
|
|
|
268
|
+ </div>
|
|
|
269
|
+ </form>
|
|
|
270
|
+</body>
|
|
|
271
|
+</html>
|