<template>
  <!-- 管理员账号锁定-->
  <a-modal class="add-custom custom-detail"
           title="管理员账号锁定"
           v-model:visible="visible"
           centered
           :maskClosable="false"
           @cancel="cancel"
           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" />
  </a-modal>
</template>

<script lang="ts">
import { defineComponent, PropType, ref } from 'vue';
import { closeModal } from '@/common/setup/modal/index';
import { ErmcpLoginUser } from '@/services/go/ermcp/account/interface';
import { Modal } from 'ant-design-vue';
import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
import { LoginaccountOperateReq } from '@/services/proto/accountinfo/interface';
import { loginAccountOperate } from '@/services/proto/accountinfo';
import Detail from '../detail-commom-manager/index.vue';

export default defineComponent({
    name: 'account_info_manager_btn_locked',
    components: { Detail },
    props: {
        selectedData: {
            type: Object as PropType<ErmcpLoginUser>,
            default: {},
        },
    },
    setup(props, context) {
        const { visible, cancel } = closeModal('account_info_manager_btn_locked');
        const loading = ref<boolean>(false);
        function submit() {
            Modal.confirm({
                title: '是否确认锁定该账户',
                okText: '确认锁定',
                cancelText: '取消',
                onOk() {
                    let reqParam: LoginaccountOperateReq = {
                        userid: props.selectedData.userid,
                        loginid: props.selectedData.loginid,
                        operatetype: 5, // 5: 锁定 6：解锁
                        logintaaccounts: [],
                    };
                    requestResultLoadingAndInfo(loginAccountOperate, reqParam, loading, ['账户锁定成功', '账户锁定失败:']).then(() => {
                        cancel();
                        context.emit('refresh');
                    });
                },
                onCancel() {},
            });
        }
        return {
            visible,
            cancel,
            maskClosableFlag: false,
            submit,
            loading,
        };
    },
});
</script>

<style lang="less">
.custom-detail {
    .ant-form.inlineForm {
        margin-top: 20px;
    }
}
</style>;
