巡检-早于巡检时间,禁止提交

This commit is contained in:
Zy
2026-09-03 17:03:39 +08:00
parent 825220cd86
commit 0a68226c3b
3 changed files with 88 additions and 36 deletions

View File

@@ -77,6 +77,7 @@
file-field-name="file"
uploadUrl="/api/butler/file/uploadImage"
@fail="onUploadFail"
:disabled="disableUpload"
></filePicker>
</view>
<view class="filePickerbox showimagegrid" v-else>
@@ -92,7 +93,14 @@
</view>
</view>
</uni-forms>
<view class="submitbox" @tap="handleSubmit(ite)" v-if="!ite.complated">
<view
class="submitbox"
@tap="handleSubmit(ite)"
v-if="!ite.complated"
:class="{
disable: disableUpload
}"
>
<text>提交</text>
</view>
<view class="line" v-if="ind + 1 < item.points.length"> </view>
@@ -149,6 +157,26 @@ const rules = {
}
}
// 限制提交任务时间段 true 不可以提交 false 可以提交
const disableUpload = computed(() => {
if (info.value) {
const day = new Date()
const [start, end] = info.value.taskTime.split('-') ?? []
if (start && end) {
const startTime = day.toLocaleDateString() + ' ' + start + ':00'
const endTime = day.toLocaleDateString() + ' ' + end + ':00'
if (new Date(startTime).getTime() <= day.getTime()) {
return false
} else {
return true
}
} else {
return true
}
} else {
return true
}
})
function init() {
if (!taskid.value) return
getInspectionMain(taskid.value)
@@ -168,7 +196,6 @@ function init() {
files: ite.imgUrl ? ite.imgUrl.split(',') : []
}
})
console.log(points)
return {
routeName: item.routeName,
routeId: item.routeId,
@@ -192,7 +219,6 @@ onLoad(options => {
})
// ----------------------------------------------
function onUploadFail() {
uni.showToast({
icon: 'error',
@@ -200,14 +226,28 @@ function onUploadFail() {
})
}
let isSubmit = false
/** 提交巡检点 检查情况 */
function handleSubmit(item) {
if (isSubmit) return
isSubmit = true
if (disableUpload.value) {
uni.showToast({
icon: 'none',
title: '不在任务时间段内',
mask: true
})
isSubmit = false
return
}
if (item.files.length <= 0) {
uni.showToast({
icon: 'error',
mask: true,
title: '必须拍照'
})
isSubmit = false
return
}
uni.showLoading({
@@ -243,6 +283,7 @@ function handleSubmit(item) {
})
.finally(() => {
uni.hideLoading()
isSubmit = false
})
}
@@ -393,6 +434,11 @@ function previewImages(images, currentIndex) {
color: #ffffff;
line-height: 80rpx;
margin-top: 40rpx;
&.disable {
background-color: #ccc;
color: #fff;
}
}
}
</style>

View File

@@ -16,9 +16,7 @@
</view>
<view class="flex justify-between">
<span class="subtitle">{{ data.desc }}</span>
<span class="subtime" v-if="currentStep == index + 1">{{
repairInfo.updateTime
}}</span>
<span class="subtime">{{ data.time }}</span>
</view>
</view>
</template>
@@ -150,10 +148,10 @@ import { getTicketMainById, shareRepairUser } from '@/api/ticket.js'
const currentStep = ref(2)
// 步骤数据
const stepList = ref([
{ title: '提交维修信息', desc: '等待提交报修' },
{ title: '待分配', desc: '等待物业派单中' },
{ title: '待解决', desc: '等待维修人员' },
{ title: '维修完成', desc: '填写维修记录' }
{ title: '提交维修信息', desc: '等待提交报修', time: '' },
{ title: '待分配', desc: '等待物业派单中', time: '' },
{ title: '待解决', desc: '等待维修人员', time: '' },
{ title: '维修完成', desc: '填写维修记录', time: '' }
])
// --------------------------------------
const queryParams = ref({
@@ -231,18 +229,21 @@ function getTicketById() {
function handleStop(row) {
// 0 已提交 1 已分配 2已解决
let status = row.problemStatus
const repairInfo = row.repairProcessList[0]
currentStep.value = 0
// 维修步骤:0提交 1分配 2维修完成 / 待解决 3记录完成 完成
if (status === '0') {
currentStep.value = 1
stepList.value[0].desc = '提交报修成功'
stepList.value[0].time = repairInfo.submitTime
return
}
if (status === '1') {
currentStep.value = 2
stepList.value[0].time = repairInfo.submitTime
stepList.value[1].title = '已派单'
stepList.value[1].desc = '物业已派单'
stepList.value[1].time = repairInfo.allocateTime
stepList.value[2].title = '待解决'
stepList.value[2].desc = `维修人员(${row.repairName})维修中`
return
@@ -250,10 +251,14 @@ function handleStop(row) {
if (status === '2') {
currentStep.value = 4
stepList.value[0].desc = '提交报修成功'
stepList.value[0].time = repairInfo.submitTime
stepList.value[1].title = '已派单'
stepList.value[1].desc = '物业已派单'
stepList.value[1].time = repairInfo.allocateTime
stepList.value[2].title = '已解决'
stepList.value[2].desc = `维修人员(${row.repairName})已解决`
stepList.value[2].time = repairInfo.completeTime
stepList.value[3].time = repairInfo.completeTime
return
}
}
@@ -346,7 +351,7 @@ function handlePrivew(items, index = 0) {
.subtime {
font-weight: 400;
font-size: 22rpx;
color: #999999;
color: rgba(77, 93, 250, 1);
line-height: 40rpx;
}
}