|
@@ -123,7 +123,7 @@
|
|
|
<el-table-column label="账户资产" width="160">
|
|
<el-table-column label="账户资产" width="160">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
<div class="finance-item">积分: <span class="num">{{ scope.row.points }}</span></div>
|
|
<div class="finance-item">积分: <span class="num">{{ scope.row.points }}</span></div>
|
|
|
- <div class="finance-item">余额: <span class="num">¥{{ scope.row.balance }}</span></div>
|
|
|
|
|
|
|
+ <div class="finance-item">余额: <span class="num">¥{{ (scope.row.balance / 100).toFixed(2) }}</span></div>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
|
@@ -212,7 +212,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
<div class="divider-v"></div>
|
|
<div class="divider-v"></div>
|
|
|
<div class="metric-item">
|
|
<div class="metric-item">
|
|
|
- <div class="val text-danger">¥{{ currentItem.balance }}</div>
|
|
|
|
|
|
|
+ <div class="val text-danger">¥{{ (currentItem.balance / 100).toFixed(2) }}</div>
|
|
|
<div class="lbl">账户余额</div>
|
|
<div class="lbl">账户余额</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="divider-v"></div>
|
|
<div class="divider-v"></div>
|
|
@@ -262,8 +262,8 @@
|
|
|
|
|
|
|
|
<div class="section-block">
|
|
<div class="section-block">
|
|
|
<div class="section-title">资质认证</div>
|
|
<div class="section-title">资质认证</div>
|
|
|
- <div class="cert-row" v-if="currentItem.qualImageUrls && currentItem.qualImageUrls.length">
|
|
|
|
|
- <div class="cert-item" v-for="(img, index) in currentItem.qualImageUrls" :key="index" @click="handleViewImage(img)">
|
|
|
|
|
|
|
+ <div class="cert-row" v-if="qualImageUrlList.length">
|
|
|
|
|
+ <div class="cert-item" v-for="(img, index) in qualImageUrlList" :key="index" @click="handleViewImage(img)">
|
|
|
<el-image :src="img" fit="cover" class="cert-img">
|
|
<el-image :src="img" fit="cover" class="cert-img">
|
|
|
<template #error><div class="img-slot"><el-icon><Picture /></el-icon></div></template>
|
|
<template #error><div class="img-slot"><el-icon><Picture /></el-icon></div></template>
|
|
|
</el-image>
|
|
</el-image>
|
|
@@ -336,13 +336,13 @@
|
|
|
<el-table-column prop="amount" label="变动金额" width="120">
|
|
<el-table-column prop="amount" label="变动金额" width="120">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<span :style="{ color: row.amount > 0 ? '#67c23a' : '#f56c6c', fontWeight: 'bold', fontSize: '15px' }">
|
|
<span :style="{ color: row.amount > 0 ? '#67c23a' : '#f56c6c', fontWeight: 'bold', fontSize: '15px' }">
|
|
|
- {{ row.amount > 0 ? '+' : '' }}{{ row.amount }}
|
|
|
|
|
|
|
+ {{ row.amount > 0 ? '+' : '' }}{{ (row.amount / 100).toFixed(2) }}
|
|
|
</span>
|
|
</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column prop="balanceAfter" label="变动后余额" width="120">
|
|
<el-table-column prop="balanceAfter" label="变动后余额" width="120">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- <span>¥{{ row.balanceAfter }}</span>
|
|
|
|
|
|
|
+ <span>¥{{ (row.balanceAfter / 100).toFixed(2) }}</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column prop="reason" label="备注说明" show-overflow-tooltip />
|
|
<el-table-column prop="reason" label="备注说明" show-overflow-tooltip />
|
|
@@ -368,7 +368,7 @@
|
|
|
<el-table-column prop="amount" label="涉及数值" width="120">
|
|
<el-table-column prop="amount" label="涉及数值" width="120">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<span :style="{ color: row.type==='reward' ? '#67c23a' : '#f56c6c', fontWeight: 'bold' }">
|
|
<span :style="{ color: row.type==='reward' ? '#67c23a' : '#f56c6c', fontWeight: 'bold' }">
|
|
|
- {{ row.type === 'reward' ? '+' : '-' }}{{ row.amount }} {{ row.target === 'points' ? '分' : '元' }}
|
|
|
|
|
|
|
+ {{ row.type === 'reward' ? '+' : '-' }}{{ row.target === 'balance' ? (row.amount / 100).toFixed(2) : row.amount }} {{ row.target === 'points' ? '分' : '元' }}
|
|
|
</span>
|
|
</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -561,7 +561,7 @@
|
|
|
<el-dialog v-model="balanceDialog.visible" title="余额增减" width="450px">
|
|
<el-dialog v-model="balanceDialog.visible" title="余额增减" width="450px">
|
|
|
<el-form :model="balanceDialog.form" label-width="80px">
|
|
<el-form :model="balanceDialog.form" label-width="80px">
|
|
|
<el-form-item label="当前余额">
|
|
<el-form-item label="当前余额">
|
|
|
- <span style="color: #f56c6c; font-weight: bold">¥{{ balanceDialog.currentRow?.balance.toFixed(2) }}</span>
|
|
|
|
|
|
|
+ <span style="color: #f56c6c; font-weight: bold">¥{{ (balanceDialog.currentRow?.balance / 100).toFixed(2) }}</span>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="扣减类型">
|
|
<el-form-item label="扣减类型">
|
|
|
<el-radio-group v-model="balanceDialog.form.type" @change="balanceDialog.form.subType = balanceDialog.form.type === 'add' ? 'reward' : 'punish'">
|
|
<el-radio-group v-model="balanceDialog.form.type" @change="balanceDialog.form.subType = balanceDialog.form.type === 'add' ? 'reward' : 'punish'">
|
|
@@ -598,7 +598,7 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
|
-import { ref, reactive, onMounted } from 'vue'
|
|
|
|
|
|
|
+import { ref, reactive, computed, onMounted } from 'vue'
|
|
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
import {
|
|
import {
|
|
|
listFulfiller, getFulfiller, addFulfiller, updateFulfiller,
|
|
listFulfiller, getFulfiller, addFulfiller, updateFulfiller,
|
|
@@ -636,6 +636,12 @@ const detailVisible = ref(false)
|
|
|
const activeDetailTab = ref('info')
|
|
const activeDetailTab = ref('info')
|
|
|
const currentItem = ref<FlfFulfillerVO | null>(null)
|
|
const currentItem = ref<FlfFulfillerVO | null>(null)
|
|
|
|
|
|
|
|
|
|
+/** 资质图片URL列表(从逗号分隔字符串解析) */
|
|
|
|
|
+const qualImageUrlList = computed(() => {
|
|
|
|
|
+ if (!currentItem.value?.qualImageUrls) return []
|
|
|
|
|
+ return currentItem.value.qualImageUrls.split(',').filter(Boolean)
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
// Log data for detail tabs
|
|
// Log data for detail tabs
|
|
|
const pointsLogData = ref<FlfPointsLogVO[]>([])
|
|
const pointsLogData = ref<FlfPointsLogVO[]>([])
|
|
|
const balanceLogData = ref<FlfBalanceLogVO[]>([])
|
|
const balanceLogData = ref<FlfBalanceLogVO[]>([])
|
|
@@ -916,11 +922,15 @@ const handleReward = (row: FlfFulfillerVO) => {
|
|
|
|
|
|
|
|
const submitReward = async () => {
|
|
const submitReward = async () => {
|
|
|
try {
|
|
try {
|
|
|
|
|
+ // 余额目标时将元转为分
|
|
|
|
|
+ const amount = rewardDialog.form.target === 'balance'
|
|
|
|
|
+ ? Math.round(rewardDialog.form.amount * 100)
|
|
|
|
|
+ : rewardDialog.form.amount
|
|
|
await reward({
|
|
await reward({
|
|
|
fulfillerId: rewardDialog.fulfillerId,
|
|
fulfillerId: rewardDialog.fulfillerId,
|
|
|
type: rewardDialog.form.type,
|
|
type: rewardDialog.form.type,
|
|
|
target: rewardDialog.form.target,
|
|
target: rewardDialog.form.target,
|
|
|
- amount: rewardDialog.form.amount,
|
|
|
|
|
|
|
+ amount: amount,
|
|
|
reason: rewardDialog.form.reason
|
|
reason: rewardDialog.form.reason
|
|
|
})
|
|
})
|
|
|
ElMessage.success('操作成功')
|
|
ElMessage.success('操作成功')
|
|
@@ -979,11 +989,12 @@ const submitPointsAdjust = async () => {
|
|
|
const submitBalanceAdjust = async () => {
|
|
const submitBalanceAdjust = async () => {
|
|
|
if (!balanceDialog.currentRow) return
|
|
if (!balanceDialog.currentRow) return
|
|
|
try {
|
|
try {
|
|
|
|
|
+ // 将元转为分
|
|
|
await adjustBalance({
|
|
await adjustBalance({
|
|
|
fulfillerId: balanceDialog.currentRow.id,
|
|
fulfillerId: balanceDialog.currentRow.id,
|
|
|
type: balanceDialog.form.type,
|
|
type: balanceDialog.form.type,
|
|
|
subType: balanceDialog.form.subType,
|
|
subType: balanceDialog.form.subType,
|
|
|
- amount: balanceDialog.form.amount,
|
|
|
|
|
|
|
+ amount: Math.round(balanceDialog.form.amount * 100),
|
|
|
reason: balanceDialog.form.reason
|
|
reason: balanceDialog.form.reason
|
|
|
})
|
|
})
|
|
|
ElMessage.success('余额调整成功')
|
|
ElMessage.success('余额调整成功')
|