dever 3 years ago
parent
commit
6c84f6ef36

+ 15 - 0
app/factory/admin/Auth.php

@@ -296,6 +296,13 @@ class Auth
 
     public function menu()
     {
+        $info = $this->info();
+        if ($info) {
+            $this->msg = Dever::load('message/lib/data')->num($info['factory_id'], 4);
+        } else {
+            $this->msg = 0;
+        }
+
         $data = array
         (
             'console' => array
@@ -425,10 +432,18 @@ class Auth
                     }
                     $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>';
         }

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

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

+ 11 - 1
app/factory/admin/Info.php

@@ -10,6 +10,17 @@ class Info extends Core
     {
         $data = Dever::db('factory/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;
     }
 
@@ -33,7 +44,6 @@ class Info extends Core
         $update['address'] = $input['update_address'];
         $update['license'] = $input['update_license'];
         $update['license_number'] = $input['update_license_number'];
-        $update['company_name'] = $input['update_company_name'];
         $update['idcard_front'] = $input['update_idcard_front'];
         $update['idcard_back'] = $input['update_idcard_back'];
         $update['kh_license'] = $input['update_kh_license'];

+ 0 - 67
app/factory/admin/Member.php

@@ -1,67 +0,0 @@
-<?php
-namespace Factory\Admin;
-
-use Dever;
-
-class Member extends Core
-{
-    # 获取基本信息
-    public function getData()
-    {
-        $id = Dever::input('id');
-        $data = Dever::db('factory/member')->find($id);
-
-        return $data;
-    }
-
-    # 订单列表
-    public function getList()
-    {
-        $data = Dever::db('factory/member')->select_page(array('factory_id' => $this->id));
-
-        $html = '';
-        if ($data) {
-            foreach ($data as $k => $v) {
-
-                $view = Dever::url('order_view?type=2&order_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>';
-
-
-                $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 getConfig()
-    {
-        # 修改资料
-        $data['update'] = Dever::url('admin/member.update', 'factory');
-        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['factory_id'] = $this->id;
-
-        $update['where_id'] = Dever::input('update_where_id');
-        if ($update['where_id']) {
-            Dever::db('factory/info')->update($update);
-        } else {
-            Dever::db('factory/info')->insert($update);
-        }
-
-        
-
-        return 'reload';
-    }
-}

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

@@ -0,0 +1,63 @@
+<?php
+namespace Factory\Admin;
+
+use Dever;
+
+class Msg extends Core
+{
+    # 列表
+    public function getList()
+    {
+        $data = Dever::load('message/lib/data')->read($this->id, false, false, false, 4);
+
+        $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', 'factory');
+
+				$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'], 'factory');
+						} elseif ($data[$k]['param']['type'] == 2) {
+							$view = '';
+						}
+
+						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>';
+						}
+					}
+				}
+
+				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';
+    }
+}

+ 6 - 2
app/factory/admin/Order.php

@@ -43,13 +43,17 @@ class Order extends Core
         		$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>';
 
         		if ($v['status'] < 5) {
-        			$button .= '&nbsp;&nbsp;<a href="javascript:;" 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>';
+        			$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:;" 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>';
+        			$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>';
         	}
         }

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

@@ -0,0 +1,134 @@
+<?php
+namespace Factory\Admin;
+
+use Dever;
+
+class User extends Core
+{
+    # 获取基本信息
+    public function getData()
+    {
+        $id = Dever::input('id');
+        if ($id) {
+            $data = Dever::db('factory/member')->find($id);
+        } else {
+            $data = false;
+        }
+    
+        return $data;
+    }
+
+    # 获取角色
+    public function getRole()
+    {
+        $role = Dever::db('factory/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('factory/member')->list(array('factory_id' => $this->id));
+
+        $html = '';
+        if ($data) {
+            $role = Dever::db('factory/member')->config['role'];
+            foreach ($data as $k => $v) {
+
+                $edit = Dever::url('user_edit?id=' . $v['id'], 'factory');
+
+                $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, 'factory');
+
+                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', 'factory');
+        $data['add'] = Dever::url('user_edit', 'factory');
+        $data['add'] = 'fastEdit($(this), \''.$data['add'].'\', \'添加新员工\', \'\', 1)';
+        $data['search'] = Dever::url('user', 'factory');
+        $data['delete'] = Dever::url('admin/del', 'factory');
+        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['factory_id'] = $this->id;
+
+        $update['where_id'] = Dever::input('update_where_id');
+        if ($update['where_id']) {
+            Dever::db('factory/member')->update($update);
+        } else {
+            Dever::db('factory/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('factory/member')->update($update);
+        }
+
+        return 'reload';
+    }
+}

+ 79 - 0
app/factory/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>
+

+ 73 - 0
app/factory/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=factory&search_option_factory_id=1&oper_table=info&page_type=2&table=member&menu=factory&menu_id=65&search_option_state=1&search_option_factory_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=factory&search_option_factory_id=1&oper_table=info&page_type=2&table=member&menu=factory&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="factory"/>
+      <input type="hidden" name="table" id="tables" value="member"/>
+      <input type="hidden" name="menu" id="menu" value="factory"/>
+            <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=factory&search_option_factory_id=1&oper_table=info&page_type=2&table=member&menu=factory&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=factory&search_option_factory_id=1&oper_table=info&page_type=2&table=member&menu=factory&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>
+

+ 11 - 1
app/factory/assets/pc/html/order.html

@@ -44,7 +44,7 @@
           <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="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>
@@ -67,6 +67,16 @@
     var formSelects = layui.formSelects;
     init();
   });
+
+  function out() {
+      layer.alert('开发中');
+
+      return;
+      var index = layer.confirm('确定进行此项操作吗?', function()
+      {
+
+      })
+  }
 </script>
 </body>
 </html>

+ 24 - 2
app/factory/assets/pc/html/order_view.html

@@ -60,9 +60,31 @@ function audit(id, process, url)
 {
     var index = layer.confirm('确定进行此项操作吗?', function()
     {
-        $.post(url, {id:id,process:process}, function(t)
+        $.getJSON(url, {id:id,process:process}, function(t)
         {
-            location.reload();
+            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);
         })
     })
 }

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


+ 71 - 0
app/factory/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=factory&search_option_factory_id=1&oper_table=info&page_type=2&table=member&menu=factory&menu_id=65&search_option_state=1&search_option_factory_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=factory&search_option_factory_id=1&oper_table=info&page_type=2&table=member&menu=factory&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="factory"/>
+      <input type="hidden" name="table" id="tables" value="member"/>
+      <input type="hidden" name="menu" id="menu" value="factory"/>
+            <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=factory&search_option_factory_id=1&oper_table=info&page_type=2&table=member&menu=factory&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=factory&search_option_factory_id=1&oper_table=info&page_type=2&table=member&menu=factory&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=factory&search_option_factory_id=1&oper_table=info&page_type=2&table=member&menu=factory&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/factory/assets/pc/html/user_edit.html


+ 1 - 0
app/factory/database/member.php

@@ -16,6 +16,7 @@ return array
     'lang' => '账号管理',
     'menu' => false,
     'check' => 'mobile',
+    'role' => $role,
     # 数据结构
     'struct' => array
     (

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

@@ -0,0 +1,33 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+$view
+
+# 定义名称
+->fetch('body@test', '1')  
+
+->loop
+(
+    '.layui-colla-item',
+    'factory/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();

+ 2 - 0
app/factory/template/pc/home.php

@@ -12,6 +12,8 @@ $view
 
 ->fetch('#LAY_app_tabsheader li@lay-id', 'factory/admin/auth.link#console')
 ->fetch('#LAY_app_tabsheader li@lay-attr', 'factory/admin/auth.link#console')
+
+->set('admin', 'factory/admin/auth.check')
      
 # display 
 ->display();

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

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

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

@@ -0,0 +1,41 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+$view
+
+# 定义名称
+->fetch('.form1@action', 'factory/admin/info.getConfig#update') 
+->fetch('#update_where_id@value', '<{Dever::input("id")}>') 
+
+->render('factory/admin/info.getData', array  
+(
+    '#update_name@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();

+ 20 - 0
app/factory/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', 'factory/admin/user.getConfig#add') 
+->fetch('#form1@action', 'factory/admin/user.getConfig#search') 
+
+->fetch('#list-tbody', 'factory/admin/user.getList') 
+
+->fetch('#page','<{Dever::page("current")}>') 
+
+# display
+->display();

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

@@ -0,0 +1,24 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| home
+|--------------------------------------------------------------------------
+*/
+$view
+
+# 定义名称
+->fetch('.am-btn-group', 'factory/admin/user.getRole') 
+->fetch('.form1@action', 'factory/admin/user.getConfig#update') 
+->fetch('#update_where_id@value', '<{Dever::input("id")}>') 
+
+->render('factory/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();

+ 235 - 51
app/mshop/lib/Buy.php

@@ -39,7 +39,7 @@ class Buy
         if ($this->type > 10) {
             $type = $this->type - 10;
             $where['source_type'] = $type;
-            $where['source_type_id'] = $id;
+            $where['source_id'] = $id;
         } else {
             $where['type'] = $this->type;
             $where['type_id'] = $id;
@@ -61,8 +61,9 @@ class Buy
         if ($status) {
             if ($status == 'refund') {
                 $where['refund_status'] = 2;
+            } else {
+                $where['status'] = $status;
             }
-            $where['status'] = $status;
         }
 
         $order_num = Dever::input('order_num');
@@ -470,13 +471,53 @@ class Buy
     }
 
     # 后台审核退款
-    public function refund_api()
+    public function refund_commit_api()
     {
         $id = Dever::input('id');
         $process = Dever::input('process');
         return Dever::load('shop/lib/refund')->set('buy')->action($id, $process, false);
     }
 
+    # 货物未发出,仅退款
+    public function refund_apply_commit_api()
+    {
+        $order_id = Dever::input('order_id');
+        $type = Dever::input('type');
+        $type_id = Dever::input('type_id');
+        $desc = Dever::input('desc');
+        $pic = Dever::input('pic');
+
+        return Dever::load('shop/lib/refund')->set('buy')->apply($type, $type_id, $order_id, false, 3, 0, $desc, $pic, 2);
+    }
+
+    # 货物已收到 全部退款 报损 需要审核
+    public function refund_apply_info_commit_api()
+    {
+        $order_id = Dever::input('order_id');
+        $status = Dever::input('status');
+        $desc = Dever::input('desc');
+        $pic = Dever::input('pic');
+        $type = Dever::input('type');
+        $type_id = Dever::input('type_id');
+
+        return Dever::load('shop/lib/refund')->set('buy')->apply($type, $type_id, $order_id, false, $status, 0, $desc, $pic, 1);
+    }
+
+    # 部分退款 报损
+    public function refund_apply_info_one_commit_api()
+    {
+        $order_id = Dever::input('order_id');
+        $order_goods_id = Dever::input('order_goods_id');
+        $num = Dever::input('num', 0);
+        $status = Dever::input('status');
+        $desc = Dever::input('desc');
+        $pic = Dever::input('pic');
+        $type = Dever::input('type');
+        $type_id = Dever::input('type_id');
+
+        return Dever::load('shop/lib/refund')->set('buy')->apply($type, $type_id, $order_id, $order_goods_id, $status, $num, $desc, $pic, 1);
+    }
+
     # 展示订单详情
     public function show()
     {
@@ -495,10 +536,15 @@ class Buy
 
         $tk = Dever::db('shop/buy_order_refund')->find(array('order_id' => $info['id'], 'type' => 1));
 
+        $cdate = date('Y-m-d H:i', $info['cdate']);
         $opertime = date('Y-m-d H:i', $info['operdate']);
         
-        $html = '[基本信息]:<table class="layui-table"><thead><tr><th style="width:20%">项目</th><th style="width:80%">详情</th></tr> </thead><tbody>';
+        $html = '<div class="layui-col-md12"><div class="layui-card"><div class="layui-card-header">基本信息</div><div class="layui-card-body">';
+        $html .= '<table class="layui-table"><thead><tr><th style="width:20%">项目</th><th style="width:80%">详情</th></tr> </thead><tbody>';
 
+        if ($type == 2) {
+            $info['price'] = $info['p_price'];
+        }
         $html .= '<tr>
           <td>基本信息</td>
           <td>'.$this->table(false, array(array('订单号:' . $info['order_num'], '金额:' . $info['price'], '数量:' . $info['num'], '状态:' . $status))).'</td>
@@ -509,7 +555,12 @@ class Buy
             $status = '申请' . $tk_status[$tk['status']];
         }
 
-        $time = array($opertime);
+        if ($type == 1) {
+            $time = array('下单时间:' . $cdate, '订货时间:' . $opertime);
+        } else {
+            $time = array('订货时间:' . $opertime);
+        }
+        
         $html .= '<tr>
           <td>订单时间</td>
           <td>'.$this->table(false, array($time)).'</td>
@@ -554,9 +605,29 @@ class Buy
             </tr>';
         }
 
-        $html .= '</tbody></table>';
+        if ($type == 2) {
+            $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>';
+            }
+            if ($info['status'] == 3) {
+                $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="cancel('.$info['id'].','.$info['source_id'].', \''.$cancel.'\')">取消订单</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>';
 
-        $url = Dever::url('lib/buy.refund', 'mshop');
+        $url = Dever::url('lib/buy.refund_commit?json=1', 'mshop');
         if (!$info['refund_cash']) {
             $info['refund_cash'] = 0;
         }
@@ -570,22 +641,21 @@ class Buy
             }
             $desc = array();
             $desc['退款原因'] = $tk['desc'];
+            $desc['退款图片'] = '暂无';
             if ($tk['pic']) {
                 $desc['退款图片'] = '';
                 $pic = explode(',', $tk['pic']);
                 foreach ($pic as $k => $v) {
-                    $desc['图片'] .= '<a href="'.$v.'" target="_blank"><img src="'.$v.'" width="100"/></a>';
+                    $desc['退款图片'] .= '<a href="'.$v.'" target="_blank"><img src="'.$v.'" width="100"/></a>';
                 }
             }
             $tk['desc'] = '<a href="javascript:showAlert($(\'#desc_content\').html());">查看</a><span id="desc_content" style="display:none">'.Dever::table($desc).'</span>';
 
-            $html .= '[退款信息]:';
-
             $head = array('退款金额', '数量', '退款进度', '退款原因');
 
             $body = array(array($info['refund_cash'], $info['num'], $process, $tk['desc']));
 
-            $html .= $this->table($head, $body);
+            $html .= '<div class="layui-card"><div class="layui-card-header">退款信息</div><div class="layui-card-body">' . $this->table($head, $body) . '</div></div>';
 
         }
 
@@ -606,60 +676,137 @@ class Buy
                 $info['ps_info']['service_name'] = $service['name'];
             }
 
-            $html .= '[物流信息]:';
+            $head = array('名称', '单号', '费用', '配货员', '更多');
 
-            $head = array('名称', '单号', '费用', '数量', '重量', '体积', '配货员', '打包员', '状态');
+            $table = array();
+            $table['打包员'] = $info['ps_info']['dby'];
+            $table['数量'] = $info['ps_info']['num'];
+            $table['重量'] = $info['ps_info']['zl'];
+            $table['体积'] = $info['ps_info']['tj'];
+            $table['发货时间'] = $info['ps_info']['cdate'];
+            if ($info['ps_info']['ydate']) {
+                $table['收货时间'] = $info['ps_info']['ydate'];
+            }
 
-            $body = array(array($info['ps_info']['service_name'], $info['ps_info']['order_num'], $info['ps_info']['price'], $info['ps_info']['num'], $info['ps_info']['zl'], $info['ps_info']['tj'], $info['ps_info']['phy'], $info['ps_info']['dby'], $info['ps_info']['status_name']));
+            $body = array(array($info['ps_info']['service_name'], $info['ps_info']['order_num'], $info['ps_info']['price'], $info['ps_info']['phy'], '<a href="javascript:showAlert($(\'#refund_content\').html());">查看</a><span id="refund_content" style="display:none">'.Dever::table($table).'</span>'));
 
-            $html .= $this->table($head, $body);
+            $html .= '<div class="layui-card"><div class="layui-card-header">物流信息</div><div class="layui-card-body">' . $this->table($head, $body) . '</div></div>';
         }
 
-        $html .= '[商品清单]:';
-
-        $head = array('名称', '属性', '价格', '数量', '状态');
+        
 
         $body = array();
+        $body_total = array();
+        $body_total['price'] = 0;
+        $body_total['num'] = 0;
         $goods = Dever::db('shop/buy_order_goods')->select(array('order_id' => $info['id']));
         $goods_status = Dever::db('shop/buy_order_goods')->config['status'];
+
+        $refund_body = array();
+        $refund_body_total = array();
+        $refund_body_total['price'] = 0;
+        $refund_body_total['num'] = 0;
         foreach ($goods as $k => $v) {
+            if ($type == 2) {
+                $v['price'] = $v['p_price'];
+            }
             $goods_info = Dever::load('goods/lib/info')->getInfoBySku($v['goods_id'], $v['sku_id']);
             $status = $goods_status[$v['status']];
+
             $tk = Dever::db('shop/buy_order_refund')->find(array('order_id' => $info['id'], 'order_goods_id' => $v['id'], 'type' => 2));
             if ($tk && $tk['process'] == 1) {
-                $status = '申请' . $tk_status[$tk['status']];
-
-                $desc = array();
-                $desc['原因'] = $tk['desc'];
-                if ($tk['pic']) {
-                    $desc['图片'] = '';
-                    $pic = explode(',', $tk['pic']);
-                    foreach ($pic as $k => $v) {
-                        $desc['图片'] .= '<a href="'.$v.'" target="_blank"><img src="'.$v.'" width="100"/></a>';
-                    }
+                if ($type == 1) {
+                    $status = '申请' . $tk_status[$tk['status']];
+                } else {
+                    $status = '已上报';
                 }
-                $status .= '&nbsp;&nbsp;<a href="javascript:layer.alert($(\'#desc_content\').html());">查看原因</a><span id="desc_content" style="display:none">'.Dever::table($desc).'</span>';
 
-                if ($type == 1 && $tk['process'] == 1) {
+                if ($type == 1) {
+                    $desc = array();
+                    $desc['退款原因'] = $tk['desc'];
+                    $desc['退款图片'] = '暂无';
+                    if ($tk['pic']) {
+                        $desc['退款图片'] = '';
+                        $pic = explode(',', $tk['pic']);
+                        foreach ($pic as $k => $v) {
+                            $desc['退款图片'] .= '<a href="'.$v.'" target="_blank"><img src="'.$v.'" width="100"/></a>';
+                        }
+                    }
+                    $status .= '&nbsp;&nbsp;<a href="javascript:showAlert($(\'#desc_content\').html());">查看原因</a><span id="desc_content" style="display:none">'.Dever::table($desc).'</span>';
+
                     $status .= '&nbsp;&nbsp;<a href="javascript:;" onclick="audit('.$tk['id'].', 2, \''.$url.'\')" class="layui-btn">通过</a><a href="javascript:;" onclick="audit('.$tk['id'].', 3, \''.$url.'\')" class="layui-btn layui-btn-danger">驳回</a>';
                 }
+            } elseif ($type > 1 && (!$tk || ($tk && $tk['process'] == 3))) {
+
+                $tui = Dever::url('lib/buy.refund_apply_info_one_commit?json=1', 'mshop');
+                if ($info['status'] == 3) {
+                    $status = '<a href="javascript:;" onclick="tui('.$v['id'].','.$info['id'].','.$info['source_id'].', 2, \''.$tui.'\')" class="layui-btn">缺货退款</a>';
+                } elseif ($info['status'] == 4) {
+                    $status = '<a href="javascript:;" onclick="tui('.$v['id'].','.$info['id'].','.$info['source_id'].', 1, \''.$tui.'\')" class="layui-btn">报损退款</a>';
+                }
             }
 
             if (isset($goods_info['sku'])) {
-                $sku = $goods_info['sku']['string'];
+                $sku = '[' . $goods_info['sku']['string'] . ']';
+            } else {
+                $sku = '';
+            }
+
+            if ($tk && $v['status'] == 3) {
+                $refund_body[] = array
+                (
+                    $goods_info['name'] . ' ' . $sku,
+                    $v['price'],
+                    $v['num'],
+                    $tk_status[$tk['status']],
+                );
+                $refund_body_total['price'] += $v['price'];
+                $refund_body_total['num'] += $v['num'];
             } else {
-                $sku = '无';
+                $body[] = array
+                (
+                    $goods_info['name'] . ' ' . $sku,
+                    $v['price'],
+                    $v['num'],
+                    $status,
+                );
+                $body_total['price'] += $v['price'];
+                $body_total['num'] += $v['num'];
             }
-            $body[$k] = array
+        }
+
+        if ($body) {
+
+            $head = array('名称', '金额', '数量', '状态');
+
+            $body[] = array
+            (
+                '合计',
+                $body_total['price'],
+                $body_total['num'],
+                '-'
+            );
+
+
+            $html .= '<div class="layui-card"><div class="layui-card-header">商品清单</div><div class="layui-card-body" style="max-height: 500px;overflow: auto;">' . $this->table($head, $body) . '</div></div>';
+        }
+
+        if ($refund_body) {
+
+            $head = array('名称', '金额', '数量', '状态');
+
+            $refund_body[] = array
             (
-                $goods_info['name'],
-                $sku,
-                $v['price'],
-                $v['num'],
-                $status,
+                '合计',
+                $refund_body_total['price'],
+                $refund_body_total['num'],
+                '-'
             );
+
+            $html .= '<div class="layui-card"><div class="layui-card-header">缺货与报损商品</div><div class="layui-card-body" style="max-height: 300px;overflow: auto;">' . $this->table($head, $refund_body) . '</div></div>';
         }
-        $html .= $this->table($head, $body);
+
+        $html .= '</div>';
 
         return $html;
     }
@@ -778,8 +925,10 @@ class Buy
         array_multisort($distance, SORT_ASC, SORT_NUMERIC, $factory);
 
         $this->order_num = 0;
+        $this->order_id = array();
         $delete = array();
         $yes = array();
+        
         foreach ($goods as $k => $v) {
             # 开始找仓库
             $find = $this->store($order['id'], $order['order_num'] . '_' . $this->order_num, $shop, $store, $v);
@@ -799,11 +948,27 @@ class Buy
 
         if ($this->order_num > 0) {
             if ($this->order_num == 1) {
-                Dever::db('shop/buy_order')->update(array('where_id' => $order['id'], 'status' => 3, 'source_type' => $find[0], 'source_id' => implode('', $find[1]), 'p_price' => $find[3][0], 'operdate' => time()));
-
                 Dever::db('shop/buy_order')->delete($find[2][0]);
+                $goods = Dever::db('shop/buy_order_goods')->select(array('order_id' => $find[2][0]));
+
+                $p_price = 0;
+                foreach ($goods as $k => $v) {
+                    $goods_info = Dever::db('shop/buy_order_goods')->find(array('order_id' => $order['id'], 'goods_id' => $v['goods_id']));
+
+                    if ($goods_info) {
+
+                        Dever::db('shop/buy_order_goods')->update(array('where_id' => $goods_info['id'], 'set_p_price' => $v['p_price']));
+                        $p_price += $v['p_price'];
+                    }
+                }
+
+                Dever::db('shop/buy_order')->update(array('where_id' => $order['id'], 'status' => 3, 'source_type' => $find[0], 'source_id' =>  $find[1][0], 'p_price' => $p_price, 'operdate' => time()));
+
                 Dever::db('shop/buy_order_goods')->delete(array('order_id' => $find[2][0]));
 
+                unset($this->order_id[$find[2][0]]);
+                $this->order_id[$order['id']] = array($find[0], $find[1][0]);
+
             } else {
                 if (!$yes) {
                     Dever::db('shop/buy_order')->update(array('where_id' => $order['id'], 'state' => 2));
@@ -827,6 +992,12 @@ class Buy
             Dever::load('shop/lib/refund')->set('buy')->apply(1, $shop['id'], $order_id, false, 3, 0, '供货商库存不足');
         }
 
+        if ($this->order_id) {
+            foreach ($this->order_id as $k => $v) {
+                $this->sendMsg($v[0], $v[1], $k);
+            }
+        }
+
         return 'ok';
     }
 
@@ -835,9 +1006,8 @@ class Buy
         $find = array();
         $type_id = array();
         $id = array();
-        $p_price = array();
         if (!$store) {
-            return array(2, $type_id, $id, $p_price);
+            return array(2, $type_id, $id);
         }
         foreach ($store as $k => $v) {
             $where['store_id'] = $v['id'];
@@ -852,7 +1022,7 @@ class Buy
                     if ($state) {
                         $type_id[] = $where['store_id'];
                         $id[] = $state;
-                        $p_price[] = $goods['price'];
+                        $this->order_id[$state] = array(2, $where['store_id']);
                         break;
                     }
                 } elseif ($state == 1 && $sku['total'] > 0) {
@@ -865,7 +1035,7 @@ class Buy
                     } else {
                         $type_id[] = $where['store_id'];
                         $id[] = $state;
-                        $p_price[] = $goods['price'];
+                        $this->order_id[$state] = array(2, $where['store_id']);
                     }
                     continue;
 
@@ -876,7 +1046,7 @@ class Buy
             }
         }
 
-        return array(2, $type_id, $id, $p_price);
+        return array(2, $type_id, $id);
     }
 
     private function factory($order_id, $order_num, $shop, $factory, $goods)
@@ -884,23 +1054,22 @@ class Buy
         $find = array();
         $type_id = array();
         $id = array();
-        $p_price = array();
         if (!$factory) {
-            return array(3, $type_id, $id, $p_price);
+            return array(3, $type_id, $id);
         }
 
         foreach ($factory as $k => $v) {
             $where['factory_id'] = $v['id'];
             $where['goods_id'] = $goods['goods_id'];
             $where['sku_id'] = ($goods['sku_id'] && $goods['sku_id'] > 0) ? $goods['sku_id'] : -1;
-            $sku = Dever::db('factory/goods_sku')->select($where);
+            $sku = Dever::db('factory/goods_sku')->getOne($where);
 
             if ($sku) {
                 $state = $this->createOrder($order_id, $order_num, 1, $shop['id'], 3, $where['factory_id'], $goods['price'], $sku['p_price'], $goods['num'], $where['goods_id'], $where['sku_id']);
                 if ($state) {
                     $type_id[] = $where['factory_id'];
                     $id[] = $state;
-                    $p_price[] = $sku['p_price'];
+                    $this->order_id[$state] = array(3, $where['factory_id']);
                     break;
                 }
             } else {
@@ -908,7 +1077,22 @@ class Buy
             }
         }
 
-        return array(3, $type_id, $id, $p_price);
+        return array(3, $type_id, $id);
+    }
+
+    # 发送消息
+    private function sendMsg($source_type, $source_id, $id)
+    {
+        if (Dever::project('message')) {
+            $msg_param['type'] = 1;//消息类型1是订单消息
+            $msg_param['id'] = $id;
+            $msg_param['source_id'] = $source_id;
+            $msg_param['source_type'] = $source_type;
+            $msg_param = Dever::json_encode($msg_param);
+            $project = $source_type + 1;
+            $msg = '您有一个新的订货单,请及时处理。';
+            Dever::load('message/lib/data')->push(-1, $source_id, '订货通知', $msg, 2, $project, false, $msg_param);
+        }
     }
 
     # 生成拆单的订单

+ 1 - 0
app/shop/database/info.php

@@ -520,6 +520,7 @@ return array
 
     'manage' => array
     (
+        'mul' => true,
         //'insert' => false,
         'list_button' => array
         (

+ 5 - 1
app/shop/lib/Refund.php

@@ -209,6 +209,10 @@ class Refund
             }
             
             $state = Dever::db($this->order_table)->update($update);
+
+            if ($info['type'] == 2) {
+                Dever::db($this->goods_table)->update(array('where_id' => $info['order_goods_id'], 'status' => 1));
+            }
         } else {
             if ($info['type'] == 2) {
                 $state = Dever::db($this->goods_table)->update(array('where_id' => $info['order_goods_id'], 'status' => 3));
@@ -284,7 +288,7 @@ class Refund
             $msg_param['name'] = $shop['name'];
             $msg_param = Dever::json_encode($msg_param);
             $msg = '您有一笔订单已退款,退款将在3个工作日内返回原支付账户';
-            Dever::load('message/lib/data')->push(-1, $data['uid'], '退款成功通知', $msg, 1, 1, false, $msg_param);
+            Dever::load('message/lib/data')->push(-1, $data['uid'], '退款成功通知', $msg, 2, 1, false, $msg_param);
 
             # 退款到原支付账户 待处理
         }

+ 1 - 1
app/shop/lib/Sell.php

@@ -746,7 +746,7 @@ class Sell
                     $msg_param['id'] = $order['id'];
                     $msg_param['name'] = $shop['name'];
                     $msg_param = Dever::json_encode($msg_param);
-                    Dever::load('message/lib/data')->push(-1, $order['uid'], '订购成功通知', $msg, 1, 1, false, $msg_param);
+                    Dever::load('message/lib/data')->push(-1, $order['uid'], '订购成功通知', $msg, 2, 1, false, $msg_param);
                 }
             }
 

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