$(function () { let goodsId = getQueryString("goodsId"); let url = '../goodsspecification/list'; if (goodsId) { url += '?goodsId=' + goodsId; } $("#jqGrid").jqGrid({ url: url, datatype: "json", colModel: [ {label: 'id', name: 'id', index: 'id', key: true, hidden: true}, {label: '商品', name: 'goodsName', index: 'goods_id', width: 80}, {label: '规格', name: 'specificationName', index: 'specification_id', width: 80}, {label: '规格说明', name: 'value', index: 'value', width: 80}, { label: '规格图片', name: 'picUrl', index: 'pic_url', width: 80, formatter: function (value) { return transImg(value); } }], 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 () { $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"}); } }); }); var vm = new Vue({ el: '#rrapp', data: { showList: true, title: null, goodsSpecification: {}, ruleValidate: { name: [ {required: true, message: '名称不能为空', trigger: 'blur'} ] }, q: { name: '' }, goodss: [], specifications: [] }, methods: { getSpecification: function () { $.get("../specification/queryAll", function (r) { vm.specifications = r.list; }); }, getGoodss: function () { $.get("../goods/queryAll/", function (r) { vm.goodss = r.list; }); }, query: function () { vm.reload(); }, add: function () { vm.showList = false; vm.title = "新增"; vm.goodsSpecification = {}; vm.getSpecification(); vm.getGoodss(); }, update: function (event) { var id = getSelectedRow(); if (id == null) { return; } vm.showList = false; vm.title = "修改"; vm.getInfo(id) }, saveOrUpdate: function (event) { var url = vm.goodsSpecification.id == null ? "../goodsspecification/save" : "../goodsspecification/update"; $.ajax({ type: "POST", url: url, contentType: "application/json", data: JSON.stringify(vm.goodsSpecification), 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: "../goodsspecification/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("../goodsspecification/info/" + id, function (r) { vm.goodsSpecification = r.goodsSpecification; vm.getSpecification(); vm.getGoodss(); }); }, 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'); }, handleFormatError: function (file) { this.$Notice.warning({ title: '文件格式不正确', desc: '文件 ' + file.name + ' 格式不正确,请上传 jpg 或 png 格式的图片。' }); }, handleMaxSize: function (file) { this.$Notice.warning({ title: '超出文件大小限制', desc: '文件 ' + file.name + ' 太大,不能超过 100K。' }); }, handleSuccess: function (res, file) { vm.goodsSpecification.picUrl = file.response.url; }, eyeImage: function () { var url = vm.goodsSpecification.picUrl; eyeImage(url); }, handleSubmit: function (name) { handleSubmitValidate(this, name, function () { vm.saveOrUpdate() }); }, handleReset: function (name) { handleResetForm(this, name); } } });