From 9e47e0ece28c6145638aecca5bdf86857c049cf9 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期五, 31 五月 2024 18:23:34 +0800
Subject: [PATCH] ‘’

---
 h5/pages/staff/meetingSubOrder.vue |  368 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 236 insertions(+), 132 deletions(-)

diff --git a/h5/pages/staff/meetingSubOrder.vue b/h5/pages/staff/meetingSubOrder.vue
index a452d63..031a92e 100644
--- a/h5/pages/staff/meetingSubOrder.vue
+++ b/h5/pages/staff/meetingSubOrder.vue
@@ -1,145 +1,249 @@
 <template>
-	<view class="main_app">
-		<view class="module_list">
-			<view class="item">
-				<view class="name">浼氳鏃堕棿</view>
-				<view class="line">
-					<view class="label">2022骞�22鏈�2鏃� 1000000000</view>
-					<u-icon name="arrow-right" color="#999999" size="14" />
-				</view>
-			</view>
-			<view class="item">
-				<view class="name">浼氳瀹�</view>
-				<view class="line">
-					<view class="label">aaaaaaaa</view>
-				</view>
-			</view>
-			<view class="item">
-				<view class="name">棰勭害浜�</view>
-				<view class="line">
-					<view class="label">aaaaaaaa</view>
-				</view>
-			</view>
-			<view class="empty"></view>
-			<view class="item">
-				<view class="name">
-					<text>浼氳涓婚</text>
-					<text class="star">*</text>
-				</view>
-				<view class="line">
-					<input type="text" v-model="param.aaa" placeholder="璇疯緭鍏ヤ細璁富棰�" placeholder-class="placeholder9" class="label">
-				</view>
-			</view>
-			<view class="item">
-				<view class="name">
-					<text>浼氳鍐呭</text>
-				</view>
-				<view class="line">
-					<u-textarea border="none" v-model="param.aaa" count :maxlength="300" placeholder="璇疯緭鍏ヤ細璁唴瀹�" placeholder-class="placeholder9" class="label" />
-				</view>
-			</view>
-			<view class="empty"></view>
-			<view class="item">
-				<view class="name">鍙備細浜哄憳</view>
-				<view class="line">
-					<view class="label">
-						<text v-if="false">moumoumou</text>
-						<text v-else class="placeholder9" @click="$jump('/pages/staff/memberSel')">璇烽�夋嫨</text>
-					</view>
-					<u-icon name="arrow-right" color="#999999" size="14" @click="$jump('/pages/staff/memberSel')" />
-				</view>
-			</view>
-			<view class="item">
-				<view class="name">閫夋嫨鏈嶅姟椤�</view>
-				<view class="line">
-					<view class="label">
-						<view class="service_item" v-for="(item,index) in serviceOps" :key="index">
-							{{ item.value }}
-						</view>
-					</view>
-				</view>
-			</view>
-			<view class="item">
-				<view class="name">
-					<text>澶囨敞</text>
-				</view>
-				<view class="line">
-					<textarea v-model="param.as" :maxlength="-1" placeholder="璇疯緭鍏�" placeholder-class="placeholder9" class="label" />
-				</view>
-			</view>
-			
-			<view class="sub_btn">
-				纭棰勭害
-			</view>
-			
-		</view>
-	</view>
+  <view class="main_app">
+    <view class="module_list">
+      <view class="item">
+        <view class="name">浼氳鏃堕棿</view>
+        <view class="line">
+          <view class="label">
+            {{ param.activeDate }} {{ param.startTime }}-{{ param.endTime }}
+          </view>
+          <u-icon name="arrow-right" color="#999999" size="14" />
+        </view>
+      </view>
+      <view class="item">
+        <view class="name">浼氳瀹�</view>
+        <view class="line">
+          <view class="label">{{ param.roomName }}</view>
+        </view>
+      </view>
+      <view class="item">
+        <view class="name">棰勭害浜�</view>
+        <view class="line">
+          <view class="label">{{ userInfo.realname }}</view>
+        </view>
+      </view>
+      <view class="empty"></view>
+      <view class="item">
+        <view class="name">
+          <text>浼氳涓婚</text>
+          <text class="star">*</text>
+        </view>
+        <view class="line">
+          <input
+            type="text"
+            v-model="param.name"
+            placeholder="璇疯緭鍏ヤ細璁富棰�"
+            placeholder-class="placeholder9"
+            class="label"
+          />
+        </view>
+      </view>
+      <view class="item">
+        <view class="name">
+          <text>浼氳鍐呭</text>
+        </view>
+        <view class="line">
+          <u-textarea
+            border="none"
+            v-model="param.content"
+            count
+            :maxlength="300"
+            placeholder="璇疯緭鍏ヤ細璁唴瀹�"
+            placeholder-class="placeholder9"
+            class="label"
+          />
+        </view>
+      </view>
+      <view class="empty"></view>
+      <view class="item">
+        <view class="name">鍙備細浜哄憳</view>
+        <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>
+            <text
+              v-else
+              class="placeholder9"
+              @click="$jump('/pages/staff/memberSel')"
+              >璇烽�夋嫨</text
+            >
+          </view>
+          <u-icon
+            name="arrow-right"
+            color="#999999"
+            size="14"
+            @click="$jump('/pages/staff/memberSel')"
+          />
+        </view>
+      </view>
+      <view class="item">
+        <view class="name">閫夋嫨鏈嶅姟椤�</view>
+        <view class="line">
+          <view class="label">
+            <view
+              class="service_item"
+							:class="{active: item.checked}"
+              v-for="(item, index) in info.projectList"
+              :key="index"
+							@click="serviceClick(item)"
+            >
+              {{ item.projectName }}
+            </view>
+          </view>
+        </view>
+      </view>
+      <view class="item">
+        <view class="name">
+          <text>澶囨敞</text>
+        </view>
+        <view class="line">
+          <textarea
+            v-model="param.remark"
+            :maxlength="-1"
+            placeholder="璇疯緭鍏�"
+            placeholder-class="placeholder9"
+            class="label"
+          />
+        </view>
+      </view>
+
+      <view class="sub_btn" @click="onSubmit"> 纭棰勭害 </view>
+    </view>
+  </view>
 </template>
 
 <script>
-	export default {
-		data() {
-			return {
-				param: {},
-				serviceOps: [
-					{ key: '0', value: '甯崱' },
-					{ key: '1', value: '鎶曞奖浠�' },
-					{ key: '2', value: '绗旇鏈數鑴�' },
-				]
-			};
-		}
-	}
+import {
+  reservationMeeting,
+  getRoomDetail
+} from '@/api'
+import dayjs from 'dayjs'
+export default {
+  data() {
+    return {
+      param: {},
+      userInfo: uni.getStorageSync('userInfo'),
+			info: {},
+    }
+  },
+  onLoad(option) {
+    this.param = { ...option }
+    this.$set(this.param, 'activeDate', dayjs(option.yudingDate).format('YYYY骞碝鏈圖鏃�'))
+		this.initOption()
+  },
+	mounted() {
+    this.$eventBus.$on('meetingPeo', (res) => {
+      this.$set(this.param, 'sysList', res)
+      // 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({
+        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){
+
+				}
+			})
+		},
+    selPeople() {
+			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()
+		},
+    initOption() {
+			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
+					})
+				}
+      })
+    }
+  }
+}
 </script>
 
 <style lang="scss">
-.module_list{
-	.item{
-		border-bottom: 1rpx solid #E5E5E5;
-		padding: 30rpx 0;
-		.name{
-			color: #666666;
-			margin-bottom: 30rpx;
-		}
-		.line{
-			display: flex;
-			.label{
-				flex: 1;
-				display: flex;
-				align-items: center;
-				.service_item{
-					height: 64rpx;
-					line-height: 64rpx;
-					background: #F7F7F7;
-					border-radius: 4rpx;
-					padding: 0 24rpx;
-					margin-right: 20rpx;
+.module_list {
+  .item {
+    border-bottom: 1rpx solid #e5e5e5;
+    padding: 30rpx 0;
+    .name {
+      color: #666666;
+      margin-bottom: 30rpx;
+    }
+    .line {
+      display: flex;
+      .label {
+        flex: 1;
+        display: flex;
+        align-items: center;
+        .service_item {
+          height: 64rpx;
+          line-height: 64rpx;
+          background: #f7f7f7;
+          border-radius: 4rpx;
+          padding: 0 24rpx;
+          margin-right: 20rpx;
+        }
+				.active{
+					background-color: #4d99a8;
+					color: #fff;
 				}
-			}
-			
-		}
-	}
-	padding-bottom: 100rpx;
+      }
+    }
+  }
+  padding-bottom: 100rpx;
 }
 .empty {
-	width: 750rpx;
-	height: 20rpx;
-	background-color: #f7f7f7;
-	margin: 0 -30rpx;
+  width: 750rpx;
+  height: 20rpx;
+  background-color: #f7f7f7;
+  margin: 0 -30rpx;
 }
-.sub_btn{
-				width: 690rpx;
-				height: 72rpx;
-				line-height: 72rpx;
-				text-align: center;
-				background: #279BAA;
-				box-shadow: 0rpx -1rpx 0rpx 0rpx #EEEEEE;
-				border-radius: 36rpx;
-				font-size: 30rpx;
-				color: #FFFFFF;
-				margin-top: 20rpx;
-			}
-.star{
-	margin-left: 4rpx;
-	color: #e42d2d;
+.sub_btn {
+  width: 690rpx;
+  height: 72rpx;
+  line-height: 72rpx;
+  text-align: center;
+  background: #279baa;
+  box-shadow: 0rpx -1rpx 0rpx 0rpx #eeeeee;
+  border-radius: 36rpx;
+  font-size: 30rpx;
+  color: #ffffff;
+  margin-top: 20rpx;
+}
+.star {
+  margin-left: 4rpx;
+  color: #e42d2d;
 }
 </style>

--
Gitblit v1.9.3