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
5.5 KiB
JavaScript
2 lines
5.5 KiB
JavaScript
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};
|