import{k as ke,S as H,J as Q,K as xe,I as Ue,M as Ce,O as Z,F as Ve,E as r}from"./index.BsmLRken.js";import{a as X,aH as ze,r as s,q as Fe,Z as Re,aj as u,J as F,o as f,K as a,S as l,b as d,H as qe,u as p,c as V,R as Te,M as R,P as g,Q as z}from"./vue.YrNK8sx4.js";import{createCrudOptions as Be}from"./crud.jrTxdDiY.js";import Se from"./index.CrAKdO1f.js";import Ee from"./index.C0JIyikb.js";import{d as Me,e as Le,a as je,f as Ie}from"./api.D8qsjivi.js";import{_ as Ne}from"./_plugin-vue_export-helper.DlAUqK2U.js";const Pe={class:"document-box document-left-box"},$e={class:"document-box document-right-box"},Oe={key:0,class:"uploaded-file-info mt-2"},Je={class:"flex items-center justify-between"},Ke={class:"flex items-center"},We={class:"flex items-center"},Ae={class:"text-gray-500 text-sm mr-4"},Ge={key:1,class:"flex items-center justify-between"},He={key:0,class:"video-preview"},Qe=["src"],Ze={key:2,class:"file-info"},Xe={class:"file-size"},Ye={class:"dialog-footer"},et={class:"dialog-footer"},tt=X({name:"documentList"}),ot=X({...tt,setup(lt){const{crudBinding:Y,crudRef:y,crudExpose:w}=ke({createCrudOptions:Be});ze();const b=s(null),q=s([]),I=s([]),D=s(!1),T=s({}),N=s(null),v=s(""),ee=s(!1),te=s({id:0,name:"",doc_type:"",category:"",project:"",version:"",file_type:"",file_size:0,status:!0,doc_desc:"",update_datetime:"",file_path:"",file:""});s(null);const c=s({url:"",name:"",size:0,file_type:""}),P=s({url:"",name:"",size:0,file_type:""}),k=s(!1),_=s(null);s("");const B=s(null),m=s({videoUrl:"",subtitleContent:""}),oe={videoUrl:[{required:!0,message:"请上传数字人视频",trigger:"change"}]},x=s(!1),U=s({sequence_number:0}),le={sequence_number:[{required:!0,message:"请输入排序值",trigger:"blur"},{type:"number",message:"排序值必须为数字",trigger:"blur"}]},S=s(null),E=()=>{Me({}).then(t=>{console.log("ret",t);const e=t.data;q.value=e})},ae=t=>{console.log("record",t),v.value=(t==null?void 0:t.id)||"",b.value=null;const e={form:{job_id:v.value}};w.doSearch(e)},ne=(t,e)=>{var o,n,C,h;if(t==="update"&&e){const M=((h=(C=(n=(o=N.value)==null?void 0:o.treeRef)==null?void 0:n.currentNode)==null?void 0:C.parent)==null?void 0:h.data)||{};I.value=[M],T.value=e}D.value=!0},$=t=>{t==="submit"&&E(),D.value=!1,T.value={}},re=(t,e)=>{Z.confirm("您确认删除该文档分类吗?","温馨提示",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"}).then(async()=>{const o=await Le(t);e(),(o==null?void 0:o.code)===2e3&&(Ve(o.msg),E())})},se=(t,e,o)=>{if(!t||!t.data){console.error("Upload response is invalid:",t);return}const n={name:e.name,file_path:t.data.bucket_url,file_type:t.data.file_type,file_size:e.size,doc_type:o.form.doc_type||"",category:v.value,status:!0,doc_desc:"",version:"",file:t.data.bucket_url};if(o.form)Object.assign(o.form,n);else{console.error("Form reference is not available");return}b.value=n,w.doRefresh({category:v.value})},ie=t=>{var e;if(b.value=null,(e=y.value)!=null&&e.form){const o=y.value.form;o.name="",o.file_path="",o.file_type="",o.file_size="",o.doc_type="",o.category="",o.doc_desc="",o.version="",o.file="",t.value=""}},O=t=>{if(t===0)return"0 B";const e=1024,o=["B","KB","MB","GB","TB"],n=Math.floor(Math.log(t)/Math.log(e));return parseFloat((t/Math.pow(e,n)).toFixed(2))+" "+o[n]},ue=t=>t?["pdf","doc","docx","xls","xlsx","ppt","pptx","jpg","jpeg","png","gif","bmp","webp","svg"].includes(t.toLowerCase()):!1,de=t=>{if(!t||!t.file){Z.alert("文件链接不存在","预览失败",{type:"error"});return}const e=t.file_type||"",o=t.file,n=`/#/preview?url=${encodeURIComponent(o)}&type=${e}`;window.open(n,"_blank")},J=async t=>{const e=t.detail||t;try{te.value=e,ee.value=!0}catch{r.error("获取文档详情失败")}},ce=t=>{const e=t.type.startsWith("video/"),o=t.size/1024/1024<500;return e?o?!0:(r.error("视频大小不能超过 500MB!"),!1):(r.error("请上传视频文件!"),!1)},me=(t,e)=>{if(console.log("response",t),console.log("file",e),t&&t.url)c.value={url:t.url,name:e.name||t.filename||"",size:e.size||0,file_type:e.type||t.mime_type||"video/mp4"},m.value.videoUrl=t.url,r.success("视频上传成功");else if(t&&t.data&&t.data.url)c.value={url:t.data.url,name:e.name||t.data.filename||"",size:e.size||0,file_type:e.type||t.data.mime_type||"video/mp4"},m.value.videoUrl=t.data.url,r.success("视频上传成功");else try{const o=t.url||t.response&&t.response.url||t[0]&&t[0].url||t.data&&t.data.bucket_url;if(o)c.value={url:o,name:e.name||t.filename||t.original_filename||"",size:e.size||t.size||0,file_type:e.type||t.mime_type||"video/mp4"},m.value.videoUrl=o,r.success("视频上传成功");else throw new Error("无法从响应中获取URL")}catch(o){console.error("处理上传响应时出错:",o),r.error("视频上传成功,但无法解析响应数据")}},fe=()=>{r.error("上传失败,请重试")},K=t=>{const e=t.detail;e&&(_.value=e,k.value=!0,c.value={url:"",name:"",size:0,file_type:""},P.value={url:"",name:"",size:0,file_type:""},m.value={videoUrl:"",subtitleContent:""})},ve=()=>{B.value&&B.value.validate(async t=>{if(t)try{if(!_.value||!_.value.id){r.error("当前选中的题目信息无效");return}if(!m.value.videoUrl&&!c.value.url){r.warning("请先上传数字人视频");return}const e={question_id:_.value.question_id,video_url:m.value.videoUrl||c.value.url,digital_human_video_subtitle:m.value.subtitleContent,tenant_id:1};console.log("提交的数据:",e);const o=await je(e);o&&o.code===2e3?(r.success("数字人视频和字幕信息保存成功"),k.value=!1,c.value={url:"",name:"",size:0,file_type:""},P.value={url:"",name:"",size:0,file_type:""},m.value={videoUrl:"",subtitleContent:""},w.doRefresh()):r.error((o==null?void 0:o.msg)||"保存失败")}catch(e){console.error("保存视频和字幕信息时出错:",e),r.error("保存失败,请重试")}else return r.warning("请完成必填项"),!1})},W=t=>{const e=t.detail;e&&(_.value=e,U.value.sequence_number=e.sequence_number||0,x.value=!0)},_e=()=>{S.value&&S.value.validate(async t=>{if(t)try{if(!_.value||!_.value.question_id){r.error("当前选中的题目信息无效");return}const e=v.value;if(!e){r.error("未选择职位分类");return}const o={position_id:e,questions:[{question_id:_.value.question_id,sequence_number:U.value.sequence_number}],tenant_id:1};console.log("提交的排序数据:",o);const n=await Ie(o);n&&n.code===2e3?(r.success("排序修改成功"),x.value=!1,w.doRefresh()):r.error((n==null?void 0:n.msg)||"保存失败")}catch(e){console.error("保存排序信息时出错:",e),r.error("保存失败,请重试")}else return r.warning("请输入有效的排序值"),!1})};return Fe(()=>{E(),w.doRefresh(),setTimeout(()=>{y.value&&(y.value.searchForm||(y.value.searchForm={}),v.value&&(y.value.searchForm.category=v.value,w.doSearch({form:{category:v.value}})))},300),window.addEventListener("viewDocumentDetail",J),window.addEventListener("openVideoUploadDialog",K),window.addEventListener("openSortDialog",W)}),Re(()=>{window.removeEventListener("viewDocumentDetail",J),window.removeEventListener("openVideoUploadDialog",K),window.removeEventListener("openSortDialog",W)}),(t,e)=>{const o=u("el-col"),n=u("el-button"),C=u("el-upload"),h=u("el-icon"),M=u("el-card"),pe=u("fs-crud"),ye=u("el-row"),ge=u("el-drawer"),L=u("el-form-item"),we=u("el-input"),A=u("el-form"),G=u("el-dialog"),be=u("el-input-number"),he=u("fs-page");return f(),F(he,null,{default:a(()=>[l(ye,{class:"document-el-row"},{default:a(()=>[l(o,{span:4},{default:a(()=>[d("div",Pe,[l(Se,{ref_key:"documentTreeRef",ref:N,treeData:q.value,onTreeClick:ae,onUpdateDocument:ne,onDeleteDocument:re},null,8,["treeData"])])]),_:1}),l(o,{span:20},{default:a(()=>[d("div",$e,[l(pe,qe({ref_key:"crudRef",ref:y},p(Y)),{form_file:a(i=>[i.mode!=="view"?(f(),V(Te,{key:0},[l(C,{action:p(Q)()+"api/system/minioupload/",headers:{Authorization:"JWT "+p(H).get("token")},multiple:!1,"on-success":(j,De)=>se(j,De,i),drag:!1,"show-file-list":!1},{default:a(()=>[l(n,{type:"primary",icon:"plus"},{default:a(()=>e[7]||(e[7]=[g("上传")])),_:1})]),_:2},1032,["action","headers","on-success"]),b.value?(f(),V("div",Oe,[l(M,{shadow:"hover",class:"w-full"},{default:a(()=>[d("div",Je,[d("div",Ke,[l(h,{class:"mr-2"},{default:a(()=>[l(p(xe))]),_:1}),d("span",null,z(b.value.name),1)]),d("div",We,[d("span",Ae,z(O(b.value.file_size)),1),l(n,{type:"danger",link:"",onClick:j=>ie(i)},{default:a(()=>[l(h,null,{default:a(()=>[l(p(Ue))]),_:1})]),_:2},1032,["onClick"])])])]),_:2},1024)])):R("",!0)],64)):(f(),V("div",Ge,[d("span",null,z(i.form.fileName),1),ue(i.form.file_type)?(f(),F(n,{key:0,type:"primary",link:"",onClick:j=>de(i.form)},{default:a(()=>[l(h,{class:"mr-1"},{default:a(()=>[l(p(Ce))]),_:1}),e[8]||(e[8]=g("预览 "))]),_:2},1032,["onClick"])):R("",!0)]))]),_:1},16)])]),_:1})]),_:1}),l(ge,{modelValue:D.value,"onUpdate:modelValue":e[0]||(e[0]=i=>D.value=i),title:"文档配置",direction:"rtl",size:"500px","close-on-click-modal":!1,"before-close":$},{default:a(()=>[D.value?(f(),F(Ee,{key:0,initFormData:T.value,cacheData:I.value,treeData:q.value,onDrawerClose:$},null,8,["initFormData","cacheData","treeData"])):R("",!0)]),_:1},8,["modelValue"]),l(G,{modelValue:k.value,"onUpdate:modelValue":e[3]||(e[3]=i=>k.value=i),title:"上传数字人视频及字幕",width:"600px","destroy-on-close":""},{footer:a(()=>[d("span",Ye,[l(n,{onClick:e[2]||(e[2]=i=>k.value=!1)},{default:a(()=>e[10]||(e[10]=[g("取消")])),_:1}),l(n,{type:"primary",onClick:ve,disabled:!c.value.url},{default:a(()=>e[11]||(e[11]=[g("保存")])),_:1},8,["disabled"])])]),default:a(()=>[l(A,{ref_key:"videoFormRef",ref:B,model:m.value,rules:oe,"label-width":"100px","label-position":"top"},{default:a(()=>[l(L,{label:"数字人视频",prop:"videoUrl"},{default:a(()=>[l(C,{class:"video-uploader",action:p(Q)()+"api/system/admin_upload/",headers:{Authorization:"JWT "+p(H).get("token")},data:{tenant_id:1},multiple:!1,"on-success":me,"on-error":fe,"before-upload":ce,"show-file-list":!1},{default:a(()=>[c.value.url?(f(),V("div",He,[d("video",{src:c.value.url,controls:"",class:"video-player"},null,8,Qe)])):(f(),F(n,{key:1,type:"primary",icon:"Plus"},{default:a(()=>e[9]||(e[9]=[g("选择视频文件")])),_:1})),c.value.name?(f(),V("div",Ze,[d("span",null,z(c.value.name),1),d("span",Xe,z(O(c.value.size)),1)])):R("",!0)]),_:1},8,["action","headers"])]),_:1}),l(L,{label:"字幕内容",prop:"subtitleContent"},{default:a(()=>[l(we,{modelValue:m.value.subtitleContent,"onUpdate:modelValue":e[1]||(e[1]=i=>m.value.subtitleContent=i),type:"textarea",rows:4,placeholder:"请输入数字人视频字幕内容"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(G,{modelValue:x.value,"onUpdate:modelValue":e[6]||(e[6]=i=>x.value=i),title:"修改排序",width:"400px","destroy-on-close":""},{footer:a(()=>[d("span",et,[l(n,{onClick:e[5]||(e[5]=i=>x.value=!1)},{default:a(()=>e[13]||(e[13]=[g("取消")])),_:1}),l(n,{type:"primary",onClick:_e},{default:a(()=>e[14]||(e[14]=[g("保存")])),_:1})])]),default:a(()=>[l(A,{ref_key:"sortFormRef",ref:S,model:U.value,rules:le,"label-width":"100px"},{default:a(()=>[l(L,{label:"排序值",prop:"sequence_number"},{default:a(()=>[l(be,{modelValue:U.value.sequence_number,"onUpdate:modelValue":e[4]||(e[4]=i=>U.value.sequence_number=i),min:0,max:9999,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),e[12]||(e[12]=d("div",{class:"form-helper"},"数值越小,排序越靠前",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"])]),_:1})}}}),ct=Ne(ot,[["__scopeId","data-v-e6bb80b2"]]);export{ct as default};