import { reactive, ref } from 'vue'
import { isPhone } from '@/utils/is.js'
import { getRoleAll } from '@/api/system/role'
const roleOptions = ref([])

export const form = reactive({
  userForm: {
    realname: null,
    mobile: null,
    roleId: null,
    username: null,
    password: null
  },
  userRules: {
    realname: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
    mobile: [
      // { required: true, message: '请输入联系电话', type: 'string', trigger: 'blur' },
      { required: true, message: '请输入正确的联系电话', pattern: /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/, trigger: 'blur' }
    ],
    roleId: [{ required: true, type: 'number', message: '请选择身份', trigger: 'blur' }],
    username: [{ required: true, message: '账号为英文和数字', pattern: /^[a-zA-Z0-9]+$/, trigger: 'blur' }],
    password: [{ required: true, message: '密码为6到20位的大小写英文和数字组成的', pattern: /^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$)([^\u4e00-\u9fa5\s]){6,20}$/, trigger: 'blur' }]
  },
  formItem: [
    { type: 'input', key: 'realname', label: '姓名', props: { maxlength: '5', placeholder: '请输入姓名', clearable: true }},
    { type: 'input', key: 'mobile', label: '联系电话', props: { maxlength: '20', placeholder: '请输入联系电话', clearable: true }},
    { type: 'select', key: 'roleId', label: '身份选择', props: { options: roleOptions, clearable: true }},
    { type: 'input', key: 'username', label: '帐号', props: { maxlength: '20', placeholder: '请输入帐号', clearable: true }},
    { type: 'input', key: 'password', label: '初始密码', props: { maxlength: '20', placeholder: '请输入初始密码', clearable: true }}
  ]
})
export const getRoleOptions = async function() {
  const res = await getRoleAll()
  if (res.code === 0) {
    roleOptions.value = res.data.map(it => ({
      ...it,
      label: it.roleName,
      value: it.id
    }))
  }
}
