123 lines
2.7 KiB
Vue

<template>
<view class="fullHeight">
<headers :showBack="true" :themeType="'white'" class="fixedHeaderBox">
<view class="headerName">
查队伍
</view>
</headers>
<view class="searchBox" :style="{ 'padding-top': (statusBarHeight+52) * 1.5 + 'rpx' }">
<input type="text" v-model="departmentTeamName" confirm-type="search" class="input" placeholder-style="color:rgba(72, 141, 236, 0.5)" placeholder="按班组/部门名称查找" @confirm="list=[];loadData()" />
</view>
<view class="listBox" :style="{ 'padding-top': (statusBarHeight+52+40) * 1.5 + 'rpx' }">
<view class="listItem" v-for="item in list" :key="item.id" @click="goAdd(item)">
<view class="title">
{{item.name}}-{{item.enterpriseName}}
</view>
<view class="bottom">
<image src="/static/icon-person.png" class="icon-person"></image>
<text class="time">{{item.personNum}}</text>
</view>
<image src="/static/icon-right.png" class="icon-right"></image>
</view>
<view class="placeholderBox" v-show="list.length==0">
<image src="/static/noData.png" class="noDataImg"></image>
<view class="text">
暂无数据
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
projectDetail:{},
list:[],
statusBarHeight:0,
departmentTeamName:''
};
},
mounted() {
this.statusBarHeight=uni.getStorageSync('systemInfo').statusBarHeight
this.projectDetail=JSON.parse(uni.getStorageSync('projectDetail'))
this.loadData()
},
methods:{
loadData(){
var that = this
this.sendRequest({
url: 'xmgl/departmentInfo/getDepartmentAndTeamList',
data: {departmentTeamName:this.departmentTeamName,projectSn:this.projectDetail.projectSn},
method: "GET",
success(res){
that.list=res.result
}
})
},
goAdd(obj){
uni.navigateTo({
url:'./personList?obj='+ JSON.stringify(obj)
})
}
}
}
</script>
<style lang="scss" scoped>
.searchBox{
background-color: #2b8df3;
padding: 0 30rpx 10rpx;
position: fixed;
left: 0;
// width: calc(100% - 60rpx);
width: 100%;
top: 0;
z-index: 1;
.input{
border-radius: 36rpx;
height: 70rpx;
text-align: center;
background-color: white;
}
}
.listBox{
margin: 30rpx;
}
.listItem{
box-shadow: 0px 4px 26rpx 0px rgba(212, 220, 236, 0.53);
position: relative;
margin-bottom: 10rpx;
padding: 30rpx;
border-radius: 16rpx;
.title{
font-size: 30rpx;
font-weight: bold;
margin-bottom: 20rpx;
}
.bottom{
color: rgba(55, 45, 102, 0.5);
font-size: 24rpx;
display: flex;
align-items: center;
}
.time{
margin-left: 6px;
}
}
.icon-right{
position: absolute;
width: 16rpx;
height: 28rpx;
right: 30rpx;
top: calc(50% - 7px);
}
.icon-person{
width: 28rpx;
height: 28rpx;
}
</style>