From 7dcb1c1b55a639d30e4f70b6e9ceddecc4fb2873 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 16 May 2024 10:46:51 +0800
Subject: [PATCH] e 呼即办配置

---
 src/router/page/index.js     |   13 ++++
 vue.config.js                |    4 
 src/page/index/index.vue     |    1 
 src/page/login/ecall.vue     |  150 ++++++++++++++++++++++++++++++++++++++++++++++++++
 src/page/index/top/index.vue |    2 
 5 files changed, 168 insertions(+), 2 deletions(-)

diff --git a/src/page/index/index.vue b/src/page/index/index.vue
index a25b50d..a09f058 100644
--- a/src/page/index/index.vue
+++ b/src/page/index/index.vue
@@ -66,6 +66,7 @@
         }
     },
     created () {
+        console.log(this.webType,888)
         if (this.webType != 'govern') {
             Watermark.set("饶城智理通" + ' ' + this.globalUserInfo.real_name + ' ' + this.getTime())
         }
diff --git a/src/page/index/top/index.vue b/src/page/index/top/index.vue
index 891ca44..8f2a921 100644
--- a/src/page/index/top/index.vue
+++ b/src/page/index/top/index.vue
@@ -250,6 +250,8 @@
                         this.$router.push({ path: "/login" })
                     } else if (this.webType == 'govern') {
                         this.$router.push({ path: "/governLogin" })
+                    }  else if (this.webType == 'ecall'){
+                        this.$router.push({ path: "/ecallLogin" })
                     } else {
                         this.$router.push({ path: "/tenementLogin" })
                     }
diff --git a/src/page/login/ecall.vue b/src/page/login/ecall.vue
new file mode 100644
index 0000000..3c8414f
--- /dev/null
+++ b/src/page/login/ecall.vue
@@ -0,0 +1,150 @@
+<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">E呼即办</p>
+            </div>
+            <div class="login-border">
+                <div class="login-main">
+
+                    <h4 class="login-title">
+                        {{ $t('login.title') }}
+                        <!-- <top-lang></top-lang> -->
+                    </h4>
+                    <userLogin v-if="activeName === 'user'"></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="activeName='code'">{{ $t('login.phoneLogin') }}</a>-->
+                        <!-- <a href="#" @click.stop="activeName='third'">{{ $t('login.thirdLogin') }}</a> -->
+                        <!-- <a :href="website.ssoUrl + website.redirectUri">{{ $t('login.ssoLogin') }}</a> -->
+                    </div>
+                </div>
+
+            </div>
+        </div>
+    </div>
+</template>
+<script>
+import { setStore, getStore } from "@/util/store"
+import Watermark from "@/warterMarkVUE"
+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"
+
+export default {
+    name: "login",
+    components: {
+        userLogin,
+        codeLogin,
+        thirdLogin,
+        topLang,
+        topColor
+    },
+    data () {
+        return {
+            time: "",
+            activeName: "user",
+            socialForm: {
+                tenantId: "000000",
+                source: "",
+                code: "",
+                state: "",
+            }
+        }
+    },
+    watch: {
+        $route () {
+            this.handleLogin()
+        }
+    },
+    created () {
+        document.title = "E呼即办"
+        setStore({
+            name: "webTitle",
+            content: 'E呼即办',
+        })
+
+        setStore({
+            name: "webType",
+            content: 'ecall',
+        })
+
+        Watermark.remove()
+
+        this.handleLogin()
+        this.getTime()
+    },
+    mounted () {
+    },
+    computed: {
+        ...mapGetters(["website", "tagWel"])
+    },
+    props: [],
+    methods: {
+        getTime () {
+            setInterval(() => {
+                this.time = dateFormat(new Date())
+            }, 1000)
+        },
+        handleLogin () {
+            const topUrl = getTopUrl()
+            const redirectUrl = "/oauth/redirect/"
+            const ssoCode = "?code="
+            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 (topUrl.includes(redirectUrl) && !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()
+                })
+            } else if (!topUrl.includes(redirectUrl) && !validatenull(this.socialForm.code) && !validatenull(this.socialForm.state)) {
+                const loading = this.$loading({
+                    lock: true,
+                    text: '单点系统登录中,请稍后。。。',
+                    spinner: "el-icon-loading"
+                })
+                this.$store.dispatch("LoginBySso", this.socialForm).then(() => {
+                    window.location.href = topUrl.split(ssoCode)[0]
+                    this.$router.push({ path: this.tagWel.value })
+                    loading.close()
+                }).catch(() => {
+                    loading.close()
+                })
+            }
+        }
+    }
+}
+</script>
+
+<style lang="scss">
+@import "@/styles/login.scss";
+</style>
diff --git a/src/router/page/index.js b/src/router/page/index.js
index 30423be..f200b46 100644
--- a/src/router/page/index.js
+++ b/src/router/page/index.js
@@ -45,6 +45,19 @@
       isAuth: false,
     },
   },
+
+  
+  {
+    path: "/ecallLogin",
+    name: "登录页",
+    component: () =>
+      import(/* webpackChunkName: "page" */ "@/page/login/ecall.vue"),
+    meta: {
+      keepAlive: true,
+      isTab: false,
+      isAuth: false,
+    },
+  },
   
   {
     path: "/lock",
diff --git a/vue.config.js b/vue.config.js
index 23a6fc5..a47489b 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -54,8 +54,8 @@
       },
       "/api": {
         //本地服务接口地址
-        target: "http://192.168.31.188:9528",
-        // target: "https://srgdjczzxtpt.com:2080/api",
+        // target: "http://192.168.31.188:9528",
+        target: "https://srgdjczzxtpt.com:2080/api",
         // target: "https://kt39592615.goho.co",
         // target: "http://z4042833u6.wicp.vip",
         // target: "http://localhost:9528",

--
Gitblit v1.9.3