<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>