diff --git a/src/views/order/base/components/OnlineOrderItem.vue b/src/views/order/base/components/OnlineOrderItem.vue index 9f37829..ee23424 100644 --- a/src/views/order/base/components/OnlineOrderItem.vue +++ b/src/views/order/base/components/OnlineOrderItem.vue @@ -83,12 +83,20 @@ align="center" :label="__('活动类型')" prop="activity_type_id" - /> + > + + + > + + { + const map = { + 0: '无活动', + 1103: '限时折扣', + 1135: '单件折', + // 后续再扩展 + } + return map[val] ?? val // 找不到就显示原值 + } + }, + formatUserConfirmType() { + // 返回一个函数,供模板调用 + return (val) => { + const map = { + 0: '已确认', + 1: '未确认' + } + return map[val] ?? val + } + }, }, created() {}, methods: { @@ -863,32 +893,30 @@ : this.__('是') }, // 统计 - getSummaries(param) { - const { columns, data } = param - const sums = [] - if (!data) return sums + getSummaries(param) { + const { columns, data } = param; + const sums = []; + if (!data || data.length === 0) return sums; - columns.forEach((column, index) => { - if (index === 1) { - sums[index] = '合计' - return + columns.forEach((column, index) => { + if (index === 1) { + sums[index] = '合计'; + return; + } + + if (index === 5 || index === 6) { + const values = data.map(item => Number(item[column.property])); + const validValues = values.filter(value => !isNaN(value)); + if (validValues.length > 0) { + const total = validValues.reduce((prev, curr) => prev + curr, 0); + sums[index] = Number(total.toFixed(2)); + } else { + sums[index] = 0; } - if (index === 6 || index === 5) { - const values = data.map((item) => Number(item[column.property])) - if (!values.every((value) => isNaN(value))) { - sums[index] = values.reduce((prev, curr) => { - const value = Number(curr) - if (!isNaN(value)) { - return prev + curr - } else { - return prev - } - }, 0) - } - } - }) - return sums - }, + } + }); + return sums; + }, __, async showEdit(row) { this.dialogFormVisible = true