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