From 1f29e50d81c9168a9d5b4e90dbaebc2b6d4a47e3 Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期五, 08 八月 2025 17:39:58 +0800
Subject: [PATCH] Merge branch 'dev_ai' of http://114.132.189.42:9002/r/product-inventory-management into dev_ai

---
 src/views/chatHome/chatHomeIndex/MobileChat.vue                            |   64 +++--
 src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue |   83 ++++++
 src/views/chatHome/chatHomeIndex/ai-wd.js                                  |  393 +++++++++++++++++++++++++++++++++++
 src/views/chatHome/chatHomeIndex/home.vue                                  |   63 ++---
 src/views/chatHome/chatHomeIndex/ai-jz.js                                  |    3 
 5 files changed, 529 insertions(+), 77 deletions(-)

diff --git a/src/views/chatHome/chatHomeIndex/MobileChat.vue b/src/views/chatHome/chatHomeIndex/MobileChat.vue
index 36a6dd7..f8bc625 100644
--- a/src/views/chatHome/chatHomeIndex/MobileChat.vue
+++ b/src/views/chatHome/chatHomeIndex/MobileChat.vue
@@ -49,13 +49,13 @@
         </div>
       </div>
     </div>
-<!--    <div class="chat-input-wrapper">-->
-<!--      <div style="display: flex; align-items: center">-->
-<!--          <input v-model="inputMsg" @change="sendText" class="input-text" autofocus placeholder="缁橠eepSeek鍙戦�佹秷鎭�" />-->
-<!--          <img class="send-icon" src="@/assets/img/emoji/rocket.png" alt="" @click="sendText" />-->
+    <div class="chat-input-wrapper">
+      <div style="display: flex; align-items: center">
+          <input v-model="inputMsg" @change="sendText" :disabled="loading" class="input-text" autofocus placeholder="缁欏皬鏅哄彂閫佹秷鎭�" />
+          <img class="send-icon" src="@/assets/img/emoji/rocket.png" alt="" @click="sendText" />
 
-<!--      </div>-->
-<!--    </div>-->
+      </div>
+    </div>
   </div>
 </template>
 
@@ -67,6 +67,7 @@
 import headPortrait from '@/assets/img/head_portrait.jpg'
 import FileCard from '@/components/FileCard.vue'
 import { ElMessage } from "element-plus"
+import {checking} from './ai-wd.js'
 
 // 瀹氫箟鍝嶅簲寮忔暟鎹�
 const route = useRoute()
@@ -86,7 +87,7 @@
 const isSend = ref(false)
 const fileList = ref([])
 const isProcessing = ref(false)
-const loading = ref(false)
+const loading = ref(true)
 const srcImgList = ref([])
 
 // 鍒犻櫎鍥剧墖
@@ -137,20 +138,19 @@
       chatType: 0, //淇℃伅绫诲瀷锛�0鏂囧瓧锛�1鍥剧墖
       uid: '1001' //uid
     }
-    sendMsg(chatMsg)
+    chatList.value.push(chatMsg)
     let chatGPT = {
       headImg: headPortrait,
-      name: 'DeepSeek',
+      name: '灏忔櫤',
       time: new Date().toLocaleTimeString(),
       msg: "",
       chatType: 0, //淇℃伅绫诲瀷锛�0鏂囧瓧锛�1鍥剧墖
       uid: '1002' //uid
     }
     chatList.value.push(chatGPT) // 灏嗘帴鏀跺埌鐨勬秷鎭瓨鍌ㄥ埌 messages 鏁扮粍
+    simulateStreamingOutput(chatGPT, inputMsg.value)
     inputMsg.value = ''
-    loading.value = true
-    isSend.value = true
-    websocketsend(chatMsg.msg)
+
   } else {
     ElMessage({
       message: '娑堟伅涓嶈兘涓虹┖鍝',
@@ -206,33 +206,37 @@
 
   // 濡傛灉鏈夋煡璇㈠叧閿瓧锛屽垯妯℃嫙娴佸紡杈撳嚭
   if (route.query.keyWord) {
-    simulateStreamingOutput(replyMsg)
+    simulateStreamingOutput(replyMsg, route.query.keyWord)
   }
 })
 // 妯℃嫙娴佸紡杈撳嚭
-const simulateStreamingOutput = (msgObj) => {
-  // 鐢熸垚0.8-1.8绉掍箣闂寸殑闅忔満寤惰繜
-  const delay = Math.random() * 1000 + 800
+const simulateStreamingOutput = async (msgObj, keyWord) => {
+  loading.value = true
+  // 鐢熸垚0.8-1.3绉掍箣闂寸殑闅忔満寤惰繜
+  const delay = Math.random() * 500 + 800
 
   // 妯℃嫙鍥炲鍐呭锛堝疄闄呭簲鐢ㄤ腑搴斾粠API鑾峰彇锛�
-  const responseText = `鍏充簬"${route.query.keyWord}"鐨勯棶棰橈紝鎴戞潵涓烘偍瑙g瓟锛歕n\n杩欐槸涓�涓ず渚嬪洖澶嶅唴瀹癸紝灞曠ず娴佸紡杈撳嚭鏁堟灉銆傚湪瀹為檯搴旂敤涓紝杩欓噷浼氭槸鏉ヨ嚜AI鐨勭湡瀹炲洖澶嶅唴瀹广�俓n\n璇风◢绛夛紝鎴戞鍦ㄦ暣鐞嗙浉鍏充俊鎭�...`
-
+  const responseText = `鍏充簬"${keyWord}"鐨勯棶棰橈紝鎴戞潵涓烘偍瑙g瓟锛歕n` + checking(keyWord)
 
   isSend.value = true
 
   let index = 0
-  const interval = setInterval(() => {
-    isSend.value = true
-    if (index < responseText.length) {
-      msgObj.msg += responseText.charAt(index)
-      index++
-      isSend.value = false
-      scrollBottom()
-    } else {
-      clearInterval(interval)
-      isSend.value = false
-    }
-  }, 50) // 姣�50ms杈撳嚭涓�涓瓧绗︼紝妯℃嫙娴佸紡鏁堟灉
+  setTimeout(() => {
+    const interval = setInterval(() => {
+      isSend.value = true
+      if (index < responseText.length) {
+        msgObj.msg += responseText.charAt(index)
+        index++
+        isSend.value = false
+        scrollBottom()
+      } else {
+        clearInterval(interval)
+        isSend.value = false
+        loading.value = false
+      }
+    }, 50) // 姣�50ms杈撳嚭涓�涓瓧绗︼紝妯℃嫙娴佸紡鏁堟灉
+  }, delay)
+
 }
 </script>
 
diff --git a/src/views/chatHome/chatHomeIndex/ai-jz.js b/src/views/chatHome/chatHomeIndex/ai-jz.js
new file mode 100644
index 0000000..02ee6dc
--- /dev/null
+++ b/src/views/chatHome/chatHomeIndex/ai-jz.js
@@ -0,0 +1,3 @@
+export function jam() {
+    return ""
+}
\ No newline at end of file
diff --git a/src/views/chatHome/chatHomeIndex/ai-wd.js b/src/views/chatHome/chatHomeIndex/ai-wd.js
new file mode 100644
index 0000000..c5b83d5
--- /dev/null
+++ b/src/views/chatHome/chatHomeIndex/ai-wd.js
@@ -0,0 +1,393 @@
+export function gasLeaks() {
+  return "1. 璁捐涓庤澶囬�夋嫨\n" +
+      "閫夌敤楂樿川閲忔潗鏂欙細绠¢亾銆侀榾闂ㄣ�佸偍缃愮瓑璁惧搴旈�夌敤鑰愯厫铓�銆佽�愰珮鍘嬬殑鏉愭枡锛屽苟绗﹀悎瀹夊叏鏍囧噯锛堝ASME銆丄PI绛夛級銆俓n" +
+      "\n" +
+      "瀹夊叏璁捐锛歕n" +
+      "\n" +
+      "瀹夎鍐椾綑鐨勫畨鍏ㄨ缃紙濡傚弻閲嶉榾闂ㄣ�佺垎鐮寸墖銆佸畨鍏ㄩ榾绛夛級銆俓n" +
+      "\n" +
+      "璁剧疆姘斾綋娉勬紡妫�娴嬬郴缁燂紙濡傚彲鐕冩皵浣撴姤璀﹀櫒銆佹湁姣掓皵浣撲紶鎰熷櫒锛夈�俓n" +
+      "\n" +
+      "閲囩敤灏侀棴寮忕郴缁熻璁★紝鍑忓皯寮�鏀炬帴鍙c�俓n" +
+      "\n" +
+      "閫氶绯荤粺锛氬湪鍙兘娉勬紡鐨勫尯鍩熷畨瑁呭己鍒堕�氶璁惧锛岄槻姝㈡皵浣撹仛闆嗐�俓n" +
+      "\n" +
+      "2. 瀹夎涓庣淮鎶n" +
+      "瑙勮寖瀹夎锛氱敱涓撲笟浜哄憳杩涜璁惧瀹夎锛岀‘淇濈閬撶剨鎺ャ�佸瘑灏佺瓑鐜妭鏃犵己闄枫�俓n" +
+      "\n" +
+      "瀹氭湡妫�鏌ワ細\n" +
+      "\n" +
+      "瀵圭閬撱�侀榾闂ㄣ�佽繛鎺ュ杩涜娉勬紡妫�娴嬶紙濡傚帇鍔涙祴璇曘�佽秴澹版尝妫�娴嬨�佽偉鐨傛按妫�婕忥級銆俓n" +
+      "\n" +
+      "鏇存崲鑰佸寲鎴栬厫铓�鐨勯儴浠躲�俓n" +
+      "\n" +
+      "棰勯槻鎬х淮鎶わ細鍒跺畾缁存姢璁″垝锛屽畾鏈熸鼎婊戦榾闂ㄣ�佹洿鎹㈠瘑灏佷欢绛夈�俓n" +
+      "\n" +
+      "3. 鎿嶄綔绠$悊\n" +
+      "涓ユ牸鎿嶄綔瑙勭▼锛歕n" +
+      "\n" +
+      "鎿嶄綔浜哄憳闇�鍩硅涓婂矖锛岀啛鎮夋皵浣撶壒鎬у拰搴旀�ユ祦绋嬨�俓n" +
+      "\n" +
+      "閬垮厤瓒呭帇銆佽秴娓╂垨閿欒鎿嶄綔銆俓n" +
+      "\n" +
+      "鐩戞帶绯荤粺锛歕n" +
+      "\n" +
+      "瀹炴椂鐩戞祴鍘嬪姏銆佹俯搴︺�佹祦閲忕瓑鍙傛暟锛岃缃嚜鍔ㄦ姤璀﹀拰鑱旈攣鍋滄満瑁呯疆銆俓n" +
+      "\n" +
+      "浣跨敤姘斾綋妫�娴嬩华锛堝绾㈠銆佺數鍖栧浼犳劅鍣級鐩戞祴鐜娴撳害銆俓n" +
+      "\n" +
+      "鏄庣‘鏍囪瘑锛氬湪鍗遍櫓鍖哄煙鏍囨槑姘斾綋绫诲瀷銆侀闄╃瓑绾у強闃叉姢瑕佹眰銆俓n" +
+      "\n" +
+      "4. 娉勬紡搴旀�ユ帾鏂絓n" +
+      "搴旀�ヨ澶囷細\n" +
+      "\n" +
+      "閰嶅闃叉瘨闈㈠叿銆佸懠鍚稿櫒銆侀槻鎶ゆ湇绛変釜浜洪槻鎶よ澶囷紙PPE锛夈�俓n" +
+      "\n" +
+      "灏辫繎鏀剧疆娉勬紡搴旀�ュ寘锛堝鍫垫紡鑳躲�佸瘑灏佸甫锛夈�俓n" +
+      "\n" +
+      "绱ф�ュ搷搴旓細\n" +
+      "\n" +
+      "绔嬪嵆鍒囨柇姘旀簮锛堝叧闂笂娓搁榾闂ㄦ垨鍚姩绱ф�ュ垏鏂郴缁燂級銆俓n" +
+      "\n" +
+      "鍚姩閫氶璁惧绋�閲婃皵浣撴祿搴︺�俓n" +
+      "\n" +
+      "鐤忔暎浜哄憳骞朵笂鎶ヤ笓涓氶儴闂紙濡傛秷闃层�佺幆淇濓級銆俓n" +
+      "\n" +
+      "搴旀�ラ妗堬細瀹氭湡婕旂粌娉勬紡澶勭疆娴佺▼锛岀‘淇濅汉鍛樼啛鎮夊垎宸ャ�俓n" +
+      "\n" +
+      "5. 鍌ㄥ瓨涓庤繍杈撳畨鍏╘n" +
+      "鍌ㄥ瓨瑕佹眰锛歕n" +
+      "\n" +
+      "鍌ㄧ綈杩滅鐏簮銆侀珮娓╁尯锛屽苟璁剧疆鍥村牥闃叉鎵╂暎銆俓n" +
+      "\n" +
+      "娑插寲姘斾綋鍌ㄧ綈闇�閰嶅娉勫帇瑁呯疆銆俓n" +
+      "\n" +
+      "杩愯緭瀹夊叏锛歕n" +
+      "\n" +
+      "浣跨敤鍚堣鐨勮繍杈撹溅杈嗭紝鍥哄畾姘旂摱闃叉纰版挒銆俓n" +
+      "\n" +
+      "杩愯緭閫斾腑鐩戞帶杞﹁締鐘舵�侊紙濡侴PS銆佹俯搴︿紶鎰熷櫒锛夈�俓n" +
+      "\n" +
+      "6. 浜哄憳鍩硅涓庢枃鍖朶n" +
+      "瀹夊叏鍩硅锛氬畾鏈熷紑灞曟皵浣撳嵄瀹炽�侀槻鎶ゆ帾鏂藉拰搴旀�ュ鐞嗙殑鍩硅銆俓n" +
+      "\n" +
+      "瀹夊叏鏂囧寲锛氶紦鍔卞憳宸ユ姤鍛婃綔鍦ㄩ闄╋紝寤虹珛鈥滈浂娉勬紡鈥濈鐞嗙洰鏍囥�俓n" +
+      "\n" +
+      "7. 娉曡涓庢爣鍑哱n" +
+      "閬靛畧鐩稿叧娉曡锛堝OSHA銆丟B 50493銆婄煶娌瑰寲宸ュ彲鐕冩皵浣撳拰鏈夋瘨姘斾綋妫�娴嬫姤璀﹁璁¤鑼冦�嬶級銆俓n" +
+      "\n" +
+      "瀹氭湡杩涜瀹夊叏瀹¤锛岀‘淇濈鍚堣涓氭爣鍑嗐�俓n" +
+      "\n" +
+      "甯歌鍗遍櫓姘斾綋娉勬紡鐨勯拡瀵规�ф帾鏂絓n" +
+      "鍙噧姘斾綋锛堝鐢茬兎銆佹阿姘旓級锛氶槻鐖嗙數鍣ㄣ�佹秷闄ら潤鐢点�俓n" +
+      "\n" +
+      "鏈夋瘨姘斾綋锛堝姘皵銆佺~鍖栨阿锛夛細閰嶅涓撶敤杩囨护寮忔垨渚涙哀寮忓懠鍚稿櫒銆俓n" +
+      "\n" +
+      "绐掓伅鎬ф皵浣擄紙濡傛爱姘斻�佷簩姘у寲纰筹級锛氱洃娴嬫哀姘旀祿搴︼紝閬垮厤瀵嗛棴绌洪棿浣滀笟銆俓n" +
+      "\n" +
+      "閫氳繃浠ヤ笂鎺柦鐨勭患鍚堝簲鐢紝鍙ぇ骞呴檷浣庢皵浣撴硠婕忛闄╋紝淇濋殰浜哄憳瀹夊叏鍜岀幆澧冨仴搴枫�傝嫢鍙戠敓娉勬紡锛岄渶浼樺厛纭繚浜哄憳鎾ょ锛屽啀鐢变笓涓氫汉鍛樺缃�俓n" +
+      "\n" +
+      "鏈洖绛旂敱 AI 鐢熸垚锛屽唴瀹逛粎渚涘弬鑰冿紝璇蜂粩缁嗙攧鍒��"
+}
+
+export function shipping() {
+    return "涓�銆佺珛鍗冲簲鎬ュ搷搴擻n" +
+        "1. 鍙戠幇娉勬紡鏃剁殑绱ф�ヨ鍔╘n" +
+        "鍋滆溅骞堕殧绂荤幇鍦猴細\n" +
+        "\n" +
+        "杩愯緭杞﹁締绔嬪嵆鍋滈潬鍦ㄧ┖鏃枫�佽繙绂讳汉缇ゅ拰鐏簮鐨勪綅缃�俓n" +
+        "\n" +
+        "璁剧疆璀︽垝绾匡紙鑷冲皯50~100绫冲崐寰勶紝鏍规嵁姘斾綋鎬ц川璋冩暣锛夛紝绂佹鏃犲叧浜哄憳杩涘叆銆俓n" +
+        "\n" +
+        "鍒囨柇娉勬紡婧愶細\n" +
+        "\n" +
+        "鍏抽棴瀹瑰櫒闃�闂ㄦ垨灏佸牭鐮存崯澶勶紙濡備娇鐢ㄥ簲鎬ュ牭婕忓伐鍏凤級銆俓n" +
+        "\n" +
+        "鑻ラ榾闂ㄦ崯鍧忥紝灏濊瘯杞Щ鍓╀綑姘斾綋鑷冲鐢ㄥ鍣紙闇�涓撲笟浜哄憳鎿嶄綔锛夈�俓n" +
+        "\n" +
+        "鎶ヨ涓庝笂鎶ワ細\n" +
+        "\n" +
+        "鎷ㄦ墦搴旀�ョ數璇濓紙濡傛秷闃�119銆佺幆淇濋儴闂級锛岃鏄庢皵浣撶被鍨嬨�佹硠婕忛噺銆佷綅缃瓑淇℃伅銆俓n" +
+        "\n" +
+        "鑱旂郴杩愯緭鍏徃鍙婅揣涓伙紝鑾峰彇鎶�鏈敮鎻达紙濡侻SDS瀹夊叏鏁版嵁琛級銆俓n" +
+        "\n" +
+        "2. 浜哄憳闃叉姢涓庣枏鏁n" +
+        "绌挎埓闃叉姢瑁呭锛歕n" +
+        "\n" +
+        "鍙噧姘斾綋锛氶槻鐖嗗伐鍏�+闃查潤鐢垫湇锛涙湁姣掓皵浣擄細姝e帇寮忓懠鍚稿櫒+闃插寲鏈嶃�俓n" +
+        "\n" +
+        "鏃犻槻鎶よ澶囨椂锛岀珛鍗虫挙绂昏嚦涓婇鏂瑰悜銆俓n" +
+        "\n" +
+        "鐤忔暎鍛ㄨ竟鍖哄煙锛歕n" +
+        "\n" +
+        "鏍规嵁姘斾綋鎵╂暎鑼冨洿锛堝弬鑰冨簲鎬ュ搷搴旀寚鍗桬RG锛夌枏鏁e眳姘戞垨浣滀笟浜哄憳銆俓n" +
+        "\n" +
+        "閬垮厤浣庢醇澶勬粸鐣欙紙鏌愪簺姘斾綋姣旂┖姘旈噸锛屽纭寲姘級銆俓n" +
+        "\n" +
+        "3. 鎺у埗娉勬紡鎵╂暎\n" +
+        "鐗╃悊鏂规硶锛歕n" +
+        "\n" +
+        "瑕嗙洊娉勬紡鍙o紙濡傜敤娴告按妫夎鍑忓皯鎸ュ彂锛屼絾绂佺敤浜庨亣姘村弽搴旀皵浣撳姘皵锛夈�俓n" +
+        "\n" +
+        "绛戝牑鍥村牭娑蹭綋娉勬紡鐗╋紝闃叉娴佸叆涓嬫按閬撴垨娌虫祦銆俓n" +
+        "\n" +
+        "鍖栧鏂规硶锛歕n" +
+        "\n" +
+        "涓拰澶勭悊锛堝姘ㄦ皵娉勬紡鍠锋磼绋�鐩愰吀锛岄渶涓撲笟浜哄憳鎿嶄綔锛夈�俓n" +
+        "\n" +
+        "浣跨敤鍚搁檮鏉愭枡锛堝娲绘�х偔銆佹矙鍦熷惛闄勬湁鏈烘皵浣擄級銆�"
+}
+
+export function operate(){
+    return "涓�銆佹搷浣滀笉褰撳彂鐢熷悗鐨勫簲鎬ュ鐞哱n" +
+        "1. 绔嬪嵆鎺у埗浜嬫晠\n" +
+        "鍋滄鎿嶄綔锛歕n" +
+        "\n" +
+        "鎸変笅绱ф�ュ仠鏈烘寜閽紝鍏抽棴鏈�杩戠殑涓婃父闃�闂ㄣ�俓n" +
+        "\n" +
+        "鍚姩搴旀�ラ妗堬細\n" +
+        "\n" +
+        "灏忓瀷娉勬紡锛氫娇鐢ㄥ簲鎬ュ牭婕忓伐鍏凤紙濡傚瘑灏佽兌銆佸す鍏凤級銆俓n" +
+        "\n" +
+        "澶у瀷娉勬紡锛氱枏鏁d汉鍛橈紝鎶ヨ姹傚姪锛�119/鐜繚閮ㄩ棬锛夈�俓n" +
+        "\n" +
+        "2. 浜哄憳瀹夊叏\n" +
+        "鎾ょ涓庨殧绂伙細\n" +
+        "\n" +
+        "閫嗛鎾ょ鑷充笂椋庡悜瀹夊叏鍖猴紝閬垮厤浣庢醇澶勶紙閲嶆皵浣撶Н鑱氾級銆俓n" +
+        "\n" +
+        "鎬ユ晳鎺柦锛歕n" +
+        "\n" +
+        "鍚稿叆鏈夋瘨姘斾綋锛氱Щ鑷崇┖姘旀柊椴滃锛屽繀瑕佹椂浜哄伐鍛煎惛銆俓n" +
+        "\n" +
+        "鐨偆鎺ヨЕ锛氱珛鍗崇敤娓呮按鍐叉礂15鍒嗛挓锛堣厫铓�鎬ф皵浣擄級銆俓n" +
+        "\n" +
+        "3. 浜嬫晠璋冩煡涓庢暣鏀筡n" +
+        "鏍规湰鍘熷洜鍒嗘瀽锛圧CA锛夛細\n" +
+        "\n" +
+        "鏄搷浣滃け璇�佸煿璁笉瓒筹紝杩樻槸璁惧缂洪櫡锛焅n" +
+        "\n" +
+        "鏀硅繘鎺柦锛歕n" +
+        "\n" +
+        "淇鎿嶄綔瑙勭▼锛屽鍔犺绀烘爣璇嗐�俓n" +
+        "\n" +
+        "瀵硅矗浠讳汉鍐嶅煿璁紝蹇呰鏃惰皟宀椼��"
+}
+
+export function emergency(){
+    return "涓�銆佷紭鍖栧簲鎬ュ搷搴旂殑鍏抽敭鎺柦\n" +
+        "1. 瀹屽杽搴旀�ラ妗圽n" +
+        "閽堝鎬ц璁★細\n" +
+        "\n" +
+        "鍩轰簬HAZOP锛堝嵄闄╀笌鍙搷浣滄�у垎鏋愶級璇嗗埆鎵�鏈夋綔鍦ㄩ闄╁満鏅�俓n" +
+        "\n" +
+        "鍒跺畾鍒嗙骇鍝嶅簲鏈哄埗锛堝皬娉勬紡鐜板満澶勭疆銆佸ぇ娉勬紡鍏ㄥ憳鐤忔暎锛夈�俓n" +
+        "\n" +
+        "鏄庣‘鑱岃矗锛歕n" +
+        "\n" +
+        "璁剧珛搴旀�ユ寚鎸ラ儴锛屾寚瀹氭�绘寚鎸ャ�侀�氳缁勩�佹姠闄╃粍銆佸尰鐤楃粍绛夈�俓n" +
+        "\n" +
+        "纭繚24灏忔椂鍊肩彮鍒跺害锛岃仈绯绘柟寮忓疄鏃舵洿鏂般�俓n" +
+        "\n" +
+        "鑱斿姩澶栭儴璧勬簮锛歕n" +
+        "\n" +
+        "涓庢秷闃层�佺幆淇濄�佸尰闄㈡彁鍓嶇璁㈡晳鎻村崗璁紝鏄庣‘鍗忎綔娴佺▼銆俓n" +
+        "\n" +
+        "2. 寮哄寲搴旀�ヨ祫婧愪繚闅淺n" +
+        "瑁呭涓庣墿璧勶細\n" +
+        "\n" +
+        "閰嶅瓒抽噺涓旀湁鏁堢殑搴旀�ヨ澶囷紝鍖呮嫭锛歕n" +
+        "\n" +
+        "涓汉闃叉姢瑁呭锛圥PE锛夛細闃叉瘨闈㈠叿銆佸寲瀛﹂槻鎶ゆ湇銆俓n" +
+        "\n" +
+        "鍫垫紡宸ュ叿锛氬瘑灏佽兌銆佸す鍏枫�佸揩閫熷皝鍫靛櫒銆俓n" +
+        "\n" +
+        "鍚搁檮/涓拰鏉愭枡锛氭椿鎬х偔銆佹矙鍦熴�佺█纰辨恫锛堢敤浜庨吀鎬ф皵浣擄級銆俓n" +
+        "\n" +
+        "瀹氭湡妫�鏌ャ�佺淮鎶ゅ拰鏇存崲锛堝姘旂摱鍘嬪姏銆佷紶鎰熷櫒鐢垫睜锛夈�俓n" +
+        "\n" +
+        "搴旀�ヨ溅杈嗕笌閫氶亾锛歕n" +
+        "\n" +
+        "纭繚鏁戞彺杞﹁締鍙揩閫熸姷杈炬硠婕忕偣锛堟竻闄よ矾闅滐紝鏍囪瘑搴旀�ヨ矾绾匡級銆俓n" +
+        "\n" +
+        "鍏抽敭鍖哄煙璁剧疆搴旀�ユ礂鐪煎櫒銆佸柗娣嬬郴缁熴�俓n" +
+        "\n" +
+        "3. 鍔犲己浜哄憳鍩硅涓庤兘鍔涘缓璁綷n" +
+        "鍒嗗眰鍩硅锛歕n" +
+        "\n" +
+        "鍩哄眰浜哄憳锛氭帉鎻″熀鏈簲鎬ュ缃紙濡傚叧闂榾闂ㄣ�佷娇鐢ㄧ伃鐏櫒锛夈�俓n" +
+        "\n" +
+        "搴旀�ュ皬缁勶細涓撲笟鍫垫紡銆佷激鍛樻�ユ晳銆佹皵浣撴娴嬫妧鑳姐�俓n" +
+        "\n" +
+        "绠$悊灞傦細鎸囨尌鍐崇瓥銆佸獟浣撴矡閫氥�佹硶寰嬪悎瑙勩�俓n" +
+        "\n" +
+        "瀹炴垬鍖栬�冩牳锛歕n" +
+        "\n" +
+        "閫氳繃妯℃嫙绐佸彂娉勬紡锛堝鐩叉紨锛夋楠屽搷搴旈�熷害銆俓n" +
+        "\n" +
+        "涓嶅悎鏍艰�呴渶閲嶆柊鍩硅銆俓n" +
+        "\n" +
+        "4. 瀹氭湡婕旂粌涓庢寔缁敼杩沑n" +
+        "婕旂粌棰戠巼锛歕n" +
+        "\n" +
+        "姣忓搴﹁嚦灏�1娆℃闈㈡帹婕旓紝姣忓勾2娆$患鍚堝疄鎴樻紨缁冦�俓n" +
+        "\n" +
+        "鍦烘櫙璁捐锛歕n" +
+        "\n" +
+        "妯℃嫙澶嶆潅鎯呭喌锛堝澶滈棿鍋滅數銆佸浜哄彈浼わ級銆俓n" +
+        "\n" +
+        "寮曞叆鈥滅獊鍙戝彉閲忊�濓紙濡傞鍚戠獊鍙樸�佷簩娆℃硠婕忥級銆俓n" +
+        "\n" +
+        "澶嶇洏涓庝紭鍖栵細\n" +
+        "\n" +
+        "璁板綍婕旂粌涓殑闂锛堝閫氳寤惰繜銆佽澶囩己澶憋級銆俓n" +
+        "\n" +
+        "鏇存柊棰勬骞朵笅鍙戝涔犮�俓n" +
+        "\n" +
+        "5. 鎶�鏈崌绾т笌鏅鸿兘鍖栨敮鎸乗n" +
+        "瀹炴椂鐩戞祴涓庨璀︼細\n" +
+        "\n" +
+        "閮ㄧ讲鐗╄仈缃戯紙IoT锛変紶鎰熷櫒锛岀洃娴嬫皵浣撴祿搴︺�佽澶囩姸鎬併�俓n" +
+        "\n" +
+        "璁剧疆鑷姩鑱旈攣鎺у埗锛堝娉勬紡鏃惰仈鍔ㄥ叧闂榾闂ㄥ苟鍚姩閫氶锛夈�俓n" +
+        "\n" +
+        "搴旀�ラ�氳绯荤粺锛歕n" +
+        "\n" +
+        "浣跨敤闃茬垎瀵硅鏈恒�佸崼鏄熺數璇濓紙淇濋殰淇″彿瑕嗙洊锛夈�俓n" +
+        "\n" +
+        "寤虹珛搴旀�ュ箍鎾郴缁燂紙濡傚巶鍖鸿鎶ャ�佺煭淇$兢鍙戯級銆俓n" +
+        "\n" +
+        "鏁板瓧鍖栭妗堬細\n" +
+        "\n" +
+        "灏嗗簲鎬ラ妗堝綍鍏ョЩ鍔ㄧ粓绔紝瀹炵幇涓�閿皟闃呫�佹楠ゆ寚寮曘��"
+}
+
+export function compliance(){
+    return "涓�銆佸父瑙佺殑鍚堣鎬ч棶棰榎n" +
+        "1. 璁稿彲涓庤祫璐ㄧ己澶盶n" +
+        "闂锛歕n" +
+        "\n" +
+        "鏈彇寰楀嵄闄╁寲瀛﹀搧缁忚惀璁稿彲璇佹垨瀹夊叏鐢熶骇璁稿彲璇併�俓n" +
+        "\n" +
+        "鐗圭浣滀笟浜哄憳锛堝鍘嬪姏瀹瑰櫒鎿嶄綔宸ワ級鏃犺瘉涓婂矖銆俓n" +
+        "\n" +
+        "椋庨櫓锛歕n" +
+        "\n" +
+        "鐩戠閮ㄩ棬澶勭綒锛堝缃氭銆佽矗浠ゅ仠浜э級銆俓n" +
+        "\n" +
+        "淇濋櫓鎷掕禂锛堜簨鏁呭彂鐢熸椂锛夈�俓n" +
+        "\n" +
+        "2. 瀹夊叏璁捐涓嶈揪鏍嘰n" +
+        "闂锛歕n" +
+        "\n" +
+        "鍌ㄧ綈銆佺閬撴湭鎸塆B/T 150锛堝帇鍔涘鍣ㄦ爣鍑嗭級璁捐銆俓n" +
+        "\n" +
+        "鏈畨瑁呭彲鐕�/鏈夋瘨姘斾綋鎶ヨ鍣紙杩濆弽GB 50493锛夈�俓n" +
+        "\n" +
+        "椋庨櫓锛歕n" +
+        "\n" +
+        "璁惧澶辨晥瀵艰嚧娉勬紡鎴栫垎鐐搞�俓n" +
+        "\n" +
+        "涓嶇鍚堝簲鎬ョ鐞嗛儴鎴朞SHA妫�鏌ヨ姹傘�俓n" +
+        "\n" +
+        "3. 鎿嶄綔涓庣淮鎶よ繚瑙刓n" +
+        "闂锛歕n" +
+        "\n" +
+        "鏈墽琛屼綔涓氱エ鍒跺害锛堝鍔ㄧ伀浣滀笟鏈鎵癸級銆俓n" +
+        "\n" +
+        "鏈畾鏈熸楠屽帇鍔涘鍣紙杩濆弽TSG 21-2016锛夈�俓n" +
+        "\n" +
+        "椋庨櫓锛歕n" +
+        "\n" +
+        "杩濊鎿嶄綔寮曞彂浜嬫晠锛堝鐒婃帴寮曞彂鍙噧姘斾綋鐖嗙偢锛夈�俓n" +
+        "\n" +
+        "璁惧鑰佸寲瀵艰嚧绐佸彂娉勬紡銆俓n" +
+        "\n" +
+        "4. 搴旀�ョ鐞嗕笉鍚堣\n" +
+        "闂锛歕n" +
+        "\n" +
+        "鏈埗瀹氬簲鎬ラ妗堟垨鏈妗堬紙杩濆弽銆婄敓浜у畨鍏ㄤ簨鏁呭簲鎬ユ潯渚嬨�嬶級銆俓n" +
+        "\n" +
+        "鏈厤澶囧簲鎬ョ墿璧勶紙濡傞槻姣掗潰鍏枫�佸牭婕忓伐鍏凤級銆俓n" +
+        "\n" +
+        "椋庨櫓锛歕n" +
+        "\n" +
+        "浜嬫晠鍙戠敓鏃舵棤娉曟湁鏁堟帶鍒讹紝瀵艰嚧鎹熷け鎵╁ぇ銆俓n" +
+        "\n" +
+        "闈复鐢熸�佺幆澧冮儴杩借矗锛堝鍖栧鍝佹薄鏌撳湡澹�/姘翠綋锛夈�俓n" +
+        "\n" +
+        "5. 璁板綍涓庢姤鍛婄己澶盶n" +
+        "闂锛歕n" +
+        "\n" +
+        "鏈繚瀛樺畨鍏ㄦ鏌ヨ褰曟垨鍩硅妗f銆俓n" +
+        "\n" +
+        "鏈寜瑙勫畾涓婃姤娉勬紡浜嬫晠锛堝鐬掓姤銆佽繜鎶ワ級銆俓n" +
+        "\n" +
+        "椋庨櫓锛歕n" +
+        "\n" +
+        "浜嬫晠璋冩煡鏃舵棤娉曡嚜璇佸悎瑙勶紝鎵挎媴鍏ㄨ矗銆俓n" +
+        "\n" +
+        "琚垪鍏ュ畨鍏ㄧ敓浜ч粦鍚嶅崟锛屽奖鍝嶄紒涓氫俊瑾夈��"
+}
+
+export function monitoring(){
+    return "涓�銆佸浐瀹氬紡鐩戞祴鎶�鏈痋n" +
+        "1. 鍌寲鐕冪儳寮忎紶鎰熷櫒\n" +
+        "鍘熺悊锛氬彲鐕冩皵浣撳湪閾備笣琛ㄩ潰鐕冪儳瀵艰嚧鐢甸樆鍙樺寲\n" +
+        "\n" +
+        "浼樺娍锛氭垚鏈綆锛堬骏500-2000/涓級銆佸搷搴斿揩锛�<10s锛塡n" +
+        "\n" +
+        "灞�闄愶細鏄撲腑姣掞紙纭�/纭寲鍚堢墿锛夈�佸鍛界煭锛�2-3骞达級\n" +
+        "\n" +
+        "閫傜敤锛氱煶鍖栧巶鍙噧姘旂洃娴嬶紙鐢茬兎銆佹阿姘旂瓑锛塡n" +
+        "\n" +
+        "2. 鐢靛寲瀛︿紶鎰熷櫒\n" +
+        "鍘熺悊锛氭皵浣撲笌鐢佃В娑插彂鐢熸哀鍖栬繕鍘熷弽搴斾骇鐢熺數娴乗n" +
+        "\n" +
+        "浼樺娍锛歱pb绾ф娴嬶紙濡侶2S妫�娴嬩笅闄�0.1ppm锛塡n" +
+        "\n" +
+        "灞�闄愶細鍙楁俯婀垮害褰卞搷锛堥渶瀹氭湡鏍″噯锛塡n" +
+        "\n" +
+        "閫傜敤锛氭湁姣掓皵浣擄紙Cl鈧傘�丯H鈧冦�丆O绛夛級\n" +
+        "\n" +
+        "3. 绾㈠鍚告敹寮忥紙NDIR锛塡n" +
+        "鍘熺悊锛氭皵浣撳鐗瑰畾绾㈠娉㈡鐨勫惛鏀剁巼妫�娴媆n" +
+        "\n" +
+        "浼樺娍锛氬厤鏍″噯锛堝鍛�5-10骞达級銆佹姉涓瘨\n" +
+        "\n" +
+        "灞�闄愶細楂樻垚鏈紙锟�5000+/涓級\n" +
+        "\n" +
+        "閫傜敤锛欳O鈧傘�丆H鈧勭瓑娓╁姘斾綋鐩戞祴\n" +
+        "\n" +
+        "4. 婵�鍏夊厜璋憋紙TDLAS锛塡n" +
+        "鍘熺悊锛氬彲璋冭皭婵�鍏変簩鏋佺鎵弿姘斾綋鍚告敹绾縗n" +
+        "\n" +
+        "浼樺娍锛歱pm绾х簿搴︺�佸搷搴攎s绾n" +
+        "\n" +
+        "灞�闄愶細闇�鍏夊瀵瑰噯锛堝畨瑁呭鏉傦級\n" +
+        "\n" +
+        "閫傜敤锛氱閬撳井娉勬紡妫�娴嬶紙澶╃劧姘旈暱杈撶绾匡級"
+}
+
+export function checking(keyWord){
+    if(keyWord.includes("姘斾綋娉勬紡")){
+        return gasLeaks();
+    }
+    if(keyWord.includes("瀹瑰櫒澶辨晥")){
+        return shipping();
+    }
+    if(keyWord.includes("鎿嶄綔涓嶅綋")){
+        return operate();
+    }
+    if(keyWord.includes("鍝嶅簲涓嶈冻")){
+        return emergency();
+    }
+    if(keyWord.includes("鍚堣鎬�")){
+        return compliance();
+    }
+    if(keyWord.includes("鐩戞祴鎶�鏈�")){
+        return monitoring();
+    }
+    return "涓嶅ソ鎰忔�濓紝灏忔櫤杩樺湪鎴愰暱杩囩▼涓紝鎮ㄧ殑闂宸茬粡瓒呰繃灏忔櫤鐨勫鐞嗚寖鍥翠簡銆�";
+
+}
\ No newline at end of file
diff --git a/src/views/chatHome/chatHomeIndex/home.vue b/src/views/chatHome/chatHomeIndex/home.vue
index 445ad3c..7796284 100644
--- a/src/views/chatHome/chatHomeIndex/home.vue
+++ b/src/views/chatHome/chatHomeIndex/home.vue
@@ -3,10 +3,10 @@
     <div style="background: white;color: black;font-size: 30px;" class="logo">
         <div class="logo-one" style="font-weight: bold">
 <!--            <img src="/src/assets/img/logo.png" style="width: 50px;height: 50px;margin: 0 10px" />-->
-            <div><i>娣崡涓滄柟鍖婚櫌闆嗗洟DeepSeek搴旂敤骞冲彴</i></div>
+            <div><i>澶фā鍨婣I灏忔櫤姝e湪涓烘偍鏈嶅姟</i></div>
         </div>
         <div class="input">
-            <input type="text" v-model="keyWord" class="input-text" placeholder="缁橠eepSeek鍙戦�佹秷鎭�"  @keyup.enter="sendMsg" />
+            <input type="text" v-model="keyWord" class="input-text" placeholder="缁欏皬鏅哄彂閫佹秷鎭�"  @keyup.enter="sendMsg" />
             <div style="font-size: 13px;color: #808080;display: flex;justify-content: space-between;padding: 10px;">
                 <div style="display: flex;justify-content: center;align-items: center;">
 <!--                    <div style="display: flex;justify-content: center;align-items: center;">-->
@@ -29,43 +29,37 @@
             <div class="keywords">
                 <div class="keywordss" @click="sendMsgDefault(keyWordOne)">
                     <p class="fontSize aaa">{{keyWordOne}}</p>
-                    <p class="fontSize">閫夋嫨绉戠┖:鏍规嵁鐥呮儏閫夋嫨鐩稿簲鐨勭瀹�(濡傚唴绉戙�佸绉戙�佸効绉戠瓑)</p>
-                    <p class="fontSize">鎸傚彿鏂瑰紡:鐜板満鎸傚彿:鍦ㄥ尰闄㈡寕鍙风獥鍙f帓闃熷姙鐞嗐�傜嚎涓婃寕鍙�:閫氳繃鍖婚櫌瀹樼綉銆佸井</p>
-                    <p class="fontSize">淇″叕浼楀彿鎴栫涓夋柟骞冲彴棰勭害...</p>
+                    <p class="fontSize">闃�闂ㄣ�佺閬撴垨瀹瑰櫒瀵嗗皝澶辨晥瀵艰嚧姘斾綋娉勬紡锛堝姘皵銆佹皑姘旓級銆�</p>
+                    <p class="fontSize">鍚庢灉锛氫腑姣掋�佺垎鐐搞�佺幆澧冩薄鏌撱��</p>
                 </div>
                 <div class="keywordss" @click="sendMsgDefault(keyWordTwo)">
                     <p class="fontSize aaa">{{keyWordTwo}}</p>
-                    <p class="fontSize">鏅�氱梾鎴�:鎺㈣鏃堕棶涓�鑸负姣忓ぉ涓婂崍10:00-12:00锛屼笅鍗�14:00-20.00銆傛瘡娆℃帰瑙嗕汉</p>
-                    <p class="fontSize">鏁颁笉瓒呰繃2浜猴紝鎺㈣鏃堕棿涓嶈秴杩�30鍒嗛挓銆�</p>
-                    <p class="fontSize">閲嶇棁鐩戞姢瀹�(1CU):鎺㈣鏃堕棶杈冪煭锛岄�氬父涓烘瘡澶�15:00-16:00銆傛帰瑙嗕汉鏁�.</p>
+                    <p class="fontSize">閽㈢摱鎴栫綈浣撳洜鏉愭枡鐤插姵銆佽厫铓�鎴栬秴鍘嬬牬瑁�</p>
+                    <p class="fontSize">鍘熷洜锛氭湭瀹氭湡妫�娴嬨�佽繚瑙勫厖瑁呮垨澶栭儴鎾炲嚮銆傘��</p>
                 </div>
             </div>
             <div class="keywords">
                 <div class="keywordss" @click="sendMsgDefault(keyWordFive)">
                     <p class="fontSize aaa">{{keyWordFive}}</p>
-                    <p class="fontSize">閫夋嫨浣撴濂楅:鏍规嵁涓汉闇�姹傞�夋嫨鍩虹濂楄交鎴栦笓椤规鏉忓銆�</p>
-                    <p class="fontSize">棰勭害鏂瑰紡:绾夸笂棰勭害:閫氳繃鍖婚櫌瀹樼綉銆佸井淇″叕浼楀彿鎴栫涓夋柟骞冲彴棰勭害銆傜數璇濊鲍</p>
-                    <p class="fontSize">绾�:鎷ㄦ墦鍖婚櫌浣撴涓績鐢佃瘽杩涜棰勭害銆傜幇鍦洪绾�:鐩存帴鍒颁綋妫�涓績</p>
+                    <p class="fontSize">瑁呭嵏杩囩▼涓繚瑙勬搷浣滐紙濡傞噹铔惉杩愩�佹贩瑁呯蹇岀墿璐級銆�</p>
+                    <p class="fontSize">杩愯緭閫斾腑鏈浐瀹氬鍣紝瀵艰嚧纰版挒鎴栧�惧�掋��</p>
                 </div>
                 <div class="keywordss" @click="sendMsgDefault(keyWordSix)">
                     <p class="fontSize aaa">{{keyWordSix}}</p>
-                    <p class="fontSize">鍖荤敓纭鍑洪櫌:涓绘不鍖荤敓璇勪及鎮h�呯梾鎯呭悗锛屽紑鍏峰嚭闄€��</p>
-                    <p class="fontSize">缁撶畻璐圭敤:鎮h�呮垨瀹跺睘鎼哄甫浣忛櫌鎶奸噾鍗曘�佸尰淇濆崱绛夋潗鏂欏埌鍑洪櫌缁撶畻绐楀彛鍔炵悊銆傛牳</p>
-                    <p class="fontSize">瀵硅垂鐢ㄦ槑缁嗭紝鏀粯鑷垂閮ㄥ垎鎴栧姙鐞嗗尰淇濇姤閿�..</p>
+                    <p class="fontSize">缂轰箯娉勬紡搴旀�ラ妗堬紝浜哄憳鍩硅涓嶈冻銆�</p>
+                    <p class="fontSize">鏁戞彺璁惧锛堝闃叉瘨闈㈠叿銆佸牭婕忓伐鍏凤級缂哄け鎴栧け鏁堛��</p>
                 </div>
             </div>
             <div class="keywords">
                 <div class="keywordss" @click="sendMsgDefault(keyWordServen)">
                     <p class="fontSize aaa">{{keyWordServen}}</p>
-                    <p class="fontSize">闄㈠唴鎶曡瘔:鐩存帴鍚戝尰闄㈠尰鍔$鎴栨偅鑰呮湇鍔′腑蹇冨弽鏄犻棶棰樸�傚~鍐欐姇璇夎〃锛屾彁渚涜缁�</p>
-                    <p class="fontSize">鎯呭喌鍜岃瘉鎹�(濡傜梾鍘嗐�佸綍闊崇瓑)銆�</p>
-                    <p class="fontSize">涓婄骇閮ㄩ棬鎶曡瘔:鍚戝綋鍦板崼鐢熻兘搴峰鍛樹細鎴栧尰鐤楃籂绾疯皟瑙e鍛樹細鎶曡瘔銆傛嫧鎵撯��</p>
+                    <p class="fontSize">鏈彇寰楄繍杈撹祫璐紙濡侫DR/RID绛夊浗闄呰鑼冿級銆�</p>
+                    <p class="fontSize">璺嚎瑙勫垝涓嶅悎瑙勶紙濡傜┛瓒婁汉鍙e瘑闆嗗尯锛夈��</p>
                 </div>
                 <div class="keywordss" @click="sendMsgDefault(keyWordEight)">
                     <p class="fontSize aaa">{{keyWordEight}}</p>
-                    <p class="fontSize">鐢宠杞櫌:鎮h�呮垨瀹跺睘鍚戜富娌诲尰鐢熸彁鍑鸿浆闄㈢敵璇枫�傚尰鐢熻瘎浼扮梾鎯咃紝纭鏄惁闇�瑕�</p>
-                    <p class="fontSize">杞櫌銆�</p>
-                    <p class="fontSize">寮�鍏疯浆闄㈣瘉鏄�:涓绘不鍖荤敓寮�鍏疯浆闄㈣瘉鏄庯紝璇存槑杞櫌鍘熷洜鍜岀梾鎯�..鈥�</p>
+                    <p class="fontSize">浼犳劅鍣ㄩ儴缃诧紙濡傜孩澶栨皵浣撴帰娴嬪櫒銆佺數鍖栧浼犳劅鍣級銆�</p>
+                    <p class="fontSize">瀹炴椂鏁版嵁浼犺緭鑷崇洃鎺у钩鍙帮紝瑙﹀彂鎶ヨ銆�</p>
                 </div>
             </div>
         </div>
@@ -81,22 +75,13 @@
 const route = useRoute();
 const router = useRouter();
 const keyWord = ref('');
-const keyWordOne = ref('鍖婚櫌鎸傚彿娴佺▼鏄�庢牱鐨�?');
-const keyWordTwo = ref('鍖婚櫌鎺㈣鏃堕棶鏈夊摢浜涜瀹�?');
-const keyWordFive = ref('鍖婚櫌濡備綍棰勭害浣撴?');
-const keyWordSix = ref('鍖婚櫌濡備綍鍔炵悊鍑洪櫌鎵嬬画?');
-const keyWordServen = ref('鍖婚櫌濡備綍鎶曡瘔鍖荤枟鏈嶅姟璐ㄩ噺?');
-const keyWordEight = ref('鍖婚櫌濡備綍鍔炵悊杞櫌鎵嬬画?');
+const keyWordOne = ref('鍗遍櫓姘斾綋娉勬紡鎬庝箞鍔�');
+const keyWordTwo = ref('杩愯緭瀹瑰櫒澶辨晥鎬庝箞鍔�');
+const keyWordFive = ref('鎿嶄綔涓嶅綋鎬庝箞鍔�');
+const keyWordSix = ref('搴旀�ュ搷搴斾笉瓒虫�庝箞鍔�');
+const keyWordServen = ref('鍚堣鎬ч棶棰�');
+const keyWordEight = ref('娉勬紡鐩戞祴鎶�鏈湁鍝簺');
 
-onMounted(() => {
-    // const script = document.createElement('script');
-    // script.src = '/src/assets/js/index.js';
-    // // script.type = 'module'
-    // script.onload = () => {
-    //     console.log('index.js 宸插姞杞�');
-    // };
-    // document.head.appendChild(script);
-});
 const sendMsg = () => {
     router.push({ path: '/main/MobileChat',query:{ keyWord: keyWord.value} })
 }
@@ -144,13 +129,13 @@
 
         .aaa {
           font-weight: bold;
-          font-size: 12px;
+          font-size: 15px !important;
         }
 
         .fontSize {
-          font-size: 10px;
-          height: 15px;
-          line-height: 15px;
+          font-size: 13px;
+          height: 20px;
+          line-height: 20px;
           margin: 6px;
         }
       }
diff --git a/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue b/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
index 584a6c2..403cab6 100644
--- a/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
+++ b/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
@@ -102,6 +102,10 @@
               <div v-if="!activity.isShen" class="node-reason">
                 <span>瀹℃壒鎰忚锛�</span>{{ activity.approveNodeReason }}
               </div>
+              <div v-if="!activity.isShen" class="node-reason">
+                <span>绛惧悕锛�</span>
+								<img :src="activity.urlTem" class="signImg" alt="" v-if="activity.urlTem"/>
+              </div>
               <div v-else-if="activity.isShen">
                 <el-form-item
                   :prop="'activities.' + index + '.approveNodeReason'"
@@ -116,7 +120,7 @@
       </el-form>
       <template #footer v-if="operationType === 'approval'">
         <div class="dialog-footer">
-          <el-button type="primary" @click="openSignatureDialog(2)">涓嶉�氳繃</el-button>
+          <el-button type="primary" @click="submitForm(2)">涓嶉�氳繃</el-button>
           <el-button type="primary" @click="openSignatureDialog(1)">閫氳繃</el-button>
           <el-button @click="closeDia">鍙栨秷</el-button>
         </div>
@@ -152,6 +156,7 @@
 import useUserStore from "@/store/modules/user.js";
 import {userListNoPageByTenantId} from "@/api/system/user.js";
 import { WarningFilled, Edit, Check, MoreFilled } from '@element-plus/icons-vue'
+import { getToken } from "@/utils/auth";
 const emit = defineEmits(['close'])
 const { proxy } = getCurrentInstance()
 
@@ -180,6 +185,14 @@
 const esign = ref(null);
 const lineWidth = ref(0);
 const lineColor = ref("#000000");
+
+// 涓婁紶閰嶇疆
+const upload = reactive({
+  // 涓婁紶鐨勫湴鍧�
+  url: import.meta.env.VITE_APP_BASE_API + "/file/upload",
+  // 璁剧疆涓婁紶鐨勮姹傚ご閮�
+  headers: { Authorization: "Bearer " + getToken() },
+});
 
 // 鑺傜偣鏍囬
 const getNodeTitle = (index, len) => {
@@ -215,6 +228,11 @@
     activities.value = res.data
     // 澧炲姞isApproval瀛楁
     activities.value.forEach(item => {
+			if (item.url && item.url.includes('word')) {
+				item.urlTem = item.url.replaceAll('word', 'img')
+			} else {
+				item.urlTem = item.url
+			}
       if (item.approveNodeStatus === 2) {
         item.isApproval = '宸查┏鍥�';
       } else if (item.approveNodeStatus === 1) {
@@ -243,23 +261,67 @@
 const confirmSignature = () => {
 	esign.value.generate().then((res) => {
 		console.log(res);
-		signatureImg.value = res;
-		signatureDialogVisible.value = false;
-		clearSignature()
-		submitForm(submitStatus);
+		// 灏哹ase64杞崲涓轰簩杩涘埗
+		const base64Data = res.split(',')[1]; // 绉婚櫎data:image/png;base64,鍓嶇紑
+		const binaryString = atob(base64Data);
+		const bytes = new Uint8Array(binaryString.length);
+		for (let i = 0; i < binaryString.length; i++) {
+			bytes[i] = binaryString.charCodeAt(i);
+		}
+		signatureImg.value = bytes;
+		
+		// 鍒涘缓鏂囦欢瀵硅薄鐢ㄤ簬涓婁紶
+		const blob = new Blob([bytes], { type: 'image/png' });
+		const file = new File([blob], 'signature.png', { type: 'image/png' });
+		
+		// 鍒涘缓FormData
+		const formData = new FormData();
+		formData.append('file', file);
+		
+		// 涓婁紶绛惧悕鍥剧墖
+		fetch(upload.url, {
+			method: 'POST',
+			headers: upload.headers,
+			body: formData
+		})
+		.then(response => response.json())
+		.then(data => {
+			if (data.code === 200) {
+				console.log('data---', data)
+				let tempFileIds = [];
+				tempFileIds.push(data.data.tempId);
+				signatureDialogVisible.value = false;
+				clearSignature();
+				// 鍙湁閫氳繃鏃舵墠浼犻�掔鍚嶆枃浠禝D
+				if (submitStatus === 1) {
+					submitForm(submitStatus, tempFileIds);
+				} else {
+					submitForm(submitStatus);
+				}
+			} else {
+				proxy.$modal.msgError("绛惧悕鍥剧墖涓婁紶澶辫触锛�" + data.msg);
+			}
+		})
+		.catch(error => {
+			console.error('涓婁紶澶辫触:', error);
+			proxy.$modal.msgError("绛惧悕鍥剧墖涓婁紶澶辫触");
+		});
 	}).catch((err) => {
 		console.log(err);
 		proxy.$modal.msgWarning("璇峰厛绛惧悕锛�");
 	})
 };
 // 鎻愪氦瀹℃壒
-const submitForm = (status) => {
+const submitForm = (status, tempFileIds) => {
   const filteredActivities = activities.value.filter(activity => activity.isShen);
   filteredActivities[0].approveNodeStatus = status;
-  filteredActivities[0].signatureImg = signatureImg.value; // 鏂板绛惧悕鍥剧墖瀛楁
+  // 鍙湁閫氳繃鏃舵墠闇�瑕佺鍚�
+  if (status === 1 && tempFileIds) {
+    filteredActivities[0].tempFileIds = tempFileIds;
+  }
   // 鍒ゆ柇鏄惁涓烘渶鍚庝竴姝�
   const isLast = activities.value.findIndex(a => a.isShen) === activities.value.length-1;
-  updateApproveNode({ ...filteredActivities[0], isLast, signatureImg: signatureImg.value }).then(() => {
+  updateApproveNode({ ...filteredActivities[0], isLast }).then(() => {
     proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
     closeDia();
   });
@@ -301,4 +363,9 @@
 	height: 30px;
 	border-radius: 50px;
 }
+.signImg {
+	cursor: pointer;
+	width: 200px;
+	height: 60px;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3