fix: 智聪记账管理,投资交易记录,功能优化。

This commit is contained in:
tianyongbao
2025-02-13 18:07:58 +08:00
parent 4f65e05705
commit ecbc150d7b

View File

@@ -16,20 +16,28 @@
inputAlign="right" border="none"></u--input>
<u-icon slot="right" name="arrow-down"></u-icon>
</u-form-item>
<u-form-item label="交易类型" prop="dealTypeName" required @click="handleDealType">
<!-- <u-form-item label="交易类型" prop="dealTypeName" required @click="handleDealType">
<u--input v-model="form.dealTypeName" disabled disabledColor="#ffffff" placeholder="请选择交易类型"
inputAlign="right" border="none"></u--input>
<u-icon slot="right" name="arrow-down"></u-icon>
</u-form-item>
</u-form-item> -->
<u-form-item label="交易时间" prop="createTime" required @click="selectDate()">
<u--input v-model="form.createTime" disabled disabledColor="#ffffff" placeholder="请选择交易时间" inputAlign="right" border="none"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
<u-form-item label="交易金额" prop="amount" required >
<u-form-item label="交易金额" prop="amount" v-show="!futuresShow" required >
<u--input v-model="form.amount" type="number" placeholder="请填写交易金额"
inputAlign="right" border="none"></u--input>
</u-form-item>
<u-form-item label="备注" prop="remark" labelPosition="top">
<u-form-item label="平仓盈亏" prop="closedPosition" v-show="futuresShow" required >
<u--input v-model="form.closedPosition" type="number" placeholder="请填写平仓盈亏"
inputAlign="right" border="none"></u--input>
</u-form-item>
<u-form-item label="手续费" prop="commission" v-show="futuresShow" required >
<u--input v-model="form.commission" type="number" placeholder="请填写手续费"
inputAlign="right" border="none"></u--input>
</u-form-item>
<u-form-item label="备注" v-show="!futuresShow" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请填写备注" border="none" autoHeight inputAlign="right" count
maxlength="20000" style="padding:18rpx 0;"></u--textarea>
</u-form-item>
@@ -59,6 +67,7 @@
import {getAccountDealRecord, addAccountDealRecord, updateAccountDealRecord } from '@/api/invest/accountDealRecord'
import { getDicts } from '@/api/system/dict/data.js'
import { listAccounts } from '@/api/invest/accounts'
import { getFutureStocks } from '@/api/invest/futureStocks'
const { proxy } = getCurrentInstance()
import dayjs from 'dayjs'
import {onLoad,onReady} from "@dcloudio/uni-app";
@@ -73,6 +82,9 @@ const title = ref("投资交易记录")
const accountTypeList = ref([])
const accountNameList = ref([])
const dealTypeList = ref([])
const futuresShow = ref(false)
//账户类型
const accountType = ref(0)
const data = reactive({
form: {
id: null,
@@ -80,7 +92,7 @@ const data = reactive({
type: '5',
accountId: null,
amount: null,
dealType: null,
dealType: "1",
createBy: null,
createTime: null,
updateBy: null,
@@ -98,8 +110,10 @@ const data = reactive({
},
rules: {
accountName: [{ required: true, message: '投资账户不能为空', trigger: ['change', 'blur'] }],
amount: [{type: 'number', required: true, message: '交易金额不能为空', trigger: ['change', 'blur'] }],
amount: [{type: 'number', required: true, message: '交易金额不能为空', trigger: ['blur'] }],
dealTypeName: [{ required: true, message: '交易类型不能为空', trigger:['change', 'blur'] }],
closedPosition: [{ required: true, message: '平仓盈亏不能为空', trigger: 'blur' }],
commission: [{ required: true, message: '手续费不能为空', trigger: 'blur' }],
createTime: [{ required: true, message: '交易时间不能为空', trigger: ['change', 'blur'] }]
}
})
@@ -162,6 +176,25 @@ onLoad((option) => {
function handleAccountNameConfirm(e) {
form.value.accountName = e.value[0].nameCodeAvailableLimit
form.value.accountId = e.value[0].id
let accountId=e.value[0].id
if (accountId != null && accountId != '') {
getFutureStocks(accountId).then((response) => {
const account = response.data
accountType.value = account.type
if (account.type == '1') {
futuresShow.value = true
form.value.amount = 0
form.value.closedPosition = null
form.value.commission = null
} else {
futuresShow.value = false
form.value.amount = null
form.value.closedPosition = 0
form.value.commission = 0
}
})
}
showAccountName.value = false
}
function handleAccountNameCancel() {
@@ -194,6 +227,18 @@ onLoad((option) => {
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
//如果是期货,给备注
if (accountType.value == '1') {
form.value.remark = '平仓盈亏' + form.value.closedPosition + ',手续费' + form.value.commission
form.value.amount = form.value.closedPosition - form.value.commission
}
//如果是亏损,金额乘以-1
if (form.value.amount >= 0) {
form.value.dealType = '1'
} else {
form.value.dealType = '2'
form.value.amount = form.value.amount * -1
}
if (form.value.id != null) {
updateAccountDealRecord(form.value).then(res => {
proxy.$refs['uToast'].show({