import{k as We,S as X,a9 as Z,V as Ke,X as He,aa as Xe,ab as Ze,E as i,$ as re,a7 as Ye}from"./index.CCubeZhC.js";import{a as ce,aH as et,r,f as ue,q as tt,Z as ot,aj as u,at as lt,J as q,o as f,K as a,S as l,b as d,H as at,u as _,c as C,R as de,M as Q,P as g,Q as P,a9 as nt,L as st}from"./vue.YrNK8sx4.js";import{createCrudOptions as it}from"./crud.BvqUOrt3.js";import rt from"./index.CdyhpvYU.js";import ut from"./index.BCn_OH8Q.js";import{c as dt,d as ct,e as mt,b as ft,f as pt,a as vt}from"./api.BXJkH76I.js";import{_ as _t}from"./_plugin-vue_export-helper.DlAUqK2U.js";const gt={class:"document-box document-left-box"},yt={class:"document-box document-right-box"},wt={key:0,class:"uploaded-file-info mt-2"},bt={class:"flex items-center justify-between"},ht={class:"flex items-center"},Dt={class:"flex items-center"},Vt={class:"text-gray-500 text-sm mr-4"},kt={key:1,class:"flex items-center justify-between"},qt={key:0,class:"video-preview"},Ct=["src"],xt={key:2,class:"file-info"},zt={class:"file-size"},Ut={class:"dialog-footer"},St={class:"dialog-footer"},Ft={class:"question-selection-container"},Rt={class:"question-search"},Tt={class:"question-table-container"},Pt={class:"pagination-container"},Lt={class:"dialog-footer"},Bt=ce({name:"documentList"}),Et=ce({...Bt,setup(Qt){const{crudBinding:me,crudRef:w,crudExpose:b}=We({createCrudOptions:it});et();const V=r(null),j=r([]),Y=r([]),x=r(!1),M=r({}),ee=r(null),h=r(""),fe=r(!1),pe=r({id:0,name:"",doc_type:"",category:"",project:"",version:"",file_type:"",file_size:0,status:!0,doc_desc:"",update_datetime:"",file_path:"",file:""});r(null);const m=r({url:"",name:"",size:0,file_type:""}),te=r({url:"",name:"",size:0,file_type:""}),z=r(!1),y=r(null);r("");const $=r(null),p=r({videoUrl:"",subtitleContent:""}),ve={videoUrl:[{required:!0,message:"请上传数字人视频",trigger:"change"}]},U=r(!1),S=r({sequence_number:0}),_e={sequence_number:[{required:!0,message:"请输入排序值",trigger:"blur"},{type:"number",message:"排序值必须为数字",trigger:"blur"}]},N=r(null),F=r(!1),c=r({position:"",questions:[],sequence:"0"}),O=r([]),L=r([]);ue(()=>c.value.questions.map(t=>{const e=L.value.find(o=>o.value===t);return e||{value:t,label:`问题 ${t}`,chinese_explanation:"",question_form_name:""}}));const I=r(!1),v=r({currentPage:1,pageSize:10,total:0}),B=async()=>{try{I.value=!0;const t=await vt({page:v.value.currentPage,limit:v.value.pageSize,tenant_id:1,keyword:R.value});t&&t.code===2e3&&t.data?(L.value=t.data.items.map(e=>({value:e.id.toString(),label:e.question,chinese_explanation:e.scoring_reference||"暂无释义",question_form_name:e.question_form_name||"暂无问题类型"})),v.value.total=t.data.total):i.error("获取问题列表失败")}catch(t){console.error("加载问题选项失败:",t),i.error("加载问题选项失败")}finally{I.value=!1}},ge=t=>{c.value.questions=t.map(e=>e.value)},ye=t=>{v.value.pageSize=t,B()},we=t=>{v.value.currentPage=t,B()},be=()=>{v.value.currentPage=1,B()},oe=()=>{he(),B(),F.value=!0},he=async()=>{try{const t=await fetch(Z()+"api/system/job/list?tenant_id=1",{method:"GET",headers:{Authorization:"JWT "+X.get("token"),"Content-Type":"application/json"}});if(!t.ok)throw new Error("获取职位列表失败");const e=await t.json();e&&e.code===2e3&&e.data?O.value=e.data.map(o=>({value:o.id.toString(),label:o.title,description:o.description||""})):i.error("获取职位列表失败")}catch(t){console.error("加载职位选项失败:",t),i.error("加载职位选项失败")}},De=t=>{if(!t)return"";const e=O.value.find(o=>o.value===t.toString());return e?e.label:t.toString()},Ve=async()=>{try{if(!c.value.position){i.warning("请选择职位");return}if(c.value.questions.length===0){i.warning("请选择至少一个问题");return}const t=De(c.value.position),e={position_id:parseInt(c.value.position),question_id:{question_id:c.value.questions.map(s=>parseInt(s))},duration:parseInt(c.value.sequence)||60,tenant_id:1};console.log("提交的数据:",e);const o=await dt(e);o&&o.code===2e3?(i.success(`${t}职位问题保存成功`),F.value=!1,c.value={position:"",questions:[],sequence:"0"},b.doRefresh()):i.error((o==null?void 0:o.msg)||"保存失败")}catch(t){console.error("保存职位问题失败:",t),i.error("保存失败,请重试")}},A=()=>{ct({}).then(t=>{console.log("ret",t);const e=t.data;j.value=e})},ke=t=>{console.log("record",t),h.value=(t==null?void 0:t.id)||"",V.value=null;const e={form:{job_id:h.value}};b.doSearch(e)},qe=(t,e)=>{var o,s,T,D;if(t==="update"&&e){const G=((D=(T=(s=(o=ee.value)==null?void 0:o.treeRef)==null?void 0:s.currentNode)==null?void 0:T.parent)==null?void 0:D.data)||{};Y.value=[G],M.value=e}x.value=!0},le=t=>{t==="submit"&&A(),x.value=!1,M.value={}},Ce=(t,e)=>{re.confirm("您确认删除该文档分类吗?","温馨提示",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"}).then(async()=>{const o=await mt(t);e(),(o==null?void 0:o.code)===2e3&&(Ye(o.msg),A())})},xe=(t,e,o)=>{if(!t||!t.data){console.error("Upload response is invalid:",t);return}const s={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:h.value,status:!0,doc_desc:"",version:"",file:t.data.bucket_url};if(o.form)Object.assign(o.form,s);else{console.error("Form reference is not available");return}V.value=s,b.doRefresh()},ze=t=>{var e;if(V.value=null,(e=w.value)!=null&&e.form){const o=w.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=""}},ae=t=>{if(t===0)return"0 B";const e=1024,o=["B","KB","MB","GB","TB"],s=Math.floor(Math.log(t)/Math.log(e));return parseFloat((t/Math.pow(e,s)).toFixed(2))+" "+o[s]},Ue=t=>t?["pdf","doc","docx","xls","xlsx","ppt","pptx","jpg","jpeg","png","gif","bmp","webp","svg"].includes(t.toLowerCase()):!1,Se=t=>{if(!t||!t.file){re.alert("文件链接不存在","预览失败",{type:"error"});return}const e=t.file_type||"",o=t.file,s=`/#/preview?url=${encodeURIComponent(o)}&type=${e}`;window.open(s,"_blank")},ne=async t=>{const e=t.detail||t;try{pe.value=e,fe.value=!0}catch{i.error("获取文档详情失败")}},Fe=t=>{const e=t.type.startsWith("video/"),o=t.size/1024/1024<500;return e?o?!0:(i.error("视频大小不能超过 500MB!"),!1):(i.error("请上传视频文件!"),!1)},Re=(t,e)=>{if(console.log("response",t),console.log("file",e),t&&t.url)m.value={url:t.url,name:e.name||t.filename||"",size:e.size||0,file_type:e.type||t.mime_type||"video/mp4"},p.value.videoUrl=t.url,i.success("视频上传成功");else if(t&&t.data&&t.data.url)m.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"},p.value.videoUrl=t.data.url,i.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)m.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"},p.value.videoUrl=o,i.success("视频上传成功");else throw new Error("无法从响应中获取URL")}catch(o){console.error("处理上传响应时出错:",o),i.error("视频上传成功,但无法解析响应数据")}},Te=()=>{i.error("上传失败,请重试")},se=t=>{const e=t.detail;e&&(y.value=e,z.value=!0,m.value={url:"",name:"",size:0,file_type:""},te.value={url:"",name:"",size:0,file_type:""},p.value={videoUrl:"",subtitleContent:""})},Pe=()=>{$.value&&$.value.validate(async t=>{if(t)try{if(!y.value||!y.value.id){i.error("当前选中的题目信息无效");return}if(!p.value.videoUrl&&!m.value.url){i.warning("请先上传数字人视频");return}const e={question_id:y.value.question_id,video_url:p.value.videoUrl||m.value.url,digital_human_video_subtitle:p.value.subtitleContent,tenant_id:1};console.log("提交的数据:",e);const o=await ft(e);o&&o.code===2e3?(i.success("数字人视频和字幕信息保存成功"),z.value=!1,m.value={url:"",name:"",size:0,file_type:""},te.value={url:"",name:"",size:0,file_type:""},p.value={videoUrl:"",subtitleContent:""},b.doRefresh()):i.error((o==null?void 0:o.msg)||"保存失败")}catch(e){console.error("保存视频和字幕信息时出错:",e),i.error("保存失败,请重试")}else return i.warning("请完成必填项"),!1})},ie=t=>{const e=t.detail;e&&(y.value=e,S.value.sequence_number=e.sequence_number||0,U.value=!0)},Le=()=>{N.value&&N.value.validate(async t=>{if(t)try{if(!y.value||!y.value.question_id){i.error("当前选中的题目信息无效");return}const e=h.value;if(!e){i.error("未选择职位分类");return}const o={position_id:e,questions:[{question_id:y.value.question_id,sequence_number:S.value.sequence_number}],tenant_id:1};console.log("提交的排序数据:",o);const s=await pt(o);s&&s.code===2e3?(i.success("排序修改成功"),U.value=!1,b.doRefresh()):i.error((s==null?void 0:s.msg)||"保存失败")}catch(e){console.error("保存排序信息时出错:",e),i.error("保存失败,请重试")}else return i.warning("请输入有效的排序值"),!1})};tt(()=>{A(),b.doRefresh(),setTimeout(()=>{w.value&&(w.value.searchForm||(w.value.searchForm={}),h.value&&(w.value.searchForm.category=h.value,b.doSearch({form:{category:h.value}})))},300),window.addEventListener("viewDocumentDetail",ne),window.addEventListener("openVideoUploadDialog",se),window.addEventListener("openSortDialog",ie),window.addEventListener("openPositionQuestionDialog",oe)}),ot(()=>{window.removeEventListener("viewDocumentDetail",ne),window.removeEventListener("openVideoUploadDialog",se),window.removeEventListener("openSortDialog",ie),window.removeEventListener("openPositionQuestionDialog",oe)});const R=r(""),Be=ue(()=>{if(!R.value)return L.value;const t=R.value.toLowerCase();return L.value.filter(e=>e.label.toLowerCase().includes(t))});return(t,e)=>{const o=u("el-col"),s=u("el-button"),T=u("el-upload"),D=u("el-icon"),G=u("el-card"),Ee=u("fs-crud"),Qe=u("el-row"),je=u("el-drawer"),k=u("el-form-item"),J=u("el-input"),W=u("el-form"),K=u("el-dialog"),Me=u("el-input-number"),$e=u("el-option"),Ne=u("el-select"),E=u("el-table-column"),Oe=u("el-table"),Ie=u("el-pagination"),Ae=u("fs-page"),Ge=lt("loading");return f(),q(Ae,null,{default:a(()=>[l(Qe,{class:"document-el-row"},{default:a(()=>[l(o,{span:4},{default:a(()=>[d("div",gt,[l(rt,{ref_key:"documentTreeRef",ref:ee,treeData:j.value,onTreeClick:ke,onUpdateDocument:qe,onDeleteDocument:Ce},null,8,["treeData"])])]),_:1}),l(o,{span:20},{default:a(()=>[d("div",yt,[l(Ee,at({ref_key:"crudRef",ref:w},_(me)),{form_file:a(n=>[n.mode!=="view"?(f(),C(de,{key:0},[l(T,{action:_(Z)()+"api/system/minioupload/",headers:{Authorization:"JWT "+_(X).get("token")},multiple:!1,"on-success":(H,Je)=>xe(H,Je,n),drag:!1,"show-file-list":!1},{default:a(()=>[l(s,{type:"primary",icon:"plus"},{default:a(()=>e[14]||(e[14]=[g("上传")])),_:1})]),_:2},1032,["action","headers","on-success"]),V.value?(f(),C("div",wt,[l(G,{shadow:"hover",class:"w-full"},{default:a(()=>[d("div",bt,[d("div",ht,[l(D,{class:"mr-2"},{default:a(()=>[l(_(Ke))]),_:1}),d("span",null,P(V.value.name),1)]),d("div",Dt,[d("span",Vt,P(ae(V.value.file_size)),1),l(s,{type:"danger",link:"",onClick:H=>ze(n)},{default:a(()=>[l(D,null,{default:a(()=>[l(_(He))]),_:1})]),_:2},1032,["onClick"])])])]),_:2},1024)])):Q("",!0)],64)):(f(),C("div",kt,[d("span",null,P(n.form.fileName),1),Ue(n.form.file_type)?(f(),q(s,{key:0,type:"primary",link:"",onClick:H=>Se(n.form)},{default:a(()=>[l(D,{class:"mr-1"},{default:a(()=>[l(_(Xe))]),_:1}),e[15]||(e[15]=g("预览 "))]),_:2},1032,["onClick"])):Q("",!0)]))]),_:1},16)])]),_:1})]),_:1}),l(je,{modelValue:x.value,"onUpdate:modelValue":e[0]||(e[0]=n=>x.value=n),title:"文档配置",direction:"rtl",size:"500px","close-on-click-modal":!1,"before-close":le},{default:a(()=>[x.value?(f(),q(ut,{key:0,initFormData:M.value,cacheData:Y.value,treeData:j.value,onDrawerClose:le},null,8,["initFormData","cacheData","treeData"])):Q("",!0)]),_:1},8,["modelValue"]),l(K,{modelValue:z.value,"onUpdate:modelValue":e[3]||(e[3]=n=>z.value=n),title:"上传数字人视频及字幕",width:"600px","destroy-on-close":""},{footer:a(()=>[d("span",Ut,[l(s,{onClick:e[2]||(e[2]=n=>z.value=!1)},{default:a(()=>e[17]||(e[17]=[g("取消")])),_:1}),l(s,{type:"primary",onClick:Pe,disabled:!m.value.url},{default:a(()=>e[18]||(e[18]=[g("保存")])),_:1},8,["disabled"])])]),default:a(()=>[l(W,{ref_key:"videoFormRef",ref:$,model:p.value,rules:ve,"label-width":"100px","label-position":"top"},{default:a(()=>[l(k,{label:"数字人视频",prop:"videoUrl"},{default:a(()=>[l(T,{class:"video-uploader",action:_(Z)()+"api/system/admin_upload/",headers:{Authorization:"JWT "+_(X).get("token")},data:{tenant_id:1},multiple:!1,"on-success":Re,"on-error":Te,"before-upload":Fe,"show-file-list":!1},{default:a(()=>[m.value.url?(f(),C("div",qt,[d("video",{src:m.value.url,controls:"",class:"video-player"},null,8,Ct)])):(f(),q(s,{key:1,type:"primary",icon:"Plus"},{default:a(()=>e[16]||(e[16]=[g("选择视频文件")])),_:1})),m.value.name?(f(),C("div",xt,[d("span",null,P(m.value.name),1),d("span",zt,P(ae(m.value.size)),1)])):Q("",!0)]),_:1},8,["action","headers"])]),_:1}),l(k,{label:"字幕内容",prop:"subtitleContent"},{default:a(()=>[l(J,{modelValue:p.value.subtitleContent,"onUpdate:modelValue":e[1]||(e[1]=n=>p.value.subtitleContent=n),type:"textarea",rows:4,placeholder:"请输入数字人视频字幕内容"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(K,{modelValue:U.value,"onUpdate:modelValue":e[6]||(e[6]=n=>U.value=n),title:"修改排序",width:"400px","destroy-on-close":""},{footer:a(()=>[d("span",St,[l(s,{onClick:e[5]||(e[5]=n=>U.value=!1)},{default:a(()=>e[20]||(e[20]=[g("取消")])),_:1}),l(s,{type:"primary",onClick:Le},{default:a(()=>e[21]||(e[21]=[g("保存")])),_:1})])]),default:a(()=>[l(W,{ref_key:"sortFormRef",ref:N,model:S.value,rules:_e,"label-width":"100px"},{default:a(()=>[l(k,{label:"排序值",prop:"sequence_number"},{default:a(()=>[l(Me,{modelValue:S.value.sequence_number,"onUpdate:modelValue":e[4]||(e[4]=n=>S.value.sequence_number=n),min:0,max:9999,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),e[19]||(e[19]=d("div",{class:"form-helper"},"数值越小,排序越靠前",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(K,{modelValue:F.value,"onUpdate:modelValue":e[13]||(e[13]=n=>F.value=n),title:"职位问题",width:"60%","destroy-on-close":""},{footer:a(()=>[d("span",Lt,[l(s,{onClick:e[12]||(e[12]=n=>F.value=!1)},{default:a(()=>e[22]||(e[22]=[g("取消")])),_:1}),l(s,{type:"primary",onClick:Ve},{default:a(()=>e[23]||(e[23]=[g("保存")])),_:1})])]),default:a(()=>[l(W,{model:c.value,"label-width":"80px"},{default:a(()=>[l(k,{label:"职位"},{default:a(()=>[l(Ne,{modelValue:c.value.position,"onUpdate:modelValue":e[7]||(e[7]=n=>c.value.position=n),placeholder:"请选择",style:{width:"100%"}},{default:a(()=>[(f(!0),C(de,null,nt(O.value,n=>(f(),q($e,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(k,{label:"职位问题"},{default:a(()=>[d("div",Ft,[d("div",Rt,[l(J,{modelValue:R.value,"onUpdate:modelValue":e[8]||(e[8]=n=>R.value=n),placeholder:"搜索问题",clearable:"",onInput:be},{prefix:a(()=>[l(D,null,{default:a(()=>[l(_(Ze))]),_:1})]),_:1},8,["modelValue"])]),d("div",Tt,[st((f(),q(Oe,{data:Be.value,style:{width:"100%"},height:"300",onSelectionChange:ge},{default:a(()=>[l(E,{type:"selection",width:"55"}),l(E,{prop:"label",label:"问题","show-overflow-tooltip":""}),l(E,{prop:"question_form_name",label:"问题类型","show-overflow-tooltip":""}),l(E,{prop:"chinese_explanation",label:"描述","show-overflow-tooltip":""})]),_:1},8,["data"])),[[Ge,I.value]]),d("div",Pt,[l(Ie,{"current-page":v.value.currentPage,"onUpdate:currentPage":e[9]||(e[9]=n=>v.value.currentPage=n),"page-size":v.value.pageSize,"onUpdate:pageSize":e[10]||(e[10]=n=>v.value.pageSize=n),"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",total:v.value.total,onSizeChange:ye,onCurrentChange:we},null,8,["current-page","page-size","total"])])])])]),_:1}),l(k,{label:"排序"},{default:a(()=>[l(J,{modelValue:c.value.sequence,"onUpdate:modelValue":e[11]||(e[11]=n=>c.value.sequence=n),placeholder:"请输入排序值"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])]),_:1})}}}),Gt=_t(Et,[["__scopeId","data-v-9b24a0ee"]]);export{Gt as default};