From 1ae471941bbdf9dde5dba668d33acf415fc6ec07 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 21 十月 2024 16:54:48 +0800
Subject: [PATCH] 最新版本541200007
---
admin/src/views/meeting/components/OperaBookingsWindow.vue | 172 ++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 127 insertions(+), 45 deletions(-)
diff --git a/admin/src/views/meeting/components/OperaBookingsWindow.vue b/admin/src/views/meeting/components/OperaBookingsWindow.vue
index b998662..3f5b2c7 100644
--- a/admin/src/views/meeting/components/OperaBookingsWindow.vue
+++ b/admin/src/views/meeting/components/OperaBookingsWindow.vue
@@ -4,6 +4,7 @@
:visible.sync="visible"
:confirm-working="isWorking"
@confirm="confirm"
+ width="840px"
>
<el-form :model="form" ref="form" :rules="rules" label-width="120px" label-suffix="锛�">
<el-form-item label="鍏宠仈浼氳瀹�" prop="roomId">
@@ -11,6 +12,7 @@
v-model="form.roomId"
filterable
clearable
+ :disabled="isEdit"
placeholder="璇烽�夋嫨鍏宠仈浼氳瀹�"
@change="selectRoom"
>
@@ -19,6 +21,7 @@
</el-form-item>
<el-form-item label="棰勫畾鏃ユ湡" prop="date">
<el-date-picker
+ :disabled="isEdit"
v-model="form.date"
value-format="yyyy-MM-dd"
placeholder="璇烽�夋嫨棰勫畾鏃ユ湡"
@@ -31,7 +34,11 @@
class="time-item"
v-for="(item, index) in timelist"
:key="item.id"
- :class="form.times.indexOf(index)!=-1?'time-item-sel': item.isUse ? 'time-item-disable' : ''"
+ :class="{
+ 'time-item-sel': form.times.indexOf(index)!=-1,
+ 'time-item-disable': item.isUse,
+ 'disable': item.bookingTimeId
+ }"
@click="selectTimes(index, item)"
>{{ `${item.startTime}-${item.endTime}` }}</div>
</div>
@@ -40,7 +47,7 @@
<el-input v-model="form.name" placeholder="璇疯緭鍏ヤ細璁富棰�" :maxlength="30" v-trim/>
</el-form-item>
- <el-form-item label="鍙備細浜哄憳" prop="sysList">
+ <el-form-item label="鍙備細浜哄憳">
<!-- <el-input style="width:40%" disabled v-model="sysList" placeholder="閫夋嫨鍙備細浜哄憳" v-trim/> -->
<el-select
v-model="form.sysList"
@@ -94,6 +101,32 @@
</el-form-item>
<input type="file" @change="upFiles" ref="upFile" style="display: none;" />
</el-form>
+
+ <el-dialog
+ title="浼氳瀹ら绾︽儏鍐�"
+ :visible.sync="isShowDetail"
+ append-to-body
+ width="600px"
+ >
+ <div class="detail_modal">
+ <div class="h1">{{ activeInfo.meetingName }}</div>
+ <div class="line">
+ <div class="label">浼氳鏃堕棿</div>
+ <div class="value" v-if="activeInfo.meetingDate">
+ {{ activeInfo.meetingDate.slice(5) }} {{ activeInfo.meetingTime }}
+ </div>
+ </div>
+ <div class="line">
+ <div class="label">浼氳瀹�</div>
+ <div class="value">{{ activeInfo.roomName }}</div>
+ </div>
+ <div class="line">
+ <div class="label">棰勭害浜�</div>
+ <div class="value">{{ activeInfo.bookingUserName }}</div>
+ </div>
+ <el-button @click="isShowDetail = false">鍏抽棴</el-button>
+ </div>
+ </el-dialog>
</GlobalAlertWindow>
</template>
@@ -101,9 +134,10 @@
import BaseOpera from '@/components/base/BaseOpera'
import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
import FileLink from '@/views/meeting/components/common/FileLink'
-import { upload as upload } from '@/api/system/common'
+import { upload } from '@/api/system/common'
import { fetchList as userList } from '@/api/system/user'
import { findListByObjId } from '@/api/meeting/projects'
+import { BookDetailById } from '@/api/meeting/bookings'
import { findList } from '@/api/meeting/roomTime'
import { numRule, arrayRule } from '@/utils/form'
export default {
@@ -126,8 +160,10 @@
times: [],
content: '',
sysList: [],
- fileList: [],
+ fileList: []
},
+ activeInfo: {},
+ isShowDetail: false,
isEdit: false,
// room: [],
sysList: [],
@@ -136,20 +172,20 @@
// 楠岃瘉瑙勫垯
rules: {
roomId: [
- { required: true, validator: numRule, message: '璇烽�夋嫨鍏宠仈浼氳瀹�', tigger: 'change' }
+ { required: true, validator: numRule, message: '璇烽�夋嫨鍏宠仈浼氳瀹�', tigger: 'change' }
],
date: [
- { required: true, message: '璇烽�夋嫨棰勫畾鏃ユ湡', tigger: 'change' }
+ { required: true, message: '璇烽�夋嫨棰勫畾鏃ユ湡', tigger: 'change' }
],
times: [
- { required: true, validator: arrayRule, message: '璇烽�夋嫨棰勭害鏃堕棿', tigger: 'change' }
+ { required: true, validator: arrayRule, message: '璇烽�夋嫨棰勭害鏃堕棿', tigger: 'change' }
],
sysList: [
- { required: true, validator: arrayRule, message: '璇烽�夋嫨鍙備細浜哄憳', tigger: 'change' }
+ { required: true, validator: arrayRule, message: '璇烽�夋嫨鍙備細浜哄憳', tigger: 'change' }
],
name: [
- { required: true, message: '璇烽�夋嫨杈撳叆浼氳涓婚', tigger: 'blur' }
- ],
+ { required: true, message: '璇烽�夋嫨杈撳叆浼氳涓婚', tigger: 'blur' }
+ ]
// content: [
// { required: true, message: '璇疯緭鍏ヤ細璁唴瀹�', tigger: 'blur' }
// ],
@@ -165,10 +201,10 @@
userList({
page: 1,
capacity: 9999,
- model: { realname: this.filterText },
+ model: { realname: this.filterText, memberType: 2, companyType: 1 }
})
.then(res => {
- console.log('userList', res);
+ console.log('userList', res)
this.sysList = res.records
})
},
@@ -178,7 +214,7 @@
* @title 绐楀彛鏍囬
* @target 缂栬緫鐨勫璞�
*/
- open (title, target) {
+ open (title, target) {
this.title = title
this.visible = true
this.timelist = []
@@ -187,8 +223,6 @@
if (target == null) {
this.$nextTick(() => {
this.$refs.form.resetFields()
- console.log(this.form.content);
- debugger
this.form[this.configData['field.id']] = null
})
return
@@ -208,7 +242,7 @@
this.selectRoom(this.form.roomId)
})
},
- selectRoom(objId) {
+ selectRoom (objId) {
this.getTimes()
findListByObjId({
objId: objId,
@@ -218,11 +252,11 @@
this.projectList = res
})
},
- selectDate(v) {
+ selectDate (v) {
// console.log(v);
this.getTimes()
},
- getTimes(isInit=false) {
+ getTimes (isInit = false) {
this.form.times = []
this.timelist = []
@@ -259,33 +293,45 @@
})
}
},
- selectTimes(index, item) {
+ getDetail (id) {
+ BookDetailById({
+ id
+ }).then(res => {
+ this.activeInfo = res
+ this.isShowDetail = true
+ })
+ },
+ selectTimes (index, item) {
+ if (item.bookingTimeId) {
+ this.getDetail(item.bookingTimeId)
+ return
+ }
if (this.isEdit) {
return
}
- let tempIndex = this.form.times.indexOf(index)
+ const tempIndex = this.form.times.indexOf(index)
if (tempIndex != -1) {
- if (tempIndex==0) {
+ if (tempIndex == 0) {
// console.log(this.form.times);
// debugger
this.form.times.splice(0, 1)
- } else if (tempIndex==this.form.times.length-1) {
+ } else if (tempIndex == this.form.times.length - 1) {
this.form.times.splice(tempIndex, 1)
}
} else {
if (item.isUse) {
return
}
- if (this.form.times.length && index+1 !== this.form.times[0] && index-1 !== this.form.times[this.form.times.length-1]) {
+ if (this.form.times.length && index + 1 !== this.form.times[0] && index - 1 !== this.form.times[this.form.times.length - 1]) {
this.$message.error('棰勭害鏃堕棿蹇呴』鏄浉閭荤殑锛�')
return
}
this.form.times.push(index)
- this.form.times.sort((x,y)=> x - y)
+ this.form.times.sort((x, y) => x - y)
}
// console.log(this.form.times);
},
- upFiles(file) {
+ upFiles (file) {
const formdate = new FormData()
this.isUploading = true
formdate.append('file', file.target.files[0])
@@ -318,21 +364,21 @@
this.isWorking = true
let sysList = [...this.form.sysList]
sysList = sysList.map(item => {
- return {userId: item}
+ return { userId: item }
})
let projectList = [...this.form.projectList]
projectList = projectList.map(item => {
- return {projectId: item}
+ return { projectId: item }
})
- let bookingTimeList = []
+ const bookingTimeList = []
this.form.times.forEach(item => {
bookingTimeList.push({
timeId: this.timelist[item].id,
id: this.timelist[item].bookingTimeId
})
})
- let startTime = this.form.date + ' ' + this.timelist[this.form.times[0]].startTime + ':00'
- let endTime = this.form.date + ' ' + this.timelist[this.form.times[this.form.times.length-1]].endTime + ':00'
+ const startTime = this.form.date + ' ' + this.timelist[this.form.times[0]].startTime + ':00'
+ const endTime = this.form.date + ' ' + this.timelist[this.form.times[this.form.times.length - 1]].endTime + ':00'
this.api.create({
...this.form,
sysList,
@@ -347,7 +393,7 @@
this.$emit('success')
})
.catch(e => {
- this.$tip.apiFailed(e)
+ // this.$tip.apiFailed(e)
})
.finally(() => {
this.isWorking = false
@@ -364,21 +410,21 @@
this.isWorking = true
let sysList = [...this.form.sysList]
sysList = sysList.map(item => {
- return {userId: item}
+ return { userId: item }
})
let projectList = [...this.form.projectList]
projectList = projectList.map(item => {
- return {projectId: item}
+ return { projectId: item }
})
- let bookingTimeList = []
+ const bookingTimeList = []
this.form.times.forEach(item => {
bookingTimeList.push({
timeId: this.timelist[item].id,
id: this.timelist[item].bookingTimeId
})
})
- let startTime = this.form.date + ' ' + this.timelist[this.form.times[0]].startTime + ':00'
- let endTime = this.form.date + ' ' + this.timelist[this.form.times[this.form.times.length-1]].endTime + ':00'
+ const startTime = this.form.date + ' ' + this.timelist[this.form.times[0]].startTime + ':00'
+ const endTime = this.form.date + ' ' + this.timelist[this.form.times[this.form.times.length - 1]].endTime + ':00'
this.api.updateById({
...this.form,
sysList,
@@ -393,14 +439,14 @@
this.$emit('success')
})
.catch(e => {
- this.$tip.apiFailed(e)
+ // this.$tip.apiFailed(e)
})
.finally(() => {
this.isWorking = false
})
})
}
- },
+ }
}
</script>
@@ -420,22 +466,58 @@
.time-item {
margin-right: 8px;
margin-bottom: 8px;
- border: #111 solid 1px;
font-size: 14px;
+ font-weight: 400;
line-height: 14px;
- padding: 5px;
+ width: 124px;
+ height: 36px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
border-radius: 5px;
color: #111;
+ border: #cccccc solid 1px;
+ cursor: pointer;
}
.time-item-sel {
border-color: $primary-color;
- background-color: $primary-color;
- color: #fff;
+ background-color: #f6f9fe;
+ color: $primary-color;
}
.time-item-disable {
- border-color: #999;
- background-color: #999;
- color: #111;
+ color: #fff;
+ border-color: #cccccc;
+ background-color: #cccccc;
+ }
+ .disable{
+ border-color: #bed6f9;
+ background-color: #bed6f9;
+ color: #fff;
+ }
+}
+.detail_modal {
+ padding: 20px 16px;
+ .title {
+ text-align: center;
+ font-weight: 600;
+ font-size: 16px;
+ margin-bottom: 20px;
+ }
+ .h1 {
+ font-weight: 600;
+ font-size: 16px;
+ margin-bottom: 15px;
+ }
+ .line {
+ display: flex;
+ margin-bottom: 10px;
+ .label {
+ width: 70px;
+ color: #888888;
+ }
+ .value {
+ color: #333333;
+ }
}
}
--
Gitblit v1.9.3