| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |
| | | </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> |