lsw 10 maanden geleden
bovenliggende
commit
7a6323fb13

+ 11 - 1
admin-ui/src/views/login.vue

@@ -18,7 +18,8 @@
 					<div class="login-code"><img :src="codeUrl" @click="getCode" class="login-code-img" /></div>
 					<div class="login-code"><img :src="codeUrl" @click="getCode" class="login-code-img" /></div>
 				</el-form-item>
 				</el-form-item>
 				<el-checkbox v-model="loginForm.rememberMe" style="margin: 0px 0px 25px 0px">记住密码</el-checkbox>
 				<el-checkbox v-model="loginForm.rememberMe" style="margin: 0px 0px 25px 0px">记住密码</el-checkbox>
-			</el-form>
+			  <span class="forget" @click="forget()">忘记密码</span>
+      </el-form>
 			<el-button type="primary" class="login-form-btn" @click.native.prevent="handleLogin">登 录</el-button>
 			<el-button type="primary" class="login-form-btn" @click.native.prevent="handleLogin">登 录</el-button>
 		</div>
 		</div>
 		<div class="footer"></div>
 		<div class="footer"></div>
@@ -88,6 +89,9 @@ export default {
 				rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
 				rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
 			};
 			};
 		},
 		},
+    forget(){
+
+    },
 		handleLogin() {
 		handleLogin() {
 			this.$refs.loginForm.validate(valid => {
 			this.$refs.loginForm.validate(valid => {
 				if (valid) {
 				if (valid) {
@@ -199,6 +203,12 @@ export default {
 		border-radius: 4px;
 		border-radius: 4px;
 		color: #fff;
 		color: #fff;
 	}
 	}
+  .forget{
+    float: right;
+    font-size: 14px;
+    color: #1c79f4;
+    cursor: pointer;
+  }
 }
 }
 .footer {
 .footer {
 	position: fixed;
 	position: fixed;

+ 1 - 1
admin-ui/src/views/work/company/edit.vue

@@ -64,7 +64,7 @@
           <ImageUpload v-model="form.b1" :isShowTip="false" :limit="1" :read="param.detail"></ImageUpload>
           <ImageUpload v-model="form.b1" :isShowTip="false" :limit="1" :read="param.detail"></ImageUpload>
         </el-form-item>
         </el-form-item>
       </div>
       </div>
-      <div class="bos" v-if="!form.id">
+      <div class="bos">
         <div class="lab">
         <div class="lab">
           <div class="bsg"></div>
           <div class="bsg"></div>
           <div class="tit">
           <div class="tit">

+ 3 - 3
admin-ui/src/views/work/company/index.vue

@@ -104,14 +104,14 @@
       },
       },
       op(tag, row) {
       op(tag, row) {
         if (tag == 'add') {
         if (tag == 'add') {
-          this.iframe({ obj: edit, param: {}, title: '新增企业', width: '60%', height: '80%' });
+          this.iframe({ obj: edit, param: {}, title: '新增企业', width: '53%', height: '85%' });
         }
         }
         const id = row.id;
         const id = row.id;
         if (tag == 'detail') {
         if (tag == 'detail') {
-          this.iframe({ obj: edit, param: { id: id, detail: true }, title: '查看企业信息', width: '60%', height: '70%' });
+          this.iframe({ obj: edit, param: { id: id, detail: true }, title: '查看企业信息', width: '55%', height: '85%' });
         }
         }
         if (tag == 'edit') {
         if (tag == 'edit') {
-          this.iframe({ obj: edit, param: { id: id }, title: '编辑企业', width: '60%', height: '70%' });
+          this.iframe({ obj: edit, param: { id: id }, title: '编辑企业', width: '53%', height: '85%' });
         }
         }
         //账号状态
         //账号状态
         if (tag == 'change') {
         if (tag == 'change') {

+ 10 - 1
app/common/common.scss

@@ -54,7 +54,7 @@
 	margin-top: 15px;
 	margin-top: 15px;
 }
 }
 .form_group {
 .form_group {
-	padding: 9px 10px 9px 10px;
+	padding: 9px 0px 9px 0px;
 	overflow: hidden;
 	overflow: hidden;
 	position: relative;
 	position: relative;
 	&.form_group:last-child {
 	&.form_group:last-child {
@@ -414,6 +414,15 @@
 		}
 		}
 	}
 	}
 }
 }
+._success {
+	color: #67c23a !important;
+}
+._info {
+	color: #909399 !important;
+}
+._error {
+	color: #f56c6c !important;
+}
 .message {
 .message {
 	padding: 15px;
 	padding: 15px;
 	border-radius: 5px;
 	border-radius: 5px;

+ 8 - 5
app/components/card/card.vue

@@ -35,19 +35,22 @@ export default {
 	},
 	},
 	methods: {
 	methods: {
 		chooseImage() {
 		chooseImage() {
+			if (this.read) {
+				return;
+			}
 			//照片选择
 			//照片选择
 			uni.chooseImage({
 			uni.chooseImage({
 				count: 1, //默认9
 				count: 1, //默认9
 				sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
 				sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
-				success: res => {
-					res.tempFilePaths.forEach(path => {
+				success: (res) => {
+					res.tempFilePaths.forEach((path) => {
 						uni.showLoading({ title: '正在上传图片', mask: true });
 						uni.showLoading({ title: '正在上传图片', mask: true });
 						uni.uploadFile({
 						uni.uploadFile({
 							url: this.http.ip + '/app/common/upload',
 							url: this.http.ip + '/app/common/upload',
 							filePath: path,
 							filePath: path,
 							name: 'file',
 							name: 'file',
 							header: { Authorization: this.getUser().token },
 							header: { Authorization: this.getUser().token },
-							success: res => {
+							success: (res) => {
 								let data = JSON.parse(res.data);
 								let data = JSON.parse(res.data);
 								if (data.code == 200) {
 								if (data.code == 200) {
 									this.fileName = data.fileName;
 									this.fileName = data.fileName;
@@ -57,7 +60,7 @@ export default {
 								}
 								}
 								uni.hideLoading();
 								uni.hideLoading();
 							},
 							},
-							fail: res => {
+							fail: (res) => {
 								uni.hideLoading();
 								uni.hideLoading();
 								uni.showModal({ content: '图片上传失败', showCancel: false });
 								uni.showModal({ content: '图片上传失败', showCancel: false });
 							}
 							}
@@ -71,7 +74,7 @@ export default {
 			uni.previewImage({
 			uni.previewImage({
 				urls: [this.ip + item],
 				urls: [this.ip + item],
 				current: this.ip + item,
 				current: this.ip + item,
-				success: res => {}
+				success: (res) => {}
 			});
 			});
 		},
 		},
 		del(item) {
 		del(item) {

+ 7 - 0
app/pages.json

@@ -149,6 +149,13 @@
 			{
 			{
 				"navigationBarTitleText" : "企业认证"
 				"navigationBarTitleText" : "企业认证"
 			}
 			}
+		},
+		{
+			"path" : "pages/job/position/manage/list",
+			"style" : 
+			{
+				"navigationBarTitleText" : "职位管理"
+			}
 		}
 		}
 	],
 	],
 	"tabBar": {
 	"tabBar": {

+ 131 - 0
app/pages/job/position/manage/list.vue

@@ -0,0 +1,131 @@
+<template>
+	<view>
+		<view class="tab">
+			<u-tabs :list="tab" :current="current" @click="click"></u-tabs>
+		</view>
+		<view class="cmain">
+			<view class="position">
+				<view class="item" v-for="(item, index) in list" :key="index" @click="detail(item)">
+					<view class="top">
+						<view class="title omit">{{ item.title }}</view>
+						<view class="op" v-if="item.status != 0 && item.state == 0" style="color: #ccc">
+							<text class="icon">&#xe622;</text>
+							<text>审核中</text>
+						</view>
+						<view class="op" v-if="item.status != 0 && item.state == 1" style="color: #07cb4c">
+							<text class="icon">&#xe622;</text>
+							<text>开放中</text>
+						</view>
+						<view class="op" v-if="item.status != 0 && item.state == 2" style="color: #ccc">
+							<text class="icon">&#xe622;</text>
+							<text>审核不通过</text>
+						</view>
+						<view class="op" v-if="item.status == 0 || item.state == 3" style="color: #ccc">
+							<text class="icon">&#xe622;</text>
+							<text>已关闭</text>
+						</view>
+						<view class="clear"></view>
+					</view>
+					<view class="con">
+						<view class="desc">
+							<text class="tag">{{ item.experience == '不限' ? '经验不限' : item.experience }}</text>
+							<text class="tag">{{ item.education == '不限' ? '学历不限' : item.education }}</text>
+							<text class="tag">{{ item.salary }}</text>
+							<view class="clear"></view>
+						</view>
+						<view class="clear"></view>
+					</view>
+				</view>
+				<view class="loading" v-if="loadMore"><u-loadmore :status="loadMore ? 'loading' : 'nomore'" /></view>
+				<u-empty v-if="!loadMore && list.length == 0"></u-empty>
+			</view>
+		</view>
+		<se v-model="show" :list="tab" @confirm="confirm"></se>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			user: this.getUser(),
+			show: false,
+			name: '全职',
+			tab: [{ name: '全职' }, { name: '兼职' }],
+			list: [],
+			param: { pageNum: 1, pageSize: 10, types: '全职', orderByColumn: 'createTime', isAsc: 'desc' },
+			loadMore: true
+		};
+	},
+	onLoad(e) {
+		this.http.request({
+			url: '/app/position/updateIsRead',
+			success: (res) => {}
+		});
+
+		if (this.user.types == 0) {
+			this.tab = ['兼职', '任务'];
+			this.param.types = '兼职';
+		}
+		this.getData();
+		uni.$on('position', (res) => {
+			this.refresh();
+		});
+	},
+	methods: {
+		//去发布
+		confirm(e) {
+			uni.navigateTo({
+				url: '/pages/position/push?types=' + e
+			});
+		},
+		select(item) {
+			this.param.types = item;
+			this.refresh();
+		},
+		detail(item) {
+			uni.navigateTo({
+				url: '/pages/position/push?id=' + item.id
+			});
+		},
+		getData() {
+			this.http.request({
+				url: '/app/position/user/push/list',
+				data: this.param,
+				loading: 'false',
+				success: (res) => {
+					this.loadMore = res.data.pages > this.param.pageNum ? true : false;
+					res.data.rows.forEach((item) => {
+						item.createTime = uni.$u.timeFrom(Date.parse(item.createTime));
+						this.list.push(item);
+					});
+				}
+			});
+		},
+		//刷新数据
+		refresh() {
+			this.loadMore = true;
+			this.param.pageNum = 1;
+			this.list = [];
+			this.getData();
+		}
+	},
+	//下拉刷新
+	onPullDownRefresh() {
+		setTimeout(() => {
+			this.refresh();
+			uni.stopPullDownRefresh();
+		}, 1000);
+	},
+	//上拉加载
+	onReachBottom() {
+		if (this.loadMore) {
+			this.param.pageNum++;
+			this.getData();
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+</style>

+ 10 - 4
app/pages/user/enterprise/index.vue

@@ -1,8 +1,14 @@
 <template>
 <template>
 	<view class="main">
 	<view class="main">
-		<view class="message" v-if="item.state == 0 && item.updateTime">后台审核信息中...</view>
-		<view class="message" v-if="item.state == 1">审核信息通过</view>
-		<view class="message" v-if="item.state == 2">
+		<view class="message _info" v-if="item.state == 0 && item.updateTime">
+			<text class="icon">&#xe642;</text>
+			<text>后台审核信息中...</text>
+		</view>
+		<view class="message _success" v-if="item.state == 1">
+			<text class="icon">&#xe612;</text>
+			<text>审核信息通过</text>
+		</view>
+		<view class="message _error" v-if="item.state == 2">
 			<view>信息审核失败:</view>
 			<view>信息审核失败:</view>
 			<view class="msg">{{ item.msg }}</view>
 			<view class="msg">{{ item.msg }}</view>
 		</view>
 		</view>
@@ -40,7 +46,7 @@
 			</view>
 			</view>
 			<view class="form_group" style="border: 0px">
 			<view class="form_group" style="border: 0px">
 				<view class="lable re">营业执照</view>
 				<view class="lable re">营业执照</view>
-				<card v-model="item.p1"></card>
+				<card v-model="item.p1" :read="item.state == 1"></card>
 			</view>
 			</view>
 		</view>
 		</view>
 		<button class="btn" @click="save()" v-if="item.state != 1">{{ item.id ? '编辑' : '提交' }}</button>
 		<button class="btn" @click="save()" v-if="item.state != 1">{{ item.id ? '编辑' : '提交' }}</button>

+ 1 - 1
app/pages/user/index.vue

@@ -77,7 +77,7 @@
 		<view v-if="user.type == 1">
 		<view v-if="user.type == 1">
 			<view class="mtt">企业服务</view>
 			<view class="mtt">企业服务</view>
 			<view class="menu">
 			<view class="menu">
-				<view class="cd">
+				<view class="cd" @click="go('/pages/job/position/manage/list')">
 					<view class="out">
 					<view class="out">
 						<view class="int">
 						<view class="int">
 							<view class="icon" style="background-color: #03a9f4">&#xe627;</view>
 							<view class="icon" style="background-color: #03a9f4">&#xe627;</view>

+ 23 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/dto/ForgetDto.java

@@ -0,0 +1,23 @@
+package com.ruoyi.web.work.domain.dto;
+
+import com.ruoyi.common.core.validate.Regexp;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Pattern;
+
+@Data
+@Accessors(chain = true)
+public class ForgetDto {
+
+    @NotBlank(message = "手机号不能为空")
+    @Pattern(regexp = Regexp.PHONE, message = "手机号不合法")
+    private String phonenumber;
+
+    @NotBlank(message = "验证码不能为空")
+    private String code;
+
+    @NotBlank(message = "密码不能为空")
+    private String password;
+}