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