| 1 |
- import{periodApi as M,scoreApi as j,feedbackApi as R}from"./index-Dhl0yoWK.js";import{_ as q,j as H,o as a,c as u,a as n,f as V,g as S,w as s,b as t,r as f,e as m,F as C,q as K,t as r,h as w,p as z,y as L}from"./index-BwYZ2HSO.js";import{P as O}from"./PeriodBanner-BKGr6OhG.js";const T={class:"app-page feedback-workbench"},G={key:1,class:"empty-state"},J={key:1,class:"text-muted"},Q={key:0,class:"same-screen"},W={class:"okr-panel"},X={class:"mini-o"},Y={key:0,class:"mini-score-line"},Z={class:"form-panel"},$={__name:"FeedbackView",setup(ee){const b=f([]),v=f(null),U=f([]),p=f(null),k=f(!1),N=f(!1),i=f({highlights:"",issues:"",improvements:"",interviewNotes:""});H(async()=>{b.value=await M.list();const g=b.value.filter(e=>e.status!=="ARCHIVED");g.length&&(v.value=g[0].id,await x())});async function x(){v.value&&(U.value=await j.getSubordinates(v.value))}async function A(g){var d,_,h,c;const e=await R.getPage(v.value,g.targetUser.id);p.value=e,i.value={highlights:((d=e.feedback)==null?void 0:d.highlights)||"",issues:((_=e.feedback)==null?void 0:_.issues)||"",improvements:((h=e.feedback)==null?void 0:h.improvements)||"",interviewNotes:((c=e.feedback)==null?void 0:c.interviewNotes)||""},k.value=!0}async function F(){N.value=!0;try{await R.saveInterview({periodId:v.value,userId:p.value.targetUser.id,...i.value}),L.success("面谈记录已保存"),k.value=!1,x()}finally{N.value=!1}}return(g,e)=>{var I,B;const d=m("el-table-column"),_=m("el-tag"),h=m("el-table"),c=m("el-input"),y=m("el-form-item"),D=m("el-form"),E=m("el-button"),P=m("el-dialog");return a(),u("div",T,[e[11]||(e[11]=n("div",{class:"page-hero"},[n("div",{class:"hero-info"},[n("h2",null,"绩效沟通"),n("p",null,"下属面谈记录与反馈")])],-1)),b.value.length?(a(),V(O,{key:0,periods:b.value,modelValue:v.value,"onUpdate:modelValue":[e[0]||(e[0]=l=>v.value=l),x]},null,8,["periods","modelValue"])):S("",!0),U.value.length===0?(a(),u("div",G,"暂无下属数据")):(a(),V(h,{key:2,data:U.value,stripe:"",onRowClick:A,style:{width:"100%"},class:"data-table"},{default:s(()=>[t(d,{prop:"targetUser.realName",label:"姓名","min-width":"100","show-overflow-tooltip":""}),t(d,{prop:"targetUser.position",label:"职位","min-width":"120","show-overflow-tooltip":""}),t(d,{label:"最终得分","min-width":"150",align:"center"},{default:s(({row:l})=>[l.finalScore?(a(),u(C,{key:0},[n("span",{class:K(["grade-chip","g-"+l.finalScore.grade])},r(l.finalScore.grade),3),n("strong",null,r(l.finalScore.total)+" 分",1)],64)):(a(),u("span",J,"未评"))]),_:1}),t(d,{label:"亮点","min-width":"200","show-overflow-tooltip":""},{default:s(({row:l})=>{var o;return[w(r(((o=l.feedback)==null?void 0:o.highlights)||"--"),1)]}),_:1}),t(d,{label:"待改进","min-width":"200","show-overflow-tooltip":""},{default:s(({row:l})=>{var o;return[w(r(((o=l.feedback)==null?void 0:o.issues)||"--"),1)]}),_:1}),t(d,{label:"面谈状态","min-width":"110",align:"center"},{default:s(({row:l})=>{var o;return[(o=l.feedback)!=null&&o.interviewNotes?(a(),V(_,{key:0,type:"success",effect:"dark",size:"small",round:""},{default:s(()=>[...e[6]||(e[6]=[w("已记录",-1)])]),_:1})):(a(),V(_,{key:1,type:"info",effect:"plain",size:"small",round:""},{default:s(()=>[...e[7]||(e[7]=[w("待记录",-1)])]),_:1}))]}),_:1})]),_:1},8,["data"])),t(P,{modelValue:k.value,"onUpdate:modelValue":e[5]||(e[5]=l=>k.value=l),title:"绩效沟通 · "+((B=(I=p.value)==null?void 0:I.targetUser)==null?void 0:B.realName),width:"900px",top:"5vh"},{default:s(()=>[p.value?(a(),u("div",Q,[n("div",W,[e[8]||(e[8]=n("div",{class:"panel-head"},"OKR 记录 & 得分",-1)),(a(!0),u(C,null,z(p.value.okrRecords||[],l=>(a(),u("div",{key:l.id,class:"mini-okr"},[n("div",X,r(l.title),1),(a(!0),u(C,null,z(l.keyResults,o=>(a(),u("div",{key:o.id,class:"mini-kr"},[n("span",null,r(o.title),1),n("span",null,r(o.currentValue)+"/"+r(o.targetValue),1)]))),128))]))),128)),p.value.finalScore?(a(),u("div",Y," 总分 "+r(p.value.finalScore.total)+" · "+r(p.value.finalScore.grade),1)):S("",!0)]),n("div",Z,[e[10]||(e[10]=n("div",{class:"panel-head"},"面谈记录",-1)),t(D,{"label-position":"top"},{default:s(()=>[t(y,{label:"亮点"},{default:s(()=>[t(c,{modelValue:i.value.highlights,"onUpdate:modelValue":e[1]||(e[1]=l=>i.value.highlights=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1}),t(y,{label:"待改进"},{default:s(()=>[t(c,{modelValue:i.value.issues,"onUpdate:modelValue":e[2]||(e[2]=l=>i.value.issues=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1}),t(y,{label:"改进建议"},{default:s(()=>[t(c,{modelValue:i.value.improvements,"onUpdate:modelValue":e[3]||(e[3]=l=>i.value.improvements=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1}),t(y,{label:"面谈纪要"},{default:s(()=>[t(c,{modelValue:i.value.interviewNotes,"onUpdate:modelValue":e[4]||(e[4]=l=>i.value.interviewNotes=l),type:"textarea",rows:3},null,8,["modelValue"])]),_:1})]),_:1}),t(E,{type:"primary",size:"large",onClick:F,loading:N.value,round:""},{default:s(()=>[...e[9]||(e[9]=[w("保存面谈记录",-1)])]),_:1},8,["loading"])])])):S("",!0)]),_:1},8,["modelValue","title"])])}}},se=q($,[["__scopeId","data-v-d56107a8"]]);export{se as default};
|