车型界面完善

This commit is contained in:
Jaunty
2021-07-16 14:12:01 +08:00
parent 46d2d87494
commit a795039c87
@@ -33,7 +33,7 @@
<el-button plain class="common-button-primary" size="mini" @click="addList">添加</el-button> <el-button plain class="common-button-primary" size="mini" @click="addList">添加</el-button>
<el-button plain class="common-button-primary" size="mini" @click="deleteList">批量删除</el-button> <el-button plain class="common-button-primary" size="mini" @click="deleteList">批量删除</el-button>
<el-button class="common-button-default export-button" <el-button class="common-button-default export-button"
size="mini" @click="exportProducdata" size="mini" @click="exportStandard"
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项" title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
icon="export" icon="export"
>导出</el-button> >导出</el-button>
@@ -42,14 +42,15 @@
<!-- <el-tab-pane :label="localProEO.productName" class="details-panel-tabs-item">--> <!-- <el-tab-pane :label="localProEO.productName" class="details-panel-tabs-item">-->
<div class="table-wrapper"> <div class="table-wrapper">
<el-table <el-table
:data="detailList" :data="dataList"
style="width: 100%" style="width: 100%"
:height="Height" :height="Height"
border border
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold', height: '48px'}" fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold', height: '48px',textAlign: 'center'}"
@selection-change="standSelectChange" @selection-change="standSelectChange"
ref="selection" ref="selection"
:cell-style="{ textAlign: 'center' }"
> >
<el-table-column <el-table-column
type="selection" type="selection"
@@ -57,133 +58,68 @@
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standName" prop="standId"
label="中文名称" label="项目编号"
fixed="left" fixed="left"
width="260px" width="260px"
show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="enName" prop="standName"
label="中文名称"
width="180px"
>
</el-table-column>
<el-table-column
prop="standEnName"
label="英文名称" label="英文名称"
width="260px" width="180px"
show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="sarState" prop="SSRQ"
align="center"
width="100"
label="合规性分级">
<template slot-scope="scope">
<div @click="chooseColor(scope.row,'2')">
<div v-if="!scope.row.color">
<div v-if="scope.row.actState === ''||scope.row.actState === null">
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/white.png" >
</div>
<div v-else-if="scope.row.sarState === 8 || scope.row.sarState === '' ||scope.row.sarState === null" >
<!-- <img class="iconClass" src="../../../../assets/images/ComplianceClassification/blue.png">-->
<!--暂不显示-->
</div>
<div v-else-if="scope.row.sarState === 2" >
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/green.png">
</div>
<div v-else-if="scope.row.sarState === 5">
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/grey.png">
</div>
<div v-else>
<img class="iconClass" @click="typeColor(scope.row, 2, 1)" src="../../../../assets/images/ComplianceClassification/yellow.png" >
</div>
</div>
<div v-else>
<div v-if="scope.row.color === 'green'" >
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/green.png">
<!--暂不显示-->
</div>
<div v-if="scope.row.color === 'red'" >
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/red.png">
<!--暂不显示-->
</div>
<div v-if="scope.row.color === 'blue'" >
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/blue.png">
<!--暂不显示-->
</div>
<div v-if="scope.row.color === 'grey'" >
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/grey.png">
<!--暂不显示-->
</div>
<div v-if="scope.row.color === 'yellow'" >
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/yellow.png">
<!--暂不显示-->
</div>
</div>
</div>
</template>
</el-table-column>
<el-table-column
prop="authDelive"
width="120px"
label="认证交付物">
</el-table-column>
<el-table-column
prop="authObjId"
width="100px"
label="认证对象">
</el-table-column>
<el-table-column
prop="newPutTime"
width="190px" width="190px"
sortable sortable
label="标准实施日期">
</el-table-column>
<el-table-column
prop="XCXSSRQGJ"
width="190px"
label="新车型实施日期"> label="新车型实施日期">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="prodPutTime" prop="ZCCSSRQGJ"
sortable sortable
width="190px" width="190px"
label="在产车实施日期"> label="在产车实施日期">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="eopPutTime" prop="ZRBM"
sortable label="责任部门"
width="190px" width="180px"
label="EOP实施日期"> >
<template slot-scope="scope">
<span>{{ scope.row.eopPutTime !== null && scope.row.eopPutTime !== 'N/A' && scope.row.eopPutTime !== 'TBD'
&& scope.row.eopPutTime !== '已实施' ? $moment(scope.row.eopPutTime).format('YYYY-MM-DD') : scope.row.eopPutTime }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="synopsis" prop="KCCVPPSBM"
width="200px" width="180px"
label="文本说明"> label="卡车VPPS编码">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="performInfo" prop="KCCVPPSCN"
width="280px" width="180px"
label="实施说明"> label="卡车vpps中文名称">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="dutyDepart" prop="CYCVPPSBM"
width="150px" width="180px"
label="责任部门"> label="乘车VPPS编码">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="foUser" prop="CYCVPPSBM"
width="150px" width="180px"
label="FO"> label="乘车vpps中文名称">
</el-table-column>
<el-table-column
prop="proEssessUser"
width="120px"
label="项目评估角色">
</el-table-column>
<el-table-column
prop="askTypeName"
width="100px"
label="要求类型">
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
@@ -278,7 +214,9 @@
<el-dialog :visible.sync="exportModelFlag" title="导出文件" width="700" :show-close="false"> <el-dialog :visible.sync="exportModelFlag" title="导出文件" width="700" :show-close="false">
<label-input v-model="exportName" placeholder="请输入导出文件名" clearable label="导出名称"/> <label-input v-model="exportName" placeholder="请输入导出文件名" clearable label="导出名称"/>
<div slot="footer"> <div slot="footer">
<el-button class="common-button-primary" icon="el-icon-check" type="primary" @click="exportTestItem">导出</el-button> <el-button class="common-button-primary" icon="el-icon-check" type="primary"
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
@click="exportTestItem">导出</el-button>
<el-button class="common-button-default" icon="el-icon-close" @click="cancal">取消</el-button> <el-button class="common-button-default" icon="el-icon-close" @click="cancal">取消</el-button>
</div> </div>
</el-dialog> </el-dialog>
@@ -287,6 +225,7 @@
<script> <script>
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import LawsTreeView from '@/components/ProjectRelatedPersonnel/view' import LawsTreeView from '@/components/ProjectRelatedPersonnel/view'
import { interfaceUrl } from "@/sysConfig";
export default { export default {
name: 'Details', name: 'Details',
components: { components: {
@@ -294,6 +233,7 @@ export default {
}, },
data () { data () {
return { return {
size: this.$store.getters.userInfo.configContent,
pageSizeNo: this.$store.getters.userInfo.configContent, pageSizeNo: this.$store.getters.userInfo.configContent,
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
pageNo: 1, pageNo: 1,
@@ -301,8 +241,8 @@ export default {
totalNo: 0, totalNo: 0,
standModel: false, // 选择标准抽屉状态 standModel: false, // 选择标准抽屉状态
selectList: [], //选择标准的选择框 selectList: [], //选择标准的选择框
selectList1: [], //选择标准的选择框
dataList: [],//清单里的标准数据 dataList: [],//清单里的标准数据
detailList:[],//详情表格数据
page: 1, page: 1,
total: 0, total: 0,
loading: false, loading: false,
@@ -312,7 +252,11 @@ export default {
localProLib:{}, localProLib:{},
takeingFlag: false, takeingFlag: false,
exportModelFlag: false, exportModelFlag: false,
exportName: '' exportName: '',
standList:[],//调取添加的数据
standList1:[],//调取添加的数据
id:'',//批量删除.
saveExportType: '',// 导出文件模态框控制,和文件名称
} }
}, },
methods: { methods: {
@@ -325,7 +269,7 @@ export default {
this.selectionList(); this.selectionList();
}, },
pageChangeNo(page){ pageChangeNo(page){
this.page = page this.pageNo = page
this.addList() this.addList()
}, },
pageSizeChangeNo(pageSize){ pageSizeChangeNo(pageSize){
@@ -339,11 +283,16 @@ export default {
}, },
//点击添加事件 //点击添加事件
addList() { addList() {
this.$http.get("sarStandProjectLibrary/queryStandInfo", "", { this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", {
_this: this page:this.pageNo,
pageSize:this.pageSizeNo
}, {
_this:this,
}, res => { }, res => {
console.log('res')
console.log(res)
this.standardData = res.data.list; this.standardData = res.data.list;
this.totalNo = res.data.pageCount this.totalNo = res.data.count
}, e => { }, e => {
}); });
this.standModel = true; this.standModel = true;
@@ -370,11 +319,41 @@ export default {
} }
exits.push(item); exits.push(item);
}); });
this.selectList = []; // 批量删除表格数据
for (let i=0;i<this.selectList.length;i++){
this.selectList1.push(this.selectList[i].standId)
}
this.id=this.selectList1.join(',')
this.$http.post('sarStandProjectLibrary/deleteByIds', {
id:this.id
}, {
_this: this,
loading: 'loading'
}, res => {
this.getDataList()
this.selectList = [];
this.selectList1 = [];
}, e => {
})
}).catch(() => { }).catch(() => {
}); });
} }
}, },
getDataList(){
// 查询详情表格数据
this.$http.get('sarStandProjectLibrary/queryStandInfo', {
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
}, e => {
})
},
//添加标准取消事件 //添加标准取消事件
cancelStand() { cancelStand() {
this.standModel = false; this.standModel = false;
@@ -385,34 +364,57 @@ export default {
if (this.standList.length < 1) { if (this.standList.length < 1) {
_this.$message.warning("请选择需要添加进清单的数据"); _this.$message.warning("请选择需要添加进清单的数据");
} else { } else {
_this.standList.map(item => { for (let i=0;i<this.dataList.length;i++){
let newStand = false; let newStand = false;
for (let itemKey of _this.dataList) { for (let j=0;j<this.standList.length;j++){
if (item.id == itemKey.id) { if (this.standList[j].id==this.dataList[i].standId){
newStand = true; newStand = true;
break; this.standList.splice(j,1)
j--
} }
} }
if (newStand) { if (newStand) {
_this.$message.warning("请勿重复添加数据"); _this.$message.warning("请勿重复添加数据");
} else { } else {
_this.dataList.push(item); // _this.dataList.push(item);
} }
}); }
this.standardData = [] this.standardData = []
_this.standModel = false; _this.standModel = false;
for (var i=0;i<this.standList.length;i++){
this.standList1.push({
standId:this.standList[i].id,
projectId:this.localProEO.id
})
}
if(this.standList1!=''){
this.$http.postData("sarStandProjectLibrary/batchInsert", this.standList1, {
_this: this
}, res => {
if (res.ok) {
this.$message.success(res.message)
this.getDataList()
}else {
this.$message.warning(res.message)
}
}, e => {
});
}
this.standList = []
this.standList1 = []
_this.standModel = false;
} }
}, },
//选择清单确定事件 //选择清单确定事件
OkDrawer() { OkDrawer() {
if (this.selectedList.length === 1) { if (this.selectList.length === 1) {
let deposit = new Map(); let deposit = new Map();
this.sarAccessListDatas.forEach(item => { this.sarAccessListDatas.forEach(item => {
deposit.set(item.id, item); deposit.set(item.id, item);
}); });
let bringData = []; let bringData = [];
for (let i = 0; i < this.selectedList.length; i++) { for (let i = 0; i < this.selectList.length; i++) {
bringData.push(deposit.get(this.selectedList[i])); bringData.push(deposit.get(this.selectList[i]));
} }
this.listForm.standId = bringData[0].id; this.listForm.standId = bringData[0].id;
this.listForm.listName = bringData[0].detailedListName; this.listForm.listName = bringData[0].detailedListName;
@@ -427,7 +429,6 @@ export default {
res.data=[] res.data=[]
} }
this.dataList = res.data; this.dataList = res.data;
console.log(res.data);
this.listForm.dataList = res.data; this.listForm.dataList = res.data;
let formId = [] let formId = []
this.dataList.map(item => { this.dataList.map(item => {
@@ -436,7 +437,7 @@ export default {
this.listForm.inforlist = formId.join(','); this.listForm.inforlist = formId.join(',');
}, e => { }, e => {
}); });
} else if (this.selectedList.length > 1) { } else if (this.selectList.length > 1) {
this.$message.warning("只能选择一条数据进行带入"); this.$message.warning("只能选择一条数据进行带入");
} else { } else {
this.$message.warning("请选择一条数据进行带入"); this.$message.warning("请选择一条数据进行带入");
@@ -455,8 +456,9 @@ export default {
_this: this, _this: this,
loading: 'loading' loading: 'loading'
}, res => { }, res => {
console.log('查询') this.dataList=res.data.records
console.log(res.data.records) console.log(res)
this.total=res.data.total
}, e => { }, e => {
}) })
this.pointTimeList = JSON.parse(JSON.stringify(item)).pointTime.split(',') this.pointTimeList = JSON.parse(JSON.stringify(item)).pointTime.split(',')
@@ -481,14 +483,59 @@ export default {
this.selectTableDataList() this.selectTableDataList()
}, },
resetTakeingForm() {}, resetTakeingForm() {},
exportTestItem() {}, //导出
cancal() {}, exportStandard () {
if(this.selectList.length > 0) {
this.saveExportType = 'apart'
} else {
this.saveExportType = 'all'
}
this.exportName = ''
this.exportModelFlag = true
console.log(this.saveExportType);
},
//取消导出
cancal () {
this.exportModelFlag = false
},
//确认导出
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+'\''
}
const exportURL = interfaceUrl + 'sarStandProjectLibrary/exportStandAttrInfoExcel?' +
'exportType' + this.saveExportType + '&ids=' + ids + '&exportName=' + this.exportName
window.open(exportURL)
this.$message.success('导出信息成功')
}
} else if (this.saveExportType === 'all') {
console.log(this.selectList);
const exportURL = interfaceUrl + 'sarStandProjectLibrary/exportStandAttrInfoExcel?' +
'exportType' + this.saveExportType + '&ids=' + this.selectList.join(',') + '&exportName=' + this.exportName
window.open(exportURL)
this.$message.success('导出信息成功')
}
this.exportModelFlag = false
},
exportProducdata() {}, exportProducdata() {},
deleteStandLawsForProduct() {}, deleteStandLawsForProduct() {},
selectStandLawsForProduct() {}, selectStandLawsForProduct() {},
pageChangeLaws() {}, pageChangeLaws(page) {
pageSizeChangeLaws() {}, this.page = page
standSelectChange() {},//选项值发生改变 this.getDataList()
},
pageSizeChangeLaws(pageSize) {
this.$store.getters.userInfo.configContent = pageSize
this.size = pageSize
this.getDataList()
},
standSelectChange(val) {
this.selectList = val;
},//选项值发生改变
}, },
computed: { computed: {
...mapGetters(['getLocalPro']) ...mapGetters(['getLocalPro'])
@@ -699,7 +746,8 @@ export default {
.el-table--enable-row-transition .el-table__body td { .el-table--enable-row-transition .el-table__body td {
cursor: pointer; cursor: pointer;
} }
} .demo-drawer-content { }
.demo-drawer-content {
margin-top: 10px; margin-top: 10px;
} }
</style> </style>