<script setup lang="ts">
import { useVbenForm } from '#/adapter/form';
import { message } from 'ant-design-vue'
import { copyUser } from '#/api/core/operation';
import { Page } from '@vben/common-ui';
import { VbenPopover, VbenIcon } from '../../../../../../packages/@core/ui-kit/shadcn-ui';
import type { copyUserParam } from '#/model/type';
const [Form] = useVbenForm({
  // 所有表单项共用，可单独在表单内覆盖
  commonConfig: {
    // 所有表单项
    componentProps: {
      
    },
  },
  // 使用 tailwindcss grid布局
  // 提交函数
  // 垂直布局，label和input在不同行，值为vertical
  layout: 'horizontal',
  // 水平布局，label和input在同一行
  schema: [
    {
      component: 'Select',
      fieldName: 'src_app',
      label: '源应用ID',
      rules: 'required',
      defaultValue: 0,
      componentProps: {
        options: [
          {
            label: 'QA环境',
            value: 2,
          },
          {
            label: '测试环境',
            value: 1,
          },
          {
            label: 'US环境',
            value: 0,
          },
        ],
      },
    },
    {
      component: 'Input',
      fieldName: 'src_uid',
      label: '源用户ID',
      rules: 'required',
      defaultValue: 100100054,
      componentProps: {
        placeholder: '请输入源用户ID',
      },
    },
    {
      component: 'Select',
      fieldName: 'dst_app',
      label: '目标应用ID',
      defaultValue: 1,
      rules: 'required',
      componentProps: {
        options: [
          {
            label: 'QA环境',
            value: 2,
          },
          {
            label: '测试环境',
            value: 1,
          }
        ],
      },
    },
  ],
  handleSubmit: onSubmit,

});

async function onSubmit(values: Record<string, any>) {
  const Param: copyUserParam = {
    src_app: Number(values.src_app),
    src_uid: Number(values.src_uid),
    dst_app: Number(values.dst_app),
    dst_uid: Number(values.dst_uid),
  };
  await copyUser(Param).then((respone) => {
    if (respone === "复制用户数据成功") {
      message.success('复制用户数据成功');
    } else {
      message.error(`${respone}`);
    }
  });
}
</script>

<template>
  <Page auto-content-height class="h-[1200px]">
  <VbenPopover class="ml-5" :content-props="{ side: 'top' }">
    <template #trigger>
      <VbenIcon icon="solar:question-circle-bold" class="ml-5" />
    </template>
    <div class="max-w-xs text-sm">
      <h3 class="font-semibold mt-4 mb-2">账号复制说明</h3>
      <ul>
        <li><b>源应用ID：</b>需要复制的账号所在的APP</li>
        <li><b>源用户ID：</b>需要复制的账号所生成的后端唯一ID</li>
        <li><b>目标应用ID：</b>需要复制到的APP</li>
        <li><b>目标应用账号：</b>源用户ID</li>
      </ul>
    </div>
  </VbenPopover>
  <Form />
    
  </Page>
</template>