import{k as re,T as ue,U as ce,V as de,S as R,R as z,E as f,X as fe}from"./index.CbAj2snU.js";import{createCrudOptions as pe}from"./crud.CWL15fON.js";import{A as _e,U as ve,D as me,a as ge}from"./api.De6OPNfC.js";import{h as ye}from"./columnPermission.B9MLl5gu.js";import{a as A,r as h,q as be,aj as i,J as y,o as r,K as a,b as x,S as o,H as ke,u,P as c,Q as b,c as p,R as he,a9 as Ve,M as we}from"./vue.D1BjjNmv.js";import{_ as xe}from"./_plugin-vue_export-helper.DlAUqK2U.js";const Oe={class:"digital-human-container"},Ce={class:"list-area"},De=["src"],Se={key:1},Ne=["src"],Ue={key:1},Be=["src"],Je=["src"],Me={key:1,class:"video-uploader-placeholder"},Re={class:"dialog-footer"},ze=A({name:"areas"}),Ae=A({...ze,setup(Fe){const C="https://backend.qicai321.com",{crudBinding:F,crudRef:$,crudExpose:O,crudOptions:E,resetCrudOptions:T}=re({createCrudOptions:pe}),d=h("add"),m=h(!1),g={name:"",description:"",avatar_url:"",status:1,template_video_url:"",config:{voice_type:"",style:"professional"}},t=h({...g}),D=h(),S=()=>{d.value="add",t.value={...g},m.value=!0},N=l=>{console.log("编辑行数据:",l),d.value="edit";const e=JSON.parse(JSON.stringify(l));if(typeof e.config=="string")try{e.config=JSON.parse(e.config)}catch(s){console.error("解析config失败:",s),e.config={...g.config}}else e.config||(e.config={...g.config});t.value=e,m.value=!0},j=l=>{console.log("查看行数据:",l),d.value="view";const e=JSON.parse(JSON.stringify(l));if(typeof e.config=="string")try{e.config=JSON.parse(e.config)}catch(s){console.error("解析config失败:",s),e.config={...g.config}}else e.config||(e.config={...g.config});t.value=e,m.value=!0},U=()=>{m.value=!1},q=(l,e)=>{console.log(l),t.value.avatar_url=l.url},L=l=>{const e=l.type.startsWith("image/"),s=l.size/1024/1024<2;return e||f.error("上传头像图片只能是图片格式!"),s||f.error("上传头像图片大小不能超过 2MB!"),e&&s},H=(l,e)=>{console.log(l),t.value.template_video_url=l.url},P=l=>{const e=l.type.startsWith("video/"),s=l.size/1024/1024<50;return e||f.error("请上传视频格式文件!"),s||f.error("上传视频大小不能超过 50MB!"),e&&s},W=async()=>{try{await D.value.validate();const l={...t.value};if(l.config&&typeof l.config=="object"){const e={voice_type:l.config.voice_type||"",style:l.config.style||""};l.config=JSON.stringify(e)}d.value==="add"?(await _e(l),f.success("添加成功")):(await ve(l),f.success("更新成功")),U(),O.doRefresh()}catch(l){console.error("表单提交错误:",l),f.error("提交失败,请检查表单信息")}},I=l=>{fe.confirm(`确定要删除数字人 "${l.name}" 吗?`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(async()=>{try{await me(l.id),f.success("删除成功"),O.doRefresh()}catch(e){console.error("删除失败:",e),f.error("删除失败,请稍后重试")}}).catch(()=>{})},G=h([{label:"龙小夏",value:"longxiaoxia"},{label:"龙小春",value:"longxiaochun"},{label:"龙小瑶",value:"longxiaoyao"},{label:"龙小婧",value:"longxiaojing"},{label:"龙青周",value:"longqingzhou"},{label:"女声清新风格",value:"female1"},{label:"女声稳重风格",value:"female2"},{label:"男声清新风格",value:"male1"},{label:"男声稳重风格",value:"male2"}]),K=async()=>{};be(async()=>{var e,s;const l=await ye(ge,E);(s=(e=l.actionbar)==null?void 0:e.buttons)!=null&&s.add&&(l.actionbar.buttons.add.click=()=>{S()}),T(l),O.doRefresh(),K()});const Q=()=>d.value==="add"?"新增数字人":d.value==="edit"?"编辑数字人":"查看数字人",X=[{label:"小明(高级)",value:"xiaoming_voice_premium"},{label:"小红",value:"xiaohong_voice"}],Y=[{label:"专业",value:"professional"},{label:"友好",value:"friendly"},{label:"严肃",value:"serious"}],Z=l=>{const e=X.find(s=>s.value===l);return e?e.label:l},ee=l=>{const e=Y.find(s=>s.value===l);return e?e.label:l};return(l,e)=>{const s=i("el-icon"),k=i("el-button"),le=i("fs-crud"),_=i("el-descriptions-item"),oe=i("el-tag"),ae=i("el-descriptions"),B=i("el-input"),v=i("el-form-item"),J=i("el-upload"),te=i("el-switch"),V=i("el-option"),M=i("el-select"),se=i("el-form"),ne=i("el-dialog"),ie=i("fs-page");return r(),y(ie,null,{default:a(()=>[x("div",Oe,[x("div",Ce,[o(le,ke({ref_key:"crudRef",ref:$},u(F),{onAddDigitalHuman:S,onEditDigitalHuman:N}),{"cell-rowHandle-middle":a(n=>[o(k,{size:"small",type:"text",onClick:w=>j(n.row)},{default:a(()=>[e[6]||(e[6]=c(" 查看")),o(s,null,{default:a(()=>[o(u(ue))]),_:1})]),_:2},1032,["onClick"]),o(k,{size:"small",type:"text",onClick:w=>N(n.row)},{default:a(()=>[e[7]||(e[7]=c(" 编辑")),o(s,null,{default:a(()=>[o(u(ce))]),_:1})]),_:2},1032,["onClick"]),o(k,{size:"small",type:"text",onClick:w=>I(n.row),class:"text-danger"},{default:a(()=>[e[8]||(e[8]=c(" 删除")),o(s,null,{default:a(()=>[o(u(de))]),_:1})]),_:2},1032,["onClick"])]),_:1},16)]),o(ne,{modelValue:m.value,"onUpdate:modelValue":e[5]||(e[5]=n=>m.value=n),title:Q(),width:"500px","close-on-click-modal":!1,"destroy-on-close":!0},{footer:a(()=>[x("div",Re,[o(k,{onClick:U},{default:a(()=>[c(b(d.value==="view"?"关闭":"取消"),1)]),_:1}),d.value!=="view"?(r(),y(k,{key:0,type:"primary",onClick:W},{default:a(()=>e[10]||(e[10]=[c("提交")])),_:1})):we("",!0)])]),default:a(()=>[d.value==="view"?(r(),y(ae,{key:0,column:1,border:""},{default:a(()=>[o(_,{label:"名称"},{default:a(()=>[c(b(t.value.name),1)]),_:1}),o(_,{label:"头像"},{default:a(()=>[t.value.avatar_url?(r(),p("img",{key:0,src:t.value.avatar_url,class:"avatar"},null,8,De)):(r(),p("span",Se,"无头像"))]),_:1}),o(_,{label:"模板视频"},{default:a(()=>[t.value.template_video_url?(r(),p("video",{key:0,src:t.value.template_video_url,class:"video-preview",controls:""},null,8,Ne)):(r(),p("span",Ue,"无视频"))]),_:1}),o(_,{label:"状态"},{default:a(()=>[o(oe,{type:t.value.status===1?"success":"info"},{default:a(()=>[c(b(t.value.status===1?"启用":"禁用"),1)]),_:1},8,["type"])]),_:1}),o(_,{label:"语音ID"},{default:a(()=>[c(b(Z(t.value.config.voice_type)),1)]),_:1}),o(_,{label:"风格"},{default:a(()=>[c(b(ee(t.value.config.style)),1)]),_:1}),o(_,{label:"描述"},{default:a(()=>[c(b(t.value.description||"无"),1)]),_:1})]),_:1})):(r(),y(se,{key:1,ref_key:"formRef",ref:D,model:t.value,"label-width":"100px",class:"form-content"},{default:a(()=>[o(v,{label:"名称",prop:"name",rules:[{required:!0,message:"请输入名称",trigger:"blur"}]},{default:a(()=>[o(B,{modelValue:t.value.name,"onUpdate:modelValue":e[0]||(e[0]=n=>t.value.name=n),placeholder:"请输入数字人名称"},null,8,["modelValue"])]),_:1}),o(v,{label:"头像",prop:"avatar_url",rules:[{required:!0,message:"请上传头像",trigger:"change"}]},{default:a(()=>[o(J,{class:"avatar-uploader",action:`${u(C)}/api/system/admin_upload/`,headers:{Authorization:`JWT ${u(R).get("token")||""}`},data:{tenant_id:"1"},"show-file-list":!1,"on-success":q,"before-upload":L},{default:a(()=>[t.value.avatar_url?(r(),p("img",{key:0,src:t.value.avatar_url,class:"avatar"},null,8,Be)):(r(),y(s,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[o(u(z))]),_:1}))]),_:1},8,["action","headers"])]),_:1}),o(v,{label:"模板视频",prop:"template_video_url"},{default:a(()=>[o(J,{class:"video-uploader",action:`${u(C)}/api/system/admin_upload/`,headers:{Authorization:`JWT ${u(R).get("token")||""}`},data:{tenant_id:"1"},"show-file-list":!1,"on-success":H,"before-upload":P,accept:"video/*"},{default:a(()=>[t.value.template_video_url?(r(),p("video",{key:0,src:t.value.template_video_url,class:"video-preview",controls:""},null,8,Je)):(r(),p("div",Me,[o(s,{class:"video-uploader-icon"},{default:a(()=>[o(u(z))]),_:1}),e[9]||(e[9]=x("div",null,"点击上传视频",-1))]))]),_:1},8,["action","headers"])]),_:1}),o(v,{label:"状态",prop:"status"},{default:a(()=>[o(te,{modelValue:t.value.status,"onUpdate:modelValue":e[1]||(e[1]=n=>t.value.status=n),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1}),o(v,{label:"语音ID",prop:"config.voice_type"},{default:a(()=>[o(M,{modelValue:t.value.config.voice_type,"onUpdate:modelValue":e[2]||(e[2]=n=>t.value.config.voice_type=n),placeholder:"请选择语音"},{default:a(()=>[(r(!0),p(he,null,Ve(G.value,(n,w)=>(r(),y(V,{key:w,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(v,{label:"风格",prop:"config.style"},{default:a(()=>[o(M,{modelValue:t.value.config.style,"onUpdate:modelValue":e[3]||(e[3]=n=>t.value.config.style=n),placeholder:"请选择风格"},{default:a(()=>[o(V,{label:"专业",value:"professional"}),o(V,{label:"友好",value:"friendly"}),o(V,{label:"严肃",value:"serious"})]),_:1},8,["modelValue"])]),_:1}),o(v,{label:"描述",prop:"description"},{default:a(()=>[o(B,{modelValue:t.value.description,"onUpdate:modelValue":e[4]||(e[4]=n=>t.value.description=n),type:"textarea",placeholder:"请输入描述"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]))]),_:1},8,["modelValue","title"])])]),_:1})}}}),He=xe(Ae,[["__scopeId","data-v-8bba2815"]]);export{He as default};