rabin 2 年之前
父节点
当前提交
575bec1dfd

+ 32 - 0
lib/Role.php

@@ -0,0 +1,32 @@
+<?php
+
+namespace Scm\Lib;
+
+use Dever;
+
+class Role
+{
+    public function search_api()
+    {
+        $id = Dever::input('id');
+        $keyword = Dever::input('keyword');
+        $where = array();
+        if ($keyword) {
+            $where['name'] = $keyword;
+        }
+        $id = Dever::input('where_id');
+        if ($id) {
+            $where['id_no'] = $id;
+        }
+        $source_type = Dever::input('source_type', 1);
+        if ($source_type == 1) {
+            return Dever::search('scm_seller/info', $where);
+        }
+        if ($source_type == 2) {
+            return Dever::search('scm_servicer/info', $where);
+        }
+        if ($source_type == 3) {
+            return Dever::search('scm_supplier/info', $where);
+        }
+    }
+}

+ 35 - 1
module/scm_product/database/info.php

@@ -76,12 +76,20 @@ $stock = array
 	1 => '是',
 	2 => '否',
 );
+
+$source_type = array
+(
+    1 => '经销商',
+    2 => '配送商',
+    3 => '供应商',
+);
+
 $config = array
 (
 	# 表名
 	'name' => 'info',
 	# 显示给用户看的名称
-	'lang' => '平台商品管理',
+	'lang' => '商品资料管理',
 	'order' => 1000,
 	'auto' => 10000000,
 	'set' => array
@@ -141,6 +149,32 @@ $config = array
 			//'edit'		=> true,
 		),
 
+		'source_type'		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '商品来源',
+			'default' 	=> '3',
+			'desc' 		=> '商品来源',
+			'match' 	=> 'is_numeric',
+			'update'	=> 'radio',
+			'control_url'	=> 'scm_product/lib/manage.selectSource',
+			'option'	=> $source_type,
+			'search'	=> 'select',
+			'list'		=> true,
+			'tab'		=> 1,
+		),
+
+		'source_id'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => '选择来源',
+            'default'   => '',
+            'desc'      => '选择来源',
+            'match'     => 'option',
+            'update'    => 'select',
+            'tab'		=> 1,
+        ),
+
 		'type'		=> array
 		(
 			'type' 		=> 'int-11',

+ 1 - 1
module/scm_product/index.php

@@ -1,7 +1,7 @@
 <?php
 
 define('DEVER_APP_NAME', 'scm_product');
-define('DEVER_APP_LANG', '平台商品库');
+define('DEVER_APP_LANG', '商品库');
 define('DEVER_APP_PATH', dirname(__FILE__) . DIRECTORY_SEPARATOR);
 define('DEVER_MANAGE_ORDER', 98);
 define('DEVER_MANAGE_ICON', 'glyphicon glyphicon-tower layui-icon-component');

+ 22 - 0
module/scm_product/lib/Manage.php

@@ -11,6 +11,28 @@ class Manage
         //Dever::alert('reload');
     }
 
+    # 选择来源
+    public function selectSource_api()
+    {
+        $value = Dever::input('value');
+        $id = Dever::input('id');
+        $data = array();
+        if ($id) {
+            $data = Dever::db('scm_product/info')->find($id);
+            if ($value != $data['source_type']) {
+                $data['source_id'] = -1;
+            }
+        }
+        
+        $config['source_id'] = Dever::db('scm_product/info')->config['struct']['source_id'];
+        $config['source_id']['update'] = 'select';
+        $config['source_id']['update_search'] = 'scm/lib/role.search?source_type=' . $value;
+
+        $result = Dever::load('manage/database')->update_struct(array('struct' => $config), false, $data, -1, '', true);
+
+        return $result;
+    }
+
     /**
      * 更新信息
      *

+ 15 - 0
module/scm_seller/database/servicer.php

@@ -47,6 +47,21 @@ return array
             'list'      => 'Dever::load("scm_supplier/info-one#name", {servicer_id})',
         ),
 
+        'reorder'       => array
+        (
+            'type'      => 'int-11',
+            'name'      => '排序-优先级,数值越大越靠前',
+            'default'   => '1',
+            'desc'      => '请输入排序',
+            'match'     => 'option',
+            //'update'  => 'text',
+            'search'    => 'order',
+            'list_name' => '排序',
+            'list'      => true,
+            'order'     => 'desc',
+            'edit'      => true,
+        ),
+
         'state'     => array
         (
             'type'      => 'tinyint-1',

+ 15 - 0
module/scm_seller/database/supplier.php

@@ -47,6 +47,21 @@ return array
             'list'      => 'Dever::load("scm_supplier/info-one#name", {supplier_id})',
         ),
 
+        'reorder'       => array
+        (
+            'type'      => 'int-11',
+            'name'      => '排序-优先级,数值越大越靠前',
+            'default'   => '1',
+            'desc'      => '请输入排序',
+            'match'     => 'option',
+            //'update'  => 'text',
+            'search'    => 'order',
+            'list_name' => '排序',
+            'list'      => true,
+            'order'     => 'desc',
+            'edit'      => true,
+        ),
+
         'state'     => array
         (
             'type'      => 'tinyint-1',

+ 21 - 8
module/scm_supplier/assets/pc/html/set_supplier.html

@@ -56,6 +56,7 @@
                                 <th lay-data="{field:'id'}">供应商编码</th>
                                 <th lay-data="{field:'name'}">供应商名称</th>
                                 <th lay-data="{field:'name'}">供应商类型</th>
+                                <th lay-data="{field:'name'}">优先级</th>
                                 <th lay-data="{field:'operation'}">操作</th>
                             </tr>
                         </thead>
@@ -121,7 +122,17 @@
                     }
                 });
             });
-        })
+        });
+        $("#goods").on("keyup", ".goods_num", function() {
+            var num = parseFloat($(this).val());
+            if (num < 0) {
+                num = 1;
+                $(this).val(1);
+            }
+            var id = $(this).parent().attr('value');
+            goods[id].reorder = num;
+            setTotal();
+        });
     })
     var goods = {};
     var del_goods = {};
@@ -175,6 +186,7 @@
             var key = node.id;
             if (!goods[key]) {
                 goods[key] = node;
+                goods[key].reorder = goods[key].reorder ? parseFloat(goods[key].reorder) : 1;
                 create(node);
                 setTotal();
             } else {
@@ -205,7 +217,8 @@
             addtr += '<td class="goods_id">'+node.id+'</td>';
             addtr += '<td class="goods_id">'+node.code+'</td>';
             addtr += '<td class="goods_name">'+node.name+'</td>';     
-            addtr += '<td class="goods_name">'+node.type_name+'</td>';     
+            addtr += '<td class="goods_name">'+node.type_name+'</td>';        
+            addtr += '<td><div class="jiajian" value='+node.id+'><span class="jian" onclick="dec(\''+node.id+'\')">-</span><input type="text" value="'+node.reorder+'" class="goods_num"><span class="jia" onclick="add(\''+node.id+'\')">+</span></div></td>';
             addtr += '<td><a class="delete_btn" onclick="del(\''+node.id+'\')">删除</a></td>';        
             addtr += '</tr>';
             $("#goods").append(addtr);
@@ -214,19 +227,19 @@
 
     function add(id)
     {
-        goods[id].num += 1;
-        get(id).find('.goods_num').val(goods[id].num);
+        goods[id].reorder += 1;
+        get(id).find('.goods_num').val(goods[id].reorder);
         setTotal();
     }
     
     function dec(id)
     {
-        goods[id].num -= 1;
-        if (goods[id].num < 1) {
-            goods[id].num = 0;
+        goods[id].reorder -= 1;
+        if (goods[id].reorder < 1) {
+            goods[id].reorder = 0;
         }
 
-        get(id).find('.goods_num').val(goods[id].num);
+        get(id).find('.goods_num').val(goods[id].reorder);
         setTotal();
     }
 

+ 3 - 0
module/scm_supplier/lib/Set.php

@@ -45,10 +45,12 @@ class Set
                         $child['name'] = $v1['name'];
                         $child['code'] = $v1['code'];
                         $child['type_name'] = $v['name'];
+                        $child['reorder'] = $v1['reorder'];
                         $child['select'] = 2;
                         $child['end'] = true;
                         if (isset($data[$v1['id']]) && $data[$v1['id']]) {
                             $child['select'] = 1;
+                            $child['reorder'] = $data[$v1['id']]['reorder'];
                         }
                         $result[$i]['children'][] = $child;
                     }
@@ -98,6 +100,7 @@ class Set
             $w[$col] = $id;
             $info = Dever::db($table)->one($w);
 
+            $w['reorder'] = $v['reorder'];
             if (!$info) {
                 Dever::db($table)->insert($w);
             } else {