ConversationHistory-CK7XvAH5.js 12 KB

1
  1. import{_ as j,o as i,d as m,e as y,t as $,r as h,m as x,c as S,s as te,f as v,v as ne,x as se,h as f,y as oe,z as L,A as ae,M as ie,B as F,C as re,q as V,F as O,i as N,j as E,p as J,g as w,D as ce,E as G,n as K,w as T,u as le}from"./index-CywOiDoM.js";import ue from"./LayoutExperience-BPOH_chZ.js";import _e from"./ContentContainer-Dch0KPws.js";import{C as de}from"./ChatAsideMenu-D-17Ect7.js";import{g as me}from"./get-icon-4-dialog-CQ_Fafrl.js";import{j as W,a as pe}from"./utils-CsRjr03X.js";import{a as he}from"./api-conversation-board-BkgcP4d8.js";import{u as ye}from"./use-all-agents-BbRnxt0K.js";import"./Header-DP1TaGWo.js";import"./Header.vue_vue_type_style_index_0_scoped_1a4686f8_lang-BttNXPyT.js";import"./use-current-user-DSoa33hi.js";/* empty css */import"./icon-map-MpRwWyE4.js";const ve={},fe={class:"conversation-history-title"};function ge(e,n){return i(),m("div",fe,[y("div",null,$(e.$t("conversation.chat_history")),1)])}const ke=j(ve,[["render",ge],["__scopeId","data-v-dc2dadf4"]]),Ce={class:"conversation-search-input"},be={class:"search-input-content"},$e={class:"search-input-icon icon-search"},He={class:"search-input-container"},Ie=["placeholder"],Te={__name:"HistorySearchInput",emits:["search"],setup(e,{emit:n}){const s=n,t=h(""),r=x(()=>t.value.length!==0),p=a=>{t.value=a.target.value},c=a=>{t.value=a.target.value},l=a=>{a.keyCode===13&&s("search",t.value)},o=()=>{t.value="",s("search",t.value)};return(a,_)=>{const k=S("icon-search"),d=S("icon-close");return i(),m("div",Ce,[y("div",be,[te(a.$slots,"default",{},void 0,!0),y("div",$e,[v(k)]),y("div",He,[ne(y("input",{type:"text",class:"search-input",placeholder:a.$t("conversation.search_history"),"onUpdate:modelValue":_[0]||(_[0]=C=>t.value=C),onInput:p,onChange:c,onKeyup:l},null,40,Ie),[[se,t.value]])]),r.value?(i(),m("div",{key:0,class:"search-input-icon icon-clear",onClick:o},[v(d)])):f("",!0)])])}}},xe=j(Te,[["__scopeId","data-v-f071913d"]]);var Se={exports:{}};(function(e,n){(function(s,t){e.exports=t()})(oe,function(){return{name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(s){var t=["th","st","nd","rd"],r=s%100;return"["+s+(t[(r-20)%10]||t[r]||t[0])+"]"}}})})(Se);const Ae=1e3*60,De=Ae*60,Q=De*24,Le=Q*30,we=()=>{const e=new Date;return e.setHours(0,0,0,0),e.getTime()},Me=(e,n)=>{if(!n)return L(e).format("HH:mm");if(n==="zh")return L(e).locale("zh-cn").format("HH:mm");if(n==="en")return L(e).format("HH:mm")},ze=(e,n)=>n?n==="zh"?L(e).locale("zh-cn").format("dddd"):L(e).format("dddd"):L(e).format("dddd"),Ne=(e,n)=>n?n==="zh"?L(e).locale("zh-cn").format("MM-DD"):L(e).format("MM-DD"):L(e).format("MM-DD"),je=e=>{const n=e.agent_id;if(!n)return Promise.reject(new Error("前端异常:Invalid Agent ID"));const s=`/api/agent/${n}/sessions`,t={};return"per_page"in e&&(t.limit=e.per_page/1),"page"in e&&(t.page=e.page/1),"search"in e&&e.search&&(t.keyword=e.search),ae({url:s,method:"get",params:t})},Oe=e=>(W({conversation_ids:[e]}),new Promise((s,t)=>{setTimeout(()=>{s({code:200,data:!0,msg:""})},1e3)})),Be={__name:"BtnHistoryItemDelete",props:{target_id:String},emits:["deleteSuccess"],setup(e,{emit:n}){const s=e,t=n;h(1),h("");const r=()=>{ie.info({title:"您确定要删除吗?",okText:"确定",cancelText:"取消",hideCancel:!1,onOk(c){},async onBeforeOk(){try{return await p()===200}catch{return!1}},onCancel(){}})},p=()=>new Promise((c,l)=>{Oe(s.target_id).then(o=>{o.code/1===200?(F.success("删除成功"),t("deleteSuccess"),c(200)):F.warning(o.msg)}).catch(o=>{F.warning(o.msg),l(o)})});return(c,l)=>{const o=S("icon-delete");return i(),m("span",{onClick:r},[v(o,{color:"danger"})])}}},Ee=["src"],Re={class:"history-item-intro"},Ve={class:"history-item-actions"},qe={class:"history-item-time"},Fe={class:"history-item-delete"},Pe={__name:"HistoryItem",props:{history:Object,index:Number},emits:["active","delete"],setup(e,{emit:n}){const s=e,t=n,r=h(!1),p=me(),c=re(),l=x(()=>s.history.client_field_content_type==="label"),o=x(()=>s.history.client_field_content_type==="content"),a=x(()=>o.value&&!r.value),_=x(()=>{const u={"conversation-history-item":!0};return u[`item-${s.index}`]=!0,u[`item-${s.history.id}`]=!0,u[s.history.client_field_timestamp_type]=!0,l.value&&(u["conversation-history-section-title"]=!0),o.value&&(u["conversation-history-section-data"]=!0),u}),k=x(()=>{const u=s.history.client_field_timestamp_type,H=s.history.create_time,A=c.value;return u==="today"?Me(H,A):u==="month"?ze(H,A):u==="earlier"?Ne(H,A):""}),d=()=>{t("active",s.history.id)},C=()=>{r.value=!0};return(u,H)=>(i(),m(O,null,[l.value?(i(),m("div",{key:0,class:V(_.value)},[e.history.client_field_timestamp_type==="today"?(i(),m(O,{key:0},[N($(u.$t("conversation.history_today")),1)],64)):f("",!0),e.history.client_field_timestamp_type==="month"?(i(),m(O,{key:1},[N($(u.$t("conversation.history_month")),1)],64)):f("",!0),e.history.client_field_timestamp_type==="earlier"?(i(),m(O,{key:2},[N($(u.$t("conversation.history_earlier")),1)],64)):f("",!0)],2)):f("",!0),a.value?(i(),m("div",{key:1,class:V(_.value)},[y("div",{class:"history-item-icon",onClick:d},[y("img",{src:E(p)},null,8,Ee)]),y("div",Re,[y("div",{class:"history-item-intro-title",onClick:d},$(e.history.name),1)]),y("div",Ve,[y("span",qe,$(k.value),1),y("span",Fe,[v(Be,{target_id:e.history.id,onDeleteSuccess:C},null,8,["target_id"])])])],2)):f("",!0)],64))}},Ue=j(Pe,[["__scopeId","data-v-de3c7eb4"]]),Je={key:0,class:"history-item-icon can-loadmore"},Ge={key:1,class:"history-item-icon"},Ke={__name:"HistoryLoadMore",props:{can_loadmore:Boolean},emits:["loadmore"],setup(e,{emit:n}){const s=e,t=n,r=x(()=>{const c={"conversation-history-item":!0};return c["load-more"]=!0,c}),p=()=>{s.can_loadmore&&t("loadmore")};return(c,l)=>(i(),m("div",{class:V(r.value),onClick:p},[e.can_loadmore?(i(),m("div",Je,$(c.$t("conversation.history_loadmore")),1)):f("",!0),e.can_loadmore?f("",!0):(i(),m("div",Ge,$(c.$t("conversation.history_nomore")),1))],2))}},We=j(Ke,[["__scopeId","data-v-b2662c66"]]),Qe={class:"conversation-history-list-section"},Ye={__name:"HistoryList",props:{list:Array,can_loadmore:Boolean},emits:["active","delete","loadmore"],setup(e,{emit:n}){const s=n,t=x(()=>"conversation-history-list"),r=l=>{s("active",l)},p=l=>{s("delete",l)},c=()=>{s("loadmore")};return(l,o)=>(i(),m("div",Qe,[y("div",{class:V(t.value)},[(i(!0),m(O,null,J(e.list,(a,_)=>(i(),w(Ue,{key:a.id,history:a,index:_,onActive:r,onDelete:p},null,8,["history","index"]))),128)),v(We,{can_loadmore:e.can_loadmore,onLoadmore:c},null,8,["can_loadmore"])],2)]))}},Ze=j(Ye,[["__scopeId","data-v-965964ed"]]);function Xe(e){const n=h(1),s=h(""),t=h([]),r=ye(),p=()=>({});return{getAgentList:()=>{const l=r.agents;if(l.length!==0){typeof e=="function"&&e(l),t.value=l;return}const o=p();n.value=2,s.value="",he(o).then(a=>{if(a.code/1===200){const _=a.data;_.length!==0&&typeof e=="function"&&e(_),t.value=_,r.setList(_),n.value=3,s.value="success"}else n.value=4,s.value=err.message}).catch(a=>{console.log(a),n.value=5,s.value=a.msg})},api_status:n,api_message:s,list_agents:t}}function et(e){const n=W(e);G.setItem(n)}function U(){const e=G.getItem(),n=pe(e);return n===null?null:n}const tt=ce("recent_history_search_type",{state:()=>({search_type:U()}),actions:{getType(){return this.search_type.length===0?(this.search_type=U(),this.search_type):this.search_type},setType(e){this.search_type=e,et(e)}}}),nt={__name:"HistoryTypeDropdown",props:{list_status:Number},emits:["typeSelected"],setup(e,{emit:n}){const s=e,t=tt(),{api_status:r,api_message:p,list_agents:c,getAgentList:l}=Xe(d=>{var C;if(t.search_type){const u=((C=t.search_type)==null?void 0:C.id)||"";let H=null;const A=d.length;for(let M=0;M<A;M++){const D=d[M];if(D.id===u){H=D;break}}k(H||d[0])}else k(d[0])}),o=n,a=x(()=>{var d;return((d=t==null?void 0:t.search_type)==null?void 0:d.name)||""}),_=x(()=>s.list_status===2),k=d=>{t.setType(d),o("typeSelected",d)};return K(()=>{l()}),(d,C)=>{const u=S("a-button"),H=S("a-spin"),A=S("a-doption"),M=S("a-dropdown");return i(),w(M,{trigger:"hover",defaultValue:a.value},{content:T(()=>[(i(!0),m(O,null,J(E(c),(D,R)=>(i(),w(A,{key:D.id,disabled:_.value,value:D.name,onClick:P=>k(D)},{default:T(()=>[N($(D.name),1)]),_:2},1032,["disabled","value","onClick"]))),128))]),default:T(()=>[E(r)===1?(i(),w(u,{key:0,class:"history-type-btn",type:"text"},{default:T(()=>[N($(a.value),1)]),_:1})):f("",!0),E(r)===2?(i(),w(u,{key:1,class:"history-type-btn",type:"text"},{default:T(()=>[v(H,{size:16})]),_:1})):f("",!0),E(r)===3?(i(),w(u,{key:2,class:"history-type-btn",type:"text"},{default:T(()=>[N($(a.value),1)]),_:1})):f("",!0)]),_:1},8,["defaultValue"])}}},st=j(nt,[["__scopeId","data-v-ada7c54c"]]),ot={class:"conversation-history-container"},at={class:"conversation-history-main"},it={key:1,class:"infomations-container"},rt={key:2,class:"infomations-container"},ct={key:3,class:"infomations-container"},lt={key:4,class:"infomations-container"},ut={__name:"ConversationHistoryContainer",emits:["historyActive"],setup(e,{emit:n}){const s=n,t=h(1),r=h(50),p=h(""),c=h(""),l=h(!0),o=h(1),a=h(""),_=h([]),k=h(0),d=h(0),C=h(0),u=we(),A=u-Q-Le;function M(b){b.forEach((g,B)=>{let z=null;const I=g,ee=I.create_date,q=new Date(ee);q>=u?(k.value===0&&(z={client_field_content_type:"label",client_field_timestamp_type:"today",id:"today"}),I.client_field_timestamp_type="today",I.client_field_content_type="content",k.value=k.value+1):q<u&&q>A?(d.value===0&&(z={client_field_content_type:"label",client_field_timestamp_type:"month",id:"month"}),I.client_field_timestamp_type="month",I.client_field_content_type="content",d.value=d.value+1):(C.value===0&&(z={client_field_content_type:"label",client_field_timestamp_type:"earlier",id:"earlier"}),I.client_field_timestamp_type="earlier",I.client_field_content_type="content",C.value=C.value+1),z&&_.value.push(z),_.value.push(I)})}const D=()=>({search:p.value,page:t.value,per_page:r.value,agent_id:c.value}),R=()=>{const b=D();o.value=2,a.value="",je(b).then(g=>{if(g.code/1===200){const B=g.data;B.length<r.value?l.value=!1:l.value=!0,M(B),o.value=3,a.value="success"}else o.value=4,a.value=g.msg}).catch(g=>{o.value=5,a.value=g.message})},P=()=>{o.value!==2&&l.value&&(t.value=t.value+1,R())},Y=b=>{s("historyActive",{agent_id:c.value,target_id:b})},Z=b=>{o.value!==2&&(p.value=b,t.value=1,_.value=[],R())},X=b=>{o.value!==2&&b&&(k.value=0,d.value=0,C.value=0,c.value=b.id,t.value=1,_.value=[],R())};return K(()=>{}),(b,g)=>{const B=S("a-spin"),z=S("a-empty"),I=S("a-result");return i(),m("div",ot,[g[1]||(g[1]=y("div",{class:"conversation-history-left"},null,-1)),y("div",at,[v(ke),v(xe,{onSearch:Z},{default:T(()=>[v(st,{onTypeSelected:X,list_status:o.value},null,8,["list_status"])]),_:1}),_.value.length!==0?(i(),w(Ze,{key:0,list:_.value,can_loadmore:l.value,onLoadmore:P,onActive:Y},null,8,["list","can_loadmore"])):f("",!0),o.value===1||o.value===2?(i(),m("div",it,[v(B,{size:32})])):f("",!0),o.value===3&&_.value.length===0?(i(),m("div",rt,[v(z,null,{default:T(()=>[N($(b.$t("conversation.history_empty")),1)]),_:1})])):f("",!0),o.value===4?(i(),m("div",ct,[v(I,{status:"warning",title:a.value},null,8,["title"])])):f("",!0),o.value===5?(i(),m("div",lt,[v(I,{status:"error",title:a.value},null,8,["title"])])):f("",!0),g[0]||(g[0]=y("div",{class:"conversation-history-placeholder"},null,-1))]),g[2]||(g[2]=y("div",{class:"conversation-history-right"},null,-1))])}}},_t=j(ut,[["__scopeId","data-v-ce63227b"]]),It={__name:"ConversationHistory",setup(e){const n=le(),s={backgroundImage:"url(../../../assets/chat/history-bg.png)",backgroundRepeat:"no-repeat",backgroundSize:"cover"},t=({target_id:r,agent_id:p})=>{n.push({path:"/chat/qa",query:{session:r,agent:p}})};return(r,p)=>(i(),w(ue,null,{default:T(()=>[v(_e,{containerStyle:s},{default:T(()=>[v(de),v(_t,{onHistoryActive:t})]),_:1})]),_:1}))}};export{It as default};