Selaa lähdekoodia

Merge branch 'zzd' of ssh://was.baoshi56.com:10022/var/git/bswas

LD 5 vuotta sitten
vanhempi
commit
557b63ba85

+ 1 - 4
app/Http/Controllers/CustomerBaseController.php

@@ -2,8 +2,6 @@
 
 namespace App\Http\Controllers;
 
-use App\Components\SyncResponse;
-use App\Customer;
 use App\CustomerLog;
 use App\CustomerTag;
 use App\Owner;
@@ -17,7 +15,6 @@ use Illuminate\Support\Facades\Validator;
 
 class CustomerBaseController extends Controller
 {
-    use SyncResponse;
     /**
      * Display a listing of the resource.
      *
@@ -26,7 +23,7 @@ class CustomerBaseController extends Controller
      */
     public function index(Request $request)
     {
-        $this->gate("客户-查询");
+        if(!Gate::allows("客户-查询"))return view("exception.authority");
         $customers = app('CustomerService')->paginate($request->input(),["owners.contracts.files","tags:id,name","customerLogs"=>function($query){
             /** @var Builder $query */
             $query->with(["status:id,name,created_at","user:id,name"])->orderByDesc('id');

+ 0 - 2
app/Http/Controllers/OwnerController.php

@@ -5,8 +5,6 @@ namespace App\Http\Controllers;
 use App\Authority;
 use App\Components\AsyncResponse;
 use App\Events\CustomerStored;
-use App\Log;
-use App\Logistic;
 use App\Owner;
 use Exception;
 use Illuminate\Http\Request;

+ 23 - 17
app/Http/Controllers/PriceModelController.php

@@ -267,22 +267,25 @@ class PriceModelController extends Controller
             "feature" => $request->input("feature"),
             "discount_count"    => request("discount_count"),
             "total_price"       => request("total_price"),
-            "total_discount_price"=> request("total_discount_price"),
+            "total_discount_price"=> request("total_discount_price") ?? null,
         ]);
-        //录入子表
-        $insert = [];
-        foreach ($request->input("items") as $rule){
-            $insert[] = [
-                "owner_price_operation_id" => $ownerPriceOperation->id,
-                "amount" => $rule["amount"],
-                "unit_id" => $rule["unit_id"],
-                "unit_price" => $rule["unit_price"],
-                "strategy" => $rule["strategy"],
-                "feature" => $rule["feature"],
-                "priority" => $rule["priority"],
-            ];
+        if ($request->input("items")){
+            //录入子表
+            $insert = [];
+            foreach ($request->input("items") as $rule){
+                $insert[] = [
+                    "owner_price_operation_id" => $ownerPriceOperation->id,
+                    "amount" => $rule["amount"],
+                    "unit_id" => $rule["unit_id"],
+                    "unit_price" => $rule["unit_price"],
+                    "strategy" => $rule["strategy"],
+                    "feature" => $rule["feature"],
+                    "priority" => $rule["priority"],
+                    "discount_price" => $rule["discount_price"] ?? null,
+                ];
+            }
+            $service->insertItem($insert);
         }
-        $service->insertItem($insert);
         //录入中间表
         /** @var OwnerPriceOperation $ownerPriceOperation */
         if ($request->input("owner_id"))$ownerPriceOperation->ownerPriceOperationOwners()->sync($request->input("owner_id"));
@@ -317,7 +320,7 @@ class PriceModelController extends Controller
             "feature" => $request->input("feature"),
             "discount_count"    => request("discount_count"),
             "total_price"       => request("total_price"),
-            "total_discount_price"=> request("total_discount_price"),
+            "total_discount_price"=> request("total_discount_price") ?? null,
         ]);
         $service->destroyItem($id);
         //录入子表
@@ -331,6 +334,7 @@ class PriceModelController extends Controller
                 "strategy" => $rule["strategy"],
                 "feature" => $rule["feature"],
                 "priority" => $rule["priority"],
+                "discount_price" => $rule["discount_price"] ?? null,
             ];
         }
         $service->insertItem($insert);
@@ -1061,7 +1065,7 @@ class PriceModelController extends Controller
             $model = app('OwnerPriceOperationService')->find(request("id"),["items"]);
             app('OwnerPriceOperationService')->findUpdate($model,$operation);
             $delete = [];//需要删除子项
-            $update = [["id","strategy","amount","unit_id","unit_price","feature"]];//需要更新子项
+            $update = [["id","strategy","amount","unit_id","unit_price","feature","discount_price"]];//需要更新子项
             $insert = [];//需要新增子项
             foreach ($params["items"] as $item){
                 $obj = [
@@ -1069,7 +1073,8 @@ class PriceModelController extends Controller
                     "amount"    => $item["amount"],
                     "unit_id"   => $item["unit_id"],
                     "unit_price"=> $item["unit_price"],
-                    "feature"   => $item["feature"],
+                    "feature"   => $item["feature"] ?? null,
+                    "discount_price"   => $item["discount_price"] ?? null,
                 ];
                 if (isset($item["id"])){
                     $obj["id"] = $item["id"];
@@ -1389,6 +1394,7 @@ class PriceModelController extends Controller
                     "amount" => $item["amount"],
                     "unit_id" => $item["unit_id"],
                     "unit_price" => $item["unit_price"],
+                    "discount_price" => $item["discount_price"] ?? null,
                     "feature" => $item["feature"],
                     "featureFormat" => $item->featureFormat,
                 ];

+ 2 - 0
app/Providers/AppServiceProvider.php

@@ -59,6 +59,7 @@ use App\Services\ProcessesContentService;
 use App\Services\ProcessMethodService;
 use App\Services\ProcessService;
 use App\Services\ProcessStatisticService;
+use App\Services\ProvinceService;
 use App\Services\RealtimePendingOrdersService;
 use App\Services\RejectedBillItemService;
 use App\Services\RejectedBillService;
@@ -198,6 +199,7 @@ class AppServiceProvider extends ServiceProvider
         app()->singleton('ProcessService',ProcessService::class);
         app()->singleton('ProcessStatisticService',ProcessStatisticService::class);
         app()->singleton('ProcessesContentService',ProcessesContentService::class);
+        app()->singleton('ProvinceService',ProvinceService::class);
         app()->singleton('RealtimePendingOrdersService',RealtimePendingOrdersService::class);
         app()->singleton('RegionService',RegionService::class);
         app()->singleton('RejectedBillItemService',RejectedBillItemService::class);

+ 4 - 3
app/Services/OrderService.php

@@ -12,6 +12,7 @@ use App\Order;
 use App\OrderIssue;
 use App\Owner;
 use App\OwnerFeeDetail;
+use App\Province;
 use App\RejectedBill;
 use App\Services\common\BatchUpdateService;
 use App\Services\common\DataHandlerService;
@@ -1046,10 +1047,10 @@ class OrderService
             $commodities = array_merge($commodities,$package->commodities->toArray());
 
             if ($logistic_fee!==null){
-                $provinceName = $order->province;
+                $provinceName = mb_substr($order->province,0,2);
                 $province = app(CacheService::class)->getOrExecute("province_".$provinceName,function ()use($provinceName){
-                    return app("ProvinceService")->first(["name"=>$provinceName]);
-                },60);
+                    return Province::query()->where("name","like",$provinceName."%")->first();
+                },86400);
                 if (!$province)$logistic_fee = null;
 
                 $fee = $service->matching($package->weight, $order->owner_id, $order->logistic_id, $province->id);

+ 4 - 5
app/Services/OwnerPriceOperationService.php

@@ -172,12 +172,12 @@ class OwnerPriceOperationService
             if ($rule->strategy == '特征'){//特征策略匹配
                 $bool = app("FeatureService")->matchFeature($rule->feature,$columnMapping,$matchObject);
                 if ($bool === true){
-                    if ($rule->total_price)return $isDiscount ? $rule->total_discount_price : $rule->total_price; //按单计价存在,直接返回单总价或减免总价
+                    if ($rule->total_price)return ["id"=>$rule->id,"money"=>$isDiscount ? $rule->total_discount_price : $rule->total_price]; //按单计价存在,直接返回单总价或减免总价
                     $money = $this->matchItem($rule->items,$columnMapping,$matchObject,$units,$owner_id,$type=='入库' ? true : false,$isDiscount);
                     if ($money>0)return ["id"=>$rule->id,"money"=>$money];
                 };
             }else{//默认策略匹配
-                if ($rule->total_price)return $isDiscount ? $rule->total_discount_price : $rule->total_price; //按单计价存在,直接返回单总价或减免总价
+                if ($rule->total_price)return ["id"=>$rule->id,"money"=>$isDiscount ? $rule->total_discount_price : $rule->total_price]; //按单计价存在,直接返回单总价或减免总价
                 $money = $this->matchItem($rule->items,$columnMapping,$matchObject,$units,$owner_id,$type=='入库' ? true : false,$isDiscount);
                 if ($money>0)return ["id"=>$rule->id,"money"=>$money];
             };
@@ -231,12 +231,11 @@ class OwnerPriceOperationService
                     $inMoney = 0;
                     foreach ($packages as &$package){
                         if ($package["price"] ?? false)continue;
-                        if (!app("FeatureService")->matchFeature($rule->feature,["商品名称"=>$commodityColumn],["commodity"=>$package[$commodityColumn] ?? ''])) continue;
+                        if (!app("FeatureService")->matchFeature($rule->feature,["商品名称"=>$commodityColumn],$package)) continue;
 
                         if (!$unitName)$unitName = $units[$rule->unit_id];
                         else {
-                            if ($unitName != $units[$rule->unit_id])
-                                return -3;
+                            if ($unitName != $units[$rule->unit_id]) return -3;
                         }
                         $package["price"] = $rule->unit_price;
                         if (!isset($units[$rule->unit_id]))return -3;

+ 35 - 0
database/migrations/2021_01_29_161734_add_units_data.php

@@ -0,0 +1,35 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class AddUnitsData extends Migration
+{
+    protected $units = [
+        "件","箱",'单',"日","月","m²","m³"
+    ];
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        foreach ($this->units as $unit){
+            \App\Unit::query()->firstOrCreate(["name"=>$unit],[
+               "name" => $unit,
+               "code" => $unit
+            ]);
+        }
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+    }
+}

+ 2 - 2
resources/views/customer/project/area.blade.php

@@ -170,8 +170,8 @@
                     {name:'ownerStoragePriceModel',value: '用仓类型'},
                     {name:'areaOnTray',value: '货物整托', neglect: true},
                     {name:'areaOnHalfTray',value: '货物半托', neglect: true},
-                    {name:'areaOnFlat',value: '平面区(面积/体积)', neglect: true},
-                    {name:'accountingArea',value: '结算(面积/体积)', neglect: true},
+                    {name:'areaOnFlat',value: '平面区', neglect: true},
+                    {name:'accountingArea',value: '结算', neglect: true},
                 ];
                 let _this=this;
                 setTimeout(function () {

+ 26 - 1
resources/views/customer/project/create.blade.php

@@ -412,6 +412,10 @@
                         if (res.owner_storage_price_models.length>0)this.selectedModel.storage = res.owner_storage_price_models;
                         if (res.owner_price_operations.length>0){
                             this._loadOperation();
+                            res.owner_price_operations.forEach((operation)=>{
+                                if (operation.discount_count)operation.isDiscount = true;
+                                if (operation.total_price)operation.isSingle = true;
+                            });
                             this.selectedModel.operation = res.owner_price_operations;
                         }
                         if (res.owner_price_expresses.length>0){
@@ -619,14 +623,19 @@
                         this.$forceUpdate();
                         return;
                     }
-                    if (!this.model.operation.total_price){
+                    if (!this.model.operation.isSingle){
                         if ((this.model.operation.operation_type === '出库' && this._verifyOperationItem(0)) || this._verifyOperationItem(1))return;
                         if (this.model.operation.items.length>2){
                             for (let i=2;i<this.model.operation.items.length;i++){
                                 if (this._verifyOperationItem(i))return;
                             }
                         }
+                        this.model.operation.total_price = "";
                     }else this.$set(this.model.operation,"items",[]);
+                    if (!this.model.operation.isDiscount) {
+                        this.model.operation.discount_count = "";
+                        this.model.operation.total_discount_price = "";
+                    }
                     let url = "{{url('maintenance/priceModel/apiStoreOperation')}}";
                     let params = this.model.operation;
                     params.owner_id = this.ownerTemp.id;
@@ -649,6 +658,8 @@
                             res.items[i].type = this.model.operation.items[sign]['type'];
                             sign++;
                         }
+                        if (res.discount_count)res.isDiscount = true;
+                        if (res.total_price)res.isSingle = true;
                         if (params.id) this.selectedModel.operation[params.index] = res;
                         else this.selectedModel.operation.push(res);
                         this.model.operation = {
@@ -668,6 +679,10 @@
                 _verifyOperationItem(itemIndex){//验证作业费子项信息完整
                     let obj = this.model.operation.items[itemIndex];
                     let sign = false;
+                    if (obj.strategy === '特征' && !obj.feature){
+                        this.errors['items.'+itemIndex+'.feature'] = ["必须选择特征"];
+                        sign = true;
+                    }
                     if (this.model.operation.isDiscount && !obj.discount_price){
                         this.errors['items.'+itemIndex+'.discount_price'] = ["满减单价不得为空"];
                         sign = true;
@@ -683,6 +698,9 @@
                     if (!obj.unit_price){
                         this.errors['items.'+itemIndex+'.unit_price'] = ["单价不得为空"];
                     }
+                    if (this.model.operation.isDiscount && !obj.discount_price){
+                        this.errors['items.'+itemIndex+'.discount_price'] = ["满减单价不得为空"];
+                    }
                     if (sign)this.$forceUpdate();
                     return sign;
                 },
@@ -1420,6 +1438,13 @@
                     this.model.operation = JSON.parse(JSON.stringify(this.selectedModel.operation[index]));
                     if (this.model.operation.operation_type==='入库') this.model.operation.items.unshift({});
                     this.model.operation.index = index;
+                    if (this.model.operation.items.length == 0){
+                        this.model.operation.items = [
+                            {strategy:"起步",type:"0"},
+                            {strategy:"默认"},
+                            {strategy:"特征"},
+                        ];
+                    }
                 },
                 //编辑快递
                 editExpress(index){

+ 1 - 1
resources/views/customer/project/part/_addFeature.blade.php

@@ -25,7 +25,7 @@
                         </label>
                         <label class="col-2">
                             <select class="form-control form-control-sm" v-model="feature.type">
-                                <option v-for="t in pool.feature_type" :value="t">@{{ t }}</option>
+                                <option v-for="t in pool.feature_type" :value="t" v-if="(thisOperationItemIndex===-1 && t !== '商品名称') || (thisOperationItemIndex!==-1 && t==='商品名称')">@{{ t }}</option>
                             </select>
                         </label>
                         <label class="col-2">

+ 5 - 4
resources/views/customer/project/part/_operation.blade.php

@@ -35,7 +35,7 @@
 <div class="row mt-3" v-if="model.operation.operation_type == '出库'">
     <label class="col-2" for="isDiscount">是否满减</label>
     <div class="col-2">
-        <input type="checkbox" id="isDiscount" class="col-2 rounded mt-1" v-model="model.operation.isDiscount">
+        <input type="checkbox" id="isDiscount" class="rounded mt-1" v-model="model.operation.isDiscount">
     </div>
     <div class="col-8 row" v-if="model.operation.isDiscount">
         <label class="col-3" for="discount">满减值</label>
@@ -92,7 +92,7 @@
                     <div class="row mt-2" v-if="model.operation.items[0].type == 0">
                         <label class="col-3">单位</label>
                         <label class="col-5 mb-0"><select v-model="model.operation.items[0].unit_id" class="form-control" :class="errors['items.0.unit_id'] ? 'is-invalid' : ''">
-                                <option v-for="unit in pool.units" :value="unit.id">@{{ unit.name }}</option>
+                                <option v-for="unit in pool.units" :value="unit.id" v-if="unit.name=='件' || unit.name=='箱'">@{{ unit.name }}</option>
                             </select></label>
                     </div>
                     <div class="row mt-0" v-if="errors['items.0.unit_id']">
@@ -145,7 +145,7 @@
             <div class="row mt-2">
                 <label class="col-3">单位</label>
                 <label class="col-5 mb-0"><select v-model="model.operation.items[1].unit_id" class="form-control" :class="errors['items.1.unit_id'] ? 'is-invalid' : ''">
-                    <option v-for="unit in pool.units" :value="unit.id">@{{ unit.name }}</option>
+                    <option v-for="unit in pool.units" :value="unit.id" v-if="unit.name=='件' || unit.name=='箱'">@{{ unit.name }}</option>
                 </select></label>
             </div>
             <div class="row mt-0" v-if="errors['items.1.unit_id']">
@@ -196,7 +196,7 @@
             <div class="row mt-2">
                 <label class="col-3">单位</label>
                 <label class="col-5 mb-0"><select v-model="item.unit_id" class="form-control" :class="errors['items.'+i+'.unit_id'] ? 'is-invalid' : ''">
-                    <option v-for="unit in pool.units" :value="unit.id">@{{ unit.name }}</option>
+                    <option v-for="unit in pool.units" :value="unit.id" v-if="unit.name=='件' || unit.name=='箱'">@{{ unit.name }}</option>
                 </select></label>
             </div>
             <div class="row mt-0" v-if="errors['items.'+i+'.unit_id']">
@@ -221,6 +221,7 @@
             <div class="row mt-2">
                 <label class="col-3">特征:</label>
                 <label class="col-5">
+                    <label v-if="errors['items.'+i+'.feature']" class="text-danger">@{{ errors['items.'+i+'.feature'][0] }}</label>
                     <label v-if="item.feature">@{{ item.featureFormat }}</label><br>
                     <button type="button" class="btn btn-dark ml-2" @click="showAddFeatureModal(i)">调整特征</button>
                 </label>

+ 16 - 2
resources/views/customer/project/part/_three.blade.php

@@ -61,8 +61,14 @@
                                           v-if="operation.strategy == '特征'" @click.stop="delOperation(operation,i)">&times;</span>
                                 </div>
                             </div>
+                            <div class="row offset-1 small mt-0" style="background-color: RGB(248,248,248)" v-if="operation.discount_count">
+                                <span class="text-secondary">满减阈值:</span><b>@{{ operation.discount_count }}</b>
+                            </div>
                             <div class="row offset-1 small mt-0" style="background-color: RGB(248,248,248)" v-if="operation.strategy === '特征'">
-                                @{{ operation.featureFormat }}
+                                <span class="text-secondary">特征:</span>@{{ operation.featureFormat }}
+                            </div>
+                            <div class="container-fluid offset-2" v-if="operation.isSingle">
+                                按单计费:<b>@{{ operation.total_price }}</b>&nbsp;元/单<span v-if="operation.isDiscount">&nbsp;(满减价格:<b>@{{ operation.total_discount_price }}</b>&nbsp;元/单)</span>
                             </div>
                             <div class="container-fluid offset-2" :id="'operation-item-'+i">
                                 <div v-for="(item,j) in operation.items" class="container-fluid">
@@ -70,6 +76,7 @@
                                         <div class="col-10">
                                             <label>@{{ item.strategy }}</label>:
                                             <b>@{{ item.amount }}</b>&nbsp;@{{ poolMapping.units ? poolMapping.units[item.unit_id] : '' }} / <b>@{{ item.unit_price }}</b>元
+                                            <span v-if="operation.isDiscount">&nbsp;(满减单价:<b>@{{ item.discount_price }}元</b>)</span>
                                         </div>
                                         <div class="col-1">
                                             <span class="cursor-pointer text-danger font-weight-bold"
@@ -103,8 +110,14 @@
                                           v-if="operation.strategy == '特征'" @click.stop="delOperation(operation,i)">&times;</span>
                                 </div>
                             </div>
+                            <div class="row offset-1 small mt-0" style="background-color: RGB(248,248,248)" v-if="operation.discount_count">
+                                <span class="text-secondary">满减阈值:</span><b>@{{ operation.discount_count }}</b>
+                            </div>
                             <div class="row offset-1 small mt-0" style="background-color: RGB(248,248,248)" v-if="operation.strategy === '特征'">
-                                @{{ operation.featureFormat }}
+                                <span class="text-secondary">特征:</span>@{{ operation.featureFormat }}
+                            </div>
+                            <div class="container-fluid offset-2" v-if="operation.isSingle">
+                                按单计费:<b>@{{ operation.total_price }}</b>&nbsp;元/单<span v-if="operation.isDiscount">&nbsp;(满减价格:<b>@{{ operation.total_discount_price }}</b>&nbsp;元/单)</span>
                             </div>
                             <div class="container-fluid offset-2" :id="'operation-item-'+i">
                                 <div v-for="(item,j) in operation.items" class="container-fluid">
@@ -112,6 +125,7 @@
                                         <div class="col-10">
                                             <label>@{{ item.strategy }}</label>:
                                             <span v-if="item.amount > 0"><b>@{{ item.amount }}</b>&nbsp;@{{ poolMapping.units ? poolMapping.units[item.unit_id] : '' }} /</span><b>&nbsp;@{{ item.unit_price }}</b>元
+                                            <span v-if="operation.isDiscount">&nbsp;(满减单价:<b>@{{ item.discount_price }}元</b>)</span>
                                         </div>
                                         <div class="col-1">
                                             <span class="cursor-pointer text-danger font-weight-bold"

+ 44 - 2
resources/views/maintenance/priceModel/operation/create.blade.php

@@ -65,12 +65,42 @@
             </div>
             <div class="row mt-3">
                 <label for="priority" class="col-2">优先级</label>
-                <input id="priority" type="number" min="0" value="0" name="priority" :class="errors.priority ? 'is-invalid' : ''" class="col-6 form-control" v-model="model.priority" required>
+                <input id="priority" type="number" min="0" name="priority" :class="errors.priority ? 'is-invalid' : ''" class="col-6 form-control" v-model="model.priority" required>
                 <span class="invalid-feedback mt-0 offset-2" role="alert" v-if="errors.priority">
                     <strong>@{{ errors.priority[0] }}</strong>
                 </span>
             </div>
+            <div class="row mt-3" v-if="model.operation_type == '出库'">
+                <label class="col-2" for="isDiscount">是否满减</label>
+                <div class="col-2">
+                    <input type="checkbox" id="isDiscount" class="rounded mt-1" v-model="model.isDiscount">
+                </div>
+                <div class="col-8 row" v-if="model.isDiscount">
+                    <label class="col-3" for="discount">满减值</label>
+                    <input id="discount" v-model="model.discount_count" name="discount_count"
+                           class="form-control form-control-sm col-6" :class="errors.discount_count ? 'is-invalid' : ''" step="1" type="number" min="0">
+                </div>
+            </div>
             <div class="row mt-3">
+                <label class="col-2" for="isSingle">按单计价</label>
+                <div class="col-2">
+                    <input type="checkbox" id="isSingle" class="pull-left rounded mt-1" v-model="model.isSingle">
+                </div>
+                <div class="col-8 row" v-if="model.isSingle">
+                    <label class="col-3" for="total_price">普通价格</label>
+                    <input id="total_price" name="total_price" v-model="model.total_price"
+                           class="form-control form-control-sm col-6" :class="errors.total_price ? 'is-invalid' : ''" step="0.001" type="number" min="0">
+                </div>
+            </div>
+            <div class="row mt-1" v-if="model.isSingle && model.isDiscount">
+                <label class="col-2"></label><div class="col-2"></div>
+                <div class="col-8 row">
+                    <label class="col-3" for="total_discount_price">满减价格</label>
+                    <input id="total_discount_price" name = "total_discount_price" v-model="model.total_discount_price"
+                           class="form-control form-control-sm col-6" :class="errors.total_discount_price ? 'is-invalid' : ''" step="0.001" type="number" min="0">
+                </div>
+            </div>
+            <div class="row mt-3" v-if="!model.isSingle">
                 <div v-for="(item,i) in model.items" class="card row text-white col-8" :class="i>0 ? 'bg-secondary mt-2' : 'bg-info'">
                     <div class="card-header">
                         <div class="pull-left" v-if="i==0"><span @click="addRule()" class="fa fa-plus-square-o" style="cursor: pointer"></span></div>
@@ -130,6 +160,11 @@
                             <label v-if="item.feature">@{{ item.feature }}</label>
                             <button type="button" class="btn btn-dark col-2 ml-2" @click="showAddFeatureModal(i,item.feature)">调整特征</button>
                         </div>
+                        <div class="row mt-2" v-if="model.isDiscount">
+                            <label class="col-2" for="discount_price">满减单价:</label>
+                            <input class="col-5 form-control form-control-sm" id="discount_price" name="discount_price" v-model="item.discount_price"
+                                type="number" step="0.001" min="0">
+                        </div>
                     </div>
                 </div>
                 <label hidden><input name="items" :value="JSON.stringify(model.items)"></label>
@@ -157,8 +192,11 @@
                     operation_type:"{{old('operation_type') ?? (isset($model) ? $model->operation_type : '')}}",
                     strategy:"{{old('strategy') ?? (isset($model) ? $model->strategy : '')}}",
                     name:"{{old('name') ?? (isset($model) ? $model->name : '')}}",
-                    priority:"{{old('priority') ?? (isset($model) ? $model->priority : '')}}",
+                    priority:"{{old('priority') ?? (isset($model) ? $model->priority : 0)}}",
                     feature:"{{old('feature') ?? (isset($model) ? $model->feature : '')}}",
+                    discount_count:"{{old('discount_count') ?? (isset($model) ? $model->discount_count : '')}}",
+                    total_price:"{{old('total_price') ?? (isset($model) ? $model->total_price : '')}}",
+                    total_discount_price:"{{old('total_discount_price') ?? (isset($model) ? $model->total_discount_price : '')}}",
                     remark:"{{old('remark') ?? (isset($model) ? $model->remark : '')}}",
                     items:{!! old('items') ? json_encode(old('items')) : (isset($model)&&$model->items ? $model->items : "[{strategy:'',amount:'',unit_id:'',unit_price:'',feature:'',priority:''}]")!!},
                 },
@@ -180,6 +218,10 @@
                 existStrategy:{default:false,starting:false},
                 oldFeature : '',
             },
+            mounted(){
+                this.$set(this.model,"isSingle",!!this.model.total_price);
+                this.$set(this.model,"isDiscount",!!this.model.discount_count);
+            },
             methods:{
                 outRuleUnique(strategy){
                     if (strategy==='起步') this.existStrategy.starting = true;

+ 1 - 1
resources/views/maintenance/priceModel/operation/index.blade.php

@@ -47,7 +47,7 @@
                 <td>@{{ model.totalDiscountPrice }}</td>
                 <td>@{{ model.discountDate }}</td>
                 <td>@{{ model.feature }}</td>
-                <td>@{{ model.remark }}</td>
+                <td><div class="text-overflow-warp-200">@{{ model.remark }}</div></td>
                 <td>@{{ model.createdAt }}</td>
                 <td>
                     @can("计费模型-作业-编辑")<button type="button" class="btn btn-sm btn-outline-info" @click="edit(model.id)">编辑</button>@endcan