top-lock.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <template>
  2. <span>
  3. <i class="icon-suoping"
  4. @click="handleLock"></i>
  5. <el-dialog title="设置锁屏密码"
  6. :visible.sync="box"
  7. width="30%"
  8. append-to-body>
  9. <el-form :model="form"
  10. ref="form"
  11. label-width="80px">
  12. <el-form-item label="锁屏密码"
  13. prop="passwd"
  14. :rules="[{ required: true, message: '锁屏密码不能为空'}]">
  15. <el-input v-model="form.passwd"
  16. placeholder="请输入锁屏密码"></el-input>
  17. </el-form-item>
  18. </el-form>
  19. <span slot="footer"
  20. class="dialog-footer">
  21. <el-button type="primary"
  22. @click="handleSetLock">确 定</el-button>
  23. </span>
  24. </el-dialog>
  25. </span>
  26. </template>
  27. <script>
  28. import { validatenull } from "@/util/validate";
  29. import { mapGetters } from "vuex";
  30. export default {
  31. name: "top-lock",
  32. data() {
  33. return {
  34. box: false,
  35. form: {
  36. passwd: ""
  37. }
  38. };
  39. },
  40. created() {},
  41. mounted() {},
  42. computed: {
  43. ...mapGetters(["lockPasswd"])
  44. },
  45. props: [],
  46. methods: {
  47. handleSetLock() {
  48. this.$refs["form"].validate(valid => {
  49. if (valid) {
  50. this.$store.commit("SET_LOCK_PASSWD", this.form.passwd);
  51. this.handleLock();
  52. }
  53. });
  54. },
  55. handleLock() {
  56. if (validatenull(this.lockPasswd)) {
  57. this.box = true;
  58. return;
  59. }
  60. this.$store.commit("SET_LOCK");
  61. setTimeout(() => {
  62. this.$router.push({ path: "/lock" });
  63. }, 100);
  64. }
  65. },
  66. components: {}
  67. };
  68. </script>
  69. <style lang="scss" scoped>
  70. </style>