hi-ucs/back/src/views/modules/hasToDoTasks/deviceApprovalDetail.vue

319 lines
7.1 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
* @Author: hisense.guoyue
* @Date: 2022-06-29 15:59:51
* @LastEditors: hisense.guoyue
* @LastEditTime: 2022-09-27 18:08:00
* @Description: 设备审批详情
-->
<!-- 设备审批详情 -->
<template>
<el-card shadow="never" class="aui-card--fill">
<!-- 申请人详情 -->
<div>
<h3>申请人信息</h3>
<div class="big-BOX">
<p>
<span class="text">申请人<span> {{ detailInfo.name || '--' }}</span></span>
<span class="text">电话<span>{{ detailInfo.phone || '--' }}</span></span>
<span class="text">部门<span>{{ detailInfo.dept || '--' }}</span></span>
</p>
<p>
<span class="text">
能力申请标题<span>
{{ detailInfo.title || '--' }}</span></span>
<span class="text" v-if="detailInfo.applicationSystem">应用系统:<span>{{
detailInfo.applicationSystem || '--'
}}</span></span>
<span class="text"></span>
</p>
<p>
<span v-if="detailInfo.applicationArea">
应用领域:
<span class="area-item" v-for="(area, i) in JSON.parse(detailInfo.applicationArea)" :key="i">{{ area || '--'
}}</span>
</span>
</p>
<p>
<span>
需求依据<span>
{{ detailInfo.demand || '--' }}</span></span>
</p>
</div>
</div>
<!-- 申请能力 -->
<div class="AbilityApply">
<h3>申请能力</h3>
</div>
<el-card shadow="never" class="aui-card--fill">
<h4>{{ $t('process.circulation') }}</h4>
<el-table :data="dataList" border style="width: 100%;">
<!-- 任务名称 -->
<el-table-column prop="activityName" :label="$t('process.taskName')" header-align="center" align="center">
</el-table-column>
<!-- 处理人 -->
<el-table-column prop="assigneeName" :label="$t('process.assignee')" header-align="center" align="center">
</el-table-column>
<!-- 流程开始时间 -->
<el-table-column prop="startTime" :label="$t('task.startTime')" header-align="center" align="center">
</el-table-column>
<!-- 流程结束时间 -->
<el-table-column prop="endTime" :label="$t('task.endTime')" header-align="center" align="center">
</el-table-column>
<!-- 审核意见 -->
<el-table-column prop="comment" :label="$t('process.comment')" header-align="center" align="center">
</el-table-column>
<!-- 任务时长 -->
<el-table-column prop="durationInSeconds" :label="$t('task.durationInSeconds')" header-align="center"
align="center" width="180"></el-table-column>
</el-table>
</el-card>
</el-card>
</template>
<script>
import * as moment from 'moment'
export default {
data () {
return {
// 详情信息
detailInfo: {},
dataList: []
}
},
created () {
this.detailInfo = this.$route.params.params || {}
console.log('this.detailInfo------------>', this.detailInfo)
// 表格数据
let durationInSeconds = ''
if (this.detailInfo.auditTime && this.detailInfo.auditTime) {
durationInSeconds = moment(this.detailInfo.auditTime).diff(moment(this.detailInfo.createDate), 'seconds')
}
const _obj = {
activityName: this.detailInfo.title || '',
assigneeName: this.detailInfo.auditorName || '',
startTime: this.detailInfo.createDate || '',
endTime: this.detailInfo.auditTime,
comment: this.detailInfo.auditViem,
durationInSeconds: durationInSeconds
}
this.dataList.push(_obj)
}
}
</script>
<style scoped lang="scss">
::v-deep .big-BOX {
background: rgba(244, 245, 248, 0.8);
padding: 24px;
h3 {
font-size: 16px;
color: #212121;
}
p {
width: 100%;
display: flex;
justify-content: space-between;
color: #212121;
font-size: 14px;
span {
display: inline-block;
margin-left: 8px;
line-height: 32px;
span {
font-weight: bold;
}
}
.text {
width: 500px;
}
}
.lastP {
margin-top: 16px;
width: 100%;
span {
display: flex;
span {
padding: 0 12px;
height: 32px;
background: rgba(232, 234, 239, 1);
border-radius: 2px;
button {
background: unset;
border: 0;
color: #0558e1;
font-size: 14px;
}
}
}
}
}
::v-deep .AbilityApply {
margin-top: 32px;
h3 {
font-size: 16px;
color: #212121;
border-bottom: 1px solid #dddee1;
padding-bottom: 10px;
}
ul {
padding-left: 0px;
li {
list-style: none;
padding: 30px 0;
border-bottom: 1px solid #dddee1;
display: flex;
img {
width: 100px;
height: 100px;
}
div {
margin-left: 16px;
display: flex;
flex-direction: column;
justify-content: center;
h2 {
margin-bottom: 20px;
font-size: 20px;
color: #000;
display: flex;
span {
display: block;
font-size: 14px;
color: #ffffff;
margin-left: 8px;
background: rgba(0, 184, 230, 0.8);
display: flex;
align-items: center;
padding: 0 5px;
border-radius: 4px;
}
}
p {
margin-bottom: 0;
}
}
}
.clearfix:after {
display: block;
content: "";
clear: both;
}
.title {
color: #0558e1;
font-size: 18px;
padding-bottom: 0;
border-bottom: 0;
}
.title:before {
content: "";
width: 6px;
height: 6px;
display: inline-block;
border-radius: 50%;
background: #0558e1;
vertical-align: middle;
margin-right: 10px;
margin-top: 6px;
}
}
}
::v-deep .agreeOr > div {
display: flex;
align-items: center;
.el-input {
margin-right: 10px;
margin-left: 32px;
}
}
::v-deep .agreeOr > div:last-of-type {
margin-top: 15px;
}
.blueAll {
::v-deep .el-radio-button__inner {
width: 80px;
height: 32px;
line-height: 32px;
padding: 0;
border-radius: 2px;
background: #ffffff;
color: #0558e1;
border: 1px solid #0558e1;
}
::v-deep .el-radio-button__orig-radio:checked + .el-radio-button__inner {
box-shadow: unset !important;
background: #0558e1;
color: #ffffff;
}
}
.inputBule {
width: 55px;
height: 32px;
line-height: 32px;
padding: 0;
border-radius: 2px;
background: #0558e1;
color: #ffffff;
border: 1px solid #0558e1;
}
.redAll {
margin-left: 10px;
::v-deep .el-radio-button__inner {
width: 80px;
height: 32px;
line-height: 32px;
padding: 0;
border-radius: 2px;
border: 1px solid #e83a48;
background: #ffffff;
color: #e83a48;
margin-left: 10px;
}
::v-deep .el-radio-button__orig-radio:checked + .el-radio-button__inner {
box-shadow: unset !important;
color: #ffffff;
background: #e83a48;
}
}
.blueInput {
width: 55px;
}
.area-item {
padding-right: 10px;
}
</style>