minitest2.0 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { defineStore } from 'pinia'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 头寸预报查询筛选区状态 Store
|
|
5
|
+
*
|
|
6
|
+
* 只保存列表页筛选条件面板的展开/收起状态,避免和应用级配置混在一起。
|
|
7
|
+
*/
|
|
8
|
+
export const usePositionFilterStore = defineStore(
|
|
9
|
+
'positionFilter',
|
|
10
|
+
() => {
|
|
11
|
+
/** 人民币头寸预报及查询列表筛选条件是否展开,默认收起并持久化用户选择。 */
|
|
12
|
+
const rmbFilterExpanded = ref(false)
|
|
13
|
+
|
|
14
|
+
/** 外币头寸预报及查询列表筛选条件是否展开,默认收起并持久化用户选择。 */
|
|
15
|
+
const foreignFilterExpanded = ref(false)
|
|
16
|
+
|
|
17
|
+
function setRmbFilterExpanded(value: boolean) {
|
|
18
|
+
rmbFilterExpanded.value = value
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function setForeignFilterExpanded(value: boolean) {
|
|
22
|
+
foreignFilterExpanded.value = value
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return {
|
|
26
|
+
rmbFilterExpanded,
|
|
27
|
+
foreignFilterExpanded,
|
|
28
|
+
setRmbFilterExpanded,
|
|
29
|
+
setForeignFilterExpanded,
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
persist: {
|
|
34
|
+
key: 'mini2_position_filter_settings',
|
|
35
|
+
pick: ['rmbFilterExpanded', 'foreignFilterExpanded'],
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
)
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
type ForeignForecastRecord,
|
|
7
7
|
} from '@/api/foreign-position'
|
|
8
8
|
import { useAppStore } from '@/stores/app'
|
|
9
|
+
import { usePositionFilterStore } from '@/stores/position-filter'
|
|
9
10
|
import {
|
|
10
11
|
allForeignBusinessOption,
|
|
11
12
|
allForeignStatusOption,
|
|
@@ -54,6 +55,7 @@ type SelectorOption = ForeignOption | ForeignStatusOption
|
|
|
54
55
|
|
|
55
56
|
const router = useRouter()
|
|
56
57
|
const appStore = useAppStore()
|
|
58
|
+
const positionFilterStore = usePositionFilterStore()
|
|
57
59
|
const defaultTranDate = appStore.systemWorkDate
|
|
58
60
|
const heroImage = `${import.meta.env.BASE_URL}images/12a73787-86a9-4891-a65f-66104746f6a8.png`
|
|
59
61
|
const pageSize = 10
|
|
@@ -74,7 +76,8 @@ const showDatePicker = ref(false)
|
|
|
74
76
|
const datePickerValue = ref(selectedDate.value.split('-'))
|
|
75
77
|
const minDate = new Date(2020, 0, 1)
|
|
76
78
|
const maxDate = new Date(2030, 11, 31)
|
|
77
|
-
|
|
79
|
+
// 筛选区展开状态由 Pinia 持久化;首次进入无缓存时默认收起。
|
|
80
|
+
const isFilterExpanded = computed(() => positionFilterStore.foreignFilterExpanded)
|
|
78
81
|
|
|
79
82
|
const forecastList = ref<Forecast[]>([])
|
|
80
83
|
const forecastTotal = ref(0)
|
|
@@ -183,6 +186,10 @@ function scrollToTop() {
|
|
|
183
186
|
})
|
|
184
187
|
}
|
|
185
188
|
|
|
189
|
+
function toggleFilterExpanded() {
|
|
190
|
+
positionFilterStore.setForeignFilterExpanded(!isFilterExpanded.value)
|
|
191
|
+
}
|
|
192
|
+
|
|
186
193
|
function openCreatePage() {
|
|
187
194
|
router.push({
|
|
188
195
|
name: 'ForeignPositionCreate',
|
|
@@ -417,7 +424,7 @@ function isPendingForecast(value: Partial<PendingForecast> | null): value is Pen
|
|
|
417
424
|
class="filter-toggle"
|
|
418
425
|
type="button"
|
|
419
426
|
:aria-expanded="isFilterExpanded"
|
|
420
|
-
@click="
|
|
427
|
+
@click="toggleFilterExpanded"
|
|
421
428
|
>
|
|
422
429
|
<van-icon :name="isFilterExpanded ? 'arrow-up' : 'arrow-down'" />
|
|
423
430
|
<span>{{ isFilterExpanded ? '收起' : '展开' }}</span>
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
type RmbForecastRecord,
|
|
7
7
|
} from '@/api/rmb-position'
|
|
8
8
|
import { useAppStore } from '@/stores/app'
|
|
9
|
+
import { usePositionFilterStore } from '@/stores/position-filter'
|
|
9
10
|
import {
|
|
10
11
|
forecastStatusMap,
|
|
11
12
|
formatForecastAmount,
|
|
@@ -41,6 +42,7 @@ type PendingForecast = {
|
|
|
41
42
|
|
|
42
43
|
const router = useRouter()
|
|
43
44
|
const appStore = useAppStore()
|
|
45
|
+
const positionFilterStore = usePositionFilterStore()
|
|
44
46
|
const defaultTranDate = appStore.systemWorkDate
|
|
45
47
|
const heroImage = `${import.meta.env.BASE_URL}images/5798d7aa-ba8b-4605-8079-58b35495ac55.png`
|
|
46
48
|
const pageSize = 10
|
|
@@ -58,7 +60,8 @@ const showDatePicker = ref(false)
|
|
|
58
60
|
const datePickerValue = ref(selectedDate.value.split('-'))
|
|
59
61
|
const minDate = new Date(2020, 0, 1)
|
|
60
62
|
const maxDate = new Date(2030, 11, 31)
|
|
61
|
-
|
|
63
|
+
// 筛选区展开状态由 Pinia 持久化;首次进入无缓存时默认收起。
|
|
64
|
+
const isFilterExpanded = computed(() => positionFilterStore.rmbFilterExpanded)
|
|
62
65
|
|
|
63
66
|
const forecastList = ref<Forecast[]>([])
|
|
64
67
|
const forecastTotal = ref(0)
|
|
@@ -135,6 +138,10 @@ function scrollToTop() {
|
|
|
135
138
|
})
|
|
136
139
|
}
|
|
137
140
|
|
|
141
|
+
function toggleFilterExpanded() {
|
|
142
|
+
positionFilterStore.setRmbFilterExpanded(!isFilterExpanded.value)
|
|
143
|
+
}
|
|
144
|
+
|
|
138
145
|
function openCreatePage() {
|
|
139
146
|
router.push({
|
|
140
147
|
name: 'RmbPositionCreate',
|
|
@@ -311,7 +318,7 @@ function isPendingForecast(value: Partial<PendingForecast> | null): value is Pen
|
|
|
311
318
|
class="filter-toggle"
|
|
312
319
|
type="button"
|
|
313
320
|
:aria-expanded="isFilterExpanded"
|
|
314
|
-
@click="
|
|
321
|
+
@click="toggleFilterExpanded"
|
|
315
322
|
>
|
|
316
323
|
<van-icon :name="isFilterExpanded ? 'arrow-up' : 'arrow-down'" />
|
|
317
324
|
<span>{{ isFilterExpanded ? '收起' : '展开' }}</span>
|