|  |  | 
 |  |  |     <div class="content-style"> | 
 |  |  |       <div class="item"> | 
 |  |  |         <div class="item-title">参会人员</div> | 
 |  |  |         <div>{{ form.sysList.map(item => `${item.realName}`).join(',') }}</div> | 
 |  |  |         <div> | 
 |  |  |           {{ form.sysList.map((item) => `${item.realName}`).join(",") }} | 
 |  |  |         </div> | 
 |  |  |       </div> | 
 |  |  |       <div class="item"> | 
 |  |  |         <div class="item-title">会议内容</div> | 
 |  |  |         <div class="item-value">{{ form.content || '无' }}</div> | 
 |  |  |         <div class="item-value">{{ form.content || "无" }}</div> | 
 |  |  |       </div> | 
 |  |  |       <div v-if="form.projectList.length" class="item"> | 
 |  |  |         <div class="">服务项</div> | 
 |  |  |         <div class="item-value">{{ form.projectList.map(item => item.projectName).join(' | ') }}</div> | 
 |  |  |         <div class="item-value"> | 
 |  |  |           {{ form.projectList.map((item) => item.projectName).join(" | ") }} | 
 |  |  |         </div> | 
 |  |  |       </div> | 
 |  |  |       <div class="item" v-if="form.fileList.length"> | 
 |  |  |         <div class="item-title">附件</div> | 
 |  |  |         <div> | 
 |  |  |           <FileLink | 
 |  |  |             :links="form.fileList" | 
 |  |  |             linkName="fileFullUrl" | 
 |  |  |             linkName="fileurlFull" | 
 |  |  |             :isUpload="false" | 
 |  |  |           /> | 
 |  |  |         </div> | 
 |  |  | 
 |  |  |       <div class="item-value">{{ form.managerInfo }}</div> | 
 |  |  |     </div> | 
 |  |  |     <div slot="footer"> | 
 |  |  |       <el-button @click="visible=false">取消</el-button> | 
 |  |  |       <el-button type="primary" v-if="form.meetingStatus == 1" @click="openCancel('0')">撤销</el-button> | 
 |  |  |       <el-button v-if="form.meetingStatus == 2" type="primary" @click="openCancel('1')">结束</el-button> | 
 |  |  |       <el-button @click="visible = false">取消</el-button> | 
 |  |  |     </div> | 
 |  |  |     <!-- 取消/结束 --> | 
 |  |  |     <el-dialog | 
 |  |  |       :title="cancelParam.falg == '1' ? '结束会议' : '撤销会议'" | 
 |  |  |       :visible.sync="isShowCancel" | 
 |  |  |       append-to-body | 
 |  |  |       width="500px" | 
 |  |  |     > | 
 |  |  |       <el-form style="padding: 30px"> | 
 |  |  |         <el-form-item label="撤回说明"> | 
 |  |  |           <el-input | 
 |  |  |             type="textarea" | 
 |  |  |             :rows="4" | 
 |  |  |             placeholder="请输入说明。" | 
 |  |  |             v-model="cancelParam.businessRemark" | 
 |  |  |           > | 
 |  |  |           </el-input> | 
 |  |  |         </el-form-item> | 
 |  |  |       </el-form> | 
 |  |  |       <span slot="footer" class="dialog-footer"> | 
 |  |  |         <el-button @click="isShowCancel = false">取消</el-button> | 
 |  |  |         <el-button type="primary" @click="onSubCancel()">确定</el-button> | 
 |  |  |       </span> | 
 |  |  |     </el-dialog> | 
 |  |  |   </GlobalAlertWindow> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | 
 |  |  | import BaseOpera from '@/components/base/BaseOpera' | 
 |  |  | import GlobalAlertWindow from '@/components/common/GlobalAlertWindow' | 
 |  |  | import FileLink from '@/views/meeting/components/common/FileLink' | 
 |  |  | import { cancelById, overBookById } from '@/api/meeting/bookings' | 
 |  |  | export default { | 
 |  |  |   name: 'OperaBookingsDetailWindow', | 
 |  |  |   extends: BaseOpera, | 
 |  |  | 
 |  |  |         projectList: [], | 
 |  |  |         remark: '', | 
 |  |  |         roomId: '', | 
 |  |  |         meetingStatus: '', | 
 |  |  |         startTime: '', | 
 |  |  |         endTime: '', | 
 |  |  |         times: [], | 
 |  |  | 
 |  |  |       sysList: [], | 
 |  |  |       projectList: [], | 
 |  |  |       timelist: [], | 
 |  |  |  | 
 |  |  |       isShowCancel: false, | 
 |  |  |       cancelParam: { | 
 |  |  |         flag: '0' | 
 |  |  |       }, | 
 |  |  |       // 验证规则 | 
 |  |  |       rules: { | 
 |  |  |  | 
 |  |  | 
 |  |  |       api: '/meeting/bookings', | 
 |  |  |       'field.id': 'id' | 
 |  |  |     }) | 
 |  |  |  | 
 |  |  |   }, | 
 |  |  |   methods: { | 
 |  |  |     openCancel (flag) { | 
 |  |  |       this.isShowCancel = true | 
 |  |  |       this.cancelParam.flag = flag | 
 |  |  |     }, | 
 |  |  |     onSubCancel () { | 
 |  |  |       const { id } = this.form | 
 |  |  |       const fn = this.cancelParam.flag === '0' ? cancelById : overBookById | 
 |  |  |       fn({ id, businessRemark: this.cancelParam.businessRemark }).then(res => { | 
 |  |  |         this.$tip.success('提交成功') | 
 |  |  |         this.visible = false | 
 |  |  |         this.isShowCancel = false | 
 |  |  |         this.$emit('success') | 
 |  |  |       }) | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      * 打开窗口 | 
 |  |  |      * @title 窗口标题 | 
 |  |  | 
 |  |  |     //   }) | 
 |  |  |     // }, | 
 |  |  |  | 
 |  |  |   }, | 
 |  |  |   } | 
 |  |  | } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | 
 |  |  | .bottom-style { | 
 |  |  |   padding: 20px; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | </style> |