| | |
| | | <text class="item-id">{{ item.productName }}</text> |
| | | </view> |
| | | <view class="item-right"> |
| | | <text class="item-tag tag-type">合格库存</text> |
| | | <text class="item-tag tag-type">成品库存</text> |
| | | </view> |
| | | </view> |
| | | |
| | |
| | | |
| | | <view class="item-details"> |
| | | <view class="detail-row"> |
| | | <text class="detail-label">规格型号</text> |
| | | <text class="detail-value">{{ item.model }}</text> |
| | | <text class="detail-label">存货/规格</text> |
| | | <text class="detail-value">{{item.productName || "无" }} / {{ item.model || "无" }}</text> |
| | | </view> |
| | | <view class="detail-row"> |
| | | <text class="detail-label">库存数量</text> |
| | | <text class="detail-value">{{ item.qualitity }} {{ item.unit }}</text> |
| | | <text class="detail-label">主数量/主单位</text> |
| | | <text class="detail-value">{{ item.qualitity || "无" }} / {{ item.unit || "无" }}</text> |
| | | </view> |
| | | <view class="detail-row"> |
| | | <text class="detail-label">锁定/冻结</text> |
| | | <text class="detail-value">{{ item.lockedQuantity }} {{ item.unit }}</text> |
| | | <text class="detail-label">辅数量/辅单位</text> |
| | | <text class="detail-value">{{ item.subQualitity || "无" }} / {{ item.subUnit || "无" }}</text> |
| | | </view> |
| | | <view class="detail-row"> |
| | | <text class="detail-label">可用库存</text> |
| | | <text class="detail-value" style="color: #2979ff; font-weight: bold;">{{ item.unLockedQuantity }} {{ item.unit }}</text> |
| | | <text class="detail-label">仓库编码/仓库名称</text> |
| | | <text class="detail-value">{{ item.warehouseCode || "无" }} / {{ item.warehouseName || "无" }}</text> |
| | | </view> |
| | | <view class="detail-row"> |
| | | <text class="detail-label">库存预警</text> |
| | | <text class="detail-value">{{ item.warnNum }}</text> |
| | | <text class="detail-label">存货编码/库存预警</text> |
| | | <text class="detail-value">{{ item.productCode || "无" }} / {{ item.warnNum || "无" }}</text> |
| | | </view> |
| | | <view class="detail-row"> |
| | | <text class="detail-label">更新时间</text> |
| | | <text class="detail-value">{{ item.updateTime }}</text> |
| | | <text class="detail-value">{{ item.updateTime || "无" }}</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | const loadStatus = ref('loadmore'); |
| | | const page = reactive({ current: 1, size: 10 }); |
| | | const total = ref(0); |
| | | const searchForm = reactive({ productName: '' }); |
| | | const searchForm = reactive({ productName: '', rootName: '成品' }); |
| | | |
| | | const handleQuery = () => { |
| | | page.current = 1; |
| | |
| | | if (loading.value) return; |
| | | loading.value = true; |
| | | loadStatus.value = 'loading'; |
| | | getStockInventoryListPage({ ...searchForm, ...page, type: 'qualified' }).then(res => { |
| | | getStockInventoryListPage({ ...searchForm, ...page }).then(res => { |
| | | loading.value = false; |
| | | const records = res.data.records || []; |
| | | tableData.value = page.current === 1 ? records : [...tableData.value, ...records]; |
| | |
| | | .no-data { |
| | | padding-top: 100px; |
| | | } |
| | | |
| | | .item-actions { |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | gap: 10px; |
| | | padding: 5px 0; |
| | | } |
| | | |
| | | .fab-button { |
| | | position: fixed; |
| | | right: 20px; |
| | | bottom: 80px; |
| | | width: 50px; |
| | | height: 50px; |
| | | background-color: #2979ff; |
| | | border-radius: 25px; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); |
| | | z-index: 100; |
| | | } |
| | | </style> |