Handy_Cao 3 vuotta sitten
vanhempi
commit
ec9b1459d9

+ 15 - 33
src/business/order/index.ts

@@ -323,45 +323,27 @@ export function useQueryTHJPurchaseTransferOrder() {
 
 // 查询我的订单-转让/受让订单详情
 export function useQueryTTHJPurchaseTransferOrderDetail() {
-    const { dataList, total, pageIndex, pageSize, pageCount } = useDataTable<Model.THJPurchaseTransferOrderDetailRsp>()
+    const details = shallowRef<Partial<Model.THJPurchaseTransferOrderDetailRsp>>({})
     const loading = shallowRef(false)
     
-    const { route } = useNavigation()
-    const item = route.params.item
-    const order = shallowRef<Model.THJPurchaseTransferOrderRsp>()
-
-    if (item) {
-        order.value = JSON.parse(item.toString())
-    }
-
-    const getTHJPurchaseTransferOrderDetail = async () => {
-        const param = order.value
-        if (param) {
-            loading.value = true
-            await queryTHJPurchaseTransferOrderDetail({
-                data: {
-                    wrtradedetailid: param.wrtradedetailid
-                },
-                success: (res) => {
-                    total.value = res.total
-                    dataList.value = res.data
-                },
-                complete: () => {
-                    loading.value = false
-                }
-            })
-            return dataList.value
-        }
-        return Promise.reject('查询失败')
+    const getTHJPurchaseTransferOrderDetail = async (id: number) => {
+        loading.value = true
+        await queryTHJPurchaseTransferOrderDetail({
+            data: {
+                wrtradedetailid: id
+            },
+            success: (res) => {
+                details.value = res.data
+            },
+            complete: () => {
+                loading.value = false
+            }
+        })
     }
 
     return {
         loading,
-        dataList,
-        total,
-        pageIndex,
-        pageSize,
-        pageCount,
+        details,
         getTHJPurchaseTransferOrderDetail,
     }
 }

+ 74 - 170
src/business/trade/index.ts

@@ -11,7 +11,6 @@ import { spotPresaleDestingOrder,
          spotPresaleDeliveryConfirm, 
          spotPresaleBreachOfContractApply } from '@/services/api/trade'
 import { formatDate } from "@/filters";
-import { useNavigation } from '@/hooks/navigation'
 import Long from 'long'
 
 // 采购摘牌
@@ -51,39 +50,26 @@ export function useSpotPresaleDeliveryConfirm() {
     const { getUserId } = useLoginStore()
     const loading = shallowRef(false)
 
-    const { route } = useNavigation()
-    const item = route.params.item
-    const detail = shallowRef<Model.THJPurchaseTradeDetailRsp>()
 
-    if (item) {
-        detail.value = JSON.parse(item.toString())
-    }
-
-    const confirmSubmit = () => {
-        const param = detail.value
-
-        if (param) {
-            loading.value = true
-            return spotPresaleDeliveryConfirm({
-                data: {
-                    UserID: getUserId(),
+    const confirmSubmit = (id: number) => {
+        loading.value = true
+        return spotPresaleDeliveryConfirm({
+            data: {
+                UserID: getUserId(),
                 Remark: '',
-                WRTradeDetailID: Long.fromNumber(param.wrtradedetailid),
+                WRTradeDetailID: Long.fromNumber(id),
                 ClientSerialNo: v4(), // 客户端流水号
                 ClientType: ClientType.Web // 终端类型
-                },
-                complete: () => {
-                    loading.value = false
-                }
-            })
-        }
-        return Promise.reject('预售交收申请失败')
+            },
+            complete: () => {
+                loading.value = false
+            }
+        })
     }
 
     return {
         loading,
-        confirmSubmit,
-        detail
+        confirmSubmit
     }
 }
 
@@ -92,38 +78,24 @@ export function useSpotPresaleBreachOfContractApply() {
     const loading = shallowRef(false)
     const { getUserId } = useLoginStore()
 
-    const { route } = useNavigation()
-    const item = route.params.item
-    const detail = shallowRef<Model.THJPurchaseTradeDetailRsp>()
-
-    if (item) {
-        detail.value = JSON.parse(item.toString())
-    }
-
-    const applySubmit = () => {
-        const param = detail.value
-
-        if (param) {
-            loading.value = true
-            return spotPresaleBreachOfContractApply({
-                data: {
-                    UserID: getUserId(),
-                WRTradeDetailID: Long.fromNumber(param.wrtradedetailid),
+    const applySubmit = (id: number) => {
+        loading.value = true
+        return spotPresaleBreachOfContractApply({
+            data: {
+                UserID: getUserId(),
+                WRTradeDetailID: Long.fromNumber(id),
                 ClientSerialNo: v4(), // 客户端流水号
                 ClientType: ClientType.Web // 终端类型
-                },
-                complete: () => {
-                    loading.value = false
-                }
-            })
-        }
-        return Promise.reject('违约申请失败')
+            },
+            complete: () => {
+                loading.value = false
+            }
+        })
     }
 
     return {
         loading,
         applySubmit,
-        detail
     }
 }
 
@@ -138,36 +110,22 @@ export function useSpotPresalePlayment() {
         ClientSerialNo: v4(), // 客户端流水号
     })
 
-    const { route } = useNavigation()
-    const item = route.params.item
-    const detail = shallowRef<Model.THJPurchaseTradeDetailRsp>()
-
-    if (item) {
-        detail.value = JSON.parse(item.toString())
-    }
-
-    const playmentSubmit = () => {
-        const param = detail.value
-        
-        if (param) {
-            loading.value = true
-            return spotPresalePlayment({
-                data: {
-                    ...formData,
-                    WRTradeDetailID: Long.fromNumber(param.wrtradedetailid),
-                },
-                complete: () => {
-                    loading.value = false
-                }
-            })
-        }
-        return Promise.reject('付款失败')
+    const playmentSubmit = (id: number) => {
+        loading.value = true
+        return spotPresalePlayment({
+            data: {
+                ...formData,
+                WRTradeDetailID: Long.fromNumber(id),
+            },
+            complete: () => {
+                loading.value = false
+            }
+        })
     }
 
     return {
         loading,
-        playmentSubmit,
-        detail
+        playmentSubmit
     }
 }
 
@@ -182,42 +140,28 @@ export function useSpotPresaleTransferListing() {
         ClientSerialNo: v4(), // 客户端流水号
     })
 
-    const { route } = useNavigation()
-    const item = route.params.item
-    const detail = shallowRef<Model.THJPurchaseTradeDetailRsp>()
-
-    if (item) {
-        detail.value = JSON.parse(item.toString())
-    }
-
-    const listingSubmit = () => {
-        const param = detail.value
-
+    const listingSubmit = (id: number) => {
         /// 转让价格不能为0
         if (!formData.value.TransferPrice) {
             return Promise.reject('转让价格不能为0')
         }
+        loading.value = true
 
-        if (param) {
-            loading.value = true
-            return spotPresaleTransferListing({
-                data: {
-                    ...formData,
-                    WRTradeDetailID: Long.fromNumber(param.wrtradedetailid),
-                },
-                complete: () => {
-                    loading.value = false
-                }
-            })
-        }
-        return Promise.reject('预售转让失败')
+        return spotPresaleTransferListing({
+            data: {
+                ...formData,
+                WRTradeDetailID: Long.fromNumber(id),
+            },
+            complete: () => {
+                loading.value = false
+            }
+        })
     }
 
     return {
         loading,
         formData,
-        listingSubmit,
-        detail
+        listingSubmit
     }
 }
 
@@ -226,22 +170,12 @@ export function useSpotPresaleTransferCancel() {
     const loading = shallowRef(false)
     const { getUserId } = useLoginStore()
 
-    const { route } = useNavigation()
-    const item = route.params.item
-    const detail = shallowRef<Model.THJPurchaseTradeDetailRsp>()
-
-    if (item) {
-        detail.value = JSON.parse(item.toString())
-    }
-
-    const transferCancelSubmit = () => {
-        const param = detail.value
-        if (param) {
-            loading.value = true
+    const transferCancelSubmit = (id: number) => {
+        loading.value = true
             return spotPresaleTransferCancel({
                 data: {
                     UserID: getUserId(),
-                    WRTradeDetailID: Long.fromNumber(param.wrtradedetailid),
+                    WRTradeDetailID: Long.fromNumber(id),
                     ClientSerialNo: v4(), // 客户端流水号
                     ClientType: ClientType.Web // 终端类型
                 },
@@ -249,14 +183,11 @@ export function useSpotPresaleTransferCancel() {
                     loading.value = false
                 }
             })
-        }
-        return Promise.reject('转让撤销失败')
     }
 
     return {
         loading,
-        transferCancelSubmit,
-        detail
+        transferCancelSubmit
     }
 }
 
@@ -265,23 +196,13 @@ export function useSpotPresaleTransferDesting() {
     const loading = shallowRef(false)
     const { getUserId , getFirstAccountId} = useLoginStore()
 
-    const { route } = useNavigation()
-    const item = route.params.item
-    const detail = shallowRef<Model.THJPurchaseTradeDetailRsp>()
-
-    if (item) {
-        detail.value = JSON.parse(item.toString())
-    }
-
-    const destingSubmit = () => {
-        const param = detail.value
-        if (param) {
-            loading.value = true
+    const destingSubmit = (id: number) => {
+        loading.value = true
             return spotPresaleTransferDesting({
                 data: {
                     UserID: getUserId(),
                     AccountID: getFirstAccountId(),
-                    TransferID: Long.fromNumber(param.wrtradedetailid),
+                    TransferID: Long.fromNumber(id),
                     ClientSerialNo: v4(), // 客户端流水号
                     ClientType: ClientType.Web // 终端类型
                 },
@@ -289,15 +210,11 @@ export function useSpotPresaleTransferDesting() {
                     loading.value = false
                 }
             })
-        }
-        
-        return Promise.reject('预售转让失败')
     }
 
     return {
         loading,
-        destingSubmit,
-        detail
+        destingSubmit
     }
 }
 
@@ -306,41 +223,28 @@ export function useWrListingCancelOrder() {
     const loading = shallowRef(false)
     const { getUserId, getFirstAccountId, getLoginId } = useLoginStore()
 
-    const { route } = useNavigation()
-    const item = route.params.item
-    const detail = shallowRef<Model.WrOrderDetailRsp>()
-
-    if (item) {
-        detail.value = JSON.parse(item.toString())
-    }
-
-    const cancelSubmit = () => {
-        const param = detail.value
-        if (param) {
-            loading.value = true
-            return wrListingCancelOrder({
-                data: {
-                    UserID: getUserId(),
-                    AccountID: getFirstAccountId(),
-                    OperatorID: getLoginId(),
-                    OrderSrc: OrderSrc.ORDERSRC_CLIENT,
-                    OldWRTradeOrderID: Long.fromString(param.wrtradeorderid),
-                    ClientOrderTime: formatDate(new Date().toString(), 'YYYY-MM-DD HH:mm:ss'),
-                    ClientSerialNo: v4(), // 客户端流水号
-                    ClientType: ClientType.Web, // 终端类型
-                    BuyOrSell: param.buyorsell,
-                },
-                complete: () => {
-                    loading.value = false
-                }
-            })
-        }
-        return Promise.reject('撤销失败')
+    const cancelSubmit = (id: string, buyorsell: number) => {
+        loading.value = true
+        return wrListingCancelOrder({
+            data: {
+                UserID: getUserId(),
+                AccountID: getFirstAccountId(),
+                OperatorID: getLoginId(),
+                OrderSrc: OrderSrc.ORDERSRC_CLIENT,
+                OldWRTradeOrderID: Long.fromString(id),
+                ClientOrderTime: formatDate(new Date().toString(), 'YYYY-MM-DD HH:mm:ss'),
+                ClientSerialNo: v4(), // 客户端流水号
+                ClientType: ClientType.Web, // 终端类型
+                BuyOrSell: buyorsell,
+            },
+            complete: () => {
+                loading.value = false
+            }
+        })
     }
 
     return {
         loading,
-        cancelSubmit,
-        detail,
+        cancelSubmit
     }
 }

+ 74 - 50
src/packages/mobile/views/mine/order/detail/purchasetrade/index.vue

@@ -62,12 +62,20 @@ const { router } = useNavigation()
 /// 是否显示dialog
 const show = shallowRef(false)
 
-const { confirmSubmit, detail } = useSpotPresaleDeliveryConfirm()
+const { confirmSubmit } = useSpotPresaleDeliveryConfirm()
 const { applySubmit } = useSpotPresaleBreachOfContractApply()
 const { playmentSubmit } = useSpotPresalePlayment()
 const { transferCancelSubmit } = useSpotPresaleTransferCancel()
 const { listingSubmit, formData } = useSpotPresaleTransferListing()
 
+const { route } = useNavigation()
+const item = route.params.item
+const detail = shallowRef<Model.THJPurchaseTradeDetailRsp>()
+
+if (item) {
+    detail.value = JSON.parse(item.toString())
+}
+
 // 打开pdf文件
 const openPDF = (file?: string) => {
     if (file) {
@@ -77,88 +85,104 @@ const openPDF = (file?: string) => {
 
 /// 确认交收
 const spotConfirmSubmit = () => {
-    dialog('确认要交收吗?', {
+    const param = detail.value
+    if (param) {
+        dialog('确认要交收吗?', {
         showCancelButton: true
     }).then(() => {
         fullloading((hideLoading) => {
-            confirmSubmit().then(() => {
-                hideLoading()
-                dialog('确认交收提交成功,请耐心等待审核。').then(() => {
-                    router.back()
+                confirmSubmit(param.wrtradedetailid).then(() => {
+                    hideLoading()
+                    dialog('确认交收提交成功,请耐心等待审核。').then(() => {
+                        router.back()
+                    })
+                }).catch((err) => {
+                    Toast.fail(err)
                 })
-            }).catch((err) => {
-                Toast.fail(err)
             })
         })
-    })
+    }
 }
 
 /// 违约申请
 const spotApplySubmit = () => {
-    dialog('确认要违约吗?', {
-        showCancelButton: true
-    }).then(() => {
-        fullloading((hideLoading) => {
-            applySubmit().then(() => {
-                hideLoading()
-                dialog('违约提交成功,请耐心等待审核。').then(() => {
-                    router.back()
+    const param = detail.value
+    if (param) {
+        dialog('确认要违约吗?', {
+            showCancelButton: true
+        }).then(() => {
+            fullloading((hideLoading) => {
+                applySubmit(param.wrtradedetailid).then(() => {
+                    hideLoading()
+                    dialog('违约提交成功,请耐心等待审核。').then(() => {
+                        router.back()
+                    })
+                }).catch((err) => {
+                    Toast.fail(err)
                 })
-            }).catch((err) => {
-                Toast.fail(err)
             })
         })
-    })
+    }
 }
 
 /// 支付申请
 const spotPlaymentSubmit = () => {
-    dialog('确认要付款吗?', {
-        showCancelButton: true
-    }).then(() => {
-        fullloading((hideLoading) => {
-            playmentSubmit().then(() => {
-                hideLoading()
-                dialog('付款提交成功,请耐心等待审核。').then(() => {
-                    router.back()
+    const param = detail.value
+    if (param) {
+        dialog('确认要付款吗?', {
+            showCancelButton: true
+        }).then(() => {
+            fullloading((hideLoading) => {
+                playmentSubmit(param.wrtradedetailid).then(() => {
+                    hideLoading()
+                    dialog('付款提交成功,请耐心等待审核。').then(() => {
+                        router.back()
+                    })
+                }).catch((err) => {
+                    Toast.fail(err)
                 })
-            }).catch((err) => {
-                Toast.fail(err)
             })
         })
-    })
+    }
 }
 
 ///合同转让申请
 const spotListingSubmit = () => {
-    fullloading((hideLoading) => {
-        listingSubmit().then(() => {
-            hideLoading()
-            dialog('合同转让提交成功,请耐心等待审核。').then(() => {
-                router.back()
+    const param = detail.value
+    if (param) {
+        fullloading((hideLoading) => {
+            listingSubmit(param.wrtradedetailid).then(() => {
+                hideLoading()
+                dialog('合同转让提交成功,请耐心等待审核。').then(() => {
+                    router.back()
+                })
+            }).catch((err) => {
+                Toast.fail(err)
             })
-        }).catch((err) => {
-            Toast.fail(err)
         })
-    })
+    }
 }
 
 /// 转让撤销申请
 const spotCancelSubmit = () => {
-    dialog('确认要转让撤销吗?', {
-        showCancelButton: true
-    }).then(() => {
-        fullloading((hideLoading) => {
-            transferCancelSubmit().then(() => {
-                hideLoading()
-                dialog('转让撤销提交成功,请耐心等待审核。').then(() => {
-                    router.back()
+    const param = detail.value
+    if (param) {
+        dialog('确认要转让撤销吗?', {
+            showCancelButton: true
+        }).then(() => {
+            fullloading((hideLoading) => {
+                transferCancelSubmit(param.wrtradedetailid).then(() => {
+                    hideLoading()
+                    dialog('转让撤销提交成功,请耐心等待审核。').then(() => {
+                        router.back()
+                    })
+                }).catch((err) => {
+                    Toast.fail(err)
                 })
-            }).catch((err) => {
-                Toast.fail(err)
             })
         })
-    })
+    }
+    
 }
 
 /// 是否显示Dialog

+ 73 - 0
src/packages/mobile/views/mine/order/detail/transfer/index.vue

@@ -3,10 +3,83 @@
         <template #header>
             <app-navbar title="转让订单详情" />
         </template>
+        <div v-if="detail" class="transfer-detail__container g-form__container">
+            <CellGroup title="转让信息">
+                <Cell title="商品" :value="details.wrstandardname" />
+                <Cell title="仓库" :value="details.warehousename" />
+                <Cell title="转让价格" :value="details.transferprice" />
+                <Cell title="转让数量" :value="detail.transferqty" />
+                <Cell title="转让金额" :value="details.transferamount" />
+                <Cell title="预售价格" :value="details.tradeprice" />
+                <Cell title="已付定金" :value="details.payeddeposit" />
+                <Cell title="转让状态" :value="details.transferstatus" />
+                <Cell title="受让人" :value="details.buyusername" />
+                <Cell title="转让单号" :value="detail.wrtradedetailid" />
+                <Cell title="合同单号" :value="details.wrstandardid" v-if="details.transferstatus === 4" :is-link="!!details.contractaddrbuy"
+                    @click="openPDF(details?.contractaddrbuy)" />
+            </CellGroup>
+        </div>
+        <div v-else>
+            <Empty />
+        </div>
+        <template #footer>
+            <div class="g-form__footer" v-if="detail">
+                <Button block round type="primary" v-if="details.transferstatus === 1" @click="spotCancelSubmit">合同转让</Button>
+            </div>
+        </template>
     </app-view>
 </template>
 
 <script lang="ts" setup>
+import { shallowRef } from 'vue'
+import { useNavigation } from '@/hooks/navigation'
+import { fullloading, dialog } from '@/utils/vant'
+import { CellGroup, Cell, Empty, Button, Toast } from 'vant'
+import { getUrl } from '@/filters'
+import { useSpotPresaleTransferCancel } from "@/business/trade";
+import { useQueryTTHJPurchaseTransferOrderDetail } from "@/business/order";
+
+const { router } = useNavigation()
+const { transferCancelSubmit } = useSpotPresaleTransferCancel()
+const {getTHJPurchaseTransferOrderDetail, details} = useQueryTTHJPurchaseTransferOrderDetail()
+const { route } = useNavigation()
+const item = route.params.item
+const detail = shallowRef<Model.THJPurchaseTransferOrderRsp>()
+
+if (item) {
+    detail.value = JSON.parse(item.toString())
+}
+
+// 打开pdf文件
+const openPDF = (file?: string) => {
+    if (file) {
+        window.open(getUrl(file).href)
+    }
+}
+/// 查询数据
+getTHJPurchaseTransferOrderDetail(detail.value?.wrtradedetailid ?? 0)
+
+/// 转让撤销申请
+const spotCancelSubmit = () => {
+    const param = detail.value
+    if (param) {
+        dialog('确认要转让撤销吗?', {
+            showCancelButton: true
+        }).then(() => {
+            fullloading((hideLoading) => {
+                transferCancelSubmit(param.wrtradedetailid).then(() => {
+                    hideLoading()
+                    dialog('转让撤销提交成功,请耐心等待审核。').then(() => {
+                        router.back()
+                    })
+                }).catch((err) => {
+                    Toast.fail(err)
+                })
+            })
+        })
+    }
+    
+}
 
 </script>
 

+ 24 - 13
src/packages/mobile/views/mine/order/detail/wrorder/index.vue

@@ -30,7 +30,7 @@
 </template>
 
 <script lang="ts" setup>
-
+import { shallowRef } from 'vue'
 import { useNavigation } from '@/hooks/navigation'
 import { fullloading, dialog } from '@/utils/vant'
 import { CellGroup, Cell, Empty, Button, Toast } from 'vant'
@@ -38,25 +38,36 @@ import { formatDate } from "@/filters";
 import { useWrListingCancelOrder } from "@/business/trade"
 
 const { router } = useNavigation()
+const { route } = useNavigation()
+const item = route.params.item
+const detail = shallowRef<Model.WrOrderDetailRsp>()
+
+if (item) {
+    detail.value = JSON.parse(item.toString())
+}
 
-const { cancelSubmit, detail } = useWrListingCancelOrder()
+const { cancelSubmit } = useWrListingCancelOrder()
 
 /// 确认交收
 const spotConfirmSubmit = () => {
-    dialog('确认要撤销吗?', {
-        showCancelButton: true
-    }).then(() => {
-        fullloading((hideLoading) => {
-            cancelSubmit().then(() => {
-                hideLoading()
-                dialog('撤销请求成功,请耐心等待审核。').then(() => {
-                    router.back()
+    const param = detail.value
+    if (param) {
+        dialog('确认要撤销吗?', {
+            showCancelButton: true
+        }).then(() => {
+            fullloading((hideLoading) => {
+                cancelSubmit(param.wrtradeorderid, param.buyorsell).then(() => {
+                    hideLoading()
+                    dialog('撤销请求成功,请耐心等待审核。').then(() => {
+                        router.back()
+                    })
+                }).catch((err) => {
+                    Toast.fail(err)
                 })
-            }).catch((err) => {
-                Toast.fail(err)
             })
         })
-    })
+    }
+    
 }
 
 </script>

+ 1 - 1
src/services/api/order/index.ts

@@ -60,6 +60,6 @@ import { HttpParams } from '@/services/http/interface'
 /**
  * 查询我的订单-转让/受让订单-详情
  */
- export function queryTHJPurchaseTransferOrderDetail(params: HttpParams<{ req: Model.THJPurchaseTransferOrderDetailReq, rsp: Model.THJPurchaseTransferOrderDetailRsp[] }>) {
+ export function queryTHJPurchaseTransferOrderDetail(params: HttpParams<{ req: Model.THJPurchaseTransferOrderDetailReq, rsp: Model.THJPurchaseTransferOrderDetailRsp }>) {
     return httpRequest('/Ferroalloy/QueryTHJPurchaseTransferOrderDetail', 'get', params);
 }