Просмотр исходного кода

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

LD 5 лет назад
Родитель
Сommit
7481688e19

+ 0 - 7
app/Http/Controllers/CustomerBaseController.php

@@ -21,13 +21,6 @@ class CustomerBaseController extends Controller
         if(!Gate::allows('客户-查询')){ return redirect('denied');  }
         $customers = app('CustomerService')->paginate($request->input(),["owners.contracts.files"]);
         $owners = app("OwnerService")->getIntersectPermitting(['id','name','customer_id']);
-        $ownerMap = [[]];
-        foreach ($owners as $owner){
-            if (!$owner->customer_id){
-                $ownerMap[0][] = $owner->id; //TODO
-            }
-            if (isset($ownerMap[$owner->customer_id]));
-        }
         return response()->view('customer.customer.index',compact("customers","owners"));
     }
 

+ 2 - 2
app/Imports/UpdatePickZone.php

@@ -103,8 +103,8 @@ class UpdatePickZone implements ToCollection,WithHeadingRow
             $result = null;
             if (count($lots) == 1)$result = $lots[0];
             else {
-                $zone = ["拣货","存储","虚拟库区"];
-                $zones = [];
+                $zone = ["拣货","存储","虚拟"];
+                $zones = [[],[],[]];
                 foreach ($lots as $lot){
                     foreach ($zone as $index=>$str){
                         if (mb_strpos($lot->descr,$str) !== false){

+ 1 - 1
resources/views/customer/customer/_addContract.blade.php

@@ -10,7 +10,7 @@
                         <label class="col-2" for="owner">所属项目</label>
                         <span class="fa fa-edit col-1 form-font"></span>
                         <select id="owner" type="text" class="form-control form-control-sm ml-0 col-5" v-if="index !== ''">
-                            <option v-for="owner in owners[customers[index].id]" :value="owner.id">@{{ owner.name }}</option>
+                            <option v-for="owner in customerOwners[customers[index].id]" :value="owner.id">@{{ owner.name }}</option>
                         </select>
                     </div>
                     <div class="row mt-2">

+ 8 - 7
resources/views/customer/customer/_relatedOwner.blade.php

@@ -7,15 +7,16 @@
             <div class="modal-body">
                 <div class="container-fluid">
                     <div class="row">
-                        <label for="ownerSelectpicker">选择货主</label>
-                        <select id="ownerSelectpicker" class="selectpicker" multiple data-live-search="true" title="项目(多选)" {{--v-model="ownerIds[customers[index]['id']]"--}}>
-                            <option>1</option>
-                            <option v-for="owner in ownerMap" :value="owner.id">@{{ owner.name }}</option>
-                        </select>
-                        <select{{--v-model="ownerIds[customers[index]['id']]"--}}>
-                            <option v-for="owner in ownerMap" disabled="true" :value="owner.id">@{{ owner.name }}</option>
+                        <label for="ownerSelectpicker" class="col-2 offset-1">选择货主</label>
+                        <select data-none-results-text="货主不存在" id="ownerSelectpicker" class="selectpicker col-5" multiple data-live-search="true" title="项目(多选)" {{--v-model="ownerIds[customers[index]['id']]"--}}>
+                            <option v-for="owner in owners" :value="owner.id" :disabled="owner.customer_id ? true : false">@{{ owner.name }}</option>
                         </select>
                     </div>
+                    <div class="row m-2" v-if="index!==''">
+                        <div class="col-8 offset-3">
+                            <span class="badge badge-primary text-nowrap mr-1 mb-1 p-2" v-for="(name,i) in ownerNames[customers[index]['id']]">@{{ name }}</span>
+                        </div>
+                    </div>
                 </div>
             </div>
             <div class="modal-footer">

+ 35 - 27
resources/views/customer/customer/index.blade.php

@@ -69,13 +69,18 @@
                 currentLogIndex:"",
                 logStatuses:[],
                 contractIds:[],
-                owners:[],
+                customerOwners:[],
                 files:[],
-                ownerMap:null,
+                owners:[
+                  @foreach($owners as $owner)
+                    {id:"{{$owner->id}}",name:"{{$owner->name}}",customer_id:"{{$owner->customer_id}}"},
+                  @endforeach
+                ],
                 ownerIds:[],
                 ownerNames:[],
             },
             mounted(){
+                this._formatOwner();
                 $('#container').removeClass('d-none');
                 this.rendering();
                 let data=[
@@ -91,32 +96,35 @@
                 }).init();
             },
             methods:{
+                _formatOwner(){
+                    let ownerIds=[];
+                    let ownerNames=[];
+                    this.owners.forEach(owner=>{
+                        if (owner.customer_id){
+                            if (ownerIds[owner.customer_id]){
+                                ownerIds[owner.customer_id].push(owner.id);
+                                ownerNames[owner.customer_id].push(owner.name);
+                            }else{
+                                ownerIds[owner.customer_id] = [owner.id];
+                                ownerNames[owner.customer_id] = [owner.name];
+                            }
+                        }
+                    });
+                    this.ownerIds = ownerIds;
+                    this.ownerNames = ownerNames;
+                },
                 relatedOwner(index){
                     this.index = index;
-                    this.customers.forEach(customer=>{
-                        if (!this.ownerIds[customer.id]){
-                            this.ownerIds[customer.id] = [];
-                            this.ownerNames[customer.id] = [];
+                    let val = this.ownerIds[this.customers[index]['id']];
+                    $("#ownerSelectpicker").selectpicker('val',val ? val : []);
+                    $("#relatedOwner").modal('show');
+                    if (val){
+                        let options = document.getElementById("ownerSelectpicker").options;
+                        for (let i=0;i<options.length;i++){
+                            if (val.indexOf(options[i].value) !== -1)options[i].removeAttribute('disabled');
                         }
-                    });
-                    if (!this.ownerMap){
-                        let url = "{{url("maintenance/owner/get")}}";
-                        window.tempTip.postBasicRequest(url,{},(res)=> {
-                            this.ownerMap = res;
-                            if (res)res.forEach(owner=>{
-                                if (this.ownerIds[owner.customer_id]){
-                                    this.ownerIds[owner.customer_id].push(owner.id);
-                                    this.ownerNames[owner.customer_id].push(owner.name);
-                                }
-                            });
-                            console.log(this.ownerMap);
-                            this.$forceUpdate();
-                            $("#relatedOwner").modal('show');
-                        });
                     }
-                    setTimeout(function () {
-                        $("#ownerSelectpicker").selectpicker('render');
-                    },2000);
+                    $("#ownerSelectpicker").selectpicker('refresh')
                 },
                 selectFile(){
                     $("#files").click();
@@ -281,11 +289,11 @@
                 addContract(index){
                     this.index = index;
                     let id = this.customers[index].id;
-                    if (!this.owners[id]){
+                    if (!this.customerOwners[id]){
                         let url = "{{url("maintenance/owner/get")}}";
                         let params = {customer_id:id};
                         window.tempTip.postBasicRequest(url,params,(res)=> {
-                            this.owners[id] = res;
+                            this.customerOwners[id] = res;
                             this.$forceUpdate();
                         });
                     }
@@ -337,7 +345,7 @@
                         window.tempTip.setDuration(3000);
                         window.tempTip.show('网络错误:'+err);
                     });
-                }
+                },
             },
             filters:{
                 size:function (val) {