feat(wip): 세력장수에서 암행부, 랭크 값 모두 불러옴
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<BContainer id="container" :toast="{ root: true }" class="pageNationGeneral bg0">
|
||||
<TopBackBar :title="title" />
|
||||
<GeneralList v-if="asyncReady" :list="generalList" :height="'fill'" />
|
||||
<GeneralList v-if="asyncReady" :list="generalList" :env="envVal" :height="'fill'" />
|
||||
<BottomBar />
|
||||
</BContainer>
|
||||
</template>
|
||||
@@ -20,11 +20,17 @@ import { BContainer } from "bootstrap-vue-3";
|
||||
import { onMounted, provide, ref } from "vue";
|
||||
import { SammoAPI } from "./SammoAPI";
|
||||
import { merge2DArrToObjectArr } from "./util/merge2DArrToObjectArr";
|
||||
import type { GeneralListItem } from "./defs/API/Nation";
|
||||
import type { GeneralListItem, GeneralListResponse } from "./defs/API/Nation";
|
||||
import GeneralList from "./components/GeneralList.vue";
|
||||
import { type GameConstStore, getGameConstStore } from "./GameConstStore";
|
||||
|
||||
const generalList = ref<GeneralListItem[]>([]);
|
||||
const envVal = ref<GeneralListResponse['env']>({
|
||||
year: 1,
|
||||
month: 1,
|
||||
turnterm: 1,
|
||||
turntime: '2022-02-22 22:22:22.22222'
|
||||
});
|
||||
|
||||
const gameConstStore = ref<GameConstStore>();
|
||||
provide('gameConstStore', gameConstStore);
|
||||
@@ -43,7 +49,7 @@ void Promise.all([storeP]).then(()=>{
|
||||
|
||||
onMounted(async () => {
|
||||
try {
|
||||
const { column, list, permission } = await SammoAPI.Nation.GeneralList();
|
||||
const { column, list, permission, env } = await SammoAPI.Nation.GeneralList();
|
||||
//XXX: 로직상 똑같은데....
|
||||
if (permission == 0) {
|
||||
const rawGeneralList = merge2DArrToObjectArr(column, list);
|
||||
@@ -57,6 +63,7 @@ onMounted(async () => {
|
||||
} else {
|
||||
throw `?? ${permission}`;
|
||||
}
|
||||
envVal.value = env;
|
||||
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
</template>
|
||||
<script lang="ts"></script>
|
||||
<script lang="ts" setup>
|
||||
import type { GeneralListItem, GeneralListItemP2 } from "@/defs/API/Nation";
|
||||
import type { GeneralListItem, GeneralListItemP2, GeneralListResponse } from "@/defs/API/Nation";
|
||||
import { getIconPath } from "@/util/getIconPath";
|
||||
import { inject, ref, watch, type PropType, type Ref, type StyleValue } from "vue";
|
||||
import { AgGridVue } from "ag-grid-vue3";
|
||||
@@ -52,20 +52,20 @@ const props = defineProps({
|
||||
required: false,
|
||||
default: "static",
|
||||
},
|
||||
env: {
|
||||
type: Object as PropType<GeneralListResponse['env']>,
|
||||
required: true,
|
||||
}
|
||||
});
|
||||
|
||||
const gameConstStore = unwrap(inject<Ref<GameConstStore>>("gameConstStore"));
|
||||
const iActionInfo = gameConstStore.value.iActionInfo;
|
||||
console.log(iActionInfo);
|
||||
//debug
|
||||
console.log(`list`, props.list);
|
||||
|
||||
watch(
|
||||
() => props.list,
|
||||
() => {
|
||||
setTimeout(() => {
|
||||
//debug
|
||||
console.log(`list`, props.list);
|
||||
gridApi.value?.redrawRows();
|
||||
}, 0);
|
||||
}
|
||||
@@ -155,20 +155,6 @@ type GridCellInfo = {
|
||||
target: keyof GeneralListItem;
|
||||
};
|
||||
|
||||
function naiveCheClassNameFilter(value: string): string {
|
||||
const text = value.split("_").pop() ?? "None";
|
||||
if (text === "None") {
|
||||
return "-";
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
function naiveCheClassNameFilterFromRow(key: keyof GeneralListItem) {
|
||||
return (value: GenValueParams): string => {
|
||||
return naiveCheClassNameFilter(value.data[key]?.toString() ?? "None");
|
||||
};
|
||||
}
|
||||
|
||||
function numberFormatter(value: GenValueParams): string {
|
||||
return (value.value as number).toLocaleString();
|
||||
}
|
||||
|
||||
@@ -36,6 +36,9 @@ export type GeneralListItemP0 = {
|
||||
honorText: string,
|
||||
dedLevelText: string,
|
||||
bill: number,
|
||||
reservedCommand: TurnObj[] | null,
|
||||
|
||||
autorun_limit: number,
|
||||
}
|
||||
|
||||
export type GeneralListItemP1 = {
|
||||
@@ -47,7 +50,24 @@ export type GeneralListItemP1 = {
|
||||
export type GeneralListItemP2 = GeneralListItemP1 & {
|
||||
officer_level: number,
|
||||
officer_city: number,
|
||||
defence_train: number,
|
||||
troop: number,
|
||||
crewtype: GameObjClassKey,
|
||||
crew: number,
|
||||
train: number,
|
||||
atmos: number,
|
||||
turntime: string,
|
||||
horse: GameObjClassKey,
|
||||
weapon: GameObjClassKey,
|
||||
book: GameObjClassKey,
|
||||
item: GameObjClassKey,
|
||||
|
||||
warnum: number,
|
||||
killnum: number,
|
||||
deathnum: number,
|
||||
killcrew: number,
|
||||
deathcrew: number,
|
||||
firenum: number,
|
||||
}
|
||||
|
||||
export type RawGeneralListItem = GeneralListItemP0 | GeneralListItemP1 | GeneralListItemP2;
|
||||
@@ -57,23 +77,32 @@ export type GeneralListItem =
|
||||
({ permission: 1 } & GeneralListItemP1) |
|
||||
({ permission: 2 | 3 | 4 } & GeneralListItemP2);
|
||||
|
||||
type ResponseEnv = {
|
||||
year: number,
|
||||
month: number,
|
||||
turntime: string,
|
||||
turnterm: number,
|
||||
}
|
||||
|
||||
export type RawGeneralListP0 = ValidResponse & {
|
||||
permission: 0,
|
||||
column: (keyof GeneralListItemP0)[],
|
||||
list: ValuesOf<GeneralListItemP0>[][],
|
||||
env: ResponseEnv,
|
||||
}
|
||||
|
||||
export type RawGeneralListP1 = ValidResponse & {
|
||||
permission: 1,
|
||||
column: (keyof GeneralListItemP1)[],
|
||||
list: ValuesOf<GeneralListItemP1>[][],
|
||||
env: ResponseEnv,
|
||||
}
|
||||
|
||||
export type RawGeneralListP2 = ValidResponse & {
|
||||
permission: 2 | 3 | 4,
|
||||
column: (keyof GeneralListItemP2)[],
|
||||
list: ValuesOf<GeneralListItemP2>[][],
|
||||
env: ResponseEnv,
|
||||
}
|
||||
|
||||
export type GeneralListResponse = RawGeneralListP0 | RawGeneralListP1 | RawGeneralListP2;
|
||||
|
||||
@@ -44,6 +44,4 @@ const props = defineProps({
|
||||
required: true,
|
||||
},
|
||||
});
|
||||
|
||||
console.log(props.params.cells);
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user