From bc4ab46fb5c4cb4435efabfe4b316be4ace5b026 Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期一, 22 七月 2024 15:31:04 +0800
Subject: [PATCH] 修改 customDrawer

---
 src/components/chat/components/playBar/PlayBar.vue |   72 ++++++++++++++++++++++++++++++-----
 1 files changed, 61 insertions(+), 11 deletions(-)

diff --git a/src/components/chat/components/playBar/PlayBar.vue b/src/components/chat/components/playBar/PlayBar.vue
index 129c347..64774b7 100644
--- a/src/components/chat/components/playBar/PlayBar.vue
+++ b/src/components/chat/components/playBar/PlayBar.vue
@@ -6,15 +6,24 @@
 			</el-button>
 		</div>
 		<div class="set-input">
-			<el-input @keydown.enter="isTalking || emits('sendClick')" v-model="inputValue" placeholder="鍦ㄨ繖閲岃緭鍏ユ偍鐨勯棶棰樺紑濮嬪拰AI瀵硅瘽" class="set-inputAnswer" />
+			<el-input
+				class="relative align-bottom set-inputAnswer"
+				type="textarea"
+				resize="none"
+				:autosize="{ minRows: 1, maxRows: 8 }"
+				v-elInputFocus
+				@keydown="enterInput"
+				v-model="inputValue"
+				placeholder="鍦ㄨ繖閲岃緭鍏ユ偍鐨勯棶棰樺紑濮嬪拰AI瀵硅瘽"
+			/>
 		</div>
 		<div class="h100 flex items-center">
 			<div class="upload_img space-y">
 				<div class="imgbox cursor-pointer flex items-center">
-					<el-button title="AI鐪嬪浘" class="cursor-pointer" link style="margin-left: unset">
+					<!-- <el-button title="AI鐪嬪浘" class="cursor-pointer" link style="margin-left: unset">
 						<img src="/static/images/wave/LookImg.png" class="set-img-icon box-border" />
-					</el-button>
-					<el-button title="AI璇煶瀵硅瘽" class="cursor-pointer" link style="margin-left: unset">
+					</el-button> -->
+					<el-button title="AI璇煶瀵硅瘽" class="cursor-pointer" link style="margin-left: unset" @click="audioChangeWord">
 						<img src="/static/images/wave/HeadImg.png" class="set-img-icon box-border" />
 					</el-button>
 
@@ -26,19 +35,58 @@
 				</div>
 			</div>
 		</div>
+		<VoicePage
+			v-model:isShow="voicePageIsShow"
+			v-show="voicePageIsShow"
+			@submit="(cb) => emits('sendClick', cb)"
+			@updateInputValue="updateInputValue"
+			:isHome = "isHome"
+		/>
 	</div>
 </template>
 
 <script setup lang="ts">
-import { reactive } from 'vue';
-
+import { ElMessage } from 'element-plus';
+import VoicePage from './voicePage/VoicePage.vue';
 const emits = defineEmits(['sendClick']);
 
-defineProps(['isTalking'])
+const props = defineProps(['isTalking','isHome']);
 
+const voicePageIsShow = defineModel('voicePageIsShow', {
+	type: Boolean,
+	default: false,
+});
 const inputValue = defineModel({
-    type:String
-})
+	type: String,
+});
+
+const updateInputValue = (val) => {
+	inputValue.value = val;
+};
+
+const enterInput = (e) => {
+	if (props.isTalking) return;
+	if (!e.shiftKey && e.keyCode == 13) {
+		e.cancelBubble = true; //ie闃绘鍐掓场琛屼负
+		e.stopPropagation(); //Firefox闃绘鍐掓场琛屼负
+		e.preventDefault(); //鍙栨秷浜嬩欢鐨勯粯璁ゅ姩浣�*鎹㈣
+		//浠ヤ笅澶勭悊鍙戦�佹秷鎭唬鐮�
+		emits('sendClick');
+	}
+};
+const audioChangeWord = () => {
+	navigator.getUserMedia(
+		{ audio: true },
+		function onSuccess(stream) {
+			voicePageIsShow.value = true;
+		},
+		function onError(error) {
+			ElMessage.warning('璇锋墦寮�楹﹀厠椋庢潈闄�');
+		}
+	);
+
+
+};
 </script>
 <style scoped lang="scss">
 .set-waterTitle {
@@ -127,14 +175,16 @@
 		display: inline-block;
 		width: 100%;
 		.set-inputAnswer {
-			min-height: 36px;
-			height: 36px;
 			padding: 3px 0;
 			line-height: 20px;
 			border: none;
 			background-color: transparent;
 			color: #333;
 			font-size: 15px;
+			:deep(.el-textarea__inner) {
+				// 鍘婚櫎绾�
+				box-shadow: none;
+			}
 		}
 		:deep(.el-input__wrapper) {
 			box-shadow: unset;

--
Gitblit v1.9.3