mayf
2024-09-08 80a53a817a70e34c412c133d56cf3b9918b35212
打印,仓库修改
已修改4个文件
131 ■■■■■ 文件已修改
components/order/print-list.vue 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/warehouse/location-item.vue 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/order/list/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/warehouse.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 }) {
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>
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: {
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',