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