|
@@ -86,13 +86,14 @@
|
|
|
<view class="stock-left">
|
|
<view class="stock-left">
|
|
|
<text class="stock-name">{{ item.name }}</text>
|
|
<text class="stock-name">{{ item.name }}</text>
|
|
|
<text class="stock-code">{{ item.code }}</text>
|
|
<text class="stock-code">{{ item.code }}</text>
|
|
|
|
|
+ <text class="stock-date">入池: {{ formatAddDate(item.addDate) }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="stock-center">
|
|
<view class="stock-center">
|
|
|
<text class="stock-price">{{ item.currentPrice || '-' }}</text>
|
|
<text class="stock-price">{{ item.currentPrice || '-' }}</text>
|
|
|
<text class="stock-change" :class="getChangeClass(item.changePercent)">{{ item.changePercent || '-' }}</text>
|
|
<text class="stock-change" :class="getChangeClass(item.changePercent)">{{ item.changePercent || '-' }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="stock-right">
|
|
<view class="stock-right">
|
|
|
- <view class="action-btn" @click="handleDeleteStock(item)">
|
|
|
|
|
|
|
+ <view v-if="isAddedToday(item.addDate)" class="action-btn" @click="handleDeleteStock(item)">
|
|
|
<text>撤出</text>
|
|
<text>撤出</text>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
@@ -203,6 +204,28 @@ const getChangeClass = (changePercent) => {
|
|
|
return changePercent.startsWith('+') ? 'up' : changePercent.startsWith('-') ? 'down' : ''
|
|
return changePercent.startsWith('+') ? 'up' : changePercent.startsWith('-') ? 'down' : ''
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+// 判断是否是当天加入的股票
|
|
|
|
|
+const isAddedToday = (addDate) => {
|
|
|
|
|
+ if (!addDate) return false
|
|
|
|
|
+ const today = new Date().toISOString().split('T')[0]
|
|
|
|
|
+ return addDate === today
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 格式化入池日期(与历史查询页面保持一致)
|
|
|
|
|
+const formatAddDate = (dateStr) => {
|
|
|
|
|
+ if (!dateStr) return '-'
|
|
|
|
|
+ // 处理可能的日期格式:2025-01-10 或 数组格式 [2025, 1, 10]
|
|
|
|
|
+ if (Array.isArray(dateStr)) {
|
|
|
|
|
+ const [year, month, day] = dateStr
|
|
|
|
|
+ return `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`
|
|
|
|
|
+ }
|
|
|
|
|
+ const parts = dateStr.split('-')
|
|
|
|
|
+ if (parts.length >= 3) {
|
|
|
|
|
+ return `${parts[0]}-${parts[1].padStart(2, '0')}-${parts[2].padStart(2, '0')}`
|
|
|
|
|
+ }
|
|
|
|
|
+ return dateStr
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
const handleSearchInput = () => {
|
|
const handleSearchInput = () => {
|
|
|
if (searchTimer) clearTimeout(searchTimer)
|
|
if (searchTimer) clearTimeout(searchTimer)
|
|
|
if (!searchKeyword.value.trim()) {
|
|
if (!searchKeyword.value.trim()) {
|
|
@@ -558,6 +581,12 @@ const handleDeleteStock = (item) => {
|
|
|
margin-top: 8rpx;
|
|
margin-top: 8rpx;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+.stock-date {
|
|
|
|
|
+ font-size: 22rpx;
|
|
|
|
|
+ color: #c0c4cc;
|
|
|
|
|
+ margin-top: 6rpx;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
.stock-center {
|
|
.stock-center {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
flex-direction: column;
|