$(function () { $("#jqGrid").Grid({ url: '../topic/list', rownumWidth:60, colModel: [ {label: 'id', name: 'id', index: 'id', key: true, hidden: true}, {label: '活动主题', name: 'title', index: 'title', width: 80}, {label: '活动内容', name: 'content', index: 'content', width: 80, hidden: true}, { label: '图像', name: 'avatar', index: 'avatar', width: 80, formatter: function (value) { return transImg(value); } }, { label: '活动条例图片', name: 'itemPicUrl', index: 'item_pic_url', width: 80, formatter: function (value) { return transImg(value); } }, {label: '子标题', name: 'subtitle', index: 'subtitle', width: 80}, {label: '活动类别', name: 'topicCategoryId', index: 'topic_category_id', width: 80}, {label: '活动价格', name: 'priceInfo', index: 'price_info', width: 80}, {label: 'readCount', name: 'readCount', index: 'read_count', width: 80}, { label: '场景图片', name: 'scenePicUrl', index: 'scene_pic_url', width: 80, formatter: function (value) { return transImg(value); } }, {label: '活动模板Id', name: 'topicTemplateId', index: 'topic_template_id', width: 80}, {label: '活动标签Id', name: 'topicTagId', index: 'topic_tag_id', width: 80}] }); $('#content').editable({ inlineMode: false, alwaysBlank: true, height: 'auto', //高度 language: "zh_cn", minHeight: '200px', spellcheck: false, plainPaste: true, enableScript: false, imageButtons: ["floatImageLeft", "floatImageNone", "floatImageRight", "linkImage", "replaceImage", "removeImage"], allowedImageTypes: ["jpeg", "jpg", "png", "gif"], imageUploadURL: '../sys/oss/upload',//上传到本地服务器 imageUploadParams: {id: "edit"}, // imageManagerDeleteURL: '../sys/oss/delete',//删除图片(有问题) imagesLoadURL: '../sys/oss/queryAll'//管理图片 }); }); var vm = new Vue({ el: '#rrapp', data: { showList: true, title: null, topic: {avatar: '', itemPicUrl: '', scenePicUrl: ''}, ruleValidate: { title: [ {required: true, message: '活动主题不能为空', trigger: 'blur'} ] }, q: { title: '' } }, methods: { query: function () { vm.reload(); }, add: function () { vm.showList = false; vm.title = "新增"; vm.topic = {avatar: '', itemPicUrl: '', scenePicUrl: ''}; $('#content').editable('setHTML', ''); }, update: function (event) { var id = getSelectedRow("#jqGrid"); if (id == null) { return; } vm.showList = false; vm.title = "修改"; vm.getInfo(id) }, saveOrUpdate: function (event) { var url = vm.topic.id == null ? "../topic/save" : "../topic/update"; //编辑器内容 vm.topic.content = $('#content').editable('getHTML'); Ajax.request({ type: "POST", url: url, contentType: "application/json", params: JSON.stringify(vm.topic), successCallback: function (r) { alert('操作成功', function (index) { vm.reload(); }); } }); }, del: function (event) { var ids = getSelectedRows("#jqGrid"); if (ids == null) { return; } confirm('确定要删除选中的记录?', function () { Ajax.request({ type: "POST", url: "../topic/delete", contentType: "application/json", params: JSON.stringify(ids), successCallback: function (r) { alert('操作成功', function (index) { vm.reload(); }); } }); }); }, getInfo: function (id) { Ajax.request({ url: "../topic/info/" + id, async: true, successCallback: function (r) { vm.topic = r.topic; $('#content').editable('setHTML', vm.topic.content); } }); }, reload: function (event) { vm.showList = true; var page = $("#jqGrid").jqGrid('getGridParam', 'page'); $("#jqGrid").jqGrid('setGridParam', { postData: {'title': vm.q.title}, page: page }).trigger("reloadGrid"); vm.handleReset('formValidate'); }, handleSuccessAvatar: function (res, file) { vm.topic.avatar = file.response.url; }, handleSuccessItemPicUrl: function (res, file) { vm.topic.itemPicUrl = file.response.url; }, handleSuccessScenePicUrl: function (res, file) { vm.topic.scenePicUrl = file.response.url; }, handleFormatError: function (file) { this.$Notice.warning({ title: '文件格式不正确', desc: '文件 ' + file.name + ' 格式不正确,请上传 jpg 或 png 格式的图片。' }); }, handleMaxSize: function (file) { this.$Notice.warning({ title: '超出文件大小限制', desc: '文件 ' + file.name + ' 太大,不能超过 2M。' }); }, eyeImageAvatar: function () { var url = vm.topic.avatar; eyeImage(url); }, eyeImageItemPicUrl: function () { var url = vm.topic.itemPicUrl; eyeImage(url); }, eyeImageScenePicUrl: function () { var url = vm.topic.scenePicUrl; eyeImage(url); }, handleSubmit: function (name) { handleSubmitValidate(this, name, function () { vm.saveOrUpdate() }); }, handleReset: function (name) { handleResetForm(this, name); } } });