dever 3 years ago
parent
commit
125ab78f0f
78 changed files with 4469 additions and 126 deletions
  1. 3 2
      app/cash/assets/manage/html/order_list.html
  2. 4 3
      app/cash/database/factory.php
  3. 22 3
      app/cash/database/order.php
  4. 3 3
      app/cash/database/shop.php
  5. 4 3
      app/cash/database/store.php
  6. 71 24
      app/cash/lib/Set.php
  7. 1 1
      app/cash/template/manage/order_list.php
  8. 1 1
      app/factory/admin/Msg.php
  9. 1 1
      app/factory/admin/Order.php
  10. 80 0
      app/factory/admin/Stat.php
  11. 54 51
      app/factory/assets/pc/html/order_view.html
  12. 67 0
      app/factory/assets/pc/html/stat.html
  13. 80 0
      app/factory/assets/pc/html/stat_view.html
  14. 22 1
      app/factory/database/info.php
  15. 1 0
      app/factory/lib/Order.php
  16. 24 0
      app/factory/template/pc/stat.php
  17. 5 0
      app/factory/template/pc/stat_view.php
  18. 41 7
      app/mshop/lib/Buy.php
  19. 43 18
      app/mshop/src/My.php
  20. 3 2
      app/shop/assets/manage/html/buy_order_goods.html
  21. 3 2
      app/shop/assets/manage/html/sell_order_goods.html
  22. 2 0
      app/shop/database/buy_order.php
  23. 10 1
      app/shop/database/buy_stat.php
  24. 10 1
      app/shop/database/sell_stat.php
  25. 468 0
      app/store/admin/Auth.php
  26. 13 0
      app/store/admin/Core.php
  27. 107 0
      app/store/admin/Factory_order.php
  28. 79 0
      app/store/admin/Goods.php
  29. 15 0
      app/store/admin/Help.php
  30. 58 0
      app/store/admin/Info.php
  31. 63 0
      app/store/admin/Msg.php
  32. 156 0
      app/store/admin/Order.php
  33. 80 0
      app/store/admin/Stat.php
  34. 134 0
      app/store/admin/User.php
  35. 362 0
      app/store/assets/pc/html/cashier.html
  36. 117 0
      app/store/assets/pc/html/console.html
  37. 83 0
      app/store/assets/pc/html/factory_order.html
  38. 83 0
      app/store/assets/pc/html/goods.html
  39. 79 0
      app/store/assets/pc/html/help.html
  40. 64 0
      app/store/assets/pc/html/home.html
  41. 23 0
      app/store/assets/pc/html/inc/head.html
  42. 345 0
      app/store/assets/pc/html/inc/menu.html
  43. 114 0
      app/store/assets/pc/html/inc/nav.html
  44. 28 0
      app/store/assets/pc/html/inc/script.html
  45. 90 0
      app/store/assets/pc/html/login.html
  46. 73 0
      app/store/assets/pc/html/msg.html
  47. 83 0
      app/store/assets/pc/html/order.html
  48. 17 0
      app/store/assets/pc/html/order_send.html
  49. 139 0
      app/store/assets/pc/html/order_view.html
  50. 25 0
      app/store/assets/pc/html/set.html
  51. 283 0
      app/store/assets/pc/html/setGoods.html
  52. 67 0
      app/store/assets/pc/html/stat.html
  53. 80 0
      app/store/assets/pc/html/stat_view.html
  54. 71 0
      app/store/assets/pc/html/user.html
  55. 16 0
      app/store/assets/pc/html/user_edit.html
  56. 33 0
      app/store/database/goods_sku.php
  57. 23 2
      app/store/database/info.php
  58. 28 0
      app/store/lib/Goods.php
  59. 22 0
      app/store/page/list.php
  60. 16 0
      app/store/template/pc/console.php
  61. 24 0
      app/store/template/pc/factory_order.php
  62. 22 0
      app/store/template/pc/goods.php
  63. 33 0
      app/store/template/pc/help.php
  64. 19 0
      app/store/template/pc/home.php
  65. 24 0
      app/store/template/pc/inc/head.php
  66. 17 0
      app/store/template/pc/inc/menu.php
  67. 23 0
      app/store/template/pc/inc/nav.php
  68. 14 0
      app/store/template/pc/inc/script.php
  69. 25 0
      app/store/template/pc/login.php
  70. 17 0
      app/store/template/pc/msg.php
  71. 24 0
      app/store/template/pc/order.php
  72. 16 0
      app/store/template/pc/order_send.php
  73. 5 0
      app/store/template/pc/order_view.php
  74. 41 0
      app/store/template/pc/set.php
  75. 24 0
      app/store/template/pc/stat.php
  76. 5 0
      app/store/template/pc/stat_view.php
  77. 20 0
      app/store/template/pc/user.php
  78. 24 0
      app/store/template/pc/user_edit.php

+ 3 - 2
app/cash/assets/manage/html/order_list.html

@@ -1,4 +1,4 @@
-</form>
+
 <form class="layui-form form10" action="" target="f10" method="post">
 <iframe id="f10" name="f10" style="display:none;"></iframe>
 <div class="layui-form-item" id="show">
@@ -36,4 +36,5 @@ function audit(id, process, url)
         })
     })
 }
-</script>
+</script>
+</form>

+ 4 - 3
app/cash/database/factory.php

@@ -65,7 +65,7 @@ return array
             'desc'      => '',
             'search'    => 'day',
             'order'     => 'desc',
-            'list'      => 'Dever::load("cash/lib/manage.statDate", "{type}", "{day}")',
+            'list'      => 'Dever::load("cash/lib/set.statDate", "{type}", "{day}")',
         ),
 
         'factory_id'      => array
@@ -99,7 +99,7 @@ return array
             'match'     => 'is_numeric',
             'desc'      => '',
             'list_name' => '对账周期',
-            'list'      => 'Dever::load("cash/lib/manage.statTime", "{start}", "{end}")',
+            'list'      => 'Dever::load("cash/lib/set.statTime", "{start}", "{end}")',
         ),
 
         'cash'      => array
@@ -184,7 +184,7 @@ return array
 
             'list' => array('查看详情', '"order&project=cash&id={id}&page_type=1&type=factory"'),
 
-            'oper'  => array('确认对账金额', '"cash/lib/manage.audit?id={id}&type=factory"', '{status} == 1', 'Dever::load("cash/lib/manage.statYes", "{id}", "factory")', '请确认'),
+            'oper'  => array('确认对账金额', '"cash/lib/set.audit?id={id}&type=factory"', '{status} == 1', 'Dever::load("cash/lib/set.statYes", "{id}", "factory")', '请确认'),
         ),
     ),
 
@@ -199,6 +199,7 @@ return array
                 'start' => array('yes-day', '>='),
                 'end' => array('yes-day', '<='),
                 'factory_id' => 'yes',
+                'factory_status' => 'yes',
                 'status' => 'yes',
                 'state' => 1,
             ),

+ 22 - 3
app/cash/database/order.php

@@ -91,8 +91,8 @@ return array
     'config_source' => $source,
     'end' => array
     (
-        'insert' => 'cash/lib/manage.orderUpdate',
-        'update' => 'cash/lib/manage.orderUpdate',
+        'insert' => 'cash/lib/set.orderUpdate',
+        'update' => 'cash/lib/set.orderUpdate',
     ),
     # 数据结构
     'struct' => array
@@ -261,7 +261,7 @@ return array
             'option'    => $audit,
             'search'    => 'select',
             'update'    => 'radio',
-            'list'      => 'Dever::load("cash/lib/manage.info", "{audit_type}", "{audit}")',
+            'list'      => 'Dever::load("cash/lib/set.info", "{audit_type}", "{audit}")',
         ),
 
         'audit_type'        => array
@@ -401,5 +401,24 @@ return array
             'type' => 'one',
             'col' => 'sum(p_cash) as total',
         ),
+
+        'getAll' => array
+        (
+            # 匹配的正则或函数 选填项
+            'option' => array
+            (
+                'start' => array('yes-cdate', '>='),
+                'end' => array('yes-cdate', '<='),
+                'type' => 'yes',
+                'type_id' => 'yes',
+                'source_type' => 'yes',
+                'source_id' => 'yes',
+                'status' => array('yes', 'in'),
+                'state' => 1,
+            ),
+            'type' => 'all',
+            'page' => array(10, 'list'),
+            'col' => '*',
+        ),
     ),
 );

+ 3 - 3
app/cash/database/shop.php

@@ -65,7 +65,7 @@ return array
             'desc'      => '',
             'search'	=> 'day',
             'order'		=> 'desc',
-            'list'      => 'Dever::load("cash/lib/manage.statDate", "{type}", "{day}")',
+            'list'      => 'Dever::load("cash/lib/set.statDate", "{type}", "{day}")',
         ),
 
         'shop_id'      => array
@@ -99,7 +99,7 @@ return array
             'match'     => 'is_numeric',
             'desc'      => '',
             'list_name'	=> '对账周期',
-            'list'		=> 'Dever::load("cash/lib/manage.statTime", "{start}", "{end}")',
+            'list'		=> 'Dever::load("cash/lib/set.statTime", "{start}", "{end}")',
         ),
 
         'cash'      => array
@@ -184,7 +184,7 @@ return array
 
         	'list' => array('查看详情', '"order&project=cash&id={id}&page_type=1&type=shop"'),
 
-            'oper'  => array('确认对账金额', '"cash/lib/manage.audit?id={id}&type=shop"', '{status} == 1', 'Dever::load("cash/lib/manage.statYes", "{id}", "shop")', '请确认'),
+            'oper'  => array('确认对账金额', '"cash/lib/set.audit?id={id}&type=shop"', '{status} == 1', 'Dever::load("cash/lib/set.statYes", "{id}", "shop")', '请确认'),
         ),
     ),
 

+ 4 - 3
app/cash/database/store.php

@@ -65,7 +65,7 @@ return array
             'desc'      => '',
             'search'    => 'day',
             'order'     => 'desc',
-            'list'      => 'Dever::load("cash/lib/manage.statDate", "{type}", "{day}")',
+            'list'      => 'Dever::load("cash/lib/set.statDate", "{type}", "{day}")',
         ),
 
         'store_id'      => array
@@ -99,7 +99,7 @@ return array
             'match'     => 'is_numeric',
             'desc'      => '',
             'list_name' => '对账周期',
-            'list'      => 'Dever::load("cash/lib/manage.statTime", "{start}", "{end}")',
+            'list'      => 'Dever::load("cash/lib/set.statTime", "{start}", "{end}")',
         ),
 
         'cash'      => array
@@ -184,7 +184,7 @@ return array
 
             'list' => array('查看详情', '"order&project=cash&id={id}&page_type=1&type=store"'),
 
-            'oper'  => array('确认对账金额', '"cash/lib/manage.audit?id={id}&type=store"', '{status} == 1', 'Dever::load("cash/lib/manage.statYes", "{id}", "store")', '请确认'),
+            'oper'  => array('确认对账金额', '"cash/lib/set.audit?id={id}&type=store"', '{status} == 1', 'Dever::load("cash/lib/set.statYes", "{id}", "store")', '请确认'),
         ),
     ),
 
@@ -199,6 +199,7 @@ return array
                 'start' => array('yes-day', '>='),
                 'end' => array('yes-day', '<='),
                 'store_id' => 'yes',
+                'store_status' => 'yes',
                 'status' => 'yes',
                 'state' => 1,
             ),

+ 71 - 24
app/cash/lib/Manage.php → app/cash/lib/Set.php

@@ -4,7 +4,7 @@ namespace Cash\Lib;
 
 use Dever;
 
-class Manage
+class Set
 {
     public function info($audit_type, $audit)
     {
@@ -28,7 +28,7 @@ class Manage
     {
         $table = 'cash/' . $type;
 
-        $info = is_array($info) ? $info : Dever::db($table)->one($infoid);
+        $info = is_array($info) ? $info : Dever::db($table)->one($info);
         $other = Dever::db($type . '/info')->find($info[$type . '_id']);
 
         return $this->statDate($info['type'], $info['day']) . '与'.$other['name'].'对账单款项是否正确<br />对账金额¥' . $info['cash'] . '元';
@@ -70,6 +70,22 @@ class Manage
         return 'reload';
     }
 
+    # 审核对账
+    public function audit_other_api()
+    {
+        $id = Dever::input('id');
+        $type = Dever::input('type', 'shop');
+        $table = 'cash/' . $type;
+
+        $info = Dever::db($table)->one($id);
+
+        if ($info) {
+            Dever::db($table)->update(array('where_id' => $id, $type . '_status' => 2));
+        }
+
+        return 'reload';
+    }
+
     # 查看对账单详情
     public function view_api()
     {
@@ -78,6 +94,8 @@ class Manage
             return false;
         }
 
+        $show = Dever::input('show', 1);
+
         $type = Dever::input('type', 'shop');
         if ($type == 'shop') {
             $name = '门店';
@@ -128,32 +146,58 @@ class Manage
             </tr>';
         }
 
-        $html .= '<tr>
-          <td width="80">'.$name.'对账状态</td>
-          <td>'.$this->table(false, array(array($other_status))).'</td>
+        if ($show == 1) {
+            $html .= '<tr>
+              <td width="80">'.$name.'对账状态</td>
+              <td>'.$this->table(false, array(array($other_status))).'</td>
 
-        </tr>';
+            </tr>';
 
-        $html .= '<tr>
-          <td width="100">平台对账状态</td>
-          <td>'.$this->table(false, array(array($status))).'</td>
+            $html .= '<tr>
+              <td width="100">平台对账状态</td>
+              <td>'.$this->table(false, array(array($status))).'</td>
 
-        </tr>';
+            </tr>';
+        } else {
+            $html .= '<tr>
+              <td width="80">对账状态</td>
+              <td>'.$this->table(false, array(array($other_status))).'</td>
+
+            </tr>';
+        }
 
         $button = array();
-        if ($info['status'] == 1) {
 
-            $url = Dever::url('lib/manage.audit&id='.$id.'&type=' . $type, 'cash');
-            $button[] = '<button class="layui-btn layui-btn-primary" onclick="load(\''.$url.'\', \''.$this->statYes($info, $type).'\', \'请确认\')">立即确认</button>';
-        }
-        $config['phone'] = '联系人:' . $other['truename'] . ',联系电话:' . $other['mobile'];
-        $button[] = '<button class="layui-btn layui-btn-primary" onclick="showAlert(\''.$config['phone'].'\')">联系'.$name.'</button>';
+        if ($show == 1) {
+            if ($info['status'] == 1) {
+
+                $url = Dever::url('lib/set.audit&id='.$id.'&type=' . $type, 'cash');
+                $button[] = '<button class="layui-btn layui-btn-primary" onclick="load(\''.$url.'\', \''.$this->statYes($info, $type).'\', \'请确认\')">立即确认</button>';
+            }
+            $config['phone'] = '联系人:' . $other['truename'] . ',联系电话:' . $other['mobile'];
+            $button[] = '<button class="layui-btn layui-btn-primary" onclick="showAlert(\''.$config['phone'].'\')">联系'.$name.'</button>';
+
+            $info['start'] = date('Y-m-d H:i:s', $info['start']);
+            $info['end'] = date('Y-m-d H:i:s', $info['end']);
+            $out = Dever::url('database.list_excel?project=cash&table=order&search_option_status=2&search_option_state=1&search_option_start_cdate=' . $info['start'] . '&search_option_end_cdate=' . $info['end'], 'manage');
+            
+            $button[] = '<a class="layui-btn layui-btn-primary" href="'.$out.'">导出对账单</a>';
+        } else {
+            if ($info[$type . '_status'] == 1 && $show != 1) {
 
-        $info['start'] = date('Y-m-d H:i:s', $info['start']);
-        $info['end'] = date('Y-m-d H:i:s', $info['end']);
-        $out = Dever::url('database.list_excel?project=cash&table=order&search_option_status=2&search_option_state=1&search_option_start_cdate=' . $info['start'] . '&search_option_end_cdate=' . $info['end'], 'manage');
+                $url = Dever::url('lib/set.audit_other&id='.$id.'&type=' . $type, 'cash');
+                $button[] = '<button class="layui-btn layui-btn-primary" onclick="load(\''.$url.'\', \''.$this->statYes($info, $type).'\', \'请确认\')">立即确认</button>';
+            }
+            $config = Dever::load('factory/admin/auth.config');
+            $config['phone'] = '您的专属客服:' . $config['kf_name'] . ',联系电话:' . $config['phone'];
+            $button[] = '<button class="layui-btn layui-btn-primary" onclick="showAlert(\''.$config['phone'].'\')">联系对账专员</button>';
+
+            $info['start'] = date('Y-m-d H:i:s', $info['start']);
+            $info['end'] = date('Y-m-d H:i:s', $info['end']);
+            
+            $button[] = '<a class="layui-btn layui-btn-primary" onclick="print(\''.$info['id'].'\')">打印对账单</a>';
+        }
         
-        $button[] = '<a class="layui-btn layui-btn-primary" href="'.$out.'">导出对账单</a>';
         $html .= '<tr>
               <td>功能按钮</td>
               <td>'.$this->table(false, array($button)).'</td>
@@ -177,8 +221,8 @@ class Manage
             $config = Dever::db('cash/order')->config;
             foreach ($data as $k => $v) {
                 $cdate = date('Y-m-d H:i', $v['cdate']);
-                $fdate = date('Y-m-d H:i', $v['fdate']);
-                $operdate = date('Y-m-d H:i', $v['operdate']);
+                $fdate = $v['fdate'] ? date('Y-m-d H:i', $v['fdate']) : '';
+                $operdate = $v['operdate'] ? date('Y-m-d H:i', $v['operdate']) : '';
                 if ($type == 'store') {
                     $cash = $v['num'];
                 } elseif ($type == 'factory') {
@@ -187,8 +231,11 @@ class Manage
                     $cash = $v['cash'];
                 }
 
-                $url = Dever::url('project/database/list?project=shop&table=buy_order_goods&order_id='.$v['source_order_id'].'&page_type=1', 'manage');
-                $v['source_order_num'] = '<a href="'.$url.'" style="color:blue">'.$v['source_order_num'].'</a>';
+                if ($show == 1) {
+                    $url = Dever::url('project/database/list?project=shop&table=buy_order_goods&order_id='.$v['source_order_id'].'&page_type=1', 'manage');
+                    $v['source_order_num'] = '<a href="'.$url.'" style="color:blue">'.$v['source_order_num'].'</a>';
+                }
+                
                 $body[] = array
                 (
                     $v['order_num'],

+ 1 - 1
app/cash/template/manage/order_list.php

@@ -1,5 +1,5 @@
 <?php
 
 $view
-->fetch('#show', 'cash/lib/manage.view')
+->fetch('#show', 'cash/lib/set.view')
 ->display();

+ 1 - 1
app/factory/admin/Msg.php

@@ -36,7 +36,7 @@ class Msg extends Core
 						}
 
 						if ($view) {
-							$button = '<a href="javascript:;" onclick="read(\''.$read.'\', '.$v['id'].');fastEdit($(this), \''.$view.'\', \'查看\', \'\', 1)"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">查看</button></a>';
+							$button = '<a href="javascript:;" onclick="read(\''.$read.'\', '.$v['id'].');jump(\''.$view.'\')"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">查看</button></a>';
 						}
 					}
 				}

+ 1 - 1
app/factory/admin/Order.php

@@ -40,7 +40,7 @@ class Order extends Core
 
         		$send = Dever::url('order_send?id=' . $v['id'], 'factory');
 
-        		$button = '<a href="javascript:;" onclick="fastEdit($(this), \''.$view.'\', \'查看详情\', \'\', 1)"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">查看详情</button></a>';
+        		$button = '<a href="'.$view.'"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">查看详情</button></a>';
 
         		if ($v['status'] < 5) {
         			$button .= '&nbsp;&nbsp;<a href="javascript:;" id="print_'.$v['id'].'" onclick="layer.alert(\'开发中\')"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">打印备货单</button></a>';

+ 80 - 0
app/factory/admin/Stat.php

@@ -0,0 +1,80 @@
+<?php
+namespace Factory\Admin;
+
+use Dever;
+
+class Stat extends Core
+{
+	# 列表
+    public function getList()
+    {
+    	$where = array();
+    	$where['factory_id'] = $this->id;
+    	$status = Dever::input('factory_status');
+    	if ($status) {
+    		$where['factory_status'] = $status;
+    	}
+    	$start = Dever::input('start');
+    	if ($start) {
+    		$where['start'] = $start;
+    	}
+    	$end = Dever::input('end');
+    	if ($end) {
+    		$where['end'] = $end;
+    	}
+        $data = Dever::db('cash/factory')->getAll($where);
+
+        $html = '';
+        if ($data) {
+        	$config = Dever::db('cash/factory')->config;
+        	foreach ($data as $k => $v) {
+
+        		$view = Dever::url('stat_view?id=' . $v['id'] . '&type=factory&show=2', 'factory');
+
+        		$url = Dever::url('lib/set.audit_other&id='.$v['id'].'&type=factory', 'cash');
+        		$button = '<a href="'.$view.'"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">查看详情</button></a>';
+
+        		if ($v['factory_status'] == 1) {
+        			$button .= '&nbsp;&nbsp;<a href="javascript:;" onclick="load(\''.$url.'\', \''.Dever::load('cash/lib/set')->statYes($v, 'factory').'\', \'请确认\')"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">确认对账金额</button></a>';
+        		}
+
+
+        		$html .= '<tr><td>'.Dever::load("cash/lib/set.statDate", $v['type'], $v['day']).'</td><td>'.Dever::load("cash/lib/set.statTime", $v['start'], $v['end']).'</td><td>'.$v['cash'].'</td><td>'.$config['config_status'][$v['factory_status']].'</td><td>'.$button.'</td></tr>';
+        	}
+        }
+        return $html;
+    }
+
+    # 获取列表页搜索信息
+    public function getSearch()
+    {
+    	$config = array
+        (
+        	array('value' => '0', 'name' => '全部'),
+            array('value' => 1, 'name' => '未对账'),
+            array('value' => 2, 'name' => '已对账'),
+        );
+
+        $status = Dever::input('factory_status');
+
+        $html = '';
+        foreach ($config as $k => $v) {
+        	$selected = '';
+    		if ((!$status && $k == 0) || $status == $v['value']) {
+    			$selected = 'selected=""';
+    		} 
+
+    		$html .= '<option value="'.$v['value'].'" '.$selected.'>'.$v['name'].'</option>';
+    	}
+
+        return $html;
+    }
+
+    # 获取基本信息
+    public function getConfig()
+    {
+    	$data['search'] = Dever::url('stat', 'factory');
+
+    	return $data;
+    }
+}

File diff suppressed because it is too large
+ 54 - 51
app/factory/assets/pc/html/order_view.html


File diff suppressed because it is too large
+ 67 - 0
app/factory/assets/pc/html/stat.html


+ 80 - 0
app/factory/assets/pc/html/stat_view.html

@@ -0,0 +1,80 @@
+
+
+<!DOCTYPE html>
+<html>
+<head>
+  <script class="include" system="" path="inc/" file="head">include()</script>
+</head>
+<body>
+
+<div id="content_1" style="display:"><form class="layui-form form10" action="" target="f10" method="post">
+<iframe id="f10" name="f10" style="display:none;"></iframe>
+<div class="layui-form-item" id="show"><div class="layui-card-body"><div class="layui-col-md12"><div class="layui-card"><div class="layui-card-header">对账单详情</div><div class="layui-card-body"><table class="layui-table"><tbody><tr>
+          <td width="80">对账工厂</td>
+          <td>第二个工厂&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+        </tr><tr>
+          <td width="80">对账周期</td>
+          <td>2021-11-01 ~ 2021-11-30&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+        </tr><tr>
+              <td width="80">对账金额</td>
+              <td>¥40元&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+            </tr><tr>
+          <td width="80">工厂对账状态</td>
+          <td>已对账&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+        </tr><tr>
+          <td width="100">平台对账状态</td>
+          <td>未对账&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+        </tr><tr>
+              <td>功能按钮</td>
+              <td><button class="layui-btn layui-btn-primary" onclick="load('http://192.168.33.10/churen/app/cash/?l=lib/manage.audit&id=2&type=factory', '2021年11月与第二个工厂对账单款项是否正确<br />对账金额¥40元', '请确认')">立即确认</button>&nbsp;&nbsp;&nbsp;&nbsp;<button class="layui-btn layui-btn-primary" onclick="showAlert('联系人:test,联系电话:12321')">联系工厂</button>&nbsp;&nbsp;&nbsp;&nbsp;<a class="layui-btn layui-btn-primary" href="http://192.168.33.10/churen/package/manage/?l=database.list_excel&project=cash&table=order&search_option_status=2&search_option_state=1&search_option_start_cdate=2021-11-01 00:00:00&search_option_end_cdate=2021-11-30 23:59:59">导出对账单</a>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+            </tr></tbody></table></div></div><div class="layui-card"><div class="layui-card-header">对账清单</div><div class="layui-card-body" style="max-heights: 500px;overflow: auto;"><table class="layui-table"><thead><tr><th>结算单号</th><th>订货单号</th><th>结算类型</th><th>下单日期</th><th>完成日期</th><th>结算日期</th><th>对账金额</th><th>结算状态</th></tr></thead><tbody><tr><td>JS202111154912637891491837</td><td><a href="http://192.168.33.10/churen/package/manage/?l=project/database/list&project=shop&table=buy_order_goods&order_id=22&page_type=1" style="color:blue">C202111154887023076548752_1</a></td><td>退款结算</td><td>2021-11-15 12:05</td><td>1970-01-01 08:00</td><td>1970-01-01 08:00</td><td>-8</td><td>已入账</td></tr><tr><td>JS202111154900859732139791</td><td><a href="http://192.168.33.10/churen/package/manage/?l=project/database/list&project=shop&table=buy_order_goods&order_id=21&page_type=1" style="color:blue">C202111154887023076548752_0</a></td><td>退款结算</td><td>2021-11-15 12:03</td><td>2021-11-15 12:03</td><td>2021-11-15 12:04</td><td>-12</td><td>已入账</td></tr><tr><td>JS202111154891153233901825</td><td><a href="http://192.168.33.10/churen/package/manage/?l=project/database/list&project=shop&table=buy_order_goods&order_id=21&page_type=1" style="color:blue">C202111154887023076548752_0</a></td><td>订货结算</td><td>2021-11-15 12:01</td><td>2021-11-15 12:03</td><td>2021-11-15 12:03</td><td>52</td><td>已入账</td></tr></tbody></table></div></div></div></div></div>
+
+<script>
+function audit(id, process, url)
+{
+    var index = layer.confirm('确定进行此项操作吗?', function()
+    {
+        $.post(url, {id:id,process:process}, function(t)
+        {
+            location.reload();
+        })
+    })
+}
+
+function print(order_id)
+{
+    layer.alert('开发中');
+}
+</script>
+</form></div>
+
+
+<script class="include" system="" path="inc/" file="script">include()</script>
+  <script>
+    layui.config({
+        base: '../script/lib/layui/admin/' //静态资源所在路径
+    }).extend({
+    formSelects: 'plugin/formselects/formselects',
+    index: 'lib/index' //主入口模块
+  }).use(['index', 'contlist', 'table', 'form', 'formSelects'], function(){
+    var table = layui.table;
+    var form = layui.form; 
+    var formSelects = layui.formSelects;
+    init();
+  });
+
+  function restart()
+  {
+  		$('#restart').hide();
+  		$('#update_button').show();
+  }
+
+</script>
+</body>
+</html>

+ 22 - 1
app/factory/database/info.php

@@ -18,7 +18,7 @@ $cate = function()
     return $array;
 };
 
-
+$stat_type = Dever::db('cash/shop')->config['config_type'];
 return array
 (
     # 表名
@@ -322,6 +322,27 @@ return array
             'edit'      => true,
         ),
 
+        'stat_type'        => array
+        (
+            'type'      => 'int-11',
+            'name'      => '对账周期-可以选择按月还是按周生成对账单',
+            'default'   => '1',
+            'desc'      => '对账周期',
+            'match'     => 'is_numeric',
+            'update'    => 'radio',
+            'option'    => $stat_type,
+        ),
+
+        'stat_day'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => '对账单生成日期-这里直接填写对账周期内的第几天即可,如按月对账,这里填写10,就是本月10号生成上一个月的对账单,如按周对账,这里填写2,就是本周二生成上一周的对账单',
+            'default'   => '10',
+            'desc'      => '对账单生成日期',
+            'match'     => 'option',
+            'update'    => 'text',
+        ),
+
         'reorder'       => array
         (
             'type'      => 'int-11',

+ 1 - 0
app/factory/lib/Order.php

@@ -69,6 +69,7 @@ class Order
         $order_data['info'] = $info;
         $order_data['price'] = $this->data['price'];
         $order_data['p_price'] = $this->data['p_price'];
+        $order_data['operdate'] = time();
         $order_data['status'] = 3;
 
         $order_data['order_num'] = $this->getOrderId();

+ 24 - 0
app/factory/template/pc/stat.php

@@ -0,0 +1,24 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+$view
+
+# 定义名称
+->fetch('#content_2@test', '1')  
+->fetch('#factory_status', 'factory/admin/stat.getSearch') 
+->fetch('#form1@action', 'factory/admin/stat.getConfig#search') 
+
+->fetch('#list-tbody', 'factory/admin/stat.getList') 
+
+
+->fetch('#factory_status@value', '<{Dever::input("factory_status")}>') 
+->fetch('#start@value', '<{Dever::input("start")}>') 
+->fetch('#end@value', '<{Dever::input("end")}>')  
+
+->fetch('#page','<{Dever::page("current")}>') 
+
+# display
+->display();

+ 5 - 0
app/factory/template/pc/stat_view.php

@@ -0,0 +1,5 @@
+<?php
+
+$view
+->fetch('#show', 'cash/lib/set.view')
+->display();

+ 41 - 7
app/mshop/lib/Buy.php

@@ -82,6 +82,9 @@ class Buy
             if ($this->type > 10) {
                 $where['start_o'] = Dever::maketime($day . ' 00:00:00');
                 $where['end_o'] = Dever::maketime($day . ' 23:59:59');
+            } elseif ($this->type == 2) {
+                $where['start_f'] = Dever::maketime($day . ' 00:00:00');
+                $where['end_f'] = Dever::maketime($day . ' 23:59:59');
             } else {
                 $where['start'] = Dever::maketime($day . ' 00:00:00');
                 $where['end'] = Dever::maketime($day . ' 23:59:59');
@@ -94,6 +97,9 @@ class Buy
             if ($this->type > 10) {
                 $where['start_o'] = Dever::maketime($start);
                 $where['end_o'] = Dever::maketime($end);
+            } elseif ($this->type == 2) {
+                $where['start_f'] = Dever::maketime($start);
+                $where['end_f'] = Dever::maketime($end);
             } else {
                 $where['start'] = Dever::maketime($start);
                 $where['end'] = Dever::maketime($end);
@@ -194,6 +200,8 @@ class Buy
         $info['cdate'] = date('Y-m-d H:i', $info['cdate']);
         if ($info['operdate']) {
             $info['operdate'] = date('Y-m-d H:i', $info['operdate']);
+        } else {
+            $info['operdate'] = $info['cdate'];
         }
         $goods_status = Dever::db('shop/buy_order_goods')->config['status'];
         $goods_process = Dever::db('shop/buy_order_refund')->config['process'];
@@ -629,11 +637,12 @@ class Buy
             $config = Dever::load('factory/admin/auth.config');
             $button = array();
             if ($info['status'] < 5) {
-                $button[] = '<button class="layui-btn layui-btn-primary" onclick="$(\'#print_'.$info['id'].'\').click()">打印货单</button>';
+                $button[] = '<button class="layui-btn layui-btn-primary" onclick="print(\''.$info['id'].'\')">打印货单</button>';
             }
             if ($info['status'] == 3) {
+                $send = Dever::url('order_send?id=' . $info['id'], 'factory');
                 $cancel = Dever::url('lib/buy.refund_apply_commit?json=1', 'mshop');
-                $button[] = '<button class="layui-btn layui-btn-primary" onclick="$(\'#send_'.$info['id'].'\').click()">配送发货</button>';
+                $button[] = '<button class="layui-btn layui-btn-primary" onclick="fastEdit($(this), \''.$send.'\', \'配送发货\', \'\', 1)">配送发货</button>';
                 $button[] = '<button class="layui-btn layui-btn-primary" onclick="cancel('.$info['id'].','.$info['source_id'].', \''.$cancel.'\')">取消订单</button>';
             }
             $config['phone'] = '您的专属客服:' . $config['kf_name'] . ',联系电话:' . $config['phone'];
@@ -643,6 +652,21 @@ class Buy
                   <td>'.$this->table(false, array($button)).'</td>
 
                 </tr>';
+        } elseif ($info['type'] == 2) {
+            $config = Dever::load('factory/admin/auth.config');
+            $button = array();
+            $button[] = '<button class="layui-btn layui-btn-primary" onclick="print(\''.$info['id'].'\')">打印订单</button>';
+            if ($info['status'] == 4) {
+                $url = Dever::url('admin/factory_order.action&order_id='.$info['id'], 'store');
+                $button[] = '<button class="layui-btn layui-btn-primary" onclick="load(\''.$url.'\')">确认收货</button>';
+            }
+            $config['phone'] = '您的专属客服:' . $config['kf_name'] . ',联系电话:' . $config['phone'];
+            $button[] = '<button class="layui-btn layui-btn-primary" onclick="showAlert(\''.$config['phone'].'\')">联系平台</button>';
+            $html .= '<tr>
+                  <td>功能按钮</td>
+                  <td>'.$this->table(false, array($button)).'</td>
+
+                </tr>';
         }
 
         $html .= '</tbody></table></div></div>';
@@ -829,26 +853,31 @@ class Buy
             $cash_order = Dever::db('cash/order')->select(array('source_type' => $info['source_type'], 'source_id' => $info['source_id'], 'source_order_id' => $info['id']));
         }
 
-        if ($cash_order) {
+        if (isset($cash_order) && $cash_order) {
             $head = array('序号', '结算单号', '数量', '金额', '结算类型', '入账状态', '审核状态', '结算时间', '审核未通过原因', '管理');
 
+            if ($type == 1 && $info['type'] == 2) {
+                unset($head[3]);
+            }
+
             $body = array();
             $config = Dever::db('cash/order')->config;
             foreach ($cash_order as $k => $v) {
                 $cdate = date('Y-m-d H:i', $v['cdate']);
-                $fdate = date('Y-m-d H:i', $v['fdate']);
-                $operdate = date('Y-m-d H:i', $v['operdate']);
+                $fdate = $v['fdate'] ? date('Y-m-d H:i', $v['fdate']) : '';
+                $operdate = $v['operdate'] ? date('Y-m-d H:i', $v['operdate']) : '';
                 $cash = $v['cash'];
 
                 $url = Dever::url('project/database/list?project=shop&table=buy_order_goods&order_id='.$v['source_order_id'].'&page_type=1', 'manage');
                 $v['source_order_num'] = '<a href="'.$url.'" style="color:blue">'.$v['source_order_num'].'</a>';
 
                 $m = '';
-                if ($v['audit'] == 1) {
+                if ($v['audit'] == 1 && $v['audit_type'] == 2) {
                     $url = Dever::url('project/database/update?project=cash&table=order&where_id='.$v['id'].'&col=audit,desc', 'manage');
                     $m = '<a href="javascript:;" onclick="fastEdit($(this), \''.$url.'\', \'审核\', \'\', 1)" class="layui-btn">审核</a>';
                 }
-                $body[] = array
+
+                $d = array
                 (
                     $k+1,
                     $v['order_num'],
@@ -861,6 +890,11 @@ class Buy
                     $v['desc'],
                     $m,
                 );
+
+                if ($type == 1 && $info['type'] == 2) {
+                    unset($d[3]);
+                }
+                $body[] = $d;
             }
 
             $html .= '<div class="layui-card"><div class="layui-card-header">对账清单</div><div class="layui-card-body" style="max-heights: 500px;overflow: auto;">' . $this->table($head, $body)  . '</div></div>';

+ 43 - 18
app/mshop/src/My.php

@@ -172,6 +172,20 @@ class My extends Core
         return 'ok';
     }
 
+    # 删除员工
+    public function delUser()
+    {
+        $id = Dever::input('id');
+        $info = Dever::db('shop/member')->find($id);
+        if ($info && $info['shop_id'] == $this->shop_id) {
+            Dever::db('shop/member')->delete($id);
+        } else {
+            Dever::alert('您没有权限删除');
+        }
+
+        return 'ok';
+    }
+
     # 打印机列表
     public function getPrint()
     {
@@ -223,6 +237,20 @@ class My extends Core
         return 'ok';
     }
 
+    # 删除打印机
+    public function delPrint()
+    {
+        $id = Dever::input('id');
+        $info = Dever::db('shop/print')->find($id);
+        if ($info && $info['shop_id'] == $this->shop_id) {
+            Dever::db('shop/print')->delete($id);
+        } else {
+            Dever::alert('您没有权限删除');
+        }
+
+        return 'ok';
+    }
+
     # 营销活动 优惠券列表
     public function getCoupon()
     {
@@ -308,22 +336,23 @@ class My extends Core
     {
         $this->data['config'] = Dever::db('main/sell_config')->find();
         $where['shop_id'] = $this->shop_id;
+        $shop = Dever::db('shop/info')->find($this->shop_id);
         $month = Dever::input('month');
         if ($month) {
             $where['start'] = Dever::maketime($month . '-01 00:00:00');
-            $where['end'] = Dever::maketime($month . '-31 23:59:59');
+            $where['end'] = Dever::maketime($month . '-t 23:59:59');
         }
         
-        $this->data['data'] = Dever::db('shop/sell_stat_month')->getAll($where);
+        $this->data['data'] = Dever::db('cash/shop')->getAll($where);
 
-        $type = Dever::db('shop/sell_stat_month')->config['config_type'];
+        $status = Dever::db('cash/shop')->config['config_status'];
 
         if ($this->data['data']) {
             foreach ($this->data['data'] as $k => $v) {
                 $this->data['data'][$k]['name'] = date('Y年m月', $v['month']);
                 $this->data['data'][$k]['start'] = date('Y-m-01', $v['month']);
                 $this->data['data'][$k]['end'] = date('Y-m-t', $v['month']);
-                $this->data['data'][$k]['type_name'] = $type[$v['type']];
+                $this->data['data'][$k]['status_name'] = $status[$v['shop_status']];
             }
         }
 
@@ -337,12 +366,12 @@ class My extends Core
 
         $where['id'] = $id;
         $where['shop_id'] = $this->shop_id;
-        $info = Dever::db('shop/sell_stat_month')->find($where);
+        $info = Dever::db('cash/shop')->find($where);
         if (!$info) {
             Dever::alert('账单不存在');
         }
         if ($info) {
-            Dever::db('shop/sell_stat_month')->update(array('where_id' => $id, 'type' => 2));
+            Dever::db('cash/shop')->update(array('where_id' => $id, 'shop_status' => 2));
         }
 
         return $this->stat_month();
@@ -355,33 +384,29 @@ class My extends Core
         $where['id'] = $id;
         $where['shop_id'] = $this->shop_id;
         $this->data['config'] = Dever::db('main/sell_config')->find();
-        $this->data['info'] = Dever::db('shop/sell_stat_month')->find($where);
+        $this->data['info'] = Dever::db('cash/shop')->find($where);
 
         if (!$this->data['info']) {
             Dever::alert('账单不存在');
         }
-        $type = Dever::db('shop/sell_stat_month')->config['config_type'];
+        $status = Dever::db('cash/shop')->config['config_status'];
 
         $this->data['info']['name'] = date('Y年m月',  $this->data['info']['month']);
         $this->data['info']['start'] = date('Y-m-01', $this->data['info']['month']);
         $this->data['info']['end'] = date('Y-m-t', $this->data['info']['month']);
-        $this->data['info']['type_name'] = $type[$this->data['info']['type']];
+        $this->data['info']['status_name'] = $type[$this->data['info']['shop_status']];
 
         $where = array();
-        $where['shop_id'] = $this->shop_id;
+        $where['type'] = 1;
+        $where['type_id'] = $this->shop_id;
         $where['start'] = Dever::maketime($this->data['info']['start'] . ' 00:00:00');
         $where['end'] = Dever::maketime($this->data['info']['end'] . ' 23:59:59');
-        $where['status'] = '1,2,3,4,5,6';
-        $this->data['data'] = Dever::db('shop/sell_order')->getAll($where);
+        $where['status'] = 2;
+        $this->data['data'] = Dever::db('cash/order')->getAll($where);
 
         if ($this->data['data']) {
             foreach ($this->data['data'] as $k => $v) {
-                if ($v['status'] < 5) {
-                    $this->data['data'][$k]['status_name'] = '未入账';
-                } else {
-                    $this->data['data'][$k]['status_name'] = '已入账';
-                }
-
+                $this->data['data'][$k]['status_name'] = '已入账';
                 $this->data['data'][$k]['cdate'] = date('Y-m-d H:i', $v['cdate']);
             }
         }

+ 3 - 2
app/shop/assets/manage/html/buy_order_goods.html

@@ -1,4 +1,4 @@
-</form>
+
 <form class="layui-form form10" action="" target="f10" method="post">
 <iframe id="f10" name="f10" style="display:none;"></iframe>
 <div class="layui-form-item" id="show">
@@ -36,4 +36,5 @@ function audit(id, process, url)
         })
     })
 }
-</script>
+</script>
+</form>

+ 3 - 2
app/shop/assets/manage/html/sell_order_goods.html

@@ -1,4 +1,4 @@
-</form>
+
 <form class="layui-form form10" action="" target="f10" method="post">
 <iframe id="f10" name="f10" style="display:none;"></iframe>
 <div class="layui-form-item" id="show">
@@ -23,4 +23,5 @@
         </tr>
       </tbody>
     </table>
-</div>
+</div>
+</form>

+ 2 - 0
app/shop/database/buy_order.php

@@ -284,6 +284,8 @@ return array
                 'end' => array('yes-cdate', '<='),
                 'start_o' => array('yes-operdate', '>='),
                 'end_o' => array('yes-operdate', '<='),
+                'start_f' => array('yes-fdate', '>='),
+                'end_f' => array('yes-fdate', '<='),
                 'status' => array('yes', 'in'),
                 'refund_status' => 'yes',
                 'state' => 1,

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

@@ -41,8 +41,17 @@ return array
             'match'     => 'is_numeric',
             'desc'      => '',
             'search'    => 'day',
+            'search_button' => array
+            (
+                'sum' => 'user',
+                'option' => array(
+                    'day' => '按天',
+                    'week' => '按周',
+                    'month' => '按月',
+                ),
+            ),
             'order'     => 'desc',
-            'list'      => 'date("Y-m-d", {day})',
+            'list'      => 'Dever::showDay("{day}")',
         ),
 
         'shop_id'      => array

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

@@ -41,8 +41,17 @@ return array
             'match'     => 'is_numeric',
             'desc'      => '',
             'search'    => 'day',
+            'search_button' => array
+            (
+                'sum' => 'user',
+                'option' => array(
+                    'day' => '按天',
+                    'week' => '按周',
+                    'month' => '按月',
+                ),
+            ),
             'order'     => 'desc',
-            'list'      => 'date("Y-m-d", {day})',
+            'list'      => 'Dever::showDay("{day}")',
         ),
 
         'shop_id'      => array

+ 468 - 0
app/store/admin/Auth.php

@@ -0,0 +1,468 @@
+<?php
+namespace store\Admin;
+
+use Dever;
+use Dever\Routing\Uri;
+use Dever\Session\Oper;
+use Dever\String\Encrypt;
+
+class Auth
+{
+    /**
+     * 后台的session名
+     *
+     * @var string
+     */
+    private $name;
+
+    /**
+     * save
+     *
+     * @var Dever\Plad\Save
+     */
+    private $save;
+
+    /**
+     * __construct
+     *
+     * @return mixed
+     */
+    public function __construct()
+    {
+        $this->save = new Oper(false, 'session');
+        $this->name = 'store';
+    }
+
+    /**
+     * 获取当前登录的管理员信息
+     *
+     * @return mixed
+     */
+    public function info()
+    {
+        $info = $this->save->get($this->name);
+
+        return $info;
+    }
+
+    public function check()
+    {
+        $admin = $this->info();
+        if (!$admin) {
+            return $this->location_login();
+        }
+
+        return $admin;
+    }
+
+    /**
+     * 只获取中间的内容部分
+     *
+     * @return mixed
+     */
+    public function loading()
+    {
+        $set = Dever::input('loading');
+        if ($set) {
+            Dever::config('base')->url = 'loading=' . $set;
+        }
+
+        return $set;
+    }
+
+    public function config()
+    {
+        $config = Dever::db('main/factory_config')->find();
+
+        $config['refer'] = Dever::input('refer');
+
+        $config['login_url'] = Dever::url("store/admin/auth.login");
+
+        $config['mcode_url'] = Dever::url("store/admin/auth.getMcode?json=1");
+
+        return $config;
+    }
+
+    /**
+     * 获取当前登录的管理员信息
+     *
+     * @return mixed
+     */
+    public function manage()
+    {
+        $admin = $this->info();
+        if ($admin && $admin['id'] == 1) {
+            return '';
+        }
+        return 'display:none;';
+    }
+
+    /**
+     * 获取手机随机验证码
+     * @return mixed
+     */
+    public function getMcode_api()
+    {
+        $mobile = $this->checkMobile();
+
+        $user = Dever::db('store/member')->find(array('mobile' => $mobile));
+        if (!$user) {
+            Dever::alert('该手机号还未注册');
+        }
+
+        $code = Dever::load('passport/reg')->mcode($mobile);
+
+        $msg = '验证码已发送至您的手机,请注意查收,十分钟之内有效';
+        $debug = Dever::config('base', 'project')->mobileCode['debug'];
+        if ($debug) {
+            $msg .= '::' . $code;
+        }
+        return $msg;
+    }
+
+    /**
+     * 退出登录
+     *
+     * @return mixed
+     */
+    public function quit_api()
+    {
+        if ($this->info()) {
+            $this->save->un($this->name);
+        }
+
+        Dever::location('login');
+    }
+
+    /**
+     * 登录
+     *
+     * @return mixed
+     */
+    public function login_api()
+    {
+        $where['mobile'] = $this->checkMobile();
+        $this->checkMcode($where['mobile']);
+        $user = Dever::db('store/member')->find($where);
+
+        if (!$user) {
+            Dever::alert('登录失败,手机号错误,请重新输入');
+        }
+
+        if ($user) {
+            $this->save($user);
+            $refer = Dever::input('refer');
+            if ($refer) {
+                $refer = Encrypt::decode($refer);
+                Dever::out($refer);
+            } else {
+                Dever::out(Dever::url('home'));
+            }
+        } else {
+            Dever::alert('登录失败');
+        }
+    }
+
+    /**
+     * 验证手机号
+     * @return mixed
+     */
+    private function checkMobile()
+    {
+        $rule = Dever::rule('mobile');
+
+        $mobile = Dever::input('mobile');
+
+        if (!$mobile) {
+            Dever::alert('手机号不能为空');
+        }
+        if (!preg_match($rule, $mobile)) {
+            Dever::alert('手机号码格式错误');
+        }
+
+        return $mobile;
+    }
+
+    /**
+     * 验证验证码
+     * @return mixed
+     */
+    private function checkMcode($mobile)
+    {
+        $code = Dever::input('mcode');
+        if (!$code) {
+            Dever::alert('请输入验证码');
+        }
+        $code = Dever::load('passport/reg')->mcode($mobile, $code);
+        if (!$code) {
+            Dever::alert('验证码输入错误');
+        }
+    }
+
+    public function save(&$user)
+    {
+        $this->save->add($this->name, $user, 3600 * 24 * 7);
+    }
+
+    /**
+     * cookie 处理cookie
+     *
+     * @return array
+     */
+    public function cookie()
+    {
+        $cookie = $_COOKIE;
+        $array = array();
+        # 判断手机版
+        $mobile = Dever::mobile();
+        if ((isset($cookie['left_menu']) && $cookie['left_menu'] == 'close') || $mobile) {
+            $array['wrapper'] = 'enlarged forced';
+        } else {
+            $array['wrapper'] = 'forced';
+        }
+        return $array;
+    }
+
+    /**
+     * menu 对一些固定的菜单,生成其链接
+     *
+     * @return array
+     */
+    public function link()
+    {
+        return array
+            (
+            'project' => Dever::url('project/list?menu=manage&table=manage_project'),
+            'log' => Dever::url('log/list?menu=manage&table=manage_log'),
+            'logout' => Dever::url('admin/auth.quit'),
+            'index' => Dever::url('home'),
+            'console' => Dever::url('console'),
+        );
+    }
+
+    /**
+     * location_login
+     *
+     * @return mixed
+     */
+    public function location_login()
+    {
+        $refer = Encrypt::encode(Dever::url());
+        return Dever::location('store/login?refer=' . $refer);
+    }
+
+    # 编辑员工
+    public function edit_api()
+    {
+        $admin = $this->info();
+        if (!$admin) {
+            Dever::alert('您没有权限修改');
+        }
+        $id = $admin['id'];
+        $name = Dever::input('name');
+        $mobile = Dever::input('mobile');
+
+        if ($name) {
+            $update['name'] = $name;
+        } else {
+            Dever::alert('姓名不能为空');
+        }
+
+        if ($mobile) {
+            $update['mobile'] = $mobile;
+            $check = Dever::db('store/member')->find(array('mobile' => $mobile, 'store_id' => $admin['store_id']));
+            if ($check && $id && $id != $check['id']) {
+                Dever::alert('电话已存在');
+            } elseif ($check && !$id) {
+                Dever::alert('电话已存在');
+            }
+        } else {
+            Dever::alert('电话不能为空');
+        }
+
+        $update['store_id'] = $admin['store_id'];
+
+        if ($id) {
+            $update['where_id'] = $id;
+            Dever::db('store/member')->update($update);
+        } else {
+            $id = Dever::db('store/member')->insert($update);
+        }
+        $user = Dever::db('store/member')->find($id);
+        $this->save($user);
+
+        return '操作成功';
+    }
+
+    public function menu()
+    {
+        $info = $this->info();
+        if ($info) {
+            $this->msg = Dever::load('message/lib/data')->num($info['store_id'], 3);
+        } else {
+            $this->msg = 0;
+        }
+
+        $data = array
+        (
+            'console' => array
+            (
+                'icon' => 'home',
+                'name' => '概况',
+                'link' => Dever::url('console', 'store'),
+            ),
+
+            'order' => array
+            (
+                'icon' => 'app',
+                'name' => '订单处理',
+                'child' => array
+                (
+                    'order' => array
+                    (
+                        'name' => '门店订货单',
+                        'link' => Dever::url('order', 'store'),
+                    ),
+                    'factory_order' => array
+                    (
+                        'name' => '入库订单确认',
+                        'link' => Dever::url('factory_order', 'store'),
+                    ),
+                    'ku' => array
+                    (
+                        'name' => '库存清单',
+                        'link' => Dever::url('goods', 'store'),
+                    ),
+                    'out' => array
+                    (
+                        'name' => '出库单管理',
+                        'link' => Dever::url('out', 'store'),
+                    ),
+                ),
+            ),
+
+            'stat' => array
+            (
+                'icon' => 'date',
+                'name' => '结算对账',
+                'child' => array
+                (
+                    'stat' => array
+                    (
+                        'name' => '对账单',
+                        'link' => Dever::url('stat', 'store'),
+                    ),
+                ),
+            ),
+
+            'set' => array
+            (
+                'icon' => 'set',
+                'name' => '基础设置',
+                'child' => array
+                (
+                    'set' => array
+                    (
+                        'name' => '企业资质',
+                        'link' => Dever::url('set', 'store'),
+                    ),
+                    'msg' => array
+                    (
+                        'name' => '消息通知',
+                        'link' => Dever::url('msg', 'store'),
+                    ),
+                    'user' => array
+                    (
+                        'name' => '账号管理',
+                        'link' => Dever::url('user', 'store'),
+                    ),
+                    'help' => array
+                    (
+                        'name' => '帮助文档',
+                        'link' => Dever::url('help', 'store'),
+                    ),
+                ),
+            ),
+        );
+
+        return $data;
+    }
+
+    /**
+     * menu 生成左侧的菜单 此处应加上权限来显示是否管理员有该菜单的权限
+     *
+     * @return array
+     */
+    public function getMenu($state = false)
+    {
+        $data = $this->menu();
+
+        $html = '';
+        foreach ($data as $k => $v) {
+            if (!isset($v['key'])) {
+                $v['key'] = $k;
+            }
+            $v['icon'] = $v['icon'] ? "layui-icon layui-icon-" . $v['icon'] : "layui-icon layui-icon-home";
+            $cur = 'layui-nav-itemed';
+            if ($k == 'console') {
+                $cur = 'layui-this';
+            }
+            $html .= '<li data-name="'.$v['key'].'" class="layui-nav-item menu_group '.$cur.'">';
+
+            if (isset($v['child']) && $v['child']) {
+                $link = 'href="javascript:;"';
+            } else {
+                $link = 'lay-href="'.$v['link'].'"';
+            }
+            $html .= '<a '.$link.' lay-tips="'.$v['name'].'" lay-direction="2">';
+            $html .= '<i class="'.$v['icon'].'"></i><cite>'.$v['name'].'</cite></a>';
+
+            $html .= $this->getMenuChild($v);
+
+            $html .= '</li>';
+        }
+        $html .= '';
+
+        return $html;
+    }
+
+    public function getMenuChild($v)
+    {
+        $html = '';
+
+        if (isset($v['child']) && $v['child']) {
+            $html .= '<dl class="layui-nav-child">';
+            foreach ($v['child'] as $k1 => $v1) {
+                if (!isset($v1['key'])) {
+                    $v1['key'] = $k1;
+                }
+                $html .= '<dd data-name="'.$v1['key'].'">';
+                if (isset($v1['child']) && $v1['child']) {
+                    $html .= '<a href="javascript:;">'.$v1['name'].'</a><dl class="layui-nav-child">';
+                    foreach ($v1['child'] as $k2 => $v2) {
+                        if (!isset($v2['key'])) {
+                            $v2['key'] = $k2;
+                        }
+                        $html .= '<dd data-name="'.$v2['key'].'"><a lay-href="'.$v2['link'].'">'.$v2['name'].'</a></dd>';
+                    }
+                    $html .= '</dl>';
+                } else {
+                    if ($k1 == 'msg' && $this->msg) {
+                        $v1['name'] .= '<span class="layui-badge">'.$this->msg.'</span>';
+                    }
+                
+                    $html .= '<a lay-href="'.$v1['link'].'">'.$v1['name'].'</a>';
+                }
+
+
+
+                $html .= '</dd>';
+
+
+            }
+            $html .= '</dl>';
+        }
+
+        return $html;
+    }
+}

+ 13 - 0
app/store/admin/Core.php

@@ -0,0 +1,13 @@
+<?php
+namespace store\Admin;
+
+use Dever;
+
+class Core
+{
+    public function __construct()
+    {
+        $this->user = Dever::load('store/admin/auth.check');
+        $this->id = $this->user['store_id'];
+    }
+}

+ 107 - 0
app/store/admin/Factory_order.php

@@ -0,0 +1,107 @@
+<?php
+namespace store\Admin;
+
+use Dever;
+
+class Factory_order extends Core
+{
+	# 订单列表
+    public function getList()
+    {
+        $data = Dever::load('mshop/lib/buy')->set(2, 1)->getList($this->id);
+
+        $html = '';
+        if ($data && $data['order']) {
+        	foreach ($data['order'] as $k => $v) {
+        		if ($v['ps_info']) {
+        			$ps_date = $v['ps_info']['cdate'];
+        			$ydate = $v['ps_info']['ydate'] ? $v['ps_info']['ydate'] : '-';
+        		} else {
+        			$ps_date = $ydate = '-';
+        		}
+        		$view = Dever::url('order_view?type=1&order_id=' . $v['id'], 'store');
+
+        		$send = Dever::url('order_send?id=' . $v['id'], 'store');
+
+        		$button = '<a href="'.$view.'"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">查看详情</button></a>';
+
+        		$button .= '&nbsp;&nbsp;<a href="javascript:;" id="print_'.$v['id'].'" onclick="layer.alert(\'开发中\')"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">打印订单</button></a>';
+        		
+        		if ($v['status'] == 4) {
+        			$url = Dever::url('admin/factory_order.action&order_id='.$v['id'], 'store');
+        			$button .= '&nbsp;&nbsp;<a href="javascript:;" onclick="load(\''.$url.'\')"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">确认收货</button></a>';
+        		}
+
+                if ($v['refund_status'] == 2 && $v['status'] != 8) {
+                    $v['status_name'] .= '[缺货报损中]';
+                }
+
+        		$html .= '<tr><td>'.$v['order_num'].'</td><td>'.$ps_date.'</td><td>'.$v['source_info']['name'].'</td><td>'.$ydate.'</td><td>'.$v['num'].'</td><td>'.$v['status_name'].'</td><td>'.$button.'</td></tr>';
+        	}
+        }
+        return $html;
+    }
+
+    # 获取列表页搜索信息
+    public function getSearch()
+    {
+    	$config = array
+        (
+        	array('value' => '0', 'name' => '全部'),
+            array('value' => 4, 'name' => '待收货确认'),
+            array('value' => '5,6', 'name' => '已完成'),
+            array('value' => 'refund', 'name' => '缺货与报损'),
+        );
+
+        $status = Dever::input('status');
+
+        $html = '';
+        foreach ($config as $k => $v) {
+        	$selected = '';
+    		if ((!$status && $k == 0) || $status == $v['value']) {
+    			$selected = 'selected=""';
+    		} 
+
+    		$html .= '<option value="'.$v['value'].'" '.$selected.'>'.$v['name'].'</option>';
+    	}
+
+        return $html;
+    }
+
+    # 获取列表页搜索信息
+    public function getService()
+    {
+    	$service = Dever::db('shop/service')->select();
+        $html = '';
+        foreach ($service as $k => $v) {
+        	$selected = '';
+    		if ($k == 0) {
+    			$selected = 'selected=""';
+    		} 
+
+    		$html .= '<option value="'.$v['id'].'" '.$selected.'>'.$v['name'].'</option>';
+    	}
+
+        return $html;
+    }
+
+    # 获取基本信息
+    public function getConfig()
+    {
+    	$data['search'] = Dever::url('factory_order', 'store');
+
+    	# 确认收货
+    	$data['action'] = Dever::url('admin/factory_order.action', 'store');
+    	return $data;
+    }
+
+    # 确认收货
+    public function action_api()
+    {
+    	$order_id = Dever::input('order_id');
+
+        Dever::load('mshop/lib/buy')->set(2,1)->finish($this->id, $order_id);
+
+    	return 'reload';
+    }
+}

+ 79 - 0
app/store/admin/Goods.php

@@ -0,0 +1,79 @@
+<?php
+namespace store\Admin;
+
+use Dever;
+
+class Goods extends Core
+{
+	# 订单列表
+    public function getList()
+    {
+        $data = Dever::load('store/lib/goods')->getGoodsSku($this->id);
+
+        $html = '';
+        print_r($data);die;
+        if ($data && $data['order']) {
+        	foreach ($data['order'] as $k => $v) {
+        		if ($v['ps_info']) {
+        			$ps_date = $v['ps_info']['cdate'];
+        			$ydate = $v['ps_info']['ydate'] ? $v['ps_info']['ydate'] : '-';
+        		} else {
+        			$ps_date = $ydate = '-';
+        		}
+        		$view = Dever::url('order_view?type=1&order_id=' . $v['id'], 'store');
+
+        		$send = Dever::url('order_send?id=' . $v['id'], 'store');
+
+        		$button = '<a href="'.$view.'"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">查看详情</button></a>';
+
+        		$button .= '&nbsp;&nbsp;<a href="javascript:;" id="print_'.$v['id'].'" onclick="layer.alert(\'开发中\')"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">打印订单</button></a>';
+        		
+        		if ($v['status'] == 4) {
+        			$url = Dever::url('admin/factory_order.action&order_id='.$v['id'], 'store');
+        			$button .= '&nbsp;&nbsp;<a href="javascript:;" onclick="load(\''.$url.'\')"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">确认收货</button></a>';
+        		}
+
+                if ($v['refund_status'] == 2 && $v['status'] != 8) {
+                    $v['status_name'] .= '[缺货报损中]';
+                }
+
+        		$html .= '<tr><td>'.$v['order_num'].'</td><td>'.$ps_date.'</td><td>'.$v['source_info']['name'].'</td><td>'.$ydate.'</td><td>'.$v['num'].'</td><td>'.$v['status_name'].'</td><td>'.$button.'</td></tr>';
+        	}
+        }
+        return $html;
+    }
+
+    # 获取列表页搜索信息
+    public function getSearch()
+    {
+    	$config = array
+        (
+        	array('name' => '全部', 'value' => ''),
+    		array('name' => '库存<3件', 'value' => '3'),
+    		array('name' => '库存<5件', 'value' => '5'),
+    		array('name' => '库存<10件', 'value' => '10'),
+    		array('name' => '无库存', 'value' => '1'),
+        );
+
+        $total = Dever::input('total');
+
+        $html = '';
+        foreach ($config as $k => $v) {
+        	$selected = '';
+    		if ((!$total && $k == 0) || $total == $v['value']) {
+    			$selected = 'selected=""';
+    		} 
+
+    		$html .= '<option value="'.$v['value'].'" '.$selected.'>'.$v['name'].'</option>';
+    	}
+
+        return $html;
+    }
+
+    # 获取基本信息
+    public function getConfig()
+    {
+    	$data['search'] = Dever::url('goods', 'store');
+    	return $data;
+    }
+}

+ 15 - 0
app/store/admin/Help.php

@@ -0,0 +1,15 @@
+<?php
+namespace store\Admin;
+
+use Dever;
+
+class Help extends Core
+{
+    # 列表
+    public function getList()
+    {
+        $data = Dever::db('main/help')->select_page(array('type' => 4));
+
+        return $data;
+    }
+}

+ 58 - 0
app/store/admin/Info.php

@@ -0,0 +1,58 @@
+<?php
+namespace store\Admin;
+
+use Dever;
+
+class Info extends Core
+{
+    # 获取基本信息
+    public function getData()
+    {
+        $data = Dever::db('store/info')->find($this->id);
+
+        $url = Dever::url('api.get&level_total=2', 'area');
+        $data['area'] = '<script>function linkage_update_area(level){select_linkage(level, "dever-linkage-update_area","'.$url.'", "update_area", "'.$data['area'].'", "", "margin-top:0px;width:20%;", false, "", "", "", "", "", "", "")};$(document).ready(function(){linkage_update_area(1);});</script>';
+
+        if ($data['status'] == 2) {
+            $data['status'] = '<span>认证状态:认证中</span>';
+        } elseif ($data['status'] == 3) {
+            $data['status'] = '<span>认证状态:认证失败</span>&nbsp;&nbsp;<a href="javascript:;" class="btn btn-primary layui-btn layuiadmin-btn-list layui-btn-danger">重新认证</a>';
+        } else {
+            $data['status'] = '<span>认证状态:已认证</span>&nbsp;&nbsp;<a href="javascript:;" class="btn btn-primary layui-btn layuiadmin-btn-list layui-btn-danger">重新认证</a>';
+        }
+
+        return $data;
+    }
+
+    # 获取基本信息
+    public function getConfig()
+    {
+        # 修改资料
+        $data['update'] = Dever::url('admin/info.update', 'store');
+        return $data;
+    }
+
+    # 认证
+    public function update_api()
+    {
+        $input = Dever::input();
+
+        $update['name'] = $input['update_name'];
+        $update['truename'] = $input['update_truename'];
+        $update['mobile'] = $input['update_mobile'];
+        $update['area'] = $input['update_area'];
+        $update['address'] = $input['update_address'];
+        $update['license'] = $input['update_license'];
+        $update['license_number'] = $input['update_license_number'];
+        $update['idcard_front'] = $input['update_idcard_front'];
+        $update['idcard_back'] = $input['update_idcard_back'];
+        $update['kh_license'] = $input['update_kh_license'];
+        $update['status'] = 2;
+
+        $update['where_id'] = $this->id;
+
+        Dever::db('store/info')->update($update);
+
+        return 'reload';
+    }
+}

+ 63 - 0
app/store/admin/Msg.php

@@ -0,0 +1,63 @@
+<?php
+namespace store\Admin;
+
+use Dever;
+
+class Msg extends Core
+{
+    # 列表
+    public function getList()
+    {
+        $data = Dever::load('message/lib/data')->read($this->id, false, false, false, 3);
+
+        $html = '';
+		if ($data) {
+			foreach ($data as $k => $v) {
+				$data[$k]['cdate_string'] = Dever::ddate($v['cdate']);
+				if ($v['param']) {
+					$data[$k]['param'] = Dever::json_decode($v['param']);
+				}
+
+				$read = Dever::url('admin/msg.read', 'store');
+
+				$button = '';
+				if ($v['link']) {
+					$button = '<a href="javascript:;" onclick="read(\''.$read.'\', '.$v['id'].');jump(\''.$v['link'].'\')" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">查看</button></a>';
+				} elseif ($v['param'] && strstr($v['param'], '{')) {
+					$data[$k]['param'] = Dever::json_decode($v['param']);
+
+					if ($data[$k]['param']) {
+
+						$view = '';
+						if ($data[$k]['param']['type'] == 1) {
+							$view = Dever::url('order_view?type=2&order_id=' . $data[$k]['param']['id'], 'store');
+						} elseif ($data[$k]['param']['type'] == 2) {
+							$view = '';
+						}
+
+						if ($view) {
+							$button = '<a href="javascript:;" onclick="read(\''.$read.'\', '.$v['id'].');jump(\''.$view.'\')"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">查看</button></a>';
+						}
+					}
+				}
+
+				if (!$button) {
+					$button = '<a href="javascript:;" onclick="read(\''.$read.'\', '.$v['id'].');showAlert(\''.$v['content'].'\')" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">查看</button></a>';
+				}
+				
+
+				$html .= '<tr><td>'.$v['name'].'</td><td>'.$v['content'].'</td><td>'.$data[$k]['cdate_string'].'</td><td>'.$button.'</td></tr>';
+			}
+		}
+		return $html;
+    }
+
+    # 消息已读
+    public function read_api()
+    {
+    	$id = Dever::input('id');
+		Dever::load('message/lib/data')->view($this->id, $id);
+
+		return 'ok';
+    }
+}

+ 156 - 0
app/store/admin/Order.php

@@ -0,0 +1,156 @@
+<?php
+namespace store\Admin;
+
+use Dever;
+
+class Order extends Core
+{
+	# 获取概览数据
+	public function getData()
+	{
+		# 待处理订单
+		$where['status'] = 3;
+		$where['source_type'] = 2;
+		$where['source_id'] = $this->id;
+
+		# 待处理订单
+		$data['order_num'] = Dever::db('shop/buy_order')->getOrderNum($where);
+
+		# 超时待处理订单:72小时
+		$where['end_o'] = time() + 72*3600;
+		$data['cs_order_num'] = Dever::db('shop/buy_order')->getOrderNum($where);
+
+        # 超时待处理订单:72小时
+        $where = array();
+        $where['status'] = 4;
+        $where['type'] = 2;
+        $where['type_id'] = $this->id;
+        $where['end_o'] = time() + 72*3600;
+
+        $data['sh_order_num'] = Dever::db('shop/buy_order')->getOrderNum($where);
+
+		return $data;
+	}
+
+	# 订单列表
+    public function getList()
+    {
+        $data = Dever::load('mshop/lib/buy')->set(12, 1)->getList($this->id);
+
+        $html = '';
+        if ($data && $data['order']) {
+        	foreach ($data['order'] as $k => $v) {
+        		if ($v['ps_info']) {
+        			$ps_date = $v['ps_info']['cdate'];
+        		} else {
+        			$ps_date = '-';
+        		}
+        		$view = Dever::url('order_view?type=2&order_id=' . $v['id'], 'store');
+
+        		$send = Dever::url('order_send?id=' . $v['id'], 'store');
+
+        		$button = '<a href="'.$view.'"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">查看详情</button></a>';
+
+        		if ($v['status'] < 5) {
+        			$button .= '&nbsp;&nbsp;<a href="javascript:;" id="print_'.$v['id'].'" onclick="layer.alert(\'开发中\')"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">打印备货单</button></a>';
+        		}
+        		
+        		if ($v['status'] == 3) {
+        			$button .= '&nbsp;&nbsp;<a href="javascript:;" id="send_'.$v['id'].'" onclick="fastEdit($(this), \''.$send.'\', \'配送发货\', \'\', 1)"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">配送发货</button></a>';
+        		}
+
+                if ($v['refund_status'] == 2 && $v['status'] != 8) {
+                    $v['status_name'] .= '[缺货报损中]';
+                }
+
+        		$html .= '<tr><td><input type="checkbox" name="mul_where_id[]" class="checkbox-checkall-list" lay-ignore value="'.$v['id'].'"/></td><td>'.$v['order_num'].'</td><td>'.$v['operdate'].'</td><td>'.$v['type_info']['name'].'</td><td>'.$ps_date.'</td><td>'.$v['p_price'].'</td><td>'.$v['status_name'].'</td><td>'.$button.'</td></tr>';
+        	}
+        }
+        return $html;
+    }
+
+    # 获取列表页搜索信息
+    public function getSearch()
+    {
+    	$config = array
+        (
+        	array('value' => '0', 'name' => '全部'),
+            array('value' => 3, 'name' => '待生产发货'),
+            array('value' => 4, 'name' => '已发货'),
+            array('value' => '5,6', 'name' => '已到货'),
+            array('value' => '7,8,11', 'name' => '已取消'),
+            array('value' => 'refund', 'name' => '缺货与报损'),
+        );
+
+        $status = Dever::input('status');
+
+        $html = '';
+        foreach ($config as $k => $v) {
+        	$selected = '';
+    		if ((!$status && $k == 0) || $status == $v['value']) {
+    			$selected = 'selected=""';
+    		} 
+
+    		$html .= '<option value="'.$v['value'].'" '.$selected.'>'.$v['name'].'</option>';
+    	}
+
+        return $html;
+    }
+
+    # 获取列表页搜索信息
+    public function getService()
+    {
+    	$service = Dever::db('shop/service')->select();
+        $html = '';
+        foreach ($service as $k => $v) {
+        	$selected = '';
+    		if ($k == 0) {
+    			$selected = 'selected=""';
+    		} 
+
+    		$html .= '<option value="'.$v['id'].'" '.$selected.'>'.$v['name'].'</option>';
+    	}
+
+        return $html;
+    }
+
+    # 获取基本信息
+    public function getConfig()
+    {
+    	$data['search'] = Dever::url('order', 'store');
+
+    	# 发货
+    	$data['send'] = Dever::url('admin/order.send', 'store');
+    	return $data;
+    }
+
+    # 发货
+    public function send_api()
+    {
+    	$input = Dever::input();
+
+    	$order_id = Dever::input('update_where_id');
+
+    	$where['order_id'] = $order_id;
+    	$info = Dever::db('shop/buy_order_ps')->find($where);
+
+    	$update = $where;
+    	$update['service_id'] = $input['update_service_id'];
+    	$update['order_num'] = $input['update_order_num'];
+    	$update['phy'] = $input['update_phy'];
+    	$update['dby'] = $input['update_dby'];
+    	$update['zl'] = $input['update_zl'];
+    	$update['tj'] = $input['update_tj'];
+    	$update['price'] = $input['update_price'];
+    	$update['cdate'] = $input['update_cdate'];
+    	if ($info) {
+    		$update['where_id'] = $info['id'];
+    		Dever::db('shop/buy_order_ps')->update($update);
+    	} else {
+    		Dever::db('shop/buy_order_ps')->insert($update);
+    	}
+    	Dever::db('shop/buy_order')->update(array('status' => 4, 'where_id' => $update['order_id']));
+
+    	return 'reload';
+    }
+}

+ 80 - 0
app/store/admin/Stat.php

@@ -0,0 +1,80 @@
+<?php
+namespace store\Admin;
+
+use Dever;
+
+class Stat extends Core
+{
+	# 列表
+    public function getList()
+    {
+    	$where = array();
+    	$where['store_id'] = $this->id;
+    	$status = Dever::input('store_status');
+    	if ($status) {
+    		$where['store_status'] = $status;
+    	}
+    	$start = Dever::input('start');
+    	if ($start) {
+    		$where['start'] = $start;
+    	}
+    	$end = Dever::input('end');
+    	if ($end) {
+    		$where['end'] = $end;
+    	}
+        $data = Dever::db('cash/store')->getAll($where);
+
+        $html = '';
+        if ($data) {
+        	$config = Dever::db('cash/store')->config;
+        	foreach ($data as $k => $v) {
+
+        		$view = Dever::url('stat_view?id=' . $v['id'] . '&type=store&show=2', 'store');
+
+        		$url = Dever::url('lib/set.audit_other&id='.$v['id'].'&type=store', 'cash');
+        		$button = '<a href="'.$view.'"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">查看详情</button></a>';
+
+        		if ($v['store_status'] == 1) {
+        			$button .= '&nbsp;&nbsp;<a href="javascript:;" onclick="load(\''.$url.'\', \''.Dever::load('cash/lib/set')->statYes($v, 'store').'\', \'请确认\')"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">确认对账金额</button></a>';
+        		}
+
+
+        		$html .= '<tr><td>'.Dever::load("cash/lib/set.statDate", $v['type'], $v['day']).'</td><td>'.Dever::load("cash/lib/set.statTime", $v['start'], $v['end']).'</td><td>'.$v['cash'].'</td><td>'.$config['config_status'][$v['store_status']].'</td><td>'.$button.'</td></tr>';
+        	}
+        }
+        return $html;
+    }
+
+    # 获取列表页搜索信息
+    public function getSearch()
+    {
+    	$config = array
+        (
+        	array('value' => '0', 'name' => '全部'),
+            array('value' => 1, 'name' => '未对账'),
+            array('value' => 2, 'name' => '已对账'),
+        );
+
+        $status = Dever::input('store_status');
+
+        $html = '';
+        foreach ($config as $k => $v) {
+        	$selected = '';
+    		if ((!$status && $k == 0) || $status == $v['value']) {
+    			$selected = 'selected=""';
+    		} 
+
+    		$html .= '<option value="'.$v['value'].'" '.$selected.'>'.$v['name'].'</option>';
+    	}
+
+        return $html;
+    }
+
+    # 获取基本信息
+    public function getConfig()
+    {
+    	$data['search'] = Dever::url('stat', 'store');
+
+    	return $data;
+    }
+}

+ 134 - 0
app/store/admin/User.php

@@ -0,0 +1,134 @@
+<?php
+namespace store\Admin;
+
+use Dever;
+
+class User extends Core
+{
+    # 获取基本信息
+    public function getData()
+    {
+        $id = Dever::input('id');
+        if ($id) {
+            $data = Dever::db('store/member')->find($id);
+        } else {
+            $data = false;
+        }
+    
+        return $data;
+    }
+
+    # 获取角色
+    public function getRole()
+    {
+        $role = Dever::db('store/member')->config['role'];
+
+        $html = '<input update_type="checked" class="checkbox-checkall update_role_id update_value" type="checkbox" name="temp_update_role_id[]" value="0_update_role_id"/> 全选';
+
+        $info = $this->getData();
+
+        foreach ($role as $k => $v) {
+            $checked = '';
+            if ($info && $info['role_id']) {
+                $temp = explode(',', $info['role_id']);
+                if (in_array($k, $temp)) {
+                    $checked = 'checked';
+                }
+            }
+            $html .= '&nbsp;&nbsp;<input update_type="checked" class="autoload checkbox-checkall-0_update_role_id update_role_id update_value validate[required]" type="checkbox" name="update_role_id[]" value="'.$k.'" '.$checked.' /> '.$v.' ';
+        }
+
+        return $html;
+    }
+
+    # 订单列表
+    public function getList()
+    {
+        $data = Dever::db('store/member')->list(array('store_id' => $this->id));
+
+        $html = '';
+        if ($data) {
+            $role = Dever::db('store/member')->config['role'];
+            foreach ($data as $k => $v) {
+
+                $edit = Dever::url('user_edit?id=' . $v['id'], 'store');
+
+                $temp = explode(',', $v['role_id']);
+                $v['role_name'] = array();
+                foreach ($temp as $k1 => $v1) {
+                    if (isset($role[$v1])) {
+                        $v['role_name'][] = $role[$v1];
+                    }
+                }
+                $v['role_name'] = implode(',', $v['role_name']);
+
+                $cdate = date('Y-m-d H:i', $v['cdate']);
+
+                $button = '<a href="javascript:;" onclick="fastEdit($(this), \''.$edit.'\', \'编辑\', \'\', 1)"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">编辑</button></a>';
+
+                if ($v['state'] == 1) {
+                    $state = 2;
+                } else {
+                    $state = 1;
+                }
+
+                $del = Dever::url('admin/user.del?id=' . $v['id'] . '&state=' . $state, 'store');
+
+                if ($state == 2) {
+                    $button .= '&nbsp;&nbsp;<a href="'.$del.'" class="oper_delete"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-danger layui-btn-xs"><span class="am-icon-trash-o"></span>封禁</button></a>';
+                } else {
+                    $button .= '&nbsp;&nbsp;<a href="'.$del.'" class="oper_delete"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-danger layui-btn-xs"><span class="am-icon-trash-o"></span>恢复</button></a>';
+                }
+                
+
+
+                $html .= '<tr><td>'.$v['name'].'</td><td>'.$v['mobile'].'</td><td>'.$v['role_name'].'</td><td>'.$cdate.'</td><td>'.$button.'</td></tr>';
+            }
+        }
+        return $html;
+    }
+
+    # 获取基本信息
+    public function getConfig()
+    {
+        $data['update'] = Dever::url('admin/update', 'store');
+        $data['add'] = Dever::url('user_edit', 'store');
+        $data['add'] = 'fastEdit($(this), \''.$data['add'].'\', \'添加新员工\', \'\', 1)';
+        $data['search'] = Dever::url('user', 'store');
+        $data['delete'] = Dever::url('admin/del', 'store');
+        return $data;
+    }
+
+    # 认证
+    public function update_api()
+    {
+        $input = Dever::input();
+
+        $update['name'] = $input['update_name'];
+        $update['avatar'] = $input['update_avatar'];
+        $update['mobile'] = $input['update_mobile'];
+        $update['role_id'] = $input['update_role_id'];
+        $update['store_id'] = $this->id;
+
+        $update['where_id'] = Dever::input('update_where_id');
+        if ($update['where_id']) {
+            Dever::db('store/member')->update($update);
+        } else {
+            Dever::db('store/member')->insert($update);
+        }
+
+        return 'reload';
+    }
+
+    # 删除
+    public function del_api()
+    {
+        $update['where_id'] = Dever::input('id');
+        if ($update['where_id']) {
+            $update['state'] = Dever::input('state');
+            Dever::db('store/member')->update($update);
+        }
+
+        return 'reload';
+    }
+}

+ 362 - 0
app/store/assets/pc/html/cashier.html

@@ -0,0 +1,362 @@
+<!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="store_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="store_id" id="store_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="setstore()">确认选择</button>
+					</div>
+				</div>
+				<div class="goods_list">
+					<table class="layui-table">
+						<thead>
+							<tr>
+								<th lay-data="{field:'id'}">商品编码</th>
+								<th lay-data="{field:'name'}">商品名称</th>
+								<th lay-data="{field:'price', edit: 'text'}">售价(元)</th>
+								<th lay-data="{field:'number', edit: 'text'}">数量</th>
+								<th lay-data="{field:'operation'}">操作</th>
+							</tr>
+						</thead>
+						<tbody id="goods">
+							
+						</tbody>
+					</table>
+				</div>
+				<div class="total ft16">
+					合计:【<span> 总金额:<i class="totalMoney">0.00</i> </span>】【<span> 总数量:<i class="totalQuantity">0</i> </span>
+				</div>
+				<table class="reading layui-table" lay-even="">
+					<tbody>
+						<tr>
+							<td>选择仓库</td>
+							<td colspan="3">
+								<div class="layui-input-inline">
+									<select xm-select="store_id" xm-select-skin="normal" xm-select-search="<{$search_store}>" xm-select-search-type="dl" xm-select-radio="" class="update_value form-control layui-input layui-select" name="store_id" id="store_id"  ></select>
+								</div>
+								<!--
+								<button class="card_reading layui-btn">读卡</button>
+								<a href="#" class="registration layui-btn layui-btn-primary">会员登记</a>
+								-->
+							</td>
+						</tr>
+						<tr>
+							<td>订单备注:</td>
+							<td><textarea class="layui-textarea" name="info" id="info" rows="" cols="" maxlength="200" placeholder="请输入订单备注"></textarea></td>
+						</tr>
+						<!--
+						<tr>
+							<td>会员卡号:</td>
+							<td></td>
+							<td>会员姓名:</td>
+							<td></td>
+						</tr>
+						<tr>
+							<td>会员级别:</td>
+							<td></td>
+							<td>有效期:</td>
+							<td></td>
+						</tr>
+						<tr>
+							<td>可用积分:</td>
+							<td></td>
+							<td>可用储值:</td>
+							<td></td>
+						</tr>
+						-->
+					</tbody>
+				</table>
+				<div class="towbtn">
+					<input type="button" id="settlement" value="订货下单">
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
+<div class="mask_box">
+	<div class="mask"></div>
+	<div class="box">
+		<div class="box_top">结算</div>
+		<div class="box_block box_block1">
+			<div class="block_left"><label for="">应付金额:</label></div>
+			<div class="block_right"><input type="text" class="layui-input" value="23131" readonly style="border: none;" /></div>
+		</div>
+		<div class="box_block box_block2">
+			<div class="block_left"><input type="checkbox" name="" />优惠券:</div>
+			<div class="block_right">
+				<select class="layui-select" name="" id="">
+					<option value="0">请选择</option>
+					<option value="1">1</option>
+					<option value="2">2</option>
+					<option value="3">3</option>
+					<option value="4">4</option>
+				</select>
+			</div>
+			<div class="block_left">还需支付:</div>
+			<div class="block_right"><input type="text" class="layui-input" value="32432" readonly style="border: none;" /></div>
+		</div>
+		<div class="box_block box_block3">
+			<div class="block_left"><input type="radio" name="payment" /><label for="use_coupon">现金支付:</label></div>
+			<div class="block_right">
+				<input type="text" class="layui-input" />
+			</div>
+			<br style="clear: both;">
+			<div class="block_left"><input type="radio" name="payment" /><label for="use_coupon">移动支付:</label></div>
+			<div class="block_right">
+				<input type="text" class="layui-input" />
+			</div>
+			<br style="clear: both;">
+			<div class="block_left"><input type="radio" name="payment" /><label for="use_coupon">其他支付:</label></div>
+			<div class="block_right">
+				<input type="text" class="layui-input" />
+			</div>
+		</div>
+		<div class="remark_mess">
+			<div class="block_left">
+				备注:
+			</div>
+			<div class="block_right">
+				<textarea class="layui-textarea" name="" rows="" cols="" maxlength="200" placeholder="最多输入200字符"></textarea>
+			</div>
+			<br style="clear: both;">
+			<div class="block_left">
+				交易时间:
+			</div>
+			<div class="block_right">
+				<input type="text" value="2018-11-23 08:23:43" class="layui-input" readonly style="border: none;" />
+			</div>
+		</div>
+		<div class="bot">
+			<input type="button" value="提交">
+			<input type="text" value="取消">
+		</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 store_id = '<{$store_id}>';
+			var store_id = $('.xm-select-parent[fs_id="store_id"] span[fsw="xm-select"]').attr('value');
+			console.info(store_id);
+			if (!store_id) {
+				layui.layer.alert('请先选择仓库');
+				return;
+			}
+
+			layui.layer.confirm('确定订货下单吗?', function() {
+				var info = $('#info').val();
+				var goods_string = JSON.stringify(goods);
+
+				var data = {};
+				data = {store_id:store_id, store_id:store_id, goods:goods_string, info:info};
+				$.getJSON(url, data, function(t) {
+					if (t.status == 1) {
+						layui.layer.alert('订货下单成功', function(index){
+						  location.href = t.data;
+						  layer.close(index);
+						});
+					} else {
+						layui.layer.alert(t.msg);
+					}
+				});
+			});
+
+			//$(".mask_box").show();
+		})
+		$(".bot input:nth-child(2)").click(function(){
+			$(".mask_box").hide();
+		})
+
+		$("#goods").on("keyup", ".goods_num", function() {
+			var num = parseInt($(this).val());
+			if (!num || num <= 0) {
+				num = 1;
+				$(this).val(1);
+			}
+	        var id = $(this).parent().attr('value');
+	        goods[id].num = num;
+			setTotal();
+		})
+	})
+
+	mini.parse();
+    var tree = mini.get("tree1");
+    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();
+    }
+
+    var goods = {};
+	function onNodeClick()
+	{
+       	var tree=mini.get("tree1");
+        node=tree.getSelectedNode();
+  		if(node.end) {
+  			var key = node.id;
+  			if (!goods[key]) {
+  				goods[key] = node;
+  				goods[key].price = parseFloat(goods[key].price);
+  				goods[key].num = 1;
+  				create(node);
+  				setTotal();
+  			} else {
+  				add(key);
+  			}
+  		}
+	}
+
+	function get(key)
+	{
+		return $('#goods_' + key);
+	}
+
+	function create(node)
+	{
+		console.info(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_price">'+node.price+'</td>';
+			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><button class="delete_btn" onclick="del(\''+node.id+'\')">删除</button></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 = 1;
+        }
+
+		get(id).find('.goods_num').val(goods[id].num);
+		setTotal();
+    }
+
+    function del(id)
+	{
+        delete goods[id];
+		get(id).remove();
+		setTotal();
+    }
+
+
+	/*
+	//点击 - 单价 - 可编辑
+	$("#goods").on("click","td.danjia",function(){
+		if(!$(this).is('.bj')){   
+			var currentPrice = $(this).html();
+			$(this).focus();
+			$(this).addClass('bj').html('<input type="tel" class="layui-input" value="'+$(this).text()+'" />').find('input').focus().blur();    
+		} 
+	})
+	*/
+	
+	function setTotal()
+	{
+		var cash = 0;
+		var num = 0;
+		for (var i in goods) {
+			num += goods[i].num;
+			cash += goods[i].price * goods[i].num;
+		}
+		$(".totalQuantity").html(num);
+		$(".totalMoney").html(cash.toFixed(2)); 
+	}
+
+	function setstore()
+	{
+		var store_id = $('.xm-select-parent[fs_id="store_id"] span[fsw="xm-select"]').attr('value');
+		if (!store_id) {
+			layui.layer.alert('请选择仓库');
+			return;
+		}
+		layui.layer.confirm('确定切换仓库吗?切换后现在选择的商品都将清空', function() {
+			location.href = '<{$host}>&store_id=' + store_id;
+		});
+	}
+</script>
+</body>
+</html>

+ 117 - 0
app/store/assets/pc/html/console.html

@@ -0,0 +1,117 @@
+
+
+<!DOCTYPE html>
+<html>
+<head>
+  <script class="include" system="" path="inc/" file="head">include()</script>
+</head>
+<body>
+  
+  <div class="layui-fluid">
+    <div class="layui-row layui-col-space15">
+    
+    </div>
+    <div class="layui-row layui-col-space15">
+      <div class="layui-col-md8">
+        <div class="layui-row layui-col-space15">
+
+          <div class="layui-col-sm6 layui-col-md4">
+            <div class="layui-card">
+              <div class="layui-card-header">
+                待处理订单
+              </div>
+              <div class="layui-card-body layuiadmin-card-list">
+                <p class="layuiadmin-big-font" id="order_num">9,999,666</p>
+              </div>
+            </div>
+          </div>
+
+          <div class="layui-col-sm6 layui-col-md4">
+            <div class="layui-card">
+              <div class="layui-card-header">
+                超时未入库
+              </div>
+              <div class="layui-card-body layuiadmin-card-list">
+                <p class="layuiadmin-big-font" id="sh_order_num">9,999,666</p>
+              </div>
+            </div>
+          </div>
+
+          <div class="layui-col-sm6 layui-col-md4">
+            <div class="layui-card">
+              <div class="layui-card-header">
+                超时未发货
+              </div>
+              <div class="layui-card-body layuiadmin-card-list">
+                <p class="layuiadmin-big-font" id="cs_order_num">9,999,666</p>
+              </div>
+            </div>
+          </div>
+
+          <div class="layui-col-md12">
+            <div class="layui-card">
+              <div class="layui-card-header">仓库业务流程</div>
+              <div class="layui-card-body">
+                <div>
+                  <button class="layui-btn layui-btn-lg layui-btn-primary layui-btn-radius">处理门店订货单</button>
+                  <i class="layui-icon">&nbsp;&nbsp;&#xe602;&nbsp;&nbsp;</i>
+                  <button class="layui-btn layui-btn-lg layui-btn-primary layui-btn-radius">打印订单发货</button>
+                  <i class="layui-icon">&nbsp;&nbsp;&#xe602;&nbsp;&nbsp;</i>
+                  <button class="layui-btn layui-btn-lg layui-btn-primary layui-btn-radius">门店签收</button>
+                  <i class="layui-icon">&nbsp;&nbsp;&#xe602;&nbsp;&nbsp;</i>
+                  <button class="layui-btn layui-btn-lg layui-btn-primary layui-btn-radius">对账结算</button>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+      
+      <div class="layui-col-md4">
+
+        <div class="layui-card">
+          <div class="layui-card-header">系统信息</div>
+          <div class="layui-card-body layui-text">
+            <table class="layui-table">
+              <colgroup>
+                <col width="100">
+                <col>
+              </colgroup>
+              <tbody>
+                <tr>
+                  <td>系统名称</td>
+                  <td id="system_name">
+                    <script type="text/html" template>
+                      v{{ layui.admin.v }}
+                    </script>
+                  </td>
+                </tr>
+                <tr>
+                  <td>客服专员</td>
+                  <td id="kf"></td>
+                </tr>
+                <tr>
+                  <td>客服电话</td>
+                  <td id="kfphone"></td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
+        </div>
+
+      </div>
+      
+    </div>
+  </div>
+
+  <script class="include" system="" path="inc/" file="script">include()</script>
+  <script>
+    layui.config({
+        base: '../script/lib/layui/admin/' //静态资源所在路径
+    }).extend({
+        index: 'lib/index' //主入口模块
+    }).use(['index', 'console']);
+</script>
+</body>
+</html>
+

+ 83 - 0
app/store/assets/pc/html/factory_order.html

@@ -0,0 +1,83 @@
+
+
+<!DOCTYPE html>
+<html>
+<head>
+  <script class="include" system="" path="inc/" file="head">include()</script>
+</head>
+<body>
+  
+  <div id="content_2" style="display:">  
+  <div class="layui-fluid">
+    <div class="layui-card">
+      <input type="hidden" name="url1" id="url" value="">
+
+      <form id="form1" name="form1" method="get" target="f1" action="">
+
+      <input type="hidden" name="function" id="function" value="msg">
+      <input type="hidden" name="l" id="l" value="factory_order">
+      <input type="hidden" name="method" id="method" value="search">
+      <div id="search_param"></div> 
+      <iframe id="f1" name="f1" style="display:none;"></iframe>
+        <div class="layui-card-body" id="search_content" style="">
+
+          <div class="layui-form layui-card-header layuiadmin-card-header-auto">
+            <div class="layui-form-item">
+              <div id="search"><div style="margin-top:0px;"><div><div class="layui-inline"><div class="layui-input-inline"><input type="text" class="autoload_text layui-input update_value form-control layui-input " value="" name="order_num" id="order_num" autocomplete="off" placeholder="订单编号"></div></div><div class="layui-inline"><div class="layui-input-inline"><input type="text" value="" placeholder=">=到货时间" name="start" id="start" class="manage_date update_value form-control layui-input " autocomplete="off"></div></div><div class="layui-inline"><div class="layui-input-inline"><input type="text" value="" placeholder="<=到货时间" name="end" id="end" class="manage_date update_value form-control layui-input " autocomplete="off"></div></div><div class="layui-inline"><div class="layui-input-inline"><select lay-ignore="" xm-select-radio="" class="update_value form-control layui-input layui-select   " name="status" id="status"><option value="0" selected="">状态</option><option parent="" value="1">待支付</option><option parent="" value="2">待审核</option><option parent="" value="3">待发货</option><option parent="" value="4">待收货确认</option><option parent="" value="5">已完成</option><option parent="" value="6">已完成(有退款)</option><option parent="" value="7">已取消</option><option parent="" value="8">已退款</option><option parent="" value="11">已过期</option></select></div></div><div class="layui-inline"><input type="hidden" value="2" name="excel" id="excel" autocomplete="off"><button class="btn btn-primary layui-btn layuiadmin-btn-list" onclick="list_search($(this))" type="button" style="height: 38px;margin-left:0px;margin-top:-2px;">搜索</button></div></div></div></div>
+            </div>
+          </div>
+        </div>
+      <div class="layui-card-body">
+        <div style="padding-bottom: 10px;">
+          <a class="layui-btn layuiadmin-btn-list" data-type="add" id="list-parent" style="display:none" href="">返回上一页</a>
+
+          <a class="layui-btn layuiadmin-btn-list" data-type="add" id="list-add" href="http://zsmatest.nongxiaohe.com/package/manage/?l=project/database/update&amp;project=shop&amp;search_option_type=2&amp;table=buy_order&amp;menu=shop&amp;menu_id=99&amp;search_option_state=1" style="display:none">新增</a>
+
+          <span id="list-button"></span>
+        </div>
+        <div id="table_1" style="display:none"></div>
+        <div id="table_2" style="display:"> 
+          <table class="table layui-table layui-table-body" id="table">
+          <thead id="list-thead">
+              <tr><th data-priority="1">订单号</th><th data-priority="1">发货日期</th><th data-priority="1">商品来源</th><th data-priority="1">到货日期</th><th data-priority="1">数量</th><th data-priority="1">订单状态</th><th data-priority="1" class="dever-manage">管理</th></tr>
+          </thead>
+          <tbody id="list-tbody"><tr><td><input type="checkbox" name="mul_where_id[]" class="checkbox-checkall-list" lay-ignore value="1"/></td><td>河北仓库1(18710001234)</td><td>测试仓库(15810090845)</td><td>F202111095151925058966182</td><td>38</td><td>2</td><td>待收货确认</td><td><a href="javascript:;" onclick="fastEdit($(this), 'http://zsmatest.nongxiaohe.com/package/manage/?l=project/database/list&amp;project=shop&amp;search_option_type=2&amp;page_type=2&amp;table=buy_order_goods&amp;project=shop&amp;order_id=1&amp;page_type=1&amp;menu=shop&amp;menu_id=99&amp;search_option_state=1', '查看详情', '', 1, 1)"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">查看详情</button></a>&nbsp;&nbsp;</td></tr></tbody>
+      </table>
+
+      <div id="mul"></div>
+      <div id="page"></div>
+      <div class="dever_desc" id="desc" style="display:none;"></div>
+        </div>
+      </div>
+       </form></div>
+        </div>
+      
+    </div>
+
+  <script class="include" system="" path="inc/" file="script">include()</script>
+  <script>
+    layui.config({
+        base: '../script/lib/layui/admin/' //静态资源所在路径
+    }).extend({
+    formSelects: 'plugin/formselects/formselects',
+    index: 'lib/index' //主入口模块
+  }).use(['index', 'contlist', 'table', 'form', 'formSelects'], function(){
+    var table = layui.table;
+    var form = layui.form; 
+    var formSelects = layui.formSelects;
+    init();
+  });
+
+  function out() {
+      layer.alert('开发中');
+
+      return;
+      var index = layer.confirm('确定进行此项操作吗?', function()
+      {
+
+      })
+  }
+</script>
+</body>
+</html>
+

+ 83 - 0
app/store/assets/pc/html/goods.html

@@ -0,0 +1,83 @@
+
+
+<!DOCTYPE html>
+<html>
+<head>
+  <script class="include" system="" path="inc/" file="head">include()</script>
+</head>
+<body>
+  
+  <div id="content_2" style="display:">  
+  <div class="layui-fluid">
+    <div class="layui-card">
+      <input type="hidden" name="url1" id="url" value="">
+
+      <form id="form1" name="form1" method="get" target="f1" action="">
+
+      <input type="hidden" name="function" id="function" value="msg">
+      <input type="hidden" name="l" id="l" value="goods">
+      <input type="hidden" name="method" id="method" value="search">
+      <div id="search_param"></div> 
+      <iframe id="f1" name="f1" style="display:none;"></iframe>
+        <div class="layui-card-body" id="search_content" style="">
+
+          <div class="layui-form layui-card-header layuiadmin-card-header-auto">
+            <div class="layui-form-item">
+              <div id="search"><div style="margin-top:0px;"><div><div class="layui-inline"><div class="layui-input-inline"><input type="text" class="autoload_text layui-input update_value form-control layui-input " value="" name="name" id="name" autocomplete="off" placeholder="商品名称"></div></div><div class="layui-inline"><div class="layui-input-inline"><select lay-ignore="" xm-select-radio="" class="update_value form-control layui-input layui-select   " name="total" id="total"><option value="0" selected="">状态</option><option parent="" value="1">待支付</option><option parent="" value="2">待审核</option><option parent="" value="3">待发货</option><option parent="" value="4">待收货确认</option><option parent="" value="5">已完成</option><option parent="" value="6">已完成(有退款)</option><option parent="" value="7">已取消</option><option parent="" value="8">已退款</option><option parent="" value="11">已过期</option></select></div></div><div class="layui-inline"><input type="hidden" value="2" name="excel" id="excel" autocomplete="off"><button class="btn btn-primary layui-btn layuiadmin-btn-list" onclick="list_search($(this))" type="button" style="height: 38px;margin-left:0px;margin-top:-2px;">搜索</button></div></div></div></div>
+            </div>
+          </div>
+        </div>
+      <div class="layui-card-body">
+        <div style="padding-bottom: 10px;">
+          <a class="layui-btn layuiadmin-btn-list" data-type="add" id="list-parent" style="display:none" href="">返回上一页</a>
+
+          <a class="layui-btn layuiadmin-btn-list" data-type="add" id="list-add" href="http://zsmatest.nongxiaohe.com/package/manage/?l=project/database/update&amp;project=shop&amp;search_option_type=2&amp;table=buy_order&amp;menu=shop&amp;menu_id=99&amp;search_option_state=1" style="display:none">新增</a>
+
+          <span id="list-button"></span>
+        </div>
+        <div id="table_1" style="display:none"></div>
+        <div id="table_2" style="display:"> 
+          <table class="table layui-table layui-table-body" id="table">
+          <thead id="list-thead">
+              <tr><th data-priority="1">商品图片</th><th data-priority="1">商品名称</th><th data-priority="1">商品属性</th><th data-priority="1">数量</th></tr>
+          </thead>
+          <tbody id="list-tbody"><tr><td><input type="checkbox" name="mul_where_id[]" class="checkbox-checkall-list" lay-ignore value="1"/></td><td>河北仓库1(18710001234)</td><td>测试仓库(15810090845)</td><td>F202111095151925058966182</td><td>38</td><td>2</td><td>待收货确认</td><td><a href="javascript:;" onclick="fastEdit($(this), 'http://zsmatest.nongxiaohe.com/package/manage/?l=project/database/list&amp;project=shop&amp;search_option_type=2&amp;page_type=2&amp;table=buy_order_goods&amp;project=shop&amp;order_id=1&amp;page_type=1&amp;menu=shop&amp;menu_id=99&amp;search_option_state=1', '查看详情', '', 1, 1)"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">查看详情</button></a>&nbsp;&nbsp;</td></tr></tbody>
+      </table>
+
+      <div id="mul"></div>
+      <div id="page"></div>
+      <div class="dever_desc" id="desc" style="display:none;"></div>
+        </div>
+      </div>
+       </form></div>
+        </div>
+      
+    </div>
+
+  <script class="include" system="" path="inc/" file="script">include()</script>
+  <script>
+    layui.config({
+        base: '../script/lib/layui/admin/' //静态资源所在路径
+    }).extend({
+    formSelects: 'plugin/formselects/formselects',
+    index: 'lib/index' //主入口模块
+  }).use(['index', 'contlist', 'table', 'form', 'formSelects'], function(){
+    var table = layui.table;
+    var form = layui.form; 
+    var formSelects = layui.formSelects;
+    init();
+  });
+
+  function out() {
+      layer.alert('开发中');
+
+      return;
+      var index = layer.confirm('确定进行此项操作吗?', function()
+      {
+
+      })
+  }
+</script>
+</body>
+</html>
+

+ 79 - 0
app/store/assets/pc/html/help.html

@@ -0,0 +1,79 @@
+
+
+<!DOCTYPE html>
+<html>
+<head>
+  <script class="include" system="" path="inc/" file="head">include()</script>
+</head>
+<body>
+  
+ <div class="layui-fluid">
+    <div class="layui-row layui-col-space15">
+      <div class="layui-col-md12">
+        <div class="layui-card">
+        
+          <div class="layui-card-header">帮助文档</div>
+          <div class="layui-card-body">
+            <div class="layui-collapse" lay-accordion="">
+              <div class="layui-colla-item">
+                <h2 class="layui-colla-title">layui 更适合哪些开发者?</h2>
+                <div class="layui-colla-content layui-show">
+                  <p>在前端技术快速变革的今天,layui 仍然坚持语义化的组织模式,甚至于模块理念都是采用类AMD组织形式,并非是有意与时代背道而驰。layui 认为以jQuery为核心的开发方式还没有到完全消亡的时候,而早期市面上基于jQuery的UI都普通做得差强人意,所以需要有一个新的UI去重新为这一领域注入活力,并采用一些更科学的架构方式。
+                  <br>
+                  因此准确地说,layui 更多是面向那些追求开发简单的前端工程师们,以及所有层次的服务端程序员。</p>
+                </div>
+              </div>
+              <div class="layui-colla-item">
+                <h2 class="layui-colla-title">为什么JS社区大量采用未发布或者未广泛支持的语言特性?</h2>
+                <div class="layui-colla-content">
+                  <p>有不少其他答案说是因为JS太差。我下面的答案已经说了,这不是根本性的原因。但除此之外,我还要纠正一些对JS具体问题的误解。JS当初是被作为脚本语言设计的,所以某些问题并不是JS设计得差或者是JS设计者的失误。比如var的作用域问题,并不是“错误”,而是当时绝大部分脚本语言都是这样的,如perl/php/sh等。模块的问题也是,脚本语言几乎都没有模块/命名空间功能。弱类型、for-in之类的问题也是,只不过现在用那些老的脚本语言的人比较少,所以很多人都误以为是JS才有的坑。另外有人说JS是半残语言,满足不了开发需求,1999年就该死。半残这个嘛,就夸张了。JS虽然有很多问题,但是设计总体还是优秀的。——来自知乎@贺师俊</p>
+                </div>
+              </div>
+              <div class="layui-colla-item">
+                <h2 class="layui-colla-title">为什么前端工程师多不愿意用 Bootstrap 框架?</h2>
+                <div class="layui-colla-content">
+                  <p>因为不适合。如果希望开发长期的项目或者制作产品类网站,那么就需要实现特定的设计,为了在维护项目中可以方便地按设计师要求快速修改样式,肯定会逐步编写出各种业务组件、工具类,相当于为项目自行开发一套框架。——来自知乎@Kayo</p>
+                </div>
+              </div>
+              <div class="layui-colla-item">
+                <h2 class="layui-colla-title">贤心是男是女?</h2>
+                <div class="layui-colla-content">
+                  <p>man! 所以这个问题不要再出现了。。。</p>
+                </div>
+              </div>
+            </div>
+            <div id="page"></div>
+          </div>
+
+        </div>
+
+      </div>
+
+    </div>
+
+
+  </div>
+
+  <script class="include" system="" path="inc/" file="script">include()</script>
+  <script>
+  layui.config({
+    base: '../script/lib/layui/admin/' //静态资源所在路径
+  }).extend({
+    index: 'lib/index' //主入口模块
+  }).use(['index'], function(){
+    var $ = layui.$
+    ,admin = layui.admin
+    ,element = layui.element
+    ,router = layui.router();
+
+    element.render('collapse');
+    
+    //监听折叠
+    element.on('collapse(component-panel)', function(data){
+      layer.msg('展开状态:'+ data.show);
+    });
+  });
+  </script>
+</body>
+</html>
+

+ 64 - 0
app/store/assets/pc/html/home.html

@@ -0,0 +1,64 @@
+
+
+<!DOCTYPE html>
+<html>
+<head>
+  <script class="include" system="" path="inc/" file="head">include()</script>
+</head>
+<body class="layui-layout-body fixed-left theme-1">
+
+  <div id="LAY_app">
+    <div class="layui-layout layui-layout-admin">
+
+      <script class="include" system="" path="inc/" file="nav">include()</script>
+
+      <script class="include" system="" path="inc/" file="menu">include()</script>
+
+      <!-- 页面标签 -->
+      <div class="layadmin-pagetabs" id="LAY_app_tabs">
+        <div class="layui-icon layadmin-tabs-control layui-icon-prev" layadmin-event="leftPage"></div>
+        <div class="layui-icon layadmin-tabs-control layui-icon-next" layadmin-event="rightPage"></div>
+        <div class="layui-icon layadmin-tabs-control layui-icon-down">
+          <ul class="layui-nav layadmin-tabs-select" lay-filter="layadmin-pagetabs-nav">
+            <li class="layui-nav-item" lay-unselect>
+              <a href="javascript:;"></a>
+              <dl class="layui-nav-child layui-anim-fadein">
+                <dd layadmin-event="closeThisTabs"><a href="javascript:;">关闭当前标签页</a></dd>
+                <dd layadmin-event="closeOtherTabs"><a href="javascript:;">关闭其它标签页</a></dd>
+                <dd layadmin-event="closeAllTabs"><a href="javascript:;">关闭全部标签页</a></dd>
+              </dl>
+            </li>
+          </ul>
+        </div>
+        <div class="layui-tab" lay-unauto lay-allowClose="true" lay-filter="layadmin-layout-tabs">
+          <ul class="layui-tab-title" id="LAY_app_tabsheader">
+            <li lay-id="home/console.html" lay-attr="home/console.html" class="layui-this"><i class="layui-icon layui-icon-home"></i></li>
+          </ul>
+        </div>
+      </div>
+      
+      
+      <!-- 主体内容 -->
+      <div class="layui-body" id="LAY_app_body">
+        <div class="layadmin-tabsbody-item layui-show">
+          <iframe src="home/console.html" frameborder="0" class="layadmin-iframe"></iframe>
+        </div>
+      </div>
+      
+      <!-- 辅助元素,一般用于移动设备下遮罩 -->
+      <div class="layadmin-body-shade" layadmin-event="shade"></div>
+    </div>
+  </div>
+
+  <script class="include" system="" path="inc/" file="script">include()</script>
+  <script>
+    layui.config({
+        base: '../script/lib/layui/admin/' //静态资源所在路径
+    }).extend({
+        index: 'lib/index' //主入口模块
+    }).use('index');
+</script>
+</body>
+</html>
+
+

+ 23 - 0
app/store/assets/pc/html/inc/head.html

@@ -0,0 +1,23 @@
+<meta charset="utf-8">
+<title>后台管理</title>
+<meta name="keywords" content="后台管理">
+<meta name="description" content="后台管理">
+<meta name="apple-mobile-web-app-title" content="后台管理" />
+<meta name="author" content="rabin">
+<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+<link rel="stylesheet" type="text/css" href="../script/lib/layui/css/layui.css" />
+<link rel="stylesheet" href="../script/lib/layui/admin/style/admin.css?v3" media="all">
+
+<!-- plugin -->
+<link rel="stylesheet" type="text/css" href="../script/lib/valid/validationEngine.jquery.css">
+<link rel="stylesheet" type="text/css" href="../script/lib/fancybox/jquery.fancybox.css">
+<link rel="stylesheet" type="text/css" href="../script/lib/datetime/jquery.datetimepicker.css">
+<link rel="stylesheet" type="text/css" href="../script/lib/highlight/highlight.min.css">
+
+
+<script type="text/javascript" src="../script/lib/jquery/jquery.min.js"></script>
+<script id="script">var config={};</script>
+<style type="text/css" id="style">
+</style>

+ 345 - 0
app/store/assets/pc/html/inc/menu.html

@@ -0,0 +1,345 @@
+<!-- 侧边菜单 -->
+      <div class="layui-side layui-side-menu">
+        <div class="layui-side-scroll">
+          <div class="layui-logo" id="console-url" lay-href="home/console.html">
+            <span id="dever-name">layuiAdmin</span>
+          </div>
+          
+          <ul class="layui-nav layui-nav-tree" lay-shrink="all" id="LAY-system-side-menu" lay-filter="layadmin-system-side-menu">
+            <li data-name="home" class="layui-nav-item">
+              <a href="javascript:;" lay-tips="主页" lay-direction="2">
+                <i class="layui-icon layui-icon-home"></i>
+                <cite>主页</cite>
+              </a>
+              <dl class="layui-nav-child">
+                <dd data-name="console" class="layui-this">
+                  <a lay-href="home/console.html">控制台</a>
+                </dd>
+                <dd data-name="console">
+                  <a lay-href="home/homepage1.html">主页一</a>
+                </dd>
+                <dd data-name="console">
+                  <a lay-href="home/homepage2.html">主页二</a>
+                </dd>
+              </dl>
+            </li>
+            <li data-name="component" class="layui-nav-item">
+              <a href="javascript:;" lay-tips="组件" lay-direction="2">
+                <i class="layui-icon layui-icon-component"></i>
+                <cite>组件</cite>
+              </a>
+              <dl class="layui-nav-child">
+                <dd data-name="grid">
+                  <a href="javascript:;">栅格</a>
+                  <dl class="layui-nav-child">
+                    <dd data-name="list"><a lay-href="component/grid/list.html">等比例列表排列</a></dd>
+                    <dd data-name="mobile"><a lay-href="component/grid/mobile.html">按移动端排列</a></dd>
+                    <dd data-name="mobile-pc"><a lay-href="component/grid/mobile-pc.html">移动桌面端组合</a></dd>
+                    <dd data-name="all"><a lay-href="component/grid/all.html">全端复杂组合</a></dd>
+                    <dd data-name="stack"><a lay-href="component/grid/stack.html">低于桌面堆叠排列</a></dd>
+                    <dd data-name="speed-dial"><a lay-href="component/grid/speed-dial.html">九宫格</a></dd>
+                  </dl>
+                </dd>
+                <dd data-name="button">
+                  <a lay-href="component/button/index.html">按钮</a>
+                </dd>
+                <dd data-name="form">
+                  <a href="javascript:;">表单</a>
+                  <dl class="layui-nav-child">
+                    <dd><a lay-href="component/form/element.html">表单元素</a></dd>
+                    <dd><a lay-href="component/form/group.html">表单组合</a></dd>
+                  </dl>
+                </dd>
+                <dd data-name="nav">
+                  <a lay-href="component/nav/index.html">导航</a>
+                </dd>
+                <dd data-name="tabs">
+                  <a lay-href="component/tabs/index.html">选项卡</a>
+                </dd>
+                <dd data-name="progress">
+                  <a lay-href="component/progress/index.html">进度条</a>
+                </dd>
+                <dd data-name="panel"> 
+                  <a lay-href="component/panel/index.html">面板</a>  
+                </dd>
+                <dd data-name="badge"> 
+                  <a lay-href="component/badge/index.html">徽章</a>  
+                </dd>
+                <dd data-name="timeline"> 
+                  <a lay-href="component/timeline/index.html">时间线</a>  
+                </dd>
+                <dd data-name="anim"> 
+                  <a lay-href="component/anim/index.html">动画</a>  
+                </dd>
+                <dd data-name="auxiliar"> 
+                  <a lay-href="component/auxiliar/index.html">辅助</a>  
+                </dd>
+                <dd data-name="layer"> 
+                  <a href="javascript:;">通用弹层<span class="layui-nav-more"></span></a>  
+                  <dl class="layui-nav-child">  
+                    <dd data-name="list"> 
+                      <a lay-href="component/layer/list.html" lay-text="layer 功能演示">功能演示</a> 
+                    </dd>  
+                    <dd data-name="special-demo"> 
+                      <a lay-href="component/layer/special-demo.html" lay-text="layer 特殊示例">特殊示例</a> 
+                    </dd>  
+                    <dd data-name="theme"> 
+                      <a lay-href="component/layer/theme.html" lay-text="layer 风格定制">风格定制</a> 
+                    </dd>  
+                  </dl>  
+                </dd>
+                <dd data-name="laydate"> 
+                  <a href="javascript:;">日期时间</a>
+                  <dl class="layui-nav-child">  
+                    <dd data-name="demo1"> 
+                      <a lay-href="component/laydate/demo1.html" lay-text="layDate 功能演示一">功能演示一</a> 
+                    </dd>
+                    <dd data-name="demo2"> 
+                      <a lay-href="component/laydate/demo2.html" lay-text="layDate 功能演示二">功能演示二</a> 
+                    </dd>
+                    <dd data-name="theme"> 
+                      <a lay-href="component/laydate/theme.html" lay-text="layDate 设定主题">设定主题</a> 
+                    </dd>
+                    <dd data-name="special-demo"> 
+                      <a lay-href="component/laydate/special-demo.html" lay-text="layDate 特殊示例">特殊示例</a> 
+                    </dd>  
+                  </dl>  
+                </dd>
+                <dd data-name="table-static"> 
+                  <a lay-href="component/table/static.html">静态表格</a>
+                </dd>
+                <dd data-name="table"> 
+                  <a href="javascript:;">数据表格</a>
+                  <dl class="layui-nav-child">  
+                    <dd data-name="simple"> 
+                      <a lay-href="component/table/simple.html" lay-text="">简单数据表格</a> 
+                    </dd>
+                    <dd data-name="auto"> 
+                      <a lay-href="component/table/auto.html" lay-text="">列宽自动分配</a> 
+                    </dd>
+                    <dd data-name="data"> 
+                      <a lay-href="component/table/data.html" lay-text="">赋值已知数据</a> 
+                    </dd>
+                    <dd data-name="tostatic"> 
+                      <a lay-href="component/table/tostatic.html" lay-text="">转化静态表格</a> 
+                    </dd>
+                    <dd data-name="page"> 
+                      <a lay-href="component/table/page.html" lay-text="">开启分页</a> 
+                    </dd>
+                    <dd data-name="resetPage"> 
+                      <a lay-href="component/table/resetPage.html" lay-text="">自定义分页</a> 
+                    </dd>
+                    <dd data-name="toolbar"> 
+                      <a lay-href="component/table/toolbar.html" lay-text="">开启头部工具栏</a> 
+                    </dd>
+                    <dd data-name="totalRow"> 
+                      <a lay-href="component/table/totalRow.html" lay-text="">开启合计行</a> 
+                    </dd>
+                    <dd data-name="height"> 
+                      <a lay-href="component/table/height.html" lay-text="">高度最大适应</a> 
+                    </dd>
+                    <dd data-name="checkbox"> 
+                      <a lay-href="component/table/checkbox.html" lay-text="">开启复选框</a> 
+                    </dd>
+                    <dd data-name="radio"> 
+                      <a lay-href="component/table/radio.html" lay-text="">开启单选框</a> 
+                    </dd>
+                    <dd data-name="cellEdit"> 
+                      <a lay-href="component/table/cellEdit.html" lay-text="">开启单元格编辑</a> 
+                    </dd>
+                    <dd data-name="form"> 
+                      <a lay-href="component/table/form.html" lay-text="">加入表单元素</a> 
+                    </dd>
+                    <dd data-name="style"> 
+                      <a lay-href="component/table/style.html" lay-text="">设置单元格样式</a> 
+                    </dd>
+                    <dd data-name="fixed"> 
+                      <a lay-href="component/table/fixed.html" lay-text="">固定列</a> 
+                    </dd>
+                    <dd data-name="operate"> 
+                      <a lay-href="component/table/operate.html" lay-text="">数据操作</a> 
+                    </dd>
+                    <dd data-name="parseData"> 
+                      <a lay-href="component/table/parseData.html" lay-text="">解析任意数据格式</a> 
+                    </dd>
+                    <dd data-name="onrow"> 
+                      <a lay-href="component/table/onrow.html" lay-text="">监听行事件</a> 
+                    </dd>
+                    <dd data-name="reload">
+                      <a lay-href="component/table/reload.html" lay-text="">数据表格的重载</a> 
+                    </dd>
+                    <dd data-name="initSort"> 
+                      <a lay-href="component/table/initSort.html" lay-text="">设置初始排序</a> 
+                    </dd>
+                    <dd data-name="cellEvent"> 
+                      <a lay-href="component/table/cellEvent.html" lay-text="">监听单元格事件</a> 
+                    </dd>
+                    <dd data-name="thead"> 
+                      <a lay-href="component/table/thead.html" lay-text="">复杂表头</a> 
+                    </dd>
+                  </dl>
+                </dd>
+                <dd data-name="laypage"> 
+                  <a href="javascript:;">分页</a>  
+                  <dl class="layui-nav-child">  
+                    <dd data-name="demo1"> 
+                      <a lay-href="component/laypage/demo1.html" lay-text="layPage 功能演示一">功能演示一</a> 
+                    </dd>
+                    <dd data-name="demo2"> 
+                      <a lay-href="component/laypage/demo2.html" lay-text="layPage 功能演示二">功能演示二</a> 
+                    </dd> 
+                  </dl>  
+                </dd>
+                <dd data-name="upload"> 
+                  <a href="javascript:;">上传</a>  
+                  <dl class="layui-nav-child">  
+                    <dd data-name="demo1"> 
+                      <a lay-href="component/upload/demo1.html" lay-text="上传功能演示一">功能演示一</a> 
+                    </dd>
+                    <dd data-name="demo2"> 
+                      <a lay-href="component/upload/demo2.html" lay-text="上传功能演示二">功能演示二</a> 
+                    </dd> 
+                  </dl>  
+                </dd>
+                <dd data-name="colorpicker">
+                  <a lay-href="component/colorpicker/index.html">颜色选择器</a>
+                </dd>
+                <dd data-name="slider">
+                  <a lay-href="component/slider/index.html">滑块组件</a>
+                </dd>
+                <dd data-name="rate">
+                  <a lay-href="component/rate/index.html">评分</a>
+                </dd>
+                <dd data-name="carousel"> 
+                  <a lay-href="component/carousel/index.html">轮播</a>  
+                </dd>
+                <dd data-name="flow"> 
+                  <a lay-href="component/flow/index.html">流加载</a>  
+                </dd>
+                <dd data-name="util"> 
+                  <a lay-href="component/util/index.html">工具</a>  
+                </dd>
+                <dd data-name="code"> 
+                  <a lay-href="component/code/index.html">代码修饰</a> 
+                </dd>
+              </dl>
+            </li>
+            <li data-name="template" class="layui-nav-item">
+              <a href="javascript:;" lay-tips="页面" lay-direction="2">
+                <i class="layui-icon layui-icon-template"></i>
+                <cite>页面</cite>
+              </a>
+              <dl class="layui-nav-child">
+                <dd><a lay-href="template/personalpage.html">个人主页</a></dd>
+                <dd><a lay-href="template/addresslist.html">通讯录</a></dd>
+                <dd><a lay-href="template/caller.html">客户列表</a></dd>
+                <dd><a lay-href="template/goodslist.html">商品列表</a></dd>
+                <dd><a lay-href="template/msgboard.html">留言板</a></dd>
+                <dd><a lay-href="template/search.html">搜索结果</a></dd>
+                <dd><a href="user/reg.html" target="_blank">注册</a></dd>
+                <dd><a href="user/login.html" target="_blank">登入</a></dd>
+                <dd><a href="user/forget.html" target="_blank">忘记密码</a></dd>
+                <dd><a lay-href="template/tips/404.html">404页面不存在</a></dd>
+                <dd><a lay-href="template/tips/error.html">错误提示</a></dd>
+                <dd><a lay-href="//www.baidu.com/">百度一下</a></dd>
+                <dd><a lay-href="//www.layui.com/">layui官网</a></dd>
+                <dd><a lay-href="//www.layui.com/admin/">layuiAdmin官网</a></dd>
+              </dl>
+            </li>
+            <li data-name="app" class="layui-nav-item">
+              <a href="javascript:;" lay-tips="应用" lay-direction="2">
+                <i class="layui-icon layui-icon-app"></i>
+                <cite>应用</cite>
+              </a>
+              <dl class="layui-nav-child">
+                
+                <dd data-name="content">
+                  <a href="javascript:;">内容系统</a>
+                  <dl class="layui-nav-child">
+                    <dd data-name="list"><a lay-href="app/content/list.html">文章列表</a></dd>
+                    <dd data-name="tags"><a lay-href="app/content/tags.html">分类管理</a></dd>
+                    <dd data-name="comment"><a lay-href="app/content/comment.html">评论管理</a></dd>
+                  </dl>
+                </dd>
+                <dd data-name="forum">
+                  <a href="javascript:;">社区系统</a>
+                  <dl class="layui-nav-child">
+                    <dd data-name="list"><a lay-href="app/forum/list.html">帖子列表</a></dd>
+                    <dd data-name="replys"><a lay-href="app/forum/replys.html">回帖列表</a></dd>
+                  </dl>
+                </dd>
+                <dd>
+                  <a lay-href="app/message/index.html">消息中心</a>
+                </dd>
+                <dd data-name="workorder">
+                  <a lay-href="app/workorder/list.html">工单系统</a>
+                </dd>
+              </dl>
+            </li>
+            <li data-name="senior" class="layui-nav-item">
+              <a href="javascript:;" lay-tips="高级" lay-direction="2">
+                <i class="layui-icon layui-icon-senior"></i>
+                <cite>高级</cite>
+              </a>
+              <dl class="layui-nav-child">
+                <dd>
+                  <a layadmin-event="im">LayIM 通讯系统</a>  
+                </dd>
+                <dd data-name="echarts">
+                  <a href="javascript:;">Echarts集成</a>
+                  <dl class="layui-nav-child">
+                    <dd><a lay-href="senior/echarts/line.html">折线图</a></dd>
+                    <dd><a lay-href="senior/echarts/bar.html">柱状图</a></dd>
+                    <dd><a lay-href="senior/echarts/map.html">地图</a></dd>
+                  </dl>
+                </dd>
+              </dl>
+            </li>
+            <li data-name="user" class="layui-nav-item">
+              <a href="javascript:;" lay-tips="用户" lay-direction="2">
+                <i class="layui-icon layui-icon-user"></i>
+                <cite>用户</cite>
+              </a>
+              <dl class="layui-nav-child">
+                <dd>
+                  <a lay-href="user/user/list.html">网站用户</a>
+                </dd>
+                <dd>
+                  <a lay-href="user/administrators/list.html">后台管理员</a>
+                </dd>
+                <dd>
+                  <a lay-href="user/administrators/role.html">角色管理</a>
+                </dd>
+              </dl>
+            </li>
+            <li data-name="set" class="layui-nav-item">
+              <a href="javascript:;" lay-tips="设置" lay-direction="2">
+                <i class="layui-icon layui-icon-set"></i>
+                <cite>设置</cite>
+              </a>
+              <dl class="layui-nav-child">
+                <dd class="layui-nav-itemed">
+                  <a href="javascript:;">系统设置</a>
+                  <dl class="layui-nav-child">
+                    <dd><a lay-href="set/system/website.html">网站设置</a></dd>
+                    <dd><a lay-href="set/system/email.html">邮件服务</a></dd>
+                  </dl>
+                </dd>
+                <dd class="layui-nav-itemed">
+                  <a href="javascript:;">我的设置</a>
+                  <dl class="layui-nav-child">
+                    <dd><a lay-href="set/user/info.html">基本资料</a></dd>
+                    <dd><a lay-href="set/user/password.html">修改密码</a></dd>
+                  </dl>
+                </dd>
+              </dl>
+            </li>
+            <li data-name="get" class="layui-nav-item">
+              <a href="javascript:;" lay-href="//www.layui.com/admin/#get" lay-tips="授权" lay-direction="2">
+                <i class="layui-icon layui-icon-auz"></i>
+                <cite>授权</cite>
+              </a>
+            </li>
+          </ul>
+        </div>
+      </div>

+ 114 - 0
app/store/assets/pc/html/inc/nav.html

@@ -0,0 +1,114 @@
+<div id="load_style" style="display:none;">
+</div>
+<style>
+@media screen and (max-width: 1024px) {
+    .nav{
+        display: none;
+    }
+}
+</style>
+<div id="dever-name" style="display:none;"></div>
+<div class="layui-header" id="nav">
+<!-- 头部区域 -->
+<ul class="layui-nav layui-layout-left" id="top">
+  <li class="layui-nav-item layadmin-flexible" lay-unselect>
+    <a href="javascript:;" layadmin-event="flexible" title="侧边伸缩">
+      <i class="layui-icon layui-icon-shrink-right" id="LAY_app_flexible"></i>
+    </a>
+  </li><li class="layui-nav-item" lay-unselect>
+    <a href="javascript:;" layadmin-event="back" title="上一页">
+      <i class="layui-icon layui-icon-return"></i>
+    </a>
+  </li><li class="layui-nav-item" lay-unselect>
+    <a href="javascript:;" layadmin-event="refresh" title="刷新">
+      <i class="layui-icon layui-icon-refresh-3"></i>
+    </a>
+  </li>
+</ul>
+
+<ul class="layui-nav layui-layout-right" lay-filter="layadmin-layout-right">
+
+  <li class="layui-nav-item auth-top" lay-unselect style="display:none;">
+    <a href="javascript:;">
+      <cite><span></span></cite>
+    </a>
+    <ul class="layui-nav-child">
+      <li><a lay-href="set/user/info.html">基本资料</a></li>
+    </ul>
+  </li>
+
+  <li class="layui-nav-item" lay-unselect style="display:none;">
+    <a lay-href="app/message/index.html" layadmin-event="message" lay-text="消息中心">
+      <i class="layui-icon layui-icon-notice"></i>  
+      
+      <!-- 如果有新消息,则显示小圆点 -->
+      <span class="layui-badge-dot"></span>
+    </a>
+  </li>
+  <li class="layui-nav-item layui-hide-xs" lay-unselect>
+    <a href="javascript:;" layadmin-event="theme">
+      <i class="layui-icon layui-icon-theme"></i>
+    </a>
+  </li>
+  <li class="layui-nav-item layui-hide-xs" lay-unselect style="display:none;">
+    <a href="javascript:;" layadmin-event="note">
+      <i class="layui-icon layui-icon-note"></i>
+    </a>
+  </li>
+  <li class="layui-nav-item layui-hide-xs" lay-unselect style="display:none;">
+    <a href="javascript:;" layadmin-event="fullscreen">
+      <i class="layui-icon layui-icon-screen-full"></i>
+    </a>
+  </li>
+  <li class="layui-nav-item" lay-unselect>
+    <a href="javascript:;">
+      <cite id="manage-name"></cite>
+    </a>
+    <dl class="layui-nav-child">
+      <dd><a id="edit_password" onclick="pass($(this));" style="cursor: pointer;display: none;">修改密码</a></dd>
+      <dd><a id="edit_user" href="javascript:;" onclick="editUser($(this));" style="cursor: pointer;">修改资料</a></dd>
+      <hr>
+      <dd style="text-align: center;"><a id="logout-url" href="javascript:;">退出</a></dd>
+    </dl>
+  </li>
+  
+  <li class="layui-nav-item layui-hide-xs" lay-unselect style="display:none;">
+    <a href="javascript:;" layadmin-event="about"><i class="layui-icon layui-icon-more-vertical"></i></a>
+  </li>
+  <li class="layui-nav-item layui-show-xs-inline-block layui-hide-sm" lay-unselect>
+    <a href="javascript:;" layadmin-event="more"><i class="layui-icon layui-icon-more-vertical"></i></a>
+  </li>
+</ul>
+</div>
+
+<script>
+function editUser(e)
+{
+  var name = e.attr('data-name');
+  var mobile = e.attr('data-mobile');
+  var html = '<style>.password_edit div{margin:10px;}.password_edit input{width:200px;}</style><div class="password_edit">';
+  html += '<div><label class="layui-form-label">姓名:</label><input type="text" class="form-control form_margin layui-input" id="edit_name" value="'+name+'"/></div>';
+  html += '<div><label class="layui-form-label">手机号:</label><input type="text" class="form-control form_margin layui-input" id="edit_mobile" value="'+mobile+'"/></div>';
+  html += '</div>';
+
+  var edit = function()
+  {
+    var edit_name = $("#edit_name").val();
+    var edit_mobile = $("#edit_mobile").val();
+    
+    if(!edit_name || !edit_mobile)
+    {
+      layer.msg('请输入姓名或者手机号');
+      return;
+    }
+    $.getJSON(config.host + 'admin/auth.edit?json=1', {name:edit_name,mobile:edit_mobile}, function(t)
+    {
+        msg(t);
+    })
+  };
+
+  console.info(html);
+
+  showAlert(html, edit, '修改资料');
+}
+</script>

+ 28 - 0
app/store/assets/pc/html/inc/script.html

@@ -0,0 +1,28 @@
+<!-- 加载图片展示 -->
+<script type="text/javascript" src="../script/lib/fancybox/jquery.fancybox.js"></script>
+
+<!-- 加载echarts -->
+<script type="text/javascript" src="../script/lib/echarts/echarts.common.min.js?v1"></script>
+
+<!-- 加载时间控件 -->
+<script type="text/javascript" src="../script/lib/datetime/jquery.datetimepicker.min.js"></script>
+
+<!-- 加载highlight.min.js -->
+<script type="text/javascript" src="../script/lib/highlight/highlight.min.js"></script>
+
+<!-- 加载valid -->
+<script type="text/javascript" src="../script/lib/valid/jquery.validationEngine.min.js?v3"></script>
+
+<script type="text/javascript" src="../script/lib/qiniu/upload/plupload.full.min.js"></script>
+<script type="text/javascript" src="../script/lib/qiniu/qiniu.upload.js"></script>
+<script type="text/javascript" src="../script/lib/tool/md5.js"></script>
+
+<script type="text/javascript" src="../script/lib/layui/upload.js?v23"></script>
+<script type="text/javascript" src="../script/lib/layui/layui.js"></script>
+
+<script type="text/javascript" src="../script/lib/clipboard/clipboard.js"></script>
+
+<script type="text/javascript" src="../script/lib/pic/holder.js"></script>
+
+<!-- 加载主要js,很乱,后续优化 -->
+<script type="text/javascript" src="../script/lib/manage/main.js?v72"></script>

+ 90 - 0
app/store/assets/pc/html/login.html

@@ -0,0 +1,90 @@
+
+
+<!DOCTYPE html>
+<html>
+<head>
+  <script class="include" system="" path="inc/" file="head">include()</script>
+  <link rel="stylesheet" href="../script/lib/layui/admin/style/login.css" media="all">
+</head>
+<body>
+
+  <div class="layadmin-user-login layadmin-user-display-show" id="LAY-user-login">
+    <form action="/auth.login" method="post" target="f1" class="form-horizontal m-t-20" id="login">
+    <input type="hidden" name="function" id="function" value="msg">
+    <input type="hidden" name="refer" id="refer" value="">
+    <iframe id="f1" name="f1" style="display:none;"></iframe>
+    <div class="layadmin-user-login-main">
+      <div class="layadmin-user-login-box layadmin-user-login-header">
+        <h2 id="name">dever</h2>
+      </div>
+      <div class="layadmin-user-login-box layadmin-user-login-body layui-form">
+        <div class="layui-form-item">
+          <label class="layadmin-user-login-icon layui-icon layui-icon-cellphone" for="LAY-user-login-cellphone"></label>
+          <input type="text" name="mobile" id="LAY-user-login-cellphone" lay-verify="phone" placeholder="手机号" class="layui-input">
+        </div>
+        <div class="layui-form-item">
+          <div class="layui-row">
+            <div class="layui-col-xs7">
+              <label class="layadmin-user-login-icon layui-icon layui-icon-vercode" for="LAY-user-login-vercode"></label>
+              <input type="text" name="mcode" id="LAY-user-login-vercode" lay-verify="required" placeholder="验证码" class="layui-input">
+            </div>
+            <div class="layui-col-xs5">
+              <div style="margin-left: 10px;">
+                <button type="button" class="layui-btn layui-btn-primary layui-btn-fluid" id="LAY-user-getsmscode">获取验证码</button>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="layui-form-item">
+          <button class="layui-btn layui-btn-fluid" lay-submit lay-filter="LAY-user-login-submit">登 入</button>
+        </div>
+      </div>
+    </div>
+    
+    <div class="layui-trans layadmin-user-login-footer">
+      <p id="footer">© 2015-2020 dever.cc,Inc. Licensed under MIT license.</p>
+    </div>
+    
+    <div class="ladmin-user-login-theme" style="display:none;">
+      <script type="text/html" template>
+        <ul>
+          <li data-theme=""><img src="{{ layui.setter.base }}style/res/bg-none.jpg"></li>
+          <li data-theme="#03152A" style="background-color: #03152A;"></li>
+          <li data-theme="#2E241B" style="background-color: #2E241B;"></li>
+          <li data-theme="#50314F" style="background-color: #50314F;"></li>
+          <li data-theme="#344058" style="background-color: #344058;"></li>
+          <li data-theme="#20222A" style="background-color: #20222A;"></li>
+        </ul>
+      </script>
+    </div>
+    </form> 
+  </div>
+
+  <script class="include" system="" path="inc/" file="script">include()</script>
+  <script>
+  $(function()
+  {
+    $("#login").bind("keydown",function(e){
+      var theEvent = e || window.event;    
+      var code = theEvent.keyCode || theEvent.which || theEvent.charCode;    
+      if (code == 13) {    
+              $("#login").submit();
+          }
+     });
+  });
+
+  </script>
+  <script>
+  layui.config({
+    base: '../script/lib/layui/admin/' //静态资源所在路径
+    ,version: true
+  }).extend({
+    index: 'lib/index' //主入口模块
+  }).use(['index', 'user'], function(){
+    var $ = layui.$
+    ,setter = layui.setter
+    ,admin = layui.admin
+  });
+  </script>
+</body>
+</html>

+ 73 - 0
app/store/assets/pc/html/msg.html

@@ -0,0 +1,73 @@
+
+
+<!DOCTYPE html>
+<html>
+<head>
+  <script class="include" system="" path="inc/" file="head">include()</script>
+</head>
+<body>
+  
+<div id="content_2" style="display:">
+  <div class="layui-fluid">
+    <div class="layui-card">
+      <input type="hidden" name="url1" id="url" value="http://192.168.33.10/churen/package/manage/?l=project/database/list&project=store&search_option_store_id=1&oper_table=info&page_type=2&table=member&menu=store&menu_id=65&search_option_state=1&search_option_store_id=1&search_option_state=1"/>
+
+      <form id="form1" name="form1" method="get" target="f1" action="http://192.168.33.10/churen/package/manage/?l=project/database/list&project=store&search_option_store_id=1&oper_table=info&page_type=2&table=member&menu=store&menu_id=65&search_option_state=1">
+      <input type="hidden" name="l" id="l" value="project/database/list"/>
+      <input type="hidden" name="project" id="project" value="store"/>
+      <input type="hidden" name="table" id="tables" value="member"/>
+      <input type="hidden" name="menu" id="menu" value="store"/>
+            <input type="hidden" name="search_option_state" id="search_option_state" value="1"/>
+
+      <input type="hidden" name="function" id="function" value="msg"/>
+      <input type="hidden" name="method" id="method" value="search"/>
+      <div id="search_param"></div> 
+      <iframe id="f1" name="f1" style="display:none;"></iframe>
+      <div class="layui-card-header" style="display:none;"><span id="list-name"></span> > <span id="list-project">仓库管理</span></div>
+
+      <div class="layui-card-body">
+
+        <div id="table_1" style="display:none"></div>
+        <div id="table_2" style="display:"> 
+          <table class="table layui-table layui-table-body" id="table">
+          <thead id="list-thead">
+              <tr><th data-priority="1">标题</th><th data-priority="1">内容</th><th data-priority="1">时间</th><th data-priority="1" class="dever-manage">管理</th></tr>
+          </thead>
+          <tbody id="list-tbody"><tr><td>test</td><td>12321</td><td>2021-11-08 16:43:01</td><td><a href="http://192.168.33.10/churen/package/manage/?l=project/database/update&project=store&search_option_store_id=1&oper_table=info&page_type=2&table=member&menu=store&menu_id=65&search_option_state=1&where_id=2" class="oper_update"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs"><span class="am-icon-pencil-square-o"></span>编辑</button></a>&nbsp;&nbsp;<a href="http://192.168.33.10/churen/package/manage/?l=database.delete_action&project=store&search_option_store_id=1&oper_table=info&page_type=2&table=member&menu=store&menu_id=65&search_option_state=1&where_id=2" class="oper_delete"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-danger layui-btn-xs"><span class="am-icon-trash-o"></span>删除</button></a>&nbsp;&nbsp;</td></tr></tbody>
+      </table>
+
+      <div id="mul"></div>
+      <div id="page"></div>
+      <div class="dever_desc" id="desc" style="display:none;"></div>
+        </div>
+      </div>
+       </div>
+        </div>
+      </form>
+    </div>
+  </div>
+</div>
+
+  <script class="include" system="" path="inc/" file="script">include()</script>
+  <script>
+    layui.config({
+        base: '../script/lib/layui/admin/' //静态资源所在路径
+    }).extend({
+    formSelects: 'plugin/formselects/formselects',
+    index: 'lib/index' //主入口模块
+  }).use(['index', 'contlist', 'table', 'form', 'formSelects'], function(){
+    var table = layui.table;
+    var form = layui.form; 
+    var formSelects = layui.formSelects;
+    init();
+  });
+
+  function read(url, id)
+  {
+  	$.post(url, {id:id});
+  }
+
+</script>
+</body>
+</html>
+

+ 83 - 0
app/store/assets/pc/html/order.html

@@ -0,0 +1,83 @@
+
+
+<!DOCTYPE html>
+<html>
+<head>
+  <script class="include" system="" path="inc/" file="head">include()</script>
+</head>
+<body>
+  
+  <div id="content_2" style="display:">  
+  <div class="layui-fluid">
+    <div class="layui-card">
+      <input type="hidden" name="url1" id="url" value="">
+
+      <form id="form1" name="form1" method="get" target="f1" action="">
+
+      <input type="hidden" name="function" id="function" value="msg">
+      <input type="hidden" name="l" id="l" value="order">
+      <input type="hidden" name="method" id="method" value="search">
+      <div id="search_param"></div> 
+      <iframe id="f1" name="f1" style="display:none;"></iframe>
+        <div class="layui-card-body" id="search_content" style="">
+
+          <div class="layui-form layui-card-header layuiadmin-card-header-auto">
+            <div class="layui-form-item">
+              <div id="search"><div style="margin-top:0px;"><div><div class="layui-inline"><div class="layui-input-inline"><input type="text" class="autoload_text layui-input update_value form-control layui-input " value="" name="order_num" id="order_num" autocomplete="off" placeholder="订单编号"></div></div><div class="layui-inline"><div class="layui-input-inline"><input type="text" value="" placeholder=">=订货时间" name="start" id="start" class="manage_date update_value form-control layui-input " autocomplete="off"></div></div><div class="layui-inline"><div class="layui-input-inline"><input type="text" value="" placeholder="<=订货时间" name="end" id="end" class="manage_date update_value form-control layui-input " autocomplete="off"></div></div><div class="layui-inline"><div class="layui-input-inline"><select lay-ignore="" xm-select-radio="" class="update_value form-control layui-input layui-select   " name="status" id="status"><option value="0" selected="">状态</option><option parent="" value="1">待支付</option><option parent="" value="2">待审核</option><option parent="" value="3">待发货</option><option parent="" value="4">待收货确认</option><option parent="" value="5">已完成</option><option parent="" value="6">已完成(有退款)</option><option parent="" value="7">已取消</option><option parent="" value="8">已退款</option><option parent="" value="11">已过期</option></select></div></div><div class="layui-inline"><input type="hidden" value="2" name="excel" id="excel" autocomplete="off"><button class="btn btn-primary layui-btn layuiadmin-btn-list" onclick="list_search($(this))" type="button" style="height: 38px;margin-left:0px;margin-top:-2px;">搜索</button></div></div></div></div>
+            </div>
+          </div>
+        </div>
+      <div class="layui-card-body">
+        <div style="padding-bottom: 10px;">
+          <a class="layui-btn layuiadmin-btn-list" data-type="add" id="list-parent" style="display:none" href="">返回上一页</a>
+
+          <a class="layui-btn layuiadmin-btn-list" data-type="add" id="list-add" href="http://zsmatest.nongxiaohe.com/package/manage/?l=project/database/update&amp;project=shop&amp;search_option_type=2&amp;table=buy_order&amp;menu=shop&amp;menu_id=99&amp;search_option_state=1" style="display:none">新增</a>
+
+          <span id="list-button"></span>
+        </div>
+        <div id="table_1" style="display:none"></div>
+        <div id="table_2" style="display:"> 
+          <table class="table layui-table layui-table-body" id="table">
+          <thead id="list-thead">
+              <tr><th data-priority="1"><input type="checkbox" class="checkbox-checkall" name="checkall" id="checkall" value="list" lay-ignore/></th><th data-priority="1">订单号</th><th data-priority="1">订货日期</th><th data-priority="1">订单收件人</th><th data-priority="1">发货日期</th><th data-priority="1">订单金额</th><th data-priority="1">订单状态</th><th data-priority="1" class="dever-manage">管理</th></tr>
+          </thead>
+          <tbody id="list-tbody"><tr><td><input type="checkbox" name="mul_where_id[]" class="checkbox-checkall-list" lay-ignore value="1"/></td><td>河北仓库1(18710001234)</td><td>测试仓库(15810090845)</td><td>F202111095151925058966182</td><td>38</td><td>2</td><td>待收货确认</td><td><a href="javascript:;" onclick="fastEdit($(this), 'http://zsmatest.nongxiaohe.com/package/manage/?l=project/database/list&amp;project=shop&amp;search_option_type=2&amp;page_type=2&amp;table=buy_order_goods&amp;project=shop&amp;order_id=1&amp;page_type=1&amp;menu=shop&amp;menu_id=99&amp;search_option_state=1', '查看详情', '', 1, 1)"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs">查看详情</button></a>&nbsp;&nbsp;</td></tr></tbody>
+      </table>
+
+      <div id="mul"><button class="btn btn-danger layui-btn layui-btn-danger" onclick="out($(this))" type="button" style="height: 38px;margin-left:10px;">批量打印备货单</button></div>
+      <div id="page"></div>
+      <div class="dever_desc" id="desc" style="display:none;"></div>
+        </div>
+      </div>
+       </form></div>
+        </div>
+      
+    </div>
+
+  <script class="include" system="" path="inc/" file="script">include()</script>
+  <script>
+    layui.config({
+        base: '../script/lib/layui/admin/' //静态资源所在路径
+    }).extend({
+    formSelects: 'plugin/formselects/formselects',
+    index: 'lib/index' //主入口模块
+  }).use(['index', 'contlist', 'table', 'form', 'formSelects'], function(){
+    var table = layui.table;
+    var form = layui.form; 
+    var formSelects = layui.formSelects;
+    init();
+  });
+
+  function out() {
+      layer.alert('开发中');
+
+      return;
+      var index = layer.confirm('确定进行此项操作吗?', function()
+      {
+
+      })
+  }
+</script>
+</body>
+</html>
+

File diff suppressed because it is too large
+ 17 - 0
app/store/assets/pc/html/order_send.html


+ 139 - 0
app/store/assets/pc/html/order_view.html

@@ -0,0 +1,139 @@
+
+
+<!DOCTYPE html>
+<html>
+<head>
+  <script class="include" system="" path="inc/" file="head">include()</script>
+  <style id="addstyle">#dever_modal_body img
+                {
+                    max-width:300px;
+                }</style>
+<style>
+.layui-table-cell .layui-select,.layui-table-cell .layui-input
+{
+    height: 25px;
+}
+.layui-table-cell {
+    height: auto;
+}
+
+.table th,.table td {
+  min-width: 70px;
+}
+#table_2,#table_1 {
+  overflow: auto;
+}
+.layui-btn-xs
+{
+  margin-top:1px;
+}
+.dever-emoji img {
+  width:16px;
+}
+.layui-tab-title {
+  height: 100%;
+  white-space: inherit;
+}
+.layui-form-item .layui-input-inline {
+    display: block;
+    float: none;
+    left: -3px;
+    margin: 0px 0px 0px 0px;
+}
+.chart {
+  width: 100%;
+  height:300px;
+}
+</style>
+</head>
+<body>
+<form class="layui-form form10" action="" target="f10" method="post">
+<iframe id="f10" name="f10" style="display:none;"></iframe>
+<div class="layui-form-item" id="show">[基本信息]:<table class="layui-table"><thead><tr><th style="width:20%">项目</th><th style="width:80%">详情</th></tr> </thead><tbody><tr>
+          <td>订单号</td>
+          <td>F202111094567206555170114&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+        </tr><tr>
+              <td>仓库信息</td>
+              <td>仓库名称:猪肉仓库&nbsp;&nbsp;&nbsp;&nbsp;联系人:猪肉&nbsp;&nbsp;&nbsp;&nbsp;联系电话:158100090845&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+            </tr><tr>
+                  <td>供应商信息</td>
+                  <td>仓库名称:第二个仓库&nbsp;&nbsp;&nbsp;&nbsp;联系人:第二个&nbsp;&nbsp;&nbsp;&nbsp;联系电话:2323&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+                </tr><tr>
+              <td>订单备注</td>
+              <td>12&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+            </tr><tr>
+              <td>订单信息</td>
+              <td><table class="layui-table"><thead><tr><th>金额</th><th>数量</th><th>订单状态</th><th></th></tr></thead><tbody><tr><td>30</td><td>2</td><td>待收货确认</td><td></td></tr></tbody></table></td>
+            </tr></tbody></table>[配送信息]:<table class="layui-table"><thead><tr><th>名称</th><th>单号</th><th>费用</th><th>数量</th><th>重量</th><th>体积</th><th>配货员</th><th>打包员</th><th>状态</th></tr></thead><tbody><tr><td>测试服务商</td><td>12321</td><td>312313</td><td>0</td><td>3123</td><td>12312</td><td>3213</td><td>12321</td><td>待处理</td></tr></tbody></table>[商品清单]:<table class="layui-table"><thead><tr><th>名称</th><th>属性</th><th>价格</th><th>数量</th><th>状态</th></tr></thead><tbody><tr><td>多组商品</td><td>2人份;高质量</td><td>123</td><td>1</td><td>正常</td></tr><tr><td>组合商品</td><td></td><td>3</td><td>1</td><td>正常</td></tr></tbody></table></div>
+
+<script>
+function audit(id, process, url)
+{
+    var index = layer.confirm('确定进行此项操作吗?', function()
+    {
+        $.getJSON(url, {id:id,process:process}, function(t)
+        {
+            msg(t);
+        })
+    })
+}
+
+function tui(goods_id, order_id, source_id, status, url)
+{
+    var index = layer.confirm('确定进行此项操作吗?', function()
+    {
+        $.getJSON(url, {order_goods_id:goods_id,order_id:order_id,type_id:source_id,type:13,status:status,desc:'厂家上报'}, function(t)
+        {
+            msg(t);
+        })
+    })
+}
+
+function cancel(order_id, source_id, url)
+{
+    var index = layer.confirm('确定进行此项操作吗?', function()
+    {
+        $.getJSON(url, {order_id:order_id,type_id:source_id,type:13,desc:'厂家上报'}, function(t)
+        {
+            msg(t);
+        })
+    })
+}
+
+function print(order_id)
+{
+    layer.alert('开发中');
+}
+</script></div>
+
+<script class="include" system="" path="inc/" file="script">include()</script>
+  <script>
+    layui.config({
+        base: '../script/lib/layui/admin/' //静态资源所在路径
+    }).extend({
+    formSelects: 'plugin/formselects/formselects',
+    index: 'lib/index' //主入口模块
+  }).use(['index', 'contlist', 'table', 'form', 'formSelects'], function(){
+    var table = layui.table;
+    var form = layui.form; 
+    var formSelects = layui.formSelects;
+    init();
+  });
+
+  function out() {
+      layer.alert('开发中');
+
+      return;
+      var index = layer.confirm('确定进行此项操作吗?', function()
+      {
+
+      })
+  }
+</script>
+</body>
+</html>
+

File diff suppressed because it is too large
+ 25 - 0
app/store/assets/pc/html/set.html


+ 283 - 0
app/store/assets/pc/html/setGoods.html

@@ -0,0 +1,283 @@
+<!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="store_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="store_id" id="store_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="setstore()">确认选择</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:'price', edit: 'text'}">销售价(元)</th>
+                                <th lay-data="{field:'p_price', edit: 'text'}">出厂价(元)</th>
+                                <!--<th lay-data="{field:'number', edit: 'text'}">数量</th>-->
+                                <th lay-data="{field:'operation'}">操作</th>
+                            </tr>
+                        </thead>
+                        <tbody id="goods">
+                            
+                        </tbody>
+                    </table>
+                </div>
+                <div class="total ft16">
+                    合计:【<span> 总金额:<i class="totalMoney">0.00</i> </span>】【<span> 总数量:<i class="totalQuantity">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 store_id = '<{$store_id}>';
+
+            layui.layer.confirm('确定进行此项设置吗?', function() {
+                var goods_string = JSON.stringify(goods);
+
+                var data = {};
+                data = {store_id:store_id, goods: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);
+                    }
+                });
+            });
+        })
+
+        /*
+        $("#goods").on("keyup", ".goods_num", function() {
+            var num = parseInt($(this).val());
+            if (!num || num <= 0) {
+                num = 1;
+                $(this).val(1);
+            }
+            var id = $(this).parent().attr('value');
+            goods[id].num = num;
+            setTotal();
+        });
+        */
+
+        $("#goods").on("keyup", ".goods_set_price", function() {
+            var num = parseInt($(this).val());
+            var id = $(this).parent().attr('value');
+            goods[id].p_price = num;
+            setTotal();
+        })
+    })
+    var 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;
+                goods[key].price = parseFloat(goods[key].price);
+                goods[key].p_price = parseFloat(goods[key].p_price);
+                goods[key].num = 1;
+                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_price">'+node.price+'</td>';              
+            addtr += '<td class="goods_p_price" value='+node.id+'><input type="tel" class="layui-input goods_set_price" value="'+node.p_price+'" /></td>';
+            //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><button class="delete_btn" onclick="del(\''+node.id+'\')">删除</button></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 = 1;
+        }
+
+        get(id).find('.goods_num').val(goods[id].num);
+        setTotal();
+    }
+
+    function del(id)
+    {
+        delete goods[id];
+        get(id).remove();
+        setTotal();
+    }
+
+
+    /*
+    //点击 - 单价 - 可编辑
+    $("#goods").on("click","td.danjia",function(){
+        if(!$(this).is('.bj')){   
+            var currentPrice = $(this).html();
+            $(this).focus();
+            $(this).addClass('bj').html('<input type="tel" class="layui-input" value="'+$(this).text()+'" />').find('input').focus().blur();    
+        } 
+    })
+    */
+    
+    function setTotal()
+    {
+        var cash = 0;
+        var num = 0;
+        for (var i in goods) {
+            num += goods[i].num;
+            cash += goods[i].p_price * goods[i].num;
+        }
+        $(".totalQuantity").html(num);
+        $(".totalMoney").html(cash.toFixed(2)); 
+    }
+
+    function setstore()
+    {
+        var store_id = $('.xm-select-parent[fs_id="store_id"] span[fsw="xm-select"]').attr('value');
+        if (!store_id) {
+            layui.layer.alert('请选择仓库');
+            return;
+        }
+        layui.layer.confirm('确定切换仓库吗?切换后现在选择的商品都将清空', function() {
+            location.href = '<{$host}>&id=' + store_id;
+        });
+    }
+</script>
+</body>
+</html>

File diff suppressed because it is too large
+ 67 - 0
app/store/assets/pc/html/stat.html


+ 80 - 0
app/store/assets/pc/html/stat_view.html

@@ -0,0 +1,80 @@
+
+
+<!DOCTYPE html>
+<html>
+<head>
+  <script class="include" system="" path="inc/" file="head">include()</script>
+</head>
+<body>
+
+<div id="content_1" style="display:"><form class="layui-form form10" action="" target="f10" method="post">
+<iframe id="f10" name="f10" style="display:none;"></iframe>
+<div class="layui-form-item" id="show"><div class="layui-card-body"><div class="layui-col-md12"><div class="layui-card"><div class="layui-card-header">对账单详情</div><div class="layui-card-body"><table class="layui-table"><tbody><tr>
+          <td width="80">对账仓库</td>
+          <td>第二个仓库&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+        </tr><tr>
+          <td width="80">对账周期</td>
+          <td>2021-11-01 ~ 2021-11-30&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+        </tr><tr>
+              <td width="80">对账金额</td>
+              <td>¥40元&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+            </tr><tr>
+          <td width="80">仓库对账状态</td>
+          <td>已对账&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+        </tr><tr>
+          <td width="100">平台对账状态</td>
+          <td>未对账&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+        </tr><tr>
+              <td>功能按钮</td>
+              <td><button class="layui-btn layui-btn-primary" onclick="load('http://192.168.33.10/churen/app/cash/?l=lib/manage.audit&id=2&type=store', '2021年11月与第二个仓库对账单款项是否正确<br />对账金额¥40元', '请确认')">立即确认</button>&nbsp;&nbsp;&nbsp;&nbsp;<button class="layui-btn layui-btn-primary" onclick="showAlert('联系人:test,联系电话:12321')">联系仓库</button>&nbsp;&nbsp;&nbsp;&nbsp;<a class="layui-btn layui-btn-primary" href="http://192.168.33.10/churen/package/manage/?l=database.list_excel&project=cash&table=order&search_option_status=2&search_option_state=1&search_option_start_cdate=2021-11-01 00:00:00&search_option_end_cdate=2021-11-30 23:59:59">导出对账单</a>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+
+            </tr></tbody></table></div></div><div class="layui-card"><div class="layui-card-header">对账清单</div><div class="layui-card-body" style="max-heights: 500px;overflow: auto;"><table class="layui-table"><thead><tr><th>结算单号</th><th>订货单号</th><th>结算类型</th><th>下单日期</th><th>完成日期</th><th>结算日期</th><th>对账金额</th><th>结算状态</th></tr></thead><tbody><tr><td>JS202111154912637891491837</td><td><a href="http://192.168.33.10/churen/package/manage/?l=project/database/list&project=shop&table=buy_order_goods&order_id=22&page_type=1" style="color:blue">C202111154887023076548752_1</a></td><td>退款结算</td><td>2021-11-15 12:05</td><td>1970-01-01 08:00</td><td>1970-01-01 08:00</td><td>-8</td><td>已入账</td></tr><tr><td>JS202111154900859732139791</td><td><a href="http://192.168.33.10/churen/package/manage/?l=project/database/list&project=shop&table=buy_order_goods&order_id=21&page_type=1" style="color:blue">C202111154887023076548752_0</a></td><td>退款结算</td><td>2021-11-15 12:03</td><td>2021-11-15 12:03</td><td>2021-11-15 12:04</td><td>-12</td><td>已入账</td></tr><tr><td>JS202111154891153233901825</td><td><a href="http://192.168.33.10/churen/package/manage/?l=project/database/list&project=shop&table=buy_order_goods&order_id=21&page_type=1" style="color:blue">C202111154887023076548752_0</a></td><td>订货结算</td><td>2021-11-15 12:01</td><td>2021-11-15 12:03</td><td>2021-11-15 12:03</td><td>52</td><td>已入账</td></tr></tbody></table></div></div></div></div></div>
+
+<script>
+function audit(id, process, url)
+{
+    var index = layer.confirm('确定进行此项操作吗?', function()
+    {
+        $.post(url, {id:id,process:process}, function(t)
+        {
+            location.reload();
+        })
+    })
+}
+
+function print(order_id)
+{
+    layer.alert('开发中');
+}
+</script>
+</form></div>
+
+
+<script class="include" system="" path="inc/" file="script">include()</script>
+  <script>
+    layui.config({
+        base: '../script/lib/layui/admin/' //静态资源所在路径
+    }).extend({
+    formSelects: 'plugin/formselects/formselects',
+    index: 'lib/index' //主入口模块
+  }).use(['index', 'contlist', 'table', 'form', 'formSelects'], function(){
+    var table = layui.table;
+    var form = layui.form; 
+    var formSelects = layui.formSelects;
+    init();
+  });
+
+  function restart()
+  {
+  		$('#restart').hide();
+  		$('#update_button').show();
+  }
+
+</script>
+</body>
+</html>

+ 71 - 0
app/store/assets/pc/html/user.html

@@ -0,0 +1,71 @@
+
+
+<!DOCTYPE html>
+<html>
+<head>
+  <script class="include" system="" path="inc/" file="head">include()</script>
+</head>
+<body>
+  
+<div id="content_2" style="display:">
+  <div class="layui-fluid">
+    <div class="layui-card">
+      <input type="hidden" name="url1" id="url" value="http://192.168.33.10/churen/package/manage/?l=project/database/list&project=store&search_option_store_id=1&oper_table=info&page_type=2&table=member&menu=store&menu_id=65&search_option_state=1&search_option_store_id=1&search_option_state=1"/>
+
+      <form id="form1" name="form1" method="get" target="f1" action="http://192.168.33.10/churen/package/manage/?l=project/database/list&project=store&search_option_store_id=1&oper_table=info&page_type=2&table=member&menu=store&menu_id=65&search_option_state=1">
+      <input type="hidden" name="l" id="l" value="project/database/list"/>
+      <input type="hidden" name="project" id="project" value="store"/>
+      <input type="hidden" name="table" id="tables" value="member"/>
+      <input type="hidden" name="menu" id="menu" value="store"/>
+            <input type="hidden" name="search_option_state" id="search_option_state" value="1"/>
+
+      <input type="hidden" name="function" id="function" value="msg"/>
+      <input type="hidden" name="method" id="method" value="search"/>
+      <div id="search_param"></div> 
+      <iframe id="f1" name="f1" style="display:none;"></iframe>
+      <div class="layui-card-header" style="display:none;"><span id="list-name"></span> > <span id="list-project">仓库管理</span></div>
+
+      <div class="layui-card-body">
+        <div style="padding-bottom: 10px;">
+          <a class="layui-btn layuiadmin-btn-list" data-type="add" id="list-add" href="http://192.168.33.10/churen/package/manage/?l=project/database/update&project=store&search_option_store_id=1&oper_table=info&page_type=2&table=member&menu=store&menu_id=65&search_option_state=1" style="">添加新员工</a>
+
+        </div>
+        <div id="table_1" style="display:none"></div>
+        <div id="table_2" style="display:"> 
+          <table class="table layui-table layui-table-body" id="table">
+          <thead id="list-thead">
+              <tr><th data-priority="1">员工姓名</th><th data-priority="1">员工手机号</th><th data-priority="1">角色</th><th data-priority="1">创建时间</th><th data-priority="1" class="dever-manage">管理</th></tr>
+          </thead>
+          <tbody id="list-tbody"><tr><td>test</td><td>12321</td><td>管理员</td><td>2021-11-08 16:43:01</td><td><a href="http://192.168.33.10/churen/package/manage/?l=project/database/update&project=store&search_option_store_id=1&oper_table=info&page_type=2&table=member&menu=store&menu_id=65&search_option_state=1&where_id=2" class="oper_update"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-xs"><span class="am-icon-pencil-square-o"></span>编辑</button></a>&nbsp;&nbsp;<a href="http://192.168.33.10/churen/package/manage/?l=database.delete_action&project=store&search_option_store_id=1&oper_table=info&page_type=2&table=member&menu=store&menu_id=65&search_option_state=1&where_id=2" class="oper_delete"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 layui-btn layui-btn-danger layui-btn-xs"><span class="am-icon-trash-o"></span>删除</button></a>&nbsp;&nbsp;</td></tr></tbody>
+      </table>
+
+      <div id="mul"></div>
+      <div id="page"></div>
+      <div class="dever_desc" id="desc" style="display:none;"></div>
+        </div>
+      </div>
+       </div>
+        </div>
+      </form>
+    </div>
+  </div>
+</div>
+
+  <script class="include" system="" path="inc/" file="script">include()</script>
+  <script>
+    layui.config({
+        base: '../script/lib/layui/admin/' //静态资源所在路径
+    }).extend({
+    formSelects: 'plugin/formselects/formselects',
+    index: 'lib/index' //主入口模块
+  }).use(['index', 'contlist', 'table', 'form', 'formSelects'], function(){
+    var table = layui.table;
+    var form = layui.form; 
+    var formSelects = layui.formSelects;
+    init();
+  });
+
+</script>
+</body>
+</html>
+

File diff suppressed because it is too large
+ 16 - 0
app/store/assets/pc/html/user_edit.html


+ 33 - 0
app/store/database/goods_sku.php

@@ -139,6 +139,39 @@ $config = array
     # request 请求接口定义
     'request' => array
     (
+        'getDataPage' => array
+        (
+            # 匹配的正则或函数 选填项
+            'option' => array
+            (
+                'store_id' => array('yes-t_1.store_id'),
+                'name' => array('yes-t_2.name', 'like'),
+                'total' => array('yes|t_1.total_num-t_1.sell_num', '<'),
+                'column' => array('yes-t_2.column_id', 'like'),
+                'category' => array('yes-t_2.category', 'like'),
+                'top_category_id' => array('yes-t_2.top_category_id'),
+                'second_category_id' => array('yes-t_2.second_category_id'),
+                'category_id' => array('yes-t_2.category_id'),
+                'status' => array('yes-t_2.status', 1),
+                'state' => array('yes-t_2.state', 1),
+            ),
+            # 联表
+            'join' => array
+            (
+                array
+                (
+                    'table' => 'goods/info',
+                    'type' => 'left join',
+                    'on' => array('goods_id','id'),
+                    'col' => 'goods_id',
+                ),
+            ),
+            'type' => 'all',
+            'order' => array('t_2.reorder' => 'desc', 't_2.id' => 'desc', 't_2.price' => 'asc'),
+            'page' => array(30, 'list'),
+            'col' => '*,t_2.name,t_2.cover,t_2.id as id,t_1.total_num-t_1.sell_num as total,t_1.sell_num',
+        ),
+        
         # 列表
         'getData' => array
         (

+ 23 - 2
app/store/database/info.php

@@ -6,7 +6,7 @@ $status = array
     2 => '认证中',
     3 => '认证失败',
 );
-
+$stat_type = Dever::db('cash/shop')->config['config_type'];
 return array
 (
     # 表名
@@ -274,6 +274,27 @@ return array
             'edit'      => true,
         ),
 
+        'stat_type'        => array
+        (
+            'type'      => 'int-11',
+            'name'      => '对账周期-可以选择按月还是按周生成对账单',
+            'default'   => '1',
+            'desc'      => '对账周期',
+            'match'     => 'is_numeric',
+            'update'    => 'radio',
+            'option'    => $stat_type,
+        ),
+
+        'stat_day'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => '对账单生成日期-这里直接填写对账周期内的第几天即可,如按月对账,这里填写10,就是本月10号生成上一个月的对账单,如按周对账,这里填写2,就是本周二生成上一周的对账单',
+            'default'   => '10',
+            'desc'      => '对账单生成日期',
+            'match'     => 'option',
+            'update'    => 'text',
+        ),
+
         'reorder'       => array
         (
             'type'      => 'int-11',
@@ -315,7 +336,7 @@ return array
         (
             //'add' => array('设置库存清单', '"info&where_id={id}&col=goods&oper_save_jump=info&oper_table=info&oper_parent=info"'),
 
-            'list3' => array('商品列表', '"goods&search_option_factory_id={id}&oper_table=info"'),
+            'list3' => array('商品列表', '"goods&search_option_store_id={id}&oper_table=info"'),
 
             'list1' => array('账号管理', '"member&search_option_store_id={id}&oper_table=info"'),
 

+ 28 - 0
app/store/lib/Goods.php

@@ -52,4 +52,32 @@ class Goods
 
         return $state;
     }
+
+    # 获取店铺的商品SKU列表
+    public function getGoodsSku($store)
+    {
+        $table = 'store/goods_sku';
+        $where['store_id'] = isset($store['id']) ? $store['id'] : $store;
+        $method = 'getDataPage';
+        
+        $name = Dever::input('name');
+        if ($name) {
+            $where['name'] = $name;
+        }
+        $total = Dever::input('total');
+        if ($total) {
+            $where['total'] = $total;
+        }
+        
+        $data = Dever::db($table)->$method($where);
+
+        $result = array();
+        if ($data) {
+            foreach ($data as $k => $v) {
+                $data[$k] = Dever::load('goods/lib/info')->getPayInfo($v, $v['sku_id']);
+            }
+        }
+
+        return $data;
+    }
 }

+ 22 - 0
app/store/page/list.php

@@ -0,0 +1,22 @@
+<?php
+# 定义父节点的类型、属性等(整个page的节点)
+$html->parent = array('ul', 'class="pagination layui-box layui-laypage layui-laypage-default" style="display:inline-flex;"');
+# 定义子节点的类型、属性等(每个page的节点)
+$html->child = array('li', 'class=""');
+# 定义上一页的名称、样式
+$html->prev = array('上一页', 'btn p1 layui-laypage-prev');
+# 定义下一页的名称、样式
+$html->next = array('下一页', 'btn p2 layui-laypage-next');
+# 定义每个页数的样式,当前页的样式 样式写在哪 是否和旧样式共用
+$html->page = array('layui-laypage-curr', 'dever_page_disabled layui-disabled', '');
+# 定义开始页
+$html->start = array('首页', 'layui-laypage-first');
+# 定义结束页
+$html->end = array('末页', 'layui-laypage-last');
+# 定义跳转页
+$html->jump = '<li class="layui-laypage-skip"><input type="text" class="form-control" id="dever_page" style="margin-top:0px;width:50px;font-size: 12px;" value="'.$page->current().'" onclick="$(this).val(\'\')"/><a href="javascript:;" style="float:right;" class="" {click}>跳转</a></li><li><span class="layui-laypage-count">每页 '.$page->num.' 条,共 '.$page->total.' 条</span></li>';
+
+# 定义扩展信息
+$html->ext = '';
+# 生成
+$html->create();

+ 16 - 0
app/store/template/pc/console.php

@@ -0,0 +1,16 @@
+<?php
+
+# 后续添加:自定义的待办、快捷方式、数据概览、推荐列表等
+
+$view
+->fetch('#system_name', 'store/admin/auth.config#name')
+
+->fetch('#kf', 'store/admin/auth.config#kf_name')
+->fetch('#kfphone', 'store/admin/auth.config#phone')
+
+->fetch('#order_num', 'store/admin/order.getData#order_num')
+->fetch('#cs_order_num', 'store/admin/order.getData#cs_order_num')
+->fetch('#sh_order_num', 'store/admin/order.getData#sh_order_num')
+
+# display
+->display();

+ 24 - 0
app/store/template/pc/factory_order.php

@@ -0,0 +1,24 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+$view
+
+# 定义名称
+->fetch('#content_2@test', '1')  
+->fetch('#status', 'store/admin/factory_order.getSearch') 
+->fetch('#form1@action', 'store/admin/factory_order.getConfig#search') 
+
+->fetch('#list-tbody', 'store/admin/factory_order.getList') 
+
+
+->fetch('#order_num@value', '<{Dever::input("order_num")}>') 
+->fetch('#start@value', '<{Dever::input("start")}>') 
+->fetch('#end@value', '<{Dever::input("end")}>')  
+
+->fetch('#page','<{Dever::page("current")}>') 
+
+# display
+->display();

+ 22 - 0
app/store/template/pc/goods.php

@@ -0,0 +1,22 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+$view
+
+# 定义名称
+->fetch('#content_2@test', '1')  
+->fetch('#total', 'store/admin/goods.getSearch') 
+->fetch('#form1@action', 'store/admin/goods.getConfig#search') 
+
+->fetch('#list-tbody', 'store/admin/goods.getList') 
+
+
+->fetch('#name@value', '<{Dever::input("name")}>') 
+
+->fetch('#page','<{Dever::page("current")}>') 
+
+# display
+->display();

+ 33 - 0
app/store/template/pc/help.php

@@ -0,0 +1,33 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+$view
+
+# 定义名称
+->fetch('body@test', '1')  
+
+->loop
+(
+    '.layui-colla-item',
+    'store/admin/help.getList',
+    array
+    (
+        '.layui-colla-title' => array
+        (
+            'html' => '<{$v.name}>',
+        ),
+
+        '.layui-colla-content' => array
+        (
+            'html' => '<{$v.content}>',
+            'class' => '<{$k == 0 ? "layui-colla-content layui-show" : "layui-colla-content"}>'
+        ),
+    )
+)
+->fetch('#page','<{Dever::page("current")}>') 
+
+# display
+->display();

+ 19 - 0
app/store/template/pc/home.php

@@ -0,0 +1,19 @@
+<?php
+
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+ */
+$view
+  
+->fetch('#LAY_app@class', 'store/admin/auth.cookie#wrapper')       
+->fetch('.layadmin-iframe@src', 'store/admin/auth.link#console')
+
+->fetch('#LAY_app_tabsheader li@lay-id', 'store/admin/auth.link#console')
+->fetch('#LAY_app_tabsheader li@lay-attr', 'store/admin/auth.link#console')
+
+->set('admin', 'store/admin/auth.check')
+     
+# display 
+->display();

+ 24 - 0
app/store/template/pc/inc/head.php

@@ -0,0 +1,24 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+
+$name = '后台管理';
+
+$view
+
+# 定义名称
+->fetch('title', 					'store/admin/auth.config#name')
+->fetch(array('meta@content', 1), 	'store/admin/auth.config#name')
+->fetch(array('meta@content', 2), 	'store/admin/auth.config#name')
+->fetch(array('meta@content', 3), 	'store/admin/auth.config#name')
+ 
+# 初始化几个js变量
+->fetch('#script',	'<{Dever::script()}>config.lib="<{Dever::config("host")->public}>"')
+
+->fetch('#style', '<{Dever::load("store/admin/auth.loading") ? ".content,.content-page{margin-left: 0px;min-height:auto}" : ""}>')
+
+# display
+->display();

+ 17 - 0
app/store/template/pc/inc/menu.php

@@ -0,0 +1,17 @@
+<?php
+
+# 项目列表中的管理选项:
+# 数据库基本配置与数据管理、模板列表与生成、项目基本配置与管理等
+# 这里面很多都是demo
+$view
+
+->fetch('#dever-name', 'store/admin/auth.config#name')
+
+# 首页的链接
+->fetch('#console-url@lay-href', 'store/admin/auth.link#console')   
+
+# 项目列表
+->fetch('#LAY-system-side-menu', 'store/admin/auth.getMenu')
+
+# display
+->display();

+ 23 - 0
app/store/template/pc/inc/nav.php

@@ -0,0 +1,23 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| 头部
+|--------------------------------------------------------------------------
+*/
+
+$view
+
+->fetch('#nav@style', '<{Dever::load("store/admin/auth.loading") ? "display:none;" : ""}>')
+
+->fetch('#dever-name', 'store/admin/auth.config#name')
+
+->fetch('#manage-name', 'store/admin/auth.info#name')
+
+->fetch('#edit_user@data-name', 'store/admin/auth.info#name')
+
+->fetch('#edit_user@data-mobile', 'store/admin/auth.info#mobile')
+
+->fetch('#logout-url@href', 'store/admin/auth.link#logout')
+
+# display
+->display();

+ 14 - 0
app/store/template/pc/inc/script.php

@@ -0,0 +1,14 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+
+$view
+
+# 定义名称
+->fetch('#myModalLabel@load', 					'init')
+
+# display
+->display();

+ 25 - 0
app/store/template/pc/login.php

@@ -0,0 +1,25 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+$view
+
+# 定义名称
+->fetch('#name', 'store/admin/auth.config#name')  
+
+# 定义尾部
+->fetch('#footer', 'store/admin/auth.config#foot', 'none') 
+
+# 定义refer
+->fetch('#refer@value', 'store/admin/auth.config#refer')
+
+# 定义form action
+->fetch('#login@action', 'store/admin/auth.config#login_url')
+
+# 定义验证码获取接口
+->fetch('#LAY-user-getsmscode@url', 'store/admin/auth.config#mcode_url')
+
+# display
+->display();

+ 17 - 0
app/store/template/pc/msg.php

@@ -0,0 +1,17 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+$view
+
+# 定义名称
+->fetch('#content_2@test', '1')  
+
+->fetch('#list-tbody', 'store/admin/msg.getList') 
+
+->fetch('#page','<{Dever::page("current")}>') 
+
+# display
+->display();

+ 24 - 0
app/store/template/pc/order.php

@@ -0,0 +1,24 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+$view
+
+# 定义名称
+->fetch('#content_2@test', '1')  
+->fetch('#status', 'store/admin/order.getSearch') 
+->fetch('#form1@action', 'store/admin/order.getConfig#search') 
+
+->fetch('#list-tbody', 'store/admin/order.getList') 
+
+
+->fetch('#order_num@value', '<{Dever::input("order_num")}>') 
+->fetch('#start@value', '<{Dever::input("start")}>') 
+->fetch('#end@value', '<{Dever::input("end")}>')  
+
+->fetch('#page','<{Dever::page("current")}>') 
+
+# display
+->display();

+ 16 - 0
app/store/template/pc/order_send.php

@@ -0,0 +1,16 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+$view
+
+# 定义名称
+->fetch('#update_service_id', 'store/admin/order.getService') 
+->fetch('.form1@action', 'store/admin/order.getConfig#send') 
+->fetch('#update_where_id@value', '<{Dever::input("id")}>') 
+
+
+# display
+->display();

+ 5 - 0
app/store/template/pc/order_view.php

@@ -0,0 +1,5 @@
+<?php
+
+$view
+->fetch('#show', 'mshop/lib/buy.show')
+->display();

+ 41 - 0
app/store/template/pc/set.php

@@ -0,0 +1,41 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+$view
+
+# 定义名称
+->fetch('.form1@action', 'store/admin/info.getConfig#update') 
+->fetch('#update_where_id@value', '<{Dever::input("id")}>') 
+
+->render('store/admin/info.getData', array  
+(
+    '#update_name_value@value' => '$v.name',
+    '#update_truename_value@value' => '$v.truename',
+    '#update_mobile_value@value' => '$v.mobile',
+    '#update_address_value@value' => '$v.address',
+    '#update_license_number_value@value' => '$v.license_number',
+    '#dever-linkage-update_area' => '$v.area',
+    '#show_update_license_license@style' => array('<{$v.license}>', 'display:none'),
+    '#show_update_license_license@src' => '$v.license',
+    '#update_license_license@value' => '$v.license',
+
+    '#show_update_idcard_back_idcard_back@style' => array('<{$v.idcard_back}>', 'display:none'),
+    '#show_update_idcard_back_idcard_back@src' => '$v.idcard_back',
+    '#update_idcard_back_idcard_back@value' => '$v.idcard_back',
+
+    '#show_update_idcard_front_idcard_front@style' => array('<{$v.idcard_front}>', 'display:none'),
+    '#show_update_idcard_front_idcard_front@src' => '$v.idcard_front',
+    '#update_idcard_front_idcard_front@value' => '$v.idcard_front',
+
+    '#show_update_kh_license_kh_license@style' => array('<{$v.kh_license}>', 'display:none'),
+    '#show_update_kh_license_kh_license@src' => '$v.kh_license',
+    '#update_kh_license_kh_license@value' => '$v.kh_license',
+
+    '#restart' => '$v.status',
+))
+
+# display
+->display();

+ 24 - 0
app/store/template/pc/stat.php

@@ -0,0 +1,24 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+$view
+
+# 定义名称
+->fetch('#content_2@test', '1')  
+->fetch('#store_status', 'store/admin/stat.getSearch') 
+->fetch('#form1@action', 'store/admin/stat.getConfig#search') 
+
+->fetch('#list-tbody', 'store/admin/stat.getList') 
+
+
+->fetch('#store_status@value', '<{Dever::input("store_status")}>') 
+->fetch('#start@value', '<{Dever::input("start")}>') 
+->fetch('#end@value', '<{Dever::input("end")}>')  
+
+->fetch('#page','<{Dever::page("current")}>') 
+
+# display
+->display();

+ 5 - 0
app/store/template/pc/stat_view.php

@@ -0,0 +1,5 @@
+<?php
+
+$view
+->fetch('#show', 'cash/lib/set.view')
+->display();

+ 20 - 0
app/store/template/pc/user.php

@@ -0,0 +1,20 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+$view
+
+# 定义名称
+->fetch('#content_2@test', '1')  
+->fetch('#list-add@href', 'javascript:;') 
+->fetch('#list-add@onclick', 'store/admin/user.getConfig#add') 
+->fetch('#form1@action', 'store/admin/user.getConfig#search') 
+
+->fetch('#list-tbody', 'store/admin/user.getList') 
+
+->fetch('#page','<{Dever::page("current")}>') 
+
+# display
+->display();

+ 24 - 0
app/store/template/pc/user_edit.php

@@ -0,0 +1,24 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+$view
+
+# 定义名称
+->fetch('.am-btn-group', 'store/admin/user.getRole') 
+->fetch('.form1@action', 'store/admin/user.getConfig#update') 
+->fetch('#update_where_id@value', '<{Dever::input("id")}>') 
+
+->render('store/admin/user.getData', array  
+(
+    '#update_name_value@value' => '$v.name',
+    '#update_mobile_value@value' => '$v.mobile',
+    '#update_avatar_avatar@value' => '$v.avatar',
+    '#show_update_avatar_avatar@style' => array('<{$v.avatar}>', 'display:none'),
+    '#show_update_avatar_avatar@src' => '$v.avatar',
+))
+
+# display
+->display();

Some files were not shown because too many files changed in this diff