Files
jobslink-user-clent/pages/projectInfo/sub/inviteList.vue
18500206848 f273702c88 修改描述
2024-05-08 00:07:50 +08:00

188 lines
6.3 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view>
<view v-if="dataSource.length">
<u-collapse>
<u-collapse-item :title="`${item.realName} ${item.telephone}` " class="collapseItem" name="Docs guide"
v-for="(item, index) in dataSource" :key="item.id">
<text slot="value"
class="u-page__item__title__slot-title">{{item.isWorkInvite === 0 ? '未邀请': '已邀请'}}</text>
<view class="u-collapse-content">
<view class="content_line">期望薪资{{ item.wage }}</view>
<view class="content_line">&emsp;&emsp;{{ item.skillName }}</view>
<view class="content_line">&emsp;&emsp;{{ item.skillName }}</view>
<view class="content_line">工作地区{{ item.workplace }}</view>
<view class="btnGr" v-if="item.isWorkInvite === 0" @click="updataRow(item)">&emsp;&emsp;
</view>
<view class="btnHuy" v-else @click="removeRow(item)">&emsp;&emsp;</view>
</view>
</u-collapse-item>
</u-collapse>
<!-- <block v-for="(item, index) in dataSource" :key="item.id">
<view class="search-item">
{{item.realName}}
<view style="flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">
{{ item.telphone }}
</view>
<view class="baddd"></view>
</view>
</block> -->
</view>
<empty v-else content="暂无问卷" mrTop="300"></empty>
</view>
</template>
<script>
import {
getInviteUserList,
userrecruitUserInvite,
cancelUserInvite
} from '@/api/userrecruit.js'
export default {
data() {
return {
dataSource: [],
loadOption: {},
}
},
onLoad(option) {
this.loadOption = option
this.getList("refresh");
},
onReachBottom() {
this.getList();
},
onPullDownRefresh() {
this.getList("refresh");
},
methods: {
async updataRow(item) {
let params = {
workId: this.loadOption.id,
type: this.loadOption.jobType,
fromUid: this.loadOption.createUserId,
toUid: item.userId,
}
uni.showLoading({
title: '邀请中'
})
let resData = await userrecruitUserInvite(params)
uni.hideLoading()
if (resData.data.code === 200) {
this.$api.msg('邀请成功')
// this.getList()
console.log(this.dataSource.map((vItem) => {
if (item.userId === vItem.userId) {
return {
...item,
isWorkInvite: 1
}
}
return item
}))
this.dataSource = this.dataSource.map((vItem) => {
if (item.userId === vItem.userId) {
return {
...item,
isWorkInvite: 1
}
}
return item
})
}
},
async removeRow(item) {
let params = {
workInviteId: item.workInviteId
}
uni.showLoading({
title: '取消中'
})
let resData = await cancelUserInvite(params)
uni.hideLoading()
if (resData.data.code === 200) {
this.$api.msg('取消成功')
// this.getList()
this.dataSource = this.dataSource.map((vItem) => {
if (item.userId === vItem.userId) {
return {
...item,
isWorkInvite: 0
}
}
return item
})
}
},
async getList(type = 'add') {
if (type === "refresh") {
this.pageNumber = 1;
}
const {
jobType,
id
} = this.loadOption
let params = {
type: jobType,
workId: id
}
let resData = await getInviteUserList(params)
uni.stopPullDownRefresh()
if (resData.data.code === 200) {
this.dataSource = resData.data.data
}
}
}
}
</script>
<style scoped>
.content_line {
margin-top: 10rpx;
}
.btnGr {
background-color: green;
color: #FFFFFF;
font-size: 24rpx;
padding: 5rpx 10rpx;
border-radius: 5rpx;
text-align: center;
margin-top: 10rpx;
}
.btnHuy {
margin-top: 10rpx;
background-color: #e8e8e8;
color: #FFFFFF;
font-size: 24rpx;
padding: 5rpx 10rpx;
border-radius: 5rpx;
text-align: center;
}
.baddd {
background: #f6f6f6;
height: 20rpx;
}
.search-item {
display: flex;
align-items: center;
font-size: 26rpx;
border-bottom: 1rpx solid #ddd;
height: 80rpx;
line-height: 80rpx;
padding: 10rpx 30rpx;
}
.search-item .type {
font-size: 20rpx;
color: #707070;
background-color: #dddddd;
border-radius: 15rpx;
height: 30rpx;
line-height: 30rpx;
padding: 0 20rpx;
}
</style>