| <template> | 
|   <GlobalWindow | 
|     :title="title" | 
|     text="同意" | 
|     backText="拒绝" | 
|     :visible.sync="isShowModal" | 
|     @confirm="confirm" | 
|     @close="reject" | 
|   > | 
|     <div class="modal_wrap"> | 
|       <div class="modal_content"> | 
|         <div class="header"> | 
|           <div class="left"> | 
|             <div class="h1">访客预约</div> | 
|             <div class="time">提交时间:</div> | 
|           </div> | 
|           <div class="right">待审核</div> | 
|         </div> | 
|         <div class="info"> | 
|           <div class="title">访客报备详情</div> | 
|           <div class="list"> | 
|             <div class="item"> | 
|               <div class="label">被访人</div> | 
|               <div class="value"></div> | 
|             </div> | 
|             <div class="item"> | 
|               <div class="label">拜访时间</div> | 
|               <div class="value"></div> | 
|             </div> | 
|             <div class="item"> | 
|               <div class="label">入园车辆</div> | 
|               <div class="value"></div> | 
|             </div> | 
|             <div class="item"> | 
|               <div class="label">来访单位</div> | 
|               <div class="value"></div> | 
|             </div> | 
|             <div class="item"> | 
|               <div class="label">联系人</div> | 
|               <div class="value"></div> | 
|             </div> | 
|             <div class="item"> | 
|               <div class="label">随车人数</div> | 
|               <div class="value"></div> | 
|             </div> | 
|             <div class="item"> | 
|               <div class="label">来访事由</div> | 
|               <div class="value"></div> | 
|             </div> | 
|           </div> | 
|         </div> | 
|         <div class="table_info"> | 
|           <div class="title">访客信息</div> | 
|           <el-table :data="detail.datalist" border fit> | 
|             <el-table-column label="姓名" prop="" min-width="150"> | 
|               <template slot-scope="{ row }"> | 
|                 <div class="name_wrap"> | 
|                   <image src="" class="avatar" mode="" /> | 
|                   <div class="content"> | 
|                     <div class="line"> | 
|                       <div class="name">李东</div> | 
|                       <div class="tag">申请人</div> | 
|                     </div> | 
|                     <div class="line placeholder9">1888888</div> | 
|                   </div> | 
|                 </div> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column label="性别" prop="" min-width="40" /> | 
|             <el-table-column label="证件类型" prop="" min-width="80" /> | 
|             <el-table-column label="证件号码" prop="" min-width="120" /> | 
|             <el-table-column label="公司名称" prop="" min-width="120" /> | 
|             <el-table-column label="人脸照片" prop="" min-width="80"> | 
|               <template slot-scope="{ row }"> | 
|                 <el-image :src="row.url" :preview-src-list="[row.url]"> | 
|                 </el-image> | 
|               </template> | 
|             </el-table-column> | 
|           </el-table> | 
|         </div> | 
|       </div> | 
|       <div class="side"> | 
|         <div class="side_title">审批流程</div> | 
|         <div class="list"> | 
|           <div class="item"> | 
|             <div class="separate"></div> | 
|             <div class="info"> | 
|               <i class="el-icon-success icon"></i> | 
|               <img src="" class="avatar" alt="" /> | 
|               <div class="content"> | 
|                 <div class="line"> | 
|                   <div class="name">刘某刘某</div> | 
|                   <div class="time">2020-02-02 12:20</div> | 
|                 </div> | 
|                 <div class="line"> | 
|                   <div class="company">中国移动有限公司</div> | 
|                 </div> | 
|               </div> | 
|             </div> | 
|           </div> | 
|           <div class="item"> | 
|             <!-- <div v-if="" class="separate"></div> --> | 
|             <div class="info"> | 
|               <i class="el-icon-success icon"></i> | 
|               <img src="" class="avatar" alt="" /> | 
|               <div class="content"> | 
|                 <div class="line"> | 
|                   <div class="name">刘某刘某</div> | 
|                   <div class="time">2020-02-02 12:20</div> | 
|                 </div> | 
|                 <div class="line"> | 
|                   <div class="company"> | 
|                     中国移动有限公司( <span class="status">已同意</span> ) | 
|                   </div> | 
|                 </div> | 
|               </div> | 
|             </div> | 
|             <div class="remark">提交约好的</div> | 
|           </div> | 
|         </div> | 
|       </div> | 
|     </div> | 
|     <!--  --> | 
|     <template #btns> | 
|       <el-button type="primary" plain @click="handleTransfer">转交</el-button> | 
|     </template> | 
|     <!--  同意/拒绝 --> | 
|     <el-dialog | 
|       append-to-body | 
|       :title="apprTitle" | 
|       :visible.sync="isShowAppr" | 
|       width="480px" | 
|     > | 
|       <el-input | 
|         type="textarea" | 
|         :placeholder="apprTitle + '说明,非必填'" | 
|         :rows="4" | 
|         v-model="param.explain" | 
|       /> | 
|       <span slot="footer" class="dialog-footer"> | 
|         <el-button @click="isShowAppr = false">取消</el-button> | 
|         <el-button type="primary" @click="isShowAppr = false">确定</el-button> | 
|       </span> | 
|     </el-dialog> | 
|     <!-- 隐患 --> | 
|     <el-dialog | 
|       append-to-body | 
|       title="隐患" | 
|       :visible.sync="isShowProblem" | 
|       width="480px" | 
|     > | 
|       <el-form :model="param" :rules="rules" ref="ruleForm" label-width="100px"> | 
|         <el-form-item label="退回时间"> | 
|           <el-date-picker | 
|             class="w300" | 
|             value-format="yyyy-MM-dd" | 
|             type="date" | 
|             placeholder="选择日期" | 
|             v-model="param.date" | 
|           /> | 
|         </el-form-item> | 
|         <el-form-item label="整改前"> | 
|           <div class="df_ac"> | 
|             <img src="@/assets/avatar/man.png" /> | 
|             <el-upload | 
|               class="avatar-uploader" | 
|               action="https://jsonplaceholder.typicode.com/posts/" | 
|               :show-file-list="false" | 
|               :on-success="handleAvatarSuccess" | 
|               :before-upload="beforeAvatarUpload" | 
|             > | 
|               <img v-if="param.url" :src="param.url" class="avatar" /> | 
|               <div v-else class="upload_box"> | 
|                 <el-icon class="el-icon-plus icon" /> | 
|                 <div class="text">图片/视频</div> | 
|               </div> | 
|             </el-upload> | 
|           </div> | 
|         </el-form-item> | 
|         <el-form-item label="退回说明"> | 
|           <el-input | 
|             type="textarea" | 
|             placeholder="请填写说明" | 
|             :rows="4" | 
|             v-model="param.explain" | 
|           /> | 
|         </el-form-item> | 
|       </el-form> | 
|       <span slot="footer" class="dialog-footer"> | 
|         <el-button @click="isShowProblem = false">取消</el-button> | 
|         <el-button type="primary" @click="isShowProblem = false" | 
|           >确定</el-button | 
|         > | 
|       </span> | 
|     </el-dialog> | 
|   </GlobalWindow> | 
| </template> | 
|   | 
| <script> | 
| import GlobalWindow from '@/components/common/GlobalWindow' | 
| export default { | 
|   components: { GlobalWindow }, | 
|   data() { | 
|     return { | 
|       title: '访客预约详情', | 
|       isShowModal: false, | 
|       detail: { | 
|         datalist: [{}] | 
|       }, | 
|   | 
|       isShowAppr: false, | 
|       apprTitle: '同意', | 
|       param: {}, | 
|   | 
|       isShowProblem: false, | 
|       rules: {} | 
|     } | 
|   }, | 
|   methods: { | 
|     confirm() { | 
|       console.log('--') | 
|     }, | 
|     handleTransfer() { | 
|       this.isShowProblem = true | 
|     }, | 
|     reject() { }, | 
|     handleAvatarSuccess() { }, | 
|     beforeAvatarUpload() { } | 
|   } | 
| } | 
| </script> | 
|   | 
| <style lang="scss" scoped> | 
| .upload_box { | 
|   width: 84px; | 
|   height: 84px; | 
|   border-radius: 4px; | 
|   background-color: #f7f7f7; | 
|   display: flex; | 
|   flex-direction: column; | 
|   justify-content: center; | 
|   align-items: center; | 
|   color: #999999; | 
|   border: 1px solid #e4e4e4; | 
|   .icon { | 
|     font-size: 24px; | 
|   } | 
|   .text { | 
|     font-size: 12px; | 
|   } | 
| } | 
| .modal_wrap { | 
|   display: flex; | 
|   height: 100%; | 
|   .modal_content { | 
|     flex: 1; | 
|     padding: 0px 30px; | 
|     border-radius: 8px; | 
|     overflow: hidden; | 
|     height: 100%; | 
|   | 
|     .title { | 
|       font-weight: 600; | 
|       font-size: 18px; | 
|       color: #333333; | 
|       margin-bottom: 20px; | 
|       margin-top: 30px; | 
|     } | 
|   | 
|     .info { | 
|       .list { | 
|         display: flex; | 
|         flex-wrap: wrap; | 
|   | 
|         .item { | 
|           display: flex; | 
|           width: 40%; | 
|           margin-bottom: 20px; | 
|           &:nth-of-type(2n) { | 
|             width: 60%; | 
|           } | 
|   | 
|           .label { | 
|             color: #888888; | 
|             width: 68px; | 
|           } | 
|   | 
|           .value { | 
|             color: #111111; | 
|           } | 
|         } | 
|       } | 
|     } | 
|   | 
|     .header { | 
|       display: flex; | 
|       justify-content: space-between; | 
|       align-items: center; | 
|       padding: 20px 30px; | 
|       margin: 0 -30px; | 
|       border-radius: 8px 8px 0 0; | 
|       background: linear-gradient(to right, #f2f6fe, #cadffa); | 
|   | 
|       .h1 { | 
|         font-weight: 600; | 
|         font-size: 22px; | 
|         color: #111111; | 
|         margin-bottom: 8px; | 
|       } | 
|   | 
|       .time { | 
|         font-size: 14px; | 
|         color: #999999; | 
|       } | 
|   | 
|       .right { | 
|         height: 40px; | 
|         font-size: 16px; | 
|         color: #ffffff; | 
|         line-height: 40px; | 
|         padding: 0 20px; | 
|         background: #207ff7; | 
|         box-shadow: 4px 4px 0px 0px rgba(32, 127, 247, 0.16); | 
|         border-radius: 16px 0px 16px 0px; | 
|       } | 
|     } | 
|     .table_info { | 
|       .name_wrap { | 
|         display: flex; | 
|         align-items: center; | 
|         .avatar { | 
|           width: 40px; | 
|           height: 40px; | 
|           border-radius: 50%; | 
|           margin-right: 12px; | 
|         } | 
|         .content { | 
|           .line { | 
|             display: flex; | 
|           } | 
|           .tag { | 
|             color: #b2cbf9; | 
|             border: 1px solid #b2cbf9; | 
|             padding: 0px 4px; | 
|             border-radius: 4px; | 
|             margin-left: 6px; | 
|           } | 
|         } | 
|       } | 
|     } | 
|   } | 
|   | 
|   .side { | 
|     height: 100%; | 
|     width: 420px; | 
|     background: #ffffff; | 
|     border-left: 20px solid #f7f7f7; | 
|     .list { | 
|       .item { | 
|         padding: 8px 0; | 
|         position: relative; | 
|         .separate { | 
|           position: absolute; | 
|           border-left: 2px dashed #cccccc; | 
|           left: 51px; | 
|           height: calc(100% - 24px); | 
|           top: 46px; | 
|         } | 
|         .info { | 
|           display: flex; | 
|           align-items: center; | 
|           margin-left: 40px; | 
|           .icon { | 
|             position: relative; | 
|             z-index: 11; | 
|             color: #53b76f; | 
|             font-size: 24px; | 
|           } | 
|           .avatar { | 
|             width: 40px; | 
|             height: 40px; | 
|             border-radius: 50%; | 
|             margin: 0 12px 0 16px; | 
|             border: 1px solid; | 
|           } | 
|           .content { | 
|             flex: 1; | 
|             .line { | 
|               display: flex; | 
|               justify-content: space-between; | 
|               align-content: center; | 
|               margin-bottom: 6px; | 
|               .name { | 
|                 font-weight: 600; | 
|                 font-size: 16px; | 
|                 color: #111111; | 
|               } | 
|               .time { | 
|                 color: #888888; | 
|               } | 
|               .company { | 
|                 font-size: 13px; | 
|                 color: #888888; | 
|                 .status { | 
|                   color: #00ba67; | 
|                 } | 
|               } | 
|             } | 
|           } | 
|         } | 
|         .remark { | 
|           background: #f7f7f7; | 
|           border-radius: 4px; | 
|           padding: 13px 15px; | 
|           color: #666666; | 
|           margin-left: 120px; | 
|         } | 
|       } | 
|     } | 
|   } | 
| } | 
| </style> |