2 lines
5.3 KiB
Java
2 lines
5.3 KiB
Java
var ee=Object.defineProperty;var L=Object.getOwnPropertySymbols;var ae=Object.prototype.hasOwnProperty,te=Object.prototype.propertyIsEnumerable;var M=(c,r,s)=>r in c?ee(c,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):c[r]=s,S=(c,r)=>{for(var s in r||(r={}))ae.call(r,s)&&M(c,s,r[s]);if(L)for(var s of L(r))te.call(r,s)&&M(c,s,r[s]);return c};var O=(c,r,s)=>new Promise((u,U)=>{var g=v=>{try{l(s.next(v))}catch(b){U(b)}},n=v=>{try{l(s.throw(v))}catch(b){U(b)}},l=v=>v.done?u(v.value):Promise.resolve(v.value).then(g,n);l((s=s.apply(c,r)).next())});import{d as le,ah as f,aC as p,as as d,aF as w,au as h,k as I,ar as C,aD as A,f as $,ag as oe,F as E,u as B,e as N}from"./vue-vendor-C7Zq48Yl.js";import{f as x}from"./antd-vue-vendor-BPnV8VqP.js";import{q as ne,aM as se,M as V,b as q,d as re}from"./index-BI6CMai0.js";import"./vxe-table-vendor-B88kchpX.js";const ie={class:"settings-content"},ue={key:2,class:"image-upload-container"},ce={class:"image-list-wrapper"},de=["src","onClick"],ve=["onClick"],me={class:"upload-trigger"},fe=le({__name:"ConversationSettingsModal",props:{flowInputs:{},conversationId:{},existingSettings:{}},emits:["ok","cancel"],setup(c,{expose:r,emit:s}){const u=c,U=s,g=$(!1),n=$({}),l=$({}),z=`${ne().uploadUrl}/airag/chat/upload`,D=se(),y=N(()=>{var a;const e=["history","content","images"];return((a=u.flowInputs)==null?void 0:a.filter(o=>!e.includes(o.field)))||[]}),F=N(()=>y.value.length===0?!0:y.value.every(e=>{if(!e.required)return!0;const a=n.value[e.field];return e.type==="picture"?l.value[e.field]&&l.value[e.field].length>0:a!=null&&a!==""})),H=(e,a)=>{var _,k;return((_=e.type)==null?void 0:_.startsWith("image/"))?(((k=l.value[a])==null?void 0:k.length)||0)>=3?(x.warning("最多只能上传3张图片!"),!1):!0:(x.error("只能上传图片文件!"),!1)},G=(e,a)=>{var m;const{file:o}=e;if(o.status==="error"||o.response&&o.response.code===500){x.error(((m=o.response)==null?void 0:m.message)||`${o.name} 上传失败`);return}if(o.status==="done"&&o.response){const _=o.response.message;if(l.value[a]||(l.value[a]=[]),l.value[a].length>=3){x.warning("最多只能上传3张图片!");return}l.value[a].push(_),l.value=S({},l.value),n.value[a]=[...l.value[a]]}},R=e=>typeof e=="string"?q(e):q(e.url||e),T=e=>{const a=typeof e=="string"?e:e.url||e,o=q(a);window.open(o,"_blank")},W=(e,a)=>{l.value[a]&&(l.value[a].splice(e,1),l.value=S({},l.value),n.value[a]=l.value[a].length>0?[...l.value[a]]:[])},J=()=>{g.value=!0,n.value={},l.value={},u.existingSettings&&Object.keys(u.existingSettings).length>0&&Object.keys(u.existingSettings).forEach(e=>{const a=u.flowInputs.find(o=>o.field===e);if(a)if(a.type==="picture"){const o=Array.isArray(u.existingSettings[e])?u.existingSettings[e]:u.existingSettings[e]?[u.existingSettings[e]]:[];l.value[e]=o.filter(m=>m),n.value[e]=[...l.value[e]]}else n.value[e]=u.existingSettings[e]})},K=()=>O(null,null,function*(){if(!F.value){x.warning("请填写所有必填项");return}const e={};y.value.forEach(a=>{const o=n.value[a.field];o!=null&&o!==""&&(e[a.field]=o)}),U("ok",e),g.value=!1});return r({open:J}),(e,a)=>{const o=f("a-input"),m=f("a-input-number"),_=f("a-upload"),k=f("a-select"),Q=f("a-form-item"),X=f("a-form"),Y=f("a-modal");return d(),p(Y,{open:g.value,"onUpdate:open":a[0]||(a[0]=t=>g.value=t),title:"对话设置",width:600,maskClosable:!1,keyboard:!1,onOk:K,okText:"开始对话",cancelButtonProps:{style:{display:"none"}},okButtonProps:{disabled:!F.value}},{default:w(()=>[h("div",ie,[I(X,{model:n.value,layout:"vertical"},{default:w(()=>[(d(!0),C(E,null,A(y.value,t=>(d(),p(Q,{key:t.field,label:t.name,required:t.required},{default:w(()=>{var P;return[t.type==="string"?(d(),p(o,{key:0,value:n.value[t.field],"onUpdate:value":i=>n.value[t.field]=i,placeholder:`请输入${t.name}`,maxlength:t.maxLength,"show-count":""},null,8,["value","onUpdate:value","placeholder","maxlength"])):t.type==="number"?(d(),p(m,{key:1,value:n.value[t.field],"onUpdate:value":i=>n.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(),C("div",ue,[h("div",ce,[(d(!0),C(E,null,A(l.value[t.field],(i,j)=>(d(),C("div",{key:j,class:"image-preview-item"},[h("img",{src:R(i),onClick:Z=>T(i)},null,8,de),h("div",{class:"image-remove-icon",onClick:Z=>W(j,t.field)},[I(B(V),{icon:"ant-design:close-outlined",size:12})],8,ve)]))),128)),(((P=l.value[t.field])==null?void 0:P.length)||0)<3?(d(),p(_,{key:0,accept:".jpg,.jpeg,.png",name:"file",showUploadList:!1,headers:B(D),beforeUpload:i=>H(i,t.field),onChange:i=>G(i,t.field),multiple:!0,action:z,"max-count":3},{default:w(()=>[h("div",me,[I(B(V),{icon:"ant-design:plus-outlined",size:20}),a[1]||(a[1]=h("div",{class:"upload-text"},"上传图片",-1))])]),_:1},8,["headers","beforeUpload","onChange"])):oe("",!0)])])):t.type==="string[]"?(d(),p(k,{key:3,value:n.value[t.field],"onUpdate:value":i=>n.value[t.field]=i,mode:"tags",placeholder:`请输入${t.name}`,style:{width:"100%"}},null,8,["value","onUpdate:value","placeholder"])):(d(),p(o,{key:4,value:n.value[t.field],"onUpdate:value":i=>n.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"])}}}),Ue=re(fe,[["__scopeId","data-v-e19d7d15"]]);export{Ue as default};
|