import shopUserApi, { type editRequest } from "@/api/account/shopUser";
import type { IModalConfig } from "@/components/CURD/types";
import dayjs from "dayjs";

const modalConfig: IModalConfig<editRequest> = {
  pageName: "sys:user",
  dialog: {
    title: "修改用户",
    width: 800,
    draggable: true,
  },
  pk: "id",
  form: {
    labelWidth: 140,
  },
  formAction: function (data: editRequest) {
    return shopUserApi.edit(data.shopid, data);
  },
  beforeSubmit(data) {
    console.log("提交之前处理", data);
    data.birthDay = data.birthDay ? dayjs(data.birthDay).format("YYYY-MM-DD") : '';
  },
  formItems: [
    // {
    //   label: "用户头像",
    //   prop: "headImg",
    //   rules: [{ required: false, message: "请选择用户头像", trigger: "blur" }],
    //   type: "UpImage",
    //   attrs: {
    //     placeholder: "请选择用户头像",
    //   },

    // },
    {
      label: "用户昵称",
      prop: "nickName",
      rules: [{ required: true, message: "请输入用户昵称", trigger: "blur" }],
      type: "input",
      attrs: {
        placeholder: "请输入用户昵称",
      },
      col: {
        xs: 24,
        sm: 12,
      },
    },
    // {
    //   type: "input",
    //   label: "手机号码",
    //   prop: "phone",
    //   rules: [
    //     {
    //       required: true,
    //       pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
    //       message: "请输入正确的手机号码",
    //       trigger: "blur",
    //     },
    //   ],
    //   attrs: {
    //     placeholder: "请输入手机号码",
    //     maxlength: 11,
    //   },
    //   col: {
    //     xs: 24,
    //     sm: 12,
    //   },
    // },
    {
      label: "会员生日",
      prop: "birthDay",
      rules: [{ required: true, message: "请选择会员生日", trigger: "blur" }],
      type: "date-picker",
      attrs: {
        placeholder: "请选择会员生日",
      },
      col: {
        xs: 24,
        sm: 12,
      },
    },
    {
      type: "radio",
      label: "性别",
      prop: "sex",
      rules: [{ required: true, message: "请选择性别", trigger: "blur" }],
      attrs: {
        placeholder: "请选择性别",
      },
      initialValue: '',
      options: [
        { label: '男', value: 1 },
        { label: '女', value: 0 },
      ],
      col: {
        xs: 24,
        sm: 12,
      },
    },
    // {
    //   label: "账户积分",
    //   prop: "accountPoints",
    //   rules: [{ required: false, message: "请输入账户积分", trigger: "blur" }],
    //   type: "input-number",
    //   attrs: {
    //     placeholder: "请输入账户积分",
    //   },
    //   col: {
    //     xs: 24,
    //     sm: 12,
    //   },
    // },
    // {
    //   label: "钱包余额",
    //   prop: "amount",
    //   rules: [{ required: false, message: "请输入钱包余额", trigger: "blur" }],
    //   type: "input-number",
    //   attrs: {
    //     placeholder: "请输入钱包余额",
    //   },
    //   col: {
    //     xs: 24,
    //     sm: 12,
    //   },
    // },
    // {
    //   type: "radio",
    //   label: "是否会员",
    //   prop: "isVip",
    //   options: [
    //     { label: '是', value: 1 },
    //     { label: '否', value: 0 },
    //   ],
    // },
  ],
};

// 如果有异步数据会修改配置的，推荐用reactive包裹，而纯静态配置的可以直接导出
export default reactive(modalConfig);
