$(function () { $("#jqGrid").jqGrid({ url: '../coupon/list?sendType=7', datatype: "json", colModel: [ {label: 'id', name: 'id', index: 'id', key: true, hidden: true}, {label: '优惠券名称', name: 'name', index: 'name', width: 120}, {label: '配送金额', name: 'typeMoney', index: 'type_money', width: 80}, {label: '最小金额', name: 'minAmount', index: 'min_amount', width: 80}, {label: '最大金额', name: 'maxAmount', index: 'max_amount', width: 80}, ], viewrecords: true, height: 550, rowNum: 10, rowList: [10, 30, 50], rownumbers: true, rownumWidth: 25, autowidth: true, multiselect: true, pager: "#jqGridPager", jsonReader: { root: "page.list", page: "page.currPage", total: "page.totalPage", records: "page.totalCount" }, prmNames: { page: "page", rows: "limit", order: "order" }, gridComplete: function () { //隐藏grid底部滚动条 $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"}); } }); }); var vm = new Vue({ el: '#rrapp', data: { showList: true, showCard: false, showGoods: false, title: null, coupon: {sendType: 7}, ruleValidate: { name: [ {required: true, message: '优惠券名称不能为空', trigger: 'blur'} ] }, q: { name: '' }, goods: [], goodss: [], user: [], users: [], selectData: {}, sendSms: '',//是否发送短信 startTimeOption: {}, endTimeOption: {} }, methods: { query: function () { vm.reload(); }, add: function () { vm.showList = false; vm.showCard = true; vm.showGoods = false; vm.title = "新增"; vm.coupon = {sendType: 7}; }, update: function (event) { var id = getSelectedRow(); if (id == null) { return; } vm.showList = false; vm.showCard = true; vm.showGoods = false; vm.title = "修改"; vm.getInfo(id) }, saveOrUpdate: function (event) { var url = vm.coupon.id == null ? "../coupon/save" : "../coupon/update"; $.ajax({ type: "POST", url: url, contentType: "application/json", data: JSON.stringify(vm.coupon), success: function (r) { if (r.code === 0) { alert('操作成功', function (index) { vm.reload(); }); } else { alert(r.msg); } } }); }, del: function (event) { var ids = getSelectedRows(); if (ids == null) { return; } confirm('确定要删除选中的记录?', function () { $.ajax({ type: "POST", url: "../coupon/delete", contentType: "application/json", data: JSON.stringify(ids), success: function (r) { if (r.code == 0) { alert('操作成功', function (index) { $("#jqGrid").trigger("reloadGrid"); }); } else { alert(r.msg); } } }); }); }, getInfo: function (id) { $.get("../coupon/info/" + id, function (r) { vm.coupon = r.coupon; }); }, reload: function (event) { vm.showList = true; vm.showCard = false; vm.showGoods = false; var page = $("#jqGrid").jqGrid('getGridParam', 'page'); $("#jqGrid").jqGrid('setGridParam', { postData: {'name': vm.q.name}, page: page }).trigger("reloadGrid"); vm.handleReset('formValidate'); }, handleSubmit: function (name) { handleSubmitValidate(this, name, function () { vm.saveOrUpdate() }); }, handleReset: function (name) { handleResetForm(this, name); }, publish: function (id, sendType) { vm.showGoods = true; vm.goods = []; vm.user = []; vm.getGoodss(); vm.getUsers(); vm.selectData = {id: id, sendType: sendType}; vm.sendSms = false; openWindow({ title: "发放", area: ['600px', '350px'], content: jQuery("#sendDiv") }) }, getUsers: function () { $.get("../user/queryAll", function (r) { vm.users = r.list; }); }, publishSubmit: function () { var sendType = vm.selectData.sendType; if (sendType == 1 && vm.user.length == 0) { vm.$Message.error('请选择下发会员'); return; } if (sendType == 3 && vm.goods.length == 0) { vm.$Message.error('请选择下发商品'); return; } confirm('确定下发优惠券?', function () { $.ajax({ type: "POST", dataType: 'json', url: "../coupon/publish", contentType: "application/json", data: JSON.stringify({ sendType: vm.selectData.sendType, couponId: vm.selectData.id, goodsIds: vm.goods.toString(), userIds: vm.user.toString(), sendSms: vm.sendSms }), success: function (r) { if (r.code == 0) { alert('操作成功', function (index) { $("#jqGrid").trigger("reloadGrid"); vm.showGoods = false; vm.showList = true; }); } else { alert(r.msg); } } }); }); }, getGoodss: function () { $.get("../goods/queryAll/", function (r) { vm.goodss = r.list; }); }, onStartTimeChange(startTime) { vm.endTimeOption = { disabledDate(endTime) { return endTime < new Date(startTime) } } }, onEndTimeChange(endTime) { vm.startTimeOption = { disabledDate(startTime) { return startTime > new Date(endTime) } } } } });