123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499 |
- <%@ page import="java.util.Date" %>
- <%@ page contentType="text/html;charset=UTF-8" %>
- <%@ include file="/WEB-INF/views/include/taglib.jsp"%>
- <html>
- <head>
- <title>内部优惠管理</title>
- <meta name="decorator" content="default"/>
- <script type="text/javascript">
- $(document).ready(function() {
- //$("#name").focus();
- $("#inputForm").validate({
- submitHandler: function(form){
- if (imageList.length > 0) {
- var productInfo = JSON.stringify(imageList);
- $('#productInfo').val(productInfo);
- }
- if (userList.length > 0) {
- var userInfo = JSON.stringify(userList);
- $("#userInfo").val(userInfo);
- }
- loading('正在提交,请稍等...');
- form.submit();
- },
- errorContainer: "#messageBox",
- errorPlacement: function(error, element) {
- $("#messageBox").text("输入有误,请先更正。");
- if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
- error.appendTo(element.parent().parent());
- } else {
- error.insertAfter(element);
- }
- }
- });
- });
- /**
- * @param obj
- * jquery控制input只能输入数字
- */
- function onlynum(obj) {
- obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
- }
- function changeDiscount(){
- var discount = Number($("#discount").val()).toFixed(2);
- if (discount > 100 || discount <= 0) {
- $.jBox.tip("请输入0-100之间的数字", 'info');
- $("#discount").val('');
- }
- }
- </script>
- </head>
- <body>
- <ul class="nav nav-tabs">
- <li><a href="${ctx}/hehe/cmHeheDiscount/">内部优惠列表</a></li>
- <li class="active"><a href="${ctx}/hehe/cmHeheDiscount/form?id=${cmHeheDiscount.id}">${not empty cmHeheDiscount.id?'编辑':'添加'}</a></li>
- </ul><br/>
- <form:form id="inputForm" modelAttribute="cmHeheDiscount" action="${ctx}/hehe/cmHeheDiscount/save" method="post" class="form-horizontal">
- <form:hidden path="id"/>
- <form:hidden path="productInfo"/>
- <form:hidden path="userInfo"/>
- <sys:message content="${message}"/>
- <div class="control-group">
- <label class="control-label"><font color="red">*</font>标题:</label>
- <div class="controls">
- <form:input path="title" htmlEscape="false" maxlength="30" placeholder="30个汉字以内" class="input-xlarge required"/>
- </div>
- </div>
- <div class="control-group">
- <label class="control-label"><font color="red">*</font>折扣率:</label>
- <div class="controls">
- <form:input path="discount" htmlEscape="false" onkeyup="onlynum(this)" onchange="changeDiscount()" class="input-xlarge digits required"/> %
- </div>
- </div>
- <div class="control-group">
- <label class="control-label"><font color="red">*</font>状态:</label>
- <div class="controls">
- <form:select path="status" class="input-medium required">
- <form:option value="1" label="启用"/>
- <form:option value="0" label="停用"/>
- </form:select>
- </div>
- </div>
- <div class="control-group">
- <label class="control-label"><font color="red">*</font>优惠商品:</label>
- <div class="controls">
- <form:radiobutton path="productType" value="1" label="全商城商品" onclick="productShow()" checked="${empty cmHeheDiscount.productType ? true:false}"/>
- <form:radiobutton path="productType" value="2" label="指定商品" onclick="productShow()" />
- </div>
- </div>
- <div class="productData" hidden="hidden">
- <div class="control-group">
- <input class="btn" id="productDel" style="width: 50px" onclick="productBatchDeletion()" value="删除"/>
- <input class="btn btn-primary" style="width: 70px" onclick="batchSaveProductSort()" value="一键排序"/>
- <input class="btn btn-primary" style="width: 50px" onclick="productShowSelect()" value="添加"/>
- <br><br>
- <table id="productTable" class="table table-striped table-bordered table-condensed" hidden="hidden">
- <thead>
- <tr>
- <th style="width:20px;"><input class="check-all" type="checkbox" onclick="clickAllSelect(this,1);"/> 全选
- </th>
- <th>商品图片</th>
- <th>商品名称</th>
- <th>供应商</th>
- <th>状态</th>
- <th>排序</th>
- <th>添加时间</th>
- <th>操作</th>
- </tr>
- </thead>
- <tbody id="productTbody"></tbody>
- </table>
- </div>
- </div>
- <div class="control-group">
- <label class="control-label"><font color="red">*</font>用户列表:</label>
- </div>
- <div class="userData">
- <div class="control-group">
- <input class="btn" id="userDel" style="width: 50px" onclick="userBatchDeletion()" value="删除"/>
- <input class="btn btn-primary" style="width: 50px" onclick="userShowSelect()" value="添加"/>
- <br><br>
- <table id="userTable" class="table table-striped table-bordered table-condensed" hidden="hidden">
- <thead>
- <tr>
- <th style="width:20px;"><input class="check-all" type="checkbox" onclick="clickAllSelect(this,2);"/> 全选
- </th>
- <th>微信昵称</th>
- <th>手机号</th>
- <th>身份</th>
- <th>添加时间</th>
- <th>操作</th>
- </tr>
- </thead>
- <tbody id="userTbody"></tbody>
- </table>
- </div>
- </div>
- <div class="form-actions">
- <input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>
- <input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
- </div>
- </form:form>
- <script>
- var productIds = '';
- var imageList = [];
- var userIds = '';
- var userList = [];
- $(function () {
- <c:forEach items="${productList}" var="product" varStatus="index">
- imageList.push({
- id: "${product.id}",
- productId: "${empty product.productId ? "":product.productId}",
- image: "${product.image}",
- productName: "${product.productName}",
- shopName: "${product.shopName}",
- sort: "${product.sort}",
- status: "${product.status}",
- addTime: "<fmt:formatDate value="${product.addTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"
- });
- </c:forEach>
- debugger
- <c:forEach items="${userList}" var="user" varStatus="index">
- userList.push({
- userId: "${user.userId}",
- nickName: "${user.nickName}",
- mobile: "${user.mobile}",
- userIdentity: "${user.userIdentity}",
- addTime: "<fmt:formatDate value="${user.addTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"
- });
- </c:forEach>
- if (imageList.length > 0) {
- $('#productTable').show();
- batchSaveProductSort();
- }
- if (userList.length > 0) {
- $('#userTable').show();
- batchSaveUserSort();
- }
- productShow();
- });
- //商品添加
- function productShowSelect() {
- var url = "${ctx}/hehe/cmHeheDiscount/toAddProduct?productIds=" + productIds;
- var title = '';
- title = "选择商品";
- top.$.jBox("iframe:" + url, {
- iframeScrolling: 'yes',
- width: $(top.document).width() - 400,
- height: $(top.document).height() - 160,
- persistent: true,
- title: title,
- buttons: {"确定": '1', "取消": '-1'},
- submit: function (v, h, f) {
- //确定
- var $jboxFrame = top.$('#jbox-iframe');
- var $mainFrame = top.$('#mainFrame');
- if ('1' == v && 1 == $jboxFrame.size() && 1 == $mainFrame.size()) {
- var items = $jboxFrame[0].contentWindow.getCheckedItems();
- console.log(items);
- console.log(items[0]);
- for (var i = 0; i < items.length; i++) {
- console.log(items[i]);
- imageList.push(items[i]);
- $('#productTable').show();
- $("#productDel").removeAttr("disabled");
- batchSaveProductSort();
- };
- }
- return true;
- }
- });
- }
- //用户添加
- function userShowSelect() {
- debugger
- var url = "${ctx}/hehe/cmHeheDiscount/toAddUser?userIds=" + userIds;
- var title = '';
- title = "选择用户";
- top.$.jBox("iframe:" + url, {
- iframeScrolling: 'yes',
- width: $(top.document).width() - 400,
- height: $(top.document).height() - 160,
- persistent: true,
- title: title,
- buttons: {"确定": '1', "取消": '-1'},
- submit: function (v, h, f) {
- //确定
- var $jboxFrame = top.$('#jbox-iframe');
- var $mainFrame = top.$('#mainFrame');
- if ('1' == v && 1 == $jboxFrame.size() && 1 == $mainFrame.size()) {
- var items = $jboxFrame[0].contentWindow.getCheckedItems();
- console.log(items);
- console.log(items[0]);
- for (var i = 0; i < items.length; i++) {
- console.log(items[i]);
- userList.push(items[i]);
- $('#userTable').show();
- $("#userDel").removeAttr("disabled");
- batchSaveUserSort();
- };
- }
- return true;
- }
- });
- }
- /**
- * 一键排序
- */
- function batchSaveProductSort() {
- imageList.sort(sort);
- productInsertHtml(imageList);
- }
- /**
- * 一键排序
- */
- function batchSaveUserSort() {
- userInsertHtml(userList);
- }
- //根据sort值 从小到大排序
- function sort(a, b) {
- return a.sort - b.sort;
- }
- //相关图片列表数据
- function appendProduct(data, index) {
- var html = '<tr id ="ai' + index + '">' +
- '<td>' +
- '<input class="product-check-item" type="checkbox" name="info" value="' + index + '"/>' + (index + 1) +
- '</td>' +
- '<td>' +
- '<img src="' + data.image + '" width="60px" border="none" title="启用">' +
- '</td>' +
- '<td>' +
- data.productName +
- '</td>' +
- '<td>' +
- data.shopName +
- '</td>' +
- '<td>' +
- (data.status == 1 ? (
- '<font color="green">已启用</font> ' +
- '<a href="javascript:void(0);" onclick="updateStatus(0,' + index + ');" >' +
- '停用</a>'
- ) : (
- '<font color="red">已停用</font> ' +
- '<a href="javascript:void(0)" onclick="updateStatus(1,' + index + ');">' +
- '启用</a>'
- )) +
- '</td>' +
- '</td>' +
- '<td>' +
- '<input name="sort" style="width:50px;" value="' + data.sort + '" onkeyup="onlynum(this)" onchange="changeSort(' + index + ',this)"></td>' +
- '</td>' +
- '<td>' +
- (data.addTime == '' ? (
- '<fmt:formatDate value="<%=new Date()%>" pattern="yyyy-MM-dd HH:mm:ss"/>'
- ) : (
- data.addTime
- )) +
- '</td>' +
- '<td>' +
- '<a href="javascript:;" onclick="productDelete(' + index + ')">删除</a>' +
- '</td>' +
- '</tr>';
- return html;
- }
- //相关用户列表数据
- function appendUser(data, index) {
- var html = '<tr id ="ai' + index + '">' +
- '<td>' +
- '<input class="user-check-item" type="checkbox" name="info" value="' + index + '"/>' + (index + 1) +
- '</td>' +
- '<td>' +
- data.nickName +
- '</td>' +
- '<td>' +
- data.mobile +
- '</td>' +
- '<td>' +
- (data.userIdentity === 1 ? '普通用户':'分销者') +
- '</td>' +
- '<td>' +
- (data.addTime == '' ? (
- '<fmt:formatDate value="<%=new Date()%>" pattern="yyyy-MM-dd HH:mm:ss"/>'
- ) : (
- data.addTime
- )) +
- '</td>' +
- '<td>' +
- '<a href="javascript:;" onclick="userDelete(' + index + ')">删除</a>' +
- '</td>' +
- '</tr>';
- return html;
- }
- function productInsertHtml(list) {
- var html = '';
- productIds = '';
- list.forEach(function (item, index) {
- html += appendProduct(item, index);
- productIds += "," + item.productId;
- });
- $("#productTbody").html(html);
- }
- function userInsertHtml(list) {
- var html = '';
- userIds = '';
- list.forEach(function (item, index) {
- html += appendUser(item, index);
- userIds += "," + item.userId;
- });
- $("#userTbody").html(html);
- }
- function changeSort(index, sortThis) {
- var sort = sortThis.value;
- if (sort <= 0) {
- }
- var image = imageList[index];
- image.sort = sort;
- }
- function updateStatus(status, index) {
- var image = imageList[index];
- confirmx(status == 0 ? '确定停用吗?' : '确定启用吗?', function () {
- image.status = status;
- batchSaveProductSort();
- })
- }
- function clickAllSelect(ckb, type) {
- var isChecked = ckb.checked;
- if (type === 1) {
- $(".product-check-item").attr('checked', isChecked);
- } else {
- $(".user-check-item").attr('checked', isChecked);
- }
- }
- /**
- * 商品删除操作
- */
- function productDelete(index) {
- return confirmx("确定删除吗?", function () {
- var image = imageList[index];
- if (image.productId != '') {
- productIds = productIds.replace(image.productId,"");
- }
- imageList.splice(index, 1);
- productInsertHtml(imageList);
- if (imageList.length == 0) {
- $('#productTable').hide();
- $("#productDel").attr("disabled", "disabled");
- }
- });
- }
- /**
- * 用户删除操作
- */
- function userDelete(index) {
- return confirmx("确定删除吗?", function () {
- var user = userList[index];
- if (user.userId != '') {
- userIds = userIds.replace(user.userId,"");
- }
- userList.splice(index, 1);
- userInsertHtml(userList);
- if (userList.length == 0) {
- $('#userTable').hide();
- $("#userDel").attr("disabled", "disabled");
- }
- });
- }
- /**
- * 批量删除商品
- */
- function productBatchDeletion() {
- var index = -1;
- var i = 1;
- return confirmx("确定删除吗?", function () {
- $('input[name="info"]:checked').each(function () {
- var thisIndex = $(this).val();
- if (index >= 0 && index < thisIndex) {
- thisIndex = thisIndex - i;
- i++;
- } else {
- index = thisIndex;
- }
- var image = imageList[thisIndex];
- if (image.productId != '') {
- productIds = productIds.replace(image.productId, "");
- }
- imageList.splice(thisIndex, 1);
- productInsertHtml(imageList);
- if (imageList.length == 0) {
- $('#productTable').hide();
- $("#productDel").attr("disabled", "disabled");
- }
- });
- });
- }
- /**
- * 批量删除用户
- */
- function userBatchDeletion() {
- var index = -1;
- var i = 1;
- return confirmx("确定删除吗?", function () {
- $('input[name="info"]:checked').each(function () {
- var thisIndex = $(this).val();
- if (index >= 0 && index < thisIndex) {
- thisIndex = thisIndex - i;
- i++;
- } else {
- index = thisIndex;
- }
- var user = userList[thisIndex];
- if (user.userId != '') {
- userIds = userIds.replace(user.userId, "");
- }
- userList.splice(thisIndex, 1);
- userInsertHtml(userList);
- if (userList.length == 0) {
- $('#userTable').hide();
- $("#userDel").attr("disabled", "disabled");
- }
- });
- });
- }
- function productShow() {
- var productType = $("input[name='productType']:checked").val();
- if (productType == 2){
- $(".productData").show();
- }else {
- $(".productData").hide();
- }
- }
- </script>
- </body>
- </html>
|