Browse Source

工艺说明下拉选择,自动获取工序

tincey 3 years ago
parent
commit
c57bd8e659

+ 36 - 3
application/admin/controller/Formula.php

@@ -27,6 +27,7 @@ class Formula extends Backend
         $this->model = new \app\admin\model\Formula;
         $this->view->assign("examineStatusList", $this->model->getExamineStatusList());
         $this->view->assign("statusList", $this->model->getStatusList());
+        $this->view->assign("gyNameList", \app\admin\model\GyName::select());
     }
 
 
@@ -51,6 +52,15 @@ class Formula extends Backend
         if (false === $this->request->isAjax()) {
             return $this->view->fetch();
         }
+        // 获取搜索框的值
+        $filter=input('filter');
+        if($filter){
+            $filter=urldecode($filter);
+            $filter=json_decode($filter,TRUE);
+            foreach($filter as $k=>$v){
+                $where[$k]=['like',"%{$v}%"];
+            }
+        }
         //如果发送的来源是 Selectpage,则转发到 Selectpage
         if ($this->request->request('keyField')) {
             return $this->selectpage();
@@ -62,9 +72,14 @@ class Formula extends Backend
             $map['company_id'] = $user_info['company_id'];
             $map['examine_status'] = 2;
         }
-        $list = $this->model
+        $sort = 'f.id';
+        $list = DB::name('formula')
             ->where($where)
             ->where($map)
+            ->alias('f')
+            ->group('f.id')
+            ->field('f.id,f.name,f.version,f.examine_status,f.create')
+            ->join('formula_detail fd','fd.pid=f.id','left')
             ->order($sort, $order)
             ->paginate($limit);
         $result = ['total' => $list->total(), 'rows' => $list->items()];
@@ -100,6 +115,7 @@ class Formula extends Backend
         $params['remark'] = $base[4];
         $params['version'] = $base[5];
         $params['date'] = $base[6];
+        $params['model'] = $base[8];
         if ($base[7] !== 99){
             $customer= explode(',',$base[7]);
 //            print_r($base[7]);die;
@@ -122,6 +138,7 @@ class Formula extends Backend
             }
             $data = [];
             $is_replace = 0;
+            $gy_num = 1;
             foreach($formula as $key=>$value){
                 if (strpos($value[0],'/') === false){
                     $data[$key]['is_replace'] = 0;
@@ -132,10 +149,13 @@ class Formula extends Backend
                 $data[$key]['material'] = $value[0];
                 $data[$key]['percentage'] = encrypt($value[1]);
                 $data[$key]['gy_name'] = $value[2];
-                $data[$key]['gy_num'] = $value[3];
+                $data[$key]['gy_num'] = $gy_num;
                 $data[$key]['pid'] = $pid;
                 $data[$key]['version'] = $params['version'];
                 $data[$key]['create'] = $params['create'];
+                if(!$value[0]&&!$value[1]&&$value[2]){
+                    $gy_num++;
+                }
             }
             $result = Db::name('formula_detail')->insertAll($data);
             //有替代料的话  查出所有替代料  然后分解  插入到数据库
@@ -220,6 +240,7 @@ class Formula extends Backend
         $params['examine_name'] = $base[3];
         $params['remark'] = $base[4];
         $params['date'] = $base[6];
+        $params['model'] = $base[8];
         //配方对应客户id(可用性)
         if ($base[7] !== 99){
             $customer= explode(',',$base[7]);
@@ -293,6 +314,7 @@ class Formula extends Backend
             }
             //新工艺信息
             $is_replace = 0;
+            $gy_num = 1;
             for($i=0;$i<count($formula);$i++){
                 if (strpos($formula[$i][0],'/') === false){
                     $data[$i]['is_replace'] = 0;
@@ -303,10 +325,14 @@ class Formula extends Backend
                 $data[$i]['material'] = $formula[$i][0];
                 $data[$i]['percentage'] = encrypt($formula[$i][1]);
                 $data[$i]['gy_name'] = $formula[$i][2];
-                $data[$i]['gy_num'] = $formula[$i][3];
+//                $data[$i]['gy_num'] = $formula[$i][3];
+                $data[$i]['gy_num'] = $gy_num;
                 $data[$i]['pid'] = $ids;
                 $data[$i]['version'] = 'v'.$version;
                 $data[$i]['create'] = date('Y-m-d H:i:s');
+                if(!$formula[$i][0]&&!$formula[$i][1]&&$formula[$i][2]){
+                    $gy_num++;
+                }
             }
             if ($isChange === true){
                 Db::name('formula_detail')->insertAll($data);
@@ -350,6 +376,7 @@ class Formula extends Backend
                 $list['gyinfo'][$key]['percentage'] = decode($value['percentage']);
             }
             $this->view->assign('ids',$ids);
+            $this->view->assign('machineList',\app\admin\model\Machine::select());
             $this->view->assign('row', $list);
             return $this->view->fetch();
         }
@@ -366,6 +393,7 @@ class Formula extends Backend
         $params['examine_name'] = $base[4];
         $params['number'] = $base[5];
         $params['remark'] = $base[6];
+        $params['mid'] = $base[7];
         $params['create'] = date('Y-m-d H:i:s');
         $result = false;
         Db::startTrans();
@@ -499,4 +527,9 @@ class Formula extends Backend
         $date = date('Y/m/d');
         return array('status'=>1,'data'=>$gyinfo,'formula_no'=>$list['formula_no'],'date'=>$date);
     }
+    //获取工艺说明
+    public function gyName(){
+        $data = \app\admin\model\GyName::select();
+        return json($data);
+    }
 }

+ 6 - 2
application/admin/view/formula/add.html

@@ -22,9 +22,13 @@
     </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-1">{:__('Remark')}:</label>
-        <div class="col-xs-12 col-sm-7">
+        <div class="col-xs-12 col-sm-3">
             <input id="c-remark" class="form-control" name="row[remark]" type="text">
         </div>
+        <label class="control-label col-xs-12 col-sm-1">型号:</label>
+        <div class="col-xs-12 col-sm-3">
+            <input id="c-model" class="form-control" name="row[model]" type="text">
+        </div>
     </div>
 
     <div class="form-group">
@@ -54,7 +58,7 @@
                 <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-8">操作工艺说明</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>
             </tr>
         </table>

+ 16 - 5
application/admin/view/formula/edit.html

@@ -41,9 +41,13 @@
     </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-1">{:__('Remark')}:</label>
-        <div class="col-xs-12 col-sm-7">
+        <div class="col-xs-12 col-sm-3">
             <input id="c-remark" class="form-control" name="row[remark]" type="text" value="{$row['remark']}">
         </div>
+        <label class="control-label col-xs-12 col-sm-1">型号:</label>
+        <div class="col-xs-12 col-sm-3">
+            <input id="c-model" class="form-control" name="row[model]" type="text" value="{$row['model']}">
+        </div>
     </div>
 
     <div class="form-group">
@@ -75,15 +79,22 @@
                 <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-8">操作工艺说明</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>
             </tr>
             {foreach name='row["gyinfo"]' id='vo'}
             <tr>
                 <td><input  class="form-control material" type="text" value="{$vo.material}"></td>
-                <td><input  class="form-control percentage" type="text" value="{$vo.percentage}"></td>
-                <td><input  class="form-control gy_name" type="text" value="{$vo.gy_name}"></td>
-                <td><input  class="form-control gy_num" type="text" value="{$vo.gy_num}"></td>
+                <td><input  class="form-control percentage" type="number" value="{$vo.percentage}"></td>
+                <td><select class='form-control selectpicker' name='gy_name' id=''>
+                    <option value=''>请选择工艺</option>
+                    {foreach name='gyNameList' id='item'}
+
+                    <option value='{$item.title}' {if $item.title==$vo.gy_name}selected{/if}>{$item.title}</option>
+                    {/foreach}
+                    </select></td>
+<!--                <td><input  class="form-control gy_name" type="text" value="vo.gy_name"></td>-->
+<!--                <td><input  class="form-control gy_num" type="text" value="vo.gy_num"></td>-->
                 <td><button type="button"  class="btn btn-danger  del">删除</button></td>
             </tr>
             {/foreach}

+ 50 - 0
application/admin/view/formula/index.html

@@ -43,3 +43,53 @@
         </div>
     </div>
 </div>
+<script id="customformtpl" type="text/html">
+    <!--form表单必须添加form-commsearch这个类-->
+    <form action="" class="form-commonsearch">
+        <div style="border-radius:2px;margin-bottom:10px;background:#f5f5f5;padding:15px 20px;">
+            <div class="row">
+                <div class="form-group col-xs-12 col-sm-6 col-md-4 col-lg-3">
+                        <label class="control-label ">配方名称</label>
+                        <div>
+                            <input class="form-control" id="name" name="name" type="text" value="" placeholder="配方名称">
+                        </div>
+                        <input class="operate" type="hidden" data-name="name" name="name-operate" value="LIKE"/>
+                    </div>
+                <div class="col-xs-12 col-sm-6 col-md-3">
+                    <div class="form-group">
+                        <label class="control-label">审核状态</label>
+                        <div class="row">
+                            <div class="col-xs-8">
+                                <select class="admin form-control" name="examine_status">
+                                    <option value="">选择</option>
+                                    <option value="1">审核中</option>
+                                    <option value="2">审核通过</option>
+                                    <option value="3">审核驳回</option>
+                                </select>
+                            </div>
+                        </div>
+                        <input class="operate" type="hidden" data-name="examine_status" value="="/>
+                    </div>
+                </div>
+                <div class="col-xs-12 col-sm-6 col-md-3">
+                    <div class="form-group">
+                        <label class="control-label">原材料</label>
+                        <div>
+                            <input class="form-control" type="text" name="material" placeholder="原材料" value=""/>
+                        </div>
+                        <input class="operate" type="hidden" data-name="material" value="LIKE"/>
+                    </div>
+                </div>
+                <div class="col-xs-12 col-sm-6 col-md-3">
+                    <div class="form-group">
+                        <label class="control-label"></label>
+                        <div class="row">
+                                <button class="btn btn-success" type="submit">提交</button>
+                                <button type="reset" class="btn btn-default">重置</button>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </form>
+</script>

+ 8 - 0
application/admin/view/formula/task.html

@@ -47,6 +47,14 @@
             <input id="c-remark" class="form-control" name="row[remark]" type="text">
         </div>
     </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-1">机台选择:</label>
+            <select id="c-mid" data-rule="required" class="selectpicker" name="row[mid]">
+                {foreach name="machineList" item="vo"}
+                <option value="{$vo.id}" {in name="key" value=""}selected{/in}>{$vo.name}</option>
+                {/foreach}
+            </select>
+    </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>

+ 54 - 25
public/assets/js/backend/formula.js

@@ -24,6 +24,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 sortName: 'id',
                 fixedColumns: true,
                 fixedRightNumber: 1,
+                // 必须添加这个,customformtpl与html的ID一致
+                searchFormTemplate: 'customformtpl',
                 columns: [
                     [
                         {checkbox: true},
@@ -62,19 +64,30 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
             });
             table.on('post-body.bs.table',function(){
                 $(".btn-editone").data("area",["100%","100%"]);
-            })
+            });
             // 为表格绑定事件
             Table.api.bindevent(table);
         },
         add: function () {
             $('#add').click(function () {
-                var html = '';
-                html += '<tr><td><input  class="form-control material" type="text" value=""></td>';
-                html += '<td><input  class="form-control percentage" type="text" value=""></td>';
-                html += '<td><input  class="form-control gy_name" type="text" value=""></td>';
-                html += '<td><input  class="form-control gy_num" type="text" value=""></td>';
-                html += '<td><button type="button"  class="btn btn-danger  del">删除</button></td></tr>';
-                $('#gy').append(html);
+                $.ajax({
+                    method:"POST",
+                    url:'formula/gyName',
+                    success(res){
+                        var html = '';
+                        html += '<tr><td><input  class="form-control material" type="text" value=""></td>';
+                        html += '<td><input  class="form-control percentage" type="number" value=""></td>';
+                        html += "<td><select class='form-control selectpicker' name='gy_name' id=''><option value=''>请选择工艺</option>";
+                        for (var key in res){
+                            html += "<option value='"+res[key].title+"'>"+res[key].title+"</option>";
+                        }
+                        html += "</select></td>";
+                        // html += '<td><input  class="form-control gy_name" type="text" value=""></td>';
+                        // html += '<td><input  class="form-control gy_num" type="text" value=""></td>';
+                        html += '<td><button type="button"  class="btn btn-danger  del">删除</button></td></tr>';
+                        $('#gy').append(html);
+                    }
+                });
             });
             $(document).on('click','.del',function () {
                 $(this).parent().parent().remove();
@@ -107,6 +120,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                     var remark = $('#c-remark').val();
                     var version = $('#c-version').val();
                     var date = $('#c-date').val();
+                    var model = $('#c-model').val();
                     var usability = $('#c-usability').selectPageText();
                     if (usability == ''){
                         usability = 99;
@@ -125,6 +139,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                     baseData.push(version);
                     baseData.push(date);
                     baseData.push(usability);
+                    baseData.push(model);
                     console.log(baseData);
                     //配方数据
                     var data = [];
@@ -134,18 +149,18 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         var formulaTrArr=formulaTrList.eq(i);
                         var tdOne = formulaTrArr.children("td").eq(0).find("input").val();
                         var tdTwo = formulaTrArr.children("td").eq(1).find("input").val();
-                        var tdThr = formulaTrArr.children("td").eq(2).find("input").val();
-                        var tdFou = formulaTrArr.children("td").eq(3).find("input").val();
+                        var tdThr = formulaTrArr.children("td").eq(2).find("select").val();
+                        // var tdFou = formulaTrArr.children("td").eq(3).find("input").val();
                         if (tdOne == '' && tdTwo == '' && tdThr==''){
                             layer.confirm('工艺信息不能全部为空!');return false;
                         }
-                        if (tdFou == ''){
+                        /*if (tdFou == ''){
                             layer.confirm('工序号不能为空!');return false;
-                        }
+                        }*/
                         formulaData.push(tdOne);
                         formulaData.push(tdTwo);
                         formulaData.push(tdThr);
-                        formulaData.push(tdFou);
+                        // formulaData.push(tdFou);
                         data.push(formulaData);
                     }
                     if (data.length == 0){
@@ -175,13 +190,23 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
         },
         edit: function () {
             $('#add').click(function () {
-                var html = '';
-                html += '<tr><td><input  class="form-control material" type="text" value=""></td>';
-                html += '<td><input  class="form-control percentage" type="text" value=""></td>';
-                html += '<td><input  class="form-control gy_name" type="text" value=""></td>';
-                html += '<td><input  class="form-control gy_num" type="text" value=""></td>';
-                html += '<td><button type="button"  class="btn btn-danger  del">删除</button></td></tr>';
-                $('#gy').append(html);
+                $.ajax({
+                    method: "POST",
+                    url: 'formula/gyName',
+                    success(res) {
+                        var html = '';
+                        html += '<tr><td><input  class="form-control material" type="text" value=""></td>';
+                        html += '<td><input  class="form-control percentage" type="number" value=""></td>';
+                        html += "<td><select class='form-control selectpicker' name='gy_name' id=''><option value=''>请选择工艺</option>";
+                        for (var key in res) {
+                            html += "<option value='" + res[key].title + "'>" + res[key].title + "</option>";
+                        }
+                        html += "</select></td>";
+                        // html += '<td><input  class="form-control gy_num" type="text" value=""></td>';
+                        html += '<td><button type="button"  class="btn btn-danger  del">删除</button></td></tr>';
+                        $('#gy').append(html);
+                    }
+                });
             });
             $(document).on('click','.del',function () {
                 $(this).parent().parent().remove();
@@ -215,6 +240,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                     var remark = $('#c-remark').val();
                     var version = $('#c-version').val();
                     var date = $('#c-date').val();
+                    var model = $('#c-model').val();
                     var usability = $('#c-usability').selectPageText();
                     if (usability == ''){
                         usability = 99;
@@ -233,6 +259,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                     baseData.push(version);
                     baseData.push(date);
                     baseData.push(usability);
+                    baseData.push(model);
                     console.log(baseData);
                     //配方数据
                     var data = [];
@@ -242,18 +269,18 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         var formulaTrArr=formulaTrList.eq(i);
                         var tdOne = formulaTrArr.children("td").eq(0).find("input").val();
                         var tdTwo = formulaTrArr.children("td").eq(1).find("input").val();
-                        var tdThr = formulaTrArr.children("td").eq(2).find("input").val();
-                        var tdFou = formulaTrArr.children("td").eq(3).find("input").val();
+                        var tdThr = formulaTrArr.children("td").eq(2).find("select").val();
+                        // var tdFou = formulaTrArr.children("td").eq(3).find("input").val();
                         if (tdOne == '' && tdTwo == '' && tdThr==''){
                             layer.confirm('工艺信息不能全部为空!');return false;
                         }
-                        if (tdFou == ''){
+                        /*if (tdFou == ''){
                             layer.confirm('工序号不能为空!');return false;
-                        }
+                        }*/
                         formulaData.push(tdOne);
                         formulaData.push(tdTwo);
                         formulaData.push(tdThr);
-                        formulaData.push(tdFou);
+                        // formulaData.push(tdFou);
                         data.push(formulaData);
                     }
                     if (data.length == 0){
@@ -371,6 +398,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                     }
                     var number = $('#c-number').val();
                     var remark = $('#c-remark').val();
+                    var mid = $('#c-mid').val();
                     if (verify == -1){
                         layer.confirm("数据格式不对,请仔细核查!");return false;
                     }
@@ -383,6 +411,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                     baseData.push(examine_name);
                     baseData.push(number);
                     baseData.push(remark);
+                    baseData.push(mid);
                     Fast.api.ajax({
                         url:'formula/task?ids='+ids,
                         data:{baseData:baseData}