|
|
@@ -10,7 +10,7 @@
|
|
|
<label class="form-check-label" for="checkAll">选择全部</label>
|
|
|
</div>
|
|
|
<div class="form-group m-2">
|
|
|
- <select class="form-control selectpicker" title="分页大小" v-model="size">
|
|
|
+ <select class="form-control selectpicker" title="分页大小" v-model="tableData.secondData.size">
|
|
|
<option value="50">50</option>
|
|
|
<option value="100">100</option>
|
|
|
<option value="200">200</option>
|
|
|
@@ -20,46 +20,48 @@
|
|
|
</div>
|
|
|
|
|
|
<div class="form-group m-2">
|
|
|
- <select class="form-control selectpicker" title="货主" v-model="search.ownerId">
|
|
|
+ <select class="form-control selectpicker" title="货主" v-model="tableData.secondData.search.ownerId">
|
|
|
<option v-for="item of selectData.owners" :value="item.id">@{{ item.name }}</option>
|
|
|
</select>
|
|
|
</div>
|
|
|
|
|
|
<div class="form-group m-2">
|
|
|
- <select class="form-control selectpicker" title="类型" v-model="search.type">
|
|
|
+ <select class="form-control selectpicker" title="类型" v-model="tableData.secondData.search.type">
|
|
|
<option value="正品">正品</option>
|
|
|
<option value="次品">次品</option>
|
|
|
</select>
|
|
|
</div>
|
|
|
|
|
|
<div class="form-group m-2">
|
|
|
- <select class="form-control selectpicker" title="类型" v-model="search.status">
|
|
|
- <option selected value="创建">创建</option>
|
|
|
+ <select class="form-control selectpicker" title="状态" v-model="tableData.secondData.search.status">
|
|
|
+ <option value="创建">创建</option>
|
|
|
<option value="等待下载">等待下载</option>
|
|
|
<option value="已下载">已下载</option>
|
|
|
- <option value="部分推单">部分推单</option>
|
|
|
+ <option value="推单异常">推单异常</option>
|
|
|
<option value="已推单">已推单</option>
|
|
|
+ <option value="已入库">已入库</option>
|
|
|
<option value="部分上架">部分上架</option>
|
|
|
<option value="已上架">已上架</option>
|
|
|
</select>
|
|
|
</div>
|
|
|
-
|
|
|
- <div class="form-group m-2">
|
|
|
- <button class="form-control btn btn-sm btn-info" @click="searchData()">查询</button>
|
|
|
+ <div class="form-group m-2" data-toggle="tooltip" data-placement="top" title="推单任务编号">
|
|
|
+ <input v-model="tableData.secondData.search.taskNum" class="form-control" type="text"
|
|
|
+ placeholder="推单任务编号">
|
|
|
</div>
|
|
|
<div class="form-group m-2">
|
|
|
- <button class="form-control btn btn-sm btn-info" @click="stopStoreUp()">批量停止攒单</button>
|
|
|
+ <button class="form-control btn btn-sm btn-info" @click="searchData()">查询</button>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!-- 表格-->
|
|
|
- <table class="table table-striped table-bordered table-hover card-body td-min-width-80" id="table">
|
|
|
- <tr v-for="(item,i) in details.data" @click="selectTr===i+1?selectTr=0:selectTr=i+1"
|
|
|
+ <!--表格-->
|
|
|
+ <!--创建-->
|
|
|
+ <table class="table table-striped table-bordered table-hover card-body td-min-width-80" id="firstTable">
|
|
|
+ <tr v-for="(item,i) in tableData.firstData.data" @click="selectTr===i+1?selectTr=0:selectTr=i+1"
|
|
|
:class="selectTr===i+1?'focusing' : ''">
|
|
|
<td>
|
|
|
<input class="checkItem" type="checkbox" v-model="item.checked">
|
|
|
<span>@{{ i+1 }}</span>
|
|
|
</td>
|
|
|
- <td class="td-warm text-muted"><span>@{{ item.id }}</span></td>
|
|
|
+ <td class="td-warm text-muted"><span>@{{ item.taskNum }}</span></td>
|
|
|
<td class="td-warm text-muted"><span>@{{ item.type }}</span></td>
|
|
|
<td class="td-warm text-muted"><span>@{{ item.status }}</span></td>
|
|
|
<td class="td-warm text-muted"><span>@{{ item.asnNos }}</span></td>
|
|
|
@@ -68,7 +70,7 @@
|
|
|
<td class="td-warm text-muted">
|
|
|
<span>
|
|
|
@{{ item.orderAmount }}
|
|
|
- <button @click="showPackageDetail(item.id)" type="button"
|
|
|
+ <button @click="showPackageDetail(item.id,true)" type="button"
|
|
|
class="btn btn-sm btn-primary" data-toggle="modal"
|
|
|
data-target="#staticBackdropShowPackageDetail">查看明细</button>
|
|
|
</span>
|
|
|
@@ -76,7 +78,7 @@
|
|
|
<td class="td-warm text-muted">
|
|
|
<span>
|
|
|
@{{ item.commodityAmount }}
|
|
|
- <button @click="showCommodityDetail(item.id)" type="button"
|
|
|
+ <button @click="showCommodityDetail(item.id,true)" type="button"
|
|
|
class="btn btn-sm btn-primary" data-toggle="modal"
|
|
|
data-target="#staticBackdropShowCommodityDetail">查看明细</button>
|
|
|
</span>
|
|
|
@@ -86,26 +88,74 @@
|
|
|
@click="stopStoreUp(item.id)" type="button"
|
|
|
class="btn btn-success">停止攒单
|
|
|
</button>
|
|
|
+ </span></td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+
|
|
|
+ <!--非创建-->
|
|
|
+ <table class="table table-striped table-bordered table-hover card-body td-min-width-80" id="secondTable">
|
|
|
+ <tr v-for="(item,i) in tableData.secondData.data" @click="selectTr===i+1?selectTr=0:selectTr=i+1"
|
|
|
+ :class="selectTr===i+1?'focusing' : ''">
|
|
|
+ <td>
|
|
|
+ <input class="checkItem" type="checkbox" v-model="item.checked">
|
|
|
+ <span>@{{ i+1 }}</span>
|
|
|
+ </td>
|
|
|
+ <td class="td-warm text-muted"><span>@{{ item.taskNum }}</span></td>
|
|
|
+ <td class="td-warm text-muted"><span>@{{ item.createTime }}</span></td>
|
|
|
+ <td class="td-warm text-muted"><span>@{{ item.type }}</span></td>
|
|
|
+ <td class="td-warm text-muted"><span>@{{ item.status }}</span></td>
|
|
|
+ <td class="td-warm text-muted overflow-hidden" style="max-width: 20px!important;"><span>@{{ item.asnNos }}</span>
|
|
|
+ </td>
|
|
|
+ <td class="td-warm text-muted"><span>@{{ item.ownerName }}</span></td>
|
|
|
+ <td class="td-warm text-muted"><span>@{{ item.storeUpHour }}</span></td>
|
|
|
+ <td class="td-warm text-muted">
|
|
|
+ <span>
|
|
|
+ @{{ item.orderAmount }}
|
|
|
+ <button @click="showPackageDetail(item.id,true)" type="button"
|
|
|
+ class="btn btn-sm btn-primary" data-toggle="modal"
|
|
|
+ data-target="#staticBackdropShowPackageDetail">查看明细</button>
|
|
|
+ </span>
|
|
|
+ </td>
|
|
|
+ <td class="td-warm text-muted">
|
|
|
+ <span>
|
|
|
+ @{{ item.commodityAmount }}
|
|
|
+ <button @click="showCommodityDetail(item.id,true)" type="button"
|
|
|
+ class="btn btn-sm btn-primary" data-toggle="modal"
|
|
|
+ data-target="#staticBackdropShowCommodityDetail">查看明细</button>
|
|
|
+ </span>
|
|
|
+ </td>
|
|
|
+ <td class="td-warm text-muted"><span>
|
|
|
<button v-if="item.status != '创建'"
|
|
|
- @click="downExcel(item.id)" type="button"
|
|
|
+ @click="downExcel(item)" type="button"
|
|
|
class="btn btn-success">导出EXCEL
|
|
|
</button>
|
|
|
+ <button v-if="item.status === '推单异常'"
|
|
|
+ @click="cancelPush(item)" type="button"
|
|
|
+ class="btn btn-success">取消推单
|
|
|
+ </button>
|
|
|
+ <button v-if="item.status === '推单异常'"
|
|
|
+ @click="showPushDetail(item.id)" type="button"
|
|
|
+ class="btn btn-sm btn-primary" data-toggle="modal"
|
|
|
+ data-target="#staticBackdropShowPushDetail">查看异常明细</button>
|
|
|
+ <button v-if="item.status === '已推单'"
|
|
|
+ @click="storeIn(item)" type="button"
|
|
|
+ class="btn btn-sm btn-primary">入库</button>
|
|
|
</span></td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
-
|
|
|
+ <!--分页-->
|
|
|
<nav aria-label="...">
|
|
|
<ul class="pagination">
|
|
|
- <li class="page-item" :class="current===1?'disabled':''">
|
|
|
- <button class="page-link" @click="pagination('pre')">上一页</button>
|
|
|
+ <li class="page-item" :class="tableData.secondData.current===1?'disabled':''">
|
|
|
+ <button class="page-link" @click="secondTablePagination('pre')">上一页</button>
|
|
|
</li>
|
|
|
- <li class="page-item" :class="current===details.pages?'disabled':''">
|
|
|
- <button class="page-link" @click="pagination('next')">下一页</button>
|
|
|
+ <li class="page-item" :class="tableData.secondData.current===tableData.secondData.pages?'disabled':''">
|
|
|
+ <button class="page-link" @click="secondTablePagination('next')">下一页</button>
|
|
|
</li>
|
|
|
</ul>
|
|
|
</nav>
|
|
|
-
|
|
|
<!-- Modal -->
|
|
|
+ <!--商品明细-->
|
|
|
<div class="modal fade" id="staticBackdropShowPackageDetail" tabindex="-1" aria-labelledby="staticBackdropLabel"
|
|
|
aria-hidden="true">
|
|
|
<div class="modal-dialog " style="max-width: 100% !important;">
|
|
|
@@ -121,9 +171,9 @@
|
|
|
<div class="modal-dialog modal-dialog-scrollable" style="max-width: 100% !important;">
|
|
|
<table class="table table-sm"
|
|
|
style="background: #fff;" id="tablePackage">
|
|
|
- <tr v-for="(item,i) in resData.packageDetail.data" :key="i">
|
|
|
+ <tr v-for="(item,i) in showDetailData.packageDetail.data" :key="i">
|
|
|
<td class="td-warm text-muted"><span>@{{ i+1 }}</span></td>
|
|
|
- <td class="td-warm text-muted"><span>@{{ item.rejectedPushTaskHeaderId }}</span>
|
|
|
+ <td class="td-warm text-muted"><span>@{{ item.taskNum }}</span>
|
|
|
</td>
|
|
|
<td class="td-warm text-muted"><span>@{{ item.createdAt }}</span></td>
|
|
|
<td class="td-warm text-muted"><span>@{{ item.checkedNumbers }}</span></td>
|
|
|
@@ -152,11 +202,11 @@
|
|
|
|
|
|
<nav aria-label="...">
|
|
|
<ul class="pagination">
|
|
|
- <li class="page-item" :class="resData.packageDetail.current===1?'disabled':''">
|
|
|
+ <li class="page-item" :class="showDetailData.packageDetail.current===1?'disabled':''">
|
|
|
<button class="page-link" @click="packagePagination('pre')">上一页</button>
|
|
|
</li>
|
|
|
<li class="page-item"
|
|
|
- :class="resData.packageDetail.current===resData.packageDetail.pages?'disabled':''">
|
|
|
+ :class="showDetailData.packageDetail.current===showDetailData.packageDetail.pages?'disabled':''">
|
|
|
<button class="page-link" @click="packagePagination('next')">下一页</button>
|
|
|
</li>
|
|
|
</ul>
|
|
|
@@ -165,6 +215,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <!--订单明细-->
|
|
|
<div class="modal fade" id="staticBackdropShowCommodityDetail" tabindex="-1"
|
|
|
aria-labelledby="staticBackdropLabel"
|
|
|
aria-hidden="true">
|
|
|
@@ -181,9 +232,9 @@
|
|
|
<div class="modal-dialog modal-dialog-scrollable">
|
|
|
<table class="table table-sm"
|
|
|
style="background: #fff;" id="tableCommodity">
|
|
|
- <tr v-for="(item,i) in resData.commodityDetail.data" :key="i">
|
|
|
+ <tr v-for="(item,i) in showDetailData.commodityDetail.data" :key="i">
|
|
|
<td class="td-warm text-muted"><span>@{{ i+1 }}</span></td>
|
|
|
- <td class="td-warm text-muted"><span>@{{ item.rejectedPushTaskHeaderId }}</span>
|
|
|
+ <td class="td-warm text-muted"><span>@{{ item.taskNum }}</span>
|
|
|
</td>
|
|
|
<td class="td-warm text-muted"><span>@{{ item.sku }}</span></td>
|
|
|
<td class="td-warm text-muted"><span>@{{ item.nameGoods }}</span></td>
|
|
|
@@ -194,11 +245,11 @@
|
|
|
</div>
|
|
|
<nav aria-label="...">
|
|
|
<ul class="pagination">
|
|
|
- <li class="page-item" :class="resData.commodityDetail.current===1?'disabled':''">
|
|
|
+ <li class="page-item" :class="showDetailData.commodityDetail.current===1?'disabled':''">
|
|
|
<button class="page-link" @click="commodityPagination('pre')">上一页</button>
|
|
|
</li>
|
|
|
<li class="page-item"
|
|
|
- :class="resData.commodityDetail.current===resData.commodityDetail.pages?'disabled':''">
|
|
|
+ :class="showDetailData.commodityDetail.current===showDetailData.commodityDetail.pages?'disabled':''">
|
|
|
<button class="page-link" @click="commodityPagination('next')">下一页</button>
|
|
|
</li>
|
|
|
</ul>
|
|
|
@@ -207,6 +258,40 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <!--推单明细-->
|
|
|
+ <div class="modal fade" id="staticBackdropShowPushDetail" tabindex="-1"
|
|
|
+ aria-labelledby="staticBackdropLabel"
|
|
|
+ aria-hidden="true">
|
|
|
+ <div class="modal-dialog modal-xl">
|
|
|
+ <div class="modal-content ">
|
|
|
+ <div class="modal-header ">
|
|
|
+ <h5 class="modal-title" id="staticBackdropLabel">明细</h5>
|
|
|
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
|
+ <span aria-hidden="true">×</span>
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ <div class="modal-body ">
|
|
|
+ <!-- Scrollable modal -->
|
|
|
+ <div class="modal-dialog modal-dialog-scrollable" style="pointer-events:auto!important;">
|
|
|
+ <table class="table table-sm"
|
|
|
+ style="background: #fff;" id="tablePushDetail">
|
|
|
+ <tr v-for="(item,i) in showDetailData.pushDetail" :key="i">
|
|
|
+ <td class="td-warm text-muted"><span>@{{ i+1 }}</span></td>
|
|
|
+ <td class="td-warm text-muted"><span>@{{ item.sku }}</span></td>
|
|
|
+ <td class="td-warm text-muted"><span :style="pushDetailStyle(item.status)">@{{ item.status }}</span>
|
|
|
+ </td>
|
|
|
+ <td class="td-warm text-muted">
|
|
|
+ <button @click="removePushDetailError(item)" type="button"
|
|
|
+ class="btn btn-sm btn-primary">移除异常SKU
|
|
|
+ </button>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
|
|
|
@@ -218,7 +303,7 @@
|
|
|
let vue = new Vue({
|
|
|
el: "#list",
|
|
|
data: {
|
|
|
- resData: {
|
|
|
+ showDetailData: {
|
|
|
packageDetail: {
|
|
|
data: [],
|
|
|
total: null,
|
|
|
@@ -232,46 +317,52 @@
|
|
|
current: 1,
|
|
|
pages: null,
|
|
|
size: 50,
|
|
|
- }
|
|
|
+ },
|
|
|
+ pushDetail: []
|
|
|
|
|
|
},
|
|
|
- submitData: {
|
|
|
- type: null,
|
|
|
- warehouseId: null,
|
|
|
- allowMixed: null,
|
|
|
- volume: null,
|
|
|
- loadWeight: null,
|
|
|
- createAmount: null,
|
|
|
- },
|
|
|
selectData: {
|
|
|
owners: {!! $owners !!}
|
|
|
},
|
|
|
checkAll: false,
|
|
|
selectTr: 0,
|
|
|
- details: {
|
|
|
- data: [],
|
|
|
- total: null,
|
|
|
- current: 1,
|
|
|
- pages: null,
|
|
|
- size: 50,
|
|
|
- },
|
|
|
- search: {
|
|
|
- ownerId: null,
|
|
|
- type: null,
|
|
|
- status: '创建',
|
|
|
- ownerIdList: {!! $ownerIds !!}
|
|
|
- },
|
|
|
- size: 50,
|
|
|
- current: 1,
|
|
|
+ tableData: {
|
|
|
+ firstData: {
|
|
|
+ data: [],
|
|
|
+ total: null,
|
|
|
+ current: 1,
|
|
|
+ pages: null,
|
|
|
+ size: 1000,
|
|
|
+ search: {
|
|
|
+ ownerId: null,
|
|
|
+ type: null,
|
|
|
+ status: '创建',
|
|
|
+ ownerIdList: {!! $ownerIds !!}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ secondData: {
|
|
|
+ data: [],
|
|
|
+ total: null,
|
|
|
+ current: 1,
|
|
|
+ pages: null,
|
|
|
+ size: 50,
|
|
|
+ search: {
|
|
|
+ ownerId: null,
|
|
|
+ taskNum: null,
|
|
|
+ type: null,
|
|
|
+ status: null,
|
|
|
+ ownerIdList: {!! $ownerIds !!}
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
created() {
|
|
|
- let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/list?size=${this.size}¤t=${this.current}`;
|
|
|
- this.getPageResult(url);
|
|
|
+ this.initData();
|
|
|
},
|
|
|
mounted: function () {
|
|
|
$('#list').removeClass('d-none');
|
|
|
$(".up").slideUp();
|
|
|
- let column = [
|
|
|
+ let firstTableColumn = [
|
|
|
{name: 'row_num', value: '序号'},
|
|
|
{name: 'id', value: '推单任务编号'},
|
|
|
{name: 'type', value: '任务类型'},
|
|
|
@@ -284,10 +375,33 @@
|
|
|
{name: 'action', value: '操作'},
|
|
|
];
|
|
|
new Header({
|
|
|
- el: "table",
|
|
|
- name: "details",
|
|
|
- column: column,
|
|
|
- data: this.details.data,
|
|
|
+ el: "firstTable",
|
|
|
+ name: "firstData",
|
|
|
+ column: firstTableColumn,
|
|
|
+ data: this.tableData.firstData.data,
|
|
|
+ restorationColumn: 'addtime',
|
|
|
+ isCheckAllBox: false,
|
|
|
+ fixedTop: ($('#form_div').height()) + ($('#btn').height()) + 1,
|
|
|
+ }).init();
|
|
|
+
|
|
|
+ let secondTableColumn = [
|
|
|
+ {name: 'row_num', value: '序号'},
|
|
|
+ {name: 'id', value: '推单任务编号'},
|
|
|
+ {name: 'createTime', value: '创建时间'},
|
|
|
+ {name: 'type', value: '任务类型'},
|
|
|
+ {name: 'status', value: '状态'},
|
|
|
+ {name: 'asnNos', value: 'ASN单号'},
|
|
|
+ {name: 'ownerName', value: '货主'},
|
|
|
+ {name: 'storeUpHour', value: '积攒时间'},
|
|
|
+ {name: 'orderAmount', value: '订单数'},
|
|
|
+ {name: 'commodityAmount', value: '商品数'},
|
|
|
+ {name: 'action', value: '操作'},
|
|
|
+ ];
|
|
|
+ new Header({
|
|
|
+ el: "secondTable",
|
|
|
+ name: "secondData",
|
|
|
+ column: secondTableColumn,
|
|
|
+ data: this.tableData.secondData.data,
|
|
|
restorationColumn: 'addtime',
|
|
|
isCheckAllBox: false,
|
|
|
fixedTop: ($('#form_div').height()) + ($('#btn').height()) + 1,
|
|
|
@@ -318,7 +432,7 @@
|
|
|
el: "tablePackage",
|
|
|
name: "details",
|
|
|
column: columnPackage,
|
|
|
- data: this.resData.packageDetail.data,
|
|
|
+ data: this.showDetailData.packageDetail.data,
|
|
|
restorationColumn: 'addtime',
|
|
|
isCheckAllBox: false,
|
|
|
|
|
|
@@ -337,70 +451,125 @@
|
|
|
el: "tableCommodity",
|
|
|
name: "details",
|
|
|
column: columnCommodity,
|
|
|
- data: this.resData.commodityDetail.data,
|
|
|
+ data: this.showDetailData.commodityDetail.data,
|
|
|
+ restorationColumn: 'addtime',
|
|
|
+ isCheckAllBox: false,
|
|
|
+ fixedTop: ($('#form_div').height()) + ($('#btn').height()) + 1,
|
|
|
+ }).init();
|
|
|
+
|
|
|
+
|
|
|
+ let pushDetailColumn = [
|
|
|
+ {name: 'id', value: '序号'},
|
|
|
+ {name: 'sku', value: 'SKU'},
|
|
|
+ {name: 'status', value: '状态'},
|
|
|
+ {name: 'action', value: '操作'}
|
|
|
+ ];
|
|
|
+ new Header({
|
|
|
+ el: "tablePushDetail",
|
|
|
+ name: "details",
|
|
|
+ column: pushDetailColumn,
|
|
|
+ data: this.showDetailData.pushDetail,
|
|
|
restorationColumn: 'addtime',
|
|
|
isCheckAllBox: false,
|
|
|
fixedTop: ($('#form_div').height()) + ($('#btn').height()) + 1,
|
|
|
}).init();
|
|
|
},
|
|
|
methods: {
|
|
|
+ //初始化页面数据
|
|
|
+ initData() {
|
|
|
+ //加载firstTable
|
|
|
+ let firstDataUrl = this.getBaseUrl() + `/api/wms/rejectedPushTask/list?size=${this.tableData.firstData.size}¤t=${this.tableData.firstData.current}`;
|
|
|
+ this.fetch(firstDataUrl, this.tableData.firstData, this.tableData.firstData.search);
|
|
|
+ //加载secondTable
|
|
|
+ let secondDataUrl = this.getBaseUrl() + `/api/wms/rejectedPushTask/list?size=${this.tableData.secondData.size}¤t=${this.tableData.secondData.current}`;
|
|
|
+ this.fetch(secondDataUrl, this.tableData.secondData, this.tableData.secondData.search);
|
|
|
+ },
|
|
|
+ //发送请求并给对应数据赋值
|
|
|
+ fetch(url, data, search) {
|
|
|
+ tempTip.showSuccess('开始查询,请稍后!');
|
|
|
+ axios.post(url, search).then(res => {
|
|
|
+ if (res.data.code !== 200) {
|
|
|
+ tempTip.show('接口异常!');
|
|
|
+ data.data = [];
|
|
|
+ data.total = 0
|
|
|
+ data.current = 1
|
|
|
+ data.pages = 0
|
|
|
+ } else {
|
|
|
+ tempTip.showSuccess('查询成功!');
|
|
|
+ data.data = res.data.data.list;
|
|
|
+ data.total = res.data.data.page.total;
|
|
|
+ data.current = res.data.data.page.pageNum;
|
|
|
+ data.pages = res.data.data.page.pages
|
|
|
+ data.size = res.data.data.page.pageSize;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //包裹明细分页
|
|
|
packagePagination(flag) {
|
|
|
console.log(flag);
|
|
|
- if (flag === 'pre' && this.resData.packageDetail.current > 1) {
|
|
|
- this.resData.packageDetail.current--;
|
|
|
- } else if (flag === 'next' && this.resData.packageDetail.current < this.resData.packageDetail.pages) {
|
|
|
- this.resData.packageDetail.current++;
|
|
|
+ if (flag === 'pre' && this.showDetailData.packageDetail.current > 1) {
|
|
|
+ this.showDetailData.packageDetail.current--;
|
|
|
+ } else if (flag === 'next' && this.showDetailData.packageDetail.current < this.showDetailData.packageDetail.pages) {
|
|
|
+ this.showDetailData.packageDetail.current++;
|
|
|
}
|
|
|
- this.showPackageDetail(this.resData.packageDetail.data[0].rejectedPushTaskHeaderId);
|
|
|
+ this.showPackageDetail(this.showDetailData.packageDetail.data[0].rejectedPushTaskHeaderId);
|
|
|
},
|
|
|
+ //商品明细分页
|
|
|
commodityPagination(flag) {
|
|
|
- console.log(flag);
|
|
|
- if (flag === 'pre' && this.resData.commodityDetail.current > 1) {
|
|
|
- this.resData.commodityDetail.current--;
|
|
|
- } else if (flag === 'next' && this.resData.commodityDetail.current < this.resData.commodityDetail.pages) {
|
|
|
- this.resData.commodityDetail.current++;
|
|
|
+ if (flag === 'pre' && this.showDetailData.commodityDetail.current > 1) {
|
|
|
+ this.showDetailData.commodityDetail.current--;
|
|
|
+ } else if (flag === 'next' && this.showDetailData.commodityDetail.current < this.showDetailData.commodityDetail.pages) {
|
|
|
+ this.showDetailData.commodityDetail.current++;
|
|
|
}
|
|
|
- this.showCommodityDetail(this.resData.commodityDetail.data[0].rejectedPushTaskHeaderId);
|
|
|
+ this.showCommodityDetail(this.showDetailData.commodityDetail.data[0].rejectedPushTaskHeaderId);
|
|
|
},
|
|
|
- showCommodityDetail(id) {
|
|
|
- let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/commodity/list?size=${this.resData.commodityDetail.size}¤t=${this.resData.commodityDetail.current}&rejectedPushTaskId=${id}`
|
|
|
+ //查询商品明细
|
|
|
+ showCommodityDetail(id, firstFlag = false) {
|
|
|
+ if (firstFlag) {
|
|
|
+ this.showDetailData.commodityDetail.current = 1;
|
|
|
+ }
|
|
|
+ let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/commodity/list?size=${this.showDetailData.commodityDetail.size}¤t=${this.showDetailData.commodityDetail.current}&rejectedPushTaskId=${id}`;
|
|
|
tempTip.showSuccess('开始查询,请稍后!');
|
|
|
axios.get(url).then(res => {
|
|
|
tempTip.showSuccess('查询成功!');
|
|
|
if (res.data.code !== 200) {
|
|
|
tempTip.show('接口异常!');
|
|
|
- this.resData.commodityDetail.data = [];
|
|
|
- this.resData.commodityDetail.total = 0
|
|
|
- this.resData.commodityDetail.current = 1
|
|
|
- this.resData.commodityDetail.pages = 0
|
|
|
- this.resData.commodityDetail.size = 50;
|
|
|
+ this.showDetailData.commodityDetail.data = [];
|
|
|
+ this.showDetailData.commodityDetail.total = 0
|
|
|
+ this.showDetailData.commodityDetail.current = 1
|
|
|
+ this.showDetailData.commodityDetail.pages = 0
|
|
|
+ this.showDetailData.commodityDetail.size = 50;
|
|
|
} else {
|
|
|
- this.resData.commodityDetail.data = res.data.data.list;
|
|
|
- this.resData.commodityDetail.total = res.data.data.page.total;
|
|
|
- this.resData.commodityDetail.current = res.data.data.page.pageNum;
|
|
|
- this.resData.commodityDetail.pages = res.data.data.page.pages
|
|
|
- this.resData.commodityDetail.size = res.data.data.page.pageSize;
|
|
|
+ this.showDetailData.commodityDetail.data = res.data.data.list;
|
|
|
+ this.showDetailData.commodityDetail.total = res.data.data.page.total;
|
|
|
+ this.showDetailData.commodityDetail.current = res.data.data.page.pageNum;
|
|
|
+ this.showDetailData.commodityDetail.pages = res.data.data.page.pages
|
|
|
+ this.showDetailData.commodityDetail.size = res.data.data.page.pageSize;
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- showPackageDetail(id) {
|
|
|
- let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/package/list?size=${this.resData.packageDetail.size}¤t=${this.resData.packageDetail.current}&rejectedPushTaskId=${id}`
|
|
|
+ //查询包裹明细
|
|
|
+ showPackageDetail(id, firstFlag = false) {
|
|
|
+ if (firstFlag) {
|
|
|
+ this.showDetailData.packageDetail.current = 1;
|
|
|
+ }
|
|
|
+ let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/package/list?size=${this.showDetailData.packageDetail.size}¤t=${this.showDetailData.packageDetail.current}&rejectedPushTaskId=${id}`
|
|
|
tempTip.showSuccess('开始查询,请稍后!');
|
|
|
axios.get(url).then(res => {
|
|
|
tempTip.showSuccess('查询成功!');
|
|
|
if (res.data.code !== 200) {
|
|
|
tempTip.show('接口异常!');
|
|
|
- this.resData.packageDetail.data = [];
|
|
|
- this.resData.packageDetail.total = 0
|
|
|
- this.resData.packageDetail.current = 1
|
|
|
- this.resData.packageDetail.pages = 0
|
|
|
- this.resData.packageDetail.size = 50;
|
|
|
+ this.showDetailData.packageDetail.data = [];
|
|
|
+ this.showDetailData.packageDetail.total = 0
|
|
|
+ this.showDetailData.packageDetail.current = 1
|
|
|
+ this.showDetailData.packageDetail.pages = 0
|
|
|
+ this.showDetailData.packageDetail.size = 50;
|
|
|
} else {
|
|
|
- this.resData.packageDetail.data = res.data.data.list;
|
|
|
- this.resData.packageDetail.total = res.data.data.page.total;
|
|
|
- this.resData.packageDetail.current = res.data.data.page.pageNum;
|
|
|
- this.resData.packageDetail.pages = res.data.data.page.pages
|
|
|
- this.resData.packageDetail.size = res.data.data.page.pageSize;
|
|
|
+ this.showDetailData.packageDetail.data = res.data.data.list;
|
|
|
+ this.showDetailData.packageDetail.total = res.data.data.page.total;
|
|
|
+ this.showDetailData.packageDetail.current = res.data.data.page.pageNum;
|
|
|
+ this.showDetailData.packageDetail.pages = res.data.data.page.pages
|
|
|
+ this.showDetailData.packageDetail.size = res.data.data.page.pageSize;
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
@@ -409,6 +578,7 @@
|
|
|
item.checked = this.checkAll;
|
|
|
}
|
|
|
},
|
|
|
+ //停止攒单
|
|
|
stopStoreUp(id = null) {
|
|
|
let idList = null
|
|
|
let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/stopStoreUp/`;
|
|
|
@@ -428,36 +598,14 @@
|
|
|
tempTip.show(res.data.message);
|
|
|
} else {
|
|
|
tempTip.showSuccess('修改状态成功!');
|
|
|
- this.searchData();
|
|
|
+ this.initData();
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- getPageResult(url) {
|
|
|
- tempTip.showSuccess('开始查询,请稍后!');
|
|
|
- axios.post(url, this.getSearch()).then(res => {
|
|
|
- if (res.data.code !== 200) {
|
|
|
- tempTip.show('接口异常!');
|
|
|
- this.details.data = [];
|
|
|
- this.details.total = 0
|
|
|
- this.details.current = 1
|
|
|
- this.details.pages = 0
|
|
|
- this.details.size = 50;
|
|
|
- } else {
|
|
|
- tempTip.showSuccess('查询成功!');
|
|
|
- this.details.data = res.data.data.list;
|
|
|
- this.details.total = res.data.data.page.total;
|
|
|
- this.details.current = res.data.data.page.pageNum;
|
|
|
- this.details.pages = res.data.data.page.pages
|
|
|
- this.details.size = res.data.data.page.pageSize;
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- getSearch() {
|
|
|
- return Object.assign({}, this.search);
|
|
|
- },
|
|
|
+ //查询
|
|
|
searchData() {
|
|
|
- this.current = 1;
|
|
|
- this.pagination();
|
|
|
+ this.tableData.secondData.current = 1;
|
|
|
+ this.secondTablePagination();
|
|
|
},
|
|
|
//根据环境获取不同的url
|
|
|
getBaseUrl() {
|
|
|
@@ -470,21 +618,23 @@
|
|
|
}
|
|
|
return url;
|
|
|
},
|
|
|
- pagination(flag) {
|
|
|
- if (flag === 'pre' && this.current > 1) {
|
|
|
- this.current--;
|
|
|
- } else if (flag === 'next' && this.current < this.details.pages) {
|
|
|
- this.current++;
|
|
|
+ //第二个表格分页查询
|
|
|
+ secondTablePagination(flag) {
|
|
|
+ if (flag === 'pre' && this.tableData.secondData.current > 1) {
|
|
|
+ this.tableData.secondData.current--;
|
|
|
+ } else if (flag === 'next' && this.tableData.secondData.current < this.tableData.secondData.pages) {
|
|
|
+ this.tableData.secondData.current++;
|
|
|
}
|
|
|
- let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/list?size=${this.size}¤t=${this.current}`;
|
|
|
- this.getPageResult(url);
|
|
|
+ let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/list?size=${this.tableData.secondData.size}¤t=${this.tableData.secondData.current}`;
|
|
|
+ this.fetch(url, this.tableData.secondData, this.tableData.secondData.search);
|
|
|
},
|
|
|
-
|
|
|
- downExcel(id) {
|
|
|
+ //下载excel
|
|
|
+ downExcel(item) {
|
|
|
let url = this.getBaseUrl();
|
|
|
- url += `/api/wms/rejectedPushTask/export/create?rejectedPushTaskId=${id}`;
|
|
|
+ url += `/api/wms/rejectedPushTask/export/create?rejectedPushTaskId=${item.id}`;
|
|
|
axios.get(url).then(res => {
|
|
|
if (res.data.code === 200) {
|
|
|
+ item.status = '已下载';
|
|
|
let filename = res.data.data;
|
|
|
let downUrl = this.getBaseUrl() + `/api/wms/rejectedPushTask/export/download?filename=${filename}`;
|
|
|
let link = document.createElement('a');
|
|
|
@@ -500,9 +650,61 @@
|
|
|
tempTip.show(res.data.data);
|
|
|
}
|
|
|
})
|
|
|
+ },
|
|
|
+ cancelPush(item) {
|
|
|
+ let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/cancelPush?taskId=${item.id}`
|
|
|
+ axios.post(url).then(res => {
|
|
|
+ tempTip.showSuccess('取消成功!');
|
|
|
+ item.status = "已下载"
|
|
|
+ })
|
|
|
+ },
|
|
|
+ showPushDetail(id) {
|
|
|
+ let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/sku/list?taskId=${id}`
|
|
|
+ axios.get(url).then(res => {
|
|
|
+ this.showDetailData.pushDetail = res.data.data
|
|
|
+ })
|
|
|
+ },
|
|
|
+ pushDetailStyle(status) {
|
|
|
+ let res = {};
|
|
|
+ switch (status) {
|
|
|
+ case "未推单":
|
|
|
+ res.color = '#0206ff'
|
|
|
+ break;
|
|
|
+ case "已推单":
|
|
|
+ res.color = '#bfa'
|
|
|
+ break;
|
|
|
+ case "推单异常":
|
|
|
+ res.color = '#f00'
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ },
|
|
|
+
|
|
|
+ removePushDetailError(item) {
|
|
|
+ let index = this.showDetailData.pushDetail.indexOf(item);
|
|
|
+
|
|
|
+ let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/sku/${item.id}`
|
|
|
+ axios.delete(url).then(res => {
|
|
|
+ if (res.data.code === 200) {
|
|
|
+ tempTip.showSuccess('移除成功!');
|
|
|
+ this.showDetailData.pushDetail.splice(index, 1);
|
|
|
+ } else {
|
|
|
+ tempTip.show('移除失败!' + res.data.message);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ storeIn(item) {
|
|
|
+ let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/${item.id}/storeIn`
|
|
|
+ axios.post(url).then((res) => {
|
|
|
+ if (res.data.code === 200) {
|
|
|
+ tempTip.showSuccess('入库成功!');
|
|
|
+ item.status = "已入库";
|
|
|
+ } else {
|
|
|
+ tempTip.show('入库失败!' + res.data.message);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
});
|
|
|
</script>
|
|
|
@endsection
|