diff --git a/src/components/cards/FilterRuleCard.vue b/src/components/cards/FilterRuleCard.vue
index be8b31d7..a9131b86 100644
--- a/src/components/cards/FilterRuleCard.vue
+++ b/src/components/cards/FilterRuleCard.vue
@@ -9,23 +9,13 @@ const props = defineProps({
})
// 定义触发的自定义事件
-const emit = defineEmits(['close', 'changed', 'levelup', 'leveldown'])
+const emit = defineEmits(['close', 'changed'])
// 按钮点击
function onClose() {
emit('close')
}
-// 上升优先级
-function onLevelUp() {
- emit('levelup', props.pri)
-}
-
-// 下降优先级
-function onLevelDown() {
- emit('leveldown', props.pri)
-}
-
// 选项变化
function filtersChanged(value: string[]) {
emit('changed', props.pri, value)
@@ -76,18 +66,9 @@ const selectFilterOptions = ref<{ [key: string]: string }[]>([
-
-
-
-
-
-
+
+
+
@@ -96,7 +77,6 @@ const selectFilterOptions = ref<{ [key: string]: string }[]>([
import { useToast } from 'vue-toast-notification'
+import draggable from 'vuedraggable'
import api from '@/api'
import FilterRuleCard from '@/components/cards/FilterRuleCard.vue'
import type { Site } from '@/api/types'
@@ -170,42 +171,12 @@ async function saveSelectedSites() {
}
}
-// 上调优先级
-function onLevelUp(pri: string) {
- // 找到当前卡片
- const card = filterCards.value.find(card => card.pri === pri)
- if (!card) return
-
- // 找到当前卡片的上一张卡片
- const prevCard = filterCards.value.find(card => card.pri === (parseInt(pri) - 1).toString())
- if (!prevCard) return
-
- // 交换两张卡片的优先级
- const temp = card.pri
- card.pri = prevCard.pri
- prevCard.pri = temp
-
- // 卡片重新按优先级排序
- filterCards.value.sort((a, b) => parseInt(a.pri) - parseInt(b.pri))
-}
-
-// 下调优先级
-function onLevelDown(pri: string) {
- // 找到当前卡片
- const card = filterCards.value.find(card => card.pri === pri)
- if (!card) return
-
- // 找到当前卡片的下一张卡片
- const nextCard = filterCards.value.find(card => card.pri === (parseInt(pri) + 1).toString())
- if (!nextCard) return
-
- // 交换两张卡片的优先级
- const temp = card.pri
- card.pri = nextCard.pri
- nextCard.pri = temp
-
- // 卡片重新按优先级排序
- filterCards.value.sort((a, b) => parseInt(a.pri) - parseInt(b.pri))
+// 根据列表的拖动顺序更新优先级
+function dragOrderEnd() {
+ filterCards.value = filterCards.value.map((card, index) => {
+ card.pri = (index + 1).toString()
+ return card
+ })
}
// 查询包含与排除规则
@@ -380,19 +351,24 @@ onMounted(() => {
设置在搜索时默认使用的优先级排序,未在优先级中的资源将不在搜索结果中显示。
-
-
-
+
+
+
+
+
保存
diff --git a/src/views/setting/AccountSettingSubscribe.vue b/src/views/setting/AccountSettingSubscribe.vue
index f7f28ce3..7bb76541 100644
--- a/src/views/setting/AccountSettingSubscribe.vue
+++ b/src/views/setting/AccountSettingSubscribe.vue
@@ -1,5 +1,6 @@
-