moonsflyer 2 месяцев назад
Родитель
Сommit
d3c4eeac49

+ 34 - 0
app/admin/controller/common/Goods.php

@@ -0,0 +1,34 @@
+<?php
+// +----------------------------------------------------------------------
+// | likeshop开源商城系统
+// +----------------------------------------------------------------------
+// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
+// | gitee下载:https://gitee.com/likeshop_gitee
+// | github下载:https://github.com/likeshop-github
+// | 访问官网:https://www.likeshop.cn
+// | 访问社区:https://home.likeshop.cn
+// | 访问手册:http://doc.likeshop.cn
+// | 微信公众号:likeshop技术社区
+// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
+// |  likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
+// | 禁止对系统程序代码以任何目的,任何形式的再发布
+// | likeshop团队版权所有并拥有最终解释权
+// +----------------------------------------------------------------------
+// | author: likeshop.cn.team
+// +----------------------------------------------------------------------
+namespace app\admin\controller\common;
+use app\admin\logic\common\GoodsLogic;
+use app\common\basics\AdminBase;
+use app\common\server\JsonServer;
+
+class goods extends AdminBase{
+
+    public function selectGoods(){
+        if($this->request->isAjax()){
+            $get = $this->request->get();
+            $list = GoodsLogic::selectGoods($get);
+            return JsonServer::success('',$list);
+        }
+        return view();
+    }
+}

+ 57 - 0
app/admin/logic/common/GoodsLogic.php

@@ -0,0 +1,57 @@
+<?php
+// +----------------------------------------------------------------------
+// | likeshop开源商城系统
+// +----------------------------------------------------------------------
+// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
+// | gitee下载:https://gitee.com/likeshop_gitee
+// | github下载:https://github.com/likeshop-github
+// | 访问官网:https://www.likeshop.cn
+// | 访问社区:https://home.likeshop.cn
+// | 访问手册:http://doc.likeshop.cn
+// | 微信公众号:likeshop技术社区
+// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
+// |  likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
+// | 禁止对系统程序代码以任何目的,任何形式的再发布
+// | likeshop团队版权所有并拥有最终解释权
+// +----------------------------------------------------------------------
+// | author: likeshop.cn.team
+// +----------------------------------------------------------------------
+namespace app\admin\logic\common;
+use app\common\basics\Logic;
+use app\common\model\goods\Goods;
+use think\facade\Db;
+
+class goodsLogic extends Logic{
+
+    /**
+     * Notes:获取商品列表
+     * @param $get
+     * @return array
+     * @author: cjhao 2021/4/21 14:44
+     */
+    public static function selectGoods($get){
+        $where[] = ['del','=',0];
+
+        if(isset($get['keyword']) && $get['keyword']){
+            $where[] = ['name','like','%'.$get['keyword'].'%'];
+        }
+
+        $lists = Goods::where($where)
+                ->paginate(['list_rows'=>$get['limit'],'page'=>$get['page']]);
+
+        $list = $lists->items();
+        foreach ($list as $key => $goods){
+            $price = $goods['min_price'].'~'.$goods['max_price'];
+
+            if($goods['min_price'] !== $goods['max_price']){
+                $price = $goods['min_price'];
+            }
+
+            $list[$key]['price'] = $price;
+        }
+
+        $count = $lists->total();
+
+        return ['count'=>$count,'lists'=>$list];
+    }
+}

+ 74 - 0
app/admin/view/common/goods/select_goods.html

@@ -0,0 +1,74 @@
+{layout name="layout1" /}
+<div class="layui-fluid">
+    <div class="layui-card">
+        <div class="layui-tab layui-tab-card" lay-filter="tab-all">
+            <div class="layui-tab-item layui-show">
+                <div class="layui-card">
+                    <div class="layui-form layui-card-header layuiadmin-card-header-auto">
+                        <div class="layui-form-item type">
+                            <div class="layui-inline">
+                                <label class="layui-form-label">商品名称:</label>
+                                <div class="layui-input-block">
+                                    <input type="text" name="keyword" id="keyword" placeholder="请输入关键词" autocomplete="off" class="layui-input">
+                                </div>
+                            </div>
+
+
+                            <div class="layui-inline">
+                                <button class="layui-btn layuiadmin-btn-like {$view_theme_color}" lay-submit lay-filter="like-table-search">查询</button>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="layui-card-body">
+                        <table id="like-table-lists" lay-filter="like-table-lists"></table>
+                        <script type="text/html" id="goods-info">
+                            <img src="{{d.image}}" style="height:60px;width: 60px" class="image-show"> {{d.name}}
+                        </script>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </div>
+    <div class="layui-form-item layui-hide">
+        <input type="button" lay-submit lay-filter="select-submit" class="select-submit" id="select-submit" value="确认">
+    </div>
+</div>
+<style>
+    .layui-table-cell {
+        height: auto;
+    }
+</style>
+<script>
+    var table;
+    layui.use(["table", "element", "laydate"], function(){
+        var $ = layui.$;
+        var form = layui.form;
+        var like = layui.like;
+        var element = layui.element;
+       table   = layui.table;
+
+        //监听搜索
+        form.on('submit(like-table-search)', function(data){
+            var field = data.field;
+            //执行重载
+            table.reload('like-table-lists', {
+                where: field
+            });
+        });
+    });
+    like.tableLists('#like-table-lists', '{:url("common.goods/selectGoods")}', [
+        {type: 'radio'}
+        , {field: 'name', title: '商品名称', toolbar: '#goods-info'}
+        , {field: 'price',  title: '价格'}
+        , {field: 'stock', title: '库存'}
+    ]);
+
+    var callbackdata = function () {
+        var data = table.checkStatus('like-table-lists').data
+            ,index = parent.layer.getFrameIndex(window.name);
+        parent.layer.close(index);
+        return data;
+    }
+
+</script>