New file |
| | |
| | | <%@ Page Language="C#" masterpagefile="~/Main.master" AutoEventWireup="true" CodeFile="GwProduct.aspx.cs" Inherits="_GwProduct" %> |
| | | <asp:Content runat="server" ID="Content1" ContentPlaceHolderID="head"> |
| | | <script type="text/javascript" language="javascript"> |
| | | $(document).ready(function() { |
| | | |
| | | //$(document).on("click", "[data-toggle='popover']", function () { |
| | | // $("[data-toggle='popover']").popover(); |
| | | //}) |
| | | var pagination = new Pagination(); |
| | | pagination.setPageIndex(1); |
| | | pagination.setPageSize(50); |
| | | |
| | | function loadPageList() { |
| | | var name = $("#Name").val(); |
| | | var classes = $("#Classes").val(); |
| | | $.ajax({ |
| | | url: "GwProduct.ashx", |
| | | type: "POST", |
| | | data: { action: "list", name: name, classes: classes, pageIndex: pagination.getPageIndex(), pageSize: pagination.getPageSize() }, |
| | | success: function(result) { |
| | | if (result.OK) { |
| | | $("#productTable tbody").html(result.Message.Table); |
| | | pagination.setRecordCount(result.Message.TotalCount); |
| | | $("#pagination").html(pagination.getHtml()); |
| | | $("[data-toggle='popover']").popover(); |
| | | } else { |
| | | mytek.alert(result.Message, result.OK); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | $(document).on("click", ".action-modal-add", function() { |
| | | $("#productDialog .modal-title").text("添加产品或产品分类"); |
| | | $("#productDialog #action").val("add"); |
| | | $("#productDialog #id").val("").attr("readonly", false); |
| | | $("#productDialog #name").val(""); |
| | | $("#productDialog #icon").val(""); |
| | | $("#productDialog #instructions").val(""); |
| | | $("#productDialog #classes").val(""); |
| | | $("#productDialog #parentId").val(""); |
| | | //$("#productDialog #path").val(""); |
| | | $("#productDialog #isDefault").val(""); |
| | | $("#productDialog #isDnable").val(1); |
| | | $("#productDialog #sort").val(1); |
| | | $("#productDialog #routerType").val(1); |
| | | $("#productDialog #cmOpId").val(""); |
| | | $("#productDialog #cuOpId").val(""); |
| | | $("#productDialog #ctOpId").val(""); |
| | | $("#productDialog #cmGroupid").val(""); |
| | | $("#productDialog #cuGroupid").val(""); |
| | | $("#productDialog #ctGroupid").val(""); |
| | | $("#productDialog #cmExtParams").val(""); |
| | | $("#productDialog #cuExtParams").val(""); |
| | | $("#productDialog #ctExtParams").val(""); |
| | | $("#productDialog #price").val(0.00); |
| | | $("#productDialog #givingNum").val(0); |
| | | $("#productDialog #remark").val(""); |
| | | |
| | | $("#productDialog").modal("show"); |
| | | }); |
| | | |
| | | $("#productForm").ajaxForm({ |
| | | success: function(r) { |
| | | if (r.OK) { |
| | | mytek.alert(r.Message, r.OK, function() { |
| | | $("#productDialog").modal("hide"); |
| | | loadPageList(); |
| | | }); |
| | | } else { |
| | | mytek.alert(r.Message, r.OK); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | //选择图标下拉框 |
| | | $("#icon").on("change", function () { |
| | | console.log("icon:" + $(this).val()); |
| | | if ($(this).val() != "") { |
| | | document.getElementById('showImg').src = "../static/images/productIcon/" + $(this).val(); |
| | | } |
| | | }); |
| | | |
| | | $("#icon").trigger("change"); |
| | | |
| | | //选择类别下拉框,控制相关输入项显示 |
| | | $("#classes").on("change", function () { |
| | | $(".classes-span").hide(); |
| | | $(".classes-span-" + $(this).val()).show(); |
| | | }); |
| | | |
| | | $("#classes").trigger("change"); |
| | | |
| | | //选择路由类型下拉框,控制相关输入项显示 |
| | | $("#RouterType").on("change", function () { |
| | | $(".router-type-span").hide(); |
| | | $(".router-type-span-" + $(this).val()).show(); |
| | | }); |
| | | |
| | | $("#RouterType").trigger("change"); |
| | | |
| | | $(document).on("click", ".action-modal-edit", function() { |
| | | var id = $(this).data("id"); |
| | | $("#productDialog .modal-title").text("编辑产品或产品分类"); |
| | | $("#productDialog #id").val(id).attr("readonly", true); |
| | | |
| | | $.get("gwProduct.ashx", { "action": "get", id: id }, function(r) { |
| | | if (r.OK) { |
| | | $("#productDialog #action").val("update"); |
| | | $("#productDialog #id").val(r.Message.Id).attr("readonly", false); |
| | | $("#productDialog #name").val(r.Message.Name); |
| | | $("#productDialog #classes").val(r.Message.Classes); |
| | | $("#productDialog #parentId").val(r.Message.ParentId); |
| | | //$("#productDialog #path").val(r.Message.Path); |
| | | $("#productDialog #isDnable").val(r.Message.IsDnable); |
| | | $("#productDialog #remark").val(r.Message.Remark); |
| | | //产品 |
| | | if (r.Message.Classes == 1) { |
| | | $("#productDialog #icon").val(r.Message.Icon); |
| | | $("#productDialog #instructions").val(r.Message.Instructions); |
| | | $("#productDialog #isDefault").val(r.Message.IsDefault); |
| | | $("#productDialog #sort").val(r.Message.Sort); |
| | | $("#productDialog #routerType").val(r.Message.RouterType); |
| | | $("#productDialog #price").val(r.Message.Price/1000); //元条换算单位为厘条 |
| | | $("#productDialog #givingNum").val(r.Message.GivingNum); |
| | | if (r.Message.RouterType == 1) { |
| | | $("#productDialog #cmOpId").val(r.Message.CmOpId); |
| | | $("#productDialog #cuOpId").val(r.Message.CuOpId); |
| | | $("#productDialog #ctOpId").val(r.Message.CtOpId); |
| | | $("#productDialog #cmExtParams").val(r.Message.CmExtParams); |
| | | $("#productDialog #cuExtParams").val(r.Message.CuExtParams); |
| | | $("#productDialog #ctExtParams").val(r.Message.CtExtParams); |
| | | } |
| | | else { |
| | | $("#productDialog #cmGroupid").val(r.Message.CmGroupid); |
| | | $("#productDialog #cuGroupid").val(r.Message.CuGroupid); |
| | | $("#productDialog #ctGroupid").val(r.Message.CtGroupid); |
| | | |
| | | } |
| | | } |
| | | //产品分类 |
| | | else { |
| | | |
| | | } |
| | | |
| | | //设置类别 |
| | | $("#classes").trigger("change"); |
| | | |
| | | //设置图标 |
| | | $("#icon").trigger("change"); |
| | | |
| | | $("#productDialog").modal("show"); |
| | | } |
| | | else { |
| | | mytek.alert(r.Message, r.OK); |
| | | } |
| | | }, "json"); |
| | | }); |
| | | |
| | | $(document).on("click", ".action-update-status", function () { |
| | | //data的属性参数不能含有大写字母。 |
| | | var id = $(this).data("id"); |
| | | var isEnable = $(this).data("is_enable"); |
| | | $.post("gwProduct.ashx", { "action": "updateStatus", id: id, isEnable: isEnable }, 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("gwProduct.ashx", { "action": "delete", id: id }, function(result) { |
| | | mytek.alert(result.Message, result.OK, function() { |
| | | loadPageList(); |
| | | }); |
| | | }, |
| | | "json"); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | $(document).on("click", ".action-btn-GwProductQuery", function() { |
| | | pagination.setPageIndex(1); |
| | | loadPageList(); |
| | | }); |
| | | |
| | | $(document).on("click", "a[data-index]", function() { |
| | | pagination.setPageIndex($(this).attr("data-index")); |
| | | loadPageList(); |
| | | }); |
| | | |
| | | //进入页面时执行查询 |
| | | loadPageList(); |
| | | |
| | | }); |
| | | </script> |
| | | </asp:Content> |
| | | <asp:Content runat="server" ID="Content2" ContentPlaceHolderID="title">产品或产品分类管理</asp:Content> |
| | | <asp:Content ID="Content3" ContentPlaceHolderID="content" runat="Server"> |
| | | |
| | | <form name="queryForm" method="get" action="GwProduct.aspx" id="queryForm" class="form-inline" |
| | | id="gwProductTable"> |
| | | <div class="m-b"> |
| | | <div class="form-group"> |
| | | <div class="input-group"> |
| | | <span class="input-group-addon">产品名称</span> |
| | | <input type="text" name="Name" id="Name" class="form-control" /> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <div class="input-group"> |
| | | <select name="Classes" id="Classes" class="form-control"> |
| | | <option value="-1">--请选择类别--</option> |
| | | <option value="0">产品分类</option> |
| | | <option value="1">产品</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <div class="input-group"> |
| | | <input type="button" value="查询" class="btn btn-primary action-btn-GwProductQuery" /> |
| | | <input class=" btn btn-warning action-modal-add" value="添加产品" type="button" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <table class="table table-striped table-bordered table-hover" id="productTable"> |
| | | <thead> |
| | | <tr class="header"> |
| | | <th>图标 |
| | | </th> |
| | | <th>名称 |
| | | </th> |
| | | <th>使用说明 |
| | | </th> |
| | | <th>类别 |
| | | </th> |
| | | <th>通道 |
| | | </th> |
| | | <th>父级产品分类ID |
| | | </th> |
| | | <th>是否默认 |
| | | </th> |
| | | <th>是否启用 |
| | | </th> |
| | | <th>排序 |
| | | </th> |
| | | <th>赠送条数 |
| | | </th> |
| | | <th>参考单价 |
| | | </th> |
| | | <th>创建时间 |
| | | </th> |
| | | <th class="text-right">操作 |
| | | </th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | </tbody> |
| | | </table> |
| | | </form> |
| | | <div id="pagination"> |
| | | </div> |
| | | <div class="footBar"> |
| | | |
| | | </div> |
| | | |
| | | <div class="modal inmodal fade" id="productDialog" tabindex="-1" role="dialog" aria-hidden="true"> |
| | | <div class="modal-dialog modal-lg"> |
| | | <form class="form-horizontal" id="productForm" name="productForm" method="post" action="gwProduct.ashx"> |
| | | <div class="modal-content "> |
| | | <div class="modal-header"> |
| | | <input type="hidden" class="form-control" name="action" id="action" value="update" /> |
| | | <input type="hidden" class="form-control" name="id" id="id" value="" /> |
| | | <button type="button" class="close" data-dismiss="modal"> |
| | | <span aria-hidden="true">×</span><span class="sr-only">Close</span></button> |
| | | <h4 class="modal-title">编辑产品资料</h4> |
| | | </div> |
| | | <div class="modal-body"> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 类别</label> |
| | | <div class="col-sm-4 "> |
| | | <select id="classes" name="classes" class="form-control"> |
| | | <option value="-1">--请选择类别--</option> |
| | | <option value="0" >产品分类</option> |
| | | <option value="1" selected>产品</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 父级分类ID</label> |
| | | <div class="col-sm-4 "> |
| | | <select name="parentId" id="parentId"> |
| | | <%=GetProductClassOptions("0")%> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group classes-span classes-span-1 "> |
| | | <label class="col-sm-2 control-label"> |
| | | 图标</label> |
| | | <div class="col-sm-4 "> |
| | | <div><img id="showImg" name="showImg" src=""></div> |
| | | <select id="icon" name="icon" class="form-control" > |
| | | <option value="">--请选择图标--</option> |
| | | <option value="marketingSMS-32.png" >marketingSMS-32.png</option> |
| | | <option value="noticeSMS-32.png" >noticeSMS-32.png</option> |
| | | <option value="VerificationCodeSMS-32.png" >VerificationCodeSMS-32.png</option> |
| | | </select> |
| | | </div> |
| | | <span class="help-block m-b-none">类别为产品时,产品的图标标识。 |
| | | </span> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 名称</label> |
| | | <div class="col-sm-4 "> |
| | | <input type="text" class="form-control" name="name" id="name" value="" /> |
| | | </div> |
| | | </div> |
| | | <div class="form-group classes-span classes-span-1"> |
| | | <label class="col-sm-2 control-label"> |
| | | 使用说明</label> |
| | | <div class="col-sm-10"> |
| | | <input type="text" class="form-control" name="instructions" id="instructions" value=""/> |
| | | </div> |
| | | </div> |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 产品路径</label> |
| | | <div class="col-sm-4 "> |
| | | <input type="text" class="form-control" name="path" id="path" value="" /> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <div class="form-group classes-span classes-span-1"> |
| | | <label class="col-sm-2 control-label"> |
| | | 推广方式</label> |
| | | <div class="col-sm-4 "> |
| | | <select id="isDefault" name="isDefault" class="form-control"> |
| | | <option value="0" >个性客户</option> |
| | | <option value="1" >系统默认</option> |
| | | </select> |
| | | </div> |
| | | <span class="help-block m-b-none">个性化客户是指特殊推送给客户;系统默认是指系统默认可推送所有客户。</span> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 是否启用</label> |
| | | <div class="col-sm-4 "> |
| | | <select id="isEnable" name="isEnable" class="form-control"> |
| | | <option value="0" >停用</option> |
| | | <option value="1" selected>启用</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group classes-span classes-span-1"> |
| | | <label class="col-sm-2 control-label"> |
| | | 排序</label> |
| | | <div class="col-sm-4"> |
| | | <div class="input-group"> |
| | | <input type="text" class="form-control" name="sort" id="sort" value="" |
| | | maxlength="5" onkeyup="value=value.replace(/[^\d]/g,'')" onpaste="value=value.replace(/[^\d]/g,'')" |
| | | oncontextmenu="return false" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="form-group classes-span classes-span-1"> |
| | | <label class="col-sm-2 control-label"> |
| | | 通道路由</label> |
| | | <div class="col-sm-10"> |
| | | <select name="RouterType" id="RouterType"> |
| | | <option value="1" >指定通道路由</option> |
| | | <option value="3" >通道组路由模式</option> |
| | | </select> |
| | | |
| | | |
| | | <div class="router-type-span router-type-span-1"> |
| | | <div style="padding: 5px"> |
| | | 移动:<select name="cmOpId" id="cmOpId"> |
| | | <%=GetOpOptions(0)%> |
| | | </select> 扩展参数:<input type="text" name="cmExtParams" id="cmExtParams" maxlength="600" |
| | | value="" style="width: 50%;" placeholder="移动扩展参数" /> |
| | | </div> |
| | | <div style="padding: 5px"> |
| | | 联通:<select name="cuOpId" id="cuOpId"> |
| | | <%=GetOpOptions(0)%> |
| | | </select> 扩展参数:<input type="text" name="cuExtParams" id="cuExtParams" maxlength="600" |
| | | value="" style="width: 50%;" placeholder="联通扩展参数" /> |
| | | </div> |
| | | <div style="padding: 5px"> |
| | | 电信:<select name="ctOpId" id="ctOpId"> |
| | | <%=GetOpOptions(0)%> |
| | | </select> 扩展参数:<input type="text" name="ctExtParams" id="ctExtParams" maxlength="600" |
| | | value="" style="width: 50%;" placeholder="电信扩展参数" /> |
| | | </div> |
| | | <span class="help-block m-b-none">CMPP2.0,CMPP3.0协议支持扩展参数有:SERVICEID(服务代码/业务代码(最长10位)),FEECODE(费用代码(最长6位)),FEETYPE(费用类型),FEEUSERTYPE,FEETERMINALID(计费号码) |
| | | SGIP支持扩展参数有:SERVICETYPE(业务代码(最长10位)),CHARGENUMBER(计费号码(最长21位)),FEEVALUE(收费值(最长6位)),GIVENVALUE,NODEID(节点(最长6位)),CONNTIMEOUT(连接超时) |
| | | SMGP支持扩展参数有:SERVICEID(服务代码/业务代码(最长10位)),FIXEDFEE(包月费/封顶费(最长6位)),FEECODE(费用代码/资费代码(最大6位));</span> |
| | | </div> |
| | | <div class="router-type-span router-type-span-3"> |
| | | <div style="padding: 5px"> |
| | | <label class="control-label "> |
| | | 移动通道组</label> |
| | | <select name="cmGroupid" id="cmGroupid"> |
| | | |
| | | <%=GetOpGroupOptions(0) %> |
| | | </select></div> |
| | | <div style="padding: 5px"> |
| | | <label class="control-label "> |
| | | 联通通道组</label> |
| | | <select name="cuGroupid" id="cuGroupid"> |
| | | |
| | | <%=GetOpGroupOptions(0)%> |
| | | </select></div> |
| | | <div style="padding: 5px"> |
| | | <label class="control-label"> |
| | | 电信通道组</label> |
| | | <select name="ctGroupid" id="ctGroupid"> |
| | | <%=GetOpGroupOptions(0)%> |
| | | </select></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group classes-span classes-span-1"> |
| | | <label class="col-sm-2 control-label"> |
| | | 参考单价</label> |
| | | <div class="col-sm-4"> |
| | | <div class="input-group"> |
| | | <input type="text" class="form-control" name="price" id="price" value="" maxlength="5" |
| | | onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')" |
| | | oncontextmenu="return false" /><span class="input-group-addon">元/条 </span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="form-group classes-span classes-span-1"> |
| | | <label class="col-sm-2 control-label"> |
| | | 默认赠送条数</label> |
| | | <div class="col-sm-4"> |
| | | <div class="input-group"> |
| | | <input type="text" class="form-control" name="givingNum" id="givingNum" value="" maxlength="5" |
| | | onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')" |
| | | oncontextmenu="return false" /><span class="input-group-addon">条 </span> |
| | | </div> |
| | | </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="" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="modal-footer"> |
| | | <button class="btn btn-default" data-dismiss="modal" aria-hidden="true"> |
| | | 取消</button> |
| | | <button class="btn btn-primary"> |
| | | 保存</button> |
| | | </div> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- footBar --> |
| | | <div id="mask" class="mask"> |
| | | <span></span> |
| | | <img src="img/spinning-circles.svg" alt="载入中..." /> |
| | | </div> |
| | | </asp:Content> |
| | | |
| | | |
| | | |