Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
zhutianqi
2021-08-05 18:01:58 +08:00
@@ -4,17 +4,18 @@
<div class="back" title="返回" @click="back">
<i class="el-icon-back"></i>
</div>
<div class="title">车型{{localProEO.projectName}} 详情</div>
<div class="title">车型{{ localProEO.projectName }} 详情</div>
</div>
<div class="contaiiner">
<el-card class="contaiinerCard" style="margin: 5px">
<div style="padding: 20px">
<el-row style="margin-top: 10px">
<el-col :span="5">产品平台: <span class="valueColor">{{ localProEO.projectPlatfor}}</span></el-col>
<el-col :span="5">产品平台: <span class="valueColor">{{ localProEO.projectPlatfor }}</span></el-col>
<el-col :span="5" :push="1">项目编号: <span class="valueColor">{{ localProEO.projectNumber }}</span></el-col>
<el-col :span="5" :push="2">项目名称: <span class="valueColor">{{ localProEO.projectName }}</span></el-col>
<!-- <el-col :span="5" :push="2">车型系列:<span class="valueColor">{{ localProEO.productSet }}</span></el-col>-->
<el-col :span="4" :push="3">项目分类:<span class="valueColor">{{ localProEO.projectClassification }}</span></el-col>
<el-col :span="4" :push="3">项目分类:<span class="valueColor">{{ localProEO.projectClassification }}</span>
</el-col>
</el-row>
<el-row style="margin-top: 10px">
<el-col :span="5">项目状态: <span class="valueColor">{{ localProEO.projectStatus }} </span></el-col>
@@ -24,20 +25,24 @@
</el-row>
<el-row style="margin-top: 10px">
<el-col :span="5">项目经理: <span class="valueColor">{{ localProEO.projectManager }} </span></el-col>
<el-col :span="5" :push="1"> 项目计划开始时间: <span class="valueColor">{{ $moment(localProEO.projectStartDate).format('YYYY-MM-DD')}}</span></el-col>
<el-col :span="5" :push="2">项目计划完成时间: <span class="valueColor">{{ $moment(localProEO.projectEndDate).format('YYYY-MM-DD') }} </span></el-col>
<el-col :span="5" :push="1"> 项目计划开始时间: <span
class="valueColor">{{ $moment(localProEO.projectStartDate).format('YYYY-MM-DD') }}</span></el-col>
<el-col :span="5" :push="2">项目计划完成时间: <span
class="valueColor">{{ $moment(localProEO.projectEndDate).format('YYYY-MM-DD') }} </span></el-col>
</el-row>
</div>
</el-card>
<div class="action-bar">
<el-button plain class="common-button-primary" v-btn-permission="''" size="mini" @click="addList">调取</el-button>
<el-button plain class="common-button-primary" v-btn-permission="''" size="mini" @click="deleteList">批量删除</el-button>
<el-button plain class="common-button-primary" v-btn-permission="''" size="mini" @click="deleteList">批量删除
</el-button>
<el-button class="common-button-default export-button"
size="mini" @click="exportStandard"
v-btn-permission="''"
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
icon="export"
>导出</el-button>
>导出
</el-button>
</div>
<!-- <el-tabs type="border-card">-->
<!-- <el-tab-pane :label="localProEO.productName" class="details-panel-tabs-item">-->
@@ -65,7 +70,10 @@
width="260px"
>
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.standSort+ ' ' + scope.row.standNumber + '-' + scope.row.standYear}}</span>
<span
style="margin-left: 10px">{{
scope.row.standSort + ' ' + scope.row.standNumber + '-' + scope.row.standYear
}}</span>
</template>
</el-table-column>
<el-table-column
@@ -86,7 +94,9 @@
sortable
label="标准实施日期">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.ssrq ? $moment(scope.row.ssrq).format('YYYY-MM-DD') : '-' }}</span>
<span style="margin-left: 10px">{{
scope.row.ssrq ? $moment(scope.row.ssrq).format('YYYY-MM-DD') : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
@@ -94,7 +104,9 @@
width="190px"
label="新车型实施日期">
<template slot-scope="scope">
<span style="margin-left: 10px">{{scope.row.xcxssrq ? $moment(scope.row.xcxssrq).format('YYYY-MM-DD') : '-' }}</span>
<span style="margin-left: 10px">{{
scope.row.xcxssrq ? $moment(scope.row.xcxssrq).format('YYYY-MM-DD') : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
@@ -103,7 +115,9 @@
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.zccssrq ? $moment(scope.row.zccssrq).format('YYYY-MM-DD') : '-' }}</span>
<span style="margin-left: 10px">{{
scope.row.zccssrq ? $moment(scope.row.zccssrq).format('YYYY-MM-DD') : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
@@ -113,7 +127,7 @@
>
<template slot-scope="scope">
<span style="margin-left: 10px">
{{zrbmMap[scope.row.zrbm]}}
{{ zrbmMap[scope.row.zrbm] }}
</span>
</template>
</el-table-column>
@@ -171,7 +185,8 @@
</el-formItem>
<el-formItem label="标准类别" prop="standSort" class="search-item">
<el-select v-model="standCommonlySearch.standSort" placeholder="根据标准类别查找" clearable>
<el-option v-for="opt in standSortOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">{{ opt.label }}
<el-option v-for="opt in standSortOptions" :value="opt.value === undefined ? '' :opt.value"
:key="opt.value" :label="opt.label">{{ opt.label }}
</el-option>
</el-select>
</el-formItem>
@@ -183,15 +198,17 @@
</el-formItem>
<el-formItem class="search-item btn-box">
<el-button
type="primary"
size="mini"
class="common-button-primary"
type="primary"
size="mini"
class="common-button-primary"
@click="search">查询</el-button>
@click="search">查询
</el-button>
<el-button
class="common-button-default"
size="mini"
@click="clearSearch">清空</el-button>
class="common-button-default"
size="mini"
@click="clearSearch">清空
</el-button>
</el-formItem>
</el-form>
</div>
@@ -218,7 +235,8 @@
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump"
@click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{ scope.row.standNumber
@click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{
scope.row.standNumber
}}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }}
{{ scope.row.standNumber }}</a>
@@ -238,7 +256,9 @@
label="新车型实施日期">
<template slot-scope="scope">
<span style="margin-left: 10px">
{{scope.row.attrInfoCaseMap.xcxssrq ? $moment(scope.row.attrInfoCaseMap.xcxssrq).format('YYYY-MM-DD') : '-'}}
{{
scope.row.attrInfoCaseMap.xcxssrq ? $moment(scope.row.attrInfoCaseMap.xcxssrq).format('YYYY-MM-DD') : '-'
}}
</span>
</template>
</el-table-column>
@@ -248,7 +268,9 @@
label="在产车实施日期">
<template slot-scope="scope">
<span style="margin-left: 10px">
{{scope.row.attrInfoCaseMap.zccssrq ? $moment(scope.row.attrInfoCaseMap.zccssrq).format('YYYY-MM-DD') : '-'}}
{{
scope.row.attrInfoCaseMap.zccssrq ? $moment(scope.row.attrInfoCaseMap.zccssrq).format('YYYY-MM-DD') : '-'
}}
</span>
</template>
</el-table-column>
@@ -258,7 +280,7 @@
label="文本状态">
<template slot-scope="scope">
<span style="margin-left: 10px">
{{textStatusMap[scope.row.textStatus]}}
{{ textStatusMap[scope.row.textStatus] }}
</span>
</template>
</el-table-column>
@@ -285,22 +307,24 @@
<div slot="footer">
<el-button class="common-button-primary" icon="el-icon-check" type="primary"
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
@click="exportTestItem">导出</el-button>
@click="exportTestItem">导出
</el-button>
<el-button class="common-button-default" icon="el-icon-close" @click="cancal">取消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import {mapGetters} from 'vuex'
import LawsTreeView from '@/components/ProjectRelatedPersonnel/view'
import { interfaceUrl } from "@/sysConfig";
import {interfaceUrl} from "@/sysConfig";
export default {
name: 'Details',
components: {
LawsTreeView
},
data () {
data() {
return {
standSortOptions: [],
standCommonlySearch: {
@@ -308,6 +332,8 @@ export default {
standNumber: '',
standType: ''
},
//用来存放项目id
proId: '',
size: this.$store.getters.userInfo.configContent,
pageSizeNo: this.$store.getters.userInfo.configContent,
pageSize: this.$store.getters.userInfo.configContent,
@@ -324,13 +350,13 @@ export default {
data: [],
Height: 0,
localProEO: {},
localProLib:{},
localProLib: {},
takeingFlag: false,
exportModelFlag: false,
exportName: '',
standList:[],//调取添加的数据
standList1:[],//调取添加的数据
id:'',//批量删除.
standList: [],//调取添加的数据
standList1: [],//调取添加的数据
id: '',//批量删除.
saveExportType: '',// 导出文件模态框控制,和文件名称
zrbmMap: {},
textStatusMap: {} // 文本状态id与name对应
@@ -358,11 +384,11 @@ export default {
this.pageSize = this.$store.getters.userInfo.configContent;
this.selectionList();
},
pageChangeNo(page){
pageChangeNo(page) {
this.pageNo = page
this.addList()
},
pageSizeChangeNo(pageSize){
pageSizeChangeNo(pageSize) {
this.pageSizeNo = this.$store.getters.userInfo.configContent;
this.addList()
@@ -374,13 +400,13 @@ export default {
//点击添加事件
addList() {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", {
page:this.pageNo,
pageSize:this.pageSizeNo,
page: this.pageNo,
pageSize: this.pageSizeNo,
standSort: this.standCommonlySearch.standSort,
standNumber: this.standCommonlySearch.standNumber,
standType: this.standCommonlySearch.standType
}, {
_this:this,
_this: this,
}, res => {
console.log('res')
console.log(res)
@@ -413,12 +439,17 @@ export default {
exits.push(item);
});
// 批量删除表格数据
for (let i=0;i<this.selectList.length;i++){
for (let i = 0; i < this.selectList.length; i++) {
this.selectList1.push(this.selectList[i].standId)
}
this.id=this.selectList1.join(',')
let deleteTagList = []
this.selectList1.forEach(item => {
//项目id-标准id,项目id-标准id
deleteTagList.push( this.proId + '-' + item )
})
this.id = deleteTagList.join(',')
this.$http.post('sarStandProjectLibrary/deleteByIds', {
id:this.id
id: this.id,
}, {
_this: this,
loading: 'loading'
@@ -432,18 +463,18 @@ export default {
});
}
},
getDataList(){
getDataList() {
// 查询详情表格数据
this.$http.get('sarStandProjectLibrary/queryStandInfo', {
id:this.localProEO.id,
current:this.page,
pageSize:this.pageSize
id: this.localProEO.id,
current: this.page,
pageSize: this.pageSize
}, {
_this: this,
loading: 'loading'
}, res => {
this.dataList=res.data.records
this.total=res.data.total
this.dataList = res.data.records
this.total = res.data.total
}, e => {
})
},
@@ -457,12 +488,12 @@ export default {
if (this.standList.length < 1) {
_this.$message.warning("请选择标准");
} else {
for (let i=0;i<this.dataList.length;i++){
for (let i = 0; i < this.dataList.length; i++) {
let newStand = false;
for (let j=0;j<this.standList.length;j++){
if (this.standList[j].id==this.dataList[i].standId){
for (let j = 0; j < this.standList.length; j++) {
if (this.standList[j].id == this.dataList[i].standId) {
newStand = true;
this.standList.splice(j,1)
this.standList.splice(j, 1)
j--
}
}
@@ -474,13 +505,13 @@ export default {
}
this.standardData = []
_this.standModel = false;
for (var i=0;i<this.standList.length;i++){
for (var i = 0; i < this.standList.length; i++) {
this.standList1.push({
standId:this.standList[i].id,
projectId:this.localProEO.id
standId: this.standList[i].id,
projectId: this.localProEO.id
})
}
if(this.standList1!=''){
if (this.standList1 != '') {
this.$http.postData("sarStandProjectLibrary/batchInsert", this.standList1, {
_this: this
}, res => {
@@ -513,11 +544,11 @@ export default {
this.listForm.descriptionList = bringData[0].remark;
this.listForm.fileId = bringData[0].fileId;
this.ListModel = false;
this.$http.get("sarLawsAttrDetailedList/sar-laws-attr-detailed-list/selectLawsById", { id: bringData[0].id }, {
this.$http.get("sarLawsAttrDetailedList/sar-laws-attr-detailed-list/selectLawsById", {id: bringData[0].id}, {
_this: this
}, res => {
if(res.data==null){
res.data=[]
if (res.data == null) {
res.data = []
}
this.dataList = res.data;
this.listForm.dataList = res.data;
@@ -535,7 +566,7 @@ export default {
}
},
// 点击查看
handlePreview (item) {
handlePreview(item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
@@ -545,7 +576,7 @@ export default {
})
window.open(routeUrl.href, '_blank')
},
back () {
back() {
console.log(this.$route.query.tabName);
this.$router.push({
path: this.$store.state.detailMap,
@@ -555,18 +586,20 @@ export default {
})
this.$store.commit('setDetailMap', '')
},
showLocalProductData (item) {
showLocalProductData(item) {
console.log(item)
this.localProEO = JSON.parse(JSON.stringify(item))
this.proId = this.localProEO.id
// 查询详情表格数据
this.$http.get('sarStandProjectLibrary/queryStandInfo', {
id:this.localProEO.id
id: this.localProEO.id
}, {
_this: this,
loading: 'loading'
}, res => {
this.dataList=res.data.records
this.dataList = res.data.records
console.log(res)
this.total=res.data.total
this.total = res.data.total
}, e => {
})
this.pointTimeList = JSON.parse(JSON.stringify(item)).pointTime.split(',')
@@ -590,10 +623,11 @@ export default {
})
this.selectTableDataList()
},
resetTakeingForm() {},
resetTakeingForm() {
},
//导出
exportStandard () {
if(this.selectList.length > 0) {
exportStandard() {
if (this.selectList.length > 0) {
this.saveExportType = 'apart'
} else {
this.saveExportType = 'all'
@@ -603,22 +637,22 @@ export default {
console.log(this.saveExportType);
},
//取消导出
cancal () {
cancal() {
this.exportModelFlag = false
},
//确认导出
exportTestItem () {
if(this.saveExportType === 'apart') {
if (this.selectList != null && this.selectList != ''){
exportTestItem() {
if (this.saveExportType === 'apart') {
if (this.selectList != null && this.selectList != '') {
console.log(this.selectList);
let ids='\''+this.selectList[0].standId+'\''
for(let i=1;i<this.selectList.length;i++){
ids+=',\''+this.selectList[i].standId+'\''
let ids = '\'' + this.selectList[0].standId + '\''
for (let i = 1; i < this.selectList.length; i++) {
ids += ',\'' + this.selectList[i].standId + '\''
}
const exportURL = interfaceUrl + 'sarStandProjectLibrary/exportStandAttrInfoExcel?' +
'exportType' + this.saveExportType + '&ids=' + ids + '&exportName=' + this.exportName + '&id=' + this.localProEO.id
console.log(exportURL,'_self')
window.open(exportURL,'_self')
console.log(exportURL, '_self')
window.open(exportURL, '_self')
this.$message.success('导出信息成功')
}
} else if (this.saveExportType === 'all') {
@@ -626,25 +660,28 @@ export default {
let ids = ''
if (this.dataList.length === 0) {
this.$message.error('暂无导出数据')
}else{
} else {
if (this.selectList.length === 0) {
ids='\''+this.dataList[0].standId+'\''
for(let i=1;i<this.dataList.length;i++){
ids+=',\''+this.dataList[i].standId+'\''
ids = '\'' + this.dataList[0].standId + '\''
for (let i = 1; i < this.dataList.length; i++) {
ids += ',\'' + this.dataList[i].standId + '\''
}
}
const exportURL = interfaceUrl + 'sarStandProjectLibrary/exportStandAttrInfoExcel?' +
'exportType' + this.saveExportType + '&ids=' + ids + '&exportName=' + this.exportName + '&id=' + this.localProEO.id
console.log(exportURL,'_self')
window.open(exportURL,'_self')
'exportType' + this.saveExportType + '&ids=' + ids + '&exportName=' + this.exportName + '&id=' + this.localProEO.id
console.log(exportURL, '_self')
window.open(exportURL, '_self')
this.$message.success('导出信息成功')
}
}
this.exportModelFlag = false
},
exportProducdata() {},
deleteStandLawsForProduct() {},
selectStandLawsForProduct() {},
exportProducdata() {
},
deleteStandLawsForProduct() {
},
selectStandLawsForProduct() {
},
pageChangeLaws(page) {
this.page = page
this.getDataList()
@@ -658,7 +695,7 @@ export default {
this.selectList = val;
},//选项值发生改变
// 将文本状态的id与name对应
setMap(key,data){
setMap(key, data) {
data.forEach(item => {
this.$set(key, item.value, item.label)
})
@@ -667,7 +704,7 @@ export default {
computed: {
...mapGetters(['getLocalPro'])
},
mounted () {
mounted() {
this.$nextTick(() => {
this.Height = $('.contaiiner').height() - $('.contaiinerCard').height() - 190
window.onresize = () => {
@@ -683,8 +720,8 @@ export default {
loading: 'loading'
}, res => {
this.standSortOptions = res.data.STANDCLASSIFY // 标准类别
this.setMap(this.zrbmMap,res.data.ZRBMCLASS)
this.setMap(this.textStatusMap,res.data.WBZTCLASS)
this.setMap(this.zrbmMap, res.data.ZRBMCLASS)
this.setMap(this.textStatusMap, res.data.WBZTCLASS)
this.showLocalProductData(this.getLocalPro)
}, e => {
})
@@ -694,24 +731,28 @@ export default {
}
</script>
<style lang="less" scoped>
.localProductDetails{
.localProductDetails {
.typeIcon {
margin: 0 auto;
width: 20px;
height: 20px;
}
.iconClass{
.iconClass {
width: 18px;
height: 18px;
}
.iconClassDia{
.iconClassDia {
width: 30px;
height: 30px;
}
.picBorder{
.picBorder {
border: 1px solid #409eff;
}
.add-border{
.add-border {
/*width: 80px;*/
height: 80px;
display: flex;
@@ -719,6 +760,7 @@ export default {
align-items: center;
cursor: pointer
}
.laws-details-header {
background: #fff;
// height: 30px;
@@ -729,6 +771,7 @@ export default {
display: inline-block;
margin-right: 10px;
}
.title {
display: inline-block;
font-weight: bold;
@@ -738,39 +781,49 @@ export default {
text-align: center;
}
}
.contaiiner{
.contaiiner {
height: calc(~'100% - 55px');
background: #fff;
padding: 5px 10px;
.el-card__body{
.el-row{
.el-card__body {
.el-row {
line-height: 1.5;
font-size: 14px;
}
}
.details-panel-tabs-item{
.details-panel-tabs-item {
height: 100%;
.table-wrapper{
.table-wrapper {
height: 100%;
}
}
}
.pagination {
position: unset;
}
.el-steps.el-steps--simple{
.el-steps.el-steps--simple {
padding: 13px;
}
.el-step.is-simple{
.el-step.is-simple {
flex-basis: auto;
width: 269px;
}
.valueColor{
.valueColor {
color: #999;
}
.el-steps.el-steps--horizontal{
.el-steps.el-steps--horizontal {
margin-left: 30px;
}
@media screen and (min-width: 1920px) {
/deep/ .el-step__main {
position: relative;
@@ -779,48 +832,54 @@ export default {
}
}
@media screen and (max-width: 1280px) {
/deep/.el-step__main{
/deep/ .el-step__main {
position: relative;
left: -40%;
text-align: center;
}
}
@media screen and (max-width: 1366px) {
/deep/.el-step__main{
/deep/ .el-step__main {
position: relative;
left: -42%;
text-align: center;
}
}
/deep/.el-step__icon{
/deep/ .el-step__icon {
width: 18px;
height: 18px;
font-size: 12px;
}
/deep/.el-step__title{
/deep/ .el-step__title {
font-size: 12px;
}
}
/deep/ .el-drawer__body {
position: relative;
}
.wx-drawer-content {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: unset!important;
height: unset !important;
}
/deep/.relateClass{
& > button{
/deep/ .relateClass {
& > button {
height: 30px;
line-height: 30px;
font-size: 14px;
padding: 0 10px;
font-family: 'Microsoft Yahei', '\5FAE\8F6F\96C5\9ED1', Arial, sans-serif !important;
}
& i{
& i {
display: inline-block;
margin-right: 3px;
width: 18px;
@@ -830,54 +889,66 @@ export default {
background-position: center center;
vertical-align: text-bottom;
}
.relation-btn{
.relation-btn {
color: #409EFF;
border: 1px solid #409EFF;
background: rgba(64, 158, 255, 0.1);
.icon-relation{
.icon-relation {
background-image: url("~assets/images/shangqi/standardDetails/relation.png");
}
}
}
::v-deep .el-drawer__header{
&>span:first-child{
outline: none!important;
::v-deep .el-drawer__header {
& > span:first-child {
outline: none !important;
}
}
::v-deep .el-drawer{
outline: none!important;
::v-deep .el-drawer {
outline: none !important;
}
/deep/.leftTable{
/deep/ .leftTable {
.el-table th > .cell {
font-size: 11px;
}
.el-table th{
.el-table th {
padding: 0;
}
.el-table__body-wrapper {
height: 44px;
}
}
/deep/.el-tabs__content {
/deep/ .el-tabs__content {
padding-bottom: 0;
}
/deep/.el-card__body {
/deep/ .el-card__body {
padding: 0;
}
</style>
<style lang="less">
.localProductDetails {
height: 100%;
.el-tabs__content {
min-height: 412px;
}
}
.leftTable{
.leftTable {
.el-table--enable-row-transition .el-table__body td {
cursor: pointer;
}
}
.demo-drawer-content {
margin-top: 10px;
margin-top: 10px;
}
</style>