zhongrj
2024-05-16 7dcb1c1b55a639d30e4f70b6e9ceddecc4fb2873
e 呼即办配置
4 files modified
1 files added
170 ■■■■■ changed files
src/page/index/index.vue 1 ●●●● patch | view | raw | blame | history
src/page/index/top/index.vue 2 ●●●●● patch | view | raw | blame | history
src/page/login/ecall.vue 150 ●●●●● patch | view | raw | blame | history
src/router/page/index.js 13 ●●●●● patch | view | raw | blame | history
vue.config.js 4 ●●●● patch | view | raw | blame | history
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())
        }
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" })
                    }
src/page/login/ecall.vue
New file
@@ -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>
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",
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",