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