import { FormConfig } from '@/types/basic-form';

export const RECEIPT_RECORD_FORM_CONFIG: FormConfig[] = [
  {
    prop: 'itemId',
    label: '奖品名称：',
    component: 'ElSelect',
    slot: 'itemId', // 使用自定义插槽
    componentProps: {
      placeholder: '请选择奖品名称',
      filterable: true,
    },
  },
  {
    prop: 'outboundDate',
    label: '出库日期：',
    component: 'ElDatePicker',
    componentProps: {
      type: 'date',
      placeholder: '请选择出库日期',
      valueFormat: 'YYYY-MM-DD',
    },
  },
  {
    prop: 'outboundQuantity',
    label: '取出数量：',
    component: 'ElInputNumber',
    componentProps: {
      min: 1,
      max: 99999,
      precision: 0, // 不允许小数点，只能输入整数
      placeholder: '请输入取出数量',
    },
  },
  {
    prop: 'receiptNumber',
    label: '主动信息报告单号：',
    component: 'ElInput',
    componentProps: {
      placeholder: '请输入主动信息报告单号',
    },
  },
  // {
  //   prop: 'department',
  //   label: '部门：',
  //   slot: 'department', // 复用添加应急预案的制定部门下拉（el-cascader）
  //   componentProps: {
  //     placeholder: '请选择部门',
  //   },
  // },
  // {
  //   prop: 'recipient',
  //   label: '领取人：',
  //   slot: 'recipient', // 使用用户列表接口（queryAvailableUserList + el-select）
  //   componentProps: {
  //     placeholder: '请选择领取人',
  //   },
  // },
  {
    prop: 'approvalTemplateId',
    label: '审批流程：',
    slot: 'approvalTemplateId', // 复用应急预案的审批流程下拉
    componentProps: {
      placeholder: '请选择审批流程',
    },
  },
  //   {
  //     prop: 'returnReason',
  //     label: '审核不通过原因：',
  //     component: 'ElInput',
  //     componentProps: {
  //       type: 'textarea',
  //       rows: 2,
  //       placeholder: '暂无审核不通过原因',
  //       disabled: true,
  //     },
  //   },
];

export const RECEIPT_RECORD_FORM_DATA = {
  itemId: undefined as number | undefined | string, // 奖品库存ID（用于下拉框选中）
  outboundDate: '',
  status: null as number | null, // 物品领取记录状态
  outboundQuantity: 1, // 最小值为1
  receiptNumber: '',
  deptId: null as number | null, // 部门ID（部门级联，与应急预案制定部门同源）
  department: '', // 部门名称，提交给接口的 deptName
  recipientUserId: null as number | null, // 领取人用户ID（通过queryAvailableUserList接口获取）
  recipient: '', // 领取人姓名，提交给接口的 userName
  pimId: 0, // 奖品库存ID（用于提交时使用，兼容旧数据）
  approvalTemplateId: null as number | null, // 审批流程模板ID（与应急预案保持一致）
  returnReason: '', // 审核不通过原因（只读展示）
};

export const RECEIPT_RECORD_FORM_RULES = {
  itemId: [{ required: true, message: '请选择奖品名称', trigger: 'change' }],
  outboundDate: [{ required: true, message: '请选择出库日期', trigger: 'change' }],
  outboundQuantity: [
    { required: true, message: '请输入取出数量', trigger: 'blur' },
    { type: 'number', min: 1, message: '取出数量不能小于1', trigger: 'blur' },
    { type: 'number', max: 99999, message: '取出数量不能大于99999', trigger: 'blur' },
  ],
  receiptNumber: [{ required: true, message: '请输入主动信息报告单号', trigger: 'blur' }],
  department: [{ required: true, message: '请选择部门', trigger: 'change' }],
  recipient: [{ required: true, message: '请选择领取人', trigger: 'change' }],
  approvalTemplateId: [{ required: true, message: '请选择审批流程', trigger: 'change' }],
};
