上报库参数收集自定义表头

This commit is contained in:
zyx.net
2023-04-03 15:46:09 +08:00
parent 4a068a67fe
commit c30cb597f3
4 changed files with 495 additions and 4 deletions
@@ -268,7 +268,36 @@
<a-icon type="undo" :rotate="90"/>
{{$t('CompulsoryWithdrawal')}}
</div>
<!-- 列表设置-->
<a-popconfirm :visible="customizevisible" overlayClassName="popconfirm"
placement="bottomRight" v-if="!this.$route.query.it">
<template slot="title" id="popconfirmmize">
<div style="max-height:360px;overflow:scroll;overflow-x: auto;width: 188px">
<a-checkbox
style="margin-bottom: 22px;"
v-if="customizeList && customizeList.length"
v-model="checkAll"
:indeterminate="indeterminate"
@change="onCheckAllChange"
>{{ $t('selectAll') }}
</a-checkbox>
<a-checkbox-group @change="onChange" v-model="checkedList" class="customize-text">
<a-checkbox class="customize-text-title" :disabled="item.disabled" v-for="(item, key) in customizeList"
:key="key" :value="item.field">{{ item.name }}
</a-checkbox>
</a-checkbox-group>
<div class="drawer-bootom-button">
<a-button @click="cancel" style="margin-right: 16px">{{ $t('cancel') }}</a-button>
<a-button @click="handleSubmitcustomize" type="primary" :loading="confirmLoading">{{ $t('determine') }}
</a-button>
</div>
</div>
</template>
<div class="operator-text" style="position: relative" @click="getcustomize">
<a-icon type="setting"/>
{{ $t('customize') }}
</div>
</a-popconfirm>
<!-- 角色切换 -->
<div class="operator-text"
v-if="!this.$route.query.it"
@@ -530,6 +559,7 @@
</a-modal>
<JLoading :loading="textLoading">{{this.$t('pleaseWaitWhileRunning')}}</JLoading>
<batchUpdateDeadline ref="batchUpdateDeadlineRef" @batchUpdateDeadlineForm="batchUpdateDeadlineForm"/>
<customizeList :url="url" @customizeListForm="customizeListForm" ref="customizeListRef"/>
</div>
</template>
@@ -539,6 +569,7 @@
import parameterColumn from '../dialog/parametercolumn'
import { getAction, postAction, downloadFile } from '../../../api/manage'
import eventBUs from '../../../common/event'
import customizeList from './customizeList'
import ParameterLibraryAdd from '@/components/ParameterLibraryAdd/index'
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
import SynchronousSubmissionLibrary from '@/components/SynchronousSubmissionLibrary/index'
@@ -560,6 +591,7 @@
components: {
TableCollection,
ParameterLibraryAdd,
customizeList,
parameterColumn,
AssignedBy,
AssignedByHomo,
@@ -711,6 +743,110 @@
dictCode: 'dre'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
}
],
customizevisible: false,
indeterminate: false,
checkAll: false,
selectedValue: [],
checkedList: ['NiONumber', 'ParameterName', 'operation'],
customizeList: [
{
sort: '1',
name: this.$t('NiONumber'),
disabled: true,
headFieldCn: 'NIO编号',
headFieldEn: 'NiONumber',
field: 'NiONumber',
key: 1,
moduleFlag: '参数收集',
status: 1
},
{
sort: '2',
disabled: true,
name: this.$t('ParameterName'),
headFieldCn: '参数名称',
headFieldEn: 'Parameter Name',
field: 'ParameterName',
key: 2,
moduleFlag: '参数收集',
status: 2
},
{
sort: '',
name: this.$t('ParameterDescription'),
headFieldCn: '参数说明',
headFieldEn: 'Parameter Description',
field: 'ParameterDescription',
key: 3,
moduleFlag: '参数收集'
},
{
sort: '',
name: this.$t('status'),
headFieldCn: '状态',
headFieldEn: 'status',
field: 'status',
key: 4,
moduleFlag: '参数收集'
},
{
sort: '',
name: this.$t('areaOfResponsibility'),
headFieldCn: '责任领域',
headFieldEn: 'Responsible Field',
field: 'areaOfResponsibility',
key: 5,
moduleFlag: '参数收集'
},
{
sort: '',
name: this.$t('engineeringInterfacePerson'),
headFieldCn: '工程接口人',
headFieldEn: 'Eng. Interface',
field: 'engineeringInterfacePerson',
key: 6,
moduleFlag: '参数收集'
},
{
sort: '',
name: this.$t('completedBy'),
headFieldCn: '填写人',
headFieldEn: 'Filled by',
field: 'completedBy',
key: 15,
moduleFlag: '参数收集'
},
{
sort: '',
name: this.$t('Deadline'),
headFieldCn: '截止时间',
headFieldEn: 'Due Date',
field: 'designDueDate',
key: 23,
moduleFlag: '参数收集'
},
{
sort: '',
name: this.$t('databasereportingtime'),
headFieldCn: '同步上报库时间',
headFieldEn: 'database reporting time',
field: 'databasereportingtime',
key: 23,
moduleFlag: '参数收集'
},
{
sort: '',
disabled: true,
name: this.$t('operation'),
headFieldCn: '操作',
headFieldEn: 'Operation',
key: 35,
field: 'operation',
moduleFlag: '参数收集',
status: 2
}
],
selectedRowKeys: [],
textLoading: false,
formInline: {},
@@ -1587,6 +1723,52 @@
}
})
},
onCheckAllChange(e) {
let selectedValue = ['NiONumber', 'ParameterName', 'operation']
this.checkedList = e.target.checked ? this.customizeList.map(item => item.field) : selectedValue
this.selectedValue = this.checkedList
this.indeterminate = false
},
onChange() {
this.selectedValue = this.checkedList
},
getcustomize() {
this.customizevisible = true
},
cancel() {
this.customizevisible = false
},
handleSubmitcustomize() {
let list = []
let uniqueArray = this.selectedValue.filter((item, index, array) => {
return array.indexOf(item) === index
})
uniqueArray.forEach(item => {
this.customizeList.forEach((val, index) => {
if (item == val.field) {
val.sort = index + 1
list.push(val)
}
})
})
this.confirmLoading = true
let headCustomEOList = JSON.parse(JSON.stringify(list))
let query = {
headCustomEOList: headCustomEOList
}
postAction('head/headCustomEO/add', query).then((res) => {
if (res.success) {
this.confirmLoading = false
this.$message.success(this.$t('OperationSuccessful'))
this.customizevisible = false
this.$refs.CollectionTabel.getHeader()
} else {
this.$message.warning(this.$t('operationFailed'))
this.confirmLoading = false
this.customizevisible = false
}
})
},
// // 下发收集---请求接口
// distributionAndCollection() {
//
@@ -2177,7 +2359,7 @@
}
}
</script>
<style>
<style lang="less">
.popconfirm {
z-index: 999;
}
@@ -2189,6 +2371,27 @@
.popconfirm .anticon-exclamation-circle {
display: none !important;
}
::v-deep .ant-table-fixed-header .ant-table-body-inner {
overflow: visible;
}
popconfirmmize {
z-index: 999;
}
::v-deep .popconfirmmize .ant-popover-buttons {
display: none !important;
}
.popconfirmmize .anticon-exclamation-circle {
display: none !important;
}
.popconfirmmize .ant-popover-message {
padding: 4px 0 36px !important;
}
::v-deep .ant-popover-buttons {
display: none !important;
}
</style>
<style lang="less" scoped>
@import '~@assets/less/common.less';
@@ -2295,7 +2498,43 @@
.Required {
color: red;
}
.customize-text {
/*height: 1533px;*/
display: flex;
flex-direction: column;
align-items: flex-start;
}
.customize-text-title {
margin-left: 0;
font-size: 14px;
font-weight: 400;
color: #040B29;
margin-bottom: 22px;
}
.drawer-bootom-button {
position: absolute;
bottom: 0;
z-index: 100;
width: 100%;
border-top: 1px solid #e8e8e8;
padding: 10px 16px;
text-align: right;
left: 0;
background: #fff;
border-radius: 0 0 2px 2px;
}
.ant-table-placeholder {
padding: 0;
border-top: none;
}
.itemModelComment .ant-form-item-control-wrapper {
width: 100% !important;
}
.second {
padding: 0 !important;
}
.doc-detail {
background: #fff;
height: 100%;
@@ -2395,6 +2634,7 @@
height: 42px;
line-height: 42px;
}
}
}
@@ -2404,6 +2644,6 @@
</style>
<style lang='less'>
.ant-popover-message-title {
margin-bottom: -30px;
margin-bottom: 50px;
}
</style>