fix: 账单新增手动更新按钮。
This commit is contained in:
@@ -42,3 +42,11 @@ export function delCreditCardBill(id) {
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 手动更新信用卡账单
|
||||
export function updateUnpaidCreditBill() {
|
||||
return request({
|
||||
url: '/invest/job/generateUnpaidCreditBill',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -2,43 +2,51 @@ import request from '@/utils/request'
|
||||
|
||||
// 查询期货股票账单列表
|
||||
export function listFutureStocksBill(query) {
|
||||
return request({
|
||||
url: '/invest/futureStocksBill/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
return request({
|
||||
url: '/invest/futureStocksBill/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询期货股票账单详细
|
||||
export function getFutureStocksBill(id) {
|
||||
return request({
|
||||
url: '/invest/futureStocksBill/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
return request({
|
||||
url: '/invest/futureStocksBill/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增期货股票账单
|
||||
export function addFutureStocksBill(data) {
|
||||
return request({
|
||||
url: '/invest/futureStocksBill',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
return request({
|
||||
url: '/invest/futureStocksBill',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改期货股票账单
|
||||
export function updateFutureStocksBill(data) {
|
||||
return request({
|
||||
url: '/invest/futureStocksBill',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
return request({
|
||||
url: '/invest/futureStocksBill',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除期货股票账单
|
||||
export function delFutureStocksBill(id) {
|
||||
return request({
|
||||
url: '/invest/futureStocksBill/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
return request({
|
||||
url: '/invest/futureStocksBill/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 手动更新账单
|
||||
export function updateLastFutureStocksBill() {
|
||||
return request({
|
||||
url: '/invest/job/generateFutureStocksBill',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
<div class="title">基本信息</div>
|
||||
<div class="operate-btn-con">
|
||||
<el-button @click="handleAdd" icon="Plus" v-hasPermi="['invest:creditCardBill:add']">新增</el-button>
|
||||
<el-button @click="handleUpdateBill" icon="Refresh" v-hasPermi="['invest:creditCardBill:add']">手动更新账单</el-button>
|
||||
<el-button :disabled="multiple" icon="Delete" @click="handleDelete" v-hasPermi="['invest:creditCardBill:remove']">删除</el-button>
|
||||
<!-- <el-button @click="handleExport" icon="Download" v-hasPermi="['invest:creditCardBill:export']">导出</el-button> -->
|
||||
</div>
|
||||
@@ -143,7 +144,14 @@
|
||||
</template>
|
||||
|
||||
<script setup name="CreditCardBill">
|
||||
import { listCreditCardBill, getCreditCardBill, delCreditCardBill, addCreditCardBill, updateCreditCardBill } from '@/api/invest/creditCardBill'
|
||||
import {
|
||||
listCreditCardBill,
|
||||
getCreditCardBill,
|
||||
delCreditCardBill,
|
||||
addCreditCardBill,
|
||||
updateCreditCardBill,
|
||||
updateUnpaidCreditBill
|
||||
} from '@/api/invest/creditCardBill'
|
||||
import { listBankcardLend } from '@/api/invest/bankcardlend'
|
||||
import { listAccountDealRecord } from '@/api/invest/accountDealRecord'
|
||||
import dayjs from 'dayjs'
|
||||
@@ -367,6 +375,16 @@ function handleAdd() {
|
||||
title.value = '添加信用卡账单'
|
||||
}
|
||||
|
||||
/** 手动更新按钮操作 */
|
||||
function handleUpdateBill() {
|
||||
updateUnpaidCreditBill()
|
||||
setTimeout(() => {
|
||||
// 一秒后执行的操作
|
||||
getList()
|
||||
proxy.$modal.msgSuccess('手动更新账单成功')
|
||||
}, 1000)
|
||||
}
|
||||
|
||||
/** 修改按钮操作 */
|
||||
function handleUpdate(row) {
|
||||
reset()
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
<div class="title">基本信息</div>
|
||||
<div class="operate-btn-con">
|
||||
<el-button @click="handleAdd" icon="Plus" v-hasPermi="['invest:futureStocksBill:add']">新增</el-button>
|
||||
<el-button @click="handleUpdateBill" icon="Refresh" v-hasPermi="['invest:creditCardBill:add']">手动更新账单</el-button>
|
||||
<el-button :disabled="multiple" icon="Delete" @click="handleDelete" v-hasPermi="['invest:futureStocksBill:remove']">删除</el-button>
|
||||
<!-- <el-button @click="handleExport" icon="Download" v-hasPermi="['invest:futureStocksBill:export']">导出</el-button> -->
|
||||
</div>
|
||||
@@ -72,16 +73,70 @@
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
<el-dialog :title="titleDealRecord" v-model="openDealRecord" width="1200px" append-to-body destroy-on-close>
|
||||
<el-form :model="queryDealRecordParams" ref="queryDealRecordRef" inline>
|
||||
<el-form-item label="账单周期" prop="time">
|
||||
<el-date-picker
|
||||
v-model="queryDealRecordParams.time"
|
||||
type="daterange"
|
||||
disabled
|
||||
range-separator="至"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="结束时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="交易类型" style="width: 220px" prop="dealType">
|
||||
<el-select v-model="queryDealRecordParams.dealType" placeholder="请选择交易类型" clearable>
|
||||
<el-option v-for="dict in profit_loss" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="交易类别" style="width: 220px" prop="dealCategory">
|
||||
<el-select v-model="queryDealRecordParams.dealCategory" placeholder="请选择交易类别" clearable>
|
||||
<el-option v-for="dict in deal_category" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
<el-button type="primary" icon="Search" @click="handleDealRecordQuery">搜索</el-button>
|
||||
<el-button type="info" icon="Refresh" @click="resetDealRecordQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="loadingDealRecord" :data="tableDealRecordData">
|
||||
<el-table-column label="交易时间" align="center" prop="createTime" />
|
||||
<el-table-column label="交易金额" align="center" prop="amount" />
|
||||
<el-table-column label="当前余额" align="center" prop="currentBalance" />
|
||||
<el-table-column label="交易类型" align="center" prop="dealType">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="profit_loss" :value="scope.row.dealType" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="交易类别" align="center" prop="dealCategory">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="deal_category" :value="scope.row.dealCategory" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" align="center" width="380" prop="remark" />
|
||||
</el-table>
|
||||
<el-pagination small background layout="total, prev, pager, next" :total="dealRecordTotal" @current-change="handleCurrentDealRecordChange" />
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup name="FutureStocksBill">
|
||||
import { listFutureStocksBill, getFutureStocksBill, delFutureStocksBill, addFutureStocksBill, updateFutureStocksBill } from '@/api/invest/futureStocksBill'
|
||||
import {
|
||||
listFutureStocksBill,
|
||||
getFutureStocksBill,
|
||||
delFutureStocksBill,
|
||||
addFutureStocksBill,
|
||||
updateFutureStocksBill,
|
||||
updateLastFutureStocksBill
|
||||
} from '@/api/invest/futureStocksBill'
|
||||
import { listFutureStocks } from '@/api/invest/futureStocks'
|
||||
import { listAccountDealRecord } from '@/api/invest/accountDealRecord'
|
||||
import dayjs from 'dayjs'
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
import { require } from '@/utils/require'
|
||||
const { proxy } = getCurrentInstance()
|
||||
const { future_stock_type } = proxy.useDict('future_stock_type')
|
||||
const { future_stock_type, profit_loss, deal_category } = proxy.useDict('future_stock_type', 'profit_loss', 'deal_category')
|
||||
|
||||
const futureStocksBillList = ref([])
|
||||
const open = ref(false)
|
||||
@@ -92,11 +147,27 @@ const single = ref(true)
|
||||
const multiple = ref(true)
|
||||
const total = ref(0)
|
||||
const title = ref('')
|
||||
|
||||
const titleDealRecord = ref('')
|
||||
const openDealRecord = ref(false)
|
||||
const currentAccountId = ref(false)
|
||||
const loadingDealRecord = ref(false)
|
||||
const tableDealRecordData = ref([])
|
||||
const dealRecordTotal = ref(0)
|
||||
const queryDealRecordParams = ref({
|
||||
time: '',
|
||||
dealType: null,
|
||||
dealCategory: null,
|
||||
pageNum: 1,
|
||||
pageSize: 10
|
||||
})
|
||||
|
||||
const futureStocksList = ref([])
|
||||
const operateList = ref([
|
||||
{ id: 'view', icon: 'View', title: '查看', hasPermi: ['invest:futureStocksBill:query'] },
|
||||
{ id: 'edit', icon: 'Edit', title: '修改', hasPermi: ['invest:futureStocksBill:edit'] },
|
||||
{ id: 'delete', icon: 'Delete', title: '删除', hasPermi: ['invest:futureStocksBill:remove'] }
|
||||
{ id: 'delete', icon: 'Delete', title: '删除', hasPermi: ['invest:futureStocksBill:remove'] },
|
||||
{ id: 'detail', icon: 'Tickets', title: '账单明细', hasPermi: ['invest:futureStocksBill:query'] }
|
||||
])
|
||||
const data = reactive({
|
||||
form: {},
|
||||
@@ -134,6 +205,9 @@ const handleOperate = (operate, row) => {
|
||||
case 'delete':
|
||||
handleDelete(row)
|
||||
break
|
||||
case 'detail':
|
||||
handleDealRecord(row)
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
@@ -141,6 +215,55 @@ const handleOperate = (operate, row) => {
|
||||
|
||||
const { queryParams, queryFutureStocksListParams, form, rules } = toRefs(data)
|
||||
|
||||
/** 历史数据按钮操作 */
|
||||
function handleDealRecord(row) {
|
||||
const _id = row.futureStocksId
|
||||
queryDealRecordParams.value.time = row.billDatePeriod.split('~')
|
||||
queryDealRecordParams.value.dealType = ''
|
||||
queryDealRecordParams.value.dealCategory = '2'
|
||||
titleDealRecord.value = row.futureStocksNameCode + '账单收益明细【' + row.billAmount + '】'
|
||||
currentAccountId.value = _id
|
||||
getDealRecordList(1)
|
||||
openDealRecord.value = true
|
||||
}
|
||||
|
||||
const handleCurrentDealRecordChange = (num) => {
|
||||
getDealRecordList(num)
|
||||
}
|
||||
|
||||
const handleDealRecordQuery = () => {
|
||||
getDealRecordList(1)
|
||||
}
|
||||
|
||||
const resetDealRecordQuery = () => {
|
||||
proxy.resetForm('queryDealRecordRef')
|
||||
queryDealRecordParams.value.dealType = ''
|
||||
queryDealRecordParams.value.dealCategory = ''
|
||||
dealRecordTotal.value = 0
|
||||
getDealRecordList(1)
|
||||
}
|
||||
|
||||
const getDealRecordList = (num, id) => {
|
||||
loadingDealRecord.value = true
|
||||
|
||||
const timeRange = queryDealRecordParams.value.time
|
||||
let st = ''
|
||||
let et = ''
|
||||
if (timeRange && timeRange.length === 2) {
|
||||
st = dayjs(timeRange[0]).format('YYYY-MM-DD')
|
||||
et = dayjs(timeRange[1]).format('YYYY-MM-DD')
|
||||
}
|
||||
queryDealRecordParams.value.startTime = st
|
||||
queryDealRecordParams.value.endTime = et
|
||||
queryDealRecordParams.value.pageNum = num
|
||||
queryDealRecordParams.value.accountId = currentAccountId.value
|
||||
listAccountDealRecord(queryDealRecordParams.value).then((res) => {
|
||||
loadingDealRecord.value = false
|
||||
tableDealRecordData.value = res.rows
|
||||
dealRecordTotal.value = res.total
|
||||
})
|
||||
}
|
||||
|
||||
/** 查询管理列表 */
|
||||
function getFutureStocksList() {
|
||||
listFutureStocks(queryFutureStocksListParams.value).then((response) => {
|
||||
@@ -158,6 +281,16 @@ function getList() {
|
||||
})
|
||||
}
|
||||
|
||||
/** 手动更新按钮操作 */
|
||||
function handleUpdateBill() {
|
||||
updateLastFutureStocksBill()
|
||||
setTimeout(() => {
|
||||
// 一秒后执行的操作
|
||||
getList()
|
||||
proxy.$modal.msgSuccess('手动更新账单成功')
|
||||
}, 1000)
|
||||
}
|
||||
|
||||
// 取消按钮
|
||||
function cancel() {
|
||||
open.value = false
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
<div class="title">基本信息</div>
|
||||
<div class="operate-btn-con">
|
||||
<el-button @click="handleAdd" icon="Plus" v-hasPermi="['invest:futureStocksBill:add']">新增</el-button>
|
||||
<el-button @click="handleUpdateBill" icon="Refresh" v-hasPermi="['invest:creditCardBill:add']">手动更新账单</el-button>
|
||||
<el-button :disabled="multiple" icon="Delete" @click="handleDelete" v-hasPermi="['invest:futureStocksBill:remove']">删除</el-button>
|
||||
<!-- <el-button @click="handleExport" icon="Download" v-hasPermi="['invest:futureStocksBill:export']">导出</el-button> -->
|
||||
</div>
|
||||
@@ -72,16 +73,69 @@
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
<el-dialog :title="titleDealRecord" v-model="openDealRecord" width="1200px" append-to-body destroy-on-close>
|
||||
<el-form :model="queryDealRecordParams" ref="queryDealRecordRef" inline>
|
||||
<el-form-item label="账单周期" prop="time">
|
||||
<el-date-picker
|
||||
v-model="queryDealRecordParams.time"
|
||||
type="daterange"
|
||||
disabled
|
||||
range-separator="至"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="结束时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="交易类型" style="width: 220px" prop="dealType">
|
||||
<el-select v-model="queryDealRecordParams.dealType" placeholder="请选择交易类型" clearable>
|
||||
<el-option v-for="dict in profit_loss" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="交易类别" style="width: 220px" prop="dealCategory">
|
||||
<el-select v-model="queryDealRecordParams.dealCategory" placeholder="请选择交易类别" clearable>
|
||||
<el-option v-for="dict in deal_category" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
<el-button type="primary" icon="Search" @click="handleDealRecordQuery">搜索</el-button>
|
||||
<el-button type="info" icon="Refresh" @click="resetDealRecordQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="loadingDealRecord" :data="tableDealRecordData">
|
||||
<el-table-column label="交易时间" align="center" prop="createTime" />
|
||||
<el-table-column label="交易金额" align="center" prop="amount" />
|
||||
<el-table-column label="当前余额" align="center" prop="currentBalance" />
|
||||
<el-table-column label="交易类型" align="center" prop="dealType">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="profit_loss" :value="scope.row.dealType" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="交易类别" align="center" prop="dealCategory">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="deal_category" :value="scope.row.dealCategory" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination small background layout="total, prev, pager, next" :total="dealRecordTotal" @current-change="handleCurrentDealRecordChange" />
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup name="FutureStocksBill">
|
||||
import { listFutureStocksBill, getFutureStocksBill, delFutureStocksBill, addFutureStocksBill, updateFutureStocksBill } from '@/api/invest/futureStocksBill'
|
||||
import {
|
||||
listFutureStocksBill,
|
||||
getFutureStocksBill,
|
||||
delFutureStocksBill,
|
||||
addFutureStocksBill,
|
||||
updateFutureStocksBill,
|
||||
updateLastFutureStocksBill
|
||||
} from '@/api/invest/futureStocksBill'
|
||||
import { listFutureStocks } from '@/api/invest/futureStocks'
|
||||
import { listAccountDealRecord } from '@/api/invest/accountDealRecord'
|
||||
import dayjs from 'dayjs'
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
import { require } from '@/utils/require'
|
||||
const { proxy } = getCurrentInstance()
|
||||
const { future_stock_type } = proxy.useDict('future_stock_type')
|
||||
const { future_stock_type, profit_loss, deal_category } = proxy.useDict('future_stock_type', 'profit_loss', 'deal_category')
|
||||
|
||||
const futureStocksBillList = ref([])
|
||||
const open = ref(false)
|
||||
@@ -92,11 +146,27 @@ const single = ref(true)
|
||||
const multiple = ref(true)
|
||||
const total = ref(0)
|
||||
const title = ref('')
|
||||
|
||||
const titleDealRecord = ref('')
|
||||
const openDealRecord = ref(false)
|
||||
const currentAccountId = ref(false)
|
||||
const loadingDealRecord = ref(false)
|
||||
const tableDealRecordData = ref([])
|
||||
const dealRecordTotal = ref(0)
|
||||
const queryDealRecordParams = ref({
|
||||
time: '',
|
||||
dealType: null,
|
||||
dealCategory: null,
|
||||
pageNum: 1,
|
||||
pageSize: 10
|
||||
})
|
||||
|
||||
const futureStocksList = ref([])
|
||||
const operateList = ref([
|
||||
{ id: 'view', icon: 'View', title: '查看', hasPermi: ['invest:futureStocksBill:query'] },
|
||||
{ id: 'edit', icon: 'Edit', title: '修改', hasPermi: ['invest:futureStocksBill:edit'] },
|
||||
{ id: 'delete', icon: 'Delete', title: '删除', hasPermi: ['invest:futureStocksBill:remove'] }
|
||||
{ id: 'delete', icon: 'Delete', title: '删除', hasPermi: ['invest:futureStocksBill:remove'] },
|
||||
{ id: 'detail', icon: 'Tickets', title: '账单明细', hasPermi: ['invest:futureStocksBill:query'] }
|
||||
])
|
||||
const data = reactive({
|
||||
form: {},
|
||||
@@ -134,6 +204,9 @@ const handleOperate = (operate, row) => {
|
||||
case 'delete':
|
||||
handleDelete(row)
|
||||
break
|
||||
case 'detail':
|
||||
handleDealRecord(row)
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
@@ -141,6 +214,54 @@ const handleOperate = (operate, row) => {
|
||||
|
||||
const { queryParams, queryFutureStocksListParams, form, rules } = toRefs(data)
|
||||
|
||||
/** 历史数据按钮操作 */
|
||||
function handleDealRecord(row) {
|
||||
const _id = row.futureStocksId
|
||||
queryDealRecordParams.value.time = row.billDatePeriod.split('~')
|
||||
queryDealRecordParams.value.dealType = ''
|
||||
queryDealRecordParams.value.dealCategory = '2'
|
||||
titleDealRecord.value = row.futureStocksNameCode + '账单收益明细【' + row.billAmount + '】'
|
||||
currentAccountId.value = _id
|
||||
getDealRecordList(1)
|
||||
openDealRecord.value = true
|
||||
}
|
||||
|
||||
const handleCurrentDealRecordChange = (num) => {
|
||||
getDealRecordList(num)
|
||||
}
|
||||
|
||||
const handleDealRecordQuery = () => {
|
||||
getDealRecordList(1)
|
||||
}
|
||||
|
||||
const resetDealRecordQuery = () => {
|
||||
proxy.resetForm('queryDealRecordRef')
|
||||
queryDealRecordParams.value.dealType = ''
|
||||
queryDealRecordParams.value.dealCategory = ''
|
||||
dealRecordTotal.value = 0
|
||||
getDealRecordList(1)
|
||||
}
|
||||
|
||||
const getDealRecordList = (num, id) => {
|
||||
loadingDealRecord.value = true
|
||||
|
||||
const timeRange = queryDealRecordParams.value.time
|
||||
let st = ''
|
||||
let et = ''
|
||||
if (timeRange && timeRange.length === 2) {
|
||||
st = dayjs(timeRange[0]).format('YYYY-MM-DD')
|
||||
et = dayjs(timeRange[1]).format('YYYY-MM-DD')
|
||||
}
|
||||
queryDealRecordParams.value.startTime = st
|
||||
queryDealRecordParams.value.endTime = et
|
||||
queryDealRecordParams.value.pageNum = num
|
||||
queryDealRecordParams.value.accountId = currentAccountId.value
|
||||
listAccountDealRecord(queryDealRecordParams.value).then((res) => {
|
||||
loadingDealRecord.value = false
|
||||
tableDealRecordData.value = res.rows
|
||||
dealRecordTotal.value = res.total
|
||||
})
|
||||
}
|
||||
/** 查询管理列表 */
|
||||
function getFutureStocksList() {
|
||||
listFutureStocks(queryFutureStocksListParams.value).then((response) => {
|
||||
@@ -158,6 +279,16 @@ function getList() {
|
||||
})
|
||||
}
|
||||
|
||||
/** 手动更新按钮操作 */
|
||||
function handleUpdateBill() {
|
||||
updateLastFutureStocksBill()
|
||||
setTimeout(() => {
|
||||
// 一秒后执行的操作
|
||||
getList()
|
||||
proxy.$modal.msgSuccess('手动更新账单成功')
|
||||
}, 1000)
|
||||
}
|
||||
|
||||
// 取消按钮
|
||||
function cancel() {
|
||||
open.value = false
|
||||
|
||||
Reference in New Issue
Block a user