From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目

---
 src/components/DiyEditor/components/mobile/TitleBar/property.vue |  139 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 139 insertions(+), 0 deletions(-)

diff --git a/src/components/DiyEditor/components/mobile/TitleBar/property.vue b/src/components/DiyEditor/components/mobile/TitleBar/property.vue
new file mode 100644
index 0000000..5eebb15
--- /dev/null
+++ b/src/components/DiyEditor/components/mobile/TitleBar/property.vue
@@ -0,0 +1,139 @@
+<template>
+  <ComponentContainerProperty v-model="formData.style">
+    <el-form label-width="85px" :model="formData" :rules="rules">
+      <el-card header="椋庢牸" class="property-group" shadow="never">
+        <el-form-item label="鑳屾櫙鍥剧墖" prop="bgImgUrl">
+          <UploadImg v-model="formData.bgImgUrl" width="100%" height="40px">
+            <template #tip>寤鸿灏哄 750*80</template>
+          </UploadImg>
+        </el-form-item>
+        <el-form-item label="鏍囬浣嶇疆" prop="textAlign">
+          <el-radio-group v-model="formData!.textAlign">
+            <el-tooltip content="灞呭乏" placement="top">
+              <el-radio-button value="left">
+                <Icon icon="ant-design:align-left-outlined" />
+              </el-radio-button>
+            </el-tooltip>
+            <el-tooltip content="灞呬腑" placement="top">
+              <el-radio-button value="center">
+                <Icon icon="ant-design:align-center-outlined" />
+              </el-radio-button>
+            </el-tooltip>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="鍋忕Щ閲�" prop="marginLeft" label-width="70px">
+          <el-slider
+            v-model="formData.marginLeft"
+            :max="100"
+            :min="0"
+            show-input
+            input-size="small"
+          />
+        </el-form-item>
+        <el-form-item label="楂樺害" prop="height" label-width="70px">
+          <el-slider
+            v-model="formData.height"
+            :max="200"
+            :min="20"
+            show-input
+            input-size="small"
+          />
+        </el-form-item>
+      </el-card>
+      <el-card header="涓绘爣棰�" class="property-group" shadow="never">
+        <el-form-item label="鏂囧瓧" prop="title" label-width="40px">
+          <InputWithColor
+            v-model="formData.title"
+            v-model:color="formData.titleColor"
+            show-word-limit
+            maxlength="20"
+          />
+        </el-form-item>
+        <el-form-item label="澶у皬" prop="titleSize" label-width="40px">
+          <el-slider
+            v-model="formData.titleSize"
+            :max="60"
+            :min="10"
+            show-input
+            input-size="small"
+          />
+        </el-form-item>
+        <el-form-item label="绮楃粏" prop="titleWeight" label-width="40px">
+          <el-slider
+            v-model="formData.titleWeight"
+            :min="100"
+            :max="900"
+            :step="100"
+            show-input
+            input-size="small"
+          />
+        </el-form-item>
+      </el-card>
+      <el-card header="鍓爣棰�" class="property-group" shadow="never">
+        <el-form-item label="鏂囧瓧" prop="description" label-width="40px">
+          <InputWithColor
+            v-model="formData.description"
+            v-model:color="formData.descriptionColor"
+            show-word-limit
+            maxlength="50"
+          />
+        </el-form-item>
+        <el-form-item label="澶у皬" prop="descriptionSize" label-width="40px">
+          <el-slider
+            v-model="formData.descriptionSize"
+            :max="60"
+            :min="10"
+            show-input
+            input-size="small"
+          />
+        </el-form-item>
+        <el-form-item label="绮楃粏" prop="descriptionWeight" label-width="40px">
+          <el-slider
+            v-model="formData.descriptionWeight"
+            :min="100"
+            :max="900"
+            :step="100"
+            show-input
+            input-size="small"
+          />
+        </el-form-item>
+      </el-card>
+      <el-card header="鏌ョ湅鏇村" class="property-group" shadow="never">
+        <el-form-item label="鏄惁鏄剧ず" prop="more.show">
+          <el-checkbox v-model="formData.more.show" />
+        </el-form-item>
+        <!-- 鏇村鎸夐挳鐨� 鏍峰紡閫夋嫨 -->
+        <template v-if="formData.more.show">
+          <el-form-item label="鏍峰紡" prop="more.type">
+            <el-radio-group v-model="formData.more.type">
+              <el-radio value="text">鏂囧瓧</el-radio>
+              <el-radio value="icon">鍥炬爣</el-radio>
+              <el-radio value="all">鏂囧瓧+鍥炬爣</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="鏇村鏂囧瓧" prop="more.text" v-show="formData.more.type !== 'icon'">
+            <el-input v-model="formData.more.text" />
+          </el-form-item>
+          <el-form-item label="璺宠浆閾炬帴" prop="more.url">
+            <AppLinkInput v-model="formData.more.url" />
+          </el-form-item>
+        </template>
+      </el-card>
+    </el-form>
+  </ComponentContainerProperty>
+</template>
+<script setup lang="ts">
+import { TitleBarProperty } from './config'
+import { useVModel } from '@vueuse/core'
+// 瀵艰埅鏍忓睘鎬ч潰鏉�
+defineOptions({ name: 'TitleBarProperty' })
+
+const props = defineProps<{ modelValue: TitleBarProperty }>()
+const emit = defineEmits(['update:modelValue'])
+const formData = useVModel(props, 'modelValue', emit)
+
+// 琛ㄥ崟鏍¢獙
+const rules = {}
+</script>
+
+<style scoped lang="scss"></style>

--
Gitblit v1.8.0