From 7298d5354963a88643a543b51b90192dc9fc934c Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 11 九月 2025 18:43:14 +0800
Subject: [PATCH] 最新版本541200007

---
 admin/src/views/meeting/components/OperaRoomsWindow.vue |   52 +++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 41 insertions(+), 11 deletions(-)

diff --git a/admin/src/views/meeting/components/OperaRoomsWindow.vue b/admin/src/views/meeting/components/OperaRoomsWindow.vue
index 46e53f5..f850a63 100644
--- a/admin/src/views/meeting/components/OperaRoomsWindow.vue
+++ b/admin/src/views/meeting/components/OperaRoomsWindow.vue
@@ -1,25 +1,28 @@
 <template>
   <GlobalAlertWindow v-loading="isUploading" :title="title" :visible.sync="visible" :confirm-working="isWorking"
     @confirm="confirm">
+    <p class="tip-warn" v-if="form.id"><i class="el-icon-warning"></i>鎿嶄綔璇存槑锛�<br>
+      <span style="color: #e75314">濡傛灉褰撳墠浼氳瀹ゅ瓨鍦ㄦ湭缁撴潫鐨勪細璁紝涓嶅厑璁告洿鏂板紑鏀炬椂闂村拰绮掑害鍒嗛挓锛屾彁浜ゅ悗寮�鏀炬椂闂村拰绮掑害鍒嗛挓淇敼涓嶇敓鏁堬紒</span>
+    </p>
     <el-form :model="form" ref="form" :rules="rules" label-width="120px" label-suffix="锛�">
       <el-form-item label="浼氳瀹ゅ悕绉�" prop="name">
         <el-input v-model="form.name" placeholder="璇疯緭鍏ヤ細璁鍚嶇О" :maxlength="10" v-trim />
       </el-form-item>
       <el-form-item label="寮�鏀炬椂闂�" prop="timeRange">
-        <el-time-picker is-range value-format="HH:mm" format="HH:mm" v-model="timeRange" range-separator="鑷�"
+        <el-time-picker is-range value-format="HH:mm" :disabled=" form.bookingNum && form.bookingNum>0" format="HH:mm" v-model="timeRange" range-separator="鑷�"
           start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿" placeholder="閫夋嫨鏃堕棿鑼冨洿" @change="selectRange"></el-time-picker>
       </el-form-item>
       <el-form-item label="绮掑害鍒嗛挓" prop="intervalTime">
-        <el-input v-model="form.intervalTime" type="number" placeholder="璇疯緭鍏ユ椂闂寸矑搴︼紙鍒嗛挓锛�" v-trim />
+        <el-input v-model="form.intervalTime" type="number"  :disabled="form.bookingNum && form.bookingNum>0" placeholder="璇疯緭鍏ユ椂闂寸矑搴︼紙鍒嗛挓锛�" v-trim />
       </el-form-item>
       <el-form-item label="瀹圭撼浜烘暟" prop="limitNum">
         <el-input v-model="form.limitNum" type="number" placeholder="璇疯緭鍏ュ绾充汉鏁�" v-trim />
       </el-form-item>
       <el-form-item label="绠$悊鍛�" prop="sysList">
-        <el-select v-model="form.sysList" filterable multiple clearable placeholder="璇烽�夋嫨閮ㄩ棬">
+        <el-select style="width: 100%" v-model="form.sysList" filterable multiple clearable placeholder="璇烽�夋嫨閮ㄩ棬">
           <!-- :label="`${item.department.name}-${item.realname}`" -->
           <el-option v-for="item in userList()" :key="item.id" :value="item.id"
-            :label="item.companyId ? `${item.companyName}-${item.companyName}` : item.realname" />
+            :label="item.companyId ? `${item.realname}-${item.companyName}` : item.realname" />
         </el-select>
       </el-form-item>
       <el-form-item label="鎻愪緵鏈嶅姟椤圭洰" prop="projectList">
@@ -36,7 +39,8 @@
       <el-form-item v-if="form.fileType == 0" label="灞曠ず鍥剧墖" prop="imgurl">
         <div class="upload_wrap">
           <el-upload class="avatar-uploader" accept=".png,.jpg,.jpeg" :action="uploadImgUrl" :data="uploadData"
-            :show-file-list="false" :on-success="handleImgSuccess">
+            :show-file-list="false" :before-upload="beforeAvatarUpload" :on-error="uploadError"
+            :on-success="handleImgSuccess">
             <div>
               <i class="el-icon-plus avatar-uploader-icon"></i>
             </div>
@@ -48,8 +52,9 @@
         </div>
       </el-form-item>
       <el-form-item v-if="form.fileType == 1" label="灞曠ず瑙嗛" prop="imgurl">
-        <UploadAvatarVideo :file="{ 'videourlfull': form.videoFullUrl, 'videourl': form.videourl }" :uploadData="uploadData"
-          @uploadSuccess="uploadAvatarSuccess" @uploadEnd="isUploading = false" @uploadBegin="isUploading = true" />
+        <UploadAvatarVideo :file="{ 'videourlfull': form.videoFullUrl, 'videourl': form.videourl }"
+          :uploadData="uploadData" @uploadSuccess="uploadAvatarSuccess" @uploadEnd="isUploading = false"
+          @uploadBegin="isUploading = true" />
       </el-form-item>
       <el-form-item label="浣跨敤椤荤煡" prop="tips">
         <el-input v-model="form.tips" type="textarea" placeholder="璇疯緭鍏ヤ娇鐢ㄩ』鐭�" v-trim />
@@ -64,6 +69,7 @@
 import UploadAvatarVideo from '@/components/common/UploadAvatarVideo'
 import { numRule } from '@/utils/form'
 import { fetchList } from '@/api/meeting/projects'
+import { Loading } from 'element-ui'
 export default {
   name: 'OperaRoomsWindow',
   extends: BaseOpera,
@@ -87,6 +93,7 @@
         folder: 'projects'
       },
       timeRange: ['', ''],
+      loading: null,
       // 琛ㄥ崟鏁版嵁
       form: {
         id: null,
@@ -107,7 +114,8 @@
         imgFullUrl: '',
         tips: '',
         status: 0,
-        intervalTime: 0
+        intervalTime: 0,
+        bookingNum: 0,
       },
       user: [],
       projectList: [],
@@ -164,7 +172,7 @@
         for (const key in this.form) {
           this.form[key] = target[key]
         }
-        if(target.fileType == 1 && target.multifileList && target.multifileList.length > 0){
+        if (target.fileType == 1 && target.multifileList && target.multifileList.length > 0) {
           this.$set(this.form, 'videoFullUrl', target.multifileList[0].fileurlFull)
           this.$set(this.form, 'videourl', target.multifileList[0].fileurl)
         }
@@ -178,7 +186,11 @@
       this.form.multifileList.splice(i, 1)
     },
     handleImgSuccess(res) {
+      this.$nextTick(() => {
+        this.loading.close()
+      })
       const list = [...this.form.multifileList]
+
       if (res.code == 200) {
         let { data } = res
         list.push({
@@ -189,6 +201,22 @@
         this.$set(this.form, 'multifileList', list)
 
       }
+    },
+    uploadError() {
+      // this.$message.error('涓婁紶澶辫触')
+      this.$nextTick(() => {
+        this.loading.close()
+      })
+    },
+    // // 鎷︽埅
+    beforeAvatarUpload(file) {
+      this.loading = Loading.service({
+        lock: true,
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      })
+      return true
     },
     selectRange(v) {
       // console.log(this.timeRange);
@@ -202,11 +230,13 @@
     },
     uploadAvatarSuccess(file) {
       console.log('file', file)
-      this.form.multifileList.push({
+      let temp = []
+      temp.push({
         fileurl: file.imgurl,
         fileurlFull: file.imgurlfull,
         type: 1
       })
+      this.form.multifileList = temp
       this.$set(this.form, 'videourl', file.imgurl)
       this.$set(this.form, 'videoFullUrl', file.imgurlfull)
     },
@@ -347,4 +377,4 @@
   max-height: 90px;
   display: block;
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3