|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <GlobalWindow :title="title" :visible.sync="isShowModal" @confirm="confirm"> | 
|---|
|  |  |  | <GlobalWindow :title="title" :visible.sync="isShowModal" @close="close" @confirm="confirm"> | 
|---|
|  |  |  | <div class="modal_wrap"> | 
|---|
|  |  |  | <div class="modal_content"> | 
|---|
|  |  |  | <div class="header"> | 
|---|
|  |  |  | <img v-if="info.businessStatus == '3'" class="head_bg" src="@/assets/task/bg_shenhe_fail@2x.png" alt=""> | 
|---|
|  |  |  | <img v-else-if="info.businessStatus == '2'" class="head_bg" src="@/assets/task/bg_shenhe_pass@2x.png" alt=""> | 
|---|
|  |  |  | <img v-else-if="info.businessStatus == '4'" class="head_bg" src="@/assets/task/bg_shenhe_chexiao@2x.png" | 
|---|
|  |  |  | alt=""> | 
|---|
|  |  |  | <img v-else class="head_bg" src="@/assets/task/bg_shenhe@2x.png" alt=""> | 
|---|
|  |  |  | <div class="left"> | 
|---|
|  |  |  | <div class="h1">{{ cateList[type] }}</div> | 
|---|
|  |  |  | <div class="time">提交时间:{{ info.createDate }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="right">{{ statusMap[info.status] }}</div> | 
|---|
|  |  |  | <div class="right" :class="{ scs: info.businessStatus == '2', msg: info.businessStatus == '3' }">{{ | 
|---|
|  |  |  | statusMap[info.businessStatus] }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="info"> | 
|---|
|  |  |  | <div class="title">访客报备信息</div> | 
|---|
|  |  |  | 
|---|
|  |  |  | <div class="company"> | 
|---|
|  |  |  | {{ item.memberName }} | 
|---|
|  |  |  | <div style="display: inline" v-if="item.statusInfo != null && item.statusInfo != ''"> | 
|---|
|  |  |  | (<span class="status-green">{{ | 
|---|
|  |  |  | (<span :class="{ padding: item.statusInfo == '处理中' || item.status == '1' }">{{ | 
|---|
|  |  |  | item.statusInfo || "" | 
|---|
|  |  |  | }}</span>) | 
|---|
|  |  |  | }}</span>) | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | " class="remark"> | 
|---|
|  |  |  | {{ item.checkInfo || "" }} | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div v-if="item.approveType == 1" class="childList"> | 
|---|
|  |  |  | <div v-if="item.approveType == 0 || item.type == 1 || item.approveType == 1" class="childList"> | 
|---|
|  |  |  | <div class="m_content company" v-for="item1 in item.approveList" :key="item1.id"> | 
|---|
|  |  |  | <img v-if="item1.faceImg != null && item1.faceImg != ''" :src="item1.faceImg" class="avatar" alt="" /> | 
|---|
|  |  |  | <img v-if="item1.faceImg == null || item1.faceImg == ''" src="@/assets/avatar/man.png" class="avatar" | 
|---|
|  |  |  | 
|---|
|  |  |  | info.approveDateVO.canBeApproved != null && | 
|---|
|  |  |  | info.approveDateVO.canBeApproved == 1 | 
|---|
|  |  |  | ">拒绝</el-button> | 
|---|
|  |  |  | <el-button @click="isShowModal = false">返回</el-button> | 
|---|
|  |  |  | <el-button @click="close">返回</el-button> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <!--  同意/拒绝 --> | 
|---|
|  |  |  | <el-dialog append-to-body :title="apprTitle" :visible.sync="isShowAppr" width="480px"> | 
|---|
|  |  |  | 
|---|
|  |  |  | checkInfo: [{ required: true, message: '请输入', trigger: 'blur' }] | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | statusMap: { | 
|---|
|  |  |  | 0: '待审批', | 
|---|
|  |  |  | 1: '审批中', | 
|---|
|  |  |  | 2: '审批通过', | 
|---|
|  |  |  | 3: '审批未通过', | 
|---|
|  |  |  | 0: '待审核', | 
|---|
|  |  |  | 1: '处理中', | 
|---|
|  |  |  | 2: '已通过', | 
|---|
|  |  |  | 3: '已拒绝', | 
|---|
|  |  |  | 4: '已取消', | 
|---|
|  |  |  | 5: '他人或签', | 
|---|
|  |  |  | 6: '他人拒绝' | 
|---|
|  |  |  | 
|---|
|  |  |  | this.subLoading = false | 
|---|
|  |  |  | this.$tip.apiSuccess('处理成功') | 
|---|
|  |  |  | this.getDetail() | 
|---|
|  |  |  | this.$emit('success') | 
|---|
|  |  |  | this.$emit('close') | 
|---|
|  |  |  | this.isShowAppr = false | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .finally(() => { | 
|---|
|  |  |  | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | close() { | 
|---|
|  |  |  | this.isShowModal = false | 
|---|
|  |  |  | this.$emit('close') | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getDetail() { | 
|---|
|  |  |  | const { id } = this | 
|---|
|  |  |  | getVisitedReDetail({ id }).then(res => { | 
|---|
|  |  |  | this.info = res | 
|---|
|  |  |  | if (this.info.approveDateVO && this.info.approveDateVO.approveList.length > 0) { | 
|---|
|  |  |  | this.info.approveDateVO.approveList.forEach(item => { | 
|---|
|  |  |  | if (item.approveList && item.approveList.length == 1 && item.type !== 1) { | 
|---|
|  |  |  | item.title = item.approveList[0].title | 
|---|
|  |  |  | item.faceImg = item.approveList[0].faceImg | 
|---|
|  |  |  | item.memberName = item.approveList[0].memberName | 
|---|
|  |  |  | item.statusInfo = item.approveList[0].statusInfo | 
|---|
|  |  |  | item.status = item.approveList[0].status | 
|---|
|  |  |  | item.approveList = [] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | handleAppr(val) { | 
|---|
|  |  |  | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss" scoped> | 
|---|
|  |  |  | @import "@/assets/style/variables.scss"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .upload_box { | 
|---|
|  |  |  | width: 84px; | 
|---|
|  |  |  | height: 84px; | 
|---|
|  |  |  | 
|---|
|  |  |  | padding: 20px 30px; | 
|---|
|  |  |  | margin: 0 -30px; | 
|---|
|  |  |  | border-radius: 8px 8px 0 0; | 
|---|
|  |  |  | background: linear-gradient(to right, #f2f6fe, #cadffa); | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .head_bg { | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | left: 0; | 
|---|
|  |  |  | top: 0; | 
|---|
|  |  |  | z-index: 9; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .h1 { | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | 
|---|
|  |  |  | background: #207ff7; | 
|---|
|  |  |  | box-shadow: 4px 4px 0px 0px rgba(32, 127, 247, 0.16); | 
|---|
|  |  |  | border-radius: 16px 0px 16px 0px; | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | z-index: 99; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .scs { | 
|---|
|  |  |  | background-color: #00BA67; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .msg { | 
|---|
|  |  |  | background-color: #ED4545; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | border-left: 2px dashed #cccccc; | 
|---|
|  |  |  | left: 31px; | 
|---|
|  |  |  | height: calc(100% - 36px); | 
|---|
|  |  |  | height: calc(100% - 30px); | 
|---|
|  |  |  | top: 49px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | color: #888888; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .status { | 
|---|
|  |  |  | color: #00ba67; | 
|---|
|  |  |  | color: $primaryColor; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | align-content: center; | 
|---|
|  |  |  | margin-bottom: 6px; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .status { | 
|---|
|  |  |  | color: #888888; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .padding { | 
|---|
|  |  |  | color: $primaryColor; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .name { | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | font-size: 16px; | 
|---|