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

---
 src/views/ai/music/index/mode/lyric.vue |   83 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 83 insertions(+), 0 deletions(-)

diff --git a/src/views/ai/music/index/mode/lyric.vue b/src/views/ai/music/index/mode/lyric.vue
new file mode 100644
index 0000000..f774003
--- /dev/null
+++ b/src/views/ai/music/index/mode/lyric.vue
@@ -0,0 +1,83 @@
+<template>
+  <div class="">
+    <Title title="姝岃瘝" desc="鑷繁缂栧啓姝岃瘝鎴栦娇鐢ˋi鐢熸垚姝岃瘝锛屼袱鑺�/8琛屾晥鏋滄渶浣�">
+      <el-input
+        v-model="formData.lyric"
+        :autosize="{ minRows: 6, maxRows: 6}"
+        resize="none"
+        type="textarea"
+        maxlength="1200"
+        show-word-limit
+        placeholder="璇疯緭鍏ユ偍鑷繁鐨勬瓕璇�"
+      />
+    </Title>
+
+    <Title title="闊充箰椋庢牸">
+      <el-space class="flex-wrap">
+        <el-tag v-for="tag in tags" :key="tag" round class="mb-8px">{{tag}}</el-tag>
+      </el-space>
+
+      <el-button
+        :type="showCustom ? 'primary': 'default'" 
+        round 
+        size="small" 
+        class="mb-6px"
+        @click="showCustom = !showCustom"
+      >鑷畾涔夐鏍�
+      </el-button>
+    </Title>
+
+    <Title v-show="showCustom" desc="鎻忚堪鎮ㄦ兂瑕佺殑闊充箰椋庢牸锛孲uno鏃犳硶璇嗗埆鑹烘湳瀹剁殑鍚嶅瓧锛屼絾鍙互鐞嗚В娴佹淳鍜屾皼鍥�" class="-mt-12px">
+      <el-input
+        v-model="formData.style"
+        :autosize="{ minRows: 4, maxRows: 4}"
+        resize="none"
+        type="textarea"
+        maxlength="256"
+        show-word-limit
+        placeholder="杈撳叆闊充箰椋庢牸(鑻辨枃)"
+      />
+    </Title>
+
+    <Title title="闊充箰/姝屾洸鍚嶇О">
+      <el-input v-model="formData.name" placeholder="璇疯緭鍏ラ煶涔�/姝屾洸鍚嶇О"/>
+    </Title>
+
+    <Title title="鐗堟湰">
+      <el-select v-model="formData.version" placeholder="璇烽�夋嫨">
+        <el-option
+          v-for="item in [{
+            value: '3',
+            label: 'V3'
+          }, {
+            value: '2',
+            label: 'V2'
+          }]"
+          :key="item.value"
+          :label="item.label"
+          :value="item.value"
+        />
+      </el-select>
+    </Title>
+  </div>
+</template>
+
+<script lang="ts" setup>
+import Title from '../title/index.vue'
+defineOptions({ name: 'Lyric' })
+
+const tags = ['rock', 'punk', 'jazz', 'soul', 'country', 'kidsmusic', 'pop']
+
+const showCustom = ref(false)
+
+const formData = reactive({
+  lyric: '',
+  style: '',
+  name: '',
+  version: ''
+})
+
+defineExpose({
+  formData
+})
+</script>

--
Gitblit v1.8.0