zhaohuanhuan 1 год назад
Родитель
Сommit
62ec3b3a45

+ 6 - 6
src/App.vue

@@ -10,17 +10,17 @@ const router = useRouter()
 
 // 在路由跳转前启动加载动画
 router.beforeEach((to, from, next) => {
-  showLoadingToast({
-    duration: 0,
-    forbidClick: true,
-    message: '加载中...',
-  });
+  // showLoadingToast({
+  //   duration: 0,
+  //   forbidClick: true,
+  //   message: '加载中...',
+  // });
   next()
 })
 
 // 在路由跳转后隐藏加载动画
 router.afterEach(() => {
-  closeToast();
+  // closeToast();
 })
 </script>
 <style >

+ 5 - 5
src/views/outbound/picking/components/BigPicking.vue

@@ -17,9 +17,9 @@
           <van-notice-bar :background="'none'" color="#000" :speed="10" :text="item.carrierName" />
         </div>
         <div class="big-task-button">
-          <div class="big-button" @click="onTypeOrder(item,'LOCATION_PICK')">按库位查看</div>
-          <div class="big-button" @click="onTypeOrder(item,'AISLE_PICK')">按巷道查看</div>
-          <div class="big-button" @click="onTypeOrder(item,'ITEM_PICK')" >按商品查看</div>
+          <div class="big-button" @click="onTypeOrder(item,'LOCATION_PICK')">按库位查看<van-icon name="arrow" /></div>
+          <div class="big-button" @click="onTypeOrder(item,'AISLE_PICK')">按巷道查看<van-icon name="arrow" /></div>
+          <div class="big-button" @click="onTypeOrder(item,'ITEM_PICK')" >按商品查看<van-icon name="arrow" /></div>
         </div>
       </div>
     </div>
@@ -219,9 +219,9 @@ defineExpose({show})
   padding: 0 10px
   .big-task-item
     margin-bottom: 10px
-    //box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4)
+    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4)
     border-radius: 8px
-    border: 1px solid #d3d3d3
+    //border: 1px solid #d3d3d3
     .big-task-content
       display: flex
       align-items: center

+ 3 - 2
src/views/outbound/picking/components/ContainerNoInput.vue

@@ -89,8 +89,9 @@ const show = async (code,type) => {
        margin-top: 10px
      .completion
        text-align: right
-       font-size: 12px
-       padding: 5px 20px
+       font-size: 14px
+       padding-bottom: 16px
+       margin-right: 20px
        cursor: pointer
        text-decoration: underline
      .container-list

+ 4 - 7
src/views/outbound/picking/list/hooks/list.ts

@@ -3,7 +3,8 @@ import { ref } from 'vue'
 import { getPickingDetail, getPickingFirst } from '@/api/picking'
 // @ts-ignore
 import router from '@/router'
-import { closeToast, showLoadingToast } from 'vant'
+// @ts-ignore
+import { closeLoading, showLoading } from '@/utils/loading'
 interface PickingFirstResponse {
   data?: string; // PickingFirst API 返回的数据类型
 }
@@ -26,17 +27,13 @@ export const getPickingTask = async (warehouse: string,pickingCode:any) => {
   const taskList = ref<any>([]); // 用于存储拣货详情
   const expectedQuantity=ref(0)
      // 获取拣货数据的函数
-      showLoadingToast({
-        duration: 0,
-        forbidClick: true,
-        message: '加载中...',
-      });
+      showLoading()
       // 获取拣货详情
       const { data: pickingDetails }: PickingDetailResponse = await getPickingDetail({
         warehouse,
         code: pickingCode
       });
-      closeToast()
+      closeLoading()
       // 更新拣货详情
         taskList.value = pickingDetails
         if(pickingDetails.length>0){

+ 2 - 5
src/views/outbound/picking/list/index.vue

@@ -69,7 +69,7 @@
                          label="实拣数" placeholder="请输实拣数量"
                           >
                 <template #button>
-                  <van-button  v-if="item.operationTime==null"   size="mini" type="primary"  plain  @click="jump(item)"  :loading="jumpLoading"  loading-text="加载中...">跳过</van-button>
+                  <van-button  v-if="item.operationTime==null && item.count==0"   size="mini" type="primary"  plain  @click="jump(item)"  :loading="jumpLoading"  loading-text="加载中...">跳过</van-button>
                 </template>
               </van-field>
               <div class="wave">
@@ -368,8 +368,6 @@ const _handlerScan=(code)=> {
         },200)
     }else{
       matchedSku.value=[]
-      // scanError()
-      // showToast({duration:5000,message:'无效条码!请检查扫描条码'})
       getListCombineSku({combineSku:code, workEnvironment:'picking'}).then(res=>{
         if(res.data.length>0){
           const combineSkuMap=toMap(res.data,'barcode')
@@ -425,13 +423,12 @@ const validate = (data,type) => {
     messageTips.value='拣货数量不能大于所需数量'
     return false;
   }
-  if (type==0 && isLot(selectTask.value, [data])) {
+  if (isLot(selectTask.value, [data])) {
     messageTips.value='当前容器下已有其他批次产品,请更换容器号'
     scanBarcode.value=''
     showToast({duration:5000,message:'当前容器下已有其他批次产品,请更换容器号'})
     return false;
   }
-
   return true;
 }
 //输入数量

+ 25 - 6
src/views/outbound/picking/task/index.vue

@@ -19,8 +19,9 @@
       <table border="1" style="width: 100%;border-collapse: collapse;text-align: center;table-layout: fixed;">
         <thead>
         <tr>
-          <th style="width: 100px">货主</th>
-          <th>特殊标记</th>
+          <th style="width: 60px">货主</th>
+          <th>标记</th>
+          <th>省份</th>
           <th>承运商</th>
           <th>类型</th>
           <th>数量</th>
@@ -34,7 +35,12 @@
           </td>
           <td style="word-wrap: break-word;" >
             <div>{{ row.ruleName }}</div>
-            <span @click="onProvince(row)" v-if="row.ruleName && row.province"><van-icon name="eye-o" size="20" color="#1989fa" /></span>
+          </td>
+          <td style="word-wrap: break-word;" >
+            <div v-if="row.province">{{ row.province.split(',').slice(0, 1).join(',') }}</div>
+            <span @click="onProvince(row)" v-if="row.ruleName && row.province">
+              <van-icon v-if="row.province.split(',').length > 1"  name="eye-o" size="20" color="#1989fa" />
+            </span>
           </td>
           <td style="word-wrap: break-word;">
              <div v-if="row.carrier.split(',').length" @click="onMore(row)">
@@ -46,7 +52,10 @@
               </div>
           </td>
           <td style="word-wrap: break-word;">{{ row.typeDescribe }}</td>
-          <td><span :style="row.hours>=2?'color:#ee0a24;font-weight: 500':''">{{ row.count }}</span></td>
+          <td style="position: relative">
+            <van-tag class="hours" v-if="row.hours>=2" type="danger">{{row.hours}}<span style="font-size: 10px">/h</span></van-tag>
+            <span style="font-size: 18px;">{{ row.count }}</span>
+          </td>
           <td>
             <van-button type="primary" v-if="row.type=='Y'|| row.type=='N'" @click="onCreateTask(row)">获取</van-button>
             <van-button type="success" v-else-if="row.type=='M'" @click="onTaskList(row,'M')">查看</van-button>
@@ -94,6 +103,7 @@
           </van-checkbox-group>
         </div>
       </div>
+      <div v-if="model.type=='*' && model.province"><van-notice-bar :background="'none'" style="font-size: 12px" :speed="20" :text="model.province" /></div>
     </van-dialog>
     <van-dialog v-model:show="createTaskTrueFalseBy"
                 :beforeClose="beforeClose"
@@ -116,7 +126,6 @@
         >
         </van-field>
         <div v-if="model.type" class="tips">
-<!--          <div class="tips-item">货主:{{ownerMap[model.owner]}}</div>-->
           <div class="tips-item" style="display: flex;align-items: center;">
             <div>承运商:</div>
             <div style="flex: 1"><van-notice-bar :background="'none'" :speed="20" color="#000" :text="model.carrier" /></div>
@@ -131,8 +140,12 @@
             <div>规则:</div>
             <div style="flex: 1"><van-notice-bar :background="'none'" :speed="20" color="#000" :text="model.ruleName" /></div>
           </div>
+          <div class="tips-item" v-if="model.province" style="display: flex;align-items: center;">
+            <div>省份:</div>
+            <div style="flex: 1"><van-notice-bar :background="'none'" :speed="20" color="#000" :text="model.province" /></div>
+          </div>
           <div class="tips-item" v-if="model.remark" style="display: flex;align-items: center;">
-            <div>规则:</div>
+            <div>备注:</div>
             <div style="flex: 1"><van-notice-bar :background="'none'" :speed="20"  :text="model.remark" /></div>
           </div>
         </div>
@@ -500,6 +513,12 @@ window.onRefresh=loadData
 <style scoped lang="sass">
 .container
   background: #fff
+  .hours
+    position: absolute
+    right: 0
+    top: 0
+    border-radius: 12px 0 0 12px
+    background: #ed8f0c
 :deep(.order-cell .van-cell__title)
   text-align: left !important
 :deep(.order-cell .van-cell__value)