|
@@ -6,7 +6,11 @@
|
|
|
<img class="logo" src="../assets/white-logo.png" alt="" />
|
|
<img class="logo" src="../assets/white-logo.png" alt="" />
|
|
|
</div>
|
|
</div>
|
|
|
<div class="right">
|
|
<div class="right">
|
|
|
- <div class="pointer" style="padding-top: 6px">
|
|
|
|
|
|
|
+ <div
|
|
|
|
|
+ @click="dialogVisible = true"
|
|
|
|
|
+ class="pointer"
|
|
|
|
|
+ style="padding-top: 6px"
|
|
|
|
|
+ >
|
|
|
<el-badge
|
|
<el-badge
|
|
|
:hidden="isNewMessage == 0"
|
|
:hidden="isNewMessage == 0"
|
|
|
:is-dot="isNewMessage"
|
|
:is-dot="isNewMessage"
|
|
@@ -21,29 +25,76 @@
|
|
|
<div class="user">{{ userName }}</div>
|
|
<div class="user">{{ userName }}</div>
|
|
|
<div class="quit" @click="quit">[退出]</div>
|
|
<div class="quit" @click="quit">[退出]</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <el-dialog v-model="dialogVisible" title="拍照通知" width="30%">
|
|
|
|
|
+ <h3 style="margin: 10px 30px" v-for="item in isNewMessage" :key="item">
|
|
|
|
|
+ {{ item }}
|
|
|
|
|
+ </h3>
|
|
|
|
|
+ <template #footer>
|
|
|
|
|
+ <span class="dialog-footer">
|
|
|
|
|
+ <el-button type="primary" @click="dialogVisible = false">
|
|
|
|
|
+ 确定
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
<script>
|
|
<script>
|
|
|
import store from "../store";
|
|
import store from "../store";
|
|
|
import router from "../router";
|
|
import router from "../router";
|
|
|
-import { ref } from "_vue@3.2.20@vue";
|
|
|
|
|
|
|
+import api from "../apis/fetch";
|
|
|
|
|
+import { onMounted, ref } from "_vue@3.2.20@vue";
|
|
|
import { BellFilled } from "@element-plus/icons";
|
|
import { BellFilled } from "@element-plus/icons";
|
|
|
|
|
+import _ from "lodash";
|
|
|
export default {
|
|
export default {
|
|
|
components: {
|
|
components: {
|
|
|
BellFilled,
|
|
BellFilled,
|
|
|
},
|
|
},
|
|
|
setup() {
|
|
setup() {
|
|
|
- let isNewMessage = ref(0);
|
|
|
|
|
let userName = localStorage.staffName;
|
|
let userName = localStorage.staffName;
|
|
|
function quit() {
|
|
function quit() {
|
|
|
localStorage.clear();
|
|
localStorage.clear();
|
|
|
store.commit("changeLogin", false);
|
|
store.commit("changeLogin", false);
|
|
|
router.push({ path: "/login" });
|
|
router.push({ path: "/login" });
|
|
|
}
|
|
}
|
|
|
|
|
+ let dialogVisible = ref(false);
|
|
|
|
|
+ let isNewMessage = ref(0);
|
|
|
|
|
+ function isWithinTime(t0 = new Date()) {
|
|
|
|
|
+ let t1 = _.cloneDeep(t0);
|
|
|
|
|
+ let t2 = _.cloneDeep(t0);
|
|
|
|
|
+ t1.setHours(8);
|
|
|
|
|
+ t1.setMinutes(30);
|
|
|
|
|
+ t1.setSeconds(0);
|
|
|
|
|
+ t2.setHours(9);
|
|
|
|
|
+ t2.setMinutes(30);
|
|
|
|
|
+ t2.setSeconds(0);
|
|
|
|
|
+ let t00 = t0.getTime();
|
|
|
|
|
+ let t11 = t1.getTime();
|
|
|
|
|
+ let t22 = t2.getTime();
|
|
|
|
|
+ return t00 > t11 && t00 < t22;
|
|
|
|
|
+ }
|
|
|
|
|
+ async function getUnphotographNotice() {
|
|
|
|
|
+ console.log("heart");
|
|
|
|
|
+ let { data } = await api.getUnphotographNotice();
|
|
|
|
|
+ if (data.status == 0) {
|
|
|
|
|
+ isNewMessage.value = data.result;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ isNewMessage.value = 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ onMounted(() => {
|
|
|
|
|
+ getUnphotographNotice();
|
|
|
|
|
+ setInterval(async () => {
|
|
|
|
|
+ if (isWithinTime()) {
|
|
|
|
|
+ getUnphotographNotice();
|
|
|
|
|
+ }
|
|
|
|
|
+ }, 2 * 60 * 1000);
|
|
|
|
|
+ });
|
|
|
return {
|
|
return {
|
|
|
quit,
|
|
quit,
|
|
|
userName,
|
|
userName,
|
|
|
isNewMessage,
|
|
isNewMessage,
|
|
|
|
|
+ dialogVisible,
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
};
|
|
};
|