Browse Source

修改部分问题

zengjun 3 years ago
parent
commit
15076c2378

+ 9 - 5
app/Services/OrderCommodityService.php

@@ -206,15 +206,19 @@ class OrderCommodityService
             $order = $orderCommodity->order;
             $owner  = $dataHandlerService->getKeyValue(['id'=>$order->owner_id ?? ''],$owner_id_maps);
             $sku =  $orderCommodity->commodity->sku ?? '';
-            $key = "order_{$order->code}_owner_code_{$owner['code']}_sku_{ $sku}_location_{$orderCommodity->location}_amount_{$orderCommodity->amount}";
+            $orderCode = $order->code ?? '';
+            $ownerCode = $owner->code ?? '';
+            $orderCommodityLocation = $orderCommodity->location ?? '';
+            $orderCommodityAmount = $orderCommodity->amount ?? '';
+            $key = "order_{$orderCode}_owner_code_{$ownerCode}_sku_{ $sku}_location_{$orderCommodityLocation}_amount_{$orderCommodityAmount}";
             if(empty($map[$key]))$map[$key]=[];
             $map[$key][]  =[
                 'id' => $orderCommodity->id,
-                'code' => $order->code ?? '',
+                'code' => $orderCode,
                 'sku' => $sku,
-                'owner_code' => $owner->code ?? '',
-                'amount' => $orderCommodity->amount,
-                'location' => $orderCommodity->location,
+                'owner_code' => $ownerCode,
+                'amount' => $orderCommodityLocation,
+                'location' => $orderCommodityAmount,
             ];
         });
         return $map;

+ 38 - 10
resources/views/personnel/laborApply/dispatch/detail/create.blade.php

@@ -6,35 +6,35 @@
         <div class="card col-md-8 offset-md-2">
             <div class="card-body">
                 <form action="{{ route('laborCompanyDispatch.storeDetail', $laborCompanyDispatch->id) }}" method="post"
-                      style="display: inline-block;"
-                      onsubmit="return confirm('您确定要提交吗?');">
+                      style="display: inline-block;" id="create-form"
+                      onsubmit="return check()">
                     {{ csrf_field() }}
                     <div class="form-group">
                         <template v-for="(item,i) in items">
                             <div class="row mt-3">
                                 <label class="col-lg-1 col-sm-3 col-form-label" :for="'users['+i+'][name]'">姓名</label>
                                 <div class="col-lg-2 col-sm-12">
-                                    <input class="form-control" type="text" :name="'users['+i+'][name]'"
+                                    <input class="form-control" type="text" :name="'users['+i+'][name]'" v-model="item.name"
                                            :id="'users['+i+'][name]'" required>
                                 </div>
                                 <label class="col-lg-1 col-sm-3 col-form-label" :for="'users['+i+'][gender]'">性别</label>
                                 <div class="col-lg-2 col-sm-12">
                                     <select class="form-control" :name="'users['+i+'][gender]'"
-                                            required>
+                                            required v-model="item.gender">
                                         <option value="" hidden disabled selected>性别</option>
                                         <option value="男">男</option>
                                         <option value="女">女</option>
                                     </select>
                                 </div>
-                                <label class="col-lg-1 col-sm-3 col-form-label" :for="'users['+i+'][age]'">年龄</label>
+                                <label class="col-lg-1 col-sm-3 col-form-label" :for="'users['+i+'][age]'" >年龄</label>
                                 <div class="col-lg-2 col-sm-12">
-                                    <input class="form-control" type="number" :name="'users['+i+'][age]'"
-                                           :id="'users['+i+'][age]'">
+                                    <input class="form-control" type="number" :name="'users['+i+'][age]'" required
+                                           :id="'users['+i+'][age]'" v-model="item.age">
                                 </div>
                                 <label class="col-lg-1 col-sm-3 col-form-label" :for="'users['+i+'][cardId]'">身份证</label>
                                 <div class="col-lg-2 col-sm-12">
                                     <input class="form-control" type="text" :name="'users['+i+'][card_id]'"
-                                           :id="'users['+i+'][card_id]'">
+                                           :id="'users['+i+'][card_id]'"  v-model="item.card_id">
                                 </div>
                                 <div v-if="i!==0" class="col-1 ml-1">
                                     <button class="btn btn-sm btn-primary float-right" type="button"
@@ -48,7 +48,7 @@
                                 @click="addItem();">添加
                         </button>
                     </div>
-                    <button type="submit" class="btn btn-success btn-sm">
+                    <button type="button" class="btn btn-success btn-sm" @click="check()">
                         <i class="far fa-trash-alt"></i> 提交
                     </button>
                 </form>
@@ -68,7 +68,6 @@
             mounted() {
 
             },
-
             methods: {
                 addItem() {
                     let sum_man_num = this.labor_company_dispatch.man_num + this.labor_company_dispatch.woman_num;
@@ -77,6 +76,35 @@
                     } else {
                         window.tempTip.show("不能超过最大人数限制!");
                     }
+                    console.log(this.items);
+                },
+                check() {
+                    for(let i = 0;i< this.items.length;i++){
+                        let item = this.items[i];
+                        let {name, gender, age, card_id} = item;
+                        let flag = true;
+                        if (!name) {
+                            window.tempTip.show(`第${i+1}条信息登记的姓名不符合要求`);
+                            flag = false;
+                        } else if (!age) {
+                            window.tempTip.show(`第${i+1}条信息登记的年龄不符合要求`);
+                            flag = false;
+                        } else if (!gender) {
+                            window.tempTip.show(`第${i+1}条信息登记的性别不符合要求`);
+                            flag = false;
+                        } else if (!this.checkId(card_id)) {
+                            window.tempTip.show(`第${i+1}条信息身份证不符合要求`);
+                            flag = false;
+                        }
+                        if (!flag) {
+                            return flag;
+                        }
+                    }
+                    document.getElementById("create-form").submit();
+                },
+                checkId(idCard) {
+                    let reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
+                    return reg.test(idCard);
                 }
             }
         });

+ 38 - 8
resources/views/personnel/laborApply/dispatch/detail/edit.blade.php

@@ -6,8 +6,8 @@
         <div class="card col-md-8 offset-md-2">
             <div class="card-body">
                 <form action="{{ route('laborCompanyDispatch.storeDetail', $laborCompanyDispatch->id) }}" method="post"
-                      style="display: inline-block;"
-                      onsubmit="return confirm('您确定要提交吗?');">
+                      style="display: inline-block;" id="storeDetail"
+                      onsubmit="return check()">
                     {{ csrf_field() }}
                     <div class="form-group">
                         <template v-for="(item,i) in items">
@@ -15,13 +15,13 @@
                                 <label class="col-lg-1 col-sm-3 col-form-label" :for="'users['+i+'][name]'">姓名</label>
                                 <div class="col-lg-2 col-sm-12">
                                     <input class="form-control" type="text" :name="'users['+i+'][name]'"
-                                           :value="item.name"
+                                           v-model="item.name"
                                            :id="'users['+i+'][name]'" required>
                                 </div>
                                 <label class="col-lg-1 col-sm-3 col-form-label" :for="'users['+i+'][gender]'">性别</label>
                                 <div class="col-lg-2 col-sm-12">
                                     <select class="form-control" :name="'users['+i+'][gender]'"
-                                            required>
+                                            required v-model="item.gender">
                                         <option value="男" :selected="item.gender==='男'">男</option>
                                         <option value="女" :selected="item.gender==='女'">女</option>
                                     </select>
@@ -29,13 +29,14 @@
                                 <label class="col-lg-1 col-sm-3 col-form-label" :for="'users['+i+'][age]'">年龄</label>
                                 <div class="col-lg-2 col-sm-12">
                                     <input class="form-control" type="number" :name="'users['+i+'][age]'"
-                                           :value="item.age"
+                                           v-model="item.age"
                                            :id="'users['+i+'][age]'">
                                 </div>
-                                <label class="col-lg-1 col-sm-3 col-form-label" :for="'users['+i+'][cardId]'">身份证</label>
+                                <label class="col-lg-1 col-sm-3 col-form-label"
+                                       :for="'users['+i+'][cardId]'">身份证</label>
                                 <div class="col-lg-2 col-sm-12">
                                     <input class="form-control" type="text" :name="'users['+i+'][card_id]'"
-                                           :value="item.card_id"
+                                           v-model="item.card_id"
                                            :id="'users['+i+'][card_id]'">
                                 </div>
                                 <div v-if="i!==0" class="col-1 ml-1">
@@ -50,7 +51,7 @@
                                 @click="addItem();">添加
                         </button>
                     </div>
-                    <button type="submit" class="btn btn-success btn-sm">
+                    <button type="button" class="btn btn-success btn-sm" @click="check()">
                         <i class="far fa-trash-alt"></i> 提交
                     </button>
                 </form>
@@ -79,6 +80,35 @@
                     } else {
                         window.tempTip.show("不能超过最大人数限制!");
                     }
+                    console.log(this.items);
+                },
+                check() {
+                    for(let i = 0;i< this.items.length;i++){
+                        let item = this.items[i];
+                        let {name, gender, age, card_id} = item;
+                        let flag = true;
+                        if (!name) {
+                            window.tempTip.show(`第${i+1}条信息登记的姓名不符合要求`);
+                            flag = false;
+                        } else if (!age) {
+                            window.tempTip.show(`第${i+1}条信息登记的年龄不符合要求`);
+                            flag = false;
+                        } else if (!gender) {
+                            window.tempTip.show(`第${i+1}条信息登记的性别不符合要求`);
+                            flag = false;
+                        } else if (!this.checkId(card_id)) {
+                            window.tempTip.show(`第${i+1}条信息身份证不符合要求`);
+                            flag = false;
+                        }
+                        if (!flag) {
+                            return flag;
+                        }
+                    }
+                    document.getElementById("storeDetail").submit();
+                },
+                checkId(idCard) {
+                    let reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
+                    return reg.test(idCard);
                 }
             }
         });