188 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			188 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | <%@ 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> |