$(function () {
vm.init();
vm.allProductTypelist()
// vm.productTypelist()
$.ajax({
type: "POST",
url: baseURL + "sys/dict/infoList/product_status",
contentType: "application/json",
async: false,
success: function(r){
if(r.code == 0){
vm.goodsState = r.dictList
}else{
layer.alert("读取字典项失败");
}
}
});
$("#jqGrid").jqGrid({
url: baseURL + 'qmjz/goods/page',
datatype: "json",
colModel: [
{ label: 'id', name: 'id', index: 'id', key: true, hidden: true },
{ label: '商品名称', name: 'name', index: 'name', width: 100},
{ label: '商品分类', name: 'categoryName', index: 'categoryName', width: 120},
{ label: '商品图片', name: 'thumbnail', index: 'thumbnail', width: 80, sortable: false, formatter: imageFormat },
{ label: '商品状态', name: 'status', index: 'status', width: 80, sortable: false, formatter: function (cellvalue, options, rowdata) {
if(cellvalue) {
return '上架'
}else {
return '下架'
}
}},
{ label: '置顶', name: 'top', index: 'top', width: 80, sortable: false, formatter: function (cellvalue, options, rowdata) {
if(cellvalue) {
return '是'
}else {
return '否'
}
}},
{ label: '添加时间', name: 'createTime', index: 'createTime ', width: 90 },
],
viewrecords: true,
height: h,
rowNum: 10,
rowList : [10,30,50],
rownumbers: true,
rownumWidth: 25,
autowidth:true,
multiselect: true,
pager: "#jqGridPager",
jsonReader : {
root: "page.list",
page: "currPage",
total: "totalPage",
records: "totalCount"
},
prmNames : {
page:"pageNum",
rows:"pageSize",
},
gridComplete:function(){
//隐藏grid底部滚动条
$("#jqGrid").closest(".ui-jqgrid-bdiv").css({ "overflow-x" : "hidden" });
},
loadComplete:function(data){
vm.jpgrid = data.list;
}
});
// var um = new uploadMuli("muliIMage");
//
// function uploadMuli(eleId,arr) {
// this.area = $("#"+eleId);
// this.arr = arr || [];
//
// var putImage = function (src){
// this.arr.push(src);
// this.loadImgByArr();
// };
//
// this.arrJoin = function () {
// return this.arr.join(",");
// };
//
// this.clearImage = function(i) {
// this.arr.splice(i,1);
// this.loadImgByArr();
// };
//
// this.loadImgByArr = function() {
// this.area.html("");
// for(var i;i>");
// div.appendTo($("
"));
// div.appendTo($("X").click(this.clearImage(i)));
// this.area.append(div);
// }
// }
//
// this.loadImg = function(arrStr) {
// this.arr = arrStr.split(",");
// loadImgByArr();
// }
// }
// initdate();
upload(1,'images','images/*');
// upload(2,'images','images/*');
upload(3,'images','images/*');
});
var ue = UE.getEditor('actContent', { initialFrameWidth: null , autoHeightEnabled: false});
var vm = new Vue({
el:'#rrapp',
data:{
q: {
name: null,
status: null
},
parent: null,
goodsState: [],
blank: true,
showList: true,
title: null,
work: {
categoryId: ''
},
dict: {
yesno: null,
workCategory: null,
workType: null,
workUnit: null,
workCashMethod: null,
workSexLimit: null,
workHeightLimit: null,
staffIds: null,
memberList: null
},
jpgrid: {},
clients: {},
memberInfo: {},
cardnoYF: '',
goodsType: [],
allGoodsType: [],
queryParam: {
input: null
}
},
watch: {
},
methods: {
init: function () {
vm.q.name = '';
vm.q.status = '';
},
query: function () {
vm.reload(1);
},
reset: function () {
vm.init();
vm.reload(1);
},
// 列表转义商品分类(全部分类)
allProductTypelist() {
$.ajax({
type: "GET",
url: baseURL + "qmjz/goodscategory/select",
contentType: "application/json",
success: function(r){
if(r.code == 0){
vm.allGoodsType = r.list
}else{
layer.alert("读取字典项失败");
}
}
});
},
// 商品分类(存在分类)
productTypelist(source) {
$.ajax({
type: "GET",
url: baseURL + "qmjz/goodscategory/page",
contentType: "application/json",
data: {
source: source
},
success: function(r){
if(r.code == 0){
vm.goodsType = r.data
}else{
layer.alert("读取字典项失败");
}
}
});
},
// 分类管理
type() {
var width = ($(window).width() * 0.6);
var height = ($(window).height() -50);
layui.use([ 'layer', 'form'],function() {
var $ = layui.jquery, layer = layui.layer;
layer.open({
type: 2,
area: [width + 'px', height + 'px'],
fix: false, //不固定
maxmin: true,
shadeClose: true,
resize:false,
full:true,
shade: 0.4,
title: '商品分类管理',
anim: 3,
content: 'goodstype.html',
end : function(){
vm.reload();
vm.allProductTypelist()
}
});
})
},
// 删除
del() {
var ids = getSelectedRows();
if(ids == null){
return ;
}
var lock = false;
layer.confirm('确定要删除选中的记录?', {
btn: ['确定','取消'] //按钮
}, function(){
if(!lock) {
lock = true;
$.ajax({
type: "POST",
url: baseURL + "qmjz/goods/delete",
contentType: "application/json",
data: JSON.stringify(ids),
success: function(r){
if(r.code == 0){
layer.msg("操作成功", {icon: 1});
$("#jqGrid").trigger("reloadGrid");
}else{
layer.alert(r.msg);
}
}
});
}
}, function(){
});
},
// 置顶
top() {
var id = getSelectedRow();
if(id == null){
return ;
}
$.get(baseURL + "qmjz/goods/info/"+id, function(r){
console.log(r)
if(r && r.code == 0) {
var text = r.data.top ? '取消置顶' : '置顶'
var lock = false;
layer.confirm(`确定要${text}该商品?`, {
btn: ['确定','取消'] //按钮
}, function(){
$.ajax({
type: "POST",
url: baseURL + "qmjz/goods/top/" + id,
contentType: "application/json",
// data: JSON.stringify(ids),
success: function(r){
if(r.code == 0){
layer.msg("操作成功", {icon: 1});
vm.reload(1);
}else{
layer.alert(r.msg);
}
}
});
}, function(){
});
}
});
},
// 上下架
upDown() {
var id = getSelectedRow();
if(id == null){
return ;
}
$.get(baseURL + "qmjz/goods/info/"+id, function(r){
console.log(r)
if(r && r.code == 0) {
var text = r.data.status ? '下架' : '上架'
var lock = false;
layer.confirm(`确定要${text}该商品?`, {
btn: ['确定','取消'] //按钮
}, function(){
if(!lock) {
lock = true;
$.ajax({
type: "POST",
url: baseURL + "qmjz/goods/updateStatus/" + id,
contentType: "application/json",
// data: JSON.stringify(ids),
success: function(r){
if(r.code == 0){
layer.msg("操作成功", {icon: 1});
vm.reload(1);
}else{
layer.alert(r.msg);
}
}
});
}
}, function(){
});
}
});
},
// 导出
exc() {
window.location.href = baseURL + "qmjz/goods/export?=name" + vm.q.name + '&status=' + vm.q.status;
},
add: function(){
vm.showList = false;
vm.title = "新增";
vm.work = {};
vm.work.name = '';
vm.work.status = '';
vm.work.categoryId = '';
vm.work.thumbnail = '';
vm.work.bannerImg = '';
vm.work.price = '';
vm.work.quantity = '';
vm.work.details = '';
vm.work.descriptions = '';
vm.work.qrCode = '';
vm.work.qrCodeInfo = '';
vm.work.memberApply = true
/*数据初始化*/
moreuploadUtil.clear();
clearImg();
ue.ready(function(){
ue.setContent('');
});
$('.selectpicker#client').selectpicker('val', '');
vm.allProductTypelist('product')
},
update: function (event) {
var id = getSelectedRow();
if(id == null){
return ;
}
vm.showList = false;
vm.title = "修改";
vm.allProductTypelist()
vm.getInfo(id)
},
saveOrUpdate: function (event) {
},
getInfo: function(id){
$.ajaxSettings.async = false
$.get(baseURL + "qmjz/goods/info/"+id, function(r){
vm.work = r.data;
/*图片*/
if (vm.work.thumbnail) {
$('#demo1').show();
$('#demo1').attr('src',vm.work.thumbnail);
}
if (vm.work.bannerImg) {
//$('#demo2').show();
//$('#demo2').attr('src',vm.work.bannerImg);
moreuploadUtil.loadImgUrls(vm.work.bannerImg);
}
if (vm.work.qrCode) {
$('#demo3').show();
$('#demo3').attr('src',vm.work.qrCode);
}
/*富文本*/
ue.ready(function(){
if (vm.work.details) {
ue.setContent(vm.work.details);
}
});
});
},
reload: function (event) {
clearImg();
vm.showList = true;
var page;
if (event == 1){
page = 1;
} else {
page = $("#jqGrid").jqGrid('getGridParam','page');
}
// if(vm.q.minScore && vm.q.maxScore) {
// if(vm.q.minScore > vm.q.maxScore) {
// [vm.q.minScore, vm.q.maxScore] = [vm.q.maxScore, vm.q.minScore]
// }
// }
$("#jqGrid").jqGrid('setGridParam',{
postData:{'queryParam': JSON.stringify(vm.queryParam), 'name': vm.q.name, 'status': vm.q.status},
page:page
}).trigger("reloadGrid");
},
tag: function (event) {
var id = getSelectedRow();
if(id == null){
return ;
}
var width = ($(window).width() * 0.6);
var height = ($(window).height() -50);
layui.use([ 'layer', 'form'],function() {
var $ = layui.jquery, layer = layui.layer;
layer.open({
type: 2,
area: [width + 'px', height + 'px'],
fix: false, //不固定
maxmin: true,
shadeClose: true,
resize:false,
full:true,
shade: 0.4,
title: '兼职标签管理',
anim: 3,
content: 'worktagconnect.html?id='+id,
end : function(){
vm.reload();
}
});
})
},
comment: function (event) {
var id = getSelectedRow();
if(id == null){
return ;
}
var rowid = getSelectedRowData();
var rowData = vm.jpgrid[rowid-1];
var width = ($(window).width() * 0.6);
var height = ($(window).height() * 0.6);
layui.use([ 'layer', 'form'],function() {
var $ = layui.jquery, layer = layui.layer;
layer.open({
type: 2,
area: [width + 'px', height + 'px'],
fix: false, //不固定
maxmin: true,
shadeClose: true,
resize:false,
full:true,
shade: 0.4,
title: '客户评价',
anim: 3,
content: 'comment.html?id='+rowData.id+'&clientId='+rowData.clientId,
end : function(){
vm.reload();
}
});
})
},
enroll: function (event) {
var id = getSelectedRow();
if(id == null){
return ;
}
vm2.parent = id;
vm2.reloadFirst();
},
}
});
var moreuploadUtil = new moreupload(2,'images','images/*', 'file/upload');
/*------------------------------------*/
layui.use([ 'layer', 'form'],function() {
var $ = layui.jquery, layer = layui.layer, form = layui.form;
form.on('submit(go)', function(data){
/*图片*/
if ($('#imgUrl1').val() != ''){
vm.work.thumbnail = $('#imgUrl1').val();
}
if ($('#imgUrl2').val() != ''){
vm.work.bannerImg = $('#imgUrl2').val();
}
if ($('#imgUrl3').val() != ''){
vm.work.qrCode = $('#imgUrl3').val();
}
/*商品名称验证*/
if (!vm.work.name){
layer.msg('[商品名称]不能为空',{icon:5});
return false;
}
/*商品分类验证*/
if (vm.work.categoryId == '' || vm.work.categoryId == undefined){
layer.msg('[商品分类]不能为空',{icon:5});
return false;
}
if (vm.work.status == null || vm.work.status == undefined){
layer.msg('[商品状态]不能为空',{icon:5});
return false;
}
if (vm.work.memberApply == null || vm.work.memberApply == undefined){
layer.msg('[是否报名]不能为空',{icon:5});
return false;
}
/*富文本数据*/
vm.work.details = ue.getContent();
if ((vm.work.details == ''||vm.work.details == null) && vm.work.isAppletsRelease == 0){
layer.msg('[商品详情]不能为空',{icon:5});
return false;
}
if (vm.work.thumbnail == '' || vm.work.thumbnail == undefined){
layer.msg('[商品缩略图]不能为空',{icon:5});
return false;
}
if (vm.work.bannerImg == '' || vm.work.bannerImg == undefined){
layer.msg('[商品banner图]不能为空',{icon:5});
return false;
}
else
{
var images = vm.work.bannerImg;
var imgArr = images.split(",");
if(imgArr>6)
{
layer.msg('[商品banner图]最多6张',{icon:5});
return false;
}
}
if (vm.work.price == '' || vm.work.price == undefined){
layer.msg('[商品价格]不能为空',{icon:5});
return false;
}
if (vm.work.quantity == '' || vm.work.quantity == undefined){
layer.msg('[商品数量]不能为空',{icon:5});
return false;
}
if (vm.work.qrCode == '' || vm.work.qrCode == undefined){
layer.msg('[关联二维码]不能为空',{icon:5});
return false;
}
if (vm.work.qrCodeInfo == '' || vm.work.qrCodeInfo == undefined){
layer.msg('[二维码描述信息]不能为空',{icon:5});
return false;
}
var url = vm.work.id == null ? "qmjz/goods/save" : "qmjz/goods/update";
$.ajax({
type: "POST",
url: baseURL + url,
contentType: "application/json",
data: JSON.stringify(vm.work),
success: function(r){
if(r.code === 0){
layer.msg("操作成功", {icon: 1});
vm.reload();
}else{
layer.alert(r.msg);
}
}
});
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
})
$(function () {
$("#jqGrid2").jqGrid({
url: baseURL + 'qmjz/goodsapply/page',
postData: {goodsId: vm2.parent},
datatype: "json",
colModel: [
{ label: 'id', name: 'id', index: 'id', width: 50, key: true, hidden: true },
{ label: '姓名', name: 'userName', index: 'user_name', width: 80, sortable:false },
{ label: '电话', name: 'phone', width: 80, sortable:false },
{ label: '学校', name: 'college', width: 80, sortable:false },
{ label: '商品名称', name: 'goodsName', index: 'goods_name', width: 80, sortable:false },
{ label: '分类名称', name: 'categoryName', index: 'category_name', width: 80, sortable:false },
// { label: '性别', name: 'sex', width: 80 , sortable:false, formatter: function(value, options, row){return dictFormat(value, vm2.dict.gender, options, row);} },
// { label: '会员卡号', name: 'cardNo', width: 80, sortable:false },
// { label: '联系电话', name: 'tel', width: 80, sortable:false },
// { label: '指导老师', name: 'teacherName', width: 80, sortable:false },
// { label: '报名状态', name: 'status', index: 'status', width: 80 , formatter: function(value, options, row){return dictFormat(value, vm2.dict.workStuEnroll, options, row);} },
// { label: '通知状态', name: 'notifyStatus', index: 'notify_status', width: 80, formatter: function(value, options, row){return dictFormat(value, vm2.dict.workStuNotice, options, row);} },
// { label: '签到状态', name: 'signStatus', index: 'sign_status', width: 80, formatter: function(value, options, row){return dictFormat(value, vm2.dict.workStuSignUp, options, row);} },
//{ label: '结算状态', name: 'cashStatus', index: 'cash_status', width: 80, formatter: function(value, options, row){return dictFormat(value, vm2.dict.workStuPay, options, row);} },
{ label: '报名提交时间', name: 'createTime', index: 'create_time', width: 80 },
// { label: '是否停卡', name: 'freeze', sortable:false, width: 80 ,formatter: yesnoFormat},
// { label: '数据来源', name: 'fromTo', width: 80, sortable:false , formatter: function(value, options, row){
// if (value == '1') {
// return '小程序';
// } else if (value == '0'){
// return '手动输入';
// } else {
// return '来源不明';
// }
// }
// }
],
viewrecords: true,
width: w,
height: h,
rowNum: 10,
rowList : [10,30,50],
rownumbers: true,
rownumWidth: 25,
autowidth:false,
multiselect: true,
pager: "#jqGridPager2",
jsonReader : {
root: "page.list",
page: "page.currPage",
total: "page.totalPage",
records: "page.totalCount"
},
prmNames : {
page:"page",
rows:"limit",
},
gridComplete:function(){
//隐藏grid底部滚动条
$("#jqGrid2").closest(".ui-jqgrid-bdiv").css({ "overflow-x" : "hidden" });
},
loadComplete:function(data){
vm2.jpgrid = data.page.list;
}
});
$.ajax({
type: "POST",
url: baseURL + "sys/bizlibrary/infoList/workStuEnroll",
contentType: "application/json",
success: function(r){
if(r.code == 0){
vm2.dict.workStuEnroll = r.dictList;
}else{
layer.alert("读取字典项失败");
}
}
});
$.ajax({
type: "POST",
url: baseURL + "sys/bizlibrary/infoList/workStuNotice",
contentType: "application/json",
success: function(r){
if(r.code == 0){
vm2.dict.workStuNotice = r.dictList;
}else{
layer.alert("读取字典项失败");
}
}
});
$.ajax({
type: "POST",
url: baseURL + "sys/bizlibrary/infoList/workStuSignUp",
contentType: "application/json",
success: function(r){
if(r.code == 0){
vm2.dict.workStuSignUp = r.dictList;
}else{
layer.alert("读取字典项失败");
}
}
});
$.ajax({
type: "POST",
url: baseURL + "sys/bizlibrary/infoList/workStuPay",
contentType: "application/json",
success: function(r){
if(r.code == 0){
vm2.dict.workStuPay = r.dictList;
}else{
layer.alert("读取字典项失败");
}
}
});
$.ajax({
type: "POST",
url: baseURL + "sys/bizlibrary/infoList/gender",
contentType: "application/json",
success: function(r){
if(r.code == 0){
vm2.dict.gender = r.dictList;
}else{
layer.alert("读取字典项失败");
}
}
});
});
var vm2 = new Vue({
el:'#rrapp2',
data:{
jpgrid: {},
blank: false,
showList: true,
title: null,
workStu: {},
showInfo: false,
parent: null,
dict:{
workStuEnroll: null,
workStuNotice: null,
workStuSignUp: null,
workStuPay: null,
gender: null
},
queryParam: {
input: null
}
},
methods: {
init: function () {
vm2.queryParam.input = null;
},
query: function () {
vm2.reload(1);
},
reset: function () {
vm2.init();
vm2.reload(1);
},
reload: function (event) {
vm2.showInfo = false;
// vm2.workStu.sex = '';
// vm2.workStu.status = '';
// vm2.workStu.notifyStatus = '';
// vm2.workStu.signStatus = '';
// vm2.workStu.cashStatus = '';
vm2.showList = true;
var page;
if (event == 1){
page = 1;
} else {
page = $("#jqGrid2").jqGrid('getGridParam','page');
}
$("#jqGrid2").jqGrid('setGridParam',{
postData: {pid: vm2.parent},
page:page
}).trigger("reloadGrid");
},
reloadFirst: function (event) {
var page = 1;
vm2.init();
$("#jqGrid2").jqGrid('setGridParam',{
postData:{goodsId: vm2.parent},
page:page,
gridComplete:function(){
//隐藏grid底部滚动条
$("#jqGrid2").closest(".ui-jqgrid-bdiv").css({ "overflow-x" : "hidden" });
//刷新
vm.blank = false;
vm2.blank = true;
vm2.showList = true;
vm2.showInfo = false;
}
}).trigger("reloadGrid");
},
back: function (event) {
vm.reload();
vm.blank = true;
vm.showList = true;
vm2.blank = false;
},
}
})