进仓对货-查看详情

This commit is contained in:
wuteng 2025-11-04 11:11:57 +08:00
parent 7c6dd75648
commit a856710c7a
4 changed files with 123 additions and 316 deletions

View File

@ -50,3 +50,14 @@ export function delEmisWarehouseIn(id) {
method: 'delete'
})
}
//根据进仓单编号查询进仓单详情
export function getWarehouseInDetail(query) {
return request({
url: '/oms2c/emisWarehouseIn/getWarehouseInDetail',
method: 'get',
params: {
inNo: query.inNo
}
})
}

View File

@ -4,10 +4,10 @@
<div class="tab-container">
<el-tabs v-model="activeTab" class="center-tabs" @tab-click="handleTabsClick" @tab-remove="removeTab">
<el-tab-pane label="进仓单" name="billList" >
<WarehouseInPanel @onSelect="onSelectBill"> </WarehouseInPanel>
<WarehouseInPanel @onSelect="onSelectBill" @onStockIn="onStockIn" > </WarehouseInPanel>
</el-tab-pane>
<el-tab-pane v-for="(item, index) in billTabs" :key="index" :name="item.inNo" :label="'进仓单:'+item.inNo" closable >
<WarehouseInBatchPanel :settleBillNo="item.inNo"></WarehouseInBatchPanel>
<el-tab-pane :key="selectInNo" name="wsInView" :label="'进仓单:'+selectInNo" v-if="openViewForm" closable >
<WarehouseInBatchPanel :settleBillNo="selectInNo" :key="'batchView_'+selectInNo" ></WarehouseInBatchPanel>
</el-tab-pane>
</el-tabs>
</div>
@ -30,6 +30,8 @@ export default {
return {
activeTab:'billList',
billTabs:[],
selectInNo:null,
openViewForm:false,
};
},
created() {
@ -39,27 +41,36 @@ export default {
},
onSelectBill(item) {
let old=this.billTabs.find(mItem=>mItem.settleBillNo==item.settleBillNo);
if(old){
this.activeTab=item.settleBillNo;
}else{
this.billTabs.push(item);
this.activeTab=item.settleBillNo;
}
this.selectInNo=item.inNo;
this.openViewForm=true;
this.activeTab='wsInView';
},
removeTab(targetName) {
var self=this;
if (targetName == 'wsInPanel') {
this.showWsInPanel = false;
this.activeTab = "billList";
}
else if (targetName == 'wsInView') {
this.openViewForm = false;
this.activeTab = "billList";
}
else {
var self = this;
let tabs = self.billTabs;
self.billTabs = tabs.filter(tab => tab.settleBillNo !== targetName);
if(self.billTabs.length>0){
this.activeTab=self.billTabs[self.billTabs.length-1].settleBillNo;
}else{
this.activeTab="billList";
self.billTabs = tabs.filter(tab => tab.inNo !== targetName);
if (self.billTabs.length > 0) {
this.activeTab = self.billTabs[self.billTabs.length - 1].inNo;
} else {
this.activeTab = "billList";
}
}
},
onStockIn(inNo) {
this.selectInNo = inNo;
this.showWsInPanel = true;
this.activeTab = 'wsInPanel';
},
}
};
</script>

View File

@ -1,311 +1,86 @@
<template>
<div >
<SearchForm :model="queryParams" ref="queryForm" size="small" :maxShow="3" label-width="68px" v-show="showSearch" @search="handleQuery" @reset="resetQuery">
<div style="font-size: 12px;" v-if="whsInInfo">
<div style="margin-bottom:20px" >
<el-descriptions title="" size="mini" :column="4">
<el-descriptions-item label="进仓单号">{{ whsInInfo.inNo }}</el-descriptions-item>
<el-descriptions-item label="运单号">
<span @click="handleShowOrderInfo" style="cursor: pointer;"> {{ whsInInfo.billCode }}</span>
</el-descriptions-item>
<el-descriptions-item label="订单号">
<span @click="handleShowOrderInfo" style="cursor: pointer;">{{ whsInInfo.orderSn }}</span>
<el-form-item label="" prop="serialNo">
<el-input
v-model="queryParams.serialNo"
:placeholder="$t('进仓序列号')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="inNo">
<el-input
v-model="queryParams.inNo"
:placeholder="$t('进仓单号')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="inBatchNo">
<el-input
v-model="queryParams.inBatchNo"
:placeholder="$t('进仓子批次单号in_no+001')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="customerCode">
<el-input
v-model="queryParams.customerCode"
:placeholder="$t('客户编号')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="customerName">
<el-input
v-model="queryParams.customerName"
:placeholder="$t('客户名称')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="orderSn">
<el-input
v-model="queryParams.orderSn"
:placeholder="$t('订单号')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="billCode">
<el-input
v-model="queryParams.billCode"
:placeholder="$t('运单号')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="transCarNo">
<el-input
v-model="queryParams.transCarNo"
:placeholder="$t('运输工具编号')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="entryDate">
<el-date-picker clearable
v-model="queryParams.entryDate"
type="date"
value-format="yyyy-MM-dd HH:mm:ss"
:placeholder="$t('进仓日期')">
</el-date-picker>
</el-form-item>
<el-form-item label="" prop="confirmStatus">
<el-input
v-model="queryParams.confirmStatus"
:placeholder="$t('客户确认状态')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="confirmDate">
<el-date-picker clearable
v-model="queryParams.confirmDate"
type="date"
value-format="yyyy-MM-dd HH:mm:ss"
:placeholder="$t('确认时间')">
</el-date-picker>
</el-form-item>
<el-form-item label="" prop="status">
<el-input
v-model="queryParams.status"
:placeholder="$t('状态')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="totalParcelQty">
<el-input
v-model="queryParams.totalParcelQty"
:placeholder="$t('总件数')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="totalVolume">
<el-input
v-model="queryParams.totalVolume"
:placeholder="$t('总体积')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="totalWeight">
<el-input
v-model="queryParams.totalWeight"
:placeholder="$t('总重量')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="remark">
<el-input
v-model="queryParams.remark"
:placeholder="$t('备注')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="delFlag">
<el-input
v-model="queryParams.delFlag"
:placeholder="$t('删除标志(0代表存在')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</SearchForm>
<!-- -->
</el-descriptions-item>
<el-descriptions-item label="客户名称">{{ whsInInfo.customerName }}</el-descriptions-item>
<el-descriptions-item label="预约进仓日期" :span="4"><span style="font-weight: bold;color: red;">{{ whsInInfo.waybillDetail.pickStartDate }}</span></el-descriptions-item>
<el-descriptions-item label="仓库信息" :span="4">
<div>
仓库名:<span>{{ whsInInfo.waybillDetail.intoWarehouseName }}</span>
</div>
<div>
联系人: <span>{{ whsInInfo.waybillDetail.intoWarehouseContact }} {{ whsInInfo.waybillDetail.intoWarehousePhone }} </span>
</div>
<div>
地址:{{ whsInInfo.waybillDetail.intoWarehouseAddress }}
</div>
</el-descriptions-item>
<el-descriptions-item label="进仓状态">
<el-tag v-if="whsInInfo.stockInFlag=='0'" type="info">未入仓</el-tag>
<el-tag v-if="whsInInfo.stockInFlag=='1'" type="success">已入仓</el-tag>
<el-tag v-if="whsInInfo.stockInFlag=='2'" type="warning">部分入仓</el-tag>
</el-descriptions-item>
<el-descriptions-item label="入仓总件数">{{ whsInInfo.totalParcelQty }}</el-descriptions-item>
<el-descriptions-item label="入仓总重量">{{ whsInInfo.totalWeight }}kg</el-descriptions-item>
<el-descriptions-item label="入仓总体积">{{ whsInInfo.totalVolume }}m³</el-descriptions-item>
<XdTable v-loading="loading"
border
size="small"
:data="emisWarehouseInBatchList"
:showSearch.sync="showSearch"
:queryParams="queryParams"
:total="total"
@queryTable="getList"
@selection-change="handleSelectionChange"
@sort-change="handleSortChange"
>
<div slot="toolbar">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-descriptions-item label="确认状态">
<el-tag v-if="whsInInfo.confirmStatus=='0'" type="info">未确认</el-tag>
<el-tag v-if="whsInInfo.confirmStatus=='1'" type="success">已确认</el-tag>
<el-tag v-if="whsInInfo.confirmStatus=='2'" type="warning">部分确认</el-tag>
</el-descriptions-item>
<el-descriptions-item label="确认时间">{{ whsInInfo.confirmDate }}</el-descriptions-item>
</el-descriptions>
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['emis:emisWarehouseInBatch:add']"
>新增</el-button>
</el-col>
<!--
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['emis:emisWarehouseInBatch:edit']"
>修改</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['emis:emisWarehouseInBatch:remove']"
>删除</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['emis:emisWarehouseInBatch:export']"
>导出</el-button>
</el-col> -->
</el-row>
</div>
<el-table-column type="selection" width="55" align="center" />
<!--
<el-table-column label="序号" align="center" min-width="60">
<template slot-scope="scope">
<span v-text="getIndex(scope.$index)"> </span>
</template>
</el-table-column>
<el-table-column label="xxx" align="left" prop="xxx" min-width="180">
<template slot-scope="scope">
<div class="link-type" @click="handleView(scope.row)">{{scope.row.orderSn}}</div>
</template>
</el-table-column>
<el-table-column label="结算状态" align="center" prop="settleStatus" :sort-orders="['descending','ascending']" sortable="custom" min-width="80">
<template slot-scope="scope">
<div v-if="scope.row.settleStatus == 0" style="color:red;">
<span class="el-tag el-tag--info">未结算</span>
</div>
<div v-if="scope.row.settleStatus == 10" style="color:red;">
<span class="el-tag">待确认</span>
</div>
<div v-if="scope.row.settleStatus == 11" style="color:green;">
<span class="el-tag el-tag--success el-tag--light">已确认</span>
</div>
<div v-if="scope.row.settleStatus == 20" >
<span class="el-tag el-tag--warning el-tag--light">待打款</span>
</div>
<div v-if="scope.row.settleStatus == 21" style="color:green;">
<span class="el-tag el-tag--success el-tag--light">已打款</span>
</div>
<div v-if="scope.row.settleStatus == 40" style="color:red;">
<span class="el-tag el-tag--danger">已拒绝</span>
</div>
</template>
</el-table-column>
-->
<el-table-column :label="$t('进仓序列号')" align="center" prop="serialNo" min-width="100" />
<el-table-column :label="$t('进仓单号')" align="center" prop="inNo" min-width="100" />
<el-table-column :label="$t('进仓子批次单号in_no+001')" align="center" prop="inBatchNo" min-width="100" />
<el-table-column :label="$t('客户编号')" align="center" prop="customerCode" min-width="100" />
<el-table-column :label="$t('客户名称')" align="center" prop="customerName" min-width="100" />
<el-table-column :label="$t('订单号')" align="center" prop="orderSn" min-width="100" />
<el-table-column :label="$t('运单号')" align="center" prop="billCode" min-width="100" />
<el-table-column :label="$t('运输工具编号')" align="center" prop="transCarNo" min-width="100" />
<el-table-column :label="$t('进仓日期')" align="center" prop="entryDate" min-width="100" />
<el-table-column :label="$t('客户确认状态')" align="center" prop="confirmStatus" min-width="100" />
<el-table-column :label="$t('确认时间')" align="center" prop="confirmDate" min-width="100" />
<el-table-column :label="$t('状态')" align="center" prop="status" min-width="100" />
<el-table-column :label="$t('总件数')" align="center" prop="totalParcelQty" min-width="100" />
<el-table-column :label="$t('总体积')" align="center" prop="totalVolume" min-width="100" />
<el-table-column :label="$t('总重量')" align="center" prop="totalWeight" min-width="100" />
<el-table-column :label="$t('备注')" align="center" prop="remark" min-width="100" />
<el-table-column :label="$t('删除标志(0代表存在')" align="center" prop="delFlag" min-width="100" />
<el-table-column label="创建人" align="center" prop="createByName" width="80" :show-overflow-tooltip="true"/>
<el-table-column label="创建网点" align="center" prop="createSiteName" width="80" :show-overflow-tooltip="true"/>
<el-table-column label="创建时间" align="center" prop="createTime" width="170"/>
<el-table-column label="修改人" align="center" prop="updateByName" width="80" :show-overflow-tooltip="true"/>
<el-table-column label="修改网点" align="center" prop="updateSiteName" width="80" :show-overflow-tooltip="true"/>
<el-table-column label="修改时间" align="center" prop="updateTime" width="170"/>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['emis:emisWarehouseInBatch:edit']"
>修改</el-button>
<!--
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['emis:emisWarehouseInBatch:remove']"
>删除</el-button> -->
</template>
</el-table-column>
</XdTable>
<!-- <el-dialog :title="titleForm" :visible.sync="openForm" width="50%" :destroy-on-close="true" v-dialogDrag append-to-body>
<emisWarehouseInBatchForm :id="currentId" @on-changed="handleFormChanged" @on-cancel="cancelForm"></EmisWarehouseInBatchForm>
</el-dialog> -->
@click="handleShowOrderInfo"
>查看订单详情</el-button>
</div>
<div style="margin-bottom:20px">
<div>
<!-- <WsInBatchList :inNo="inNo"> </WsInBatchList> -->
</div>
</div>
<el-dialog title="订单详情" :visible.sync="openTraceInfo" width="70%" :close-on-click-modal="false" v-dialogDrag append-to-body>
<OrderDetailReadOnly :key="currentTraceBillCode" :billCode="currentTraceBillCode"></OrderDetailReadOnly>
</el-dialog>
</div>
</template>
<script>
import { listEmisWarehouseInBatch } from "@/api/oms/emisWarehouseInBatch";
import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
import { getWarehouseInDetail} from "@/api/oms/emisWarehouseIn";
import OrderDetailReadOnly from '@/views/oms/emisWaybill/OrderDetailReadOnly.vue';
export default {
name: "emisWarehouseInBatch",
components: { elDateSimplePicker },
components: {
OrderDetailReadOnly,
},
dicts: [
],
props: {
settleBillNo: {
type: String,
default: ''
}
},
data() {
return {
// 遮罩层
@ -322,6 +97,8 @@ export default {
dateTimeRange:[],
// 总条数
total: 0,
whsInInfo:null,
// 进仓单批次表格数据
emisWarehouseInBatchList: [],
@ -329,6 +106,9 @@ export default {
openForm: false,
titleForm: "",
openTraceInfo:false,
currentTraceBillCode:null,
// 弹出展示层
id:null,
titleView:"",
@ -389,9 +169,9 @@ export default {
this.queryParams.params["beginUpdateTime"] = this.daterangeUpdateTime[0];
this.queryParams.params["endUpdateTime"] = this.daterangeUpdateTime[1];
}
listEmisWarehouseInBatch(this.addDateRange(this.queryParams, this.dateTimeRange)).then(response => {
this.emisWarehouseInBatchList = response.rows;
this.total = response.total;
getWarehouseInDetail({inNo:this.settleBillNo}).then(response => {
this.whsInInfo=response.data;
console.log('this.whsInInfo' , this.whsInInfo);
this.loading = false;
});
},
@ -468,7 +248,7 @@ export default {
qParam.pageNum=1;
qParam.pageSize=5000;
listEmisWarehouseInBatch(this.addDateRange(qParam, this.dateTimeRange)).then(response => {
getWarehouseInDetail({inNo:this.settleBillNo}).then(response => {
this.downloadLoading = false
if (response.code === 200) {
const curList = response.rows
@ -511,6 +291,10 @@ export default {
dateTimeChange(value){
this.dateTimeRange=value;
},
handleShowOrderInfo(){
this.currentTraceBillCode=this.whsInInfo.billCode;
this.openTraceInfo=true;
},
}
};
</script>

View File

@ -249,6 +249,7 @@ export default {
daterangeCreateTime: [],
// 更新站点时间范围
daterangeUpdateTime: [],
currentSelectOrder:null,
// 查询参数
queryParams: {
pageNum: 1,
@ -329,7 +330,7 @@ export default {
this.selectionList=selection;
if(this.selectionList&&this.selectionList.length>0){
// this.currentSelectOrder=this.selectionList[0];
this.currentSelectOrder=this.selectionList[0];
}
},
@ -358,7 +359,7 @@ export default {
// this.id=row.id;
// this.titleView="查看";
// this.openView=true;
this.$emit("onSelect",row);
this.$emit("onSelect",this.currentSelectOrder);
// this.router.push({ path: '/oms2c/emisWarehouseIn/viewDetail', query: { id: row.id }})
},
handleFormChanged(){