<template>
  <!-- 注销账户 -->
  <a-modal class="add-custom"
           title="注销账户"
           v-model:visible="visible"
           @cancel="cancel"
           centered
           :maskClosable="false"
           width="890px">
    <template #footer>
      <a-button key="submit"
                type="primary"
                :loading="loading"
                @click="cancel">取消 </a-button>
      <a-button key="submit"
                type="primary"
                :loading="loading"
                @click="submit">注销 </a-button>
    </template>
    <Detail :selectedData="selectedData"
            :userList="userList"
            :firstSelectedData="firstSelectedData" />
  </a-modal>
</template>

<script lang="ts">
import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
import { _closeModal } from '@/common/setup/modal/modal';
import { geLoginID_number } from '@/services/bus/login';
import { ErmcpLoginUserEx, ErmcpTaAccount, ErmcpTaAccountEx } from '@/services/go/ermcp/account/interface';
import { taAccountOperateReq } from '@/services/proto/accountinfo';
import { TaaccountOperateReq } from '@/services/proto/accountinfo/interface';
import { Modal } from 'ant-design-vue';
import { defineComponent, PropType, ref } from 'vue';
import Detail from '../detail-commom-futures/index.vue';
export default defineComponent({
    name: 'account_info_futures_btn_child_cancel',
    emits: ['cancel', 'update'],
    components: { Detail },
    props: {
        selectedData: {
            type: Object as PropType<ErmcpTaAccount>,
            default: {},
        },
        firstSelectedData: {
            default: {},
            type: Object as PropType<ErmcpTaAccountEx>,
        },
        userList: {
            type: Array as PropType<ErmcpLoginUserEx[]>,
            default: [],
        },
    },
    setup(props, context) {
        // 控制关闭弹窗
        const { visible, cancel } = _closeModal(context);
        const loading = ref<boolean>(false);

        function submit() {
            Modal.confirm({
                title: '是否确认注销该账户',
                okText: '确认注销',
                cancelText: '取消',
                onOk() {
                    let reqParam: TaaccountOperateReq = {
                        accountid: props.selectedData.accountid, // uint64 期货账户ID
                        tradestatus: 7, // uint32 7注销
                        modifierid: Number(geLoginID_number()), // uint64 修改人
                        areauserid: Number(props.selectedData.relateduserid), // uint64 机构用户ID
                    };
                    requestResultLoadingAndInfo(taAccountOperateReq, reqParam, loading, ['账户注销成功', '账户注销失败:']).then(() => {
                        cancel(true);
                    });
                },
                onCancel() {},
            });
        }

        return {
            visible,
            cancel,
            submit,
            loading,
        };
    },
});
</script>