Эх сурвалжийг харах

增加订单界面打印作业票

huangsanjia 3 жил өмнө
parent
commit
7a9f37e3f9

+ 1 - 1
application/admin/controller/Formula.php

@@ -477,7 +477,7 @@ class Formula extends Backend
             return array('status'=>0,'msg'=>'请求参数错误');
         }
         $list = Db::name('formula')->where('id',$params['ids'])->find();
-        $gyinfo= Db::name('formula_detail')->where('pid',$params['ids'])->where('version',$list['version'])->field('id,material,percentage')->select();
+        $gyinfo= Db::name('formula_detail')->where('pid',$params['ids'])->where('version',$list['version'])->field('id,material,percentage,gy_name,gy_num')->select();
         if (empty($gyinfo)){
             return array('status'=>0,'msg'=>'数据错误');
         }

+ 49 - 0
application/admin/controller/Order.php

@@ -109,5 +109,54 @@ class Order extends Backend
         }
         $this->success();
     }
+    //生产作业票
+    public function task(){
+        $ids = input('ids');
+        if (!$ids) {
+            $this->error(__('No Results were found'));
+        }
+        if (false === $this->request->isPost()) {
+            $order = Db::name('order')->where('id',$ids)->find();
+            $map = [];
+            $map['name'] = array('like','%'.$order['product'].'%');
+            $map['examine_status'] = 2;
+            $list = Db::name('formula')->where($map)->field('id,name,version')->order('id desc')->select();
+            $res = [];
+            if (!empty($list)){
+                $res = $this->get_repeat_data($list);
+            }
 
+
+//             halt($res);die;
+            $this->view->assign('ids',$ids);
+            $this->view->assign('row', $res);
+            return $this->view->fetch();
+        }
+    }
+    //获取二维数组的重复数据
+    function get_repeat_data($array){
+        //计算出数组的总数量
+        $count = count($array);
+        $num = [];//算出那个值是不要的 去掉就行
+        for($i=0;$i<$count;$i++){
+            $i_data = $array[$i]['name'];
+            for($j=$i+1;$j<$count;$j++){
+                $j_data = $array[$j]['name'];
+                if($i_data == $j_data){
+                    $i_version = substr($array[$i]['version'],1);
+                    $j_version = substr($array[$j]['version'],1);
+                    if ($j_version > $i_version){
+                        $num[$i] = $i;
+                    }else{
+                        $num[$i] = $j;
+                    }
+                }
+            }
+        }
+        foreach ($num as $key=>$value){
+            unset($array[$value]);
+        }
+        $result = array_values($array);
+        return $result;
+    }
 }

+ 1 - 1
application/admin/view/formula/task.html

@@ -49,7 +49,7 @@
     </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-1"></label>
-        <button type="button" id="add" class="btn btn-success">确定生成</button>
+        <button type="button" id="add" class="btn btn-success">确定生成作业票</button>
     </div>
     <div class="form-group">
         <table class="table table-striped table-bordered table-hover table-nowrap" id="gy">

+ 154 - 2
public/assets/js/backend/order.js

@@ -45,11 +45,25 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         // {field: 'create', title: __('Create'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
                         // {field: 'update', title: __('Update'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
                         // {field: 'company_id', title: __('Company_id')},
-                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+                        // {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 task',
+                                url:'order/task',
+                            }],
+                            table: table,
+                            events: Table.api.events.operate, formatter: Table.api.formatter.operate
+                        },
                     ]
                 ]
             });
-
+            table.on('post-body.bs.table',function(){
+                $(".btn-editone").data("area",["100%","100%"]);
+            })
             // 为表格绑定事件
             Table.api.bindevent(table);
         },
@@ -59,6 +73,144 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
         edit: function () {
             Controller.api.bindevent();
         },
+        task: function () {
+            $('#add').click(function () {
+                //配方获取和计算
+                var ids = $('#c-name').val();
+                // console.log(ids);return false;
+                var number = $('#c-number').val();
+                if (number == ''){
+                    layer.confirm('生产量不能为空');
+                    return false;
+                }
+                //给打印界面赋值
+                $('.total').text(number);
+                var remark = $('#c-remark').val();
+                remark = '备注:'+remark;
+
+                //给打印表头赋值
+                var bach = $('#c-bach').val();
+                $('#bach').text(bach);
+                //获取配方名称,去掉版本号
+                var formula = $('#c-name').find("option:selected").text();
+                var n = formula.indexOf("v");
+                if (n >= 0){
+                    formula = formula.slice(0,n);
+                }
+                // console.log(formula);return false;
+                $('#formula').val(formula);
+                var drawer_name = $('#c-drawer_name').val();
+                $('#drawer_name').text(drawer_name);
+                var examine_name = $('#c-examine_name').val();
+                $('#examine_name').text(examine_name);
+                $.ajax({
+                    type: "POST",
+                    url: "formula/getNumber",
+                    data: {
+                        'ids': ids,
+                        'number': number
+                    },
+                    success:function(data) {
+                        if (1 == data.status)
+                        {
+                            var html = '';
+                            var str = '';
+                            $.each(data.data,function (key,value){
+                                html += '<tr><td><input  class="form-control material" type="text" value="'+value.material+'"></td>';
+                                html += '<td><input  class="form-control percentage" type="text" value="'+value.percentage+'"></td>';
+                                html += '<td><input  class="form-control num" type="text" value="'+value.num+'"></td>';
+                                html += '<td><input  class="form-control gy_name" type="text" value="'+value.gy_name+'"></td>';
+                                html += '<td><input  class="form-control gy_num" type="text" value="'+value.gy_num+'"></td>';
+
+                                str += '<tr><td style="width: 100px;text-align: center">'+value.material+'</td>';
+                                str += '<td style="width: 100px;text-align: center">'+value.num+'</td>';
+                                str += '<td style="width: 100px;text-align: center"> </td>';
+                                str += '<td style="width: 400px;">'+value.gy_name+'</td></tr>';
+                            })
+                            $('#gy').text('');
+                            $('#gy').append(html);
+
+                            str += '<tr><td style="width: 100px;text-align: center">总计</td><td class="total" style="width: 100px;text-align: center">'+number+'</td> <td></td><td></td></tr>';
+                            str += '<tr> <td colspan="5" class="remark">'+remark+'</td></tr>';
+                            $('#print').text('');
+                            $('#print').append(str);
+
+                            $('#formula_no').text(data.formula_no);
+                            $('#date').text(data.date);
+
+                        }else {
+                            layer.confirm(data.msg);
+                        }
+                    }
+                })
+            })
+
+            Controller.api.bindevent();
+            $(document).on('click','.submit',function () {
+                Form.api.bindevent($("form[role=form]"), function(data, ret){
+                    Toastr.success('111');//成功
+                }, function(data, ret){
+                    Toastr.success("222");
+                }, function(success, error){
+                    var verify = 1;
+                    var ids = $('#c-name').val();
+                    //获取配方名称,去掉版本号
+                    var name = $('#c-name').find("option:selected").text();
+                    var n = name.indexOf("v");
+                    if (n >= 0){
+                        name = name.slice(0,n);
+                    }
+                    // console.log(formula);return false;
+                    if (name == '' || name== undefined) {
+                        verify = -1;
+                    }
+                    var bach = $('#c-bach').val();
+                    if (bach == '' || bach== undefined) {
+                        verify = -1;
+                    }
+                    var drawer_name = $('#c-drawer_name').val();
+                    if (drawer_name == '' || drawer_name== undefined) {
+                        verify = -1;
+                    }
+                    var examine_name = $('#c-examine_name').val();
+                    if (examine_name == '' || examine_name== undefined) {
+                        verify = -1;
+                    }
+                    var number = $('#c-number').val();
+                    if (number == '' || number== undefined) {
+                        verify = -1;
+                    }
+                    var remark = $('#c-remark').val();
+                    if (verify == -1){
+                        layer.confirm("数据格式不对,请仔细核查!");return false;
+                    }
+                    //基础数据
+                    var baseData = [];
+                    baseData.push(ids);
+                    baseData.push(name);
+                    baseData.push(bach);
+                    baseData.push(drawer_name);
+                    baseData.push(examine_name);
+                    baseData.push(number);
+                    baseData.push(remark);
+                    Fast.api.ajax({
+                        url:'formula/task?ids='+ids,
+                        data:{baseData:baseData}
+                    },function (data,ret) {
+                        //成功回调
+                        parent.Toastr.success("添加成功");
+                        Fast.api.close();
+                        parent.Fast.api.refreshmenu();
+                        return false;
+                    },function (data,ret) {
+                        parent.Toastr.error("添加失败");
+                        Fast.api.close();
+                        return false;
+                    });
+                    return false;
+                });
+            });
+        },
         api: {
             bindevent: function () {
                 Form.api.bindevent($("form[role=form]"));