$(function () {
$("#jqGrid").jqGrid({
url: '../mkstoreticketdiscount/list',
datatype: "json",
colModel: [
{label: 'tickDiscId', name: 'tickDiscId', index: 'tick_disc_id', key: true, hidden: true},
{label: '优惠券名称', name: 'name', index: 'name', width: 80, align: 'center'},
// {label: '优惠券副标题', name: 'tickDiscSubTitle', index: 'tick_disc_sub_title', width: 80},
{label: '优惠类型', name: 'tickDiscType', index: 'tick_disc_type', width: 60, align: 'center',
formatter: function (value) {
if (value == '00') {
return '代金券';
} else if (value == '01') {
return '折扣券';
} else if (value == '02') {
return '兑换券';
}
return '';
}},
// {label: '商户编号', name: 'merchSn', index: 'merch_sn', width: 80},
// {label: '第三方商户id', name: 'thirdMerchSn', index: 'third_merch_sn', width: 80},
{label: '所属门店', name: 'storeName', index: 'storeName', width: 80, align: 'center'},
// {label: '活动id', name: 'storeTopicId', index: 'store_topic_id', width: 80},
// {label: '代金券减免金额(元)', name: 'voucherMoney', index: 'voucher_money', width: 80},
// {label: '代金券使用条件(元)', name: 'voucherCond', index: 'voucher_cond', width: 80},
// {label: '折扣券折扣(折)', name: 'discRatio', index: 'disc_ratio', width: 80},
// {label: '折扣券使用条件(元)', name: 'discCond', index: 'disc_cond', width: 80},
// {label: '兑换券使用条件(元)', name: 'exchCond', index: 'exch_cond', width: 80},
// {label: '生效时间类型', name: 'effectTimeType', index: 'effect_time_type', width: 80, align: 'center',
// formatter: function (value) {
// if (value == '00') {
// return '固定时间';
// } else if (value == '01') {
// return '领取后生效';
// }
// return '';
// }},
{label: '有效时间', name: 'inValidTime', index: 'inValidTime', width: 120, align: 'center'},
{label: '状态', name: 'isPast', index: 'isPast', width: 60, align: 'center',
formatter: function (value) {
if (value == '0') {
return '进行中';
} else if (value == '1') {
return '已结束';
} else if (value == '2') {
return '未开始';
}
return '';
}},
// {label: '固定开始时间', name: 'fixBegTime', index: 'fix_beg_time', width: 80},
// {label: '固定结束时间', name: 'fixEndTime', index: 'fix_end_time', width: 80},
// {label: '领券延期生效天数(天)', name: 'postponeNum', index: 'postpone_num', width: 80},
// {label: '领券使用有效天数(天)', name: 'validDayNum', index: 'valid_day_num', width: 80},
{label: '库存', name: 'ticketNum', index: 'ticket_num', width: 60, align: 'center'},
// {label: '适用类型', name: 'applyType', index: 'apply_type', width: 80, align: 'center',
// formatter: function (value) {
// if (value == '00') {
// return '全部商品参与';
// } else if (value == '01') {
// return '指定商品参与';
// } else if (value == '02') {
// return '指定商品不参与';
// }
// return '';
// }},
{label: '是否有效', name: 'isValid', index: 'is_valid', width: 60, align: 'center',
formatter: function (value) {
if (value == '0') {
return '有效';
} else if (value == '1') {
return '无效';
}
return '';
}},
{
label: '操作', width: 180, align: 'center', sortable: false, formatter: function (value, col, row) {
let htmlStr = "";
// if (hasPermission('order:refund')) {}
if(row.isPast != 1 && row.isValid == 0){
htmlStr = " " +
" "/* +
TODO req_hidden_20200610
" " +
""*/;
}
if(row.isPast == 1 || row.isValid == 1){
htmlStr = " "/*+
TODO req_hidden_20200610
""*/;
}
return htmlStr;
}}
// {label: '领取入口,格式:1,2,...,n,【get_enter,1:商品详情页/购物车等商城页面】', name: 'getEnter', index: 'get_enter', width: 80},
// {label: '能否分享领取', name: 'canShareGet', index: 'can_share_get', width: 80, align: 'center',
// formatter: function (value) {
// if (value == '0') {
// return '能';
// } else if (value == '1') {
// return '否';
// }
// return '';
// }},
// {label: '每人限领数', name: 'limitNum', index: 'limit_num', width: 80},
// {label: '活动图片url(小图)', name: 'advImgUrl', index: 'adv_img_url', width: 80},
// {label: '门店logo图url', name: 'storeLogoUrl', index: 'store_logo_url', width: 80},
// {label: '门店名称', name: 'storeName', index: 'store_name', width: 80},
// {label: '券面颜色,如:#ababab', name: 'ticketColor', index: 'ticket_color', width: 80},
// {label: '操作说明', name: 'optDecl', index: 'opt_decl', width: 80},
// {label: '优惠说明', name: 'discDecl', index: 'disc_decl', width: 80},
// {label: '使用须知', name: 'useNoti', index: 'use_noti', width: 80},
// {label: '客服电话,手机或固话', name: 'svrTel', index: 'svr_tel', width: 80},
// {label: '备注', name: 'note', index: 'note', width: 80},
// {label: '创建人编号', name: 'createrSn', index: 'creater_sn', width: 80},
// {label: '创建时间', name: 'createTime', index: 'create_time', width: 80},
// {label: '修改人编号', name: 'moderSn', index: 'moder_sn', width: 80},
// {label: '修改时间', name: 'modTime', index: 'mod_time', width: 80},
// {label: '时间戳', name: 'tstm', index: 'tstm', width: 80},
// {label: '发放方式 0:按订单发放 1:按用户发放(通用优惠券,用户点击领取) 2:商品转发送券 3:按商品发放 4:新用户注册 5:线下发放 6评价好评红包(固定或随机红包) 7包邮(不入会员优惠券表)', name: 'sendType', index: 'send_type', width: 80}
],
viewrecords: true,
height: 580,
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 () {
$("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
}
});
$("#jqGridOrder").jqGrid({
url: '../usercoupon/getUserCouponByDiscIdList',
datatype: "json",
colModel: [
{label: '所属门店', name: 'storeName', index: 'storeName', width: 80, align: 'center'},
{label: '优惠券码', name: 'couponNumber', index: 'couponNumber', width: 80, align: 'center'},
{label: '领取人', name: 'nickname', index: 'nickname', width: 60, align: 'center'},
{label: '领取时间', name: 'addTime', index: 'add_time', width: 120, align: 'center',
formatter: function (value) {
// console.log(value);
return transDate(value, 'yyyy-MM-dd hh:mm:ss');
}
},
{label: '生效时间', name: 'validTime', index: 'validTime', width: 120, align: 'center',
formatter: function (value) {
// console.log(value);
return transDate(value, 'yyyy-MM-dd hh:mm:ss');
}
},
{label: '更新时间', name: 'modTime', index: 'modTime', width: 120, align: 'center',
formatter: function (value) {
// console.log(value);
return transDate(value, 'yyyy-MM-dd hh:mm:ss');
}
},
{label: '失效时间', name: 'endTime', index: 'endTime', width: 120, align: 'center',
formatter: function (value) {
// console.log(value);
return transDate(value, 'yyyy-MM-dd hh:mm:ss');
}
},
{label: '状态', name: 'isUsed', index: 'isUsed', width: 60, align: 'center',
formatter: function (value) {
if (value == '0') {
return '未使用';
} else if (value == '1') {
return '已使用';
}
return value;
}
}
],
viewrecords: true,
height: 400,
width:1600,
rowNum: 10,
rowList: [10, 30, 50],
rownumbers: true,
rownumWidth: 25,
autowidth: false,
multiselect: true,
pager: "#jqGridPagerOrder",
jsonReader: {
root: "page.list",
page: "page.currPage",
total: "page.totalPage",
records: "page.totalCount"
},
prmNames: {
page: "page",
rows: "limit",
order: "order"
},
gridComplete: function () {
$("#jqGridOrder").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
}
});
});
let vm = new Vue({
el: '#rrapp',
data: {
title: null,
mkStoreTicketDiscount: {advImgUrl: '', storeLogoUrl: ''},
ruleValidate: {
name: [
{required: true, message: '名称不能为空', trigger: 'blur'}
]
},
q: {
name: ''
},
g: {
goodsName: ''
},
thirdMerchantBizList: [],
goodsList: [],
storeList: [],
isVoucher: true,//代金券
isDisc: false,//折扣券
isExch: false,//兑换券
isEffectTimeType00:true,//固定时间
isEffectTimeType01: false,//领取后生效
isApplyType: false,//商品是否显示
storeId: '',
value3: false,
productStoreRela: {},
currentPage: 1,
limit:16,
totalPage:'',
totalCount:'',
checkGoodsByHtmlList:[],//选择商品前端储存的数组
mkStoreTicketDiscountGoods:{checkGoodsList:[]},
applyType:'',
checkGoodsDataList:[],//选择完商品后查询的商品列表
checkGoodsTotalCount: 0,
checkGoodsLimit: 6,
checkGoodsCurrentPage:1,
tid:'',//唯一id
ticketColor: '',
queryColorList:[{color:'00CC00',back:'g'},{color:'009900',back:'g'},{color:'66CCCC',back:'g'},{color:'009999',back:'g'},
{color:'FF9966',back:'r'},{color:'FF0066',back:'r'},{color:'CC00FF',back:'r'},{color:'CC0000',back:'r'}],
colorList:[],
isOperatorShow: false,
showList: true,
showViewList: false,
showInfoList: true,
showOrderList: true,
tickDiscId:'',
macros: [],
goodsBizType:'',
c:{
isUsed: ''
},
tickDiscType:''
},
methods: {
getColor: function (value,isColor) {
vm.ticketColor = '#'+value;
var classValue = 'tick-color-g';
if(isColor == 'g'){
classValue = 'tick-color-g';
}else {
classValue = 'tick-color-r';
}
if($("#"+value).attr('name')=='noCheck') {
$("#" + value).attr("class", classValue);
$("#" + value).attr("name", "check");
vm.colorList.push(value);
for (var g = 0; g < vm.queryColorList.length; g++) {
if (value != vm.queryColorList[g].color) {
$("#" + vm.queryColorList[g].color).attr("class", "");
vm.colorList.remove(vm.queryColorList[g].color);
$("#"+ vm.queryColorList[g].color).attr("name","noCheck");
}else{
$("#"+ vm.queryColorList[g].color).attr("name","check");
}
}
}else{
$("#"+value).attr("class","");
$("#"+value).attr("name","noCheck");
// console.log(vm.colorList);
for (var g = 0; g < vm.colorList.length; g++) {
if(value == vm.colorList[g]){
vm.colorList.remove(vm.colorList[g]);
}
}
}
// console.log(value);
// console.log(vm.colorList);
if(vm.colorList.length > 0){
vm.ticketColor = "#"+vm.colorList[0];
}else{
vm.ticketColor = "";
}
},
query: function () {
vm.reload();
},
/**
* 生成唯一id
* @returns {string}
*/
guid: function () {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
return v.toString(16);
});
},
/**
* 选择指定商品ok按钮
*/
ok : function () {
// this.$Message.info('Clicked ok');
vm.checkGoodsDataList =[];
vm.mkStoreTicketDiscountGoods.checkGoodsList = vm.checkGoodsByHtmlList;
vm.mkStoreTicketDiscountGoods.guid = vm.tid;
vm.mkStoreTicketDiscountGoods.isSubmit = 0;//ok按钮提交的数据则为0
$.ajax({
type: "POST",
url: '../mkstoreticketgoodstemp/batchSaveDiscountGoods',
contentType: "application/json",
data: JSON.stringify(vm.mkStoreTicketDiscountGoods),
success: function (r) {
if (r.code === 0) {
vm.getCheckGoodsList(vm.storeId);
} else {
alert(r.msg);
}
}
});
},
/**
* 选择指定商品cancel按钮
*/
cancel: function () {
vm.checkGoodsByHtmlList =[];
// console.log(vm.checkGoodsByHtmlList);
//点击取消按钮如有分页记录的数据就删除
vm.mkStoreTicketDiscountGoods.checkGoodsList=vm.checkGoodsByHtmlList;
vm.mkStoreTicketDiscountGoods.guid=vm.tid;
vm.mkStoreTicketDiscountGoods.isSubmit = 1;//cancel按钮提交的数据则为1
$.ajax({
type: "POST",
url: '../mkstoreticketgoodstemp/batchSaveDiscountGoods',
contentType: "application/json",
data: JSON.stringify(vm.mkStoreTicketDiscountGoods),
success: function (r) {
if (r.code === 0) {
} else {
alert(r.msg);
}
}
});
},
/**
* 指定商品分页
*/
loadGoodsDataByPage: function (value) {
vm.currentPage = value;
vm.mkStoreTicketDiscountGoods.checkGoodsList=vm.checkGoodsByHtmlList;
vm.mkStoreTicketDiscountGoods.guid=vm.tid;
vm.mkStoreTicketDiscountGoods.isSubmit = 1;//分页记录的数据则为1
$.ajax({
type: "POST",
url: '../mkstoreticketgoodstemp/batchSaveDiscountGoods',
contentType: "application/json",
data: JSON.stringify(vm.mkStoreTicketDiscountGoods),
success: function (r) {
if (r.code === 0) {
} else {
alert(r.msg);
}
}
});
vm.getGoodsList(vm.storeId);
},
handlePageSize: function (value) {
vm.limit = value;
vm.currentPage = 1;
vm.getGoodsList(vm.storeId);
},
/**
* 已选中商品分页
* @param value
*/
loadCheckGoodsDataByPage: function (value) {
vm.checkGoodsCurrentPage = value;
vm.getCheckGoodsList(vm.storeId);
},
/**
* 已选中商品分页
* @param value
*/
handleCheckGoodsPageSize: function (value) {
vm.checkGoodsLimit = value;
vm.checkGoodsCurrentPage = 1;
vm.getCheckGoodsList(vm.storeId);
},
/**
* 获取已选中商品
* @param storeId
*/
getCheckGoodsList: function(storeId){
if(storeId){
$.get("../mkstoreticketgoodstemp/queryAllDiscountByStoreId?storeId=" + vm.storeId+"&guid="+vm.tid+"&page="+vm.checkGoodsCurrentPage+"&limit="+vm.checkGoodsLimit, function (r) {
if(r.code == 0){
vm.checkGoodsDataList = r.page.list;
// vm.totalPage = r.page.totalPage;
vm.checkGoodsTotalCount = r.page.totalCount;
vm.checkGoodsCurrentPage = r.page.currPage;
vm.checkGoodsLimit = r.page.pageSize;
}
});
}
},
/**
* 删除已选中商品
* @param discGoodTempId
* @param goodsId
*/
delCheckGoods: function (discGoodTempId,goodsId) {
var checkGoodsIds = [discGoodTempId];
$.ajax({
type: "POST",
url: "../mkstoreticketgoodstemp/updateIsValidById",
contentType: "application/json",
data: JSON.stringify(checkGoodsIds),
success: function (r) {
if (r.code == 0) {
vm.getCheckGoodsList(vm.storeId);
for (var g = 0; g < vm.checkGoodsByHtmlList.length; g++) {
if(goodsId == vm.checkGoodsByHtmlList[g].goodsId){
vm.checkGoodsByHtmlList.remove(vm.checkGoodsByHtmlList[g]);
}
}
} else {
alert(r.msg);
}
}
});
},
/**
* 生效时间类型联动
* @param value
*/
changeEffectTimeType: function (value) {
if(value == '00'){
vm.isEffectTimeType00 = true;
vm.isEffectTimeType01 = false;
}else if(value == '01'){
vm.isEffectTimeType00 = false;
vm.isEffectTimeType01 = true;
}
},
/**
* 适用商品联动
* @param value
*/
changeApplyType: function (value) {
// vm.storeId = '8';
console.log(vm.goodsBizType)
if(value == '00'){
vm.isApplyType = false;
}else if(value == '01'){
console.log(vm.storeId=='')
if(vm.storeId==''){
alert("请先在基本属性中选择所属门店");
vm.mkStoreTicketDiscount.applyType = '00';
}else if(vm.goodsBizType==''){
alert("请先在基本属性中选择所属商品业务类型");
vm.mkStoreTicketDiscount.applyType = '00';
}else if(vm.storeId && vm.goodsBizType){
vm.isApplyType = true;
vm.applyType ='01';
// vm.getCheckGoodsList(vm.storeId);
}
}else if(value == '02'){
if(vm.storeId == ''){
alert("请先在基本属性中选择所属门店");
vm.mkStoreTicketDiscount.applyType = '00';
}
if(vm.goodsBizType == ''){
alert("请先在基本属性中选择所属商品业务类型");
vm.mkStoreTicketDiscount.applyType = '00';
}
if(vm.storeId && vm.goodsBizType){
vm.isApplyType = true;
vm.applyType ='02';
}
}
},
/**
* 选择商品弹框按钮
*/
checkGoods: function () {
vm.value3 = true;
vm.limit = 16;
vm.getGoodsList(vm.storeId,vm.goodsBizType);
},
/**
* 选择商品参数查询
*/
reloadGoodsByStore: function (){
if(vm.storeId){
vm.getGoodsList(vm.storeId,vm.goodsBizType);
}else{
alert("请先在基本属性中选择所属门店");
}
},
/**
* 选择商品重置参数查询
*/
reloadGoodsSearch: function (){
if(vm.storeId){
vm.g.goodsName='';
vm.getGoodsList(vm.storeId,vm.goodsBizType);
}else{
alert("请先在基本属性中选择所属门店");
}
},
/**
* 查询选择商品分页
* @param storeId
*/
getGoodsList: function(storeId,goodsBizType){
if(storeId){
$.get("../productstorerela/queryGoodsRealListByDiscountTid?storeId=" + storeId+"&goodsName="+vm.g.goodsName+"&guid="+vm.tid+"&applyType="+vm.applyType+"&goodsBizType="+goodsBizType
+"&promTypeId="+6+"&page="+1+"&limit="+vm.limit, function (r) {
// console.log(r)
if(r.code == 0){
vm.goodsList = r.page.list;
vm.totalPage = r.page.totalPage;
vm.totalCount = r.page.totalCount;
vm.currentPage = r.page.currPage;
vm.limit = r.page.pageSize;
}
});
}
},
/**
* 商品选中
* @param item 商品信息
*/
selectThisGoods: function (item) {
// $.get("../mkstoreticketgoodstemp/queryGoodsTempByGuidAndSubmit?storeId="+vm.storeId+"&guid="+vm.tid+"&applyType="+vm.applyType, function (r) {
// for(var j=0;j