Commit 2be30583 authored by huhaiqing's avatar huhaiqing

出货单功能补全

parent 0e484bba
......@@ -67,6 +67,10 @@ export default {
cityId: {
type: Number,
default: undefined
},
warehouseId: {
type: Number,
default: undefined
}
},
......@@ -87,7 +91,7 @@ export default {
if (val) {
this.opened = true
getByWarehouseId({cityId: this.cityId}).then(r => {
getByWarehouseId({cityId: this.cityId,warehouseId: this.warehouseId }).then(r => {
const area = r.data
area.forEach(e => {
// 仓库
......
......@@ -547,7 +547,7 @@ export default {
let count = 0;
if (Array.isArray(this.listData)) {
this.listData.forEach((item) => {
const { sectionOrderList } = item;
const { sectionOrderList = [] } = item;
sectionOrderList.forEach((item) => {
count = count + item.installNum;
});
......
......@@ -5,32 +5,23 @@
<el-row class="content-area">
<!-- 左侧 -->
<el-col :span="6"
class="left-area">
<el-col :span="6" class="left-area">
<el-row>
<el-button type="primary"
@click="addPart">新增</el-button>
<el-button type="danger"
@click="deletePart">删除</el-button>
<el-button type="primary" @click="addPart">新增</el-button>
<el-button type="danger" @click="deletePart">删除</el-button>
</el-row>
<el-scrollbar style="height:calc(100% - 40px)">
<el-row v-for="item in partList"
:key="item.id"
class="title-info"
:class="item.id === partData.id ? 'selected' : ''">
<el-row v-for="item in partList" :key="item.id" class="title-info" :class="item.id === partData.id ? 'selected' : ''">
<div @click="partClick(item)">
<p>{{item.title}}</p>
</div>
<el-collapse-transition>
<div v-if="item.fold === false ? true : false">
<div v-for="(secGoog, index) in item.sectionGoodsList"
:key="index"
class="part-secGoog">
<div v-for="(secGoog, index) in item.sectionOrderList" :key="index" class="part-secGoog">
<p>{{secGoog.orderNo}}</p>
<p>{{secGoog.prodTitleZh}}</p>
<div>
<i class="el-icon-delete"
@click="deleteOrder(secGoog)"></i>
<i class="el-icon-delete" @click="deleteOrder(secGoog)"></i>
</div>
</div>
</div>
......@@ -45,8 +36,7 @@
</el-col>
<!-- 右侧 -->
<el-col :span="18"
class="right-area">
<el-col :span="18" class="right-area">
<el-row class="right-title">
<div>货物筛选</div>
......@@ -56,116 +46,70 @@
<!-- 搜索工作栏 -->
<el-row>
<el-form :model="queryParams"
ref="queryForm"
size="small"
:inline="true"
label-width="68px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="始发地">
<p>{{importCityName(queryParams.startWarehouseId)}}</p>
</el-form-item>
<el-form-item label="目的地"
prop="destination">
<el-select v-model="queryParams.destWarehouseIdList"
placeholder="请选择目的地"
multiple>
<el-option v-for="item in importWarehouseList"
:label="item.titleZh"
:value="item.id"
:key="item.id"></el-option>
<el-form-item label="目的地" prop="destination">
<el-select v-model="queryParams.destWarehouseIdList" placeholder="请选择目的地" multiple>
<el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="订单号"
prop="orderNo">
<el-input v-model="queryParams.orderNo"
placeholder="请输入订单号"
clearable />
<el-form-item label="订单号" prop="orderNo">
<el-input v-model="queryParams.orderNo" placeholder="请输入订单号" clearable />
</el-form-item>
<el-form-item>
<el-button type="primary"
icon="el-icon-search"
@click="queryAllData">搜索</el-button>
<el-button type="primary" icon="el-icon-search" @click="queryAllData">搜索</el-button>
</el-form-item>
</el-form>
</el-row>
<!-- 表格 -->
<el-scrollbar style="height:calc(100% - 124px)">
<el-row v-for="(item, index) in toBePreList"
:key="index"
class="toBePre-table">
<el-row v-for="(item, index) in toBePreList" :key="index" class="toBePre-table">
<el-row class="table-title">
<div>{{item.orderNo}}</div>
<div>发往:{{item.destWarehouseName}}</div>
<div>
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE"
:value="item.customsType" />
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item.customsType" />
</div>
<div>入仓时间:{{formatDate(item.rucangTime)}}</div>
<div>
<el-button type="text"
@click="handleGoods('all', item)">[全部预装]</el-button>
<el-button type="text"
@click="foldTable(index, item)">[{{item.fold ? '展开' : '收起'}}]</el-button>
<el-button type="text" @click="handleGoods('all', item)">[全部预装]</el-button>
<el-button type="text" @click="foldTable(index, item)">[{{item.fold ? '展开' : '收起'}}]</el-button>
</div>
</el-row>
<el-collapse-transition>
<div v-show="!item.fold">
<el-table v-loading="loading"
:data="item.boxOrderItemList"
border>
<el-table-column label="序号"
type="index"
align="center"
width="50" />
<el-table-column label="品名"
align="center"
prop="prodTitleZh"
min-width="500" />
<el-table-column label="品牌"
align="center"
prop="brandType"
width="120">
<el-table v-loading="loading" :data="item.boxOrderItemList" border>
<el-table-column label="序号" type="index" align="center" width="50" />
<el-table-column label="品名" align="center" prop="prodTitleZh" min-width="500" />
<el-table-column label="品牌" align="center" prop="brandType" width="120">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_BRAND_TYPE"
:value="scope.row.brandType" />
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_BRAND_TYPE" :value="scope.row.brandType" />
</template>
</el-table-column>
<el-table-column label="箱数"
align="center"
prop="num"
width="120" />
<el-table-column label="体积"
align="center"
prop="volume"
width="120">
<el-table-column label="箱数" align="center" prop="num" width="120" />
<el-table-column label="体积" align="center" prop="volume" width="120">
<template slot-scope="scope">
<p v-if="scope.row.volume">{{getTotlContent(scope.row,['volume'])}}</p>
</template>
</el-table-column>
<el-table-column label="重量"
align="center"
prop="weight"
width="120">
<el-table-column label="重量" align="center" prop="weight" width="120">
<template slot-scope="scope">
<p v-if="scope.row.weight">{{getTotlContent(scope.row,['weight'])}}</p>
</template>
</el-table-column>
<el-table-column label="预装柜"
<!-- <el-table-column label="预装柜"
align="center"
prop=""
width="120">
无返回
</el-table-column>
<el-table-column label="操作"
align="center"
class-name="small-padding fixed-width"
width="100">
</el-table-column> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">
<template slot-scope="scope">
<el-button type="text"
size="small"
@click="handleGoods('singele',scope.row)">预装</el-button>
<el-button type="text" size="small" @click="handleGoods('singele',scope.row)">预装</el-button>
</template>
</el-table-column>
</el-table>
......@@ -175,22 +119,16 @@
</el-scrollbar>
<!-- 分页 -->
<el-pagination background
layout="prev, pager, next"
:page-size="pageParam.pageSize"
:total="total"
@current-change="pageChange"
v-show="total > 0"></el-pagination>
<el-pagination background layout="prev, pager, next" :page-size="pageParam.pageSize" :total="total" @current-change="pageChange" v-show="total > 0"></el-pagination>
</el-col>
</el-row>
</el-card>
<el-row>
<el-col :span="6"
class="totle-info">
<el-col :span="6" class="totle-info">
<div>
<p>总计:</p>
<p>{{getTotlContent(loadStatistics)}}</p>
<p>{{sumStatistics(partList)}}</p>
</div>
<div>
<p>容量:</p>
......@@ -199,15 +137,14 @@
</el-col>
</el-row>
<el-row class="button-area">
<el-button type="primary"
@click="handlerFinish">完成</el-button>
<el-button type="primary" @click="handlerFinish">完成</el-button>
</el-row>
</div>
</template>
<script>
import {
secGoodsList,
loadSecGoodsList,
preloadPage,
createSection,
deleteSection,
......@@ -219,6 +156,7 @@ import {
getTotlContent,
serviceMsg,
getCapacity,
sumStatistics,
} from "../../utils";
/**
* 补单
......@@ -256,28 +194,28 @@ export default {
methods: {
/* 查询已预装 */
getSecGoods() {
secGoodsList({ shipmentId: this.$attrs.shipmentObj.id }).then((res) => {
const { sectionGoodList, loadStatistics } = res.data;
this.loadStatistics = loadStatistics;
this.partList = sectionGoodList.map((item, index) => {
item.fold = true;
if (
Object.keys(this.partData).length &&
this.partData.id === item.id
) {
item.fold = false;
}
return {
...item,
title: `第${++index}部分`,
};
});
loadSecGoodsList({ shipmentId: this.$attrs.shipmentObj.id }).then(
(res) => {
this.partList = res.data.map((item, index) => {
item.fold = true;
if (
Object.keys(this.partData).length &&
this.partData.id === item.id
) {
item.fold = false;
}
return {
...item,
title: `第${++index}部分`,
};
});
if (this.partList.length && !Object.keys(this.partData).length) {
this.partList[0].fold = false;
this.partData = this.partList[0];
if (this.partList.length && !Object.keys(this.partData).length) {
this.partList[0].fold = false;
this.partData = this.partList[0];
}
}
});
);
},
/* 查询待预装 */
getPreLoad() {
......@@ -329,7 +267,10 @@ export default {
},
/* 增加部分 */
addPart() {
createSection({ shipmentId: this.$attrs.shipmentObj.id }).then((res) => {
createSection({
shipmentId: this.$attrs.shipmentObj.id,
isCover: 1,
}).then((res) => {
serviceMsg(res, this).then(() => {
this.getSecGoods();
});
......@@ -397,6 +338,7 @@ export default {
},
formatDate,
getTotlContent,
sumStatistics,
},
computed: {
/** 目的地 */
......
......@@ -511,11 +511,13 @@ export default {
},
/* 增加部分 */
addPart() {
createSection({ shipmentId: this.shipmentObj.id }).then((res) => {
serviceMsg(res, this).then(() => {
this.getSecGoods();
});
});
createSection({ shipmentId: this.shipmentObj.id, isCover: 0 }).then(
(res) => {
serviceMsg(res, this).then(() => {
this.getSecGoods();
});
}
);
},
/* 删除部分 */
deletePart(part) {
......
......@@ -24,7 +24,7 @@
<el-button size="small" @click="$emit('closeDialog')">关闭</el-button>
</el-row>
<warehouse-area-dialog ref="area" :visible.sync="visible" v-model="storageSpaces" :order-id="orderId" :modal-append-to-body=false append-to-body />
<warehouse-area-dialog ref="area" :visible.sync="visible" v-model="storageSpaces" :order-id="orderId" :warehouseId="warehouseId" :modal-append-to-body=false append-to-body />
</div>
</template>
......@@ -50,6 +50,8 @@ export default {
orderId: -1,
// 仓位数据
storageList: deepClone(this.tallyRows),
// 仓库id
warehouseId: this.$attrs.shipmentObj.startWarehouseId,
};
},
methods: {
......
......@@ -68,7 +68,7 @@
<div class="label-font">
<p>
<span>已卸:</span>
<span>无返回</span>
<span>{{getUnLoadNumCount}}</span>
</p>
</div>
</el-row>
......@@ -253,7 +253,7 @@ export default {
const { shipmentObj } = this.$attrs;
approvalCancel({
applyReason: "取消审核",
id: shipmentObj['cabinetUnloadApprovalInfo'].id,
id: shipmentObj["cabinetUnloadApprovalInfo"].id,
shipmentId: shipmentObj.id,
}).then((res) => {
serviceMsg(res, this).then(() => {
......@@ -277,6 +277,16 @@ export default {
return getTotlContent(secStatistics);
}
},
/* 已卸总数 */
getUnLoadNumCount() {
let count = 0;
if (this.pageData.sectionOrderList) {
this.pageData.sectionOrderList.forEach((item) => {
count = count + item.unloadNum;
});
}
return count;
},
},
};
</script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment