From b35a46c502f4bcc22c75e9e3c7fd29af5b98d84b Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 05 三月 2025 16:06:54 +0800
Subject: [PATCH] 代码初始化

---
 admin/src/views/meeting/bookings.vue |   61 ++++++++++++++++++++----------
 1 files changed, 41 insertions(+), 20 deletions(-)

diff --git a/admin/src/views/meeting/bookings.vue b/admin/src/views/meeting/bookings.vue
index e9e45a1..8b1fe08 100644
--- a/admin/src/views/meeting/bookings.vue
+++ b/admin/src/views/meeting/bookings.vue
@@ -32,10 +32,13 @@
         </el-select>
       </el-form-item>
       <el-form-item label="璧锋鏃堕棿" prop="startTime">
-        <el-date-picker v-model="date" type="datetimerange" range-separator="鑷�" value-format="yyyy-MM-dd HH:mm:ss"
+        <!-- <el-date-picker v-model="date" type="datetimerange" range-separator="鑷�" value-format="yyyy-MM-dd HH:mm:ss"
           :default-time="['00:00:00', '23:59:59']" start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿"
-          @change="selectDate"></el-date-picker>
-        <!-- <el-date-picker v-model="searchForm.startTime" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ紑濮嬫椂闂�" @change="search"/> -->
+          @change="selectDate"></el-date-picker> -->
+        <el-date-picker type="datetime" v-model="searchForm.startTime" value-format="yyyy-MM-dd HH:mm:ss"
+          placeholder="璇烽�夋嫨寮�濮嬫椂闂�" @change="changeRadio" />
+        <el-date-picker type="datetime" v-model="searchForm.endTime" value-format="yyyy-MM-dd HH:mm:ss"
+          placeholder="璇烽�夋嫨缁撴潫鏃堕棿" @change="changeRadio" />
       </el-form-item>
       <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio">
         <el-radio-button label="0">褰撳ぉ</el-radio-button>
@@ -43,7 +46,7 @@
         <el-radio-button label="2">杩�30澶�</el-radio-button>
       </el-radio-group>
       <!-- <el-form-item label="缁撴潫鏃堕棿" prop="endTime">
-        <el-date-picker v-model="searchForm.endTime" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ョ粨鏉熸椂闂�" @change="search"/>
+        <el-date-picker v-model="searchForm.endTime" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨缁撴潫鏃堕棿" @change="search"/>
       </el-form-item> -->
       <section>
         <el-button type="primary" @click="search">鎼滅储</el-button>
@@ -66,8 +69,7 @@
             @click="exportExcel">瀵煎嚭</el-button>
         </li>
       </ul>
-      <el-table v-loading="isWorking.search" :data="tableData.list" stripe border
-        @selection-change="handleSelectionChange">
+      <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
         <!-- <el-table-column type="selection" align="center" width="55"></el-table-column> -->
         <el-table-column prop="name" label="浼氳涓婚" align="center" min-width="120px" show-overflow-tooltip>
           <template slot-scope="{ row }">
@@ -98,18 +100,19 @@
             'business:bookings:update',
             'business:bookings:delete',
           ])
-        " label="鎿嶄綔" min-width="100" align="center" fixed="right">
+        " label="鎿嶄綔" min-width="140" align="center" fixed="right">
           <template slot-scope="{ row }">
             <template>
               <el-button type="text" @click="$refs.operaBookingsDetailWindow.open('浼氳璇︽儏', row)">鏌ョ湅璇︽儏</el-button>
-              <el-button v-if="row.meetingStatus == '1'" type="text"
-                @click="$refs.operaBookingsWindow.open('缂栬緫浼氳棰勭害', row)"
-                v-permissions="['business:bookings:update']">缂栬緫</el-button>
-              <el-button type="text" v-if="row.meetingStatus == '1'" @click="handleStart(row)">寮�濮�</el-button>
-              <el-button v-if="row.meetingStatus == '1'" type="text" @click="cancelMeeting(row.id)"
-                v-permissions="['business:bookings:update']">鎾ゅ洖</el-button>
+              <el-button v-if=" (row.meetingStatus == '1' || row.meetingStatus == '4') &&row.creator === userInfo.id " type="text"  @click="$refs.operaBookingsWindow.open('缂栬緫浼氳棰勭害', row)">缂栬緫</el-button>
+              <el-button type="text"
+                v-if="row.hasRole ==1 && (row.meetingStatus == '1' || row.meetingStatus == '4')"
+                @click="handleStart(row)">寮�濮�</el-button>
+              <el-button type="text" v-if=" row.hasRole ==1&& row.meetingStatus == '2'"
+                @click="handleEnd(row)">缁撴潫</el-button>
+              <el-button v-if="row.hasRole ==1 && (row.meetingStatus == '1' || row.meetingStatus == '4')" type="text" @click="cancelMeeting(row.id)">鎾ゅ洖</el-button>
+              <el-button  type="text" @click="deleteById(row)" class="red" v-permissions="['business:bookings:delete']">鍒犻櫎</el-button>
             </template>
-            <!-- <el-button v-else type="text" @click="deleteById(row)" v-permissions="['business:bookings:delete']">鍒犻櫎</el-button> -->
           </template>
         </el-table-column>
       </el-table>
@@ -132,7 +135,7 @@
 import { findList } from '@/api/meeting/rooms'
 import { getSystemDictData } from '@/api/system/dictData'
 import { fetchList } from '@/api/business/company'
-import { cancelById, bookingsDetail, startEarlyById, startById } from '@/api/meeting/bookings'
+import { cancelById, bookingsDetail, startEarlyById, startById, meetingEndById } from '@/api/meeting/bookings'
 import { timeForMat } from '@/utils/util'
 export default {
   name: 'Bookings',
@@ -141,6 +144,7 @@
   data() {
     return {
       date: [],
+      // userInfo: this.$store.state.userInfo,
       // 鎼滅储
       searchForm: {
         roomId: '',
@@ -212,15 +216,19 @@
       if (e === '0') {
         this.searchForm.startTime = timeForMat(0)[0]
         this.searchForm.endTime = timeForMat(0)[1]
-        this.date = timeForMat(0)
       } else if (e === '1') {
         this.searchForm.startTime = timeForMat(6)[0]
         this.searchForm.endTime = timeForMat(6)[1]
-        this.date = timeForMat(6)
       } else if (e === '2') {
         this.searchForm.startTime = timeForMat(29)[0]
         this.searchForm.endTime = timeForMat(29)[1]
-        this.date = timeForMat(29)
+      } else {
+        this.searchForm.radio = ''
+      }
+      if (this.searchForm.startTime && this.searchForm.endTime && new Date(this.searchForm.startTime).getTime() > new Date(this.searchForm.endTime).getTime()) {
+        this.$message.error('寮�濮嬫椂闂翠笉鑳藉ぇ浜庣粨鏉熸椂闂�')
+        this.searchForm.startTime = ''
+        return
       }
       this.search()
     },
@@ -249,10 +257,11 @@
     reset() {
       this.$refs.searchForm.resetFields()
       this.date = []
-      this.searchForm.radio = '0'
+      this.searchForm.radio = ''
       this.searchForm.startTime = ''
       this.searchForm.endTime = ''
-      this.changeRadio('0')
+      // this.changeRadio('0')
+      this.search()
     },
     copy(row) {
       const text = `${row.realName} 閭�璇锋偍鍔犲叆浼氳\n浼氳涓婚锛�${row.name}\n浼氳瀹わ細${row.roomName}\n浼氳鏃堕棿锛�${row.meetingTime}\n鐐瑰嚮閾炬帴鐩存帴鍔犲叆浼氳锛歕n${this.link}?id=${row.id}`
@@ -276,6 +285,18 @@
             })
         })
     },
+    handleEnd(row) {
+      this.$dialog.messageWaring('缁撴潫浼氳', '鏄惁缁撴潫褰撳墠浼氳锛�')
+        .then(() => {
+          meetingEndById({ id: row.id })
+            .then(() => {
+              this.$message.success('浼氳宸茬粨鏉�')
+              this.handlePageChange()
+            })
+            .catch(e => {
+            })
+        })
+    },
     cancelMeeting(id) {
       this.$dialog.messageWaring('鍙栨秷浼氳', '鏄惁鍙栨秷褰撳墠浼氳锛�')
         .then(() => {

--
Gitblit v1.9.3