From e6acb39a2475e211f2c1decc45a95c868239c25f Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期五, 18 十月 2024 14:28:32 +0800
Subject: [PATCH] ll
---
h5/pages/staff/task/index.vue | 179 ++++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 122 insertions(+), 57 deletions(-)
diff --git a/h5/pages/staff/task/index.vue b/h5/pages/staff/task/index.vue
index 12ce321..56ed2e0 100644
--- a/h5/pages/staff/task/index.vue
+++ b/h5/pages/staff/task/index.vue
@@ -1,5 +1,5 @@
<template>
- <view class="box">
+ <view class="box" :class="{ popupShow: showFilter }">
<scroll-view scroll-x class="box_head">
<view class="box_head_search">
<view class="box_head_search_ipt">
@@ -21,7 +21,7 @@
@click="statusClick(0)"
:class="{ active: search.queryType === 0 }"
class="box_head_item"
- >寰呭鐞� {{ headData.noticeWaitNum }}</view
+ >寰呭鐞� {{ headData.noticeWaitNum || "" }}</view
>
<view
@click="statusClick(1)"
@@ -39,7 +39,7 @@
@click="statusClick(3)"
:class="{ active: search.queryType === 3 }"
class="box_head_item"
- >鎶勯�佹垜鐨� {{ headData.noticeCopyNum }}</view
+ >鎶勯�佹垜鐨� {{ headData.noticeCopyNum || "" }}</view
>
</view>
</scroll-view>
@@ -60,21 +60,39 @@
/>
<text>浠呯湅鏈</text>
</view>
- <view class="right">鍏ㄩ儴鏍囪宸茶</view>
+ <view class="right" @click="handleReady">鍏ㄩ儴鏍囪宸茶</view>
</view>
<view
class="box_list_item"
v-for="(item, index) in dataList"
+ @click="handleAppr(item)"
:key="index"
>
<view class="box_list_item_head">
<view class="df_ac">
- <text v-if="item.readed == 0" class="readed"></text>
+ <text v-if="item.readed == 0 && search.queryType === 3" class="readed"></text>
<text class="tt">{{ item.title }}</text>
</view>
- <view class="info loading">{{ item.info }}</view>
+ <view class="info" :class="{ loading: search.queryType === 0 }">{{ item.info }}</view>
</view>
<view class="box_list_item_nr">
+ <view v-if="item.param1.arriveDate" class="box_list_item_nr_item">
+ <text></text>
+ <text>{{ item.param1.arriveDate }}</text>
+ </view>
+ <view v-if="item.param1.inType" class="box_list_item_nr_item">
+ <text></text>
+ <text>{{ item.param1.inType }}</text>
+ </view>
+ <view v-if="item.param1.totalNum" class="box_list_item_nr_item">
+ <text></text>
+ <text>{{ item.param1.totalNum }}</text>
+ </view>
+ <view v-if="item.param1.carNum" class="box_list_item_nr_item">
+ <text></text>
+ <text>{{ item.param1.carNum }}</text>
+ </view>
+
<view v-if="item.param1.name" class="box_list_item_nr_item">
<text></text>
<text>{{ item.param1.name }}</text>
@@ -114,11 +132,18 @@
<view class="box_list_item_nr_x"></view>
<view class="box_list_item_nr_text">
<text class="time">{{ item.createDate }}鎻愪氦</text>
- <text v-if="item.status == '0'" class="btn" @click="handleAppr(item)">鍘诲鐞�</text>
+ <text v-if="search.queryType === 0" class="btn">鍘诲鐞�</text>
</view>
</view>
</view>
- <image v-if="dataList.length === 0" src="@/static/empty.png" style="width: 320rpx;margin: 120rpx auto;" mode="widthFix" />
+ <view v-if="dataList.length === 0" style="text-align: center">
+ <image
+ src="@/static/empty.png"
+ style="width: 320rpx; margin: 120px auto 0"
+ mode="widthFix"
+ />
+ <view class="placeholder9 fs24">鏆傛棤鏁版嵁</view>
+ </view>
</view>
<!-- 绛涢�� -->
<u-popup
@@ -129,17 +154,17 @@
@close="showFilter = false"
>
<view class="search">
- <view class="search_head">浠诲姟绛涢��</view>
+ <view class="search_head">绛涢��</view>
<view class="search_list">
<view class="search_list_item">
- <view class="search_list_item_label">鍒涘缓鏃ユ湡</view>
+ <view class="search_list_item_label">鍒涘缓鏃堕棿</view>
<view class="search_list_item_val">
<view
class="search_list_item_val_row"
@click="tiemShow = true"
:style="{ color: modelParam.startDate ? '#000' : '' }"
>{{
- modelParam.startDate ? modelParam.startDate : "寮�濮嬫棩鏈�"
+ modelParam.startDate ? modelParam.startDate : "寮�濮嬫椂闂�"
}}</view
>
<view class="search_list_item_val_z">-</view>
@@ -148,13 +173,13 @@
@click="tiemShow1 = true"
:style="{ color: modelParam.endDate ? '#000' : '' }"
>{{
- modelParam.endDate ? modelParam.endDate : "缁撴潫鏃ユ湡"
+ modelParam.endDate ? modelParam.endDate : "缁撴潫鏃堕棿"
}}</view
>
</view>
</view>
<view class="search_list_item">
- <view class="search_list_item_label">璁㈠崟鏉ユ簮</view>
+ <view class="search_list_item_label">浠诲姟绫诲瀷</view>
<view class="search_list_item_cates">
<view
:class="
@@ -172,23 +197,24 @@
</view>
</view>
<view class="search_footer">
- <view class="search_footer_item" @click="showFilter = false"
- >鍙栨秷</view
- >
+ <view class="search_footer_item" @click="modalReset">閲嶇疆</view>
<view class="search_footer_item t" @click="modalSub">鎻愪氦</view>
</view>
</view>
</u-popup>
<u-datetime-picker
:show="tiemShow"
- v-model="modelParam.startDate"
+ v-model="startDate"
mode="date"
@confirm="confirmLeft"
@cancel="tiemShow = false"
></u-datetime-picker>
<u-datetime-picker
:show="tiemShow1"
- v-model="modelParam.endDate"
+ :minDate="
+ modelParam.startDate ? new Date(modelParam.startDate).getTime() : null
+ "
+ v-model="startDate"
mode="date"
@confirm="confirmRight"
@cancel="tiemShow1 = false"
@@ -197,7 +223,7 @@
</template>
<script>
-import { stagingHead, stagingTaskPage } from '@/api'
+import { stagingHead, stagingTaskPage, signReadTask } from '@/api'
import dayjs from 'dayjs'
export default {
data() {
@@ -206,10 +232,7 @@
search: {
queryType: 0
},
- modelParam: {
- startDate: dayjs().format('YYYY-MM-DD'),
- endDate: dayjs().format('YYYY-MM-DD'),
- },
+ modelParam: {},
tiemShow: false,
tiemShow1: false,
@@ -219,24 +242,35 @@
},
headData: {},
dataList: [],
+ total: 0,
cateList: [
{ name: '璁垮鐢宠', id: 0 },
{ name: '璁垮鎶ュ', id: 1 },
{ name: '鐢ㄨ溅鐢宠', id: 2 },
{ name: '闅愭偅闅忔墜鎷�', id: 3 },
{ name: '鐗╂祦杞︾敵璇�', id: 4 },
- ]
+ ],
+ startDate: dayjs().format('YYYY-MM-DD'),
}
},
- onLoad() {
- this.getHeadList()
- this.pagination.page = 0
- this.getList()
- },
+ // onLoad() {
+ // this.getHeadList()
+ // this.pagination.page = 0
+ // this.getList()
+ // },
onReachBottom() {
- // this.pagination.page = 0
- // this.dataList = []
- this.getList()
+ const { total, dataList} = this
+ if(dataList.length < total){
+ this.getList()
+ } else {
+ this.showToast('鏆傛棤鏇村鏁版嵁')
+ }
+ },
+ onBackPress(options) {
+ setTimeout(()=>{
+ this.$eventBus.$emit('taskBack')
+ })
+ return false
},
onShow() {
this.pagination.page = 0
@@ -255,6 +289,13 @@
this.pagination.page = 0
this.dataList = []
this.$set(this.search, 'noRead', val)
+ this.getList()
+ },
+ modalReset() {
+ this.modelParam = {}
+ this.pagination.page = 0
+ this.dataList = []
+ this.showFilter = false
this.getList()
},
modalSub() {
@@ -279,12 +320,12 @@
}
}).then(res => {
this.dataList = [...this.dataList, ...res.data.records]
+ this.total = res.data.total
this.dataList.forEach(i => {
- if(i.param1){
+ if (i.param1) {
i.param1 = JSON.parse(i.param1)
}
})
- console.log('dataList', this.dataList)
})
},
getHeadList() {
@@ -294,40 +335,61 @@
this.headData = res.data
})
},
+ handleReady() {
+ signReadTask({
+ signType: 1
+ }).then(res => {
+ this.getHeadList()
+ })
+ },
handleAppr(item) {
- const { objType, objId } = item
+ const { objType, objId, info, readed } = item
+ if (readed === 0) {
+ signReadTask({
+ noticesId: item.id,
+ signType: 0
+ }).then(res => {
+ this.getHeadList()
+ })
+ }
if (objType === 2) {
uni.navigateTo({
- url: `/pages/staff/vehicle/sendACarDetail?id=${objId}&appr=1`
+ url: `/pages/staff/vehicle/sendACarDetail?id=${objId}&appr=1&info=${info}`
})
} else if (objType === 1) {
uni.navigateTo({
- url: `/pages/staff/task/visitorReport?id=${objId}&objType=${objType}`
+ url: `/pages/staff/task/visitorReport?id=${objId}&objType=${objType}&info=${info}`
})
} else if (objType === 3) {
uni.navigateTo({
- url: `/pages/staff/task/vDangetAppr?id=${objId}&objType=${objType}`
+ url: `/pages/staff/task/vDangetAppr?id=${objId}&objType=${objType}&info=${info}`
})
- } else {
+ } else if (objType === 6 || objType === 5) {
uni.navigateTo({
- url: `/pages/staff/task/visitorApprove?id=${objId}&objType=${objType}`
+ url: `/pages/staff/task/driver?id=${objId}&objType=${objType}&info=${info}`
+ })
+ }else {
+ uni.navigateTo({
+ url: `/pages/staff/task/visitorApprove?id=${objId}&objType=${objType}&info=${info}`
})
}
},
clickItem(index) {
- this.$set(this.modelParam, 'type', this.cateList[index].id)
+ if (this.cateList[index].id === this.modelParam.type) {
+ this.$set(this.modelParam, 'type', null)
+ } else {
+ this.$set(this.modelParam, 'type', this.cateList[index].id)
+ }
},
confirmLeft(e) {
- console.log(uni.$u.timeFormat(e.value, 'yyyy-mm-dd'))
setTimeout(() => {
- this.modelParam.startDate = uni.$u.timeFormat(e.value, 'yyyy-mm-dd')
+ this.$set(this.modelParam, 'startDate', uni.$u.timeFormat(e.value, 'yyyy-mm-dd'))
})
this.tiemShow = false
},
confirmRight(e) {
- // this.modelParam.endDate = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss')
setTimeout(() => {
- this.modelParam.endDate = uni.$u.timeFormat(e.value, 'yyyy-mm-dd')
+ this.$set(this.modelParam, 'endDate', uni.$u.timeFormat(e.value, 'yyyy-mm-dd'))
})
this.tiemShow1 = false
}
@@ -463,13 +525,19 @@
align-items: center;
justify-content: space-between;
.readed {
- width: 12rpx;
- height: 12rpx;
+ width: 16rpx;
+ height: 16rpx;
border-radius: 50%;
background-color: #e0312a;
+ margin-right: 16rpx;
}
+ .info {
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #999999;
+ }
.loading {
- color: #4c99a8;
+ color: $uni-color-primary;
}
.success {
color: #03c68f;
@@ -479,12 +547,8 @@
}
.tt {
font-size: 32rpx;
- font-weight: 500;
+ font-weight: 600;
color: #222222;
- }
- .info {
- font-size: 26rpx;
- font-weight: 400;
}
}
.box_list_item_nr {
@@ -549,7 +613,7 @@
width: 100%;
text-align: center;
font-size: 32rpx;
- font-weight: 500;
+ font-weight: 600;
color: #222222;
}
.search_list {
@@ -576,8 +640,9 @@
color: #ffffff !important;
}
.search_list_item_cates_row {
- padding: 0 26rpx;
+ width: 216rpx;
height: 64rpx;
+ text-align: center;
line-height: 64rpx;
background: #f7f7f7;
border-radius: 36rpx;
@@ -586,8 +651,8 @@
font-weight: 400;
color: #333333;
margin-bottom: 20rpx;
- &:last-child {
- margin: 0;
+ &:nth-of-type(3n) {
+ margin-right: 0;
}
}
}
--
Gitblit v1.9.3