This commit is contained in:
zhouyanli
2026-08-17 09:52:05 +08:00
5 changed files with 68 additions and 58 deletions

View File

@@ -2,8 +2,8 @@
"name" : "花开管家", "name" : "花开管家",
"appid" : "__UNI__5F224F3", "appid" : "__UNI__5F224F3",
"description" : "智慧社区管家端,专为小区物业管理人员打造,支持多小区灵活切换管理。集成账号密码、手机号密码双重登录模式,内置忘记密码找回功能,保障账号安全。涵盖消息通知、日常巡检、故障报修、一键开门、工单流转、投诉处理等核心办公功能,物业人员可在线完成巡检打卡、问题上报、工单派发跟进、投诉对接处理等日常工作,同时支持查看个人上报记录、巡检历史,便捷修改账号信息与登录密码。高效简化社区物业办公流程,提升小区服务与管理效率,打造便捷智能的社区管理服务平台。", "description" : "智慧社区管家端,专为小区物业管理人员打造,支持多小区灵活切换管理。集成账号密码、手机号密码双重登录模式,内置忘记密码找回功能,保障账号安全。涵盖消息通知、日常巡检、故障报修、一键开门、工单流转、投诉处理等核心办公功能,物业人员可在线完成巡检打卡、问题上报、工单派发跟进、投诉对接处理等日常工作,同时支持查看个人上报记录、巡检历史,便捷修改账号信息与登录密码。高效简化社区物业办公流程,提升小区服务与管理效率,打造便捷智能的社区管理服务平台。",
"versionName" : "1.0.5", "versionName" : "1.0.6",
"versionCode" : 105, "versionCode" : 106,
"transformPx" : false, "transformPx" : false,
"app-plus" : { "app-plus" : {
"usingComponents" : true, "usingComponents" : true,

View File

@@ -1,7 +1,7 @@
<template> <template>
<!-- 顶部导航栏 --> <!-- 顶部导航栏 -->
<view class="page_padding"> <view class="page_padding">
<view class="inspection_record_box flex-1 flex flex-col"> <view class="inspection_record_box flex flex-col">
<navBar @clickLeft="navBack" title="巡检记录"></navBar> <navBar @clickLeft="navBack" title="巡检记录"></navBar>
<TabsComponents <TabsComponents
:activeValue="activeValue" :activeValue="activeValue"
@@ -26,40 +26,39 @@
</uni-datetime-picker> </uni-datetime-picker>
</view> </view>
</view> </view>
<view v-if="list.length > 0"> <scroll-view
<scroll-view v-if="list.length > 0"
class="record_body record-list" class="record_body record-list"
scroll-y scroll-y
lower-threshold="160" lower-threshold="160"
@scrolltolower="scrolltolower" @scrolltolower="scrolltolower"
>
<view
class="record_list_item"
v-for="(ite, index) in list"
:key="index"
@tap="handleTap(ite)"
> >
<view <view class="title flex items-center">
class="record_list_item" <view class="title_name"> {{ ite.taskName }} </view>
v-for="(ite, index) in list" <view class="title_status" v-if="isComputed(ite.taskStatus)"> 已巡检 </view>
:key="index" <view class="title_status noinspection" v-else> 未巡检 </view>
@tap="handleTap(ite)" </view>
> <view class="items" v-if="ite.points">
<view class="title flex items-center"> <view class="item" v-for="(itemname, itemindex) in ite.itemslist" :key="itemindex">
<view class="title_name"> {{ ite.taskName }} </view> <text>{{ itemname }}</text>
<view class="title_status" v-if="isComputed(ite.taskStatus)"> 已巡检 </view>
<view class="title_status noinspection" v-else> 未巡检 </view>
</view>
<view class="items" v-if="ite.points">
<view class="item" v-for="(itemname, itemindex) in ite.itemslist" :key="itemindex">
<text>{{ itemname }}</text>
</view>
</view>
<view class="time">
<text>巡检时间:</text>
<text>{{ ite.taskTime }}</text>
</view>
<view class="time user">
<text>巡检人:</text>
<text>{{ ite.inspectorName }}</text>
</view> </view>
</view> </view>
</scroll-view> <view class="time">
</view> <text>巡检时间:</text>
<text>{{ ite.taskTime }}</text>
</view>
<view class="time user">
<text>巡检人:</text>
<text>{{ ite.inspectorName }}</text>
</view>
</view>
</scroll-view>
<view class="nodata" v-if="list.length <= 0"> <view class="nodata" v-if="list.length <= 0">
<text>暂无数据</text> <text>暂无数据</text>
</view> </view>
@@ -100,7 +99,7 @@ const activeValue = ref(2)
// --------------------------------------------------------------------- // ---------------------------------------------------------------------
const list = ref([]) const list = ref([])
const queryParmas = ref({ const queryParmas = ref({
date: '', date: parseTime(new Date(), '{y}-{m}-{d}'),
status: 2, status: 2,
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
@@ -190,11 +189,6 @@ function handleChangeTabs(val: number) {
} }
// --------------------------------------------------------------------- // ---------------------------------------------------------------------
function init() {
queryParmas.value.date = parseTime(new Date(), '{y}-{m}-{d}')
getlist()
}
onShow(() => { onShow(() => {
hasMore.value = true hasMore.value = true
resetList() resetList()
@@ -203,9 +197,8 @@ function resetList() {
list.value = [] list.value = []
queryParmas.value.status = 2 queryParmas.value.status = 2
queryParmas.value.pageSize = 10 queryParmas.value.pageSize = 10
queryParmas.value.pageSize = 10
hasMore.value = true hasMore.value = true
init() getlist()
} }
// 返回上一页 // 返回上一页
@@ -276,7 +269,6 @@ const navBack = () => {
overflow: hidden; overflow: hidden;
overflow-y: auto; overflow-y: auto;
box-sizing: border-box; box-sizing: border-box;
.record_list_item { .record_list_item {
margin-bottom: 20rpx; margin-bottom: 20rpx;
background: #ffffff; background: #ffffff;

View File

@@ -95,7 +95,7 @@
<view class="submitbox" @tap="handleSubmit(ite)" v-if="!ite.complated"> <view class="submitbox" @tap="handleSubmit(ite)" v-if="!ite.complated">
<text>提交</text> <text>提交</text>
</view> </view>
<view class="line" v-if="ind + 1 === baseFormData.length"> </view> <view class="line" v-if="ind + 1 < item.points.length"> </view>
</view> </view>
</view> </view>
</view> </view>

View File

@@ -61,9 +61,7 @@
</view> </view>
<!-- 内容 --> <!-- 内容 -->
<view class="card-content"> <view class="card-content"> {{ record.problem }} </view>
{{ record.problem }}
</view>
<!-- 底部信息 --> <!-- 底部信息 -->
<view class="card-footer"> <view class="card-footer">
<text class="create-time">{{ record.createTime }}</text> <text class="create-time">{{ record.createTime }}</text>
@@ -82,7 +80,7 @@
<script setup> <script setup>
import { ref, computed } from 'vue' import { ref, computed } from 'vue'
import { onReady, onShow } from '@dcloudio/uni-app' import { onReady, onShow, onLoad } from '@dcloudio/uni-app'
import TabsComponents from '@/components/tabs/tabs.vue' import TabsComponents from '@/components/tabs/tabs.vue'
import NavBar from '@/components/navbar/navbar.vue' import NavBar from '@/components/navbar/navbar.vue'
import { getUserTicketlist } from '@/api/ticket.js' import { getUserTicketlist } from '@/api/ticket.js'
@@ -122,6 +120,17 @@ function scrolltolower() {
queryParmas.value.pageNum += 1 queryParmas.value.pageNum += 1
getlist() getlist()
} }
onLoad(data => {
if (data.MyOrderNum === '0') {
activeStatus.value = 0
queryParmas.value.problemStatus = undefined
} else {
activeStatus.value = 1
queryParmas.value.problemStatus = 1
}
})
function getlist() { function getlist() {
if (isLoading.value || !hasMore.value) return if (isLoading.value || !hasMore.value) return
isLoading.value = true isLoading.value = true
@@ -354,6 +363,9 @@ function handlePrivew(imgs) {
font-size: 32rpx; font-size: 32rpx;
color: #222222; color: #222222;
line-height: 40rpx; line-height: 40rpx;
max-width: 500rpx;
overflow: hidden;
text-overflow: ellipsis;
} }
/* 状态标签 */ /* 状态标签 */
@@ -385,6 +397,7 @@ function handlePrivew(imgs) {
/* 类型标签组 */ /* 类型标签组 */
.tag-group { .tag-group {
display: flex; display: flex;
flex-wrap: wrap;
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }
.tag-group > .tag-item:not(:last-child) { .tag-group > .tag-item:not(:last-child) {
@@ -392,7 +405,9 @@ function handlePrivew(imgs) {
} }
.tag-item { .tag-item {
padding: 0 10rpx; padding: 0 10rpx;
height: 42rpx; margin: 5rpx;
min-height: 42rpx;
text-align: left;
border-radius: 8rpx 8rpx 8rpx 8rpx; border-radius: 8rpx 8rpx 8rpx 8rpx;
border: 1rpx solid #999999; border: 1rpx solid #999999;
@@ -400,7 +415,6 @@ function handlePrivew(imgs) {
font-size: 24rpx; font-size: 24rpx;
color: #999999; color: #999999;
line-height: 42rpx; line-height: 42rpx;
text-align: center;
} }
/* 内容 */ /* 内容 */
@@ -411,6 +425,7 @@ function handlePrivew(imgs) {
color: #666666; color: #666666;
line-height: 40rpx; line-height: 40rpx;
letter-spacing: 2rpx; letter-spacing: 2rpx;
word-wrap: break-word;
} }
/* 图片 */ /* 图片 */
.card-image { .card-image {

View File

@@ -186,7 +186,7 @@ const goToTicketHall = () => {
// 我的工单 // 我的工单
const goToMyTicket = () => { const goToMyTicket = () => {
uni.navigateTo({ uni.navigateTo({
url: '/pageSubPack/ticket/myticket' url: '/pageSubPack/ticket/myticket?MyOrderNum=' + MyOrderNum.value
}) })
} }
// 跳转到 今日巡检 // 跳转到 今日巡检
@@ -373,10 +373,13 @@ function getbannarData(forceRefresh = false) {
bannerList.value = newData bannerList.value = newData
} }
// 写入缓存 // 写入缓存
uni.setStorageSync(BANNER_CACHE_KEY, JSON.stringify({ uni.setStorageSync(
data: newData, BANNER_CACHE_KEY,
time: Date.now() JSON.stringify({
})) data: newData,
time: Date.now()
})
)
} else { } else {
bannerList.value = [] bannerList.value = []
} }
@@ -414,9 +417,9 @@ onShow(() => {
if (!hasInit.value) { if (!hasInit.value) {
// 首次加载:onLoad 已触发过核心数据请求,这里只补 onLoad 没调的和需要每次都刷新的 // 首次加载:onLoad 已触发过核心数据请求,这里只补 onLoad 没调的和需要每次都刷新的
hasInit.value = true hasInit.value = true
getbannarData() // onLoad 没调 banner getbannarData() // onLoad 没调 banner
getMyOrderNum() // onLoad 没调工单数 getMyOrderNum() // onLoad 没调工单数
permStore.initPerm() // 刷新权限缓存 permStore.initPerm() // 刷新权限缓存
// currentVillageData 和 getInspectionData 已在 onLoad 中调用,不再重复 // currentVillageData 和 getInspectionData 已在 onLoad 中调用,不再重复
return return
} }