闫增涛
2025-04-14 4a0006c0b8df5befabf7403c0702f4429cf244e3
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<style>
  .layui-card-body {
    height: 260px;
    transition: all 0.5s;
  }
  .timeBox {
    display: flex;
    justify-content: space-between;
  }
  .timeBox li {
    display: flex;
    flex-direction: column;
    padding: 5px 0 5px 10px;
    width: 40%;
    background-color: #f0f0f0;
    border-radius: 5px;
  }
  .timeBox .time {
    color: #000;
    font-size: 16px;
  }
  .timeBox .state {
    color: #949496;
  }
  .btnBox {
    padding: 40px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .btnBox button {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    box-shadow: 1px 1px 10px #3e5962;
    background-color: #019efe;
  }
  .fl-cl {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .promap {
    padding-top: 10px;
    color: #a6a6a8;
  }
  /* 缺卡 */
  .lackStyle {
    color: #f0b75c;
    font-weight: bold;
    border: 1px solid #f0b75c;
    padding:2px 6px ;
    border-radius: 15px;
  }
  /* 更新打卡 */
  .updateStyle {
    color: #019efe;
  }
</style>
<div class="layui-row layui-col-space16">
  <div class="layui-col-md12">
    <div class="layui-card">
      <div class="layui-card-title">考勤打卡</div>
      <div class="layui-card-body">
        <ul class="timeBox">
          <li>
            <p class="time">上班09:00</p>
            <p>
              <span class="firstState"></span>
            </p>
          </li>
          <li>
            <p class="time">下班18:00</p>
            <p>
              <span class="lastState"></span>
            </p>
          </li>
        </ul>
        <div class="btnBox">
          <button class="layui-btn">
            <div class="fl-cl">
              <span>上班打卡</span>
              <span class="cutrrentTime" ></span>
            </div>
          </button>
        </div>
      </div>
    </div>
  </div>
</div>
<script>
  function layoutSystem() {
    // 打开状态
    const firstStateDom = document.querySelector('.firstState')
    const lastStateDom = document.querySelector('.lastState')
    firstStateDom.innerHTML = '未打卡'
    lastStateDom.innerHTML = '未打卡'
    // 缺卡
    const lackClock = (dom) =>{
      const parentDom = dom.parentNode
      const lackDom = document.createElement('span')
      lackDom.innerHTML = '缺卡'
      lackDom.className = 'lackStyle'
      parentDom.appendChild(lackDom)
    }
    lackClock(firstStateDom)
    // 更新打卡
    const updateClock = (dom) => {
      const parentDom = dom.parentNode
      const clockDom = document.createElement('span')
      clockDom.className = 'updateStyle'
      clockDom.innerHTML = '更新打卡'
      parentDom.appendChild(clockDom)
    }
    updateClock(lastStateDom)
    // 已打卡
    const successClock = (time,dom) => {
      dom.innerHTML = '<i class="layui-icon" style="color:#019efe;">&#x1005;</i>' + time + '已打卡'
    }
    successClock('18:05:00',lastStateDom)
    // 按钮时间
    const currentTimeBox = document.querySelector('.cutrrentTime')
    setInterval(() => {
      const currentTime  = new Date().toLocaleTimeString()
      currentTimeBox.innerHTML = currentTime
    },1000)
    // 打卡按钮
    const dom = document.querySelector(".layui-btn");
    dom.addEventListener("click", () => {
      layer.msg("打卡成功");
    });
    
  }
</script>