From 2de7b174c8048aa19a47033f89a5b0693bf20928 Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Fri, 12 Jan 2024 17:40:33 +0800
Subject: [PATCH] 新增走访任务页面,场所任务跳转, 调整部分样式

---
 subPackage/house/roomDetails/index.vue |   40 +++++-
 pages/home/index.vue                   |   10 +
 pages.json                             |    2 
 subPackage/house/member/index.vue      |   32 +++--
 api/workLog/workLog.js                 |   10 +
 subPackage/task/workLogList.vue        |  235 +++++++++++++++++++++++++++++++++++++++
 subPackage/task/index.vue              |    2 
 subPackage/workbench/views/audit.vue   |    9 +
 8 files changed, 314 insertions(+), 26 deletions(-)

diff --git a/api/workLog/workLog.js b/api/workLog/workLog.js
index 0dea5d3..cb2847e 100644
--- a/api/workLog/workLog.js
+++ b/api/workLog/workLog.js
@@ -7,4 +7,14 @@
 		method: 'POST',
 		data
 	})
+}
+
+export const getWorkLogList = (params) => {
+	return http.request({
+		url: '/blade-gridWorkLog/gridWorkLog/page',
+		method: 'GET',
+		params: {
+			...params
+		}
+	})
 }
\ No newline at end of file
diff --git a/pages.json b/pages.json
index 952b57c..6300d84 100644
--- a/pages.json
+++ b/pages.json
@@ -343,7 +343,7 @@
 				{
 					"path": "workLogList",
 					"style": {
-						"navigationBarTitleText": "日志列表",
+						"navigationBarTitleText": "走访任务",
 						"enablePullDownRefresh": false,
 						"navigationBarBackgroundColor": "#fff",
 						"navigationBarTextStyle": "black"
diff --git a/pages/home/index.vue b/pages/home/index.vue
index 639655b..20c6954 100644
--- a/pages/home/index.vue
+++ b/pages/home/index.vue
@@ -118,7 +118,6 @@
 			</view>
 
 			<view class="bgc-ff mb-20 p-20 pb-20" v-if="(roleType == 2) && (curSelectSite.addressType == 2)">
-
 				<caption-row title="工作台" />
 				<u-grid :border="false" col="4">
 					<u-grid-item @click="navigatorPage('/subPackage/workbench/views/editExamine')"
@@ -129,7 +128,7 @@
 							<text class="grid-text f-24 fw mt-10">场所维护</text>
 						</view>
 					</u-grid-item>
-					<u-grid-item @click="navigatorPage('')" :customStyle="{paddingTop:20+'rpx'}">
+					<u-grid-item @click="navToSiteList()" :customStyle="{paddingTop:20+'rpx'}">
 						<view class="grid-item flex f-d-c a-i-c"
 							style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
 							<u-icon name="/static/icon/menu-02.png" width="60rpx" height="60rpx"></u-icon>
@@ -731,6 +730,13 @@
 						})
 					}
 				})
+			},
+
+			//场所任务跳转 
+			navToSiteList() {
+				uni.navigateTo({
+					url: `/subPackage/workbench/views/audit?code=${uni.getStorageSync("siteInfo").houseCode}`
+				})
 			}
 		}
 	}
diff --git a/subPackage/house/member/index.vue b/subPackage/house/member/index.vue
index 7631a61..05b959d 100644
--- a/subPackage/house/member/index.vue
+++ b/subPackage/house/member/index.vue
@@ -103,6 +103,11 @@
 							</u--input>
 							<u-icon slot="right" name="arrow-right"></u-icon>
 						</u-form-item>
+						<u-form-item class="form-item  address-row" labelWidth="100" label="现居住地" prop="currentAddress">
+							<u-textarea border="none" :disabled="form.source ==1?true:false" disabledColor="#ffffff"
+								v-model="form.currentAddress" placeholder="请输入现居住地">
+							</u-textarea>
+						</u-form-item>
 						<u-form-item class="form-item" labelWidth="100" label="籍贯地区" prop="nativePlaceAdcode">
 							<view class="region">
 								<picker mode="region" :value="navtivePlaceDefault" @change="changeNativeRegion">
@@ -133,11 +138,7 @@
 						</u-form-item>
 
 
-						<u-form-item class="form-item  address-row" labelWidth="100" label="现居住地" prop="currentAddress">
-							<u--input border="none" :disabled="form.source ==1?true:false" disabledColor="#ffffff"
-								v-model="form.currentAddress" placeholder="请输入现居住地">
-							</u--input>
-						</u-form-item>
+
 						<u-form-item @click="showSelectBus('户籍类型','residentType')" class="form-item" labelWidth="100"
 							label="户籍类型" prop="residentType">
 							<u--input border="none" v-model="selectDefaultName.residentType" disabled
@@ -146,12 +147,13 @@
 							<u-icon slot="right" name="arrow-right"></u-icon>
 						</u-form-item>
 						<u-form-item class="form-item" labelWidth="100" label="户籍地址" prop="hukouRegistration">
-							<u--input border="none" v-model="form.hukouRegistration" placeholder="请输入户籍地址">
-							</u--input>
+							<u-textarea border="none" v-model="form.hukouRegistration" placeholder="请输入户籍地址">
+							</u-textarea>
 						</u-form-item>
 
 
-						<u-form-item class="form-item" labelWidth="100" label="标签" @click="navTo">
+						<u-form-item v-if="from != 'family'" class="form-item" labelWidth="100" label="标签"
+							@click="navTo">
 							<view class="">
 								<text style="color: #c0c4cc;"
 									v-if="!form.householdLabelList || !form.householdLabelList.length">请选择标签</text>
@@ -193,8 +195,8 @@
 							</u--input>
 						</u-form-item>
 						<u-form-item class="form-item" labelWidth="100" label="工作单位地址" prop="cmpyRegAddr">
-							<u--input border="none" v-model="form.cmpyRegAddr" placeholder="请输入工作单位地址">
-							</u--input>
+							<u-textarea border="none" v-model="form.cmpyRegAddr" placeholder="请输入工作单位地址">
+							</u-textarea>
 						</u-form-item>
 						<u-form-item @click="showSelectBus('工作状态','workStatus')" class="form-item" labelWidth="100"
 							label="工作状态" prop="workStatus">
@@ -229,8 +231,8 @@
 						</u-form-item>
 
 						<u-form-item class="form-item" labelWidth="100" label="外出详址" prop="goOutAddr">
-							<u--input border="none" v-model="form.goOutAddr" placeholder="请输入外出详址">
-							</u--input>
+							<u-textarea border="none" v-model="form.goOutAddr" placeholder="请输入外出详址">
+							</u-textarea>
 						</u-form-item>
 
 						<u-form-item class="form-item" labelWidth="100" label="外出原因" prop="goOutReason  ">
@@ -287,7 +289,7 @@
 			keyName="name" @confirm="typeSelect"></u-picker>
 
 		<u-datetime-picker :show="showSelectDate" v-model="currentTime" mode="date" :formatter="formatter"
-			@confirm="confirmDate" @cancel="showSelectDate = false"></u-datetime-picker>
+			@confirm="confirmDate" @cancel="showSelectDate = false" :minDate="goOutMinDate"></u-datetime-picker>
 
 		<u-datetime-picker :show="showSelectBirthday" v-model="currentTime" mode="date" @confirm="confirmBirthday"
 			@cancel="showSelectBirthday = false" :minDate="minDate"></u-datetime-picker>
@@ -486,7 +488,8 @@
 				id: "",
 				showSelectBirthday: false,
 				currentTime: Number(new Date()),
-				minDate: ""
+				minDate: "",
+				goOutMinDate: ""
 			}
 		},
 		created() {
@@ -497,6 +500,7 @@
 		},
 		async onLoad(option) {
 			this.minDate = Number(new Date('1900-01-01')); //设置出生日期选择器最小值
+			this.goOutMinDate = Number(new Date('1970-01-01')); //设置外出时间选择器最小值
 			const data = JSON.parse(option.data)
 			console.log("data==>", data)
 			this.houseCode = data.houseCode;
diff --git a/subPackage/house/roomDetails/index.vue b/subPackage/house/roomDetails/index.vue
index 5730a24..1d2313b 100644
--- a/subPackage/house/roomDetails/index.vue
+++ b/subPackage/house/roomDetails/index.vue
@@ -75,19 +75,21 @@
 						</view>
 					</view>
 					<view class="flex a-i-c j-c-s-b btm-box">
-						<view class="l flex">
+						<view class="l flex" style="width:90%;">
 							<u-icon name="/static/icon/selected.png" size="16"></u-icon>
 							<!-- u-icon name="photo"></u-icon> -->
 							<view class="owner-img-box" v-if="item.relationship == 1">主</view>
-							<view class="flex flex-wrap ml-20" v-if="item.householdLabelList.length">
+							<scroll-view class="label-wrap" :scroll-x="true" v-if="item.householdLabelList.length">
 								<block v-for="i in item.householdLabelList">
-									<view class=" mr-10" v-if="i.labelName">
-										<u-tag :text="i.labelName" :bgColor="i.color" :borderColor="i.color"
+									<view class="label-tag mr-10 c-ff" v-if="i.labelName"
+										:style="{backgroundColor:i.color}" @click="showTag(i.labelName)">
+										{{i.labelName}}
+										<!-- <u-tag :text="i.labelName" :bgColor="i.color" :borderColor="i.color"
 											size="mini">
-										</u-tag>
+										</u-tag> -->
 									</view>
 								</block>
-							</view>
+							</scroll-view>
 						</view>
 						<view class="r">
 							<u-icon name="/static/icon/delete.png" size="16" @click="removeHouseholdSub(item)"></u-icon>
@@ -452,6 +454,13 @@
 				})
 				return res.name
 			},
+
+			showTag(labelName) {
+				uni.showToast({
+					title: labelName,
+					icon: "none"
+				})
+			}
 		}
 	}
 </script>
@@ -644,4 +653,23 @@
 		padding: 10rpx 0;
 		border-bottom: 1rpx solid #f6f6f6;
 	}
+
+	.label-wrap {
+		white-space: nowrap;
+		margin-left: 20rpx;
+		width: 80%;
+	}
+
+	.label-tag {
+		width: 110rpx;
+		padding: 2rpx 10rpx;
+		box-sizing: border-box;
+		display: inline-block;
+		white-space: nowrap;
+		overflow: hidden;
+		text-overflow: ellipsis;
+		font-size: 22rpx;
+		border-radius: 4rpx;
+		text-align: center;
+	}
 </style>
\ No newline at end of file
diff --git a/subPackage/task/index.vue b/subPackage/task/index.vue
index f061ea0..268b282 100644
--- a/subPackage/task/index.vue
+++ b/subPackage/task/index.vue
@@ -209,6 +209,8 @@
 								i.count = data.bqsj
 							} else if (i.name == "租房管理") {
 								i.count = data.czsh
+							} else if (i.name == "走访任务") {
+								i.count = data.zfrw;
 							}
 						}
 						this.bailCount = data.qbhs
diff --git a/subPackage/task/workLogList.vue b/subPackage/task/workLogList.vue
index 02409e3..576fa71 100644
--- a/subPackage/task/workLogList.vue
+++ b/subPackage/task/workLogList.vue
@@ -1,8 +1,241 @@
 <template>
+	<view>
+		<u-sticky>
+			<view class="bgc-ff">
+				<view class="tab">
+					<u-tabs :list="tabList" :current="tabIndex" @click="changeTab" :inactiveStyle="{color:'#999999'}"
+						:activeStyle="{color:'#017BFC'}" :scrollable="false">
+
+					</u-tabs>
+					<view class="search flex j-c-s-b a-i-c">
+						<view class="tab-filter flex j-c-c a-i-c" @click="showDateModal">
+							<text class="f-28">时间筛选</text>
+							<u-icon name="arrow-down"></u-icon>
+						</view>
+						<u-search placeholder="请输入需要查询信息的名称" v-model="keyWord" :clearabled="true" :showAction="true"
+							:animation="true" @search="searchConfirm" @clear="clearConfirm"></u-search>
+					</view>
+				</view>
+			</view>
+		</u-sticky>
+
+		<view class="list">
+			<view class="list-item bgc-ff mb-20" v-for="(i,k) in list" :key="k">
+				<view class="item-title flex a-i-c j-c-s-b mb-20">
+					<text class="f-32 fw">{{i.name}}</text>
+					<u-tag v-if="i.status == 1" text="待处理" type="warning" plain plainFill></u-tag>
+					<u-tag v-if="i.status == 2" text="已处理" type="success" plain plainFill></u-tag>
+				</view>
+				<view class="item-row flex a-i-c j-c-s-b">
+					<text class="f-28">时间</text>
+					<text class="f-28 c-66">{{i.createTime}}</text>
+				</view>
+
+				<view class="item-row flex a-i-c j-c-s-b">
+					<text class="f-28">电话</text>
+					<text class="f-28 c-66">{{i.phone}}</text>
+				</view>
+
+				<view class="item-row flex a-i-c j-c-s-b">
+					<text class="f-28">地址</text>
+					<text class="address f-28 c-66">{{i.address || ""}}</text>
+				</view>
+			</view>
+		</view>
+		<u-toast ref="uToast"></u-toast>
+		<u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="没有更多了" line />
+
+		<date-range-modal ref="dateRane" @comfirm="handleComfirmDate" @rest="handleRestDate" />
+	</view>
 </template>
 
 <script>
+	import {
+		getWorkLogList
+	} from "@/api/workLog/workLog.js"
+	import dateRangeModal from '@/components/dateRangeModal/modal.vue';
+	export default {
+		components: {
+			dateRangeModal
+		},
+		data() {
+			return {
+				tabList: [{
+						name: "全部",
+						status: "",
+					},
+					{
+						name: "待处理",
+						status: 1
+					},
+					{
+						name: "已处理",
+						status: 2
+					}
+				],
+				tabIndex: 0,
+				currentStatus: "",
+				list: [],
+				loadingStatus: 'nomore',
+				currentPage: 1,
+				frequency: '',
+				reportType: "",
+				selectDate: [],
+				houseCode: "",
+				keyword: ""
+			}
+		},
+
+		onLoad(option) {
+			this.getList()
+		},
+		onReachBottom() {
+			this.currentPage++
+			this.getList()
+		},
+
+		methods: {
+
+
+			searchConfirm() {
+				this.resetParams()
+				this.getList()
+			},
+			clearConfirm() {
+				this.keyWord = ''
+				this.searchConfirm()
+			},
+			changeTab(e) {
+				this.tabIndex = e.index;
+				this.currentStatus = e.status;
+				this.resetParams();
+				this.getList();
+			},
+			resetParams() {
+				this.list = [];
+				this.currentPage = 1;
+			},
+			getList() {
+				this.$nextTick(() => {
+					this.loadingStatus = 'loadingmore'
+					this.$refs.uToast.show({
+						type: 'loading',
+						message: '正在加载',
+						duration: 9999999
+					})
+				})
+				let params = {
+					page: this.currentPage,
+					size: 20,
+					status: this.currentStatus,
+					frequency: this.frequency
+				}
+				if (this.selectDate.length) {
+					params.startTime = this.selectDate[0]
+					params.endTime = this.selectDate[1]
+				}
+				if (this.houseCode) {
+					params.houseCode = this.houseCode;
+				}
+
+				if (this.reportType) {
+					params.reportType = this.reportType
+				}
+				if (this.keyword) {
+					params.name = this.keyword;
+				}
+
+				getWorkLogList(params).then(res => {
+					if (res.code != 200) {
+						uni.showToast({
+							title: '数据请求失败',
+							icon: 'error'
+						})
+						return
+					}
+					let records = res.data.records;
+					this.list = [...this.list, ...records]
+					this.$nextTick(() => {
+						this.$refs.uToast.isShow = false
+					})
+					this.loadingStatus = 'nomore'
+				})
+			},
+			navTo(name, id, type) {
+
+				if (type == 1) {
+					this.$u.func.globalNavigator(`bailReportDetail?id=${id}`)
+				} else if (type == 2) {
+					this.$u.func.globalNavigator(`hotelReportDetail?id=${id}`)
+				} else if (type == 3 || type == 4 || type == 5) {
+					this.$u.func.globalNavigator(`labelReportDetail?id=${id}`)
+				} else if (type == 6) {
+					this.$u.func.globalNavigator(`schoolReportDetail?id=${id}`)
+				}
+			},
+
+			showDateModal() {
+				this.$refs.dateRane.open();
+			},
+
+			handleRestDate() {
+				this.selectDate = [];
+				this.resetParams();
+				this.getList()
+			},
+			handleComfirmDate(val) {
+				this.selectDate = val;
+				this.resetParams();
+				this.getList()
+			}
+
+		}
+	}
 </script>
 
-<style>
+<style lang="scss">
+	page {
+		background-color: #F5F5F5;
+	}
+
+
+
+	.tab {
+		// width: 100%;
+
+	}
+
+	.search {
+		padding: 20rpx 20rpx;
+	}
+
+	// .tab /deep/.u-tabs__wrapper__nav__item {
+	// 	flex: 1;
+	// }
+	.tab-filter {
+		padding: 0 20rpx;
+	}
+
+	.list {
+		margin: 20rpx 30rpx 0;
+	}
+
+	.list-item {
+		padding: 0 30rpx 20rpx;
+		border-radius: 8rpx;
+
+		.item-title {
+			padding: 30rpx 0;
+			border-bottom: 1px solid #F5F5F5;
+		}
+
+		.item-row {
+			padding: 10rpx 0;
+
+			.address {
+				width: 65%;
+				text-align: right;
+			}
+		}
+	}
 </style>
\ No newline at end of file
diff --git a/subPackage/workbench/views/audit.vue b/subPackage/workbench/views/audit.vue
index 88cb131..4453c99 100644
--- a/subPackage/workbench/views/audit.vue
+++ b/subPackage/workbench/views/audit.vue
@@ -24,6 +24,7 @@
 				@click="navTo(i.name,i.id,i.reportType)">
 				<view class="item-title flex a-i-c j-c-s-b mb-20">
 					<text class="f-32 fw">{{i.name}}</text>
+					<u-tag v-if="i.status == 4" text="待接收" type="warning" plain plainFill></u-tag>
 					<u-tag v-if="i.status == 1" text="待审批" type="warning" plain plainFill></u-tag>
 					<u-tag v-if="i.status == 2" text="审核通过" type="success" plain plainFill></u-tag>
 					<u-tag v-if="i.status == 3" text="审核拒绝" type="error" plain plainFill></u-tag>
@@ -63,6 +64,10 @@
 						status: "",
 					},
 					{
+						name: "待接收",
+						status: 4,
+					},
+					{
 						name: "待审核",
 						status: 1
 					},
@@ -73,7 +78,7 @@
 					{
 						name: "已拒绝",
 						status: 3
-					},
+					}
 				],
 				tabIndex: 0,
 				currentStatus: "",
@@ -216,7 +221,7 @@
 
 
 	.tab {
-		width: 100%;
+		// width: 100%;
 
 	}
 

--
Gitblit v1.9.3