lsw преди 11 месеца
родител
ревизия
280bb5f91c

+ 8 - 1
app/pages.json

@@ -314,7 +314,7 @@
 			"path" : "pages/user/resume/application/task_detail",
 			"style" : 
 			{
-				"navigationBarTitleText" : "兼职内容"
+				"navigationBarTitleText" : "兼职详情"
 			}
 		},
 		{
@@ -323,6 +323,13 @@
 			{
 				"navigationBarTitleText" : "余额提现"
 			}
+		},
+		{
+			"path" : "pages/user/resume/application/task_list",
+			"style" : 
+			{
+				"navigationBarTitleText" : "任务进度"
+			}
 		}
 	],
 	"tabBar": {

+ 13 - 15
app/pages/user/resume/application/task.vue

@@ -1,5 +1,8 @@
 <template>
-	<view class="main">
+	<view class="main pt0">
+		<view class="tab">
+			<u-tabs :list="tab" @click="tabClick"></u-tabs>
+		</view>
 		<view class="item_job" v-for="(item, index) in list" :key="index" @click="go('/pages/user/resume/application/task_detail?id=' + item.positionId)">
 			<view class="top">
 				<view class="title omit">{{ item.title }}</view>
@@ -13,8 +16,7 @@
 				<view class="distance">{{ item.createTime }}</view>
 			</view>
 			<view class="flex">
-				<view class="f br agree" v-if="item.isAccept == 1">上传</view>
-				<view class="f br agree" v-if="item.isAccept == 1">已同意</view>
+				<view class="f br agree" v-if="item.isComplete == 0">进行中...</view>
 			</view>
 		</view>
 		<view class="loading" v-if="loadMore"><u-loadmore :status="loadMore ? 'loading' : 'nomore'" /></view>
@@ -25,6 +27,11 @@
 export default {
 	data() {
 		return {
+			tab: [
+				{ name: '全部', isComplete: '' },
+				{ name: '进行中', isComplete: 0 },
+				{ name: '已完成', isComplete: 1 }
+			],
 			list: [],
 			param: { pageNum: 1, pageSize: 10, state: 1, type: 1, isAccept: 1 },
 			loadMore: true
@@ -51,18 +58,9 @@ export default {
 		go(url) {
 			uni.navigateTo({ url: url });
 		},
-		navigation(item) {
-			wx.openLocation({
-				latitude: Number(item.latitude),
-				longitude: Number(item.longitude),
-				scale: 18, // 缩放比例
-				success: (res) => {
-					console.log('导航成功');
-				},
-				fail: (res) => {
-					console.error('导航失败', res);
-				}
-			});
+		tabClick(e) {
+			this.param.isComplete = e.isComplete;
+			this.refresh();
 		},
 		//刷新数据
 		refresh() {

+ 10 - 79
app/pages/user/resume/application/task_detail.vue

@@ -3,21 +3,13 @@
 		<view class="main">
 			<view class="title">{{ item.title || '' }}</view>
 			<view class="price">{{ item.salary }}¥</view>
-			<view class="desc" v-if="item.title">
-				<text>{{ item.positionName || '' }}</text>
-				<text>{{ item.type == 0 ? '全职' : '兼职' }}</text>
-				<view class="audit">
-					<text class="icon">&#xe64f;</text>
-					<text>已审核</text>
-				</view>
-			</view>
 		</view>
 		<view class="bos">
 			<view class="ms" style="margin-top: 0px">
-					<view class="mtitle">兼职时间</view>
-					<view class="desc" style="margin-bottom: 15px">{{ item.startDate }}至{{ item.endDate }},共计:{{ item.days }}天</view>
-					<view class="mtitle">结算方式</view>
-					<view class="desc" style="margin-bottom: 15px">在规定时间内完工结算</view>
+				<view class="mtitle">兼职时间</view>
+				<view class="desc" style="margin-bottom: 15px">{{ item.startDate }}至{{ item.endDate }},共计:{{ item.days }}天</view>
+				<view class="mtitle">结算方式</view>
+				<view class="desc" style="margin-bottom: 15px">在规定时间内完工结算</view>
 				<view class="mtitle">兼职描述</view>
 				<u-parse :content="item.contents" class="item"></u-parse>
 				<map :latitude="item.latitude" :longitude="item.longitude" :markers="covers" v-if="item.latitude"></map>
@@ -33,17 +25,13 @@
 		</view>
 		<view class="mfooter">
 			<view class="cn">
-				<button class="tob share" open-type="share">
-					<text class="icon">&#xe637;</text>
-					<view class="mtt">分享</view>
+				<button class="btn" @click="send()">
+					<text class="icon">&#xe652;</text>
+					<text>任务进度</text>
 				</button>
-				<view class="tob" @click="add()" :class="{ active: flag }">
-					<text class="icon">&#xe626;</text>
-					<view class="mtt">收藏</view>
-				</view>
 				<button class="btn" @click="send()">
 					<text class="icon">&#xe652;</text>
-					<text>{{ item.type == 0 ? '投递简历' : '立即报名' }}</text>
+					<text>确认完成</text>
 				</button>
 			</view>
 		</view>
@@ -154,17 +142,6 @@ export default {
 	font-weight: bold;
 	color: #ff5722;
 }
-.desc {
-	padding-top: 5px;
-	font-size: 14px;
-	text {
-		padding-right: 10px;
-	}
-	.audit {
-		float: right;
-		color: $main-color;
-	}
-}
 .bos {
 	background-color: white;
 	padding: 20px;
@@ -180,32 +157,6 @@ export default {
 			font-size: 14px;
 			padding-top: 7px;
 		}
-		.gs {
-			float: left;
-			width: 50px;
-			height: 50px;
-			border-radius: 50%;
-			background-color: #f1f1f1;
-			text-align: center;
-			font-size: 30px;
-			line-height: 47px;
-		}
-		.con {
-			float: left;
-			padding-left: 10px;
-			width: 70%;
-			.mti {
-				font-weight: bold;
-				padding-bottom: 5px;
-			}
-			.address {
-				font-size: 13px;
-			}
-		}
-		.more {
-			float: right;
-			margin-top: 14px;
-		}
 	}
 	map {
 		border-radius: 8px;
@@ -233,28 +184,8 @@ export default {
 	.cn {
 		padding: 10px 10px 15px 10px;
 		overflow: hidden;
-		.tob {
-			margin-right: 15px;
-			float: left;
-			color: $font-c;
-			&.active {
-				color: $main-color;
-			}
-			.icon {
-				font-size: 28px;
-			}
-			.mtt {
-				font-size: 14px;
-			}
-		}
-		.share {
-			background-color: white;
-			line-height: 22px;
-			padding-top: 3px;
-		}
-		.btn {
-			float: right;
-			margin-top: 5px;
+		.btn{
+			flex:1;
 		}
 	}
 }

+ 19 - 0
app/pages/user/resume/application/task_list.vue

@@ -0,0 +1,19 @@
+<template>
+	<view>
+		
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			};
+		}
+	}
+</script>
+
+<style lang="scss">
+
+</style>

+ 66 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/TaskListController.java

@@ -0,0 +1,66 @@
+package com.ruoyi.web.work.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.web.work.domain.TaskList;
+import com.ruoyi.web.work.service.ITaskListService;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 任务进度列
+ * @author lsw
+ * @date 2024-07-03
+ */
+@RestController
+@RequestMapping("/work/list")
+public class TaskListController extends BaseController {
+    @Autowired
+    private ITaskListService taskListService;
+
+    @PreAuthorize("@ss.hasPermi('work:list:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TaskList taskList){
+        startPage();
+        List<TaskList> list = taskListService.selectList(taskList);
+        return getDataTable(list);
+    }
+
+    @PreAuthorize("@ss.hasPermi('work:list:query')")
+    @GetMapping(value = "/detail/{id}")
+    public AjaxResult detail(@PathVariable("id") Long id){
+        return AjaxResult.success(taskListService.getById(id));
+    }
+
+    @PreAuthorize("@ss.hasPermi('work:list:add')")
+    @Log(title = "任务进度列", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody TaskList taskList){
+        return toAjax(taskListService.save(taskList));
+    }
+
+    @PreAuthorize("@ss.hasPermi('work:list:edit')")
+    @Log(title = "任务进度列", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody TaskList taskList){
+        return toAjax(taskListService.updateById(taskList));
+    }
+
+    @PreAuthorize("@ss.hasPermi('work:list:remove')")
+    @Log(title = "任务进度列", businessType = BusinessType.DELETE)
+    @GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids){
+        return toAjax(taskListService.removeByIds(Arrays.asList(ids)));
+    }
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/ResumeDeliver.java

@@ -9,6 +9,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
+import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -50,6 +51,21 @@ public class ResumeDeliver {
     @ApiModelProperty(value = "是否签订合同:0=未发送,1=已发送,2=已签订")
     private Integer isContract;
 
+    @ApiModelProperty(value = "是否完成:0=未完成,1=已完成")
+    private Integer isComplete;
+
+    @ApiModelProperty(value = "乙方给甲方评分")
+    private BigDecimal jScore;
+
+    @ApiModelProperty(value = "甲方给乙方评分")
+    private BigDecimal yScore;
+
+    @ApiModelProperty(value = "乙方给甲方评价")
+    private String jMsg;
+
+    @ApiModelProperty(value = "甲方给乙方评价")
+    private String yMsg;
+
     @ApiModelProperty(value = "面试时间")
     private String inviteTime;
 

+ 46 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/TaskList.java

@@ -0,0 +1,46 @@
+package com.ruoyi.web.work.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.experimental.Accessors;
+/**
+ * @author lsw
+ * @date 2024-07-03
+ */
+@Data
+@TableName(value = "tb_task_list")
+@Accessors(chain = true)
+public class TaskList{
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    @ApiModelProperty(value = "乙方id")
+    private Long userId;
+
+    @ApiModelProperty(value = "甲方id")
+    private Long enterpriseId;
+
+    @ApiModelProperty(value = "任务id")
+    private Long taskId;
+
+    @ApiModelProperty(value = "任务图片")
+    private String pic;
+
+    @ApiModelProperty(value = "是否查看:0=待查看,1=已查看")
+    private Integer isRead;
+
+    @ApiModelProperty(value = "任务内容")
+    private String contents;
+
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+
+}

+ 13 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/mapper/TaskListMapper.java

@@ -0,0 +1,13 @@
+package com.ruoyi.web.work.mapper;
+
+import java.util.List;
+import com.ruoyi.web.work.domain.TaskList;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @author lsw
+ * @date 2024-07-03
+ */
+public interface TaskListMapper extends BaseMapper<TaskList> {
+    List<TaskList> selectList(TaskList taskList);
+}

+ 13 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/ITaskListService.java

@@ -0,0 +1,13 @@
+package com.ruoyi.web.work.service;
+
+import java.util.List;
+import com.ruoyi.web.work.domain.TaskList;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @author lsw
+ * @date 2024-07-03
+ */
+public interface ITaskListService extends IService<TaskList>{
+    List<TaskList> selectList(TaskList taskList);
+}

+ 24 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/TaskListServiceImpl.java

@@ -0,0 +1,24 @@
+package com.ruoyi.web.work.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.web.work.mapper.TaskListMapper;
+import com.ruoyi.web.work.domain.TaskList;
+import com.ruoyi.web.work.service.ITaskListService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @author lsw
+ * @date 2024-07-03
+ */
+@Service
+public class TaskListServiceImpl extends ServiceImpl<TaskListMapper, TaskList> implements ITaskListService {
+    @Autowired
+    private TaskListMapper taskListMapper;
+
+    @Override
+    public List<TaskList> selectList(TaskList taskList) {
+        return taskListMapper.selectList(taskList);
+    }
+}

+ 1 - 0
ruoyi-admin/src/main/resources/mapper/work/ResumeDeliverMapper.xml

@@ -28,6 +28,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="isAccept != null "> and d.is_accept = #{isAccept}</if>
             <if test="isRead != null "> and d.is_read = #{isRead}</if>
             <if test="isContract != null "> and d.is_contract = #{isContract}</if>
+            <if test="isComplete != null "> and d.is_complete = #{isComplete}</if>
         </where>
         ORDER BY d.id DESC
     </select>

+ 19 - 0
ruoyi-admin/src/main/resources/mapper/work/TaskListMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.web.work.mapper.TaskListMapper">
+    
+    <select id="selectList" resultType="com.ruoyi.web.work.domain.TaskList">
+        select * from tb_task_list
+        <where>  
+            <if test="userId != null "> and user_id = #{userId}</if>
+            <if test="enterpriseId != null "> and enterprise_id = #{enterpriseId}</if>
+            <if test="taskId != null "> and task_id = #{taskId}</if>
+            <if test="pic != null  and pic != ''"> and pic = #{pic}</if>
+            <if test="isRead != null "> and is_read = #{isRead}</if>
+            <if test="contents != null  and contents != ''"> and contents = #{contents}</if>
+        </where>
+    </select>
+
+</mapper>