File: /www/server/panel/BTPanel/static/js/index7.js
import{V as E,r as b,g as V,c as M,o as B,a8 as $,j as i,k as d,q as a,e as r,v as f,x as T,p as c,M as h,F as y,B as v,C as U,s as k,z as F,bM as I,bk as L,ap as N,az as D}from"./base-lib.js?v=1777008528";import{c as j,M as s,w as q,z as A,A as G,cZ as H}from"./utils-lib.js?v=1777008528";import{c as P,s as R,f as W,i as Z}from"./ai.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";const p=E([]),S=b({total:0,enabled:0,disabled:0}),g=b(!1),{mainWidth:J}=j(),x=V(()=>{const e=Math.max(1,Math.floor((J.value-100)/320));return{gridTemplateColumns:"repeat(".concat(e,", minmax(300px, 1fr))")}}),u=async()=>{g.value=!0;try{const{data:e}=await P();e.status&&e.data&&(p.value=e.data.skills||[],S.value={total:e.data.total||0,enabled:e.data.enabled||0,disabled:e.data.disabled||0})}finally{g.value=!1}},K=async e=>{const n=e.enabled;try{const t=await R({skill_name:e.name,enabled:n});t.status?(s.success(t.msg),u()):(e.enabled=!n,s.error(t.msg||"操作失败"))}catch(t){e.enabled=!n,s.error("操作失败")}},O=async e=>{try{await q({title:"删除技能",content:"确定要删除技能【".concat(e.name,"】吗?此操作不可撤销。")});const n=await W({skill_name:e.name});n.status?(s.success(n.msg||"删除成功"),u()):s.error(n.msg||"删除失败")}catch(n){}},Q=async()=>{const e=document.createElement("input");e.type="file",e.accept=".zip,.tar.gz,.gz",e.onchange=async n=>{const t=n.target.files[0];if(t)try{if(!A(t,[".zip",".tar.gz",".gz"])){s.error("只支持 .zip 或 .tar.gz 格式的压缩包");return}s.success("正在上传技能包..."),await G(t,{path:"/tmp",name:t.name,onProgress:l=>{l%20===0&&s.success("上传进度: ".concat(l,"%"))},onSuccess:async()=>{s.success("上传成功,正在导入技能包...");const l=await Z({file_path:"/tmp/".concat(t.name)});l.status?(s.success(l.msg||"技能包导入成功"),u()):s.error(l.msg||"导入失败")},onError:()=>{s.error("文件上传失败")}})}catch(l){s.error("导入技能包失败:"+(l.message||"未知错误"))}},e.click()},X=()=>{p.value=[],S.value={total:0,enabled:0,disabled:0}},Y={class:"skills-page"},ee={class:"flex items-center gap-12px mb-24px"},te={class:"skill-list"},se={class:"card-header"},ae={class:"card-body"},ne={class:"card-header"},le={class:"skill-name"},oe={class:"flex items-center gap-12px"},ce=["onClick"],ie={class:"card-body"},re=["title"],de=M({__name:"index",setup(e){return B(u),$(X),(n,t)=>{const l=F,m=I,w=L,z=D,C=N;return i(),d("div",Y,[a("div",ee,[r(l,{type:"primary",onClick:c(Q)},{default:f(()=>[...t[0]||(t[0]=[T(" 导入技能包 ",-1)])]),_:1},8,["onClick"])]),a("div",te,[c(g)?(i(),d("div",{key:0,class:"skill-grid",style:h(c(x))},[(i(),d(y,null,v(6,o=>a("div",{key:o,class:"skill-card"},[r(w,{animated:""},{template:f(()=>[a("div",se,[r(m,{variant:"text",style:{width:"40%"}}),r(m,{variant:"text",style:{width:"60px"}})]),a("div",ae,[r(m,{variant:"text",style:{width:"100%","margin-bottom":"8px"}}),r(m,{variant:"text",style:{width:"80%"}})])]),_:1})])),64))],4)):c(p).length?(i(),d("div",{key:2,class:"skill-grid",style:h(c(x))},[(i(!0),d(y,null,v(c(p),o=>(i(),d("div",{key:o.name,class:"skill-card"},[a("div",ne,[a("span",le,k(o.name),1),a("div",oe,[a("span",{class:"hover:text-danger cursor-pointer text-small",onClick:_=>c(O)(o)},[...t[1]||(t[1]=[a("span",{class:"svgtofont-el-delete"},null,-1)])],8,ce),r(C,{modelValue:o.enabled,"onUpdate:modelValue":_=>o.enabled=_,size:"small",onChange:_=>c(K)(o)},null,8,["modelValue","onUpdate:modelValue","onChange"])])]),a("div",ie,[a("p",{class:"skill-desc",title:o.description||"暂无描述"},k(o.description||"暂无描述"),9,re)])]))),128))],4)):(i(),U(z,{key:1,description:"暂无技能数据"}))])])}}}),ge=H(de,[["__scopeId","data-v-173b15ac"]]);export{ge as default};