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