From a14d2573a4dab5e97696c74fa0a63565780483fe Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 13 Dec 2023 17:28:10 +0800
Subject: [PATCH] 添加考勤登录页,流动岗,固定岗查询修改

---
 src/router/page/index.js         |   11 ++
 src/page/login/index.vue         |   14 +-
 src/views/check/mobileFiling.vue |   26 +++-
 src/page/login/checkIndex.vue    |  176 +++++++++++++++++++++++++++++++++++
 src/views/check/postFiling.vue   |   27 +++-
 5 files changed, 232 insertions(+), 22 deletions(-)

diff --git a/src/page/login/checkIndex.vue b/src/page/login/checkIndex.vue
new file mode 100644
index 0000000..a6f2e89
--- /dev/null
+++ b/src/page/login/checkIndex.vue
@@ -0,0 +1,176 @@
+<template>
+  <div class="login-container" ref="login" @keyup.enter.native="handleLogin">
+    <top-color v-show="false"></top-color>
+    <div class="login-weaper animated bounceInDown">
+      <div class="login-left">
+        <div class="login-time">
+          {{ time }}
+        </div>
+        <img class="img" src="/img/logo.png" alt="" />
+<!--        <p class="title">{{ $t("login.info") }}</p>-->
+        <p class="title">保安员定点考勤系统</p>
+      </div>
+      <div class="login-border">
+<!--        <div class="login-erweima">-->
+<!--          <div class="title-l-e">-->
+<!--            <img :src="link" alt="" />-->
+<!--          </div>-->
+<!--          <div class="title-l-e">扫一扫 加入群聊</div>-->
+<!--        </div>-->
+        <div class="login-main">
+          <h4 class="login-title">
+            {{ $t("login.title") }}
+            <!--            <top-lang></top-lang>-->
+          </h4>
+          <h4 class="login-title-child">IoT security cloud service platform</h4>
+          <userLogin></userLogin>
+          <!-- <codeLogin v-else-if="activeName==='code'"></codeLogin>-->
+          <!--    <thirdLogin v-else-if="activeName==='third'"></thirdLogin>-->
+          <div class="login-menu">
+            <!--    <a href="#" @click.stop="activeName='user'">{{ $t('login.userLogin') }}</a>-->
+            <a href="#" @click.stop="zShow">{{ $t("login.phoneLogin") }}</a>
+            <!--   <a href="#" @click.stop="activeName='third'">{{ $t('login.thirdLogin') }}</a>-->
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="z" v-show="activeName == 'code'" :style="{height:height}">
+      <codeLogin v-on:height='setHeight'></codeLogin>
+    </div>
+  </div>
+</template>
+<script>
+import userLogin from "./userlogin";
+import codeLogin from "./codelogin";
+import thirdLogin from "./thirdlogin";
+import { mapGetters } from "vuex";
+import { dateFormat } from "@/util/date";
+import { validatenull } from "@/util/validate";
+import topLang from "@/page/index/top/top-lang";
+import topColor from "@/page/index/top/top-color";
+import { getQueryString, getTopUrl } from "@/util/util";
+import { geterweima } from "@/api/logs";
+
+export default {
+  name: "login",
+  components: {
+    userLogin,
+    codeLogin,
+    thirdLogin,
+    topLang,
+    topColor,
+  },
+  data() {
+    return {
+      time: "",
+      activeName: "user",
+      socialForm: {
+        tenantId: "000000",
+        source: "",
+        code: "",
+        state: "",
+        link: "",
+      },
+      height:"500px"
+    };
+  },
+  watch: {
+    $route() {
+      this.handleLogin();
+    },
+  },
+  created() {
+    this.handleLogin();
+    this.getTime();
+    geterweima(9).then((res) => {
+      this.link = res.data.data.link;
+    });
+  },
+  mounted() {},
+  computed: {
+    ...mapGetters(["website", "tagWel"]),
+  },
+  props: [],
+  methods: {
+    //获取高度
+    setHeight(height){
+      // console.log(height,8888);
+      this.height = height;
+    },
+    getTime() {
+      setInterval(() => {
+        this.time = dateFormat(new Date());
+      }, 1000);
+    },
+    handleLogin() {
+      const topUrl = getTopUrl();
+      const redirectUrl = "/oauth/redirect/";
+      this.socialForm.source = getQueryString("source");
+      this.socialForm.code = getQueryString("code");
+      this.socialForm.state = getQueryString("state");
+      if (
+        validatenull(this.socialForm.source) &&
+        topUrl.includes(redirectUrl)
+      ) {
+        let source = topUrl.split("?")[0];
+        source = source.split(redirectUrl)[1];
+        this.socialForm.source = source;
+      }
+      if (
+        !validatenull(this.socialForm.source) &&
+        !validatenull(this.socialForm.code) &&
+        !validatenull(this.socialForm.state)
+      ) {
+        const loading = this.$loading({
+          lock: true,
+          text: "第三方系统登录中,请稍后。。。",
+          spinner: "el-icon-loading",
+        });
+        this.$store
+          .dispatch("LoginBySocial", this.socialForm)
+          .then(() => {
+            window.location.href = topUrl.split(redirectUrl)[0];
+            this.$router.push({ path: this.tagWel.value });
+            loading.close();
+          })
+          .catch(() => {
+            loading.close();
+          });
+      }
+    },
+    zShow() {
+      document.querySelector(".z").style.display = "block";
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+.z {
+  position: fixed;
+  margin: auto;
+  padding: 10px;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 80px;
+  width: 600px;
+  height: 500px;
+  background-color: #fff;
+  box-sizing: border-box;
+  box-shadow: 6px 6px 5px #909090;
+}
+
+.company-jx {
+  position: fixed;
+  margin: auto;
+  top: auto;
+  left: 0px;
+  right: 0px;
+  bottom: 120px;
+  text-align: center;
+  color: #fff;
+  font-size: 15px;
+}
+@import "@/styles/login.scss";
+</style>
diff --git a/src/page/login/index.vue b/src/page/login/index.vue
index 6a93457..da65bc7 100644
--- a/src/page/login/index.vue
+++ b/src/page/login/index.vue
@@ -7,15 +7,15 @@
           {{ time }}
         </div>
         <img class="img" src="/img/logo.png" alt="" />
-        <p class="title">{{ $t("login.info") }}</p>
+        <p class="title">保安员分级统筹管理系统</p>
       </div>
       <div class="login-border">
-        <div class="login-erweima">
-          <div class="title-l-e">
-            <img :src="link" alt="" />
-          </div>
-          <div class="title-l-e">扫一扫 加入群聊</div>
-        </div>
+<!--        <div class="login-erweima">-->
+<!--          <div class="title-l-e">-->
+<!--            <img :src="link" alt="" />-->
+<!--          </div>-->
+<!--          <div class="title-l-e">扫一扫 加入群聊</div>-->
+<!--        </div>-->
         <div class="login-main">
           <h4 class="login-title">
             {{ $t("login.title") }}
diff --git a/src/router/page/index.js b/src/router/page/index.js
index 1136402..76c7f42 100644
--- a/src/router/page/index.js
+++ b/src/router/page/index.js
@@ -12,6 +12,17 @@
   }
 },
   {
+    path: '/checkLogin',
+    name: '登录页',
+    component: () =>
+      import( /* webpackChunkName: "page" */ '@/page/login/checkIndex.vue'),
+    meta: {
+      keepAlive: true,
+      isTab: false,
+      isAuth: false
+    }
+  },
+  {
     path: '/lock',
     name: '锁屏页',
     component: () =>
diff --git a/src/views/check/mobileFiling.vue b/src/views/check/mobileFiling.vue
index d5f79c9..a58ea6a 100644
--- a/src/views/check/mobileFiling.vue
+++ b/src/views/check/mobileFiling.vue
@@ -82,9 +82,15 @@
           {
             label: "上岗时间",
             prop: "dutyTime",
-            type: "datetime",
-            format: "yyyy-MM-dd HH:mm:ss",
-            valueFormat: "yyyy-MM-dd HH:mm:ss",
+            display: false,
+          },
+          {
+            label: "上岗时间",
+            prop: "dutyTime",
+            type: "time",
+            format: "HH:mm",
+            valueFormat: "HH:mm",
+            hide:true,
             rules: [
               {
                 required: true,
@@ -96,9 +102,15 @@
           {
             label: "下岗时间",
             prop: "layoffTime",
-            type: "datetime",
-            format: "yyyy-MM-dd HH:mm:ss",
-            valueFormat: "yyyy-MM-dd HH:mm:ss",
+            display: false,
+          },
+          {
+            label: "下岗时间",
+            prop: "layoffTime",
+            type: "time",
+            format: "HH:mm",
+            valueFormat: "HH:mm",
+            hide: true,
             rules: [
               {
                 required: true,
@@ -171,7 +183,7 @@
   methods: {
     beforeOpen(done, type) {
       if (["edit", "view"].includes(type)) {
-        getDetail(this.form.id).then(res => {
+        getDetail({id:this.form.id}).then(res => {
           this.form = res.data.data;
           this.form['address'] = [this.form.lon,this.form.lat,this.form.position]
 
diff --git a/src/views/check/postFiling.vue b/src/views/check/postFiling.vue
index e7da753..468738d 100644
--- a/src/views/check/postFiling.vue
+++ b/src/views/check/postFiling.vue
@@ -82,9 +82,15 @@
           {
             label: "上岗时间",
             prop: "dutyTime",
-            type: "datetime",
-            format: "yyyy-MM-dd HH:mm:ss",
-            valueFormat: "yyyy-MM-dd HH:mm:ss",
+            display: false,
+          },
+          {
+            label: "上岗时间",
+            prop: "dutyTime",
+            type: "time",
+            format: "HH:mm",
+            valueFormat: "HH:mm",
+            hide:true,
             rules: [
               {
                 required: true,
@@ -96,9 +102,15 @@
           {
             label: "下岗时间",
             prop: "layoffTime",
-            type: "datetime",
-            format: "yyyy-MM-dd HH:mm:ss",
-            valueFormat: "yyyy-MM-dd HH:mm:ss",
+            display: false,
+          },
+          {
+            label: "下岗时间",
+            prop: "layoffTime",
+            type: "time",
+            format: "HH:mm",
+            valueFormat: "HH:mm",
+            hide: true,
             rules: [
               {
                 required: true,
@@ -171,7 +183,7 @@
   methods: {
     beforeOpen(done, type) {
       if (["edit", "view"].includes(type)) {
-        getDetail(this.form.id).then(res => {
+        getDetail({id:this.form.id}).then(res => {
           this.form = res.data.data;
           this.form['address'] = [this.form.lon,this.form.lat,this.form.position]
 
@@ -331,7 +343,6 @@
     },
     onLoad(page, params = {}) {
       params = this.questionBankSearch;
-
 
       const { releaseTimeRange } = this.query;
       let values = {

--
Gitblit v1.9.3