2 lines
4.5 KiB
Java
2 lines
4.5 KiB
Java
import{B as V}from"./index-BDvqZ5j4.js";import{s as z,dI as G,aG as O,d as P,aQ as Q,au as H}from"./index-X7Y8jykP.js";import{a as K}from"./useModal-DaJ3Bflg.js";import"./index-DSsDi_fL.js";import{C as L}from"./Group-UHkub2tu.js";import{e as j,y as F,z as i,A as c,B as J,u as k,b as N,r as W,K as X,Q as l,C as p,F as v,f as d,D as Y,E as b,G as w}from"./vue-vendor-DNhG1Cve.js";import"./BasicModal-xH56XuRZ.js";import"./ModalHeader-Sr8KwhJJ.js";import"./useTimeout-D5AmIBZw.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";import"./index-BzChaRPg.js";import"./useWindowSizeFn-C-0M9_Ul.js";import"./index-ByCwbQDV.js";import"./index-Upeu4GGa.js";import"./index-C4wWpZeQ.js";import"./index-M9QP6cvf.js";import"./Skeleton-CimgOdM7.js";import"./useScrollTo-0FPEw5-K.js";import"./useIntersectionObserver-BGOgyKyu.js";import"./useAppInject-DPZGPcR3.js";import"./index-CuWaQdlK.js";import"./index-DO7ZhK45.js";import"./Checkbox-Dbxs4we4.js";import"./index-BuONesFs.js";const Z={class:"ai-modal-content"},ee={class:"ai-header"},te={class:"ai-body"},ae={key:1,class:"two"},oe={class:"field-list field-header"},le={class:"field-row"},se={class:"field-list"},ne={class:"field-content"},de=j({__name:"aiModal",props:["dataSource","DBtableRef","tableName","isUpdate"],emits:["register","close","generate"],setup(T,{emit:x}){const U={fields:"/online/cgform/api/aigc/fields"},m=T,_=x,{createMessage:h}=z(),[D,{closeModal:C}]=K(),f=W("one"),s=N({title:"AI字段建议",qualifier:"",loading:!1}),a=N({title:"推荐字段",checked:!1,indeterminate:!1,data:[]}),B=()=>f.value=="one"?s.title:a.title,M=t=>{t===!1&&setTimeout(()=>{_("close")},400)},I=(t=[])=>{const e=t.filter(o=>!m.DBtableRef.getTableData().some(u=>u.dbFieldName===o.dbFieldName));t.length==0||e.length==0?h.warn("请换一个修饰词再试~"):(e.forEach(o=>{o.checked=!0,["Date","Datetime"].includes(o.dbType)&&(o.fieldShowType=o.dbType=="Datetime"?"datetime":"date")}),a.data=e,a.checked=!0,f.value="two")},A=({target:t})=>{a.data.forEach(e=>e.checked=t.checked)},E=()=>{const t=a.data.filter(e=>e.checked===!0);a.checked=t.length===a.data.length,a.indeterminate=!!(t.length&&a.checked==!1)},y=()=>{if(s.qualifier.length==0){h.warn("请输入修饰词~");return}s.loading=!0,P.post({url:`${U.fields}?prompt=${s.qualifier}&code=${m.isUpdate&&m.tableName?m.tableName:""}`},{isTransformResponse:!1}).then(t=>{t.code==200?I(t.result):h.warn(t.message),s.loading=!1}).catch(t=>{s.loading=!1})},q=()=>{const e=Q(a.data).filter(o=>o.checked);e.forEach(o=>delete o.checked),_("generate",e),C()},R=()=>a.data.filter(t=>t.checked).length,S=()=>{C()};return(t,e)=>{const o=O,u=L,g=X("a-button");return i(),F(k(V),J(t.$attrs,{title:B(),width:600,"max-height":500,wrapClassName:"ai-suggestion-modal",onRegister:k(D),onOpenChange:M,canFullscreen:!1}),{footer:c(()=>[f.value=="one"?(i(),p(v,{key:0},[d(g,{onClick:S},{default:c(()=>[...e[5]||(e[5]=[b("取消",-1)])]),_:1}),d(g,{type:"primary",onClick:y,loading:s.loading},{default:c(()=>[b(w(s.loading?"生成中...":"生成建议"),1)]),_:1},8,["loading"])],64)):(i(),F(g,{key:1,type:"primary",onClick:q,disabled:!a.checked&&!a.indeterminate},{default:c(()=>[b("添加"+w(R())+"个字段进online",1)]),_:1},8,["disabled"]))]),default:c(()=>[l("div",Z,[f.value=="one"?(i(),p(v,{key:0},[l("div",ee,[d(k(G),{name:"robot",size:"40"}),e[2]||(e[2]=l("p",{class:"title"},"添加字段需要专业建议?试试AI智能字段推荐吧",-1)),e[3]||(e[3]=l("p",{class:"tip"},"可输入相应修饰词,如:员工信息登记表",-1))]),l("div",te,[d(o,{value:s.qualifier,"onUpdate:value":e[0]||(e[0]=n=>s.qualifier=n),valueModifiers:{trim:!0},placeholder:"请输入修饰词",onPressEnter:y},null,8,["value"])])],64)):(i(),p("div",ae,[l("div",oe,[l("div",le,[d(u,{checked:a.checked,"onUpdate:checked":e[1]||(e[1]=n=>a.checked=n),indeterminate:a.indeterminate,onChange:A},null,8,["checked","indeterminate"]),e[4]||(e[4]=l("div",{class:"field-list field-content"},[l("span",{class:"dbFieldName"},"字段名称"),l("span",{class:"dbFieldTxt"},"字段备注")],-1))])]),l("div",se,[(i(!0),p(v,null,Y(a.data,(n,$)=>(i(),p("div",{key:$,class:"field-row"},[d(u,{checked:n.checked,"onUpdate:checked":r=>n.checked=r,onChange:E},null,8,["checked","onUpdate:checked"]),l("div",ne,[d(o,{class:"dbFieldName",value:n.dbFieldName,"onUpdate:value":r=>n.dbFieldName=r,placeholder:"字段名称"},null,8,["value","onUpdate:value"]),d(o,{class:"dbFieldTxt",value:n.dbFieldTxt,"onUpdate:value":r=>n.dbFieldTxt=r,placeholder:"字段备注"},null,8,["value","onUpdate:value"])])]))),128))])]))])]),_:1},16,["title","onRegister"])}}}),Ie=H(de,[["__scopeId","data-v-8d34cb6b"]]);export{Ie as default};
|