Преглед изворни кода

Merge branch 'Haozi'

# Conflicts:
#	resources/views/process/edit.blade.php
LD пре 5 година
родитељ
комит
fccc614eaa

+ 40 - 28
app/Http/Controllers/ProcessController.php

@@ -537,6 +537,7 @@ class ProcessController extends Controller
             if (count($error)>0)$errors[$processContent['wms_code']]=$error;
         }
         if (count($errors)>0)return ['error'=>$errors];
+
         $process=new Process([
             'code'=>Uuid::uuid1(),
             'owner_id'=>$request->input('owner_id'),
@@ -545,14 +546,6 @@ class ProcessController extends Controller
             'remark'=>$request->input('remark'),
             'amount'=>$request->input('amount'),
         ]);
-        $process->save();
-        $process->code='P'.date ("Ymd").str_pad($process->id,3,"0",STR_PAD_LEFT);
-        $process->update();
-        $processStatistic=new ProcessStatistic([
-            'process_id'=>$process->id,
-        ]);
-        $processStatistic->save();
-        $this->log(__METHOD__,"录入二次加工单".__FUNCTION__,json_encode($process)." || ".json_encode($processStatistic),Auth::user()['id']);
         $processContents=[];
         foreach ($request->input('processContents') as $processContent){
             $wmsCode_commoditySku=$processContent['wms_code'].'_'.$processContent['commodity_sku'];
@@ -560,7 +553,7 @@ class ProcessController extends Controller
         }
         $removeDuplicateProcessContents=array_unique($processContents);
         if (count($processContents)>count($removeDuplicateProcessContents)){
-            return view('exception.404',['error'=>'录入商品不可重复!']);
+            return ['success'=>false,'data'=>'录入商品不可重复!'];
         }else{
             foreach ($request->input('processContents') as $processContent){
                 if ($processContent['addBtnShow'])continue;
@@ -575,6 +568,15 @@ class ProcessController extends Controller
                 $this->log(__METHOD__,"录入二次加工单内容单".__FUNCTION__,json_encode($processContentOne),Auth::user()['id']);
             }
         }
+        $process->save();
+        $process->code='P'.date ("Ymd").str_pad($process->id,3,"0",STR_PAD_LEFT);
+        $process->update();
+        $processStatistic=new ProcessStatistic([
+            'process_id'=>$process->id,
+        ]);
+        $processStatistic->save();
+        $this->log(__METHOD__,"录入二次加工单".__FUNCTION__,json_encode($process)." || ".json_encode($processStatistic),Auth::user()['id']);
+
         if ($request->input('tutorials'))$process->tutorials()->sync($request->input('tutorials'));
         return;
     }
@@ -635,27 +637,37 @@ class ProcessController extends Controller
         $process->amount=$request->input('amount');
         $process->update();
         $this->log(__METHOD__,"编辑二次加工单".__FUNCTION__,json_encode($process),Auth::user()['id']);
+        $processContents=[];
         foreach ($request->input('processContents') as $processContent){
-            if ($processContent['addBtnShow'])continue;
-            if (!isset($processContent['id'])){
-                $processContentOne=new ProcessesContent([
-                    'process_id'=>$process->id,
-                    'bill_type'=>$processContent['bill_type'],
-                    'commodity_id'=>$processContent['commodity_id'],
-                    'wms_code'=>$processContent['wms_code'],
-                    'amount'=>$processContent['amount'],
-                ]);
-                $processContentOne->save();
-                $this->log(__METHOD__,"录入二次加工单内容单".__FUNCTION__,json_encode($processContentOne),Auth::user()['id']);
-                continue;
+            $wmsCode_commoditySku=$processContent['wms_code'].'_'.$processContent['commodity_sku'];
+            array_push($processContents,$wmsCode_commoditySku);
+        }
+        $removeDuplicateProcessContents=array_unique($processContents);
+        if (count($processContents)>count($removeDuplicateProcessContents)){
+            return ['success'=>false,'data'=>'录入商品不可重复!'];
+        }else{
+            foreach ($request->input('processContents') as $processContent){
+                if ($processContent['addBtnShow'])continue;
+                if (!isset($processContent['id'])){
+                    $processContentOne=new ProcessesContent([
+                        'process_id'=>$process->id,
+                        'bill_type'=>$processContent['bill_type'],
+                        'commodity_id'=>$processContent['commodity_id'],
+                        'wms_code'=>$processContent['wms_code'],
+                        'amount'=>$processContent['amount'],
+                    ]);
+                    $processContentOne->save();
+                    $this->log(__METHOD__,"录入二次加工单内容单".__FUNCTION__,json_encode($processContentOne),Auth::user()['id']);
+                    continue;
+                }
+                $processContentOne=ProcessesContent::find($processContent['id']);
+                $processContentOne->bill_type=$processContent['bill_type'];
+                $processContentOne->commodity_id=$processContent['commodity_id'];
+                $processContentOne->wms_code=$processContent['wms_code'];
+                $processContentOne->amount=$processContent['amount'];
+                $processContentOne->update();
+                $this->log(__METHOD__,"编辑二次加工单内容单".__FUNCTION__,json_encode($processContentOne),Auth::user()['id']);
             }
-            $processContentOne=ProcessesContent::find($processContent['id']);
-            $processContentOne->bill_type=$processContent['bill_type'];
-            $processContentOne->commodity_id=$processContent['commodity_id'];
-            $processContentOne->wms_code=$processContent['wms_code'];
-            $processContentOne->amount=$processContent['amount'];
-            $processContentOne->update();
-            $this->log(__METHOD__,"编辑二次加工单内容单".__FUNCTION__,json_encode($processContentOne),Auth::user()['id']);
         }
         return;
     }

+ 10 - 1
resources/views/process/create.blade.php

@@ -357,7 +357,16 @@
                             _this.processContentError=response.data.error;
                             return;
                         }
-                        location.href="{{url('process')}}";
+                        if(response.data.success==false){
+                            tempTip.setDuration(5000);
+                            tempTip.show('提交失败:'+response.data.data);
+                        }else {
+                            tempTip.setDuration(5000);
+                            tempTip.showSuccess('提交成功');
+                            setTimeout(function () {
+                                location.href="{{url('process')}}";
+                            },1000)
+                        }
                     }).catch(function (err) {
                         tempTip.setDuration(5000);
                         tempTip.show('提交失败!网络错误:'+err);

+ 34 - 7
resources/views/process/edit.blade.php

@@ -145,6 +145,17 @@
                 ],
                 tutorials:[],
                 selectedTutorials:[],
+                commodityIds:[],
+            },
+            mounted:function(){
+                let _this=this;
+                _this.processContents.every(function (processContent) {
+                    if (!processContent.addBtnShow) {
+                        _this.commodityIds.push(parseInt(processContent.commodity_id));
+                        return true;
+                    }
+                    return  false;
+                });
             },
             watch:{
                 processContents:{
@@ -173,16 +184,17 @@
                     let isUnique=true;
                     _this.processContents.every(function (processContent) {
                         if (processContent.wms_code==wms_code){
+                            _this.commodityIds.push(processContent.commodity_id);
                             isUnique=false;
                             return false;
                         }
                         return  true;
                     });
-                    if (!isUnique){
-                        tempTip.setDuration(3000);
-                        tempTip.show('该单据已被添加至下边!');
-                        return;
-                    }
+                    // if (!isUnique){
+                    //     tempTip.setDuration(3000);
+                    //     tempTip.show('下方已添加该单据!');
+                    //     return;
+                    // }
                     axios.post('{{url("api/thirdPart/flux/process/getProcessContent")}}',{wms_code:wms_code})
                         .then(function (response) {
                             if (response.data.error){
@@ -223,6 +235,7 @@
                     let _this=this;
                     _this.processContents.every(function (processContent) {
                         if (processContent.wms_code==wms_code) {
+                            _this.commodityIds.push(processContent.commodity_id);
                             processContent.addBtnShow=false;
                             return false;
                         }
@@ -251,6 +264,7 @@
                     _this.processContents.every(function (processContent,i) {
                         if (processContent.wms_code==wms_code) {
                             _this.processContents.splice(i,1);
+                            _this.commodityIds.splice(_this.commodityIds.indexOf(processContent.commodity_id),1);
                             return false;
                         }
                         return  true;
@@ -260,7 +274,11 @@
                 selectedCommodity(commodity,wms_code){
                     let _this=this;
                     _this.processContents.every(function (processContent) {
-                       if (processContent.wms_code==wms_code){
+                        if (_this.commodityIds.includes(commodity.id)){
+                            tempTip.setDuration(3000);
+                            tempTip.show('下方已添加该单据!');
+                            return;
+                        }else if (processContent.wms_code==wms_code){
                            processContent.commodity_id=commodity.id;
                            processContent.commodity_name=commodity.name;
                            processContent.commodity_barcodes=commodity.barcodes;
@@ -303,7 +321,16 @@
                             _this.processContentError=response.data.error;
                             return;
                         }
-                        location.href="{{url('process')}}";
+                        if(response.data.success==false){
+                            tempTip.setDuration(5000);
+                            tempTip.show('提交失败:'+response.data.data);
+                        }else {
+                            tempTip.setDuration(5000);
+                            tempTip.showSuccess('提交成功');
+                            setTimeout(function () {
+                                location.href="{{url('process')}}";
+                            },1000)
+                        }
                     }).catch(function (err) {
                         tempTip.setDuration(3000);
                         tempTip.show('提交失败!网络错误:'+err);