2024-08-28 07:31:08 +00:00
|
|
|
|
<template>
|
2024-08-29 07:23:52 +00:00
|
|
|
|
<div class="w h">
|
2024-08-29 08:45:05 +00:00
|
|
|
|
<el-form :model="form" label-width="70">
|
2024-08-29 07:23:52 +00:00
|
|
|
|
<card-container>
|
2024-08-28 07:31:08 +00:00
|
|
|
|
<div class="mb-12">头部样式</div>
|
|
|
|
|
|
<el-form-item label="顶部背景">
|
|
|
|
|
|
<div class="flex-col gap-10">
|
2024-08-30 03:52:46 +00:00
|
|
|
|
<el-radio-group v-model="form.header_background_type">
|
2024-08-28 07:31:08 +00:00
|
|
|
|
<el-radio value="transparent">透明</el-radio>
|
2024-08-28 08:24:28 +00:00
|
|
|
|
<el-radio value="color_image">颜色/图片</el-radio>
|
2024-08-28 07:31:08 +00:00
|
|
|
|
</el-radio-group>
|
2024-08-30 03:52:46 +00:00
|
|
|
|
<template v-if="form.header_background_type === 'color_image'">
|
|
|
|
|
|
<mult-color-picker :value="form.header_background_color_list" :type="form.header_background_direction" @update:value="mult_color_picker_event"></mult-color-picker>
|
2024-08-28 08:24:28 +00:00
|
|
|
|
<div class="flex-row jc-sb align-c">
|
|
|
|
|
|
<div class="size-12">背景图</div>
|
2024-08-30 03:52:46 +00:00
|
|
|
|
<el-radio-group v-model="form.header_background_img_style" is-button>
|
2024-08-28 08:24:28 +00:00
|
|
|
|
<el-tooltip content="单张" placement="top" effect="light">
|
2024-08-29 10:35:17 +00:00
|
|
|
|
<el-radio-button value="0">
|
|
|
|
|
|
<icon name="single-sheet"></icon>
|
|
|
|
|
|
</el-radio-button>
|
2024-08-28 08:24:28 +00:00
|
|
|
|
</el-tooltip>
|
|
|
|
|
|
<el-tooltip content="平铺" placement="top" effect="light">
|
2024-08-29 10:35:17 +00:00
|
|
|
|
<el-radio-button value="1">
|
|
|
|
|
|
<icon name="tile"></icon>
|
|
|
|
|
|
</el-radio-button>
|
2024-08-28 08:24:28 +00:00
|
|
|
|
</el-tooltip>
|
|
|
|
|
|
<el-tooltip content="铺满" placement="top" effect="light">
|
2024-08-29 10:35:17 +00:00
|
|
|
|
<el-radio-button value="2">
|
|
|
|
|
|
<icon name="spread-over"></icon>
|
|
|
|
|
|
</el-radio-button>
|
2024-08-28 08:24:28 +00:00
|
|
|
|
</el-tooltip>
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
</div>
|
2024-09-05 01:43:44 +00:00
|
|
|
|
<upload v-model="form.header_background_img" :limit="1"></upload>
|
2024-08-28 07:31:08 +00:00
|
|
|
|
</template>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="功能按钮">
|
2024-09-03 08:58:24 +00:00
|
|
|
|
<el-radio-group v-model="form.function_buttons_type">
|
2024-08-28 07:31:08 +00:00
|
|
|
|
<el-radio value="black">黑色</el-radio>
|
|
|
|
|
|
<el-radio value="white">白色</el-radio>
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
</el-form-item>
|
2024-09-04 09:07:19 +00:00
|
|
|
|
<el-form-item v-if="form.header_background_type == 'transparent'" label="沉浸样式">
|
2024-09-03 08:58:24 +00:00
|
|
|
|
<el-radio-group v-model="form.immersive_style">
|
2024-08-28 07:31:08 +00:00
|
|
|
|
<el-radio :value="true">开启</el-radio>
|
|
|
|
|
|
<el-radio :value="false">关闭</el-radio>
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="上滑展示">
|
2024-09-03 08:58:24 +00:00
|
|
|
|
<el-radio-group v-model="form.up_slide_display">
|
2024-08-28 07:31:08 +00:00
|
|
|
|
<el-radio :value="true">保留</el-radio>
|
|
|
|
|
|
<el-radio :value="false">关闭</el-radio>
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
</el-form-item>
|
2024-08-30 03:52:46 +00:00
|
|
|
|
<el-form-item v-if="['1', '2'].includes(search_content.theme)" label="标题名称">
|
2024-08-30 05:56:51 +00:00
|
|
|
|
<color-text-size-group v-model:color="form.header_background_title_color" v-model:typeface="form.header_background_title_typeface" v-model:size="form.header_background_title_size" default-color="#000000"></color-text-size-group>
|
2024-08-28 07:31:08 +00:00
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</card-container>
|
|
|
|
|
|
</el-form>
|
2024-08-30 03:52:46 +00:00
|
|
|
|
<template v-if="['3', '5'].includes(content.theme)">
|
2024-09-03 06:27:36 +00:00
|
|
|
|
<div class="bg-f5 divider-line" />
|
2024-08-30 03:52:46 +00:00
|
|
|
|
<model-search-styles :value="form" :content="props.content" :is-show-common="false"></model-search-styles>
|
2024-08-29 10:35:17 +00:00
|
|
|
|
</template>
|
|
|
|
|
|
<div class="bg-f5 divider-line" />
|
2024-08-28 09:52:03 +00:00
|
|
|
|
<common-styles :value="form.common_style" :is-margin="false" :is-shadow="false" :is-radius="false" @update:value="common_styles_update" />
|
2024-08-28 07:31:08 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
|
|
|
const props = defineProps({
|
|
|
|
|
|
value: {
|
|
|
|
|
|
type: Object,
|
|
|
|
|
|
default: () => {
|
|
|
|
|
|
return {};
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
2024-08-29 10:35:17 +00:00
|
|
|
|
content: {
|
|
|
|
|
|
type: Object,
|
2024-09-03 06:27:36 +00:00
|
|
|
|
default: () => {},
|
2024-08-29 10:35:17 +00:00
|
|
|
|
},
|
2024-08-28 07:31:08 +00:00
|
|
|
|
});
|
|
|
|
|
|
const emit = defineEmits(['update:value']);
|
2024-08-30 03:52:46 +00:00
|
|
|
|
const state = reactive({
|
|
|
|
|
|
form: props.value,
|
|
|
|
|
|
search_content: props.content,
|
|
|
|
|
|
});
|
|
|
|
|
|
// 如果需要解构,确保使用toRefs
|
|
|
|
|
|
const { form, search_content } = toRefs(state);
|
2024-08-28 07:31:08 +00:00
|
|
|
|
|
|
|
|
|
|
const common_styles_update = (val: Object) => {
|
2024-08-30 03:52:46 +00:00
|
|
|
|
form.value.common_style = val;
|
2024-08-28 07:31:08 +00:00
|
|
|
|
};
|
2024-08-29 07:05:52 +00:00
|
|
|
|
const mult_color_picker_event = (arry: color_list[], type: number) => {
|
2024-08-30 05:56:51 +00:00
|
|
|
|
form.value.header_background_color_list = arry;
|
|
|
|
|
|
form.value.header_background_direction = type.toString();
|
2024-08-28 07:31:08 +00:00
|
|
|
|
};
|
|
|
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
|
.styles {
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
}
|
|
|
|
|
|
</style>
|