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

拣货任务-增加批次属性展示

zhaohuanhuan 1 год назад
Родитель
Сommit
b693e490a2
2 измененных файлов с 46 добавлено и 1 удалено
  1. 34 0
      src/views/outbound/components/lotAtt.vue
  2. 12 1
      src/views/outbound/picking/list/index.vue

+ 34 - 0
src/views/outbound/components/lotAtt.vue

@@ -0,0 +1,34 @@
+<template>
+  <div class="container-no-container">
+    <van-action-sheet
+      v-model:show="lotAttTrueFalseBy"
+      cancel-text="取消"
+      title="批次属性"
+      close-on-click-action
+      @cancel="lotAttTrueFalseBy=false"
+    >
+      <van-cell-group  v-if="model.quality">
+        <van-cell title="生产日期" :value="model.productionDate?model.productionDate:'暂无'"  title-style="text-align: left"	 />
+        <van-cell title="失效日期" :value="model.expirationDate?model.expirationDate:'暂无'"  title-style="text-align: left" />
+        <van-cell title="批次号" :value="model.lotNumber?model.lotNumber:'暂无'"  title-style="text-align: left" />
+        <van-cell title="质量状态" :value="model.quality?model.quality:'暂无'"  title-style="text-align: left" />
+        <van-cell title="属性仓" :value="model.warehouseAttribute?model.warehouseAttribute:'暂无'" title-style="text-align: left" />
+      </van-cell-group>
+    </van-action-sheet>
+  </div>
+</template>
+<script setup lang="ts">
+import { ref } from 'vue'
+  const lotAttTrueFalseBy=ref(false)
+  const model=ref({})
+  const show = async (item) => {
+    model.value = item
+    lotAttTrueFalseBy.value = true
+  }
+defineExpose({show})
+</script>
+<style scoped lang="sass">
+.title-class
+  text-align: left !important
+
+</style>

+ 12 - 1
src/views/outbound/picking/list/index.vue

@@ -48,7 +48,7 @@
             <div class="right-list"  v-for="(item,index) in locationList[activeIndex].list"
                  :class="activeClass(item)">
               <div>{{ ownerMap[item.owner] || item.owner }}</div>
-              <div class="content">
+              <div class="content" @click="onLotAtt(item)" >
                 <div class="c-left">
                   <div class="c-left-count">{{ item.expectedQuantity }}</div>
 <!--                  <div class="c-left-tips">数量</div>-->
@@ -57,6 +57,9 @@
                   <div style="font-weight: bold;">{{ item.barcode }}</div>
                   <div>{{ item.name }}</div>
                 </div>
+                <div style="width: 10px">
+                  <van-icon name="arrow" size="20" color="#666" />
+                </div>
               </div>
               <van-field class="input" ref="scanCountRef" label-width="50px" v-model="item.count" type="number" :min="1"
                          :max="item.expectedQuantity"
@@ -98,6 +101,7 @@
     <picking-no-input  ref="pickingNoInputRef" @loadData="loadData" />
     <input-barcode ref="inputBarcodeRef" @setBarcode="_handlerScan" />
     <van-floating-bubble v-if="locationList.length>0"  :gap="50" axis="xy" magnetic="x"  @click="onContainerNo(containerNo===''?2:scanType)">容器</van-floating-bubble>
+    <lot-att ref="lotAttRef" />
   </div>
 </template>
 <script lang="ts" setup>
@@ -123,6 +127,7 @@ import { containerDef } from '@/views/outbound/picking/list/hooks/containerDef'
 import { getCarrierList } from '@/hooks/basic/carrier'
 import { basicStore } from '@/store/modules/basic'
 import InputBarcode from '@/views/outbound/components/InputBarcode.vue'
+import LotAtt from '@/views/outbound/components/lotAtt.vue'
 onUnmounted(() => {
   closeListener()
 })
@@ -488,6 +493,12 @@ const onSelectMode=(value) => {
     inputBarcodeRef.value?.show()
   }
 }
+const lotAttRef=ref(null)
+const onLotAtt=(item)=>{
+  lotAttRef.value?.show(item)
+
+}
+
 //库位商品拣货完成高亮 allActive
 const allPicking = (location) => {
   const all = location.list.every(item => item.operationTime);