Kaynağa Gözat

Merge branch 'master' of yangg/interview_web into dev

yangg 2 hafta önce
ebeveyn
işleme
8d797dd85a

BIN
src/assets/LOGO1.png


BIN
src/assets/background.jpg


BIN
src/assets/电子营业执照.png


+ 4 - 3
src/layout/logo/index.vue

@@ -1,10 +1,10 @@
 <template>
 	<div class="layout-logo" v-if="setShowLogo" @click="onThemeConfigChange">
-		<img src="../../assets/logo.png" class="layout-logo-medium-img"/>
+		<img src="../../assets/logo1.png" class="layout-logo-medium-img"/>
 		<!-- <span style="font-size: x-large">{{ getSystemConfig['login.site_title'] || themeConfig.globalTitle }}</span> -->
 	</div>
 	<div class="layout-logo-size" v-else @click="onThemeConfigChange">
-		<img src="../../assets/logo.png" class="layout-logo-size-img" />
+		<img src="../../assets/logo1.png" class="layout-logo-size-img" />
 	</div>
 </template>
 
@@ -70,7 +70,8 @@ const siteLogo = computed(() => {
 	}
 
 	&-medium-img {
-		width: 110px;
+		width: 50px;
+		height: 50px;
 		margin-right: 5px;
 	}
 }

+ 208 - 42
src/views/system/home/index.vue

@@ -1,7 +1,95 @@
 <template>
 	<div class="home-container">
-		
-		<el-row :gutter="15" class="home-card-one mb15">
+		<el-row :gutter="15" class="home-card-one">
+			<!-- 左侧主要内容区域 -->
+			<el-col :span="18">
+				<el-row :gutter="12" class="home-card-one mb15">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+						<div class="home-card-one-title">上午好,刘老师。这是今日的人才情况动态。</div>
+					</el-col>
+				</el-row>
+				<el-row :gutter="10" class="home-card-two mb15">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+						<div class="home-card-item" style="margin-bottom: 10px;">
+							<div class="home-card-item-title">待办事项</div>
+							<div class="todo-list">
+								<div class="todo-item">
+									<div class="todo-item-left">
+										<span class="todo-tag">4位候选人待处理</span>
+										<span class="todo-text">2025年6月12日  15:00最新投递</span>
+									</div>
+									<div class="todo-item-right">
+										<el-icon size="20"><ArrowRightBold /></el-icon>
+									</div>
+								</div>
+								
+							</div>
+						</div>
+					</el-col>
+					<el-col :xs="24" :sm="14" :md="14" :lg="14" :xl="14">
+						<div class="home-card-item">
+							<div style="height: 100%" ref="homeLineRef"></div>
+						</div>
+					</el-col>
+					<el-col :xs="24" :sm="10" :md="10" :lg="10" :xl="10" class="home-media">
+						<div class="home-card-item">
+							<div style="height: 100%" ref="homePieRef"></div>
+						</div>
+					</el-col>
+				</el-row>
+			</el-col>
+
+			<!-- 右侧辅助区域 -->
+			<el-col :span="6">
+				<div class="home-right" style="margin-top: 75px;">
+					<div class="home-card-item">
+						<!-- <div class="home-card-item-title">快捷操作</div> -->
+						<div class="home-card-item-content">
+							<el-select placeholder="Select" style="margin-right: 5px;">
+								<el-option label="Option 1" value="1" />
+								<el-option label="Option 2" value="2" />
+								<el-option label="Option 3" value="3" />
+							</el-select>
+							<el-select placeholder="Select" style="margin-right: 5px;">
+								<el-option label="Option 1" value="1" />
+								<el-option label="Option 2" value="2" />
+								<el-option label="Option 3" value="3" />
+							</el-select>
+							<el-select placeholder="Select" style="margin-right: 5px;">
+								<el-option label="Option 1" value="1" />
+								<el-option label="Option 2" value="2" />
+								<el-option label="Option 3" value="3" />
+							</el-select>
+						</div>
+						<p style="margin-top: 20px; font-size: 12px;  color:#808080;">通过情况概览</p>
+						<div class="demo-collapse">
+							<el-collapse >
+								<el-collapse-item title="在此期间共计  2 位候选人通过面试" name="1">
+									<div class="score-list">
+										<div class="score-item">
+											<div class="score-name">张老三</div>
+											<div class="score-name">男</div>
+											<div class="score-name">25岁</div>
+											<div class="score-name">2年经验</div>
+											<div class="score-value">82%</div>
+										</div>
+										<div class="score-item">
+											<div class="score-name">李老四</div>  
+											<div class="score-name">男</div>
+											<div class="score-name">42岁</div>
+											<div class="score-name">5年经验</div>
+											<div class="score-value">65%</div>
+										</div>
+									</div>
+								</el-collapse-item>
+							</el-collapse>
+						</div>
+						<p style="margin-top: 20px; font-size: 12px;  color:#808080;">招聘情况总览</p>
+						<p style="font-size: 14px;  color:#808080;">共计 10 位候选人参与面试,通过率 <span style="color: #409EFF;">20%</span></p>
+												<!-- 这里可以添加右侧内容 -->
+					</div>
+				</div>
+			</el-col>
 			<el-col
 				:xs="24"
 				:sm="12"
@@ -26,43 +114,6 @@
 				</div>
 			</el-col>
 		</el-row>
-		<el-row :gutter="15" class="home-card-two mb15">
-			<el-col :xs="24" :sm="14" :md="14" :lg="16" :xl="16">
-				<div class="home-card-item">
-					<div style="height: 100%" ref="homeLineRef"></div>
-				</div>
-			</el-col>
-			<el-col :xs="24" :sm="10" :md="10" :lg="8" :xl="8" class="home-media">
-				<div class="home-card-item">
-					<div style="height: 100%" ref="homePieRef"></div>
-				</div>
-			</el-col>
-		</el-row>
-		<!-- <el-row :gutter="15" class="home-card-three">
-			<el-col :xs="24" :sm="10" :md="10" :lg="8" :xl="8">
-				<div class="home-card-item">
-					<div class="home-card-item-title">快捷导航工具</div>
-					<div class="home-monitor">
-						<div class="flex-warp">
-							<div class="flex-warp-item" v-for="(v, k) in homeThree" :key="k">
-								<div class="flex-warp-item-box" :class="`home-animation${k}`">
-									<div class="flex-margin">
-										<i :class="v.icon" :style="{ color: v.iconColor }"></i>
-										<span class="pl5">{{ v.label }}</span>
-										<div class="mt10">{{ v.value }}</div>
-									</div>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</el-col>
-			<el-col :xs="24" :sm="14" :md="14" :lg="16" :xl="16" class="home-media">
-				<div class="home-card-item">
-					<div style="height: 100%" ref="homeBarRef"></div>
-				</div>
-			</el-col>
-		</el-row> -->
 	</div>
 </template>
 
@@ -124,7 +175,7 @@ export default defineComponent({
 					color2: '--next-color-success-lighter',
 					color3: '--el-color-success',
 				},
-				{
+				/* {
 					num1: '0',
 					num2: '0',
 					num3: '问题总数',
@@ -132,7 +183,7 @@ export default defineComponent({
 					color1: '#6690F9',
 					color2: '--next-color-warning-lighter',
 					color3: '--el-color-warning',
-				},
+				}, */
 				{
 					num1: '0',
 					num2: '0',
@@ -606,11 +657,17 @@ export default defineComponent({
 <style scoped lang="scss">
 $homeNavLengh: 8;
 .home-container {
-	padding-top: 10px;
+	padding: 15px;
 	overflow: hidden;
 	.home-card-one,
 	.home-card-two,
 	.home-card-three {
+		.home-card-one-title{
+			padding: 20px 0px;
+			color:#808080;
+			font-size: 14px;
+			letter-spacing: 3px;
+		}
 		.home-card-item {
 			width: 100%;
 			height: 130px;
@@ -691,5 +748,114 @@ $homeNavLengh: 8;
 			}
 		}
 	}
+	.home-right {
+		.home-card-item {
+			height: 500px;
+			border-radius: 16px;
+			transition: all ease 0.3s;
+			padding: 20px;
+			overflow: hidden;
+			background: var(--el-color-white);
+			color: var(--el-text-color-primary);
+			border: 1px solid var(--next-border-color-light);
+			.home-card-item-content{
+				display: flex;
+			}
+			::v-deep(.el-collapse-item__header){
+				border: none;
+			}
+			::v-deep(.el-collapse-item__wrap){
+				border: none;
+			}
+			::v-deep(.el-collapse-item__content){
+				padding: 0;
+			}
+			&-title {
+				font-size: 15px;
+				font-weight: bold;
+				height: 30px;
+				border-bottom: 1px solid var(--next-border-color-light);
+				padding-bottom: 10px;
+				margin-bottom: 10px;
+			}
+
+			&:hover {
+				box-shadow: 0 2px 12px var(--next-color-dark-hover);
+				transition: all ease 0.3s;
+			}
+		}
+	}
+
+	// 响应式处理
+	@media screen and (max-width: 1200px) {
+		.el-col-18 {
+			width: 100%;
+		}
+		.el-col-6 {
+			width: 100%;
+			margin-top: 15px;
+		}
+		.home-right .home-card-item {
+			height: auto;
+			min-height: 300px;
+		}
+	}
+	
+	.todo-list {
+		padding: 10px 20px; 
+		margin-top: 15px;
+		margin-left: 50px;
+		.todo-item {
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			padding: 8px 0;
+			border-bottom: 1px solid var(--next-border-color-light);
+			.todo-item-left {
+				display: flex;
+				flex-direction: column;
+				align-items: flex-start;
+				.todo-tag {
+					margin-right: 10px;
+				}
+			}
+			
+			&:last-child {
+				border-bottom: none;
+			}
+			
+			.todo-date {
+				color: var(--el-text-color-secondary);
+				font-size: 13px;
+			}
+			
+			:deep(.el-checkbox__label) {
+				color: var(--el-text-color-primary);
+			}
+		}
+	}
+	.score-list {
+		padding: 10px 0;
+		.score-item {
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			padding: 8px 15px;
+			margin: 5px 0;
+			background: var(--el-fill-color-light);
+			border-radius: 4px;
+			
+			.score-name {
+				font-size: 14px;
+				color: var(--el-text-color-primary);
+			}
+			
+			.score-value {
+				font-size: 14px;
+				color: var(--el-color-primary);
+				font-weight: 500;
+			}
+		}
+	}
 }
 </style>

+ 25 - 1
src/views/system/login/component/account.vue

@@ -46,8 +46,17 @@
 				</el-button>
 			</el-col>
 		</el-form-item>
+		<el-form-item>
+			<el-checkbox v-model="state.agreePolicy">
+				已阅读并同意
+				<a href="/user-agreement" target="_blank" class="login-link">《用户服务协议》</a>
+				与
+				<a href="/privacy-policy" target="_blank" class="login-link">《隐私协议》</a>
+			</el-checkbox>
+		</el-form-item>
 		<el-form-item class="login-animation4">
-			<el-button type="primary" class="login-content-submit" round @click="loginClick" :loading="loading.signIn">
+			
+			<el-button type="primary" class="login-content-submit" round @click="loginClick" :loading="loading.signIn" :disabled="!state.agreePolicy">
 				<span>{{ $t('message.account.accountBtnText') }}</span>
 			</el-button>
 		</el-form-item>
@@ -105,6 +114,7 @@ export default defineComponent({
 			loading: {
 				signIn: false,
 			},
+			agreePolicy: true,
 		});
 		const rules = reactive<FormRules>({
 			merchant_code: [{ required: true, message: '请填写商户号', trigger: 'blur' }],
@@ -286,5 +296,19 @@ export default defineComponent({
 		font-weight: 800;
 		margin-top: 15px;
 	}
+	:deep(.el-checkbox__label){
+		color: #808080 !important;
+	}
+	:deep(.el-checkbox__input.is-checked+.el-checkbox__label){
+		color: #808080 !important;
+	}
+	.login-link {
+		color: #0017ab;
+		text-decoration: none;
+		cursor: pointer;
+		&:hover {
+			color: #0017ab;
+		}
+	}
 }
 </style>

+ 48 - 21
src/views/system/login/index.vue

@@ -2,23 +2,32 @@
 	<div class="login-container flex z-10">
 		<div class="login-left">
 			<div class="login-left-logo">
-				<img :src="siteLogo" />
+				<!-- <img :src="siteLogo" /> -->
 				<div class="login-left-logo-text">
-					<span>{{ getSystemConfig['login.site_title'] || getThemeConfig.globalViceTitle }}</span>
+					<span>{{ "奇才, 只选对的!" }}</span><!-- getSystemConfig['login.site_title'] || getThemeConfig.globalViceTitle -->
 					<span class="login-left-logo-text-msg" style="margin-top: 5px">{{
-						getSystemConfig['login.site_name'] || getThemeConfig.globalViceTitleMsg
-					}}</span>
+						"您的人才战略顾问与首席执行官"
+					}}</span><!-- getSystemConfig['login.site_name'] || getThemeConfig.globalViceTitleMsg -->
 				</div>
 			</div>
 		</div>
 		<div class="login-right flex z-10">
+			<div class="login-right-warp-mian-title">客户服务专线:021-8888888</div>
+			
 			<div class="login-right-warp flex-margin">
+				
 				<!--				<span class="login-right-warp-one"></span>-->
 				<!--				<span class="login-right-warp-two"></span>-->
 				<div class="login-right-warp-mian">
+					
 					<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="logo-title">
+							<img src="../../../assets/LOGO1.png" alt="奇才AI面试" style="width: 65px; height: 70px;margin-right: 10px;">
+							<span style="font-size: 20px;font-weight: 600;letter-spacing: 3px;color: #595959;">账号登录</span>
+						</div>
+
+						<!-- <div class="text-4xl font-bold text-red-600 mb-12">奇才AI面试</div> -->
 						
 						<!-- 登录表单区域 -->
 						<div class="w-full max-w-sm">
@@ -44,17 +53,17 @@
 		</div>
 
 		<div class="login-authorization z-10">
-			<p>Copyright © {{ getSystemConfig['login.copyright'] || '' }}</p><!-- ['login.keep_record'] ||  -->
+			<p style="font-size: 12px;">©上海敏龙智创科技发展有限公司{{ getSystemConfig['login.copyright'] || '' }}</p><!-- ['login.keep_record'] || Copyright ©  -->
 			<p class="la-other" style="margin-top: 5px">
 				
 				<a href="https://wap.scjgj.sh.gov.cn/businessCheck/verifKey.do?showType=extShow&serial=9031000020250320141804000014054024-SAIC_SHOW_310000-6b70f287e0d2495697591ebb489adbe0956&signData=MEUCIGXojP0+cGcuBbeXVsraC1SL1GH9NehsKT6NwL/dPcjDAiEAryFp/aqoTmP5Z7seNN9eVQ4Rrvk4SsyT0FnqcL4kxFM=" target="_blank" >
-					<img style="display: inline-block;width: 28px;" src="../../../assets/69930b41b6c5e1edeaf5ffa0cc4b2bf.png" alt=""></a><!-- 京ICP备2021031018号 -->
-				|
+					<img style="display: inline-block;width: 28px;" src="../../../assets/电子营业执照.png" alt=""></a>沪ICP备2024071246号-3
+				<!-- |
 				<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.clause_url'] ? getBaseURL(getSystemConfig['login.clause_url']) : '#'">条款</a>
+				<a :href="getSystemConfig['login.clause_url'] ? getBaseURL(getSystemConfig['login.clause_url']) : '#'">条款</a> -->
 			</p>
 		</div>
 	</div>
@@ -70,7 +79,7 @@ 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_background.jpg';
+import loginBg from '/@/assets/background.jpg';
 import { SystemConfigStore } from '/@/stores/systemConfig';
 import { getBaseURL } from '/@/utils/baseUrl';
 // 引入组件
@@ -147,9 +156,9 @@ onMounted(() => {
 			display: flex;
 			align-items: center;
 			position: absolute;
-			top: 50px;
+			top: 280px;
 			left: 80px;
-			z-index: 1;
+			z-index: 999;
 			animation: logoAnimation 0.3s ease;
 
 			img {
@@ -162,13 +171,15 @@ onMounted(() => {
 				flex-direction: column;
 				span {
 					margin-left: 10px;
-					font-size: 16px;
-					color: var(--el-color-primary);
+					font-size: 95px;
+					font-weight: 100;
+					font-family: 'PingFang SC';
+					color: #fff;//var(--el-color-primary);
 				}
 
 				.login-left-logo-text-msg {
-					font-size: 12px;
-					color: var(--el-color-primary);
+					font-size: 45px;
+					color: #fff;//var(--el-color-primary);
 				}
 			}
 		}
@@ -197,12 +208,22 @@ onMounted(() => {
 
 	.login-right {
 		width: 700px;
+		position: relative;
+		.login-right-warp-mian-title{
+			position: absolute;
+			top: 59px;
+    		right: 115px;
+			font-size: 14px;
+			color: #ffffff;
+			text-align: right;
+			margin-right: 10px;
+		}
 
 		.login-right-warp {
 			//border: 1px solid var(--el-color-primary-light-3);
 			border-radius: 10px;
 			width: 450px;
-			height: 501px;
+			height: 550px;
 			position: relative;
 			overflow: hidden;
 			//background-color: var(--el-color-white);
@@ -285,6 +306,12 @@ onMounted(() => {
 					animation-delay: 0.3s;
 					color: var(--el-text-color-primary);
 				}
+				.logo-title{
+					width: 71%;
+					display: flex;
+					justify-content: space-between;
+					align-items: flex-end;
+				}
 
 				.login-right-warp-main-form {
 					flex: 1;
@@ -336,18 +363,18 @@ onMounted(() => {
 	.login-authorization {
 		position: absolute;
 		bottom: 30px;
-		left: 0;
+		left: 80px;
 		right: 0;
-		text-align: center;
+		/* text-align: center; */
 
 		p {
 			font-size: 14px;
-			color: rgba(0, 0, 0, 0.5);
+			color: #d9d9d9;
 		}
 
 		a {
 			color: var(--el-color-primary);
-			margin: 0 5px;
+			/* margin: 0 5px; */
 		}
 	}
 }