|
|
- <template>
- <scroll-view
- scroll-y="true"
- :style="{height: height}"
- @scrolltolower="loadMoreData">
- <view class="bossList">
- <view
- @click="$utils.navigateTo('/pages_order/work/userDetail?id=' + item.id)"
- :key="index"
- v-for="(item, index) in list">
- <userItem :item="keyName ? item[keyName] : item"
- :headImage="item.headImage"
- :sex="item.sex"
- />
- </view>
-
- <uv-empty mode="list" v-if="list.length == 0"></uv-empty>
- </view>
- </scroll-view>
- </template>
-
- <script>
- import userItem from './userItem.vue'
- export default {
- components : {
- userItem,
- },
- props : {
- height : {
- default : 'auto'
- },
- api : {
- default : 'bossQueryJobList'
- },
- handleData : {},
- keyName : {
- default : ''
- }
- },
- data() {
- return {
- queryParams: {
- pageNo: 1,
- pageSize: 10,
- },
- total : 0,
- list : [],
- }
- },
- methods: {
- getData(params, query){
- if(uni.getStorageSync('token')){
- this.queryParams.token = uni.getStorageSync('token')
- }
-
- let queryParams = {
- pageNo: this.queryParams.pageNo,
- pageSize: this.queryParams.pageSize,
- }
-
- if(params && params.length > 0){
- params.forEach(n => {
- queryParams[n.name] = n.value
- })
- }
-
- if(query){
- for(let key in query){
- queryParams[key] = query[key]
- }
- }
-
- this.$api(this.api, queryParams, res => {
- uni.stopPullDownRefresh()
- if(res.code == 200){
- this.list = res.result.records || res.result
- this.total = res.result.total || res.result.length
- this.handleData && this.handleData(this)
- }
- })
- },
- loadMoreData(){
- if(this.queryParams.pageSize <= this.list.length){
- this.queryParams.pageSize += 10
- this.getData()
- }
- },
- }
- }
- </script>
-
- <style scoped lang="scss">
- .bossList {
- &>view{
- margin: 20rpx;
- }
- }
- </style>
|