rabin 2 years ago
parent
commit
b1410b21b9

+ 17 - 4
assets/pc/html/set_price_goods.html

@@ -46,7 +46,7 @@
                     <table class="layui-table">
                     <table class="layui-table">
                         <thead>
                         <thead>
                             <tr>
                             <tr>
-                                <th lay-data="{field:'id'}" width="15%">商品编码</th>
+                                <!--<th lay-data="{field:'id'}" width="15%">商品编码</th>-->
                                 <th lay-data="{field:'name'}" width="15%">商品名称</th>
                                 <th lay-data="{field:'name'}" width="15%">商品名称</th>
                                 <{if($type == 1):}>
                                 <{if($type == 1):}>
                                 <th lay-data="{field:'price', edit: 'text'}" width="10%">原销售价</th>
                                 <th lay-data="{field:'price', edit: 'text'}" width="10%">原销售价</th>
@@ -148,17 +148,23 @@
         });
         });
 
 
         $("#goods").on("keyup", ".goods_price", function() {
         $("#goods").on("keyup", ".goods_price", function() {
-        	var num = parseFloat($(this).find('input').val());
+        	var num = $(this).find('input').val();
             var id = $(this).parent().attr('value');
             var id = $(this).parent().attr('value');
             goods[id].price = num;
             goods[id].price = num;
             setTotal();
             setTotal();
+
+            goods[id].new_price = getPrice(goods[id].old_price, goods[id].price);
+            $(this).parent().find('.goods_new_price').html(goods[id].new_price);
         });
         });
 
 
         $("#goods").on("keyup", ".goods_buy_price", function() {
         $("#goods").on("keyup", ".goods_buy_price", function() {
-        	var num = parseFloat($(this).find('input').val());
+        	var num = $(this).find('input').val();
             var id = $(this).parent().attr('value');
             var id = $(this).parent().attr('value');
             goods[id].buy_price = num;
             goods[id].buy_price = num;
             setTotal();
             setTotal();
+
+            goods[id].new_buy_price = getPrice(goods[id].old_buy_price, goods[id].buy_price);
+            $(this).parent().find('.goods_new_buy_price').html(goods[id].new_buy_price);
         });
         });
     })
     })
 
 
@@ -314,7 +320,7 @@
             var select = '';
             var select = '';
 
 
             var addtr = '<tr class="mytr" id="goods_'+node.id+'" value="'+node.id+'">';
             var addtr = '<tr class="mytr" id="goods_'+node.id+'" value="'+node.id+'">';
-            addtr += '<td class="goods_id">'+node.id+'</td>';
+            //addtr += '<td class="goods_id">'+node.id+'</td>';
             addtr += '<td class="goods_name">'+node.name+'</td>';
             addtr += '<td class="goods_name">'+node.name+'</td>';
             addtr += '<td class="goods_old_price">'+node.old_price+'</td>'; 
             addtr += '<td class="goods_old_price">'+node.old_price+'</td>'; 
             addtr += '<td class="goods_price"><span><input type="text" value="'+node.price+'" class="layui-input"></span></td>'; 
             addtr += '<td class="goods_price"><span><input type="text" value="'+node.price+'" class="layui-input"></span></td>'; 
@@ -325,6 +331,7 @@
             addtr += '<td class="goods_old_buy_price">'+node.old_buy_price+'</td>'; 
             addtr += '<td class="goods_old_buy_price">'+node.old_buy_price+'</td>'; 
             addtr += '<td class="goods_buy_price"><span><input type="text" value="'+node.buy_price+'" class="layui-input"></span></td>'; 
             addtr += '<td class="goods_buy_price"><span><input type="text" value="'+node.buy_price+'" class="layui-input"></span></td>'; 
             if (type == 1) {
             if (type == 1) {
+                node.new_buy_price = getPrice(node.old_buy_price, node.buy_price);
                 addtr += '<td class="goods_new_buy_price">'+node.new_buy_price+'</td>'; 
                 addtr += '<td class="goods_new_buy_price">'+node.new_buy_price+'</td>'; 
             }
             }
             
             
@@ -341,9 +348,15 @@
     {
     {
         if (num.indexOf('%') > -1) {
         if (num.indexOf('%') > -1) {
             num = num.replace('%', '');
             num = num.replace('%', '');
+            price = parseFloat(price) + parseFloat(price * (num/100));
         } else {
         } else {
             // 数字
             // 数字
+            price = parseFloat(price) + parseFloat(num);
         }
         }
+
+        price = price.toFixed(2);
+
+        return price;
     }
     }
 
 
     function del(id)
     function del(id)

+ 3 - 1
database/category.php

@@ -235,12 +235,14 @@ return array
 			'option' => array
 			'option' => array
 			(
 			(
 				'ids' => array('yes-id', 'in'),
 				'ids' => array('yes-id', 'in'),
+				'name' => array('yes', 'like'),
+                'id' => 'yes',
 				'parent_id' => -1,
 				'parent_id' => -1,
 				'state' => 1,
 				'state' => 1,
 			),
 			),
 			'type' => 'all',
 			'type' => 'all',
 			'order' => array('reorder' => 'desc', 'id' => 'asc'),
 			'order' => array('reorder' => 'desc', 'id' => 'asc'),
-			'col' => '*|id',
+			'col' => '*,name as name, id, id as value, "" as selected, "" as disabled|id',
 		),
 		),
 
 
 		'getChild' => array
 		'getChild' => array

+ 4 - 4
database/info.php

@@ -37,7 +37,7 @@ $pay_money = array
 $money = function()
 $money = function()
 {
 {
 	$array = array();
 	$array = array();
-	$data = Dever::load('score/money-state');
+	$data = Dever::load('account/money-state');
 	if($data)
 	if($data)
 	{
 	{
 		$array += $data;
 		$array += $data;
@@ -93,8 +93,8 @@ $config = array
 
 
 	'end' => array
 	'end' => array
 	(
 	(
-		//'insert' => 'product/lib/manage.infoUpdate',
-		//'update' => 'product/lib/manage.infoUpdate',
+		'insert' => 'product/lib/manage.infoUpdate',
+		'update' => 'product/lib/manage.infoUpdate',
 	),
 	),
 
 
 	# 同步更新另外一个或多个表的数据,将数据同步到关联表中
 	# 同步更新另外一个或多个表的数据,将数据同步到关联表中
@@ -286,7 +286,7 @@ $config = array
 			'name' 		=> '销售商佣金-设置佣金之后,销售商销售了商品,能得到的相应佣金,也可以在销售商里单独设置,填写10%就是销售价的百分之10,直接填写数字就是佣金数额',
 			'name' 		=> '销售商佣金-设置佣金之后,销售商销售了商品,能得到的相应佣金,也可以在销售商里单独设置,填写10%就是销售价的百分之10,直接填写数字就是佣金数额',
 			'default' 	=> '0',
 			'default' 	=> '0',
 			'desc' 		=> '销售商佣金',
 			'desc' 		=> '销售商佣金',
-			'match' 	=> 'is_numeric',
+			'match' 	=> 'is_string',
 			'update'	=> 'text',
 			'update'	=> 'text',
 			'tab'		=> 1,
 			'tab'		=> 1,
 		),
 		),

+ 8 - 1
lib/Info.php

@@ -33,7 +33,7 @@ class Info
     }
     }
 
 
     # 获取商品及其属性列表
     # 获取商品及其属性列表
-    public function getSetList($table, $other_where, $cate_id = false, $col = 'goods_id')
+    public function getSetList($table, $other_where, $cate_id = false, $col = 'goods_id', $set = array())
     {
     {
         $price = Dever::input('price', 0);
         $price = Dever::input('price', 0);
         $buy_price = Dever::input('buy_price', 0);
         $buy_price = Dever::input('buy_price', 0);
@@ -56,6 +56,10 @@ class Info
                     $other_where[$col] = $v['id'];
                     $other_where[$col] = $v['id'];
                     $other_where['sku_id'] = -1;
                     $other_where['sku_id'] = -1;
                     $other = Dever::db($table)->find($other_where);
                     $other = Dever::db($table)->find($other_where);
+                    if ($set) {
+                        $result[$i]['set'] = $set;
+                    }
+                    
                     $result[$i]['id'] = $v['id'];
                     $result[$i]['id'] = $v['id'];
                     $result[$i]['name'] = $v['name'];
                     $result[$i]['name'] = $v['name'];
                     $result[$i]['type'] = $v['type'];
                     $result[$i]['type'] = $v['type'];
@@ -149,6 +153,9 @@ class Info
 
 
                             $children['select'] = 2;
                             $children['select'] = 2;
                             $children['total'] = 0;
                             $children['total'] = 0;
+                            if ($set) {
+                                $children['set'] = $set;
+                            }
                             if ($other_sku) {
                             if ($other_sku) {
                                 if (isset($other_sku['commission']) && $other_sku['commission']) {
                                 if (isset($other_sku['commission']) && $other_sku['commission']) {
                                     $children['commission'] = $other_sku['commission'];
                                     $children['commission'] = $other_sku['commission'];

+ 36 - 0
lib/Manage.php

@@ -11,6 +11,42 @@ class Manage
         //Dever::alert('reload');
         //Dever::alert('reload');
     }
     }
 
 
+    /**
+     * 更新信息
+     *
+     * @return mixed
+     */
+    public function infoUpdate($id, $name, $data)
+    {
+        # 更新分类id
+        $category = Dever::param('category', $data);
+        if ($category) {
+            if (is_array($category)) {
+                $category_id = end($category);
+                $top_category_id = $category[0];
+                if (isset($category[1])) {
+                    $second_category_id = $category[1];
+                } else {
+                    $second_category_id = $category[0];
+                }
+                
+            } else {
+                $category_id = $category;
+                $top_category_id = $category;
+                $second_category_id = $category;
+            }
+
+            $update['top_category_id'] = $top_category_id;
+            $update['second_category_id'] = $second_category_id;
+            $update['category_id'] = $category_id;
+        }
+
+        if (isset($update)) {
+            $update['where_id'] = $id;
+            Dever::db('product/info')->update($update);
+        }
+    }
+
     public function updateCategory($id, $name, $data)
     public function updateCategory($id, $name, $data)
     {
     {
         $info = Dever::param('category', $data);
         $info = Dever::param('category', $data);

+ 56 - 51
module/role/assets/pc/html/set_seller_goods.html

@@ -37,14 +37,16 @@
         <div class="main_right layui-col-xs12 layui-col-md9">
         <div class="main_right layui-col-xs12 layui-col-md9">
             <div class="layui-row">
             <div class="layui-row">
                 <div class="top">
                 <div class="top">
-                    <label>选择商品分类:</label>
-                    <div class="layui-input-inline">
+                    <div style="display:none;">
+                        <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><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 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>
                     <div class="layui-input-inline" style="margin-left:20px">
                     <div class="layui-input-inline" style="margin-left:20px">
                         <input id="search_key" class="mini-textbox" value="请输入商品名称" onclick="setVal('search_key')"/>
                         <input id="search_key" class="mini-textbox" value="请输入商品名称" onclick="setVal('search_key')"/>
@@ -57,11 +59,11 @@
                             <tr>
                             <tr>
                                 <!--<th lay-data="{field:'id'}">商品编码</th>-->
                                 <!--<th lay-data="{field:'id'}">商品编码</th>-->
                                 <th lay-data="{field:'name'}">商品名称</th>
                                 <th lay-data="{field:'name'}">商品名称</th>
+                                <th lay-data="{field:'total', edit: 'text'}">当前库存</th>
                                 <th lay-data="{field:'price', edit: 'text'}">销售价</th>
                                 <th lay-data="{field:'price', edit: 'text'}">销售价</th>
                                 <th lay-data="{field:'commission', edit: 'text'}">销售佣金</th>
                                 <th lay-data="{field:'commission', edit: 'text'}">销售佣金</th>
-                                <th lay-data="{field:'total', edit: 'text'}">当前库存</th>
-                                <th lay-data="{field:'number', edit: 'text'}">新增库存</th>
-                                <th lay-data="{field:'number', edit: 'text'}">起订数</th>
+                                <th lay-data="{field:'buy_price', edit: 'text'}">采购价</th>
+                                <th lay-data="{field:'number', edit: 'text'}">采购起订数</th>
                                 <th lay-data="{field:'operation'}">操作</th>
                                 <th lay-data="{field:'operation'}">操作</th>
                             </tr>
                             </tr>
                         </thead>
                         </thead>
@@ -71,7 +73,7 @@
                     </table>
                     </table>
                 </div>
                 </div>
                 <div class="total ft16">
                 <div class="total ft16">
-                    合计:【<span> 当前总库存:<i class="totalNum">0</i> </span>】【<span> 新增总库存:<i class="totalQuantity">0</i> </span>】
+                    合计:【<span> 当前总库存:<i class="totalNum">0</i> </span>】
                 </div>
                 </div>
                 <div class="towbtn">
                 <div class="towbtn">
                     <input type="button" id="settlement" value="确认设置">
                     <input type="button" id="settlement" value="确认设置">
@@ -87,6 +89,7 @@
     var goods = {};
     var goods = {};
     var del_goods = {};
     var del_goods = {};
     var tree = {};
     var tree = {};
+    var commission = '<{$info["commission"]}>';
     layui.config(
     layui.config(
     {
     {
         base: '../script/lib/layui/admin/' //静态资源所在路径
         base: '../script/lib/layui/admin/' //静态资源所在路径
@@ -122,13 +125,13 @@
     {
     {
         $("#settlement").click(function(){
         $("#settlement").click(function(){
             var url = '<{$submit}>';
             var url = '<{$submit}>';
-            var shop_id = '<{$shop_id}>';
+            var seller_id = '<{$seller_id}>';
 
 
             layui.layer.confirm('确定进行此项设置吗?', function() {
             layui.layer.confirm('确定进行此项设置吗?', function() {
                 var goods_string = JSON.stringify(goods);
                 var goods_string = JSON.stringify(goods);
 
 
                 var data = {};
                 var data = {};
-                data = {shop_id:shop_id, goods:goods_string};
+                data = {seller_id:seller_id, goods:goods_string};
                 $.post(url, data, function(t) {
                 $.post(url, data, function(t) {
                     t = JSON.parse(t);
                     t = JSON.parse(t);
                     if (t.status == 1) {
                     if (t.status == 1) {
@@ -341,49 +344,54 @@
     {
     {
         if (!get(node.id).length) {
         if (!get(node.id).length) {
             var select = '';
             var select = '';
+            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>'; 
+            if (node.stock == 1) {
+                addtr += '<td class="goods_total">'+node.total+'</td>';
+            } else {
+                addtr += '<td class="goods_total"> - </td>';
+            }
 
 
-            /*
-            if (node.type < 3) {
-                select = '<select name="goods_price_template[]" class="goods_price_template" style="width: 120px;margin: 10px;" onchange="setPrice($(this), \''+node.id+'\')" lay-ignore>';
-                var l = node.price_template.length;
-                var i = 0;
-                select += '<option value="0_'+node.price+'_1" selected>默认价格模板</option>';
-                var selected = '';
-                for (i = 0; i < l; i=i+1) {
-                    var id = node.price_template[i].id;
-                    var price = node.price_template[i].price_sell;
-                    var price_num = node.price_template[i].price_num;
-                    if (node.price_template_sku && node.price_template_sku[id]) {
-                        price = node.price_template_sku[id].price_sell;
-                        price_num = node.price_template_sku[id].price_num;
-                    }
-                    if (price == 'null' || price == null || !price) {
-                        price = node.price;
-                    }
-                    selected = '';
-                    if (node.price_template_id == id) {
-                        selected = 'selected';
+            addtr += '<td class="goods_prices">'+node.price+'</td>';
+            var commission_price = 0;
+            var commission_string = '';
+            if (commission == 'n') {
+                commission_string = '0';
+            } else {
+                if (!node.commission) {
+                    node.commission = '0';
+                }
+                commission_string = node.commission;
+                if (node.commission.indexOf('%') > -1) {
+                    node.commission = node.commission.replace('%', '');
+                    node.commission = parseFloat(node.commission);
+                    commission_price = (node.commission/100) * parseFloat(node.price);
+                } else {
+                    commission_price = parseFloat(node.commission);
+                }
+
+                if (commission != 0) {
+                    commission_string += '+' + commission;
+                    if (commission.indexOf('%') > -1) {
+                        var commission_temp = commission.replace('%', '');
+                        commission_temp = parseFloat(commission_temp);
+                        commission_price += (commission_temp/100) * parseFloat(node.price);
+                    } else {
+                        commission_price += parseFloat(commission);
                     }
                     }
-                    select += '<option value="'+id+'_'+price+'_'+price_num+'" '+selected+'>'+node.price_template[i].name+'</option>';
+                    commission_price = commission_price.toFixed(2);
+                    commission_string += '=' + commission_price;
                 }
                 }
-                select += '</select>';
-            }*/
+            }
+            
+            addtr += '<td class="goods_commission"><span>'+commission_string+'</span></td>';
 
 
-            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_prices"><span><input type="text" value="'+node.price+'" class="mini-textbox-input"></span>'+select+'</td>'; 
-            addtr += '<td class="goods_commission"><span>'+node.commission+'</span></td>'; 
-            addtr += '<td class="goods_total">'+node.total+'</td>';       
-            if (node.type == 4) {
-                addtr += '<td>组合商品无法设置库存</td>';
-            } else {
-                addtr += '<td><div class="jiajian" value='+node.id+'><span class="jian" onclick="dec(\''+node.id+'\')">-</span><input type="text" value="'+node.num+'" class="goods_num"><span class="jia" onclick="add(\''+node.id+'\')">+</span></div></td>';
-            }   
+            addtr += '<td class="goods_prices">'+node.buy_price+'</td>';
 
 
             addtr += '<td><div class="jiajian" value='+node.id+'><span class="jian" onclick="decMin(\''+node.id+'\')">-</span><input type="text" value="'+node.min+'" class="goods_min"><span class="jia" onclick="addMin(\''+node.id+'\')">+</span></div></td>';
             addtr += '<td><div class="jiajian" value='+node.id+'><span class="jian" onclick="decMin(\''+node.id+'\')">-</span><input type="text" value="'+node.min+'" class="goods_min"><span class="jia" onclick="addMin(\''+node.id+'\')">+</span></div></td>';
             
             
-            if (node.total <= 0) {
+            if (node.total <= 0 || node.stock != 1) {
                 addtr += '<td><a class="delete_btn" onclick="del(\''+node.id+'\')">删除</a></td>';
                 addtr += '<td><a class="delete_btn" onclick="del(\''+node.id+'\')">删除</a></td>';
             } else {
             } else {
                 addtr += '<td></td>';
                 addtr += '<td></td>';
@@ -454,13 +462,10 @@
     function setTotal()
     function setTotal()
     {
     {
         var cash = 0;
         var cash = 0;
-        var num = 0;
         var total = 0;
         var total = 0;
         for (var i in goods) {
         for (var i in goods) {
-            num += goods[i].num;
             total += goods[i].total;
             total += goods[i].total;
         }
         }
-        $(".totalQuantity").html(num);
         $(".totalNum").html(total);
         $(".totalNum").html(total);
     }
     }
 
 

+ 58 - 19
module/role/database/seller.php

@@ -33,6 +33,20 @@ $category = function()
 	return $array;
 	return $array;
 };
 };
 
 
+$price = function()
+{
+    $array = array
+    (
+        -1 => '默认模板',
+    );
+    $data = Dever::load('product/price-state');
+    if($data)
+    {
+        $array += $data;
+    }
+    return $array;
+};
+
 $sell_goods = array
 $sell_goods = array
 (
 (
 	1 => '销售所有商品',
 	1 => '销售所有商品',
@@ -52,6 +66,10 @@ $stock = array
 	2 => '共享库存',
 	2 => '共享库存',
 );
 );
 
 
+$account = function() {
+    return Dever::load('account/api')->getConfig('role/seller');
+};
+
 return array
 return array
 (
 (
 	# 表名
 	# 表名
@@ -94,7 +112,7 @@ return array
             'name'      => '销售商介绍',
             'name'      => '销售商介绍',
             'default'   => '',
             'default'   => '',
             'desc'      => '销售商介绍',
             'desc'      => '销售商介绍',
-            'match'     => 'is_string',
+            'match'     => 'option',
             'update'    => 'textarea',
             'update'    => 'textarea',
         ),
         ),
 
 
@@ -110,6 +128,19 @@ return array
             'list'		=> true,
             'list'		=> true,
         ),
         ),
 
 
+        'account'      => array
+        (
+            'type'      => 'varchar-800',
+            'name'      => '选择账户',
+            'default'   => '',
+            'desc'      => '选择账户',
+            'match'     => 'is_string',
+            'update'    => 'checkbox',
+            'option'    => $account,
+            'list_name' => '账户信息',
+            'list'      => 'Dever::load("account/api.getInfo", {id}, "{account}")',
+        ),
+
         'stock'        => array
         'stock'        => array
         (
         (
             'type'      => 'tinyint-1',
             'type'      => 'tinyint-1',
@@ -134,31 +165,38 @@ return array
             'show'		=> 'stock=2'
             'show'		=> 'stock=2'
         ),
         ),
 
 
-        'sell_goods'        => array
-        (
-            'type'      => 'tinyint-1',
-            'name'      => '销售商品范围',
-            'default'   => '1',
-            'desc'      => '销售商品范围',
-            'match'     => 'is_numeric',
-            'update'    => 'radio',
-            'option'    => $sell_goods,
-            'control'	=> 'sell_goods',
-            'list'		=> true,
-        ),
-
-        'sell_goods_category'		=> array
+        'category'		=> array
 		(
 		(
 			'type' 		=> 'varchar-2000',
 			'type' 		=> 'varchar-2000',
-			'name' 		=> '销售商品分类-如不选择就是可以销售所有商品分类下的商品',
+			'name' 		=> '商品属性分类-如不选择就是可以销售所有商品属性分类下的商品',
 			'default' 	=> '',
 			'default' 	=> '',
-			'desc' 		=> '销售商品分类',
+			'desc' 		=> '商品属性分类',
 			'match' 	=> 'is_string',
 			'match' 	=> 'is_string',
 			'update'	=> 'checkbox',
 			'update'	=> 'checkbox',
 			'option'	=> $category,
 			'option'	=> $category,
-			'show'		=> 'sell_goods=2',
 		),
 		),
 
 
+        'price_id'       => array
+        (
+            'type'      => 'int-11',
+            'name'      => '商品价格模板',
+            'default'   => '-1',
+            'desc'      => '商品价格模板',
+            'match'     => 'is_numeric',
+            'update'    => 'select',
+            'option'    => $price,
+        ),
+
+        'commission'        => array
+        (
+            'type'      => 'varchar-20',
+            'name'      => '销售佣金调整-针对每个商品的销售佣金做统一调整,如填写5%,就是在原有销售佣金的基础上增加5%佣金,设置为0,则不做任何调整,设置为n,则佣金为0',
+            'default'   => '0',
+            'desc'      => '销售佣金调整',
+            'match'     => 'is_string',
+            'update'    => 'text',
+        ),
+
 		'truename'      => array
 		'truename'      => array
         (
         (
             'type'      => 'varchar-100',
             'type'      => 'varchar-100',
@@ -365,7 +403,8 @@ return array
         ),
         ),
         'list_button' => array
         'list_button' => array
         (
         (
-        	'location' => array('配置商品', Dever::url('lib/seller.setGoods', 'role')),
+        	'location' => array('商品列表', Dever::url('lib/seller.setGoods', 'role')),
+            'fast_add' => array('账户操作', 'push&project=account&oper_table=seller&oper_project=role&uid={id}'),
         )
         )
 	),
 	),
 
 

+ 0 - 19
module/role/database/seller_goods_sku.php

@@ -75,15 +75,6 @@ $config = array
             'match'     => 'is_numeric',
             'match'     => 'is_numeric',
         ),
         ),
 
 
-        'price_id'      => array
-        (
-            'type'      => 'int-11',
-            'name'      => '价格模板',
-            'default'   => '0',
-            'desc'      => '价格模板',
-            'match'     => 'option',
-        ),
-
         'total_num'        => array
         'total_num'        => array
         (
         (
             'type'      => 'float-11,2',
             'type'      => 'float-11,2',
@@ -113,16 +104,6 @@ $config = array
             //'list'      => true,
             //'list'      => true,
         ),
         ),
 
 
-        'commission'		=> array
-		(
-			'type' 		=> 'varchar-20',
-			'name' 		=> '销售商佣金',
-			'default' 	=> '0',
-			'desc' 		=> '销售商佣金',
-			'match' 	=> 'is_numeric',
-			'update'	=> 'text',
-		),
-
         'state'     => array
         'state'     => array
         (
         (
             'type'      => 'tinyint-1',
             'type'      => 'tinyint-1',

+ 12 - 1
module/role/database/seller_type.php

@@ -76,7 +76,18 @@ return array
 
 
 	'manage' => array
 	'manage' => array
 	(
 	(
-		
+		'insert' => false,
+        'edit' => false,
+
+        # 自定义快捷新增和编辑
+        'button' => array
+        (
+            '新增' => array('fast'),
+        ),
+		'list_button' => array
+        (
+        	'edit' => array('编辑'),
+        )
 	),
 	),
 
 
 	'default' => array
 	'default' => array

+ 12 - 1
module/role/database/supplier_type.php

@@ -92,7 +92,18 @@ return array
 
 
 	'manage' => array
 	'manage' => array
 	(
 	(
-		
+		'insert' => false,
+        'edit' => false,
+
+        # 自定义快捷新增和编辑
+        'button' => array
+        (
+            '新增' => array('fast'),
+        ),
+		'list_button' => array
+        (
+        	'edit' => array('编辑'),
+        )
 	),
 	),
 
 
 	'default' => array
 	'default' => array

+ 29 - 160
module/role/lib/Seller.php

@@ -14,15 +14,16 @@ class Seller
     # 获取门店
     # 获取门店
     public function search_api()
     public function search_api()
     {
     {
-        return Dever::search('seller/info');
+        return Dever::search('product/category', array(), 'getTop');
     }
     }
 
 
     # 获取商品列表
     # 获取商品列表
     public function goods_api()
     public function goods_api()
     {
     {
         $seller_id = Dever::input('seller_id', 1);
         $seller_id = Dever::input('seller_id', 1);
+        $goods_category = Dever::input('goods_category');
         $where['seller_id'] = $seller_id;
         $where['seller_id'] = $seller_id;
-        return Dever::outDiy(Dever::load('product/lib/info')->getSetList('role/seller_goods_sku', $where));
+        return Dever::outDiy(Dever::load('product/lib/info')->getSetList('role/seller_goods_sku', $where, $goods_category));
     }
     }
 
 
     # 配置商品
     # 配置商品
@@ -30,9 +31,13 @@ class Seller
     {
     {
         $data = array();
         $data = array();
         $data['seller_id'] = Dever::input('id', 1);
         $data['seller_id'] = Dever::input('id', 1);
+        $info = Dever::db('role/seller')->find($data['seller_id']);
+        $data['info'] = $info;
+        $goods_category = $info['category'];
+
         $data['host'] = Dever::url('lib/seller.setGoods', 'role');
         $data['host'] = Dever::url('lib/seller.setGoods', 'role');
-        $data['url'] = Dever::url('lib/seller.goods?seller_id=' . $data['seller_id'], 'role');
-        $data['search'] = Dever::url('lib/seller.search?yes='.$data['seller_id'].'&json=1', 'role');
+        $data['url'] = Dever::url('lib/seller.goods?seller_id=' . $data['seller_id'] . '&goods_category=' . $goods_category, 'role');
+        //$data['search'] = Dever::url('lib/seller.search?yes='.$data['seller_id'].'&json=1', 'role');
         $data['submit'] = Dever::url('lib/seller.setGoods_action_commit?json=1', 'role');
         $data['submit'] = Dever::url('lib/seller.setGoods_action_commit?json=1', 'role');
 
 
         return Dever::render('set_seller_goods', $data);
         return Dever::render('set_seller_goods', $data);
@@ -46,14 +51,14 @@ class Seller
             Dever::alert('请传入商品');
             Dever::alert('请传入商品');
         }
         }
         $goods = Dever::json_decode($goods);
         $goods = Dever::json_decode($goods);
-        $shop_id = Dever::input('shop_id');
+        $seller_id = Dever::input('seller_id');
 
 
-        $shop = Dever::db('shop/info')->one($shop_id);
-        $where['option_shop_id'] = $shop_id;
+        $seller = Dever::db('role/seller')->one($seller_id);
+        $where['option_seller_id'] = $seller_id;
         $where['set_state'] = 2;
         $where['set_state'] = 2;
-        Dever::db('shop/goods')->updates($where);
+        Dever::db('role/seller_goods')->updates($where);
 
 
-        Dever::db('shop/goods_sku')->updates($where);
+        Dever::db('role/seller_goods_sku')->updates($where);
 
 
         foreach ($goods as $k => $v) {
         foreach ($goods as $k => $v) {
             $temp = explode('-', $k);
             $temp = explode('-', $k);
@@ -69,195 +74,59 @@ class Seller
             if ($v['del'] == 2) {
             if ($v['del'] == 2) {
                 $w = array();
                 $w = array();
                 $w['goods_id'] = $goods_id;
                 $w['goods_id'] = $goods_id;
-                $w['shop_id'] = $shop_id;
+                $w['seller_id'] = $seller_id;
                 $w['sku_id'] = $sku_id;
                 $w['sku_id'] = $sku_id;
-                $sku_info = Dever::db('shop/goods_sku')->one($w);
+                $sku_info = Dever::db('role/seller_goods_sku')->one($w);
 
 
                 if ($sku_info) {
                 if ($sku_info) {
-                    Dever::db('shop/goods_sku')->update(array('where_id' => $sku_info['id'], 'state' => 2));
+                    Dever::db('role/seller_goods_sku')->update(array('where_id' => $sku_info['id'], 'state' => 2));
                 }
                 }
                 unset($w['sku_id']);
                 unset($w['sku_id']);
                 $t = $w;
                 $t = $w;
                 $t['state'] = 1;
                 $t['state'] = 1;
-                $total = Dever::db('shop/goods_sku')->total($t);
+                $total = Dever::db('role/seller_goods_sku')->total($t);
                 if ($total <= 0) {
                 if ($total <= 0) {
-                    $info = Dever::db('shop/goods')->one($w);
+                    $info = Dever::db('role/seller_goods')->one($w);
                     if ($info) {
                     if ($info) {
-                        Dever::db('shop/goods')->update(array('where_id' => $info['id'], 'state' => 2));
+                        Dever::db('role/seller_goods')->update(array('where_id' => $info['id'], 'state' => 2));
                     }
                     }
                 }
                 }
             } else {
             } else {
-                $goods_info = Dever::db('goods/info')->one($goods_id);
+                $goods_info = Dever::db('product/info')->one($goods_id);
                 $w = array();
                 $w = array();
                 $w['goods_id'] = $goods_id;
                 $w['goods_id'] = $goods_id;
-                $w['shop_id'] = $shop_id;
-                $info = Dever::db('shop/goods')->one($w);
+                $w['seller_id'] = $seller_id;
+                $info = Dever::db('role/seller_goods')->one($w);
 
 
-                $w['status'] = $goods_info['status'];
                 $w['total_num'] = $v['num'];
                 $w['total_num'] = $v['num'];
                 $w['min'] = $v['min'];
                 $w['min'] = $v['min'];
                 if (!$info) {
                 if (!$info) {
-                    Dever::db('shop/goods')->insert($w);
+                    Dever::db('role/seller_goods')->insert($w);
                 } else {
                 } else {
                     $w['total_num'] += $info['total_num'];
                     $w['total_num'] += $info['total_num'];
                     $w['where_id'] = $info['id'];
                     $w['where_id'] = $info['id'];
                     $w['state'] = 1;
                     $w['state'] = 1;
-                    Dever::db('shop/goods')->update($w);
+                    Dever::db('role/seller_goods')->update($w);
                 }
                 }
 
 
                 $w = array();
                 $w = array();
                 $w['goods_id'] = $goods_id;
                 $w['goods_id'] = $goods_id;
-                $w['shop_id'] = $shop_id;
+                $w['seller_id'] = $seller_id;
                 $w['sku_id'] = $sku_id;
                 $w['sku_id'] = $sku_id;
-                $info = Dever::db('shop/goods_sku')->one($w);
+                $info = Dever::db('role/seller_goods_sku')->one($w);
 
 
-                $w['status'] = $goods_info['status'];
                 $w['total_num'] = $v['num'];
                 $w['total_num'] = $v['num'];
                 $w['min'] = $v['min'];
                 $w['min'] = $v['min'];
-                $w['area'] = $shop['area'];
-                $w['price_id'] = $v['price_template_id'];
                 if (!$info) {
                 if (!$info) {
-                    Dever::db('shop/goods_sku')->insert($w);
+                    Dever::db('role/seller_goods_sku')->insert($w);
                 } else {
                 } else {
                     $w['total_num'] += $info['total_num'];
                     $w['total_num'] += $info['total_num'];
                     $w['where_id'] = $info['id'];
                     $w['where_id'] = $info['id'];
                     $w['state'] = 1;
                     $w['state'] = 1;
-                    Dever::db('shop/goods_sku')->update($w);
+                    Dever::db('role/seller_goods_sku')->update($w);
                 }
                 }
             }
             }
         }
         }
         return 'refer';
         return 'refer';
-        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_commit?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_commit?json=1&type=store', 'shop');
-
-        return Dever::render('setStore', $data);
-    }
-
-    public function source_commit_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 'refer';
-        return Dever::url('project/database/list&project=shop&&table=info&menu=shop&search_option_state=1', 'manage');
     }
     }
 }
 }