2022-07-28 vue 上滑加载更多

    <div class="content">

        <div class="inputSty">

            <div class="inputStyBox">

                <div class="inputStyBoxLeft">

                    <el-input :disabled="disabled" placeholder="搜索项目名称" prefix-icon="el-icon-search" v-model="keyValue" clearable>

                <div :class="[this.$route.query.type!=='commandName'?'inputStyBoxRight':'inputStyBoxRightActive']">

                    <div class="text">

                        <div class="textIcon">

                            公司名称 <i @click="handleCompanyName" class="el-icon-arrow-down">

                    <div class="text">

                        <div v-if="this.$route.query.type==='provinceName'" class="textIcon">

                            <span>省份

                            <i  @click="handleArea" class="el-icon-arrow-down">

                        <div v-if="this.$route.query.type==='commandType'" class="textIcons">

                            <span>承包模式

                            <i  @click="handleArea" class="el-icon-arrow-down">

                        <div v-if="this.$route.query.type==='businessUnit'" class="textIcons">

                            <span>业务板块

                            <i @click="handleArea" class="el-icon-arrow-down">

                        <div v-if="this.$route.query.type==='commandName'" class="textIcon">

        <div class="bg">

                    <div v-show="flag" class="bgTop bgW">

                        <div class="bgTextLeft">

                            项目数量:<span style="margin-left:8px;">{{ totalCount }}

                        <div class="bgTextRight">

                            <el-checkbox v-model="checked">只看项目

                    <!--滚动区域开始-->

                    <div v-show="flag" v-loading="loading" class="box bgW">

                        <div class="ListItem" id="scrollWrap">

                            <div class="boxCard">

                                <div class="boxCardLeft">

                                    <div style="color:#FFD100" class="boxCardBgYellow">

                                    <div style="color:#FFD100" class="boxCardLeftTop overselling">

                                        {{ statistics.all }}

                                    <div class="boxCardLeftBottom overselling">

                                        合同额汇总(亿元)

                                <div class="boxCardRight">

                                    <div class="boxCardBg">

                                    <div class="boxCardRightTop overselling">

                                        {{ statistics.tiredAmount }}

                                    <div class="boxCardRightBottom overselling">

                                        开累完成额汇总(亿元)

                            <div class="boxCard">

                                <div class="boxCardLeft">

                                    <div class="boxCardBg">

                                    <div class="boxCardLeftTop overselling">

                                        {{ statistics.yearAmount }}

                                    <div class="boxCardLeftBottom overselling">

                                        本年完成额汇总(亿元)

                                <div class="boxCardRight">

                                    <div class="boxCardBg">

                                    <div class="boxCardRightTop overselling">

                                        {{ statistics.monthAmount }}

                                    <div class="boxCardRightBottom overselling">

                                        本月完成额汇总(亿元)

                            <div style="margin-bottom:16px"  v-for="(item, index)in nodeList"

                                :key="index +'infos'" >

                                <div class="echItem personnel">

                                    <div class="bodyPeople">

                                        <div class="topText">

                                            <div class="topTextCharacter" :class="{'active':item.virtualProject}" >

                                                {{ item.name }}

                                            <div class="bottomTextandValue">

                                                <div class="bottomTextandValueLeft"><span>合同额

                                                <div class="bottomTextandValueRight"> {{ item.amount }}

                                        <div class="bodyDivision">

                                        <div class="people">

                                            <div class="itemNum">

                                                <div class="titleNum overselling">{{ item.tiredAmount }}

                                                <div class="number overselling">开累完成额(亿元)

                                            <p class="division">

                                            <div class="itemNum">

                                                <div class="titleNum overselling">{{ item.yearAmount }}

                                                <div class="number overselling">本年完成额(亿元)

                                            <p class="division">

                                            <div class="itemNum">

                                                <div class="titleNum overselling">{{ item.monthAmount }}

                                                <div class="number overselling">本月完成额(亿元)

                                <div class="dragBottom">

                                    <div v-if="$route.query.type==='provinceName'" class="dragBottomLeft overselling">

                                        <span>区域

                                        :{{ item.module }}

                                    <div v-if="$route.query.type==='provinceName'" class="dragBottomRight overselling">

                                        公司:{{ item.company }}

                                    <div v-if="$route.query.type==='commandType'" class="dragBottomLeft overselling">

                                        <span>承包模式

                                        :{{ item.module }}

                                    <div v-if="$route.query.type==='commandType'" class="dragBottomRight overselling">

                                        公司:{{ item.company }}

                                    <div v-if="$route.query.type==='businessUnit'" class="dragBottomLeft overselling">

                                        <span>业务板块

                                        :{{ item.module }}

                                    <div v-if="$route.query.type==='businessUnit'" class="dragBottomRight overselling">

                                        公司:{{ item.company }}

                                    <div v-if="$route.query.type==='commandName'" style="width:98%" class="dragBottomLeft overselling">

                                        <span>公司

                                        :{{ item.company }}

                <!--滚动区域结束-->

                    <div v-show="!flag" class="emptyBg">

                        <div class="emptyContent">

                            <div class="empty">

                            <div class="emptyText">

                                无搜索结果


            @selfMethod="selfMethod"

            ref="groupCheck"

            class="checkStyle"

            :userInfo="userInfo"

        />

            @selfMethodTree="selfMethodTree"

            ref="groupTree"

            class="checkStyle"

            :treeInfo="treeInfo"

        />

        <div v-if="showBtn&&flag" @click="handeBackTop" class="backTop">

import apifrom "table/api/crcckl/index";

import CheckComponentsfrom "table/views/custom/crcckl/components/CheckComponentsMobile";

import groupTreeMobilefrom "table/views/custom/crcckl/components/groupTreeMobile";

import commonMixinfrom "table/views/mixins";

import {debounce }from 'throttle-debounce'

import {Checkbox, CheckboxGroup}from 'element-ui'

export default {

name:"DrillDownDetails",

    mixins: [commonMixin],

    components:{

CheckComponents,

        groupTreeMobile,

        [Checkbox.name]: Checkbox,

        [CheckboxGroup.name]: CheckboxGroup

},

    data(){

return {

loadList:debounce(500, () => {

this.listLoad()

}),

            handleFilter:debounce(200, val => {

this.queryKeyword(val)

}),

            userInfo: {//右侧树开关

                isShow:false

            },

            treeInfo: {//左侧树开关

                isShow:false

            },

            disabled:false,

            keyValue:'',

            checked:true,

            loading:false, //loading加载

            currentPage:1, //当前页

            pageSize:20,  //每页条数

            totalCount:0,  //总数

            flag:true,

            code:'',      //树勾选code

            idPaths: [],    //组织信息

            statistics: {}, //汇总信息

            nodeList: [],  //列表信息

            showBtn:false, // 回到顶部,默认是false,就是隐藏起来

            timer:null      //计时器

        }

},

    watch: {

keyValue(value) {//搜索

            this.handleFilter(value)

},

        checked(value){// 勾选

            this.handleFilter(value)

}

},

    methods:{

/**

        * @Description: 滑动出现布尔值

        * @param {type}

        * @return {type}

        * @author: sun-l

*/

        handeleSliding(){

this.$nextTick(()=>{

let scrollWrap =document.getElementById('scrollWrap');

                let currentScrollTop = scrollWrap.scrollTop;

                if (currentScrollTop >250) {

this.showBtn =true;

                }else {

this.showBtn =false;

                }

})

},

        /**

        * @Description: 右侧分页切换信息

        * @param {type}

        * @return {type}

        * @author: sun-l

*/

        selfMethod(value){

this.disabled =false

            this.code = value

this.handleFilter()

this.handeleSliding()

},

        /**

        * @Description: 左侧公司勾选回调

        * @param {type}

        * @return {type}

        * @author: sun-l

*/

        selfMethodTree(value){

this.disabled =false

            this.idPaths = value

this.handleFilter()

this.handeleSliding()

},

        /**

        * @Description: 空数据处理

        * @param {type}

        * @return {type}

        * @author: sun-l

*/

        handlePublic() {

if (this.nodeList.length >0) {

this.flag =true

            }else {

this.flag =false

            }

},

        /**

        * @Description: 获取二级数据信息

        * @param {type}

        * @return {type}

        * @author: sun-l

*/

        init(){

const resolve = (res) => {

this.nodeList = res.data.recourds

this.statistics = res.data.statistics

                this.totalCount = res.data.totalCount

                this.handlePublic()

}

const reject = mes => { }

this.getinitdata({currentPage:1 }, resolve, reject)

this.$nextTick(() => {

if (document.getElementById('scrollWrap')) {

const selectWrap =document.getElementById('scrollWrap');

                    selectWrap.addEventListener('scroll', this.scrollLoadMore);

                }

});

        },

        /**

        * @Description: 获取二级数据滚动加载信息

        * @param {type}

        * @return {type}

        * @author: sun-l

*/

        scrollLoadMore() {

let scrollWrap =document.getElementById('scrollWrap');

            let currentScrollTop = scrollWrap.scrollTop;

            if (currentScrollTop >250) {

this.showBtn =true;

            }else {

this.showBtn =false;

            }

let currentOffsetHeight = scrollWrap.scrollHeight;

            let currentClientHeight = scrollWrap.clientHeight;

            if ((currentScrollTop + currentClientHeight >= currentOffsetHeight -100) && !this.loading) {

this.loadList()

}

},

        /**

        * @Description: 获取二级数据滚动加载信息

        * @param {type}

        * @return {type}

        * @author: sun-l

*/

        listLoad() {

if (this.nodeList.length

this.loading =true

                this.currentPage =this.currentPage +1

                const resolve = res => {

this.nodeList =this.nodeList.concat(res.data.recourds)

this.loading =false

                }

const reject = err => {

console.log(err)

}

this.getinitdata({currentPage:this.currentPage }, resolve, reject)

}

},

        /**

        * @Description: 获取二级数据搜索滚动加载信息

        * @param {type}

        * @return {type}

        * @author: sun-l

*/

        queryKeyword(val) {

this.loading =true

            const resolve = res => {

this.currentPage =1

                this.nodeList = res.data.recourds

this.statistics = res.data.statistics

                this.totalCount = res.data.totalCount

                this.handlePublic()

this.handeBackTop()

var then =this

                setTimeout(function () {

then.loading =false

                }, 500);

            }

const reject = err => {

console.log(err)

}

this.getinitdata({currentPage:1, key: val}, resolve, reject)

},

        /**

        * @Description: 获取二级数据列表信息

        * @param {type}

        * @return {type}

        * @author: sun-l

*/

        getinitdata(data, resolve, reject){

const querys = {

module:this.$route.query.type,

                name:this.keyValue,

                // virtual: this.checked ? 1 : 0,

                currentPage: data.currentPage ? data.currentPage :1,

                pageSize:this.pageSize

            }

if (this.checked){

querys.virtual =0

            }

if (this.idPaths.length){

querys.idPaths =this.idPaths

            }

if (this.code.length){

querys.code =this.code

            }

this.$post(api.getOrganizationFilterDataForMobile(this.rootId,this.companyId),querys).then((res) => {

resolve(res)

}).catch(rem => {

reject(rem)

})

},

        /**

        * @Description: 公司名称点击事件

        * @param {type}

        * @return {type}

        * @author: sun-l

*/

        handleCompanyName(){

this.disabled = !this.disabled

            this.userInfo.isShow =false

            this.treeInfo.isShow = !this.treeInfo.isShow

            this.$nextTick(()=>{

this.$refs.groupTree.keyValue =''

                this.$refs.groupTree.fetchOrgListForProduct()

this.$refs.groupTree.checkedArr =this.$refs.groupTree.ids

})

},

        /**

        * @Description: 区域点击事件

        * @param {type}

        * @return {type}

        * @author: sun-l

*/

        handleArea() {

this.disabled = !this.disabled

            this.treeInfo.isShow =false

            this.userInfo.isShow = !this.userInfo.isShow

            this.$nextTick(()=>{

this.$refs.groupCheck.keyValue =''

                this.$refs.groupCheck.initData()

})

},

        /**

        * @Description: 回到顶部

        * @param {type}

        * @return {type}

        * @author: sun-l

*/

        handeBackTop(){

clearInterval(this.timer);

            this.timer =setInterval(()=>{

let scrollWrap =document.getElementById('scrollWrap');

                let osTop = scrollWrap.scrollTop;

                let ispeed =Math.floor(-osTop /5);

                scrollWrap.scrollTop = osTop + ispeed;

                if(osTop ===0){

clearInterval(this.timer);

                }

},30)

}

},

    mounted() {

this.init()

},

    beforeDestroy() {

clearInterval(this.timer);

    }

}

<style scoped lang="less">

.content{

width:100%;

    height:100%;

    background:#001170;

    font-family:PingFangSC-Medium, PingFang SC;

    position:relative;

    .inputSty {

width:91.466%;

        margin:0 auto;

        height:30px;

        padding-top:10px;

        /deep/ .el-input {

//width: 54.518%;

        }

/deep/ .el-input__inner {

height:30px;

            background:#01014D;

            opacity:0.8;

            border-radius:15px;

            border:1px solid #0055FF;

        }

/deep/ .el-input__prefix {

top: -5px;

        }

/deep/ .el-input__suffix {

top: -5px;

        }

.inputStyBox{

overflow:hidden;

            .inputStyBoxLeft{

float:left;

                width:50.518%;

                display:flex;

                align-items:self-start;

                justify-content:left;

            }

.inputStyBoxRight{

display:flex;

                align-items:self-start;

                justify-content:right;

                float:right;

                overflow:hidden;

                .text{

float:left;

                    font-size:14px;

                    font-weight:400;

                    color:#FFFFFF;

                    .textIcon{

margin-left:8px;

                        padding-top:5px;

                    }

.textIcons{

margin-left:8px;

                        padding-top:5px;

                    }

}

}

}

}

.bg{

margin-top:10px;

        background:#0F0F4D;

        height:calc(~"100% - 55px");

        border-top-left-radius:24px;

        border-top-right-radius:24px;

        width:100%;

        .bgTop{

overflow:hidden;

            padding:18px 0 11px 0;

            .bgTextLeft,.bgTextRight{

font-size:12px;

                font-weight:400;

                color:#FFFFFF;

            }

.bgTextLeft{

float:left;

            }

.bgTextRight{

float:right;

                font-size:14px;

            }

}

.bgW{

width:91.466%;

            margin:0 auto;

        }

.box{

height:calc(~"100% - 55px");

            .ListItem{

height:100%;

                overflow:auto;

                .boxCard{

overflow:hidden;

                    margin-bottom:16px;

                    .boxCardLeft{

width:39%;

                        float:left;

                        background:linear-gradient(180deg, rgba(0,85,255,0)0%, rgba(0,85,255,0.4000)100%);

                        border-radius:10px;

                        border:1px solid rgba(0, 85, 255, 0.5);

                        padding:12px 14px;

                        text-align:center;

                        position:relative;

                        .boxCardLeftTop{

font-size:18px;

                            font-weight:500;

                            color:#FFFFFF;

                        }

.boxCardLeftBottom{

font-size:12px;

                            font-weight:500;

                            color:#FFFFFF;

                            padding-top:2px;

                        }

}

.boxCardRight{

position:relative;

                        width:39%;

                        float:right;

                        background:linear-gradient(180deg, rgba(0,85,255,0)0%, rgba(0,85,255,0.4000)100%);

                        border-radius:10px;

                        border:1px solid rgba(0, 85, 255, 0.5);

                        padding:12px 14px;

                        text-align:center;

                        .boxCardRightTop{

font-size:18px;

                            font-weight:500;

                            color:#FFFFFF;

                        }

.boxCardRightBottom{

font-size:12px;

                            font-weight:500;

                            color:#FFFFFF;

                            padding-top:2px;

                        }

}

}

}

.ListItem::-webkit-scrollbar{

display:none;

            }

}

}

}

/deep/ .el-checkbox__label{

color:#FFFFFF;

}

.echItem {

height:180px;

    background:rgba(0,85,255,0.2000);

    border-radius:10px;

    border:1px solid rgba(0,85,255,0.2000);

    display:flex;

    flex-direction:column;

    position:relative;

    .titleBack {

width:130px;

        height:130px;

        position:absolute;

        top:0;

        left:0;

    }

.title {

font-size:14px;

        font-weight:500;

        color:#ffffff;

        line-height:20px;

        padding:16px 0 0 16px;

        z-index:100;

    }

.ColumnarSty {

width:100%;

        flex:1;

    }

.content {

width:95%;

        flex:1;

        display:flex;

        position:relative;

        margin-left:2.5%;

        #projectDashboard_1,

        #projectDashboard_2 {

width:50%;

            height:100%;

        }

.left,

        .right {

width:25%;

            padding-top:80px;

            text-align:center;

            p {

font-size:16px;

                font-weight:500;

                color:#FFFFFF;

            }

div {

font-size:12px;

                font-weight:400;

                color:#FFFFFF;

            }

}

>img {

width:100%;

            position:absolute;

            left:0;

            bottom:10px;

        }

}

}

.personnel {

height:166px;

    .people {

display:flex;

        justify-content:space-between;

        align-items:center;

        margin:0 16px;

        .division {

width:1px;

            height:80%;

            background:#0055FF;

            opacity:0.5;

        }

.mainNum {

width:40%;

            display:flex;

            flex-direction:column;

            .titleName {

width:60px;

                height:18px;

                font-size:12px;

                font-family:PingFangSC-Regular, PingFang SC;

                font-weight:400;

                color:#ffffff;

                position:relative;

                p {

width:93%;

                    height:50%;

                    position:absolute;

                    left:0;

                    top:27%;

                    background:linear-gradient(

90deg,

                        rgba(255, 209, 0, 0)0%,

                        rgba(255, 209, 0, 0.8)100%

);

                }

.backP {

background:linear-gradient(

90deg,

                        rgba(0, 255, 236, 0)0%,

                        rgba(0, 255, 236, 0.8)100%

);

                }

}

.number {

font-size:22px;

                font-weight:500;

                color:#ffd100;

            }

}

.itemNum {

width:30%;

            .titleNum {

font-size:14px;

                font-weight:500;

                color:#FFFFFF;

                text-align:center;

            }

.number {

padding-top:2px;

                font-size:12px;

                font-weight:400;

                color:#ffffff;

                text-align:center;

            }

}

}

}

.bodyPeople {

flex:1;

    display:flex;

    flex-direction:column;

    justify-content:space-evenly;

    .bodyDivision {

height:1px;

        background:#0055FF;

        opacity:0.5;

        margin:0 16px;

    }

}

.topText{

margin:0 16px;

    .topTextCharacter{

font-size:16px;

        font-weight:500;

        color:#FFFFFF;

    }

.bottomTextandValue{

margin-top:13px;

        overflow:hidden;

        .bottomTextandValueLeft{

float:left;

            position:relative;

            font-size:12px;

            font-weight:400;

            color:#FFFFFF;

            width:36px;

            height:26px;

            line-height:24px;

            p {

width:75%;

                height:50%;

                position:absolute;

                left:17px;

                top:22%;

                background:linear-gradient(

90deg,

                    rgba(255, 209, 0, 0)0%,

                    rgba(255, 209, 0, 0.8)100%

);

            }

}

.bottomTextandValueRight{

float:left;

            font-size:18px;

            font-weight:500;

            color:#FFD100;

            margin-left:16px;

        }

}

}

.dragBottom{

font-size:12px;

    font-weight:400;

    color:#FFFFFF;

    width:82.933%;

    margin:0 auto;

    background:linear-gradient(180deg, rgba(255,255,255,0)0%, rgba(255,255,255,0.3000)100%);

    border-radius:0px 0px 10px 10px;

    overflow:hidden;

    padding:7px 0 7px 16px;

    .dragBottomLeft{

width:49%;

        float:left;

    }

.dragBottomRight{

width:49%;

        float:right;

    }

}

.checkStyle{

position:absolute;

    top:46px;

}

.overselling{

overflow:hidden;

    text-overflow:ellipsis;

    white-space:nowrap;

}

/deep/.el-loading-mask{

background:#01014D;

    opacity:0.5;

}

.emptyBg{

position:relative;

}

.emptyContent{

position:absolute;

    top:130px;

    margin-left:23.333%;

}

.empty{

width:200px;

    height:122px;

    display:block;

    background:url("../../../../../../assets/img/empty.png");

    background-repeat:no-repeat;

    background-position:center;

    background-size:cover;

}

.emptyText{

font-size:14px;

    font-weight:400;

    color:#FFFFFF;

    text-align:center;

    opacity:0.7;

}

.backTop{

position:fixed;

    bottom:16px;

    right:16px;

    width:34px;

    height:34px;

    background:url("../../../../../../assets/img/backTop.png");

    display:block;

    background-repeat:no-repeat;

    background-position:center;

    background-size:cover;

    z-index:9;

}

.boxCardBg{

width:2px;

    height:14px;

    background:url("../../../../../../assets/img/decorate.png");

    display:block;

    background-repeat:no-repeat;

    background-position:center;

    background-size:cover;

    position:absolute;

    top:16px;

    left:0;

}

.boxCardBgYellow{

width:2px;

    height:14px;

    background:url("../../../../../../assets/img/decorateYellow.png");

    display:block;

    background-repeat:no-repeat;

    background-position:center;

    background-size:cover;

    position:absolute;

    top:16px;

    left:0;

}

.active{

color:#5B5B5B!important;

}

.inputStyBoxRightActive{

.text{

float:left;

        font-size:14px;

        font-weight:400;

        color:#FFFFFF;

        .textIcon{

margin-left:16px;

            padding-top:5px;

        }

}

}

///deep/.el-loading-spinner .path{

//    stroke: #c8291c;

// }

<style lang="less">

.table-container{

padding:0 0;

}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,928评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,192评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,468评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,186评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,295评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,374评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,403评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,186评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,610评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,906评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,075评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,755评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,393评论 3 320
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,079评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,313评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,934评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,963评论 2 351

推荐阅读更多精彩内容