fix:产品库存数据展示调整

dev_1.0.2
jiangpeng 2026-07-09 15:20:30 +08:00
parent 4b2e8538b1
commit 300c1f63b2
1 changed files with 13 additions and 62 deletions

View File

@ -11,6 +11,11 @@
<el-form-item label="产品名称" prop="productName">
<el-input v-model="queryParams.productName" placeholder="请输入产品名称" clearable size="small" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="产品类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择产品类型" clearable size="small">
<el-option v-for="dict in dict.type.product_type" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="制造商" prop="vendorCode">
<el-select v-model="queryParams.vendorCode" placeholder="请选择制造商" clearable size="small">
<el-option v-for="vendor in vendorOptions" :key="vendor.vendorCode" :label="vendor.vendorName" :value="vendor.vendorCode" />
@ -61,18 +66,18 @@
<el-table-column label="在途库存" align="center" prop="purchaseNum">
<template slot-scope="scope">
<el-link v-if="scope.row.purchaseNum" class="inventory-num inventory-num--bind" :underline="false" @click="handlePurchaseStock(scope.row)">{{ scope.row.purchaseNum }}</el-link>
<span v-else class="inventory-num inventory-num--bind">0</span>
<span v-else class="inventory-num inventory-num--empty">0</span>
</template>
</el-table-column>
<el-table-column label="可用量" align="center" prop="usableNum">
<template slot-scope="scope">
<span class="inventory-num inventory-num--usable">{{ scope.row.usableNum || 0 }}</span>
<span :class="['inventory-num', scope.row.usableNum ? 'inventory-num--usable' : 'inventory-num--empty']">{{ scope.row.usableNum || 0 }}</span>
</template>
</el-table-column>
<el-table-column label="锁单量" align="center" prop="bindNum">
<template slot-scope="scope">
<el-link v-if="scope.row.bindNum" class="inventory-num inventory-num--purchase" :underline="false" @click="handleBindOrder(scope.row)">{{ scope.row.bindNum }}</el-link>
<span v-else class="inventory-num inventory-num--purchase">0</span>
<span v-else class="inventory-num inventory-num--empty">0</span>
</template>
</el-table-column>
<el-table-column label="累计发货" align="center" prop="outerNum">
@ -284,11 +289,7 @@
</div>
<el-table class="inventory-inner-table" v-loading="purchaseStockLoading" :data="purchaseStockList">
<el-table-column label="序号" type="index" width="50" align="center" :index="purchaseStockIndex" />
<el-table-column label="采购单号" align="center" prop="purchaseNo">
<template slot-scope="scope">
<el-link type="primary" @click="handleViewPurchaseOrder(scope.row)">{{ scope.row.purchaseNo }}</el-link>
</template>
</el-table-column>
<el-table-column label="采购单号" align="center" prop="purchaseNo" />
<el-table-column label="在途库存" align="center" prop="purchaseNum">
<template slot-scope="scope">
<span class="inventory-num inventory-num--bind">{{ scope.row.purchaseNum || 0 }}</span>
@ -308,34 +309,6 @@
</div>
</el-dialog>
<el-drawer title="采购单详情" :visible.sync="purchaseOrderDetailOpen" direction="rtl" size="80%" append-to-body>
<ApproveLayout title="采购单详情" v-if="purchaseOrderDetailOpen">
<purchase-order-detail-view
ref="purchaseOrderDetailView"
:order-data="purchaseOrderDetailData"
:showHistory="true"
@close="purchaseOrderDetailOpen = false"
@view-history-detail="handleViewPurchaseOrderHistoryDetail"
/>
<template #footer>
<span>采购单编号: {{ currentDetailPurchaseNo }}</span>
</template>
</ApproveLayout>
</el-drawer>
<el-drawer title="历史订单详情" :visible.sync="purchaseOrderHistoryDetailOpen" direction="rtl" size="80%" append-to-body>
<ApproveLayout title="采购单历史详情" v-if="purchaseOrderHistoryDetailOpen">
<purchase-order-detail-view
ref="purchaseOrderHistoryDetailView"
:order-data="purchaseOrderHistoryDetailData"
@close="purchaseOrderHistoryDetailOpen = false"
/>
<template #footer>
<span>订单编号: {{ purchaseOrderHistoryDetailData ? purchaseOrderHistoryDetailData.purchaseNo : '' }}</span>
<span v-if="purchaseOrderHistoryDetailData"> | : {{ purchaseOrderHistoryDetailData.version }}</span>
</template>
</ApproveLayout>
</el-drawer>
<!-- 锁单对话框 -->
<el-dialog :close-on-click-modal="false" title="锁单量" :visible.sync="bindOrderVisible" width="55%" append-to-body>
@ -382,19 +355,15 @@ import InnerLog from './innerLog';
import OuterLog from './outerLog';
import OrderDetail from "@/views/inventory/inner/components/OrderDetail.vue";
import ServiceDetail from "@/views/inventory/inner/components/ServiceDetail.vue";
import ApproveLayout from "@/views/approve/ApproveLayout.vue";
import PurchaseOrderDetailView from "@/views/purchaseorder/components/PurchaseOrderDetailView.vue";
import { getPurchaseorder, getPurchaseOrderHistoryDetail } from "@/api/sip/purchaseorder";
export default {
name: "InventoryInfo",
dicts: ['product_type'],
components: {
InnerLog,
OuterLog,
OrderDetail,
ServiceDetail,
ApproveLayout,
PurchaseOrderDetailView
ServiceDetail
},
data() {
return {
@ -455,11 +424,6 @@ export default {
},
currentPurchaseStockProductName: null,
currentPurchaseStockTotal: 0,
purchaseOrderDetailOpen: false,
purchaseOrderDetailData: null,
currentDetailPurchaseNo: null,
purchaseOrderHistoryDetailOpen: false,
purchaseOrderHistoryDetailData: null,
bindOrderVisible: false,
bindOrderLoading: false,
bindOrderList: [],
@ -482,9 +446,10 @@ export default {
productCode: null,
model: null,
productName: null,
type: null,
vendorCode: null,
warehouseId: null,
orderByColumn:'createdAt',
orderByColumn:'outer_num desc, usable_num desc, inventory_num desc, purchase_num desc, bind_num',
isAsc: 'desc'
},
//
@ -756,20 +721,6 @@ export default {
this.purchaseStockLoading = false;
});
},
handleViewPurchaseOrder(row) {
getPurchaseorder(row.id).then(response => {
this.purchaseOrderDetailData = response.data;
this.currentDetailPurchaseNo = row.purchaseNo;
this.purchaseOrderDetailOpen = true;
});
},
handleViewPurchaseOrderHistoryDetail(row) {
getPurchaseOrderHistoryDetail(row.id).then(response => {
this.purchaseOrderHistoryDetailData = response.data;
this.purchaseOrderHistoryDetailOpen = true;
this.purchaseOrderDetailOpen = false;
});
},
/** 处理锁单量 */
handleBindOrder(row) {
if (!row.warehouseId) {