refac: linter 관련 설정 변경 및 적용, map_theme 변수 제거
- eslint에 prettier 조합 - prettierrc에 width 120, tabWidth 2 - gameStor->map_theme 제거 - map_theme, mapTheme를 GameConst::$mapName으로 대체 - eslint에서 vue/vue3-essential 대신 vue3-recommended 적용 - vue/max-attributes-per-line 완화 - vue/v-on-event-hyphenation 해제 - vue/attribute-hyphenation 해제 - 일부 tsc import type warning 해결 - 일부 vue template type warning 해결 - 일부 vue SFC를 script setup으로 변경 - TipTap - TopBackBar - BottomBackBar - BoardArticle - ProcessCity
This commit is contained in:
+47
-114
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<BContainer :toast="{root: true}" id="container" class="pageNationStratFinan bg0">
|
||||
<BContainer id="container" :toast="{ root: true }" class="pageNationStratFinan bg0">
|
||||
<TopBackBar title="내무부" />
|
||||
<div class="diplomacyTitle">외교관계</div>
|
||||
<div class="diplomacyTable">
|
||||
@@ -12,11 +12,7 @@
|
||||
<div>기간</div>
|
||||
<div>종료 시점</div>
|
||||
</div>
|
||||
<div
|
||||
:class="['diplomacyItem', 'tRow', 's-border-b']"
|
||||
v-for="nation in nationsList"
|
||||
:key="nation.nation"
|
||||
>
|
||||
<div v-for="nation in nationsList" :key="nation.nation" :class="['diplomacyItem', 'tRow', 's-border-b']">
|
||||
<div :class="`sam-nation-bg-${nation.color.slice(1)}`">
|
||||
{{ nation.name }}
|
||||
</div>
|
||||
@@ -29,28 +25,21 @@
|
||||
<template v-else>
|
||||
<div
|
||||
:style="{
|
||||
color:
|
||||
diplomacyStateInfo[nation.diplomacy.state].color ?? undefined,
|
||||
color: diplomacyStateInfo[nation.diplomacy.state].color ?? undefined,
|
||||
}"
|
||||
>
|
||||
{{ diplomacyStateInfo[nation.diplomacy.state].name }}
|
||||
</div>
|
||||
<div>
|
||||
{{
|
||||
nation.diplomacy.term == 0 ? "-" : `${nation.diplomacy.term}개월`
|
||||
}}
|
||||
{{ nation.diplomacy.term == 0 ? "-" : `${nation.diplomacy.term}개월` }}
|
||||
</div>
|
||||
<div
|
||||
v-for="([endYear, endMonth], _idx) in [
|
||||
parseYearMonth(
|
||||
joinYearMonth(year, month) + (nation.diplomacy.term??0)
|
||||
),
|
||||
parseYearMonth(joinYearMonth(year, month) + (nation.diplomacy.term ?? 0)),
|
||||
]"
|
||||
:key="_idx"
|
||||
>
|
||||
{{
|
||||
nation.diplomacy.term == 0 ? "-" : `${endYear}년 ${endMonth}월`
|
||||
}}
|
||||
{{ nation.diplomacy.term == 0 ? "-" : `${endYear}년 ${endMonth}월` }}
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
@@ -60,19 +49,9 @@
|
||||
<div class="bg1" style="display: flex; justify-content: space-around">
|
||||
<div style="flex: 1 1 auto">국가 방침</div>
|
||||
<div>
|
||||
<b-button
|
||||
@click="enableEditNationMsg"
|
||||
v-if="editable && !inEditNationMsg"
|
||||
>국가방침 수정</b-button
|
||||
>
|
||||
<b-button @click="saveNationMsg" v-if="editable && inEditNationMsg"
|
||||
>저장</b-button
|
||||
>
|
||||
<b-button
|
||||
v-if="editable && inEditNationMsg"
|
||||
@click="rollbackNationMsg"
|
||||
>취소</b-button
|
||||
>
|
||||
<b-button v-if="editable && !inEditNationMsg" @click="enableEditNationMsg"> 국가방침 수정 </b-button>
|
||||
<b-button v-if="editable && inEditNationMsg" @click="saveNationMsg"> 저장 </b-button>
|
||||
<b-button v-if="editable && inEditNationMsg" @click="rollbackNationMsg"> 취소 </b-button>
|
||||
</div>
|
||||
</div>
|
||||
<TipTap
|
||||
@@ -87,22 +66,12 @@
|
||||
<div class="bg1" style="display: flex; justify-content: space-around">
|
||||
<div style="flex: 1 1 auto">임관 권유</div>
|
||||
<div>
|
||||
<b-button
|
||||
@click="enableEditScoutMsg"
|
||||
v-if="editable && !inEditScoutMsg"
|
||||
>임관 권유문 수정</b-button
|
||||
>
|
||||
<b-button @click="saveScoutMsg" v-if="editable && inEditScoutMsg"
|
||||
>저장</b-button
|
||||
>
|
||||
<b-button v-if="editable && inEditScoutMsg" @click="rollbackScoutMsg"
|
||||
>취소</b-button
|
||||
>
|
||||
<b-button v-if="editable && !inEditScoutMsg" @click="enableEditScoutMsg"> 임관 권유문 수정 </b-button>
|
||||
<b-button v-if="editable && inEditScoutMsg" @click="saveScoutMsg"> 저장 </b-button>
|
||||
<b-button v-if="editable && inEditScoutMsg" @click="rollbackScoutMsg"> 취소 </b-button>
|
||||
</div>
|
||||
</div>
|
||||
<div style="border-bottom: solid gray 0.5px">
|
||||
870px x 200px를 넘어서는 내용은 표시되지 않습니다.
|
||||
</div>
|
||||
<div style="border-bottom: solid gray 0.5px">870px x 200px를 넘어서는 내용은 표시되지 않습니다.</div>
|
||||
<div style="width: 870px; margin-left: auto">
|
||||
<TipTap
|
||||
v-model="scoutMsg"
|
||||
@@ -119,9 +88,13 @@
|
||||
<div class="row gx-0">
|
||||
<div class="col-12 bg2">자금 예산</div>
|
||||
<div class="col-4 bg1">현 재</div>
|
||||
<div class="col-8">{{ gold.toLocaleString() }}</div>
|
||||
<div class="col-8">
|
||||
{{ gold.toLocaleString() }}
|
||||
</div>
|
||||
<div class="col-4 bg1">단기수입</div>
|
||||
<div class="col-8">{{ income.gold.war.toLocaleString() }}</div>
|
||||
<div class="col-8">
|
||||
{{ income.gold.war.toLocaleString() }}
|
||||
</div>
|
||||
<div class="col-4 bg1">세 금</div>
|
||||
<div class="col-8">
|
||||
{{ Math.floor(incomeGoldCity).toLocaleString() }}
|
||||
@@ -134,8 +107,7 @@
|
||||
<div class="col-4 bg1">국고 예산</div>
|
||||
<div class="col-8">
|
||||
{{ Math.floor(gold + incomeGold - outcomeByBill).toLocaleString() }}
|
||||
({{ incomeGold >= outcomeByBill ? "+" : ""
|
||||
}}{{ Math.floor(incomeGold - outcomeByBill).toLocaleString() }})
|
||||
({{ incomeGold >= outcomeByBill ? "+" : "" }}{{ Math.floor(incomeGold - outcomeByBill).toLocaleString() }})
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -143,7 +115,9 @@
|
||||
<div class="row gx-0">
|
||||
<div class="col-12 bg2">군량 예산</div>
|
||||
<div class="col-4 bg1">현 재</div>
|
||||
<div class="col-8">{{ rice.toLocaleString() }}</div>
|
||||
<div class="col-8">
|
||||
{{ rice.toLocaleString() }}
|
||||
</div>
|
||||
<div class="col-4 bg1">둔전수입</div>
|
||||
<div class="col-8">
|
||||
{{ Math.floor(incomeRiceWall).toLocaleString() }}
|
||||
@@ -160,37 +134,27 @@
|
||||
<div class="col-4 bg1">국고 예산</div>
|
||||
<div class="col-8">
|
||||
{{ Math.floor(rice + incomeRice - outcomeByBill).toLocaleString() }}
|
||||
({{ incomeRice >= outcomeByBill ? "+" : ""
|
||||
}}{{ Math.floor(incomeRice - outcomeByBill).toLocaleString() }})
|
||||
({{ incomeRice >= outcomeByBill ? "+" : "" }}{{ Math.floor(incomeRice - outcomeByBill).toLocaleString() }})
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="row gx-0">
|
||||
<div class="col-4 bg1 d-grid">
|
||||
<div class="align-self-center">
|
||||
세율 <span class="avoid-wrap">(5 ~ 30%)</span>
|
||||
</div>
|
||||
<div class="align-self-center">세율 <span class="avoid-wrap">(5 ~ 30%)</span></div>
|
||||
</div>
|
||||
<div class="col-8 row gx-0">
|
||||
<div class="col-md-6 offset-md-3 align-self-center">
|
||||
<div class="input-group my-0">
|
||||
<input
|
||||
v-model="policy.rate"
|
||||
type="number"
|
||||
class="form-control py-1 f_tnum px-0 text-end"
|
||||
v-model="policy.rate"
|
||||
min="5"
|
||||
max="30"
|
||||
/><span class="input-group-text py-1 f_tnum">%</span
|
||||
><b-button
|
||||
variant="primary"
|
||||
size="sm"
|
||||
@click="setRate"
|
||||
v-if="editable"
|
||||
>변경</b-button
|
||||
><b-button size="sm" @click="rollbackRate" v-if="editable"
|
||||
>취소</b-button
|
||||
>
|
||||
><b-button v-if="editable" variant="primary" size="sm" @click="setRate"> 변경 </b-button
|
||||
><b-button v-if="editable" size="sm" @click="rollbackRate"> 취소 </b-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -199,29 +163,20 @@
|
||||
<div class="col-6">
|
||||
<div class="row gx-0">
|
||||
<div class="col-4 bg1 d-grid">
|
||||
<div class="align-self-center">
|
||||
지급률 <span class="avoid-wrap">(20 ~ 200%)</span>
|
||||
</div>
|
||||
<div class="align-self-center">지급률 <span class="avoid-wrap">(20 ~ 200%)</span></div>
|
||||
</div>
|
||||
<div class="col-8 row gx-0">
|
||||
<div class="col-md-6 offset-md-3 align-self-center">
|
||||
<div class="input-group my-0">
|
||||
<input
|
||||
v-model="policy.bill"
|
||||
type="number"
|
||||
class="form-control py-1 f_tnum px-0 text-end"
|
||||
v-model="policy.bill"
|
||||
min="20"
|
||||
max="200"
|
||||
/><span class="input-group-text py-1 f_tnum">%</span
|
||||
><b-button
|
||||
variant="primary"
|
||||
size="sm"
|
||||
@click="setBill"
|
||||
v-if="editable"
|
||||
>변경</b-button
|
||||
><b-button size="sm" @click="rollbackBill" v-if="editable"
|
||||
>취소</b-button
|
||||
>
|
||||
><b-button v-if="editable" variant="primary" size="sm" @click="setBill"> 변경 </b-button
|
||||
><b-button v-if="editable" size="sm" @click="rollbackBill"> 취소 </b-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -230,32 +185,20 @@
|
||||
<div class="col-6">
|
||||
<div class="row gx-0">
|
||||
<div class="col-4 bg1 d-grid">
|
||||
<div class="align-self-center">
|
||||
기밀 권한 <span class="avoid-wrap">(1 ~ 99년)</span>
|
||||
</div>
|
||||
<div class="align-self-center">기밀 권한 <span class="avoid-wrap">(1 ~ 99년)</span></div>
|
||||
</div>
|
||||
<div class="col-8 row gx-0">
|
||||
<div class="col-md-6 offset-md-3 align-self-center">
|
||||
<div class="input-group my-0">
|
||||
<input
|
||||
v-model="policy.secretLimit"
|
||||
type="number"
|
||||
class="form-control py-1 f_tnum px-0 text-end"
|
||||
v-model="policy.secretLimit"
|
||||
min="1"
|
||||
max="99"
|
||||
/><span class="input-group-text py-1 f_tnum">년</span
|
||||
><b-button
|
||||
variant="primary"
|
||||
size="sm"
|
||||
@click="setSecretLimit"
|
||||
v-if="editable"
|
||||
>변경</b-button
|
||||
><b-button
|
||||
size="sm"
|
||||
@click="rollbackSecretLimit"
|
||||
v-if="editable"
|
||||
>취소</b-button
|
||||
>
|
||||
><b-button v-if="editable" variant="primary" size="sm" @click="setSecretLimit"> 변경 </b-button
|
||||
><b-button v-if="editable" size="sm" @click="rollbackSecretLimit"> 취소 </b-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -267,29 +210,23 @@
|
||||
<div class="align-self-center">전쟁 금지 설정</div>
|
||||
</div>
|
||||
<div class="col-8 d-grid">
|
||||
<div class="align-self-center">{{warSettingCnt.remain}} 회(월 +{{warSettingCnt.inc}}회, 최대{{warSettingCnt.max}}회)</div>
|
||||
<div class="align-self-center">
|
||||
{{ warSettingCnt.remain }} 회(월 +{{ warSettingCnt.inc }}회, 최대{{ warSettingCnt.max }}회)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-3 col-md-4"></div>
|
||||
<div class="col-3 col-md-4" />
|
||||
<div class="col-3 col-md-2 row gx-0">
|
||||
<div class="col-9 col-md-8 text-end p-2">전쟁 금지</div>
|
||||
<div class="col-3 col-md-4 py-2">
|
||||
<b-form-checkbox
|
||||
v-model="policy.blockWar"
|
||||
@change="setBlockWar"
|
||||
switch
|
||||
/>
|
||||
<b-form-checkbox v-model="policy.blockWar" switch @change="setBlockWar" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-3 col-md-2 row gx-0">
|
||||
<div class="col-9 col-md-8 text-end p-2">임관 금지</div>
|
||||
<div class="col-3 col-md-4 py-2">
|
||||
<b-form-checkbox
|
||||
v-model="policy.blockScout"
|
||||
@change="setBlockScout"
|
||||
switch
|
||||
/>
|
||||
<b-form-checkbox v-model="policy.blockScout" switch @change="setBlockScout" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -303,11 +240,7 @@ import TopBackBar from "@/components/TopBackBar.vue";
|
||||
import BottomBar from "@/components/BottomBar.vue";
|
||||
import { computed, defineComponent, reactive, ref, toRefs } from "vue";
|
||||
import { isString } from "lodash";
|
||||
import {
|
||||
type diplomacyState,
|
||||
diplomacyStateInfo,
|
||||
type NationStaticItem,
|
||||
} from "./defs";
|
||||
import { type diplomacyState, diplomacyStateInfo, type NationStaticItem } from "./defs";
|
||||
import { SammoAPI } from "./SammoAPI";
|
||||
import { joinYearMonth } from "@/util/joinYearMonth";
|
||||
import { parseYearMonth } from "@/util/parseYearMonth";
|
||||
@@ -325,7 +258,7 @@ type NationItem = NationStaticItem & {
|
||||
|
||||
type SetBlockWarResponse = ValidResponse & {
|
||||
availableCnt: number;
|
||||
}
|
||||
};
|
||||
declare const staticValues: {
|
||||
editable: boolean;
|
||||
nationMsg: string;
|
||||
@@ -369,8 +302,8 @@ export default defineComponent({
|
||||
TopBackBar,
|
||||
BottomBar,
|
||||
TipTap,
|
||||
BContainer
|
||||
},
|
||||
BContainer,
|
||||
},
|
||||
setup() {
|
||||
const toasts = unwrap(useToast());
|
||||
const self = reactive(staticValues);
|
||||
@@ -644,4 +577,4 @@ export default defineComponent({
|
||||
},
|
||||
methods: {},
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user