|
|
@ -6,7 +6,7 @@ import { findMenuById, permissionMapping } from "@/utils/menuTreePermission.js" |
|
|
const adminStore = useAdminStore() |
|
|
const adminStore = useAdminStore() |
|
|
const { adminData, menuTree, flag } = storeToRefs(adminStore) |
|
|
const { adminData, menuTree, flag } = storeToRefs(adminStore) |
|
|
// 监听全局flag状态变化(员工数据的) |
|
|
// 监听全局flag状态变化(员工数据的) |
|
|
watch(flag, (newFlag, oldFlag) => { |
|
|
|
|
|
|
|
|
watch(flag, (newFlag, oldFlag) => { |
|
|
// 当flag状态改变时,重新发送请求 |
|
|
// 当flag状态改变时,重新发送请求 |
|
|
if (newFlag !== oldFlag) { |
|
|
if (newFlag !== oldFlag) { |
|
|
console.log('员工数据flag状态改变,重新加载数据', newFlag) |
|
|
console.log('员工数据flag状态改变,重新加载数据', newFlag) |
|
|
@ -211,31 +211,31 @@ const cellClick = function (row, column) { |
|
|
console.log('cellClick', column) |
|
|
console.log('cellClick', column) |
|
|
const walletId = propToWalletId[column.property]; |
|
|
const walletId = propToWalletId[column.property]; |
|
|
const propToMarketName = { |
|
|
const propToMarketName = { |
|
|
historyGold: t('clientCount.market.historyGold'), |
|
|
|
|
|
hkGold: t('clientCount.market.hkGold'), |
|
|
|
|
|
sgHcGold: t('clientCount.market.sgHcGold'), |
|
|
|
|
|
myGold: t('clientCount.market.myGold'), |
|
|
|
|
|
sgGold: t('clientCount.market.sgCmGold'), |
|
|
|
|
|
caGold: t('clientCount.market.caGold'), |
|
|
|
|
|
thHsGold: t('clientCount.market.thHsGold'), |
|
|
|
|
|
thHaGold: t('clientCount.market.thHaGold'), |
|
|
|
|
|
vnGold: t('clientCount.market.vnGold'), |
|
|
|
|
|
bjGold: t('clientCount.market.bjGold') |
|
|
|
|
|
|
|
|
historyGold: t('clientCount.market.historyGold'), |
|
|
|
|
|
hkGold: t('clientCount.market.hkGold'), |
|
|
|
|
|
sgHcGold: t('clientCount.market.sgHcGold'), |
|
|
|
|
|
myGold: t('clientCount.market.myGold'), |
|
|
|
|
|
sgGold: t('clientCount.market.sgCmGold'), |
|
|
|
|
|
caGold: t('clientCount.market.caGold'), |
|
|
|
|
|
thHsGold: t('clientCount.market.thHsGold'), |
|
|
|
|
|
thHaGold: t('clientCount.market.thHaGold'), |
|
|
|
|
|
vnGold: t('clientCount.market.vnGold'), |
|
|
|
|
|
bjGold: t('clientCount.market.bjGold') |
|
|
|
|
|
} |
|
|
|
|
|
const marketName = propToMarketName[column.property] |
|
|
|
|
|
|
|
|
|
|
|
if (marketName && walletId) { |
|
|
|
|
|
currentWalletInfo.value = { |
|
|
|
|
|
userName: row.name, |
|
|
|
|
|
jwcode: row.jwcode, |
|
|
|
|
|
marketName: row.market, // 用户所属地区 |
|
|
|
|
|
walletName: marketName + t('clientCount.wallet'), // 钱包名称 |
|
|
|
|
|
currentBalance: row[column.property] || 0, |
|
|
|
|
|
walletId: walletId |
|
|
} |
|
|
} |
|
|
const marketName = propToMarketName[column.property] |
|
|
|
|
|
|
|
|
|
|
|
if (marketName && walletId) { |
|
|
|
|
|
currentWalletInfo.value = { |
|
|
|
|
|
userName: row.name, |
|
|
|
|
|
jwcode: row.jwcode, |
|
|
|
|
|
marketName: row.market, // 用户所属地区 |
|
|
|
|
|
walletName: marketName + t('clientCount.wallet'), // 钱包名称 |
|
|
|
|
|
currentBalance: row[column.property] || 0, |
|
|
|
|
|
walletId: walletId |
|
|
|
|
|
} |
|
|
|
|
|
walletDetailQuery.value.pageNum = 1 |
|
|
|
|
|
getWalletDetail() |
|
|
|
|
|
walletDetailVisible.value = true |
|
|
|
|
|
|
|
|
walletDetailQuery.value.pageNum = 1 |
|
|
|
|
|
getWalletDetail() |
|
|
|
|
|
walletDetailVisible.value = true |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -283,17 +283,17 @@ const getWalletDetail = async () => { |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
if (result.code === 200) { |
|
|
if (result.code === 200) { |
|
|
walletDetailList.value = result.data.list.map(item => ({ |
|
|
|
|
|
time: moment(item.createTime).format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
|
|
type: getWalletRecordTypeText(item), |
|
|
|
|
|
amount: Number(item.amount) || 0, |
|
|
|
|
|
desc: item.description || '', |
|
|
|
|
|
orderNo: item.orderCode, |
|
|
|
|
|
status: item.status === 0 ? 1 : 2 |
|
|
|
|
|
})) |
|
|
|
|
|
walletDetailTotal.value = result.data.total |
|
|
|
|
|
|
|
|
walletDetailList.value = result.data.list.map(item => ({ |
|
|
|
|
|
time: moment(item.createTime).format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
|
|
type: getWalletRecordTypeText(item), |
|
|
|
|
|
amount: Number(item.amount) || 0, |
|
|
|
|
|
desc: item.description || '', |
|
|
|
|
|
orderNo: item.orderCode, |
|
|
|
|
|
status: item.status === 0 ? 1 : 2 |
|
|
|
|
|
})) |
|
|
|
|
|
walletDetailTotal.value = result.data.total |
|
|
} else { |
|
|
} else { |
|
|
ElMessage.error(result.msg || t('elmessage.getDetailFailed')) |
|
|
|
|
|
|
|
|
ElMessage.error(result.msg || t('elmessage.getDetailFailed')) |
|
|
} |
|
|
} |
|
|
} catch (error) { |
|
|
} catch (error) { |
|
|
console.error(error) |
|
|
console.error(error) |
|
|
@ -629,102 +629,106 @@ const format3 = (num) => { |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<template> |
|
|
<template> |
|
|
<el-card class="card1" style="margin-bottom: 1vh;"> |
|
|
|
|
|
<div class="head-card"> |
|
|
|
|
|
<div class="head-card-element"> |
|
|
|
|
|
<el-text class="mx-1" size="large">{{ $t('common.jwcode') }}:</el-text> |
|
|
|
|
|
<el-input v-model="selectData.jwcode" style="width: 160px" :placeholder="$t('common.jwcodePlaceholder')" clearable /> |
|
|
|
|
|
|
|
|
<div style="display: flex; flex-direction: column; height: 95vh;"> |
|
|
|
|
|
<el-card class="card1" style="margin-bottom: 1vh;"> |
|
|
|
|
|
<div class="head-card"> |
|
|
|
|
|
<div class="head-card-element"> |
|
|
|
|
|
<el-text class="mx-1" size="large">{{ $t('common.jwcode') }}:</el-text> |
|
|
|
|
|
<el-input v-model="selectData.jwcode" style="width: 160px" :placeholder="$t('common.jwcodePlaceholder')" |
|
|
|
|
|
clearable /> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="head-card-element"> |
|
|
|
|
|
<el-text class="mx-1" size="large">{{ $t('common.market') }}:</el-text> |
|
|
|
|
|
<el-cascader v-model="selectedMarketPath" :options="markets" :placeholder="$t('common.marketPlaceholder')" |
|
|
|
|
|
clearable style="width:180px" @change="handleMarketChange" /> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="head-card-element"> |
|
|
|
|
|
<!-- <el-checkbox v-model="showEmployeeData" @change="search()">员工数据</el-checkbox> --> |
|
|
|
|
|
</div> |
|
|
|
|
|
<el-button type="primary" @click="search()">{{ $t('common.search') }}</el-button> |
|
|
|
|
|
<el-button @click="reset" type="success">{{ $t('common.reset') }}</el-button> |
|
|
|
|
|
<el-button type="primary" @click="exportExcel()">{{ $t('common.exportExcel') }}</el-button> |
|
|
|
|
|
<!-- <el-button type="primary" @click="selectWallet()">{{ $t('common.exportCompanyWalletDetail') }}</el-button> --> |
|
|
|
|
|
<el-button type="primary" @click="openExportList">{{ $t('common.viewExportList') }}</el-button> |
|
|
</div> |
|
|
</div> |
|
|
<div class="head-card-element"> |
|
|
|
|
|
<el-text class="mx-1" size="large">{{ $t('common.market') }}:</el-text> |
|
|
|
|
|
<el-cascader v-model="selectedMarketPath" :options="markets" :placeholder="$t('common.marketPlaceholder')" clearable style="width:180px" |
|
|
|
|
|
@change="handleMarketChange" /> |
|
|
|
|
|
|
|
|
<!-- </div> --> |
|
|
|
|
|
</el-card> |
|
|
|
|
|
<el-card class="card2"> |
|
|
|
|
|
<!-- 设置表格容器的高度和滚动样式 --> |
|
|
|
|
|
<div style="height: 85vh; overflow-y: auto"> |
|
|
|
|
|
<el-table ref="tableRef" :data="tableData" @cellClick="cellClick" style="width: 100%; height: 85vh" |
|
|
|
|
|
@sort-change="handleSortChange" :row-style="{ height: '50px' }"> |
|
|
|
|
|
<el-table-column type="index" :label="$t('common_list.id')" width="100px" fixed="left"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ |
|
|
|
|
|
scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize |
|
|
|
|
|
}}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="name" :label="$t('common_list.name')" width="140" /> |
|
|
|
|
|
<el-table-column prop="jwcode" :label="$t('common_list.jwcode')" width="140" /> |
|
|
|
|
|
<el-table-column prop="market" :label="$t('common_list.market')" width="140" /> |
|
|
|
|
|
<el-table-column prop="historyGold" :label="$t('clientCount.market.historyGold')" sortable="custom" |
|
|
|
|
|
min-width="140"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.historyGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="hkGold" :label="$t('clientCount.market.hkGold')" sortable="custom" min-width="140"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.hkGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="sgHcGold" :label="$t('clientCount.market.sgHcGold')" sortable="custom" min-width="150"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.sgHcGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="myGold" :label="$t('clientCount.market.myGold')" sortable="custom" min-width="120"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.myGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="sgGold" :label="$t('clientCount.market.sgCmGold')" sortable="custom" min-width="150"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.sgGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="caGold" :label="$t('clientCount.market.caGold')" sortable="custom" min-width="120"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.caGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="thHsGold" :label="$t('clientCount.market.thHsGold')" sortable="custom" min-width="140"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.thHsGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="thHaGold" :label="$t('clientCount.market.thHaGold')" sortable="custom" min-width="140"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.thHaGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="vnGold" :label="$t('clientCount.market.vnGold')" sortable="custom" min-width="120"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.vnGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="bjGold" :label="$t('clientCount.market.bjGold')" sortable="custom" min-width="120"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.bjGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
</div> |
|
|
</div> |
|
|
<div class="head-card-element"> |
|
|
|
|
|
<!-- <el-checkbox v-model="showEmployeeData" @change="search()">员工数据</el-checkbox> --> |
|
|
|
|
|
|
|
|
<!-- 分页 --> |
|
|
|
|
|
<div class="pagination" style="margin-top: 20px"> |
|
|
|
|
|
<el-pagination background :current-page="getObj.pageNum" :page-size="getObj.pageSize" |
|
|
|
|
|
:page-sizes="[5, 10, 20, 50, 100]" layout="total, sizes, prev, pager, next, jumper" :total="total" |
|
|
|
|
|
@size-change="handlePageSizeChange" @current-change="handleCurrentChange"></el-pagination> |
|
|
</div> |
|
|
</div> |
|
|
<el-button type="primary" @click="search()">{{ $t('common.search') }}</el-button> |
|
|
|
|
|
<el-button @click="reset" type="success">{{ $t('common.reset') }}</el-button> |
|
|
|
|
|
<el-button type="primary" @click="exportExcel()">{{ $t('common.exportExcel') }}</el-button> |
|
|
|
|
|
<el-button type="primary" @click="selectWallet()">{{ $t('common.exportCompanyWalletDetail') }}</el-button> |
|
|
|
|
|
<el-button type="primary" @click="openExportList">{{ $t('common.viewExportList') }}</el-button> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!-- </div> --> |
|
|
|
|
|
</el-card> |
|
|
|
|
|
<el-card class="card2"> |
|
|
|
|
|
<!-- 设置表格容器的高度和滚动样式 --> |
|
|
|
|
|
<div style="height: 69vh; overflow-y: auto"> |
|
|
|
|
|
<el-table ref="tableRef" :data="tableData" @cellClick="cellClick" style="width: 100%; height: 69vh" |
|
|
|
|
|
@sort-change="handleSortChange" :row-style="{ height: '50px' }"> |
|
|
|
|
|
<el-table-column type="index" :label="$t('common_list.id')" width="100px" fixed="left"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ |
|
|
|
|
|
scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize |
|
|
|
|
|
}}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="name" :label="$t('common_list.name')" width="140" /> |
|
|
|
|
|
<el-table-column prop="jwcode" :label="$t('common_list.jwcode')" width="140" /> |
|
|
|
|
|
<el-table-column prop="market" :label="$t('common_list.market')" width="140" /> |
|
|
|
|
|
<el-table-column prop="historyGold" :label="$t('clientCount.market.historyGold')" sortable="custom" min-width="140"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.historyGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="hkGold" :label="$t('clientCount.market.hkGold')" sortable="custom" min-width="140"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.hkGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="sgHcGold" :label="$t('clientCount.market.sgHcGold')" sortable="custom" min-width="150"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.sgHcGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="myGold" :label="$t('clientCount.market.myGold')" sortable="custom" min-width="120"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.myGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="sgGold" :label="$t('clientCount.market.sgCmGold')" sortable="custom" min-width="150"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.sgGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="caGold" :label="$t('clientCount.market.caGold')" sortable="custom" min-width="120"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.caGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="thHsGold" :label="$t('clientCount.market.thHsGold')" sortable="custom" min-width="140"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.thHsGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="thHaGold" :label="$t('clientCount.market.thHaGold')" sortable="custom" min-width="140"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.thHaGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="vnGold" :label="$t('clientCount.market.vnGold')" sortable="custom" min-width="120"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.vnGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="bjGold" :label="$t('clientCount.market.bjGold')" sortable="custom" min-width="120"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{ (scope.row.bjGold || 0) }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!-- 分页 --> |
|
|
|
|
|
<div class="pagination" style="margin-top: 20px"> |
|
|
|
|
|
<el-pagination background :current-page="getObj.pageNum" :page-size="getObj.pageSize" :page-sizes="[5, 10, 20, 50, 100]" |
|
|
|
|
|
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handlePageSizeChange" |
|
|
|
|
|
@current-change="handleCurrentChange"></el-pagination> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-card> |
|
|
|
|
|
|
|
|
</el-card> |
|
|
|
|
|
</div> |
|
|
<el-dialog v-model="exportListVisible" :title="$t('common_export.exportList')" width="80%"> |
|
|
<el-dialog v-model="exportListVisible" :title="$t('common_export.exportList')" width="80%"> |
|
|
<el-table :data="exportList" style="width: 100% ;height: 60vh;" :loading="exportListLoading"> |
|
|
<el-table :data="exportList" style="width: 100% ;height: 60vh;" :loading="exportListLoading"> |
|
|
<el-table-column prop="fileName" :label="$t('common_export.fileName')" /> |
|
|
<el-table-column prop="fileName" :label="$t('common_export.fileName')" /> |
|
|
@ -756,10 +760,11 @@ const format3 = (num) => { |
|
|
</template> |
|
|
</template> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
<el-dialog v-model="selectWalletVisible" width="30%" top="20%" :before-close="closeSelectWallet"> |
|
|
|
|
|
<el-form :model="selectWalletForm" :rules="selectWalletRules" ref="selectWalletFormRef" label-width="120px"> |
|
|
|
|
|
|
|
|
<el-dialog v-model="selectWalletVisible" width="30%" top="20%" :before-close="closeSelectWallet"> |
|
|
|
|
|
<el-form :model="selectWalletForm" :rules="selectWalletRules" ref="selectWalletFormRef" label-width="120px"> |
|
|
<el-form-item :label="$t('common_list.companyWallet')" prop="companyWalletId" style="margin-top: 30px;"> |
|
|
<el-form-item :label="$t('common_list.companyWallet')" prop="companyWalletId" style="margin-top: 30px;"> |
|
|
<el-select v-model="selectWalletForm.companyWalletId" :placeholder="$t('common_list.companyWalletPlaceholder')" style="width: 80%;"> |
|
|
|
|
|
|
|
|
<el-select v-model="selectWalletForm.companyWalletId" :placeholder="$t('common_list.companyWalletPlaceholder')" |
|
|
|
|
|
style="width: 80%;"> |
|
|
<el-option v-for="item in companyWalletList" :key="item.id" :label="item.name" :value="item.id" /> |
|
|
<el-option v-for="item in companyWalletList" :key="item.id" :label="item.name" :value="item.id" /> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
@ -773,19 +778,24 @@ const format3 = (num) => { |
|
|
|
|
|
|
|
|
<el-dialog v-model="walletDetailVisible" width="70%" top="20vh"> |
|
|
<el-dialog v-model="walletDetailVisible" width="70%" top="20vh"> |
|
|
<template #header> |
|
|
<template #header> |
|
|
<div class="wallet-detail-header" style="display: flex; gap: 40px; justify-content: space-between; align-items: center; font-size: 16px;"> |
|
|
|
|
|
|
|
|
<div class="wallet-detail-header" |
|
|
|
|
|
style="display: flex; gap: 40px; justify-content: space-between; align-items: center; font-size: 16px;"> |
|
|
<span style="font-weight: bold; color: #F56C6C;">* {{ currentWalletInfo.walletName }}</span> |
|
|
<span style="font-weight: bold; color: #F56C6C;">* {{ currentWalletInfo.walletName }}</span> |
|
|
<span><span style="color: #F56C6C;">*</span> {{ $t('clientCount.user') }}: {{ currentWalletInfo.userName }} (ID: {{ currentWalletInfo.jwcode }})</span> |
|
|
|
|
|
<span><span style="color: #F56C6C;">*</span> {{ $t('common.market') }}: {{ currentWalletInfo.marketName }}</span> |
|
|
|
|
|
|
|
|
<span><span style="color: #F56C6C;">*</span> {{ $t('clientCount.user') }}: {{ currentWalletInfo.userName }} (ID: |
|
|
|
|
|
{{ currentWalletInfo.jwcode }})</span> |
|
|
|
|
|
<span><span style="color: #F56C6C;">*</span> {{ $t('common.market') }}: {{ currentWalletInfo.marketName |
|
|
|
|
|
}}</span> |
|
|
</div> |
|
|
</div> |
|
|
<div style="margin-top: 15px; font-size: 16px;"> |
|
|
<div style="margin-top: 15px; font-size: 16px;"> |
|
|
<span style="color: #F56C6C; font-weight: bold;">* {{ $t('clientCount.currentBalance') }}: {{ format3(currentWalletInfo.currentBalance || 0) }} {{ $t('common.goldCoin') }}</span> |
|
|
|
|
|
|
|
|
<span style="color: #F56C6C; font-weight: bold;">* {{ $t('clientCount.currentBalance') }}: {{ |
|
|
|
|
|
format3(currentWalletInfo.currentBalance || 0) }} {{ $t('common.goldCoin') }}</span> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<el-table :data="walletDetailList" v-loading="walletDetailLoading" style="width: 100%; height: 50vh; overflow-y: auto;" border stripe> |
|
|
|
|
|
|
|
|
<el-table :data="walletDetailList" v-loading="walletDetailLoading" |
|
|
|
|
|
style="width: 100%; height: 50vh; overflow-y: auto;" border stripe> |
|
|
<el-table-column prop="time" :label="$t('clientCount.time')" align="center" width="180"> |
|
|
<el-table-column prop="time" :label="$t('clientCount.time')" align="center" width="180"> |
|
|
<template #default="scope">{{ scope.row.time }}</template> |
|
|
|
|
|
|
|
|
<template #default="scope">{{ scope.row.time }}</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column prop="type" :label="$t('clientCount.transactionType')" align="center" width="120" /> |
|
|
<el-table-column prop="type" :label="$t('clientCount.transactionType')" align="center" width="120" /> |
|
|
<el-table-column prop="amount" :label="$t('common_list.money')" align="center" width="120"> |
|
|
<el-table-column prop="amount" :label="$t('common_list.money')" align="center" width="120"> |
|
|
@ -797,10 +807,13 @@ const format3 = (num) => { |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column prop="desc" :label="$t('clientCount.transactionDesc')" align="center" /> |
|
|
<el-table-column prop="desc" :label="$t('clientCount.transactionDesc')" align="center" /> |
|
|
<el-table-column prop="orderNo" :label="$t('clientCount.transactionOrderNo')" align="center" width="220" /> |
|
|
<el-table-column prop="orderNo" :label="$t('clientCount.transactionOrderNo')" align="center" width="220" /> |
|
|
<el-table-column prop="status" :label="$t('clientCount.transactionStatus')" align="center" width="220" fixed="right"> |
|
|
|
|
|
|
|
|
<el-table-column prop="status" :label="$t('clientCount.transactionStatus')" align="center" width="220" |
|
|
|
|
|
fixed="right"> |
|
|
<template #default="scope"> |
|
|
<template #default="scope"> |
|
|
<el-tag :type="scope.row.status === 1 ? 'success' : scope.row.status === 2 ? 'danger' : 'info'" :effect="scope.row.status === 1 ? 'light' : 'plain'"> |
|
|
|
|
|
{{ scope.row.status === 1 ? t('common_list.normal') : scope.row.status === 2 ? t('common_list.refunded') : t('clientCount.exceptionData') }} |
|
|
|
|
|
|
|
|
<el-tag :type="scope.row.status === 1 ? 'success' : scope.row.status === 2 ? 'danger' : 'info'" |
|
|
|
|
|
:effect="scope.row.status === 1 ? 'light' : 'plain'"> |
|
|
|
|
|
{{ scope.row.status === 1 ? t('common_list.normal') : scope.row.status === 2 ? t('common_list.refunded') : |
|
|
|
|
|
t('clientCount.exceptionData') }} |
|
|
</el-tag> |
|
|
</el-tag> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
@ -809,16 +822,9 @@ const format3 = (num) => { |
|
|
<template #footer> |
|
|
<template #footer> |
|
|
<div class="dialog-footer" style="display: flex; justify-content: space-between; align-items: center;"> |
|
|
<div class="dialog-footer" style="display: flex; justify-content: space-between; align-items: center;"> |
|
|
<div class="pagination-container"> |
|
|
<div class="pagination-container"> |
|
|
<el-pagination |
|
|
|
|
|
background |
|
|
|
|
|
:current-page="walletDetailQuery.pageNum" |
|
|
|
|
|
:page-size="walletDetailQuery.pageSize" |
|
|
|
|
|
:page-sizes="[10, 20, 50, 100]" |
|
|
|
|
|
layout="total, sizes, prev, pager, next, jumper" |
|
|
|
|
|
:total="walletDetailTotal" |
|
|
|
|
|
@size-change="handleWalletDetailSizeChange" |
|
|
|
|
|
@current-change="handleWalletDetailCurrentChange" |
|
|
|
|
|
/> |
|
|
|
|
|
|
|
|
<el-pagination background :current-page="walletDetailQuery.pageNum" :page-size="walletDetailQuery.pageSize" |
|
|
|
|
|
:page-sizes="[10, 20, 50, 100]" layout="total, sizes, prev, pager, next, jumper" :total="walletDetailTotal" |
|
|
|
|
|
@size-change="handleWalletDetailSizeChange" @current-change="handleWalletDetailCurrentChange" /> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div> |
|
|
<el-button type="primary" @click="exportWalletDetail">{{ $t('common.exportExcel') }}</el-button> |
|
|
<el-button type="primary" @click="exportWalletDetail">{{ $t('common.exportExcel') }}</el-button> |
|
|
@ -842,7 +848,7 @@ const format3 = (num) => { |
|
|
display: flex; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
|
|
|
|
|
|
|
:deep(.el-card__body) { |
|
|
|
|
|
|
|
|
:deep(.el-card__body) { |
|
|
padding: 20px; |
|
|
padding: 20px; |
|
|
flex: 1; |
|
|
flex: 1; |
|
|
display: flex; |
|
|
display: flex; |
|
|
@ -850,6 +856,7 @@ const format3 = (num) => { |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 表头背景等 |
|
|
// 表头背景等 |
|
|
:deep(.el-table__header-wrapper), |
|
|
:deep(.el-table__header-wrapper), |
|
|
:deep(.el-table__body-wrapper), |
|
|
:deep(.el-table__body-wrapper), |
|
|
|