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