Files
geMoldInsight/static/assets/SuppliersTab-DoyluwJj.js
T
2026-07-30 10:30:50 +08:00

1 line
3.9 KiB
JavaScript

import{C as e,D as t,F as n,N as r,P as i,R as a,S as o,T as s,g as c,i as l,j as u,k as d,n as f,r as p,s as m,x as h,y as g}from"./index-BoystVy-.js";import{t as _}from"./useInventory-C7Zfw7oO.js";var v={class:`suppliers-tab`},y={class:`table-header`},b=f(e({__name:`SuppliersTab`,setup(e){let{state:f,loadSuppliers:b}=_(),x=i(!1),S=i(null),C=i(!1),w=r({name:``,contact_person:``,phone:``,email:``,address:``});function T(){S.value=null,w.name=``,w.contact_person=``,w.phone=``,w.email=``,w.address=``,x.value=!0}function E(e){S.value=e,w.name=e.name??``,w.contact_person=e.contact_person??``,w.phone=e.phone??``,w.email=e.email??``,w.address=e.address??``,x.value=!0}async function D(){if(!C.value){if(!w.name||!w.name.trim()){p(`请输入供应商名称`,`warning`);return}C.value=!0;try{let e={name:w.name,contact_person:w.contact_person||null,phone:w.phone||null,email:w.email||null,address:w.address||null};S.value?(await m(`/api/suppliers/${S.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),p(`供应商更新成功`,`success`)):(await m(`/api/suppliers`,{method:`POST`,body:JSON.stringify(e)}),p(`供应商已创建`,`success`)),x.value=!1,b()}catch(e){l(e,`保存供应商`)}finally{C.value=!1}}}async function O(e){if(confirm(`确定要删除这个供应商吗?`))try{await m(`/api/suppliers/${e}`,{method:`DELETE`}),p(`供应商已删除`,`success`),b()}catch(e){l(e,`删除供应商`)}}return s(()=>{b()}),(e,r)=>{let i=d(`t-button`),s=d(`t-table-column`),l=d(`t-table`),p=d(`t-input`),m=d(`t-form-item`),_=d(`t-form`),b=d(`t-dialog`);return t(),g(`div`,v,[c(`div`,y,[o(i,{type:`primary`,onClick:T},{default:u(()=>[...r[7]||=[h(`+ 新增供应商`,-1)]]),_:1})]),o(l,{data:n(f).suppliers,style:{width:`100%`},loading:n(f).loading,"empty-text":`暂无供应商数据`},{default:u(()=>[o(s,{prop:`code`,label:`编码`}),o(s,{prop:`name`,label:`名称`}),o(s,{prop:`contact_person`,label:`联系人`},{default:u(({row:e})=>[h(a(e.contact_person||`-`),1)]),_:1}),o(s,{prop:`phone`,label:`电话`},{default:u(({row:e})=>[h(a(e.phone||`-`),1)]),_:1}),o(s,{prop:`email`,label:`邮箱`},{default:u(({row:e})=>[h(a(e.email||`-`),1)]),_:1}),o(s,{label:`操作`,width:`180`},{default:u(({row:e})=>[o(i,{size:`small`,onClick:t=>E(e)},{default:u(()=>[...r[8]||=[h(`编辑`,-1)]]),_:1},8,[`onClick`]),o(i,{size:`small`,type:`danger`,onClick:t=>O(e.id)},{default:u(()=>[...r[9]||=[h(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`,`loading`]),o(b,{modelValue:x.value,"onUpdate:modelValue":r[6]||=e=>x.value=e,title:S.value?`编辑供应商`:`新增供应商`,width:`520px`,"close-on-click-modal":!1},{footer:u(()=>[o(i,{onClick:r[5]||=e=>x.value=!1,disabled:C.value},{default:u(()=>[...r[10]||=[h(`取消`,-1)]]),_:1},8,[`disabled`]),o(i,{type:`primary`,loading:C.value,disabled:C.value,onClick:D},{default:u(()=>[...r[11]||=[h(`保存`,-1)]]),_:1},8,[`loading`,`disabled`])]),default:u(()=>[o(_,{model:w,"label-width":`80px`},{default:u(()=>[o(m,{label:`名称`,required:``},{default:u(()=>[o(p,{modelValue:w.name,"onUpdate:modelValue":r[0]||=e=>w.name=e,placeholder:`请输入供应商名称`},null,8,[`modelValue`])]),_:1}),o(m,{label:`联系人`},{default:u(()=>[o(p,{modelValue:w.contact_person,"onUpdate:modelValue":r[1]||=e=>w.contact_person=e,placeholder:`请输入联系人`},null,8,[`modelValue`])]),_:1}),o(m,{label:`电话`},{default:u(()=>[o(p,{modelValue:w.phone,"onUpdate:modelValue":r[2]||=e=>w.phone=e,placeholder:`请输入电话`},null,8,[`modelValue`])]),_:1}),o(m,{label:`邮箱`},{default:u(()=>[o(p,{modelValue:w.email,"onUpdate:modelValue":r[3]||=e=>w.email=e,type:`email`,placeholder:`请输入邮箱`},null,8,[`modelValue`])]),_:1}),o(m,{label:`地址`},{default:u(()=>[o(p,{modelValue:w.address,"onUpdate:modelValue":r[4]||=e=>w.address=e,placeholder:`请输入地址`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}}),[[`__scopeId`,`data-v-e8c22e24`]]);export{b as default};