index.ts 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. import { ref, shallowRef } from 'vue'
  2. import { v4 } from 'uuid'
  3. import { ClientType, OrderSrc } from '@/constants/client'
  4. import { useLoginStore } from '@/stores'
  5. import { spotPresaleDestingOrder, spotPresalePlayment, wrListingCancelOrder, spotPresaleDeliveryConfirm, spotPresaleBreachOfContractConfirm, spotPresaleBreachOfContractApply } from '@/services/api/trade'
  6. import { formatDate } from "@/filters";
  7. // 采购摘牌
  8. export function usePurchaseOrderDesting() {
  9. const { getUserId, getFirstAccountId } = useLoginStore()
  10. const loading = shallowRef(false)
  11. const formData = ref<Partial<Proto.SpotPresaleDestingOrderReq>>({
  12. UserID: getUserId(), // 用户ID,必填
  13. AccountID: getFirstAccountId(), // 资金账号,必填
  14. ClientType: ClientType.Web // 终端类型
  15. })
  16. const formSubmit = () => {
  17. loading.value = true
  18. return spotPresaleDestingOrder({
  19. data: {
  20. ...formData.value,
  21. Qty: Number(formData.value.Qty),
  22. ClientSerialNo: v4() // 客户端流水号
  23. },
  24. complete: () => {
  25. loading.value = false
  26. }
  27. })
  28. }
  29. return {
  30. loading,
  31. formData,
  32. formSubmit,
  33. }
  34. }
  35. // 铁合金现货预售交收确认
  36. export function useSpotPresaleDeliveryConfirm() {
  37. const { getUserId } = useLoginStore()
  38. const loading = shallowRef(false)
  39. const confirmSubmit = (id: number) => {
  40. loading.value = true
  41. return spotPresaleDeliveryConfirm({
  42. data: {
  43. UserID: getUserId(),
  44. Remark: '',
  45. ClientType: ClientType.Web, // 终端类型
  46. WRTradeDetailID: id,
  47. ClientSerialNo: v4() // 客户端流水号
  48. },
  49. complete: () => {
  50. loading.value = false
  51. }
  52. })
  53. }
  54. return {
  55. loading,
  56. confirmSubmit,
  57. }
  58. }
  59. // 铁合金现货预售违约确认
  60. export function useSpotPresaleBreachOfContractConfirm() {
  61. const loading = shallowRef(false)
  62. const breachSubmit = (buyAmount: number, exchangeAmount: number, id: number ) => {
  63. loading.value = true
  64. return spotPresaleBreachOfContractConfirm({
  65. data: {
  66. HandleRemark: '',
  67. WRTradeDetailID: id,
  68. BuyAmount: buyAmount,
  69. ExchangeAmount: exchangeAmount,
  70. ClientSerialNo: v4(), // 客户端流水号
  71. ClientType: ClientType.Web // 终端类型
  72. },
  73. complete: () => {
  74. loading.value = false
  75. }
  76. })
  77. }
  78. return {
  79. loading,
  80. breachSubmit,
  81. }
  82. }
  83. // 铁合金现货预售违约确认
  84. export function useSpotPresaleBreachOfContractApply() {
  85. const loading = shallowRef(false)
  86. const { getUserId } = useLoginStore()
  87. const applySubmit = (id: number ) => {
  88. loading.value = true
  89. return spotPresaleBreachOfContractApply({
  90. data: {
  91. UserID: getUserId(),
  92. WRTradeDetailID: id,
  93. ClientSerialNo: v4(), // 客户端流水号
  94. ClientType: ClientType.Web // 终端类型
  95. },
  96. complete: () => {
  97. loading.value = false
  98. }
  99. })
  100. }
  101. return {
  102. loading,
  103. applySubmit,
  104. }
  105. }
  106. // 铁合金现货预售付款处理接口
  107. export function useSpotPresalePlayment() {
  108. const loading = shallowRef(false)
  109. const { getUserId } = useLoginStore()
  110. const playmentSubmit = (id: number ) => {
  111. loading.value = true
  112. return spotPresalePlayment({
  113. data: {
  114. UserID: getUserId(),
  115. WRTradeDetailID: id,
  116. ClientSerialNo: v4(), // 客户端流水号
  117. ClientType: ClientType.Web // 终端类型
  118. },
  119. complete: () => {
  120. loading.value = false
  121. }
  122. })
  123. }
  124. return {
  125. loading,
  126. playmentSubmit,
  127. }
  128. }
  129. // 挂牌撤单请求接口
  130. export function useWrListingCancelOrder() {
  131. const loading = shallowRef(false)
  132. const { getUserId, getFirstAccountId, getLoginId } = useLoginStore()
  133. const cancelSubmit = (id: number, buyorsell: number, wrid?: number ) => {
  134. loading.value = true
  135. return wrListingCancelOrder({
  136. data: {
  137. UserID: getUserId(),
  138. AccountID: getFirstAccountId(),
  139. OperatorID: getLoginId(),
  140. OrderSrc: OrderSrc.ORDERSRC_CLIENT,
  141. OldWRTradeOrderID: id,
  142. ClientOrderTime: formatDate(new Date().toString(), 'YYYY-MM-DD HH:mm:ss'),
  143. ClientSerialNo: v4(), // 客户端流水号
  144. ClientType: ClientType.Web, // 终端类型
  145. BuyOrSell: buyorsell,
  146. WRID: wrid
  147. },
  148. complete: () => {
  149. loading.value = false
  150. }
  151. })
  152. }
  153. return {
  154. loading,
  155. cancelSubmit,
  156. }
  157. }