astrion-website/demo/static/dist/assets/ConversationReviewDialog.js

2 lines
5.0 KiB
JavaScript

import{d as b,b as n,c as a,g as t,t as o,f as d,y as v,n as u,F as g,r as m,i as w,A as k}from"./runtime-dom.esm-bundler.js";import{_ as f}from"./_plugin-vue_export-helper.js";const C={class:"review-window"},$={class:"review-header"},M={class:"header-actions"},B=["title"],x=["disabled"],I={class:"review-body"},S={class:"review-left"},L={class:"pane-head"},D={key:0,class:"pane-head-meta"},N={key:0,class:"empty"},p={key:1,class:"empty"},E=["onClick","disabled"],P={class:"row"},T={class:"item-title"},A={key:0,class:"tag current-tag"},F={class:"meta"},R={key:0},V={key:3,class:"list-footer"},z=["disabled"],H={class:"review-right"},U={class:"pane-head"},j={class:"pane-head-label"},q={key:0,class:"pane-head-meta"},G={key:0,class:"placeholder"},J={key:1,class:"placeholder error"},K={class:"text-main"},O={key:2,class:"placeholder"},Q={class:"text-sub"},W={key:3,class:"preview-list"},X={class:"review-footer"},Y={class:"toggle-send"},Z=["checked"],_=["disabled"],ee=b({name:"ConversationReviewDialog",__name:"ConversationReviewDialog",props:{open:{type:Boolean},conversations:{},selectedId:{},loading:{type:Boolean},loadingMore:{type:Boolean},hasMore:{type:Boolean},submitting:{type:Boolean},currentConversationId:{},preview:{},previewLoading:{type:Boolean},previewError:{},previewLimit:{},sendToModel:{type:Boolean},generatedPath:{},iconStyle:{type:Function}},emits:["close","select","load-more","confirm","toggle-send"],setup(e){const h=e,r=l=>h.iconStyle?h.iconStyle(l):{},y=l=>{if(!l)return"-";const s=new Date(l);if(Number.isNaN(s.getTime()))return"-";const i=c=>String(c).padStart(2,"0");return`${i(s.getMonth()+1)}/${i(s.getDate())} ${i(s.getHours())}:${i(s.getMinutes())}`};return(l,s)=>(n(),a("div",{class:"review-overlay",onClick:s[4]||(s[4]=k(i=>l.$emit("close"),["self"]))},[t("div",C,[t("div",$,[s[5]||(s[5]=t("div",{class:"header-titles"},[t("div",{class:"title"},"对话回顾"),t("div",{class:"subtitle"},"选择要生成回顾文件的对话")],-1)),t("div",M,[e.generatedPath?(n(),a("div",{key:0,class:"hint",title:e.generatedPath}," 已生成 "+o(e.generatedPath),9,B)):d("",!0),t("button",{type:"button",class:"icon-close-btn","aria-label":"关闭",title:"关闭",onClick:s[0]||(s[0]=i=>l.$emit("close")),disabled:e.submitting},[t("span",{class:"icon icon-sm",style:v(r("x")),"aria-hidden":"true"},null,4)],8,x)])]),t("div",I,[t("div",S,[t("div",L,[s[6]||(s[6]=t("span",{class:"pane-head-label"},"对话列表",-1)),e.conversations.length?(n(),a("span",D," 共 "+o(e.conversations.length)+" 条 ",1)):d("",!0)]),t("div",{class:u(["scroll-area conversation-list",{loading:e.loading}])},[e.loading?(n(),a("div",N,"正在加载...")):e.conversations.length?(n(!0),a(g,{key:2},m(e.conversations,i=>(n(),a("button",{key:i.id,type:"button",class:u(["conversation-item",{active:i.id===e.selectedId,current:i.id===e.currentConversationId}]),onClick:c=>l.$emit("select",i.id),disabled:e.submitting||i.id===e.currentConversationId},[t("div",P,[t("span",T,o(i.title||"未命名对话"),1),i.id===e.currentConversationId?(n(),a("span",A,"当前")):d("",!0)]),t("div",F,[t("span",null,o(y(i.updated_at)),1),t("span",null,[w(o(i.total_messages||0)+"条 ",1),(i.total_tools||0)>0?(n(),a("span",R," · "+o(i.total_tools)+"工具",1)):d("",!0)])])],10,E))),128)):(n(),a("div",p,"暂无对话")),e.conversations.length||e.hasMore?(n(),a("div",V,[t("button",{type:"button",class:"load-more-btn",onClick:s[1]||(s[1]=i=>l.$emit("load-more")),disabled:e.loadingMore||!e.hasMore||e.submitting},o(e.loadingMore?"载入中...":e.hasMore?"加载更多":"没有更多了"),9,z)])):d("",!0)],2)]),t("div",H,[t("div",U,[t("span",j,"预览(前 "+o(e.previewLimit)+" 条)",1),e.preview&&e.preview.length?(n(),a("span",q,o(e.preview.length)+" 条 ",1)):d("",!0)]),t("div",{class:u(["scroll-area preview-box",{loading:e.previewLoading}])},[e.previewLoading?(n(),a("div",G,[t("span",{class:"icon icon-xl placeholder-icon",style:v(r("clock")),"aria-hidden":"true"},null,4),s[7]||(s[7]=t("div",{class:"text-main"},"预览生成中...",-1))])):e.previewError?(n(),a("div",J,[t("span",{class:"icon icon-xl placeholder-icon",style:v(r("triangleAlert")),"aria-hidden":"true"},null,4),t("div",K,o(e.previewError),1)])):!e.preview||!e.preview.length?(n(),a("div",O,[t("span",{class:"icon icon-xl placeholder-icon",style:v(r("file")),"aria-hidden":"true"},null,4),s[8]||(s[8]=t("div",{class:"text-main"},"选择左侧对话以查看预览",-1)),t("div",Q,"最多展示前 "+o(e.previewLimit)+" 条",1)])):(n(),a("div",W,[(n(!0),a(g,null,m(e.preview,(i,c)=>(n(),a("div",{key:c,class:"preview-line"},o(i),1))),128))]))],2)])]),t("div",X,[t("label",Y,[t("input",{type:"checkbox",checked:e.sendToModel,onChange:s[2]||(s[2]=i=>l.$emit("toggle-send",i.target.checked))},null,40,Z),s[9]||(s[9]=t("span",{class:"switch"},null,-1)),s[10]||(s[10]=t("span",{class:"label"},"是否发送给模型",-1))]),t("button",{type:"button",class:"primary-btn",onClick:s[3]||(s[3]=i=>l.$emit("confirm")),disabled:!e.selectedId||e.submitting},o(e.submitting?"生成中...":"确认"),9,_)])])]))}}),ie=f(ee,[["__scopeId","data-v-a8179ad5"]]);export{ie as default};