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
This commit is contained in:
@@ -0,0 +1 @@
|
||||
import{d as C,o as x,b as o,c as l,e as a,U as A,V as B,r as k,a3 as p,n as c,t as i,i as f,w as d,g,f as v,E as r,j as u}from"./index-BYp6OBwf.js";import{J as V,K as z}from"./admin-QG1MRyaa.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-CMW9Tl_L.js";const N={class:"assignment-mode-page"},$={class:"mode-list"},q=["onClick"],E={class:"mode-info"},D={class:"mode-title"},j={class:"mode-desc"},F={key:0,class:"mode-lock-text"},I=C({__name:"AssignmentMode",setup(J){const _=k([{id:"manual",name:"手动接单",enabled:!0,locked:!1},{id:"round_robin",name:"轮询分配",enabled:!1,locked:!0,unlock_at:"阶段二"},{id:"least_active",name:"最少活跃优先",enabled:!1,locked:!0,unlock_at:"阶段二"},{id:"weighted",name:"加权比例分配",enabled:!1,locked:!0,unlock_at:"阶段三"},{id:"skill_match",name:"技能匹配分配",enabled:!1,locked:!0,unlock_at:"阶段三"},{id:"priority_queue",name:"优先队列",enabled:!1,locked:!0,unlock_at:"阶段三"}]),n=k("manual");x(async()=>{try{const s=(await V()).data.data;n.value=s.current_mode,s.modes&&s.modes.length>0&&(_.value=s.modes)}catch{}});async function y(e){if(e.locked){r.warning(`${e.name}暂未开放,${e.unlock_at||"后续版本"}解锁`);return}if(e.id!==n.value)try{await z(e.id),n.value=e.id,r.success(`已切换为「${e.name}」`)}catch{r.error("切换分配模式失败")}}function b(e){return{manual:"坐席在待办列表中自行选择接单。AB 角色冗余设计,1 人即可承担。",round_robin:"按坐席列表顺序依次分配,循环往复。",least_active:"自动分配给当前活跃会话数最少的坐席。",weighted:"按坐席权重分配(如高级权重2、初级权重1)。",skill_match:"根据问题类别匹配坐席技能标签。",priority_queue:"紧急/阻断性问题优先路由到高级坐席/组长。"}[e]||""}function h(e){return{round_robin:"坐席人数不足3人,暂不需要",least_active:"坐席人数不足3人,暂不需要",weighted:"坐席人数不足5人,暂不需要",skill_match:"需坐席≥5人 + 技能标签体系成熟",priority_queue:"需坐席≥5人 + 紧急度评分上线"}[e]||"后续阶段解锁"}return(e,s)=>{const m=u("el-tag"),w=u("Lock"),M=u("el-icon");return o(),l("div",N,[s[1]||(s[1]=a("div",{class:"page-title"},"消息分配模式",-1)),s[2]||(s[2]=a("div",{class:"page-desc"},"当前坐席1人足以承担,手动接单完全满足。后续模式按坐席规模自动解锁。",-1)),a("div",$,[(o(!0),l(A,null,B(_.value,t=>(o(),l("div",{key:t.id,class:p(["mode-card",{"mode-selected":t.id===n.value,"mode-locked":t.locked}]),onClick:K=>y(t)},[a("div",{class:p(["mode-radio",{selected:t.id===n.value}])},null,2),a("div",E,[a("div",D,[c(i(t.name)+" ",1),t.id===n.value?(o(),f(m,{key:0,type:"success",size:"small",class:"mode-badge"},{default:d(()=>[...s[0]||(s[0]=[c(" 当前启用 ",-1)])]),_:1})):t.locked?(o(),f(m,{key:1,type:t.unlock_at==="阶段三"?"info":"warning",size:"small",class:"mode-badge"},{default:d(()=>[c(i(t.unlock_at||"后续"),1)]),_:2},1032,["type"])):g("",!0)]),a("div",j,i(b(t.id)),1),t.locked?(o(),l("div",F,[v(M,{size:12},{default:d(()=>[v(w)]),_:1}),c(" "+i(h(t.id)),1)])):g("",!0)])],10,q))),128))])])}}}),G=L(I,[["__scopeId","data-v-55cd3e36"]]);export{G as default};
|
||||
Reference in New Issue
Block a user