|
|
@@ -1,17 +1,11 @@
|
|
|
-水贝亿爵 - 我的交收 - 详情
|
|
|
+<!-- 水贝亿爵-我的交收-详情 -->
|
|
|
<template>
|
|
|
<app-modal direction="right" height="100%" v-model:show="showModal" :refresh="refresh">
|
|
|
<app-view class="g-form">
|
|
|
<template #header>
|
|
|
- <app-navbar title="交收详情" @back="closed">
|
|
|
- <template #right>
|
|
|
- <div class="button-more">
|
|
|
- <span>文件列表</span>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </app-navbar>
|
|
|
+ <app-navbar title="交收详情" @back="closed" />
|
|
|
</template>
|
|
|
- <div class="order-detail__container g-form__container">
|
|
|
+ <div class="g-form__container">
|
|
|
<CellGroup inset>
|
|
|
<Cell title="交收单号" :value="selectedRow.deliveryorderid" />
|
|
|
<Cell title="商品代码/名称" :value="selectedRow.goodscode + '/' + selectedRow.goodsname" />
|
|
|
@@ -23,83 +17,40 @@
|
|
|
<Cell title="冻结货款" :value="selectedRow.freezeamount" />
|
|
|
<Cell title="申请时间" :value="selectedRow.reqtime" />
|
|
|
</CellGroup>
|
|
|
+ <CellGroup inset>
|
|
|
+ <Cell title="订单明细" is-link @click="openComponent('orderList')" />
|
|
|
+ <Cell title="文件列表" is-link @click="openComponent('fileList')" />
|
|
|
+ </CellGroup>
|
|
|
</div>
|
|
|
- <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">
|
|
|
- <h5 :class="item.buyorsell === BuyOrSell.Buy ? 'g-price-up' : 'g-price-down'"> {{ item.buyorsell
|
|
|
- === BuyOrSell.Buy ? '买料订单: ' : '卖料订单: ' }}{{ item.tradeid
|
|
|
- }} </h5>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="g-order-list__content">
|
|
|
- <ul>
|
|
|
- <li>
|
|
|
- <span>订单重量:</span>
|
|
|
- <span>{{ item.holdqty }}{{ getGoodsUnitName(selectedRow.goodunitid)
|
|
|
- }}</span>
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- <span>交收重量:</span>
|
|
|
- <span>{{ item.deliveryqty }}{{
|
|
|
- getGoodsUnitName(selectedRow.goodunitid) }}</span>
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- <span>交收价格:</span>
|
|
|
- <span>{{ formatDecimal(item.deliveryprice) }}</span>
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- <span>交收货款:</span>
|
|
|
- <span>{{ item.deliveryamount }}</span>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <component ref="componentRef" v-bind="{ selectedRow }" :is="componentMap.get(componentId)"
|
|
|
+ @closed="closeComponent" v-if="componentId" />
|
|
|
</app-view>
|
|
|
</app-modal>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
-import { shallowRef, PropType } from 'vue'
|
|
|
+import { shallowRef, PropType, defineAsyncComponent } from 'vue'
|
|
|
import { CellGroup, Cell } from 'vant'
|
|
|
-import { formatDate, formatDecimal, parsePercent } from '@/filters'
|
|
|
-import AppModal from '@/components/base/modal/index.vue'
|
|
|
-import { getBuyOrSellName, getWrTradeTypeName } from '@/constants/order'
|
|
|
+import { useComponent } from '@/hooks/component'
|
|
|
import { getGoodsUnitName } from '@/constants/unit'
|
|
|
-import { useRequest } from '@/hooks/request'
|
|
|
-import { queryMyDeliveryofflinedetails } from '@/services/api/order'
|
|
|
-import { propsToAttrMap } from '@vue/shared'
|
|
|
-import { BuyOrSell } from '@/constants/order'
|
|
|
-
|
|
|
-const showModal = shallowRef(true)
|
|
|
-const refresh = shallowRef(false) // 是否刷新父组件数据
|
|
|
-const dataList = shallowRef<Model.MyDeliveryofflinedetailRsp[]>([]) // 订单明细
|
|
|
-const error = shallowRef(false)
|
|
|
+import AppModal from '@/components/base/modal/index.vue'
|
|
|
|
|
|
-const props = defineProps({
|
|
|
+defineProps({
|
|
|
selectedRow: {
|
|
|
type: Object as PropType<Model.MyTradeGoodsDeliveryOfflineRsp>,
|
|
|
required: true,
|
|
|
}
|
|
|
})
|
|
|
|
|
|
-// 查询订单明细
|
|
|
-const { pageIndex } = useRequest(queryMyDeliveryofflinedetails, {
|
|
|
- params: {
|
|
|
- deliveryorderid: props.selectedRow.deliveryorderid
|
|
|
- },
|
|
|
- onSuccess: (res) => {
|
|
|
- if (pageIndex.value === 1) {
|
|
|
- dataList.value = []
|
|
|
- }
|
|
|
- dataList.value.push(...res.data)
|
|
|
- },
|
|
|
- onError: () => {
|
|
|
- error.value = true
|
|
|
- }
|
|
|
-})
|
|
|
+const componentMap = new Map<string, unknown>([
|
|
|
+ ['orderList', defineAsyncComponent(() => import('./order-list/index.vue'))], // 订单明细
|
|
|
+ ['fileList', defineAsyncComponent(() => import('./file-list/index.vue'))], // 文件列表
|
|
|
+])
|
|
|
+
|
|
|
+const showModal = shallowRef(true)
|
|
|
+const refresh = shallowRef(false) // 是否刷新父组件数据
|
|
|
+
|
|
|
+const { componentRef, componentId, openComponent, closeComponent } = useComponent()
|
|
|
|
|
|
// 关闭弹窗
|
|
|
const closed = (isRefresh = false) => {
|