Files
laws_weilai/jero-web/src/views/projectManagement/ParameterItemCollection/ProjectDetails/index.vue
T
2022-06-09 09:20:07 +08:00

259 lines
9.0 KiB
Java

<template>
<div class="doc-detail">
<!-- 认证参数收集——清单信息-->
<div class="Virtual-detail-header" style="position: fixed;top: 0">
<div class="Virtual-detail-title">
<span style="line-height: 74px;display: inline-block;float: left">
<a-icon type="left-circle" theme="filled" style="margin-right: 6px;font-size: 30px;color: #21c9cc;"/>
</span>
<span>
{{this.title}}
</span>
</div>
<div class="Virtual-detail-text-right" v-if="textTitle === $t('listOfRegulations')">
<div class="operator-text" @click="commentClick">
<a-icon type="message"/>
{{$t('comment')}}
</div>
<div class="operator-text" @click="historicalVersionClick">
<a-icon type="clock-circle"/>
{{$t('historicalVersion')}}
</div>
<div class="operator-text" @click="UpdateLogClick">
<a-icon type="reload"/>
{{$t('UpdateLog')}}
</div>
</div>
</div>
<div style="padding: 67px 0 0 0;background: #ffffff;height:100%">
<div class="detail-content" style="height: 100%">
<div class="Virtual-detail-left">
<div class="Virtual-detail-left-text" :title="$t('projectDetails')"
@click="textClick(0,$t('projectDetails'))">
<a-icon type="container"/>
{{$t('projectDetails')}}
</div>
<div class="Virtual-detail-left-text" v-has="'projectLawsInventory:list'" :title="$t('listOfRegulations')"
@click="textClick(1,$t('listOfRegulations'))">
<a-icon type="container"/>
{{$t('listOfRegulations')}}
</div>
<div class="Virtual-detail-left-text" :title="$t('taskList')" @click="textClick(2,$t('taskList'))">
<a-icon type="container"/>
{{$t('taskList')}}
</div>
<div class="Virtual-detail-left-text" v-has="'ncrTrack:queryPageInfo'" :title="$t('nonConformance')"
@click="textClick(3,$t('nonConformance'))">
<a-icon type="container"/>
{{$t('nonConformance')}}
</div>
<div class="Virtual-detail-left-text" :title="$t('TaskParameterCollection')"
@click="textClick(4,$t('TaskParameterCollection'))">
<a-icon type="container"/>
{{$t('TaskParameterCollection')}}
</div>
</div>
<div class="Virtual-detail-right">
<ProjectDetailsName @TaskListChange="TaskListChange" v-if="textTitle === $t('projectDetails')"/>
<listOfRegulations v-else-if="textTitle === $t('listOfRegulations')"/>
<TaskList :isDisplayNum="isDisplayNum" :areaOfResponsibility="areaOfResponsibility"
v-else-if="textTitle === $t('taskList')"/>
<ParameterItemCollectionList v-else-if="textTitle === $t('TaskParameterCollection')"
:paramsManifest='paramsManifest'/>
<nonConformance v-else-if="textTitle === $t('nonConformance')"/>
</div>
</div>
</div>
<updateLog :url="url" ref="updateLogRef"/>
<historicalVersionList ref="historicalVersionListRef"/>
<commentList ref="commentListRef"/>
</div>
</template>
<script>
import TaskList from '@/views/projectManagement/components/TaskList'
import listOfRegulations from '@/views/projectManagement/components/listOfRegulations'
import ProjectDetailsName from '@/views/projectManagement/components/ProjectDetails'
import ParameterItemCollectionList from '../../components/ParameterItemCollectionList'
import nonConformance from '@/views/projectManagement/components/nonConformance'
import updateLog from '@/components/UpdateLog/index'
import historicalVersionList from '@/views/projectManagement/components/historicalVersionList'
import commentList from '@/views/projectManagement/components/commentList'
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
export default {
name: 'ProjectDetails',
components: {
TaskList,
listOfRegulations,
ProjectDetailsName,
ParameterItemCollectionList,
nonConformance,
updateLog,
historicalVersionList,
commentList
},
data() {
return {
title: this.$t('projectDetails'),
textTitle: this.$t('TaskParameterCollection'),
isDisplayNum: '',
areaOfResponsibility: {},
url: {
logList: '/project/projectLawsInventoryLogEO/page',
historicalVersionUrl: '',
queryUserPremissionByProjectLibraryId: '/project/projectCertificationDirectoryEO/queryUserPremissionByProjectLibraryId'
},
paramsManifest: {}
}
},
mounted() {
this.textColor()
this.getTaskId()
// 清单信息
this.paramsManifest = JSON.parse(localStorage.getItem('paramsManifest'))
},
methods: {
textColor() {
let textColor = document.getElementsByClassName('Virtual-detail-left-text-color')
if (textColor && textColor.length > 0) {
textColor[0].classList.remove('Virtual-detail-left-text-color')
}
let text = document.getElementsByClassName('Virtual-detail-left-text')
if (text && text.length > 0) {
for (let i = 0; i < text.length; i++) {
if (text[i].title == this.$t('TaskParameterCollection')) {
text[i].classList.add('Virtual-detail-left-text-color')
}
}
}
},
textClick(num, name) {
this.textTitle = name
let textColor = document.getElementsByClassName('Virtual-detail-left-text-color')
if (textColor && textColor.length > 0) {
textColor[0].classList.remove('Virtual-detail-left-text-color')
}
let text = document.getElementsByClassName('Virtual-detail-left-text')
for (let i = 0; i < text.length; i++) {
if (text[i].title == name) {
text[i].classList.add('Virtual-detail-left-text-color')
} else if (text[i].title == name) {
text[i].classList.add('Virtual-detail-left-text-color')
} else if (text[i].title == name) {
text[i].classList.add('Virtual-detail-left-text-color')
} else if (text[i].title == name) {
text[i].classList.add('Virtual-detail-left-text-color')
} else if (text[i].title == name) {
text[i].classList.add('Virtual-detail-left-text-color')
}
}
},
UpdateLogClick() {
this.$refs.updateLogRef.getList({ projectLibraryId: this.$route.query.id })
},
historicalVersionClick() {
this.$refs.historicalVersionListRef.getList()
},
commentClick() {
this.$refs.commentListRef.getData()
},
getTaskId() {
let query = {
projectLibraryId: this.$route.query.id
}
getAction(this.url.queryUserPremissionByProjectLibraryId, query).then((res) => {
if (res.success) {
this.isDisplayNum = res.result
}
})
},
TaskListChange(item) {
this.areaOfResponsibility = item
this.textTitle = this.$t('taskList')
let textColor = document.getElementsByClassName('Virtual-detail-left-text-color')
if (textColor && textColor.length > 0) {
textColor[0].classList.remove('Virtual-detail-left-text-color')
}
let text = document.getElementsByClassName('Virtual-detail-left-text')
for (let i = 0; i < text.length; i++) {
if (text[i].title == this.$t('taskList')) {
text[i].classList.add('Virtual-detail-left-text-color')
}
}
}
}
}
</script>
<style lang="less" scoped>
@import '~@assets/less/common.less';
.doc-detail {
background: #fff;
height: 100%;
.Virtual-detail-header {
width: 100%;
height: 68px;
line-height: 68px;
padding: 0 32px 0 32px;
box-sizing: border-box;
display: flex;
justify-content: space-between;
border-bottom: 2px #eff1f3 solid;
background: #fff;
.Virtual-detail-title {
display: inline-block;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
font-size: 20px;
font-weight: 400;
color: #040B29;
line-height: 68px;
}
.doc-detail-right {
width: 800px;
line-height: 68px;
display: flex;
}
}
.Virtual-detail-left {
width: 240px;
padding: 16px 24px;
box-sizing: border-box;
font-size: 16px;
line-height: 3;
float: left;
.Virtual-detail-left-text {
padding: 2px 12px;
cursor: pointer;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
.Virtual-detail-right {
border-left: 2px #eff1f3 solid;
width: calc(100% - 240px);
height: 100%;
float: left;
overflow: auto;
}
}
.Virtual-detail-left-text-color {
background: #eff1f3;
border-radius: 4px;
}
.Virtual-detail-text-right {
}
</style>