|
@@ -62,6 +62,23 @@
|
62
|
62
|
highlight-current-row
|
63
|
63
|
@current-change="handleCurrentChange"
|
64
|
64
|
>
|
|
65
|
+ <el-table-column type="expand">
|
|
66
|
+ <template #default="props">
|
|
67
|
+ <div m="4">
|
|
68
|
+ <h3>错扣补款列表</h3>
|
|
69
|
+ <el-table :data="props.row.details" :border="true">
|
|
70
|
+ <el-table-column label="补款时间" prop="consumeDate" />
|
|
71
|
+ <!-- <el-table-column label="补款时间" prop="consumeDate">
|
|
72
|
+ <template #default="scope">
|
|
73
|
+ <span>{{ parseTime(scope.row.consumeDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
|
74
|
+ </template>
|
|
75
|
+ </el-table-column> -->
|
|
76
|
+ <el-table-column label="补款金额" prop="consumeMoney" />
|
|
77
|
+ <el-table-column label="操作人" prop="operatorName" />
|
|
78
|
+ </el-table>
|
|
79
|
+ </div>
|
|
80
|
+ </template>
|
|
81
|
+ </el-table-column>
|
65
|
82
|
<el-table-column label="序列号" type="index" width="100" />
|
66
|
83
|
<el-table-column label="消费时间" align="center" prop="consumeDate" width="250">
|
67
|
84
|
<template #default="scope">
|
|
@@ -142,7 +159,7 @@
|
142
|
159
|
<script setup name="RecompenseForm" lang="ts">
|
143
|
160
|
import * as api from '@/api/consumption/XfConsumeDetail';
|
144
|
161
|
import { dayjs, ElTable } from 'element-plus';
|
145
|
|
-import { XfConsumeDetailForm, XfConsumeDetailVO } from '@/api/consumption/XfConsumeDetail/types';
|
|
162
|
+import { XfConsumeDetailCKBKVO, XfConsumeDetailForm, XfConsumeDetailVO } from '@/api/consumption/XfConsumeDetail/types';
|
146
|
163
|
import Decimal from 'decimal.js';
|
147
|
164
|
import useUserStore from '@/store/modules/user';
|
148
|
165
|
import { QuestionFilled } from '@element-plus/icons-vue';
|
|
@@ -207,7 +224,7 @@ const loading = ref(false);
|
207
|
224
|
// 是否显示查询项
|
208
|
225
|
const showSearch = ref(true);
|
209
|
226
|
// 消费明细列表
|
210
|
|
-const xfConsumeDetailList = ref<XfConsumeDetailVO[]>([]);
|
|
227
|
+const xfConsumeDetailList = ref<XfConsumeDetailCKBKVO[]>([]);
|
211
|
228
|
// 总记录数
|
212
|
229
|
const total = ref(0);
|
213
|
230
|
const dateRange = ref<[DateModelType, DateModelType]>(['', '']);
|
|
@@ -270,7 +287,7 @@ const cleaConsumeRange = () => {
|
270
|
287
|
const getList = async () => {
|
271
|
288
|
resetForm();
|
272
|
289
|
loading.value = true;
|
273
|
|
- const res = await api.listXfConsumeDetail(proxy?.addDateRange(queryParams, dateRange.value));
|
|
290
|
+ const res = await api.listXfConsumeDetailCKBK(proxy?.addDateRange(queryParams, dateRange.value));
|
274
|
291
|
xfConsumeDetailList.value = res.rows;
|
275
|
292
|
total.value = res.total;
|
276
|
293
|
loading.value = false;
|
|
@@ -287,7 +304,7 @@ const resetQuery = () => {
|
287
|
304
|
handleQuery();
|
288
|
305
|
};
|
289
|
306
|
// 单选选中
|
290
|
|
-const handleCurrentChange = (val: XfConsumeDetailVO | undefined) => {
|
|
307
|
+const handleCurrentChange = (val: XfConsumeDetailCKBKVO | undefined) => {
|
291
|
308
|
if (val) {
|
292
|
309
|
Object.assign(formData.value, val);
|
293
|
310
|
const bag: DictDataOption = CARDBAGTYPE.value.find((p: DictDataOption) => p.value == formData.value.bagType);
|
|
@@ -347,6 +364,17 @@ const submitForm = async () => {
|
347
|
364
|
proxy?.$modal.alertWarning('补款金额不能大于消费金额!');
|
348
|
365
|
return;
|
349
|
366
|
}
|
|
367
|
+ // 所有的补款金额之和不能大于消费金额
|
|
368
|
+ let totalValue = new Decimal(0);
|
|
369
|
+ for (const item of currentRow.value.details) {
|
|
370
|
+ totalValue = totalValue.sub(new Decimal(item.consumeMoney));
|
|
371
|
+ }
|
|
372
|
+ totalValue = totalValue.add(operatorValue);
|
|
373
|
+ console.log(totalValue, operatorValue, 'totalValue');
|
|
374
|
+ if (totalValue.comparedTo(consumeValue) === 1) {
|
|
375
|
+ proxy?.$modal.alertWarning('所有的补款金额之和不能大于消费金额!');
|
|
376
|
+ return;
|
|
377
|
+ }
|
350
|
378
|
data.operatorId = useUserStore().userId;
|
351
|
379
|
data.operatorName = useUserStore().realName;
|
352
|
380
|
await api.recompenseConsumeDetail(data).then((res) => {
|