|  |  |  | 
|---|
|  |  |  | <div class="layui-col-md10"> | 
|---|
|  |  |  | <div class="layui-form-item"> | 
|---|
|  |  |  | <div class="layui-inline"> | 
|---|
|  |  |  | <label class="layui-form-label">商品名称:</label> | 
|---|
|  |  |  | <div class="layui-input-inline"> | 
|---|
|  |  |  | <input type="text" placeholder="名称" name="goodsName" autocomplete="off" class="layui-input"> | 
|---|
|  |  |  | <input type="text" placeholder="商品名称" name="goodsName" autocomplete="off" class="layui-input"> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </form> | 
|---|
|  |  |  | <table lay-filter="userTable" lay-data="{id: 'userTable'}"></table> | 
|---|
|  |  |  | <style type="text/css"> | 
|---|
|  |  |  | .layui-table-cell{ | 
|---|
|  |  |  | text-align:center; | 
|---|
|  |  |  | height: auto; | 
|---|
|  |  |  | white-space: nowrap; /*文本不会换行,在同一行显示*/ | 
|---|
|  |  |  | overflow: hidden; /*超出隐藏*/ | 
|---|
|  |  |  | text-overflow: ellipsis; /*省略号显示*/ | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .layui-table img{ | 
|---|
|  |  |  | max-width:100px | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | <a lay-event="edit" shiro:hasPermission="user:update"><i | 
|---|
|  |  |  | class="layui-icon febs-edit-area febs-blue"></i></a> | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <script type="text/html" id="upOrDownSwitch"> | 
|---|
|  |  |  | {{# if(d.isSale === 1) { }} | 
|---|
|  |  |  | <input type="checkbox" value={{d.id}} lay-text="上架|下架" checked lay-skin="switch" lay-filter="upOrDownSwitch"> | 
|---|
|  |  |  | {{# } else { }} | 
|---|
|  |  |  | <input type="checkbox" value={{d.id}} lay-text="上架|下架" lay-skin="switch" lay-filter="upOrDownSwitch"> | 
|---|
|  |  |  | {{# } }} | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <script type="text/html" id="isHotSwitch"> | 
|---|
|  |  |  | {{# if(d.isHot === 1) { }} | 
|---|
|  |  |  | <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="isHotSwitch"> | 
|---|
|  |  |  | {{# } else { }} | 
|---|
|  |  |  | <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="isHotSwitch"> | 
|---|
|  |  |  | {{# } }} | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <script type="text/html" id="isSkuFormat"> | 
|---|
|  |  |  | {{# if(d.isSku === 1) { }} | 
|---|
|  |  |  | <span>是</span> | 
|---|
|  |  |  | {{# } else { }} | 
|---|
|  |  |  | <span>否</span> | 
|---|
|  |  |  | {{# } }} | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <script type="text/html" id="goodsTypeFormat"> | 
|---|
|  |  |  | {{# if(d.isNormal == 1) { }} | 
|---|
|  |  |  | <span>普通商品</span> | 
|---|
|  |  |  | {{# } else { }} | 
|---|
|  |  |  | <span>套餐</span> | 
|---|
|  |  |  | {{# } }} | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <style> | 
|---|
|  |  |  | .layui-form-onswitch { | 
|---|
|  |  |  | background-color: #5FB878 !important; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|
|  |  |  | <!-- 表格操作栏 end --> | 
|---|
|  |  |  | <script data-th-inline="none" type="text/javascript"> | 
|---|
|  |  |  | // 引入组件并初始化 | 
|---|
|  |  |  | 
|---|
|  |  |  | tableIns; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | form.render(); | 
|---|
|  |  |  | let currPageGoods = 1;//首先默认值为1,防止出错 | 
|---|
|  |  |  | //获取当前页 | 
|---|
|  |  |  | currPageGoods = $view.find(".layui-laypage-em").next().html(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 表格初始化 | 
|---|
|  |  |  | initTable(); | 
|---|
|  |  |  | 
|---|
|  |  |  | maxmin: true, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (layEvent === 'goodsUpdate') { | 
|---|
|  |  |  | febs.modal.open('编辑', 'modules/goods/goodsUpdateNew/' + data.id, { | 
|---|
|  |  |  | btn: ['提交', '取消'], | 
|---|
|  |  |  | area:['100%','100%'], | 
|---|
|  |  |  | yes: function (index, layero) { | 
|---|
|  |  |  | $('#febs-update').find('#submit').trigger('click'); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | btn2: function () { | 
|---|
|  |  |  | layer.closeAll(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (layEvent === 'seeImgThumb') { | 
|---|
|  |  |  | var t = $view.find('#seeImgThumb'+data.id+''); | 
|---|
|  |  |  | //页面层 | 
|---|
|  |  |  | layer.open({ | 
|---|
|  |  |  | type: 1, | 
|---|
|  |  |  | title: "图片", | 
|---|
|  |  |  | skin: 'layui-layer-rim', //加上边框 | 
|---|
|  |  |  | area: ['80%', '80%'], //宽高 | 
|---|
|  |  |  | shadeClose: true, //开启遮罩关闭 | 
|---|
|  |  |  | end: function (index, layero) { | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | content: '<div style="text-align:center"><img src="' + $(t).attr('src') + '" /></div>' | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | function downGoods(id) { | 
|---|
|  |  |  | febs.get(ctx + 'admin/goods/downMallGoods/' + id, null, function () { | 
|---|
|  |  |  | 
|---|
|  |  |  | $query.click(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | function goodsHot(id) { | 
|---|
|  |  |  | febs.get(ctx + 'admin/goods/goodsHot/' + id, null, function () { | 
|---|
|  |  |  | febs.alert.success('设置成功'); | 
|---|
|  |  |  | $query.click(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | function goodsNotHot(id) { | 
|---|
|  |  |  | febs.get(ctx + 'admin/goods/goodsNotHot/' + id, null, function () { | 
|---|
|  |  |  | febs.alert.success('设置成功'); | 
|---|
|  |  |  | $query.click(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 查询按钮 | 
|---|
|  |  |  | $query.on('click', function () { | 
|---|
|  |  |  | var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type}); | 
|---|
|  |  |  | tableIns.reload({where: params, page: {curr: 1}}); | 
|---|
|  |  |  | tableIns.reload({where: params, page: {curr: currPageGoods}}); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 刷新按钮 | 
|---|
|  |  |  | $reset.on('click', function () { | 
|---|
|  |  |  | $searchForm[0].reset(); | 
|---|
|  |  |  | sortObject.type = 'null'; | 
|---|
|  |  |  | tableIns.reload({where: getQueryParams(), page: {curr: 1}, initSort: sortObject}); | 
|---|
|  |  |  | tableIns.reload({where: getQueryParams(), page: {curr: currPageGoods}, initSort: sortObject}); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | $add.on('click', function () { | 
|---|
|  |  |  | febs.view.tab.change("/modules/goods/goodsAddNew/"); | 
|---|
|  |  |  | febs.modal.open('新增商品', 'modules/goods/goodsAddNew/', { | 
|---|
|  |  |  | btn: ['提交', '取消'], | 
|---|
|  |  |  | area:['100%','100%'], | 
|---|
|  |  |  | yes: function (index, layero) { | 
|---|
|  |  |  | $('#febs-goods-add').find('#submit').trigger('click'); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | btn2: function () { | 
|---|
|  |  |  | layer.closeAll(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function initTable() { | 
|---|
|  |  |  | tableIns = febs.table.init({ | 
|---|
|  |  |  | elem: $view.find('table'), | 
|---|
|  |  |  | id: 'userTable', | 
|---|
|  |  |  | url: ctx + 'admin/goods/goodsList', | 
|---|
|  |  |  | url: ctx + 'admin/goods/goodsList?goodsType=1', | 
|---|
|  |  |  | cols: [[ | 
|---|
|  |  |  | {field: 'goodsName', title: '商品名称', minWidth: 150,align:'left'}, | 
|---|
|  |  |  | //     {field: 'accountType', title: '账号类型', | 
|---|
|  |  |  | //         templet: function (d) { | 
|---|
|  |  |  | //             if (d.accountType === 2) { | 
|---|
|  |  |  | //                 return '<span style="color:red;">测试账号</span>' | 
|---|
|  |  |  | //             } else if (d.accountType === 1) { | 
|---|
|  |  |  | //                 return '<span style="color:green;">正常账号</span>' | 
|---|
|  |  |  | //             }else{ | 
|---|
|  |  |  | //                 return '' | 
|---|
|  |  |  | //             } | 
|---|
|  |  |  | //         }, minWidth: 80,align:'center'}, | 
|---|
|  |  |  | //     {field: 'accountStatus', title: '账号状态', | 
|---|
|  |  |  | //         templet: function (d) { | 
|---|
|  |  |  | //             if (d.accountStatus === 1) { | 
|---|
|  |  |  | //                 return '<span style="color:green;">正常</span>' | 
|---|
|  |  |  | //             } else if (d.accountStatus === 2) { | 
|---|
|  |  |  | //                 return '<span style="color:red;">禁用</span>' | 
|---|
|  |  |  | //             }else{ | 
|---|
|  |  |  | //                 return '' | 
|---|
|  |  |  | //             } | 
|---|
|  |  |  | //         }, minWidth: 80,align:'center'}, | 
|---|
|  |  |  | //     {field: 'createdTime', title: '注册时间', minWidth: 180,align:'center'}, | 
|---|
|  |  |  | {field: 'sortCnt', title: '序号', minWidth: 80,align:'left'}, | 
|---|
|  |  |  | {field: 'goodsNo', title: '商品编号', minWidth: 100,align:'left'}, | 
|---|
|  |  |  | {field: 'goodsName', title: '商品名称', minWidth: 140,align:'left'}, | 
|---|
|  |  |  | {field: 'thumb', title: '缩略图', | 
|---|
|  |  |  | templet: function (d) { | 
|---|
|  |  |  | return '<a lay-event="seeImgThumb"><img id="seeImgThumb'+d.id+'" src="'+d.thumb+'" alt=""></a>'; | 
|---|
|  |  |  | }, minWidth: 150,align:'center'}, | 
|---|
|  |  |  | {field: 'categaryName', title: '分类', minWidth: 100,align:'left'}, | 
|---|
|  |  |  | {field: 'isSale', title: '是否上架', templet: '#upOrDownSwitch', minWidth: 100,align:'center'}, | 
|---|
|  |  |  | {field: 'isHot', title: '是否主推', templet: '#isHotSwitch', minWidth: 100,align:'center'}, | 
|---|
|  |  |  | {templet:"#goodsTypeFormat",  title: '商品类型', minWidth: 100,align:'left'}, | 
|---|
|  |  |  | {templet:"#isSkuFormat", title: '是否多规格', minWidth: 100,align:'left'}, | 
|---|
|  |  |  | {field: 'presentPrice', title: '现价', minWidth: 100,align:'left'}, | 
|---|
|  |  |  | // {field: 'originalPrice', title: '原价', minWidth: 100,align:'left'}, | 
|---|
|  |  |  | {field: 'stock', title: '商品库存', minWidth: 100,align:'left'}, | 
|---|
|  |  |  | {field: 'skuVolume', title: '商品销量', minWidth: 100,align:'left'}, | 
|---|
|  |  |  | {field: 'scorePercent', title: '兑换比例', minWidth: 100,align:'left'}, | 
|---|
|  |  |  | {title: '操作', | 
|---|
|  |  |  | templet: function (d) { | 
|---|
|  |  |  | if (d.isSale === 1) { | 
|---|
|  |  |  | return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="downGoods" shiro:hasPermission="user:update">下架</button>' | 
|---|
|  |  |  | + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="detailGoods" shiro:hasPermission="user:update">详情</button>' | 
|---|
|  |  |  | return ''; | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="upGoods" shiro:hasPermission="user:update">上架</button>' | 
|---|
|  |  |  | + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="delGoods" shiro:hasPermission="user:update">删除</button>' | 
|---|
|  |  |  | + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="updateGoods" shiro:hasPermission="user:update">编辑</button>' | 
|---|
|  |  |  | return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="goodsUpdate" shiro:hasPermission="user:update">编辑</button>' | 
|---|
|  |  |  | + '<button class="layui-btn layui-btn-normal layui-btn-xs febs-bg-red" lay-event="delGoods" shiro:hasPermission="user:update">删除</button>' | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | },minWidth: 300,align:'center'} | 
|---|
|  |  |  | },minWidth: 160,align:'center'} | 
|---|
|  |  |  | ]] | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | form.on('switch(upOrDownSwitch)', function (data) { | 
|---|
|  |  |  | if (data.elem.checked) { | 
|---|
|  |  |  | upGoods(data.value); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | downGoods(data.value); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | form.on('switch(isHotSwitch)', function (data) { | 
|---|
|  |  |  | if (data.elem.checked) { | 
|---|
|  |  |  | goodsHot(data.value); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | goodsNotHot(data.value); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取查询参数 | 
|---|
|  |  |  | function getQueryParams() { | 
|---|
|  |  |  | return { | 
|---|