| 1 |
- import{d as e,K as s,D as a,z as t,t as i,L as o,a as n,M as l,N as p}from"./element-plus.ea_38_Np.js";import{M as r,aL as d,u as m,au as u,v as c,F as j,aX as v,I as f,bJ as h,bk as b,bb as g,t as y,bM as w,bO as x,aU as _,q as z}from"./@vue.DbmRtknU.js";import{_ as k}from"./index.CAsHN19g.js";import"./lodash-es.DaM9m3L-.js";import"./async-validator.j0i5Y79Y.js";import"./@popperjs.DxtSUbXb.js";import"./@ctrl.BEgk5vdO.js";import"./dayjs.DCWbrgJ0.js";import"./memoize-one.BAtLgO95.js";import"./normalize-wheel-es.TzhA1irr.js";import"./@floating-ui.8vigAAFV.js";import"./pinia.BlfmsheH.js";import"./@vueuse.Dnsd2JKX.js";import"./vue-i18n.DXLOBfKS.js";import"./@intlify.DPMNdUn_.js";import"./nprogress.BTjJXJ-u.js";import"./codemirror.CYSLATvI.js";import"./diff-match-patch.DkK4wJpa.js";import"./vue-web-terminal.D-rog7dz.js";import"./vue.MGxsMDTR.js";/* empty css */import"./vue-router.yxIMtaxH.js";import"./axios.Da-QW0H8.js";import"./qs.BQjOrGHM.js";import"./side-channel.4q28KFJj.js";import"./es-errors.DTEWvbA_.js";import"./object-inspect.DvQZIv3_.js";import"./side-channel-list.Do0-XmF5.js";import"./side-channel-map.DNHQ53lO.js";import"./get-intrinsic.Bbe5x-9b.js";import"./es-object-atoms.CyiuHMUS.js";import"./math-intrinsics.pM-JTNwN.js";import"./gopd.BudZp56J.js";import"./es-define-property.F0aoeP8o.js";import"./has-symbols.BcO-SUVM.js";import"./get-proto.Cb_fpw-j.js";import"./dunder-proto.WEH3rgQR.js";import"./call-bind-apply-helpers.DJjIjCF_.js";import"./function-bind.DrnB-baK.js";import"./hasown.BXcyoiLU.js";import"./call-bound.22gFUC2Q.js";import"./side-channel-weakmap.DpSeWE6i.js";import"./pinia-plugin-persistedstate.COWkwNh5.js";const C={class:"input-wrapper"},B={key:0,class:"uploaded-files"},I={class:"file-name"},M={class:"input-container"},q={class:"input-footer"},K={class:"input-actions"},S=k(r({__name:"ChatInput",props:{disabled:{type:Boolean,default:!1},sending:{type:Boolean,default:!1},isConnected:{type:Boolean,default:!0}},emits:["send"],setup(r,{expose:k,emit:S}){const D=r,E=S,F=_(""),L=_([]),R=z(()=>".pdf,.doc,.docx,.txt,.jpg,.jpeg,.png,.gif,.mp3,.wav,.mp4,.avi,.mov"),V=z(()=>D.isConnected?"向FA助手发送消息...":"请先连接到服务器"),A=e=>{const s=e.raw;if(!s)return;if(s.size>10485760)return void alert("文件大小不能超过10MB");const a={id:Date.now().toString()+Math.random().toString(36).substr(2),name:s.name,size:s.size,type:s.type,file:s};L.value.push(a)},J=()=>{const e=F.value.trim();!e&&0===L.value.length||D.disabled||D.sending||(E("send",e,L.value.length>0?[...L.value]:void 0),F.value="",L.value=[])},U=()=>{F.value+="\n"};return k({focus:()=>{const e=document.querySelector(".message-input textarea");null==e||e.focus()}}),(_,z)=>{const k=e,S=i,D=t,E=n,G=o;return d(),m("div",{class:u(["chat-input",{"chat-input--disabled":r.disabled}])},[c("div",C,[L.value.length>0?(d(),m("div",B,[(d(!0),m(j,null,v(L.value,e=>(d(),m("div",{key:e.id,class:"file-item"},[f(k,{class:"file-icon"},{default:h(()=>[f(b(s))]),_:1}),c("span",I,g(e.name),1),f(k,{class:"file-remove",onClick:s=>(e=>{const s=L.value.findIndex(s=>s.id===e);s>-1&&L.value.splice(s,1)})(e.id)},{default:h(()=>[f(b(a))]),_:1},8,["onClick"])]))),128))])):y("",!0),c("div",M,[f(D,null,{default:h(()=>[f(S,{modelValue:F.value,"onUpdate:modelValue":z[0]||(z[0]=e=>F.value=e),type:"textarea",placeholder:V.value,disabled:r.disabled||r.sending,autosize:{minRows:1,maxRows:6},resize:"none",class:"message-input",onKeydown:[w(x(J,["exact","prevent"]),["enter"]),w(x(U,["shift","exact"]),["enter"])]},null,8,["modelValue","placeholder","disabled","onKeydown"])]),_:1}),c("div",q,[c("div",K,[f(G,{ref:"uploadRef","auto-upload":!1,"show-file-list":!1,"on-change":A,accept:R.value,multiple:!0},{default:h(()=>[f(E,{icon:b(l),class:"upload-btn",circle:""},null,8,["icon"])]),_:1},8,["accept"]),f(E,{disabled:!F.value.trim()&&0===L.value.length||r.disabled||r.sending,loading:r.sending,class:"send-button",type:"primary",circle:"",onClick:J},{default:h(()=>[f(k,null,{default:h(()=>[f(b(p))]),_:1})]),_:1},8,["disabled","loading"])])])]),z[1]||(z[1]=c("div",{class:"input-hint"},[c("span",null,"按 Enter 发送消息,Shift + Enter 换行")],-1))])],2)}}}),[["__scopeId","data-v-a128190e"]]);export{S as default};
|