import{E as O}from"./el-popper-CXiDZrHI.js";import{E as U}from"./index-9zpOHVFd.js";import{E as Z}from"./el-tag-DPsbND_Z.js";import{E as H}from"./el-table-CknU6KUt.js";import{d as J,y as c,D as K,G as Q,e as g,w as l,ac as W,j as X,o as p,q as u,s,x as r,g as w,aa as d,f as B,aY as ee,aZ as te,c as T,M as z,n as M,v as ae,A as le}from"./index-Dd84m4NL.js";import{E as ne}from"./index-Czb9Dcel.js";import"./el-tooltip-l0sNRNKZ.js";import"./el-checkbox-DmCZOH3C.js";import{D as se}from"./DataTablePage-_dKtm0HL.js";import{g as oe,d as ie,a as re}from"./dataset-BbHN1ZVd.js";import{f as ue}from"./fileSize-tjwmv-ob.js";import{_ as ce}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-DEuQ2B0Z.js";import"./index-KnEmF0FL.js";import"./el-scrollbar-CnqWU4CY.js";import"./_baseClone-C6YdWYHR.js";import"./_baseIteratee-CfOSjoYo.js";import"./castArray-Cc7cuNko.js";import"./debounce-CqM0EiuE.js";import"./toNumber-Dzu6kJGs.js";import"./raf-CGf5YZRu.js";import"./validator-BEv3fs9p.js";import"./index-BsIWQhw5.js";import"./clamp-MxoDdpzk.js";import"./index-B6n2yrjP.js";import"./scroll-CJw98M_S.js";import"./index-CxrDRhwR.js";import"./index-BkMrw1Qg.js";import"./omit-njl9pMBF.js";import"./el-card-WMAJU1WK.js";import"./el-pagination-CZfi7rql.js";import"./el-select-DinjeS4W.js";import"./vnode-CasYkit1.js";import"./index-C5oiM9Uu.js";import"./directive-CGqZKDhv.js";const de={class:"capsule-tabs"},me={class:"numeric-cell"},fe={class:"action-buttons"},pe=J({__name:"DatasetListView",setup(ve){const S=ae(),$=W(),y=c(!1),b=c([]),o=c($.query.tab==="task"?"task":"upload"),v=c(!1),m=c(0),f=c(!1),k=c(null),h=c(null),N=X(()=>o.value==="task"?b.value.filter(e=>e.source==="task"):b.value.filter(e=>e.source!=="task"));async function C(){y.value=!0;try{b.value=await oe()||[]}catch{}finally{y.value=!1}}async function x(e){await re(e.id)}async function L(e){try{await ne.confirm(`确定删除数据集“${e.name}”吗?删除后无法恢复。`,"确认删除",{type:"warning",confirmButtonText:"删除",cancelButtonText:"取消",confirmButtonClass:"el-button--danger"})}catch{return}k.value=e.id;try{await x(e),await C(),le.success("数据集已删除")}catch{}finally{k.value=null}}function V(){v.value=!0,m.value=0}function D(){var e;v.value=!1,m.value=0,(e=h.value)==null||e.clearSelection()}function P(e){m.value=e.length}async function A(){var e;if(!(!m.value||f.value)){f.value=!0;try{await((e=h.value)==null?void 0:e.handleBatchDelete())&&D()}finally{f.value=!1}}}function R(e){S.push(`/dataset/${e.id}/preview`)}function I(e){window.open(ie(e.id),"_blank")}function j(e){return ue(e.size_bytes,e.size)}function q(e){var i;const t=(i=e.current_version_nos)!=null&&i.length?e.current_version_nos:[e.current_version_no,...(e.files||[]).map(n=>n.current_version_no)];return[...new Set(t.map(n=>Number(n)).filter(n=>Number.isInteger(n)&&n>0))].sort((n,_)=>n-_)}function G(e){const t=q(e);return t.length?t.map(i=>`V${i}`).join(" / "):"-"}function Y(e){var n;const t=((n=e.files)==null?void 0:n.length)||0,i=Number(e.version_count||0);return t?`${t} 个文件,共 ${i||t} 个版本记录`:"当前数据集没有文件版本"}return K(o,D),Q(C),(e,t)=>{const i=U,n=H,_=Z,F=O;return p(),g(se,{ref_key:"tablePageRef",ref:h,title:"数据集管理",data:N.value,loading:y.value,searchable:"","search-fields":o.value==="task"?["task_id","task_name"]:["name"],"multi-select":o.value==="task"&&v.value,"show-batch-bar":!1,"create-text":o.value==="upload"?"上传数据集":"","create-to":"/dataset/create","delete-fn":x,"row-key":"id",onRefresh:C,onSelectionChange:P},{title:l(()=>[u("div",de,[u("button",{class:M(["capsule-tab-item",{active:o.value==="upload"}]),onClick:t[0]||(t[0]=a=>o.value="upload")}," 上传任务 ",2),u("button",{class:M(["capsule-tab-item",{active:o.value==="task"}]),onClick:t[1]||(t[1]=a=>o.value="task")}," 数据任务 ",2)])]),"toolbar-extra":l(()=>[o.value==="task"?(p(),T(z,{key:0},[v.value?(p(),T(z,{key:1},[s(i,{disabled:f.value,onClick:D},{default:l(()=>[...t[3]||(t[3]=[r("取消",-1)])]),_:1},8,["disabled"]),m.value>0?(p(),g(i,{key:0,type:"danger",loading:f.value,onClick:A},{default:l(()=>[t[4]||(t[4]=u("i",{class:"fa fa-trash-o",style:{"margin-right":"4px"}},null,-1)),r("删除("+d(m.value)+") ",1)]),_:1},8,["loading"])):w("",!0)],64)):(p(),g(i,{key:0,type:"danger",plain:"",onClick:V},{default:l(()=>[...t[2]||(t[2]=[u("i",{class:"fa fa-trash-o",style:{"margin-right":"4px"}},null,-1),r("批量删除 ",-1)])]),_:1}))],64)):w("",!0)]),columns:l(()=>[o.value==="task"?(p(),g(n,{key:0,label:"任务ID",prop:"task_id",align:"center",width:"100"})):w("",!0),s(n,{label:o.value==="task"?"训练任务名称":"数据集名称",align:"center","show-overflow-tooltip":""},{default:l(({row:a})=>[r(d(o.value==="task"?a.task_name||"-":a.name),1)]),_:1},8,["label"]),s(n,{label:"数据类型",align:"center",width:"110"},{default:l(({row:a})=>[s(_,{type:"primary",size:"small"},{default:l(()=>[r(d(B(ee)[String(a.type).toLowerCase()]||a.type||"-"),1)]),_:2},1024)]),_:1}),s(n,{label:"存储位置",align:"center",width:"110"},{default:l(({row:a})=>[s(_,{type:"success",size:"small"},{default:l(()=>[r(d(B(te)[a.storage_type]||a.storage_type||"-"),1)]),_:2},1024)]),_:1}),s(n,{label:"大小",align:"center",width:"120"},{default:l(({row:a})=>[u("span",me,d(j(a)),1)]),_:1}),s(n,{label:"数据条数",align:"center",width:"100"},{default:l(({row:a})=>[r(d(a.count||0),1)]),_:1}),s(n,{label:"版本",align:"center",width:"120"},{default:l(({row:a})=>[s(F,{content:Y(a),placement:"top","show-after":350},{default:l(()=>[s(_,{size:"small",type:"info",effect:"plain"},{default:l(()=>[r(d(G(a)),1)]),_:2},1024)]),_:2},1032,["content"])]),_:1}),s(n,{label:"创建时间",align:"center",width:"180"},{default:l(({row:a})=>[r(d(a.create_time?new Date(a.create_time).toLocaleString("zh-CN"):"-"),1)]),_:1})]),actions:l(({row:a})=>[u("div",fe,[s(i,{type:"primary",link:"",size:"small",onClick:E=>R(a)},{default:l(()=>[...t[5]||(t[5]=[u("i",{class:"fa fa-eye",style:{"margin-right":"4px"}},null,-1),r("详情 ",-1)])]),_:1},8,["onClick"]),s(i,{type:"success",link:"",size:"small",onClick:E=>I(a)},{default:l(()=>[...t[6]||(t[6]=[u("i",{class:"fa fa-download",style:{"margin-right":"4px"}},null,-1),r("下载 ",-1)])]),_:1},8,["onClick"]),s(i,{type:"danger",link:"",size:"small",loading:k.value===a.id,disabled:f.value||v.value,onClick:E=>L(a)},{default:l(()=>[...t[7]||(t[7]=[u("i",{class:"fa fa-trash-o",style:{"margin-right":"4px"}},null,-1),r("删除 ",-1)])]),_:1},8,["loading","disabled","onClick"])])]),_:1},8,["data","loading","search-fields","multi-select","create-text"])}}}),Qe=ce(pe,[["__scopeId","data-v-ccb2fce8"]]);export{Qe as default};