2023-11-07 10:08:37 +08:00
|
|
|
|
<template>
|
|
|
|
|
<view class="page">
|
|
|
|
|
<u-tabs
|
2024-07-27 15:13:42 +08:00
|
|
|
|
lineWidth="336rpx"
|
2023-11-07 10:08:37 +08:00
|
|
|
|
:list="tabsList"
|
2024-07-27 15:13:42 +08:00
|
|
|
|
itemStyle="height:80rpx;padding-bottom:10rpx;background-color: #fff;"
|
2023-11-07 10:08:37 +08:00
|
|
|
|
@click="tabsClick"
|
|
|
|
|
></u-tabs>
|
2024-04-24 13:43:57 +08:00
|
|
|
|
<view class="container">
|
|
|
|
|
<u-sticky offset-top="200">
|
2024-10-10 10:14:31 +08:00
|
|
|
|
<u-button type="primary" text="高级搜索" @click="popupOpen"></u-button>
|
2024-04-24 13:43:57 +08:00
|
|
|
|
</u-sticky>
|
|
|
|
|
</view>
|
|
|
|
|
<u-popup :show="popupShow" mode="right" :overlay="true" customStyle='width: 300px;' :safeAreaInsetTop="true" @close="popupClose" @open="popupOpen">
|
|
|
|
|
<view>
|
|
|
|
|
<u-datetime-picker
|
|
|
|
|
:show="addStartPickBarShow"
|
|
|
|
|
v-model="addTimeStart"
|
|
|
|
|
mode="date"
|
|
|
|
|
@close="addPickBarOnClose('start')"
|
|
|
|
|
@cancel="addPickBarOnCancel('start')"
|
|
|
|
|
@confirm="addPickBarOnConfirm"
|
|
|
|
|
></u-datetime-picker>
|
|
|
|
|
<u-button @click="addStartPickBarShow = true">起始时间:{{ addTimeStartStr == '' ? '请选择起始时间...' : addTimeStartStr }}</u-button>
|
|
|
|
|
<u-datetime-picker
|
|
|
|
|
:show="addEndPickBarShow"
|
|
|
|
|
v-model="addTimeEnd"
|
|
|
|
|
mode="date"
|
|
|
|
|
@close="addPickBarOnClose('end')"
|
|
|
|
|
@cancel="addPickBarOnCancel('end')"
|
|
|
|
|
@confirm="addPickBarOnConfirm"
|
|
|
|
|
></u-datetime-picker>
|
|
|
|
|
<u-button @click="addEndPickBarShow = true">结束时间:{{ addTimeEndStr == '' ? '请选择结束时间...' : addTimeEndStr }}</u-button>
|
|
|
|
|
<u-toast ref="uToast"></u-toast>
|
|
|
|
|
<view class="u-page">
|
|
|
|
|
<view class="u-demo-block">
|
|
|
|
|
<view class="u-demo-block__content">
|
|
|
|
|
<u-row customStyle="margin-bottom: 10px">
|
|
|
|
|
<u-col span="6">
|
|
|
|
|
<view class="demo-layout bg-purple-light">
|
|
|
|
|
<u-button @click="resetAdvancedParam">重置</u-button>
|
|
|
|
|
</view>
|
|
|
|
|
</u-col>
|
|
|
|
|
<u-col span="6">
|
|
|
|
|
<view class="demo-layout bg-purple">
|
|
|
|
|
<u-button @click="advancedSearch">搜索</u-button>
|
|
|
|
|
</view>
|
|
|
|
|
</u-col>
|
|
|
|
|
</u-row>
|
2024-07-27 15:13:42 +08:00
|
|
|
|
|
2024-04-24 13:43:57 +08:00
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
2024-07-27 15:13:42 +08:00
|
|
|
|
|
2024-04-24 13:43:57 +08:00
|
|
|
|
</view>
|
|
|
|
|
</u-popup>
|
2023-11-07 10:08:37 +08:00
|
|
|
|
<view class="message_list">
|
|
|
|
|
<u-list @scrolltolower="scrolltolower" v-if="list.length > 0">
|
|
|
|
|
<u-list-item v-for="(item, index) in list" :key="index">
|
|
|
|
|
<view class="message_item arrow" @click="fnNavigator(item)">
|
|
|
|
|
<view class="message_flex">
|
|
|
|
|
<view>
|
2024-04-12 15:34:51 +08:00
|
|
|
|
<template v-if="item.corppromisType ==='1'"> <!-- 0承诺书1责任状 -->
|
|
|
|
|
<view class="fontstyle">发状人:{{ item.coverpeople }}</view>
|
|
|
|
|
<view class="fontstyle">受状人:{{ item.NAME }}</view>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-else>
|
|
|
|
|
<view class="fontstyle">被承诺人:{{ item.coverpeople }}</view>
|
|
|
|
|
<view class="fontstyle">承诺人:{{ item.NAME }}</view>
|
|
|
|
|
</template>
|
|
|
|
|
|
2024-04-01 19:20:43 +08:00
|
|
|
|
<view v-if="item.SIGNTIME != null" class="fontstyle">已签字</view>
|
2024-04-12 15:34:51 +08:00
|
|
|
|
<view v-else class="fontstyle_red">未签字</view>
|
2023-11-07 10:08:37 +08:00
|
|
|
|
<view class="message_time">{{ item.SIGNTIME }}</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="font0" v-if="TYPE === '2'">{{ item.ISREAD == '0' ? '待阅' : '已阅' }}</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</u-list-item>
|
|
|
|
|
</u-list>
|
|
|
|
|
<empty v-else></empty>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import {getMyPromiseList, getReceivePromiseList} from "../../../api";
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
tabsList: [
|
2024-03-30 11:17:19 +08:00
|
|
|
|
// {name: '我的承诺', id: '1'},
|
|
|
|
|
{name: '发出承诺', id: '1'},
|
2023-11-07 10:08:37 +08:00
|
|
|
|
{name: '接收承诺', id: '2'}
|
|
|
|
|
],
|
|
|
|
|
TYPE: '1',
|
|
|
|
|
pageSize: 10,
|
|
|
|
|
currentPage: 1,
|
|
|
|
|
totalPage: 0,
|
|
|
|
|
list: [],
|
2024-04-24 11:07:59 +08:00
|
|
|
|
popupShow: false, // 高级搜索弹窗
|
|
|
|
|
addStartPickBarShow: false, // 起始日期选择器
|
|
|
|
|
addEndPickBarShow: false, // 结束日期选择器
|
|
|
|
|
addTimeStart: Number(new Date()), // 承诺书添加时间-起始
|
|
|
|
|
addTimeEnd: Number(new Date()), // 承诺书添加时间-结束
|
|
|
|
|
addTimeStartStr: '', // 承诺书添加时间-起始-字符串
|
|
|
|
|
addTimeEndStr: '', // 承诺书添加时间-结束-字符串
|
2023-11-07 10:08:37 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
userInfo() {
|
|
|
|
|
return this.$store.getters.getUserInfo
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
onShow(event) {
|
|
|
|
|
this.resetList()
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
async fnGetMyPromiseList() {
|
|
|
|
|
let resData = await getMyPromiseList({
|
|
|
|
|
USER_ID: this.userInfo.USER_ID,
|
|
|
|
|
showCount: this.pageSize,
|
|
|
|
|
currentPage: this.currentPage,
|
2024-04-24 11:07:59 +08:00
|
|
|
|
ADDSTART: this.addTimeStartStr,
|
|
|
|
|
ADDEND: this.addTimeEndStr
|
2023-11-07 10:08:37 +08:00
|
|
|
|
})
|
|
|
|
|
this.list = [...this.list, ...resData.varList]
|
2024-03-30 17:46:41 +08:00
|
|
|
|
this.totalPage = resData.page.totalPage
|
2023-11-07 10:08:37 +08:00
|
|
|
|
},
|
|
|
|
|
async fnGetReceivePromiseList() {
|
|
|
|
|
let resData = await getReceivePromiseList({
|
|
|
|
|
USER_ID: this.userInfo.USER_ID,
|
|
|
|
|
showCount: this.pageSize,
|
|
|
|
|
currentPage: this.currentPage,
|
2024-04-24 11:07:59 +08:00
|
|
|
|
ADDSTART: this.addTimeStartStr,
|
|
|
|
|
ADDEND: this.addTimeEndStr
|
2023-11-07 10:08:37 +08:00
|
|
|
|
})
|
|
|
|
|
this.list = [...this.list, ...resData.varList]
|
|
|
|
|
},
|
|
|
|
|
resetList() {
|
|
|
|
|
this.pageSize = 10
|
|
|
|
|
this.currentPage = 1
|
|
|
|
|
this.list = []
|
|
|
|
|
this.getData();
|
|
|
|
|
},
|
|
|
|
|
getData() {
|
|
|
|
|
if (this.TYPE === '1') this.fnGetMyPromiseList()
|
|
|
|
|
if (this.TYPE === '2') this.fnGetReceivePromiseList()
|
|
|
|
|
},
|
|
|
|
|
scrolltolower() {
|
|
|
|
|
this.currentPage++;
|
|
|
|
|
if (this.totalPage >= this.currentPage) this.getData();
|
|
|
|
|
},
|
|
|
|
|
tabsClick(e) {
|
|
|
|
|
this.TYPE = e.id
|
2024-04-24 11:07:59 +08:00
|
|
|
|
this.resetAllAddTime()
|
2023-11-07 10:08:37 +08:00
|
|
|
|
this.resetList()
|
|
|
|
|
},
|
|
|
|
|
fnNavigator(item) {
|
|
|
|
|
uni.$u.route({
|
|
|
|
|
url: 'pages/mine/promise/detail',
|
|
|
|
|
params: {
|
|
|
|
|
PROMISE_ID: item.PROMISE_ID,
|
|
|
|
|
PROMISEPEOPLE_ID: item.PROMISEPEOPLE_ID,
|
|
|
|
|
TYPE: this.TYPE
|
|
|
|
|
}
|
|
|
|
|
})
|
2024-04-24 11:07:59 +08:00
|
|
|
|
},
|
|
|
|
|
// 高级搜索弹窗弹出函数
|
|
|
|
|
popupOpen() {
|
|
|
|
|
this.popupShow = true
|
2024-07-27 15:13:42 +08:00
|
|
|
|
|
2024-04-24 11:07:59 +08:00
|
|
|
|
},
|
|
|
|
|
// 高级搜索弹窗关闭函数
|
2024-04-24 13:43:57 +08:00
|
|
|
|
popupClose() {
|
|
|
|
|
this.popupShow = false
|
2024-07-27 15:13:42 +08:00
|
|
|
|
|
2024-04-24 13:43:57 +08:00
|
|
|
|
},
|
2024-04-24 11:07:59 +08:00
|
|
|
|
// 高级搜索日期选择器关闭回调
|
|
|
|
|
addPickBarOnClose(type) {
|
|
|
|
|
switch (type) {
|
|
|
|
|
case 'start':
|
|
|
|
|
this.addStartPickBarShow = false;
|
|
|
|
|
break;
|
|
|
|
|
case 'end':
|
|
|
|
|
this.addEndPickBarShow = false;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
this.$refs.uToast.show({message:'日期选择参数错误',duration:1000})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 高级搜索日期选择器取消回调
|
|
|
|
|
addPickBarOnCancel(type) {
|
|
|
|
|
this.addPickBarOnClose(type)
|
|
|
|
|
},
|
|
|
|
|
// 高级搜索日期选择器确认回调
|
|
|
|
|
addPickBarOnConfirm(value) {
|
|
|
|
|
// alert(value.value)
|
|
|
|
|
switch (this.addStartPickBarShow) {
|
|
|
|
|
case true:
|
|
|
|
|
// start type
|
|
|
|
|
this.addTimeStartStr = uni.$u.timeFormat(value.value, 'yyyy-mm-dd')
|
|
|
|
|
this.addPickBarOnClose('start')
|
|
|
|
|
break;
|
|
|
|
|
case false:
|
|
|
|
|
// end type
|
|
|
|
|
this.addTimeEndStr = uni.$u.timeFormat(value.value, 'yyyy-mm-dd')
|
|
|
|
|
this.addPickBarOnClose('end')
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
this.$refs.uToast.show({message:'日期选择参数错误',duration:1000})
|
|
|
|
|
}
|
|
|
|
|
},
|
2024-04-24 13:43:57 +08:00
|
|
|
|
// 清除高级搜索内的起始日期、结束日期组件绑定的时间属性(时间戳类型);清除根据时间戳格式化的文本日期
|
2024-04-24 11:07:59 +08:00
|
|
|
|
resetAllAddTime() {
|
|
|
|
|
this.addTimeStart = Number(new Date())
|
|
|
|
|
this.addTimeEnd = Number(new Date())
|
|
|
|
|
this.addTimeStartStr = ''
|
|
|
|
|
this.addTimeEndStr = ''
|
|
|
|
|
},
|
|
|
|
|
// 重置高级搜索条件
|
|
|
|
|
resetAdvancedParam() {
|
|
|
|
|
this.resetAllAddTime()
|
|
|
|
|
this.resetList()
|
|
|
|
|
},
|
|
|
|
|
// 高级搜索
|
|
|
|
|
advancedSearch(){
|
|
|
|
|
const toast = uni.$u.toast
|
|
|
|
|
// 日期合法判定
|
|
|
|
|
if (this.addTimeStartStr > this.addTimeEndStr){
|
2024-04-24 13:43:57 +08:00
|
|
|
|
// 包含两种case:case1 开始时间 > 结束时间;case2 开始时间有值,结束时间为空
|
2024-04-24 11:07:59 +08:00
|
|
|
|
this.$refs.uToast.show({message:'日期不合法',duration:1000})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (this.addTimeEndStr != '' && this.addTimeStartStr == ''){
|
|
|
|
|
// 结束时间有值,开始时间为空
|
|
|
|
|
this.$refs.uToast.show({message:'日期不合法',duration:1000})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
this.resetList()
|
|
|
|
|
this.popupClose()
|
|
|
|
|
}
|
2024-07-27 15:13:42 +08:00
|
|
|
|
|
2023-11-07 10:08:37 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
|
.page {
|
|
|
|
|
background-color: #f7f9ff;
|
|
|
|
|
height: 100vh;
|
|
|
|
|
}
|
2024-04-24 11:07:59 +08:00
|
|
|
|
.wrap {
|
|
|
|
|
padding: 12px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.demo-layout {
|
|
|
|
|
height: 25px;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.bg-purple {
|
|
|
|
|
background: #CED7E1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.bg-purple-light {
|
|
|
|
|
background: #e5e9f2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.bg-purple-dark {
|
|
|
|
|
background: #99a9bf;
|
|
|
|
|
}
|
2023-11-07 10:08:37 +08:00
|
|
|
|
</style>
|