diff --git a/Build_God_Admin_Frontend/Frontend/src/api/level.ts b/Build_God_Admin_Frontend/Frontend/src/api/level.ts index bac7d75..a550bdf 100644 --- a/Build_God_Admin_Frontend/Frontend/src/api/level.ts +++ b/Build_God_Admin_Frontend/Frontend/src/api/level.ts @@ -9,6 +9,8 @@ export interface Level{ baseBreakthroughRate: number; failIncrement: number; description: string; + requiredPillId?: number; + requiredPillQuantity?: number; } //获取所有的level diff --git a/Build_God_Admin_Frontend/Frontend/src/api/pill.ts b/Build_God_Admin_Frontend/Frontend/src/api/pill.ts index db1d893..6833acf 100644 --- a/Build_God_Admin_Frontend/Frontend/src/api/pill.ts +++ b/Build_God_Admin_Frontend/Frontend/src/api/pill.ts @@ -3,7 +3,6 @@ import http, { type EnumInfoDto } from "../api/index"; export interface Pill { id: number; name: string; - grade?: number; type?: number; rarity?: number; money?: number; diff --git a/Build_God_Admin_Frontend/Frontend/src/views/admin/LevelsView.vue b/Build_God_Admin_Frontend/Frontend/src/views/admin/LevelsView.vue index 2d2468b..4cb4600 100644 --- a/Build_God_Admin_Frontend/Frontend/src/views/admin/LevelsView.vue +++ b/Build_God_Admin_Frontend/Frontend/src/views/admin/LevelsView.vue @@ -2,9 +2,11 @@ import { ref, computed, onMounted } from 'vue' import { ElMessage, ElMessageBox } from 'element-plus' import { AddLevel, DeleteLevel, GetLevelList, UpdateLevel, type Level } from '@/api/level' +import { GetPillList, type Pill } from '@/api/pill' import { Plus,Edit,Delete,Close } from '@element-plus/icons-vue' const levels = ref([]) +const pills = ref([]) const showDialog = ref(false) const isEditing = ref(false) @@ -18,7 +20,9 @@ const formData = ref>({ nextLevelId: null, baseBreakthroughRate: 0, failIncrement: 0, - description: '' + description: '', + requiredPillId: undefined, + requiredPillQuantity: 0 }) const filteredLevels = computed(() => { @@ -33,7 +37,11 @@ const filteredLevels = computed(() => { const openDialog = (level?: Level) => { if (level!=undefined) { isEditing.value = true - formData.value = { ...level } + formData.value = { + ...level, + requiredPillId: level.requiredPillId || undefined, + requiredPillQuantity: level.requiredPillQuantity || 0 + } } else { isEditing.value = false formData.value = { @@ -43,7 +51,9 @@ const openDialog = (level?: Level) => { nextLevelId: null, baseBreakthroughRate: 0, failIncrement: 0, - description: '' + description: '', + requiredPillId: undefined, + requiredPillQuantity: 0 } } showDialog.value = true @@ -118,8 +128,24 @@ const translateLevelName = (nextLevelId:number)=> { return nextLevel ? nextLevel.name : '未知'; } +const translateLevelExp = (exp:number)=>{ + return exp.toLocaleString() +} + +const translatePillName = (pillId?: number) => { + if (!pillId) return '-' + const pill = pills.value.find(p => p.id === pillId) + return pill ? pill.name : '未知' +} + +const loadPills = async () => { + const result = await GetPillList() + pills.value = result +} + onMounted(async () => { RefreshLevels(); + loadPills(); }) const RefreshLevels = async () => { @@ -145,7 +171,13 @@ const RefreshLevels = async () => { - + + + + + + + + +