增加项目首页呼叫功能
This commit is contained in:
@@ -0,0 +1,187 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProjectUserContact.aspx.cs" Inherits="FineUIPro.Web.ProjectData.ProjectUserContact" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>项目用户</title>
|
||||
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
.f-grid-row .f-grid-cell-inner {
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.f-grid-row.red
|
||||
{
|
||||
background-color: #FF7575;
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
.fontred
|
||||
{
|
||||
color: #FF7575;
|
||||
background-image: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
|
||||
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
|
||||
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch" >
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="项目用户"
|
||||
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true" ForceFit="true"
|
||||
DataKeyNames="ProjectUserId" AllowCellEditing="true" ClicksToEdit="2" DataIDField="ProjectUserId"
|
||||
AllowSorting="true" SortField="UserName" SortDirection="ASC" OnSort="Grid1_Sort"
|
||||
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
EnableTextSelection="True">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:TextBox runat="server" Label="用户名称" ID="txtUserName" EmptyText="输入查询条件"
|
||||
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="200px" LabelWidth="80px"></f:TextBox>
|
||||
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
|
||||
|
||||
<f:RenderField Width="100px" ColumnID="UserName" DataField="UserName" SortField="UserName"
|
||||
FieldType="String" HeaderText="用户名称" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="200px" ColumnID="Telephone" DataField="Telephone" SortField="Telephone"
|
||||
FieldType="String" HeaderText="联系电话" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="200px" ColumnID="RoleName" DataField="RoleName" SortField="RoleName"
|
||||
FieldType="String" HeaderText="项目角色" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="120px" ColumnID="WorkPostName" DataField="WorkPostName" SortField="WorkPostName"
|
||||
FieldType="String" HeaderText="项目岗位" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
|
||||
<f:TemplateField Width="60px" ColumnID="Actions">
|
||||
<ItemTemplate>
|
||||
<a class="action call" href="javascript:;">
|
||||
拨号
|
||||
</a>
|
||||
|
||||
<a class="action hangup" href="javascript:;">
|
||||
挂断
|
||||
</a>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
|
||||
</Columns>
|
||||
<Listeners>
|
||||
</Listeners>
|
||||
<PageItems>
|
||||
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
|
||||
</f:ToolbarSeparator>
|
||||
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
|
||||
</f:ToolbarText>
|
||||
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
|
||||
</f:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
|
||||
<audio id="audio" style="visibility: hidden;" src="" controls="controls">
|
||||
Your browser does not support the audio element.
|
||||
</audio>
|
||||
</form>
|
||||
|
||||
<script src="../res/js/jssip-3.7.0.min.js"></script>
|
||||
<script src="../res/js/mixrtc.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
F.ready(function () {
|
||||
|
||||
|
||||
var gridClientID = '<%= Grid1.ClientID %>';
|
||||
function change(value, CallInPhone = false) {
|
||||
var classname = {
|
||||
CallOut: 'label-warning', // 呼出振铃状态
|
||||
CallIn: 'label-warning', // 呼入振铃状态
|
||||
Calling: 'label-info', // 通话中
|
||||
Ended: 'label-success', // 挂断
|
||||
Failed: 'label-default', // 失败
|
||||
}
|
||||
//var status = $('#status')
|
||||
//status.removeClass()
|
||||
//status.addClass('label')
|
||||
//status.addClass(classname[value])
|
||||
//status.text(value)
|
||||
//if (CallInPhone != false) {
|
||||
// $('#callin').text(CallInPhone)
|
||||
//}
|
||||
}
|
||||
|
||||
var audio = $('#audio')[0]
|
||||
|
||||
var Configs = {
|
||||
audioConfigs: {
|
||||
audio: audio, // audio的对象
|
||||
ringout: '../res/wav/ringout.wav', // 呼出振铃的音频地址
|
||||
ringin: '../res/wav/ringin.wav', // 呼入的振铃音频地址
|
||||
hangup: '../res/wav/dududu.wav',
|
||||
}, // 录音音频配置
|
||||
changeStatus: change, // 通话状态的变动回调
|
||||
debug: false, // sip信令debug排查
|
||||
}
|
||||
var rtc = new WebRTC(Configs);
|
||||
rtc.WebSocket('wss://demo1.mixcom.cn:8089/ws')
|
||||
|
||||
|
||||
|
||||
// 注册分机
|
||||
function registered () {
|
||||
var extension = '2008'
|
||||
var password = 'r5yMCjxxxaHQtMXZ'
|
||||
if (!extension || !password) {
|
||||
alert("提示: 分机号码和密码不能为空!")
|
||||
}
|
||||
rtc.register({
|
||||
extension: extension,
|
||||
password: password,
|
||||
sipserver: 'pri-local-dev02.mixcom.cn',
|
||||
})
|
||||
}
|
||||
|
||||
//// 注销分机
|
||||
//$('#unregistered').click(function () {
|
||||
// rtc.unregister()
|
||||
//})
|
||||
|
||||
|
||||
|
||||
registered();
|
||||
var grid = F(gridClientID);
|
||||
grid.el.on('click', '.f-grid-cell-Actions .action.call', function (event) {
|
||||
var targetEl = $(this);
|
||||
var rowEl = targetEl.parents('.f-grid-row');
|
||||
var rowData = grid.getRowData(rowEl);
|
||||
var phone = rowData.values.Telephone + '' ;
|
||||
rtc.call(phone);
|
||||
|
||||
});
|
||||
grid.el.on('click', '.f-grid-cell-Actions .action.hangup', function (event) {
|
||||
rtc.hangup()
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user