From c6d8ea02ade42a78e9f4a2304e8e1c5f67853d91 Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期四, 06 三月 2025 16:17:06 +0800
Subject: [PATCH] 创建工单

---
 src/components/chat/assistant/index.vue |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/src/components/chat/assistant/index.vue b/src/components/chat/assistant/index.vue
index 90393b4..b7a25db 100644
--- a/src/components/chat/assistant/index.vue
+++ b/src/components/chat/assistant/index.vue
@@ -52,17 +52,23 @@
 												:title="subItem.title"
 												:status="stepEnumMap[subItem.status]"
 											>
-												<template #icon v-if="stepIndex + 1 === msg?.stepGroup?.[index].value.length && isTalking && isLast&&(subItem.finishLoading===false || subItem.finishLoading===undefined)">
+												<template
+													#icon
+													v-if="
+														stepIndex + 1 === msg?.stepGroup?.[index].value.length &&
+														isTalking &&
+														isLast &&
+														(subItem.finishLoading === false || subItem.finishLoading === undefined)
+													"
+												>
 													<span class="ywifont ywicon-loading1 animate-spin !text-[24px]"></span>
 												</template>
 												<template #title>
 													<span class="">
-														<span v-html="subItem.title.replace(/\n/g, '<br>')"></span>
-
+														<span v-html="renderMd(subItem.title ?? '')"></span>
 														<span v-if="subItem.ms" class="text-green-600">{{ `锛�${subItem.ms}锛塦 }}</span></span
 													>
 												</template>
-												
 
 												<template #description v-if="subItem?.subStep?.length > 0">
 													<div class="my-1 flex flex-col gap-1 text-[14px]">
@@ -89,7 +95,7 @@
 										涓轰簡瑙e喅杩欎釜闂锛岀瓑鍒� msg.historyId 瀛樺湪鏃讹紝鍐嶆覆鏌� recordSetTable
 										-->
 									<component
-										v-if="msg.content?.values?.[index]  && msg.content?.errCode !== ErrorCode.Message"
+										v-if="msg.content?.values?.[index]"
 										:reportIndex="index"
 										:conclusion="msg.content.values[index].conclusion"
 										:is="answerTypeMapCom[msg.content.values[index].content.type]"
@@ -111,6 +117,8 @@
 							:originData="msg"
 							:isTalking="isTalking && isLast"
 						/>
+						<CreateWorkOrder v-if="msg?.modeContent?.mode === 'create_work_order'" :data="msg?.modeContent" />
+
 						<!-- #endregion -->
 						<!-- </template> -->
 						<!-- #region ====================== 鎶ラ敊淇℃伅 ======================-->
@@ -140,7 +148,9 @@
 						<!-- #region ====================== 鍋滄 ======================-->
 						<span v-if="msg.isStopMsg && msg?.role === RoleEnum.assistant" class="text-gray-400 text-[12px]">锛堝凡鍋滄锛�</span>
 						<!-- parseContent 杩斿洖涓� null -->
-						<p v-if="!msg.content && !isTalking && !msg.isStopMsg && msg.content?.errCode !== ErrorCode.Message" class="text-red-500">鏆傛棤鏁版嵁</p>
+						<p v-if="!msg.content && !isTalking && !msg.isStopMsg && msg.content?.errCode !== ErrorCode.Message" class="text-red-500">
+							鏆傛棤鏁版嵁
+						</p>
 						<!-- #endregion -->
 						<!-- #endregion -->
 					</div>
@@ -225,6 +235,7 @@
 import type { PropType } from 'vue';
 import { useAssistantContentOpt } from '../hooks/useAssistantContentOpt';
 import type { ChatContent } from '../model/types';
+import CreateWorkOrder from '../modeComponents/CreateWorkOrder.vue';
 import {
 	AnswerState,
 	AnswerType,
@@ -241,6 +252,11 @@
 import { isSharePage } from '/@/stores/chatRoom';
 import { ErrorCode } from '/@/utils/request';
 import { question_stream_reply } from '/@/api/ai/chat';
+import { md } from '/@/components/chat/libs/markdown';
+
+const renderMd = (text: string) => {
+	return md.render(text ?? '');
+};
 
 const props = defineProps({
 	/** @description 褰撳墠娑堟伅 */

--
Gitblit v1.9.3