1
This commit is contained in:
@@ -35,6 +35,11 @@ export function listGoofishOrder(query) {
|
|||||||
return request({ url: '/jarvis/erpGoofishOrder/list', method: 'get', params: query })
|
return request({ url: '/jarvis/erpGoofishOrder/list', method: 'get', params: query })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 日日顺 + 已关联京东:已出库(去重运单等)/待出库 统计,供列表右侧展示 */
|
||||||
|
export function getGoofishRrsLogisticsStats() {
|
||||||
|
return request({ url: '/jarvis/erpGoofishOrder/stats/rrsLogistics', method: 'get' })
|
||||||
|
}
|
||||||
|
|
||||||
export function getGoofishOrder(id) {
|
export function getGoofishOrder(id) {
|
||||||
return request({ url: '/jarvis/erpGoofishOrder/' + id, method: 'get' })
|
return request({ url: '/jarvis/erpGoofishOrder/' + id, method: 'get' })
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container goofish-order-layout">
|
||||||
|
<div class="goofish-order-main">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="96px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="96px">
|
||||||
<el-form-item label="AppKey" prop="appKey">
|
<el-form-item label="AppKey" prop="appKey">
|
||||||
<el-input v-model="queryParams.appKey" placeholder="可选" clearable @keyup.enter.native="handleQuery" />
|
<el-input v-model="queryParams.appKey" placeholder="可选" clearable @keyup.enter.native="handleQuery" />
|
||||||
@@ -221,6 +222,28 @@
|
|||||||
|
|
||||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="goofish-rrs-aside" v-hasPermi="['jarvis:erpGoofishOrder:list']">
|
||||||
|
<el-card shadow="hover" class="goofish-rrs-card" v-loading="rrsStatsLoading">
|
||||||
|
<div slot="header" class="goofish-rrs-card-hd">
|
||||||
|
<span>日日顺物流</span>
|
||||||
|
</div>
|
||||||
|
<p class="goofish-rrs-desc">已关联京东 · 承运含 rrs 或「日日顺」</p>
|
||||||
|
<div class="goofish-rrs-metric">
|
||||||
|
<span class="goofish-rrs-label">已出库</span>
|
||||||
|
<strong class="goofish-rrs-val goofish-rrs-val--ok">{{ rrsStats.shippedOutboundCount }}</strong>
|
||||||
|
<span class="goofish-rrs-hint-row">去重单号 + 无单号已发</span>
|
||||||
|
</div>
|
||||||
|
<el-divider class="goofish-rrs-divider" />
|
||||||
|
<div class="goofish-rrs-metric">
|
||||||
|
<span class="goofish-rrs-label">待出库</span>
|
||||||
|
<strong class="goofish-rrs-val goofish-rrs-val--warn">{{ rrsStats.pendingOutboundCount }}</strong>
|
||||||
|
<span class="goofish-rrs-hint-row">待发货且无运单</span>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</aside>
|
||||||
|
|
||||||
<el-dialog
|
<el-dialog
|
||||||
title="发货地址比对"
|
title="发货地址比对"
|
||||||
:visible.sync="shipPreviewDialogVisible"
|
:visible.sync="shipPreviewDialogVisible"
|
||||||
@@ -391,7 +414,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listGoofishOrder, listGoofishOrderEventLogs, pullAllGoofishOrders, pullAllGoofishOrdersFull, pullGoofishOrdersFull, refreshGoofishDetail, retryGoofishShip, getGoofishOrder, previewGoofishShip } from '@/api/jarvis/goofish'
|
import { listGoofishOrder, listGoofishOrderEventLogs, pullAllGoofishOrders, pullAllGoofishOrdersFull, pullGoofishOrdersFull, refreshGoofishDetail, retryGoofishShip, getGoofishOrder, previewGoofishShip, getGoofishRrsLogisticsStats } from '@/api/jarvis/goofish'
|
||||||
import { parseTime } from '@/utils/ruoyi'
|
import { parseTime } from '@/utils/ruoyi'
|
||||||
|
|
||||||
/** 与闲管家开放平台 order_status 一致 */
|
/** 与闲管家开放平台 order_status 一致 */
|
||||||
@@ -468,7 +491,13 @@ export default {
|
|||||||
/** 发货预览 */
|
/** 发货预览 */
|
||||||
shipPreviewDialogVisible: false,
|
shipPreviewDialogVisible: false,
|
||||||
shipPreviewLoading: false,
|
shipPreviewLoading: false,
|
||||||
shipPreviewVo: {}
|
shipPreviewVo: {},
|
||||||
|
/** 日日顺 + 关联京东侧边统计(与后端 selectRrsJdLinkedLogisticsStats 口径一致) */
|
||||||
|
rrsStatsLoading: false,
|
||||||
|
rrsStats: {
|
||||||
|
shippedOutboundCount: 0,
|
||||||
|
pendingOutboundCount: 0
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -828,8 +857,24 @@ export default {
|
|||||||
listGoofishOrder(this.queryParams).then(res => {
|
listGoofishOrder(this.queryParams).then(res => {
|
||||||
this.list = res.rows
|
this.list = res.rows
|
||||||
this.total = res.total
|
this.total = res.total
|
||||||
|
}).finally(() => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
}).catch(() => { this.loading = false })
|
this.loadRrsStats()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
loadRrsStats() {
|
||||||
|
this.rrsStatsLoading = true
|
||||||
|
getGoofishRrsLogisticsStats().then(res => {
|
||||||
|
const d = (res && res.data) || {}
|
||||||
|
this.rrsStats = {
|
||||||
|
shippedOutboundCount: Number(d.shippedOutboundCount) || 0,
|
||||||
|
pendingOutboundCount: Number(d.pendingOutboundCount) || 0
|
||||||
|
}
|
||||||
|
}).catch(() => {
|
||||||
|
this.rrsStats = { shippedOutboundCount: 0, pendingOutboundCount: 0 }
|
||||||
|
}).finally(() => {
|
||||||
|
this.rrsStatsLoading = false
|
||||||
|
})
|
||||||
},
|
},
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
this.queryParams.pageNum = 1
|
this.queryParams.pageNum = 1
|
||||||
@@ -1076,4 +1121,76 @@ export default {
|
|||||||
.waybill-cell--line {
|
.waybill-cell--line {
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 左侧列表 + 右侧日日顺物流统计 */
|
||||||
|
.goofish-order-layout {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
gap: 16px;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
}
|
||||||
|
.goofish-order-main {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
.goofish-rrs-aside {
|
||||||
|
flex: 0 0 216px;
|
||||||
|
position: sticky;
|
||||||
|
top: 12px;
|
||||||
|
align-self: flex-start;
|
||||||
|
}
|
||||||
|
.goofish-rrs-card {
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
.goofish-rrs-card ::v-deep .el-card__header {
|
||||||
|
padding: 12px 14px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
.goofish-rrs-card ::v-deep .el-card__body {
|
||||||
|
padding: 12px 14px 16px;
|
||||||
|
}
|
||||||
|
.goofish-rrs-desc {
|
||||||
|
margin: 0 0 12px;
|
||||||
|
color: #909399;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 1.45;
|
||||||
|
}
|
||||||
|
.goofish-rrs-metric {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 4px;
|
||||||
|
}
|
||||||
|
.goofish-rrs-label {
|
||||||
|
color: #606266;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
.goofish-rrs-val {
|
||||||
|
font-size: 26px;
|
||||||
|
line-height: 1.15;
|
||||||
|
}
|
||||||
|
.goofish-rrs-val--ok {
|
||||||
|
color: #67c23a;
|
||||||
|
}
|
||||||
|
.goofish-rrs-val--warn {
|
||||||
|
color: #e6a23c;
|
||||||
|
}
|
||||||
|
.goofish-rrs-hint-row {
|
||||||
|
color: #c0c4cc;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 1.35;
|
||||||
|
}
|
||||||
|
.goofish-rrs-divider {
|
||||||
|
margin: 12px 0;
|
||||||
|
}
|
||||||
|
@media (max-width: 1200px) {
|
||||||
|
.goofish-order-layout {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
.goofish-rrs-aside {
|
||||||
|
flex: 1 1 100%;
|
||||||
|
position: relative;
|
||||||
|
top: auto;
|
||||||
|
max-width: 360px;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user