yangg 2 сар өмнө
parent
commit
bfa2ef85cc

+ 1 - 1
.env.development

@@ -2,7 +2,7 @@
 ENV = 'development'
 
 # 本地环境接口地址
-VITE_API_URL = 'http://192.168.66.187:8085'
+VITE_API_URL = 'http://121.36.251.245:8083'
 
 # 是否启用按钮权限
 VITE_PM_ENABLED = true

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 753 - 10
package-lock.json


+ 2 - 0
package.json

@@ -22,6 +22,8 @@
 		"@wangeditor/editor-for-vue": "^5.1.12",
 		"autoprefixer": "^10.4.20",
 		"axios": "^1.7.4",
+		"bootstrap": "^5.3.5",
+		"bootstrap-vue-3": "^0.5.1",
 		"countup.js": "^2.8.0",
 		"cropperjs": "^1.6.2",
 		"e-icon-picker": "2.1.1",

BIN
src/assets/login_background.jpg


+ 1 - 1
src/layout/logo/index.vue

@@ -57,7 +57,7 @@ const siteLogo = computed(() => {
 	font-size: 16px;
 	cursor: pointer;
 	animation: logoAnimation 0.3s ease-in-out;
-
+	border-top-right-radius: 15px;
 	span {
 		white-space: nowrap;
 		display: inline-block;

+ 2 - 2
src/layout/navBars/breadcrumb/index.vue

@@ -101,7 +101,7 @@ onUnmounted(() => {
 	height: 50px;
 	display: flex;
 	align-items: center;
-	background: var(--next-bg-topBar);
-	border-bottom: 1px solid var(--next-border-color-light);
+	background:var(--next-bg-topBar);//#f6f6f6;
+	border-bottom: 1px solid  1px solid #d6d4cf;
 }
 </style>

+ 2 - 2
src/layout/navBars/tagsView/tagsView.vue

@@ -591,8 +591,8 @@ watch(
 
 <style scoped lang="scss">
 .layout-navbars-tagsview {
-	background-color: var(--el-color-white);
-	border-bottom: 1px solid var(--next-border-color-light);
+	background-color: var(--el-color-white);//#f6f6f6;
+	border-bottom: 1px solid #d6d4cf;
 	position: relative;
 	z-index: 4;
 	:deep(.el-scrollbar__wrap) {

+ 5 - 1
src/main.ts

@@ -33,13 +33,17 @@ import 'vxe-table/lib/style.css'
 import '/@/assets/style/reset.scss';
 import 'element-tree-line/dist/style.css'
 
+import BootstrapVue3 from 'bootstrap-vue-3'
+import 'bootstrap/dist/css/bootstrap.css'
+import 'bootstrap-vue-3/dist/bootstrap-vue-3.css'
+
 let forIconfont = analyzingIconForIconfont(iconfont); //解析class
 iconList.addIcon(forIconfont.list); // 添加iconfont dvadmin3的icon
 iconList.addIcon(elementPlus); // 添加element plus的图标
 iconList.addIcon(fontAwesome470); // 添加fontAwesome 470版本的图标
 
 let app = createApp(App);
-
+app.use(BootstrapVue3)
 scanAndInstallPlugins(app);
 
 app.use(eIconPicker, {

+ 5 - 4
src/theme/app.scss

@@ -31,7 +31,8 @@ body,
 	padding: 0;
 	width: 100%;
 	height: 100%;
-	font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif;
+	/* font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif; */
+	font-family: "Golos Text", sans-serif;
 	font-weight: 400;
 	-webkit-font-smoothing: antialiased;
 	-webkit-tap-highlight-color: transparent;
@@ -55,7 +56,7 @@ body,
 		flex: 1;
 	}
 	.layout-aside {
-		background: var(--next-bg-menuBar);
+		background: #ffffff;//var(--next-bg-menuBar);
 		box-shadow: 2px 0 6px rgb(0 21 41 / 1%);
 		height: inherit;
 		position: relative;
@@ -72,10 +73,10 @@ body,
 		height: auto !important;
 	}
 	.layout-main {
-		padding: 0 !important;
+		padding: 0 10px !important;
 		overflow: hidden;
 		width: 100%;
-		background-color: var(--next-bg-main-color);
+		background-color: #f6f6f6;//var(--next-bg-main-color);
 		display: flex;
 		flex-direction: column;
 		// 内层 el-scrollbar样式,用于界面高度自适应(main.vue)

+ 23 - 6
src/theme/element.scss

@@ -68,10 +68,12 @@
 ------------------------------- */
 // 鼠标 hover 时颜色
 .el-menu-hover-bg-color {
-	background-color: var(--next-bg-menuBarActiveColor) !important;
+	border-radius: 15px;
+	background-color:#4fc9da !important;//var(--next-bg-menuBarActiveColor) !important;
 }
 // 默认样式修改
 .el-menu {
+	background-color: #fff !important;
 	border-right: none !important;
 	width: 220px;
 }
@@ -81,7 +83,7 @@
 }
 .el-menu-item,
 .el-sub-menu__title {
-	color: var(--next-bg-menuBarColor);
+	color: rgba(var(--dark), 1);//var(--next-bg-menuBarColor);
 }
 // 修复点击左侧菜单折叠再展开时,宽度不跟随问题
 .el-menu--collapse {
@@ -106,11 +108,16 @@
 .el-menu-item.is-active,
 .el-sub-menu.is-active .el-sub-menu__title,
 .el-sub-menu:not(.is-opened):hover .el-sub-menu__title {
+
 	@extend .el-menu-hover-bg-color;
 }
 .el-menu-item:hover {
 	@extend .el-menu-hover-bg-color;
 }
+.el-menu-item.is-active {
+	border-radius: 15px;
+	color: #fff !important;
+}
 .el-sub-menu.is-active.is-opened .el-sub-menu__title {
 	background-color: unset !important;
 }
@@ -129,7 +136,7 @@
 	.el-menu--vertical {
 		background: var(--next-bg-menuBar);
 		.el-sub-menu.is-active .el-sub-menu__title {
-			color: var(--el-menu-active-color);
+			color:#fff; //var(--el-menu-active-color);
 		}
 		.el-popper.is-pure.is-light {
 			.el-menu--vertical {
@@ -138,7 +145,7 @@
 					color: var(--next-bg-menuBarColor);
 				}
 				.el-sub-menu.is-active .el-sub-menu__title {
-					color: var(--el-menu-active-color);
+					color: #fff; //var(--el-menu-active-color);
 				}
 			}
 		}
@@ -163,14 +170,15 @@
 						color: var(--next-bg-topBarColor);
 					}
 					.el-sub-menu.is-active .el-sub-menu__title {
-						color: var(--el-menu-active-color);
+						color: #fff;// var(--el-menu-active-color);
 					}
 				}
 			}
 		}
 		.el-menu-item.is-active,
 		.el-sub-menu.is-active .el-sub-menu__title {
-			color: var(--el-menu-active-color);
+			color: #fff !important;//var(--white);
+    		background: rgba(var(--primary), 1);//var(--el-menu-active-color);
 		}
 	}
 }
@@ -261,6 +269,15 @@
 		-moz-user-select: text !important;
 		-ms-user-select: text !important;
 		user-select:text !important;
+		//var(--el-fill-color-lighter)
+	}
+	.el-table--enable-row-transition{
+		.el-table__body{
+			 td.el-table__cell{
+				background: rgba(var(--dark), 0.03) !important;
+			}
+		}
+		
 	}
 
 }

+ 2 - 1
src/views/system/home/index.vue

@@ -1,5 +1,6 @@
 <template>
 	<div class="home-container">
+		
 		<el-row :gutter="15" class="home-card-one mb15">
 			<el-col
 				:xs="24"
@@ -562,7 +563,7 @@ $homeNavLengh: 8;
 		.home-card-item {
 			width: 100%;
 			height: 130px;
-			border-radius: 4px;
+			border-radius: 16px;
 			transition: all ease 0.3s;
 			padding: 20px;
 			overflow: hidden;

+ 61 - 65
src/views/system/login/index.vue

@@ -5,59 +5,54 @@
 				<img :src="siteLogo" />
 				<div class="login-left-logo-text">
 					<span>{{ getSystemConfig['login.site_title'] || getThemeConfig.globalViceTitle }}</span>
-					<span class="login-left-logo-text-msg" style="margin-top: 5px;">{{
-						getSystemConfig['login.site_name'] || getThemeConfig.globalViceTitleMsg }}</span>
+					<span class="login-left-logo-text-msg" style="margin-top: 5px">{{
+						getSystemConfig['login.site_name'] || getThemeConfig.globalViceTitleMsg
+					}}</span>
 				</div>
 			</div>
 		</div>
 		<div class="login-right flex z-10">
 			<div class="login-right-warp flex-margin">
-<!--				<span class="login-right-warp-one"></span>-->
-<!--				<span class="login-right-warp-two"></span>-->
+				<!--				<span class="login-right-warp-one"></span>-->
+				<!--				<span class="login-right-warp-two"></span>-->
 				<div class="login-right-warp-mian">
-					<div class="login-right-warp-main-title">
-            {{userInfos.pwd_change_count===0?'初次登录修改密码':'欢迎登录'}}
-          </div>
-					<div class="login-right-warp-main-form">
-						<div v-if="!state.isScan">
-							<el-tabs v-model="state.tabsActiveName">
-                <el-tab-pane :label="$t('message.label.changePwd')" name="changePwd"  v-if="userInfos.pwd_change_count===0">
-                  <ChangePwd />
-                </el-tab-pane>
-								<el-tab-pane :label="$t('message.label.one1')" name="account" v-else>
-									<Account />
-								</el-tab-pane>
-
-								<!-- TODO 手机号码登录未接入,展示隐藏 -->
-								<!-- <el-tab-pane :label="$t('message.label.two2')" name="mobile">
-									<Mobile />
-								</el-tab-pane> -->
-							</el-tabs>
+					<div class="flex flex-col items-center justify-center p-8 pt-14">
+						<!-- Logo -->
+						<div class="text-4xl font-bold text-red-600 mb-12">敏龙AI面试</div>
+						
+						<!-- 登录表单区域 -->
+						<div class="w-full max-w-sm">
+							<div v-if="!state.isScan">
+								<!-- <el-tabs v-model="state.tabsActiveName" class="w-full">
+									<el-tab-pane :label="$t('message.label.changePwd')" name="changePwd" v-if="userInfos.pwd_change_count === 0">
+										<ChangePwd />
+									</el-tab-pane>
+									<el-tab-pane :label="$t('message.label.one1')" name="account" v-else> -->
+										<Account />
+									<!-- </el-tab-pane> -->
+
+									<!-- TODO 手机号码登录未接入,展示隐藏 -->
+									<!-- <el-tab-pane :label="$t('message.label.two2')" name="mobile">
+										<Mobile />
+									</el-tab-pane> -->
+								<!-- </el-tabs> -->
+							</div>
 						</div>
-<!--						<Scan v-if="state.isScan" />-->
-<!--						<div class="login-content-main-sacn" @click="state.isScan = !state.isScan">-->
-<!--							<i class="iconfont" :class="state.isScan ? 'icon-diannao1' : 'icon-barcode-qr'"></i>-->
-<!--							<div class="login-content-main-sacn-delta"></div>-->
-<!--						</div>-->
 					</div>
 				</div>
 			</div>
 		</div>
 
 		<div class="login-authorization z-10">
-			<p>Copyright © {{ getSystemConfig['login.copyright'] || '2021-2024 北京信码新创科技有限公司' }} 版权所有</p>
-			<p class="la-other" style="margin-top: 5px;">
-				<a href="https://beian.miit.gov.cn" target="_blank">{{ getSystemConfig['login.keep_record'] ||
-					'京ICP备2021031018号' }}</a>
+			<p>Copyright © {{ getSystemConfig['login.copyright'] || ' 上海瑞赢旷视科技有限公司' }}</p>
+			<p class="la-other" style="margin-top: 5px">
+				<a href="https://beian.miit.gov.cn" target="_blank">{{ getSystemConfig['login.keep_record'] || '京ICP备2021031018号' }}</a>
 				|
-				<a :href="getSystemConfig['login.help_url'] ? getSystemConfig['login.help_url'] : '#'"
-					target="_blank">帮助</a>
+				<a :href="getSystemConfig['login.help_url'] ? getSystemConfig['login.help_url'] : '#'" target="_blank">帮助</a>
 				|
-				<a
-					:href="getSystemConfig['login.privacy_url'] ? getBaseURL(getSystemConfig['login.privacy_url']) : '#'">隐私</a>
+				<a :href="getSystemConfig['login.privacy_url'] ? getBaseURL(getSystemConfig['login.privacy_url']) : '#'">隐私</a>
 				|
-				<a
-					:href="getSystemConfig['login.clause_url'] ? getBaseURL(getSystemConfig['login.clause_url']) : '#'">条款</a>
+				<a :href="getSystemConfig['login.clause_url'] ? getBaseURL(getSystemConfig['login.clause_url']) : '#'">条款</a>
 			</p>
 		</div>
 	</div>
@@ -67,22 +62,22 @@
 </template>
 
 <script setup lang="ts" name="loginIndex">
-import {defineAsyncComponent, onMounted, reactive, computed, watch} from 'vue';
+import { defineAsyncComponent, onMounted, reactive, computed, watch } from 'vue';
 import { storeToRefs } from 'pinia';
 import { useThemeConfig } from '/@/stores/themeConfig';
 import { NextLoading } from '/@/utils/loading';
 import logoMini from '/@/assets/logo-mini.svg';
 import loginMain from '/@/assets/login-main.svg';
-import loginBg from '/@/assets/login-bg.png';
-import { SystemConfigStore } from '/@/stores/systemConfig'
-import { getBaseURL } from "/@/utils/baseUrl";
+import loginBg from '/@/assets/login_background.jpg';
+import { SystemConfigStore } from '/@/stores/systemConfig';
+import { getBaseURL } from '/@/utils/baseUrl';
 // 引入组件
 const Account = defineAsyncComponent(() => import('/@/views/system/login/component/account.vue'));
 const Mobile = defineAsyncComponent(() => import('/@/views/system/login/component/mobile.vue'));
 const Scan = defineAsyncComponent(() => import('/@/views/system/login/component/scan.vue'));
 const ChangePwd = defineAsyncComponent(() => import('/@/views/system/login/component/changePwd.vue'));
-import _ from "lodash-es";
-import {useUserInfo} from "/@/stores/userInfo";
+import _ from 'lodash-es';
+import { useUserInfo } from '/@/stores/userInfo';
 const { userInfos } = storeToRefs(useUserInfo());
 
 // 定义变量内容
@@ -93,37 +88,39 @@ const state = reactive({
 	isScan: false,
 });
 
-
-watch(()=>userInfos.value.pwd_change_count,(val)=>{
-  if(val===0){
-    state.tabsActiveName ='changePwd'
-  }else{
-    state.tabsActiveName ='account'
-  }
-},{deep:true,immediate:true})
-
+watch(
+	() => userInfos.value.pwd_change_count,
+	(val) => {
+		if (val === 0) {
+			state.tabsActiveName = 'changePwd';
+		} else {
+			state.tabsActiveName = 'account';
+		}
+	},
+	{ deep: true, immediate: true }
+);
 
 // 获取布局配置信息
 const getThemeConfig = computed(() => {
 	return themeConfig.value;
 });
 
-const systemConfigStore = SystemConfigStore()
-const { systemConfig } = storeToRefs(systemConfigStore)
+const systemConfigStore = SystemConfigStore();
+const { systemConfig } = storeToRefs(systemConfigStore);
 const getSystemConfig = computed(() => {
-	return systemConfig.value
-})
+	return systemConfig.value;
+});
 
 const siteLogo = computed(() => {
 	if (!_.isEmpty(getSystemConfig.value['login.site_logo'])) {
-		return getSystemConfig.value['login.site_logo']
+		return getSystemConfig.value['login.site_logo'];
 	}
-	return logoMini
+	return logoMini;
 });
 
 const siteBg = computed(() => {
 	if (!_.isEmpty(getSystemConfig.value['login.login_background'])) {
-		return getSystemConfig.value['login.login_background']
+		return getSystemConfig.value['login.login_background'];
 	}
 });
 
@@ -161,7 +158,6 @@ onMounted(() => {
 			.login-left-logo-text {
 				display: flex;
 				flex-direction: column;
-
 				span {
 					margin-left: 10px;
 					font-size: 16px;
@@ -202,9 +198,9 @@ onMounted(() => {
 
 		.login-right-warp {
 			//border: 1px solid var(--el-color-primary-light-3);
-			border-radius: 3px;
-			width: 500px;
-			height: 500px;
+			border-radius: 10px;
+			width: 450px;
+			height: 470px;
 			position: relative;
 			overflow: hidden;
 			//background-color: var(--el-color-white);
@@ -275,12 +271,12 @@ onMounted(() => {
 				display: flex;
 				flex-direction: column;
 				height: 100%;
-
+				background: #fff;
 				.login-right-warp-main-title {
 					height: 130px;
 					line-height: 130px;
 					font-size: 32px;
-          font-weight: 600;
+					font-weight: 600;
 					text-align: center;
 					letter-spacing: 3px;
 					animation: logoAnimation 0.3s ease;

+ 2 - 1
src/views/system/user/index.vue

@@ -157,6 +157,7 @@ onMounted(() => {
 }
 
 .font-normal {
-  font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif;
+ /*  font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif; */
+ font-family: "Golos Text", sans-serif;
 }
 </style>

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно