Files
wecom_it_smart_desk/frontend-admin/dist.old/assets/AssignmentMode-CWivdNcY.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
3.2 KiB
JavaScript

import{d as C,o as x,b as o,c as l,e as a,T as A,U as B,r as k,a3 as p,g as c,t as i,n as f,w as d,h as g,f as v,E as r,i as u}from"./index-BCt9h3P8.js";import{J as z,K as L}from"./admin-yH4tDL3a.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-CTvVpU0T.js";const V={class:"assignment-mode-page"},$={class:"mode-list"},q=["onClick"],E={class:"mode-info"},D={class:"mode-title"},T={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 z()).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 L(e.id),n.value=e.id,r.success(`已切换为「${e.name}`)}catch{r.error("切换分配模式失败")}}function h(e){return{manual:"坐席在待办列表中自行选择接单。AB 角色冗余设计,1 人即可承担。",round_robin:"按坐席列表顺序依次分配,循环往复。",least_active:"自动分配给当前活跃会话数最少的坐席。",weighted:"按坐席权重分配(如高级权重2、初级权重1)。",skill_match:"根据问题类别匹配坐席技能标签。",priority_queue:"紧急/阻断性问题优先路由到高级坐席/组长。"}[e]||""}function b(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",V,[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",T,i(h(t.id)),1),t.locked?(o(),l("div",F,[v(M,{size:12},{default:d(()=>[v(w)]),_:1}),c(" "+i(b(t.id)),1)])):g("",!0)])],10,q))),128))])])}}}),G=N(I,[["__scopeId","data-v-55cd3e36"]]);export{G as default};