Procházet zdrojové kódy

盘点复盘样式等修改

LD před 5 roky
rodič
revize
ced4ae013c

+ 1 - 0
resources/sass/app.scss

@@ -3,6 +3,7 @@
 @import 'fonts';
 @import 'text';
 @import 'layout';
+@import 'effect';
 
 // Bootstrap
 @import '~bootstrap/scss/bootstrap';

+ 19 - 0
resources/sass/effect.scss

@@ -0,0 +1,19 @@
+
+@keyframes blink
+{
+    from {
+        opacity:0.25;
+    }
+    to{
+        opacity:1;
+    }
+}
+
+.blink{
+    animation: blink;
+    animation-duration: 2s;
+    animation-timing-function: cubic-bezier(0,0,0.58,1);
+    animation-direction: alternate;
+    animation-play-state: running;
+    animation-iteration-count: infinite;
+}

+ 60 - 22
resources/views/inventory/stockInventory/inventoryMission.blade.php

@@ -29,17 +29,20 @@
 
         <div class="mt-3">
         <span class="h5">
-            <span class="form-group mb-5" v-if="inventory.status=='盘点中' ||inventory.status=='待盘点'">
+            <span class="form-group mb-5" v-if="inventory.status==='盘点中' || inventory.status==='待盘点'">
                 <label class=" font-weight-bold">已盘点:</label><span>@{{ inventory.processed }}/总数:@{{ inventory.total }}</span>
             </span>
-            <span class="form-group mb-5" v-if="inventory.status=='盘点中' ||inventory.status=='待盘点'">
+            <span class="form-group mb-5" v-if="inventory.status==='盘点中' || inventory.status==='待盘点'">
                 <label class=" font-weight-bold">剩余数:</label><span>@{{ inventory.surplus }}</span>
             </span>
-            <span class="form-group mb-5" v-if="inventory.status=='复盘中'">
-                <label class=" font-weight-bold">盘点记录数:</label><span>@{{ inventory.total }}</span>
+            <span class="form-group mb-5" v-if="inventory.status==='复盘中'&&未复盘有差异列">
+                <label class=" font-weight-bold">有差异未复盘数:</label><span>@{{ 未复盘有差异列.length }}</span>
             </span>
-            <span class="form-group mb-5" v-if="inventory.status=='复盘中'">
-                <label class=" font-weight-bold">复盘剩余数:</label><span>@{{ inventory.check_surplus }}/复盘总数:@{{ inventory.total }}</span>
+            <span class="form-group mb-5" v-if="inventory.status==='复盘中'&&未盘列">
+                <label class=" font-weight-bold">未盘点数:</label><span>@{{ 未盘列.length }}</span>
+            </span>
+            <span class="form-group mb-5" v-if="inventory.status==='复盘中'">
+                <label class=" font-weight-bold">总数:</label><span>@{{ inventory.total }}</span>
             </span>
             </span>
         </div>
@@ -100,7 +103,7 @@
                 <th>产品条码</th>
                 <th>生产日期</th>
                 <th>失效日期</th>
-                <th>入库日期</th>
+{{--                <th>入库日期</th>--}}
                 <th>批号</th>
                 <th>ERP属性仓</th>
                 <th>质量状态</th>
@@ -118,16 +121,17 @@
                     inventoryMission.mark==='未复盘有差异'?'td-warm font-weight-bold':'',
                     inventoryMission.mark==='无差异'?'text-muted':'',
                     inventoryMission.mark==='未盘'?'td-yellow':'',
+                    inventoryMission.hasLinkingGroup===true?'blink':'',
                     ]">
-                <td>@{{ i+1 }}</td>
+                <td class="text-muted">@{{ i+1 }}</td>
                 <td>@{{ inventoryMission.location }}</td>
-                <td v-if="inventoryMission.commodity">@{{ inventoryMission.commodity.name }}</td>
+                <td class="text-muted" v-if="inventoryMission.commodity">@{{ inventoryMission.commodity.name }}</td>
                 <td v-if="inventoryMission.commodity">@{{ inventoryMission.commodity.barcode }}</td>
                 <td >@{{ inventoryMission.produced_at }}</td>
-                <td >@{{ inventoryMission.valid_at }}</td>
-                <td >@{{ inventoryMission.stored_at }}</td>
+                <td class="text-muted">@{{ inventoryMission.valid_at }}</td>
+{{--                <td >@{{ inventoryMission.stored_at }}</td>--}}
                 <td class="text-muted">@{{ inventoryMission.batch_number }}</td>
-                <td >@{{ inventoryMission.erp_type_position }}</td>
+                <td class="text-muted">@{{ inventoryMission.erp_type_position }}</td>
                 <td >
                     <span v-if="listMode">@{{ inventoryMission.quality }}</span>
                     <select name="quality" id="quality" v-else>
@@ -137,11 +141,11 @@
                     </select>
                 </td>
                 <td >@{{ inventoryMission.stored_amount }}</td>
-                <td >@{{ inventoryMission.valid_amount }}</td>
+                <td class="text-muted">@{{ inventoryMission.valid_amount }}</td>
                 <td>@{{ inventoryMission.verified_amount }}</td>
                 <td>@{{ inventoryMission.re_checked_amount }}</td>
-                <td>@{{ inventoryMission.difference_amount }}</td>
-                <td>@{{ inventoryMission.occupied_amount }}</td>
+                <td class="font-weight-bolder">@{{ inventoryMission.difference_amount }}</td>
+                <td class="text-muted">@{{ inventoryMission.occupied_amount }}</td>
             </tr>
         </table>
 
@@ -163,11 +167,11 @@
                             <span class="mr-3 text-nowrap">
                                 <span class="font-weight-bold">产品条码:</span>
                                 <span v-if="listMode">@{{ inventoryMission.quality }}</span>
-                    <select name="quality" id="quality" v-else>
-                        <option :value="inventoryMission.quality">@{{ inventoryMission.quality }}</option>
-                        <option value="ZP">ZP</option>
-                        <option value="CC">CC</option>
-                    </select>
+                                <select name="quality" id="quality" v-else>
+                                    <option :value="inventoryMission.quality">@{{ inventoryMission.quality }}</option>
+                                    <option value="ZP">ZP</option>
+                                    <option value="CC">CC</option>
+                                </select>
                             </span>
                             <span class="mr-3 text-nowrap"><span class="font-weight-bold">产品条码:</span><span style="color:#af7651" v-if="inventoryMission.commodity">@{{ inventoryMission.commodity.barcode }}</span></span>
                             <div v-if="inventory.status==='复盘中'">
@@ -302,6 +306,7 @@
                                     inventoryMission.verified_amount=response.data.inventoryMission.verified_amount;
                                     inventoryMission.difference_amount=response.data.inventoryMission.difference_amount;
                                     inventoryMission.re_checked_amount=response.data.inventoryMission.re_checked_amount;
+                                    // _this.清理标记(inventoryMission);
                                     _this.inventoryMissions.splice(i,1)
                                     _this.inventoryMissions.unshift(inventoryMission);
                                     return false;
@@ -319,6 +324,7 @@
                 },
                 //结束初盘任务
                 stockInventoryEnd(id){
+                    if(!confirm('确定要结束初盘并进入复盘吗?该操作不可撤消'))return;
                     let _this=this;
                     let url='{{url('inventory/stockInventoryEnd')}}';
                     axios.post(url,{id:id}).then(function (response) {
@@ -372,6 +378,7 @@
                     重推入(_this.inventoryMissions,_this.无差异列);
                 },
                 按库位排序_且合并SKU一起(inventoryMissions){
+                    let _this=this;
                     let 结果列=[];
                     let 已出现字典列=[];
                     inventoryMissions.sort(function(a,b){
@@ -410,9 +417,40 @@
                         }
                     }
                     迭代查重转移(inventoryMissions)
+                    _this.将相邻同样条目总数匹配的标记_供样式使用(结果列)
                     return 结果列;
-                }
-                ,
+                },
+                将相邻同样条目总数匹配的标记_供样式使用(inventoryMissions){
+                    for(let i=0;i<inventoryMissions.length;i++){
+                        let 相同条码组=[];
+                        function 抽出紧邻相同条码(起始下标){
+                            let 下标B=起始下标+1;
+                            if(下标B>=inventoryMissions.length)return;
+                            if(inventoryMissions[起始下标].commodity.barcode===inventoryMissions[下标B].commodity.barcode){
+                                if(相同条码组.length<=1 || 相同条码组[相同条码组.length-1].id!==inventoryMissions[起始下标].id){
+                                    相同条码组.push(inventoryMissions[起始下标]);
+                                }
+                                相同条码组.push(inventoryMissions[下标B]);
+                                return 抽出紧邻相同条码(下标B);
+                            }
+                            return 下标B;
+                        }
+                        i=抽出紧邻相同条码(i);
+                        let 库存总数=0;
+                        let 实盘总数=0;
+                        相同条码组.forEach(function (目标){
+                            库存总数+=目标.stored_amount;
+                            实盘总数+=目标.verified_amount;
+                        })
+                        if(库存总数===实盘总数)
+                            相同条码组.forEach(function (目标){
+                                目标.hasLinkingGroup=true;
+                            })
+                    };
+                },
+                清理标记(mission){
+                    mission.hasLinkingGroup=false;
+                },
                 // 单条排序并着色(inventoryMission){
                 //     let _this=this;
                 //     let 所在临时分类列=[];

+ 1 - 1
resources/views/inventory/stockInventory/mission.blade.php

@@ -54,7 +54,7 @@
                     <input class="checkItem" type="checkbox" :value="inventory.id" v-model="checkData">
                 </td>
                 <td>
-                    <span class="btn  btn-sm btn-outline-info" @click="enterStockInventory(inventory.id)">进入</span>
+                    <span class="btn  btn-sm btn-outline-info" @click="enterStockInventory(inventory.id)">盘点</span>
                     <a :href="'{{url('inventory/stockInventory/enterStockInventory')}}/'+inventory.id+'?listMode=true'"><button class="btn btn-sm btn-outline-dark">查看</button></a>
                 </td>
                 <td >@{{ i+1 }}</td>