Files
wecom_it_smart_desk/frontend-admin/dist.old/assets/RagflowIngestion-DZYUxcj8.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
5.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{d as A,b as u,c as g,e as t,f as o,w as i,p as x,a3 as L,h as z,r as v,i as p,j as E,at as G,g as m,t as d,T as V,U as h}from"./index-BCt9h3P8.js";import{_ as U}from"./_plugin-vue_export-helper-DlAUqK2U.js";const P={class:"ragflow-ingestion-page"},H={class:"ragflow-ingestion-page__upload-content"},K={class:"ragflow-ingestion-page__category-select"},O=["accept"],q={key:0,class:"ragflow-ingestion-page__result"},J={class:"ragflow-ingestion-page__result-info"},Q={key:0,class:"ragflow-ingestion-page__suggestions"},W={class:"ragflow-ingestion-page__suggestion-header"},X={class:"ragflow-ingestion-page__suggestion-category"},Y={class:"ragflow-ingestion-page__result-note"},Z={key:1,class:"ragflow-ingestion-page__logs"},ee={class:"ragflow-ingestion-page__log-time"},te=20*1024*1024,ne=A({__name:"RagflowIngestion",setup(oe){const D=[".docx",".pdf",".txt",".png",".jpg",".jpeg"],y=v(),w=v(!1),b=v(!1),k=v("其他"),r=v(null),F=v([]);function R(){var n;(n=y.value)==null||n.click()}function _(n,e){F.value.push({level:n,time:new Date().toLocaleTimeString(),message:e})}function T(n){var s;const a=(s=n.target.files)==null?void 0:s[0];a&&C(a)}function I(n){var a,s;w.value=!1;const e=(s=(a=n.dataTransfer)==null?void 0:a.files)==null?void 0:s[0];e&&C(e)}async function C(n){var a;const e="."+((a=n.name.split(".").pop())==null?void 0:a.toLowerCase());if(!D.includes(e)){_("error",`不支持的文件格式: ${e}`);return}if(n.size>te){_("error",`文件过大: ${(n.size/1024/1024).toFixed(1)}MB(最大 20MB`);return}b.value=!0,_("info",`开始上传: ${n.name}${(n.size/1024).toFixed(1)}KB`);try{const s=new FormData;s.append("file",n),s.append("category_hint",k.value),_("info","上传至 RAGFlow,等待 ETL 处理...");const c=await(await fetch("/api/ragflow/ingest",{method:"POST",body:s})).json();c.code===0&&c.data?(r.value=c.data,_("success",`处理完成!生成 ${c.data.suggestions_count} 条待审提案`)):_("error",`处理失败: ${c.message||"未知错误"}`)}catch(s){_("error",`上传异常: ${s.message}`)}finally{b.value=!1,y.value&&(y.value.value="")}}function M(n){return{completed:"处理完成",failed:"处理失败",pending:"处理中",disabled:"服务未启用",timeout:"处理超时"}[n]||n}return(n,e)=>{const a=p("el-alert"),s=p("el-icon"),f=p("el-option"),c=p("el-select"),S=p("el-button"),j=p("el-tag"),N=p("router-link"),B=p("el-card");return u(),g("div",P,[e[13]||(e[13]=t("div",{class:"ragflow-ingestion-page__header"},[t("h2",null,"📄 文档知识导入(RAGFlow 通道 C")],-1)),o(a,{title:"通过 RAGFlow 将非标准格式文档整理为结构化知识片段,生成待审提案进入审批队列。",type:"info",closable:!1,"show-icon":"",class:"ragflow-ingestion-page__alert"}),t("div",{class:L(["ragflow-ingestion-page__upload",{"ragflow-ingestion-page__upload--dragover":w.value}]),onDragenter:e[1]||(e[1]=x(l=>w.value=!0,["prevent"])),onDragover:e[2]||(e[2]=x(l=>w.value=!0,["prevent"])),onDragleave:e[3]||(e[3]=x(l=>w.value=!1,["prevent"])),onDrop:x(I,["prevent"])},[t("div",H,[o(s,{size:48,color:"#909399"},{default:i(()=>[o(E(G))]),_:1}),e[6]||(e[6]=t("p",{class:"ragflow-ingestion-page__upload-text"}," 拖拽文件到此处,或点击下方按钮选择 ",-1)),e[7]||(e[7]=t("p",{class:"ragflow-ingestion-page__upload-hint"}," 支持 .docx / .pdf / .txt / .png / .jpg,最大 20MB ",-1)),t("div",K,[e[4]||(e[4]=t("span",null,"分类提示:",-1)),o(c,{modelValue:k.value,"onUpdate:modelValue":e[0]||(e[0]=l=>k.value=l),size:"default",style:{width:"140px"}},{default:i(()=>[o(f,{label:"硬件",value:"硬件"}),o(f,{label:"软件",value:"软件"}),o(f,{label:"网络",value:"网络"}),o(f,{label:"安全",value:"安全"}),o(f,{label:"账号",value:"账号"}),o(f,{label:"其他",value:"其他"})]),_:1},8,["modelValue"])]),o(S,{type:"primary",icon:"Upload",size:"default",loading:b.value,class:"ragflow-ingestion-page__upload-btn",onClick:R},{default:i(()=>[...e[5]||(e[5]=[m(" 选择文件并上传 ",-1)])]),_:1},8,["loading"])]),t("input",{ref_key:"fileInput",ref:y,type:"file",accept:D.join(","),class:"ragflow-ingestion-page__file-input",onChange:T},null,40,O)],34),r.value?(u(),g("div",q,[o(B,null,{header:i(()=>[...e[8]||(e[8]=[t("span",null,"处理结果",-1)])]),default:i(()=>[t("div",J,[o(j,{type:r.value.status==="completed"?"success":"warning",size:"default"},{default:i(()=>[m(d(M(r.value.status)),1)]),_:1},8,["type"]),t("span",null,"文件: "+d(r.value.file_name),1),t("span",null,"生成提案: "+d(r.value.suggestions_count)+" 条",1)]),r.value.suggestions&&r.value.suggestions.length>0?(u(),g("div",Q,[(u(!0),g(V,null,h(r.value.suggestions,(l,$)=>(u(),g("div",{key:$,class:"ragflow-ingestion-page__suggestion-item"},[t("div",W,[t("span",null,d(l.title),1),o(j,{size:"small",type:"info"},{default:i(()=>[m("置信度 "+d(Math.round(l.confidence*100))+"%",1)]),_:2},1024)]),t("div",X," 分类: "+d(l.category),1)]))),128))])):z("",!0),t("div",Y,[e[10]||(e[10]=m(" ✅ 生成的提案已进入审批队列,请前往 ",-1)),o(N,{to:"/knowledge-iteration"},{default:i(()=>[...e[9]||(e[9]=[m("知识迭代管理",-1)])]),_:1}),e[11]||(e[11]=m(" 审批。 ",-1))])]),_:1})])):z("",!0),F.value.length>0?(u(),g("div",Z,[o(B,null,{header:i(()=>[...e[12]||(e[12]=[t("span",null,"处理日志",-1)])]),default:i(()=>[(u(!0),g(V,null,h(F.value,(l,$)=>(u(),g("div",{key:$,class:L(["ragflow-ingestion-page__log-item",`ragflow-ingestion-page__log-item--${l.level}`])},[t("span",ee,d(l.time),1),t("span",null,d(l.message),1)],2))),128))]),_:1})])):z("",!0)])}}}),ae=U(ne,[["__scopeId","data-v-9f315502"]]);export{ae as default};