| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | @confirm="confirm" |
| | | @close="reject" |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | @confirm="confirm" |
| | | @close="reject" |
| | | > |
| | | <div class="modal_wrap"> |
| | | <div class="modal_content"> |
| | |
| | | :src="item.fileurlFull" |
| | | /> |
| | | <el-image |
| | | v-else-if="item.fileurlFull" |
| | | style="width:80px; height: 80px" |
| | | :src="item.fileurlFull" |
| | | :preview-src-list="[item.fileurlFull]"> |
| | | </el-image> |
| | | v-else-if="item.fileurlFull" |
| | | style="width:80px; height: 80px" |
| | | :src="item.fileurlFull" |
| | | :preview-src-list="[item.fileurlFull]"> |
| | | </el-image> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="side"> |
| | | <div class="side_title">审批流程</div> |
| | | <div class="list"> |
| | | <div class="item" v-for="item in logList" :key="item.id"> |
| | | <div class="separate"></div> |
| | | <div class="item" v-for="(item,index) in logList" :key="item.id"> |
| | | <div class="separate" v-if="index < logList.length-1"></div> |
| | | <div class="info"> |
| | | <i class="el-icon-success icon"></i> |
| | | <img :src="item.avatar" class="avatar" alt="" /> |
| | | <i class="el-icon-success icon" v-if="(model.status ==1) || index < logList.length-1"></i> |
| | | <i class="el-icon-question icon1" v-if="(model.status==0) && index == logList.length-1"></i> |
| | | <i class="el-icon-error icon2" v-if="(model.status==2) && index == logList.length-1"></i> |
| | | <img v-if="item.avatar!=null && item.avatar !=''" :src="item.avatar" class="avatar" alt="" /> |
| | | <img v-if="item.avatar ==null ||item.avatar ==''" src="@/assets/avatar/man.png" class="avatar" alt="" /> |
| | | <div class="content"> |
| | | <div class="line"> |
| | | <div class="name">{{ item.createUserName}}</div> |
| | | <div class="name">{{ item.title}}</div> |
| | | <div class="time">{{ item.createDate }}</div> |
| | | </div> |
| | | <div class="line"> |
| | | <div class="company">{{ item.companyName }} <span class="status">已同意</span> </div> |
| | | <div class="company"> |
| | | {{ item.createUserName }} {{ item.companyName }} |
| | | <div style="display: inline" v-if="index == logList.length-1"> |
| | | (<span class="status-green" v-if="model.status==1">已处理</span> |
| | | <span class="status-blue" v-if="model.status==0">待处理</span> |
| | | <span class="status-red" v-if="model.status==2">已退回</span>) |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </template> |
| | | <!-- 同意/拒绝 --> |
| | | <el-dialog |
| | | append-to-body |
| | | :title="apprTitle" |
| | | :visible.sync="isShowAppr" |
| | | width="480px" |
| | | append-to-body |
| | | :title="apprTitle" |
| | | :visible.sync="isShowAppr" |
| | | width="480px" |
| | | > |
| | | <el-input |
| | | type="textarea" |
| | | :placeholder="apprTitle + '说明,非必填'" |
| | | :rows="4" |
| | | v-model="param.explain" |
| | | type="textarea" |
| | | :placeholder="apprTitle + '说明,非必填'" |
| | | :rows="4" |
| | | v-model="param.explain" |
| | | /> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowAppr = false">取消</el-button> |
| | |
| | | </el-dialog> |
| | | <!-- 隐患 --> |
| | | <el-dialog |
| | | append-to-body |
| | | title="隐患" |
| | | :visible.sync="isShowProblem" |
| | | width="480px" |
| | | 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" |
| | | 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" |
| | | 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-form-item> |
| | | <el-form-item label="退回说明"> |
| | | <el-input |
| | | type="textarea" |
| | | placeholder="请填写说明" |
| | | :rows="4" |
| | | v-model="param.explain" |
| | | 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 |
| | | >确定</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | |
| | | getDetail(){ |
| | | this.api.detail(this.dataId) |
| | | .then(res =>{ |
| | | this.model = res |
| | | }) |
| | | this.model = res |
| | | }) |
| | | }, |
| | | confirm() { |
| | | console.log('--') |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .side_title{ |
| | | font-weight: 600; |
| | | font-size: 18px; |
| | | color: #111111; |
| | | margin-bottom: 20px; |
| | | margin-left: 20px; |
| | | margin-top: 20px; |
| | | } |
| | | .upload_box { |
| | | width: 84px; |
| | | height: 84px; |
| | |
| | | font-size: 12px; |
| | | } |
| | | } |
| | | |
| | | .modal_wrap { |
| | | display: flex; |
| | | height: 100%; |
| | |
| | | margin-bottom: 20px; |
| | | margin-top: 30px; |
| | | } |
| | | |
| | | .info { |
| | | .list { |
| | | display: flex; |
| | |
| | | .separate { |
| | | position: absolute; |
| | | border-left: 2px dashed #cccccc; |
| | | left: 51px; |
| | | left: 31px; |
| | | height: calc(100% - 24px); |
| | | top: 46px; |
| | | } |
| | | .info { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-left: 40px; |
| | | margin-left: 20px; |
| | | .icon { |
| | | position: relative; |
| | | z-index: 11; |
| | | color: #53b76f; |
| | | font-size: 24px; |
| | | } |
| | | .icon1 { |
| | | position: relative; |
| | | z-index: 11; |
| | | color: deepskyblue; |
| | | font-size: 24px; |
| | | } |
| | | .avatar { |
| | | width: 40px; |
| | | height: 40px; |