<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>
|