Commit e6f432ad by qinjianhui

fix: 发货单明细加分页

parent 782d121a
......@@ -14,6 +14,7 @@ import {
import {
DeliveryNoteData,
DeliveryNoteSearchForm,
DetailForm,
ProductionOrder,
ShipmentOrderDetailData,
} from '@/types/api/deliveryNote'
......@@ -23,6 +24,7 @@ import {
BillOrderDetailData,
ConfirmOrderForm,
CountStatus,
LogList,
} from '@/types/api/billOrder'
export function getOrderList(
......@@ -330,13 +332,17 @@ export function updateReconciliation(data: AccountStatementNote) {
)
}
export function getShipmentDetailsById(shipmentId?: number) {
return axios.get<never, BaseRespData<BillOrderDetailData>>(
'reconciliation/getById',
export function getShipmentDetailsById(data: DetailForm) {
return axios.post<never, BasePaginationData<BillOrderDetailData>>(
'reconciliation/getItemList',
data,
)
}
export function getLogListApi(id?: number) {
return axios.get<never, BaseRespData<LogList[]>>(
'reconciliation/getLog',
{
params: {
id: shipmentId,
},
params: { id },
},
)
}
......@@ -364,7 +370,7 @@ export function confirmOrderApi(data: ConfirmOrderForm) {
export function rejectOrderApi({
ids,
description,
pass
pass,
}: {
ids: string
pass: number
......@@ -373,6 +379,6 @@ export function rejectOrderApi({
return axios.post<never, BaseRespData<never>>('reconciliation/confirm', {
ids,
description,
pass
pass,
})
}
......@@ -106,4 +106,8 @@ img {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
\ No newline at end of file
}
.table-wrap {
flex: 1;
overflow: hidden;
}
......@@ -15,6 +15,7 @@ export interface AccountStatementNoteSearchForm {
erp_status?: string
start_time?: string
end_time?: string
order_number?: string
}
export interface AccountStatementNote {
create_time?: string
......
......@@ -182,3 +182,11 @@ export interface DbFactory {
authorize_number?: number
status?: number
}
export interface DetailForm {
billNumber?: string
orderNumber?:string
subOrderNumber?: string
rows?: number
page?: number
infoId?: number
}
......@@ -24,25 +24,10 @@
</div>
<div class="right">
<div class="delivery-note-page flex-column card h-100 overflow-hidden">
<splitDiv size="70">
<splitDiv size="50">
<template #top>
<div class="header-filter-form">
<ElForm :model="searchForm" inline>
<!-- <ElFormItem label="客户">
<ElSelect
v-model="searchForm.user_mark"
clearable
placeholder="请选择客户"
style="width: 130px"
>
<ElOption
v-for="item in nameSpaceList"
:key="item"
:label="item"
:value="item"
></ElOption>
</ElSelect>
</ElFormItem> -->
<ElFormItem label="账期">
<el-date-picker
v-model="dateRange"
......@@ -60,14 +45,6 @@
/>
</ElFormItem>
<ElFormItem label="发货单号">
<ElInput
v-model="searchForm.bill_number"
clearable
placeholder="发货单号"
style="width: 130px"
/>
</ElFormItem>
<ElFormItem label="对账单号">
<ElInput
v-model="searchForm.rec_number"
......@@ -76,30 +53,22 @@
style="width: 160px"
/>
</ElFormItem>
<!-- <ElFormItem label="物流跟踪号">
<ElInput
v-model="searchForm.logisticsTracking"
placeholder="物流跟踪号"
clearable
style="width: 160px"
></ElInput>
</ElFormItem> -->
<!-- <ElFormItem label="物流名称">
<ElFormItem label="发货单号">
<ElInput
v-model="searchForm.carriageName"
placeholder="物流名称"
v-model="searchForm.bill_number"
clearable
placeholder="发货单号"
style="width: 160px"
></ElInput>
</ElFormItem> -->
<!-- <ElFormItem label="收货人">
/>
</ElFormItem>
<ElFormItem style="margin-right: 10px" label="订单号">
<ElInput
v-model="searchForm.lanshou_name"
placeholder="收货人"
v-model="searchForm.order_number"
clearable
placeholder="订单号"
style="width: 160px"
></ElInput>
</ElFormItem> -->
/>
</ElFormItem>
<ElFormItem>
<ElButton type="primary" @click="search">查询</ElButton>
......@@ -313,81 +282,8 @@
header-align="center"
align="center"
></ElTableColumn>
<!-- <ElTableColumn
label="发货数量"
show-overflow-tooltip
prop="shipment_num"
header-align="center"
align="center"
></ElTableColumn>
<ElTableColumn
label="质检通过总价"
show-overflow-tooltip
prop="total_price"
width="200"
header-align="center"
align="center"
></ElTableColumn>
<ElTableColumn
label="收货人"
show-overflow-tooltip
width="200"
prop="lanshou_name"
header-align="center"
align="center"
></ElTableColumn>
<ElTableColumn
label="物流跟踪号"
width="200"
show-overflow-tooltip
prop="logisticsTracking"
header-align="center"
align="center"
></ElTableColumn>
<ElTableColumn
label="物流名称"
width="200"
show-overflow-tooltip
prop="carriageName"
header-align="center"
align="center"
></ElTableColumn>
<ElTableColumn
label="收货人电话"
show-overflow-tooltip
prop="lanshouPhone"
header-align="center"
align="center"
width="180"
></ElTableColumn>
<ElTableColumn
label="揽收区域"
show-overflow-tooltip
width="200"
prop="lanshouRegion"
header-align="center"
align="center"
></ElTableColumn>
<ElTableColumn
label="揽收地址"
show-overflow-tooltip
prop="lanshouAddress"
width="200"
header-align="center"
align="center"
></ElTableColumn>
<ElTableColumn
label="揽收邮编"
show-overflow-tooltip
width="200"
prop="lanshouPost"
header-align="center"
align="center"
></ElTableColumn> -->
<ElTableColumn
label="创建时间"
show-overflow-tooltip
width="200"
......@@ -395,27 +291,6 @@
header-align="center"
align="center"
></ElTableColumn>
<!-- <ElTableColumn
label="操作"
fixed="right"
header-align="center"
align="center"
prop="operation"
width="80"
>
<template #default="{ row }">
<div>
<ElButton
v-if="nodeId === 1"
type="primary"
link
@click="onEditOrder(row)"
>编辑
</ElButton>
</div>
</template>
</ElTableColumn> -->
</ElTable>
</div>
<ElPagination
......@@ -432,91 +307,137 @@
</div>
</template>
<template #bottom>
<el-tabs v-model="tabsValue">
<el-tabs v-model="tabsValue" @tab-click="tabsClick">
<el-tab-pane name="0" label="发货单详情">
<ElTable size="small" :data="detailList" height="100%" border>
<ElTableColumn
show-overflow-tooltip
width="60"
align="center"
label="序号"
type="index"
/>
<ElTableColumn
show-overflow-tooltip
align="center"
label="单号"
prop="factory_order_number"
/>
<!-- <ElTableColumn
<el-form :model="detailForm" inline>
<el-form-item label="发货单号">
<el-input
v-model="detailForm.billNumber"
placeholder="请输入发货单号"
clearable
style="width: 130px"
/>
</el-form-item>
<el-form-item label="订单号">
<el-input
v-model="detailForm.orderNumber"
placeholder="请输入订单号"
clearable
style="width: 130px"
/>
</el-form-item>
<el-form-item label="生产单号">
<el-input
v-model="detailForm.subOrderNumber"
placeholder="请输入订单号"
clearable
style="width: 130px"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="searchDetail"
>查询</el-button
>
</el-form-item>
</el-form>
<div class="table-wrap">
<ElTable size="small" :data="detailList" height="100%" border>
<ElTableColumn
show-overflow-tooltip
width="60"
align="center"
label="序号"
type="index"
/>
<ElTableColumn
show-overflow-tooltip
align="center"
label="单号"
prop="factory_order_number"
/>
<!-- <ElTableColumn
show-overflow-tooltip
align="center"
label="ERP单号"
prop="erp_order_number"
/> -->
<ElTableColumn
show-overflow-tooltip
align="center"
label="发货单号"
prop="bill_number"
/>
<ElTableColumn
show-overflow-tooltip
align="center"
label="发货单号"
prop="bill_number"
/>
<ElTableColumn
show-overflow-tooltip
align="center"
label="发货数(件)"
prop="num"
/>
<ElTableColumn
show-overflow-tooltip
align="center"
label="发货数(件)"
prop="num"
/>
<ElTableColumn
show-overflow-tooltip
align="center"
label="质检通过(件)"
prop="pass_num"
/>
<ElTableColumn
show-overflow-tooltip
align="center"
label="质检不通过(件)"
prop="not_pass_num"
/>
<!-- <ElTableColumn
<ElTableColumn
show-overflow-tooltip
align="center"
label="质检通过(件)"
prop="pass_num"
/>
<ElTableColumn
show-overflow-tooltip
align="center"
label="质检不通过(件)"
prop="not_pass_num"
/>
<!-- <ElTableColumn
show-overflow-tooltip
align="center"
label="ERP价格"
prop="erp_price"
/> -->
<ElTableColumn
show-overflow-tooltip
align="center"
label="成本价(¥)"
prop="price"
/>
<ElTableColumn
show-overflow-tooltip
align="center"
label="物流价格(¥)"
prop="carriage_amount"
/>
<ElTableColumn
show-overflow-tooltip
align="center"
label="发货时间"
prop="shipment_time"
/>
<ElTableColumn
width="100"
align="center"
header-align="center"
label="操作"
>
<template #default="{ row }">
<ElButton type="primary" link @click="onDetail(row)"
>查看详情
</ElButton>
</template>
</ElTableColumn>
</ElTable>
<ElTableColumn
show-overflow-tooltip
align="center"
label="成本价(¥)"
prop="price"
/>
<ElTableColumn
show-overflow-tooltip
align="center"
label="物流价格(¥)"
prop="carriage_amount"
/>
<ElTableColumn
show-overflow-tooltip
align="center"
label="发货时间"
prop="shipment_time"
/>
<ElTableColumn
width="100"
align="center"
header-align="center"
label="操作"
>
<template #default="{ row }">
<ElButton type="primary" link @click="onDetail(row)"
>查看详情
</ElButton>
</template>
</ElTableColumn>
</ElTable>
</div>
<ElPagination
v-model:current-page="detailPager.page"
v-model:page-size="detailPager.rows"
:page-sizes="[100, 200, 300, 400]"
background
layout="total, sizes, prev, pager, next, jumper"
:total="detailPager.total"
style="margin: 10px auto 0; text-align: right"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
></ElPagination>
</el-tab-pane>
<el-tab-pane name="1" label="操作日志">
<ul
......@@ -609,6 +530,7 @@ import {
getShipmentOrderDetailById,
confirmOrderApi,
rejectOrderApi,
getLogListApi,
} from '@/api/order'
import { ref, onMounted, watch, nextTick } from 'vue'
......@@ -620,7 +542,7 @@ import {
LogList,
AccountStatementNoteSearchForm,
} from '@/types/api/billOrder.ts'
import { ShipmentOrderDetailData } from '@/types/api/deliveryNote'
import { DetailForm, ShipmentOrderDetailData } from '@/types/api/deliveryNote'
import shipmentOrderDetailInfo from '@/components/ShipmentOrderDetail.vue'
import ImageView from '@/components/ImageView.vue'
import { showConfirm } from '@/utils/ui'
......@@ -653,19 +575,6 @@ const logList = ref<LogList[]>([])
const nodeId = ref<number | string>(10)
const treeRef = ref<InstanceType<typeof ElTree>>()
// const editForm = ref<AccountStatementNote>({
// billNumber: '',
// lanshouAddress: '',
// shipmentId: '',
// totalPrice: '',
// shipmentNum: '',
// passNum: '',
// lanshouPost: '',
// lanshouName: '',
// lanshouPhone: '',
// totalAmount: '',
// })
const {
currentPage,
pageSize,
......@@ -714,30 +623,11 @@ const getTreeNum = async () => {
console.error(e)
}
}
// const onEditOrder = async (item: AccountStatementNote) => {
// try {
// const res = await getCustomJomallReconciliationById(item.id)
// editForm.value = res.data as never
// dialogVisible.value = true
// } catch (e) {
// // showError(e)
// }
// }
// const submitData = async () => {
// try {
// const res = await updateReconciliation(editForm.value)
// logList.value = res.data as never
// dialogVisible.value = false
// ElMessage.success('修改成功')
// search()
// } catch (e) {
// // showError(e)
// }
// }
const rowClick = (row: AccountStatementNote) => {
if (!row) {
currentRow.value = null
}
currentRow.value = row
tabsValue.value = '0'
tabsClick()
}
......@@ -747,12 +637,11 @@ const tabsClick = async () => {
logList.value = []
return
}
try {
const res = await getShipmentDetailsById(currentRow.value.id)
detailList.value = res.data.itemList || []
logList.value = res.data.logList || []
} catch (e) {
console.error(e)
await nextTick()
if (tabsValue.value === '0') {
searchDetail()
} else {
getLogList()
}
}
const handleSelectionChange = (v: AccountStatementNote[]) => {
......@@ -932,6 +821,36 @@ const onDetail = async (row: ItemList) => {
console.error(e)
}
}
const detailForm = ref({} as DetailForm)
const detailPager = ref({
page: 1,
rows: 100,
total: 0,
})
const searchDetail = async () => {
try {
const res = await getShipmentDetailsById({
...detailForm.value,
page: detailPager.value.page,
rows: detailPager.value.rows,
infoId: currentRow.value?.id,
})
detailList.value = res.data.records || []
detailPager.value.total = res.data.total
// logList.value = res.data.logList || []
} catch (e) {
console.error(e)
}
}
const getLogList = async () => {
try {
const res = await getLogListApi(currentRow.value?.id)
logList.value = res.data
// logList.value = res.data.logList || []
} catch (e) {
console.error(e)
}
}
onMounted(() => {
getTreeNum()
})
......@@ -1116,6 +1035,9 @@ $border: solid 1px #ddd;
.el-tab-pane {
height: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment