src/views/chatHome/chatHomeIndex/MobileChat.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/chatHome/chatHomeIndex/ai-jz.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/chatHome/chatHomeIndex/ai-wd.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/chatHome/chatHomeIndex/home.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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="ç»DeepSeekåéæ¶æ¯" />--> <!-- <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,21 +206,22 @@ // å¦æææ¥è¯¢å ³é®åï¼åæ¨¡ææµå¼è¾åº 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}"çé®é¢ï¼ææ¥ä¸ºæ¨è§£çï¼\n\nè¿æ¯ä¸ä¸ªç¤ºä¾åå¤å 容ï¼å±ç¤ºæµå¼è¾åºææãå¨å®é åºç¨ä¸ï¼è¿é伿¯æ¥èªAIççå®åå¤å 容ã\n\n请ç¨çï¼ææ£å¨æ´çç¸å ³ä¿¡æ¯...` const responseText = `å ³äº"${keyWord}"çé®é¢ï¼ææ¥ä¸ºæ¨è§£çï¼\n` + checking(keyWord) isSend.value = true let index = 0 setTimeout(() => { const interval = setInterval(() => { isSend.value = true if (index < responseText.length) { @@ -231,8 +232,11 @@ } else { clearInterval(interval) isSend.value = false loading.value = false } }, 50) // æ¯50msè¾åºä¸ä¸ªåç¬¦ï¼æ¨¡ææµå¼ææ }, delay) } </script> src/views/chatHome/chatHomeIndex/ai-jz.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,3 @@ export function jam() { return "" } src/views/chatHome/chatHomeIndex/ai-wd.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,393 @@ export function gasLeaks() { return "1. 设计ä¸è®¾å¤éæ©\n" + "éç¨é«è´¨éææï¼ç®¡éãéé¨ãå¨ç½ç设å¤åºéç¨èè èãèé«åçææï¼å¹¶ç¬¦åå®å ¨æ åï¼å¦ASMEãAPIçï¼ã\n" + "\n" + "å®å ¨è®¾è®¡ï¼\n" + "\n" + "å®è£ åä½çå®å ¨è£ ç½®ï¼å¦åééé¨ãçç ´çãå®å ¨éçï¼ã\n" + "\n" + "设置æ°ä½æ³æ¼æ£æµç³»ç»ï¼å¦å¯çæ°ä½æ¥è¦å¨ãææ¯æ°ä½ä¼ æå¨ï¼ã\n" + "\n" + "éç¨å°éå¼ç³»ç»è®¾è®¡ï¼åå°å¼æ¾æ¥å£ã\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" + "è¿è¾éä¸çæ§è½¦è¾ç¶æï¼å¦GPSãæ¸©åº¦ä¼ æå¨ï¼ã\n" + "\n" + "6. 人åå¹è®ä¸æå\n" + "å®å ¨å¹è®ï¼å®æå¼å±æ°ä½å±å®³ã鲿¤æªæ½ååºæ¥å¤ççå¹è®ã\n" + "\n" + "å®å ¨æåï¼é¼å±åå·¥æ¥åæ½å¨é£é©ï¼å»ºç«âé¶æ³æ¼â管çç®æ ã\n" + "\n" + "7. æ³è§ä¸æ å\n" + "éµå®ç¸å ³æ³è§ï¼å¦OSHAãGB 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" + "èç³»è¿è¾å ¬å¸å货主ï¼è·åææ¯æ¯æ´ï¼å¦MSDSå®å ¨æ°æ®è¡¨ï¼ã\n" + "\n" + "2. 人å鲿¤ä¸çæ£\n" + "ç©¿æ´é²æ¤è£ å¤ï¼\n" + "\n" + "å¯çæ°ä½ï¼é²çå·¥å ·+é²éçµæï¼ææ¯æ°ä½ï¼æ£åå¼å¼å¸å¨+é²åæã\n" + "\n" + "æ 鲿¤è£ 夿¶ï¼ç«å³æ¤ç¦»è³ä¸é£æ¹åã\n" + "\n" + "çæ£å¨è¾¹åºåï¼\n" + "\n" + "æ ¹æ®æ°ä½æ©æ£èå´ï¼åèåºæ¥ååºæåERGï¼çæ£å± æ°æä½ä¸äººåã\n" + "\n" + "é¿å 使´¼å¤æ»çï¼æäºæ°ä½æ¯ç©ºæ°éï¼å¦ç¡«åæ°¢ï¼ã\n" + "\n" + "3. æ§å¶æ³æ¼æ©æ£\n" + "ç©çæ¹æ³ï¼\n" + "\n" + "è¦çæ³æ¼å£ï¼å¦ç¨æµ¸æ°´æ£è¢«åå°æ¥åï¼ä½ç¦ç¨äºéæ°´ååºæ°ä½å¦æ°¯æ°ï¼ã\n" + "\n" + "çå ¤å´å µæ¶²ä½æ³æ¼ç©ï¼é²æ¢æµå ¥ä¸æ°´éææ²³æµã\n" + "\n" + "å妿¹æ³ï¼\n" + "\n" + "ä¸åå¤çï¼å¦æ°¨æ°æ³æ¼å·æ´ç¨çé ¸ï¼éä¸ä¸äººåæä½ï¼ã\n" + "\n" + "使ç¨å¸éææï¼å¦æ´»æ§çãæ²åå¸éææºæ°ä½ï¼ã" } export function operate(){ return "ä¸ãæä½ä¸å½åçåçåºæ¥å¤ç\n" + "1. ç«å³æ§å¶äºæ \n" + "忢æä½ï¼\n" + "\n" + "æä¸ç´§æ¥åæºæé®ï¼å ³éæè¿ç䏿¸¸éé¨ã\n" + "\n" + "å¯å¨åºæ¥é¢æ¡ï¼\n" + "\n" + "å°åæ³æ¼ï¼ä½¿ç¨åºæ¥å µæ¼å·¥å ·ï¼å¦å¯å°è¶ãå¤¹å ·ï¼ã\n" + "\n" + "大忳æ¼ï¼çæ£äººåï¼æ¥è¦æ±å©ï¼119/ç¯ä¿é¨é¨ï¼ã\n" + "\n" + "2. 人åå®å ¨\n" + "æ¤ç¦»ä¸é离ï¼\n" + "\n" + "é飿¤ç¦»è³ä¸é£åå®å ¨åºï¼é¿å 使´¼å¤ï¼éæ°ä½ç§¯èï¼ã\n" + "\n" + "æ¥ææªæ½ï¼\n" + "\n" + "å¸å ¥ææ¯æ°ä½ï¼ç§»è³ç©ºæ°æ°é²å¤ï¼å¿ è¦æ¶äººå·¥å¼å¸ã\n" + "\n" + "ç®è¤æ¥è§¦ï¼ç«å³ç¨æ¸ æ°´å²æ´15åéï¼è èæ§æ°ä½ï¼ã\n" + "\n" + "3. äºæ è°æ¥ä¸æ´æ¹\n" + "æ ¹æ¬åå åæï¼RCAï¼ï¼\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" + "ä¸ªäººé²æ¤è£ å¤ï¼PPEï¼ï¼é²æ¯é¢å ·ãåå¦é²æ¤æã\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" + "å¨ç½ãç®¡éæªæGB/T 150ï¼åå容卿 åï¼è®¾è®¡ã\n" + "\n" + "æªå®è£ å¯ç/ææ¯æ°ä½æ¥è¦å¨ï¼è¿åGB 50493ï¼ã\n" + "\n" + "é£é©ï¼\n" + "\n" + "设å¤å¤±æå¯¼è´æ³æ¼æçç¸ã\n" + "\n" + "ä¸ç¬¦ååºæ¥ç®¡ç鍿OSHAæ£æ¥è¦æ±ã\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" + "æªä¿åå®å ¨æ£æ¥è®°å½æå¹è®æ¡£æ¡ã\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" + "ä¼å¿ï¼ppbçº§æ£æµï¼å¦H2Sæ£æµä¸é0.1ppmï¼\n" + "\n" + "å±éï¼å温湿度影åï¼éå®ææ ¡åï¼\n" + "\n" + "éç¨ï¼ææ¯æ°ä½ï¼ClâãNHâãCOçï¼\n" + "\n" + "3. 红å¤å¸æ¶å¼ï¼NDIRï¼\n" + "åçï¼æ°ä½å¯¹ç¹å®çº¢å¤æ³¢æ®µç叿¶çæ£æµ\n" + "\n" + "ä¼å¿ï¼å æ ¡åï¼å¯¿å½5-10å¹´ï¼ãæä¸æ¯\n" + "\n" + "å±éï¼é«ææ¬ï¼ï¿¥5000+/个ï¼\n" + "\n" + "éç¨ï¼COâãCHâçæ¸©å®¤æ°ä½çæµ\n" + "\n" + "4. æ¿å å è°±ï¼TDLASï¼\n" + "åçï¼å¯è°è°æ¿å äºæç®¡æ«ææ°ä½å¸æ¶çº¿\n" + "\n" + "ä¼å¿ï¼ppm级精度ãååºms级\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 "ä¸å¥½ææï¼å°æºè¿å¨æé¿è¿ç¨ä¸ï¼æ¨çé®é¢å·²ç»è¶ è¿å°æºçå¤çèå´äºã"; } 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>大模åAIå°æºæ£å¨ä¸ºæ¨æå¡</i></div> </div> <div class="input"> <input type="text" v-model="keyWord" class="input-text" placeholder="ç»DeepSeekåéæ¶æ¯" @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">æå·æ¹å¼:ç°åºæå·:å¨å»é¢æå·çªå£æéåçãçº¿ä¸æå·:éè¿å»é¢å®ç½ãå¾®</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">å»ç确认åºé¢:主治å»çè¯ä¼°æ£è ç æ åï¼å¼å ·åºé¢ã</p> <p class="fontSize">ç»ç®è´¹ç¨:æ£è æå®¶å±æºå¸¦ä½é¢æ¼éåãå»ä¿å¡çææå°åºé¢ç»ç®çªå£åçãæ ¸</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">ä¸çº§é¨é¨æè¯:åå½å°å«çè½åº·å§å伿å»ççº çº·è°è§£å§å伿è¯ãæ¨æâ¦</p> <p class="fontSize">æªåå¾è¿è¾èµè´¨ï¼å¦ADR/RIDçå½é è§èï¼ã</p> <p class="fontSize">路线è§åä¸åè§ï¼å¦ç©¿è¶äººå£å¯éåºï¼ã</p> </div> <div class="keywordss" @click="sendMsgDefault(keyWordEight)"> <p class="fontSize aaa">{{keyWordEight}}</p> <p class="fontSize">ç³è¯·è½¬é¢:æ£è æå®¶å±å主治å»çæåºè½¬é¢ç³è¯·ãå»çè¯ä¼°ç æ ï¼ç¡®è®¤æ¯å¦éè¦</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; } } 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; // å°base64转æ¢ä¸ºäºè¿å¶ 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() clearSignature(); // åªæéè¿æ¶æä¼ éç¾åæä»¶ID 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>