Files
qhmes/web-dist/js/ConversationSettingsModal-BjDvf4-T.js
2026-06-16 18:19:57 +08:00

2 lines
5.3 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var Z=Object.defineProperty;var q=Object.getOwnPropertySymbols;var ee=Object.prototype.hasOwnProperty,ae=Object.prototype.propertyIsEnumerable;var A=(c,r,s)=>r in c?Z(c,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):c[r]=s,C=(c,r)=>{for(var s in r||(r={}))ee.call(r,s)&&A(c,s,r[s]);if(q)for(var s of q(r))ae.call(r,s)&&A(c,s,r[s]);return c};var L=(c,r,s)=>new Promise((u,x)=>{var f=v=>{try{l(s.next(v))}catch(b){x(b)}},o=v=>{try{l(s.throw(v))}catch(b){x(b)}},l=v=>v.done?u(v.value):Promise.resolve(v.value).then(f,o);l((s=s.apply(c,r)).next())});import{a1 as te,c0 as le,M as ne,F as oe,aB as se,aG as re,x as M,bV as ie,av as ue,bn as h,v as S,au as ce}from"./index-X7Y8jykP.js";import{e as de,y as m,z as d,A as k,c as N,r as I,Q as _,f as B,C as w,F as O,D as V,H as ve,u as $}from"./vue-vendor-DNhG1Cve.js";import pe from"./index-DklMb9Qc.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";import"./UpOutlined-B1UMbtrP.js";const me={class:"settings-content"},fe={key:2,class:"image-upload-container"},ge={class:"image-list-wrapper"},_e=["src","onClick"],he=["onClick"],xe={class:"upload-trigger"},be=de({__name:"ConversationSettingsModal",props:{flowInputs:{},conversationId:{},existingSettings:{}},emits:["ok","cancel"],setup(c,{expose:r,emit:s}){const u=c,x=s,f=I(!1),o=I({}),l=I({}),z=`${te().uploadUrl}/airag/chat/upload`,E=le(),U=N(()=>{var a;const e=["history","content","images"];return((a=u.flowInputs)==null?void 0:a.filter(n=>!e.includes(n.field)))||[]}),F=N(()=>U.value.length===0?!0:U.value.every(e=>{if(!e.required)return!0;const a=o.value[e.field];return e.type==="picture"?l.value[e.field]&&l.value[e.field].length>0:a!=null&&a!==""})),H=(e,a)=>{var g,y;return((g=e.type)==null?void 0:g.startsWith("image/"))?(((y=l.value[a])==null?void 0:y.length)||0)>=3?(h.warning("最多只能上传3张图片"),!1):!0:(h.error("只能上传图片文件"),!1)},D=(e,a)=>{var p;const{file:n}=e;if(n.status==="error"||n.response&&n.response.code===500){h.error(((p=n.response)==null?void 0:p.message)||`${n.name} 上传失败`);return}if(n.status==="done"&&n.response){const g=n.response.message;if(l.value[a]||(l.value[a]=[]),l.value[a].length>=3){h.warning("最多只能上传3张图片");return}l.value[a].push(g),l.value=C({},l.value),o.value[a]=[...l.value[a]]}},G=e=>typeof e=="string"?S(e):S(e.url||e),Q=e=>{const a=typeof e=="string"?e:e.url||e,n=S(a);window.open(n,"_blank")},R=(e,a)=>{l.value[a]&&(l.value[a].splice(e,1),l.value=C({},l.value),o.value[a]=l.value[a].length>0?[...l.value[a]]:[])},T=()=>{f.value=!0,o.value={},l.value={},u.existingSettings&&Object.keys(u.existingSettings).length>0&&Object.keys(u.existingSettings).forEach(e=>{const a=u.flowInputs.find(n=>n.field===e);if(a)if(a.type==="picture"){const n=Array.isArray(u.existingSettings[e])?u.existingSettings[e]:u.existingSettings[e]?[u.existingSettings[e]]:[];l.value[e]=n.filter(p=>p),o.value[e]=[...l.value[e]]}else o.value[e]=u.existingSettings[e]})},W=()=>L(null,null,function*(){if(!F.value){h.warning("请填写所有必填项");return}const e={};U.value.forEach(a=>{const n=o.value[a.field];n!=null&&n!==""&&(e[a.field]=n)}),x("ok",e),f.value=!1});return r({open:T}),(e,a)=>{const n=re,p=pe,g=ie,y=ue,J=se,K=oe,X=ne;return d(),m(X,{open:f.value,"onUpdate:open":a[0]||(a[0]=t=>f.value=t),title:"对话设置",width:600,maskClosable:!1,keyboard:!1,onOk:W,okText:"开始对话",cancelButtonProps:{style:{display:"none"}},okButtonProps:{disabled:!F.value}},{default:k(()=>[_("div",me,[B(K,{model:o.value,layout:"vertical"},{default:k(()=>[(d(!0),w(O,null,V(U.value,t=>(d(),m(J,{key:t.field,label:t.name,required:t.required},{default:k(()=>{var P;return[t.type==="string"?(d(),m(n,{key:0,value:o.value[t.field],"onUpdate:value":i=>o.value[t.field]=i,placeholder:`请输入${t.name}`,maxlength:t.maxLength,"show-count":""},null,8,["value","onUpdate:value","placeholder","maxlength"])):t.type==="number"?(d(),m(p,{key:1,value:o.value[t.field],"onUpdate:value":i=>o.value[t.field]=i,placeholder:`请输入${t.name}`,style:{width:"100%"},min:t.min,max:t.max},null,8,["value","onUpdate:value","placeholder","min","max"])):t.type==="picture"?(d(),w("div",fe,[_("div",ge,[(d(!0),w(O,null,V(l.value[t.field],(i,j)=>(d(),w("div",{key:j,class:"image-preview-item"},[_("img",{src:G(i),onClick:Y=>Q(i)},null,8,_e),_("div",{class:"image-remove-icon",onClick:Y=>R(j,t.field)},[B($(M),{icon:"ant-design:close-outlined",size:12})],8,he)]))),128)),(((P=l.value[t.field])==null?void 0:P.length)||0)<3?(d(),m(g,{key:0,accept:".jpg,.jpeg,.png",name:"file",showUploadList:!1,headers:$(E),beforeUpload:i=>H(i,t.field),onChange:i=>D(i,t.field),multiple:!0,action:z,"max-count":3},{default:k(()=>[_("div",xe,[B($(M),{icon:"ant-design:plus-outlined",size:20}),a[1]||(a[1]=_("div",{class:"upload-text"},"上传图片",-1))])]),_:1},8,["headers","beforeUpload","onChange"])):ve("",!0)])])):t.type==="string[]"?(d(),m(y,{key:3,value:o.value[t.field],"onUpdate:value":i=>o.value[t.field]=i,mode:"tags",placeholder:`请输入${t.name}`,style:{width:"100%"}},null,8,["value","onUpdate:value","placeholder"])):(d(),m(n,{key:4,value:o.value[t.field],"onUpdate:value":i=>o.value[t.field]=i,placeholder:`请输入${t.name}`},null,8,["value","onUpdate:value","placeholder"]))]}),_:2},1032,["label","required"]))),128))]),_:1},8,["model"])])]),_:1},8,["open","okButtonProps"])}}}),Ie=ce(be,[["__scopeId","data-v-e19d7d15"]]);export{Ie as default};