Files
yuezi-saas/frontend/dist/assets/checks-1VsgU6sg.js
T

1 line
9.2 KiB
JavaScript

import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,d as c,et as l,f as u,i 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{o as v,s as y}from"./index-DK5nh4op.js";import"./request-BcX6wdRT.js";import{c as b,i as x,t as S}from"./inventory-B_vJhWAi.js";var C={class:`p-6 space-y-4`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},te={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={key:0,class:`text-center text-gray-400 py-6`},O={__name:`index`,setup(O){let k=f([]),A=f(0),j=f(!1),M=f(!1),N=f(!1),P=f(!1),F=f(null),I=f([]),L=m({warehouse_id:``,status:``}),R=m({page:1,per_page:20}),z=f(null),B=m({warehouse_id:``,check_date:``,remark:``,items:[]}),ne={warehouse_id:[{required:!0,message:`请选择仓库`,trigger:`change`}],check_date:[{required:!0,message:`请选择盘点日期`,trigger:`change`}]},V={draft:`盘点中`,completed:`已完成`},H={draft:`warning`,completed:`success`};async function U(){j.value=!0;try{let e=await S.getList({...L,...R});k.value=e.data?.list||e.data?.data||[],A.value=e.data?.total||0}catch{y.error(`获取盘点单列表失败`)}finally{j.value=!1}}async function W(){try{let e=await b.getList({per_page:500});I.value=e.data?.list||e.data?.data||[]}catch{}}function G(){R.page=1,U()}function K(){Object.assign(L,{warehouse_id:``,status:``}),G()}async function q(){Object.assign(B,{warehouse_id:``,check_date:``,remark:``,items:[]}),M.value=!0}async function J(e){if(!e){B.items=[];return}try{let t=await x.getList({warehouse_id:e,per_page:500});B.items=(t.data?.list||t.data?.data||[]).map(e=>({material_id:e.id,material_name:e.material_name,material_code:e.material_code,unit:e.unit,system_quantity:Number(e.quantity||0),actual_quantity:Number(e.quantity||0)}))}catch{y.error(`加载库存数据失败`)}}async function Y(){z.value&&await z.value.validate(async e=>{if(e){if(B.items.length===0){y.warning(`当前仓库无库存数据`);return}N.value=!0;try{await S.create({...B}),y.success(`盘点单创建成功`),M.value=!1,U()}catch{y.error(`创建失败`)}finally{N.value=!1}}})}async function X(e){await v.confirm(`确认完成盘点单「${e.check_no}」吗?完成后不可修改。`,`完成确认`,{type:`warning`});try{await S.complete(e.id,{}),y.success(`盘点完成`),U()}catch{y.error(`操作失败`)}}function re(e){F.value=e,P.value=!0}function Z(e){return Number(e.actual_quantity||0)-Number(e.system_quantity||0)}function ie(e){R.page=e,U()}function ae(e){R.per_page=e,R.page=1,U()}return r(()=>{U(),W()}),(r,f)=>{let m=i(`el-option`),v=i(`el-select`),y=i(`el-button`),b=i(`el-table-column`),x=i(`el-tag`),S=i(`el-table`),O=i(`el-pagination`),U=i(`el-form-item`),W=i(`el-col`),oe=i(`el-date-picker`),se=i(`el-input`),ce=i(`el-row`),le=i(`el-divider`),ue=i(`el-input-number`),de=i(`el-form`),Q=i(`el-dialog`),$=i(`el-descriptions-item`),fe=i(`el-descriptions`),pe=t(`loading`);return n(),p(`div`,C,[h(`div`,w,[g(v,{modelValue:L.warehouse_id,"onUpdate:modelValue":f[0]||=e=>L.warehouse_id=e,placeholder:`选择仓库`,clearable:``,filterable:``,style:{width:`160px`}},{default:e(()=>[(n(!0),p(d,null,_(I.value,e=>(n(),c(m,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),g(v,{modelValue:L.status,"onUpdate:modelValue":f[1]||=e=>L.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),p(d,null,_(V,(e,t)=>g(m,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),g(y,{type:`primary`,onClick:G},{default:e(()=>[...f[10]||=[s(`查询`,-1)]]),_:1}),g(y,{onClick:K},{default:e(()=>[...f[11]||=[s(`重置`,-1)]]),_:1})]),h(`div`,ee,[h(`div`,te,[f[13]||=h(`div`,{class:`flex items-center gap-3`},[h(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),h(`span`,{class:`font-medium text-gray-700`},`盘点单列表`)],-1),g(y,{type:`primary`,onClick:q},{default:e(()=>[...f[12]||=[s(`新建盘点单`,-1)]]),_:1})]),h(`div`,T,[l((n(),c(S,{data:k.value,style:{width:`100%`},stripe:``},{default:e(()=>[g(b,{prop:`check_no`,label:`盘点单号`,"min-width":`160`}),g(b,{prop:`warehouse_name`,label:`仓库`,"min-width":`110`}),g(b,{prop:`check_date`,label:`盘点日期`,width:`120`,align:`center`}),g(b,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[g(x,{type:H[t.status],size:`small`},{default:e(()=>[s(o(V[t.status]||t.status),1)]),_:2},1032,[`type`])]),_:1}),g(b,{prop:`operator_name`,label:`操作人`,width:`90`,align:`center`}),g(b,{prop:`remark`,label:`备注`,"min-width":`120`,"show-overflow-tooltip":``}),g(b,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[g(y,{size:`small`,type:`primary`,text:``,onClick:e=>re(t)},{default:e(()=>[...f[14]||=[s(`查看`,-1)]]),_:1},8,[`onClick`]),t.status===`draft`?(n(),c(y,{key:0,size:`small`,type:`success`,text:``,onClick:e=>X(t)},{default:e(()=>[...f[15]||=[s(`完成盘点`,-1)]]),_:1},8,[`onClick`])):u(``,!0)]),_:1})]),_:1},8,[`data`])),[[pe,j.value]])]),h(`div`,E,[g(O,{"current-page":R.page,"onUpdate:currentPage":f[2]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":f[3]||=e=>R.per_page=e,total:A.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:ie,onSizeChange:ae},null,8,[`current-page`,`page-size`,`total`])])]),g(Q,{modelValue:M.value,"onUpdate:modelValue":f[8]||=e=>M.value=e,title:`新建盘点单`,width:`820px`,"destroy-on-close":``},{footer:e(()=>[g(y,{onClick:f[7]||=e=>M.value=!1},{default:e(()=>[...f[17]||=[s(`取消`,-1)]]),_:1}),g(y,{type:`primary`,loading:N.value,onClick:Y},{default:e(()=>[...f[18]||=[s(`提交盘点`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[g(de,{ref_key:`formRef`,ref:z,model:B,rules:ne,"label-width":`90px`},{default:e(()=>[g(ce,{gutter:16},{default:e(()=>[g(W,{span:10},{default:e(()=>[g(U,{label:`仓库`,prop:`warehouse_id`},{default:e(()=>[g(v,{modelValue:B.warehouse_id,"onUpdate:modelValue":f[4]||=e=>B.warehouse_id=e,placeholder:`选择仓库`,filterable:``,style:{width:`100%`},onChange:J},{default:e(()=>[(n(!0),p(d,null,_(I.value,e=>(n(),c(m,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),g(W,{span:8},{default:e(()=>[g(U,{label:`盘点日期`,prop:`check_date`},{default:e(()=>[g(oe,{modelValue:B.check_date,"onUpdate:modelValue":f[5]||=e=>B.check_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`选择日期`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(W,{span:6},{default:e(()=>[g(U,{label:`备注`},{default:e(()=>[g(se,{modelValue:B.remark,"onUpdate:modelValue":f[6]||=e=>B.remark=e,placeholder:`备注`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1}),g(le,{"content-position":`left`},{default:e(()=>[...f[16]||=[s(`物料明细(系统自动填入库存,请填写实际数量)`,-1)]]),_:1}),B.items.length===0?(n(),p(`div`,D,` 请先选择仓库以加载库存数据 `)):(n(),c(S,{key:1,data:B.items,style:{width:`100%`},"max-height":`320`},{default:e(()=>[g(b,{prop:`material_code`,label:`物料编码`,width:`110`}),g(b,{prop:`material_name`,label:`物料名称`,"min-width":`130`}),g(b,{prop:`unit`,label:`单位`,width:`70`,align:`center`}),g(b,{prop:`system_quantity`,label:`系统数量`,width:`100`,align:`right`}),g(b,{label:`实际数量`,width:`140`,align:`right`},{default:e(({row:e})=>[g(ue,{modelValue:e.actual_quantity,"onUpdate:modelValue":t=>e.actual_quantity=t,min:0,precision:2,size:`small`,style:{width:`120px`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),g(b,{label:`差异`,width:`90`,align:`right`},{default:e(({row:e})=>[h(`span`,{class:a(Z(e)===0?`text-gray-500`:Z(e)>0?`text-green-600`:`text-red-500`)},o(Z(e)>0?`+`:``)+o(Z(e).toFixed(2)),3)]),_:1})]),_:1},8,[`data`]))]),_:1},8,[`model`])]),_:1},8,[`modelValue`]),g(Q,{modelValue:P.value,"onUpdate:modelValue":f[9]||=e=>P.value=e,title:`盘点单详情`,width:`760px`,"destroy-on-close":``},{default:e(()=>[F.value?(n(),p(d,{key:0},[g(fe,{column:3,border:``,size:`small`,class:`mb-4`},{default:e(()=>[g($,{label:`盘点单号`},{default:e(()=>[s(o(F.value.check_no),1)]),_:1}),g($,{label:`仓库`},{default:e(()=>[s(o(F.value.warehouse_name),1)]),_:1}),g($,{label:`盘点日期`},{default:e(()=>[s(o(F.value.check_date),1)]),_:1}),g($,{label:`操作人`},{default:e(()=>[s(o(F.value.operator_name),1)]),_:1}),g($,{label:`状态`},{default:e(()=>[g(x,{type:H[F.value.status],size:`small`},{default:e(()=>[s(o(V[F.value.status]),1)]),_:1},8,[`type`])]),_:1}),g($,{label:`备注`},{default:e(()=>[s(o(F.value.remark||`-`),1)]),_:1})]),_:1}),g(S,{data:F.value.items||[],style:{width:`100%`},"max-height":`360`},{default:e(()=>[g(b,{prop:`material_name`,label:`物料名称`,"min-width":`130`}),g(b,{prop:`system_quantity`,label:`系统数量`,width:`100`,align:`right`}),g(b,{prop:`actual_quantity`,label:`实际数量`,width:`100`,align:`right`}),g(b,{label:`差异`,width:`90`,align:`right`},{default:e(({row:e})=>[h(`span`,{class:a(Z(e)===0?`text-gray-500`:Z(e)>0?`text-green-600`:`text-red-500`)},o(Z(e)>0?`+`:``)+o(Number(Z(e)).toFixed(2)),3)]),_:1})]),_:1},8,[`data`])],64)):u(``,!0)]),_:1},8,[`modelValue`])])}}};export{O as default};