Skip to content

Commit 560ae2c

Browse files
committed
feat(pages/admin): add DOI field to magazine management
- Introduced a new DOI input field in the magazine creation and editing forms. - Updated the magazine data model to include DOI as a property. - Enhanced the display of magazine details to show DOI and ISSN when available. - Ensured proper handling of DOI in the save and reset functions for magazine data.
1 parent 8e93ee4 commit 560ae2c

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

src/pages/admin/AdminMagazine.vue

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,16 @@
9797
:placeholder="$t('adminMagazine.enter_issn')"
9898
/>
9999
</div>
100+
101+
<div class="mb-4">
102+
<label class="block text-sm font-medium mb-2">
103+
{{ $t('adminMagazine.doi') }}
104+
</label>
105+
<base-input
106+
v-model="magazine.doi"
107+
:placeholder="$t('adminMagazine.enter_doi')"
108+
/>
109+
</div>
100110
</div>
101111

102112
<div>
@@ -651,6 +661,18 @@
651661
:placeholder="$t('adminMagazine.enter_issue_number')"
652662
/>
653663
</div>
664+
<base-input
665+
v-model="editingMagazine.issn"
666+
:label="$t('adminMagazine.issn')"
667+
:placeholder="$t('adminMagazine.enter_issn')"
668+
class="mb-2"
669+
/>
670+
<base-input
671+
v-model="editingMagazine.doi"
672+
:label="$t('adminMagazine.doi')"
673+
:placeholder="$t('adminMagazine.enter_doi')"
674+
class="mb-2"
675+
/>
654676
<datepicker
655677
v-model="editingMagazine.publish_at"
656678
:label="$t('adminMagazine.publication_date')"
@@ -857,6 +879,12 @@
857879
{{ $t('adminMagazine.issue') }}
858880
{{ magazine.issue }}
859881
</div>
882+
<div v-if="magazine.issn" class="text-sm text-gray-600">
883+
{{ $t('adminMagazine.issn') }}: {{ magazine.issn }}
884+
</div>
885+
<div v-if="magazine.doi" class="text-sm text-gray-600">
886+
{{ $t('adminMagazine.doi') }}: {{ magazine.doi }}
887+
</div>
860888
<div class="text-sm text-gray-600">
861889
{{ formatDate(magazine.publish_at) }}
862890
</div>
@@ -976,6 +1004,7 @@ interface MagazineData {
9761004
volume: number;
9771005
issue: number;
9781006
issn: string;
1007+
doi: string;
9791008
publish_at: string;
9801009
timeframe_start: string;
9811010
timeframe_end: string;
@@ -1015,6 +1044,8 @@ interface Magazine {
10151044
incident_name: string;
10161045
volume: number;
10171046
issue: number;
1047+
issn?: string;
1048+
doi?: string;
10181049
publish_at: string;
10191050
editions: MagazineEdition[];
10201051
}
@@ -1048,6 +1079,7 @@ const magazine = ref<MagazineData>({
10481079
volume: new Date().getFullYear() - 2025 + 1,
10491080
issue: 1,
10501081
issn: '000000000',
1082+
doi: '',
10511083
publish_at: '2025-05-12',
10521084
timeframe_start: '2024-09-24',
10531085
timeframe_end: '2024-12-08',
@@ -1275,6 +1307,7 @@ async function saveMagazine() {
12751307
volume: magazine.value.volume,
12761308
issue: magazine.value.issue,
12771309
issn: magazine.value.issn,
1310+
doi: magazine.value.doi,
12781311
publish_at: magazine.value.publish_at,
12791312
timeframe_start: magazine.value.timeframe_start,
12801313
timeframe_end: magazine.value.timeframe_end,
@@ -1422,6 +1455,7 @@ function resetForm() {
14221455
volume: currentVolume,
14231456
issue: 1, // This will be updated after fetching the last issue number
14241457
issn: '',
1458+
doi: '',
14251459
publish_at: '2025-05-12',
14261460
timeframe_start: '2024-09-24',
14271461
timeframe_end: '2024-12-08',

0 commit comments

Comments
 (0)