New file |
| | |
| | | <%@ Page Language="C#" masterpagefile="~/Main.master" AutoEventWireup="true" CodeFile="GwSp.aspx.cs" Inherits="_GwSp" %> |
| | | <asp:Content runat="server" ID="Content1" ContentPlaceHolderID="head"> |
| | | |
| | | |
| | | <script type="text/javascript" language="javascript"> |
| | | $(document).ready(function() { |
| | | |
| | | var pagination = new Pagination(); |
| | | pagination.setPageIndex(1); |
| | | pagination.setPageSize(20); |
| | | |
| | | function loadPageList() { |
| | | var spID = $("#spID").val(); |
| | | var apID = $("#apID").val(); |
| | | var clientID = $("#clientID").val(); |
| | | var opID = $("#opID").val(); |
| | | var routerType = $("#routerType").val(); |
| | | var clientName = $("#clientName").val(); |
| | | var chargeType = $("#chargeType").val(); |
| | | var resendStatus = $("#RESEND_STATUS").val(); |
| | | $.ajax({ |
| | | url: "GwSp.ashx", |
| | | type: "POST", |
| | | data: { action: "loadGwSpAccountPageList", spID: spID, apID: apID, opID: opID, routerType: routerType, clientID: clientID, clientName: clientName, chargeType: chargeType, pageIndex: pagination.getPageIndex(), pageSize: pagination.getPageSize(), resendStatus: resendStatus }, |
| | | success: function(result) { |
| | | if (result.OK) { |
| | | $("#gwspTable tbody").html(result.Message.Table); |
| | | pagination.setRecordCount(result.Message.TotalCount); |
| | | $("#pagination").html(pagination.getHtml()); |
| | | } else { |
| | | mytek.alert(result.Message, result.OK); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | $(document).on("click", "a[data-index]", function() { |
| | | pagination.setPageIndex($(this).attr("data-index")); |
| | | loadPageList(); |
| | | }); |
| | | |
| | | $("#checkAll").click(function() { |
| | | $("input[name='checkbox']").prop("checked", $(this).is(":checked")); |
| | | }); |
| | | |
| | | $(document).on("click", ".action-modal-op", function() { |
| | | var idArray = []; |
| | | |
| | | $("input[name='checkbox']:checkbox:checked").each(function() { |
| | | var id = $(this).val(); |
| | | idArray.push(id); |
| | | }); |
| | | |
| | | if (idArray.length == 0) { |
| | | mytek.alert("请选择要修改的账号!", false); |
| | | return; |
| | | } |
| | | |
| | | $("#selected-op-box").text(idArray.join(",")); |
| | | |
| | | $("#opDialog").modal("show"); |
| | | }); |
| | | |
| | | $(document).on("click", ".action-update-op", function() { |
| | | var idArray = []; |
| | | |
| | | $("input[name='checkbox']:checkbox:checked").each(function() { |
| | | var id = $(this).val(); |
| | | idArray.push(id); |
| | | }); |
| | | |
| | | if (idArray.length == 0) { |
| | | mytek.alert("请选择要修改的账号!", false); |
| | | return; |
| | | } |
| | | |
| | | var unopID = $("#UNOPID").val(); |
| | | var ctopID = $("#CTOPID").val(); |
| | | var cmopID = $("#CMOPID").val(); |
| | | var cmGroupID = $("#CMGROUPID").val(); |
| | | var cuGroupID = $("#CUGROUPID").val(); |
| | | var ctGroupID = $("#CTGROUPID").val(); |
| | | |
| | | $.ajax({ |
| | | url: "GwSp.ashx", |
| | | method: "POST", |
| | | data: { idArray: $.toJSON(idArray), cmopID: cmopID, ctopID: ctopID, unopID: unopID, cmGroupID: cmGroupID, cuGroupID: cuGroupID, ctGroupID: ctGroupID, action: "batchUpdateOp" }, |
| | | success: function(result) { |
| | | mytek.alert(result.Message, result.OK, function() { |
| | | loadPageList(); |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | $(document).on("click", ".action-charge", function() { |
| | | var id = $(this).data("id"); |
| | | var amount = $("#chargeDialog #amount").val(); |
| | | var remark = $("#chargeDialog #remark").val(); |
| | | $.post("gwsp.ashx", { action: "charge", spid: id, amount: amount, remark: remark }, |
| | | function(result) { |
| | | if (result.OK) { |
| | | mytek.alert(result.Message, result.OK, function() { |
| | | $("#chargeDialog #amount").val(""); |
| | | $("#chargeDialog #remark").val(""); |
| | | $("#chargeDialog").modal("hide"); |
| | | loadPageList(); |
| | | }); |
| | | } else { |
| | | mytek.alert(result.Message, result.OK); |
| | | } |
| | | }, "json"); |
| | | }); |
| | | |
| | | $(document).on("click", ".action-modal-charge", function(e) { |
| | | var id = $(this).data("id"); |
| | | $("#chargeDialog .action-charge").data("id", id); |
| | | $("#chargeDialog .title").text(id + "账户充值"); |
| | | $("#chargeDialog").modal("show"); |
| | | }); |
| | | |
| | | //编辑账号 |
| | | $(document).on("click", ".action-modal-edit", function() { |
| | | var id = $(this).data("id"); |
| | | window.location.href = "gwspupdate.aspx?spid=" + id; |
| | | }); |
| | | |
| | | $(document).on("click", ".action-create", function() { |
| | | window.location.href = "gwspupdate.aspx"; |
| | | }); |
| | | |
| | | //新加 |
| | | $(document).on("click", ".action-updateStatus", function () { |
| | | var spid = $(this).attr("data-spid"); |
| | | var status=$(this).attr("data-status"); |
| | | mytek.confirm("是否需要修改该账户状态?", "是否操作!", function (b) { |
| | | if (b) { |
| | | $.post("gwsp.ashx", { action: "updateSpStatus", spid: spid,status:status }, function (r) { |
| | | mytek.alert(r.Message, r.OK, function () { |
| | | loadPageList(); |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | });; |
| | | |
| | | //结束 |
| | | |
| | | |
| | | |
| | | |
| | | $(document).on("click", ".action-delete", function() { |
| | | var id = $(this).data("id"); |
| | | mytek.confirm("是否需要删除该账户?", "账户删除后将无法恢复,请谨慎操作!", function(b) { |
| | | if (b) { |
| | | $.post("gwsp.ashx", { action: "delete", spid: id }, function(r) { |
| | | mytek.alert(r.Message, r.OK, function() { |
| | | loadPageList(); |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | $(document).on("click", ".action-query", function() { |
| | | pagination.setPageIndex(1); |
| | | loadPageList(); |
| | | }); |
| | | |
| | | loadPageList(); |
| | | |
| | | |
| | | |
| | | |
| | | $(document).on("click", ".action-export", function() { |
| | | var spID = $("#spID").val(); |
| | | var apID = $("#apID").val(); |
| | | var clientID = $("#clientID").val(); |
| | | var url = "ExportDocument.aspx?action=exPortGwSp&SpID=" + spID + "&ApID=" + apID + "&ClientID=" + clientID + ""; |
| | | window.location.href = url; |
| | | }); |
| | | |
| | | $(document).on("click", ".action-modal-Acctunchargelog", function() { |
| | | var id = $(this).data("id"); |
| | | window.location.href = "GwSpChargeLog.aspx?id=" + id + ""; |
| | | }); |
| | | |
| | | var serverIp =<%=Newtonsoft.Json.JsonConvert.SerializeObject(ConfigurationManager.AppSettings["serverIp"])%>; |
| | | var apList =<%=Newtonsoft.Json.JsonConvert.SerializeObject(this.ApList)%>; |
| | | var opList =<%=Newtonsoft.Json.JsonConvert.SerializeObject(this.OpList)%>; |
| | | var diverterList =<%=Newtonsoft.Json.JsonConvert.SerializeObject(this.DiverterList)%>; |
| | | $(document).on("click", ".action-create-summary", function() { |
| | | var spID = $(this).data("id"); |
| | | $.ajax({ |
| | | url: "GwSp.ashx", |
| | | type: "POST", |
| | | data: { action: "getGwspDetailed", spID: spID }, |
| | | success: function(result) { |
| | | if (result.OK) { |
| | | var rspID = result.Message.Get.SpID; |
| | | var str = ""; |
| | | |
| | | var basePort = getAPPort(result.Message.Get.ApID); |
| | | if (result.Message.Get.ApID == 230002) { |
| | | str += "<tr> "; |
| | | str += "<td >接入方式1:SOAP57-HTTP协议(0214-SMS-软维SOAP接口)</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr> "; |
| | | str += "<td>WSDL地址:http://" + serverIp + ":" + basePort + "/sms?wsdl</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr> "; |
| | | str += "<td >接入方式2:HTTP-57SMS协议(0169-SMS-软维接口-HTTP)</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr> "; |
| | | var httpBaseUrl = "http://" + serverIp + ":" + (basePort + 2) + "/sms"; |
| | | str += "<td >下发地址:" + httpBaseUrl + "?action=send</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr> "; |
| | | str += "<td >报告地址:" + httpBaseUrl + "?action=report</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr> "; |
| | | str += "<td >上行地址:" + httpBaseUrl + "?action=mo</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr> "; |
| | | str += "<td >余额地址:" + httpBaseUrl + "?action=overage</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr> "; |
| | | str += "<td >以上两种接入方式可任选其一</td>"; |
| | | str += "</tr>"; |
| | | } |
| | | if (result.Message.Get.ApID == 230001) { |
| | | str += "<tr> "; |
| | | str += "<td >接入方式:CMPP2.0</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr>"; |
| | | str += "<td>服务器地址:" + serverIp + "</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr>"; |
| | | str += "<td>服务器端口:" + basePort + "</td>"; |
| | | } |
| | | if (result.Message.Get.ApID == 230000) { |
| | | str += "<tr> "; |
| | | str += "<td >接入方式:自服平台直连</td>"; |
| | | str += "</tr>"; |
| | | } |
| | | str += "</tr>"; |
| | | str += "<tr>"; |
| | | str += "<td>账号:" + result.Message.Get.SpID + "</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr>"; |
| | | str += "<td>密码:" + result.Message.Get.Password + "</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr>"; |
| | | str += "<td>接入码:" + getAPAccessCode(result.Message.Get.ApID, result.Message.Get.AccessCode) + "</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr>"; |
| | | str += "<td>最大流量:" + result.Message.Get.Threshold + "条/秒</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr>"; |
| | | str += "<td>最大连接数:" + result.Message.Get.MaxConnCount + "</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr>"; |
| | | str += "<td>单号码最大下发次数:" + result.Message.McExpression + "</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr>"; |
| | | str += "<td style=\"word-wrap: break-word; word-break: break-all; overflow: hidden;\">客户绑定IP:" + (result.Message.Get.ClientIp == "0.0.0.0" || !result.Message.Get.ClientIp ? "不验证" : result.Message.Get.ClientIp) + "</td>"; |
| | | str += "</tr>"; |
| | | if (result.Message.Get.DiverterID > 0) { |
| | | var diverter = diverterList.find(function(e) { return e.DiverterID == result.Message.Get.DiverterID; }); |
| | | if (diverter != null) { |
| | | var diverterItems = $.evalJSON(diverter.Content); |
| | | $.each(diverterItems, function(i) { |
| | | str += "<tr>"; |
| | | str += "<td>当匹配关键字" + this.Keywords + (this.SmMaxLength > 0 ? "或者短信字数<=" + this.SmMaxLength + "字符" : "") + (this.SmMinLength > 0 ? "或者短信字数>=" + this.SmMinLength + "字符" : "") + "</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr>"; |
| | | str += "<td>电信发送号码:" + getOPAccessCode(this.CTOPID, this.CTExtNo + result.Message.Get.AccessCode) + "</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr>"; |
| | | str += "<td>移动发送号码:" + getOPAccessCode(this.CMOPID, this.CMExtNo + result.Message.Get.AccessCode) + "</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr>"; |
| | | str += "<td>联通发送号码:" + getOPAccessCode(this.CUOPID, this.CUExtNo + result.Message.Get.AccessCode) + "</td>"; |
| | | str + "</tr>"; |
| | | }); |
| | | } |
| | | } |
| | | str += "<tr>"; |
| | | str += "<td >默认情况下:</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr>"; |
| | | str += "<td>电信发送号码:" + getOPAccessCode(result.Message.Get.CTOPID, result.Message.Get.AccessCode) + "</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr>"; |
| | | str += "<td>移动发送号码:" + getOPAccessCode(result.Message.Get.CMOPID, result.Message.Get.AccessCode) + "</td>"; |
| | | str += "</tr>"; |
| | | str += "<tr>"; |
| | | str += "<td>联通发送号码:" + getOPAccessCode(result.Message.Get.UNOPID, result.Message.Get.AccessCode) + "</td>"; |
| | | str += "</tr>"; |
| | | $("#account-abstract").html(str); |
| | | $("#model-abstract").modal("show"); |
| | | } else { |
| | | mytek.alert(result.Message, result.OK); |
| | | } |
| | | } |
| | | }); |
| | | }) |
| | | |
| | | function getAPAccessCode(apId, extNo) { |
| | | var item = apList.find(function(e) { return e.ApID == apId; }); |
| | | |
| | | if (item == null) { |
| | | return "接入点配置不正确"; |
| | | } |
| | | |
| | | var accessCodes = item.AccessCode.split("|"); |
| | | var output = []; |
| | | for (var n = 0; n < accessCodes.length; n++) { |
| | | output.push(accessCodes[n] + extNo); |
| | | } |
| | | |
| | | return output.join("或者"); |
| | | } |
| | | |
| | | function getAPPort(apId) { |
| | | var item = apList.find(function(e) { return e.ApID == apId; }); |
| | | |
| | | if (item == null) { |
| | | return "接入点配置不正确"; |
| | | } |
| | | |
| | | return item.ApPort; |
| | | } |
| | | |
| | | function getOPAccessCode(opId, extNo) { |
| | | var item = opList.find(function(e) { return e.OpID == opId; }); |
| | | |
| | | if (item == null) { |
| | | return "通道配置不正确"; |
| | | } |
| | | |
| | | return item.AccessCode + extNo; |
| | | } |
| | | |
| | | }); |
| | | </script> |
| | | </asp:Content> |
| | | <asp:Content runat="server" ID="Content2" ContentPlaceHolderID="title">客户账号信息配置</asp:Content> |
| | | <asp:Content ID="Content3" ContentPlaceHolderID="content" runat="Server"> |
| | | |
| | | |
| | | <form name="SpForm" method="get" action="GwSp.aspx" id="SpForm"> |
| | | <input type="hidden" id="IsExport" name="IsExport" value="0" /> |
| | | <div class="listCanvas form-inline"> |
| | | <div class="ibox"> |
| | | <div class="form-group"> |
| | | <div class="input-group m-b"> |
| | | <span class="input-group-addon">SP账号</span> |
| | | <input type="text" name="spID" id="spID" class="form-control col-md-2" /> |
| | | </div> |
| | | </div> |
| | | <!-- 2021.2.24 wzp变更成下拉选项,后续可以删除 |
| | | <div class="form-group"> |
| | | <div class="input-group m-b"> |
| | | <span class="input-group-addon">接入ID</span> |
| | | <input type="text" name="apID" id="apID" class="form-control col-md-2" /> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <div class="form-group"> |
| | | <div class="input-group m-b"> |
| | | <span class="input-group-addon">代理商客户账号</span> |
| | | <input type="text" name="clientID" id="clientID" class="form-control col-md-2" /> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <div class="input-group m-b"> |
| | | <span class="input-group-addon">代理商客户名称</span> |
| | | <input type="text" name="clientName" id="clientName" class="form-control col-md-2" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group"> |
| | | <div class="input-group m-b"> |
| | | <span class="input-group-addon">通道ID</span> |
| | | <input type="text" name="opID" id="opID" class="form-control col-md-2" /> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <div class="input-group m-b"> |
| | | <select name="routerType" class="form-control" id="routerType"> |
| | | <option value="">路由模式</option> |
| | | <option value="1">通道点路由</option> |
| | | <option value="3">通道组路由</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <div class="input-group m-b"> |
| | | <select name="chargeType" class="form-control" id="chargeType"> |
| | | <option value="">付费方式</option> |
| | | <option value="1">预付费</option> |
| | | <option value="2">后付费</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <div class="input-group m-b"> |
| | | <select name="apID" class="form-control" id="apID"> |
| | | <option value="">接入协议</option> |
| | | <option value="230001">CMPP</option> |
| | | <option value="230002">HTTP</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <div class="input-group m-b"> |
| | | <select name="apID" class="form-control" id="RESEND_STATUS"> |
| | | <option value="3">自动补发</option> |
| | | <option value="1">启用补发</option> |
| | | <option value="0">停用补发</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <div class="input-group m-b"> |
| | | <input type="button" value="查询" class="btn btn-primary action-query" /> |
| | | <input type="button" value="批量修改通道" class="btn btn-danger action-modal-op" /> |
| | | <input type="button" class="btn btn-info action-export" value="导出数据" /> |
| | | <input class="btn btn-warning action-create" value="创建新账号" type="button" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </form> |
| | | <div class="table-responsive"> |
| | | <table class="table table-striped table-bordered table-hover" id="gwspTable"> |
| | | <thead> |
| | | <tr class="header"> |
| | | <th> |
| | | <input type='checkbox' name='checkAll' id='checkAll' /> |
| | | </th> |
| | | <th> |
| | | SP账号/接入协议/归属客户 |
| | | </th> |
| | | <th> |
| | | 通道 |
| | | </th> |
| | | <th> |
| | | 失败补发 |
| | | </th> |
| | | <th> |
| | | 条数/余额/付费方式/单价/告警 |
| | | </th> |
| | | <th> |
| | | 账号配置属性 |
| | | </th> |
| | | <th> |
| | | 扩展号 |
| | | </th> |
| | | <th> |
| | | 客户IP |
| | | </th> |
| | | <th> |
| | | 状态 |
| | | </th> |
| | | <th colspan="4"> |
| | | 操作 |
| | | </th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | <div id="pagination"> |
| | | </div> |
| | | |
| | | <div class="modal inmodal fade" id="opDialog" tabindex="-1" role="dialog" aria-hidden="true"> |
| | | <div class="modal-dialog form-horizontal"> |
| | | <div class="modal-content animated "> |
| | | <div class="modal-header"> |
| | | <h3> |
| | | 批量修改通道</h3> |
| | | </span><a class="close" data-dismiss="modal" aria-hidden="true">×</a> <span class="text-muted"> |
| | | 批量更改通道[组]将会更新所有选中的账号的通道[组],<br /> |
| | | 如果移动、联通或电信 没有设置通道[组],所选账号通道[组]都将被清空,请谨慎操作! </span> |
| | | </div> |
| | | <div class="modal-body"> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 移动通道 |
| | | </label> |
| | | <div class="col-sm-10"> |
| | | <select name="CMOPID" id="CMOPID" class="form-control"> |
| | | |
| | | <%=GetOpOptions(0)%> |
| | | </select> |
| | | |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 联通通道 |
| | | </label> |
| | | <div class="col-sm-10"> |
| | | <select name="UNOPID" id="UNOPID" class="form-control"> |
| | | <%=GetOpOptions(0)%> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 电信通道 |
| | | </label> |
| | | <div class="col-sm-10"> |
| | | <select name="CTOPID" id="CTOPID" class="form-control"> |
| | | <%=GetOpOptions(0)%> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 移动通道组 |
| | | </label> |
| | | <div class="col-sm-10"> |
| | | <select name="CMGROUPID" id="CMGROUPID" class="form-control"> |
| | | <%=GetGroupOptions(0)%> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 联通通道组 |
| | | </label> |
| | | <div class="col-sm-10"> |
| | | <select name="CUGROUPID" id="CUGROUPID" class="form-control"> |
| | | <%=GetGroupOptions(0)%> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 电信通道组 |
| | | </label> |
| | | <div class="col-sm-10"> |
| | | <select name="CTGROUPID" id="CTGROUPID" class="form-control"> |
| | | <%=GetGroupOptions(0)%> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="modal-footer"> |
| | | <button class="btn-default btn" data-dismiss="modal" aria-hidden="true"> |
| | | 取消</button> |
| | | <input class="btn btn-primary action-update-op" value="确定修改" type="button" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="modal inmodal fade" id="chargeDialog" tabindex="-1" role="dialog" aria-hidden="true"> |
| | | <div class="modal-dialog form-horizontal"> |
| | | <div class="modal-content animated "> |
| | | <div class="modal-header"> |
| | | <span class="title">账户充值</span><a class="close" data-dismiss="modal" aria-hidden="true">×</a></div> |
| | | <div class="modal-body"> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 充值金额</label> |
| | | <div class="col-sm-10 input-group m-b"> |
| | | <input type="text" class="form-control" name="amount" id="amount" value="" /> |
| | | <span class="input-group-addon">¥</span> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 备注</label> |
| | | <div class="col-sm-10 input-group m-b"> |
| | | <input type="text" class="form-control" name="remark" id="remark" value="" /> |
| | | <span class="input-group-addon"></span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="modal-footer"> |
| | | <button class="btn-default btn" data-dismiss="modal" aria-hidden="true"> |
| | | 取消</button> |
| | | <input class="btn btn-primary action-charge" value="确定充值" type="button" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="modal inmodal fade" id="model-abstract" tabindex="-1" role="dialog" aria-hidden="true"> |
| | | <div class="modal-dialog form-horizontal"> |
| | | <div class="modal-content animated "> |
| | | <div class="modal-header"> |
| | | <span class="title">账号摘要</span><a class="close" data-dismiss="modal" aria-hidden="true">×</a></div> |
| | | <div class="modal-body action-modal-body" style="color: #797979; font-size: 16px; |
| | | font-weight: 300; position: relative; text-align: inherit; float: none; margin: 0px; |
| | | padding: 0px; line-height: normal;"> |
| | | <table class='table table-striped table-bordered table-hover' id="account-abstract"> |
| | | </table> |
| | | </div> |
| | | <div class="modal-footer"> |
| | | <button class="btn-default btn" data-dismiss="modal" aria-hidden="true"> |
| | | 关闭</button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div id="mask" class="mask"> |
| | | <span></span> |
| | | <img src="img/spinning-circles.svg" alt="载入中..." /></div> |
| | | </div> |
| | | </asp:Content> |