This commit is contained in:
zhutianqi
2021-11-23 14:45:24 +08:00
parent a017489a21
commit 1ad7fa21ca
4 changed files with 5599 additions and 5499 deletions
File diff suppressed because it is too large Load Diff
@@ -3,12 +3,12 @@
<el-tabs v-model="tabValue" style="height: 100%;">
<el-tab-pane label="项目评估结果" name="standInvolveProjectDetail" v-if="project">
<div style="position: absolute;top: 0;left: 0;right: 0;bottom: 0;">
<stand-involve-project-detail ></stand-involve-project-detail>
<stand-involve-project-detail v-if="tabValue === 'standInvolveProjectDetail'"></stand-involve-project-detail>
</div>
</el-tab-pane>
<el-tab-pane label="技术评估结果" name="technologyInvolveProject" v-if="skill">
<div style="position: absolute;top: 0;left: 0;right: 0;bottom: 0;">
<technology-involve-project ></technology-involve-project>
<technology-involve-project v-if="tabValue === 'technologyInvolveProject'"></technology-involve-project>
</div>
</el-tab-pane>
</el-tabs>
@@ -30,7 +30,7 @@ export default {
return {
skill: false,
project: false,
tabValue: '',
tabValue: 'standInvolveProjectDetail',
menuName: [ "项目评估结果", "技术评估结果"]
}
},
@@ -53,12 +53,12 @@ export default {
}
}
});
if(this.skill === true){
this.tabValue = "technologyInvolveProject"
return;
}else if(this.project === true){
if (this.project === true) {
this.tabValue = "standInvolveProjectDetail"
return;
} else if (this.skill === true) {
this.tabValue = "technologyInvolveProject"
return;
}
}
}
@@ -159,24 +159,24 @@
width="55"
align="center">
</el-table-column>
<el-table-column
width="150px"
align="center"
prop="productLineId"
label="产品线">
</el-table-column>
<el-table-column
width="150px"
align="center"
prop="productId"
label="项目编号">
</el-table-column>
<el-table-column
width="150px"
align="center"
prop="productName"
label="项目名称">
</el-table-column>
<!-- <el-table-column-->
<!-- width="150px"-->
<!-- align="center"-->
<!-- prop="productLineId"-->
<!-- label="产品线">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- width="150px"-->
<!-- align="center"-->
<!-- prop="productId"-->
<!-- label="项目编号">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- width="150px"-->
<!-- align="center"-->
<!-- prop="productName"-->
<!-- label="项目名称">-->
<!-- </el-table-column>-->
<el-table-column
width="150px"
align="center"
@@ -14,12 +14,12 @@
placeholder="标准/政策名称查找"
clearable></el-input>
</el-form-item>
<el-form-item label="类型" class="search-item search-item-last">
<el-select v-model="sarProject.position" placeholder="请选择标准性质">
<el-option value="1" label="国内"></el-option>
<el-option value="2" label="海外"></el-option>
</el-select>
</el-form-item>
<el-form-item label="类型" class="search-item search-item-last">
<el-select v-model="sarProject.position" placeholder="请选择标准性质">
<el-option value="1" label="国内"></el-option>
<el-option value="2" label="海外"></el-option>
</el-select>
</el-form-item>
<el-form-item label="" class="search-item btn-box">
<el-button class="common-button-primary" type="primary" size="mini" @click="searchStandAndLaws" v-btn-permission="'f3ea8cde1a7116aa7ba56ff33a19189f'">查询</el-button>
</el-form-item>
@@ -33,24 +33,24 @@
</div>
<div class="content">
<el-table
stripe
ref="selections"
tooltip-effect="dark"
border
:height="tableHeight"
:data="sarProjectListDatas"
class="table"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
stripe
ref="selections"
tooltip-effect="dark"
border
:height="tableHeight"
:data="sarProjectListDatas"
class="table"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="standType"
label="标准/政策类型"
width="120"
prop="standType"
label="标准/政策类型"
width="120"
>
<template slot-scope="scope">
<div v-if="scope.row.standType === 'INLAND'">国内标准法规</div>
@@ -61,9 +61,9 @@
</template>
</el-table-column>
<el-table-column
prop="standCode"
label="标准/政策号"
width="180"
prop="standCode"
label="标准/政策号"
width="180"
>
<template slot-scope="scope">
<a class="table-jump"
@@ -71,8 +71,8 @@
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准/政策名称"
prop="standName"
label="标准/政策名称"
>
<template slot-scope="scope">
<a class="table-jump"
@@ -85,10 +85,24 @@
>
</el-table-column>
<el-table-column
fixed="right"
label=""
width="50"
align="center">
prop="status"
label="技术储备情况"
width="150"
>
<template slot-scope="scope">
<div class="status" @click="editRiskDegree(scope.row)">
<div class="color" :style="iconColor(scope.row.riskDegree)"></div>
<div class="text" :style="textColor(scope.row.riskDegree)">
{{ scope.row.riskDegree === '0' ? '初始状态' : (scope.row.riskDegree === '1' ? '低风险' : (scope.row.riskDegree === '2' ? '中风险' : '高风险')) }}
</div>
</div>
</template>
</el-table-column>
<el-table-column
fixed="right"
label=""
width="50"
align="center">
<template slot-scope="scope">
<i class="el-icon-view btn-i" @click="handleProjectCompliance(scope.row)"></i>
</template>
@@ -99,53 +113,53 @@
</div>
<!-- 查看符合标准性弹窗-->
<el-drawer
title="标准涉及项目符合性"
:visible.sync="showSarProStateModal"
:wrapperClosable="false"
size="1100px"
:before-close="clearSearchPro"
class="not-footer-drawer"
title="标准涉及项目符合性"
:visible.sync="showSarProStateModal"
:wrapperClosable="false"
size="1100px"
:before-close="clearSearchPro"
class="not-footer-drawer"
>
<div class="demo-drawer-content">
<div class="el-drawer-form">
<div class="search-area-detail">
<div class="left" id="detailSearch">
<el-form :inline="true" :model="sarProStateEO" class="label-input-form">
<el-form-item label="标准编号" class="search-item search-item-last">
<el-input
v-model="sarProStateEO.standNumber"
placeholder="根据标准编号查找"
:maxlength="100"
clearable></el-input>
</el-form-item>
<el-form-item label="标准名称" class="search-item search-item-last">
<el-input
v-model="sarProStateEO.standName"
placeholder="根据标准名称查找"
:maxlength="100"
clearable></el-input>
</el-form-item>
<!-- <el-form-item label="标准编号" class="search-item search-item-last">-->
<!-- <el-input-->
<!-- v-model="sarProStateEO.standNumber"-->
<!-- placeholder="根据标准编号查找"-->
<!-- :maxlength="100"-->
<!-- clearable></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="标准名称" class="search-item search-item-last">-->
<!-- <el-input-->
<!-- v-model="sarProStateEO.standName"-->
<!-- placeholder="根据标准名称查找"-->
<!-- :maxlength="100"-->
<!-- clearable></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="具体章条" class="search-item search-item-last">
<el-input
v-model="sarProStateEO.specificItem"
placeholder="根据具体章条查找"
:maxlength="100"
clearable></el-input>
v-model="sarProStateEO.specificItem"
placeholder="根据具体章条查找"
:maxlength="100"
clearable></el-input>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'0bdf3aecef5161bb66256ebcbbd4bdaa'"
@click="querySarProStateZeroBtn">查询</el-button>
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'0bdf3aecef5161bb66256ebcbbd4bdaa'"
@click="querySarProStateZeroBtn">查询</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'5e5ea3cc23f1b27ba1c6b6bee44214f0'"
@click="clearSearchProState">清空</el-button>
class="common-button-default"
size="mini"
v-btn-permission="'5e5ea3cc23f1b27ba1c6b6bee44214f0'"
@click="clearSearchProState">清空</el-button>
</el-form-item>
</el-form>
</div>
@@ -153,140 +167,209 @@
</div>
</div>
<el-table
ref="multipleTable"
:data="sarProStateListDatas"
tooltip-effect="dark"
style="width: 100%"
border
:height="sarProStateTableHeight"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
ref="multipleTable"
:data="sarProStateListDatas"
tooltip-effect="dark"
style="width: 100%"
border
:height="sarProStateTableHeight"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="standNumber"
label="标准编号">
</el-table-column>
<el-table-column
prop="standName"
label="标准名称">
</el-table-column>
<el-table-column
v-if="sarProject.position === '1'"
prop="lastVersionNumber"
label="上一版本标准编号">
type="selection"
width="55"
align="center">
</el-table-column>
<!-- <el-table-column-->
<!-- prop="standNumber"-->
<!-- label="标准编号">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="standName"-->
<!-- label="标准名称">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- v-if="sarProject.position === '1'"-->
<!-- prop="lastVersionNumber"-->
<!-- label="上一版本标准编号">-->
<!-- </el-table-column>-->
<el-table-column
v-if="sarProject.position === '2'"
prop="correspondDomesticStandard"
label="对应国行标">
</el-table-column>
<el-table-column
prop="specificItem"
label="具体章条">
prop="specificItem"
label="具体章条">
</el-table-column>
<el-table-column
prop="carModel"
align="center"
label="解读内容">
prop="carModel"
align="center"
label="解读内容">
<el-table-column
show-overflow-tooltip
prop="coreTechnicalRequirement"
label="核心技术要求(简述、请勿抄写标准)">
</el-table-column>
<el-table-column
show-overflow-tooltip
show-overflow-tooltip
v-if="sarProject.position === '1'"
prop="comparedWithPrevious"
label="相对于上一版本变化点">
</el-table-column>
<el-table-column
show-overflow-tooltip
show-overflow-tooltip
v-if="sarProject.position === '2'"
prop="comparedDomesticStandard"
label="相对于国行标差异点">
</el-table-column>
<el-table-column
show-overflow-tooltip
show-overflow-tooltip
prop="complianceState"
label="合规性分析">
</el-table-column>
</el-table-column>
</el-table>
<pagination
:page="sarProStateTotalPage"
:total="sarProStateTotal"
@pageChange="pageProStateChange"
@pageSizeChange="pageProStateSizeChange"></pagination>
:page="sarProStateTotalPage"
:total="sarProStateTotal"
@pageChange="pageProStateChange"
@pageSizeChange="pageProStateSizeChange"></pagination>
</div>
</div>
</el-drawer>
<el-dialog width='400px' :visible.sync="riskDegreeModal" title="修改技术储备情况">
<el-select v-model="riskDegree" placeholder="请选择">
<el-option label="初始状态" value="0"></el-option>
<el-option label="低风险" value="1"></el-option>
<el-option label="中风险" value="2"></el-option>
<el-option label="高风险" value="3"></el-option>
</el-select>
<span slot="footer" class="dialog-footer">
<el-button type="primary" size="mini" @click="risSubmit">确定</el-button>
<el-button type="primary" size="mini" @click="riskDegreeModal = false">关闭</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
name: "technologyInvolveProject",
data () {
return {
SarProStateType: '', // 国内外
sarProject: {
standName: '', // 标准政策名称
standNumber: '', // 标准/政策号
standApplicationType: 2,
position: '1'
}, // 条件查询
sarProjectListDatas: [], // table数据
countryOptions: [], //国家选择下拉框数据
tableHeight: null, // table高度
loading: false,
total: 0,
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
showSarProStateModal: false,
sarProStateEO: {
//标准编号
standNumber: '',
//标准名称
standName: '',
//具体章条
specificItem: '',
export default {
name: "technologyInvolveProject",
data () {
return {
riskDegreeModal: false,
editData: {},
riskDegree: '',
SarProStateType: '', // 国内外
sarProject: {
standName: '', // 标准政策名称
standNumber: '', // 标准/政策号
standApplicationType: 2,
position: '1'
}, // 条件查询
sarProjectListDatas: [], // table数据
countryOptions: [], //国家选择下拉框数据
tableHeight: null, // table高度
loading: false,
total: 0,
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
showSarProStateModal: false,
sarProStateEO: {
//标准编号
standNumber: '',
//标准名称
standName: '',
//具体章条
specificItem: '',
},
sarProStateTotal: 0,
sarProStateTotalPage: 1,
sarProStatePageSize: this.$store.getters.userInfo.configContent,
sarProStateListDatas: [], // 符合性项目列表数据
sarProStateTableHeight: null,
standId: '', // 符合性项目id
}
},
methods: {
risSubmit () {
this.$http.postData('sarStandardComplianceAssessResult/sar-interpretation-national-standard/updateById', {
standNumber: this.editData.standNumber,
standName: this.editData.standName,
interpretationTime: this.editData.interpretationTime,
standId: this.editData.standId,
riskDegree: this.riskDegree
}, {
_this: this
}, res => {
this.riskDegreeModal = false
this.searchStandAndLaws()
})
},
editRiskDegree (row) {
this.riskDegreeModal = true
this.editData = row
this.riskDegree = row.riskDegree
},
iconColor (row) {
if (row === '0') {
return 'background: #409EFF'
} else if (row === '1') {
return 'background: #67c23a'
} else if (row === '2') {
return 'background: #e6a23c'
} else if (row === '3') {
return 'background: #f56c6c'
}
},
textColor (row) {
if (row === '0') {
return 'color: #409EFF'
} else if (row === '1') {
return 'color: #67c23a'
} else if (row === '2') {
return 'color: #e6a23c'
} else if (row === '3') {
return 'color: #f56c6c'
}
},
sarProStateTotal: 0,
sarProStateTotalPage: 1,
sarProStatePageSize: this.$store.getters.userInfo.configContent,
sarProStateListDatas: [], // 符合性项目列表数据
sarProStateTableHeight: null,
standId: '', // 符合性项目id
}
},
methods: {
searchStandAndLaws () {
this.page = 1
this.queryStandAndLaws()
this.page = 1
this.queryStandAndLaws()
}, // 查询
pageChange (page) {
this.page = page
this.queryStandAndLaws()
this.page = page
this.queryStandAndLaws()
},
pageSizeChange (pageSize) {
this.pageSize = pageSize
this.$store.getters.userInfo.configContent = pageSize
this.queryStandAndLaws()
this.pageSize = pageSize
this.$store.getters.userInfo.configContent = pageSize
this.queryStandAndLaws()
},
queryStandAndLaws () {
this.sarProject.current = this.page
this.sarProject.size = this.pageSize
this.$http.get('sarStandardComplianceAssessResult/standard', this.sarProject, {
_this: this,
loading: 'loading',
}, res => {
this.sarProjectListDatas = res.data.records
this.total = res.data.total
}, e=> {})
this.sarProject.current = this.page
this.sarProject.size = this.pageSize
this.$http.get('sarStandardComplianceAssessResult/standard', this.sarProject, {
_this: this,
loading: 'loading',
}, res => {
this.sarProjectListDatas = res.data.records
this.sarProjectListDatas.forEach((item, index) => {
if (index === 0) {
item.status = '0'
} else if (index === 1) {
item.status = '1'
} else if (index === 2) {
item.status = '2'
} else if (index === 3) {
item.status = '3'
} else {
item.status = '3'
}
})
this.total = res.data.total
}, e=> {})
},
//点击查看详情
handlePreview(item) {
@@ -301,107 +384,124 @@ name: "technologyInvolveProject",
},
// 分页查询
resetSelect () {
this.sarProject.country = ''
this.sarProject.standCode=''
this.sarProject.standName = ''
this.sarProject.standNumber=''
this.queryStandAndLaws()
this.sarProject.country = ''
this.sarProject.standCode=''
this.sarProject.standName = ''
this.sarProject.standNumber=''
this.queryStandAndLaws()
}, // 外层清空条件查询
handleProjectCompliance (row) {
this.standId = row.standId
this.querySarProStateZero()
},
querySarProStateZeroBtn(){
this.sarProStateTotalPage = 1
this.querySarProStateZero()
},
// 查看项目符合性
querySarProStateZero () {
var form = this.sarProStateEO
form.position = this.sarProject.position
form.standId = this.standId
form.current = this.sarProStateTotalPage
form.size = this.sarProStatePageSize
this.$http.get('sarStandardComplianceAssessResult/interpretation', form, {
_this: this,
loading: 'loading'
}, res => {
if (res.ok) {
this.sarProStateListDatas = res.data.records
this.sarProStateTotal = res.data.total
}
})
this.showSarProStateModal = true
}, // 查询项目数据
querySarProStateZeroBtn(){
this.sarProStateTotalPage = 1
this.querySarProStateZero()
},
// 查看项目符合性
querySarProStateZero () {
var form = this.sarProStateEO
form.position = this.sarProject.position
form.standId = this.standId
form.current = this.sarProStateTotalPage
form.size = this.sarProStatePageSize
this.$http.get('sarStandardComplianceAssessResult/interpretation', form, {
_this: this,
loading: 'loading'
}, res => {
if (res.ok) {
this.sarProStateListDatas = res.data.records
this.sarProStateTotal = res.data.total
}
})
this.showSarProStateModal = true
}, // 查询项目数据
clearSearchProState () {
this.sarProStateEO.standNumber = ''
this.sarProStateEO.standName = ''
this.sarProStateEO.specificItem = ''
this.querySarProStateZeroBtn()
this.sarProStateEO.standNumber = ''
this.sarProStateEO.standName = ''
this.sarProStateEO.specificItem = ''
this.querySarProStateZeroBtn()
}, // 清空条件查询
clearSearchPro () {
this.sarProStateEO.standNumber = ''
this.sarProStateEO.standName = ''
this.sarProStateEO.specificItem = ''
this.showSarProStateModal = false
this.sarProStateEO.standNumber = ''
this.sarProStateEO.standName = ''
this.sarProStateEO.specificItem = ''
this.showSarProStateModal = false
}, // 关闭查看事件
pageProStateChange (page) {
this.sarProStateTotalPage = page
this.querySarProStateZero()
this.sarProStateTotalPage = page
this.querySarProStateZero()
},
pageProStateSizeChange (pageSize) {
this.sarProStatePageSize = pageSize
this.$store.getters.userInfo.configContent = pageSize
this.querySarProStateZero()
this.sarProStatePageSize = pageSize
this.$store.getters.userInfo.configContent = pageSize
this.querySarProStateZero()
},
},
mounted () {
},
mounted () {
this.queryStandAndLaws()
this.tableHeight = $('.regulatory-repository').height() - 159
this.sarProStateTableHeight = $('body').height() - 152
window.onresize = () => {
this.tableHeight = $('.regulatory-repository').height() - 159
this.sarProStateTableHeight = $('body').height() - 152
this.tableHeight = $('.regulatory-repository').height() - 159
this.sarProStateTableHeight = $('body').height() - 152
}
}
}
}
</script>
<style lang="less" scoped>
.technology-involve-project{
height: 100%;
.laws-details-header {
background: #fff;
// height: 30px;
line-height: 50px;
padding: 0 10px;
//margin-bottom: 5px;
.back {
display: inline-block;
margin-right: 10px;
.technology-involve-project{
height: 100%;
.status {
border: 1px solid #ccc;
border-radius: 5px;
display: flex;
line-height: 30px;
margin: 5px;
align-items: center;
.text {
font-weight: bold;
}
.color {
margin: 0 10px;
width: 15px;
height: 15px;
border-radius: 50%;
}
}
.title {
display: inline-block;
font-weight: bold;
font-size: 18px;
flex: 1;
padding: 0 15px;
text-align: center;
.laws-details-header {
background: #fff;
// height: 30px;
line-height: 50px;
padding: 0 10px;
//margin-bottom: 5px;
.back {
display: inline-block;
margin-right: 10px;
}
.title {
display: inline-block;
font-weight: bold;
font-size: 18px;
flex: 1;
padding: 0 15px;
text-align: center;
}
}
.contaiiner {
background: #fff;
padding: 5px 10px;
}
}
.contaiiner {
background: #fff;
padding: 5px 10px;
}
}
</style>
<style lang="less">
.technology-involve-project{
.search-area .search-item .el-input--suffix .el-input__inner{
padding-right: 15px;
.technology-involve-project{
.search-area .search-item .el-input--suffix .el-input__inner{
padding-right: 15px;
}
.search-area-detail .el-input__inner{
width: 150px;
}
}
.search-area-detail .el-input__inner{
width: 150px;
}
}
</style>