ConversationHistory-BbO19YWB.js 13 KB

1
  1. import{o as c,d as m,e as d,t as S,r as p,m as $,c as I,f as v,v as oe,x as ae,i as f,y as ie,z as re,A as x,B as ce,a as le,M as ue,C as P,D as _e,q as F,F as O,j as q,s as Z,h as z,E as de,G as Q,p as X,w as D,k as V,u as me,H as pe}from"./index-WLm6Yh0F.js";import he from"./LayoutExperience-Bju-UQKA.js";import ve from"./ContentContainer-BqZ2cQBP.js";import{C as ye}from"./ChatAsideMenu-CtQ39N8Y.js";import{_ as A}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{j as ee,a as fe}from"./utils-CYxffSUT.js";import{a as ge}from"./api-conversation-board-RI3kSXGk.js";import{u as ke}from"./use-all-agents-CBrrNclt.js";import{g as U}from"./icon-map-MpRwWyE4.js";import"./Header-M6ompisK.js";import"./Header.vue_vue_type_style_index_0_scoped_52329e45_lang-BoDxsJcC.js";import"./use-current-user-BcAB4yFY.js";import"./login-DFu7L9uC.js";/* empty css */const be={},$e={class:"conversation-history-title"};function Ce(e,n){return c(),m("div",$e,[d("div",null,S(e.$t("conversation.chat_history")),1)])}const we=A(be,[["render",Ce],["__scopeId","data-v-eacdf319"]]),He={class:"conversation-search-input"},Ie={class:"search-input-content"},Se={class:"search-input-icon icon-search"},Te={class:"search-input-container"},De=["placeholder"],xe={__name:"HistorySearchInput",emits:["search"],setup(e,{emit:n}){const s=n,t=p(""),i=$(()=>t.value.length!==0),h=o=>{t.value=o.target.value},_=o=>{t.value=o.target.value},l=o=>{o.keyCode===13&&s("search",t.value)},r=()=>{t.value="",s("search",t.value)};return(o,u)=>{const C=I("icon-search"),g=I("icon-close");return c(),m("div",He,[d("div",Ie,[d("div",Se,[v(C)]),d("div",Te,[oe(d("input",{type:"text",class:"search-input",placeholder:o.$t("conversation.search_history"),"onUpdate:modelValue":u[0]||(u[0]=a=>t.value=a),onInput:h,onChange:_,onKeyup:l},null,40,De),[[ae,t.value]])]),i.value?(c(),m("div",{key:0,class:"search-input-icon icon-clear",onClick:r},[v(g)])):f("",!0),ie(o.$slots,"default",{},void 0,!0)])])}}},Ae=A(xe,[["__scopeId","data-v-f3dff79d"]]);var Le={exports:{}};(function(e,n){(function(s,t){e.exports=t()})(re,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"],i=s%100;return"["+s+(t[(i-20)%10]||t[i]||t[0])+"]"}}})})(Le);const Me=1e3*60,Ne=Me*60,te=Ne*24,je=te*30,ze=()=>{const e=new Date;return e.setHours(0,0,0,0),e.getTime()},Be=(e,n)=>{if(!n)return x(e).format("HH:mm");if(n==="zh")return x(e).locale("zh-cn").format("HH:mm");if(n==="en")return x(e).format("HH:mm")},Oe=(e,n)=>n?n==="zh"?x(e).locale("zh-cn").format("dddd"):x(e).format("dddd"):x(e).format("dddd"),Ee=(e,n)=>n?n==="zh"?x(e).locale("zh-cn").format("MM-DD"):x(e).format("MM-DD"):x(e).format("MM-DD"),Re=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),ce({url:s,method:"get",params:t})},Ve=e=>(ee({conversation_ids:[e]}),new Promise((s,t)=>{setTimeout(()=>{s({code:200,data:!0,msg:""})},1e3)})),qe={__name:"BtnHistoryItemDelete",props:{target_id:String},emits:["deleteSuccess"],setup(e,{emit:n}){const s=e,t=n,i=le();p(1),p("");const h=()=>{const l=i.t("conversation.are_you_sure");i.t("conversation.btn_yes"),i.t("conversation.btn_no"),ue.warning({title:l,hideCancel:!1,"modal-class":"history-chat-remove-modal",onOk(r){},async onBeforeOk(){try{return await _()===200}catch{return!1}},onCancel(){}})},_=()=>new Promise((l,r)=>{Ve(s.target_id).then(o=>{if(o.code/1===200){const u=i.t("conversation.del_success");P.success(u),t("deleteSuccess"),l(200)}else P.warning(o.msg)}).catch(o=>{P.warning(o.msg),r(o)})});return(l,r)=>{const o=I("icon-delete");return c(),m("span",{onClick:h,class:"btn-delete"},[v(o)])}}},Fe=A(qe,[["__scopeId","data-v-7a05a93b"]]),Pe=["src"],Ue={class:"history-item-intro"},Ge={class:"history-item-actions"},Je={class:"history-item-time"},Ke={class:"history-item-delete"},We={__name:"HistoryItem",props:{history:Object,index:Number,agent_icon:String},emits:["active","delete"],setup(e,{emit:n}){const s=e,t=n,i=p(!1),h=_e(),_=$(()=>s.history.client_field_content_type==="label"),l=$(()=>s.history.client_field_content_type==="content"),r=$(()=>l.value&&!i.value),o=$(()=>{const a={"conversation-history-item":!0};return a[`item-${s.index}`]=!0,a[`item-${s.history.id}`]=!0,a[s.history.client_field_timestamp_type]=!0,_.value&&(a["conversation-history-section-title"]=!0),l.value&&(a["conversation-history-section-data"]=!0),a}),u=$(()=>{const a=s.history.client_field_timestamp_type,w=s.history.create_time,H=h.value;return a==="today"?Be(w,H):a==="month"?Oe(w,H):a==="earlier"?Ee(w,H):""}),C=()=>{t("active",s.history.id)},g=()=>{i.value=!0};return(a,w)=>(c(),m(O,null,[_.value?(c(),m("div",{key:0,class:F([o.value,"history-block-title"])},[e.history.client_field_timestamp_type==="today"?(c(),m(O,{key:0},[q(S(a.$t("conversation.history_today")),1)],64)):f("",!0),e.history.client_field_timestamp_type==="month"?(c(),m(O,{key:1},[q(S(a.$t("conversation.history_month")),1)],64)):f("",!0),e.history.client_field_timestamp_type==="earlier"?(c(),m(O,{key:2},[q(S(a.$t("conversation.history_earlier")),1)],64)):f("",!0)],2)):f("",!0),r.value?(c(),m("div",{key:1,class:F(o.value)},[d("div",{class:"history-item-icon",onClick:C},[d("img",{src:e.agent_icon},null,8,Pe)]),d("div",Ue,[d("div",{class:"history-item-intro-title",onClick:C},S(e.history.name),1)]),d("div",Ge,[d("span",Je,S(u.value),1),d("span",Ke,[v(Fe,{target_id:e.history.id,onDeleteSuccess:g},null,8,["target_id"])])])],2)):f("",!0)],64))}},Ye=A(We,[["__scopeId","data-v-ae7d304a"]]),Ze={key:0,class:"history-item-icon can-loadmore"},Qe={__name:"HistoryLoadMore",props:{can_loadmore:Boolean},emits:["loadmore"],setup(e,{emit:n}){const s=e,t=n,i=$(()=>{const _={"conversation-history-item":!0};return _["load-more"]=!0,_}),h=()=>{s.can_loadmore&&t("loadmore")};return(_,l)=>(c(),m("div",{class:F(i.value),onClick:h},[e.can_loadmore?(c(),m("div",Ze,S(_.$t("conversation.history_loadmore")),1)):f("",!0)],2))}},Xe=A(Qe,[["__scopeId","data-v-01b3fb14"]]),et={class:"conversation-history-list-section"},tt={__name:"HistoryList",props:{list:Array,can_loadmore:Boolean,agent_icon:String},emits:["active","delete","loadmore"],setup(e,{emit:n}){const s=n,t=$(()=>"conversation-history-list"),i=l=>{s("active",l)},h=l=>{s("delete",l)},_=()=>{s("loadmore")};return(l,r)=>(c(),m("div",et,[d("div",{class:F(t.value)},[(c(!0),m(O,null,Z(e.list,(o,u)=>(c(),z(Ye,{key:o.id,history:o,index:u,agent_icon:e.agent_icon,onActive:i,onDelete:h},null,8,["history","index","agent_icon"]))),128)),v(Xe,{can_loadmore:e.can_loadmore,onLoadmore:_},null,8,["can_loadmore"])],2)]))}},nt=A(tt,[["__scopeId","data-v-4bed9682"]]);function st(e){const n=p(1),s=p(""),t=p([]),i=ke(),h=()=>({});return{getAgentList:()=>{const l=i.agents;if(l.length!==0){typeof e=="function"&&e(l),t.value=l;return}const r=h();n.value=2,s.value="",ge(r).then(o=>{if(o.code/1===200){const u=o.data;u.length!==0&&typeof e=="function"&&e(u),t.value=u,i.setList(u),n.value=3,s.value="success"}else n.value=4,s.value=err.message}).catch(o=>{console.log(o),n.value=5,s.value=o.msg})},api_status:n,api_message:s,list_agents:t}}function ot(e){const n=ee(e);Q.setItem(n)}function Y(){const e=Q.getItem(),n=fe(e);return n===null?null:n}const at=de("recent_history_search_type",{state:()=>({search_type:Y()}),actions:{getType(){return this.search_type.length===0?(this.search_type=Y(),this.search_type):this.search_type},setType(e){this.search_type=e,ot(e)}}}),it=["src"],rt={class:"label-text"},ct={class:"nav-item-icon arrow-down"},lt={class:"dropdown-container"},ut=["src"],_t={class:"dropdown-item-text"},dt={__name:"HistoryTypeDropdown",props:{list_status:Number},emits:["typeSelected"],setup(e,{emit:n}){const s=e,t=at(),{api_status:i,api_message:h,list_agents:_,getAgentList:l}=st(a=>{var w;if(t.search_type){const H=((w=t.search_type)==null?void 0:w.id)||"";let L=null;const E=a.length;for(let M=0;M<E;M++){const B=a[M];if(B.id===H){L=B;break}}g(L||a[0])}else g(a[0])}),r=n,o=$(()=>{var a;return((a=t==null?void 0:t.search_type)==null?void 0:a.name)||""}),u=$(()=>t.search_type&&t.search_type.icon?U(t.search_type.icon):""),C=$(()=>s.list_status===2),g=a=>{t.setType(a),r("typeSelected",a)};return X(()=>{l()}),(a,w)=>{const H=I("icon-down"),L=I("a-button"),E=I("a-spin"),M=I("a-doption"),B=I("a-dropdown");return c(),z(B,{trigger:"hover",defaultValue:o.value},{content:D(()=>[(c(!0),m(O,null,Z(V(_),(T,G)=>(c(),z(M,{key:T.id,disabled:C.value,value:T.name,onClick:J=>g(T)},{default:D(()=>[d("div",lt,[d("img",{src:V(U)(T.icon),class:"agent-icon-img"},null,8,ut),d("span",_t,S(T.name),1)])]),_:2},1032,["disabled","value","onClick"]))),128))]),default:D(()=>[V(i)===1||V(i)===3?(c(),z(L,{key:0,class:"history-type-btn",type:"text"},{default:D(()=>[d("img",{src:u.value,class:"agent-icon-img"},null,8,it),d("span",rt,S(o.value),1),d("span",ct,[v(H,{class:"arrow-down"})])]),_:1})):f("",!0),V(i)===2?(c(),z(L,{key:1,class:"history-type-btn",type:"text"},{default:D(()=>[v(E,{size:16})]),_:1})):f("",!0)]),_:1},8,["defaultValue"])}}},mt=A(dt,[["__scopeId","data-v-7e0d55ff"]]),pt={class:"conversation-history-container"},ht={class:"conversation-history-main"},vt={key:1,class:"infomations-container"},yt={key:2,class:"infomations-container"},ft={key:3,class:"infomations-container"},gt={key:4,class:"infomations-container"},kt={__name:"ConversationHistoryContainer",emits:["historyActive"],setup(e,{emit:n}){const s=n,t=p(1),i=p(50),h=p(""),_=p(""),l=p(!0),r=p(1),o=p(""),u=p([]),C=p(0),g=p(0),a=p(0),w=p(""),H=ze(),E=H-te-je;function M(k){k.forEach((y,R)=>{let N=null;const b=y,K=new Date(b.create_date).getTime();let j=null;if(isNaN(K)){const W=new Date(b.updated_time).getTime();isNaN(W)?j=Date.now():j=W}else j=K;b.create_time=j,j>=H?(C.value===0&&(N={client_field_content_type:"label",client_field_timestamp_type:"today",id:"today"}),b.client_field_timestamp_type="today",b.client_field_content_type="content",C.value=C.value+1):j<H&&j>E?(g.value===0&&(N={client_field_content_type:"label",client_field_timestamp_type:"month",id:"month"}),b.client_field_timestamp_type="month",b.client_field_content_type="content",g.value=g.value+1):(a.value===0&&(N={client_field_content_type:"label",client_field_timestamp_type:"earlier",id:"earlier"}),b.client_field_timestamp_type="earlier",b.client_field_content_type="content",a.value=a.value+1),N&&u.value.push(N),u.value.push(b)})}const B=()=>({search:h.value,page:t.value,per_page:i.value,agent_id:_.value}),T=()=>{const k=B();r.value=2,o.value="",Re(k).then(y=>{if(y.code/1===200){const R=y.data;R.length<i.value?l.value=!1:l.value=!0,M(R),r.value=3,o.value="success"}else r.value=4,o.value=y.msg}).catch(y=>{r.value=5,o.value=y.message})},G=()=>{r.value!==2&&l.value&&(t.value=t.value+1,T())},J=k=>{s("historyActive",{agent_id:_.value,target_id:k})},ne=k=>{r.value!==2&&(h.value=k,t.value=1,u.value=[],T())},se=k=>{r.value!==2&&k&&(C.value=0,g.value=0,a.value=0,w.value=U(k.icon),_.value=k.id,t.value=1,u.value=[],T())};return X(()=>{}),(k,y)=>{const R=I("a-spin"),N=I("a-empty"),b=I("a-result");return c(),m("div",pt,[y[1]||(y[1]=d("div",{class:"conversation-history-left"},null,-1)),d("div",ht,[v(we),v(Ae,{onSearch:ne},{default:D(()=>[v(mt,{onTypeSelected:se,list_status:r.value},null,8,["list_status"])]),_:1}),u.value.length!==0?(c(),z(nt,{key:0,list:u.value,can_loadmore:l.value,agent_icon:w.value,onLoadmore:G,onActive:J},null,8,["list","can_loadmore","agent_icon"])):f("",!0),r.value===1||r.value===2?(c(),m("div",vt,[v(R,{size:32})])):f("",!0),r.value===3&&u.value.length===0?(c(),m("div",yt,[v(N,null,{default:D(()=>[q(S(k.$t("conversation.history_empty")),1)]),_:1})])):f("",!0),r.value===4?(c(),m("div",ft,[v(b,{status:"warning",title:o.value},null,8,["title"])])):f("",!0),r.value===5?(c(),m("div",gt,[v(b,{status:"error",title:o.value},null,8,["title"])])):f("",!0),y[0]||(y[0]=d("div",{class:"conversation-history-placeholder"},null,-1))]),y[2]||(y[2]=d("div",{class:"conversation-history-right"},null,-1))])}}},bt=A(kt,[["__scopeId","data-v-ad3d0ba8"]]),$t="/assets/history-bg-Cuh6wzmt.png",Et={__name:"ConversationHistory",setup(e){const n=me(),s=pe(),t=$(()=>s.value==="light"?{backgroundImage:`url(${$t})`,backgroundRepeat:"no-repeat",backgroundSize:"cover"}:{}),i=({target_id:h,agent_id:_})=>{n.push({path:"/chat/qa",query:{session:h,agent:_}})};return(h,_)=>(c(),z(he,null,{default:D(()=>[v(ve,{containerStyle:t.value,id:"fjkdsdajfklgjsklfjskdlf"},{default:D(()=>[v(ye),v(bt,{onHistoryActive:i})]),_:1},8,["containerStyle"])]),_:1}))}};export{Et as default};