huangbin il y a 4 ans
Parent
commit
9fcfacbc7f

+ 74 - 0
src/views/order/commodity_contract/components/commodity_contract_commission/components/cancel/index.vue

@@ -0,0 +1,74 @@
+<template>
+  <!-- 现货仓单 现货明细 撤单 -->
+  <div></div>
+</template>
+
+<script lang="ts">
+import { defineComponent, PropType, ref } from 'vue';
+import Drawer from '@/common/components/drawer/index.vue';
+import { WrOrderDetail } from '@/services/go/wrtrade/interface';
+import { getInTaAccount, getUserId } from '@/services/bus/account';
+import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { wRListingCancelOrder } from '@/services/proto/warehousetrade';
+import { v4 as uuidv4 } from 'uuid';
+import moment from 'moment';
+import { ModalEnum } from '@/common/constants/modalNameEnum';
+import { _closeModal } from '@/common/setup/modal/modal';
+import { WRListingCancelOrderReq } from '@/services/proto/warehousetrade/interface';
+import * as Long from 'long';
+import { geLoginID_number } from '@/services/bus/login';
+import { Modal } from 'ant-design-vue';
+import Bus from '@/utils/eventBus/index';
+import { cancelOrderReq } from '@/services/socket/order';
+import { QueryTradeOrderDetailRsp } from '@/services/go/ermcp/order/interface';
+
+export default defineComponent({
+    name: ModalEnum.spot_warrant_pending_order_cancel_order,
+    components: { Drawer },
+    emits: ['cancel', 'update'],
+    props: {
+        selectedRow: {
+            type: Object as PropType<QueryTradeOrderDetailRsp>,
+            default: {},
+        },
+    },
+    setup(props, context) {
+        const { visible, cancel } = _closeModal(context);
+        const loading = ref<boolean>(false);
+
+        function submit() {
+            const param = {
+                ClientSerialNo: uuidv4(), // string 客户端流水号
+                ClientOrderTime: moment().format('YYYY-MM-DD HH:mm:ss'), // string 客户端委托时间
+                ClientType: 4, // uint32 终端类型
+                OperateType: 5, // 操作类型
+                OldOrderId: props.selectedRow.orderid,
+                AccountID: getInTaAccount(), // uint64 资金账号
+                OrderSrc: 1, // uint32 委托来源
+                OperatorID: Number(geLoginID_number()), // uint64 操作员账号ID
+                MarketID: props.selectedRow.marketid,
+                GoodsID: props.selectedRow.goodsid,
+            };
+            requestResultLoadingAndInfo(cancelOrderReq, param, loading, ['撤单成功', '撤单失败:']).then(() => {
+                Bus.$emit('spotTrade', true);
+                cancel(true);
+            });
+        }
+
+        Modal.confirm({
+            title: '撤单',
+            content: '是否确认撤单?',
+            onOk: submit,
+            onCancel: cancel,
+        });
+
+        return {
+            visible,
+            cancel,
+        };
+    },
+});
+</script>
+
+<style lang="less" scoped>
+</style>;

+ 15 - 3
src/views/order/commodity_contract/components/commodity_contract_commission/index.vue

@@ -15,7 +15,7 @@
       <!-- 额外的展开行 -->
       <template v-if="btnList.length"
                 #expandedRowRender="{ record }">
-        <BtnList :btnList="btnList"
+        <BtnList :btnList="filterBtnList(btnList, record)"
                  :record="record"
                  class="btn-list-sticky"
                  @click="openComponent" />
@@ -29,8 +29,8 @@
         <a>{{ getOrderStatusName(record.orderstatus) }}</a>
       </template>
 
-      <template #createtime="{ record }">
-        <a>{{ formatTime(record.createtime) }}</a>
+      <template #ordertime="{ text }">
+        <a>{{ formatTime(text) }}</a>
       </template>
     </a-table>
     <component :is="componentId"
@@ -57,11 +57,13 @@ import Bus from '@/utils/eventBus/index';
 import { expandIcon } from '@/common/setup/table/clolumn';
 import { queryTradeOrderDetail } from '@/services/go/ermcp/order';
 import { QueryTradeOrderDetailRsp } from '@/services/go/ermcp/order/interface';
+import { BtnListType } from '@/common/components/btnList/interface';
 
 export default defineComponent({
     name: enumOrderComponents.commodity_contract_commission,
     components: {
         BtnList,
+        commodity_contract_commission_cancel_order: defineAsyncComponent(() => import('./components/cancel/index.vue')),
     },
     setup() {
         // 表格列表数据
@@ -76,6 +78,15 @@ export default defineComponent({
             tableName: 'table_pcweb_spot_trade_bottom_commodity_contract_commission',
             recordList: getRecordItemTab(),
         };
+        function filterBtnList(list: BtnListType[], record: QueryTradeOrderDetailRsp) {
+            //委托状态 - 1:委托请求 2:待冻结 3:委托成功 4:委托失败 5:配对成功 6:已撤 7:已成 8:成交失败 9:委托拒绝 1number;
+            const arr = [3, 7];
+            if (!arr.includes(record.orderstatus)) {
+                return list.filter((e) => e.code !== 'commodity_contract_commission_cancel_order');
+            } else {
+                return list;
+            }
+        }
         return {
             ...handleComposeOrderTable<WrPerformancePlan>(param),
             loading,
@@ -84,6 +95,7 @@ export default defineComponent({
             expandIcon,
             getBuyOrSellTypeName,
             getOrderStatusName,
+            filterBtnList,
         };
     },
 });