adduser.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <template>
  2. <ItemWrap class="adduser-items" title="添加用户">
  3. <el-form ref="ruleFormRef" style="max-width: 600px" :model="tableData" status-icon
  4. label-width="auto" class="demo-ruleForm">
  5. <el-form-item label="用户名" prop="account">
  6. <el-input v-model="tableData.account" type="text" autocomplete="off" />
  7. </el-form-item>
  8. <el-form-item label="密码" prop="password">
  9. <el-input v-model="tableData.password" type="text" autocomplete="off" />
  10. </el-form-item>
  11. <el-form-item label="菜单权限" prop="menu">
  12. <el-input v-model.number="tableData.menu" disabled />
  13. </el-form-item>
  14. <el-form-item class="button-group">
  15. <el-button type="primary" @click="AddUsers" class="btn">
  16. 提交
  17. </el-button>
  18. <el-button @click="resetForm(ruleFormRef)" class="btn">重置</el-button>
  19. </el-form-item>
  20. </el-form>
  21. </ItemWrap>
  22. </template>
  23. <script lang="ts" setup>
  24. import { reactive, ref,onMounted,defineComponent,defineProps,watch } from 'vue'
  25. import { ElMessage, type FormInstance, type FormRules } from 'element-plus'
  26. import { Userlist, UpdateUser, DeleteUser,GetUserByID,AddUser} from "@/api/modules/user";
  27. const props =defineProps({
  28. editUserId:Number,
  29. });
  30. const ruleFormRef = ref<FormInstance>()
  31. let tableData = ref({
  32. id: "",
  33. CreatedAt: "",
  34. account: "",
  35. password: "",
  36. state: "",
  37. menu: [],
  38. });
  39. const submitForm = (formEl: FormInstance | undefined) => {
  40. if (!formEl) return
  41. formEl.validate((valid) => {
  42. if (valid) {
  43. console.log('submit!')
  44. } else {
  45. console.log('error submit!')
  46. }
  47. })
  48. }
  49. function AddUsers(){
  50. AddUser({
  51. account:tableData.value.account,
  52. password:tableData.value.password,
  53. }).then((res)=>{
  54. if (res.code == 200){
  55. ElMessage.success("添加成功")
  56. tableData.value.account = ""
  57. tableData.value.password = ""
  58. }else{
  59. ElMessage.error("添加失败")
  60. }
  61. })
  62. }
  63. // 重置表单
  64. const resetForm = (formEl: FormInstance | undefined) => {
  65. if (!formEl) return
  66. formEl.resetFields()
  67. }
  68. </script>
  69. <style scoped>
  70. ::v-deep .el-form * {
  71. background-color: transparent !important;
  72. }
  73. .demo-ruleForm {
  74. margin: auto;
  75. text-align: center;
  76. font-size: 20px;
  77. margin-top: 120px;
  78. }
  79. .adduser-items {
  80. font-size: 25px;
  81. width: 100%;
  82. height: 500px;
  83. }
  84. .button-group {
  85. position: absolute;
  86. bottom: 0;
  87. right: 10px;
  88. display: flex;
  89. justify-content: flex-end;
  90. }
  91. .btn {
  92. margin-top: 100px;
  93. }
  94. ::v-deep .el-input{
  95. font-size: 30px;
  96. width: 100%;
  97. height: 50px;
  98. color: rgb(255, 255, 255);
  99. border-color: rgb(0, 0, 0);
  100. }
  101. ::v-deep .el-form-item__label {
  102. font-size: 20px; /* 修改字体大小 */
  103. color: #765ff8; /* 修改字体颜色 */
  104. }
  105. ::v-deep .el-button {
  106. font-size: 16px;
  107. color: #ffffff;
  108. }
  109. </style>