From 80a53a817a70e34c412c133d56cf3b9918b35212 Mon Sep 17 00:00:00 2001
From: mayf <m13160102112@163.com>
Date: 星期日, 08 九月 2024 17:28:42 +0800
Subject: [PATCH] 打印,仓库修改

---
 pages/warehouse.vue                    |   15 +++++
 components/warehouse/location-item.vue |   78 +++++++++++++++++++------
 components/order/print-list.vue        |   36 +++++-------
 pages/order/list/index.vue             |    2 
 4 files changed, 89 insertions(+), 42 deletions(-)

diff --git a/components/order/print-list.vue b/components/order/print-list.vue
index 03c71b2..2d44324 100644
--- a/components/order/print-list.vue
+++ b/components/order/print-list.vue
@@ -1,12 +1,7 @@
 <template>
   <div class="print-list">
-    <div v-for="(list, i) in groupList" :key="i" class="break-page">
-      <div
-        v-for="(item, index) in list"
-        :key="index"
-        ref="orderTable"
-        class="print-item"
-      >
+    <div v-for="(item, i) in orderList" :key="i" class="break-page">
+      <div ref="orderTable" class="print-item">
         <el-row :gutter="10" class="mb-15">
           <el-col :span="24">
             <div class="area-text">
@@ -36,12 +31,6 @@
               </div>
             </div>
           </el-col>
-          <el-col :span="24">
-            <div class="desc-info">
-              <div>备注:</div>
-              <div class="desc-info__value">{{ item.remarks }}</div>
-            </div>
-          </el-col>
         </el-row>
         <el-table-print
           :data="item.items"
@@ -51,6 +40,11 @@
           style="width: 100%"
         >
           <el-table-column label="序号" type="index"></el-table-column>
+          <el-table-column
+            prop="orderNo"
+            label="订单号"
+            align="center"
+          ></el-table-column>
           <el-table-column
             label="下单品种"
             :formatter="
@@ -80,7 +74,7 @@
 </template>
 
 <script>
-import groupBy from 'lodash.groupby'
+// import groupBy from 'lodash.groupby'
 export default {
   props: {
     orderList: {
@@ -89,13 +83,13 @@
     },
   },
   computed: {
-    groupList() {
-      const sanhuList = this.orderList.filter((i) => !i.partnerId)
-      const partnerList = this.orderList.filter((i) => !!i.partnerId)
-      const sList = groupBy(sanhuList, (i) => i.createBy)
-      const pList = groupBy(partnerList, (i) => i.partnerId)
-      return [...Object.values(pList), ...Object.values(sList)]
-    },
+    // groupList() {
+    //   const sanhuList = this.orderList.filter((i) => !i.partnerId)
+    //   const partnerList = this.orderList.filter((i) => !!i.partnerId)
+    //   const sList = groupBy(sanhuList, (i) => i.createBy)
+    //   const pList = groupBy(partnerList, (i) => i.partnerId)
+    //   return [...Object.values(pList), ...Object.values(sList)]
+    // },
   },
   methods: {
     objectSpanMethod(len, { rowIndex, columnIndex }) {
diff --git a/components/warehouse/location-item.vue b/components/warehouse/location-item.vue
index cc8d86e..55c4987 100644
--- a/components/warehouse/location-item.vue
+++ b/components/warehouse/location-item.vue
@@ -3,23 +3,55 @@
     <div class="location-item__main">
       <div class="location-item__title text-overflow-1">
         <div>{{ info.code }}</div>
-        <div v-if="info.used && info.orderDTO" class="h-130 py-10">
-          <div class="text-12 text-primary">
-            {{ info.orderDTO.orderNo }}
+        <div
+          v-if="info.used && info.orderDTO && info.orderDTO.length > 0"
+          class="h-130 py-10"
+        >
+          <div class="flex items-center">
+            <div class="text-12 text-primary flex-1 text-overflow-1">
+              {{ info.orderDTO[0].orderNo }}
+            </div>
+            <el-popover placement="bottom" trigger="hover">
+              <el-table :data="info.orderDTO">
+                <el-table-column
+                  prop="orderNo"
+                  label="订单号"
+                  min-width="150"
+                ></el-table-column>
+                <el-table-column
+                  label="订单金额(元)"
+                  prop="totalAmount"
+                  min-width="120"
+                ></el-table-column>
+                <el-table-column
+                  label="下单时间"
+                  prop="createTime"
+                  min-width="180"
+                ></el-table-column>
+                <el-table-column
+                  label="合伙人"
+                  prop="partnerName"
+                  min-width="120"
+                ></el-table-column>
+              </el-table>
+              <el-button slot="reference" type="text" class="p-0 ml-4"
+                >查看更多</el-button
+              >
+            </el-popover>
           </div>
           <div
-            v-if="info.items && info.items.length > 0"
+            v-if="info.goodsItems && info.goodsItems.length > 0"
             class="flex items-center mt-10"
           >
             <div class="text-subTitle text-12 flex-1 text-overflow-1">
-              {{ info.items[0].flowerName
-              }}<span class="ml-8">{{ info.items[0].flowerLevelStr }}</span
-              ><span class="ml-8">{{ info.items[0].flowerColor }}</span
-              ><span class="ml-8">{{ info.items[0].flowerUnit }}</span
-              >×{{ info.items[0].num }}
+              {{ info.goodsItems[0].flowerName
+              }}<span class="ml-8">{{ info.goodsItems[0].flowerLevelStr }}</span
+              ><span class="ml-8">{{ info.goodsItems[0].flowerColor }}</span
+              ><span class="ml-8">{{ info.goodsItems[0].flowerUnit }}</span
+              >×{{ info.goodsItems[0].num }}
             </div>
             <el-popover placement="bottom" trigger="hover">
-              <el-table :data="info.items">
+              <el-table :data="info.goodsItems">
                 <el-table-column
                   prop="flowerName"
                   label="商品名称"
@@ -40,6 +72,11 @@
                   property="supplierName"
                   label="供应商名称"
                 ></el-table-column>
+                <el-table-column
+                  property="orderNo"
+                  label="订单号"
+                  min-width="150"
+                ></el-table-column>
               </el-table>
               <el-button slot="reference" type="text" class="p-0 ml-4"
                 >查看更多</el-button
@@ -47,24 +84,25 @@
             </el-popover>
           </div>
           <div class="text-subTitle text-12 mt-10 text-overflow-1">
-            {{ info.orderDTO.customer
-            }}<span class="ml-8">{{ info.orderDTO.customerTel }}</span>
+            {{ info.orderDTO[0].customer
+            }}<span class="ml-8">{{ info.orderDTO[0].customerTel }}</span>
           </div>
           <el-tooltip
-            v-if="info.orderDTO.customerAddress"
+            v-if="info.orderDTO[0].customerAddress"
             class="item"
             effect="dark"
-            :content="`${info.orderDTO.customerProvince || ''}${
-              info.orderDTO.customerCity || ''
-            }${info.orderDTO.customerRegion || ''}${
-              info.orderDTO.customerAddress || ''
+            :content="`${info.orderDTO[0].customerProvince || ''}${
+              info.orderDTO[0].customerCity || ''
+            }${info.orderDTO[0].customerRegion || ''}${
+              info.orderDTO[0].customerAddress || ''
             }`"
             placement="top-start"
           >
             <div class="text-subTitle text-12 mt-10 text-overflow-1">
-              {{ info.orderDTO.customerProvince }}{{ info.orderDTO.customerCity
-              }}{{ info.orderDTO.customerRegion
-              }}{{ info.orderDTO.customerAddress }}
+              {{ info.orderDTO[0].customerProvince
+              }}{{ info.orderDTO[0].customerCity
+              }}{{ info.orderDTO[0].customerRegion
+              }}{{ info.orderDTO[0].customerAddress }}
             </div>
           </el-tooltip>
         </div>
diff --git a/pages/order/list/index.vue b/pages/order/list/index.vue
index 6c37c1e..00af407 100644
--- a/pages/order/list/index.vue
+++ b/pages/order/list/index.vue
@@ -175,7 +175,7 @@
               }
               const ids = selected.map((i) => i.id)
               const { code, data } = await this.$elBusHttp.request(
-                'flower/api/order/check/list',
+                'flower/api/order/check/location/list',
                 {
                   method: 'post',
                   data: {
diff --git a/pages/warehouse.vue b/pages/warehouse.vue
index d7de41e..a69bf7c 100644
--- a/pages/warehouse.vue
+++ b/pages/warehouse.vue
@@ -104,6 +104,21 @@
         newText: '新增仓位',
         hasPagination: false,
         extraParentKeys: ['warehouseId'],
+        afterRequest: (list) => {
+          return list.map((item) => {
+            const orderList = item.orderDTO || []
+            const goodsItems = orderList.reduce((total, current) => {
+              total = total.concat(
+                current.items.map((i) => ({
+                  ...i,
+                  orderNo: current.orderNo,
+                }))
+              )
+              return total
+            }, [])
+            return { ...item, goodsItems }
+          })
+        },
         searchForm: [
           {
             type: 'row',

--
Gitblit v1.9.3