flying-monkey/pages/project/projectList.vue

443 lines
16 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view class="content" :style="{paddingTop: statusHeight + 'px'}">
<statusNav navBarTitle="项目列表" :ifReturn="false"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: -100rpx -30rpx -0rpx;">
<view class="project-list-input">
<input type="text" class="int" value="" placeholder="请输入关键字" />
<view class="xian"></view>
<image class="search" src="../../static/iocn/ss.png" mode="aspectFill" lazy-load>
</image>
</view>
<view class="screen bbot mar-sx20">
<picker @change="bindPickerChange" :value="index" :range="array" :range-key="'title'">
<view class="li">
<view v-if="initial_value!=''" class="text">{{initial_value}}</view>
<view v-else class="text">{{array[index].title}}</view>
<image class="img" src="../../static/iocn/xla.png" mode="aspectFill" lazy-load></image>
</view>
</picker>
<picker mode="date" :value="date" @change="bindDateChange">
<view class="li">
<view class="text">竣工日期</view>
<image class="img" src="../../static/iocn/xla.png" mode="aspectFill" lazy-load>
</image>
</view>
</picker>
<view class="li">
<view class="text">筛选</view>
<image class="imgA" src="../../static/iocn/sx.png" mode="aspectFill" lazy-load>
</image>
</view>
</view>
<view class="project-list">
<view class="li" @click="projectDetailsFun()" v-for="(item,index) in dataList.data" :key="index">
<view class="message">
<image class="img" src="../../static/del/img001.png" mode="aspectFill" lazy-load></image>
<view class="text disjb fc" style="height: 180rpx;">
<view class="clips1 fon24 bold">{{item.title}}</view>
<view class="disjb fc" style="margin-left: -20rpx;height: 80%;">
<view class="serial-number scal09">项目编号:{{item.projectCode}}</view>
<view class="specification scal09">规格型号:{{item.model}}</view>
<view class="specification scal09">产品尺寸:{{item.size}}</view>
<view class="installation-site scal09">安装位置:{{item.installationSite}}
</view>
</view>
</view>
</view>
<view class="project-list-address col6 mar-s20 disjbac">
<view class="address">
<image class="img flexs" src="../../static/iocn/im.png" mode="scaleToFill" lazy-load>
</image>
<view class="text scal09" style="margin-left: -26rpx;">{{item.address}}
</view>
</view>
<view class="date scal09">{{item.date}}</view>
</view>
<view v-if="item.state==1" class="icon iconBera">质保中</view>
<view v-else class="icon iconBer">质保到期</view>
</view>
</view>
</view>
</container-subgroup-two>
</container-subgroup-two>
<footTabOne :current="1"></footTabOne>
</view>
</template>
<script>
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
export default {
components: {
footTabOne,
statusNav,
containerSubgroupTwo
},
data() {
const currentDate = this.getDate({
format: true
})
return {
statusBarHeight: uni.getSystemInfoSync().statusBarHeight + 40,
inputData: "",
date: currentDate,
initial_value:'产品类型',
array: [{
title: "质保中",
key: 0,
}, {
title: "质保到期",
key: 1
}, ],
index: 0,
statusHeight: uni.getSystemInfoSync().statusBarHeight + 40,
dataList: {
list_rows: 10,
page: 1,
data: [{
title: "湖南工业大学化工学院会议室P2.5全彩LED显示屏",
projectCode: "20220108-1001",
model: "DS-CK25FI/H",
installationSite: "xxx综合楼2楼会议室",
address: "湖南省长沙市高新开发区谷园路109号像素大厦1205",
date: "2022/01/08",
size: "3.94*2.02",
state: 0
},
{
title: "湖南工业大学化工学院会议室P2.5全彩LED显示屏",
projectCode: "20220108-1001",
model: "DS-CK25FI/H",
installationSite: "xxx综合楼2楼会议室",
address: "湖南省长沙市高新开发区谷园路109号像素大厦1205",
date: "2022/01/08",
size: "3.94*2.02",
state: 1
}, {
title: "湖南工业大学化工学院会议室P2.5全彩LED显示屏",
projectCode: "20220108-1001",
model: "DS-CK25FI/H",
installationSite: "xxx综合楼2楼会议室",
address: "湖南省长沙市高新开发区谷园路109号像素大厦1205",
date: "2022/01/08",
size: "3.94*2.02",
state: 1
}, {
title: "湖南工业大学化工学院会议室P2.5全彩LED显示屏",
projectCode: "20220108-1001",
model: "DS-CK25FI/H",
installationSite: "xxx综合楼2楼会议室",
address: "湖南省长沙市高新开发区谷园路109号像素大厦1205",
date: "2022/01/08",
size: "3.94*2.02",
state: 1
}, {
title: "湖南工业大学化工学院会议室P2.5全彩LED显示屏",
projectCode: "20220108-1001",
model: "DS-CK25FI/H",
installationSite: "xxx综合楼2楼会议室",
address: "湖南省长沙市高新开发区谷园路109号像素大厦1205",
date: "2022/01/08",
size: "3.94*2.02",
state: 0
}, {
title: "湖南工业大学化工学院会议室P2.5全彩LED显示屏",
projectCode: "20220108-1001",
model: "DS-CK25FI/H",
installationSite: "xxx综合楼2楼会议室",
address: "湖南省长沙市高新开发区谷园路109号像素大厦1205",
date: "2022/01/08",
size: "3.94*2.02",
state: 0
}, {
title: "湖南工业大学化工学院会议室P2.5全彩LED显示屏",
projectCode: "20220108-1001",
model: "DS-CK25FI/H",
installationSite: "xxx综合楼2楼会议室",
address: "湖南省长沙市高新开发区谷园路109号像素大厦1205",
date: "2022/01/08",
size: "3.94*2.02",
state: 1
}, {
title: "湖南工业大学化工学院会议室P2.5全彩LED显示屏",
projectCode: "20220108-1001",
model: "DS-CK25FI/H",
installationSite: "xxx综合楼2楼会议室",
address: "湖南省长沙市高新开发区谷园路109号像素大厦1205",
date: "2022/01/08",
size: "3.94*2.02",
state: 0
}, {
title: "湖南工业大学化工学院会议室P2.5全彩LED显示屏",
projectCode: "20220108-1001",
model: "DS-CK25FI/H",
installationSite: "xxx综合楼2楼会议室",
address: "湖南省长沙市高新开发区谷园路109号像素大厦1205",
date: "2022/01/08",
size: "3.94*2.02",
state: 0
}, {
title: "湖南工业大学化工学院会议室P2.5全彩LED显示屏",
projectCode: "20220108-1001",
model: "DS-CK25FI/H",
installationSite: "xxx综合楼2楼会议室",
address: "湖南省长沙市高新开发区谷园路109号像素大厦1205",
date: "2022/01/08",
size: "3.94*2.02",
state: 1
},
]
}
}
},
onLoad() {
this.getData()
},
methods: {
getData() {
this.$requst.post('/universal/api.project/project_list', {
list_rows: this.dataList.list_rows,
page: this.dataList.page,
}).then(res => {
// this.$toolAll.tools.showToast(res.msg);
if (res.code == 0) {
this.dataList = res.data.data
} else {
}
})
},
projectDetailsFun() {
uni.navigateTo({
url: "/pages/project/details"
})
},
// 查询
inquireProject() {
this.$requst.post('/universal/api.project/project_list', {
list_rows: this.dataList.list_rows,
page: this.dataList.page,
value: this.inputData,
}).then(res => {
// this.$toolAll.tools.showToast(res.msg);
if (res.code == 0) {
console.log(res.data.data)
// this.dataList = res.data.data
} else {
}
})
},
bindPickerChange(data) {
console.log(data)
this.initial_value = '';
this.index = data.detail.value;
},
bindDateChange(date) {
console.log(date)
},
getDate(type) {
const date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
if (type === 'start') {
year = year - 60;
} else if (type === 'end') {
year = year + 2;
}
month = month > 9 ? month : '0' + month;
day = day > 9 ? day : '0' + day;
console.log(year, month, day)
return `${year}-${month}-${day}`;
}
}
}
</script>
<style scoped>
page {
background-color: #F7F7F7;
}
.project-list-input {
width: 100%;
height: 114rpx;
position: relative;
padding: 20rpx 16rpx;
box-sizing: border-box;
background-color: #FFFFFF
}
.project-list-input .int {
width: 100%;
height: 100%;
background-color: #F7F7F7;
padding: 0 25rpx;
padding-right: 100rpx;
box-sizing: border-box;
border-radius: 36rpx;
}
.project-list-input .xian {
width: 3rpx;
height: 35rpx;
position: absolute;
background-color: #EAEAEA;
right: 100rpx;
top: 50%;
margin-top: -14rpx;
}
.project-list-input .search {
width: 28rpx;
height: 28rpx;
position: absolute;
right: 43rpx;
top: 50%;
margin-top: -14rpx;
}
.screen {
display: flex;
justify-content: space-around;
padding: 26rpx 20rpx;
border-top: 1rpx solid #EEEEEE;
}
.screen .li {
display: flex;
align-items: center;
}
.screen .li .text {
font-size: 26rpx;
color: #333333;
margin-right: 10rpx;
}
.screen .li .img {
width: 14rpx;
height: 8rpx;
}
.screen .li .imgA {
width: 24rpx;
height: 23rpx;
}
.project-list .li {
box-sizing: border-box;
background-color: #FFFFFF;
position: relative;
margin: 0 20rpx;
border-radius: 10rpx;
margin-bottom: 20rpx;
padding: 40rpx 20rpx 20rpx 20rpx;
}
.project-list .li .icon {
display: flex;
justify-content: center;
align-items: center;
width: 135rpx;
height: 40rpx;
position: absolute;
font-size: 22rpx;
color: #FFFFFF;
right: 23rpx;
text-align: center;
background-size: 100% 100%;
top: -10rpx;
}
.project-list .li .iconBer {
background-image: url(../../static/iocn/za.png);
}
.project-list .li .iconBera {
background-image: url(../../static/iocn/zaa.png);
}
.project-list .li .message {
display: flex;
}
.project-list .li .message .img {
width: 230rpx;
margin-right: 11rpx;
height: 180rpx;
}
.project-list .li .message .text {
flex: 1;
}
.project-list .li .message .serial-number {
color: #ff8800;
font-size: 22rpx;
/* margin-bottom: 15rpx; */
}
.project-list .li .message .specification {
color: #00b1ff;
font-size: 22rpx;
/* margin-bottom: 15rpx; */
}
.project-list .li .message .installation-site {
color: #6b6a6a;
font-size: 22rpx;
/* margin-bottom: 15rpx; */
}
.project-list-address {
display: flex;
/* justify-content: space-between; */
}
.project-list-address .text {
font-size: 22rpx;
}
.project-list-address .date {
font-size: 22rpx;
text-align: right;
/* margin-left: 20rpx; */
}
.project-list-address .img {
width: 20rpx;
height: 28rpx;
margin-right: 10rpx;
}
.project-list-address .address {
display: flex;
align-items: center;
}
.pickerDate {
width: 300rpx;
height: 300rpx;
}
</style>