fix: 사령부가 덜 찬 상황에서 표기되지 않는 버그 수정

This commit is contained in:
2021-12-25 22:30:23 +09:00
parent 5142c94f84
commit 6f614eddd3
3 changed files with 62 additions and 47 deletions
+5 -5
View File
@@ -9,19 +9,19 @@
<div <div
class="bg1 nameHeader" class="bg1 nameHeader"
:style="{ :style="{
color: getNpcColor(officer.npcType ?? 0), color: getNpcColor(officer?.npcType ?? 0),
textDecoration: isMe ? 'underline' : undefined, textDecoration: isMe ? 'underline' : undefined,
}" }"
> >
{{ officer.name ?? "-" }} {{ officer?(officer?.name ?? "-"):'' }}
</div> </div>
<div class="bg1 center row gx-0"> <div class="bg1 center row gx-0">
<div class="col">{{ officer.officerLevelText }}</div> <div class="col">{{ officer?.officerLevelText }}</div>
<div class="col">{{ (officer.turnTime ?? " - ").slice(-5) }}</div> <div class="col">{{ officer?((officer?.turnTime ?? " - ").slice(-5)):'' }}</div>
</div> </div>
<div <div
class="tableCell align-self-center" class="tableCell align-self-center"
v-for="(turn, idx) in officer.turn" v-for="(turn, idx) in officer?.turn??[]"
:key="idx" :key="idx"
:style="{ :style="{
fontSize: fontSize:
+44 -38
View File
@@ -1,37 +1,36 @@
<template> <template>
<div <div :class="['subRows', 'c-bg2', 'chiefCommand']" :style="style">
:class="['subRows', 'c-bg2', 'chiefCommand']"
:style="style"
>
<div class="bg1 center row gx-0" style="font-size: 1.2em"> <div class="bg1 center row gx-0" style="font-size: 1.2em">
<div class="col-5 align-self-center text-end"> <div class="col-5 align-self-center text-end">
{{ officer.officerLevelText }} : {{ officer?`${officer.officerLevelText} : `:'' }}
</div> </div>
<div <div
class="col-7 align-self-center" class="col-7 align-self-center"
:style="{ :style="{
color: getNpcColor(officer.npcType ?? 0), color: getNpcColor((officer?.npcType) ?? 0),
}" }"
> >
{{ officer.name }} {{ officer?.name }}
</div> </div>
</div> </div>
<div class="row gx-0" v-for="(turn, idx) in officer.turn" :key="idx"> <template v-if="officer">
<div class="col-2 time_pad f_tnum"> <div class="row gx-0" v-for="(turn, idx) in officer.turn" :key="idx">
{{ turnTimes[idx] }} <div class="col-2 time_pad f_tnum">
{{ turnTimes[idx] }}
</div>
<div
class="tableCell align-self-center col-10 center turn_pad"
:style="{
fontSize:
mb_strwidth(turn.brief) > 28
? `${28 / mb_strwidth(turn.brief)}em`
: undefined,
}"
>
{{ turn.brief }}
</div>
</div> </div>
<div </template>
class="tableCell align-self-center col-10 center turn_pad"
:style="{
fontSize:
mb_strwidth(turn.brief) > 28
? `${28 / mb_strwidth(turn.brief)}em`
: undefined,
}"
>
{{ turn.brief }}
</div>
</div>
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
@@ -49,8 +48,8 @@ export default defineComponent({
props: { props: {
style: VueTypes.object.isRequired, style: VueTypes.object.isRequired,
officer: { officer: {
type: Object as PropType<ChiefResponse['chiefList'][0]>, type: Object as PropType<ChiefResponse["chiefList"][0]>,
required: true, required: true,
}, },
turnTerm: VueTypes.integer.isRequired, turnTerm: VueTypes.integer.isRequired,
}, },
@@ -60,24 +59,31 @@ export default defineComponent({
}, },
data() { data() {
const turnTimes: string[] = []; const turnTimes: string[] = [];
if (!this.officer) {
return {};
}
if (!this.officer.turnTime) { if (!this.officer.turnTime) {
// eslint-disable-next-line @typescript-eslint/no-unused-vars // eslint-disable-next-line @typescript-eslint/no-unused-vars
for(const _ of range(this.officer.turn.length)){ for (const _ of range(this.officer.turn.length)) {
turnTimes.push('-'); turnTimes.push("-");
}
} }
else{ } else {
const baseTurnTime = parseTime(this.officer.turnTime); const baseTurnTime = parseTime(this.officer.turnTime);
for(const idx of range(this.officer.turn.length)){ for (const idx of range(this.officer.turn.length)) {
turnTimes.push(formatTime(addMinutes(baseTurnTime, idx * this.turnTerm), this.turnTerm >= 5 ? "HH:mm":"mm:ss")); turnTimes.push(
} formatTime(
addMinutes(baseTurnTime, idx * this.turnTerm),
this.turnTerm >= 5 ? "HH:mm" : "mm:ss"
)
);
} }
}
return { return {
turnTimes, turnTimes,
} };
}, },
}); });
</script> </script>
+13 -4
View File
@@ -78,8 +78,11 @@
</div> </div>
<div class="row gx-1 gy-1 py-1"> <div class="row gx-1 gy-1 py-1">
<div class="col-md-4 mx-0 mb-0 mt-1 d-grid"> <div class="col-md-4 mx-0 mb-0 mt-1 d-grid">
<div class="alert alert-primary mb-0 center" style="padding:0.5rem 0"> <div
{{ serverNow }} class="alert alert-primary mb-0 center"
style="padding: 0.5rem 0"
>
{{ serverNow }}
</div> </div>
</div> </div>
@@ -207,7 +210,7 @@
:chiefLevel="chiefLevel" :chiefLevel="chiefLevel"
:chiefList="chiefList" :chiefList="chiefList"
:style="subTableGridRows" :style="subTableGridRows"
:isMe="targetIsMe" :isMe="chiefLevel == officerLevel"
@click="viewTarget = chiefLevel" @click="viewTarget = chiefLevel"
/> />
<div <div
@@ -407,7 +410,13 @@ export default defineComponent({
timeDiff.value = serverNowObj.getTime() - clientNowObj.getTime(); timeDiff.value = serverNowObj.getTime() - clientNowObj.getTime();
if (viewTarget.value === undefined) { if (viewTarget.value === undefined) {
viewTarget.value = tableObj.officerLevel; if(!tableObj.officerLevel){
viewTarget.value = 12;
}
else{
viewTarget.value = tableObj.officerLevel;
}
} }
} catch (e) { } catch (e) {
if (isString(e)) { if (isString(e)) {