Files
YG_FT/frontend/dist/assets/DatasetCreateView-ChBCun2m.js
wuyongtao 9798b34717 feat: 重构前端 dist 构建产物,更新 Docker 配置及文档
- 重新构建 frontend/dist(新版 hash 替换旧版)
- 更新 docker 前端 Dockerfile 及 docker-compose 配置
- 新增 docs/team-development-plan.md 团队开发计划文档
- 更新 README、系统开发计划等文档
- 更新 LoginView 组件

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-21 12:36:33 +08:00

3 lines
7.5 KiB
JavaScript
Raw Permalink 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{E as H}from"./el-alert-xVLeNUgJ.js";import{a as Q,E as W}from"./el-form-item-D5kF3B90.js";import{E as X}from"./index-TFUf94PZ.js";import{E as Y}from"./index-BjEW7-SA.js";import{E as Z,b as ee}from"./el-radio-group-BkCoTeQL.js";import{E as te}from"./el-switch-DbCDiaMc.js";import{E as ae}from"./el-upload-BtHzuyZ5.js";import{v as le}from"./directive-DsZckUTJ.js";import{d as oe,G as se,K as ne,e as U,w as l,y as f,j,z as ie,o as _,s as a,x as m,c as V,M as z,g as k,q as u,ad as ue,aa as b,A as g,v as re,ac as de}from"./index-BKKvzUDD.js";import"./el-progress-DuOxpLST.js";import{P as me}from"./PageCard-BoKXOzst.js";import{b as pe,u as A,c as F,e as ce}from"./dataset-BJ2ikehQ.js";import{_ as fe}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vnode-78qeDweP.js";import"./castArray-5uErZEc3.js";import"./_baseClone-B5RBzbh5.js";import"./raf-C-x62Pcl.js";import"./index-DLzof2Fz.js";import"./index-GAnQrJsQ.js";import"./omit-BTSq4AYh.js";import"./validator-Fn0bm4xU.js";import"./el-card-CApHJ1Gj.js";const _e={style:{width:"100%"}},ve={class:"file-info"},ye={class:"file-name"},ge={class:"file-size"},we={key:1,class:"record-count"},Ve=".json,.jsonl",ke=oe({__name:"DatasetCreateView",setup(be){const D=de(),N=re(),x=f(),E=f(!1),C=f(!1),w=j(()=>!!D.params.id),y=j(()=>D.params.id),t=ie({name:"",description:"",dataset_type:"train",storage:"local",minio_endpoint:"",minio_bucket:"",minio_access_key:"",minio_secret_key:"",minio_ssl:!1}),r=f([]),d=f(0),v=f(null),p=f(""),M={name:[{required:!0,message:"请输入数据集名称",trigger:"blur"},{max:20,message:"不超过 20 字符",trigger:"blur"}],description:[{max:50,message:"不超过 50 字符",trigger:"blur"}]};async function O(i){var o;const e=i.raw;if(!e)return;const n=(o=e.name.split(".").pop())==null?void 0:o.toLowerCase();if(n!=="json"&&n!=="jsonl"){g.warning("仅支持 JSON/JSONL 格式");return}if(e.size>200*1024*1024){g.warning("单文件不能超过 200MB");return}r.value=[e],await R(e)}async function R(i){try{const n=(await i.text()).trim().split(`
`).filter(Boolean);d.value=n.length;let o=0;for(const c of n)try{JSON.parse(c).instruction!==void 0&&o++}catch{}o>0&&o===n.length?(v.value=!0,p.value="符合 Alpaca 格式(含 instruction 字段)"):o>0?(v.value=!0,p.value=`部分符合 Alpaca 格式(${o}/${n.length}`):(v.value=!1,p.value="未检测到标准 Alpaca 格式(缺少 instruction 字段),仍可上传")}catch{d.value=0,v.value=null,p.value="文件解析失败"}}function I(){return Promise.resolve()}function K(){r.value=[],d.value=0,v.value=null,p.value=""}async function L(){if(y.value){E.value=!0;try{const i=await pe(y.value);Object.assign(t,{name:i.name||"",description:i.description||"",dataset_type:i.type==="eval"?"eval":"train",storage:i.storage_type||"local"}),d.value=i.count||0}catch{}finally{E.value=!1}}}async function h(){x.value&&await x.value.validate(async i=>{if(i){if(!w.value&&r.value.length===0){g.warning("请至少上传一个数据集文件");return}C.value=!0;try{const e={name:t.name,type:t.dataset_type,storage_type:t.storage,description:t.description,count:d.value};if(t.storage==="minio"&&(e.minio_config={endpoint:t.minio_endpoint,bucket:t.minio_bucket,access_key:t.minio_access_key,secret_key:t.minio_secret_key,ssl:t.minio_ssl}),w.value&&y.value)await A(y.value,e),r.value.length>0&&await F(y.value,r.value),g.success("更新成功");else{const n=await ce(e),o=(n==null?void 0:n.id)||n;r.value.length>0&&(await F(o,r.value),await A(o,{count:d.value})),g.success("上传成功")}N.push("/dataset")}catch{}finally{C.value=!1}}})}function J(){N.back()}return se(L),(i,e)=>{const n=X,o=Q,c=ee,S=Z,q=te,P=ae,B=Y,G=H,T=W,$=le;return ne((_(),U(me,{title:w.value?"编辑数据集":"上传数据集"},{default:l(()=>[a(T,{ref_key:"formRef",ref:x,model:t,rules:M,"label-width":"120px",style:{"max-width":"640px"}},{default:l(()=>[a(o,{label:"数据集名称",prop:"name"},{default:l(()=>[a(n,{modelValue:t.name,"onUpdate:modelValue":e[0]||(e[0]=s=>t.name=s),placeholder:"请输入数据集名称",maxlength:"20","show-word-limit":""},null,8,["modelValue"])]),_:1}),a(o,{label:"数据集描述"},{default:l(()=>[a(n,{modelValue:t.description,"onUpdate:modelValue":e[1]||(e[1]=s=>t.description=s),type:"textarea",rows:2,maxlength:"50","show-word-limit":"",placeholder:"选填"},null,8,["modelValue"])]),_:1}),a(o,{label:"数据集类型"},{default:l(()=>[a(S,{modelValue:t.dataset_type,"onUpdate:modelValue":e[2]||(e[2]=s=>t.dataset_type=s)},{default:l(()=>[a(c,{value:"train"},{default:l(()=>[...e[9]||(e[9]=[m("训练集",-1)])]),_:1}),a(c,{value:"eval"},{default:l(()=>[...e[10]||(e[10]=[m("评测集",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(o,{label:"上传方式"},{default:l(()=>[a(S,{modelValue:t.storage,"onUpdate:modelValue":e[3]||(e[3]=s=>t.storage=s)},{default:l(()=>[a(c,{value:"local"},{default:l(()=>[...e[11]||(e[11]=[m("本地",-1)])]),_:1}),a(c,{value:"cloud"},{default:l(()=>[...e[12]||(e[12]=[m("云平台",-1)])]),_:1}),a(c,{value:"minio"},{default:l(()=>[...e[13]||(e[13]=[m("MinIO",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t.storage==="minio"?(_(),V(z,{key:0},[a(o,{label:"Endpoint"},{default:l(()=>[a(n,{modelValue:t.minio_endpoint,"onUpdate:modelValue":e[4]||(e[4]=s=>t.minio_endpoint=s),placeholder:"如http://minio:9000"},null,8,["modelValue"])]),_:1}),a(o,{label:"Bucket"},{default:l(()=>[a(n,{modelValue:t.minio_bucket,"onUpdate:modelValue":e[5]||(e[5]=s=>t.minio_bucket=s),placeholder:"请输入 Bucket 名称"},null,8,["modelValue"])]),_:1}),a(o,{label:"Access Key"},{default:l(()=>[a(n,{modelValue:t.minio_access_key,"onUpdate:modelValue":e[6]||(e[6]=s=>t.minio_access_key=s),placeholder:"请输入 Access Key"},null,8,["modelValue"])]),_:1}),a(o,{label:"Secret Key"},{default:l(()=>[a(n,{modelValue:t.minio_secret_key,"onUpdate:modelValue":e[7]||(e[7]=s=>t.minio_secret_key=s),type:"password","show-password":"",placeholder:"请输入 Secret Key"},null,8,["modelValue"])]),_:1}),a(o,{label:"启用 SSL"},{default:l(()=>[a(q,{modelValue:t.minio_ssl,"onUpdate:modelValue":e[8]||(e[8]=s=>t.minio_ssl=s)},null,8,["modelValue"])]),_:1})],64)):k("",!0),t.storage==="local"?(_(),U(o,{key:1,label:"上传文件"},{default:l(()=>[u("div",_e,[a(P,{drag:"",accept:Ve,"auto-upload":!1,"show-file-list":!1,"http-request":I,"on-change":O},{tip:l(()=>[...e[14]||(e[14]=[u("div",{class:"el-upload__tip"},"仅支持 JSON/JSONL 格式,单文件不超过 200MB",-1)])]),default:l(()=>[e[15]||(e[15]=u("i",{class:"fa fa-cloud-upload",style:{"font-size":"32px",color:"#1890ff"}},null,-1)),e[16]||(e[16]=u("div",{class:"el-upload__text"},[m(" 将文件拖到此处,或"),u("em",null,"点击上传")],-1))]),_:1}),(_(!0),V(z,null,ue(r.value,s=>(_(),V("div",{key:s.name,class:"file-item"},[u("div",ve,[e[17]||(e[17]=u("i",{class:"fa fa-file-code-o"},null,-1)),u("span",ye,b(s.name),1),u("span",ge,b((s.size/1024).toFixed(1))+" KB",1)]),a(B,{link:"",type:"danger",size:"small",onClick:K},{default:l(()=>[...e[18]||(e[18]=[u("i",{class:"fa fa-times"},null,-1)])]),_:1})]))),128)),p.value?(_(),U(G,{key:0,title:p.value,type:v.value?"success":"warning",closable:!1,"show-icon":"",style:{"margin-top":"8px"}},null,8,["title","type"])):k("",!0),d.value?(_(),V("div",we,"解析到 "+b(d.value)+" 条记录",1)):k("",!0)])]),_:1})):k("",!0),a(o,null,{default:l(()=>[a(B,{type:"primary",loading:C.value,onClick:h},{default:l(()=>[m(b(w.value?"保存":"上传"),1)]),_:1},8,["loading"]),a(B,{onClick:J},{default:l(()=>[...e[19]||(e[19]=[m("取消",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])),[[$,E.value]])}}}),Ge=fe(ke,[["__scopeId","data-v-85ac7099"]]);export{Ge as default};