Quellcode durchsuchen

订单管理-冻结订单 权限:订单管理-编辑

需执行:php artisan migrate
zzd vor 5 Jahren
Ursprung
Commit
f661e8b771

+ 11 - 0
app/Http/Controllers/OrderController.php

@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
 use App\Exports\Export;
 use App\OracleBasCustomer;
 use App\OracleDOCOrderHeader;
+use App\OracleDOCWaveDetails;
 use Illuminate\Database\Eloquent\Collection;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\DB;
@@ -144,6 +145,16 @@ class OrderController extends Controller
         }
         return $data;
     }
+    public function freeze(Request $request){
+        if(!Gate::allows('订单管理-编辑')){ return redirect(url('/'));  }
+        $orderno=$request->input('orderno');
+        $waveno=$request->input('waveno');
+        OracleDOCOrderHeader::where('orderno',$orderno)->update(['releasestatus'=>'Y']);
+        if ($waveno && $waveno!='*'){
+            OracleDOCWaveDetails::where('waveno',$waveno)->where('orderno',$orderno)->delete();
+        }
+        return ['success'=>true];
+    }
 
     function export($orders,$commodities){
         if(!Gate::allows('订单管理')){ return redirect(url('/'));  }

+ 1 - 1
app/OracleDOCOrderHeader.php

@@ -15,7 +15,7 @@ class OracleDOCOrderHeader extends Model
         'oracleBASCode_codename_c'
     ];
     protected $fillable=[
-        'NOTES',
+        'NOTES','ReleaseStatus'
     ];
 
     /*

+ 11 - 0
app/OracleDOCWaveDetails.php

@@ -0,0 +1,11 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class OracleDOCWaveDetails extends Model
+{
+    protected $connection='oracle';
+    protected $table='DOC_WAVE_DETAILS';
+}

+ 37 - 0
database/migrations/2020_06_18_145606_add_authorities_order_update_table.php

@@ -0,0 +1,37 @@
+<?php
+
+use App\Authority;
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class AddAuthoritiesOrderUpdateTable extends Migration
+{
+
+    protected $authNames=[
+        "订单管理-编辑",
+    ];
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        foreach ($this->authNames as $name){
+            if(!Authority::where('name',$name)->first())(new Authority(['name'=>$name,'alias_name'=>$name]))->save();
+        }
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        foreach ($this->authNames as $name){
+            Authority::where('name',$name)->delete();
+        }
+    }
+}

+ 23 - 1
resources/views/order/index/delivering.blade.php

@@ -118,6 +118,7 @@
                     </label>
                 </th>
                 <th>序号</th>
+                <th>操作</th>
                 <th>编号</th>
                 <th>订单状态</th>
                 <th>接口下发时间</th>
@@ -152,6 +153,7 @@
                 <td>
                     <input class="checkItem" type="checkbox" :value="order.orderno" v-model="checkData">
                 </td>
+                <td>@can('订单管理-编辑')<button v-if="order.releasestatus==='N'" @click="freeze(order.orderno,order.waveno)" class="btn btn-sm btn-outline-danger text-nowrap">冻结</button>@endcan</td>
                 <td>@{{ i+1 }}</td>
                 <td class="text-dark font-weight-bold text-nowrap">@{{ order.orderno }}</td>
                 <td class="text-muted text-nowrap">@{{ order.codename_c }}</td>
@@ -404,7 +406,27 @@
                         return;
                     }
                     this.selectedStyle=orderno;
-                }
+                },
+                freeze(orderno,waveno){
+                  if(!confirm('确定要冻结“'+orderno+'”吗?'))return;
+                  let _this=this;
+                  axios.post('{{url('order/freeze')}}',{orderno:orderno,waveno:waveno})
+                      .then(function (response) {
+                            if (response.data.success){
+                                _this.orders.some(function (order) {
+                                    if (order.orderno===orderno){
+                                        order.releasestatus='Y';
+                                        return true;
+                                    }
+                                });
+                                tempTip.setDuration(3000);
+                                tempTip.show('订单已被冻结!');
+                            }
+                      }).catch(function (err) {
+                        tempTip.setDuration(3000);
+                        tempTip.show('网络异常:'+err);
+                      });
+                },
             },
         });
     </script>

+ 9 - 0
routes/web.php

@@ -40,6 +40,7 @@ Route::resource('maintenance/city','CitiesController');
 Route::resource('maintenance/commodity', 'CommodityController');
 Route::resource('maintenance/measuringMachine', 'MeasuringMachineController');
 Route::resource('maintenance/userWorkgroup', 'UserWorkgroupController');
+Route::resource('maintenance/jobType', 'JobTypeController');
 //教程管理
 Route::resource('maintenance/tutorial', 'TutorialController');
 //教程展示
@@ -230,6 +231,8 @@ Route::group(['prefix'=>'order'],function(){
     Route::get('index/delivering','OrderController@delivering');
     //批量备注
     Route::post('create/batchComments','OrderController@batchComments');
+    //冻结订单
+    Route::post('freeze','OrderController@freeze');
 });
 
 
@@ -252,6 +255,12 @@ Route::group(['prefix'=>'client'],function(){
     Route::get('performanceReport','ClientController@performanceReportIndex');
     //即时账单
     Route::get('instantBill','ClientController@instantBillIndex');
+    //增值服务
+    Route::get('valueAddedService','ClientController@valueAddedServiceIndex');
+    //增值服务录入
+    Route::get('valueAddedService/create','ClientController@valueAddedServiceCreate');
+    //相关设置
+    Route::get('relating','ClientController@relating');
 });
 
 /**