cloudroam
2025-03-28 cef2bb0eeeb91a22860cf5d23c7348af1ba921dc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<template>
  <div class="print-list">
    <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">
              {{ item.warehouseName || '' }}/{{
                item.warehouseLocationCode || ''
              }}
            </div>
          </el-col>
          <el-col :span="8">
            <div class="desc-info">
              <div>姓名:</div>
              <div class="desc-info__value">{{ item.customer }}</div>
            </div>
          </el-col>
          <el-col :span="8">
            <div class="desc-info">
              <div>电话:</div>
              <div class="desc-info__value">{{ item.customerTel }}</div>
            </div>
          </el-col>
          <el-col :span="24">
            <div class="desc-info">
              <div>收货地址:</div>
              <div class="desc-info__value">
                {{ item.customerProvince }}{{ item.customerCity
                }}{{ item.customerRegion }}{{ item.customerAddress }}
              </div>
            </div>
          </el-col>
        </el-row>
        <el-table-print
          :data="item.items"
          :summary-method="getSummaries.bind(this, item.totalAmount)"
          show-summary
          border
          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="
              (row) => `${row.flowerName || ''} · ${row.flowerColor || ''}`
            "
            align="center"
          >
          </el-table-column>
          <el-table-column prop="flowerLevelStr" label="等级" align="center">
          </el-table-column>
          <el-table-column prop="num" label="数量" align="center">
          </el-table-column>
          <el-table-column prop="flowerUnit" label="规格" align="center">
          </el-table-column>
          <el-table-column
            prop="supplierName"
            label="供应商名称"
            align="center"
          >
          </el-table-column>
          <el-table-column prop="stationName" label="所属集货站" align="center">
          </el-table-column>
        </el-table-print>
      </div>
    </div>
  </div>
</template>
 
<script>
// import groupBy from 'lodash.groupby'
export default {
  props: {
    orderList: {
      type: Array,
      default: () => [],
    },
  },
  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)]
    // },
  },
  methods: {
    objectSpanMethod(len, { rowIndex, columnIndex }) {
      if (columnIndex === 0) {
        if (rowIndex === 0) {
          return {
            rowspan: len,
            colspan: 1,
          }
        } else {
          return {
            rowspan: 0,
            colspan: 0,
          }
        }
      }
    },
    getSummaries(totalAmount, param) {
      const { columns, data } = param
      const sums = []
      columns.forEach((column, index) => {
        if (index === 0) {
          sums[index] = `总扎数合计:${data.reduce((total, current) => {
            total += current.num
            return total
          }, 0)}                总金额:¥${totalAmount}`
        } else {
          sums[index] = ''
        }
        // if (index === 1) {
        //   sums[index] = '总扎数合计'
        // } else if (index === 2) {
        //   sums[index] = data.reduce((total, current) => {
        //     total += current.num
        //     return total
        //   }, 0)
        // } else {
        //   sums[index] = ''
        // }
      })
      return sums
    },
  },
}
</script>