Bläddra i källkod

任务#5916 任务#5915

Handy_Cao 1 år sedan
förälder
incheckning
f47db340e1

+ 21 - 1
public/config/router.json

@@ -556,6 +556,26 @@
             {
                 "authType": 1,
                 "sort": 4,
+                "title": "点选交收",
+                "code": "query_presell",
+                "url": "presell",
+                "urlType": 1,
+                "component": "Main",
+                "children": [
+                    {
+                        "authType": 1,
+                        "sort": 1,
+                        "title": "点选交收",
+                        "code": "query_presell_onlinedelivery",
+                        "url": "buy",
+                        "urlType": 1,
+                        "component": "views/query/presell/onlinedelivery/index.vue"
+                    }
+                ]
+            },
+            {
+                "authType": 1,
+                "sort": 5,
                 "title": "履约查询",
                 "code": "query_performance",
                 "url": "performance",
@@ -616,7 +636,7 @@
             },
             {
                 "authType": 1,
-                "sort": 5,
+                "sort": 6,
                 "title": "出入金申请记录",
                 "code": "query_inoutapply",
                 "url": "inoutapply",

+ 36 - 16
src/packages/mobile/views/order/delivery/Index.vue

@@ -1,31 +1,51 @@
 <template>
     <app-view>
         <template #header>
-            <app-navbar title="交收提货" />
+            <app-navbar title="交收提货" >
+                <template #right v-if="selectedComponent.history">
+                    <div class="button-more" @click="openComponent(selectedComponent.name)">
+                        <span>更多</span>
+                    </div>
+                </template>
+            </app-navbar>
         </template>
         <Tabs class="van-tabs--list" v-model:active="active" :swipe-threshold="4">
-            <Tab title="点选交收单">
-                <component :is="componentMap.get('online')" />
-            </Tab>
-            <Tab title="线下交收单">
-                <component :is="componentMap.get('offline')" />
-            </Tab>
-            <Tab title="现货提货单">
-                <component :is="componentMap.get('spot')" />
-            </Tab>
+            <template v-for="(item, index) in components" :key="index">
+                <Tab :title="item.title" :name="index">
+                    <component :is="item.component" />
+                </Tab>
+            </template>
         </Tabs>
+        <component ref="componentRef" :is="selectedComponent.history" @closed="closeComponent"
+            v-if="componentId && selectedComponent.history" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
-import { shallowRef, defineAsyncComponent } from 'vue'
+import { shallowRef, defineAsyncComponent, computed } from 'vue'
 import { Tab, Tabs } from 'vant'
+import { useComponent } from '@/hooks/component'
 
-const componentMap = new Map<string, unknown>([
-    ['online', defineAsyncComponent(() => import('./components/online/list/Index.vue'))], // 点选交收单
-    ['offline', defineAsyncComponent(() => import('./components/offline/list/Index.vue'))], // 线下交收单
-    ['spot', defineAsyncComponent(() => import('./components/spot/list/Index.vue'))], // 现货提货单
-])
+const components = [
+    {
+        name: 'goodsorder',
+        title: '点选交收单',
+        component: defineAsyncComponent(() => import('./components/online/list/Index.vue')),
+        history: defineAsyncComponent(() => import('./components/online/history/Index.vue')),
+    },
+    {
+        name: 'goodstrade',
+        title: '线下交收单',
+        component: defineAsyncComponent(() => import('./components/offline/list/Index.vue'))
+    },
+    {
+        name: 'listingorder',
+        title: '现货提货单',
+        component: defineAsyncComponent(() => import('./components/spot/list/Index.vue')),
+    }
+]
 
 const active = shallowRef(0)
+const selectedComponent = computed(() => components[active.value])
+const { componentRef, componentId, openComponent, closeComponent } = useComponent()
 </script>

+ 134 - 0
src/packages/mobile/views/order/delivery/components/online/history/Index.vue

@@ -0,0 +1,134 @@
+<!-- 交收提货 - 点选交收单 - 历史订单 -->
+<template>
+    <app-modal direction="right-top" height="100%" width="100%" v-model:show="showModal" :refresh="refresh">
+        <app-view class="g-form">
+            <template #header>
+                <app-navbar title="历史点选交收单" @back="closed">
+                    <template #footer>
+                        <Cell title="查询日期" :value="dateRange.join('-')" @click="showCalendar = true" is-link />
+                    </template>
+                </app-navbar>
+            </template>
+            <app-pull-refresh ref="pullRefreshRef" v-model:loading="loading" v-model:error="error" v-model:pageIndex="pageIndex"
+        :page-count="pageCount" @refresh="onRefresh">
+                <div class="g-order-list">
+                    <div class="g-order-list__box" v-for="(item, index) in dataList" :key="index">
+                        <div class="g-order-list__titlebar">
+                            <div class="left">
+                                <h4>{{ item.wrtypename }}</h4>
+                            </div>
+                            <div class="right">
+                                <span>{{ item.warehousename }}</span>
+                            </div>
+                        </div>
+                        <div class="g-order-list__content">
+                            <ul>
+                                <li>
+                                    <span>交收数量</span>
+                                    <span>{{ item.deliveryqty }}</span>
+                                </li>
+                                <li>
+                                    <span>订货价</span>
+                                    <span>{{ item.xdeliveryprice }}</span>
+                                </li>
+                                <li>
+                                    <span>升贴水</span>
+                                    <span>{{ item.deliverypricemove }}</span>
+                                </li>
+                                <li>
+                                    <span>剩余金额</span>
+                                    <span>{{ item.remaintotalamount }}</span>
+                                </li>
+                                <li>
+                                    <span>申请日期</span>
+                                    <span>{{ formatDate(item.deliverytime, 'YYYY-MM-DD') }}</span>
+                                </li>
+                            </ul>
+                        </div>
+                        <div class="g-order-list__btnbar">
+                            <Button size="small" @click="showComponent('detail', item)" round>详情</Button>
+                        </div>
+                    </div>
+                </div>
+                <component ref="componentRef" v-bind="{ selectedRow }" :is="componentMap.get(componentId)" @closed="closeComponent"
+                    v-if="componentId" />
+                <Calendar v-model:show="showCalendar" type="range" :max-date="new Date()"
+                    :min-date="moment().subtract(1, 'years').toDate()" @confirm="onConfirm" />
+            </app-pull-refresh>
+        </app-view>
+    </app-modal>
+</template>
+
+<script lang="ts" setup>
+import { shallowRef, ref, defineAsyncComponent } from 'vue'
+import { useRequest } from '@/hooks/request'
+import { queryWrDeliveryDetail } from '@/services/api/transfer'
+import { formatDate } from '@/filters'
+import { useComponent } from '@/hooks/component'
+import { Button, Calendar, Cell } from 'vant'
+import moment from 'moment'
+import AppModal from '@/components/base/modal/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
+
+const dataList = shallowRef<Model.WrDeliveryDetailRsp[]>([])
+const showModal = shallowRef(true)
+const selectedRow = shallowRef<Model.WrDeliveryDetailRsp>()
+const error = shallowRef(false)
+const pullRefreshRef = shallowRef()
+const refresh = shallowRef(false) // 是否刷新父组件数据
+const showCalendar = shallowRef(false) // 是否显示日期选择器
+const dateRange = ref<string[]>([]) // 日期范围
+
+const { componentRef, componentId, openComponent, closeComponent } = useComponent(() => {
+    pullRefreshRef.value?.refresh()
+})
+
+const componentMap = new Map<string, unknown>([
+    ['detail', defineAsyncComponent(() => import('../detail/Index.vue'))],
+])
+
+const { loading, pageIndex, pageCount, run } = useRequest(queryWrDeliveryDetail, {
+    manual: true,
+    onSuccess: (res) => {
+        if (pageIndex.value === 1) {
+            dataList.value = []
+        }
+        dataList.value.push(...res.data)
+    },
+    onError: () => {
+        error.value = true
+    }
+})
+
+const showComponent = (componentName: string, row: Model.WrDeliveryDetailRsp) => {
+    selectedRow.value = row
+    openComponent(componentName)
+}
+
+// 选择日期
+const onConfirm = ([start, end]: Date[]) => {
+    showCalendar.value = false
+    dateRange.value = [formatDate(start.toISOString(), 'YYYYMMDD'), formatDate(end.toISOString(), 'YYYYMMDD')]
+    pageIndex.value = 1
+    pullRefreshRef.value?.refresh()
+}
+
+const onRefresh = () => {
+    const [startDate, endDate] = dateRange.value
+    run({
+        begindate: startDate,
+        enddate: endDate,
+    })
+}
+
+// 关闭弹窗
+const closed = (isRefresh = false) => {
+    refresh.value = isRefresh
+    showModal.value = false
+}
+
+// 暴露组件属性给父组件调用
+defineExpose({
+    closed,
+})
+</script>

+ 10 - 8
src/packages/mobile/views/order/performance/Index.vue

@@ -2,6 +2,11 @@
     <app-view>
         <template #header>
             <app-navbar title="履约信息">
+                <template #right>
+                    <div class="button-more" @click="openComponent('history')">
+                        <span>更多</span>
+                    </div>
+                </template>
                 <template #footer>
                     <Tabs v-model:active="buyorsell" @click="onTabChange">
                         <Tab title="买履约" />
@@ -52,10 +57,6 @@
                                 <span>卖方已收</span>
                                 <span>{{ item.sellreceivedamount }}</span>
                             </li>
-                            <!-- <li>
-                                <span>步骤到期日期</span>
-                                <span>{{ formatDate(item.curstepdeadline, 'YYYY-MM-DD') }}</span>
-                            </li> -->
                         </ul>
                     </div>
                     <div class="g-order-list__btnbar">
@@ -66,7 +67,7 @@
                     </div>
                 </div>
             </div>
-            <component ref="componentRef" v-bind="{ selectedRow }" :is="componentMap.get(componentId)"
+            <component ref="componentRef" v-bind="{ selectedRow, buyorsell }" :is="componentMap.get(componentId)"
                 @closed="closeComponent" v-if="componentId" />
         </app-pull-refresh>
     </app-view>
@@ -84,9 +85,10 @@ import { getPerformanceStatusName, getPerformanceTypeName } from '@/constants/or
 import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 
 const componentMap = new Map<string, unknown>([
-    ['detail', defineAsyncComponent(() => import('./components/detail/Index.vue'))], // 详情
-    ['modify', defineAsyncComponent(() => import('./components/modify/Index.vue'))], // 修改
-    ['breach', defineAsyncComponent(() => import('./components/breach/Index.vue'))], //  违约
+    ['detail', defineAsyncComponent(() => import('./components/detail/Index.vue'))],   // 详情
+    ['modify', defineAsyncComponent(() => import('./components/modify/Index.vue'))],   // 修改
+    ['breach', defineAsyncComponent(() => import('./components/breach/Index.vue'))],   //  违约
+    ['history', defineAsyncComponent(() => import('./components/history/Index.vue'))], //   历史
 ])
 
 const dataList = shallowRef<Model.PerformancePlanRsp[]>([])

+ 0 - 1
src/packages/mobile/views/order/performance/components/detail/Index.vue

@@ -17,7 +17,6 @@
                     <Cell title="买方已付" :value="formatDecimal(selectedRow.buypaidamount)" />
                     <Cell title="卖方已收" :value="formatDecimal(selectedRow.sellreceivedamount)" />
                     <Cell title="当前步骤" :value="handleNoneValue(selectedRow.curstepname)" />
-                    <!-- <Cell title="步骤到期时间" :value="formatDate(selectedRow.curstepdeadline)" /> -->
                     <Cell title="开始时间" :value="formatDate(selectedRow.starttime)" />
                     <Cell title="关联单号" :value="selectedRow.relatedorderid" />
                     <Cell title="履约单号" :value="selectedRow.performanceplanid" />

+ 152 - 0
src/packages/mobile/views/order/performance/components/history/Index.vue

@@ -0,0 +1,152 @@
+<template>
+    <app-modal direction="right-top" height="100%" width="100%" v-model:show="showModal" :refresh="refresh">
+        <app-view>
+            <template #header>
+                <app-navbar :title="buyorsell === 0 ? '买历史履约信息' : '卖历史履约信息'" @back="closed">
+                    <template #footer>
+                        <Cell title="查询日期" :value="dateRange.join('-')" @click="showCalendar = true" is-link />
+                    </template>
+                </app-navbar>
+            </template>
+            <app-pull-refresh ref="pullRefreshRef" v-model:loading="loading" v-model:error="error" v-model:pageIndex="pageIndex"
+                :page-count="pageCount" @refresh="onRefresh">
+                <div class="g-order-list">
+                    <div class="g-order-list__box" v-for="(item, index) in dataList" :key="index">
+                        <div class="g-order-list__titlebar">
+                            <div class="left">
+                                <h4>{{ item.wrstandardcode }}/{{ item.wrstandardname }}</h4>
+                            </div>
+                            <div class="right">
+                                <span>{{ getPerformanceStatusName(item.performancestatus) }}</span>
+                            </div>
+                        </div>
+                        <div class="g-order-list__content">
+                            <ul>
+                                <li>
+                                    <span>日期</span>
+                                    <span>{{ formatDate(item.createtime, 'YYYY-MM-DD') }}</span>
+                                </li>
+                                <li>
+                                    <span>类型</span>
+                                    <span>{{ getPerformanceTypeName(item.performancetype) }}</span>
+                                </li>
+                                <li>
+                                    <span>履约数量</span>
+                                    <span>{{ item.qty }}</span>
+                                </li>
+                                <li>
+                                    <span>履约金额</span>
+                                    <span>{{ item.amount }}</span>
+                                </li>
+                                <li>
+                                    <span>买方已付</span>
+                                    <span>{{ item.buypaidamount }}</span>
+                                </li>
+                                <li>
+                                    <span>当前步骤</span>
+                                    <span>{{ handleNoneValue(item.curstepname) }}</span>
+                                </li>
+                                <li>
+                                    <span>卖方已收</span>
+                                    <span>{{ item.sellreceivedamount }}</span>
+                                </li>
+                            </ul>
+                        </div>
+                        <div class="g-order-list__btnbar">
+                            <Button size="small" @click="showComponent('detail', item)" round>详情</Button>
+                        </div>
+                    </div>
+                </div>
+                <component ref="componentRef" v-bind="{ selectedRow }" :is="componentMap.get(componentId)"
+                    @closed="closeComponent" v-if="componentId" />
+                <Calendar v-model:show="showCalendar" type="range" :max-date="new Date()"
+                    :min-date="moment().subtract(1, 'years').toDate()" @confirm="onConfirm" />
+            </app-pull-refresh>
+        </app-view>
+    </app-modal>
+</template>
+
+<script lang="ts" setup>
+import { shallowRef, defineAsyncComponent, ref } from 'vue'
+import { useComponent } from '@/hooks/component'
+import { Button, Calendar, Cell } from 'vant'
+import { useRequest } from '@/hooks/request'
+import { queryPerformancePlan } from '@/services/api/performance'
+import { formatDate, handleNoneValue } from '@/filters'
+import { getPerformanceStatusName, getPerformanceTypeName } from '@/constants/order'
+import moment from 'moment'
+import AppModal from '@/components/base/modal/index.vue'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
+
+const props = defineProps({
+    buyorsell: {
+        type: Number,
+        required: true
+    }
+})
+
+const componentMap = new Map<string, unknown>([
+    ['detail', defineAsyncComponent(() => import('../detail/Index.vue'))], // 详情
+])
+
+const dataList = shallowRef<Model.PerformancePlanRsp[]>([])
+const showModal = shallowRef(true)
+const selectedRow = shallowRef<Model.PerformancePlanRsp>()
+const error = shallowRef(false)
+const pullRefreshRef = shallowRef()
+const refresh = shallowRef(false) // 是否刷新父组件数据
+const showCalendar = shallowRef(false) // 是否显示日期选择器
+const dateRange = ref<string[]>([]) // 日期范围
+
+const { componentRef, componentId, openComponent, closeComponent } = useComponent(() => {
+    pullRefreshRef.value?.refresh()
+})
+
+const { loading, pageIndex, pageCount, run } = useRequest(queryPerformancePlan, {
+    params: {
+        buyorsell: props.buyorsell
+    },
+    onSuccess: (res) => {
+        if (pageIndex.value === 1) {
+            dataList.value = []
+        }
+        dataList.value.push(...res.data)
+    },
+    onError: () => {
+        error.value = true
+    }
+})
+
+const showComponent = (componentName: string, row: Model.PerformancePlanRsp) => {
+    selectedRow.value = row
+    openComponent(componentName)
+}
+
+// 选择日期
+const onConfirm = ([start, end]: Date[]) => {
+    showCalendar.value = false
+    dateRange.value = [formatDate(start.toISOString(), 'YYYYMMDD'), formatDate(end.toISOString(), 'YYYYMMDD')]
+    pageIndex.value = 1
+    pullRefreshRef.value?.refresh()
+}
+
+const onRefresh = () => {
+    const [startDate, endDate] = dateRange.value
+    run({
+        buyorsell: props.buyorsell,
+        begindate: startDate,
+        enddate: endDate
+    })
+}
+
+// 关闭弹窗
+const closed = (isRefresh = false) => {
+    refresh.value = isRefresh
+    showModal.value = false
+}
+
+// 暴露组件属性给父组件调用
+defineExpose({
+    closed,
+})
+</script>

+ 71 - 0
src/packages/pc/views/query/presell/onlinedelivery/index.vue

@@ -0,0 +1,71 @@
+<!-- 预售转让- 点选交收 -->
+<template>
+    <app-table :data="dataList" v-model:columns="tableColumns" :loading="loading">
+        <template #headerLeft>
+            <app-filter :options="filterOptons">
+                <template #before>
+                    <el-date-picker type="daterange" effect="dark" start-placeholder="开始日期" end-placeholder="结束日期" value-format="YYYYMMDD"
+                        v-model="filterDate" />
+                </template>
+            </app-filter>
+        </template>
+        <!-- 交收数量 -->
+        <template #deliveryqty="{ row }">
+            {{ row.deliveryqty + row.enumdicname }}
+        </template>
+        <!-- 交收合约 -->
+        <template #xgoodsname="{ row }">
+            {{ row.xgoodscode }}/{{ row.xgoodsname }}
+        </template>
+        <!-- 申请时间 -->
+        <template #deliverytime="{ value }">
+            {{ formatDate(value) }}
+        </template>
+    </app-table>
+</template>
+
+<script lang="ts" setup>
+import { shallowRef } from 'vue'
+import { formatDate } from '@/filters'
+import { useDataFilter } from '@/hooks/datatable'
+import { useRequest } from '@/hooks/request'
+import { queryWrDeliveryDetail } from '@/services/api/transfer'
+import AppTable from '@pc/components/base/table/index.vue'
+import AppFilter from '@pc/components/base/table-filter/index.vue'
+
+const { filterOptons, getQueryParams } = useDataFilter<Model.WrDeliveryDetailReq>()
+const filterDate = shallowRef<string[]>([])
+
+const { loading, dataList, run } = useRequest(queryWrDeliveryDetail, {})
+
+const tableColumns = shallowRef<Model.TableColumn[]>([
+    { field: 'wrtypename', label: '商品名称' },
+    { field: 'deliveryqty', label: '交收数量' },
+    { field: 'xdeliveryprice', label: '订货价' },
+    { field: 'deliverypricemove', label: '升贴水' },
+    { field: 'deliverytotalamount', label: '总金额' },
+    { field: 'remaintotalamount', label: '剩余金额' },
+    { field: 'warehousename', label: '仓库' },
+    { field: 'matchusername', label: '发货方' },
+    { field: 'deliverytime', label: '申请时间' },
+    { field: 'xgoodsname', label: '交收合约' },
+    { field: 'deliveryid', label: '交收单号' }
+])
+
+filterOptons.buttonList = [
+    { lable: '查询', className: 'el-button--info', onClick: () => onSearch() },
+    { lable: '重置', className: 'el-button--info', onClick: () => onSearch(true) }
+]
+
+const onSearch = (clear = false) => {
+    if (clear) {
+        filterDate.value = []
+    }
+    getQueryParams((qs) => {
+        qs.begindate = filterDate.value[0]
+        qs.enddate = filterDate.value[1]
+        run(qs)
+    }, clear)
+}
+
+</script>

+ 36 - 16
src/packages/zrwyt/views/order/delivery/Index.vue

@@ -1,31 +1,51 @@
 <template>
     <app-view>
         <template #header>
-            <app-navbar title="交收提货" />
+            <app-navbar title="交收提货" >
+                <template #right v-if="selectedComponent.history">
+                    <div class="button-more" @click="openComponent(selectedComponent.name)">
+                        <span>更多</span>
+                    </div>
+                </template>
+            </app-navbar>
         </template>
         <Tabs class="van-tabs--list" v-model:active="active" :swipe-threshold="4">
-            <Tab title="点选交收单">
-                <component :is="componentMap.get('online')" />
-            </Tab>
-            <Tab title="线下交收单">
-                <component :is="componentMap.get('offline')" />
-            </Tab>
-            <Tab title="现货提货单">
-                <component :is="componentMap.get('spot')" />
-            </Tab>
+            <template v-for="(item, index) in components" :key="index">
+                <Tab :title="item.title" :name="index">
+                    <component :is="item.component" />
+                </Tab>
+            </template>
         </Tabs>
+        <component ref="componentRef" :is="selectedComponent.history" @closed="closeComponent"
+            v-if="componentId && selectedComponent.history" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
-import { shallowRef, defineAsyncComponent } from 'vue'
+import { shallowRef, defineAsyncComponent, computed } from 'vue'
 import { Tab, Tabs } from 'vant'
+import { useComponent } from '@/hooks/component'
 
-const componentMap = new Map<string, unknown>([
-    ['online', defineAsyncComponent(() => import('@mobile/views/order/delivery/components/online/list/Index.vue'))], // 点选交收单
-    ['offline', defineAsyncComponent(() => import('@mobile/views/order/delivery/components/offline/list/Index.vue'))], // 线下交收单
-    ['spot', defineAsyncComponent(() => import('@mobile/views/order/delivery/components/spot/list/Index.vue'))], // 现货提货单
-])
+const components = [
+    {
+        name: 'goodsorder',
+        title: '点选交收单',
+        component: defineAsyncComponent(() => import('./components/online/list/Index.vue')),
+        history: defineAsyncComponent(() => import('./components/online/history/Index.vue')),
+    },
+    {
+        name: 'goodstrade',
+        title: '线下交收单',
+        component: defineAsyncComponent(() => import('./components/offline/list/Index.vue'))
+    },
+    {
+        name: 'listingorder',
+        title: '现货提货单',
+        component: defineAsyncComponent(() => import('./components/spot/list/Index.vue')),
+    }
+]
 
 const active = shallowRef(0)
+const selectedComponent = computed(() => components[active.value])
+const { componentRef, componentId, openComponent, closeComponent } = useComponent()
 </script>

+ 36 - 16
src/packages/zrwyt2/views/order/delivery/Index.vue

@@ -1,31 +1,51 @@
 <template>
     <app-view>
         <template #header>
-            <app-navbar title="交收提货" />
+            <app-navbar title="交收提货" >
+                <template #right v-if="selectedComponent.history">
+                    <div class="button-more" @click="openComponent(selectedComponent.name)">
+                        <span>更多</span>
+                    </div>
+                </template>
+            </app-navbar>
         </template>
         <Tabs class="van-tabs--list" v-model:active="active" :swipe-threshold="4">
-            <Tab title="点选交收单">
-                <component :is="componentMap.get('online')" />
-            </Tab>
-            <Tab title="线下交收单">
-                <component :is="componentMap.get('offline')" />
-            </Tab>
-            <Tab title="现货提货单">
-                <component :is="componentMap.get('spot')" />
-            </Tab>
+            <template v-for="(item, index) in components" :key="index">
+                <Tab :title="item.title" :name="index">
+                    <component :is="item.component" />
+                </Tab>
+            </template>
         </Tabs>
+        <component ref="componentRef" :is="selectedComponent.history" @closed="closeComponent"
+            v-if="componentId && selectedComponent.history" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
-import { shallowRef, defineAsyncComponent } from 'vue'
+import { shallowRef, defineAsyncComponent, computed } from 'vue'
 import { Tab, Tabs } from 'vant'
+import { useComponent } from '@/hooks/component'
 
-const componentMap = new Map<string, unknown>([
-    ['online', defineAsyncComponent(() => import('@mobile/views/order/delivery/components/online/list/Index.vue'))], // 点选交收单
-    ['offline', defineAsyncComponent(() => import('@mobile/views/order/delivery/components/offline/list/Index.vue'))], // 线下交收单
-    ['spot', defineAsyncComponent(() => import('@mobile/views/order/delivery/components/spot/list/Index.vue'))], // 现货提货单
-])
+const components = [
+    {
+        name: 'goodsorder',
+        title: '点选交收单',
+        component: defineAsyncComponent(() => import('./components/online/list/Index.vue')),
+        history: defineAsyncComponent(() => import('./components/online/history/Index.vue')),
+    },
+    {
+        name: 'goodstrade',
+        title: '线下交收单',
+        component: defineAsyncComponent(() => import('./components/offline/list/Index.vue'))
+    },
+    {
+        name: 'listingorder',
+        title: '现货提货单',
+        component: defineAsyncComponent(() => import('./components/spot/list/Index.vue')),
+    }
+]
 
 const active = shallowRef(0)
+const selectedComponent = computed(() => components[active.value])
+const { componentRef, componentId, openComponent, closeComponent } = useComponent()
 </script>

+ 2 - 2
src/types/model/transfer.d.ts

@@ -246,8 +246,8 @@ declare namespace Model {
     interface WrDeliveryDetailReq {
         userid?: number; // 用户id
         accountid?: number; // 资金账号id
-        begindate?: number; // 开始交易日(yyyymmdd)
-        enddate?: number; // 结束交易日(yyyymmdd)
+        begindate?: string; // 开始交易日(yyyymmdd)
+        enddate?: string; // 结束交易日(yyyymmdd)
     }
 
     /** 查询交收 响应 */