diff --git a/src/pages/integrated/repair/detail.vue b/src/pages/integrated/repair/detail.vue
index 23bd863..306247e 100644
--- a/src/pages/integrated/repair/detail.vue
+++ b/src/pages/integrated/repair/detail.vue
@@ -47,6 +47,28 @@
+
+
+
+ 回复内容
+
+ {{ detail.handleRemark }}
+
+
+
+
+
+
@@ -122,7 +144,7 @@ function getUrgencyLabel(urgency: string) {
function getStatusText(status: string) {
const statusMap: Record = {
- '1': '待处理',
+ '1': '已处理',
'2': '处理中',
'3': '已完成',
'4': '已取消'
@@ -132,7 +154,7 @@ function getStatusText(status: string) {
function getStatusClass(status: string) {
const classMap: Record = {
- '1': 'status-pending',
+ '1': 'status-completed',
'2': 'status-processing',
'3': 'status-completed',
'4': 'status-cancelled'
@@ -151,6 +173,29 @@ const imageList = computed(() => {
return detail.value.picUrl.split(',').filter(Boolean)
})
+// 计算处理图片数组
+const handleImageList = computed(() => {
+ if (!detail.value.handlePicUrl) return []
+ const picUrl = String(detail.value.handlePicUrl).trim()
+ if (!picUrl) return []
+ return picUrl.split(',').map(item => item.trim()).filter(Boolean)
+})
+
+// 判断是否有回复内容
+const hasHandleInfo = computed(() => {
+ return detail.value.handleRemark || detail.value.handlePicUrl || detail.value.handleTime || detail.value.handleBy
+})
+
+// 预览处理图片
+function previewHandleImage(index: number) {
+ if (handleImageList.value.length === 0) return
+ const urls = handleImageList.value.map(img => filePath(img))
+ uni.previewImage({
+ current: index,
+ urls: urls
+ })
+}
+
onLoad(async (options: any) => {
const id = options.id
if (!id) {
@@ -309,6 +354,65 @@ onLoad(async (options: any) => {
}
}
+.reply-section {
+ background: #fff;
+ border-radius: 16rpx;
+ padding: 32rpx;
+ margin-bottom: 24rpx;
+
+ .reply-title {
+ font-size: 30rpx;
+ font-weight: bold;
+ color: #333;
+ margin-bottom: 16rpx;
+ padding-bottom: 16rpx;
+ border-bottom: 1rpx solid #f0f0f0;
+ }
+
+ .reply-content {
+ margin-bottom: 16rpx;
+
+ .reply-text {
+ font-size: 28rpx;
+ color: #333;
+ line-height: 1.6;
+ }
+ }
+
+ .handle-image-list {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 16rpx;
+ margin-bottom: 16rpx;
+ }
+
+ .handle-img {
+ width: 180rpx;
+ height: 180rpx;
+ border-radius: 8rpx;
+ background: #f7f8fa;
+ object-fit: cover;
+ }
+
+ .reply-footer {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding-top: 16rpx;
+ border-top: 1rpx solid #f0f0f0;
+
+ .handle-by {
+ font-size: 24rpx;
+ color: #666;
+ }
+
+ .handle-time {
+ font-size: 24rpx;
+ color: #999;
+ }
+ }
+}
+
.detail-footer {
background: #fff;
border-radius: 16rpx;
diff --git a/src/pages/integrated/repair/index.vue b/src/pages/integrated/repair/index.vue
index a6df490..07ce3fd 100644
--- a/src/pages/integrated/repair/index.vue
+++ b/src/pages/integrated/repair/index.vue
@@ -43,8 +43,8 @@
故障描述
-