diff --git a/src/api/jarvis/goofish.js b/src/api/jarvis/goofish.js new file mode 100644 index 0000000..0df5558 --- /dev/null +++ b/src/api/jarvis/goofish.js @@ -0,0 +1,76 @@ +import request from '@/utils/request' + +/* ---------- 闲管家应用配置 ---------- */ +export function listErpOpenConfig(query) { + return request({ url: '/jarvis/erpOpenConfig/list', method: 'get', params: query }) +} + +export function getErpOpenConfig(id) { + return request({ url: '/jarvis/erpOpenConfig/' + id, method: 'get' }) +} + +export function addErpOpenConfig(data) { + return request({ url: '/jarvis/erpOpenConfig', method: 'post', data }) +} + +export function updateErpOpenConfig(data) { + return request({ url: '/jarvis/erpOpenConfig', method: 'put', data }) +} + +export function delErpOpenConfig(ids) { + return request({ url: '/jarvis/erpOpenConfig/' + ids, method: 'delete' }) +} + +/** 闲管家「查询快递公司」(与 Apifox 一致:服务端 POST {} + 签名) */ +export function listGoofishExpressCompanies(appKey) { + return request({ + url: '/jarvis/erpOpenConfig/expressCompanies', + method: 'get', + params: appKey ? { appKey } : {} + }) +} + +/* ---------- 闲管家订单 ---------- */ +export function listGoofishOrder(query) { + return request({ url: '/jarvis/erpGoofishOrder/list', method: 'get', params: query }) +} + +export function getGoofishOrder(id) { + return request({ url: '/jarvis/erpGoofishOrder/' + id, method: 'get' }) +} + +export function pullGoofishOrders(appKey, hours) { + return request({ + url: '/jarvis/erpGoofishOrder/pull/' + encodeURIComponent(appKey), + method: 'post', + params: hours != null ? { hours } : {} + }) +} + +export function pullAllGoofishOrders(hours) { + return request({ + url: '/jarvis/erpGoofishOrder/pullAll', + method: 'post', + params: hours != null ? { hours } : {} + }) +} + +/** 历史全量:按服务端 pull-full-history-days + 时间分段拉 update_time */ +export function pullGoofishOrdersFull(appKey) { + return request({ + url: '/jarvis/erpGoofishOrder/pull/' + encodeURIComponent(appKey) + '/full', + method: 'post' + }) +} + +export function pullAllGoofishOrdersFull() { + return request({ url: '/jarvis/erpGoofishOrder/pullAll/full', method: 'post' }) +} + +export function refreshGoofishDetail(id) { + return request({ url: '/jarvis/erpGoofishOrder/refreshDetail/' + id, method: 'post' }) +} + +export function retryGoofishShip(id) { + return request({ url: '/jarvis/erpGoofishOrder/retryShip/' + id, method: 'post' }) +} diff --git a/src/views/system/goofish/erpGoofishOrder/index.vue b/src/views/system/goofish/erpGoofishOrder/index.vue new file mode 100644 index 0000000..c78407b --- /dev/null +++ b/src/views/system/goofish/erpGoofishOrder/index.vue @@ -0,0 +1,466 @@ + + + + + + ① 第三方单号:本地京东单「第三方单号」= 闲鱼 order_no,用于关联与写入收件地址(jd_order.address)、物流 Redis 运单。 + ② 闲管家订单详情往往不落明文收货地址;列表中的地址优先来自详情字段,否则来自关联的京东「地址」。 + ③ 自动发货前请在「应用配置」填写 express_code(日日顺一般为 rrs)。 + ④ 增量拉单:按「pull-lookback-hours」回溯;历史全量:按「pull-full-history-days」起点 + 「pull-time-chunk-seconds」对 update_time 分段;单次请求的 update_time 跨度不得超过「pull-max-update-time-range-seconds」(默认约 180 天,避免平台「仅 6 个月内」报错),过长区间会自动再拆段。 + + + + + + + + + + + + + + + + + + + + + + + + 搜索 + 重置 + + + + + + 增量拉单 + 历史全量拉单 + + + + + + + + + + + + + + + {{ displayGoodsTitle(scope.row) }} + + + + + + + + {{ orderStatusLabel(scope.row.orderStatus) }} + + + + + {{ formatPayDisplay(scope.row) }} + + + + + + + + {{ displayWaybillNo(scope.row) }} + + + + + + {{ displayExpressName(scope.row) }} + + ({{ scope.row.detailExpressCode || detailDataField(scope.row, 'express_code') }}) + + + — + + + + + + {{ displayReceiverName(scope.row) }} {{ displayReceiverMobile(scope.row) }} + + + + + {{ displayRecvSplit(scope.row) }} + + + + + {{ displayAddressLine(scope.row) }} + + + + + + {{ shipLabel(scope.row.shipStatus) }} + + + + + {{ scope.row.modifyTime }} + - + + + + + 详情JSON + 刷新详情 + 重试发货 + + + + + + + + + + + + + + + + {{ displayGoodsTitle(jsonRow) }} + + + {{ displayWaybillNo(jsonRow) }} + {{ displayExpressName(jsonRow) }} + {{ formatPayDisplay(jsonRow) }} + {{ jsonRow.localWaybillNo || '-' }} + {{ displayBuyerNick(jsonRow) }} + {{ displayReceiverName(jsonRow) }} + {{ displayReceiverMobile(jsonRow) || '—' }} + {{ displayRecvSplit(jsonRow) }} + {{ displayAddressLine(jsonRow) }} + {{ jsonRow.receiverRegion || '—' }} + {{ jsonRow.jdAddress || '-' }} + + + + {{ pretty(jsonRow.detailJson) }} + + + {{ pretty(jsonRow.lastNotifyJson) }} + + + 发货错误:{{ jsonRow.shipError }} + + + + + + + diff --git a/src/views/system/goofish/erpOpenConfig/index.vue b/src/views/system/goofish/erpOpenConfig/index.vue new file mode 100644 index 0000000..604dc56 --- /dev/null +++ b/src/views/system/goofish/erpOpenConfig/index.vue @@ -0,0 +1,227 @@ + + + + + + + + + + + + + + 搜索 + 重置 + + + + + + 新增 + + + + + + + + + + + + + {{ scope.row.status === '0' ? '正常' : '停用' }} + + + + + + + 修改 + 删除 + + + + + + + + 签名与 POST 体必须为 {};Apifox 里 body 留空会导致签名校验失败。 + + + + + + {{ scope.row.is_hot ? '是' : '' }} + + + + + + + + + + + + + + + + + + 拉取列表 + + + + + + + + 正常 + 停用 + + + + + + + + + + + + + + + diff --git a/src/views/system/jd-instruction/fadan-quick-record.vue b/src/views/system/jd-instruction/fadan-quick-record.vue index 38a420c..42630d1 100644 --- a/src/views/system/jd-instruction/fadan-quick-record.vue +++ b/src/views/system/jd-instruction/fadan-quick-record.vue @@ -134,11 +134,11 @@ export default { } return 'F-' + s }, - /** 地址压成一行:换行/多空格合并为单空格,去掉中文逗号 */ + /** 地址压成一行:换行/多空格合并为单空格,去掉中英文逗号 */ compressAddressOneLine(raw) { if (raw == null) return '' return String(raw) - .replace(/,/g, '') + .replace(/[,,]/g, '') .replace(/\s+/g, ' ') .trim() },
{{ pretty(jsonRow.detailJson) }}
{{ pretty(jsonRow.lastNotifyJson) }}
发货错误:{{ jsonRow.shipError }}
签名与 POST 体必须为 {};Apifox 里 body 留空会导致签名校验失败。
{}