From 97e1b9d6c8d7da0891aa7a1e00116b4b14e1b942 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 05 七月 2024 18:22:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
h5/pages/staff/meetingDetail.vue | 145 ++++++++++++++++++++++++++++++++++++++----------
1 files changed, 115 insertions(+), 30 deletions(-)
diff --git a/h5/pages/staff/meetingDetail.vue b/h5/pages/staff/meetingDetail.vue
index 0222759..fd97fcf 100644
--- a/h5/pages/staff/meetingDetail.vue
+++ b/h5/pages/staff/meetingDetail.vue
@@ -10,7 +10,7 @@
<!-- -->
<view class="empty"></view>
<view class="module_list">
- <view class="item">
+ <view class="item" v-if="detail.meetingContent">
<view class="label">浼氳鍐呭</view>
<view class="value">
<!-- <text>涓昏璁ㄨ鏅鸿兘浼氳瀹ょ郴缁熼�夊瀷锛岃澶у涓�瀹氳鎸夋椂鏉ュ紑浼氾紝鏃堕棿瀹濊吹銆傛劅璋㈠ぇ瀹讹紒</text> -->
@@ -24,7 +24,7 @@
/>
</view>
</view>
- <view class="item">
+ <view class="item" v-if="detail.userResponseList && detail.userResponseList.length > 0">
<view class="label">鍙備細浜哄憳</view>
<view class="value">
<view class="personnel">
@@ -33,13 +33,19 @@
v-for="mem in detail.userResponseList"
:key="mem.id"
>
- <image :src="mem.avatar ? mem.avatar : require('@/static/meeting/common/default_user@2x.png')" class="avatar" mode=""></image>
+ <image
+ v-if="mem.avatar"
+ :src="mem.avatar"
+ class="avatar"
+ mode=""
+ ></image>
+ <view v-else class="avatar">{{ mem.realname.slice(0, 1) }}</view>
<view class="name">{{ mem.realname }}</view>
</view>
</view>
</view>
</view>
- <view class="item">
+ <view class="item" v-if="detail.projectsResponseList && detail.projectsResponseList.length > 0">
<view class="label">鏈嶅姟椤�</view>
<view class="value">
<template v-for="(ser, serI) in detail.projectsResponseList">
@@ -54,13 +60,13 @@
</template>
</view>
</view>
- <view class="item">
+ <view class="item" v-if="detail.remark || detail.meetingRemark">
<view class="label">澶囨敞</view>
<view class="value">{{ detail.remark || detail.meetingRemark }}</view>
</view>
<view class="item">
<view class="label">棰勭害浜�</view>
- <view class="value"
+ <view class="value" v-if="detail.bookingUser"
>{{ detail.bookingUser.companyName || "" }}
{{ detail.bookingUser.realname }}
{{ detail.bookingUser.mobile }}</view
@@ -69,22 +75,72 @@
</view>
<view class="empty empty2"></view>
<view class="main_footer" v-if="detail.meetingStatus == '1'">
- <view class="btn" @click="handleCancel(detail.id)">鎾ゅ洖</view>
+ <view class="btn" @click="openCancel">鎾ゅ洖</view>
<view class="btn agree" @click="handleEdit">淇敼</view>
</view>
<view class="main_footer" v-if="detail.meetingStatus == '2'">
- <view class="btn agree" @click="handleSub('2')">缁撴潫</view>
+ <view class="btn agree" @click="openClose">缁撴潫</view>
</view>
+ <!-- 鎾ゅ洖 -->
+ <u-popup
+ catchtouchmove
+ :show="isShowCancel"
+ closeable
+ :round="12"
+ mode="bottom"
+ @close="isShowCancel = false"
+ >
+ <view class="cancel_modal">
+ <view class="title">鎾ら攢棰勭害</view>
+ <view class="line">
+ <view class="label">鎾ゅ洖璇存槑</view>
+ <textarea
+ class="textarea"
+ placeholder="璇疯緭鍏�"
+ maxlength="300"
+ v-model="cancelParam.businessRemark"
+ />
+ </view>
+ <view class="sub_btn" @click="handleCancel('0')">鎻愪氦</view>
+ </view>
+ </u-popup>
+ <!-- 缁撴潫 -->
+ <u-popup
+ catchtouchmove
+ closeable
+ :show="isShowClose"
+ :round="12"
+ mode="bottom"
+ @close="isShowClose = false"
+ >
+ <view class="cancel_modal">
+ <view class="title">缁撴潫棰勭害</view>
+ <view class="line">
+ <view class="label">缁撴潫璇存槑</view>
+ <textarea
+ class="textarea"
+ placeholder="璇疯緭鍏�"
+ maxlength="300"
+ v-model="cancelParam.businessRemark"
+ />
+ </view>
+ <view class="sub_btn" @click="handleCancel('1')">鎻愪氦</view>
+ </view>
+ </u-popup>
</view>
</template>
<script>
-import { meetingDetail, cancelById } from '@/api'
+import { meetingDetail, cancelById, closeMeetignById } from '@/api'
export default {
data() {
return {
param: {},
detail: {},
+
+ cancelParam: {},
+ isShowCancel: false,
+ isShowClose: false,
id: ''
}
},
@@ -99,30 +155,30 @@
this.detail = res.data
})
},
- handleCancel(id) {
- uni.showModal({
- title: '鎻愮ず',
- // confirmText: '纭',
- content: '纭鎾ゅ洖璇ヤ細璁悧',
- success: function (res) {
- if (res.confirm) {
- cancelById({ id }).then(res => {
- if (res.code === 200) {
- setTimeout(() => {
- uni.showToast({
- title: '鎾ゅ洖鎴愬姛',
- icon: 'success'
- })
- })
- setTimeout(() => {
- uni.navigateBack()
- })
- }
+ openCancel() {
+ this.isShowCancel = true
+ this.cancelParam = {}
+ },
+ openClose() {
+ this.isShowClose = true
+ this.cancelParam = {}
+ },
+ handleCancel(str) {
+ const { id } = this.detail
+ let fn = str == '0' ? cancelById : closeMeetignById
+ fn({ id, ...this.cancelParam }).then(res => {
+ if (res.code === 200) {
+ setTimeout(() => {
+ uni.showToast({
+ title: '鎻愪氦鎴愬姛',
+ icon: 'success'
})
- }
+ })
+ setTimeout(() => {
+ uni.navigateBack()
+ })
}
})
-
},
handleEdit() {
const { id } = this
@@ -189,10 +245,12 @@
flex-direction: column;
justify-content: center;
align-items: center;
+ justify-content: center;
margin-right: 24rpx;
.avatar {
width: 72rpx;
height: 72rpx;
+ margin: 0;
border-radius: 50%;
}
.name {
@@ -241,4 +299,31 @@
.empty2 {
height: 280rpx !important;
}
+.cancel_modal {
+ height: 440rpx;
+ padding: 30rpx;
+ .title {
+ padding: 0 30rpx 50rpx;
+ text-align: center;
+ }
+ .line {
+ .label {
+ margin-bottom: 10rpx;
+ }
+ textarea {
+ height: 120rpx;
+ }
+ }
+ .sub_btn {
+ background-color: $uni-color-primary;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #fff;
+ border-radius: 44rpx;
+ width: 690rpx;
+ height: 88rpx;
+ margin: 20rpx auto;
+ }
+}
</style>
--
Gitblit v1.9.3