dever 3 年之前
父节点
当前提交
3eedb24d9c

+ 244 - 0
app/shop/assets/pc/html/setFactory.html

@@ -0,0 +1,244 @@
+<!doctype html>
+<html>
+<head>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0" />
+<meta name="author" content="siweiyong 2602812659@qq.com"/>
+<title>设置工厂</title>
+<link rel="stylesheet" href="../script/lib/miniui/themes/default/miniui.css">
+<link rel="stylesheet" href="../script/lib/layui/css/layui.css" />
+<link rel="stylesheet" href="../script/lib/cashier/common.css">
+<link rel="stylesheet" href="../script/lib/layui/admin/modules/plugin/formselects/formselects.css" media="all" />
+<script src="../script/lib/jquery/jquery.min.js"></script>
+<script src="../script/lib/miniui/miniui.js"></script>
+<script src="../script/lib/layui/layui.js"></script>
+<script><{Dever::script()}></script>
+<script src="../script/dever/core.js"></script>
+</head>
+<body style="background: #F6F7F9;">
+<div class="main">
+<form class="layui-form" lay-filter="form">
+    <div class="layui-row">
+        <div class="main_left layui-col-xs12 layui-col-md3">
+            <div class="layui-row">
+                <div class="top">
+                    <i class="layui-icon layui-icon-app"></i>工厂列表
+                </div>
+                <div class="left_main">
+                    <input id="key" class="mini-textbox" placeholder="请输入工厂名称" onenter="onKeyEnter"/>
+                    <a class="mini-button" onclick="search()">查询</a> 
+                    <ul id="tree1" class="mini-tree" url="<{$url}>" showTreeIcon="true" textField="name" idField="id" expandOnLoad="true" onNodeClick="onNodeClick">
+                    </ul>
+                </div>
+            </div>
+        </div>
+        <div class="main_right layui-col-xs12 layui-col-md9">
+            <div class="layui-row">
+                <div class="top">
+                    <label>选择门店:</label>
+                    <div class="layui-input-inline">
+
+                        <div><select xm-select="shop_id" xm-select-skin="normal" xm-select-search="<{$search}>" xm-select-search-type="dl" xm-select-radio="" class="update_value form-control layui-input layui-select" name="shop_id" id="shop_id"  ></select></div>
+
+                    </div>
+                    <div class="layui-input-inline">
+                        <button class="layui-btn layui-btn-button" type="button" style="vertical-align: middle;margin-bottom: 2px;" onclick="setShop()">确认选择</button>
+                    </div>
+                </div>
+                <div class="goods_list" style="height:645px;">
+                    <table class="layui-table">
+                        <thead>
+                            <tr>
+                                <th lay-data="{field:'id'}">工厂编号</th>
+                                <th lay-data="{field:'name'}">工厂名称</th>
+                                <th lay-data="{field:'area'}">工厂所在地</th>
+                                <th lay-data="{field:'operation'}">操作</th>
+                            </tr>
+                        </thead>
+                        <tbody id="goods">
+                            
+                        </tbody>
+                    </table>
+                </div>
+                <div class="total ft16">
+                    合计:【<span> 分配工厂总数:<i class="totalNum">0</i> </span>】
+                </div>
+                <div class="towbtn">
+                    <input type="button" id="settlement" value="确认分配">
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+</form>
+</div>
+<script>
+    var form;
+    layui.config(
+    {
+        base: '../script/lib/layui/admin/' //静态资源所在路径
+        ,version: true
+    }).extend(
+    {
+        index: 'lib/index', //主入口模块
+        formSelects: 'plugin/formselects/formselects'
+    }).use(['index', 'contlist', 'table', 'form', 'formSelects','layer'], function()
+    {
+        var table = layui.table;
+        form = layui.form; 
+        var formSelects = layui.formSelects;
+    });
+
+    $(function()
+    {
+        $("#settlement").click(function(){
+            var url = '<{$submit}>';
+            var shop_id = '<{$shop_id}>';
+
+            layui.layer.confirm('确定进行此项设置吗?', function() {
+                var goods_string = JSON.stringify(goods);
+
+                var data = {};
+                data = {shop_id:shop_id, value:goods_string};
+                $.post(url, data, function(t) {
+                    t = JSON.parse(t);
+                    if (t.status == 1) {
+                        layui.layer.alert('设置成功', function(index){
+                          location.href = t.data;
+                          layer.close(index);
+                        });
+                    } else {
+                        layui.layer.alert(t.msg);
+                    }
+                });
+            });
+        })
+    })
+    var goods = {};
+    var del_goods = {};
+    mini.parse();
+    var tree = mini.get("tree1");
+    for (var i in tree.data) {
+        if (typeof(tree.data[i].children) == 'object') {
+            if (tree.data[i].children.length > 0) {
+                for (var j in tree.data[i].children) {
+                    if(tree.data[i].children[j].select == 1) {
+                        setGoods(tree.data[i].children[j]);
+                    }
+                }
+            } else if(tree.data[i].select == 1) {
+                setGoods(tree.data[i]);
+            }
+        }
+    }
+    function search() 
+    {
+        var key = mini.get("key").getValue();
+        if (key == "") {
+            tree.clearFilter();
+        } else {
+            key = key.toLowerCase();                
+            tree.filter(function (node) {
+                var name = node.name ? node.name.toLowerCase() : "";
+                if (name.indexOf(key) != -1) {
+                    return true;
+                }
+            });
+        }
+    }
+    function onKeyEnter(e)
+    {
+        search();
+    }
+
+    function onNodeClick()
+    {
+        var tree=mini.get("tree1");
+        node=tree.getSelectedNode();
+        if(node.end) {
+            setGoods(node);
+        }
+    }
+
+    function setGoods(node)
+    {
+        if (node.id) {
+            var key = node.id;
+            if (!goods[key]) {
+                goods[key] = node;
+                create(node);
+                setTotal();
+            } else {
+                add(key);
+            }
+        }
+    }
+
+    function get(key)
+    {
+        return $('#goods_' + key);
+    }
+
+    function create(node)
+    {
+        if (!get(node.id).length) {
+            var addtr = '<tr class="mytr" id="goods_'+node.id+'">';
+            addtr += '<td class="goods_id">'+node.id+'</td>';
+            addtr += '<td class="goods_name">'+node.name+'</td>';     
+            addtr += '<td class="goods_area">'+node.area+'</td>'; 
+            addtr += '<td><a class="delete_btn" onclick="del(\''+node.id+'\')">删除</a></td>';        
+            addtr += '</tr>';
+            $("#goods").append(addtr);
+        }
+    }
+
+    function add(id)
+    {
+        goods[id].num += 1;
+        get(id).find('.goods_num').val(goods[id].num);
+        setTotal();
+    }
+    
+    function dec(id)
+    {
+        goods[id].num -= 1;
+        if (goods[id].num < 1) {
+            goods[id].num = 0;
+        }
+
+        get(id).find('.goods_num').val(goods[id].num);
+        setTotal();
+    }
+
+    function del(id)
+    {
+        if (confirm('确定删除吗?')) {
+            delete goods[id];
+			get(id).remove();
+			setTotal();
+        }
+    }
+
+    function setTotal()
+    {
+        var num = 0;
+        for (var i in goods) {
+            num += 1;
+        }
+        $(".totalNum").html(num);
+    }
+
+    function setShop()
+    {
+        var shop_id = $('.xm-select-parent[fs_id="shop_id"] span[fsw="xm-select"]').attr('value');
+        if (!shop_id) {
+            layui.layer.alert('请选择门店');
+            return;
+        }
+        layui.layer.confirm('确定切换门店吗?', function() {
+            location.href = '<{$host}>&id=' + shop_id;
+        });
+    }
+</script>
+</body>
+</html>

+ 244 - 0
app/shop/assets/pc/html/setStore.html

@@ -0,0 +1,244 @@
+<!doctype html>
+<html>
+<head>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0" />
+<meta name="author" content="siweiyong 2602812659@qq.com"/>
+<title>设置仓库</title>
+<link rel="stylesheet" href="../script/lib/miniui/themes/default/miniui.css">
+<link rel="stylesheet" href="../script/lib/layui/css/layui.css" />
+<link rel="stylesheet" href="../script/lib/cashier/common.css">
+<link rel="stylesheet" href="../script/lib/layui/admin/modules/plugin/formselects/formselects.css" media="all" />
+<script src="../script/lib/jquery/jquery.min.js"></script>
+<script src="../script/lib/miniui/miniui.js"></script>
+<script src="../script/lib/layui/layui.js"></script>
+<script><{Dever::script()}></script>
+<script src="../script/dever/core.js"></script>
+</head>
+<body style="background: #F6F7F9;">
+<div class="main">
+<form class="layui-form" lay-filter="form">
+    <div class="layui-row">
+        <div class="main_left layui-col-xs12 layui-col-md3">
+            <div class="layui-row">
+                <div class="top">
+                    <i class="layui-icon layui-icon-app"></i>仓库列表
+                </div>
+                <div class="left_main">
+                    <input id="key" class="mini-textbox" placeholder="请输入仓库名称" onenter="onKeyEnter"/>
+                    <a class="mini-button" onclick="search()">查询</a> 
+                    <ul id="tree1" class="mini-tree" url="<{$url}>" showTreeIcon="true" textField="name" idField="id" expandOnLoad="true" onNodeClick="onNodeClick">
+                    </ul>
+                </div>
+            </div>
+        </div>
+        <div class="main_right layui-col-xs12 layui-col-md9">
+            <div class="layui-row">
+                <div class="top">
+                    <label>选择门店:</label>
+                    <div class="layui-input-inline">
+
+                        <div><select xm-select="shop_id" xm-select-skin="normal" xm-select-search="<{$search}>" xm-select-search-type="dl" xm-select-radio="" class="update_value form-control layui-input layui-select" name="shop_id" id="shop_id"  ></select></div>
+
+                    </div>
+                    <div class="layui-input-inline">
+                        <button class="layui-btn layui-btn-button" type="button" style="vertical-align: middle;margin-bottom: 2px;" onclick="setShop()">确认选择</button>
+                    </div>
+                </div>
+                <div class="goods_list" style="height:645px;">
+                    <table class="layui-table">
+                        <thead>
+                            <tr>
+                                <th lay-data="{field:'id'}">仓库编号</th>
+                                <th lay-data="{field:'name'}">仓库名称</th>
+                                <th lay-data="{field:'area'}">仓库所在地</th>
+                                <th lay-data="{field:'operation'}">操作</th>
+                            </tr>
+                        </thead>
+                        <tbody id="goods">
+                            
+                        </tbody>
+                    </table>
+                </div>
+                <div class="total ft16">
+                    合计:【<span> 分配仓库总数:<i class="totalNum">0</i> </span>】
+                </div>
+                <div class="towbtn">
+                    <input type="button" id="settlement" value="确认分配">
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+</form>
+</div>
+<script>
+    var form;
+    layui.config(
+    {
+        base: '../script/lib/layui/admin/' //静态资源所在路径
+        ,version: true
+    }).extend(
+    {
+        index: 'lib/index', //主入口模块
+        formSelects: 'plugin/formselects/formselects'
+    }).use(['index', 'contlist', 'table', 'form', 'formSelects','layer'], function()
+    {
+        var table = layui.table;
+        form = layui.form; 
+        var formSelects = layui.formSelects;
+    });
+
+    $(function()
+    {
+        $("#settlement").click(function(){
+            var url = '<{$submit}>';
+            var shop_id = '<{$shop_id}>';
+
+            layui.layer.confirm('确定进行此项设置吗?', function() {
+                var goods_string = JSON.stringify(goods);
+
+                var data = {};
+                data = {shop_id:shop_id, value:goods_string};
+                $.post(url, data, function(t) {
+                    t = JSON.parse(t);
+                    if (t.status == 1) {
+                        layui.layer.alert('设置成功', function(index){
+                          location.href = t.data;
+                          layer.close(index);
+                        });
+                    } else {
+                        layui.layer.alert(t.msg);
+                    }
+                });
+            });
+        })
+    })
+    var goods = {};
+    var del_goods = {};
+    mini.parse();
+    var tree = mini.get("tree1");
+    for (var i in tree.data) {
+        if (typeof(tree.data[i].children) == 'object') {
+            if (tree.data[i].children.length > 0) {
+                for (var j in tree.data[i].children) {
+                    if(tree.data[i].children[j].select == 1) {
+                        setGoods(tree.data[i].children[j]);
+                    }
+                }
+            } else if(tree.data[i].select == 1) {
+                setGoods(tree.data[i]);
+            }
+        }
+    }
+    function search() 
+    {
+        var key = mini.get("key").getValue();
+        if (key == "") {
+            tree.clearFilter();
+        } else {
+            key = key.toLowerCase();                
+            tree.filter(function (node) {
+                var name = node.name ? node.name.toLowerCase() : "";
+                if (name.indexOf(key) != -1) {
+                    return true;
+                }
+            });
+        }
+    }
+    function onKeyEnter(e)
+    {
+        search();
+    }
+
+    function onNodeClick()
+    {
+        var tree=mini.get("tree1");
+        node=tree.getSelectedNode();
+        if(node.end) {
+            setGoods(node);
+        }
+    }
+
+    function setGoods(node)
+    {
+        if (node.id) {
+            var key = node.id;
+            if (!goods[key]) {
+                goods[key] = node;
+                create(node);
+                setTotal();
+            } else {
+                add(key);
+            }
+        }
+    }
+
+    function get(key)
+    {
+        return $('#goods_' + key);
+    }
+
+    function create(node)
+    {
+        if (!get(node.id).length) {
+            var addtr = '<tr class="mytr" id="goods_'+node.id+'">';
+            addtr += '<td class="goods_id">'+node.id+'</td>';
+            addtr += '<td class="goods_name">'+node.name+'</td>';     
+            addtr += '<td class="goods_area">'+node.area+'</td>'; 
+            addtr += '<td><a class="delete_btn" onclick="del(\''+node.id+'\')">删除</a></td>';        
+            addtr += '</tr>';
+            $("#goods").append(addtr);
+        }
+    }
+
+    function add(id)
+    {
+        goods[id].num += 1;
+        get(id).find('.goods_num').val(goods[id].num);
+        setTotal();
+    }
+    
+    function dec(id)
+    {
+        goods[id].num -= 1;
+        if (goods[id].num < 1) {
+            goods[id].num = 0;
+        }
+
+        get(id).find('.goods_num').val(goods[id].num);
+        setTotal();
+    }
+
+    function del(id)
+    {
+        if (confirm('确定删除吗?')) {
+            delete goods[id];
+			get(id).remove();
+			setTotal();
+        }
+    }
+
+    function setTotal()
+    {
+        var num = 0;
+        for (var i in goods) {
+            num += 1;
+        }
+        $(".totalNum").html(num);
+    }
+
+    function setShop()
+    {
+        var shop_id = $('.xm-select-parent[fs_id="shop_id"] span[fsw="xm-select"]').attr('value');
+        if (!shop_id) {
+            layui.layer.alert('请选择门店');
+            return;
+        }
+        layui.layer.confirm('确定切换门店吗?', function() {
+            location.href = '<{$host}>&id=' + shop_id;
+        });
+    }
+</script>
+</body>
+</html>

+ 1 - 1
app/shop/database/buy_stat.php

@@ -43,7 +43,7 @@ return array
             'search'    => 'day',
             'search_button' => array
             (
-                'sum' => 'user',
+                'sum' => 'cash,`order`,goods',
                 'option' => array(
                     'day' => '按天',
                     'week' => '按周',

+ 10 - 1
app/shop/database/factory.php

@@ -82,6 +82,15 @@ return array
 
     'request' => array
     (
-        
+        'getAll' => array
+        (
+            'option' => array
+            (
+                'shop_id' => 'yes',
+                'state' => 1,
+            ),
+            'type' => 'all',
+            'col' => '*|factory_id',
+        ),
     ),
 );

+ 11 - 7
app/shop/database/info.php

@@ -168,7 +168,7 @@ return array
             'search'    => 'linkage',
             'update'    => 'linkage',
             'option'    => Dever::url('api.get?level_total=4', 'area'),
-            'list'      => 'Dever::load("area/api.string", "{area}")',
+            //'list'      => 'Dever::load("area/api.string", "{area}")',
         ),
 
         'province'      => array
@@ -540,11 +540,11 @@ return array
             'default'   => '1',
             'desc'      => '请输入排序',
             'match'     => 'option',
-            //'update'    => 'text',
+            'update'    => 'text',
             'search'    => 'order',
-            'list'      => true,
+            //'list'      => true,
             'order'     => 'desc',
-            'edit'      => true,
+            //'edit'      => true,
         ),
 
         'state'     => array
@@ -564,13 +564,13 @@ return array
             'desc'      => '',
             # 只有insert时才生效
             'insert'    => true,
-            'list'      => 'date("Y-m-d H:i:s", {cdate})',
+            //'list'      => 'date("Y-m-d H:i:s", {cdate})',
         ),
     ),
 
     'manage' => array
     (
-        'mul' => true,
+        //'mul' => true,
         //'insert' => false,
         'list_button' => array
         (
@@ -578,10 +578,14 @@ return array
 
             'br11' => array('<br /><br />'),
 
+            'location1' => array('分配工厂', Dever::url('lib/set.factory', 'shop')),
+
+            'location2' => array('分配仓库', Dever::url('lib/set.store', 'shop')),
+            /*
             'add12' => array('分配工厂', '"info&where_id={id}&col=factory&oper_save_jump=info&oper_table=info&oper_parent=info"'),
 
             'add13' => array('分配仓库', '"info&where_id={id}&col=store&oper_save_jump=info&oper_table=info&oper_parent=info"'),
-
+            */
             'fast' => array('设置活动', '"info&where_id={id}&col=act&oper_save_jump=info&oper_table=info&oper_parent=info"'),
 
             'br1' => array('<br /><br />'),

+ 1 - 1
app/shop/database/sell_stat.php

@@ -43,7 +43,7 @@ return array
             'search'    => 'day',
             'search_button' => array
             (
-                'sum' => 'user',
+                'sum' => 'cash,`order`,goods',
                 'option' => array(
                     'day' => '按天',
                     'week' => '按周',

+ 10 - 1
app/shop/database/store.php

@@ -82,6 +82,15 @@ return array
 
     'request' => array
     (
-        
+        'getAll' => array
+        (
+            'option' => array
+            (
+                'shop_id' => 'yes',
+                'state' => 1,
+            ),
+            'type' => 'all',
+            'col' => '*|store_id',
+        ),
     ),
 );

+ 3 - 3
app/shop/lib/Manage.php

@@ -191,9 +191,9 @@ class Manage
             }
         }
 
-        Dever::upLinkage($update, $id, $data, 'goods', 'shop/goods', 'shop_id', 'goods_id', 'category_id');
-        Dever::upLinkage($update, $id, $data, 'factory', 'shop/factory', 'shop_id', 'factory_id', 'city');
-        Dever::upLinkage($update, $id, $data, 'store', 'shop/store', 'shop_id', 'store_id', 'city');
+        //Dever::upLinkage($update, $id, $data, 'goods', 'shop/goods', 'shop_id', 'goods_id', 'category_id');
+        //Dever::upLinkage($update, $id, $data, 'factory', 'shop/factory', 'shop_id', 'factory_id', 'city');
+        //Dever::upLinkage($update, $id, $data, 'store', 'shop/store', 'shop_id', 'store_id', 'city');
 
         if (isset($update) && $update) {
             $update['where_id'] = $id;

+ 130 - 0
app/shop/lib/Set.php

@@ -114,4 +114,134 @@ class Set
 
         return Dever::url('project/database/list&project=shop&&table=info&menu=shop&search_option_state=1', 'manage');
     }
+
+    # 获取工厂列表
+    public function getFactory_api()
+    {
+        $shop_id = Dever::input('shop_id', 1);
+        $shop_factory = Dever::db('shop/factory')->getAll(array('shop_id' => $shop_id));
+        $factory = Dever::db('factory/info')->select(array('status' => 1));
+
+        $result = array();
+        foreach ($factory as $k => $v) {
+            $key = $v['area'];
+            $area = Dever::load('area/api')->string($key, '', true, '');
+            if (!isset($result[$key])) {
+                $result[$key] = array();
+                $result[$key]['id'] = $v['id'];
+                $result[$key]['name'] = $area;
+                $result[$key]['select'] = 2;
+                $result[$key]['end'] = false;
+                $result[$key]['children'] = array();
+            }
+
+            $data = array();
+            $data['id'] = $v['id'];
+            $data['name'] = $v['name'];
+            $data['area'] = $area;
+            $data['select'] = 2;
+            $data['end'] = true;
+            if (isset($shop_factory[$v['id']]) && $shop_factory[$v['id']]) {
+                $data['select'] = 1;
+            }
+            $result[$key]['children'][] = $data;
+        }
+        $result = array_values($result);
+        return Dever::outDiy($result);
+    }
+
+    # 分配工厂
+    public function factory_api()
+    {
+        $data = array();
+        $data['shop_id'] = Dever::input('id', 1);
+        $data['host'] = Dever::url('lib/set.factory', 'shop');
+        $data['url'] = Dever::url('lib/set.getFactory?shop_id=' . $data['shop_id'], 'shop');
+        $data['search'] = Dever::url('lib/set.search?yes='.$data['shop_id'].'&json=1', 'shop');
+        $data['submit'] = Dever::url('lib/set.source_cmmmit?json=1&type=factory', 'shop');
+
+        return Dever::render('setFactory', $data);
+    }
+
+    # 获取仓库列表
+    public function getStore_api()
+    {
+        $shop_id = Dever::input('shop_id', 1);
+        $shop_store = Dever::db('shop/store')->getAll(array('shop_id' => $shop_id));
+        $store = Dever::db('store/info')->select(array('status' => 1));
+
+        $result = array();
+        foreach ($store as $k => $v) {
+            $key = $v['area'];
+            $area = Dever::load('area/api')->string($key, '', true, '');
+            if (!isset($result[$key])) {
+                $result[$key] = array();
+                $result[$key]['id'] = $v['id'];
+                $result[$key]['name'] = $area;
+                $result[$key]['select'] = 2;
+                $result[$key]['end'] = false;
+                $result[$key]['children'] = array();
+            }
+
+            $data = array();
+            $data['id'] = $v['id'];
+            $data['name'] = $v['name'];
+            $data['area'] = $area;
+            $data['select'] = 2;
+            $data['end'] = true;
+            if (isset($shop_store[$v['id']]) && $shop_store[$v['id']]) {
+                $data['select'] = 1;
+            }
+            $result[$key]['children'][] = $data;
+        }
+        $result = array_values($result);
+        return Dever::outDiy($result);
+    }
+
+    # 分配仓库
+    public function store_api()
+    {
+        $data = array();
+        $data['shop_id'] = Dever::input('id', 1);
+        $data['host'] = Dever::url('lib/set.store', 'shop');
+        $data['url'] = Dever::url('lib/set.getStore?shop_id=' . $data['shop_id'], 'shop');
+        $data['search'] = Dever::url('lib/set.search?yes='.$data['shop_id'].'&json=1', 'shop');
+        $data['submit'] = Dever::url('lib/set.source_cmmmit?json=1&type=store', 'shop');
+
+        return Dever::render('setStore', $data);
+    }
+
+    public function source_cmmmit_api()
+    {
+        $value = Dever::input('value');
+        if (!$value) {
+            Dever::alert('未选择');
+        }
+        $value = Dever::json_decode($value);
+        $shop_id = Dever::input('shop_id');
+        $type = Dever::input('type');
+
+        $col = $type . '_id';
+        $table = 'shop/' . $type;
+        $where['option_shop_id'] = $shop_id;
+        $where['set_state'] = 2;
+        Dever::db($table)->updates($where);
+
+        foreach ($value as $k => $v) {
+            $w = array();
+            $w[$col] = $v['id'];
+            $w['shop_id'] = $shop_id;
+            $info = Dever::db($table)->one($w);
+
+            if (!$info) {
+                Dever::db($table)->insert($w);
+            } else {
+                $w['where_id'] = $info['id'];
+                $w['state'] = 1;
+                Dever::db($table)->update($w);
+            }
+        }
+
+        return Dever::url('project/database/list&project=shop&&table=info&menu=shop&search_option_state=1', 'manage');
+    }
 }