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