2024-08-12 02:18:11 +00:00
|
|
|
|
<template>
|
2024-08-29 07:23:52 +00:00
|
|
|
|
<div class="w h">
|
2024-08-12 02:18:11 +00:00
|
|
|
|
<el-form :model="form" label-width="80">
|
2024-08-29 07:23:52 +00:00
|
|
|
|
<card-container>
|
2024-08-12 02:18:11 +00:00
|
|
|
|
<div class="mb-12">标题设置</div>
|
2024-09-25 08:38:26 +00:00
|
|
|
|
<template v-if="!isEmpty(content.icon_class)">
|
|
|
|
|
|
<el-form-item label="左侧图标">
|
|
|
|
|
|
<div class="flex-col w gap-10">
|
|
|
|
|
|
<el-form-item label="颜色" label-width="40" class="form-item-child-label">
|
|
|
|
|
|
<color-picker v-model="form.icon_color" default-color="#999"></color-picker>
|
|
|
|
|
|
</el-form-item>
|
2024-09-28 06:40:00 +00:00
|
|
|
|
<el-form-item label="大小" label-width="40" class="form-item-child-label">
|
|
|
|
|
|
<slider v-model="form.icon_size" :max="100"></slider>
|
|
|
|
|
|
</el-form-item>
|
2024-09-25 08:38:26 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</template>
|
2024-11-06 10:38:00 +00:00
|
|
|
|
<template v-if="!isEmpty(content.img_src)">
|
|
|
|
|
|
<el-form-item label="图片高度">
|
|
|
|
|
|
<slider v-model="form.img_height" :max="500"></slider>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</template>
|
2024-10-30 06:19:30 +00:00
|
|
|
|
<el-form-item label="主标题">
|
2024-10-30 10:06:30 +00:00
|
|
|
|
<div class="flex-col gap-10 w">
|
2024-10-30 06:19:30 +00:00
|
|
|
|
<color-picker v-model="form.title_color" default-color="#000000"></color-picker>
|
|
|
|
|
|
<el-radio-group v-model="form.title_weight">
|
2024-09-25 08:38:26 +00:00
|
|
|
|
<el-radio value="500">加粗</el-radio>
|
|
|
|
|
|
<el-radio value="normal">正常</el-radio>
|
|
|
|
|
|
<el-radio value="italic">倾斜</el-radio>
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
<el-form-item label="字号" label-width="40" class="mb-0 w">
|
2024-10-30 06:19:30 +00:00
|
|
|
|
<slider v-model="form.title_size" :max="100"></slider>
|
2024-09-25 08:38:26 +00:00
|
|
|
|
</el-form-item>
|
2024-10-30 06:19:30 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
<template v-if="!isEmpty(content.subtitle)">
|
|
|
|
|
|
<el-form-item label="副标题">
|
2024-10-30 10:06:30 +00:00
|
|
|
|
<div class="flex-col gap-10 w">
|
2024-10-30 06:19:30 +00:00
|
|
|
|
<color-picker v-model="form.subtitle_color" default-color="#000000"></color-picker>
|
|
|
|
|
|
<el-radio-group v-model="form.subtitle_weight">
|
|
|
|
|
|
<el-radio value="500">加粗</el-radio>
|
|
|
|
|
|
<el-radio value="normal">正常</el-radio>
|
|
|
|
|
|
<el-radio value="italic">倾斜</el-radio>
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
<el-form-item label="字号" label-width="40" class="mb-0 w">
|
|
|
|
|
|
<slider v-model="form.subtitle_size" :max="100"></slider>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</div>
|
2024-09-25 08:38:26 +00:00
|
|
|
|
</el-form-item>
|
2024-10-30 06:19:30 +00:00
|
|
|
|
<el-form-item label="标题同行">
|
|
|
|
|
|
<el-switch v-model="form.title_line" active-value="1" inactive-value="0" />
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
</card-container>
|
2024-08-29 07:23:52 +00:00
|
|
|
|
<div class="bg-f5 divider-line" />
|
|
|
|
|
|
<card-container>
|
2024-08-12 02:18:11 +00:00
|
|
|
|
<div class="mb-12">关键字设置</div>
|
|
|
|
|
|
<el-form-item label="文字颜色">
|
|
|
|
|
|
<color-picker v-model="form.keyword_color" default-color="#000000"></color-picker>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="文字大小">
|
|
|
|
|
|
<slider v-model="form.keyword_size" :max="100"></slider>
|
|
|
|
|
|
</el-form-item>
|
2024-11-06 09:27:00 +00:00
|
|
|
|
<el-form-item label="间距">
|
|
|
|
|
|
<slider v-model="form.keyword_spacing" :min="0" :max="50"></slider>
|
|
|
|
|
|
</el-form-item>
|
2024-08-12 02:18:11 +00:00
|
|
|
|
</card-container>
|
2024-08-29 07:23:52 +00:00
|
|
|
|
<div class="bg-f5 divider-line" />
|
|
|
|
|
|
<card-container>
|
2024-08-12 02:18:11 +00:00
|
|
|
|
<div class="mb-12">更多设置</div>
|
|
|
|
|
|
<el-form-item label="按钮颜色">
|
|
|
|
|
|
<color-picker v-model="form.right_color" default-color="#999"></color-picker>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="按钮文字">
|
|
|
|
|
|
<slider v-model="form.right_size" :max="100"></slider>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</card-container>
|
|
|
|
|
|
</el-form>
|
2024-08-29 07:23:52 +00:00
|
|
|
|
<div class="bg-f5 divider-line" />
|
2024-08-12 02:18:11 +00:00
|
|
|
|
<common-styles :value="form.common_style" @update:value="common_styles_update" />
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
2024-09-25 08:38:26 +00:00
|
|
|
|
import { isEmpty } from "lodash";
|
2024-08-12 02:18:11 +00:00
|
|
|
|
const props = defineProps({
|
|
|
|
|
|
value: {
|
|
|
|
|
|
type: Object,
|
|
|
|
|
|
default: () => {},
|
2024-09-25 08:38:26 +00:00
|
|
|
|
},
|
|
|
|
|
|
content: {
|
|
|
|
|
|
type: Object,
|
|
|
|
|
|
default: () => {},
|
2024-08-12 02:18:11 +00:00
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
const state = reactive({
|
2024-09-25 08:38:26 +00:00
|
|
|
|
form: props.value,
|
2024-08-12 02:18:11 +00:00
|
|
|
|
});
|
|
|
|
|
|
// 如果需要解构,确保使用toRefs
|
|
|
|
|
|
const { form } = toRefs(state);
|
|
|
|
|
|
|
|
|
|
|
|
// 通用样式处理
|
|
|
|
|
|
const common_styles_update = (val: Object) => {
|
|
|
|
|
|
form.value.common_style = val;
|
|
|
|
|
|
};
|
|
|
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
|
.topic {
|
|
|
|
|
|
:deep(.el-form-item__content) {
|
|
|
|
|
|
align-items: flex-start;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.connect-line {
|
|
|
|
|
|
width: 0.1rem;
|
|
|
|
|
|
height: 1.6rem;
|
|
|
|
|
|
background: #d8d8d8;
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
left: 1rem;
|
|
|
|
|
|
// 合并before和after重复代码
|
|
|
|
|
|
&::before,
|
|
|
|
|
|
&::after {
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
left: -0.2rem;
|
|
|
|
|
|
content: '';
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
width: 0.5rem;
|
|
|
|
|
|
height: 0.5rem;
|
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
|
background: #ddd;
|
|
|
|
|
|
}
|
|
|
|
|
|
&::before {
|
|
|
|
|
|
top: -0.25rem;
|
|
|
|
|
|
}
|
|
|
|
|
|
&::after {
|
|
|
|
|
|
bottom: -0.25rem;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
</style>
|