| 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 ae,x as ie,i as f,y as re,z as ce,A as O,B as le,a as ue,M as _e,C as P,D as de,q as F,F as B,j as q,s as Q,h as j,E as me,G as X,p as ee,w as D,k as V,u as pe,H as he}from"./index-Bgc0JECa.js";import ve from"./LayoutExperience-4ARmWad9.js";import ye from"./ContentContainer-DAzg9vzA.js";import{C as fe}from"./ChatAsideMenu-DUI9uyoP.js";import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{j as te,a as ge}from"./utils-PgP6SSQW.js";import{a as ke}from"./api-conversation-board-D7fvkjh1.js";import{u as be}from"./use-all-agents-B-RSYtvy.js";import{g as U}from"./icon-map-MpRwWyE4.js";import"./Header-BsyXECDA.js";import"./Header.vue_vue_type_style_index_0_scoped_2e420fdc_lang-C9QhFntO.js";import"./use-current-user-D1HX8p_x.js";/* empty css */const $e={},Ce={class:"conversation-history-title"};function we(e,n){return c(),m("div",Ce,[d("div",null,S(e.$t("conversation.chat_history")),1)])}const He=x($e,[["render",we],["__scopeId","data-v-c610eb1f"]]),Ie={class:"conversation-search-input"},Se={class:"search-input-content"},Te={class:"search-input-icon icon-search"},De={class:"search-input-container"},xe=["placeholder"],Ae={__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",Ie,[d("div",Se,[d("div",Te,[v(C)]),d("div",De,[ae(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,xe),[[ie,t.value]])]),i.value?(c(),m("div",{key:0,class:"search-input-icon icon-clear",onClick:r},[v(g)])):f("",!0),re(o.$slots,"default",{},void 0,!0)])])}}},Le=x(Ae,[["__scopeId","data-v-1dec778c"]]);var Me={exports:{}};(function(e,n){(function(s,t){e.exports=t()})(ce,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])+"]"}}})})(Me);const Ne=1e3*60,je=Ne*60,ne=je*24,ze=ne*30,Be=()=>{const e=new Date;return e.setHours(0,0,0,0),e.getTime()},Oe=(e,n)=>{if(!n)return O(e).format("HH:mm");if(n==="zh")return O(e).locale("zh-cn").format("HH:mm");if(n==="en")return O(e).format("HH:mm")},Y=(e,n)=>n?n==="zh"?O(e).locale("zh-cn").format("MM-DD"):O(e).format("MM-DD"):O(e).format("MM-DD"),Ee=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),le({url:s,method:"get",params:t})},Re=e=>(te({conversation_ids:[e]}),new Promise((s,t)=>{setTimeout(()=>{s({code:200,data:!0,msg:""})},1e3)})),Ve={__name:"BtnHistoryItemDelete",props:{target_id:String},emits:["deleteSuccess"],setup(e,{emit:n}){const s=e,t=n,i=ue();p(1),p("");const h=()=>{const l=i.t("conversation.are_you_sure");i.t("conversation.btn_yes"),i.t("conversation.btn_no"),_e.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)=>{Re(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)])}}},qe=x(Ve,[["__scopeId","data-v-04ccf966"]]),Fe=["src"],Pe={class:"history-item-intro"},Ue={class:"history-item-actions"},Ge={class:"history-item-time"},Je={class:"history-item-delete"},Ke={__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=de(),_=$(()=>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"?Oe(w,H):a==="month"||a==="earlier"?Y(w,H):""}),C=()=>{t("active",s.history.id)},g=()=>{i.value=!0};return(a,w)=>(c(),m(B,null,[_.value?(c(),m("div",{key:0,class:F([o.value,"history-block-title"])},[e.history.client_field_timestamp_type==="today"?(c(),m(B,{key:0},[q(S(a.$t("conversation.history_today")),1)],64)):f("",!0),e.history.client_field_timestamp_type==="month"?(c(),m(B,{key:1},[q(S(a.$t("conversation.history_month")),1)],64)):f("",!0),e.history.client_field_timestamp_type==="earlier"?(c(),m(B,{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,Fe)]),d("div",Pe,[d("div",{class:"history-item-intro-title",onClick:C},S(e.history.name),1)]),d("div",Ue,[d("span",Ge,S(u.value),1),d("span",Je,[v(qe,{target_id:e.history.id,onDeleteSuccess:g},null,8,["target_id"])])])],2)):f("",!0)],64))}},We=x(Ke,[["__scopeId","data-v-2878449a"]]),Ye={key:0,class:"history-item-icon can-loadmore"},Ze={__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",Ye,S(_.$t("conversation.history_loadmore")),1)):f("",!0)],2))}},Qe=x(Ze,[["__scopeId","data-v-5b5acaf3"]]),Xe={class:"conversation-history-list-section"},et={__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",Xe,[d("div",{class:F(t.value)},[(c(!0),m(B,null,Q(e.list,(o,u)=>(c(),j(We,{key:o.id,history:o,index:u,agent_icon:e.agent_icon,onActive:i,onDelete:h},null,8,["history","index","agent_icon"]))),128)),v(Qe,{can_loadmore:e.can_loadmore,onLoadmore:_},null,8,["can_loadmore"])],2)]))}},tt=x(et,[["__scopeId","data-v-01810f5f"]]);function nt(e){const n=p(1),s=p(""),t=p([]),i=be(),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="",ke(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 st(e){const n=te(e);X.setItem(n)}function Z(){const e=X.getItem(),n=ge(e);return n===null?null:n}const ot=me("recent_history_search_type",{state:()=>({search_type:Z()}),actions:{getType(){return this.search_type.length===0?(this.search_type=Z(),this.search_type):this.search_type},setType(e){this.search_type=e,st(e)}}}),at=["src"],it={class:"label-text"},rt={class:"nav-item-icon arrow-down"},ct={class:"dropdown-container"},lt=["src"],ut={class:"dropdown-item-text"},_t={__name:"HistoryTypeDropdown",props:{list_status:Number},emits:["typeSelected"],setup(e,{emit:n}){const s=e,t=ot(),{api_status:i,api_message:h,list_agents:_,getAgentList:l}=nt(a=>{var w;if(t.search_type){const H=((w=t.search_type)==null?void 0:w.id)||"";let A=null;const E=a.length;for(let L=0;L<E;L++){const z=a[L];if(z.id===H){A=z;break}}g(A||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 ee(()=>{l()}),(a,w)=>{const H=I("icon-down"),A=I("a-button"),E=I("a-spin"),L=I("a-doption"),z=I("a-dropdown");return c(),j(z,{trigger:"hover",defaultValue:o.value},{content:D(()=>[(c(!0),m(B,null,Q(V(_),(T,G)=>(c(),j(L,{key:T.id,disabled:C.value,value:T.name,onClick:J=>g(T)},{default:D(()=>[d("div",ct,[d("img",{src:V(U)(T.icon),class:"agent-icon-img"},null,8,lt),d("span",ut,S(T.name),1)])]),_:2},1032,["disabled","value","onClick"]))),128))]),default:D(()=>[V(i)===1||V(i)===3?(c(),j(A,{key:0,class:"history-type-btn",type:"text"},{default:D(()=>[d("img",{src:u.value,class:"agent-icon-img"},null,8,at),d("span",it,S(o.value),1),d("span",rt,[v(H,{class:"arrow-down"})])]),_:1})):f("",!0),V(i)===2?(c(),j(A,{key:1,class:"history-type-btn",type:"text"},{default:D(()=>[v(E,{size:16})]),_:1})):f("",!0)]),_:1},8,["defaultValue"])}}},dt=x(_t,[["__scopeId","data-v-395eca17"]]),mt={class:"conversation-history-container"},pt={class:"conversation-history-main"},ht={key:1,class:"infomations-container"},vt={key:2,class:"infomations-container"},yt={key:3,class:"infomations-container"},ft={key:4,class:"infomations-container"},gt={__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=Be(),E=H-ne-ze;function L(k){k.forEach((y,R)=>{let M=null;const b=y,K=new Date(b.create_date).getTime();let N=null;if(isNaN(K)){const W=new Date(b.updated_time).getTime();isNaN(W)?N=Date.now():N=W}else N=K;b.create_time=N,N>=H?(C.value===0&&(M={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):N<H&&N>E?(g.value===0&&(M={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&&(M={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),M&&u.value.push(M),u.value.push(b)})}const z=()=>({search:h.value,page:t.value,per_page:i.value,agent_id:_.value}),T=()=>{const k=z();r.value=2,o.value="",Ee(k).then(y=>{if(y.code/1===200){const R=y.data;R.length<i.value?l.value=!1:l.value=!0,L(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})},se=k=>{r.value!==2&&(h.value=k,t.value=1,u.value=[],T())},oe=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 ee(()=>{}),(k,y)=>{const R=I("a-spin"),M=I("a-empty"),b=I("a-result");return c(),m("div",mt,[y[1]||(y[1]=d("div",{class:"conversation-history-left"},null,-1)),d("div",pt,[v(He),v(Le,{onSearch:se},{default:D(()=>[v(dt,{onTypeSelected:oe,list_status:r.value},null,8,["list_status"])]),_:1}),u.value.length!==0?(c(),j(tt,{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",ht,[v(R,{size:32})])):f("",!0),r.value===3&&u.value.length===0?(c(),m("div",vt,[v(M,null,{default:D(()=>[q(S(k.$t("conversation.history_empty")),1)]),_:1})])):f("",!0),r.value===4?(c(),m("div",yt,[v(b,{status:"warning",title:o.value},null,8,["title"])])):f("",!0),r.value===5?(c(),m("div",ft,[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))])}}},kt=x(gt,[["__scopeId","data-v-bb45cfe5"]]),bt="/assets/history-bg-Cuh6wzmt.png",Bt={__name:"ConversationHistory",setup(e){const n=pe(),s=he(),t=$(()=>s.value==="light"?{backgroundImage:`url(${bt})`,backgroundRepeat:"no-repeat",backgroundSize:"cover"}:{}),i=({target_id:h,agent_id:_})=>{n.push({path:"/chat/qa",query:{session:h,agent:_}})};return(h,_)=>(c(),j(ve,null,{default:D(()=>[v(ye,{containerStyle:t.value,id:"fjkdsdajfklgjsklfjskdlf"},{default:D(()=>[v(fe),v(kt,{onHistoryActive:i})]),_:1},8,["containerStyle"])]),_:1}))}};export{Bt as default};
|