OrdinaryModel.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <template>
  2. <div class="ordinary-model-wrap model-wrap">
  3. <el-form
  4. ref="modelForm"
  5. label-position="right"
  6. label-width="0px"
  7. :model="form"
  8. :rules="rules">
  9. <el-form-item prop="account">
  10. <el-input
  11. type="text"
  12. v-model="form.account"
  13. auto-complete="off"
  14. placeholder="请输入用户名"
  15. />
  16. <span class="inline-message el-form-item__error"
  17. v-show="(loginCheck||accountCheck)&&form.account.length">
  18. {{hintMessage}}
  19. </span>
  20. </el-form-item>
  21. <el-form-item prop="checkPass">
  22. <el-input
  23. type="password"
  24. v-model="form.checkPass"
  25. auto-complete="off"
  26. placeholder="请输入密码"
  27. />
  28. <span class="inline-message el-form-item__error"
  29. v-show="(loginCheck||accountCheck)&&form.checkPass.length">
  30. {{hintMessage}}</span>
  31. </el-form-item>
  32. <el-form-item class="remember-cont" prop="checked">
  33. <el-checkbox v-model="checked" class="remember">
  34. 记住账号密码
  35. <el-tooltip effect="dark" content="有效期60天" placement="top">
  36. <span class="hint-text">
  37. <i class="el-icon-question"></i>
  38. </span>
  39. </el-tooltip>
  40. </el-checkbox>
  41. <el-button type="text" style="font-size: 16px;" @click="changeModel">忘记密码</el-button>
  42. </el-form-item>
  43. </el-form>
  44. </div>
  45. </template>
  46. <script>
  47. export default {
  48. props:{
  49. loginCheck:{
  50. type:Boolean,
  51. default:false
  52. },
  53. accountCheck:{
  54. type:Boolean,
  55. default:false
  56. }
  57. },
  58. data() {
  59. const validateClearn = (rule,value,callBack)=>{
  60. if(this.loginCheck||this.accountCheck){
  61. this.$emit('clearnHint')
  62. }
  63. callBack()
  64. }
  65. return {
  66. form:{
  67. account:'',
  68. checkPass:'',
  69. checked:false
  70. },
  71. rules:{
  72. account:[
  73. {required: true,message: "请输入账号",trigger: "blur"},
  74. {validator:validateClearn,trigger:['change']}
  75. ],
  76. checkPass:[
  77. {required: true,message: "请输入密码",trigger: "blur"},
  78. {validator:validateClearn,trigger:['change']}
  79. ]
  80. },
  81. hintMessage:''
  82. };
  83. },
  84. watch:{
  85. loginCheck(newVal){
  86. //显示/隐藏inline-message
  87. if(newVal){
  88. this.hintMessage="账号或密码错误"
  89. }else{
  90. this.hintMessage=''
  91. }
  92. },
  93. accountCheck(newVal){
  94. if(newVal){
  95. this.hintMessage="账号异常,请通过验证登录"
  96. }else{
  97. this.hintMessage=''
  98. }
  99. }
  100. },
  101. methods: {
  102. changeModel(){
  103. this.$emit('changeModel')
  104. }
  105. },
  106. };
  107. </script>
  108. <style scoped lang="scss">
  109. @import "./css/formStyle.scss";
  110. </style>