xxdezh 8 月之前
父節點
當前提交
550d10fd68

+ 19 - 19
package/jobIntention/jobList.vue

@@ -149,25 +149,25 @@
 			/**
 			/**
 			 * 确定选择
 			 * 确定选择
 			 */
 			 */
-			// confirmSelection(){
-			// 	// 获取当前选中的职位信息
-			// 	if(this.rightList.length > 0 && this.rightList[this.activeTitle] && this.rightList[this.activeTitle].childrens.length > 0) {
-			// 		// 这里可以获取选中的职位信息
-			// 		uni.showToast({
-			// 			title: '选择成功',
-			// 			icon: 'success'
-			// 		})
-			// 		// 返回上一页
-			// 		setTimeout(() => {
-			// 			uni.navigateBack()
-			// 		}, 1500)
-			// 	} else {
-			// 		uni.showToast({
-			// 			title: '请先选择职位',
-			// 			icon: 'none'
-			// 		})
-			// 	}
-			// },
+			confirmSelection(){
+				// 获取当前选中的职位信息
+				if(this.rightList.length > 0 && this.rightList[this.activeTitle] && this.rightList[this.activeTitle].childrens.length > 0) {
+					// 这里可以获取选中的职位信息
+					uni.showToast({
+						title: '选择成功',
+						icon: 'success'
+					})
+					// 返回上一页
+					setTimeout(() => {
+						uni.navigateBack()
+					}, 1500)
+				} else {
+					uni.showToast({
+						title: '请先选择职位',
+						icon: 'none'
+					})
+				}
+			},
 			/**
 			/**
 			 * 获取岗位列表
 			 * 获取岗位列表
 			 */
 			 */

+ 70 - 10
pages/my/businessLicense.vue

@@ -3,20 +3,25 @@
     <view class="roles-content">
     <view class="roles-content">
       <view class="content">
       <view class="content">
         <view class="title">Hi,欢迎加入亿职赞</view>
         <view class="title">Hi,欢迎加入亿职赞</view>
-        <view class="desc">填写招聘信息,开启搞笑招聘方式</view>
+        <view class="desc">填写招聘信息,开启高效招聘方式</view>
         <view class="title-second">公司营业执照名称</view>
         <view class="title-second">公司营业执照名称</view>
         <view class="input-box">
         <view class="input-box">
           <u-input
           <u-input
             placeholder="请输入您所属公司营业执照上的公司名称"
             placeholder="请输入您所属公司营业执照上的公司名称"
-            v-model="phoneNumber"
+            v-model="companyName"
             clearable
             clearable
             class="custom-input"
             class="custom-input"
             maxlength="46"
             maxlength="46"
+			@input="handleInput"
           >
           >
-            <template #prefix>
-              <u-icon name="phone" size="36rpx" color="#999" marginRight="20rpx"></u-icon>
-            </template>
+			<template #prefix>
+	              <u-icon name="phone" size="36rpx" color="#999" marginRight="20rpx"></u-icon>
+	            </template>
           </u-input>
           </u-input>
+		 	    <view class="word-count" style="margin-right: 20rpx; color: #999; font-size: 22rpx;">
+		 			         {{ currentLength }} / 46
+		 	 </view>
+	
         </view>
         </view>
         <view class="desc-txt">
         <view class="desc-txt">
           <view class="desc-txt-item">注意事项:</view>
           <view class="desc-txt-item">注意事项:</view>
@@ -30,12 +35,16 @@
     </view>
     </view>
     <view class="next-btn" @click="goPeopleNumber">下一步</view>
     <view class="next-btn" @click="goPeopleNumber">下一步</view>
   </view>
   </view>
+  
 </template>
 </template>
 <script>
 <script>
 import navBar from "@/components/nav-bar/index.vue";
 import navBar from "@/components/nav-bar/index.vue";
 export default {
 export default {
   data() {
   data() {
-    return {};
+    return {
+		companyName: '', 
+		currentLength: 0 
+	};
   },
   },
   components: {
   components: {
     navBar,
     navBar,
@@ -45,8 +54,31 @@ export default {
       uni.navigateTo({ url: "/pages/my/businessLicense" });
       uni.navigateTo({ url: "/pages/my/businessLicense" });
     },
     },
     goPeopleNumber(){
     goPeopleNumber(){
-        uni.navigateTo({ url: '/pages/my/peopleNumber' })
-    }
+		console.log(this.companyName)
+		
+		if(this.companyName&& this.currentLength>6){
+			uni.navigateTo({ url: '/pages/my/peopleNumber?companyName='+this.companyName})
+		}else{
+			uni.showToast({
+				title: '请完整输入营业执照名称',
+				icon :"none",
+				duration: 2000
+			});
+		}
+        
+    },
+	    // 处理输入事件,更新字数统计
+	handleInput(value) {
+	  this.currentLength = value.length;
+	},
+	watch: {
+	    companyName: {
+	      immediate: true,
+	      handler(val) {
+	        this.currentLength = val.length;
+	      }
+	    }
+	  }
   },
   },
 };
 };
 </script>
 </script>
@@ -55,10 +87,16 @@ export default {
     width: 100%;
     width: 100%;
     padding: 16rpx 0 32rpx 0;
     padding: 16rpx 0 32rpx 0;
     box-sizing: border-box;
     box-sizing: border-box;
+	position: relative;
 }
 }
 ::v-deep .u-input {
 ::v-deep .u-input {
   text-align: left !important;
   text-align: left !important;
 }
 }
+::v-deep .u-input__suffix {
+  /* 确保插槽区域不被压缩 */
+  display: flex;
+  align-items: center;
+}
 .custom-input {
 .custom-input {
     width: 100%;
     width: 100%;
   box-sizing: border-box;
   box-sizing: border-box;
@@ -67,6 +105,28 @@ export default {
   background: rgba(255, 255, 255, 1);
   background: rgba(255, 255, 255, 1);
   padding: 0rpx 24rpx !important;
   padding: 0rpx 24rpx !important;
 }
 }
+/* 字数统计样式 */
+.word-count {
+  position: absolute;
+  right: 0;
+  color: #999;
+  font-size: 22rpx;
+  font-family: DM Sans;
+  top: 30%;
+}
+
+::v-deep .u-input {
+  text-align: left !important;
+}
+.custom-input {
+  width: 100%;
+  box-sizing: border-box;
+  border: 2rpx solid rgba(158, 161, 168, 1);
+  border-radius: 100rpx;
+  background: rgba(255, 255, 255, 1);
+  padding: 0rpx 24rpx !important;
+  padding-right: 80rpx !important;  /* 右侧留空避免文字被字数统计覆盖 */
+}
 .switch-roles {
 .switch-roles {
   position: absolute;
   position: absolute;
   left: 0;
   left: 0;
@@ -95,7 +155,7 @@ export default {
         color: rgba(29, 33, 41, 1);
         color: rgba(29, 33, 41, 1);
         font-family: DM Sans;
         font-family: DM Sans;
         font-size: 36rpx;
         font-size: 36rpx;
-        font-weight: 500;
+        font-weight: 800;
         line-height: 44rpx;
         line-height: 44rpx;
         text-align: left;
         text-align: left;
       }
       }
@@ -115,7 +175,7 @@ export default {
         color: #1f2c37;
         color: #1f2c37;
         font-family: DM Sans;
         font-family: DM Sans;
         font-size: 28rpx;
         font-size: 28rpx;
-        font-weight: 500;
+        font-weight: 600;
         line-height: 44rpx;
         line-height: 44rpx;
         text-align: left;
         text-align: left;
       }
       }

+ 6 - 2
pages/my/jobApplicant/guidePage.vue

@@ -16,7 +16,7 @@
           mode="aspectFix"
           mode="aspectFix"
         />
         />
       </view>
       </view>
-      <view class="guide-btn">我要招人</view>
+      <view class="guide-btn" @click="gotocompany">我要招人</view>
     </view>
     </view>
   </view>
   </view>
 </template>
 </template>
@@ -28,7 +28,11 @@ export default {
   methods: {
   methods: {
     goWork(){
     goWork(){
         uni.navigateTo({ url: '/pages/my/jobApplicant/welcomePage' })
         uni.navigateTo({ url: '/pages/my/jobApplicant/welcomePage' })
-    }
+    },
+	goWork(){
+	    uni.navigateTo({ url: '/pages/my/businessLicense' })
+	},
+	
   },
   },
 };
 };
 </script>
 </script>

+ 297 - 217
pages/my/jobPosting.vue

@@ -1,224 +1,304 @@
 <template>
 <template>
-  <view class="switch-roles">
-    <nav-bar title="选择公司规模" color="#000"></nav-bar>
-    <view class="roles-content">
-      <view class="content">
-        <view class="title">发布社招</view>
-        <view class="desc">“深圳市汉睿国际猎头服务有限公司”的人员规模</view>
-        <view class="step">
-          <u-steps :list="numList" mode="number" :current="1"></u-steps>
-        </view>
-        <view class="check-title">招聘类型</view>
-        <view class="check-box">
-          <view
-            class="check-item"
-            :class="{ 'is-check': check == index }"
-            v-for="(item, index) in peopleList"
-            :key="index"
-            @click="checkPeople(index)"
-            >{{ item }}</view
-          >
-        </view>
-        <view class="check-title-big">招聘职位</view>
-        <view class="check-select" @click="goJob">
-          <view class="select-txt">请选择要招聘的职位</view>
-          <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
-        </view>
-        <view class="check-title-big">岗位描述</view>
-        <view class="check-select" @click="goJobContent">
-          <view class="select-txt">{{
+	<view class="switch-roles">
+		<nav-bar title="选择公司规模" color="#000"></nav-bar>
+		<view class="roles-content">
+			<view class="content">
+				<view class="title">发布社招</view>
+				<view class="desc">{{companyName}}</view>
+				<view class="step">
+					<u-steps :list="numList" mode="number" :current="0" ></u-steps>
+				</view>
+				<view class="check-title">招聘类型</view>
+				<view class="check-box">
+					<view class="check-item" :class="{ 'is-check': check == index }" v-for="(item, index) in peopleList"
+						:key="index" @click="checkPeople(index)">{{ item }}</view>
+				</view>
+				<view class="check-title-big">招聘职位</view>
+				<view class="check-select" @click="goJob">
+					<view class="select-txt">{{jobInfo.ruleClassifyName}}</view>
+					<u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
+				</view>
+				<view class="check-title-big">岗位描述</view>
+				<view class="check-select" @click="goJobContent">
+					<view class="select-txt">{{
             this.text ? this.text : "介绍工作内容、职位要求"
             this.text ? this.text : "介绍工作内容、职位要求"
           }}</view>
           }}</view>
-          <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
-        </view>
-        <view class="txt-desc">注:职位名称、职位类型等发布后不可修改</view>
-      </view>
-    </view>
-    <view class="submit-btn" @click="goJobPostingSecond">下一步</view>
-  </view>
+					<u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
+				</view>
+				<view class="txt-desc">注:职位名称、职位类型等发布后不可修改</view>
+			</view>
+		</view>
+		<view class="submit-btn" @click="goJobPostingSecond">下一步</view>
+	</view>
 </template>
 </template>
 <script>
 <script>
-import navBar from "@/components/nav-bar/index.vue";
-export default {
-  data() {
-    return {
-      peopleList: ["社招全职", "应届生校园招聘", "实习生招聘", "兼职招聘"],
-      check: 0,
-      text: "",
-      numList: [
-        {
-          name: "填写基本信息",
-        },
-        {
-          name: "选择职位要求",
-        },
-      ],
-    };
-  },
-  components: {
-    navBar,
-  },
-  onLoad(options) {
-    if (options.text) {
-      this.text = options.text;
-    }
-  },
-  methods: {
-    goBusinessLicense() {
-      uni.navigateTo({ url: "/pages/my/businessLicense" });
-    },
-    checkPeople(index) {
-      this.check = index;
-    },
-    goJob() {
-      uni.navigateTo({
-        url: "/package/jobIntention/jobList",
-      });
-    },
-    goJobContent() {
-      uni.navigateTo({
-        url: `/package/jobIntention/editJob?text=${this.text}`,
-      });
-    },
-    goJobPostingSecond(){
-      uni.navigateTo({ url: "/pages/my/jobPostingSecond" });
-
-    }
-  },
-};
+	import navBar from "@/components/nav-bar/index.vue";
+	export default {
+		data() {
+			return {
+				peopleList: ["社招全职", "应届生校园招聘", "实习生招聘", "兼职招聘"],
+				check: 0,
+				text: "",
+				companyName: "",
+				numList: [{
+						name: "填写基本信息",
+					},
+					{
+						name: "选择职位要求",
+					},
+				],
+				jobInfo: {
+					ruleClassifyId: '',
+					ruleClassifyName: '请选择要招聘的职位',
+					price: ''
+				}
+			};
+		},
+		components: {
+			navBar,
+		},
+
+		onLoad(options) {
+			// 接收上个页面传递的公司名称参数
+			if (options.companyName) {
+				this.companyName = decodeURIComponent(options.companyName);
+				console.log('接收的公司名称:', this.companyName);
+			}
+			if (options.text) {
+				this.text = decodeURIComponent(options.text);
+				console.log('接收的:', this.text);
+			}
+			this.jobListener = uni.$on('jobs', (data) => {
+				console.log('接收从B页传来的数据:', data);
+				// 手动更新 A 页的 data
+				this.jobInfo = data;
+
+			});
+
+
+		},
+		onUnload() {
+			// 页面卸载时移除监听,避免内存泄漏
+			uni.$off('jobs', this.jobListener);
+		},
+		methods: {
+			goBusinessLicense() {
+				uni.navigateTo({
+					url: "/pages/my/businessLicense"
+				});
+			},
+			checkPeople(index) {
+				this.check = index;
+			},
+			goJob() {
+				uni.navigateTo({
+					url: "/package/jobIntention/jobList",
+				});
+			},
+			goJobContent() {
+				uni.navigateTo({
+					url: `/package/jobIntention/editJob?text=${this.text}`,
+				});
+			},
+
+			//提交
+			goJobPostingSecond() {
+
+				// 显示加载中
+				uni.showLoading({
+					title: '提交中...'
+				});
+
+				const data = {
+					type: this.check,
+					positionDetails: this.text,
+					ruleClassifyId: this.jobInfo.ruleClassifyId,
+					ruleClassifyName: this.jobInfo.ruleClassifyName,
+					orderId:1
+				}
+				// 发送请求
+				this.$Request.postJson("/app/postPush/savePostPush", data)
+					.then((res) => {
+						uni.hideLoading();
+
+						if (res.code === 0) {
+							uni.showToast({
+								title: '提交成功',
+								icon: 'success'
+							});
+							// 提交成功后跳转到职位发布页面
+							setTimeout(() => {
+								uni.navigateTo({
+									url: "/pages/my/jobPostingSecond?companyName="+this.companyName
+								});
+
+							}, 1500);
+						} else {
+							uni.showToast({
+								title: res.msg || '提交失败,请重试',
+								icon: 'none'
+							});
+						}
+					})
+					.catch((err) => {
+						uni.hideLoading();
+						console.error('请求失败:', err);
+						uni.showToast({
+							title: '网络异常,请稍后重试',
+							icon: 'none'
+						});
+					});
+
+
+			}
+		},
+	};
 </script>
 </script>
 <style lang="scss" scoped>
 <style lang="scss" scoped>
-.switch-roles {
-  background-color: #fff;
-  position: absolute;
-  left: 0;
-  right: 0;
-  top: 0;
-  bottom: 0;
-  display: flex;
-  flex-direction: column;
-  .roles-content {
-    width: 100%;
-    flex: 1;
-    overflow: hidden;
-    overflow-y: auto;
-    .content {
-      padding: 40rpx;
-      box-sizing: border-box;
-      display: flex;
-      flex-direction: column;
-      align-items: center;
-      justify-content: center;
-      .title {
-        color: #333;
-        width: 100%;
-        font-family: DM Sans;
-        font-size: 40rpx;
-        font-weight: 600;
-      }
-      .desc {
-        color: rgba(102, 102, 102, 1);
-        width: 100%;
-        font-family: DM Sans;
-        font-size: 24rpx;
-        font-weight: 400;
-        line-height: 32rpx;
-        letter-spacing: 0.5%;
-        text-align: left;
-        padding: 20rpx 0;
-        box-sizing: border-box;
-      }
-      .check-title {
-        width: 100%;
-        color: rgba(31, 44, 55, 1);
-        font-family: DM Sans;
-        font-size: 28rpx;
-        font-weight: 500;
-        line-height: 44rpx;
-        margin-top: 20rpx;
-        margin-bottom: 16rpx;
-      }
-      .check-title-big {
-        color: rgba(58, 57, 67, 1);
-        font-family: DM Sans;
-        font-size: 36rpx;
-        font-weight: 500;
-        line-height: 48rpx;
-        width: 100%;
-        padding: 20rpx 0;
-        box-sizing: border-box;
-      }
-      .check-select {
-        width: 100%;
-        display: flex;
-        justify-content: space-between;
-        align-items: center;
-        border-radius: 12rpx;
-        box-shadow: 0px 16rpx 300rpx 0px rgba(0, 0, 0, 0.06);
-        background: rgba(255, 255, 255, 1);
-        padding: 32rpx 47rpx;
-        box-sizing: border-box;
-        .select-txt {
-        }
-      }
-      .check-box {
-        width: 100%;
-        display: grid;
-        grid-template-columns: repeat(2, 1fr);
-        gap: 24rpx;
-        .check-item {
-          border-radius: 16rpx;
-          background: rgba(245, 248, 254, 1);
-          color: rgba(153, 153, 153, 1);
-          font-family: DM Sans;
-          font-size: 28rpx;
-          font-weight: 400;
-          line-height: 44rpx;
-          text-align: center;
-          padding: 12rpx 48rpx;
-          box-sizing: border-box;
-        }
-        .is-check {
-          box-sizing: border-box;
-          border: 1rpx solid #016bf6;
-          border-radius: 16rpx;
-          background: rgba(252, 233, 220, 1);
-          color: #016bf6;
-        }
-      }
-    }
-  }
-  .step {
-    width: 100%;
-    padding: 32rpx 0;
-    box-sizing: border-box;
-  }
-  .submit-btn {
-    flex-shrink: 0;
-    border-radius: 999px;
-    box-shadow: 0px 2px 4px 0px rgba(9, 196, 116, 0.3);
-    background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
-    color: rgba(255, 255, 255, 1);
-    font-family: DM Sans;
-    font-size: 32rpx;
-    font-weight: 400;
-    line-height: 48rpx;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    padding: 16rpx 32rpx;
-    box-sizing: border-box;
-    margin: 60rpx 20rpx;
-  }
-  .txt-desc {
-    color: rgba(102, 102, 102, 1);
-    font-family: DM Sans;
-    font-size: 24rpx;
-    font-weight: 400;
-    line-height: 32rpx;
-    text-align: left;
-    width: 100%;
-    margin-top: 20rpx;
-  }
-}
-</style>
+	.switch-roles {
+		background-color: #fff;
+		position: absolute;
+		left: 0;
+		right: 0;
+		top: 0;
+		bottom: 0;
+		display: flex;
+		flex-direction: column;
+
+		.roles-content {
+			width: 100%;
+			flex: 1;
+			overflow: hidden;
+			overflow-y: auto;
+
+			.content {
+				padding: 40rpx;
+				box-sizing: border-box;
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+				justify-content: center;
+
+				.title {
+					color: #333;
+					width: 100%;
+					font-family: DM Sans;
+					font-size: 40rpx;
+					font-weight: 600;
+				}
+
+				.desc {
+					color: rgba(102, 102, 102, 1);
+					width: 100%;
+					font-family: DM Sans;
+					font-size: 24rpx;
+					font-weight: 400;
+					line-height: 32rpx;
+					letter-spacing: 0.5%;
+					text-align: left;
+					padding: 20rpx 0;
+					box-sizing: border-box;
+				}
+
+				.check-title {
+					width: 100%;
+					color: rgba(31, 44, 55, 1);
+					font-family: DM Sans;
+					font-size: 28rpx;
+					font-weight: 500;
+					line-height: 44rpx;
+					margin-top: 20rpx;
+					margin-bottom: 16rpx;
+				}
+
+				.check-title-big {
+					color: rgba(58, 57, 67, 1);
+					font-family: DM Sans;
+					font-size: 36rpx;
+					font-weight: 500;
+					line-height: 48rpx;
+					width: 100%;
+					padding: 20rpx 0;
+					box-sizing: border-box;
+				}
+
+				.check-select {
+					width: 100%;
+					display: flex;
+					justify-content: space-between;
+					align-items: center;
+					border-radius: 12rpx;
+					box-shadow: 0px 16rpx 300rpx 0px rgba(0, 0, 0, 0.06);
+					background: rgba(255, 255, 255, 1);
+					padding: 32rpx 47rpx;
+					box-sizing: border-box;
+
+					.select-txt {}
+				}
+
+				.check-box {
+					width: 100%;
+					display: grid;
+					grid-template-columns: repeat(2, 1fr);
+					gap: 24rpx;
+
+					.check-item {
+						border-radius: 16rpx;
+						background: rgba(245, 248, 254, 1);
+						color: rgba(153, 153, 153, 1);
+						font-family: DM Sans;
+						font-size: 28rpx;
+						font-weight: 400;
+						line-height: 44rpx;
+						text-align: center;
+						padding: 12rpx 48rpx;
+						box-sizing: border-box;
+					}
+
+					.is-check {
+						box-sizing: border-box;
+						border: 1rpx solid #016bf6;
+						border-radius: 16rpx;
+						background: rgba(252, 233, 220, 1);
+						color: #016bf6;
+					}
+				}
+			}
+		}
+
+		.step {
+			width: 100%;
+			padding: 32rpx 0;
+			box-sizing: border-box;
+		}
+
+		.submit-btn {
+			flex-shrink: 0;
+			border-radius: 999px;
+			box-shadow: 0px 2px 4px 0px rgba(9, 196, 116, 0.3);
+			background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
+			color: rgba(255, 255, 255, 1);
+			font-family: DM Sans;
+			font-size: 32rpx;
+			font-weight: 400;
+			line-height: 48rpx;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			padding: 16rpx 32rpx;
+			box-sizing: border-box;
+			margin: 60rpx 20rpx;
+		}
+
+		.txt-desc {
+			color: rgba(102, 102, 102, 1);
+			font-family: DM Sans;
+			font-size: 24rpx;
+			font-weight: 400;
+			line-height: 32rpx;
+			text-align: left;
+			width: 100%;
+			margin-top: 20rpx;
+		}
+	}
+</style>

+ 224 - 348
pages/my/jobPostingSecond.vue

@@ -1,300 +1,157 @@
 <template>
 <template>
   <view class="switch-roles">
   <view class="switch-roles">
-    <nav-bar title="选择公司规模" color="#000"></nav-bar>
+    <nav-bar title="选择职位要求" color="#000"></nav-bar>
     <view class="roles-content">
     <view class="roles-content">
       <view class="content">
       <view class="content">
         <view class="title">继续填写</view>
         <view class="title">继续填写</view>
-        <view class="desc">“深圳市汉睿国际猎头服务有限公司”的人员规模</view>
+        <view class="desc">“{{companyName}}”的职位要求</view>
         <view class="step">
         <view class="step">
-          <u-steps :list="numList" mode="number" :current="1"></u-steps>
+          <u-steps :list="numList" mode="number" :current="2"></u-steps>
         </view>
         </view>
+
+        <!-- 经验要求 -->
         <view class="check-title-big">经验要求</view>
         <view class="check-title-big">经验要求</view>
         <view class="check-select" @click="showExper = true">
         <view class="check-select" @click="showExper = true">
-          <view class="select-txt">请选择经验要求</view>
+          <view class="select-txt">{{ selectedExper || "请选择经验要求" }}</view>
           <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
           <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
         </view>
         </view>
+
+        <!-- 最低学历 -->
         <view class="check-title-big">最低学历</view>
         <view class="check-title-big">最低学历</view>
         <view class="check-select" @click="showLevel = true">
         <view class="check-select" @click="showLevel = true">
-          <view class="select-txt">{{ this.text ? this.text : "请选择学历" }}</view>
+          <view class="select-txt">{{ selectedLevel || "请选择学历" }}</view>
           <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
           <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
         </view>
         </view>
+
+        <!-- 薪资范围 -->
         <view class="check-title-big">薪资范围</view>
         <view class="check-title-big">薪资范围</view>
         <view class="check-select" @click="showMoney = true">
         <view class="check-select" @click="showMoney = true">
-          <view class="select-txt">请选择合理的薪资范围</view>
+          <view class="select-txt">{{ selectedSalary || "请选择合理的薪资范围" }}</view>
           <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
           <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
         </view>
         </view>
+
+        <!-- 福利待遇 -->
         <view class="check-title-big">福利待遇(选填)</view>
         <view class="check-title-big">福利待遇(选填)</view>
         <view class="check-select" @click="goFund">
         <view class="check-select" @click="goFund">
-          <view class="select-txt">请填写奖金绩效</view>
+          <view class="select-txt">{{ welfareTag || "请填写奖金绩效" }}</view>
           <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
           <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
         </view>
         </view>
+
+        <!-- 职位关键词 -->
         <view class="check-title-big">职位关键词</view>
         <view class="check-title-big">职位关键词</view>
         <view class="check-select" @click="goJobSkill">
         <view class="check-select" @click="goJobSkill">
-          <view class="select-txt">被选中的关键词将突出展示给牛人</view>
+          <view class="select-txt">{{ positionTag || "被选中的关键词将突出展示给牛人" }}</view>
           <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
           <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
         </view>
         </view>
+
+        <!-- 工作地址 -->
         <view class="check-title-big">工作地址</view>
         <view class="check-title-big">工作地址</view>
         <view class="check-select" @click="goAddAddress">
         <view class="check-select" @click="goAddAddress">
-          <view class="select-txt">请填写精确的工作地点</view>
+          <view class="select-txt">{{ stationName || "请填写精确的工作地点" }}</view>
           <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
           <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
         </view>
         </view>
-        <view class="txt-desc"
-          >温馨提示:职位类型、职位名称和工作城市发布后不可修改, 请您确保信息正确 <br />
-          <br />
-          发布职位即表示同意遵守《招聘行为管理规范》,如违反规则 将导致账号被锁定
+
+        <view class="txt-desc">
+          温馨提示:职位类型、职位名称和工作城市发布后不可修改,请您确保信息正确 <br /><br />
+          发布职位即表示同意遵守《招聘行为管理规范》,如违反规则将导致账号被锁定
         </view>
         </view>
       </view>
       </view>
     </view>
     </view>
-    <view class="submit-btn" @click="goCompany">确定</view>
-    <u-select v-model="showExper" :list="listExper" title="请选择经验"></u-select>
-    <u-select v-model="showLevel" :list="listLevel" title="请选择学历"></u-select>
+
+    <view class="submit-btn" @click="submitPost">确定</view>
+
+    <!-- 经验选择器 -->
+    <u-select 
+      v-model="showExper" 
+      :list="listExper" 
+      title="请选择经验" 
+      @confirm="onExperConfirm"
+      @cancel="showExper = false"
+    ></u-select>
+
+    <!-- 学历选择器 -->
+    <u-select 
+      v-model="showLevel" 
+      :list="listLevel" 
+      title="请选择学历" 
+      @confirm="onLevelConfirm"
+      @cancel="showLevel = false"
+    ></u-select>
+
+    <!-- 薪资选择器 -->
     <u-select
     <u-select
       v-model="showMoney"
       v-model="showMoney"
       mode="mutil-column"
       mode="mutil-column"
       :list="listMoney"
       :list="listMoney"
       title="请选择月薪范围"
       title="请选择月薪范围"
+      @confirm="onMoneyConfirm"
+      @cancel="showMoney = false"
     ></u-select>
     ></u-select>
   </view>
   </view>
 </template>
 </template>
+
 <script>
 <script>
 import navBar from "@/components/nav-bar/index.vue";
 import navBar from "@/components/nav-bar/index.vue";
 export default {
 export default {
   data() {
   data() {
     return {
     return {
-      peopleList: ["社招全职", "应届生校园招聘", "实习生招聘", "兼职招聘"],
-      check: 0,
-      text: "",
-      showExper: false, //经验
+      // 选中值(用于页面渲染)
+      selectedExper: "",    // 经验
+      selectedLevel: "",    // 学历
+      selectedSalary: "",   // 薪资范围
+      welfareTag: "",       // 福利待遇
+      positionTag: "",      // 职位关键词
+      stationName: "",  
+		  companyName:"",// 工作地址
+
+      // 选择器显示控制
+      showExper: false,
+      showLevel: false,
+      showMoney: false,
+
+      // 经验选择数据源
       listExper: [
       listExper: [
-        {
-          label: "不限",
-          value: 1,
-        },
-        {
-          label: "1年以内",
-          value: 2,
-        },
-        {
-          label: "1-3年",
-          value: 3,
-        },
-        {
-          label: "3-5年",
-          value: 4,
-        },
-        {
-          label: "5-10年",
-          value: 5,
-        },
-        {
-          label: "10年以上",
-          value: 6,
-        },
+        { label: "不限", value: "不限" },
+        { label: "1年以内", value: "1年以内" },
+        { label: "1-3年", value: "1-3年" },
+        { label: "3-5年", value: "3-5年" },
+        { label: "5-10年", value: "5-10年" },
+        { label: "10年以上", value: "10年以上" },
       ],
       ],
-      showLevel: false, //学历
+
+      // 学历选择数据源
       listLevel: [
       listLevel: [
-        { label: "不限", value: 1 },
-        { label: "专科", value: 2 },
-        { label: "本科", value: 3 },
-        { label: "硕士", value: 4 },
-        { label: "博士", value: 5 },
+        { label: "不限", value: "不限" },
+        { label: "专科", value: "专科" },
+        { label: "本科", value: "本科" },
+        { label: "硕士", value: "硕士" },
+        { label: "博士", value: "博士" },
       ],
       ],
-      showMoney: false, //月薪范围
+
+      // 薪资选择数据源(修正格式)
       listMoney: [
       listMoney: [
         [
         [
-          {
-            value: "3",
-            label: "3k",
-          },
-          {
-            value: "4",
-            label: "4k",
-          },
-          {
-            value: "5",
-            label: "5k",
-          },
-          {
-            value: "6",
-            label: "6k",
-          },
-          {
-            value: "7",
-            label: "7k",
-          },
-          {
-            value: "8",
-            label: "8k",
-          },
-          {
-            value: "9",
-            label: "9k",
-          },
-          {
-            value: "10",
-            label: "10k",
-          },
-          {
-            value: "11",
-            label: "11k",
-          },
-          {
-            value: "12",
-            label: "12k",
-          },
-          {
-            value: "13",
-            label: "13k",
-          },
-          {
-            value: "14",
-            label: "14k",
-          },
-          {
-            value: "15",
-            label: "15k",
-          },
-          {
-            value: "16",
-            label: "16k",
-          },
-          {
-            value: "17",
-            label: "17k",
-          },
-          {
-            value: "18",
-            label: "18k",
-          },
-          {
-            value: "19",
-            label: "19k",
-          },
-          {
-            value: "20",
-            label: "20k",
-          },
+          { value: "3k", label: "3k" },
+          { value: "4k", label: "4k" },
+          { value: "5k", label: "5k" },
+          { value: "6k", label: "6k" },
+          { value: "10k", label: "10k" },
+          { value: "15k", label: "15k" },
+          { value: "20k", label: "20k" },
         ],
         ],
         [
         [
-          {
-            value: "104",
-            label: "4k",
-          },
-          {
-            value: "105",
-            label: "5k",
-          },
-          {
-            value: "106",
-            label: "6k",
-          },
-          {
-            value: "107",
-            label: "7k",
-          },
-          {
-            value: "108",
-            label: "8k",
-          },
-          {
-            value: "109",
-            label: "9k",
-          },
-          {
-            value: "100",
-            label: "10k",
-          },
-          {
-            value: "101",
-            label: "11k",
-          },
-          {
-            value: "102",
-            label: "12k",
-          },
-          {
-            value: "103",
-            label: "13k",
-          },
-          {
-            value: "104",
-            label: "14k",
-          },
-          {
-            value: "105",
-            label: "15k",
-          },
-          {
-            value: "106",
-            label: "16k",
-          },
-          {
-            value: "107",
-            label: "17k",
-          },
-          {
-            value: "108",
-            label: "18k",
-          },
-          {
-            value: "109",
-            label: "19k",
-          },
-          {
-            value: "200",
-            label: "20k",
-          },
-          {
-            value: "205",
-            label: "25k",
-          },
-          {
-            value: "300",
-            label: "30k",
-          },
-          {
-            value: "305",
-            label: "35k",
-          },
-          {
-            value: "400",
-            label: "40k",
-          },
-        ],
-        [
-          {
-            value: "12m",
-            label: "12月",
-          },
-          {
-            value: "13m",
-            label: "13月",
-          },
-          {
-            value: "14m",
-            label: "14月",
-          },
-          {
-            value: "15m",
-            label: "15月",
-          },
-          {
-            value: "16m",
-            label: "16月",
-          },
-          {
-            value: "17m",
-            label: "17月",
-          },
+          { value: "10k", label: "10k" },
+          { value: "15k", label: "15k" },
+          { value: "20k", label: "20k" },
+          { value: "30k", label: "30k" },
+          { value: "50k", label: "50k" },
+          { value: "100k", label: "100k" },
         ],
         ],
       ],
       ],
+
       numList: [
       numList: [
-        {
-          name: "填写基本信息",
-        },
-        {
-          name: "选择职位要求",
-        },
+        { name: "填写基本信息" },
+        { name: "选择职位要求" },
       ],
       ],
     };
     };
   },
   },
@@ -302,51 +159,135 @@ export default {
     navBar,
     navBar,
   },
   },
   onLoad(options) {
   onLoad(options) {
-    if (options.text) {
-      this.text = options.text;
-    }
+  	// 接收上个页面传递的公司名称参数
+  	if (options.companyName) {
+  		this.companyName = decodeURIComponent(options.companyName);
+  		console.log('接收的公司名称:', this.companyName);
+  	}
+
+  
+  
   },
   },
   methods: {
   methods: {
-    goBusinessLicense() {
-      uni.navigateTo({ url: "/pages/my/businessLicense" });
+    // 处理经验选择(核心修复:直接接收选中的label)
+    onExperConfirm(selectedItem) {
+      // 不同版本u-select返回格式可能是对象或数组,这里兼容处理
+      if (Array.isArray(selectedItem)) {
+        this.selectedExper = selectedItem[0]?.label || "";
+      } else {
+        this.selectedExper = selectedItem?.label || "";
+      }
+      this.showExper = false; // 关闭选择器
+    },
+
+    // 处理学历选择(核心修复)
+    onLevelConfirm(selectedItem) {
+      if (Array.isArray(selectedItem)) {
+        this.selectedLevel = selectedItem[0]?.label || "";
+      } else {
+        this.selectedLevel = selectedItem?.label || "";
+      }
+      this.showLevel = false;
     },
     },
-    checkPeople(index) {
-      this.check = index;
+
+    // 处理薪资范围选择(核心修复)
+    onMoneyConfirm(selectedItems) {
+      // 多列选择器返回数组,取每列选中的label拼接
+      if (Array.isArray(selectedItems) && selectedItems.length >= 2) {
+        const min = selectedItems[0]?.label || "";
+        const max = selectedItems[1]?.label || "";
+        this.selectedSalary = `${min}-${max}`;
+      }
+      this.showMoney = false;
     },
     },
-    goJob() {
+
+    // 跳转页面并接收参数(福利待遇)
+    goFund() {
       uni.navigateTo({
       uni.navigateTo({
-        url: "/package/jobIntention/jobList",
+        url: "/package/jobIntention/fund",
+        events: {
+          // 监听子页面发送的福利数据
+          fundData: (data) => {
+            this.welfareTag = data;
+          },
+        },
       });
       });
     },
     },
+
+    // 跳转页面并接收参数(职位关键词)
     goJobSkill() {
     goJobSkill() {
       uni.navigateTo({
       uni.navigateTo({
         url: "/package/jobIntention/jobSkills",
         url: "/package/jobIntention/jobSkills",
+        events: {
+          skillData: (data) => {
+            this.positionTag = data;
+          },
+        },
       });
       });
     },
     },
-    goJobContent() {
-      uni.navigateTo({
-        url: `/package/jobIntention/editJob?text=${this.text}`,
-      });
-    },
+
+    // 跳转页面并接收参数(工作地址)
     goAddAddress() {
     goAddAddress() {
       uni.navigateTo({
       uni.navigateTo({
         url: "/package/jobIntention/addAddress",
         url: "/package/jobIntention/addAddress",
+        events: {
+          addressData: (data) => {
+            this.stationName = data;
+          },
+        },
       });
       });
     },
     },
-    goFund(){
-        uni.navigateTo({
-            url:'/package/jobIntention/fund'
+
+    // 提交表单
+    submitPost() {
+      // 验证必填项
+      if (!this.selectedExper) {
+        return uni.showToast({ title: "请选择经验要求", icon: "none" });
+      }
+      if (!this.selectedLevel) {
+        return uni.showToast({ title: "请选择最低学历", icon: "none" });
+      }
+      if (!this.selectedSalary) {
+        return uni.showToast({ title: "请选择薪资范围", icon: "none" });
+      }
+      if (!this.stationName) {
+        return uni.showToast({ title: "请填写工作地址", icon: "none" });
+      }
+
+      // 构造提交数据
+      const data = {
+        experience: this.selectedExper,
+        education: this.selectedLevel,
+        salaryRange: this.selectedSalary,
+        welfareTag: this.welfareTag,
+        positionTag: this.positionTag,
+        stationName: this.stationName,
+      };
+
+      // 调用接口提交
+      uni.showLoading({ title: "提交中..." });
+      this.$Request.postJson("/app/postPush/savePostPush", data)
+        .then((res) => {
+          uni.hideLoading();
+          if (res.code === 0) {
+            uni.showToast({ title: "提交成功", icon: "success" });
+            setTimeout(() => uni.navigateBack(), 1500);
+          } else {
+            uni.showToast({ title: res.msg || "提交失败", icon: "none" });
+          }
         })
         })
+        .catch((err) => {
+          uni.hideLoading();
+          console.error("提交失败:", err);
+          uni.showToast({ title: "网络异常", icon: "none" });
+        });
     },
     },
-    goCompany(){
-              uni.navigateTo({
-            url:'/package/jobIntention/company'
-        })
-    }
   },
   },
 };
 };
 </script>
 </script>
+
 <style lang="scss" scoped>
 <style lang="scss" scoped>
+/* 原有样式保持不变 */
 .switch-roles {
 .switch-roles {
   background-color: #fff;
   background-color: #fff;
   position: absolute;
   position: absolute;
@@ -359,126 +300,61 @@ export default {
   .roles-content {
   .roles-content {
     width: 100%;
     width: 100%;
     flex: 1;
     flex: 1;
-    overflow: hidden;
-    overflow-y: auto;
+    overflow: auto;
     .content {
     .content {
       padding: 40rpx;
       padding: 40rpx;
-      box-sizing: border-box;
-      display: flex;
-      flex-direction: column;
-      align-items: center;
-      justify-content: center;
       .title {
       .title {
         color: #333;
         color: #333;
-        width: 100%;
-        font-family: DM Sans;
         font-size: 40rpx;
         font-size: 40rpx;
         font-weight: 600;
         font-weight: 600;
+        margin-bottom: 10rpx;
       }
       }
       .desc {
       .desc {
-        color: rgba(102, 102, 102, 1);
-        width: 100%;
-        font-family: DM Sans;
+        color: #666;
         font-size: 24rpx;
         font-size: 24rpx;
-        font-weight: 400;
-        line-height: 32rpx;
-        letter-spacing: 0.5%;
-        text-align: left;
-        padding: 20rpx 0;
-        box-sizing: border-box;
-      }
-      .check-title {
-        width: 100%;
-        color: rgba(31, 44, 55, 1);
-        font-family: DM Sans;
-        font-size: 28rpx;
-        font-weight: 500;
-        line-height: 44rpx;
-        margin-top: 20rpx;
-        margin-bottom: 16rpx;
+        margin-bottom: 20rpx;
       }
       }
       .check-title-big {
       .check-title-big {
-        color: rgba(58, 57, 67, 1);
-        font-family: DM Sans;
+        color: #3a3943;
         font-size: 36rpx;
         font-size: 36rpx;
         font-weight: 500;
         font-weight: 500;
-        line-height: 48rpx;
-        width: 100%;
         padding: 20rpx 0;
         padding: 20rpx 0;
-        box-sizing: border-box;
       }
       }
       .check-select {
       .check-select {
         width: 100%;
         width: 100%;
         display: flex;
         display: flex;
         justify-content: space-between;
         justify-content: space-between;
         align-items: center;
         align-items: center;
-        border-radius: 12rpx;
-        box-shadow: 0px 16rpx 300rpx 0px rgba(0, 0, 0, 0.06);
-        background: rgba(255, 255, 255, 1);
         padding: 32rpx 47rpx;
         padding: 32rpx 47rpx;
-        box-sizing: border-box;
+        border-radius: 12rpx;
+        box-shadow: 0 16rpx 300rpx rgba(0, 0, 0, 0.06);
+        background: #fff;
+        margin-bottom: 20rpx;
         .select-txt {
         .select-txt {
-          color: rgba(153, 153, 153, 1);
-        }
-      }
-      .check-box {
-        width: 100%;
-        display: grid;
-        grid-template-columns: repeat(2, 1fr);
-        gap: 24rpx;
-        .check-item {
-          border-radius: 16rpx;
-          background: rgba(245, 248, 254, 1);
-          color: rgba(153, 153, 153, 1);
-          font-family: DM Sans;
+          color: #999;
           font-size: 28rpx;
           font-size: 28rpx;
-          font-weight: 400;
-          line-height: 44rpx;
-          text-align: center;
-          padding: 12rpx 48rpx;
-          box-sizing: border-box;
-        }
-        .is-check {
-          box-sizing: border-box;
-          border: 1rpx solid #016bf6;
-          border-radius: 16rpx;
-          background: rgba(252, 233, 220, 1);
-          color: #016bf6;
         }
         }
       }
       }
+      .txt-desc {
+        color: #666;
+        font-size: 24rpx;
+        margin-top: 20rpx;
+        line-height: 1.5;
+      }
     }
     }
   }
   }
   .step {
   .step {
-    width: 100%;
     padding: 32rpx 0;
     padding: 32rpx 0;
-    box-sizing: border-box;
   }
   }
   .submit-btn {
   .submit-btn {
-    flex-shrink: 0;
+    margin: 60rpx 20rpx;
+    padding: 16rpx 32rpx;
     border-radius: 999px;
     border-radius: 999px;
-    box-shadow: 0px 2px 4px 0px rgba(9, 196, 116, 0.3);
-    background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
-    color: rgba(255, 255, 255, 1);
-    font-family: DM Sans;
+    background: linear-gradient(90deg, #0d27f7, #13c1ea);
+    color: #fff;
     font-size: 32rpx;
     font-size: 32rpx;
-    font-weight: 400;
+    text-align: center;
     line-height: 48rpx;
     line-height: 48rpx;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    padding: 16rpx 32rpx;
-    box-sizing: border-box;
-    margin: 60rpx 20rpx;
-  }
-  .txt-desc {
-    color: rgba(102, 102, 102, 1);
-    font-family: DM Sans;
-    font-size: 24rpx;
-    font-weight: 400;
-    line-height: 32rpx;
-    text-align: left;
-    width: 100%;
-    margin-top: 20rpx;
   }
   }
 }
 }
-</style>
+</style>

+ 86 - 12
pages/my/peopleNumber.vue

@@ -4,7 +4,7 @@
     <view class="roles-content">
     <view class="roles-content">
       <view class="content">
       <view class="content">
         <view class="title">公司规模</view>
         <view class="title">公司规模</view>
-        <view class="desc">“深圳市汉睿国际猎头服务有限公司”的人员规模</view>
+        <view class="desc">“{{ companyName || '当前公司' }}”的人员规模</view>
         <view class="check-box">
         <view class="check-box">
           <view
           <view
             class="check-item"
             class="check-item"
@@ -12,14 +12,14 @@
             v-for="(item, index) in peopleList"
             v-for="(item, index) in peopleList"
             :key="index"
             :key="index"
             @click="checkPeople(index)"
             @click="checkPeople(index)"
-            >{{ item }}</view
-          >
+          >{{ item }}</view>
         </view>
         </view>
       </view>
       </view>
     </view>
     </view>
-    <view class="submit-btn" @click="goJobPosting">确定</view>
+    <view class="submit-btn" @click="submitCompany">确定</view>
   </view>
   </view>
 </template>
 </template>
+
 <script>
 <script>
 import navBar from "@/components/nav-bar/index.vue";
 import navBar from "@/components/nav-bar/index.vue";
 export default {
 export default {
@@ -33,28 +33,100 @@ export default {
         "1000-9999人",
         "1000-9999人",
         "10000人以上",
         "10000人以上",
       ],
       ],
-      check: 0,
+      check: 0, // 默认选中第一个选项
+      companyName: '' // 接收上个页面传递的公司名称
     };
     };
   },
   },
   components: {
   components: {
     navBar,
     navBar,
   },
   },
+  onLoad(options) {
+    // 接收上个页面传递的公司名称参数
+    if (options.companyName) {
+      this.companyName = decodeURIComponent(options.companyName);
+      console.log('接收的公司名称:', this.companyName);
+    }
+  },
   methods: {
   methods: {
-    goBusinessLicense() {
-      uni.navigateTo({ url: "/pages/my/businessLicense" });
-    },
+    // 选择公司规模
     checkPeople(index) {
     checkPeople(index) {
       this.check = index;
       this.check = index;
     },
     },
-    goJobPosting(){
-        uni.navigateTo({
-            url:'/pages/my/jobPosting'
+
+    // 提交企业数据
+    submitCompany() {
+      // 表单验证
+      if (!this.companyName) {
+        uni.showToast({
+          title: '请先填写公司名称',
+          icon: 'none'
+        });
+        // 可跳回上一页重新填写
+        setTimeout(() => {
+          uni.navigateBack();
+        }, 1500);
+        return;
+      }
+
+      // 获取选中的公司规模
+      //const selectedPeople = this.peopleList[this.check];
+	   const selectedPeople = this.check
+      
+      // 显示加载中
+      uni.showLoading({
+        title: '提交中...'
+      });
+
+      // 准备提交的数据
+      const data = {
+        companyAllName: this.companyName,
+        companyPeople: selectedPeople, // 选中的公司规模
+        // 可根据接口需求添加其他字段
+      };
+
+      // 发送请求
+      this.$Request.postJson("/app/company/insertCompany", data)
+        .then((res) => {
+          uni.hideLoading();
+          
+          if (res.code === 0) {
+            uni.showToast({
+              title: '提交成功',
+              icon: 'success'
+            });
+            // 提交成功后跳转到职位发布页面
+            setTimeout(() => {
+              this.goJobPosting();
+            }, 1500);
+          } else {
+            uni.showToast({
+              title: res.msg || '提交失败,请重试',
+              icon: 'none'
+            });
+          }
         })
         })
+        .catch((err) => {
+          uni.hideLoading();
+          console.error('请求失败:', err);
+          uni.showToast({
+            title: '网络异常,请稍后重试',
+            icon: 'none'
+          });
+        });
     },
     },
+
+    // 跳转到职位发布页面
+    goJobPosting() {
+      uni.navigateTo({
+        url: '/pages/my/jobPosting?companyName='+this.companyName
+      });
+    }
   },
   },
 };
 };
 </script>
 </script>
+
 <style lang="scss" scoped>
 <style lang="scss" scoped>
+/* 原有样式保持不变 */
 .switch-roles {
 .switch-roles {
   background-color: #fff;
   background-color: #fff;
   position: absolute;
   position: absolute;
@@ -111,6 +183,7 @@ export default {
           text-align: center;
           text-align: center;
           padding: 12rpx 48rpx;
           padding: 12rpx 48rpx;
           box-sizing: border-box;
           box-sizing: border-box;
+          transition: all 0.3s ease;
         }
         }
         .is-check {
         .is-check {
           box-sizing: border-box;
           box-sizing: border-box;
@@ -138,6 +211,7 @@ export default {
     padding: 16rpx 32rpx;
     padding: 16rpx 32rpx;
     box-sizing: border-box;
     box-sizing: border-box;
     margin: 60rpx 20rpx;
     margin: 60rpx 20rpx;
+    cursor: pointer;
   }
   }
 }
 }
-</style>
+</style>