259 lines
9.0 KiB
Java
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> |