generated from VLADIMIR/template_frontend
update editor
This commit is contained in:
@@ -126,9 +126,37 @@ async function addPlace() {
|
||||
applications: undefined,
|
||||
doors: undefined,
|
||||
keys: undefined,
|
||||
mode: 'add'
|
||||
}
|
||||
}
|
||||
|
||||
async function addNotFoundDoors(scenario: Scenario, place: Place) {
|
||||
place.doors?.forEach(async (door) => {
|
||||
let place = scenario.story?.places?.find((place) => {
|
||||
return place.code == door.code
|
||||
})
|
||||
if (place == undefined) {
|
||||
const res = await client.AddScenarioPlace({
|
||||
id: scenario.id,
|
||||
place: {
|
||||
code: door.code,
|
||||
name: door.name,
|
||||
text: undefined,
|
||||
image: undefined,
|
||||
hidden: undefined,
|
||||
applications: undefined,
|
||||
doors: undefined,
|
||||
keys: undefined
|
||||
},
|
||||
})
|
||||
if (res.error != '') {
|
||||
message.error(res.error!)
|
||||
return
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
async function collapseAddPlace(place: Place) {
|
||||
place.mode = 'mini-add'
|
||||
}
|
||||
@@ -140,6 +168,7 @@ async function cancelUpdatePlace(place: Place) {
|
||||
}
|
||||
|
||||
async function updatePlace(place: Place) {
|
||||
await addNotFoundDoors(scenario.value, place)
|
||||
const res = await client.UpdateScenarioPlace({
|
||||
id: scenario.value.id,
|
||||
code: place.oldCode,
|
||||
@@ -188,12 +217,8 @@ async function deletePlace(place: Place) {
|
||||
</n-flex>
|
||||
</PlaceBlock>
|
||||
|
||||
<PlaceBlock
|
||||
:place="place"
|
||||
v-model:mode="place.mode"
|
||||
v-for="place in scenario.story?.places"
|
||||
v-bind:key="place.code"
|
||||
>
|
||||
<PlaceBlock :place="place" v-model:mode="place.mode" v-for="place in scenario.story?.places"
|
||||
v-bind:key="place.code">
|
||||
<n-flex justify="end">
|
||||
<n-button @click="deletePlace(place)" type="error" ghost>Удалить</n-button>
|
||||
<n-button @click="cancelUpdatePlace(place)">Отмена</n-button>
|
||||
@@ -205,39 +230,20 @@ async function deletePlace(place: Place) {
|
||||
|
||||
<!-- Окно настроек сценария -->
|
||||
<n-modal v-model:show="showSettingsScenarioModal">
|
||||
<n-card
|
||||
style="width: 600px"
|
||||
title="Настройки сценария"
|
||||
:bordered="false"
|
||||
size="huge"
|
||||
role="dialog"
|
||||
aria-modal="true"
|
||||
>
|
||||
<n-card style="width: 600px" title="Настройки сценария" :bordered="false" size="huge" role="dialog"
|
||||
aria-modal="true">
|
||||
<template #header-extra>
|
||||
<n-button @click="showSettingsScenarioModal = false"> x </n-button>
|
||||
</template>
|
||||
<n-space vertical>
|
||||
<p>Название</p>
|
||||
<n-input
|
||||
v-model:value="scenario.name"
|
||||
type="text"
|
||||
placeholder='Дело №0 "Следствие ведут овечки"'
|
||||
/>
|
||||
<n-input v-model:value="scenario.name" type="text" placeholder='Дело №0 "Следствие ведут овечки"' />
|
||||
|
||||
<p class="settings-header">Описание</p>
|
||||
<n-input
|
||||
v-model:value="scenario.description"
|
||||
type="textarea"
|
||||
placeholder="Убийство пастуха..."
|
||||
/>
|
||||
<n-input v-model:value="scenario.description" type="textarea" placeholder="Убийство пастуха..." />
|
||||
|
||||
<p class="settings-header">Картинка</p>
|
||||
<n-input
|
||||
v-model:value="scenario.image"
|
||||
type="text"
|
||||
placeholder="default_scenario.png"
|
||||
disabled
|
||||
/>
|
||||
<n-input v-model:value="scenario.image" type="text" placeholder="default_scenario.png" disabled />
|
||||
<n-upload multiple directory-dnd :max="1" v-model:file-list="fileList">
|
||||
<n-upload-dragger>
|
||||
<n-text style="font-size: 16px">
|
||||
@@ -254,17 +260,9 @@ async function deletePlace(place: Place) {
|
||||
Введите название сценария
|
||||
<n-text class="name-text" strong>{{ scenario.name }}</n-text> чтобы удалить его
|
||||
</p>
|
||||
<n-input
|
||||
v-model:value="deletedScenarioName"
|
||||
type="text"
|
||||
placeholder='Дело №0 "Следствие ведут овечки"'
|
||||
/>
|
||||
<n-button
|
||||
@click="deleteScenario(scenario.id!)"
|
||||
type="error"
|
||||
ghost
|
||||
:disabled="deletedScenarioName != scenario.name"
|
||||
>
|
||||
<n-input v-model:value="deletedScenarioName" type="text" placeholder='Дело №0 "Следствие ведут овечки"' />
|
||||
<n-button @click="deleteScenario(scenario.id!)" type="error" ghost
|
||||
:disabled="deletedScenarioName != scenario.name">
|
||||
Удалить сценарий
|
||||
</n-button>
|
||||
</n-space>
|
||||
@@ -312,7 +310,7 @@ async function deletePlace(place: Place) {
|
||||
/* border: 1px solid red; */
|
||||
}
|
||||
|
||||
@media (width >= 1024px) {
|
||||
@media (width >=1024px) {
|
||||
.places-container {
|
||||
padding: 20px 250px;
|
||||
height: calc(100vh - 70px);
|
||||
|
||||
Reference in New Issue
Block a user