From 5a85dcab83e969d6b21c599b512a15117e9b8651 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期四, 04 七月 2024 08:54:30 +0800 Subject: [PATCH] '' --- 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