fix: 交易时间支持时分秒选择

- 添加时间选择器 (picker mode="time")
- 新增 transactionTime 字段
- 新增 getCurrentTime() 和 onTimeChange()
- 修复交易记录时间格式显示
This commit is contained in:
claw_bot 2026-03-24 08:53:34 +00:00
parent 23641d2629
commit 8d65d00589

View File

@ -425,12 +425,20 @@
<view class="form-item">
<text class="form-label">交易时间</text>
<picker mode="date" :value="transactionForm.transactionDate" @change="onDateChange">
<view class="form-select">
<text>{{ transactionForm.transactionDate || '请选择日期' }}</text>
<uni-icons type="bottom" size="14" color="#9CA3AF"></uni-icons>
</view>
</picker>
<view class="flex-row gap-2">
<picker mode="date" :value="transactionForm.transactionDate" @change="onDateChange" class="flex-1">
<view class="form-select">
<text>{{ transactionForm.transactionDate || '请选择日期' }}</text>
<uni-icons type="bottom" size="14" color="#9CA3AF"></uni-icons>
</view>
</picker>
<picker mode="time" :value="transactionForm.transactionTime" @change="onTimeChange" class="flex-1">
<view class="form-select">
<text>{{ transactionForm.transactionTime || '请选择时间' }}</text>
<uni-icons type="bottom" size="14" color="#9CA3AF"></uni-icons>
</view>
</picker>
</view>
</view>
<view class="form-item">
@ -777,12 +785,20 @@ const getCurrentDate = (): string => {
return `${year}-${month}-${day}`;
};
const getCurrentTime = (): string => {
const now = new Date();
const hours = String(now.getHours()).padStart(2, '0');
const minutes = String(now.getMinutes()).padStart(2, '0');
return `${hours}:${minutes}`;
};
const transactionForm = ref<any>({
stockCode: '',
amount: '',
price: '',
currency: '',
transactionDate: getCurrentDate(),
transactionTime: getCurrentTime(),
dateTimestamp: Date.now(),
remark: ''
});
@ -1114,6 +1130,7 @@ const resetTransactionForm = () => {
price: '',
currency: 'CNY',
transactionDate: getCurrentDate(),
transactionTime: getCurrentTime(),
dateTimestamp: Date.now(),
remark: ''
};
@ -1127,6 +1144,10 @@ const onDateChange = (e) => {
transactionForm.value.dateTimestamp = new Date(e.detail.value).getTime();
};
const onTimeChange = (e) => {
transactionForm.value.transactionTime = e.detail.value;
};
const submitTransaction = async () => {
//
if (!transactionForm.value.stockCode) {
@ -1172,6 +1193,7 @@ const submitTransaction = async () => {
price: parseFloat(transactionForm.value.price),
currency: transactionForm.value.currency,
transactionDate: transactionForm.value.transactionDate,
transactionTime: transactionForm.value.transactionTime,
remark: transactionForm.value.remark
};