You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

187 lines
4.4 KiB
Vue

<template>
<div class="contract" >
<title-block title="待签署合同">
<!-- <template #left>
<div class="wrap3" style="display: flex;align-items: center">
<image src="../../static/zu567@3x.png"></image>
</div>
</template>-->
</title-block>
<div class="content2">
<div class="wrap1">合同名称</div>
<div class="wrap2">合同编号</div>
<div class="wrap3">签署日期</div>
</div>
<div class="content3" >
<scroll-view :style="{height:`${elementBottom}rpx`}" :scroll-y="true" @scrolltolower="loadMore">
<div class="wrap1" v-for="(item,index) in mainList" :key="index">
<div class="wrap1_1">{{item.contractTile}}</div>
<div class="wrap1_2">{{item.contractId.length>10?`${item.contractId.slice(0,10)}...`:item.contractId}}</div>
<div class="wrap1_3"><div class="wrap1_3_1">{{item.signDate}}</div></div>
</div>
</scroll-view>
</div>
<tabbar :current="2"></tabbar>
</div>
</template>
<script>
import tabbar from "../../components/uiq-tabbar/uiq-tabbar.vue";
import {postDataByParams} from "../../http/service";
export default {
name: "index",
components: {tabbar},
data(){
return{
page:1,
pageSize:999,
mainList:[],
elementBottom:''
}
},
mounted(){
this.getData()
this.getDistanceFromTopToPageBottom('.content3')
},
methods:{
async getDistanceFromTopToPageBottom(classValue) {
const { windowHeight, windowWidth } = await uni.getSystemInfo();
const [{ top }] = await new Promise(resolve => uni.createSelectorQuery().select(classValue).boundingClientRect().exec(resolve));
this.elementBottom = ((windowHeight - top) / windowWidth) * 750 - 175;
},
loadMore(){
},
async getData() {
const data = {
page: this.page, //分页
pageSize: this.pageSize, //每页数据量
}
const res = await postDataByParams('/api/warehouse/list', data)
if (res.code === 200) {
this.mainList = res.data.data
}else {
uni.showToast({
title: res.msg,
icon:'none'
})
}
},
}
}
</script>
<style scoped lang="scss">
.contract{
background-image: url("https://cdns.fontree.cn/fonchain-main/prod/image/default/artwork/4fdc9a0f-d72a-46b6-a04d-ed56d5465213.png");
box-sizing: border-box;
overflow: hidden;
padding-left: 30rpx;
padding-right: 30rpx;
background-size: cover;
width: 100vw;
height: 100vh;
.content3{
margin-top: 20rpx;
margin-bottom: 166rpx;
.wrap1{
margin-bottom: 20rpx;
border-radius: 20rpx;
height: 108rpx;
background: #fff;
display: flex;
align-items: center;
.wrap1_1{
flex: 1 1 0rpx;
font-size: 28rpx;
display: flex;
justify-content: center;
align-items: center;
flex-grow: 1;
}
.wrap1_2{
flex: 1 1 0rpx;
color: #808080;
font-size: 24rpx;
display: flex;
justify-content: center;
align-items: center;
flex-grow: 1;
}
.wrap1_3{
flex: 1 1 0rpx;
display: flex;
justify-content: center;
align-items: center;
.wrap1_3_1{
display: flex;
justify-content: center;
align-items: center;
width: 208rpx;
border-radius: 20rpx;
height: 56rpx;
background:#76C458 ;
color: #fff;
font-size: 24rpx;
}
}
}
}
.content2{
margin-top: 46rpx;
display: flex;
border-radius: 20rpx;
height: 70rpx;
background: #76C458;
.wrap1{
color: #fff;
font-size: 28rpx;
display: flex;
justify-content: center;
align-items: center;
flex: 1 1 0rpx;
}
.wrap2{
color: #fff;
font-size: 28rpx;
display: flex;
justify-content: center;
align-items: center;
flex: 1 1 0rpx;
}
.wrap3{
color: #fff;
font-size: 28rpx;
display: flex;
justify-content: center;
align-items: center;
flex: 1 1 0rpx;
}
}
.content1{
display: flex;
justify-content: space-between;
.wrap1{
width: 120rpx;
height: 20rpx;
}
.wrap2{
color: #4E964D;
font-size: 32rpx;
}
.wrap3{
image{
width: 132rpx;
height: 52rpx;
}
}
}
}
</style>