2 lines
6.2 KiB
JavaScript
2 lines
6.2 KiB
JavaScript
import{_ as U,i as K,j as W,c as x,b as e,w as r,r as g,g as c,o as _,a as k,l as j,h as i,m as s,t as d,n as y,F as R,x as G}from"./index-BKY3gHB2.js";import{u as H}from"./stock-BRmruuul.js";import{u as J}from"./materials-CCO44TCM.js";import{_ as w}from"./BaseTable-BUsuzGI9.js";import{_ as O}from"./StatusBadge-GSjUKTY1.js";const Q={class:"stock-page"},X={class:"search-bar"},Y={style:{color:"red"}},Z={class:"logs-filter"},ee={__name:"Stock",setup(ae){const o=H(),m=J(),v=g("list"),p=g("");K(v,l=>{l==="logs"&&o.fetchStockLogs(p.value||null)});const C=g(""),f=g(""),b=g(""),A={A01:"标准件",A02:"成品件",A03:"简易加工件",A04:"精密加工件",A05:"钣金件",A06:"塑胶件",A07:"其他",B01:"成品件",B02:"简易加工件",B03:"PCB硬板",B04:"FPC软板",B05:"线束",B06:"组装组件",B07:"其他",C01:"连接耗材",C02:"密封耗材",C03:"其他",D01:"自研程序固件",D02:"外购软件授权",D03:"授权介质",D04:"其他",E01:"成品",E02:"半成品",F01:"资料文档",F02:"标识标牌",F03:"包装物料",F04:"随机工具配件",F05:"其他"};function B(l){if(!l)return"-";const n=A[l]||"";return n?`${l} - ${n}`:l}W(()=>{o.fetchStock(),o.fetchStockWarning(),m.fetchMaterials()});function S(){o.fetchStock(1,f.value,b.value)}function F(l){o.fetchStock(l,f.value,b.value)}function L(l){C.value=l}function z(){const l=(C.value||"").toLowerCase();return l?m.materials.filter(n=>n.material_code.toLowerCase().includes(l)||n.name.toLowerCase().includes(l)):m.materials}function M(l){o.fetchStockWarning(l)}function I(){o.fetchStockLogs(p.value||null)}function q(l){o.fetchStockLogs(p.value||null,l)}function $(l){return l?new Date(l).toLocaleString("zh-CN"):"-"}function N(l){switch(l){case"inbound":return"入库单";case"outbound":return"出库单";case"application":return"物料申请";default:return l||"-"}}return(l,n)=>{const E=c("el-input"),u=c("el-option"),P=c("el-select"),D=c("el-button"),t=c("el-table-column"),V=c("el-tag"),h=c("el-tab-pane"),T=c("el-tabs");return _(),x("div",Q,[e(T,{modelValue:v.value,"onUpdate:modelValue":n[3]||(n[3]=a=>v.value=a)},{default:r(()=>[e(h,{label:"库存查询",name:"list"},{default:r(()=>[k("div",X,[e(E,{modelValue:f.value,"onUpdate:modelValue":n[0]||(n[0]=a=>f.value=a),placeholder:"搜索物料编码或名称",onKeyup:j(S,["enter"]),style:{width:"220px"}},null,8,["modelValue"]),e(P,{modelValue:b.value,"onUpdate:modelValue":n[1]||(n[1]=a=>b.value=a),placeholder:"全部分类",clearable:"",style:{width:"160px"}},{default:r(()=>[e(u,{label:"标准件",value:"A01"}),e(u,{label:"成品件",value:"A02"}),e(u,{label:"简易加工件",value:"A03"}),e(u,{label:"精密加工件",value:"A04"}),e(u,{label:"钣金件",value:"A05"}),e(u,{label:"塑胶件",value:"A06"}),e(u,{label:"其他",value:"A07"}),e(u,{label:"线束",value:"B05"}),e(u,{label:"组装组件",value:"B06"}),e(u,{label:"连接耗材",value:"C01"}),e(u,{label:"自研程序固件",value:"D01"}),e(u,{label:"外购软件授权",value:"D02"}),e(u,{label:"成品",value:"E01"}),e(u,{label:"资料文档",value:"F01"}),e(u,{label:"随机工具配件",value:"F04"})]),_:1},8,["modelValue"]),e(D,{onClick:S},{default:r(()=>[...n[4]||(n[4]=[i("查询",-1)])]),_:1})]),e(w,{data:s(o).stockList,loading:s(o).loading,"current-page":s(o).stockPage.currentPage,"page-size":s(o).stockPage.pageSize,total:s(o).stockPage.total,onPageChange:F},{default:r(()=>[e(t,{type:"index",label:"ID",width:"60"}),e(t,{prop:"material_id",label:"物料ID"}),e(t,{prop:"material_code",label:"物料编码"}),e(t,{prop:"name",label:"名称"}),e(t,{prop:"spec",label:"规格"}),e(t,{label:"分类"},{default:r(({row:a})=>[i(d(B(a.category)),1)]),_:1}),e(t,{prop:"unit",label:"单位"}),e(t,{prop:"current_stock",label:"库存数量"}),e(t,{prop:"warning_stock",label:"预警值"}),e(t,{label:"状态"},{default:r(({row:a})=>[a.current_stock<=a.warning_stock?(_(),y(V,{key:0,type:"danger"},{default:r(()=>[...n[5]||(n[5]=[i("库存不足",-1)])]),_:1})):(_(),y(V,{key:1,type:"success"},{default:r(()=>[...n[6]||(n[6]=[i("正常",-1)])]),_:1}))]),_:1})]),_:1},8,["data","loading","current-page","page-size","total"])]),_:1}),e(h,{label:"库存预警",name:"warning"},{default:r(()=>[e(w,{data:s(o).warningList,loading:s(o).loading,"current-page":s(o).warningPage.currentPage,"page-size":s(o).warningPage.pageSize,total:s(o).warningPage.total,onPageChange:M},{default:r(()=>[e(t,{type:"index",label:"ID",width:"60"}),e(t,{prop:"material_id",label:"物料ID"}),e(t,{prop:"material_name",label:"物料名称"}),e(t,{prop:"material_code",label:"物料编码"}),e(t,{prop:"quantity",label:"当前库存"},{default:r(({row:a})=>[k("span",Y,d(a.quantity),1)]),_:1}),e(t,{prop:"warning_stock",label:"预警值"}),e(t,{label:"缺货量"},{default:r(({row:a})=>[i(d(Math.max(0,a.warning_stock-a.quantity)),1)]),_:1})]),_:1},8,["data","loading","current-page","page-size","total"])]),_:1}),e(h,{label:"库存日志",name:"logs"},{default:r(()=>[k("div",Z,[e(P,{modelValue:p.value,"onUpdate:modelValue":n[2]||(n[2]=a=>p.value=a),placeholder:"输入物料编码或名称搜索",filterable:"","filter-method":a=>L(a),clearable:"",style:{width:"260px"}},{default:r(()=>[(_(!0),x(R,null,G(z(),a=>(_(),y(u,{key:a.id,label:`${a.material_code} - ${a.name}`,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","filter-method"]),e(D,{onClick:I},{default:r(()=>[...n[7]||(n[7]=[i("查询",-1)])]),_:1})]),e(w,{data:s(o).logs,loading:s(o).loading,"current-page":s(o).logsPage.currentPage,"page-size":s(o).logsPage.pageSize,total:s(o).logsPage.total,onPageChange:q},{default:r(()=>[e(t,{type:"index",label:"ID",width:"60"}),e(t,{prop:"material_id",label:"物料ID"}),e(t,{prop:"change_type",label:"变动类型"},{default:r(({row:a})=>[e(O,{status:a.change_type},null,8,["status"])]),_:1}),e(t,{label:"变动数量"},{default:r(({row:a})=>[i(d(a.change_quantity>0?"+":"")+d(a.change_quantity),1)]),_:1}),e(t,{prop:"before_quantity",label:"变动前"}),e(t,{prop:"after_quantity",label:"变动后"}),e(t,{label:"来源"},{default:r(({row:a})=>[i(d(N(a.reference_type))+" #"+d(a.reference_id),1)]),_:1}),e(t,{prop:"created_at",label:"时间"},{default:r(({row:a})=>[i(d($(a.created_at)),1)]),_:1})]),_:1},8,["data","loading","current-page","page-size","total"])]),_:1})]),_:1},8,["modelValue"])])}}},ue=U(ee,[["__scopeId","data-v-feb0c628"]]);export{ue as default};
|