bea288e414
== 已部署上线 (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
2 lines
4.1 KiB
JavaScript
2 lines
4.1 KiB
JavaScript
import{d as M,o as j,b as _,c as g,e as w,f as t,w as o,k as x,i as h,z as q,r as d,j as n,U as A,V as F,n as c,t as S,E as C}from"./index-BYp6OBwf.js";import{u as I}from"./automation-xfwMXSBH.js";import{_ as Q}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-CMW9Tl_L.js";const $={class:"rule-version"},G={class:"toolbar"},H={key:0,class:"loading-state"},W=M({__name:"RuleVersion",setup(X){const s=I(),U=q(),r=d(""),p=d(!1),y=d(!1),f=d(10),m=d(""),v=d("");j(async()=>{var u;await s.loadScenarios();const a=U.query.scenario||"",e=((u=s.scenarios[0])==null?void 0:u.scenario_key)||"";r.value=a&&s.scenarios.some(b=>b.scenario_key===a)?a:e,r.value&&await s.loadVersions(r.value)});async function P(a){a&&await s.loadVersions(a)}function B(a){switch(a){case"active":case"full":return"success";case"canary":return"warning";case"rollback":return"danger";default:return"info"}}function T(){r.value&&(f.value=10,m.value="",v.value="",p.value=!0)}async function z(){if(!r.value)return;const a=s.scenarios.find(u=>u.scenario_key===r.value);if(!a)return;let e;if(m.value.trim())try{e=JSON.parse(m.value)}catch{C.error("规则内容 JSON 格式有误");return}y.value=!0;try{await s.publishVersion(a.id,{content:e,canary_percent:f.value,remark:v.value}),C.success("新版本已发布"),p.value=!1}catch{C.error("发布失败")}finally{y.value=!1}}function E(a){if(!a)return"-";try{return new Date(a).toLocaleString("zh-CN",{hour12:!1})}catch{return a}}return(a,e)=>{const u=n("el-option"),b=n("el-select"),V=n("el-button"),J=n("el-skeleton"),i=n("el-table-column"),O=n("el-tag"),R=n("el-table"),D=n("el-slider"),k=n("el-form-item"),N=n("el-input"),K=n("el-form"),L=n("el-dialog");return _(),g("div",$,[e[9]||(e[9]=w("div",{class:"page-title"},"规则版本管理 / 灰度",-1)),e[10]||(e[10]=w("div",{class:"page-desc"},"管理各场景自动化规则的版本与灰度放量,新版本先小流量验证再全量。",-1)),w("div",G,[t(b,{modelValue:r.value,"onUpdate:modelValue":e[0]||(e[0]=l=>r.value=l),placeholder:"选择场景",filterable:"",style:{width:"260px"},onChange:P},{default:o(()=>[(_(!0),g(A,null,F(x(s).scenarios,l=>(_(),h(u,{key:l.scenario_key,label:l.name,value:l.scenario_key},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),t(V,{type:"primary",disabled:!r.value,onClick:T},{default:o(()=>[...e[6]||(e[6]=[c(" 发布新版本 ",-1)])]),_:1},8,["disabled"])]),x(s).loading?(_(),g("div",H,[t(J,{rows:6,animated:""})])):(_(),h(R,{key:1,data:x(s).versions,class:"ver-table",stripe:""},{default:o(()=>[t(i,{prop:"version",label:"版本",width:"90"}),t(i,{label:"状态",width:"110"},{default:o(({row:l})=>[t(O,{type:B(l.status),size:"small"},{default:o(()=>[c(S(l.status),1)]),_:2},1032,["type"])]),_:1}),t(i,{label:"灰度比例",width:"120"},{default:o(({row:l})=>[c(S(l.canary_percent)+"%",1)]),_:1}),t(i,{prop:"remark",label:"备注"}),t(i,{prop:"created_by",label:"发布人",width:"120"}),t(i,{label:"发布时间",width:"180"},{default:o(({row:l})=>[c(S(E(l.created_at)),1)]),_:1})]),_:1},8,["data"])),t(L,{modelValue:p.value,"onUpdate:modelValue":e[5]||(e[5]=l=>p.value=l),title:"发布新版本(灰度)",width:"520px","destroy-on-close":""},{footer:o(()=>[t(V,{onClick:e[4]||(e[4]=l=>p.value=!1)},{default:o(()=>[...e[7]||(e[7]=[c("取消",-1)])]),_:1}),t(V,{type:"primary",loading:y.value,onClick:z},{default:o(()=>[...e[8]||(e[8]=[c("发布",-1)])]),_:1},8,["loading"])]),default:o(()=>[t(K,{"label-position":"top"},{default:o(()=>[t(k,{label:"灰度放量比例:{{ canaryPercent }}%"},{default:o(()=>[t(D,{modelValue:f.value,"onUpdate:modelValue":e[1]||(e[1]=l=>f.value=l),min:0,max:100,step:5,"show-input":""},null,8,["modelValue"])]),_:1}),t(k,{label:"规则内容(JSON)"},{default:o(()=>[t(N,{modelValue:m.value,"onUpdate:modelValue":e[2]||(e[2]=l=>m.value=l),type:"textarea",rows:6,placeholder:"可选,留空沿用上一版本"},null,8,["modelValue"])]),_:1}),t(k,{label:"备注"},{default:o(()=>[t(N,{modelValue:v.value,"onUpdate:modelValue":e[3]||(e[3]=l=>v.value=l),placeholder:"如:修复 VPN 重置流程"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),te=Q(W,[["__scopeId","data-v-bcc0e9e8"]]);export{te as default};
|