Files
wecom_it_smart_desk/frontend-admin/dist-old/assets/AgentPerformance-CiMLRBey.js
Simon bea288e414 feat: 2026-07-11 全量更新 - 代办集成+会议室预定+知识迭代修复+UI统一+Bug修复
== 已部署上线 (9项) ==
- 代办事项真实数据源集成 (企微审批API 8bug修复链)
- H5/坐席端 Logo样式统一+绿色背景
- 视频引导页修复 (localStorage key v2)
- 坐席端 v9 Vue版本修复 (ElMessage._context)
- 截图按钮 v10 修复 (getDisplayMedia user gesture)
- 扫码样式恢复+H5扫码登录跳转修复
- H5截图快捷键提示

== 代码完成待部署 (3项) ==
- 知识迭代3Bug修复 (#8 POST端点/#7 MERGE幂等/#6 过期检查)
- 会议室预定-小鱼易联终端 (40文件, 40/40测试通过)
- IT资产升级审批推送 (asset_service.py)

== 需求文档 (2项) ==
- 坐席端AI辅助消息框-PRD (4项新功能确认)
- 坐席端布局优化建议 v2.0 (7天计划)

== 新增文档 ==
- 日报-2026-07-11.md
- 知识迭代Bug修复报告-20260711.md
- 会议室预定-部署指南.md
- CHANGELOG.md 更新

== 测试 ==
- test_todo_integration.py: 40/40
- test_meetingroom.py: 40/40
- test_bugfix_ki_suggestions.py: 21/21
2026-07-11 23:13:10 +08:00

2 lines
3.6 KiB
JavaScript

import{d as A,o as E,b as u,c as g,e as p,f as t,w as o,k as I,a7 as L,W as R,i as k,r as b,E as S,j as i,a2 as U,n as r,t as n,U as j,V as F,g as O,a0 as w,T as x}from"./index-BYp6OBwf.js";import{O as W}from"./admin-QG1MRyaa.js";import{_ as q}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-CMW9Tl_L.js";const G={class:"agent-performance"},H={class:"filter-bar"},J={key:0,style:{color:"#909399"}},K={class:"summary-bar"},Q=A({__name:"AgentPerformance",setup(X){const m=b(!1),c=b([]),d=b(null),C=x(()=>c.value.reduce((a,l)=>a+(l.total_conversations||0),0)),V=x(()=>c.value.reduce((a,l)=>a+(l.resolved_conversations||0),0));async function f(){m.value=!0;try{const a={};d.value&&(a.date_from=d.value[0],a.date_to=d.value[1]);const{data:l}=await W(a);l.code===0&&(c.value=l.data.items||[])}catch{S.error("加载绩效数据失败")}finally{m.value=!1}}function z(a){return{online:"success",busy:"warning",offline:"info"}[a]||"info"}function D(a){return{online:"在线",busy:"忙碌",offline:"离线"}[a]||a}function B(a){if(a==="—")return"#909399";const l=parseInt(a);return l>=80?"#67c23a":l>=50?"#e6a23c":"#f56c6c"}return E(()=>f()),(a,l)=>{const M=i("el-date-picker"),N=i("el-button"),s=i("el-table-column"),v=i("el-tag"),P=i("el-table"),_=i("el-descriptions-item"),T=i("el-descriptions"),Y=U("loading");return u(),g("div",G,[p("div",H,[t(M,{modelValue:d.value,"onUpdate:modelValue":l[0]||(l[0]=e=>d.value=e),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",style:{width:"280px"},onChange:f},null,8,["modelValue"]),t(N,{type:"primary",icon:I(L),onClick:f},{default:o(()=>[...l[1]||(l[1]=[r("刷新",-1)])]),_:1},8,["icon"])]),R((u(),k(P,{data:c.value,stripe:"",style:{width:"100%"}},{default:o(()=>[t(s,{prop:"name",label:"坐席姓名",width:"120"}),t(s,{prop:"status",label:"状态",width:"90"},{default:o(({row:e})=>[t(v,{type:z(e.status),size:"small"},{default:o(()=>[r(n(D(e.status)),1)]),_:2},1032,["type"])]),_:1}),t(s,{prop:"role",label:"角色",width:"80"},{default:o(({row:e})=>[t(v,{type:e.role==="admin"?"danger":"info",size:"small"},{default:o(()=>[r(n(e.role==="admin"?"组长":"坐席"),1)]),_:2},1032,["type"])]),_:1}),t(s,{prop:"skill_tags",label:"技能标签","min-width":"150"},{default:o(({row:e})=>{var y;return[(u(!0),g(j,null,F(e.skill_tags||[],h=>(u(),k(v,{key:h,size:"small",class:"skill-tag"},{default:o(()=>[r(n(h),1)]),_:2},1024))),128)),(y=e.skill_tags)!=null&&y.length?O("",!0):(u(),g("span",J,"—"))]}),_:1}),t(s,{prop:"current_load",label:"当前负载",width:"90",align:"center"},{default:o(({row:e})=>[p("span",{style:w({color:e.current_load>=e.max_load?"#f56c6c":"#303133"})},n(e.current_load)+"/"+n(e.max_load),5)]),_:1}),t(s,{prop:"total_conversations",label:"总会话数",width:"100",align:"center",sortable:""}),t(s,{prop:"resolved_conversations",label:"已结单",width:"90",align:"center",sortable:""}),t(s,{prop:"resolution_rate",label:"结单率",width:"90",align:"center"},{default:o(({row:e})=>[p("span",{style:w({color:B(e.resolution_rate)})},n(e.resolution_rate),5)]),_:1}),t(s,{prop:"today_conversations",label:"今日会话",width:"100",align:"center",sortable:""})]),_:1},8,["data"])),[[Y,m.value]]),p("div",K,[t(T,{column:4,border:"",size:"small"},{default:o(()=>[t(_,{label:"坐席总数"},{default:o(()=>[r(n(c.value.length),1)]),_:1}),t(_,{label:"在线坐席"},{default:o(()=>[r(n(c.value.filter(e=>e.status==="online").length),1)]),_:1}),t(_,{label:"总会话数"},{default:o(()=>[r(n(C.value),1)]),_:1}),t(_,{label:"总结单数"},{default:o(()=>[r(n(V.value),1)]),_:1})]),_:1})])])}}}),ae=q(Q,[["__scopeId","data-v-d7901a83"]]);export{ae as default};