wkw 6 місяців тому
батько
коміт
0996bb1a77

+ 5 - 0
common/queue.js

@@ -302,6 +302,11 @@ module.exports = {
 				value: '3',
 				text: '在职-暂不考虑',
 				recommended: false
+			},
+			{
+				value: '4',
+				text: '实习',
+				recommended: false
 			}
 		]
 	},

+ 5 - 1
components/btnPopous/btnPopous.vue

@@ -368,6 +368,8 @@ export default {
 	z-index: 99999;
 	box-shadow: 0 -4rpx 20rpx rgba(0, 0, 0, 0.1);
 	overflow: hidden;
+	display: flex;
+	flex-direction: column;
 
 	.jobAll-search {
 		width: 100%;
@@ -382,9 +384,11 @@ export default {
 
 	.jobAll-item {
 		width: 100%;
-		height: calc(90vh - 120rpx);
+		flex: 1;
 		margin-top: 20rpx;
 		padding: 0 20rpx;
+		margin-bottom: 20rpx;
+		overflow: hidden;
 
 		.jobAll-item-box {
 			width: 100%;

+ 18 - 14
my/enterpriseInfo/enterpriseInfo.vue

@@ -177,15 +177,18 @@
 
 		<!-- 公司风采 -->
 		<view class="talent-section flex justify-center">
-			<view class="talent-box">
-				<view class="talent-title">公司风采</view>
-				<view class="talent-tags flex flex-wrap" v-if="info.photos">
-					<view class="photo" v-for="(talent, index) in info.photos.split(',')" :key="index">
-						<image mode="widthFix" :src="talent" class="photoImage"></image>
-					</view>
-				</view>
-				<view class="hr-desc" v-else>该公司还未上传相关图片!</view>
-			</view>
+		  <view class="talent-box">
+		    <view class="talent-title">公司风采</view>
+		    <!-- 有图片时显示轮播 -->
+		    <swiper v-if="info.photos" class="talent-swiper" indicator-dots="true" autoplay="true" interval="3000" circular="true">
+		      <swiper-item v-for="(talent, index) in info.photos.split(',')" :key="index">
+		        <image :src="talent" mode="aspectFit" class="photoImage"></image>
+		      </swiper-item>
+		    </swiper>
+		
+		    <!-- 没有图片时显示提示 -->
+		    <view class="hr-desc" v-else>该公司还未上传相关图片!</view>
+		  </view>
 		</view>
 
 		<!-- 工商信息 -->
@@ -918,15 +921,16 @@ page {
 			.photo {
 				width: 100%;
 
-				.photoImage {
-					width: 100%;
-					display: block;
-				}
+				
 			}
 		}
 	}
 }
-
+.photoImage {
+	width: 100%;
+	height: 100%;
+	display: block;
+}
 .hr-section {
 	width: 100%;
 

+ 4 - 3
my/renzheng/editCompany.vue

@@ -248,21 +248,22 @@ export default {
       font-size: 48rpx;
       font-weight: 700;
       line-height: 60rpx;
+	  margin-bottom: 50rpx;
     }
 
     .ms-item {
+		margin-bottom: 35rpx;
       .ms-item-title {
         color: rgba(31, 44, 55, 1);
         font-family: DM Sans;
-        font-size: 28rpx;
+        font-size: 32rpx;
         font-weight: 500;
         line-height: 44rpx;
         text-align: left;
         display: flex;
         justify-content: space-between;
         align-items: center;
-        margin-top: 20rpx;
-        margin-bottom: 16rpx;
+        
 
         .ms-title-txt {}
 

+ 5 - 0
package/jobIntention/basicInfo.vue

@@ -170,6 +170,11 @@
 						value: '3',
 						text: '在职-暂不考虑',
 						recommended: false
+					},
+					{
+						value: '4',
+						text: '实习',
+						recommended: false
 					}
 				]
 			}

+ 3 - 3
package/jobIntention/completeMsg.vue

@@ -38,7 +38,7 @@
 						<view class="form-border-title">{{ item.ruleClassifyName }}</view>
 						<view class="form-border-money">{{ item.salaryRange }}</view>
 					</view>
-					<view class="form-border-desc">{{ item.company.companyName || item.company.companyAllName}} {{ item.company.companyPeople }}人</view>
+					<view class="form-border-desc" v-if="item.company">{{ item.company.companyName || item.company.companyAllName}} {{ item.company.companyPeople }}人</view>
 					<view class="form-border-img-name">
 						<view class="people-img">
 							<image v-if="avatar" :src="avatar" class="avatar-image"
@@ -70,7 +70,7 @@ export default {
 			isok: false,
 			email: '',
 			emailError: "", // 添加错误提示
-			userpost: {}
+			userpost: []
 		};
 	},
 	components: {
@@ -322,7 +322,7 @@ export default {
 						});
 						return;
 					}
-					this.userpost = res.data.records || {};
+					this.userpost = res.data.records || [];
 					if (this.userpost[0].hr) {
 						this.name = this.userpost[0].hr.hrPosition || ""
 						this.avatar = this.userpost[0].hr.hrImg || ""

+ 5 - 0
package/jobIntention/tagManage.vue

@@ -116,6 +116,11 @@ export default {
 					value: 3,
 					text: '在职-暂不考虑',
 					recommended: false
+				},
+				{
+					value: 4,
+					text: '实习',
+					recommended: false
 				}
 			]
 		}

+ 1 - 1
pages/index/game/order.vue

@@ -1185,7 +1185,7 @@
 		left: 0;
 		background-color: #ffffff;
 		padding: 0 40rpx;
-		z-index: 99999;
+		z-index: 200;
 		.caozuo-box-l {
 			flex: 0.8;
 			height: 80rpx;

+ 3 - 3
pages/index/index.vue

@@ -36,7 +36,7 @@
 			<view v-if="userType == 1" class="page-container" :style="{ paddingTop: (12 + statusBarHeight) + 'px' }">
 
 				<view class="topbg-sticky">
-					<image class="top-bg" src="/static/images/index/index-bg.png" mode="aspectFill" :style="`height: ${280 + statusBarHeight}rpx;`" />
+					<image class="top-bg" src="/static/images/index/index-bg.svg" mode="aspectFill" />
 					<!-- 标题-搜索 -->
 					<view class="topbg-sticky-box">
 						<view class="topbg-sticky-title flex justify-between align-center">
@@ -2269,7 +2269,7 @@ page {
 		line-height: 28rpx;
 		letter-spacing: 0%;
 		text-align: left;
-		margin-right: 14rpx;
+		margin-right: 28rpx;
 
 		&.active {
 			background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
@@ -2779,7 +2779,7 @@ page {
 			line-height: 36rpx;
 			letter-spacing: 0%;
 			text-align: left;
-			margin-right: 14rpx;
+			margin-right: 28rpx;
 
 			&.active {
 				background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);

+ 53 - 52
pages/msg/im.vue

@@ -206,7 +206,7 @@
 			</view>
 			<!-- 简历简介 -->
 			<view class="jobs flex justify-center" v-if="JSON.stringify(resumesInfo)!='{}'" 
-			@click="goNav('/pages/talentSearch/resumeDetail?resumesId=' + resumesId + '&postPushId=' + postPushId + '&isShowBtn=' + 1, 'company')">
+			@click="goNav('/pages/talentSearch/resumeDetail?resumesId=' + resumesId + '&postPushId=' + postPushId + '&isShowBtn=' + 1)">
 				<view class="talent-list">
 					<view class="talent-card">
 						<view class="talent-content">
@@ -272,10 +272,11 @@
 					v-if="item.createTime">
 					{{item.createTime}}
 				</view>
+				<!-- 对方消息 -->
 				<view v-if="item.userId && userId != item.userId" style="width: 83%;margin-right: 15%;">
 					<view class="chat-listitem" style="float: left;margin-left: 10rpx;">
-						<view>
-							<image @tap="goGuanZhu(item)" :lazy-load="true" mode="aspectFill" :src="item.avatar ? item.avatar : '/static/logo.png'"
+						<view @click="goGuanZhu">
+							<image :lazy-load="true" mode="aspectFill" :src="item.avatar ? item.avatar : '/static/logo.png'"
 								class="chat-listitem-image"></image>
 						</view>
 						<view v-if="item.content && item.messageType === 1" @longpress="copyAndJubao(item)"
@@ -471,7 +472,7 @@
 
 					</view>
 				</view>
-				<!-- ++++++++++++++++++++++++++ -->
+				<!-- +++++++++++我的消息+++++++++++++++ -->
 				<view v-if="item.userId && userId == item.userId" style="width: 83%;margin-left: 15%;">
 					<view class="chat-listitem" style="float: right;">
 						<view v-if="item.content && item.messageType === 1" @longpress="caozuoActive(item,1)"
@@ -2169,54 +2170,54 @@
 					}
 				});
 			},
-			goGuanZhu(item) {
-				return
-				this.hideDrawer();
-				this.tUserId = item.userId
-				this.$Request.get('/app/user/selectUserByIds', {
-					'userId': item.userId
-				}).then(res => {
-					if (res.code == 0) {
-						if (res.data.userType == 1 || res.data.userType == null) { //个人
-							uni.navigateTo({
-								url: '/pages/index/game/orderDet?userId=' + item.userId
-							})
-						} else {
-							this.$Request.get('/app/resumes/selectResumesByUserIds', {
-								'userId': item.userId
-							}).then(ret => {
-								if (ret.code == 0) {
-									if (ret.data && JSON.stringify(ret.data) != '{}') { //有简历则选择
-										this.$Request.get('/app/company/selectCompanyByUserIds', {
-											userId: item.userId
-										}).then(ree => {
-											if (ree.code == 0) {
-												this.companyId = ree.data.companyId
-											}
-										});
-										this.show = true
-									} else { //没有简历直接跳转企业详情
-										this.$Request.get('/app/company/selectCompanyByUserIds', {
-											userId: item.userId
-										}).then(ree => {
-											if (ree.code == 0) {
-												uni.navigateTo({
-													url: '/my/enterpriseInfo/enterpriseInfo?companyId=' +
-														ree.data.companyId + '&type=yes'
-												})
-											}
-										});
-
-									}
-								}
-							});
-						}
-					}
-				});
-
-
-				//去关注页面
-
+			goGuanZhu() {
+				if(this.userType == 1){
+					this.gotoInfo(this.postPushInfo.postPushId)
+				}else{
+					this.goNav('/pages/talentSearch/resumeDetail?resumesId=' + this.resumesId + '&postPushId=' + this.postPushId + '&isShowBtn=' + 1)
+				}
+				// this.hideDrawer();
+				// this.tUserId = item.userId
+				// this.$Request.get('/app/user/selectUserByIds', {
+				// 	'userId': item.userId
+				// }).then(res => {
+				// 	if (res.code == 0) {
+				// 		if (res.data.userType == 1 || res.data.userType == null) { //个人
+				// 			uni.navigateTo({
+				// 				url: '/pages/index/game/orderDet?userId=' + item.userId
+				// 			})
+				// 		} else {
+				// 			this.$Request.get('/app/resumes/selectResumesByUserIds', {
+				// 				'userId': item.userId
+				// 			}).then(ret => {
+				// 				if (ret.code == 0) {
+				// 					if (ret.data && JSON.stringify(ret.data) != '{}') { //有简历则选择
+				// 						this.$Request.get('/app/company/selectCompanyByUserIds', {
+				// 							userId: item.userId
+				// 						}).then(ree => {
+				// 							if (ree.code == 0) {
+				// 								this.companyId = ree.data.companyId
+				// 							}
+				// 						});
+				// 						this.show = true
+				// 					} else { //没有简历直接跳转企业详情
+				// 						this.$Request.get('/app/company/selectCompanyByUserIds', {
+				// 							userId: item.userId
+				// 						}).then(ree => {
+				// 							if (ree.code == 0) {
+				// 								uni.navigateTo({
+				// 									url: '/my/enterpriseInfo/enterpriseInfo?companyId=' +
+				// 										ree.data.companyId + '&type=yes'
+				// 								})
+				// 							}
+				// 						});
+
+				// 					}
+				// 				}
+				// 			});
+				// 		}
+				// 	}
+				// });
 			},
 			//添加常用语/自动回复
 			goAdd() {

+ 121 - 9
pages/my/educationExperience.vue

@@ -38,12 +38,10 @@
 						<text class="required-mark">*</text>
 						<text class="label-text">在校时间</text>
 					</view>
-					<view class="form-input time-range">
+					<!-- <view class="form-input time-range">
 						<view class="time-input">
 							<uni-datetime-picker v-model="formData.employmentTime[0]" type="date"
 								:border="false" placeholder="开始时间" />
-							<!-- <image src="../../static/images/index/Iconly_Light_Calendar.svg"
-								style="width: 48rpx; height: 48rpx;" mode="aspectFit"></image> -->
 						</view>
 						<view class="time-separator">至</view>
 						<view class="time-input">
@@ -52,7 +50,46 @@
 							<image src="../../static/images/index/Iconly_Light_Calendar.svg"
 								style="width: 48rpx; height: 48rpx;" mode="aspectFit"></image>
 						</view>
+					</view> -->
+					<view class="form-input time-range">
+					  <!-- 开始年月 -->
+					  <view class="time-input">
+					    <picker
+					      mode="multiSelector"
+					      :range="yearMonthRange"
+					      :value="employmentTimeIndex[0]"
+					      @change="onStartChange"
+					    >
+					      <view class="picker-label">
+					        {{ formData.employmentTime[0] || '开始年月' }}
+					      </view>
+					    </picker>
+					  </view>
+					  
+					  <view class="time-separator">至</view>
+					  
+					  <!-- 结束年月 -->
+					  <view class="time-input" @click="onEndClick">
+					    <picker
+					      mode="multiSelector"
+					      :range="yearMonthRange"
+					      :value="employmentTimeIndex[1]"
+					      @change="onEndChange"
+					      :disabled="!formData.employmentTime[0]"
+					    >
+					      <view class="picker-label">
+					        {{ formData.employmentTime[1] || '结束年月' }}
+					      </view>
+					    </picker>
+					    <image
+					      src="../../static/images/index/Iconly_Light_Calendar.svg"
+					      style="width: 48rpx; height: 48rpx;"
+					      mode="aspectFit"
+					    />
+					  </view>
 					</view>
+
+
 				</view>
 				
 				<!-- 所在部门 -->
@@ -125,14 +162,15 @@ export default {
 			showAddSkill: false,
 			newSkillName: '',
 			currentResumeIndex: 0,
-			
 			formData: {
 				companyName: '',
-				employmentTime: [],
+				employmentTime: ['', ''],
 				departmentIndex: 0,
 				workContent: '',
 				workPerformance: ''
 			},
+			employmentTimeIndex: [[0, 0], [0, 0]],
+			yearMonthRange: [],
 			departments:[
 					"初中",
 						"高中",
@@ -154,6 +192,7 @@ export default {
 		id=options&&options.id?options.id:''
 		if(id!=''&&id!=0)
 		this.getData()
+		this.initYearMonth();
 		// 监听技能设置更新
 	},
 	beforeDestroy() {
@@ -163,6 +202,79 @@ export default {
 		
 	},
 	methods: {
+		// 初始化年份-月份列表
+		initYearMonth() {
+		  const years = []
+		  const months = []
+		  const currentDate = new Date()
+		  const currentYear = currentDate.getFullYear()
+		  const currentMonth = currentDate.getMonth() + 1
+	
+		  for (let y = currentYear - 50; y <= currentYear + 5; y++) {
+			years.push(y)
+		  }
+		  for (let m = 1; m <= 12; m++) {
+			months.push(m < 10 ? '0' + m : '' + m)
+		  }
+	
+		  this.yearMonthRange = [years, months]
+	
+		  // 计算当前年月对应的索引
+		  const yearIndex = years.indexOf(currentYear)
+		  const monthIndex = months.indexOf(currentMonth < 10 ? '0' + currentMonth : '' + currentMonth)
+	
+		  // 设置默认滚轮位置
+		  this.employmentTimeIndex = [
+			[yearIndex, monthIndex],
+			[yearIndex, monthIndex]
+		  ]
+		},
+		onStartChange(e) {
+		  const [yIndex, mIndex] = e.detail.value
+		  this.employmentTimeIndex[0] = e.detail.value
+		  this.$set(this.formData.employmentTime, 0, `${this.yearMonthRange[0][yIndex]}-${this.yearMonthRange[1][mIndex]}`)
+		
+		  // 如果结束年月已选择,检查是否小于开始年月
+		  if (this.formData.employmentTime[1]) {
+		    const [endYear, endMonth] = this.formData.employmentTime[1].split('-').map(Number)
+		    const startYear = this.yearMonthRange[0][yIndex]
+		    const startMonth = Number(this.yearMonthRange[1][mIndex])
+		
+		    if (endYear < startYear || (endYear === startYear && endMonth < startMonth)) {
+		      // 如果结束年月小于开始年月,清空结束年月
+		      this.$set(this.formData.employmentTime, 1, '')
+		      this.employmentTimeIndex[1] = [yIndex, mIndex] // 重置 picker 滚轮到开始年月
+		    }
+		  }
+		},
+		onEndClick(){
+			if (!this.formData.employmentTime[0]) {
+			  uni.showToast({ title: '请先选择开始年月', icon: 'none' })
+			  return
+			}
+		},
+		onEndChange(e) {
+		  if (!this.formData.employmentTime[0]) {
+		    uni.showToast({ title: '请先选择开始年月', icon: 'none' })
+		    return
+		  }
+		
+		  const [yIndex, mIndex] = e.detail.value
+		  const startDate = this.formData.employmentTime[0].split('-').map(Number)
+		  const startYear = startDate[0]
+		  const startMonth = startDate[1]
+		  const selectedYear = this.yearMonthRange[0][yIndex]
+		  const selectedMonth = Number(this.yearMonthRange[1][mIndex])
+		
+		  // 校验结束年月是否小于开始年月
+		  if (selectedYear < startYear || (selectedYear === startYear && selectedMonth < startMonth)) {
+		    uni.showToast({ title: '结束年月不能小于开始年月', icon: 'none' })
+		    return
+		  }
+		
+		  this.employmentTimeIndex[1] = e.detail.value
+		  this.$set(this.formData.employmentTime, 1, `${selectedYear}-${this.yearMonthRange[1][mIndex]}`)
+		},
 		goBack() {
 			uni.navigateBack()
 		},
@@ -171,8 +283,8 @@ export default {
 			this.$Request.getT("/app/userFirst/selectEdu", {eduId:id}).then((res) => {
 			  if (res.code == 0) {
 				  res=res.data
-			     that.formData.companyName= res.school
-				that.formData.employmentTime= [res.startTime,res.endTime]
+			    that.formData.companyName= res.school
+				that.formData.employmentTime= [res.startTime ? res.startTime.slice(0, 7) : '',res.endTime ? res.endTime.slice(0, 7) : '']
 				that.formData.departmentIndex= that.departments.indexOf(res.degree)<=0?0:that.departments.indexOf(res.degree)
 				that.formData.workContent= res.detail
 				that.formData.workPerformance= res.profession
@@ -215,8 +327,8 @@ export default {
 				eduId:id,
 				school:this.formData.companyName,
 				profession:this.formData.workPerformance,
-				startTime:this.formData.employmentTime.length<=0?'':this.formData.employmentTime[0],
-				endTime:this.formData.employmentTime.length<=0?'':this.formData.employmentTime[1],
+				startTime:this.formData.employmentTime.length<=0?'':this.formData.employmentTime[0] + '-' + '01',
+				endTime:this.formData.employmentTime.length<=0?'':this.formData.employmentTime[1] + '-' + '01',
 				degree:this.departments[this.formData.departmentIndex],
 				detail:this.formData.workContent
 			}

+ 5 - 0
pages/my/index.vue

@@ -783,6 +783,11 @@ export default {
 				id: 3,
 				text: "在职-暂不考虑",
 				fontSize: 24,
+			},
+			{
+				id: 4,
+				text: "实习",
+				fontSize: 24,
 			},
 				/* {
 					id: '0',

+ 5 - 2
pages/my/jobApplicant/workRecord.vue

@@ -254,8 +254,11 @@ export default {
         {
           value: '3',
           text: '在职-暂不考虑',
-
-        }
+        },
+		{
+			value: '4',
+			text: '实习',
+		}
       ],
       showStatus: false,
       formData: {

+ 4 - 0
pages/my/onlineResume.vue

@@ -261,6 +261,10 @@ export default {
 			{
 				value: 'employed_not_considering',
 				text: '在职-暂不考虑',
+			},
+			{
+				value: 'internship',
+				text: '实习',
 			}
 			]
 		}

+ 2 - 1
pages/recruitmentData/index.vue

@@ -211,7 +211,8 @@ export default {
 	    return [startDateTime, endDateTime];
 	},
 	changeZw (e){
-		this.zwIndex=e.detail.value
+		this.zwIndex=e.detail.value;
+		this.getDataStatics()
 	},
     getBenefitIcon(action) {
       switch(action) {

+ 2 - 2
pages/talentSearch/resumeDetail.vue

@@ -181,7 +181,7 @@
 						<view class="education-content">
 							<view class="school-name">{{ item.school }}</view>
 							<view class="degree-info">{{ item.degree }} • {{ item.profession }} •
-								{{ item.startTime.slice(0, 4) }}-{{ item.endTime.slice(0, 4) }}
+								{{ item.startTime?item.startTime.slice(0, 4):'' }}-{{ item.endTime?item.endTime.slice(0, 4):'' }}
 							</view>
 							<view class="education-description">
 								{{ item.detail }}
@@ -335,7 +335,7 @@ export default {
 					this.userEntity = data.userId
 					this.eduList = data.eduList
 					this.intentions = data.intentionList
-					this.resumeList = data.resumesListDtoList
+					this.resumeList = data.resumesListDtoList !=null?data.resumesListDtoList : {}
 					// this.skills = data.skills
 					this.skills = data.skillList
 					this.workExpList = data.workExpList

+ 80 - 0
static/images/index/index-bg.svg

@@ -0,0 +1,80 @@
+<svg viewBox="0 0 375 258" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="375.000000" height="258.000000" fill="none">
+	<mask id="mask_0" width="375.000000" height="258.000000" x="0.000000" y="0.000000" maskUnits="userSpaceOnUse">
+		<g filter="url(#pixso_custom_mask_type_alpha)">
+			<g filter="url(#filter_0)">
+				<path id="Rectangle 6" d="M0 0L375 0L375 258L0 258L0 0Z" fill="url(#paint_linear_0)" fill-rule="evenodd" />
+			</g>
+		</g>
+	</mask>
+	<defs>
+		<g id="pixso_custom_effect_0">
+			<effect x="0.000000" y="4.000000" visibility="visible" fill="rgb(153.159,170.946,197.625)" fill-opacity="0.180000007" effectType="dropShadow" stdDeviation="62" radius="0" />
+		</g>
+		<filter id="filter_0" width="499.000000" height="382.000000" x="-62.000000" y="-58.000000" filterUnits="userSpaceOnUse" customEffect="url(#pixso_custom_effect_0)" color-interpolation-filters="sRGB">
+			<feFlood flood-opacity="0" result="BackgroundImageFix" />
+			<feOffset dx="0.000000" dy="4.000000" in="SourceAlpha" />
+			<feGaussianBlur stdDeviation="20.666666" />
+			<feColorMatrix type="matrix" values="0 0 0 0 0.600625 0 0 0 0 0.670375 0 0 0 0 0.775 0 0 0 0.18 0 " />
+			<feBlend result="effect_dropShadow_1" in2="BackgroundImageFix" mode="normal" />
+			<feBlend result="shape" in="SourceGraphic" in2="effect_dropShadow_1" mode="normal" />
+		</filter>
+		<linearGradient id="paint_linear_0" x1="0" x2="374.999969" y1="129.000015" y2="129.000015" gradientUnits="userSpaceOnUse">
+			<stop stop-color="rgb(13,39,247)" offset="0" stop-opacity="1" />
+			<stop stop-color="rgb(19,193,234)" offset="1" stop-opacity="1" />
+		</linearGradient>
+		<filter id="pixso_custom_mask_type_alpha">
+			<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 " />
+		</filter>
+		<g id="pixso_custom_effect_1">
+			<effect x="0.000000" y="4.000000" visibility="visible" fill="rgb(153.159,170.946,197.625)" fill-opacity="0.180000007" effectType="dropShadow" stdDeviation="62" radius="0" />
+		</g>
+		<filter id="filter_1" width="499.000000" height="382.000061" x="-62.000000" y="-59.205627" filterUnits="userSpaceOnUse" customEffect="url(#pixso_custom_effect_1)" color-interpolation-filters="sRGB">
+			<feFlood flood-opacity="0" result="BackgroundImageFix" />
+			<feOffset dx="0.000000" dy="4.000000" in="SourceAlpha" />
+			<feGaussianBlur stdDeviation="20.666666" />
+			<feColorMatrix type="matrix" values="0 0 0 0 0.600625 0 0 0 0 0.670375 0 0 0 0 0.775 0 0 0 0.18 0 " />
+			<feBlend result="effect_dropShadow_1" in2="BackgroundImageFix" mode="normal" />
+			<feBlend result="shape" in="SourceGraphic" in2="effect_dropShadow_1" mode="normal" />
+		</filter>
+		<linearGradient id="paint_linear_1" x1="0" x2="374.999969" y1="127.794388" y2="127.794388" gradientUnits="userSpaceOnUse">
+			<stop stop-color="rgb(13,39,247)" offset="0" stop-opacity="1" />
+			<stop stop-color="rgb(19,193,234)" offset="1" stop-opacity="1" />
+		</linearGradient>
+		<linearGradient id="paint_linear_2" x1="116.25592" x2="413.661011" y1="-41.197052" y2="427.143188" gradientUnits="userSpaceOnUse">
+			<stop stop-color="rgb(255,255,255)" offset="0" stop-opacity="1" />
+			<stop stop-color="rgb(255,255,255)" offset="1" stop-opacity="0" />
+		</linearGradient>
+		<linearGradient id="paint_linear_3" x1="116.282135" x2="413.542389" y1="-47.2116699" y2="421.133362" gradientUnits="userSpaceOnUse">
+			<stop stop-color="rgb(255,255,255)" offset="0" stop-opacity="1" />
+			<stop stop-color="rgb(255,255,255)" offset="1" stop-opacity="0" />
+		</linearGradient>
+		<linearGradient id="paint_linear_4" x1="114.968079" x2="419.511383" y1="-41.7566833" y2="426.15564" gradientUnits="userSpaceOnUse">
+			<stop stop-color="rgb(255,255,255)" offset="0" stop-opacity="1" />
+			<stop stop-color="rgb(255,255,255)" offset="1" stop-opacity="0" />
+		</linearGradient>
+		<linearGradient id="paint_linear_5" x1="112.910034" x2="428.471222" y1="-42.6231995" y2="423.857941" gradientUnits="userSpaceOnUse">
+			<stop stop-color="rgb(255,255,255)" offset="0" stop-opacity="1" />
+			<stop stop-color="rgb(255,255,255)" offset="1" stop-opacity="0" />
+		</linearGradient>
+		<linearGradient id="paint_linear_6" x1="340" x2="340" y1="0" y2="164.000763" gradientUnits="userSpaceOnUse">
+			<stop stop-color="rgb(250,250,250)" offset="0" stop-opacity="1" />
+			<stop stop-color="rgb(255,255,255)" offset="0.458333343" stop-opacity="0.5" />
+			<stop stop-color="rgb(255,255,255)" offset="1" stop-opacity="0" />
+		</linearGradient>
+	</defs>
+	<rect id="背景" width="375.000000" height="258.000000" x="0.000000" y="0.000000" transform="matrix(-1,0,0,1,375,0)" />
+	<g id="组合 2">
+		<g id="组合 1">
+			<g id="Background" mask="url(#mask_0)">
+				<g filter="url(#filter_1)">
+					<path id="Rectangle 7" d="M0 -1.20563L375 -1.20563L375 256.794L0 256.794L0 -1.20563Z" fill="url(#paint_linear_1)" fill-rule="evenodd" />
+				</g>
+				<path id="Vector 234" d="M109.769 304.948C-18.4612 318.829 101.786 57.7654 0 280.319L101.786 470.184L533.878 433.912L662.109 311.665L622.193 115.979L478.494 0C500.947 50.8992 578.684 240.734 390.679 197.029C155.673 142.398 312.069 283.048 109.769 304.948Z" fill="url(#paint_linear_2)" fill-opacity="0.119999997" fill-rule="evenodd" transform="matrix(-0.99166,0.128881,-0.160767,-0.986992,488.126,238.969)" />
+				<path id="Vector 235" d="M109.794 298.838C-18.4653 312.716 101.809 51.7237 0 274.216L101.809 464.028L533.996 427.767L662.255 305.553L622.33 109.921L503.989 0C526.447 50.8852 578.812 234.642 390.766 190.949C155.707 136.333 312.138 276.944 109.794 298.838Z" fill="url(#paint_linear_3)" fill-opacity="0.119999997" fill-rule="evenodd" transform="matrix(-0.992547,-0.12186,0.152085,-0.988367,451.724,347.076)" />
+				<path id="Vector 236" d="M108.553 309.09C-18.2567 323.16 100.659 58.5501 0 284.127L100.659 476.571L527.964 439.807L654.774 315.898L615.3 117.554L473.194 0C495.398 51.5906 572.274 244.004 386.351 199.706C153.948 144.333 308.612 286.893 108.553 309.09Z" fill="url(#paint_linear_4)" fill-opacity="0.119999997" fill-rule="evenodd" transform="matrix(-0.945559,-0.325451,0.396093,-0.91821,375.551,438.423)" />
+				<path id="Vector 237" d="M106.61 315.504C-17.9299 329.866 98.8567 59.7651 0 290.023L98.8567 486.46L518.513 448.933L643.053 322.454L604.286 119.994L464.723 0C486.53 52.6612 562.029 249.068 379.435 203.85C151.193 147.328 303.087 292.846 106.61 315.504Z" fill="url(#paint_linear_5)" fill-opacity="0.119999997" fill-rule="evenodd" transform="matrix(-0.86311,-0.505016,0.591361,-0.806407,297.326,503.448)" />
+			</g>
+		</g>
+	</g>
+	<path id="Rectangle 57" d="M0 0L375 0L375 164L0 164L0 0Z" fill="url(#paint_linear_6)" fill-rule="evenodd" transform="matrix(-1,0,0,-1,375,258)" />
+</svg>