Ver Fonte

feat:修改被覆盖了

jianghaili há 7 meses atrás
pai
commit
f52247bf6e
1 ficheiros alterados com 239 adições e 768 exclusões
  1. 239 768
      package/deliveryRecord/deliveryRecord.vue

+ 239 - 768
package/deliveryRecord/deliveryRecord.vue

@@ -1,830 +1,301 @@
 <template>
-	<view class="work-experience">
-		<!-- 自定义导航栏 -->
-		<view class="custom-navbar" :style="{ paddingTop: (12 + statusBarHeight) + 'px' }">
-			<view class="navbar-content">
-				<view class="nav-left" @click="goBack">
-					<u-icon name="arrow-leftward" color="#333" size="42"></u-icon>
-				</view>
-				<view class="nav-title">工作经历</view>
-				<view class="nav-right"></view>
-			</view>
-		</view>
-
-		<!-- 主要内容 -->
-		<view class="main-content">
-			<!-- 公司信息 -->
-			<view class="form-section">
-				<!-- 公司名称 -->
-				<view class="form-item">
-					<view class="form-label">公司名称</view>
-					<input v-model="formData.companyName" placeholder="请填写公司名称" class="form-input" />
-				</view>
-
-				<!-- 公司业务类型 -->
-				<view class="form-item">
-					<view class="form-label" style="margin-bottom: 20rpx;">
-						<text class="required-mark">*</text>
-						<text class="label-text">公司业务类型</text>
-					</view>
-					<view class="checkbox-container">
-						<u-checkbox-group @change="checkboxGroupChange" :wrap="false" shape="square"
-							active-color="#007AFF">
-							<u-checkbox v-for="(option, index) in businessTypeOptions" :key="index" :name="option.value"
-								v-model="option.checked" class="checkbox-item">
-								{{ option.label }}
-							</u-checkbox>
-						</u-checkbox-group>
-					</view>
-				</view>
-			</view>
-
-			<!-- 岗位履历 -->
-			<view class="form-section" v-for="(resume, index) in formData.resumes" :key="index">
-				<view class="section-title" v-if="hasCrossBorderExperience">岗位履历 ({{ index + 1 }})</view>
-
-				<!-- 任职时间 -->
-				<view class="form-item">
-					<view class="form-label">
-						<text class="required-mark">*</text>
-						<text class="label-text">{{ hasCrossBorderExperience ? '任职时间' : '在职时间' }}</text>
-					</view>
-					<view class="form-input">
-						<uni-datetime-picker v-model="resume.employmentTime" type="daterange" rangeSeparator="至"
-							:border="false" :startPlaceholder="hasCrossBorderExperience ? '选择任职时间' : '选择在职时间'"
-							endPlaceholder="选择离职时间" />
-						<!-- <text v-if="resume.employmentTime">{{ resume.employmentTime }}</text> -->
-						<!-- <text v-else class="placeholder">{{ hasCrossBorderExperience ? '选择任职时间&离职时间' : '选择在职时间&离职时间' }}</text> -->
-						<image src="../../static/images/index/Iconly_Light_Calendar.svg"
-							style="width: 48rpx; height: 48rpx;" mode="aspectFit"></image>
-					</view>
-				</view>
-
-				<!-- 所在部门 -->
-				<view class="form-item">
-					<view class="form-label">
-						<text class="required-mark">*</text>
-						<text class="label-text">所在部门</text>
-					</view>
-					<view class="form-input">
-						<picker class="picker" :data-index="index" mode="selector" :range="departments"
-							@change="selectDepartment">
-							<text>{{departments.length>0?departments[resume.departmentIndex]:'请选择部门'}}</text>
-						</picker>
-						<u-icon name="arrow-down" color="#999" size="36"></u-icon>
-					</view>
-				</view>
-
-				<!-- 岗位 -->
-				<view class="form-item">
-					<view class="form-label">
-						<text class="required-mark">*</text>
-						<text class="label-text">岗位</text>
-					</view>
-					<view class="form-input" @click="selectPosition(index)">
-						<text v-if="resume.position">{{ resume.position }}</text>
-						<text v-else class="placeholder">请选择岗位</text>
-						<u-icon name="arrow-right" color="#999" size="36"></u-icon>
-					</view>
-				</view>
-
-				<!-- 岗位职级 -->
-				<view class="form-item">
-					<view class="form-label">岗位职级</view>
-					<view class="form-input">
-						<picker class="picker" :data-index="index" mode="selector" :range="positionLevels"
-							@change="selectPositionLevel">
-							<text>{{resume.positionLevel||'请选择'}}</text>
-						</picker>
-						<u-icon name="arrow-down" color="#999" size="36"></u-icon>
-					</view>
-				</view>
-
-				<!-- 岗位职业技能 -->
-				<view class="form-item">
-					<view class="form-label">
-						<text class="required-mark">*</text>
-						<text class="label-text">岗位职业技能</text>
-					</view>
-					<view class="skills-input-container">
-						<view class="skills-tags">
-							<view v-for="(skill, skillIndex) in resume.skills" :key="skillIndex" class="skill-tag">
-								<text>{{ skill }}</text>
-								<u-icon name="close" color="#999" size="16"
-									@click="removeSkill(index, skillIndex)"></u-icon>
+	<view>
+		<!-- #ifdef H5 -->
+		<u-sticky h5-nav-height="0">
+		<!-- #endif -->
+			<!-- #ifndef H5 -->
+			<u-sticky>
+			<!-- #endif -->
+				<u-tabs :list="list" active-color="#016bf6" :is-scroll="false" :current="current"
+					@change="change"></u-tabs>
+			</u-sticky>
+			<!-- 简历列表 -->
+			<view class="qyList flex justify-center">
+				<view class="qyList-box">
+					<view class="qyList-box-item flex justify-center" v-for="(item,index) in datasList" :key="index"
+						@click="goNav(item,index)">
+						<view class="qyList-box-item-box">
+							<view v-if="item.isSee == 1" class="flex align-center justify-end"
+								style="margin-top: 40rpx;color: #016bf6;">
+								已读
+							</view>
+							<view class="qyList-box-item-info flex justify-between align-center">
+								<view class="qyList-box-item-info-l">
+									<view class="" style="color: #212121;font-size: 38rpx;font-weight: 800;">
+										{{item.resumesName?item.resumesName:''}}
+									</view>
+									<view class="flex align-center flex-wrap"
+										style="color: #999999;font-size: 26rpx;margin-top: 10rpx;">
+										<text>{{item.resumesAge?item.resumesAge:''}}岁</text>
+										<text style="margin-left: 20rpx;margin-right: 20rpx;">|</text>
+										<text>{{item.resumesWorkExperience?item.resumesWorkExperience:''}}</text>
+										<text style="margin-left: 20rpx;margin-right: 20rpx;">|</text>
+										<text>{{item.school?item.school:''}}</text>
+										<text style="margin-left: 20rpx;margin-right: 20rpx;">|</text>
+										<text>期望{{item.resumesCompensation?item.resumesCompensation:''}}</text>
+									</view>
+								</view>
+								<view class="qyList-box-item-info-r">
+									<image :src="item.avatar?item.avatar:'../../static/logo.png'"
+										style="width: 95rpx;height: 95rpx;border-radius: 50%;" mode=""></image>
+								</view>
+							</view>
+							<view class="qyList-box-item-job flex align-center">
+								<u-icon name="heart-fill" color="#016BF6" size="30" style="margin-right: 16rpx;">
+								</u-icon>
+								期望岗位:{{item.resumesPost?item.resumesPost:''}}
+							</view>
+							<view class="qyList-box-item-job flex align-center"
+								v-if="item.resumesCompanyList && item.resumesCompanyList.length>0">
+								<image src="../../static/images/qi.png"
+									style="width: 30rpx;height: 32rpx;margin-right: 16rpx;" mode=""></image>
+								{{item.resumesCompanyList[0].resumesTitle}}
+								/
+								{{item.resumesCompanyList[0].resumesPost}}
+							</view>
+							<view class="qyList-box-item-rem" v-if="item.resumesDetails">
+								优势:{{item.resumesDetails}}
+							</view>
+							<view class="line"></view>
+							<view class="qyList-box-item-box-ti flex justify-between align-center">
+								<text>投递岗位</text>
+								<text>{{item.stationName?item.stationName:''}}--{{item.ruleClassifyName?item.ruleClassifyName:''}}</text>
 							</view>
 						</view>
-						<view class="add-skill-btn" @click="addSkill(index)">
-							<u-icon name="plus" color="rgba(102, 102, 102, 1)" size="28"></u-icon>
-						</view>
-					</view>
-				</view>
-
-				<!-- 工作内容 -->
-				<view class="form-item">
-					<view class="form-label">工作内容</view>
-					<view class="form-input">
-						<textarea auto-height v-model="resume.workContent" placeholder="选填,请输入"></textarea>
 					</view>
-				</view>
-				<!-- 工作业绩 -->
-				<view class="form-item">
-					<view class="form-label">工作业绩</view>
-					<view class="form-input">
-						<textarea auto-height v-model="resume.workPerformance" placeholder="选填,请输入"></textarea>
-					</view>
-				</view>
-
-				<!-- 添加岗位履历按钮 -->
-				<view class="add-resume-btn" @click="addResume"
-					v-if="index === formData.resumes.length - 1 && hasCrossBorderExperience">
-					<text>添加岗位履历</text>
+					<empty v-if="datasList.length==0" />
 				</view>
 			</view>
-			<!-- 底部保存按钮 -->
-			<view class="bottom-btn-container">
-				<view class="save-btn" @click="saveWorkExperience">
-					<text>保存</text>
-				</view>
+			<!-- 筛选悬浮 -->
+			<view class="filterSe" @click="goScreen()">
+				<image src="../../static/images/my/filterSe.png" mode=""></image>
 			</view>
-		</view>
-		<!-- 添加技能弹窗 -->
-		<u-popup v-model="showAddSkill" mode="center" border-radius="24" width="80%">
-			<view class="add-skill-popup">
-				<view class="popup-title">添加技能</view>
-				<view class="popup-content">
-					<input v-model="newSkillName" placeholder="请输入技能名称" class="skill-input" maxlength="10" />
-				</view>
-				<view class="popup-buttons">
-					<view class="popup-btn cancel-btn" @click="cancelAddSkill">取消</view>
-					<view class="popup-btn confirm-btn" @click="confirmAddSkill">确定</view>
-				</view>
-			</view>
-		</u-popup>
 	</view>
 </template>
 
 <script>
-	var id = '';
+	import empty from '../../components/empty.vue'
 	export default {
+		components: {
+			empty
+		},
 		data() {
 			return {
-				statusBarHeight: 0, // 状态栏高度
-				showAddSkill: false,
-				newSkillName: '',
-				currentResumeIndex: 0,
-				businessTypeOptions: [{
-						label: '跨境电商',
-						value: '0',
-						checked: false
-					},
-					{
-						label: '国内电商',
-						value: '1',
-						checked: false
-					},
-					{
-						label: '外贸',
-						value: '2',
-						checked: false
-					},
-					{
-						label: '其他',
-						value: '3',
-						checked: false
-					}
-				],
-				formData: {
-					companyName: '',
-					businessTypes: [],
-					resumes: [{
-						workExpDetailId: "",
-						workExpId: "",
-						employmentTime: [],
-						department: '',
-						departmentId: 0,
-						departmentIndex: 0,
-						position: '',
-						positionId: 0,
-						positionLevel: '初级',
-						skills: [],
-						workContent: '',
-						workPerformance: ''
-					}]
-				},
-				departments: [],
-				departmentsIds: [],
-				positionLevels: ['初级', '资深'],
-				operateKey: 0,
-				isWork: false
-			}
-		},
-		onLoad(options) {
-			// 获取状态栏高度
-			let systemInfo = uni.getSystemInfoSync();
-			this.statusBarHeight = systemInfo.statusBarHeight || 0;
-			// 接收从在线简历页面传递的业务类型参数
-			if (options.businessTypes) {
-				try {
-					const businessTypes = JSON.parse(decodeURIComponent(options.businessTypes))
-					this.formData.businessTypes = businessTypes
-					console.log('接收到的业务类型:', businessTypes)
-					console.log('是否有跨境经验:', this.hasCrossBorderExperience)
-					if (this.hasCrossBorderExperience)
-						this.businessTypeOptions[0].checked = true
-				} catch (e) {
-					console.error('解析业务类型参数失败:', e)
+				list: [{
+					name: '全部',
+					isSee: '',
+				}, {
+					name: '已读',
+					isSee: 1
+				}, {
+					name: '未读',
+					isSee: 0
+				}],
+				current: 0,
+				datasList: [],
+				page: 1,
+				limit: 10,
+				totlo: 0,
+				filter: {
+					resumesCompensation: '', //薪资
+					resumesEducation: '', //学历
+					resumesWorkExperience: '', //经验
+					industryName: '', //行业
 				}
-			}
-			this.getDepartment()
-			id = options && options.id ? options.id : ''
-			// 监听技能设置更新
-			uni.$on('jobs', (data) => {
-				console.log('岗位设置已更新:', data)
-				// 这里可以更新对应的技能显示
-				this.formData.resumes[this.operateKey].position = data.ruleClassifyName
-				this.formData.resumes[this.operateKey].positionId = data.ruleClassifyId;
-				// 更新以后给岗位职业技能设置默认值
-				this.getDataInfo(this.formData.resumes[this.operateKey].positionId);
-			})
-			uni.$on('skillsUpdated', (data) => {
-				console.log('技能设置已更新:', data)
-				// 这里可以更新对应的技能显示
-				this.formData.resumes[this.operateKey].skills = data.selectedTags
-			})
+			};
 		},
-		beforeDestroy() {
-			// 移除事件监听
-			uni.$off('jobs')
-			uni.$off('skillsUpdated')
+		onLoad() {
+			this.getDataList()
 		},
-		computed: {
-			hasCrossBorderExperience() {
-				return this.formData.businessTypes.includes('0')
+		onReachBottom() {
+			if (this.page < this.totlo) {
+				this.page += 1
+				this.getDataList()
 			}
 		},
-		methods: {
-			getDataInfo(jobId) {
-				let data = {
-					ruleClassifyId: jobId
-				}
-				this.$Request.getT('/app/userFirst/getPostSkill', data).then(res => {
-					if (res.code == 0) {
-						if(res.data.length>0&&res.data[0]?.childrenList[0]?.postSkillName)
-						this.formData.resumes[this.operateKey].skills.push(res.data[0]?.childrenList[0]?.postSkillName)
-					}
-				})
-			},
-			goBack() {
-				uni.navigateBack()
-			},
-			getDepartment() {
-				var that = this
-				this.$Request.postJson("/app/userFirst/getDepartment", {}).then((res) => {
-					if (res.code == 0) {
-						that.departments = that.$queue.array_column(res.data, 'departmentName')
-						that.departmentsIds = that.$queue.array_column(res.data, 'departmentId')
-						that.formData.resumes.forEach(function(item) {
-							item.departmentId = that.departmentsIds[item.departmentIndex]
-							item.department = that.departments[item.departmentIndex]
-						})
-						if (id != '' && id != 0)
-							that.getData()
-					} else {
-						uni.showToast({
-							title: res.msg,
-							icon: "none",
-						});
-					}
-				});
-
-			},
-			getData() {
-				var that = this
-				this.$Request.getT("/app/userFirst/getWorkExpDetailOne", {
-					workExpId: id
-				}).then((res) => {
-					if (res.code == 0) {
-						res = res.data
-						that.formData.companyName = res.workExp.companyName
-						that.formData.businessTypes = JSON.parse(res.workExp.type)
-						res.workExpDetails.forEach(function(item) {
-							item.skills = JSON.parse(item.skills)
-							item.employmentTime = item.startTime == '' ? [] : [item.startTime, item
-									.endTime],
-								item.departmentIndex = that.departmentsIds.indexOf(item.departmentId) < 0 ?
-								0 : that.departmentsIds.indexOf(item.departmentId)
-						})
-						that.formData.resumes = res.workExpDetails
-					} else {
-						uni.showToast({
-							title: res.msg,
-							icon: "none",
-						});
+		onPullDownRefresh() {
+			this.page = 1
+			this.getDataList()
+		},
+		onShow() {
+			if (uni.getStorageSync('isCompyHistory') && (uni.getStorageSync('isCompyHistory')).length > 0) {
+				let isCompyHistory = uni.getStorageSync('isCompyHistory')
+				isCompyHistory.map(item => {
+					let arr = []
+					item.list.map(ite => {
+						if (ite.value != '不限') {
+							arr.push(ite.value)
+						}
+					})
+					switch (item.name) {
+						case '学历':
+							this.filter.resumesEducation = arr.join(',')
+							break;
+						case '薪资':
+							this.filter.resumesCompensation = arr.join(',')
+							break;
+						case '经验':
+							this.filter.resumesWorkExperience = arr.join(',')
+							break;
+						case '行业':
+							this.filter.industryName = arr.join(',')
+							break;
 					}
-				});
-			},
-			selectDepartment(e) {
-				var key = Number(e.currentTarget.dataset.index)
-				this.formData.resumes[key].departmentId = this.departmentsIds[e.detail.value]
-				this.formData.resumes[key].departmentIndex = e.detail.value
-				this.formData.resumes[key].department = this.departments[e.detail.value]
-			},
-			formatter(type, value) {
-				if (type === 'year') {
-					return `${value}年`
-				}
-				if (type === 'month') {
-					return `${value}月`
-				}
-				if (type === 'day') {
-					return `${value}日`
-				}
-				return value
-			},
-			checkboxGroupChange(e) {
-				console.log('选中的业务类型:', e)
-				// 更新 formData.businessTypes 以保持数据同步
-				this.formData.businessTypes = e
-			},
 
-			selectEmploymentTime(index) {
-				// 选择任职时间
-				uni.showToast({
-					title: '选择任职时间',
-					icon: 'none'
 				})
+			} else {
+				this.filter.resumesEducation = '' //学历
+				this.filter.resumesWorkExperience = '' //经验
+				this.filter.industryName = '' //行业
+				this.filter.resumesCompensation = '' //薪资
+			}
+		},
+		watch: {
+			filter: {
+				handler() {
+					this.page = 1
+					this.getDataList()
+				},
+				deep: true,
+				immediate: true
+			}
+		},
+		onUnload() {
+			uni.removeStorageSync('isCompyHistory')
+		},
+		methods: {
+			change(index) {
+				this.current = index;
+				this.page = 1
+				this.getDataList()
 			},
-
-			selectPosition(index) {
-				this.operateKey = index
-				// 选择岗位
+			// 去筛选
+			goScreen() {
 				uni.navigateTo({
-					url: '/package/jobIntention/jobList'
+					url: '/package/screen/screen?isCompyHistory=1'
 				})
 			},
-			selectPositionLevel(e) {
-				var key = Number(e.currentTarget.dataset.index)
-				this.formData.resumes[key].positionLevel = this.positionLevels[e.detail.value]
-			},
-			addSkill(index) {
-				this.operateKey = index
-				//this.currentResumeIndex = index
-				//this.showAddSkill = true
-				//this.newSkillName = ''
-				if (this.formData.resumes[index].positionId == '' || this.formData.resumes[index].positionId == 0)
-					return this.$queue.showToast('请先选择岗位')
-				uni.navigateTo({
-					url: '/package/jobIntention/jobSkills?jobId=' + this.formData.resumes[index].positionId +
-						'&jobTitle=' + this.formData.resumes[index].position + '&skill=' + encodeURIComponent(JSON
-							.stringify(this.formData.resumes[index].skills))
+			// 标记为已读
+			setIsSee(recordId, index) {
+				let data = {
+					recordId: recordId
+				}
+				this.$Request.getT('/app/sendRecord/seeRecord', data).then(res => {
+					if (res.code == 0) {
+						this.datasList[index].isSee = 1
+					}
 				})
 			},
-			removeSkill(resumeIndex, skillIndex) {
-				this.formData.resumes[resumeIndex].skills.splice(skillIndex, 1)
-			},
-			cancelAddSkill() {
-				this.showAddSkill = false
-				this.newSkillName = ''
-			},
-			confirmAddSkill() {
-				if (this.newSkillName.trim()) {
-					this.formData.resumes[this.currentResumeIndex].skills.push(this.newSkillName.trim())
-					this.showAddSkill = false
-					this.newSkillName = ''
+			goNav(item, index) {
+				if (item.resumesId) {
+					this.setIsSee(item.recordId, index)
+					uni.navigateTo({
+						url: '/pages/index/game/orderDet?resumesId=' + item.resumesId + '&isSee=' + item.isSee
+					})
 				} else {
 					uni.showToast({
-						title: '请输入技能名称',
+						title: '该用户简历不存在',
 						icon: 'none'
 					})
 				}
-			},
-			selectWorkContent(index) {
-				// 选择工作内容
-				uni.showToast({
-					title: '选择工作内容',
-					icon: 'none'
-				})
-			},
-			selectWorkPerformance(index) {
-				// 选择工作业绩
-				uni.showToast({
-					title: '选择工作业绩',
-					icon: 'none'
-				})
-			},
-			addResume() {
-				this.formData.resumes.push({
-					workExpDetailId: "",
-					workExpId: "",
-					employmentTime: [],
-					department: this.departments[0],
-					departmentId: this.departmentsIds[0],
-					departmentIndex: 0,
-					position: '',
-					positionId: 0,
-					positionLevel: '初级',
-					skills: [],
-					workContent: '',
-					workPerformance: ''
-				})
-			},
+				console.log(url, '1111')
 
-			saveWorkExperience() {
-				console.log(this.formData.resumes)
-				if (!this.formData.companyName) {
-					uni.showToast({
-						title: "请输入公司名称",
-						icon: "none"
-					});
-					return;
-				}
-				if (this.formData.businessTypes.length <= 0) {
-					uni.showToast({
-						title: "请选择公司业务类型",
-						icon: "none"
-					});
-					return;
-				}
-				if (this.formData.resumes.length <= 0) {
-					uni.showToast({
-						title: "请至少填写一份履历",
-						icon: "none"
-					});
-					return;
-				}
-				for (let i = 0; i < this.formData.resumes.length; i++) {
-				        const item = this.formData.resumes[i];
-					if (item.employmentTime.length <= 0) {
-						this.$queue.showToast('任职时间不能为空')
-						return false;
-					}
-					if (item.position == '') {
-						this.$queue.showToast('岗位不能为空')
-						return false;
-					}
-					if (item.skills.length <= 0) {
-						this.$queue.showToast('岗位技能不能为空')
-						return false;
-					}
-				}
-				let postData = this.formData.resumes.map(({
-					employmentTime,
-					departmentIndex,
-					...rest
-				}) => {
-					return {
-						...rest,
-						skills: JSON.stringify(rest.skills),
-						startTime: employmentTime?.[0] || '',
-						endTime: employmentTime?.[1] || ''
-					}
-				})
-				//  this.formData.resumes.forEach(function(item){
-				//   console.log(item.skills)
-				//  	item.skills=JSON.stringify(item.skills);
-				// console.log(item.skills)
-				// item.startTime=item.employmentTime[0]?item.employmentTime[0]:'';
-				// item.endTime=item.employmentTime[1]?item.employmentTime[1]:'';
-				// delete item.employmentTime; 
-				// delete item.departmentIndex; 
-				//  })
+			},
+			//获取已投递简历的列表
+			getDataList() {
 				let data = {
-					workExp: {
-						workExpId: id,
-						companyName: this.formData.companyName,
-						type: JSON.stringify(this.formData.businessTypes),
-					},
-					workExpDetails: postData
+					page: this.page,
+					limit: this.limit,
+					resumesCompensation: this.filter.resumesCompensation, //薪资
+					resumesEducation: this.filter.resumesEducation, //学历
+					resumesWorkExperience: this.filter.resumesWorkExperience, //经验
+					industryName: this.filter.industryName, //行业
+					isSee: this.list[this.current].isSee
 				}
-				if (this.isWork)
-					return
-				this.isWork = true
-				uni.showLoading({
-					title: "提交中..."
-				});
-				this.$Request.postJson("/app/userFirst/addWorkExp", data).then((res) => {
-					uni.hideLoading();
-					this.isWork = false
-					this.formData.companyName == ''
+				this.$Request.getT('/app/sendRecord/getCompanyRecordListV2', data).then(res => {
 					if (res.code == 0) {
-						uni.showToast({
-							title: "保存成功",
-							icon: "none"
-						});
-						// 实际开发中可以在这里添加跳转逻辑
-						uni.$emit('updateResume')
-						setTimeout(() => {
-							uni.navigateBack()
-						}, 1000);
-					} else {
-						uni.showToast({
-							title: res.msg,
-							icon: "none",
-						});
+						this.totlo = res.data.pages //记录总页数
+						if (this.page == 1) {
+							this.datasList = res.data.records
+						} else {
+							this.datasList = [...this.datasList, ...res.data.records]
+						}
 					}
-				});
+				}).finally(()=>{
+					uni.stopPullDownRefresh();
+				})
 			},
 		}
 	}
 </script>
 
-<style lang="scss" scoped>
-	.work-experience {
-		height: 100vh;
-		padding-bottom: 120rpx;
-		display: flex;
-		flex-direction: column;
-	}
-
-	.custom-navbar {
-		// position: fixed;
-		// top: 0;
-		// left: 0;
-		// right: 0;
-		background-color: #ffffff;
-		// z-index: 9999;
-
-		.navbar-content {
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			height: 100%;
-			padding: 0 40rpx;
-
-			.nav-left,
-			.nav-right {
-				width: 60rpx;
-				height: 60rpx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-			}
-
-			.nav-title {
-				color: rgba(51, 51, 51, 1);
-				font-family: DM Sans;
-				font-size: 36rpx;
-				font-weight: 700;
-				line-height: 26px;
-				letter-spacing: 0px;
-				text-align: center;
-			}
-		}
-	}
-
-	.main-content {
-		margin-top: 68rpx;
-		padding: 0 20rpx 40rpx 20rpx;
-		flex: 1;
-		overflow: auto;
-	}
-
-	.form-section {
-		background: #fff;
-		border-radius: 16rpx;
-		padding: 0rpx 10rpx;
-
-		.section-title {
-			color: rgba(23, 23, 37, 1);
-			font-family: Inter;
-			font-size: 32rpx;
-			font-weight: 600;
-			line-height: 48rpx;
-			letter-spacing: 0%;
-			text-align: left;
-			padding: 16rpx 0 32rpx 0;
-		}
-	}
-
-	.form-item {
-		margin-bottom: 32rpx;
-
-		.form-label {
-			color: rgba(31, 44, 55, 1);
-			font-family: DM Sans;
-			font-size: 16px;
-			font-weight: 500;
-			line-height: 22px;
-			letter-spacing: 0%;
-			text-align: left;
-			margin-bottom: 20rpx;
-
-			.required-mark {
-				color: #FF3B30;
-				font-size: 18px;
-				font-weight: 500;
-				margin-right: 4rpx;
-			}
-
-			.label-text {
-				color: rgba(31, 44, 55, 1);
-				font-family: DM Sans;
-				font-size: 16px;
-				font-weight: 500;
-				line-height: 22px;
-				letter-spacing: 0%;
-				text-align: left;
-			}
-		}
-
-		.form-input {
-			width: 100%;
-			min-height: 80rpx;
-			padding: 0 40rpx;
-			border: 1px solid rgba(227, 231, 236, 1);
-			border-radius: 24px;
-			background: rgba(255, 255, 255, 1);
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-
-			.placeholder {
-				color: #999999;
-			}
-
-			picker {
-				width: 100%;
-			}
-
-			textarea {
-				width: 100%;
-				padding: 20rpx 0;
-				height: fit-content;
-				min-height: 40rpx;
-			}
-		}
+<style lang="scss">
+	page {
+		background: #F2F2F7;
 	}
 
-	.skills-input-container {
-		width: 100%;
-		min-height: 80rpx;
-		padding: 0rpx 40rpx;
-		border: 1px solid rgba(227, 231, 236, 1);
-		border-radius: 32px;
-		background: rgba(255, 255, 255, 1);
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-
-		.skills-tags {
-			display: flex;
-			flex-wrap: wrap;
-			gap: 12rpx;
-			flex: 1;
-
-			.skill-tag {
-				padding: 8rpx 16rpx;
-				background: #F5F5F5;
-				border-radius: 8rpx;
-				display: flex;
-				align-items: center;
-				gap: 8rpx;
-
-				text {
-					font-size: 24rpx;
-					color: #666666;
-				}
-			}
-		}
+	.filterSe {
+		position: fixed;
+		bottom: 10vh;
+		right: 30rpx;
 
-		.add-skill-btn {
-			width: 40rpx;
-			height: 40rpx;
-			border: 1rpx solid rgba(102, 102, 102, 1);
-			border-radius: 8rpx;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			background: #fff;
-			flex-shrink: 0;
+		image {
+			width: 100rpx;
+			height: 100rpx;
+			// border-radius: 50%;
 		}
 	}
 
-	.add-resume-btn {
+	.qyList {
 		width: 100%;
-		height: 80rpx;
-		border: 1rpx solid #007AFF;
-		border-radius: 60rpx;
-		display: flex;
-		align-items: center;
-		justify-content: center;
+		height: auto;
 		margin-top: 20rpx;
 
-		text {
-			color: #007AFF;
-			font-size: 28rpx;
-			font-weight: 500;
-		}
-	}
-
-	.bottom-btn-container {
-		position: fixed;
-		bottom: 0;
-		left: 0;
-		right: 0;
-		padding: 30rpx 20rpx;
-		background: #fff;
-		border-top: 1px solid #f0f0f0;
-		z-index: 98;
-	}
-
-	.save-btn {
-		width: 100%;
-		height: 88rpx;
-		background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
-		border-radius: 44rpx;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-
-		text {
-			font-size: 32rpx;
-			font-weight: 600;
-			color: #fff;
-		}
-	}
-
-	.add-skill-popup {
-		background: #fff;
-		border-radius: 24rpx;
-		padding: 40rpx;
-
-		.popup-title {
-			color: rgba(34, 37, 42, 1);
-			font-size: 36rpx;
-			font-weight: 500;
-			text-align: center;
-			margin-bottom: 30rpx;
-		}
-
-		.popup-content {
-			margin-bottom: 30rpx;
+		.qyList-box {
+			width: 686rpx;
+			height: 100%;
 
-			.skill-input {
+			.qyList-box-item {
 				width: 100%;
-				height: 80rpx;
-				padding: 0 20rpx;
-				border: 1rpx solid #E5E5EA;
-				border-radius: 12rpx;
-				font-size: 28rpx;
-				color: rgba(34, 37, 42, 1);
-				background: #F7F8FA;
-			}
-		}
-
-		.popup-buttons {
-			display: flex;
-			gap: 20rpx;
-
-			.popup-btn {
-				flex: 1;
-				height: 80rpx;
-				border-radius: 12rpx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				font-size: 28rpx;
-				font-weight: 500;
-			}
-
-			.cancel-btn {
-				background: #F7F8FA;
-				color: rgba(102, 102, 102, 1);
-			}
+				// height: 400rpx;
+				padding-bottom: 40rpx;
+				background-color: #ffffff;
+				border-radius: 24rpx;
+				margin-bottom: 20rpx;
+
+				.qyList-box-item-box {
+					width: 626rpx;
+					height: 100%;
+				}
 
-			.confirm-btn {
-				background: #007AFF;
-				color: #fff;
-			}
-		}
-	}
+				.line {
+					width: 100%;
+					border-bottom: 1rpx solid #F2F2F7;
+					margin-top: 20rpx;
+				}
 
-	.checkbox-container {
-		display: flex;
-		flex-wrap: nowrap;
-		gap: 10rpx;
+				.qyList-box-item-box-ti {
+					margin-top: 20rpx;
+				}
 
-		/deep/ .u-checkbox-group {
-			display: flex;
-			flex-wrap: nowrap;
-			width: 100%;
-		}
+				.qyList-box-item-info {
+					margin-top: 20rpx;
+					// margin-top: 40rpx;
+				}
 
-		/deep/ .u-checkbox {
-			flex: 1;
-			min-width: 0;
-			margin-right: 0;
-		}
+				.qyList-box-item-job {
+					color: #121212;
+					font-size: 28rpx;
+					font-weight: 500;
+					margin-top: 20rpx;
+				}
 
-		/deep/ .u-checkbox__label {
-			color: var(--Grayscale/Grayscale 100, rgba(23, 23, 37, 1));
-			font-family: DM Sans;
-			font-size: 24rpx;
-			font-weight: 400;
-			line-height: 48rpx;
-			letter-spacing: 0%;
-			text-align: left;
+				.qyList-box-item-rem {
+					color: #999999;
+					font-size: 26rpx;
+					margin-top: 20rpx;
+				}
+			}
 		}
 	}
 </style>