<template>
|
<view class="full-page">
|
<up-sticky bgColor="#fff">
|
<view class="coreshop-ff c-p-10">
|
<up-search placeholder="请点击选择日期" @clear='clear' @clickIcon='clickTime' @custom='search'
|
v-model="workTime" search-icon="calendar" @search='search'></up-search>
|
</view>
|
</up-sticky>
|
<scroll-view enable-flex="true">
|
<view class="list chuany-flex chuany-flex-direction chuany-align-center c-p-b-30 "
|
v-if="listO.orderList&&listO.orderList.length>0">
|
<view class="content c-p-b-18" v-for="(item,index) in listO.orderList" @click='toDetail(item.id)' :key='item.id'>
|
<view class="bgblue c-p-l-18 c-p-r-18 c-p-t-10 c-p-b-10 chuany-flex chuany-justify-between chuany-font30">
|
<view class="chuany-flex chuany-flex-direction">
|
<text class=''>
|
{{$util.formatDate(item.startTime)}}
|
</text>
|
</view>
|
<text>
|
招{{item.worderCounted}}/{{item.worderCount}}人
|
</text>
|
</view>
|
<view class="c-p-l-18 c-p-b-14 c-p-t-14 c-p-r-18 chuany-font34">
|
{{item.orderName}}
|
</view>
|
<!-- <view class="chuany-flex c-p-l-18">
|
<up-tag class='c-p-r-14' :text="item" plain v-for="(item,index) in item.tags" :key="index">
|
</up-tag>
|
</view> -->
|
<view class="chuany-flex chuany-flex-direction">
|
<text class='c-p-l-18 c-p-b-14 c-p-r-18 text-69'>
|
要求:{{item.demand}}
|
</text>
|
<text class='c-p-l-18 c-p-b-14 c-p-r-18 text-69'>
|
地址:{{item.worderAddress}}
|
</text>
|
</view>
|
<view class='chuany-flex chuany-justify-between c-p-l-18 c-p-r-18'>
|
<view class="redcla">
|
<text class="chuany-font40 chuany-text-bold">
|
{{item.workPrice}}
|
</text>
|
<text class='chuany-font20'>
|
{{item.workerType==0?'元/小时':'元/件'}}
|
</text>
|
</view>
|
<up-tag text="去抢活" type="warning" shape="circle" @click.stop='deliver(item.id)'></up-tag>
|
<!-- <up-tag text="去抢活" type="warning" shape="circle"></up-tag> -->
|
</view>
|
</view>
|
<up-loadmore :status="loadStatus" />
|
</view>
|
<view v-else>
|
<up-empty text='暂无' icon="/static/order.png">
|
</up-empty>
|
</view>
|
</scroll-view>
|
<fui-date-picker range :show="datePickerShow" type="5" @change="changePicker"
|
@cancel="cancel"></fui-date-picker>
|
</view>
|
</template>
|
|
<script setup>
|
import {
|
onLoad,
|
onShow,
|
onReachBottom,
|
onPullDownRefresh
|
} from "@dcloudio/uni-app";
|
import {
|
reactive,
|
ref,
|
getCurrentInstance
|
} from 'vue';
|
const {
|
$upload,
|
$api,
|
$util,
|
$db
|
} = getCurrentInstance().appContext.config.globalProperties
|
|
let workTime = ref('')
|
let datePickerShow = ref(false)
|
const state = reactive({
|
pageIndex: 1,
|
pageSize: 20,
|
})
|
let listO = reactive({
|
orderList: []
|
})
|
const search = (index) => {
|
console.log(index, '------’');
|
if (index == 0) {
|
PostListPage()
|
} else {
|
PostListPage(index - 1)
|
}
|
|
}
|
const clear = () => {
|
state.wordStartTime = ""
|
state.wordEndTime = ""
|
}
|
const clickTime = () => {
|
datePickerShow.value = !datePickerShow.value
|
}
|
let loadStatus = ref('loadmore')
|
// 创建响应式数据
|
const list1 = reactive([{
|
name: '新任务'
|
},
|
{
|
name: '我的订单'
|
},
|
]);
|
onReachBottom(() => {
|
if (loadStatus.value != 'nomore') {
|
PostListPage();
|
}
|
})
|
|
onPullDownRefresh(() => {
|
state.pageIndex = 1
|
state.pageSize = 20
|
PostListPage();
|
})
|
onLoad(() => {
|
PostListPage()
|
})
|
const PostListPage = (orderStatus) => {
|
let data = {
|
pageIndex: state.pageIndex,
|
pageSize: state.pageSize,
|
}
|
if (orderStatus) {
|
data.orderStatus = orderStatus
|
}
|
loadStatus.value = 'loading';
|
$api.PostListPage(data).then(res => {
|
if (res.code == 1) {
|
console.log(res, res.code, '-----------123’');
|
if (state.pageIndex == 1) {
|
listO.orderList = res.data.items
|
} else {
|
listO.orderList.concat(...res.data.items)
|
}
|
console.log(listO.orderList, 'listO.orderList’');
|
// totalPages.value = res.data.totalCount
|
// 根据count数量判断是否还有数据
|
if (res.data.totalCount > listO.orderList.length) {
|
loadStatus.value = 'loadmore'
|
state.pageIndex++
|
} else {
|
// 数据已加载完毕
|
loadStatus.value = 'nomore'
|
}
|
} else {
|
// _that.$refs.uToast.show({ message: res.msg, type: 'error' });
|
}
|
})
|
}
|
const click = () => {
|
|
}
|
const change = (e) => {
|
state.currentIdex = e.index
|
}
|
const toDetail = (val) => {
|
uni.navigateTo({
|
url: `/pages/detail/detail?orderid=${val}`
|
})
|
}
|
const deliver = (val) => {
|
uni.navigateTo({
|
url: `/pages/detail/detail?orderid=${val}`
|
})
|
// $api.saveBaoMing({orderId:e}).then(res => {
|
// })
|
}
|
</script>
|
|
<style lang='scss'>
|
.list {
|
background-color: #f3f4f6;
|
}
|
|
.content {
|
min-height: 330rpx;
|
width: 90%;
|
background-color: #fff;
|
border-radius: 20rpx;
|
margin: 30rpx 30rpx 0 30rpx;
|
}
|
|
.bgblue {
|
background-color: #4e96f5;
|
border-radius: 20rpx 20rpx 0 0;
|
color: #fff;
|
}
|
|
.redcla {
|
color: #f05348;
|
}
|
</style>
|