From 60bdd6e881fbefc8c375eb9e9d71009d6c63859d Mon Sep 17 00:00:00 2001
From: hejianhao <15708179461@qq.com>
Date: 星期日, 18 五月 2025 16:35:16 +0800
Subject: [PATCH] H5工单列表、工单详情、诉求监督

---
 H5/pages/work-detail/work-detail.vue |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 53 insertions(+), 7 deletions(-)

diff --git a/H5/pages/work-detail/work-detail.vue b/H5/pages/work-detail/work-detail.vue
index c999127..f0d15bd 100644
--- a/H5/pages/work-detail/work-detail.vue
+++ b/H5/pages/work-detail/work-detail.vue
@@ -58,7 +58,11 @@
 						</view>
 						<view class="flex j-between">
 							<view class="label">联系电话</view>
-							<view class="value">{{ orderInfo.auditorPhone || '' }}</view>
+							<view class="flex a-center">
+								<view class="value">{{ orderInfo.auditorPhone || '' }}</view>
+								<image @click.stop="callPhone(orderInfo.contactNumber)" src="../../static/tell.png"
+									class="w-58 h-58 shrink0 " />
+							</view>
 						</view>
 						<view class="flex j-between">
 							<view class="label">驳回原因</view>
@@ -78,7 +82,11 @@
 						</view>
 						<view class="flex j-between">
 							<view class="label">联系电话</view>
-							<view class="value">{{ orderInfo.reporterPhone || '' }}</view>
+							<view class="flex a-center">
+								<view class="value">{{ orderInfo.reporterPhone || '' }}</view>
+								<image @click.stop="callPhone(orderInfo.contactNumber)" src="../../static/tell.png"
+									class="w-58 h-58 shrink0 " />
+							</view>
 						</view>
 						<view class="flex j-between" v-if="isParty">
 							<view class="label">所属部门</view>
@@ -125,7 +133,11 @@
 				</view>
 				<view class="flex j-between">
 					<view class="label"> 联系电话</view>
-					<view class="value">{{ orderInfo.contactNumber || "" }}</view>
+					<view class="flex a-center">
+						<view class="value">{{ orderInfo.contactNumber || '' }}</view>
+						<image @click.stop="callPhone(orderInfo.contactNumber)" src="../../static/tell.png"
+							class="w-58 h-58 shrink0 " />
+					</view>
 				</view>
 				<view class="flex j-between">
 					<view class="label">详细地址</view>
@@ -139,7 +151,11 @@
 					</view>
 					<view class="flex j-between">
 						<view class="label">录入人联系方式</view>
-						<view class="value">{{ orderInfo.reportUserPhone || '' }}</view>
+						<view class="flex a-center">
+							<view class="value">{{ orderInfo.reportUserPhone || '' }}</view>
+							<image @click.stop="callPhone(orderInfo.reportUserPhone)" src="../../static/tell.png"
+								class="w-58 h-58 shrink0 " />
+						</view>
 					</view>
 				</view>
 
@@ -149,6 +165,14 @@
 			<!-- 问题描述 -->
 			<view class="problem">
 				<view class="title">问题描述</view>
+				<view v-for="(item,index) in 2" :key="index"
+					class="flex a-center j-between py-17 px-19 br-8 bgcolor1 mb-19">
+					<view class="fs-27 lh-38">语音名字</view>
+					<image v-if="!playFlag" @click.stop="playRecording(item)" src="../../static/24gf-playCircle@2x.png"
+						class="w-27 h-27 shrink0" />
+					<image v-else @click.stop="pausePlaying" src="../../static/pausePlaying.png"
+						class="w-27 h-27 shrink0" />
+				</view>
 				<view class="desc">
 					<!-- <view class="top">{{ orderInfo.descriptionTitle || "" }}</view> -->
 					<!-- <view class="line1"></view> -->
@@ -189,12 +213,16 @@
 				<view class="topInfo">
 					<view class="flex a-center j-between mb-15">
 						<view class="flex a-center">
-							<view class="name">办结人员:</view>
+							<view class="name shrink0">办结人员:</view>
 							<view class="value">{{ orderInfo.completionUsername || '' }}</view>
 						</view>
 						<view class="flex a-center">
-							<view class="name">联系电话:</view>
-							<view class="value">{{ orderInfo.completionUserPhone || '' }}</view>
+							<view class="name shrink0">联系电话:</view>
+							<view class="flex a-center">
+								<view class="value">{{ orderInfo.completionUserPhone || '' }}</view>
+								<image @click.stop="callPhone(orderInfo.completionUserPhone)"
+									src="../../static/tell.png" class="w-58 h-58 shrink0 " />
+							</view>
 						</view>
 					</view>
 					<view class="flex a-center">
@@ -368,6 +396,10 @@
 		delayAudit,
 		revoke
 	} from './service.js'
+	import {
+		mapActions,
+		mapState
+	} from "vuex";
 	export default {
 		data() {
 			return {
@@ -388,6 +420,9 @@
 				userInfo: uni.getStorageSync('userInfo'), //个人信息
 				isParty: false, //true 党员 false 管理员
 			};
+		},
+		computed: {
+			...mapState(["playFlag"]),
 		},
 		onPageScroll(e) {
 			this.scoreTopHeight = e.scrollTop
@@ -418,6 +453,12 @@
 			// })
 		},
 		methods: {
+			...mapActions(["playRecording", "pausePlaying"]),
+			callPhone(phoneNumber) {
+				uni.makePhoneCall({
+					phoneNumber
+				});
+			},
 			// 确认撤回
 			comfirm() {
 				revoke({
@@ -628,6 +669,11 @@
 </style>
 
 <style lang="scss" scoped>
+	.bgcolor1 {
+		background: #FFF1F4;
+		box-shadow: 0rpx 0rpx 27rpx 0rpx rgba(0, 0, 0, 0.1);
+	}
+
 	.color5 {
 		color: #666160;
 	}

--
Gitblit v1.7.1