<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 { getLongTypeLoginID } from '@/services/bus/login';
import { Modal } from 'ant-design-vue';
import Bus from '@/utils/eventBus/index';

export default defineComponent({
    name: ModalEnum.spot_warrant_pending_order_cancel_order,
    components: { Drawer },
    emits: ['cancel', 'update'],
    props: {
        selectedRow: {
            type: Object as PropType<WrOrderDetail>,
            default: {},
        },
    },
    setup(props, context) {
        const { visible, cancel } = _closeModal(context);
        const loading = ref<boolean>(false);

        function submit() {
            const param: WRListingCancelOrderReq = {
                UserID: getUserId(), // uint32 用户ID
                AccountID: getInTaAccount(), // uint64 资金账号
                OldWRTradeOrderID: Long.fromString(props.selectedRow.wrtradeorderid), // uint64 目标仓单贸易委托单ID
                OrderSrc: 1, // uint32 委托来源
                ClientSerialNo: uuidv4(), // string 客户端流水号
                ClientOrderTime: moment().format('YYYY-MM-DD HH:mm:ss'), // string 客户端委托时间
                ClientType: 4, // uint32 终端类型
                OperatorID: Number(getLongTypeLoginID()), // uint64 操作员账号ID
                BuyOrSell: props.selectedRow.buyorsell, // uint32 买卖方向
                WRID: props.selectedRow.wrfactortypeid, // uint64 仓单ID,卖的时候填写
            };
            requestResultLoadingAndInfo(wRListingCancelOrder, 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>;
