393 lines
9.8 KiB
Vue
393 lines
9.8 KiB
Vue
|
|
<template>
|
|||
|
|
<view class="container">
|
|||
|
|
<view class="nav_bar">
|
|||
|
|
<!-- <u-icon name="arrow_left" color="#000" size="28"></u-icon> -->
|
|||
|
|
<view class="nav_bar_tit"> 灾情信息 </view>
|
|||
|
|
</view>
|
|||
|
|
<view class="search">
|
|||
|
|
<!-- 搜索区域 -->
|
|||
|
|
<view class="search_sear">
|
|||
|
|
<input
|
|||
|
|
class="searchInput"
|
|||
|
|
confirm-type="search"
|
|||
|
|
placeholder-style="color:#bbb"
|
|||
|
|
v-model="saerchValue"
|
|||
|
|
placeholder="请输入"
|
|||
|
|
@input="myinput"
|
|||
|
|
@confirm="myconfirm"
|
|||
|
|
/>
|
|||
|
|
<icon class="icon-small" type="search" size="14"></icon>
|
|||
|
|
|
|||
|
|
<icon
|
|||
|
|
v-if="saerchValue.length > 0"
|
|||
|
|
class="clear-icon"
|
|||
|
|
type="clear"
|
|||
|
|
size="16"
|
|||
|
|
@click="clearnClick"
|
|||
|
|
></icon>
|
|||
|
|
<!-- </view> -->
|
|||
|
|
</view>
|
|||
|
|
<view class="more">
|
|||
|
|
<image
|
|||
|
|
style="width: 20px; height: 20px; margin-right: 10px"
|
|||
|
|
src="../../static/images/filter.png"
|
|||
|
|
@click="openpop"
|
|||
|
|
></image>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<!-- table_info -->
|
|||
|
|
<view class="table_info">
|
|||
|
|
<p class="p">共4条信息</p>
|
|||
|
|
<view>
|
|||
|
|
<view class="table_Page">
|
|||
|
|
<view class="info">
|
|||
|
|
<h4>朝阳寺水库</h4>
|
|||
|
|
<p class="info_P">
|
|||
|
|
<span class="info_n">刘明</span>
|
|||
|
|
<span>2024-03-06 13:50:47</span>
|
|||
|
|
</p>
|
|||
|
|
</view>
|
|||
|
|
<view class="badge"><u-badge :isDot="true"></u-badge></view>
|
|||
|
|
</view>
|
|||
|
|
<view class="table_Page">
|
|||
|
|
<view class="info">
|
|||
|
|
<h4>朝阳寺水库</h4>
|
|||
|
|
<p class="info_P">
|
|||
|
|
<span class="info_n">刘明</span>
|
|||
|
|
<span>2024-03-06 13:50:47</span>
|
|||
|
|
</p>
|
|||
|
|
</view>
|
|||
|
|
<view class="badge"><u-badge :isDot="true"></u-badge></view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
|
|||
|
|
<!-- 抽屉 -->
|
|||
|
|
<view class="popup" v-if="popupOpen">
|
|||
|
|
<u-popup
|
|||
|
|
:show="popupOpen"
|
|||
|
|
mode="bottom"
|
|||
|
|
@close="() => (this.popupOpen = false)"
|
|||
|
|
>
|
|||
|
|
<view style="padding: 30px 20px">
|
|||
|
|
<!-- 注意,如果需要兼容微信小程序,最好通过setRules方法设置rules规则 -->
|
|||
|
|
<u-form
|
|||
|
|
labelPosition="left"
|
|||
|
|
:model="model1"
|
|||
|
|
ref="uForm"
|
|||
|
|
labelWidth="100"
|
|||
|
|
>
|
|||
|
|
<u-form-item
|
|||
|
|
label="工程类型"
|
|||
|
|
prop="checkboxValue1"
|
|||
|
|
borderBottom
|
|||
|
|
ref="item3"
|
|||
|
|
:customStyle="{ height: '55px' }"
|
|||
|
|
>
|
|||
|
|
<u-checkbox-group
|
|||
|
|
v-model="model1.userInfo.checkboxValue1"
|
|||
|
|
placement="row"
|
|||
|
|
@change="checkboxChange"
|
|||
|
|
style="flex-wrap: wrap; position: absolute"
|
|||
|
|
>
|
|||
|
|
<u-checkbox
|
|||
|
|
:customStyle="{ marginRight: '16px', margin: '5px' }"
|
|||
|
|
v-for="(item, index) in checkboxList1"
|
|||
|
|
:key="index"
|
|||
|
|
:label="item.name"
|
|||
|
|
:name="item.name"
|
|||
|
|
>
|
|||
|
|
</u-checkbox>
|
|||
|
|
</u-checkbox-group>
|
|||
|
|
</u-form-item>
|
|||
|
|
<!-- 时间 -->
|
|||
|
|
<u-form-item
|
|||
|
|
label="上报开始时间"
|
|||
|
|
prop="userInfo.start"
|
|||
|
|
borderBottom
|
|||
|
|
@click="
|
|||
|
|
isTime = true
|
|||
|
|
hideKeyboard()
|
|||
|
|
"
|
|||
|
|
ref="item1"
|
|||
|
|
>
|
|||
|
|
<u-input
|
|||
|
|
v-model="model1.userInfo.start"
|
|||
|
|
border="none"
|
|||
|
|
disabled
|
|||
|
|
disabledColor="#ffffff"
|
|||
|
|
placeholder="请选择上报开始时间"
|
|||
|
|
></u-input>
|
|||
|
|
<u-icon slot="right" name="arrow-right"></u-icon>
|
|||
|
|
</u-form-item>
|
|||
|
|
|
|||
|
|
<u-form-item
|
|||
|
|
label="上报结束时间"
|
|||
|
|
prop="userInfo.end"
|
|||
|
|
borderBottom
|
|||
|
|
@click="isTime2 = true"
|
|||
|
|
ref="item1"
|
|||
|
|
>
|
|||
|
|
<u--input
|
|||
|
|
v-model="model1.userInfo.end"
|
|||
|
|
border="none"
|
|||
|
|
disabled
|
|||
|
|
disabledColor="#ffffff"
|
|||
|
|
placeholder="请选择上报结束时间"
|
|||
|
|
></u--input>
|
|||
|
|
<u-icon slot="right" name="arrow-right"></u-icon>
|
|||
|
|
</u-form-item>
|
|||
|
|
</u-form>
|
|||
|
|
<view class="bottom">
|
|||
|
|
<u-button
|
|||
|
|
text="重置"
|
|||
|
|
customStyle="margin: 10px"
|
|||
|
|
@click="reset"
|
|||
|
|
></u-button>
|
|||
|
|
<u-button
|
|||
|
|
type="primary"
|
|||
|
|
text="确认"
|
|||
|
|
customStyle="margin: 10px"
|
|||
|
|
@click="submit"
|
|||
|
|
></u-button>
|
|||
|
|
</view>
|
|||
|
|
<u-datetime-picker
|
|||
|
|
:show="isTime"
|
|||
|
|
v-model="valueTime"
|
|||
|
|
mode="datetime"
|
|||
|
|
@confirm="confirm"
|
|||
|
|
@cancel="cancel"
|
|||
|
|
></u-datetime-picker>
|
|||
|
|
|
|||
|
|
<u-datetime-picker
|
|||
|
|
:show="isTime2"
|
|||
|
|
v-model="valueTime2"
|
|||
|
|
mode="datetime"
|
|||
|
|
@confirm="confirm2"
|
|||
|
|
@cancel="cancel2"
|
|||
|
|
></u-datetime-picker>
|
|||
|
|
</view>
|
|||
|
|
</u-popup>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
<script>
|
|||
|
|
import moment from 'moment'
|
|||
|
|
export default {
|
|||
|
|
data () {
|
|||
|
|
return {
|
|||
|
|
saerchValue: '',
|
|||
|
|
popupOpen: false, //抽屉打开,
|
|||
|
|
// 基本案列数据
|
|||
|
|
checkboxList1: [
|
|||
|
|
{
|
|||
|
|
name: '一般险情',
|
|||
|
|
disabled: false
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: '较大险情',
|
|||
|
|
disabled: false
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: '重大险情',
|
|||
|
|
disabled: false
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: '特别重大险情',
|
|||
|
|
disabled: false
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
isTime: false,
|
|||
|
|
valueTime: Number(moment()),
|
|||
|
|
valueTime2: Number(moment()),
|
|||
|
|
isTime2: false,
|
|||
|
|
model1: {
|
|||
|
|
userInfo: {
|
|||
|
|
start: '',
|
|||
|
|
end: '',
|
|||
|
|
checkboxValue1: ['一般险情', '较大险情', '重大险情', '特别重大险情']
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
params: {
|
|||
|
|
pageSo: { pageSize: 10, pageNumber: 0 },
|
|||
|
|
isRead: 0,
|
|||
|
|
projectName: this.saerchValue
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
submit () {
|
|||
|
|
this.popupOpen = false
|
|||
|
|
// 如果有错误,会在catch中返回报错信息数组,校验通过则在then中返回true
|
|||
|
|
// this.$refs.uForm
|
|||
|
|
// .validate()
|
|||
|
|
// .then(res => {
|
|||
|
|
// // uni.$u.toast('校验通过')
|
|||
|
|
// })
|
|||
|
|
// .catch(errors => {
|
|||
|
|
// // uni.$u.toast('校验失败')
|
|||
|
|
// })
|
|||
|
|
},
|
|||
|
|
reset () {
|
|||
|
|
const validateList = [
|
|||
|
|
'userInfo.start',
|
|||
|
|
'userInfo.end',
|
|||
|
|
'userInfo.checkboxValue1'
|
|||
|
|
]
|
|||
|
|
this.$refs.uForm.resetFields()
|
|||
|
|
this.$refs.uForm.clearValidate()
|
|||
|
|
setTimeout(() => {
|
|||
|
|
this.$refs.uForm.clearValidate(validateList)
|
|||
|
|
// 或者使用 this.$refs.uForm.clearValidate()
|
|||
|
|
}, 10)
|
|||
|
|
|
|||
|
|
this.model1 = {
|
|||
|
|
userInfo: {
|
|||
|
|
start: '',
|
|||
|
|
end: '',
|
|||
|
|
checkboxValue1: ['一般险情', '较大险情', '重大险情', '特别重大险情']
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
confirm (val) {
|
|||
|
|
console.log(
|
|||
|
|
'点击确定按钮时触发',
|
|||
|
|
val.value,
|
|||
|
|
moment(val.value).format('YYYY-MM-DD HH:mm')
|
|||
|
|
)
|
|||
|
|
this.valueTime = Number(val)
|
|||
|
|
this.model1.userInfo.start = moment(val.value).format('YYYY-MM-DD HH:mm')
|
|||
|
|
this.isTime = false
|
|||
|
|
},
|
|||
|
|
cancel () {
|
|||
|
|
console.log('取消')
|
|||
|
|
this.isTime = false
|
|||
|
|
},
|
|||
|
|
confirm2 (val) {
|
|||
|
|
console.log(
|
|||
|
|
'点击确定按钮时触发',
|
|||
|
|
val.value,
|
|||
|
|
moment(val.value).format('YYYY-MM-DD HH:mm')
|
|||
|
|
)
|
|||
|
|
this.valueTime2 = Number(val)
|
|||
|
|
this.model1.userInfo.end = moment(val.value).format('YYYY-MM-DD HH:mm')
|
|||
|
|
this.isTime2 = false
|
|||
|
|
},
|
|||
|
|
cancel2 () {
|
|||
|
|
console.log('取消')
|
|||
|
|
this.isTime2 = false
|
|||
|
|
},
|
|||
|
|
checkboxChange (n) {
|
|||
|
|
console.log('change', n)
|
|||
|
|
// this.model1.userInfo.checkboxValue1 = e.name
|
|||
|
|
},
|
|||
|
|
openpop () {
|
|||
|
|
this.popupOpen = true
|
|||
|
|
},
|
|||
|
|
myinput () {},
|
|||
|
|
myconfirm () {},
|
|||
|
|
clearnClick () {
|
|||
|
|
console.log('打印了clearnClick', this.saerchValue)
|
|||
|
|
this.saerchValue = ''
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
.container {
|
|||
|
|
font-size: 14px;
|
|||
|
|
background-color: #f3f5f8;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.table_info {
|
|||
|
|
background-color: #fff;
|
|||
|
|
margin-bottom: 12rpx;
|
|||
|
|
padding: 20px;
|
|||
|
|
.p {
|
|||
|
|
text-align: right;
|
|||
|
|
}
|
|||
|
|
.table_Page {
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
align-items: center;
|
|||
|
|
border-bottom: 1px solid #eee;
|
|||
|
|
margin-top: 12rpx;
|
|||
|
|
padding-bottom: 12rpx;
|
|||
|
|
|
|||
|
|
.info_P {
|
|||
|
|
color: #a2a2a2;
|
|||
|
|
font-size: 24rpx;
|
|||
|
|
.info_n {
|
|||
|
|
margin-right: 20px;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
.nav_bar {
|
|||
|
|
// display: flex;
|
|||
|
|
// justify-content: space-between;
|
|||
|
|
// align-items: center;
|
|||
|
|
width: 100%;
|
|||
|
|
margin-top: 30px;
|
|||
|
|
padding-top: 20px;
|
|||
|
|
padding-bottom: 10px;
|
|||
|
|
border-bottom: 1px solid #dfdfdf;
|
|||
|
|
box-shadow: 0 5px 10px -8px #dfdfdf inset;
|
|||
|
|
background-color: #fff;
|
|||
|
|
margin-bottom: 12rpx;
|
|||
|
|
}
|
|||
|
|
.nav_bar_tit {
|
|||
|
|
text-align: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.search {
|
|||
|
|
background-color: #fff;
|
|||
|
|
margin-bottom: 12rpx;
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
align-items: center;
|
|||
|
|
padding-right: 20px;
|
|||
|
|
}
|
|||
|
|
.fl {
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: center;
|
|||
|
|
align-items: left;
|
|||
|
|
}
|
|||
|
|
.bottom {
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
align-items: center;
|
|||
|
|
}
|
|||
|
|
.search_sear {
|
|||
|
|
// background-color: #eee;
|
|||
|
|
width: 100%;
|
|||
|
|
padding: 30rpx 16rpx;
|
|||
|
|
position: relative;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
z-index: 999;
|
|||
|
|
|
|||
|
|
.searchInput {
|
|||
|
|
background-color: #eee;
|
|||
|
|
height: 60rpx;
|
|||
|
|
border-radius: 6rpx;
|
|||
|
|
color: #bbb;
|
|||
|
|
padding-left: 60rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.icon-small {
|
|||
|
|
position: absolute;
|
|||
|
|
top: 50%;
|
|||
|
|
left: 36rpx;
|
|||
|
|
transform: translateY(-50%);
|
|||
|
|
}
|
|||
|
|
.clear-icon {
|
|||
|
|
position: absolute;
|
|||
|
|
top: 50%;
|
|||
|
|
right: 36rpx;
|
|||
|
|
transform: translateY(-50%);
|
|||
|
|
icon {
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|