dever 3 vuotta sitten
vanhempi
commit
ccde33fdd6

+ 27 - 12
app/factory/assets/pc/html/cashier.html

@@ -4,7 +4,7 @@
 <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>
+<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">
@@ -78,6 +78,10 @@
 								-->
 							</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>
@@ -187,22 +191,28 @@
 	$(function()
 	{
 		$("#settlement").click(function(){
+			var url = '<{$submit}>';
+			var factory_id = '<{$factory_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() {
-				$("#goods tr").each(function(){
-			
-			        //获取当前行的单价
-			        var id = $(this).children("td:eq(0)").html();
-			        var num = $(this).find(".num").val();
-			        console.info(id, num);
-				}) 
+				var info = $('#info').val();
+				var goods_string = JSON.stringify(goods);
+
+				var data = {};
+				data = {store_id:store_id, factory_id:factory_id, goods:goods_string, info:info};
+				$.getJSON(url, data, function(t) {
+					if (t.status == 1) {
+						layui.layer.alert(t.data);
+					} else {
+						layui.layer.alert(t.msg);
+					}
+				});
 			});
 
 			//$(".mask_box").show();
@@ -225,7 +235,6 @@
 
 	mini.parse();
     var tree = mini.get("tree1");
-
     function search() 
     {
         var key = mini.get("key").getValue();
@@ -248,8 +257,9 @@
 
     var goods = {};
 	function onNodeClick()
-	{  
-        var node = mini.get("tree1").getSelectedNode();
+	{
+       	var tree=mini.get("tree1");
+        node=tree.getSelectedNode();
   		if(node.end) {
   			var key = node.id;
   			if (!goods[key]) {
@@ -271,6 +281,7 @@
 
 	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>';
@@ -293,6 +304,10 @@
 	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();
     }

+ 1 - 2
app/factory/database/order.php

@@ -20,9 +20,8 @@ return array
     # 表名
     'name' => 'order',
     # 显示给用户看的名称
-    'lang' => '订货单',
+    'lang' => '工厂订货单',
     'order' => 99,
-    'menu' => false,
     'status' => $status,
     # 数据结构
     'struct' => array

+ 6 - 3
app/factory/lib/Manage.php

@@ -160,11 +160,14 @@ class Manage
     public function cashier_api()
     {
         $data = array();
-        $factory_id = Dever::input('factory_id', 1);
+        $data['factory_id'] = Dever::input('factory_id', 1);
         $data['host'] = Dever::url('lib/manage.cashier', 'factory');
-        $data['url'] = Dever::url('lib/manage.goods?factory_id=' . $factory_id, 'factory');
-        $data['search'] = Dever::url('lib/manage.search?yes='.$factory_id.'&json=1', 'factory');
+        $data['url'] = Dever::url('lib/manage.goods?factory_id=' . $data['factory_id'], 'factory');
+        $data['search'] = Dever::url('lib/manage.search?yes='.$data['factory_id'].'&json=1', 'factory');
         $data['search_store'] = Dever::url('lib/manage.search?json=1', 'store');
+        $data['submit'] = Dever::url('lib/order.action_commit?json=1', 'factory');
+
+        
         return Dever::render('cashier', $data);
     }
 }

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

@@ -85,4 +85,89 @@ class Order
 
         return $state;
     }
+
+
+    # 得到商品和总价
+    private function goods()
+    {
+    	$goods = Dever::input('goods');
+    	if (!$goods) {
+            Dever::alert('请传入商品');
+        }
+        $goods = Dever::json_decode($goods);
+
+        $this->data['price'] = 0;
+        $this->data['num'] = 0;
+        $this->data['name'] = array();
+        # 计算总价格
+        foreach ($goods as $k => $v) {
+        	if (strstr($v['id'], '-')) {
+        		$t = explode('-', $v['id']);
+        		$v['id'] = $t[0];
+        		$s = $t[1];
+        	} else {
+        		$s = -1;
+        	}
+            $n = $v['num'];
+            $this->data['list'][$k] = Dever::load('goods/lib/info')->getPayInfo($v['id'], $s, $n);
+            $this->data['list'][$k]['num'] = $n;
+
+            $this->data['list'][$k]['buy_num'] = $n;
+            $this->data['num'] += $n;
+            $this->data['price'] += $this->data['list'][$k]['price'] * $n;
+            $this->data['name'][] = $this->data['list'][$k]['name'];
+        }
+
+        $this->data['name'] = implode(',', $this->data['name']);
+    }
+
+    # 出库下单
+    public function action_commit_api()
+    {
+    	Dever::alert('下单失败');
+        $info = Dever::input('info');
+
+        $this->goods();
+        
+        $order_data['factory_id'] = Dever::input('factory_id');
+        $order_data['type_id'] = Dever::input('store_id');
+        $order_data['type'] = 1;
+        $order_data['name'] = $this->data['name'];
+        $order_data['num'] = $this->data['num'];
+        $order_data['info'] = $info;
+        $order_data['price'] = $this->data['price'];
+        $order_data['status'] = 2;
+
+        $order_data['order_num'] = $this->getOrderId();
+        $id = Dever::db('factory/order')->insert($order_data);
+
+        if (!$id) {
+            Dever::alert('下单失败');
+        }
+
+        foreach($this->data['list'] as $k => $v) {
+        	$data['factory_id'] = $order_data['factory_id'];
+            $data['order_id'] = $id;
+            $data['goods_id'] = $v['id'];
+            $data['sku_id'] = $v['sku_id'];
+            $data['price'] = $v['price'] * $v['buy_num'];
+            $data['num'] = $v['buy_num'];
+
+            $state = Dever::db('factory/order_goods')->insert($data);
+        }
+
+        return '订货下单成功';
+    }
+
+    # 生成订单号
+    public function getOrderId()
+    {
+        $where['order_num'] = Dever::order('F');
+        $state = Dever::db('factory/order')->one($where);
+        if (!$state) {
+            return $where['order_num'];
+        } else {
+            return $this->getOrderId();
+        }
+    }
 }

+ 0 - 1
app/mshop/src/Out.php

@@ -94,7 +94,6 @@ class Out extends Core
         $this->data['price'] = 0;
         $this->data['num'] = 0;
         $this->data['name'] = array();
-        $count = count($goods_id);
         # 计算总价格
         foreach ($goods_id as $k => $v) {
             $s = isset($sku_id[$k]) ? $sku_id[$k] : -1;