From c700b0975236978293ce666908a62de89818d16d Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期五, 27 二月 2026 17:51:26 +0800
Subject: [PATCH] 巡检上传功能修改
---
src/pages/inspectionUpload/index.vue | 163 ++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 126 insertions(+), 37 deletions(-)
diff --git a/src/pages/inspectionUpload/index.vue b/src/pages/inspectionUpload/index.vue
index 73749a7..86a9b80 100644
--- a/src/pages/inspectionUpload/index.vue
+++ b/src/pages/inspectionUpload/index.vue
@@ -9,7 +9,8 @@
<view class="task-list">
<view v-for="(item, index) in taskTableData"
:key="index"
- class="task-item">
+ class="task-item"
+ :class="{ 'uninspected': item.fileStatus == 1 }">
<view class="task-header">
<view class="task-info">
<text class="task-name">{{ item.taskName }}</text>
@@ -18,7 +19,8 @@
<view class="task-actions">
<u-button type="primary"
size="small"
- @click.stop="startScanForTask(item)"
+ v-if="item.fileStatus!=2"
+ @click.stop="startScanForTask1(item)"
:customStyle="{
borderRadius: '15px',
height: '30px',
@@ -42,7 +44,7 @@
<view class="task-details">
<view class="detail-item">
<text class="detail-label">浠诲姟ID</text>
- <text class="detail-value">{{ item.taskId || item.id }}</text>
+ <text class="detail-value">{{ item.id }}</text>
</view>
<view class="detail-item">
<text class="detail-label">澶囨敞</text>
@@ -65,11 +67,11 @@
type="success"
inverted></uni-tag>
<uni-tag v-else-if="item.fileStatus==1"
- text="宸℃涓�"
+ text="瓒呮湡"
size="small"
- type="primary"
+ type="error"
inverted></uni-tag>
- <uni-tag v-else=""
+ <uni-tag v-else
text="鏈贰妫�"
size="small"
type="warning"
@@ -98,7 +100,7 @@
</view>
<view class="upload-popup-body">
<!-- 鍒嗙被鏍囩椤� -->
- <view class="upload-tabs">
+ <!-- <view class="upload-tabs">
<view class="tab-item"
:class="{ active: currentUploadType === 'before' }"
@click="switchUploadType('before')">
@@ -114,7 +116,7 @@
@click="switchUploadType('issue')">
鐢熶骇鍚�
</view>
- </view>
+ </view> -->
<!-- 寮傚父鐘舵�侀�夋嫨 -->
<view class="exception-section">
<text class="section-title">鏄惁瀛樺湪寮傚父锛�</text>
@@ -211,13 +213,13 @@
<text>璇烽�夋嫨瑕佷笂浼犵殑{{ getUploadTypeText() }}鍥剧墖鎴栬棰�</text>
</view>
<!-- 缁熻淇℃伅 -->
- <view class="upload-summary">
+ <!-- <view class="upload-summary">
<text class="summary-text">
鐢熶骇鍓�: {{ beforeModelValue.length }}涓枃浠� |
鐢熶骇涓�: {{ afterModelValue.length }}涓枃浠� |
鐢熶骇鍚�: {{ issueModelValue.length }}涓枃浠�
</text>
- </view>
+ </view> -->
</view>
</view>
<view class="upload-popup-footer">
@@ -253,7 +255,7 @@
</view>
<view class="attachment-popup-body">
<!-- 鍒嗙被鏍囩椤� -->
- <view class="attachment-tabs">
+ <!-- <view class="attachment-tabs">
<view class="tab-item"
:class="{ active: currentViewType === 'before' }"
@click="switchViewType('before')">
@@ -269,7 +271,7 @@
@click="switchViewType('issue')">
鐢熶骇鍚� ({{ getAttachmentsByType(2).length }})
</view>
- </view>
+ </view> -->
<!-- 褰撳墠鍒嗙被鐨勯檮浠跺垪琛� -->
<view class="attachment-content">
<view v-if="getCurrentViewAttachments().length > 0"
@@ -408,7 +410,7 @@
// 璁$畻涓婁紶URL
const uploadFileUrl = computed(() => {
- const baseUrl = "http://114.132.189.42:9030";
+ const baseUrl = "http://192.168.1.35:8888";
return baseUrl + uploadConfig.action;
});
@@ -555,17 +557,71 @@
};
const getFileStatus = record => {
- let _beforeProduction =
- record.beforeProduction && record.beforeProduction.length;
- let _afterProduction =
- record.afterProduction && record.afterProduction.length;
- let _productionIssues =
- record.productionIssues && record.productionIssues.length;
- if (_beforeProduction && _afterProduction && _productionIssues) {
+ // let _beforeProduction =
+ // record.beforeProduction && record.beforeProduction.length;
+ // let _afterProduction =
+ // record.afterProduction && record.afterProduction.length;
+ // let _productionIssues =
+ // record.productionIssues && record.productionIssues.length;
+ // if (_beforeProduction && _afterProduction && _productionIssues) {
+ // return 2;
+ // } else if (_beforeProduction || _afterProduction || _productionIssues) {
+ // return 1;
+ // } else {
+ // return 0;
+ // }
+ // let _beforeProduction =
+ // record.beforeProduction && record.beforeProduction.length;
+ if (record.takePhone) {
+ if (record.commonFileListBefore && record.commonFileListBefore.length) {
+ return 2;
+ }
+ if (record.frequencyType == "DAILY") {
+ if (Number(record.inspectionDeadline) && record.createTime) {
+ // 璁$畻鏃堕棿宸紙灏忔椂锛�
+ const now = new Date().getTime();
+ const createTime = new Date(record.createTime).getTime();
+ const hoursDiff = (now - createTime) / (1000 * 60 * 60);
+ if (hoursDiff > Number(record.inspectionDeadline)) {
+ return 1;
+ }
+ }
+ } else {
+ if (Number(record.inspectionDeadline) && record.createTime) {
+ // 璁$畻鏃堕棿宸紙澶╋級
+ const now = new Date().getTime();
+ const createTime = new Date(record.createTime).getTime();
+ const daysDiff = (now - createTime) / (1000 * 60 * 60 * 24);
+ if (daysDiff > Number(record.inspectionDeadline)) {
+ return 1;
+ }
+ }
+ }
+ return 0;
+ } else if (record.inspectionSubmitted) {
return 2;
- } else if (_beforeProduction || _afterProduction || _productionIssues) {
- return 1;
} else {
+ if (record.frequencyType == "DAILY") {
+ if (Number(record.inspectionDeadline) && record.createTime) {
+ // 璁$畻鏃堕棿宸紙灏忔椂锛�
+ const now = new Date().getTime();
+ const createTime = new Date(record.createTime).getTime();
+ const hoursDiff = (now - createTime) / (1000 * 60 * 60);
+ if (hoursDiff > Number(record.inspectionDeadline)) {
+ return 1;
+ }
+ }
+ } else {
+ if (Number(record.inspectionDeadline) && record.createTime) {
+ // 璁$畻鏃堕棿宸紙澶╋級
+ const now = new Date().getTime();
+ const createTime = new Date(record.createTime).getTime();
+ const daysDiff = (now - createTime) / (1000 * 60 * 60 * 24);
+ if (daysDiff > Number(record.inspectionDeadline)) {
+ return 1;
+ }
+ }
+ }
return 0;
}
};
@@ -620,8 +676,7 @@
return;
}
- const currentTaskId =
- currentScanningTask.value?.taskId || currentScanningTask.value?.id;
+ const currentTaskId = currentScanningTask.value?.id;
if (!currentTaskId) {
uni.showToast({ title: "浠诲姟淇℃伅缂哄け", icon: "error" });
return;
@@ -648,7 +703,6 @@
if (task) {
infoData.value = {
...task,
- taskId: task.taskId || task.id,
storageBlobDTO: [], // 鍒濆鍖栨枃浠跺垪琛�
};
}
@@ -662,7 +716,22 @@
// 鏄剧ず涓婁紶寮圭獥
showUploadDialog.value = true;
};
+ const startScanForTask1 = async task => {
+ currentScanningTask.value = task;
+ if (task) {
+ infoData.value = {
+ ...task,
+ storageBlobDTO: [], // 鍒濆鍖栨枃浠跺垪琛�
+ };
+ }
+ // 璁剧疆涓婁紶鐘舵�佺被鍨嬶紙鍙互鏍规嵁浠诲姟绫诲瀷璁剧疆涓嶅悓鐨勭姸鎬侊級
+ uploadStatusType.value = 0; // 榛樿鐘舵��
+
+ // 娓呯┖涔嬪墠鐨勬枃浠�
+ uploadFiles.value = [];
+ showUploadDialog.value = true;
+ };
// 鍏抽棴涓婁紶寮圭獥
const closeUploadDialog = () => {
showUploadDialog.value = false;
@@ -724,7 +793,7 @@
try {
// 瀛樺偍褰撳墠浠诲姟淇℃伅鍒版湰鍦板瓨鍌紝渚涙姤淇〉闈娇鐢�
const taskInfo = {
- taskId: infoData.value?.taskId || infoData.value?.id,
+ id: infoData.value?.id,
taskName: infoData.value?.taskName,
inspectionLocation: infoData.value?.inspectionLocation,
inspector: infoData.value?.inspector,
@@ -771,12 +840,14 @@
beforeModelValue.value.length +
afterModelValue.value.length +
issueModelValue.value.length;
- if (totalFiles === 0) {
- uni.showToast({
- title: "璇峰厛涓婁紶鏂囦欢",
- icon: "none",
- });
- return;
+ if (currentScanningTask.value.takePhone) {
+ if (totalFiles === 0) {
+ uni.showToast({
+ title: "璇峰厛涓婁紶鏂囦欢",
+ icon: "none",
+ });
+ return;
+ }
}
// 鏄剧ず鎻愪氦涓殑鍔犺浇鎻愮ず
@@ -808,7 +879,10 @@
// 娣诲姞寮傚父鐘舵�佷俊鎭�
infoData.value.hasException = hasException.value;
infoData.value.tempFileIds = tempFileIds;
- const result = await uploadInspectionTask({ ...infoData.value });
+ const result = await uploadInspectionTask({
+ ...infoData.value,
+ inspectionSubmitted: true,
+ });
// 妫�鏌ユ彁浜ょ粨鏋�
if (result && (result.code === 200 || result.success)) {
@@ -971,7 +1045,7 @@
};
// 鏂囦欢璁块棶鍩虹鍩燂紙鍚庣瑕佹眰鍓嶇紑锛�
- const filePreviewBase = "http://114.132.189.42:9098";
+ const filePreviewBase = "http://192.168.1.35:8888";
// 灏嗗悗绔繑鍥炵殑鏂囦欢鍦板潃瑙勮寖鎴愬彲璁块棶URL
// 鍏煎鍦烘櫙锛�
@@ -1061,7 +1135,9 @@
count: Math.min(remaining, 1),
mediaType: [type || "image"],
sizeType: ["compressed", "original"],
- sourceType: ["camera"],
+ sourceType: currentScanningTask.value?.takeAlbum
+ ? ["camera", "album"]
+ : ["camera"], // 鏄惁鍏佽鐩稿唽涓婁紶
success: res => {
try {
const files = res?.tempFiles || [];
@@ -1081,6 +1157,8 @@
createTime: Date.now(),
uid: Date.now() + Math.random() + idx,
};
+
+ console.log("chooseMedia 鎴愬姛鑾峰彇鏂囦欢:", file);
handleBeforeUpload(file);
});
} catch (e) {
@@ -1103,7 +1181,7 @@
uni.chooseImage({
count: 1,
sizeType: ["compressed", "original"],
- sourceType: ["camera"],
+ sourceType: ["camera", "album"],
success: res => {
const tempFilePath = res?.tempFilePaths?.[0];
const tempFile = res?.tempFiles?.[0] || {};
@@ -1136,7 +1214,7 @@
count: 1,
mediaType: ["image", "video"],
sizeType: ["compressed", "original"],
- sourceType: ["camera"],
+ sourceType: ["camera", "album"],
success: res => {
try {
if (!res.tempFiles || res.tempFiles.length === 0) {
@@ -1537,6 +1615,17 @@
transition: all 0.3s ease;
}
+ .task-item.uninspected {
+ border: 1px solid #f56c6cb3;
+ background-color: #fef2f2;
+ }
+
+ .task-item.uninspected .task-name,
+ .task-item.uninspected .task-location,
+ .task-item.uninspected .detail-value {
+ color: #000000;
+ }
+
.task-header {
display: flex;
justify-content: space-between;
--
Gitblit v1.9.3