2 lines
4.9 KiB
JavaScript
2 lines
4.9 KiB
JavaScript
import{_ as $,V as M,o as c,c as L,e as t,f as l,j as n,k as _,g as v,h as m,a as N,E as D,q as z}from"./index-C1KISTGN.js";const F={class:"expert-assessment"},G={class:"card-header"},H={__name:"Assessment",setup(K){const p=_(!1),g=_(""),u=_(null),o=z({expertName:"",score:0,comment:""}),S={expertName:[{required:!0,message:"请选择专家",trigger:"change"}],score:[{required:!0,message:"请输入考核得分",trigger:"blur"}],comment:[{required:!0,message:"请输入考核意见",trigger:"blur"}]},V=_([]),k={优秀:4,良好:3,合格:2,不合格:1},C=(a,e)=>(k[a.level]||0)-(k[e.level]||0),A=()=>[{id:1,expertName:"张伟",category:"临床医学",assessmentDate:"2024-03-15",score:95,level:"优秀",assessor:"管理员",comment:"专业能力强,评审公正客观"},{id:2,expertName:"李娜",category:"药学",assessmentDate:"2024-03-18",score:88,level:"良好",assessor:"管理员",comment:"工作认真负责,专业水平高"},{id:3,expertName:"王强",category:"医疗器械",assessmentDate:"2024-03-20",score:92,level:"优秀",assessor:"管理员",comment:"评审严谨,意见专业"}],w=()=>{const a=localStorage.getItem("expertAssessments");let e=a?JSON.parse(a):[];e.length===0&&(e=A(),localStorage.setItem("expertAssessments",JSON.stringify(e))),V.value=e};M(()=>{w()});const O=()=>{g.value="新增考核",Object.keys(o).forEach(a=>o[a]=a==="score"?0:""),p.value=!0,u.value&&u.value.clearValidate()},I=a=>{D.info("查看详情")},B=a=>{g.value="编辑考核",Object.assign(o,a),p.value=!0},E=()=>{u.value&&u.value.validate(a=>{if(a){const e=localStorage.getItem("expertAssessments"),r=e?JSON.parse(e):[],d=o.score>=90?"优秀":o.score>=80?"良好":o.score>=60?"合格":"不合格",i={...o,id:o.id||Date.now(),category:"临床医学",assessmentDate:new Date().toISOString().split("T")[0],level:d,assessor:"管理员"};if(o.id){const f=r.findIndex(b=>b.id===o.id);f!==-1&&(r[f]=i)}else r.push(i);localStorage.setItem("expertAssessments",JSON.stringify(r)),D.success("保存成功"),p.value=!1,w()}})};return(a,e)=>{const r=n("el-button"),d=n("el-table-column"),i=n("el-tag"),f=n("el-table"),b=n("el-card"),x=n("el-option"),q=n("el-select"),y=n("el-form-item"),J=n("el-input-number"),U=n("el-input"),j=n("el-form"),R=n("el-dialog");return c(),L("div",F,[t(b,null,{header:l(()=>[N("div",G,[e[6]||(e[6]=N("span",null,"动态考核管理",-1)),t(r,{type:"primary",onClick:O},{default:l(()=>[...e[5]||(e[5]=[m("新增考核",-1)])]),_:1})])]),default:l(()=>[t(f,{data:V.value,border:"","default-sort":{prop:"level",order:"descending"}},{default:l(()=>[t(d,{prop:"expertName",label:"专家姓名",width:"100"}),t(d,{prop:"category",label:"专业分类",width:"120"}),t(d,{prop:"assessmentDate",label:"考核日期",width:"110"}),t(d,{prop:"score",label:"考核得分",width:"100"}),t(d,{prop:"level",label:"考核等级",width:"100",sortable:"","sort-method":C},{default:l(({row:s})=>[s.level==="优秀"?(c(),v(i,{key:0,type:"success"},{default:l(()=>[...e[7]||(e[7]=[m("优秀",-1)])]),_:1})):s.level==="良好"?(c(),v(i,{key:1,type:"primary"},{default:l(()=>[...e[8]||(e[8]=[m("良好",-1)])]),_:1})):s.level==="合格"?(c(),v(i,{key:2},{default:l(()=>[...e[9]||(e[9]=[m("合格",-1)])]),_:1})):(c(),v(i,{key:3,type:"danger"},{default:l(()=>[...e[10]||(e[10]=[m("不合格",-1)])]),_:1}))]),_:1}),t(d,{prop:"assessor",label:"考核人",width:"100"}),t(d,{prop:"comment",label:"考核意见","min-width":"200","show-overflow-tooltip":""}),t(d,{label:"操作",width:"150",fixed:"right"},{default:l(({row:s})=>[t(r,{link:"",type:"primary",onClick:T=>I(s)},{default:l(()=>[...e[11]||(e[11]=[m("查看",-1)])]),_:1},8,["onClick"]),t(r,{link:"",type:"primary",onClick:T=>B(s)},{default:l(()=>[...e[12]||(e[12]=[m("编辑",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1}),t(R,{modelValue:p.value,"onUpdate:modelValue":e[4]||(e[4]=s=>p.value=s),title:g.value,width:"600px"},{footer:l(()=>[t(r,{onClick:e[3]||(e[3]=s=>p.value=!1)},{default:l(()=>[...e[13]||(e[13]=[m("取消",-1)])]),_:1}),t(r,{type:"primary",onClick:E},{default:l(()=>[...e[14]||(e[14]=[m("提交",-1)])]),_:1})]),default:l(()=>[t(j,{model:o,rules:S,ref_key:"formRef",ref:u,"label-width":"100px"},{default:l(()=>[t(y,{label:"专家姓名",prop:"expertName"},{default:l(()=>[t(q,{modelValue:o.expertName,"onUpdate:modelValue":e[0]||(e[0]=s=>o.expertName=s),placeholder:"请选择"},{default:l(()=>[t(x,{label:"张伟",value:"张伟"}),t(x,{label:"李娜",value:"李娜"}),t(x,{label:"王强",value:"王强"})]),_:1},8,["modelValue"])]),_:1}),t(y,{label:"考核得分",prop:"score"},{default:l(()=>[t(J,{modelValue:o.score,"onUpdate:modelValue":e[1]||(e[1]=s=>o.score=s),min:0,max:100},null,8,["modelValue"])]),_:1}),t(y,{label:"考核意见",prop:"comment"},{default:l(()=>[t(U,{modelValue:o.comment,"onUpdate:modelValue":e[2]||(e[2]=s=>o.comment=s),type:"textarea",rows:3},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}},Q=$(H,[["__scopeId","data-v-6ada22e8"]]);export{Q as default};
|