订单信息相关的页面提交
This commit is contained in:
parent
eea20a2a23
commit
4c7d329a63
50
src/api/modules/depotOrder.js
Normal file
50
src/api/modules/depotOrder.js
Normal file
@ -0,0 +1,50 @@
|
||||
import instance from '../../utils/axios.js'
|
||||
|
||||
// 过滤设置相关API
|
||||
const depotOrderApi = {
|
||||
|
||||
//listDepotOrder, getDepotOrder, delDepotOrder, addDepotOrder, updateDepotOrder, getMailNo, getPdf, getMailNoByYuanTong,
|
||||
// getPdfByYuanTong, getMailNoByShenTong, getPdfByShenTong, getMailNoByZhongTong, getPdfByZhongTong
|
||||
|
||||
///** 查询仓库订单信息列表 */
|
||||
listDepotOrder: (params) => instance.get('/depotOrder/list', { params }),
|
||||
// 查询仓库订单信息详细
|
||||
getDepotOrder: (id) => instance.get(`/depotOrder/${id}`),
|
||||
//删除仓库订单信息(单个)
|
||||
delDepotOrder: (id) => instance.delete(`/depotOrder/${id}`),
|
||||
//新增仓库订单信息 addDepotOrder
|
||||
addDepotOrder: (data) => instance.post('/depotOrder', data),
|
||||
//修改仓库订单信息
|
||||
updateDepotOrder: (data) => instance.put('/depotOrder', data),
|
||||
|
||||
//韵达发货获取订单号
|
||||
getMailNo: (mailNo) => instance.get(`/depotOrder/getMailNo/${mailNo}`),
|
||||
|
||||
//getPdf韵达获取pdf
|
||||
getPdf: (mailNo) => instance.get(`/depotOrder/getPdf/${mailNo}`),
|
||||
|
||||
//getMailNoByYuanTong
|
||||
getMailNoByYuanTong: (id) => instance.get(`/depotOrder/getMailNoByYuanTong/${id}`),
|
||||
//getPdfByYuanTong
|
||||
getPdfByYuanTong: (waybillNo) => instance.get(`/depotOrder/getPdfByYuanTong/${waybillNo}`),
|
||||
|
||||
//getMailNoByShenTong 申通获取运单号
|
||||
getMailNoByShenTong: (id) => instance.get(`/depotOrder/getPdfByYuanTong/${id}`),
|
||||
|
||||
//getPdfByShenTong 申通获取pdf
|
||||
getMailNoByShenTong: (id) => instance.get(`/depotOrder/getPdfByShenTong/${id}`),
|
||||
|
||||
//getMailNoByZhongTong 中通获取运单号
|
||||
getMailNoByZhongTong: (id) => instance.get(`/depotOrder/getMailNoByZhongTong/${id}`),
|
||||
//getPdfByZhongTong 中通 获取pdf
|
||||
getPdfByZhongTong: (waybillNo) => instance.get(`/depotOrder/getPdfByZhongTong/${waybillNo}`),
|
||||
|
||||
//二次发货 addDepotOrder
|
||||
orderReshipment : (data) => instance.post('/depotOrder/reshipment', data),
|
||||
|
||||
//import { DepotOrderVO, DepotOrderQuery, DepotOrderForm } from '@/api/zhishu/depotOrder/types'
|
||||
|
||||
};
|
||||
|
||||
// 导出模块
|
||||
export { depotOrderApi };
|
||||
0
src/api/modules/depotOrderForm.js
Normal file
0
src/api/modules/depotOrderForm.js
Normal file
158
src/api/modules/depotOrderVO.js
Normal file
158
src/api/modules/depotOrderVO.js
Normal file
@ -0,0 +1,158 @@
|
||||
/**
|
||||
* 仓库订单视图对象(对应 TypeScript 的 DepotOrderVO 接口)
|
||||
* @typedef {Object} DepotOrderVO
|
||||
* @property {string|number} id - 主键(字符串或数字)
|
||||
* @property {string|number} shopOrderId - 店铺订单 ID(字符串或数字)
|
||||
* @property {string|number} userId - 处理人 ID(字符串或数字)
|
||||
* @property {string} itemList - 商品信息(字符串,可能为序列化后的对象)
|
||||
* @property {string} status - 仓库订单状态(0:待发货,1:已发货,2:无库存,3:转发任务)
|
||||
* @property {number} createBy - 创建者 ID(数字)
|
||||
* @property {string} createTime - 创建时间(时间戳或日期字符串)
|
||||
* @property {string|number} shopId - 店铺 ID(字符串或数字)
|
||||
* @property {string} shopName - 店铺名称(字符串)
|
||||
* @property {string} address - 地址(字符串)
|
||||
* @property {string} addressMask - 详细地址(脱敏,字符串)
|
||||
* @property {number} afterSalesStatus - 售后状态(0-33 具体含义见注释)
|
||||
* @property {string} buyerMemo - 买家留言信息(字符串)
|
||||
* @property {number} confirmStatus - 成交状态(0:未成交,1:已成交,2:已取消)
|
||||
* @property {string} confirmTime - 成交时间(时间戳或日期字符串)
|
||||
* @property {string} createdTime - 订单创建时间(可能与 createTime 重复,字符串)
|
||||
* @property {string} deliveryOneDay - 是否当日发货(1:是,0:否,字符串)
|
||||
* @property {string} discountAmount - 折扣金额(元,平台+商家+团长优惠总和,字符串)
|
||||
* @property {number} duoDuoPayReduction - 多多支付立减金额(元,数字)
|
||||
* @property {number} duoduoWholesale - 是否多多批发(1:是,0:否,数字)
|
||||
* @property {number} goodsAmount - 商品金额(元,数字)
|
||||
* @property {string} depotCode - 仓库编码(字符串)
|
||||
* @property {string|number} depotId - 仓库 ID(字符串或数字)
|
||||
* @property {string} depotName - 支付申报订单号(字符串)
|
||||
* @property {number} depotType - 仓库类型(1:自有仓,2:订阅仓,数字)
|
||||
* @property {string|number} wareId - 货品 ID(字符串或数字)
|
||||
* @property {string} wareName - 货品名称(字符串)
|
||||
* @property {string} wareSn - 货品编码(字符串)
|
||||
* @property {string} wareType - 货品类型(0:普通货品,1:组合货品,字符串)
|
||||
* @property {string} orderSn - 订单编号(字符串)
|
||||
* @property {number} orderStatus - 订单状态(具体含义需业务确认,数字)
|
||||
* @property {number} payAmount - 支付金额(元,数字)
|
||||
* @property {number} payNo - 支付单号(数字,可能应为字符串,需确认业务)
|
||||
* @property {string} payTime - 支付时间(时间戳或日期字符串)
|
||||
* @property {string} payType - 支付方式(如支付宝、微信,字符串)
|
||||
* @property {number} platformDiscount - 平台优惠金额(元,数字)
|
||||
* @property {number} postage - 邮费(元,数字)
|
||||
* @property {string} preSaleTime - 预售时间(时间戳或日期字符串)
|
||||
* @property {string} promiseDeliveryTime - 承诺送达时间(时间戳或日期字符串)
|
||||
* @property {string} province - 省份(字符串)
|
||||
* @property {string|number} provinceId - 省份编码(字符串或数字)
|
||||
* @property {string} receiveTime - 确认收货时间(时间戳或日期字符串)
|
||||
* @property {string} city - 市(字符串)
|
||||
* @property {string} cityId - 市编码(字符串)
|
||||
* @property {string} receiverAddress - 收件人地址(字符串)
|
||||
* @property {string} receiverAddressMask - 收件人地址(脱敏,字符串)
|
||||
* @property {string} receiverName - 收件人姓名(字符串)
|
||||
* @property {string} receiverNameMask - 收件人姓名(脱敏,字符串)
|
||||
* @property {string} receiverPhone - 收件人手机号(原始,字符串)
|
||||
* @property {string} receiverPhoneMask - 收件人手机号(打码,字符串)
|
||||
* @property {number} refundStatus - 退款状态(0-18 具体含义见注释,数字)
|
||||
* @property {string} remark - 订单备注(字符串)
|
||||
* @property {string} remarkTag - 备注标记颜色(1-5 对应红-紫,字符串)
|
||||
* @property {string} remarkTagName - 备注标记名称(字符串)
|
||||
* @property {number} returnFreightPayer - 退货包运费(1:是,0:否,数字)
|
||||
* @property {number} riskControlStatus - 订单审核状态(0:正常,1:审核中,数字)
|
||||
* @property {number} selfContained - 是否门店自提(1:是,0:否,数字)
|
||||
* @property {number} sellerDiscount - 商家优惠金额(元,数字)
|
||||
* @property {number} stockOutHandleStatus - 缺货处理状态(-1:无,-0:待处理,1:已处理,数字)
|
||||
* @property {string|number} supportNationwideWarranty - 全国联保(1:是,0:否,字符串或数字)
|
||||
* @property {string} town - 区/乡镇(字符串)
|
||||
* @property {string|number} townId - 区县编码(字符串或数字)
|
||||
* @property {string} trackingNumber - 快递单号(字符串)
|
||||
* @property {string|number} tradeInNationalSubsidyAmount - 以旧换新国家补贴金额(元,字符串或数字)
|
||||
* @property {number} tradeType - 订单类型(0:普通订单,1:定金订单,数字)
|
||||
* @property {string} updatedAt - 订单更新时间(时间戳或日期字符串)
|
||||
* @property {string} urgeShippingTime - 催发货时间(时间戳或日期字符串)
|
||||
* @property {string} yypsDate - 预约配送日期(时间戳或日期字符串)
|
||||
* @property {string} yypsTime - 预约配送时段(时间戳或日期字符串)
|
||||
* @property {string|number} openAddressId2 - 合单 ID2(字符串或数字)
|
||||
* @property {string[]} orderExceptionTypeList - 订单异常类型状态列表(字符串数组)
|
||||
* @property {number} orderSourceType - 订单来源类型(数字)
|
||||
* @property {OrderItem} orderItemList - 商品详细信息(OrderItem 对象)
|
||||
* @property {string} artNo - 货号(字符串,可能与 OrderItem 重复,需确认业务)
|
||||
*/
|
||||
const DepotOrderVO = {
|
||||
// 基础信息
|
||||
id: '', // 主键(初始为空)
|
||||
shopOrderId: '', // 店铺订单 ID
|
||||
userId: '', // 处理人 ID
|
||||
itemList: '', // 商品信息(字符串)
|
||||
status: '', // 仓库订单状态(初始为空)
|
||||
|
||||
// 身份与时间信息
|
||||
createBy: 0, // 创建者 ID(初始为 0)
|
||||
createTime: '', // 创建时间(初始为空)
|
||||
shopId: '', // 店铺 ID
|
||||
shopName: '', // 店铺名称
|
||||
address: '', // 地址
|
||||
addressMask: '', // 详细地址(脱敏)
|
||||
afterSalesStatus: 0, // 售后状态(初始为 0)
|
||||
buyerMemo: '', // 买家留言信息
|
||||
confirmStatus: 0, // 成交状态(初始为 0)
|
||||
confirmTime: '', // 成交时间
|
||||
createdTime: '', // 订单创建时间(可能与 createTime 重复)
|
||||
deliveryOneDay: '', // 是否当日发货(初始为空)
|
||||
discountAmount: '', // 折扣金额(初始为空)
|
||||
duoDuoPayReduction: 0, // 多多支付立减金额(初始为 0)
|
||||
duoduoWholesale: 0, // 是否多多批发(初始为 0)
|
||||
goodsAmount: 0, // 商品金额(初始为 0)
|
||||
depotCode: '', // 仓库编码
|
||||
depotId: '', // 仓库 ID
|
||||
depotName: '', // 支付申报订单号
|
||||
depotType: 0, // 仓库类型(初始为 0)
|
||||
wareId: '', // 货品 ID
|
||||
wareName: '', // 货品名称
|
||||
wareSn: '', // 货品编码
|
||||
wareType: '', // 货品类型(初始为空)
|
||||
orderSn: '', // 订单编号
|
||||
orderStatus: 0, // 订单状态(初始为 0)
|
||||
payAmount: 0, // 支付金额(初始为 0)
|
||||
payNo: 0, // 支付单号(初始为 0)
|
||||
payTime: '', // 支付时间
|
||||
payType: '', // 支付方式(初始为空)
|
||||
platformDiscount: 0, // 平台优惠金额(初始为 0)
|
||||
postage: 0, // 邮费(初始为 0)
|
||||
preSaleTime: '', // 预售时间
|
||||
promiseDeliveryTime: '', // 承诺送达时间
|
||||
province: '', // 省份
|
||||
provinceId: '', // 省份编码
|
||||
receiveTime: '', // 确认收货时间
|
||||
city: '', // 市
|
||||
cityId: '', // 市编码
|
||||
receiverAddress: '', // 收件人地址
|
||||
receiverAddressMask: '', // 收件人地址(脱敏)
|
||||
receiverName: '', // 收件人姓名
|
||||
receiverNameMask: '', // 收件人姓名(脱敏)
|
||||
receiverPhone: '', // 收件人手机号(原始)
|
||||
receiverPhoneMask: '', // 收件人手机号(打码)
|
||||
refundStatus: 0, // 退款状态(初始为 0)
|
||||
remark: '', // 订单备注
|
||||
remarkTag: '', // 备注标记颜色(初始为空)
|
||||
remarkTagName: '', // 备注标记名称(初始为空)
|
||||
returnFreightPayer: 0, // 退货包运费(初始为 0)
|
||||
riskControlStatus: 0, // 订单审核状态(初始为 0)
|
||||
selfContained: 0, // 是否门店自提(初始为 0)
|
||||
sellerDiscount: 0, // 商家优惠金额(初始为 0)
|
||||
stockOutHandleStatus: -1, // 缺货处理状态(初始为 -1)
|
||||
supportNationwideWarranty: '', // 全国联保(初始为空)
|
||||
town: '', // 区/乡镇
|
||||
townId: '', // 区县编码
|
||||
trackingNumber: '', // 快递单号
|
||||
tradeInNationalSubsidyAmount: '', // 以旧换新国家补贴金额(初始为空)
|
||||
tradeType: 0, // 订单类型(初始为 0)
|
||||
updatedAt: '', // 订单更新时间
|
||||
urgeShippingTime: '', // 催发货时间
|
||||
yypsDate: '', // 预约配送日期
|
||||
yypsTime: '', // 预约配送时段
|
||||
openAddressId2: '', // 合单 ID2(初始为空)
|
||||
orderExceptionTypeList: [], // 订单异常类型状态列表(初始为空数组)
|
||||
orderSourceType: 0, // 订单来源类型(初始为 0)
|
||||
orderItemList: OrderItem, // 商品详细信息(引用 OrderItem 对象)
|
||||
artNo: '' // 货号(初始为空)
|
||||
};
|
||||
export default DepotOrderVO; // 默认导出
|
||||
130
src/components/DictTag.vue
Normal file
130
src/components/DictTag.vue
Normal file
@ -0,0 +1,130 @@
|
||||
<template>
|
||||
<div>
|
||||
<template v-for="(item, index) in options">
|
||||
<template v-if="values.includes(String(item.value))">
|
||||
<span
|
||||
v-if="(item.elTagType === 'default' || item.elTagType === '') && (item.elTagClass === '' || item.elTagClass == null)"
|
||||
:key="item.value"
|
||||
:index="index"
|
||||
:class="item.elTagClass"
|
||||
>
|
||||
{{ item.label + ' ' }}
|
||||
</span>
|
||||
<el-tag
|
||||
v-else
|
||||
:key="item.value + ''"
|
||||
:disable-transitions="true"
|
||||
:index="index"
|
||||
:type="
|
||||
item.elTagType === 'primary' ||
|
||||
item.elTagType === 'success' ||
|
||||
item.elTagType === 'info' ||
|
||||
item.elTagType === 'warning' ||
|
||||
item.elTagType === 'danger'
|
||||
? item.elTagType
|
||||
: 'primary'
|
||||
"
|
||||
:class="item.elTagClass"
|
||||
>
|
||||
{{ item.label + ' ' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
<!-- <template v-if="unmatch && showValue">
|
||||
{{ unmatchArray }}
|
||||
</template> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
||||
import { computed } from 'vue'
|
||||
|
||||
// const props = withDefaults(defineProps(), {
|
||||
// showValue: true,
|
||||
// separator: ','
|
||||
// })
|
||||
|
||||
|
||||
const props = defineProps({
|
||||
// 字典选项
|
||||
options: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
},
|
||||
// 当前值
|
||||
value: {
|
||||
type: [String, Number, Array, Boolean],
|
||||
default: ''
|
||||
},
|
||||
// 是否显示未匹配的值
|
||||
showValue: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
console.log("zhuxiaodong"+props)
|
||||
|
||||
console.log("zhuxiaodong"+props.options)
|
||||
console.log("zhuxiaodongvalues"+props.values)
|
||||
|
||||
// 将输入值转换为字符串数组
|
||||
const values = computed(() => {
|
||||
|
||||
console.log(props.value+"1222zhuxiaodong")
|
||||
|
||||
if (props.value === '' || props.value === null || props.value === undefined) return []
|
||||
return Array.isArray(props.value)
|
||||
? props.value.map(item => item)
|
||||
: String(props.value).split(props.separator)
|
||||
|
||||
})
|
||||
|
||||
console.log(values+"829")
|
||||
|
||||
// 检查是否有未匹配的值
|
||||
const unmatch = computed(() => {
|
||||
if (props.options?.length === 0 || props.value === '' || props.value === null || props.value === undefined) {
|
||||
return false
|
||||
}
|
||||
|
||||
// 使用 some 方法更简洁
|
||||
return values.value.some(item =>
|
||||
!props.options.some(v => v.value === item)
|
||||
)
|
||||
})
|
||||
|
||||
// 获取未匹配的值数组
|
||||
const unmatchArray = computed(() => {
|
||||
const itemUnmatchArray = []
|
||||
|
||||
if (props.value !== '' && props.value !== null && props.value !== undefined) {
|
||||
values.value.forEach(item => {
|
||||
if (!props.options.some(v => v.value === item)) {
|
||||
itemUnmatchArray.push(item)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
return handleArray(itemUnmatchArray)
|
||||
})
|
||||
|
||||
// 处理数组转换为字符串
|
||||
const handleArray = (array) => {
|
||||
if (array.length === 0) return ''
|
||||
return array.join(' ')
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<style>
|
||||
.el-tag + .el-tag {
|
||||
margin-left: 10px;
|
||||
}
|
||||
</style>
|
||||
@ -143,6 +143,10 @@ const menuData = shallowRef([
|
||||
{
|
||||
title: '快递打单账号管理',
|
||||
path: '/account/management'
|
||||
},
|
||||
{
|
||||
title: '仓库订单信息',
|
||||
path: '/depotOrder/information'
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@ -188,12 +188,14 @@ const routes = [{
|
||||
{
|
||||
path: '/account/management',
|
||||
component: () => import('@/views/fastMail/index.vue'),
|
||||
meta: { title: '货区管理', permission: 'warehouse:depot:view' }
|
||||
meta: { title: '快递打单账号管理', permission: 'warehouse:depot:view' }
|
||||
},
|
||||
//快递打单账号管理 src/views/fastMail
|
||||
{
|
||||
path: '/depotOrder/information',
|
||||
component: () => import('@/views/depotOrder/index.vue'),
|
||||
meta: { title: '仓库订单信息', permission: 'warehouse:depot:view' }
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
]
|
||||
}]
|
||||
|
||||
|
||||
1676
src/views/depotOrder/index.vue
Normal file
1676
src/views/depotOrder/index.vue
Normal file
File diff suppressed because it is too large
Load Diff
@ -90,7 +90,8 @@
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
|
||||
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template #default="scope">
|
||||
<el-tooltip content="修改" placement="top">
|
||||
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['zhishu:fastMail:edit']"></el-button>
|
||||
@ -99,7 +100,8 @@
|
||||
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['zhishu:fastMail:remove']"></el-button>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
|
||||
</el-table>
|
||||
|
||||
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
|
||||
|
||||
@ -235,7 +235,7 @@
|
||||
|
||||
|
||||
|
||||
<el-table-column label="仓库信息" align="left" prop="shopName" width="150px">
|
||||
<el-table-column label="仓库信息ZXD" align="left" prop="shopName" width="150px">
|
||||
<template #default="scope">
|
||||
名称:<span>{{ scope.row.depotName }}</span>
|
||||
<br>
|
||||
@ -262,7 +262,7 @@
|
||||
<!-- </el-table-column>-->
|
||||
|
||||
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="160px" fixed="right">
|
||||
<el-table-column label="操作zxd" align="center" class-name="small-padding fixed-width" width="160px" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" :disabled="scope.row.orderStatus !== 1 || displayStatus"
|
||||
@click="handleShipments(scope.row)">
|
||||
@ -1320,15 +1320,23 @@ const displayStatus = ref(false);
|
||||
const handleShipments = async (row) => {
|
||||
console.log(row, "========---------===========")
|
||||
console.log(row.id, "========---------===========")
|
||||
await checkOrderInfo(row.id);
|
||||
|
||||
try {
|
||||
const res = await getShopShi(row.shopId, row.orderSourceType);
|
||||
shiMethodList.value = res.data;
|
||||
formShops.orderSourceType = row.orderSourceType;
|
||||
formShops.shopId = row.shopId;
|
||||
formShops.orderSn = row.orderSn;
|
||||
dialogShipments.title = "设置发货信息"
|
||||
dialogShipments.visible = true;
|
||||
debugger;
|
||||
const res = await checkOrderInfo(row.id);
|
||||
debugger;
|
||||
console.log(res);
|
||||
if(res.code=='200'){
|
||||
ElMessage.success("下发成功")
|
||||
}else{
|
||||
ElMessage.error("下发失败,请联系管理员")
|
||||
}
|
||||
// shiMethodList.value = res.data;
|
||||
// formShops.orderSourceType = row.orderSourceType;
|
||||
// formShops.shopId = row.shopId;
|
||||
// formShops.orderSn = row.orderSn;
|
||||
// dialogShipments.title = "设置发货信息"
|
||||
// dialogShipments.visible = true;
|
||||
} catch (error) {
|
||||
console.error('数据加载失败:', error);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user