Files
wecom_it_smart_desk/frontend-admin/dist.bak/assets/EvaluationStats-Dm_1BVO-.js
T
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
6.5 KiB
JavaScript

import{d as G,o as J,b as r,c as p,e as t,f as o,w as n,t as l,r as v,S as w,E as K,i as d,j as u,I as O,L as Q,aq as V,ar as D,as as E,T,U as $,n as b,g as x,V as R,a2 as W}from"./index-CcYCuTIa.js";import{T as X}from"./admin-i6XhhI1Z.js";import{_ as Z}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-CPDTx6RU.js";const tt={class:"evaluation-stats"},at={class:"stats-cards"},et={class:"stat-card"},st={class:"stat-card-icon total-icon"},ot={class:"stat-card-content"},nt={class:"stat-card-value"},lt={class:"stat-card"},rt={class:"stat-card-icon star-icon"},it={class:"stat-card-content"},ct={class:"stat-card-value"},dt={class:"stat-card"},ut={class:"stat-card-icon satisfied-icon"},_t={class:"stat-card-content"},pt={class:"stat-card-value"},vt={class:"stat-card"},ft={class:"stat-card-icon neutral-icon"},gt={class:"stat-card-content"},bt={class:"stat-card-value"},mt={class:"stat-card"},ht={class:"stat-card-icon dissatisfied-icon"},yt={class:"stat-card-content"},St={class:"stat-card-value"},jt={class:"detail-section"},kt={class:"star-bars"},wt={class:"star-label"},xt={class:"star-count"},zt={class:"emoji-bars"},Ct={class:"emoji-label"},Vt={class:"emoji-count"},Dt={key:0,style:{color:"var(--text-secondary)"}},Et={key:1,style:{color:"var(--text-muted)"}},Tt={class:"pagination-container"},$t=G({__name:"EvaluationStats",setup(Pt){const m=v(!1),h=v(1),y=v(20),z=v(0),c=v({total_count:0,avg_star_rating:0,star_distribution:[],emoji_distribution:[]}),C=v([]),P=w(()=>{const e=c.value.emoji_distribution.find(a=>a.label==="满意");return e?e.percentage:0}),U=w(()=>{const e=c.value.emoji_distribution.find(a=>a.label==="一般");return e?e.percentage:0}),B=w(()=>{const e=c.value.emoji_distribution.find(a=>a.label==="不满意");return e?e.percentage:0});async function S(){m.value=!0;try{const{data:e}=await X({page:h.value,page_size:y.value});e.code===0&&(c.value={total_count:e.data.total_count,avg_star_rating:e.data.avg_star_rating,star_distribution:e.data.star_distribution||[],emoji_distribution:e.data.emoji_distribution||[]},C.value=e.data.recent_evaluations||[],z.value=e.data.total_count)}catch{K.error("加载评价统计数据失败")}finally{m.value=!1}}function M(e){const a=parseInt(e.replace("星",""));return a>=4?"#67c23a":a>=3?"#e6a23c":"#f56c6c"}function N(e){return e==="满意"?"#67c23a":e==="一般"?"#e6a23c":"#f56c6c"}function I(e){return e==="satisfied"?"success":e==="neutral"?"warning":"danger"}function L(e){return{satisfied:"满意",neutral:"一般",dissatisfied:"不满意"}[e]||e}function F(e){if(!e)return"—";const a=new Date(e),i=a.getFullYear(),g=String(a.getMonth()+1).padStart(2,"0"),f=String(a.getDate()).padStart(2,"0"),_=String(a.getHours()).padStart(2,"0"),j=String(a.getMinutes()).padStart(2,"0"),k=String(a.getSeconds()).padStart(2,"0");return`${i}-${g}-${f} ${_}:${j}:${k}`}return J(()=>S()),(e,a)=>{const i=d("el-icon"),g=d("el-progress"),f=d("el-card"),_=d("el-table-column"),j=d("el-rate"),k=d("el-tag"),q=d("el-table"),H=d("el-pagination"),Y=W("loading");return r(),p("div",tt,[t("div",at,[t("div",et,[t("div",st,[o(i,null,{default:n(()=>[o(u(O))]),_:1})]),t("div",ot,[t("div",nt,l(c.value.total_count),1),a[2]||(a[2]=t("div",{class:"stat-card-label"},"总评价数",-1))])]),t("div",lt,[t("div",rt,[o(i,null,{default:n(()=>[o(u(Q))]),_:1})]),t("div",it,[t("div",ct,l(c.value.avg_star_rating),1),a[3]||(a[3]=t("div",{class:"stat-card-label"},"平均星级",-1))])]),t("div",dt,[t("div",ut,[o(i,null,{default:n(()=>[o(u(V))]),_:1})]),t("div",_t,[t("div",pt,l(P.value)+"%",1),a[4]||(a[4]=t("div",{class:"stat-card-label"},"满意",-1))])]),t("div",vt,[t("div",ft,[o(i,null,{default:n(()=>[o(u(D))]),_:1})]),t("div",gt,[t("div",bt,l(U.value)+"%",1),a[5]||(a[5]=t("div",{class:"stat-card-label"},"一般",-1))])]),t("div",mt,[t("div",ht,[o(i,null,{default:n(()=>[o(u(E))]),_:1})]),t("div",yt,[t("div",St,l(B.value)+"%",1),a[6]||(a[6]=t("div",{class:"stat-card-label"},"不满意",-1))])])]),t("div",jt,[o(f,{class:"distribution-card",shadow:"never"},{header:n(()=>[...a[7]||(a[7]=[t("div",{class:"card-header"},[t("span",null,"星级分布")],-1)])]),default:n(()=>[t("div",kt,[(r(!0),p(T,null,$(c.value.star_distribution,s=>(r(),p("div",{key:s.label,class:"star-bar-item"},[t("span",wt,l(s.label),1),o(g,{percentage:s.percentage,"stroke-width":12,"show-text":!1,color:M(s.label)},null,8,["percentage","color"]),t("span",xt,l(s.count)+" ("+l(s.percentage)+"%)",1)]))),128))])]),_:1}),o(f,{class:"distribution-card",shadow:"never"},{header:n(()=>[...a[8]||(a[8]=[t("div",{class:"card-header"},[t("span",null,"满意度分布")],-1)])]),default:n(()=>[t("div",zt,[(r(!0),p(T,null,$(c.value.emoji_distribution,s=>(r(),p("div",{key:s.label,class:"emoji-bar-item"},[t("span",Ct,[s.label==="满意"?(r(),b(i,{key:0,color:"#67c23a"},{default:n(()=>[o(u(V))]),_:1})):s.label==="一般"?(r(),b(i,{key:1,color:"#e6a23c"},{default:n(()=>[o(u(D))]),_:1})):(r(),b(i,{key:2,color:"#f56c6c"},{default:n(()=>[o(u(E))]),_:1})),x(" "+l(s.label),1)]),o(g,{percentage:s.percentage,"stroke-width":12,"show-text":!1,color:N(s.label)},null,8,["percentage","color"]),t("span",Vt,l(s.count)+" ("+l(s.percentage)+"%)",1)]))),128))])]),_:1})]),o(f,{class:"table-card",shadow:"never"},{header:n(()=>[...a[9]||(a[9]=[t("div",{class:"card-header"},[t("span",null,"评价记录")],-1)])]),default:n(()=>[R((r(),b(q,{data:C.value,stripe:"",style:{width:"100%"}},{default:n(()=>[o(_,{prop:"employee_name",label:"评价员工",width:"120"}),o(_,{prop:"star_rating",label:"星级",width:"100",align:"center"},{default:n(({row:s})=>[o(j,{modelValue:s.star_rating,"onUpdate:modelValue":A=>s.star_rating=A,disabled:"","text-color":"#ff9900"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),o(_,{prop:"emoji",label:"满意度",width:"100",align:"center"},{default:n(({row:s})=>[o(k,{type:I(s.emoji),size:"small"},{default:n(()=>[x(l(L(s.emoji)),1)]),_:2},1032,["type"])]),_:1}),o(_,{prop:"feedback_text",label:"反馈内容","min-width":"200"},{default:n(({row:s})=>[s.feedback_text?(r(),p("span",Dt,l(s.feedback_text),1)):(r(),p("span",Et,"—"))]),_:1}),o(_,{prop:"created_at",label:"评价时间",width:"180"},{default:n(({row:s})=>[x(l(F(s.created_at)),1)]),_:1})]),_:1},8,["data"])),[[Y,m.value]]),t("div",Tt,[o(H,{"current-page":h.value,"onUpdate:currentPage":a[0]||(a[0]=s=>h.value=s),"page-size":y.value,"onUpdate:pageSize":a[1]||(a[1]=s=>y.value=s),"page-sizes":[10,20,50],total:z.value,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:S,onCurrentChange:S},null,8,["current-page","page-size","total"])])]),_:1})])}}}),It=Z($t,[["__scopeId","data-v-6dbba9b5"]]);export{It as default};