fix liverequest sort

This commit is contained in:
2024-04-15 23:02:58 +08:00
parent 9a44b5e89c
commit 3e192eaaae
2 changed files with 29 additions and 5 deletions

View File

@@ -40,7 +40,9 @@ const songs = computed(() => {
break
}
case QueueSortType.GuardFirst: {
result = result.OrderBy((q) => q.user?.guard_level).ThenBy((q) => q.createAt)
result = result
.OrderBy((q) => (q.user?.guard_level == 0 || q.user?.guard_level == null ? 4 : q.user.guard_level))
.ThenBy((q) => q.createAt)
break
}
case QueueSortType.PaymentFist: {

View File

@@ -164,14 +164,15 @@ const songs = computed(() => {
break
}
case QueueSortType.GuardFirst: {
result = result.OrderBy((q) => q.user?.guard_level).ThenBy((q) => q.createAt)
result = result
.OrderBy((q) => (q.user?.guard_level == 0 || q.user?.guard_level == null ? 4 : q.user.guard_level))
.ThenBy((q) => q.createAt)
break
}
case QueueSortType.PaymentFist: {
result = result.OrderByDescending((q) => q.price ?? 0).ThenBy((q) => q.createAt)
}
}
console.log(settings.value.sortType)
if (configCanEdit.value ? settings.value.isReverse : isReverse.value) {
return result.Reverse().ToArray()
} else {
@@ -193,6 +194,27 @@ const historySongs = computed(() => {
})
})
function sortSongs(songs: SongRequestInfo[]) {
let result = new List(songs)
switch (settings.value.sortType) {
case QueueSortType.TimeFirst: {
result = result.ThenBy((q) => q.createAt)
break
}
case QueueSortType.GuardFirst: {
result = result.OrderBy((q) => q.user?.guard_level).ThenBy((q) => q.createAt)
break
}
case QueueSortType.PaymentFist: {
result = result.OrderByDescending((q) => q.price ?? 0).ThenBy((q) => q.createAt)
}
}
if (configCanEdit.value ? settings.value.isReverse : isReverse.value) {
return result.Reverse().ToArray()
}
return result.ToArray()
}
const newSongName = ref('')
const filterSongName = ref('')
const filterSongNameContains = ref(false)
@@ -837,7 +859,7 @@ onUnmounted(() => {
<NInput placeholder="手动添加" v-model:value="newSongName" />
<NButton type="primary" @click="addSongManual"> 添加 </NButton>
</NInputGroup>
<!-- <NRadioGroup
<NRadioGroup
v-model:value="settings.sortType"
:disabled="!configCanEdit"
@update:value="updateSettings"
@@ -846,7 +868,7 @@ onUnmounted(() => {
<NRadioButton :value="QueueSortType.TimeFirst"> 加入时间优先 </NRadioButton>
<NRadioButton :value="QueueSortType.PaymentFist"> 付费价格优先 </NRadioButton>
<NRadioButton :value="QueueSortType.GuardFirst"> 舰长优先 (按等级) </NRadioButton>
</NRadioGroup> -->
</NRadioGroup>
<NCheckbox v-if="configCanEdit" v-model:checked="settings.isReverse" @update:checked="updateSettings">
倒序
</NCheckbox>