From 19f0eca493f7e17ab7b67d28cf77d80de364576c Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期一, 28 十月 2024 15:00:57 +0800
Subject: [PATCH] ll
---
admin/src/views/meeting/components/OperaBookingsWindow.vue | 172 ++++++++++++++++++++++++---------------------------------
1 files changed, 73 insertions(+), 99 deletions(-)
diff --git a/admin/src/views/meeting/components/OperaBookingsWindow.vue b/admin/src/views/meeting/components/OperaBookingsWindow.vue
index a98b285..39adf61 100644
--- a/admin/src/views/meeting/components/OperaBookingsWindow.vue
+++ b/admin/src/views/meeting/components/OperaBookingsWindow.vue
@@ -1,85 +1,51 @@
<template>
- <GlobalAlertWindow
- :title="title"
- :visible.sync="visible"
- :confirm-working="isWorking"
- @confirm="confirm"
- >
+ <GlobalAlertWindow :title="title" :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">
- <el-select
- v-model="form.roomId"
- filterable
- clearable
- placeholder="璇烽�夋嫨鍏宠仈浼氳瀹�"
- @change="selectRoom"
- >
+ <el-select v-model="form.roomId" filterable clearable :disabled="isEdit" placeholder="璇烽�夋嫨鍏宠仈浼氳瀹�"
+ @change="selectRoom">
<el-option v-for="item in rooms()" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="棰勫畾鏃ユ湡" prop="date">
- <el-date-picker
- v-model="form.date"
- value-format="yyyy-MM-dd"
- placeholder="璇烽�夋嫨棰勫畾鏃ユ湡"
- @change="selectDate"
- ></el-date-picker>
+ <el-date-picker :disabled="isEdit" v-model="form.date" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨棰勫畾鏃ユ湡"
+ @change="selectDate"></el-date-picker>
</el-form-item>
<el-form-item label="棰勫畾鏃堕棿" prop="times">
<div class="time-style">
- <div
- class="time-item"
- v-for="(item, index) in timelist"
- :key="item.id"
- :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 class="time-item" v-for="(item, index) in timelist" :key="item.id" :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>
</el-form-item>
<el-form-item label="浼氳涓婚" prop="name">
- <el-input v-model="form.name" placeholder="璇疯緭鍏ヤ細璁富棰�" :maxlength="30" v-trim/>
+ <el-input v-model="form.name" placeholder="璇疯緭鍏ヤ細璁富棰�" :maxlength="30" v-trim />
</el-form-item>
- <el-form-item label="鍙備細浜哄憳">
- <!-- <el-input style="width:40%" disabled v-model="sysList" placeholder="閫夋嫨鍙備細浜哄憳" v-trim/> -->
- <el-select
- v-model="form.sysList"
- filterable
- clearable
- multiple
- placeholder="閫夋嫨閮ㄩ棬鎴愬憳"
- >
- <el-option
- v-for="item in sysList"
- :key="item.id"
- :value="item.id"
- :label="item.department?`${item.department.name}-${item.realname}`:item.realname"
- ></el-option>
- <!-- <el-option :key="1" :value="1" label="绂佺敤" /> -->
- </el-select>
- </el-form-item>
+ <div class="df_ac">
+ <el-form-item label="鍙備細浜哄憳">
+ <el-select v-model="form.sysList" filterable clearable multiple placeholder="閫夋嫨閮ㄩ棬鎴愬憳">
+ <el-option v-for="item in sysList" :key="item.id" :value="item.id"
+ :label="item.department ? `${item.department.name}-${item.realname}` : item.realname"></el-option>
+ <!-- <el-option :key="1" :value="1" label="绂佺敤" /> -->
+ </el-select>
+ </el-form-item>
+ <el-form-item class="ml10" label-width="140px" label="鏄惁閫氱煡鍙備細浜哄憳">
+ <el-radio v-model="form.joinNotice" :label="1">涓嶉�氱煡</el-radio>
+ <el-radio v-model="form.joinNotice" :label="0">閫氱煡</el-radio>
+ </el-form-item>
+ </div>
<el-form-item label="浼氳鍐呭" prop="content">
- <el-input
- type="textarea"
- v-model="form.content"
- :maxlength="300"
- show-word-limit
- :autosize="{ minRows: 4, maxRows: 12}"
- placeholder="璇疯緭鍏ヤ細璁唴瀹�"
- v-trim
- />
+ <el-input type="textarea" v-model="form.content" :maxlength="300" show-word-limit
+ :autosize="{ minRows: 4, maxRows: 12 }" placeholder="璇疯緭鍏ヤ細璁唴瀹�" v-trim />
</el-form-item>
<el-form-item v-if="projectList.length" label="閫夋嫨鏈嶅姟椤圭洰" prop="projectList">
<el-checkbox-group v-model="form.projectList">
- <el-checkbox
- v-for="project in projectList"
- :label="project.id"
- :key="project.id"
- >{{project.name}}</el-checkbox>
+ <el-checkbox v-for="project in projectList" :label="project.id"
+ :key="project.id">{{ project.name }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="浼氳闄勪欢" prop="fileList">
@@ -87,24 +53,16 @@
<el-button type="primary" icon="el-icon-upload" @click="$refs.upFile.click()">浼氳闄勪欢</el-button>
</div>
<div class="data-list">
- <FileLink
- :links="form.fileList"
- linkName="fileFullUrl"
- />
+ <FileLink :links="form.fileList" linkName="fileFullUrl" />
</div>
</el-form-item>
<el-form-item label="浼氳澶囨敞" prop="remark">
- <el-input type="textarea" v-model="form.remark" placeholder="璇疯緭鍏ヤ細璁娉�" v-trim/>
+ <el-input type="textarea" v-model="form.remark" placeholder="璇疯緭鍏ヤ細璁娉�" v-trim />
</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"
- >
+ <el-dialog title="浼氳瀹ら绾︽儏鍐�" :visible.sync="isShowDetail" append-to-body width="600px">
<div class="detail_modal">
<div class="h1">{{ activeInfo.meetingName }}</div>
<div class="line">
@@ -141,7 +99,7 @@
name: 'OperaBookingsWindow',
extends: BaseOpera,
components: { GlobalAlertWindow, FileLink },
- data () {
+ data() {
return {
// 琛ㄥ崟鏁版嵁
form: {
@@ -155,6 +113,7 @@
startTime: '',
endTime: '',
times: [],
+ joinNotice: 1,
content: '',
sysList: [],
fileList: []
@@ -190,7 +149,7 @@
}
},
inject: ['rooms'],
- created () {
+ created() {
this.config({
api: '/meeting/bookings',
'field.id': 'id'
@@ -211,7 +170,7 @@
* @title 绐楀彛鏍囬
* @target 缂栬緫鐨勫璞�
*/
- open (title, target) {
+ open(title, target) {
this.title = title
this.visible = true
this.timelist = []
@@ -239,7 +198,7 @@
this.selectRoom(this.form.roomId)
})
},
- selectRoom (objId) {
+ selectRoom(objId) {
this.getTimes()
findListByObjId({
objId: objId,
@@ -249,11 +208,11 @@
this.projectList = res
})
},
- selectDate (v) {
+ selectDate(v) {
// console.log(v);
this.getTimes()
},
- getTimes (isInit = false) {
+ getTimes(isInit = false) {
this.form.times = []
this.timelist = []
@@ -290,7 +249,7 @@
})
}
},
- getDetail (id) {
+ getDetail(id) {
BookDetailById({
id
}).then(res => {
@@ -298,7 +257,7 @@
this.isShowDetail = true
})
},
- selectTimes (index, item) {
+ selectTimes(index, item) {
if (item.bookingTimeId) {
this.getDetail(item.bookingTimeId)
return
@@ -328,7 +287,7 @@
}
// console.log(this.form.times);
},
- upFiles (file) {
+ upFiles(file) {
const formdate = new FormData()
this.isUploading = true
formdate.append('file', file.target.files[0])
@@ -349,7 +308,7 @@
this.$refs.upFile.value = null
},
// 纭鏂板缓
- __confirmCreate () {
+ __confirmCreate() {
this.$refs.form.validate((valid) => {
// debugger
if (!valid) {
@@ -398,7 +357,7 @@
})
},
// 纭淇敼
- __confirmEdit () {
+ __confirmEdit() {
this.$refs.form.validate((valid) => {
if (!valid) {
return
@@ -460,56 +419,71 @@
display: flex;
flex-wrap: wrap;
cursor: pointer;
+
.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;
+ background-color: #f6f9fe;
+ color: $primary-color;
+ }
+
+ .time-item-disable {
+ color: #fff;
+ border-color: #cccccc;
+ background-color: #cccccc;
+ }
+
+ .disable {
+ border-color: #bed6f9;
+ background-color: #bed6f9;
color: #fff;
}
- .time-item-disable {
- color: #e4e4e4;
- border-color: #999;
- background-color: #999;
- }
- .disable{
- border-color: #999;
- background-color: #999;
- color: #111;
- }
}
+
.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;
}
}
}
-
</style>
--
Gitblit v1.9.3