Ver Fonte

领料及详情修改

tincey há 3 anos atrás
pai
commit
3b4505eb84

+ 47 - 21
application/admin/controller/Product.php

@@ -5,6 +5,7 @@ namespace app\admin\controller;
 use app\common\controller\Backend;
 use think\Cache;
 use think\Db;
+use think\Exception;
 
 /**
  * 生产管理
@@ -20,10 +21,13 @@ class Product extends Backend
      */
     protected $model = null;
 
+    protected $detail = null;
+
     public function _initialize()
     {
         parent::_initialize();
         $this->model = new \app\admin\model\Product;
+        $this->detail = new \app\admin\model\ProductDetail;
         $this->view->assign("statusList", $this->model->getStatusList());
     }
 
@@ -53,15 +57,9 @@ class Product extends Backend
             list($where, $sort, $order, $offset, $limit) = $this->buildparams();
 
             $list = $this->model
-                    
                     ->where($where)
                     ->order($sort, $order)
                     ->paginate($limit);
-
-            foreach ($list as $row) {
-                $row->visible(['id','time','weight','material','status']);
-                $row['material'] = decode($row['material']);
-            }
             $result = array("total" => $list->total(), "rows" => $list->items());
 
             return json($result);
@@ -152,23 +150,51 @@ class Product extends Backend
         if (empty($params)) {
             $this->error(__('Parameter %s can not be empty', ''));
         }
-        $arr = [];
-        foreach($params['material'] as $k=>$v){
-            $arr[$k]['status'] = $params['status'];
-            $arr[$k]['batch'] = $params['batch'][$k];
-            $arr[$k]['pname'] = $params['pname'][$k];
-            $arr[$k]['specifications'] = $params['specifications'][$k];
-            $arr[$k]['time'] = $params['time'][$k];
-            $arr[$k]['audit'] = $params['audit'];
-            $arr[$k]['unit'] = $params['unit'][$k];
-            $arr[$k]['material'] = encrypt($params['material'][$k]);
-            $arr[$k]['weight'] = $params['weight'][$k];
-        }
-        $result = $this->model->saveAll($arr);
-        if ($result === false) {
-            $this->error(__('No rows were inserted'));
+        Db::startTrans();
+        try {
+            $pro = [];
+            foreach(explode(';',$params['bach']) as $key=> $val){
+                if(!empty($val)){
+                    $res = [];
+                    $res['time'] = date("Y-m-d H:i:s");
+                    $res['audit'] = $params['audit'][$key];
+                    $res['status'] = $params['status'];
+                    $res['batch'] = $val;
+                    $res['pname'] = $params['proname'][$key];
+                    $res['specifications'] = $params['specifications'][$key];
+                    $res['unit'] = $params['unit'][$key];
+                    $pro[] = $res;
+                }
+            }
+            foreach($pro as $v){
+                $this->model->insert($v);
+                $id = $this->model->getLastInsID();
+                $arr = [];
+                $prodet = [];
+                foreach($params['material'] as $k=>$vv){
+                    if($v['batch']==$params['batch'][$k]){
+                        $arr['weight'] = $params['weight'][$k];
+                        $arr['pid'] = /*1;//*/$id;
+                        $arr['material'] = $params['material'][$k];
+                        $arr['createtime'] = date("Y-m-d H:i:s");
+                        $prodet[] = $arr;
+                    }
+                }
+                $this->detail->saveAll($prodet);
+            }
+            Db::commit();
+        }catch(Exception $e){
+            Db::rollback();
+            $this->error($e->getMessage());
         }
         $this->success();
         return $this->view->fetch();
     }
+    public function show($ids){
+        $row = $this->model->get($ids);
+        $row['data'] = $this->detail->where('pid',$row['id'])->select();
+//        halt($row['data']);
+        $this->view->assign("row", $row);
+        return $this->view->fetch();
+    }
 }

+ 4 - 1
application/admin/controller/Sample.php

@@ -78,7 +78,10 @@ class Sample {
             //'TemplateParam' => '{"code":"' . $verify_code . '"}'
             'TemplateParam' => '{"code":"'.$verify_code.'"}'   //更换为自己的实际模版
         );
-        //var_dump($params);die;
+        if($template=='SMS_243348221'){
+            $params['SignName'] = '易盒科技';
+            $params['TemplateParam']='{"name":"'.$verify_code.'"}';
+        }
         // 计算签名并把签名结果加入请求参数
         $params ['Signature'] = $this->computeSignature ( $params, $this->accessKeySecret );
         // 发送请求(此处作了修改)

+ 27 - 0
application/admin/model/ProductDetail.php

@@ -0,0 +1,27 @@
+<?php
+
+
+namespace app\admin\model;
+
+use think\Model;
+use traits\model\SoftDelete;
+class ProductDetail extends Model
+{
+    use SoftDelete;
+
+    // 表名
+    protected $name = 'product_detail';
+
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = false;
+
+    // 定义时间戳字段名
+    protected $createTime = false;
+    protected $updateTime = false;
+    protected $deleteTime = 'deletetime';
+
+    // 追加属性
+    protected $append = [
+
+    ];
+}

+ 2 - 2
application/admin/view/product/add.html

@@ -4,7 +4,7 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Batch')}:</label>
         <div class="col-xs-12 col-sm-3">
-            <input id="c-batch" data-rule="required" class="form-control" name="row[batch]" type="text">
+            <input id="c-batch" data-rule="required" class="form-control" name="row[bach]" type="text">
         </div>
         <label class="control-label col-xs-12 col-sm-2">{:__('Pname')}:</label>
         <div class="col-xs-12 col-sm-3">
@@ -25,7 +25,7 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Audit')}:</label>
         <div class="col-xs-12 col-sm-3">
-            <input id="c-audit" data-rule="required" class="form-control" name="row[audit]" type="text">
+            <input id="c-audit" data-rule="required" class="form-control"  type="text">
         </div>
         <label class="control-label col-xs-12 col-sm-2">{:__('Unit')}:</label>
         <div class="col-xs-12 col-sm-3">

+ 1 - 1
application/admin/view/product/index.html

@@ -17,7 +17,7 @@
                 <div class="widget-body no-padding">
                     <div id="toolbar" class="toolbar">
                         <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
-                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('product/add')?'':'hide'}" data-params="status=1" title="{:__('Add')}" ><i class="fa fa-plus"></i> 料</a>
+                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('product/add')?'':'hide'}" data-params="status=1" title="{:__('Add')}" ><i class="fa fa-plus"></i> 料</a>
                         <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('product/add')?'':'hide'}" data-params="status=2" title="{:__('Add')}" ><i class="fa fa-plus"></i> 退料</a>
 <!--                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('product/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>-->
                         <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('product/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>

+ 72 - 0
application/admin/view/product/show.html

@@ -0,0 +1,72 @@
+<script src="__CDN__/assets/js/jquery.js"></script>
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Batch')}:</label>
+        <div class="col-xs-12 col-sm-3">
+            <input id="c-batch" data-rule="required" class="form-control" name="row[bach]" value="{$row.batch}" type="text">
+        </div>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Pname')}:</label>
+        <div class="col-xs-12 col-sm-3">
+            <input id="c-pname" data-rule="required" readonly class="form-control" name="row[pname]" value="{$row.pname}" type="text">
+        </div>
+
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Specifications')}:</label>
+        <div class="col-xs-12 col-sm-3">
+            <input id="c-specifications" readonly class="form-control" name="row[specifications]" value="{$row.specifications}" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Audit')}:</label>
+        <div class="col-xs-12 col-sm-3">
+            <input id="c-audit" data-rule="required" class="form-control" value="{$row.audit}" type="text">
+        </div>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Unit')}:</label>
+        <div class="col-xs-12 col-sm-3">
+            <input id="c-unit" class="form-control" name="row[unit]" value="{$row.unit}" type="text">
+        </div>
+    </div>
+
+    <style>
+        th,tr{
+            text-align: center;
+        }
+    </style>
+    <div class="form-group">
+        <table class="table table-striped table-bordered table-hover table-nowrap" id="table">
+            <tr>
+                <th class="col-xs-12 col-sm-1">批次号</th>
+                <th class="col-xs-12 col-sm-3">配方名称</th>
+                <th class="col-xs-12 col-sm-1">物料编号</th>
+                <th class="col-xs-12 col-sm-1">包装规格</th>
+                <th class="col-xs-12 col-sm-1">重量</th>
+                <th class="col-xs-12 col-sm-2">机组</th>
+                <th class="col-xs-12 col-sm-2">日期</th>
+<!--                <th class="col-xs-12 col-sm-2">操作</th>-->
+            </tr>
+            {foreach name='row.data' item='vo'}
+            <tr>
+                <td><input class='form-control' type="text" readonly value="{$row.batch}"></td>
+                <td><input class='form-control' type="text" readonly value="{$row.pname}"></td>
+                <td><input class='form-control' type="text" readonly value="{$vo.material}"></td>
+                <td><input class='form-control' type="text" readonly value="{$row.specifications}"></td>
+                <td><input class='form-control' type="text" readonly value="{$vo.weight}"></td>
+                <td><input class='form-control' type="text" readonly value="{$row.unit}"></td>
+                <td><input class='form-control' type="text" readonly value="{$vo.createtime}"></td>
+<!--                <td><button type="submit" class="btn btn-primary btn-embossed disabled">{:__('Del')}</button></td>-->
+            </tr>
+            {/foreach}
+        </table>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+<!--            <button type="submit" class="btn btn- btn-embossed ">{:__('OK')}</button>-->
+            <!--            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>-->
+        </div>
+    </div>
+</form>
+<script>
+
+</script>

+ 24 - 4
public/assets/js/backend/product.js

@@ -30,11 +30,26 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','editable'], function
                     [
                         {checkbox: true},
                         // {field: 'id', title: __('Id')},
-                        {field: 'material', title: __('Material'), operate: 'LIKE'},
-                        {field: 'weight', title: __('Weight'),operate: 'LIKE'},
+                        {field: 'batch', title: __('Batch'), operate: 'LIKE'},
+                        {field: 'pname', title: __('Pname'),operate: 'LIKE'},
+                        {field: 'specifications', title: __('Specifications'),operate: 'LIKE'},
+                        {field: 'audit', title: __('Audit'),operate: 'LIKE'},
+                        {field: 'unit', title: __('Unit'),operate: 'LIKE'},
                         {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.normal},
-                        {field: 'time', title: __('Time'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
-                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+                        // {field: 'time', title: __('Time'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
+                        // {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate},
+                        {field: 'operate', title: '操作',  buttons:[{
+                                name:'task',
+                                text:'查看',
+                                title:'查看',
+                                icon:'fa fa-add',
+                                extend: 'data-area=["100%","100%"]',
+                                classname:'btn btn-xs btn-info btn-fields btn-dialog ',
+                                url:'product/show',
+                            }],
+                            table: table,
+                            events: Table.api.events.operate, formatter: Table.api.formatter.operate
+                        }
                     ]
                 ]
             });
@@ -60,6 +75,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','editable'], function
                             $("#c-time").val(res.create);
                             $("#c-audit").val(res.examine_name);
                             $("#c-pname").val(res.name);
+                            var str = '';
+                            str += "<input class='form-control' type='hidden' name='row[audit][]' value='"+$("#c-audit").val()+"'>";
+                            str += "<input class='form-control' type='hidden' name='row[proname][]' value='"+$("#c-pname").val()+"'>";
+                            str += "<input class='form-control' type='hidden' name='row[unit][]' value='"+$("#c-unit").val()+"'>";
+                            $("#table").append(str);
                         }
                     });
                     return false;