From 73af3ed9fbcc616cdecc739fc4307163c19c5764 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 07 六月 2024 14:35:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 h5/pages/staff/meetingSubOrder.vue |  183 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 131 insertions(+), 52 deletions(-)

diff --git a/h5/pages/staff/meetingSubOrder.vue b/h5/pages/staff/meetingSubOrder.vue
index 7180c9a..18d5a41 100644
--- a/h5/pages/staff/meetingSubOrder.vue
+++ b/h5/pages/staff/meetingSubOrder.vue
@@ -5,7 +5,9 @@
         <view class="name">浼氳鏃堕棿</view>
         <view class="line">
           <view class="label">
-            {{ param.activeDate }} {{ param.startTime }}-{{ param.endTime }}
+            {{ param.activeDate || param.meetingDate }} 
+            <text class="ml12" v-if="!param.id">{{ param.startTime }}-{{ param.endTime }}</text>
+            <text class="ml12" v-if="param.id">{{ param.meetingTime }}</text>
           </view>
           <u-icon name="arrow-right" color="#999999" size="14" />
         </view>
@@ -60,8 +62,8 @@
         <view class="line" @click="selPeople">
           <view class="label">
             <text v-if="param.sysList && param.sysList.length > 0">
-							{{ param.sysList.map(i=>i.realname).join(',') }}
-						</text>
+              {{ param.sysList.map((i) => i.realname).join(",") }}
+            </text>
             <text
               v-else
               class="placeholder9"
@@ -83,10 +85,10 @@
           <view class="label">
             <view
               class="service_item"
-							:class="{active: item.checked}"
+              :class="{ active: item.checked }"
               v-for="(item, index) in info.projectList"
               :key="index"
-							@click="serviceClick(item)"
+              @click="serviceClick(item)"
             >
               {{ item.projectName }}
             </view>
@@ -108,7 +110,8 @@
         </view>
       </view>
 
-      <view class="sub_btn" @click="onSubmit"> 纭棰勭害 </view>
+      <view v-if="param.id" class="sub_btn" @click="onUpdate">纭淇敼</view>
+      <view v-else class="sub_btn" @click="onSubmit"> 纭棰勭害 </view>
     </view>
   </view>
 </template>
@@ -116,7 +119,10 @@
 <script>
 import {
   reservationMeeting,
-  getRoomDetail
+  getRoomDetail,
+  meetingDetail,
+  updateById,
+  getAppRoomDetail
 } from '@/api'
 import dayjs from 'dayjs'
 export default {
@@ -124,68 +130,141 @@
     return {
       param: {},
       userInfo: uni.getStorageSync('userInfo'),
-			info: {},
+      info: {},
     }
   },
   onLoad(option) {
-    this.param = { ...option }
-    this.$set(this.param, 'activeDate', dayjs(option.yudingDate).format('YYYY骞碝鏈圖鏃�'))
-		this.initOption()
+    if (option.id) {
+      uni.setNavigationBarTitle({
+        title: '浼氳璇︽儏'
+      })
+      this.getDetail(option.id)
+    } else {
+      this.param = { ...option }
+      const bookingTimeList = option.bookingTimeList.split(',').map(i => {
+        return {
+          timeId: Number(i)
+        }
+      })
+      this.$set(this.param, 'bookingTimeList', bookingTimeList)
+      this.$set(this.param, 'activeDate', dayjs(option.yudingDate).format('YYYY骞碝鏈圖鏃�'))
+      this.initOption()
+    }
   },
-	mounted() {
+  mounted() {
     this.$eventBus.$on('meetingPeo', (res) => {
-      this.$set(this.param, 'sysList', res)
+      this.$set(this.param, 'sysList', res.map(i => {
+        i.userId = i.id
+        return i
+      }))
       // this.$set(this.param, 'memberIds', res.map(i => i.id).join(','))
       // this.$set(this.param, 'memberNames', res.map(i => i.name).join(','))
     })
   },
   methods: {
-		onSubmit() {
-			const { param, info } = this
-			if (!param.name) return uni.showToast({
+    getDetail(id) {
+      meetingDetail({ id }).then(res => {
+        this.param = { ...res.data,name: res.data.meetingName, content: res.data.meetingContent, sysList: res.data.userResponseList }
+        // this.param = { ...res.data }
+        if(this.param.sysList && this.param.sysList.length > 0){
+          this.param.sysList.forEach(i => {
+            i.userId = i.id
+          })
+        }
+        getRoomDetail({ roomId: res.data.roomId }).then(ress => {
+          this.info = ress.data
+          if (this.info && this.info.projectList) {
+            this.info.projectList.forEach(i => {
+              i.checked = false
+              if(res.data.projectsResponseList && res.data.projectsResponseList.length > 0){
+                res.data.projectsResponseList.forEach(item2 => {
+                  if(i.projectId === item2.id){
+                    i.checked = true
+                  }
+                })
+              }
+            })
+          }
+        })
+      })
+    },
+    onUpdate() {
+      const { param, info } = this
+      if (!param.name) return uni.showToast({
         title: '璇疯緭鍏ヤ細璁富棰�',
         icon: 'none'
       })
-			reservationMeeting({
-				...param,
-				startTime: `${param.yudingDate} ${param.startTime}:00`,
-				endTime: `${param.yudingDate} ${param.endTime}:00`,
-				projectList: info.projectList.filter(i => i.checked),
-			}).then(res => {
-				if(res.code === 200){
-
-				}
-			})
-		},
+      reservationMeeting({
+        ...param,
+        projectList: info.projectList.filter(i => i.checked),
+      }).then(res => {
+        if (res.code === 200) {
+          setTimeout(() => {
+            uni.showToast({
+              title: '淇敼鎴愬姛',
+              icon: 'success',
+              duration: 2000
+            })
+          })
+          uni.redirectTo({
+            url: '/pages/staff/index'
+          })
+        }
+      })
+    },
+    onSubmit() {
+      const { param, info } = this
+      if (!param.name) return uni.showToast({
+        title: '璇疯緭鍏ヤ細璁富棰�',
+        icon: 'none'
+      })
+      reservationMeeting({
+        ...param,
+        startTime: `${param.yudingDate} ${param.startTime}:00`,
+        endTime: `${param.yudingDate} ${param.endTime}:00`,
+        projectList: info.projectList.filter(i => i.checked),
+      }).then(res => {
+        if (res.code === 200) {
+          setTimeout(() => {
+            uni.showToast({
+              title: '棰勭害鎴愬姛',
+              icon: 'success',
+              duration: 2000
+            })
+          })
+          uni.redirectTo({
+            url: '/pages/staff/index'
+          })
+        }
+      })
+    },
     selPeople() {
-			const { param } = this
-			let startTime = param.yudingDate + ' ' + param.startTime
-			let endTime = param.yudingDate + ' ' + param.endTime
+      const { param } = this
+      let startTime = param.yudingDate + ' ' + param.startTime
+      let endTime = param.yudingDate + ' ' + param.endTime
       uni.navigateTo({
         url: `/pages/staff/meetingSel?startTime=${startTime}&endTime=${endTime}`
       })
     },
-		serviceClick(item) {
-			const { info } = this
-			info.projectList.forEach(ite => {
-				if(ite.projectId === item.projectId){
-					ite.checked = !ite.checked
-				}
-			})
-			this.$forceUpdate()
-		},
+    serviceClick(item) {
+      const { info } = this
+      info.projectList.forEach(ite => {
+        if (ite.projectId === item.projectId) {
+          ite.checked = !ite.checked
+        }
+      })
+      this.$forceUpdate()
+    },
     initOption() {
-			const roomId = Number(this.param.roomId)
+      const roomId = Number(this.param.roomId)
       getRoomDetail({ roomId }).then(res => {
-        res.data.projectList.forEach(item => {
-          item.active = false
-        })
         this.info = res.data
-				if(this.info && this.info.projectList){
-					this.info.projectList.forEach(i => {
-						i.checked = false
-					})
-				}
+        if (this.info && this.info.projectList) {
+          this.info.projectList.forEach(i => {
+            i.checked = false
+
+          })
+        }
       })
     }
   }
@@ -215,10 +294,10 @@
           padding: 0 24rpx;
           margin-right: 20rpx;
         }
-				.active{
-					background-color: #4d99a8;
-					color: #fff;
-				}
+        .active {
+          background-color: #4d99a8;
+          color: #fff;
+        }
       }
     }
   }

--
Gitblit v1.9.3