Prechádzať zdrojové kódy

Merge branch 'master' of http://git.dever.cc/dever-product/churen

Your Name 3 rokov pred
rodič
commit
e72369b6b2

+ 211 - 0
app/card/assets/pc/html/setGoods.html

@@ -0,0 +1,211 @@
+<!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>商品列表
+
+                    <!-- <a class="mini-button" onclick="location.href='<{$link}>'">返回上一页</a> -->
+                </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="goods_list" style="height:645px;">
+                    <table class="layui-table">
+                        <thead>
+                            <tr>
+                            	<th lay-data="{field:'cate'}">商品分类</th>
+                                <th lay-data="{field:'id'}">商品编码</th>
+                                <th lay-data="{field:'name'}">商品名称</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;
+        $('#give').val('<{$give}>');
+        form.render(); 
+    });
+
+    $(function()
+    {
+        $("#settlement").click(function(){
+            var url = '<{$submit}>';
+            var card_id = '<{$card_id}>';
+            var link = '<{$link}>';
+
+            layui.layer.confirm('确定进行此项设置吗?', function() {
+                var goods_string = JSON.stringify(goods);
+
+                var data = {};
+                data = {card_id:card_id, goods:goods_string,link:link};
+                $.post(url, data, function(t) {
+                    t = JSON.parse(t);
+                    if (t.status == 1) {
+                        layui.layer.alert('礼品卡商品设置成功', function(index){
+                          location.reload();
+                          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] && goods[key].del == 2)) {
+                goods[key] = node;
+                goods[key].num = 0;
+                goods[key].del = 1;
+                create(node);
+                setTotal();
+            }
+        }
+    }
+
+    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_class">'+node.class_name+'</td>';
+            addtr += '<td class="goods_id">'+node.id+'</td>';
+            addtr += '<td class="goods_name">'+node.name+'</td>';     
+            addtr += '<td><a class="delete_btn" onclick="del(\''+node.id+'\')">删除</a></td>';    
+            addtr += '</tr>';
+            $("#goods").append(addtr);
+        }
+    }
+
+    function del(id)
+    {
+        if (confirm('确定删除吗?')) {
+            goods[id].del = 2;
+            get(id).remove();
+            setTotal();
+        }
+    }
+
+    function setTotal()
+    {
+        var total = 0;
+        for (var i in goods) {
+            if (goods[i].del == 1) {
+            	total += 1;
+            }
+        }
+        //$(".totalQuantity").html(num);
+        $(".totalNum").html(total);
+    }
+</script>
+</body>
+</html>

+ 2 - 0
app/card/database/info.php

@@ -216,6 +216,8 @@ return array
             'fast' => array('生成卡号', '"add&where_id=1&search_option_card_id={id}"', '{status} == 1'),
 
             'list1' => array('卡号列表', '"code&search_option_card_id={id}&oper_table=info"'),
+
+            'location1' => array('商品设置', Dever::url('lib/goods_set.home', 'card')),
         ),
     ),
 

+ 9 - 0
app/card/database/info_goods.php

@@ -36,6 +36,15 @@ return array
             'list'      => 'Dever::load("card/info-find#name", "{card_id}")',
         ),
 
+        'cate_id'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => '商品分类id',
+            'default'   => '-1',
+            'desc'      => '商品id',
+            'match'     => 'is_numeric',
+        ),
+
         'goods_id'      => array
         (
             'type'      => 'int-11',

+ 61 - 32
app/card/lib/Goods_set.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace Agent\Lib;
+namespace Card\Lib;
 
 use Dever;
 
@@ -15,8 +15,51 @@ class Goods_set
     # 获取商品列表
     public function goods_api()
     {
+        $result = array();
         $id = Dever::input('card_id', 1);
-        return Dever::load('agent/lib/set')->getData($id);
+        $where['project_id'] = 1;
+        $data = Dever::db('category/info')->getTop($where);
+        if ($data) {
+            $i = 0;
+            foreach ($data as $k => $v) {
+
+                $result[$i]['id'] = $v['id'];
+                $result[$i]['name'] = $v['name'];
+                $result[$i]['select'] = 2;
+                $result[$i]['del'] = 1;
+                $result[$i]['children'] = array();
+
+                $w['top_category_id'] = $v['id'];
+                $goods = Dever::db('goods/info')->select($w);
+                if ($goods) {
+
+                    foreach ($goods as $v1) {
+                        $children = array
+                        (
+                            'id' => $v['id'] . '-' . $v1['id'],
+                            'name' => $v1['name'],
+                            'class_name' => $v['name'],
+                            'del' => 1,
+                            'select' => 2,
+                            'end' => true,
+                        );
+
+                        $bind = Dever::db('card/info_goods')->find(array('card_id' => $id, 'goods_id' => $v1['id']));
+
+                        if ($bind) {
+                            $children['select'] = 1;
+                        }
+                        $result[$i]['children'][] = $children;
+                    }
+
+                    $i++;
+                } else {
+                    unset($result[$i]);
+                }
+            }
+        }
+
+        return Dever::outDiy($result);
     }
 
     # 设置商品
@@ -27,7 +70,7 @@ class Goods_set
         $data['card_id'] = Dever::input('id', 1);
         Dever::setInput('card_id', $data['card_id']);
         $data['host'] = Dever::url('lib/goods_set.home?id=' . $data['card_id'], 'card');
-        $data['url'] = Dever::url('lib/goods_set.goods?card_id=' . $data['card_id'], 'card');
+        $data['url'] = Dever::url('lib/goods_set.goods?json=1&card_id=' . $data['card_id'], 'card');
         $data['submit'] = Dever::url('lib/goods_set.action_commit?json=1', 'card');
 
         return Dever::render('setGoods', $data);
@@ -41,48 +84,34 @@ class Goods_set
             Dever::alert('请传入商品');
         }
         $goods = Dever::json_decode($goods);
-        $prize_id = Dever::input('prize_id');
+        $card_id = Dever::input('card_id');
 
-        $where['option_prize_id'] = $prize_id;
+        $where['option_card_id'] = $card_id;
         $where['set_state'] = 2;
-        Dever::db('setting/prize_goods')->updates($where);
+        Dever::db('card/info_goods')->updates($where);
 
         foreach ($goods as $k => $v) {
-            $type = 1;
-            $type_id = $k;
-            $sku_id = -1;
-            if (strstr($k, '_')) {
-                $temp = explode('_', $k);
-                $type_id = $temp[0];
-                $type = $temp[1];
-            } elseif (strstr($k, '-')) {
-                $temp = explode('-', $k);
-                $type_id = $temp[0];
-                $sku_id = $temp[1];
-            }
-            
-            if ($v['total'] <= 0) {
-            	continue;
-            }
+            $temp = explode('-', $k);
+            $cate_id = $temp[0];
+            $goods_id = $temp[1];
+
             $w = array();
-            $w['type'] = $type;
-            $w['type_id'] = $type_id;
-            $w['prize_id'] = $prize_id;
-            $w['sku_id'] = $sku_id;
-            $info = Dever::db('setting/prize_goods')->one($w);
+            $w['cate_id'] = $cate_id;
+            $w['goods_id'] = $goods_id;
+            $w['card_id'] = $card_id;
+            $info = Dever::db('card/info_goods')->one($w);
             if ($v['del'] == 2) {
                 if ($info) {
-                    Dever::db('setting/prize_goods')->update(array('where_id' => $info['id'], 'state' => 2));
+                    Dever::db('card/info_goods')->update(array('where_id' => $info['id'], 'state' => 2));
                 }
             } else {
-            	$w['num'] = $v['total'];
-                
+
                 if (!$info) {
-                    Dever::db('setting/prize_goods')->insert($w);
+                    Dever::db('card/info_goods')->insert($w);
                 } else {
                     $w['where_id'] = $info['id'];
                     $w['state'] = 1;
-                    Dever::db('setting/prize_goods')->update($w);
+                    Dever::db('card/info_goods')->update($w);
                 }
             }
         }

+ 2 - 0
service/agent/database/member.php

@@ -682,6 +682,8 @@ return array
             (
                 'start' => array('yes-cdate', '>='),
                 'end' => array('yes-cdate', '<='),
+                'fstart' => array('yes-rdate', '>='),
+                'fend' => array('yes-rdate', '<='),
                 'status' => 'yes',
                 'role' => 'yes',
                 'state' => 1,

+ 11 - 0
service/agent/database/order.php

@@ -663,6 +663,7 @@ return array
             'name'      => '完成时间',
             'default'   => '',
             'match'     => 'is_numeric',
+            'search'    => 'date',
             'desc'      => '',
         ),
 
@@ -777,6 +778,8 @@ return array
             (
                 'start' => array('yes-cdate', '>='),
                 'end' => array('yes-cdate', '<='),
+                'fstart' => array('yes-fdate', '>='),
+                'fend' => array('yes-fdate', '<='),
                 'status' => array('yes', 'in'),
                 'state' => 1,
             ),
@@ -792,6 +795,8 @@ return array
             (
                 'start' => array('yes-cdate', '>='),
                 'end' => array('yes-cdate', '<='),
+                'fstart' => array('yes-fdate', '>='),
+                'fend' => array('yes-fdate', '<='),
                 'status' => array('yes', 'in'),
                 'state' => 1,
             ),
@@ -806,6 +811,8 @@ return array
             (
                 'start' => array('yes-cdate', '>='),
                 'end' => array('yes-cdate', '<='),
+                'fstart' => array('yes-fdate', '>='),
+                'fend' => array('yes-fdate', '<='),
                 'status' => array('yes', 'in'),
                 'state' => 1,
             ),
@@ -820,6 +827,8 @@ return array
             (
                 'start' => array('yes-cdate', '>='),
                 'end' => array('yes-cdate', '<='),
+                'fstart' => array('yes-fdate', '>='),
+                'fend' => array('yes-fdate', '<='),
                 'status' => array('yes', 'in'),
                 'state' => 1,
             ),
@@ -834,6 +843,8 @@ return array
             (
                 'start' => array('yes-cdate', '>='),
                 'end' => array('yes-cdate', '<='),
+                'fstart' => array('yes-fdate', '>='),
+                'fend' => array('yes-fdate', '<='),
                 'status' => array('yes', 'in'),
                 'state' => 1,
             ),

+ 10 - 6
service/bill/lib/Cron.php

@@ -170,10 +170,10 @@ class Cron
 
         for($i=0; $i<=$day; $i++) {
             $where = array();
-            $where['start'] = $start + 86400*$i;
-            $where['end'] = $start + 86400*$i + 86399;
+            $where['fstart'] = $start + 86400*$i;
+            $where['fend'] = $start + 86400*$i + 86399;
             $data = array();
-            $data['day'] = $where['start'];
+            $data['day'] = $where['fstart'];
             $info = Dever::db('bill/order_stat')->find($data);
             $data['num'] = Dever::db('agent/order')->getNum($where);
             $where['status'] = 4;
@@ -188,6 +188,10 @@ class Cron
             $where['status'] = 2;
             $data['daili_num'] = Dever::db('agent/member')->getNum($where);
             $where['status'] = '-2,1,2,3,6';//驳回不加入
+            $where['start'] = $where['fstart'];
+            $where['end'] = $where['fend'];
+            unset($where['fstart']);
+            unset($where['fend']);
             $data['no_num'] = Dever::db('agent/order')->getNum($where);
             $no_cash = Dever::db('agent/order')->getCash($where);
             if ($no_cash) {
@@ -218,10 +222,10 @@ class Cron
         for($i=0; $i<=$day; $i++) {
             $where = array();
             $where['status'] = 2;
-            $where['start'] = $start + 86400*$i;
-            $where['end'] = $start + 86400*$i + 86399;
+            $where['fstart'] = $start + 86400*$i;
+            $where['fend'] = $start + 86400*$i + 86399;
             $data = array();
-            $data['day'] = $where['start'];
+            $data['day'] = $where['fstart'];
             $info = Dever::db('bill/member_stat')->find($data);
             $data['num'] = Dever::db('agent/member')->getNum($where);
             $where['role'] = 2;

+ 15 - 5
service/option/src/My.php

@@ -9,10 +9,18 @@ class My extends Core
 {
     public function test()
     {
-        $where['email'] = '2934170@qq.com';
-        $code = Dever::load('passport/reg')->code(false, false);
-        $email = base64_encode($where['email']);
-        return Dever::load('option/lib/email.renzheng?aid='.$this->uid.'&email=' . $email . '&code=' . $code . '&username=' . $this->user['name']);
+        $id = Dever::input('id');
+        $email = Dever::input('email');
+        $account = Dever::db('option/account')->find($id);
+        if ($account && $account['email']) {
+            if ($email) {
+                $account['email'] = $email;
+            }
+            $member = Dever::db('option/member')->find($account['mid']);
+            $code = Dever::load('passport/reg')->code(false, false);
+            $email = base64_encode($account['email']);
+            return Dever::load('option/lib/email.renzheng?aid='.$account['id'].'&email=' . $email . '&code=' . $code . '&username=' . $member['name']);
+        }
     }
 
     /**
@@ -239,7 +247,9 @@ class My extends Core
         if (isset($where['is_email']) && $where['is_email'] == 2) {
             $code = Dever::load('passport/reg')->code(false, false);
             $email = base64_encode($where['email']);
-            Dever::daemon('lib/email.renzheng?aid='.$this->uid.'&email=' . $email . '&code=' . $code . '&username=' . $this->user['name'], 'option');
+            //Dever::daemon('lib/email.renzheng?aid='.$this->uid.'&email=' . $email . '&code=' . $code . '&username=' . $this->user['name'], 'option');
+
+            Dever::load('option/lib/email.renzheng?aid='.$this->uid.'&email=' . $email . '&code=' . $code . '&username=' . $this->user['name']);
         }
 
         return Dever::db('option/account')->find(array('id' => $this->uid, 'clear' => true));