|
|
@@ -2,14 +2,15 @@
|
|
|
@section('title')快递查询-包裹管理@endsection
|
|
|
@section('head')
|
|
|
<style>
|
|
|
- .package-logistic-index{
|
|
|
- position:relative;
|
|
|
+ .package-logistic-index {
|
|
|
+ position: relative;
|
|
|
}
|
|
|
|
|
|
/*备注容器*/
|
|
|
- .order-package-remarks{
|
|
|
- position:relative;
|
|
|
+ .order-package-remarks {
|
|
|
+ position: relative;
|
|
|
}
|
|
|
+
|
|
|
/*新建按钮*/
|
|
|
.btn-create-remark {
|
|
|
width: 25px;
|
|
|
@@ -24,9 +25,11 @@
|
|
|
box-shadow: 0 0 6px #4747f1;
|
|
|
float: left;
|
|
|
}
|
|
|
- .order-package-remarks:hover .btn-create-remark{
|
|
|
+
|
|
|
+ .order-package-remarks:hover .btn-create-remark {
|
|
|
display: block;
|
|
|
}
|
|
|
+
|
|
|
/*新建输入框*/
|
|
|
.remark-input {
|
|
|
height: 30px;
|
|
|
@@ -36,6 +39,7 @@
|
|
|
box-shadow: 0 0 6px #fff6a1;
|
|
|
border-radius: 5px;
|
|
|
}
|
|
|
+
|
|
|
/*删除按钮*/
|
|
|
.order-package-remarks table .destroy {
|
|
|
float: right;
|
|
|
@@ -47,7 +51,7 @@
|
|
|
border: 0 solid transparent !important;
|
|
|
}
|
|
|
|
|
|
- .remark-created_at{
|
|
|
+ .remark-created_at {
|
|
|
border-right: none !important;
|
|
|
}
|
|
|
|
|
|
@@ -59,7 +63,7 @@
|
|
|
box-shadow: 0 0 6px #ac4a4a;
|
|
|
}
|
|
|
|
|
|
- .order-package-remarks table:hover .btn-destroy-remark{
|
|
|
+ .order-package-remarks table:hover .btn-destroy-remark {
|
|
|
display: block;
|
|
|
}
|
|
|
|
|
|
@@ -117,6 +121,18 @@
|
|
|
<button type="button" class="btn btn-outline-dark btn-sm form-control-sm tooltipTarget"
|
|
|
@click="copyLogisticNumber" style="background: #dad7e8;">复制快递单号</button>
|
|
|
</span>
|
|
|
+{{-- 获取查询条件下的总条数--}}
|
|
|
+ <span class="ml-1">
|
|
|
+ <button type="button" class="btn btn-outline-success btn-sm form-control-sm tooltipTarget"
|
|
|
+ @click="getTotal()"
|
|
|
+ style="background: #dad7e8;">
|
|
|
+ <span v-if="!total.loading">
|
|
|
+ @{{ total.number===null?'获取总量':'总量:'+ total.number }}
|
|
|
+ </span>
|
|
|
+ <span v-else style="margin-left: 5px"><i class="fa fa-circle-o-notch fa-spin"></i>
|
|
|
+ </span>
|
|
|
+ </button>
|
|
|
+ </span>
|
|
|
@endcan
|
|
|
</div>
|
|
|
<table class="table table-striped table-bordered table-hover card-body td-min-width-80" id="table">
|
|
|
@@ -135,12 +151,12 @@
|
|
|
<!-- 是否为问题件 -->
|
|
|
<span class="badge badge-danger" v-if="package.order.issue">?</span>
|
|
|
|
|
|
-<!-- 是否手动修改 -->
|
|
|
+ <!-- 是否手动修改 -->
|
|
|
<span v-if="package.is_manual_update">
|
|
|
<i class="fa fa-hand-paper-o" aria-hidden="true"
|
|
|
style="color: red;margin-left: 5px"></i>
|
|
|
</span>
|
|
|
-<!-- 延时发货图标 -->
|
|
|
+ <!-- 延时发货图标 -->
|
|
|
<span
|
|
|
v-if="package.is_delay_deliver"
|
|
|
style="margin-left: 5px">
|
|
|
@@ -207,33 +223,40 @@
|
|
|
<label class="text-center mt-0 p-0 cursor-pointer pull-left">
|
|
|
<span class="fa"
|
|
|
:class="package.showMoreRemark ? 'fa-angle-double-down' : 'fa-angle-double-right'"></span>
|
|
|
- <span v-if="package.order_package_remarks && package.showMoreRemark">收起</span><span
|
|
|
- v-else>展开</span> @{{ package.order_package_remarks.length }} 条
|
|
|
- </label>
|
|
|
- </div>
|
|
|
+ <span v-if="package.order_package_remarks && package.showMoreRemark">收起</span><span
|
|
|
+ v-else>展开</span> @{{ package.order_package_remarks.length }} 条
|
|
|
+ </label>
|
|
|
+ </div>
|
|
|
@endcan
|
|
|
</td>
|
|
|
- <td class="text-overflow-warp-200"><span v-if="package.order && package.order.issue">@{{ package.order.issue.result_explain }}</span></td>
|
|
|
+ <td class="text-overflow-warp-200"><span v-if="package.order && package.order.issue">@{{ package.order.issue.result_explain }}</span>
|
|
|
+ </td>
|
|
|
<td class="text-overflow-warp-200"><span
|
|
|
v-if="package.order && package.order.issue && package.order.issue.issue_type">@{{ package.order.issue.issue_type.name }}</span>
|
|
|
</td>
|
|
|
- <td class="text-overflow-warp-200">@{{ package.order && package.order.batch && package.order.batch.wms_type }}</td>
|
|
|
- <td class="text-overflow-warp-200">@{{ package.order && package.order.oracle_d_o_c_order_header && package.order.oracle_d_o_c_order_header.waveno }}</td>
|
|
|
+ <td class="text-overflow-warp-200">@{{ package.order && package.order.batch &&
|
|
|
+ package.order.batch.wms_type }}
|
|
|
+ </td>
|
|
|
+ <td class="text-overflow-warp-200">@{{ package.order && package.order.oracle_d_o_c_order_header &&
|
|
|
+ package.order.oracle_d_o_c_order_header.waveno }}
|
|
|
+ </td>
|
|
|
<td class="text-overflow-warp-200"><span
|
|
|
v-if="package.order && package.order.issue && package.order.issue.logs.length >0"><span
|
|
|
v-for="log in package.order.issue.logs">@{{ log.content }}<br></span></span></td>
|
|
|
<td class="text-overflow-warp-200"><span
|
|
|
v-if="package.order && package.order.issue && package.order.issue.logs.length >0"><span
|
|
|
- v-for="log in package.order.issue.logs">@{{ log && log.user && log.user.name }}<br></span></span></td>
|
|
|
+ v-for="log in package.order.issue.logs">@{{ log && log.user && log.user.name }}<br></span></span>
|
|
|
+ </td>
|
|
|
<td class="text-overflow-warp-200"><span
|
|
|
v-if="package.order && package.order.issue && package.order.issue.logs.length >0"><span
|
|
|
v-for="log in package.order.issue.logs">@{{ log.created_at }}<br></span></span></td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
-{{-- <div class="text-info h5 btn btn">{{$orderPackages->count()}}/{{$orderPackages->total()}}</div>--}}
|
|
|
- {{$orderPackages->appends($paginateParams)->links()}}
|
|
|
+ {{-- <div class="text-info h5 btn btn">{{$orderPackages->count()}}/{{$orderPackages->total()}}</div>--}}
|
|
|
+ {{$orderPackages->appends($paginateParams)->links()}}
|
|
|
<!-- Modal -->
|
|
|
- <div class="modal fade" id="staticBackdrop" data-backdrop="static" data-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true" z-index="51">
|
|
|
+ <div class="modal fade" id="staticBackdrop" data-backdrop="static" data-keyboard="false" tabindex="-1"
|
|
|
+ aria-labelledby="staticBackdropLabel" aria-hidden="true" z-index="51">
|
|
|
<div class="modal-dialog">
|
|
|
<div class="modal-content">
|
|
|
<div class="modal-header">
|
|
|
@@ -244,11 +267,14 @@
|
|
|
</div>
|
|
|
<div class="modal-body">
|
|
|
<div class="form-group">
|
|
|
- <textarea v-model="bench_remark" style="width:80%;margin: 0 auto;" class="form-control" id="exampleFormControlTextarea1" rows="3"></textarea>
|
|
|
+ <textarea v-model="bench_remark" style="width:80%;margin: 0 auto;" class="form-control"
|
|
|
+ id="exampleFormControlTextarea1" rows="3"></textarea>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="modal-footer">
|
|
|
- <button @click="bench_remark = ''" type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
|
|
|
+ <button @click="bench_remark = ''" type="button" class="btn btn-secondary"
|
|
|
+ data-dismiss="modal">关闭
|
|
|
+ </button>
|
|
|
<button @click="submitBenchRemark" type="button" class="btn btn-primary">提交</button>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -267,6 +293,10 @@
|
|
|
let vue = new Vue({
|
|
|
el: "#list",
|
|
|
data: {
|
|
|
+ total: {
|
|
|
+ number: null,
|
|
|
+ loading: false
|
|
|
+ },
|
|
|
packages: [
|
|
|
@foreach($orderPackages as $package)
|
|
|
{!! $package !!},
|
|
|
@@ -345,7 +375,7 @@
|
|
|
name: 'status',
|
|
|
type: 'select_multiple_select',
|
|
|
tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的状态'],
|
|
|
- placeholder: ['状态','定位或多选状态'],
|
|
|
+ placeholder: ['状态', '定位或多选状态'],
|
|
|
data: [
|
|
|
{name: '0', value: '空'},
|
|
|
{name: '1', value: '生成订单'},
|
|
|
@@ -470,14 +500,19 @@
|
|
|
]
|
|
|
},
|
|
|
{name: 'default_date', type: 'checkbox', tip: '默认15天', data: [{name: 'ture', value: '默认15天'}]},
|
|
|
- {name: 'default_logistics', type: 'checkbox', tip: '默认承运商', data: [{name: 'ture', value: '默认承运商'}]},
|
|
|
+ {
|
|
|
+ name: 'default_logistics',
|
|
|
+ type: 'checkbox',
|
|
|
+ tip: '默认承运商',
|
|
|
+ data: [{name: 'ture', value: '默认承运商'}]
|
|
|
+ },
|
|
|
{name: 'virtual_receive', type: 'checkbox', tip: '虚拟揽收', data: [{name: 'ture', value: '虚拟揽收'}]},
|
|
|
]
|
|
|
];
|
|
|
_this.form = new query({
|
|
|
el: '#form_div',
|
|
|
condition: data,
|
|
|
- appendDom : "btn",
|
|
|
+ appendDom: "btn",
|
|
|
});
|
|
|
_this.form.init();
|
|
|
let column = [
|
|
|
@@ -514,6 +549,31 @@
|
|
|
}).init();
|
|
|
},
|
|
|
methods: {
|
|
|
+ //获取查询条件下的总条数
|
|
|
+ getTotal() {
|
|
|
+ if (!this.total.loading) {
|
|
|
+ this.total.loading = true
|
|
|
+ let query = "{{ request()->getQueryString() }}";
|
|
|
+ query = query.replace(/amp;/g, "");
|
|
|
+ let url = "{{ url()->current() }}";
|
|
|
+ url += `/getTotal?${query}`;
|
|
|
+ axios.get(url).then(res => {
|
|
|
+ this.$forceUpdate();
|
|
|
+ let responseData = res.data;
|
|
|
+ if (responseData.success) {
|
|
|
+ this.total.number = responseData.data.total;
|
|
|
+ this.total.loading = false
|
|
|
+ tempTip.showSuccess('获取总量成功!');
|
|
|
+ }
|
|
|
+ }).catch(e => {
|
|
|
+ this.total.loading = false
|
|
|
+ tempTip.show(`获取异常请稍后再试!${e}`);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ tempTip.show(`点击过于频繁请稍后再试!${e}`);
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
showRoute(id) {
|
|
|
if (this.showList[id]) {
|
|
|
this.$set(this.showList, id, false);
|
|
|
@@ -535,7 +595,7 @@
|
|
|
this.$forceUpdate();
|
|
|
},
|
|
|
batchStatusUpdate() {
|
|
|
- if(!confirm('是否却认操作')) return;
|
|
|
+ if (!confirm('是否却认操作')) return;
|
|
|
let _this = this;
|
|
|
if (checkData.length === 0) {
|
|
|
tempTip.show('没有勾选记录');
|
|
|
@@ -551,7 +611,7 @@
|
|
|
})
|
|
|
},
|
|
|
batchExceptionStatusUpdate() {
|
|
|
- if(!confirm('是否却认操作')) return;
|
|
|
+ if (!confirm('是否却认操作')) return;
|
|
|
let _this = this;
|
|
|
if (checkData.length === 0) {
|
|
|
tempTip.show('没有勾选记录');
|
|
|
@@ -587,7 +647,7 @@
|
|
|
let _this = this;
|
|
|
tempTip.setDuration(2000);
|
|
|
tempTip.showSuccess('正在操作请稍后!');
|
|
|
- axios.put(url, {remark: _this.remark, orderPackageId: orderPackage.id}).then(response=>{
|
|
|
+ axios.put(url, {remark: _this.remark, orderPackageId: orderPackage.id}).then(response => {
|
|
|
if (response.data.success) {
|
|
|
orderPackage.order_package_remarks = response.data.data
|
|
|
tempTip.setDuration(2000);
|
|
|
@@ -603,15 +663,16 @@
|
|
|
tempTip.show("网络错误:" + err)
|
|
|
});
|
|
|
},
|
|
|
- destroyRemark(orderPackage,remarkId) {
|
|
|
+ destroyRemark(orderPackage, remarkId) {
|
|
|
let url = '{{url('apiLocal/package/logistic/delete')}}';
|
|
|
if (!confirm('是否却认删除', false)) {
|
|
|
return;
|
|
|
- };
|
|
|
+ }
|
|
|
+ ;
|
|
|
let _this = this;
|
|
|
tempTip.setDuration(2000);
|
|
|
tempTip.showSuccess('正在操作请稍后!');
|
|
|
- axios.post(url, {orderPackageId: orderPackage.id,remarkId:remarkId}).then(response=>{
|
|
|
+ axios.post(url, {orderPackageId: orderPackage.id, remarkId: remarkId}).then(response => {
|
|
|
if (response.data.success) {
|
|
|
orderPackage.order_package_remarks = response.data.data
|
|
|
tempTip.setDuration(2000);
|