Ver código fonte

Merge remote-tracking branch 'origin/2025北京诚祥' into 2025北京诚祥

wangguoyu 2 meses atrás
pai
commit
66ec3d2de5

+ 51 - 7
common/styles/global/components.scss

@@ -102,11 +102,19 @@ view{box-sizing: border-box;}
 		background-image: url("@/static/images/common/nav-bar-jt.svg");@include ezy-no-repeat-cover();
 	}
 
-/***** tab  *****/	
+/***** tab *****/	
+// client
 .phone-tab-box{
 	.segmented-control--text{height: 80rpx!important;}
 	.segmented-control__text{font-size: 32rpx!important;}
 }
+// admin
+.admin-tab-box{
+	uni-scroll-view{z-index: 99!important;}
+	.v-tabs__container-item.active{color: #3fd2a1!important;}
+	.v-tabs__container-line.animation{height:4rpx!important;background-color: #3fd2a1!important;}
+}
+	
 /***** 通用弹窗  *****/		
 .phone-common-dialog{
 	width: 660rpx;border-radius: 12rpx;background-color: #fff;padding-top: 24rpx;
@@ -248,28 +256,64 @@ margin-right: 18rpx;display: inline-block;vertical-align: middle;}
 /***** form  *****/
 // label-input
 .form-label-input{
-	width: 100%;display: flex;justify-content: space-between;
+	width: 100%;display: flex;justify-content: space-between;align-items: center;
 	background-color: #fff;font-size: 30rpx;color: #333;
 	padding: 20rpx;box-sizing: border-box;margin-bottom: 2rpx;
-	.form-label-require{color: #ff0101;margin-right: 6rpx;}
+	.form-label-require{color: #ff0101;margin-right: 6rpx;display: inline-block;}
 	.phone-form-label{min-width: 180rpx;}
 	input{text-align: right;flex: 1;}
+	.is-input-border{border:0!important;}
+	.uni-input-placeholder{overflow: unset;}
+	.uni-easyinput__placeholder-class{font-size: 30rpx!important;}
+	.content-clear-icon{color: rgb(192, 196, 204)!important;}
 }
 
 // label-radio
 .form-label-radio{
 	width: 100%;display: flex;justify-content: space-between;
 	background-color: #fff;font-size: 30rpx;color: #333;
-	padding: 10rpx 20rpx;box-sizing: border-box;margin-bottom: 2rpx;
-	.form-label-require{color: #ff0101;margin-right: 6rpx;}
+	padding: 6rpx 20rpx;box-sizing: border-box;margin-bottom: 2rpx;
+	.form-label-require{color: #ff0101;margin-right: 6rpx;width:16rpx;display: inline-block;}
 	.phone-form-label{min-width: 180rpx;line-height:52rpx;}
-	.form-radio-group{display: flex;flex: 1;}
+	.form-radio-group{display: flex;flex-wrap: wrap;flex: 1;}
 	.form-radio-double-group{justify-content: space-between;}
 	.form-radio-item{
 		width: 28%;height:60rpx;line-height:52rpx;border-radius: 6rpx;box-sizing: border-box;
-		background-color:#f5f5f5;text-align: center;margin:0 2%;border:1rpx solid #f5f5f5;
+		background-color:#f5f5f5;text-align: center;margin:10rpx 2%;border:1rpx solid #f5f5f5;
 	}
 	.genderActive{
 		background-color:#e5f8f4;border:1rpx solid #6bccb0;
 	}
 }
+
+// label-select
+.form-label-select{
+	width: 100%;display: flex;justify-content: space-between;
+	background-color: #fff;font-size: 30rpx;color: #333;
+	padding: 20rpx;box-sizing: border-box;margin-bottom: 2rpx;
+	.form-label-require{color: #ff0101;margin-right: 6rpx;width:16rpx;display: inline-block;}
+	.phone-form-label{min-width: 180rpx;line-height:52rpx;}
+	.form-radio-select{
+		display: flex;align-items: center;
+		icon{width: 30rpx;height: 30rpx;@include ezy-no-repeat-cover;
+			background-image: url("@/static/images/common/nav-bar-jt-bottom.svg");
+			transform: rotate(270deg);margin-left: 4rpx;}
+	}
+}
+
+// label-switch
+.form-label-switch{
+	width: 100%;display: flex;justify-content: space-between;
+	background-color: #fff;font-size: 30rpx;color: #333;
+	padding: 20rpx;box-sizing: border-box;margin-bottom: 2rpx;
+	.form-label-require{color: #ff0101;margin-right: 6rpx;width:16rpx;display: inline-block;}
+	.phone-form-label{min-width: 180rpx;line-height:52rpx;}
+}
+
+/***** admin上传  *****/
+.admin-upload-btn-box{
+	width: 100px;height: 100px;border: 1rpx dashed #ccc;margin: 0 auto;
+	display: flex;align-items: center;justify-content: center;border-radius: 8rpx;
+	text{font-size: 42rpx;color:#d7d7d7;}
+	.bottom-text {font-size: 12px;color: #bdbdbd;}
+}

+ 15 - 0
common/styles/global/pages.scss

@@ -438,4 +438,19 @@
 		background-image: url("@/static/images/my/client-default-icon.png");@include ezy-no-repeat-cover();}
 	}
 	.info-btn{width: 360rpx;margin: 100rpx auto 24rpx;font-size: 30rpx;}
+}
+
+/*** 家政人员管理 ***/
+.admin-jiazheng-page{
+	height: 100vh;background-color: #f8f9fd;display: flex;flex-direction: column;
+	.jz-content-box{flex: 1;overflow: auto;}
+	.form-top-margin{margin-top: 20rpx;}
+	.upload-img-box{background-color: #fff;padding: 20rpx 0;margin: 20rpx 0;}
+	// 个人资料
+	.xxdz-label-input{align-items: flex-start;}
+	.form-textarea-box{width: 100%;height: 160rpx;padding: 10rpx;border: 1rpx solid #e5e5e5;border-radius: 4px;}
+	.agree-section-box{
+		background-color: #fff;padding: 30rpx;font-size: 28rpx;
+		.phone-green-btn{font-size: 28rpx;margin: 20rpx 8rpx 36rpx;}
+	}
 }

+ 2 - 2
pages/admin/Chengji/list.vue

@@ -21,7 +21,7 @@
 							<view class="item-card-row">
 								<!-- 数量 -->
 								<view class="ks-item-top">
-									<view>{{item.name}}</view>
+									<view>{{item.ksName}}</view>
 									<view class="ks-zyLevelName">{{item.zyLevelName}}</view>
 								</view>
 								<view class="ks-totalTm">
@@ -32,7 +32,7 @@
 									<icon class="phone-time-icon" /> {{item.answerStartTime}} - {{item.answerEndTime}}
 								</view>
 								<view class="ks-totalTm">
-									<icon class="phone-time-icon" /> {{item.okScore}} / {{item.ksScore}}
+									<icon class="phone-time-icon" /> {{item.userScore}} / {{item.okScore}}/{{item.ksScore}}
 								</view>
 								<button @click="checkKecheng(item)" type="primary" size="mini"
 									class="item-view-btn">查看内容</button>

+ 8 - 14
pages/admin/Jiazheng/common/dataChecked.vue

@@ -1,15 +1,13 @@
 <template>
-	<view class="skill-container">
+	<view class="form-radio-group">
 		<!-- 技能块展示 -->
-		<view class="skill-list">
-			<view v-for="item in displayedList" :key="item.id" class="skill-block"
-				:class="{ selected: isSelected(item.id) }" @click="toggleSelect(item)">
-				{{ item.name }}
-			</view>
-			<!-- 添加按钮 -->
-			<view v-if="showAddButton" class="add-block" @click="handleAdd">
-				+ 添加
-			</view>
+		<view v-for="item in displayedList" :key="item.id" class="form-radio-item"
+			:class="{ selected: isSelected(item.id) }" @click="toggleSelect(item)">
+			{{ item.name }}
+		</view>
+		<!-- 添加按钮 -->
+		<view v-if="showAddButton" class="add-block" @click="handleAdd">
+			+ 添加
 		</view>
 
 		<!-- 展开/收起按钮 -->
@@ -166,10 +164,6 @@
 </script>
 
 <style scoped>
-	.skill-container {
-		padding: 20rpx;
-	}
-
 	.skill-list {
 		display: flex;
 		flex-wrap: wrap;

+ 1 - 23
pages/admin/Jiazheng/common/jiazhengUpload.vue

@@ -1,11 +1,9 @@
 <template>
-	<view v-if="changjingType =='shenfenzheng'" class="upload-btn" @click="showActionSheet">
+	<view v-if="changjingType =='shenfenzheng'" class="admin-upload-btn-box" @click="showActionSheet">
 		<text>+</text>
-
 	</view>
 	<view v-else class="upload-btn" @click="showActionSheet">
 		<text>+</text>
-	
 	</view>
 	<view v-if="bottomText" class="bottom-text">
 		{{bottomText}}
@@ -128,23 +126,3 @@
 		}
 	};
 </script>
-<style scoped>
-	.upload-btn {
-		width: 100px;
-		height: 100px;
-		border: 1px dashed #ccc;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		font-size: 24px;
-		color: #ccc;
-		margin: 5px;
-		border-radius: 5px;
-	}
-
-	.bottom-text {
-		font-size: 12px;
-		color: #bdbdbd;
-		
-	}
-</style>

+ 26 - 56
pages/admin/Jiazheng/gerenZiliao.vue

@@ -1,9 +1,7 @@
 <template>
-	<view class="container">
-
-		<view>
-			<view>
-					<jiazhengUpload changjingType="shenfenzheng"></jiazhengUpload>
+	<view class="jz-content-box">
+			<view class="upload-img-box">
+				<jiazhengUpload changjingType="shenfenzheng"></jiazhengUpload>
 			</view>
 			<view class="form-label-input">
 				<view class="phone-form-label"><text class="form-label-require">*</text>手机号</view>
@@ -46,57 +44,50 @@
 						女</view>
 				</view>
 			</view>
-			<view>
-				<view>
-					学历
-				</view>
+			<view class="form-label-radio form-top-margin">
+				<view class="phone-form-label"><text class="form-label-require"></text>学历</view>
 				<dataChecked :list="xueliList" mode="single" :showAdd="false" @change="selectChangeXueliList" />
 			</view>
-			<view>
-				<view>
-					婚姻
-				</view>
+			<view class="form-label-radio">
+				<view class="phone-form-label"><text class="form-label-require"></text>婚姻 </view>
 				<dataChecked :list="hunyinList" mode="single" :showAdd="false" @change="selectChangeHunyinList" />
 			</view>
 
-
-
-			<view class="form-label-input">
+			<view class="form-label-input form-top-margin xxdz-label-input">
 				<view class="phone-form-label"><text class="form-label-require">*</text>详细地址</view>
-				<textarea v-model="formData.currentAddress" placeholder="请输入详细地址" class="textarea" />
+				<textarea v-model="formData.currentAddress" placeholder="请输入详细地址" class="form-textarea-box" />
 			</view>
 
-			<view>
+			<view class="form-label-select">
+				<view class="phone-form-label"><text class="form-label-require"></text>星座</view>
 				<picker :range="xingzuoRange" mode='selector' @change="xingzuoChange" @cancel="xingzuoCancel">
-					<view>星座</view>
+					<view class="form-radio-select">
+						<view>请选择星座</view><icon></icon>
+					</view>
 				</picker>
-
 			</view>
-			<view>
+			<view class="form-label-select">
+				<view class="phone-form-label"><text class="form-label-require"></text>生肖</view>
 				<picker :range="shengxiaoRange" mode='selector' @change="shengxiaoChange" @cancel="shengxiaoCancel">
-					<view>生肖</view>
+					<view class="form-radio-select">
+						<view>请选择生肖</view><icon></icon>
+					</view>
 				</picker>
-
 			</view>
 
-			<view class="zhaopianZiliao-shenfenzheng">
-				<view>
-					星座属相展示到简历
-				</view>
-				展示<switch @change="switchXingzuoChange" />
+			<view class="form-label-switch">
+				<view class="phone-form-label"> <text class="form-label-require"></text>星座属相展示到简历 </view>
+				<view>展示<switch @change="switchXingzuoChange" color="#3fd2a1" style="transform:scale(0.7)"/></view>
 			</view>
-			<view class="agree-section">
+			<view class="agree-section-box form-top-margin">
 				<checkbox-group @change="handleAgree">
 					<label class="checkbox">
-						<checkbox :checked="formData.agree" color="#007AFF" />
-						已征得本人同意,将其个人资料信息录入平台
+						<checkbox :checked="formData.agree" color="#3fd2a1" style="transform:scale(0.65)"/>
+						<text>已征得本人同意,将其个人资料信息录入平台</text>
 					</label>
 				</checkbox-group>
+			<button type="default" class="phone-green-btn">下一步</button>
 			</view>
-			<view>
-				下一步
-			</view>
-		</view>
 	</view>
 </template>
 
@@ -198,24 +189,3 @@
 	}
 </script>
 
-<style scoped>
-	.container {
-		padding: 20px;
-	}
-
-	.textarea {
-		width: 100%;
-		height: 80px;
-		padding: 10px;
-		border: 1px solid #e5e5e5;
-		border-radius: 4px;
-	}
-
-	.agree-section {
-		margin: 20px 0;
-	}
-
-	.submit-btn {
-		margin-top: 30px;
-	}
-</style>

+ 6 - 30
pages/admin/Jiazheng/jiazhengUserManager.vue

@@ -1,22 +1,14 @@
 <template>
-	<view class="jiazheng-uni-list">
+	<view class="admin-jiazheng-page">
 		<view class="icon-title-navBar-box">
 			<view @click="goUpPage" class="nav-bar-icon"></view>
 			<text class="nav-bar-title">家政人员</text>
 		</view>
-		<v-tabs v-model="current" :tabs="tabs" :scroll="false" @change="changeTab"></v-tabs>
-		<view v-show="current ==0">
-			<gerenZiliao></gerenZiliao>
-		</view>
-		<view v-show="current ==1">
-			<qiuzhiXinxi></qiuzhiXinxi>
-		</view>
-		<view v-show="current ==2">
-			<zhaopianZiliao></zhaopianZiliao>
-		</view>
-		<view v-show="current ==3">
-			<banzhengXinxi></banzhengXinxi>
-		</view>
+		<v-tabs v-model="current" :tabs="tabs" :scroll="false" @change="changeTab" class="admin-tab-box"></v-tabs>
+		<gerenZiliao v-show="current ==0"></gerenZiliao>
+		<qiuzhiXinxi v-show="current ==1"></qiuzhiXinxi>
+		<zhaopianZiliao v-show="current ==2"></zhaopianZiliao>
+		<banzhengXinxi v-show="current ==3"></banzhengXinxi>
 	</view>
 </template>
 
@@ -53,19 +45,3 @@
 		}
 	}
 </script>
-
-<style>
-	.jiazheng-uni-list {
-		display: flex;
-		width: 100%;
-		flex-direction: column;
-	}
-
-	.jiazheng-uni-list-left {
-		position: relative;
-		display: flex;
-		flex-direction: row;
-		justify-content: space-between;
-		align-items: center;
-	}
-</style>

+ 0 - 1
pages/admin/Kaoshi/exam.vue

@@ -8,7 +8,6 @@
 		<!-- 第一行 -->
 		<view class="kaoshi-page-title">
 			<view v-if="activeSt" class="title-types">{{dlName}}</view>
-			<view>100分钟</view>
 		</view>
 
 

+ 1 - 1
pages/admin/Kaoshi/list.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="phone-list-page">
 		<view class="icon-title-navBar-box">
-			<view @click="goUpPage" class="nav-bar-icon"></view>
+			<!-- <view @click="goUpPage" class="nav-bar-icon"></view> -->
 			<text class="nav-bar-title">考试管理</text>
 		</view>
 		<!-- 查询职业 -->

+ 1 - 1
pages/admin/Kecheng/list.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="phone-list-page">
 		<view class="icon-title-navBar-box">
-			<view @click="goUpPage" class="nav-bar-icon"></view>
+			<!-- <view @click="goUpPage" class="nav-bar-icon"></view> -->
 			<text class="nav-bar-title">课程管理</text>
 		</view>
 		<!-- 查询职业 -->

+ 24 - 7
pages/admin/Kecheng/study.vue

@@ -2,10 +2,11 @@
 	<view class="kecheng-study-page">
 		<view class="icon-title-navBar-box">
 			<view @click="goUpPage" class="nav-bar-icon"></view>
-			<text class="nav-bar-title">{{title}}</text>
+			<text class="nav-bar-title">{{name}}</text>
 		</view>
 		<!-- 播放器 -->
-		<videoPlayVue ref="videoRef" class="phone-video-box"></videoPlayVue>
+		<videoPlayVue ref="videoRef" class="phone-video-box" v-if="kechengFlag"></videoPlayVue>
+		<view v-else class="phone-video-box" style="background-color: #333;"></view>
 		<!-- 中间区域 -->
 		<view class="kc-info-box">
 			<view>时长:{{period}}分钟</view>
@@ -18,9 +19,10 @@
 		</view>
 		<view class="kecheng-content-box">
 			<!-- 目录 -->
-			<kechengMuluVue v-if="current === 0" :chapterArr="list" @play="handlePlay" :isHasProgress="false" :activeKjId="curPlayData&&curPlayData.kjId"></kechengMuluVue>
+			<kechengMuluVue v-if="current === 0" :chapterArr="list" @play="handlePlay" :isHasProgress="false" 
+			:activeKjId="curPlayData&&curPlayData.kjId"></kechengMuluVue>
 			<!-- 介绍 -->
-			<rich-text :nodes="intro" v-if="current === 1 && intro" class="kecheng-jieshao-box"></rich-text>
+			<rich-text :nodes="intro || '暂无内容'" v-if="current === 1 && intro" class="kecheng-jieshao-box"></rich-text>
 		</view>
 	</view>
 </template>
@@ -53,7 +55,8 @@
 				userCount: 0, // 学习人数
 				list: [],
 				intro: '',
-				curPlayData: null
+				curPlayData: null,
+				kechengFlag: null
 			}
 		},
 		onLoad(options) {
@@ -81,6 +84,14 @@
 				return data;
 			},
 			handlePlay(data) {
+				if (!this.kechengFlag) {
+					uni.showToast({
+						icon: 'none',
+						title: '当前课件不可查看'
+					})
+					return;
+				}
+				
 				if (this.curPlayData && this.curPlayData.videoId == data.videoId) {
 					return;
 				}
@@ -92,6 +103,7 @@
 						videoId: data.url,
 						playAuth: res.data,
 						seekTime: '',
+						isPlay: true
 					})
 				})
 			},
@@ -102,7 +114,9 @@
 					this.list[0].jieList[0].open = true;
 					
 					const kejian = this.list[0].jieList[0].kejianList[0];
-					this.handlePlay(kejian)
+					if (this.kechengFlag == 1) {
+						this.handlePlay(kejian)
+					}	
 				}
 			},
 			init() {
@@ -114,11 +128,13 @@
 						period,
 						name,
 						kejianUserVo,
-						intro
+						intro,
+						kechengFlag
 					} = res.data;
 					this.userCount = userCount;
 					this.period = formatDuration(period);
 					this.name = name;
+					this.kechengFlag = kechengFlag;
 					let testData = JSON.parse(JSON.stringify([...kejianUserVo.zhangList, ...kejianUserVo.zhangList,
 						...kejianUserVo.zhangList
 					]))
@@ -126,6 +142,7 @@
 					this.list = testData;
 					this.intro = intro;
 
+					
 					this.initFirstVideo();
 
 					uni.setNavigationBarTitle({

+ 1 - 1
pages/admin/Lianxi/list.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="phone-list-page">
 		<view class="icon-title-navBar-box">
-			<view @click="goUpPage" class="nav-bar-icon"></view>
+			<!-- <view @click="goUpPage" class="nav-bar-icon"></view> -->
 			<text class="nav-bar-title">练习管理</text>
 		</view>
 		<!-- 查询职业 -->

+ 1 - 10
pages/client/Chengji/list.vue

@@ -4,13 +4,6 @@
 			<!-- <view @click="goUpPage" class="nav-bar-icon"></view> -->
 			<text class="nav-bar-title">成绩</text>
 		</view>
-		<!-- 查询职业 -->
-		<view class="phone-search-box">
-			<input class="search-input" placeholder="请输入职业名称" v-model="data.zyName" />
-			<view class="search-icon" @click="handleSearch">
-				<uni-icons type="search" size="24" color="#fff"></uni-icons>
-			</view>
-		</view>
 		<!-- 课程列表 -->
 			<scroll-view scroll-y="true" refresher-enabled="true" :refresher-triggered="data.loading"
 				:refresher-threshold="50" refresher-background="transparent" @refresherrefresh="onRefresh"
@@ -30,6 +23,7 @@
 								<view class="ks-score-content">
 									<view class="ks-score"><icon class="phone-zongfen-icon"/>总分:<text>{{item.ksScore}}</text></view>
 									<view class="ks-okScore"><icon class="phone-jigefen-icon"/>及格分:<text>{{item.okScore}}</text></view>
+									<view class="ks-okScore"><icon class="phone-jigefen-icon"/>得分:<text>{{item.userScore}}</text></view>
 								</view>
 								<button @click="checkKecheng(item)" type="primary" size="mini"
 									class="item-view-btn">查看内容</button>
@@ -62,7 +56,6 @@
 	
 
 	const data = reactive({
-		zyName: '', // 职业名称
 		list: [], // 考试列表
 		loading: false,
 		page: 0,
@@ -118,7 +111,6 @@
 		const opt = {
 			page: 1,
 			size: 10, // 固定查询10条
-			zyName: data.zyName
 		}
 		data.list = [];
 		// 数学
@@ -147,7 +139,6 @@
 		const opt = {
 			page: 1,
 			size: 10, // 固定查询10条
-			zyName: data.zyName
 		}
 		if (data.state == 'no-more') return;
 		data.state = 'loading';

+ 1 - 1
pages/client/Lianxi/list.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="phone-list-page">
-		<view class="icon-title-navBar-box">
+		<view class="icon-title-bjcolor-navBar-box">
 			<!-- <view @click="goUpPage" class="nav-bar-icon"></view> -->
 			<text class="nav-bar-title">练习管理</text>
 		</view>