fix: 交易时间支持时分秒选择
- 添加时间选择器 (picker mode="time") - 新增 transactionTime 字段 - 新增 getCurrentTime() 和 onTimeChange() - 修复交易记录时间格式显示
This commit is contained in:
parent
23641d2629
commit
8d65d00589
@ -425,12 +425,20 @@
|
|||||||
|
|
||||||
<view class="form-item">
|
<view class="form-item">
|
||||||
<text class="form-label">交易时间</text>
|
<text class="form-label">交易时间</text>
|
||||||
<picker mode="date" :value="transactionForm.transactionDate" @change="onDateChange">
|
<view class="flex-row gap-2">
|
||||||
<view class="form-select">
|
<picker mode="date" :value="transactionForm.transactionDate" @change="onDateChange" class="flex-1">
|
||||||
<text>{{ transactionForm.transactionDate || '请选择日期' }}</text>
|
<view class="form-select">
|
||||||
<uni-icons type="bottom" size="14" color="#9CA3AF"></uni-icons>
|
<text>{{ transactionForm.transactionDate || '请选择日期' }}</text>
|
||||||
</view>
|
<uni-icons type="bottom" size="14" color="#9CA3AF"></uni-icons>
|
||||||
</picker>
|
</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>
|
||||||
|
|
||||||
<view class="form-item">
|
<view class="form-item">
|
||||||
@ -777,12 +785,20 @@ const getCurrentDate = (): string => {
|
|||||||
return `${year}-${month}-${day}`;
|
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>({
|
const transactionForm = ref<any>({
|
||||||
stockCode: '',
|
stockCode: '',
|
||||||
amount: '',
|
amount: '',
|
||||||
price: '',
|
price: '',
|
||||||
currency: '',
|
currency: '',
|
||||||
transactionDate: getCurrentDate(),
|
transactionDate: getCurrentDate(),
|
||||||
|
transactionTime: getCurrentTime(),
|
||||||
dateTimestamp: Date.now(),
|
dateTimestamp: Date.now(),
|
||||||
remark: ''
|
remark: ''
|
||||||
});
|
});
|
||||||
@ -1114,6 +1130,7 @@ const resetTransactionForm = () => {
|
|||||||
price: '',
|
price: '',
|
||||||
currency: 'CNY',
|
currency: 'CNY',
|
||||||
transactionDate: getCurrentDate(),
|
transactionDate: getCurrentDate(),
|
||||||
|
transactionTime: getCurrentTime(),
|
||||||
dateTimestamp: Date.now(),
|
dateTimestamp: Date.now(),
|
||||||
remark: ''
|
remark: ''
|
||||||
};
|
};
|
||||||
@ -1127,6 +1144,10 @@ const onDateChange = (e) => {
|
|||||||
transactionForm.value.dateTimestamp = new Date(e.detail.value).getTime();
|
transactionForm.value.dateTimestamp = new Date(e.detail.value).getTime();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const onTimeChange = (e) => {
|
||||||
|
transactionForm.value.transactionTime = e.detail.value;
|
||||||
|
};
|
||||||
|
|
||||||
const submitTransaction = async () => {
|
const submitTransaction = async () => {
|
||||||
// 表单验证
|
// 表单验证
|
||||||
if (!transactionForm.value.stockCode) {
|
if (!transactionForm.value.stockCode) {
|
||||||
@ -1172,6 +1193,7 @@ const submitTransaction = async () => {
|
|||||||
price: parseFloat(transactionForm.value.price),
|
price: parseFloat(transactionForm.value.price),
|
||||||
currency: transactionForm.value.currency,
|
currency: transactionForm.value.currency,
|
||||||
transactionDate: transactionForm.value.transactionDate,
|
transactionDate: transactionForm.value.transactionDate,
|
||||||
|
transactionTime: transactionForm.value.transactionTime,
|
||||||
remark: transactionForm.value.remark
|
remark: transactionForm.value.remark
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user