feat: 系统配置功能新增

This commit is contained in:
kun 2023-07-31 18:55:57 +08:00
parent 3a204335e1
commit c060be6fd6
13 changed files with 343 additions and 158 deletions

View File

@ -186,3 +186,8 @@ export const addProject = (params: FormData) => {
export const addCompany = (params: FormData) => {
return http.post(BASEURL + `/ent/enterprise/add`, params);
};
// 获取系统名称配置
export const systemNameConfig = (params: FormData) => {
return http.post(BASEURL + `/xmgl/systemConfig/queryByKey`, params);
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

View File

@ -5,7 +5,7 @@
<div @click="goHome" class="logo flx-center">
<!-- <img src="@/assets/images/logo.svg" alt="logo" /> -->
<!-- <img src="@/assets/images/login/china.png" style="margin: 0 15px" alt="logo" /> -->
<span>乳山工程建筑管理服务平台</span>
<span>{{ globalStore.systemNameConfig }}</span>
<span style="margin: 0 20px">|</span>
<span>{{ moduleTitle }}</span>
</div>

View File

@ -6,7 +6,7 @@
<div @click="goHome" class="logo flx-center">
<!-- <img src="@/assets/images/logo.svg" alt="logo" /> -->
<!-- <img src="@/assets/images/login/china.png" style="margin: 0 15px" alt="logo" /> -->
<span>乳山工程建筑管理服务平台</span>
<span>{{ globalStore.systemNameConfig }}</span>
<span v-if="moduleTitle" style="margin: 0 20px">|</span>
<span class="title">{{ moduleTitle }}</span>
</div>

View File

@ -29,6 +29,7 @@ export const GlobalStore = defineStore({
// language
language: "",
path: null,
systemNameConfig: "", // 系统名称配置
// themeConfig
themeConfig: {
// 当前页面是否全屏

View File

@ -15,6 +15,7 @@ export interface GlobalState {
openDropdown: boolean | null;
path: string | null;
isManager: string | null;
systemNameConfig: string | null; // 系统名称配置
}
/* themeConfigProp */

View File

@ -6,7 +6,7 @@
<div class="logo flx-center">
<!-- <img src="@/assets/images/logo.svg" alt="logo" /> -->
<!-- <img src="@/assets/images/login/china.png" style="margin: 0 15px" alt="logo" /> -->
<span>乳山工程建筑管理服务平台</span>
<span>{{ globalStore.systemNameConfig }}</span>
</div>
<ToolBarLeft />
</div>

View File

@ -4,7 +4,7 @@
<div class="logo">
<!-- <img src="@/assets/images/logo.svg" alt="logo" /> -->
<!-- <img src="@/assets/images/login/china.png" style="margin: 0 15px" alt="logo" /> -->
<span>乳山工程建筑管理服务平台</span>
<span>{{ globalStore.systemNameConfig }}</span>
<span class="middle">|</span>
<span>企业注册</span>
</div>
@ -36,6 +36,8 @@ import { addCompany } from "@/api/modules/jxjview";
import type { RuleFormData } from "./basic-form.vue";
import type { EnterpriseMains } from "./entrepreneur.vue";
import { ElMessage } from "element-plus";
import { GlobalStore } from "@/stores";
const globalStore = GlobalStore();
const router = useRouter();
const datas = reactive(values);

View File

@ -5,7 +5,7 @@
<!-- <img src="@/assets/images/logo.svg" alt="logo" /> -->
<div>
<!-- <img src="@/assets/images/login/china.png" style="margin: 0 15px" alt="logo" /> -->
<span>乳山工程建筑管理服务平台</span>
<span>{{ globalStore.systemNameConfig }}</span>
</div>
<span class="middle">|</span>
@ -77,6 +77,8 @@ import AMap from "@/components/AMap/AMap.vue";
import { ElMessage, FormInstance, ElForm, FormRules } from "element-plus";
// import router from "@/routers";
import { LOGIN_URL } from "@/config/config";
import { GlobalStore } from "@/stores";
const globalStore = GlobalStore();
const router = useRouter();

View File

@ -1,29 +1,19 @@
.flx-center {
display: flex;
flex-direction: column;
align-items: flex-start;
}
.login-container {
height: 100%;
min-height: 550px;
background: url("@/assets/images/login/bglogin_rushan.png") center center no-repeat;
background-size: 100% 65%;
.login-title {
color: #2a314b;
font-weight: 600;
font-size: 22px;
> span {
margin-left: 30px;
}
}
background: url("@/assets/images/login/loginBackground.jpg") center center no-repeat;
background-color: #eeeeee;
background-size: 100% 100%;
background-size: cover;
.login-box {
position: relative;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: flex-end;
justify-content: center;
width: 96%;
height: 75%;
height: 94%;
padding: 0 50px;
// background-color: hsl(0deg 0% 100% / 80%);
border-radius: 10px;
@ -44,8 +34,8 @@
// height: 100%;
margin: 126px 0 65px 190px;
}
span {
margin: 0 0 65px 88px;
div {
text-align: center;
font-size: 40px;
font-weight: 600;
color: white;
@ -56,7 +46,7 @@
height: 377px;
padding: 50px 40px 45px;
background-color: #ffffff;
margin-right: 120px;
// border-radius: 10px;
box-shadow: 2px 3px 7px rgb(0 0 0 / 20%);
.login-logo {

View File

@ -1,15 +1,12 @@
<template>
<div class="login-container flx-center">
<div class="login-title">
<span>乳山工程建筑管理服务平台</span>
</div>
<div class="login-box">
<!-- <SwitchDark class="dark" /> -->
<!-- <div class="login-left">
<img src="@/assets/images/login_left.png" alt="login" />
<div class="login-left">
<!-- <img src="@/assets/images/login_left.png" alt="login" /> -->
<img src="@/assets/images/login/computerIcon.png" alt="" /><br />
<span>数字化政务监管平台</span>
</div> -->
<!-- 数字化政务监管平台 -->
<div>{{ globalStore.systemNameConfig }}</div>
</div>
<div class="login-form">
<div class="login-logo">
<!-- <img class="login-icon" src="@/assets/images/logo.svg" alt="" /> -->
@ -22,8 +19,18 @@
</template>
<script setup lang="ts" name="login">
import SwitchDark from "@/components/SwitchDark/index.vue";
import LoginForm from "./components/LoginForm.vue";
import { onMounted } from "vue";
import { systemNameConfig } from "@/api/modules/jxjview";
import { GlobalStore } from "@/stores";
const globalStore = GlobalStore();
onMounted(async () => {
const res = await systemNameConfig({ configKey: "system_name" });
console.log(res);
if (res && res.result) {
globalStore.systemNameConfig = res.result.configValue;
}
});
</script>
<style scoped lang="scss">

144
src/views/login/index1.scss Normal file
View File

@ -0,0 +1,144 @@
.flx-center {
display: flex;
flex-direction: column;
align-items: flex-start;
}
.login-container {
height: 100%;
min-height: 550px;
position: relative;
&::before {
content: "";
position: absolute;
top: 0px;
bottom: 0px;
width: 100%;
height: 100%;
background: url("@/assets/images/login/bg.png") center center no-repeat;
background-size: 100% 100%;
z-index: 1;
}
&::after {
content: "";
position: absolute;
top: 0px;
bottom: 0px;
width: 100%;
height: 100%;
background-image: linear-gradient(152deg, #2c90ff, #3f2da3);
background-color: rgba(255, 255, 255, 0.54);
}
.login-title {
color: #2a314b;
font-weight: 600;
font-size: 22px;
position: relative;
z-index: 1;
> span {
margin-left: 30px;
}
}
.login-box {
position: relative;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: flex-end;
width: 96%;
height: 75%;
z-index: 1;
// background-color: hsl(0deg 0% 100% / 80%);
border-radius: 10px;
.dark {
position: absolute;
top: 13px;
right: 18px;
}
.login-left {
width: 515px;
height: 473px;
// margin: 0 10px 0 0;
background: url("@/assets/images/login/Group 2585.jpg") repeat-x 0 0;
background-size: 100%;
img {
// width: 100%;
// height: 100%;
margin: 126px 0 65px 190px;
}
span {
margin: 0 0 65px 88px;
font-size: 40px;
font-weight: 600;
color: white;
}
}
.login-form {
width: 420px;
height: 377px;
padding: 50px 40px 45px;
background-color: #ffffff;
margin-right: 120px;
// border-radius: 10px;
box-shadow: 2px 3px 7px rgb(0 0 0 / 20%);
.login-logo {
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 45px;
.login-icon {
width: 60px;
height: 52px;
}
.logo-text {
padding: 0 0 0 25px;
margin: 0;
font-size: 32px;
font-weight: 500;
color: #333333;
white-space: nowrap;
}
}
.el-form-item {
margin-bottom: 40px;
}
.login-btn {
display: flex;
// justify-content: space-between;
justify-content: center;
width: 100%;
margin-top: 40px;
white-space: nowrap;
.el-button {
width: 280px;
height: 42px;
color: #ffffff;
background-color: #2246b4;
}
}
.logon {
display: flex;
// text-align: center;
margin-top: 48px;
margin-left: 29%;
}
}
}
}
.form {
padding: 0 17%;
}
@media screen and (max-width: 1250px) {
.login-left {
display: none;
}
}
@media screen and (max-width: 600px) {
.login-form {
width: 97% !important;
}
}

View File

@ -0,0 +1,33 @@
<template>
<div class="login-container flx-center">
<div class="login-title">
<span>{{ globalStore.systemNameConfig }}</span>
</div>
<div class="login-box">
<!-- <SwitchDark class="dark" /> -->
<!-- <div class="login-left">
<img src="@/assets/images/login_left.png" alt="login" />
<img src="@/assets/images/login/computerIcon.png" alt="" /><br />
<span>数字化政务监管平台</span>
</div> -->
<div class="login-form">
<div class="login-logo">
<!-- <img class="login-icon" src="@/assets/images/logo.svg" alt="" /> -->
<h2 class="logo-text">账户登录</h2>
</div>
<LoginForm />
</div>
</div>
</div>
</template>
<script setup lang="ts" name="login">
import SwitchDark from "@/components/SwitchDark/index.vue";
import LoginForm from "./components/LoginForm.vue";
import { GlobalStore } from "@/stores";
const globalStore = GlobalStore();
</script>
<style scoped lang="scss">
@import "./index.scss";
</style>