Parcourir la source

优化职位管理页面

wkw il y a 7 mois
Parent
commit
7033624f16
3 fichiers modifiés avec 89 ajouts et 101 suppressions
  1. 71 85
      my/order/pay.vue
  2. 10 10
      pages.json
  3. 8 6
      pages/my/jobPosting.vue

+ 71 - 85
my/order/pay.vue

@@ -1,21 +1,16 @@
 <template>
-	<view>
+	<view style="display: flex;flex-direction: column;height: 100vh;">
 		<!-- 固定顶部导航栏 -->
-		<view class="fixed-header">
-			<!-- 自定义导航栏 -->
-			<view class="custom-navbar">
-				<view class="navbar-content">
-					<view class="nav-left" @click="goBack">
-						<u-icon name="arrow-leftward" color="#333" size="32"></u-icon>
-					</view>
-					<view class="nav-title">职位详情</view>
-					<view class="nav-right"></view>
-				</view>
+		<view class="navbar-content" :style="{ paddingTop: (12 + statusBarHeight) + 'px' }">
+			<view class="nav-left" @click="goBack">
+				<u-icon name="arrow-leftward" color="#000" size="32"></u-icon>
 			</view>
+			<view class="nav-title">职位详情</view>
+			<view class="nav-right"></view>
 		</view>
 
 		<!-- 审核失败 -->
-		<view v-if="info.status === 3">
+		<view v-if="info.status === 3" style="display: flex;flex-direction: column;overflow: auto;flex: 1;">
 			<!-- 审核状态提示 -->
 			<view class="status-section">
 				<view class="status-icon">
@@ -45,18 +40,18 @@
 				<view class="section-title">失败原因</view>
 				<view class="reason-list">
 					<view class="reason-item">
-						<text class="reason-text">{{ info.auditContent }}</text>
+						<text class="reason-text">{{ info.auditContent || '暂无数据'}}</text>
 					</view>
 				</view>
 			</view>
 		</view>
 
 		<!-- 其他状态 -->
-		<view v-if="info.status !== 3">
+		<view v-if="info.status !== 3" style="display: flex;flex-direction: column;overflow: auto;flex: 1;">
 			<view class="remarks flex justify-center">
 				<view class="remarks-box flex justify-between align-center">
 					<text style="color: rgba(1, 107, 246, 1);font-weight: bold;">{{ info.status == 1 ? '待审核' :
-						(info.status == 2 ? '进行中' : (info.status == 3 ? '已拒绝' : (info.status == 4 ? '已取消' : '已关闭')))
+						(info.status == 2 ? '进行中' : (info.status == 3 ? '已拒绝' : (info.status == 4 ? '已取消' : info.status == 5 ? '已关闭':'暂存')))
 					}}</text>
 					<text style="color: rgba(156, 164, 171, 1);font-size: 24rpx;">{{ info.createTime }}</text>
 				</view>
@@ -249,46 +244,49 @@
 
 			</view>
 		</view>
+		
 		<!-- 底部操作 -->
-		<view class="btn flex justify-center" v-if="info.status == 1">
-			<view class="btn-box bgBox flex justify-center align-center" @click="cancelProject">
-				取消招聘
-			</view>
-		</view>
-		<view class="btn flex justify-center" v-if="info.status == 4 || info.isOverdue == 1"
-			@click="updataServeType(info.postPushId, 'save')">
-			<view class="btn-box bgBox flex justify-center align-center">
-				重新发布
-			</view>
-		</view>
-		<view class="btn flex justify-center" v-if="info.status == 3 && info.isOverdue == 0">
-			<view class="btn-box bgBox flex justify-center align-center"
-				@click="updataServeType(info.postPushId, 'update')"
-				style="background-color: #ffffff;border: 1px solid #016bf6;color: #016bf6;">
-				编辑
-			</view>
-		</view>
-		<view class="btn flex justify-center" v-if="info.status == 2 && info.isOverdue == 0">
-			<view class="btn-box flex justify-between">
-				<view class="btn-box bgBox btn-boxs flex justify-center align-center"
-					@click="updataServeType(info.postPushId, 'update')"
-					style="background-color: #ffffff;border: 1px solid #016bf6;color: #016bf6;">
-					编辑
+		<view>
+			<!-- <view class="btn flex justify-center" v-if="info.status == 1">
+				<view class="btn-box bgBox flex justify-center align-center" @click="cancelProject">
+					取消招聘
 				</view>
-				<view class="btn-box bgBox btn-boxs flex justify-center align-center" @click="closeOpenJob('close')">
-					关闭岗位
+			</view> -->
+			<view class="btn flex justify-center" v-if="info.status == 1 || info.status == 3 || info.status == 4 || info.status == 6"
+				@click="updataServeType(info.postPushId, 'save')">
+				<view class="btn-box bgBox flex justify-center align-center">
+					重新发布
 				</view>
 			</view>
-		</view>
-		<view class="btn flex justify-center" v-if="info.status == 5 && info.isOverdue == 0">
-			<view class="btn-box flex justify-between">
-				<view class="btn-box bgBox btn-boxs flex justify-center align-center"
+			<view class="btn flex justify-center" v-if="info.status == 1 || info.status == 3 || info.status == 6">
+				<view class="btn-box bgBox flex justify-center align-center"
 					@click="updataServeType(info.postPushId, 'update')"
 					style="background-color: #ffffff;border: 1px solid #016bf6;color: #016bf6;">
 					编辑
 				</view>
-				<view class="btn-box bgBox btn-boxs flex justify-center align-center" @click="closeOpenJob('open')">
-					开启岗位
+			</view>
+			<view class="btn flex justify-center" v-if="info.status == 2">
+				<view class="btn-box flex justify-between">
+					<!-- <view class="btn-box bgBox btn-boxs flex justify-center align-center"
+						@click="updataServeType(info.postPushId, 'update')"
+						style="background-color: #ffffff;border: 1px solid #016bf6;color: #016bf6;">
+						编辑
+					</view> -->
+					<view class="btn-box bgBox btn-boxs flex justify-center align-center" @click="closeOpenJob('close')">
+						关闭岗位
+					</view>
+				</view>
+			</view>
+			<view class="btn flex justify-center" v-if="info.status == 5">
+				<view class="btn-box flex justify-between">
+					<!-- <view class="btn-box bgBox btn-boxs flex justify-center align-center"
+						@click="updataServeType(info.postPushId, 'update')"
+						style="background-color: #ffffff;border: 1px solid #016bf6;color: #016bf6;">
+						编辑
+					</view> -->
+					<view class="btn-box bgBox btn-boxs flex justify-center align-center" @click="closeOpenJob('open')">
+						开启岗位
+					</view>
 				</view>
 			</view>
 		</view>
@@ -299,11 +297,15 @@
 export default {
 	data() {
 		return {
+			statusBarHeight: 0, // 状态栏高度
 			postPushId: '',
 			info: {}, //岗位详情
 		};
 	},
 	onLoad(option) {
+		// 获取状态栏高度
+		let systemInfo = uni.getSystemInfoSync();
+		this.statusBarHeight = systemInfo.statusBarHeight || 0;
 		this.postPushId = option.postPushId
 		this.getInfo()
 	},
@@ -439,7 +441,7 @@ export default {
 <style lang="scss">
 page {
 	// background-color: #F2F2F7;
-	padding-top: 160rpx;
+	// padding-top: 160rpx;
 }
 
 .warning-box {
@@ -469,45 +471,29 @@ page {
 	}
 }
 
-.fixed-header {
-	position: fixed;
-	top: 0;
-	left: 0;
-	right: 0;
-	z-index: 9999;
-	background-color: #ffffff;
-}
-
-.custom-navbar {
-	padding-top: 80rpx;
-	background-color: #ffffff;
+.navbar-content {
+	width: 100%;
+	padding: 24rpx 32rpx 20rpx 32rpx;
 	box-sizing: border-box;
+	color: #000;
+	font-family: DM Sans;
+	font-size: 30rpx;
+	font-weight: 700;
+	line-height: 26px;
+	display: flex;
+	// justify-content: center;
+	align-items: center;
+	position: relative;
+	z-index: 9999;
+	.nav-left,
+	.nav-right {
+		width: 32.61px;
+		height: 26px;
+	}
 
-	.navbar-content {
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		height: 88rpx;
-		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: 30rpx;
-			font-weight: 700;
-			line-height: 52px;
-			letter-spacing: 0.5%;
-			text-align: center;
-		}
+	.nav-title {
+		flex: 1;
+		text-align: center;
 	}
 }
 

+ 10 - 10
pages.json

@@ -4,16 +4,16 @@
 	},
 	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
 		{
-			"path": "pages/index/index",
-			"style": {
-				"navigationBarTitleText": "首页",
-				// "navigationBarBackgroundColor": "#E5EEFF",
-				"navigationBarBackgroundColor": "#00DD9A",
-				"navigationBarTextStyle": "white",
-				"enablePullDownRefresh": true,
-				"navigationStyle": "custom"
-			}
-		},
+		"path": "pages/index/index",
+		"style": {
+			"navigationBarTitleText": "首页",
+			// "navigationBarBackgroundColor": "#E5EEFF",
+			"navigationBarBackgroundColor": "#00DD9A",
+			"navigationBarTextStyle": "white",
+			"enablePullDownRefresh": false,
+			"navigationStyle": "custom"
+		}
+	},
 		{
 			"path": "pages/my/switchRoles",
 			"style": {

+ 8 - 6
pages/my/jobPosting.vue

@@ -109,11 +109,13 @@ export default {
 		this.descListener = uni.$on("jobDescUpdated", (data) => {
 			this.text = data.desc; // 赋值给当前页变量
 		});
-		this.jobListener = uni.$on('jobs', (data) => {
-			console.log('接收从B页传来的数据:', data);
-			// 手动更新 A 页的 data
-			this.jobInfo = data;
-		});
+		
+		this.onJobEvent = (data) => {
+		    console.log('接收从B页传来的数据:', data)
+		    this.jobInfo = data
+		}
+		uni.$on('jobs', this.onJobEvent)
+		
 		if (options.companyId) {
 			this.companyId = options.companyId;
 		} else {
@@ -139,7 +141,7 @@ export default {
 	},
 	onUnload() {
 		// 页面卸载时移除监听,避免内存泄漏
-		uni.$off('jobs', this.jobListener);
+		uni.$off('jobs', this.onJobEvent);
 	},
 	methods: {
 		goBusinessLicense() {