|
|
@@ -58,12 +58,13 @@
|
|
|
<text class="form-label required">开始时间<text style="color: red;">*</text></text>
|
|
|
</view>
|
|
|
<view class="info-value">
|
|
|
- <view class="form-picker" @click="showStartTimePicker = true">
|
|
|
+ <view class="form-picker" @click="infoEntry == '1' ? showStartTimePicker = false : showStartTimePicker = true">
|
|
|
<input
|
|
|
class="input-field"
|
|
|
placeholder="请选择开始时间"
|
|
|
v-model="realStartTime"
|
|
|
type="none"
|
|
|
+ style="pointer-events: none;"
|
|
|
/>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -75,17 +76,18 @@
|
|
|
<text class="form-label required">结束时间<text style="color: red;">*</text></text>
|
|
|
</view>
|
|
|
<view class="info-value">
|
|
|
- <view class="form-picker" @click="showEndTimePicker = true">
|
|
|
+ <view class="form-picker" @click="infoEntry == '1' ? showEndTimePicker = false : showEndTimePicker = true">
|
|
|
<input
|
|
|
class="input-field"
|
|
|
placeholder="请选择结束时间"
|
|
|
v-model="realEndTime"
|
|
|
type="none"
|
|
|
+ style="pointer-events: none;"
|
|
|
/>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
-
|
|
|
+
|
|
|
<!-- 挂起结束时间 -->
|
|
|
<view class="info-item" v-if="resumeInfo != null && resumeShow">
|
|
|
<view class="info-label">
|
|
|
@@ -234,7 +236,7 @@
|
|
|
@cancel="showEndTimePicker = false">
|
|
|
</l-date-time-picker>
|
|
|
</l-popup>
|
|
|
-
|
|
|
+
|
|
|
<l-popup v-model="showResumeTimePicker" position="bottom" :safe-area-inset-bottom="true" :z-index="10000">
|
|
|
<l-date-time-picker
|
|
|
title="选择挂起结束时间"
|
|
|
@@ -353,7 +355,7 @@
|
|
|
const startTimeTime = ref<string>('')
|
|
|
const endTimeDate = ref<string>('')
|
|
|
const endTimeTime = ref<string>('')
|
|
|
-
|
|
|
+
|
|
|
// 搜索关键词
|
|
|
const userKeyword = ref<string>('')
|
|
|
// 人员选择相关变量
|
|
|
@@ -363,7 +365,7 @@
|
|
|
|
|
|
// 信息录入选项
|
|
|
const selectedMisInfoIndex = ref<number>(-1)
|
|
|
-
|
|
|
+
|
|
|
//挂起结束时间
|
|
|
const suspendReason = ref<string>('') // 挂起原因
|
|
|
const flowList = ref<UTSJSONObject[]>([]) //流转过程
|
|
|
@@ -372,7 +374,7 @@
|
|
|
const resumeShow = ref<boolean>(false)
|
|
|
const resumeTime = ref<string>('') // 挂起结束时间
|
|
|
const showResumeTimePicker = ref<boolean>(false)
|
|
|
-
|
|
|
+
|
|
|
// 监听开始时间和结束时间变化
|
|
|
watch(realStartTime, (value: string) => {
|
|
|
console.log('开始时间变化:', value)
|
|
|
@@ -406,7 +408,7 @@
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
-
|
|
|
+
|
|
|
watch(realEndTime, (value: string) => {
|
|
|
console.log('结束时间变化:', value)
|
|
|
// 在这里添加结束时间变化时的处理逻辑
|
|
|
@@ -420,7 +422,7 @@
|
|
|
} else {
|
|
|
resumeShow.value = false
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
} else if(suspendTime != '' && realStartTime.value != '' && new Date(suspendTime).getTime() >= new Date(realStartTime.value).getTime()) { // 作业中挂起
|
|
|
if (realStartTime.value != '' && resumeTime.value != '' && new Date(resumeTime.value).getTime() < new Date(realStartTime.value).getTime()) {
|
|
|
resumeShow.value = true
|
|
|
@@ -523,14 +525,14 @@
|
|
|
realEndTime.value = value
|
|
|
showEndTimePicker.value = false
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
function onResumeTimeConfirm(value: string) {
|
|
|
// 检查新的结束时间是否小于开始时间
|
|
|
if (resumeTime.value != '' && new Date(realStartTime.value as string) > new Date(value)) {
|
|
|
uni.showToast({ title: '结束时间不能小于开始时间', icon: 'none' })
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
resumeTime.value = value
|
|
|
showResumeTimePicker.value = false
|
|
|
}
|
|
|
@@ -618,10 +620,10 @@
|
|
|
// 清空选中的用户数组
|
|
|
selectedUsers.value = [];
|
|
|
selectedUserIds.value = [];
|
|
|
-
|
|
|
+
|
|
|
// 清空显示的用户名
|
|
|
workGroupMemberName.value = '';
|
|
|
-
|
|
|
+
|
|
|
// 清空工作班成员列表
|
|
|
workOrderPersonList.value = [];
|
|
|
};
|
|
|
@@ -659,7 +661,7 @@
|
|
|
});
|
|
|
return false;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if(resumeShow.value) {
|
|
|
if(resumeTime.value == '') {
|
|
|
uni.showToast({
|
|
|
@@ -700,7 +702,7 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// if (infoEntry.value == '2' && (workGroupMemberName.value == '' || selectedUsers.value.length == 0)) {
|
|
|
// uni.showToast({
|
|
|
// title: '请选择工作班成员',
|
|
|
@@ -726,7 +728,7 @@
|
|
|
isDealing.value = true
|
|
|
// 确保附件URLs是最新的逗号分隔格式
|
|
|
attachmentUrls.value = uploadedFiles.value.map(file => file.fileName).join(',');
|
|
|
-
|
|
|
+
|
|
|
flowList.value = []
|
|
|
if (resumeTime.value != '' && resumeInfo.value != null && resumeTime.value != (resumeInfo.value['actionTime'] as string | null)) { //存入新的挂起结束时间
|
|
|
resumeInfo.value['actionTime'] = resumeTime.value
|
|
|
@@ -779,10 +781,9 @@
|
|
|
icon: 'none'
|
|
|
});
|
|
|
}
|
|
|
- } catch (error: any) {
|
|
|
- console.error('结单失败:', error);
|
|
|
+ } catch (error: Error) {
|
|
|
uni.showToast({
|
|
|
- title: '结单失败',
|
|
|
+ title: error.message,
|
|
|
icon: 'none'
|
|
|
});
|
|
|
} finally {
|
|
|
@@ -831,7 +832,7 @@
|
|
|
misNo.value = (data['misNo'] as string | null) ?? ''
|
|
|
workPermitNum.value = (data['workPermitNum'] as string | null) ?? ''
|
|
|
suspendReason.value = (data['suspendReason'] as string | null) ?? ''
|
|
|
-
|
|
|
+
|
|
|
const queryParams = {
|
|
|
misNo: misNo.value,
|
|
|
} as UTSJSONObject;
|
|
|
@@ -865,7 +866,7 @@
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
flowList.value = data['workOrderFlowList'] as UTSJSONObject[]
|
|
|
if (suspendReason.value != '' && flowList.value.length > 0) {
|
|
|
// 获取最后一个 actionType 等于 'resume' 的项
|
|
|
@@ -875,7 +876,7 @@
|
|
|
// 直接给 resumeTime 赋值,无需 formData
|
|
|
resumeTime.value = (lastResumeItem['actionTime'] as string | null) ?? ''
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
const lastSuspendItem = flowList.value.findLast(item => (item['actionType'] as string | null) === 'to_approve') as UTSJSONObject | null
|
|
|
if (lastSuspendItem != null) {
|
|
|
suspendInfo.value = lastSuspendItem
|
|
|
@@ -889,7 +890,7 @@
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
} catch (e) {
|
|
|
uni.showToast({
|
|
|
title: (e as Error).message ?? '加载失败',
|
|
|
@@ -1007,13 +1008,13 @@
|
|
|
border-radius: 8rpx;
|
|
|
padding: 10rpx;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.input-with-clear {
|
|
|
position: relative;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.select-clear {
|
|
|
position: absolute;
|
|
|
right: 20rpx;
|