let cacheData = { } $(function () { var types = { 0:'服饰', 1:'家具', 2:'数码', 3:'娱乐', 4:'其他', } $("#jqGrid").Grid({ url: '../liveRoom/getRoomList', rownumWidth:60, colModel: [{ label: 'id', name: 'id', index: 'liveId', key: true, hidden: true }, { label: 'liveId', name: 'liveId', index: 'liveId', hidden: true }, { label: '最近开播', name: 'startTime', index: 'startTime', width: 80,formatter: function (value, col, row) { cacheData[col.rowId] = row return transDate(parseInt(value)*1000); } }, { label: '直播名称', name: 'name', index: 'name', width: 80 }, { label: '直播分享图',align:'center', name: 'shareImg', index: 'shareImg', width: 120, formatter: function (value) { return transImg(value,100,'auto'); } }, { label: '房间号', name: 'roomId', index: 'roomId', width: 80 }, { label: '主播', name: 'anchorName', index: 'anchorName', width: 80 }, { label: '直播状态', name: 'liveStatus', index: 'liveStatus', width: 80 } ] }); }); const validateSceneUrlCheck = function (rule, value, callback){ var link1 ='https://test.4dkankan.com/eShopMobile.html?m=' var link2 ='https://www.4dkankan.com/eShopMobile.html?m=' if (value === ''||!value) { callback(new Error('场景地址不能为空')); } else if(!~value.indexOf(link1)&&!~value.indexOf(link2)){ callback(new Error('场景地址需为'+link2+'或'+link1)); } else { callback(); } }; const validateNotNullIdCheck =function (rule, value, callback) { if (value === '' || !value) { callback(new Error(rule.name+'不能为空')); }else { callback(); } }; var vm = new Vue({ el: '#rrapp', data: { loading:false, showList: true, title: null, broadcast: {name: '',coverImg:'',startTime:'',endTime:'',anchorName:'',anchorWechat:'', shareImg: '',feedsImg: '',screenType:0,isFeedsPublic: 0,type: 1,closeLike:0, closeGoods: 0,closeKf:0, closeComment: 0,closeReplay: 0,closeShare: 0}, func:['closeComment','closeGoods'], ruleValidate: { name: [ {required: true, message: '直播间标题不能为空', trigger: 'blur'} ], startTime: [ {required: true, name: '直播开始时间',validator: validateNotNullIdCheck, trigger: 'change'} ], endTime: [ {required: true, name: '直播结束时间',validator: validateNotNullIdCheck, trigger: 'change'} ], anchorName: [ {required: true, message: '主播名称不能为空', trigger: 'blur'} ], anchorWechat: [ {required: true, message: '主播微信账号不能为空', trigger: 'blur'} ], shareImg: [ {required: true, message: '分享卡片封面不能为空', trigger: 'blur'} ], coverImg: [ {required: true, message: '直播卡片封面不能为空', trigger: 'blur'} ], feedsImg: [ {required: true, message: '直播间背景墙不能为空', trigger: 'blur'} ] }, q: { name: '' }, coverImg:'', shareImg:'', feedsImg:'', startTime:'', endTime:'' }, methods: { handleRemove (file) { }, query: function () { vm.reload(); }, add: function () { vm.showList = false; vm.title = "新增"; vm.broadcast = {name: '',coverImg:'',startTime:'',endTime:'',anchorName:'',anchorWechat:'', shareImg: '',feedsImg: '',screenType:0,isFeedsPublic: 0,type: 1,closeLike:0, closeGoods: 0,closeKf:0, closeComment: 0,closeReplay: 0,closeShare: 0} }, share: function (event) { eyeImage('https://res.wx.qq.com/op_res/BbVNeczA1XudfjVqCVoKgfuWe7e3aUhokktRVOqf_F0IqS6kYR--atCpVNUUC3zr'); }, saveOrUpdate: function (event) { var url = vm.broadcast.slideId == null ? "../liveRoom/add" : "../liveRoom/update"; Ajax.request({ type: "POST", url: url, contentType: "application/json", params: JSON.stringify(Object.assign(vm.broadcast,{ startTime:vm.startTime, endTime:vm.endTime })), successCallback: function () { alert('操作成功', function (index) { vm.reload(); }); } }); }, handleChangeStart(val){ let date = new Date(val) this.startTime = parseInt(date.getTime()/1000) }, handleChangeEnd(val){ let date = new Date(val) this.endTime = parseInt(date.getTime()/1000) }, del: function (event) { let rowId = getSelectedRow("#jqGrid"); if (rowId == null) { return; } var data = cacheData[rowId] confirm('确定要删除选中的记录?', function () { Ajax.request({ type: "POST", url: "..//liveRoom/update", contentType: "application/json", params: JSON.stringify(Object.assign(data,{ enable:0 })), successCallback: function () { alert('操作成功', function (index) { vm.reload(); }); } }); }); }, getInfo: function (id) { vm.defaultList = [] Ajax.request({ url: "../slideShow/getById?slideId=" + id, async: true, successCallback: function (r) { vm.carousel = r.page; } }); }, reload: function (event) { vm.showList = true; var page = $("#jqGrid").jqGrid('getGridParam', 'page'); $("#jqGrid").jqGrid('setGridParam', { postData: {'name': vm.q.name}, page: page }).trigger("reloadGrid"); vm.handleReset('formValidate'); }, handleSuccessListPicUrl: function (res, file) { vm.brand.listPicUrl = file.response.url; vm.brand.appListPicUrl = file.response.url; }, handleSuccessPicUrl: function (res, file) { vm.brand.picUrl = file.response.url; }, handleSuccessAppListPicUrl: function (res, file) { vm.brand.appListPicUrl = file.response.url; }, beforecoverImgUpload: function (file) { this.loading = true this.coverImg = URL.createObjectURL(file) }, beforeShareImgUpload: function (file) { this.loading = true this.shareImg = URL.createObjectURL(file) }, beforefeedsImgUpload: function (file) { this.loading = true this.feedsImg = URL.createObjectURL(file) }, handleSuccessShareImg: function (res, file) { this.loading = false this.broadcast.shareImg = file.response.msg; }, handleSuccesscoverImg: function (res, file) { this.loading = false this.broadcast.coverImg = file.response.msg; }, handleSuccessfeedsImg: function (res, file) { this.loading = false this.broadcast.feedsImg = file.response.msg; }, handleBefore(){ this.loading = true }, handleSuccessNewPicUrl: function (res, file) { vm.brand.newPicUrl = file.response.url; }, handleFormatError: function (file) { this.loading = false this.$Notice.warning({ title: '文件格式不正确', desc: '文件 ' + file.name + ' 格式不正确。' }); }, handleMaxSize: function (file) { this.loading = false this.$Notice.warning({ title: '超出文件大小限制', desc: '文件 ' + file.name + ' 太大。' }); }, eyeImageListPicUrl: function () { var url = vm.brand.listPicUrl; eyeImage(url); }, eyeImagePicUrl: function () { var url = vm.brand.picUrl; eyeImage(url); }, eyeImageAppListPicUrl: function () { var url = vm.brand.appListPicUrl; eyeImage(url); }, eyeImageNewPicUrl: function () { var url = vm.brand.newPicUrl; eyeImage(url); }, handleSubmit: function (name) { handleSubmitValidate(this, name, function () { vm.saveOrUpdate() }); }, handleReset: function (name) { handleResetForm(this, name); } }, mounted () { } });