Commit a925ab80 by zhuzhequan

ts 报错修改

parent 90b17694
import { BasePaginationData, BaseRespData } from '@/types/api' import { BasePaginationData, BaseRespData, StatisticsData } from '@/types/api'
import axios from './axios' import axios from './axios'
import { import {
LogListData, LogListData,
...@@ -9,9 +9,11 @@ import { ...@@ -9,9 +9,11 @@ import {
ShipmentForm, ShipmentForm,
ShipmentOrderRes, ShipmentOrderRes,
Tab, Tab,
InspectionData, InspectionData, CountStatus,
} from '@/types/api/order' } from '@/types/api/order'
import { import {
AccountStatementNote,
AccountStatementNoteSearchForm,
DeliveryNoteData, DeliveryNoteData,
DeliveryNoteSearchForm, DeliveryNoteSearchForm,
ProductionOrder, ProductionOrder,
...@@ -187,11 +189,11 @@ export function getDeliveryNoteList( ...@@ -187,11 +189,11 @@ export function getDeliveryNoteList(
) )
} }
export function customJomallReconciliation( export function customJomallReconciliation(
data: any, data: AccountStatementNoteSearchForm,
currentPage: number, currentPage: number,
pageSize: number, pageSize: number,
) { ) {
return axios.post<never, BasePaginationData<DeliveryNoteData>>( return axios.post<never, StatisticsData<AccountStatementNote>>(
'factory/customJomallReconciliation/list_page', 'factory/customJomallReconciliation/list_page',
{ {
...data, ...data,
...@@ -238,7 +240,7 @@ export function getOrderByIdApi(id?: number) { ...@@ -238,7 +240,7 @@ export function getOrderByIdApi(id?: number) {
) )
} }
export function getReconciliationAmount(id?: number) { export function getReconciliationAmount(id?: number) {
return axios.get<never, BaseRespData<OrderData>>( return axios.get<never, BaseRespData<CountStatus[]>>(
'factory/customJomallReconciliation/getReconciliationAmount', 'factory/customJomallReconciliation/getReconciliationAmount',
{ {
params: { params: {
...@@ -276,7 +278,7 @@ export function updateReconciliation( ...@@ -276,7 +278,7 @@ export function updateReconciliation(
data, data,
) )
} }
export function getShipmentDetailsById(shipmentId?: number) { export function getShipmentDetailsById(shipmentId?: string) {
return axios.get<never, BaseRespData<any>>( return axios.get<never, BaseRespData<any>>(
'factory/customJomallReconciliation/getShipmentDetailsById', 'factory/customJomallReconciliation/getShipmentDetailsById',
{ {
......
...@@ -5,8 +5,8 @@ import 'splitpanes/dist/splitpanes.css' ...@@ -5,8 +5,8 @@ import 'splitpanes/dist/splitpanes.css'
defineProps({ defineProps({
size: { size: {
default: 15, default: '15',
type: Number type: String
} }
}) })
</script> </script>
......
...@@ -10,6 +10,12 @@ export interface DeliveryNoteSearchForm { ...@@ -10,6 +10,12 @@ export interface DeliveryNoteSearchForm {
namespace?: string namespace?: string
shippingWay?: number shippingWay?: number
} }
export interface AccountStatementNoteSearchForm {
status?: string | null | number
startTime?: string
endTime?: string
}
export interface DeliveryNoteData { export interface DeliveryNoteData {
id: number id: number
...@@ -97,6 +103,7 @@ export interface ProductionOrder { ...@@ -97,6 +103,7 @@ export interface ProductionOrder {
} }
export interface AccountStatementNote{ export interface AccountStatementNote{
billNumber?:string billNumber?:string
shipmentId?:string
shipmentNum?:string shipmentNum?:string
dataVersion?:string dataVersion?:string
carriageName?:string carriageName?:string
......
export interface BaseRespData<D> { export interface BaseRespData<D> {
code: number code: number
message?: string message?: string
...@@ -5,10 +6,25 @@ export interface BaseRespData<D> { ...@@ -5,10 +6,25 @@ export interface BaseRespData<D> {
} }
export interface PaginationData<D> { export interface PaginationData<D> {
page?: PaginationData<D>
total: number total: number
size: number size: number
current: number current: number
records: D[] records: D[]
} }
export interface Statistics<D> {
sumNotPassNum: number
sumPassNum: number
sumShipmentNum: number
sumTotalPrice: number
page: {
total: number
size: number
current: number
records: D[]
}
}
export type BasePaginationData<D> = BaseRespData<PaginationData<D>> export type BasePaginationData<D> = BaseRespData<PaginationData<D>>
export type StatisticsData<D> = BaseRespData<Statistics<D>>
...@@ -12,6 +12,7 @@ export interface SearchForm { ...@@ -12,6 +12,7 @@ export interface SearchForm {
status?: number status?: number
subOrderNumber: string subOrderNumber: string
} }
export interface Tab { export interface Tab {
status: string status: string
statusCode: number statusCode: number
...@@ -19,6 +20,12 @@ export interface Tab { ...@@ -19,6 +20,12 @@ export interface Tab {
quantity: number quantity: number
} }
export interface CountStatus {
count?: number
status?: number
totalSum?: number
}
export interface OrderData { export interface OrderData {
id: number id: number
namespace?: string namespace?: string
...@@ -64,6 +71,7 @@ export interface OrderData { ...@@ -64,6 +71,7 @@ export interface OrderData {
moreable?: boolean moreable?: boolean
manuscriptStatus?: number manuscriptStatus?: number
} }
export interface ProductList { export interface ProductList {
id: number id: number
customOrderId?: number customOrderId?: number
...@@ -101,6 +109,7 @@ export interface MemoList { ...@@ -101,6 +109,7 @@ export interface MemoList {
remark?: string remark?: string
operatorTime?: string operatorTime?: string
} }
export interface SpanMethodProps { export interface SpanMethodProps {
row: OrderData row: OrderData
column: TableColumnCtx<OrderData> column: TableColumnCtx<OrderData>
...@@ -216,3 +225,26 @@ export interface InspectionData { ...@@ -216,3 +225,26 @@ export interface InspectionData {
version: number | string version: number | string
passCount: number | string passCount: number | string
} }
export interface Reconciliation {
status: string | number | null
startTime: string
endTime: string,
billNumber?:string
shipmentId?:string
shipmentNum?:string
dataVersion?:string
carriageName?:string
lanshouAddress?:string
totalPrice?:string
passNum?:string
lanshouPost?:string
notPassNum?:string
lanshouRegion?:string
orderNumber?:string
lanshouName?:string
lanshouPhone?:string
logisticsTracking?:string
totalAmount?:string
id?:number
}
import { Ref, onMounted, ref, reactive } from 'vue' import { Ref, onMounted, ref } from 'vue'
import { showError } from '../ui' import { showError } from '../ui'
import type { PaginationData } from '@/types/api' import type { PaginationData } from '@/types/api'
...@@ -21,7 +21,7 @@ export default function usePageList<T>(options: UsePageListOptions<T>) { ...@@ -21,7 +21,7 @@ export default function usePageList<T>(options: UsePageListOptions<T>) {
const total = ref(0) const total = ref(0)
const data = ref<T[]>([]) as Ref<T[]> const data = ref<T[]>([]) as Ref<T[]>
const statistics = ref(options.statistics || false) const statistics = ref(options.statistics || false)
const totalData = reactive({ const totalData = ref({
sumShipmentNum: 0, sumShipmentNum: 0,
sumPassNum: 0, sumPassNum: 0,
sumTotalPrice: 0, sumTotalPrice: 0,
...@@ -32,19 +32,20 @@ export default function usePageList<T>(options: UsePageListOptions<T>) { ...@@ -32,19 +32,20 @@ export default function usePageList<T>(options: UsePageListOptions<T>) {
try { try {
loading.value = true loading.value = true
// Promise 链式调用 // Promise 链式调用
let res:any = await query(currentPage.value, pageSize.value) const res = await query(currentPage.value, pageSize.value)
if (statistics.value) { if (statistics.value) {
totalData.sumNotPassNum = res.sumNotPassNum totalData.value = res as never
totalData.sumPassNum = res.sumPassNum total.value = res.page!.total
totalData.sumShipmentNum = res.sumShipmentNum currentPage.value = res.page!.current
totalData.sumTotalPrice = res.sumTotalPrice pageSize.value = res.page!.size
res = res.page data.value = res.page!.records
}else{
}
total.value = res.total total.value = res.total
currentPage.value = res.current currentPage.value = res.current
pageSize.value = res.size pageSize.value = res.size
data.value = res.records data.value = res.records
}
} catch (error) { } catch (error) {
showError(error) showError(error)
} finally { } finally {
......
<template> <template>
<div class="card flex-column h-100 overflow-hidden"> <div class="card flex-column h-100 overflow-hidden">
<split-div size="10">
<template #top>
<div class="header-filter"> <div class="header-filter">
<div class="header-filter-form"> <div class="header-filter-form">
<ElForm :model="searchForm" size="default" inline> <ElForm :model="searchForm" size="default" inline>
...@@ -8,7 +10,7 @@ ...@@ -8,7 +10,7 @@
v-model="searchForm.mainSku" v-model="searchForm.mainSku"
placeholder=" SKU" placeholder=" SKU"
clearable clearable
style="width: 160px" style="width: 130px"
@blur="searchForm.mainSku = searchForm.mainSku.trim()" @blur="searchForm.mainSku = searchForm.mainSku.trim()"
></ElInput> ></ElInput>
</ElFormItem> </ElFormItem>
...@@ -17,7 +19,7 @@ ...@@ -17,7 +19,7 @@
v-model="searchForm.endProductId" v-model="searchForm.endProductId"
placeholder="请输入成品ID" placeholder="请输入成品ID"
clearable clearable
style="width: 160px" style="width: 130px"
@blur="searchForm.endProductId = searchForm.endProductId.trim()" @blur="searchForm.endProductId = searchForm.endProductId.trim()"
></ElInput> ></ElInput>
</ElFormItem> </ElFormItem>
...@@ -26,7 +28,7 @@ ...@@ -26,7 +28,7 @@
v-model="searchForm.subOrderNumber" v-model="searchForm.subOrderNumber"
placeholder="生产单号" placeholder="生产单号"
clearable clearable
style="width: 160px" style="width: 130px"
@blur=" @blur="
searchForm.subOrderNumber = searchForm.subOrderNumber.trim() searchForm.subOrderNumber = searchForm.subOrderNumber.trim()
" "
...@@ -37,7 +39,7 @@ ...@@ -37,7 +39,7 @@
v-model="searchForm.orderNumber" v-model="searchForm.orderNumber"
placeholder="订单号" placeholder="订单号"
clearable clearable
style="width: 160px" style="width: 130px"
@blur="searchForm.orderNumber = searchForm.orderNumber.trim()" @blur="searchForm.orderNumber = searchForm.orderNumber.trim()"
></ElInput> ></ElInput>
</ElFormItem> </ElFormItem>
...@@ -46,7 +48,7 @@ ...@@ -46,7 +48,7 @@
v-model="searchForm.shopNumber" v-model="searchForm.shopNumber"
placeholder="店铺单号" placeholder="店铺单号"
clearable clearable
style="width: 160px" style="width: 130px"
@blur="searchForm.shopNumber = searchForm.shopNumber.trim()" @blur="searchForm.shopNumber = searchForm.shopNumber.trim()"
></ElInput> ></ElInput>
</ElFormItem> </ElFormItem>
...@@ -55,7 +57,7 @@ ...@@ -55,7 +57,7 @@
v-model="searchForm.internalMemo" v-model="searchForm.internalMemo"
placeholder="内部标签" placeholder="内部标签"
clearable clearable
style="width: 160px" style="width: 130px"
@blur="searchForm.internalMemo = searchForm.internalMemo.trim()" @blur="searchForm.internalMemo = searchForm.internalMemo.trim()"
></ElInput> ></ElInput>
</ElFormItem> </ElFormItem>
...@@ -64,7 +66,7 @@ ...@@ -64,7 +66,7 @@
v-model="searchForm.logisticsTracking" v-model="searchForm.logisticsTracking"
placeholder="物流跟踪号" placeholder="物流跟踪号"
clearable clearable
style="width: 160px" style="width: 130px"
@blur=" @blur="
searchForm.logisticsTracking = searchForm.logisticsTracking =
searchForm.logisticsTracking.trim() searchForm.logisticsTracking.trim()
...@@ -76,7 +78,7 @@ ...@@ -76,7 +78,7 @@
v-model="searchForm.billNumber" v-model="searchForm.billNumber"
placeholder="发货单号" placeholder="发货单号"
clearable clearable
style="width: 160px" style="width: 130px"
@blur="searchForm.billNumber = searchForm.billNumber.trim()" @blur="searchForm.billNumber = searchForm.billNumber.trim()"
></ElInput> ></ElInput>
</ElFormItem> </ElFormItem>
...@@ -85,7 +87,7 @@ ...@@ -85,7 +87,7 @@
v-model="searchForm.lanshouName" v-model="searchForm.lanshouName"
placeholder="收货人" placeholder="收货人"
clearable clearable
style="width: 160px" style="width: 130px"
></ElInput> ></ElInput>
</ElFormItem> </ElFormItem>
<ElFormItem> <ElFormItem>
...@@ -111,6 +113,8 @@ ...@@ -111,6 +113,8 @@
</div> </div>
</div> </div>
</div> </div>
</template>
<template #bottom>
<div class="order-content flex-1 flex-column overflow-hidden"> <div class="order-content flex-1 flex-column overflow-hidden">
<!-- 操作按钮 --> <!-- 操作按钮 -->
<div class="order-operate-btn"> <div class="order-operate-btn">
...@@ -597,11 +601,13 @@ ...@@ -597,11 +601,13 @@
background background
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="total" :total="total"
style="margin: 10px auto 0; text-align: right" style="margin: 10px auto 10px; text-align: right"
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
/> />
</div> </div>
</template>
</split-div>
</div> </div>
<el-dialog <el-dialog
v-model="shipmentVisible" v-model="shipmentVisible"
...@@ -721,7 +727,7 @@ ...@@ -721,7 +727,7 @@
<el-dialog <el-dialog
v-model="quarantineVisible" v-model="quarantineVisible"
title="质检" title="质检"
width="1600px" width="80%"
:close-on-click-modal="false" :close-on-click-modal="false"
@opened="onQaDialogOpened" @opened="onQaDialogOpened"
@close="onClose" @close="onClose"
...@@ -763,6 +769,7 @@ ...@@ -763,6 +769,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import Shipment from './Shipment.vue' import Shipment from './Shipment.vue'
import SplitDiv from '@/components/splitDiv/splitDiv.vue'
import type { import type {
SearchForm, SearchForm,
SpanMethodProps, SpanMethodProps,
...@@ -1243,6 +1250,7 @@ const onChangeCurrentRow = (item: ProductList) => { ...@@ -1243,6 +1250,7 @@ const onChangeCurrentRow = (item: ProductList) => {
.order-content { .order-content {
margin-top: 10px; margin-top: 10px;
height: 100%;
} }
.order-list { .order-list {
......
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