123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795 |
- $(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 '<span style="color: #00a157">上架</span>'
- }else {
- return '<span style="color: red;">下架</span>'
- }
- }},
- { label: '置顶', name: 'top', index: 'top', width: 80, sortable: false, formatter: function (cellvalue, options, rowdata) {
- if(cellvalue) {
- return '<span style="color: #00a157">是</span>'
- }else {
- return '<span style="color: red;">否</span>'
- }
- }},
- { 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<this.arr.length;i++)
- // {
- // var div = $("<div></div>>");
- // div.appendTo($("<img src='"+arr[i]+"' />"));
- // div.appendTo($("<span>X</span>").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;
- },
- }
- })
|