1.弹窗更新

v1.0.0
sws 2024-09-29 16:30:20 +08:00
parent c886405b22
commit 979392d5ab
7 changed files with 34 additions and 9 deletions

View File

@ -1,6 +1,6 @@
<!-- 上传组件 -->
<template>
<el-dialog v-model="dialog_visible" class="radius-lg" width="1168" draggable :close-on-click-modal="false" append-to-body>
<el-dialog v-model="dialog_visible" class="radius-lg" width="1168" draggable :close-on-click-modal="false" :top="dialogPositionTop ? dialogPositionTop + 'px' : ''" append-to-body>
<template #header>
<div class="title re">
<el-radio-group v-model="upload_type" is-button @change="upload_type_change">
@ -283,6 +283,10 @@ const props = defineProps({
type: Boolean,
default: false,
},
dialogPositionTop: {
type: Number,
default: 0,
},
});
const model_value_upload = defineModel({ type: Array as PropType<uploadList[]>, default: [] });

View File

@ -16,7 +16,7 @@
</template>
</div>
</div>
<url-value-dialog v-model:model-value="new_model_value" v-model:dialog-visible="dialogVisible" :select-is-url="true" :type="type" @update:model-value="model_value_call_back"></url-value-dialog>
<url-value-dialog v-model:model-value="new_model_value" v-model:dialog-visible="dialogVisible" :select-is-url="true" :type="type" :dialog-position-top="dialogPositionTop" @update:model-value="model_value_call_back"></url-value-dialog>
</template>
<script lang="ts" setup>
import { is_obj_empty } from '@/utils';
@ -38,6 +38,10 @@ const props = defineProps({
type: String,
default: '请选择链接',
},
dialogPositionTop: {
type: Number,
default: 0,
},
});
const modelValue = defineModel({ type: Object, default: {} });
const new_model_value = ref<any[]>([]);

View File

@ -1,5 +1,5 @@
<template>
<el-dialog v-model="dialogVisible" class="radius-lg" width="1168" draggable append-to-body :close-on-click-modal="false" @close="close_event">
<el-dialog v-model="dialogVisible" class="radius-lg" width="1168" draggable append-to-body :close-on-click-modal="false" :top="dialogPositionTop ? dialogPositionTop + 'px' : ''" @close="close_event">
<template #header>
<div class="title center re">
<div class="tc size-16 fw">{{ dialog_title }}</div>
@ -89,6 +89,10 @@ const props = defineProps({
type: Boolean,
default: false,
},
dialogPositionTop: {
type: Number,
default: 0,
},
});
const modelValue = defineModel({ type: Array, default: [] });
const dialogVisible = defineModel('dialogVisible', { type: Boolean, default: false });

View File

@ -27,11 +27,11 @@
<div class="w">
<el-form-item label="图标" label-width="45">
<div class="flex-col jc-c align-c mr-12">
<upload v-model="row.img" :limit="1" :size="44" :styles="1"></upload>
<upload v-model="row.img" :limit="1" :size="44" :styles="1" :dialog-position-top="footerDialogPositionTop"></upload>
<text class="cr-9 size-12">未选中</text>
</div>
<div class="flex-col jc-c align-c">
<upload v-model="row.img_checked" :limit="1" :size="44" :styles="1"></upload>
<upload v-model="row.img_checked" :limit="1" :size="44" :styles="1" :dialog-position-top="footerDialogPositionTop"></upload>
<text class="cr-9 size-12">选中</text>
</div>
</el-form-item>
@ -39,7 +39,7 @@
<el-input v-model="row.name" placeholder="请输入名称" clearable />
</el-form-item>
<el-form-item label="链接" label-width="45">
<url-value v-model="row.link"></url-value>
<url-value v-model="row.link" :dialog-position-top="footerDialogPositionTop"></url-value>
</el-form-item>
</div>
</template>
@ -57,6 +57,10 @@ const props = defineProps({
type: Object,
default: () => {},
},
footerDialogPositionTop: {
type: Number,
default: 0,
},
});
const form = ref(props.value);
const emit = defineEmits(['update:value']);

View File

@ -1,7 +1,7 @@
<template>
<div class="container">
<template v-if="type == '1'">
<footer-nav-content :value="form.content" @update:value="content_update"></footer-nav-content>
<footer-nav-content :value="form.content" :footer-dialog-position-top="footerDialogPositionTop" @update:value="content_update"></footer-nav-content>
</template>
<template v-else-if="type == '2'">
<footer-nav-styles :value="form.style"></footer-nav-styles>
@ -18,6 +18,10 @@ const props = defineProps({
type: Object,
default: () => ({}),
},
footerDialogPositionTop: {
type: Number,
default: 0,
},
});
const form = ref(props.value);
const emit = defineEmits(['update:value']);

View File

@ -10,7 +10,7 @@
<div class="box-shadow-sm">
<div class="setting-content">
<!-- 底部导航 -->
<footer-nav-setting :type="radio" :value="value"></footer-nav-setting>
<footer-nav-setting :type="radio" :value="value" :footer-dialog-position-top="footerDialogPositionTop"></footer-nav-setting>
</div>
</div>
</div>
@ -21,6 +21,10 @@ const props = defineProps({
type: Object,
default: () => ({}),
},
footerDialogPositionTop: {
type: Number,
default: 0,
},
});
const radio = ref('1'); // 0
</script>

View File

@ -4,7 +4,7 @@
<template v-if="!is_empty">
<div class="app-wrapper-content flex-row">
<app-main :footer="form"></app-main>
<settings :key="key" :value="form"></settings>
<settings :key="key" :value="form" :footer-dialog-position-top="footer_dialog_position_top"></settings>
</div>
<div class="app-wrapper-footer flex-row align-c">
<el-button type="primary" class="footer-save" :disabled="save_disabled" @click="save_event"></el-button>
@ -30,6 +30,7 @@ const temp_form = ref(defaultSettings.footer_nav);
const form = ref<any>({});
const key = ref('');
const footer_dialog_position_top = ref(0);
//#region ---------------------start
//
onMounted(() => {