import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,Z as a,_ as o,d as s,et as c,f as l,i as u,l as d,lt as f,p,st as m,u as h,v as g,z as _}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as te,o as v,s as y}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as b,n as x}from"./hr-CYqLK_6c.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},T={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},E={class:`px-2`},D={style:{"font-weight":`700`}},O={class:`px-5 py-3 border-t border-gray-50`},k={style:{"font-size":`12px`,color:`var(--color-text-secondary)`}},A={__name:`index`,setup(A){let j=f([]),M=f(0),N=f(!1),P=f(!1),F=f(!1),I=f([]),L=m({year_month:``,status:``}),R=m({page:1,per_page:20}),z=f(null),B=m({id:null,user_id:``,year_month:``,base_salary:0,position_salary:0,performance:0,overtime_pay:0,subsidy:0,social_insurance:0,housing_fund:0,tax:0,absence_deduction:0,other_deduction:0,actual_amount:0}),V=f(!1),H=f(!0),U={user_id:[{required:!0,message:`请选择员工`,trigger:`change`}],year_month:[{required:!0,message:`请输入工资月份`,trigger:`blur`}]},W={0:`待确认`,1:`已确认`,2:`已发放`},G={0:`warning`,1:`primary`,2:`success`},K=d(()=>{let e=Number(B.base_salary||0)+Number(B.position_salary||0)+Number(B.performance||0)+Number(B.overtime_pay||0)+Number(B.subsidy||0),t=Number(B.social_insurance||0)+Number(B.housing_fund||0)+Number(B.tax||0)+Number(B.absence_deduction||0)+Number(B.other_deduction||0);return Math.round((e-t)*100)/100});a(K,e=>{H.value&&(B.actual_amount=e)});function q(e){return Number(e.social_insurance||0)+Number(e.housing_fund||0)+Number(e.tax||0)+Number(e.absence_deduction||0)+Number(e.other_deduction||0)}async function J(){N.value=!0;try{let e=await b.getList({...L,...R});j.value=e.data?.list||e.data?.data||[],M.value=e.data?.total||0}finally{N.value=!1}}async function Y(){try{let e=await x.getList({per_page:500});I.value=e.data?.list||e.data?.data||[]}catch{}}function X(){R.page=1,J()}function Z(){Object.assign(L,{year_month:``,status:``}),X()}let Q={id:null,user_id:``,year_month:``,base_salary:0,position_salary:0,performance:0,overtime_pay:0,subsidy:0,social_insurance:0,housing_fund:0,tax:0,absence_deduction:0,other_deduction:0,actual_amount:0};function ne(){V.value=!1,H.value=!0,Object.assign(B,{...Q}),P.value=!0}async function re(e){if(e.status!==0){y.warning(`只能编辑待确认记录`);return}V.value=!0,H.value=!1;let t=(await b.getDetail(e.id)).data;Object.assign(B,{id:t.id,user_id:t.user_id,year_month:t.year_month,base_salary:t.base_salary||0,position_salary:t.position_salary||0,performance:t.performance||0,overtime_pay:t.overtime_pay||0,subsidy:t.subsidy||0,social_insurance:t.social_insurance||0,housing_fund:t.housing_fund||0,tax:t.tax||0,absence_deduction:t.absence_deduction||0,other_deduction:t.other_deduction||0,actual_amount:t.actual_amount||0}),H.value=!0,P.value=!0}async function ie(){z.value&&await z.value.validate(async e=>{if(e){F.value=!0;try{V.value?(await b.update(B.id,B),y.success(`更新成功`)):(await b.create(B),y.success(`创建成功`)),P.value=!1,J()}finally{F.value=!1}}})}async function ae(e){if(e.status!==0){y.warning(`只能删除待确认记录`);return}await v.confirm(`确定删除该工资记录吗?`,`删除确认`,{type:`warning`}),await b.delete(e.id),y.success(`删除成功`),J()}async function oe(e){await v.confirm(`确认该工资记录?确认后不可编辑。`,`确认操作`,{type:`warning`}),await b.confirm(e.id),y.success(`确认成功`),J()}async function $(e){await v.confirm(`确定标记为已发放吗?`,`发放确认`,{type:`warning`}),await b.pay(e.id),y.success(`发放成功`),J()}function se(e){R.page=e,J()}function ce(e){R.per_page=e,R.page=1,J()}return ee(()=>{J(),Y()}),(ee,a)=>{let d=r(`el-input`),f=r(`el-option`),m=r(`el-select`),v=r(`el-button`),y=r(`el-table-column`),b=r(`el-tag`),x=r(`el-table`),A=r(`el-pagination`),H=r(`el-form-item`),J=r(`el-col`),Y=r(`el-input-number`),Q=r(`el-divider`),le=r(`el-row`),ue=r(`el-form`),de=r(`el-dialog`),fe=t(`loading`);return n(),p(`div`,S,[h(`div`,C,[g(d,{modelValue:L.year_month,"onUpdate:modelValue":a[0]||=e=>L.year_month=e,placeholder:`工资月份 (如 2024-03)`,style:{width:`200px`},clearable:``,onKeydown:te(X,[`enter`])},null,8,[`modelValue`]),g(m,{modelValue:L.status,"onUpdate:modelValue":a[1]||=e=>L.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),p(u,null,_(W,(e,t)=>g(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),g(v,{type:`primary`,onClick:X},{default:e(()=>[...a[19]||=[o(`查询`,-1)]]),_:1}),g(v,{onClick:Z},{default:e(()=>[...a[20]||=[o(`重置`,-1)]]),_:1})]),h(`div`,w,[h(`div`,T,[a[22]||=h(`div`,{class:`flex items-center gap-3`},[h(`span`,{class:`font-medium text-gray-700`},`工资记录列表`)],-1),g(v,{type:`primary`,onClick:ne},{default:e(()=>[...a[21]||=[o(`新增工资记录`,-1)]]),_:1})]),h(`div`,E,[c((n(),s(x,{data:j.value,style:{width:`100%`}},{default:e(()=>[g(y,{label:`员工`,"min-width":`100`},{default:e(({row:e})=>[o(i(e.user?.name||`-`),1)]),_:1}),g(y,{prop:`year_month`,label:`工资月份`,width:`110`,align:`center`}),g(y,{prop:`base_salary`,label:`基本工资`,width:`110`,align:`right`}),g(y,{prop:`position_salary`,label:`岗位工资`,width:`110`,align:`right`}),g(y,{prop:`performance`,label:`绩效`,width:`100`,align:`right`}),g(y,{prop:`overtime_pay`,label:`加班费`,width:`100`,align:`right`}),g(y,{prop:`subsidy`,label:`补贴`,width:`90`,align:`right`}),g(y,{label:`扣除合计`,width:`110`,align:`right`},{default:e(({row:e})=>[o(i(q(e).toFixed(2)),1)]),_:1}),g(y,{label:`实发金额`,width:`120`,align:`right`},{default:e(({row:e})=>[h(`span`,D,i(e.actual_amount),1)]),_:1}),g(y,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[g(b,{type:G[t.status],size:`small`},{default:e(()=>[o(i(W[t.status]),1)]),_:2},1032,[`type`])]),_:1}),g(y,{label:`操作`,width:`220`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>oe(t)},{default:e(()=>[...a[23]||=[o(`确认`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===1?(n(),s(v,{key:1,size:`small`,type:`success`,text:``,onClick:e=>$(t)},{default:e(()=>[...a[24]||=[o(`发放`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===0?(n(),s(v,{key:2,size:`small`,type:`primary`,text:``,onClick:e=>re(t)},{default:e(()=>[...a[25]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===0?(n(),s(v,{key:3,size:`small`,type:`danger`,text:``,onClick:e=>ae(t)},{default:e(()=>[...a[26]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[fe,N.value]])]),h(`div`,O,[g(A,{"current-page":R.page,"onUpdate:currentPage":a[2]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":a[3]||=e=>R.per_page=e,total:M.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:se,onSizeChange:ce},null,8,[`current-page`,`page-size`,`total`])])]),g(de,{modelValue:P.value,"onUpdate:modelValue":a[18]||=e=>P.value=e,title:V.value?`编辑工资记录`:`新增工资记录`,width:`750px`,"destroy-on-close":``},{footer:e(()=>[g(v,{onClick:a[17]||=e=>P.value=!1},{default:e(()=>[...a[28]||=[o(`取消`,-1)]]),_:1}),g(v,{type:`primary`,loading:F.value,onClick:ie},{default:e(()=>[...a[29]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[g(ue,{ref_key:`formRef`,ref:z,model:B,rules:U,"label-width":`100px`},{default:e(()=>[g(le,{gutter:16},{default:e(()=>[g(J,{span:12},{default:e(()=>[g(H,{label:`员工`,prop:`user_id`},{default:e(()=>[g(m,{modelValue:B.user_id,"onUpdate:modelValue":a[4]||=e=>B.user_id=e,placeholder:`选择员工`,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),p(u,null,_(I.value,e=>(n(),s(f,{key:e.id,label:e.user?.name||e.name||`员工${e.id}`,value:e.user_id||e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:12},{default:e(()=>[g(H,{label:`工资月份`,prop:`year_month`},{default:e(()=>[g(d,{modelValue:B.year_month,"onUpdate:modelValue":a[5]||=e=>B.year_month=e,placeholder:`如 2024-03`},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`基本工资`},{default:e(()=>[g(Y,{modelValue:B.base_salary,"onUpdate:modelValue":a[6]||=e=>B.base_salary=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`岗位工资`},{default:e(()=>[g(Y,{modelValue:B.position_salary,"onUpdate:modelValue":a[7]||=e=>B.position_salary=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`绩效`},{default:e(()=>[g(Y,{modelValue:B.performance,"onUpdate:modelValue":a[8]||=e=>B.performance=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`加班费`},{default:e(()=>[g(Y,{modelValue:B.overtime_pay,"onUpdate:modelValue":a[9]||=e=>B.overtime_pay=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`补贴`},{default:e(()=>[g(Y,{modelValue:B.subsidy,"onUpdate:modelValue":a[10]||=e=>B.subsidy=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:24},{default:e(()=>[g(Q,{"content-position":`left`},{default:e(()=>[...a[27]||=[o(`扣除项`,-1)]]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`社保`},{default:e(()=>[g(Y,{modelValue:B.social_insurance,"onUpdate:modelValue":a[11]||=e=>B.social_insurance=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`公积金`},{default:e(()=>[g(Y,{modelValue:B.housing_fund,"onUpdate:modelValue":a[12]||=e=>B.housing_fund=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`个税`},{default:e(()=>[g(Y,{modelValue:B.tax,"onUpdate:modelValue":a[13]||=e=>B.tax=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`缺勤扣款`},{default:e(()=>[g(Y,{modelValue:B.absence_deduction,"onUpdate:modelValue":a[14]||=e=>B.absence_deduction=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`其他扣款`},{default:e(()=>[g(Y,{modelValue:B.other_deduction,"onUpdate:modelValue":a[15]||=e=>B.other_deduction=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:24},{default:e(()=>[g(Q)]),_:1}),g(J,{span:12},{default:e(()=>[g(H,{label:`实发金额`},{default:e(()=>[g(Y,{modelValue:B.actual_amount,"onUpdate:modelValue":a[16]||=e=>B.actual_amount=e,precision:2,style:{width:`100%`}},null,8,[`modelValue`]),h(`div`,k,`自动计算:收入合计 - 扣除合计 = `+i(K.value.toFixed(2)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{A as default};