法规清单把标题的搜索去掉 改成流程状态的搜索 流程状态前面加上符合和验证的下拉框

This commit is contained in:
范强强
2023-04-17 10:42:49 +08:00
parent 62d5508017
commit 57a3fe8695
6 changed files with 224 additions and 226 deletions
+4
View File
@@ -1790,4 +1790,8 @@ module.exports = {
history:'History', history:'History',
deliveryDate:'Delivery Date', deliveryDate:'Delivery Date',
regulatoryEngineerReturns:'Regulatory engineer returns', regulatoryEngineerReturns:'Regulatory engineer returns',
designProcessStatus:'Design Process Status',
verifyProcessStatus:'Verify Process Status',
design:'Design',
verify:'Verify',
} }
+4
View File
@@ -1892,4 +1892,8 @@ module.exports = {
history:'历史', history:'历史',
deliveryDate:'交付日期', deliveryDate:'交付日期',
regulatoryEngineerReturns:'法规工程师退回', regulatoryEngineerReturns:'法规工程师退回',
designProcessStatus:'设计流程状态',
verifyProcessStatus:'验证流程状态',
design:'设计',
verify:'验证',
} }
@@ -146,7 +146,7 @@
v-else-if="item.type == 'Personnel'" v-else-if="item.type == 'Personnel'"
:query="{db_field_name:'valueId',db_field_txt:'',subscript:index}" :query="{db_field_name:'valueId',db_field_txt:'',subscript:index}"
:isInput="true" :isInput="true"
:isClass="true" :isClass="false"
:personneQuery="item" :personneQuery="item"
@change="PersonnelSelectionChange" @change="PersonnelSelectionChange"
v-model="item.valueName"/> v-model="item.valueName"/>
@@ -197,12 +197,22 @@
<a-select <a-select
v-else-if="item.options instanceof Array" v-else-if="item.options instanceof Array"
v-model="item.val" v-model="item.val"
:options="item.options"
allowClear allowClear
show-search
optionFilterProp="label"
class="item-input" class="item-input"
:placeholder="$t('pleaseSelect')" :placeholder="$t('pleaseSelect')"
:mode="allowMultiple(item)?'multiple':''" :mode="allowMultiple(item)?'multiple':''"
/> >
<a-select-option v-for="(itemEl, key) in item.options"
:key="key"
:label="itemEl.text || itemEl.label"
:value="itemEl.value">
<span class="itemOption-index" :title=" itemEl.text || itemEl.label ">
{{ itemEl.text || itemEl.label }}
</span>
</a-select-option>
</a-select>
<j-area-linkage v-model="item.val" v-else-if="item.type==='area-linkage' || item.type==='pca'" <j-area-linkage v-model="item.val" v-else-if="item.type==='area-linkage' || item.type==='pca'"
style="width: 100%;display: inline-block"/> style="width: 100%;display: inline-block"/>
<j-date v-else-if=" item.type=='date' " v-model="item.val" <j-date v-else-if=" item.type=='date' " v-model="item.val"
@@ -783,4 +793,12 @@
::v-deep .ant-select{ ::v-deep .ant-select{
height: 38px; height: 38px;
} }
.itemOption-index {
display: inline-block;
width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
}
</style> </style>
@@ -101,7 +101,7 @@
{{$t('CustomExport')}} {{$t('CustomExport')}}
</div> </div>
<!-- 列表设置--> <!-- 列表设置-->
<a-popconfirm :visible="customizevisible" overlayClassName="popconfirm" <a-popconfirm :visible="customizevisible" overlayClassName="popconfirmClassName"
placement="bottomRight" v-if="!this.$route.query.it"> placement="bottomRight" v-if="!this.$route.query.it">
<template slot="title" id="popconfirmmize"> <template slot="title" id="popconfirmmize">
<div style="max-height:360px;overflow:scroll;overflow-x: auto;width: 211px"> <div style="max-height:360px;overflow:scroll;overflow-x: auto;width: 211px">
@@ -896,16 +896,16 @@
} }
</style> </style>
<style lang="less" scoped> <style lang="less" scoped>
/deep/.popconfirm { /deep/.popconfirmClassName {
z-index: 999; z-index: 999;
width: 264px width: 264px
} }
.popconfirm .ant-popover-buttons { .popconfirmClassName .ant-popover-buttons {
display: none !important; display: none !important;
} }
.popconfirm .anticon-exclamation-circle { .popconfirmClassName .anticon-exclamation-circle {
display: none !important; display: none !important;
} }
::v-deep .ant-table-fixed-header .ant-table-body-inner { ::v-deep .ant-table-fixed-header .ant-table-body-inner {
@@ -931,7 +931,7 @@ popconfirmmize {
} }
</style> </style>
<style lang='less'> <style lang='less'>
.popconfirm .ant-popover-message-title { .popconfirmClassName .ant-popover-message-title {
margin-bottom: 50px; margin-bottom: 50px;
} }
</style> </style>
@@ -89,7 +89,7 @@
.flow-chart { .flow-chart {
width: 100%; width: 100%;
height: 40%; height: 62%;
background: #F0F0F0; background: #F0F0F0;
border: 1px solid #CCCDCE; border: 1px solid #CCCDCE;
border-bottom: none; border-bottom: none;
@@ -15,15 +15,15 @@
v-model="queryParam.serialNumber"></j-input> v-model="queryParam.serialNumber"></j-input>
</div> </div>
</a-col> </a-col>
<a-col :md="6" :sm="8"> <!-- <a-col :md="6" :sm="8">-->
<div class="box-title-text"> <!-- <div class="box-title-text">-->
<div class="title-text" :title="$t('title')"> <!-- <div class="title-text" :title="$t('title')">-->
<span>{{ $t('title') }}</span> <!-- <span>{{ $t('title') }}</span>-->
</div> <!-- </div>-->
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')" <!-- <j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"-->
v-model="queryParam.title"></j-input> <!-- v-model="queryParam.title"></j-input>-->
</div> <!-- </div>-->
</a-col> <!-- </a-col>-->
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text" :title="$t('areaOfResponsibility')"> <div class="title-text" :title="$t('areaOfResponsibility')">
@@ -35,43 +35,56 @@
:triggerChange="false" :dictCode="'duty_territory'"/> :triggerChange="false" :dictCode="'duty_territory'"/>
</div> </div>
</a-col> </a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('ProcessStatus')">
<span>{{ $t('ProcessStatus') }}</span>
</div>
<a-input-group class="box-input" compact>
<a-select v-model="selectModel" @change="selectModelChange" style="width: 80px">
<a-select-option :value="'designFlowStatus'">
{{$t('design')}}
</a-select-option>
<a-select-option :value="'verifyFlowStatus'">
{{$t('verify')}}
</a-select-option>
</a-select>
<a-select :placeholder="$t('PleaseSelect')+$t('ProcessStatus')"
allowClear
show-search
style="width: calc(100% - 80px);"
optionFilterProp="label"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="queryParam[selectModel]">
<a-select-option v-for="(item, key) in listOptions"
:key="item.key"
:label="item.label"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
{{ item.label }}
</span>
</a-select-option>
</a-select>
</a-input-group>
</div>
</a-col>
<!-- <template v-if="toggleSearchStatus">--> <!-- <template v-if="toggleSearchStatus">-->
<!-- <a-col :md="6" :sm="8">--> <!-- <a-col :md="6" :sm="8">-->
<!-- <div class="box-title-text">--> <!-- <div class="box-title-text">-->
<!-- <div class="title-text" :title="$t('listConfirmationStatus')">--> <!-- <div class="title-text" :title="$t('verifyProcessStatus')">-->
<!-- <span>{{ $t('listConfirmationStatus') }}</span>--> <!-- <span>{{ $t('verifyProcessStatus') }}</span>-->
<!-- </div>--> <!-- </div>-->
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('listConfirmationStatus')"--> <!-- <a-select :placeholder="$t('PleaseSelect')+$t('verifyProcessStatus')"-->
<!-- class="box-input"--> <!-- class="box-input"-->
<!-- allowClear--> <!-- allowClear-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"--> <!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- v-model="queryParam.inventoryAffirmStatus">--> <!-- v-model="queryParam.verifyFlowStatus">-->
<!-- <a-select-option v-for="(item, key) in listOptions"-->
<!-- :key="item.key"-->
<!-- :value="item.value">-->
<!-- <span style="display: inline-block;width: 100%" :title=" item.label ">-->
<!-- {{ item.label }}-->
<!-- </span>-->
<!-- </a-select-option>-->
<!-- </a-select>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- <a-col :md="6" :sm="8">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text" :title="$t('taskAffirmStatus')">-->
<!-- <span>{{ $t('taskAffirmStatus') }}</span>-->
<!-- </div>-->
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('taskAffirmStatus')"-->
<!-- class="box-input"-->
<!-- allowClear-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- v-model="queryParam.taskAffirmStatus">-->
<!-- <a-select-option v-for="(item, key) in taskOptions"--> <!-- <a-select-option v-for="(item, key) in taskOptions"-->
<!-- :key="item.key"--> <!-- :key="item.key"-->
<!-- :value="item.value">--> <!-- :value="item.value">-->
<!-- <span style="display: inline-block;width: 100%" :title=" item.label ">--> <!-- <span style="display: inline-block;width: 100%" :title=" item.label ">-->
<!-- {{ item.label }}--> <!-- {{ item.label }}-->
<!-- </span>--> <!-- </span>-->
<!-- </a-select-option>--> <!-- </a-select-option>-->
<!-- </a-select>--> <!-- </a-select>-->
<!-- </div>--> <!-- </div>-->
@@ -84,10 +97,10 @@
<globalAdvancedQuery ref="globalAdvancedQueryRef" <globalAdvancedQuery ref="globalAdvancedQueryRef"
@handleSuperQuery="handleSuperQuery" @handleSuperQuery="handleSuperQuery"
:fieldList="fieldList"/> :fieldList="fieldList"/>
<!-- <a @click="handleToggleSearch" style="margin-left: 8px">--> <!-- <a @click="handleToggleSearch" style="margin-left: 8px">-->
<!-- {{ !toggleSearchStatus ? $t('open') : $t('away') }}--> <!-- {{ !toggleSearchStatus ? $t('open') : $t('away') }}-->
<!-- <a-icon :type="toggleSearchStatus ? 'up' : 'down'" />--> <!-- <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
<!-- </a>--> <!-- </a>-->
</a-col> </a-col>
</span> </span>
</a-row> </a-row>
@@ -97,10 +110,10 @@
style="overflow:hidden;margin-bottom: 20px"> style="overflow:hidden;margin-bottom: 20px">
<div style="float: left;margin-bottom: 0px;margin-left: 20px"> <div style="float: left;margin-bottom: 0px;margin-left: 20px">
<!-- 调取--> <!-- 调取-->
<!-- <div @click="profileClick" class="operator-text">--> <!-- <div @click="profileClick" class="operator-text">-->
<!-- <a-icon type="profile"/>--> <!-- <a-icon type="profile"/>-->
<!-- 重置流程(数据迁移)--> <!-- 重置流程(数据迁移)-->
<!-- </div>--> <!-- </div>-->
<!-- 调取--> <!-- 调取-->
<div @click="transferClick" class="operator-text" v-if="this.roleSwitchingCode == '0'"> <div @click="transferClick" class="operator-text" v-if="this.roleSwitchingCode == '0'">
<a-icon type="profile"/> <a-icon type="profile"/>
@@ -1180,37 +1193,42 @@
isResultReported: false, isResultReported: false,
// fieldList | array |✔| 需要查询的列集合示例如下,type类型有:date/datetime/string/int/number // fieldList | array |✔| 需要查询的列集合示例如下,type类型有:date/datetime/string/int/number
fieldList: [ fieldList: [
// { {
// type: 'string', type: 'string',
// value: 'correspondingStandard', value: 'title',
// text: this.$t('correspondingStandard') text: this.$t('title')
// }, },
{ {
type: 'string', type: 'string',
value: 'subtitle', value: 'subtitle',
text: this.$t('subtitle') text: this.$t('subtitle')
}, },
{
type: 'string',
value: 'applicableSupplement',
text: this.$t('applicableSupplement')
},
// { // {
// type: '', // type: '',
// value: 'implementType', // value: 'implementType',
// text: this.$t('implementationCategory'), // text: this.$t('implementationCategory'),
// dictCode: 'implement_type'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框 // dictCode: 'implement_type'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
// }, // },
{ // {
type: 'date', // type: 'date',
value: 'xin1Che1Xing2Shi2Shi1Ri4Qi1', // value: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
text: this.$t('ImplementationDate') // text: this.$t('ImplementationDate')
}, // },
{ // {
type: 'date', // type: 'date',
value: 'implementTime', // value: 'implementTime',
text: this.$t('vehicleInProductionDate') // text: this.$t('vehicleInProductionDate')
}, // },
{ // {
type: 'string', // type: 'string',
value: 'wvtaId', // value: 'wvtaId',
text: 'WVTA ID' // text: 'WVTA ID'
}, // },
{ {
type: '', type: '',
value: 'attestationType', value: 'attestationType',
@@ -1223,185 +1241,134 @@
text: this.$t('certificationLevel'), text: this.$t('certificationLevel'),
dictCode: 'attestation_rank'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框 dictCode: 'attestation_rank'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
}, },
{ // {
type: '', // type: '',
value: 'dutyTerritory', // value: 'dutyTerritory',
text: this.$t('areaOfResponsibility'), // text: this.$t('areaOfResponsibility'),
dictCode: 'duty_territory'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框 // dictCode: 'duty_territory'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
}, // },
{ {
type: 'Personnel', type: 'Personnel',
value: 'engineeringInterfacePerson', value: 'engineeringInterfacePerson',
valueName: 'engineeringInterfacePersonName', valueName: 'engineeringInterfacePersonName',
text: this.$t('engineeringInterfacePerson') text: this.$t('engineeringInterfacePerson')
},
{
value: 'designFlowStatus',
text: this.$t('designComplianceReview') + this.$t('ProcessStatus'),
options: [
{
value: 'List to be released',
key: 'List to be released',
label: this.$t('listToBeReleased')
},
{
value: 'Regulatory engineer returns',
key: 'Regulatory engineer returns',
label: this.$t('regulatoryEngineerReturns')
},
{
value: 'Duty Person Rejected',
key: 'Duty Person Rejected',
label: this.$t('dutyPersonRejected')
},
{
value: 'List to be checked',
key: 'List to be checked',
label: this.$t('listToBeChecked')
},
{
value: 'Task to be confirmed',
key: 'Task to be confirmed',
label: this.$t('taskToBeConfirmed')
},
{
value: 'Results to be submitted',
key: 'Results to be submitted',
label: this.$t('resultsToBeSubmitted')
},
{
value: 'Results to be reviewed',
key: 'Results to be reviewed',
label: this.$t('resultsToBeReviewed')
},
{
value: 'Compliance',
key: 'Compliance',
label: this.$t('compliance')
},
{
value: 'Non-Compliance',
key: 'Non-Compliance',
label: this.$t('nonCompliance')
},
{
value: 'To be tracked',
key: 'To be tracked',
label: this.$t('toBeTracked')
},
{
value: 'NA',
key: 'NA',
label: this.$t('NA')
}
]
},
{
value: 'verifyFlowStatus',
text: this.$t('verificationAndConformityconfirmation') + this.$t('ProcessStatus'),
options: [
{
value: 'List to be released',
key: 'List to be released',
label: this.$t('listToBeReleased')
},
{
value: 'Regulatory engineer returns',
key: 'Regulatory engineer returns',
label: this.$t('regulatoryEngineerReturns')
},
{
value: 'Duty Person Rejected',
key: 'Duty Person Rejected',
label: this.$t('dutyPersonRejected')
},
{
value: 'List to be checked',
key: 'List to be checked',
label: this.$t('listToBeChecked')
},
{
value: 'Task to be confirmed',
key: 'Task to be confirmed',
label: this.$t('taskToBeConfirmed')
},
{
value: 'Results to be submitted',
key: 'Results to be submitted',
label: this.$t('resultsToBeSubmitted')
},
{
value: 'Results to be reviewed',
key: 'Results to be reviewed',
label: this.$t('resultsToBeReviewed')
},
{
value: 'Compliance',
key: 'Compliance',
label: this.$t('compliance')
},
{
value: 'Non-Compliance',
key: 'Non-Compliance',
label: this.$t('nonCompliance')
},
{
value: 'To be tracked',
key: 'To be tracked',
label: this.$t('toBeTracked')
},
{
value: 'NA',
key: 'NA',
label: this.$t('NA')
}
]
} }
], ],
listOptions: [ listOptions: [
{ {
value: 'Not started', value: 'List to be released',
key: 'Not started', key: 'List to be released',
label: this.$t('notLaunch') label: this.$t('listToBeReleased')
}, },
{ {
value: 'List to confirm', value: 'Regulatory engineer returns',
key: 'List to confirm', key: 'Regulatory engineer returns',
label: this.$t('toBeConfirmed') label: this.$t('regulatoryEngineerReturns')
}, },
{ {
value: 'Accepted', value: 'Duty Person Rejected',
key: 'Accepted', key: 'Duty Person Rejected',
label: this.$t('accept') label: this.$t('dutyPersonRejected')
}, },
{ {
value: 'Rejected', value: 'List to be checked',
key: 'Rejected', key: 'List to be checked',
label: this.$t('refuse') label: this.$t('listToBeChecked')
},
{
value: 'Task to be confirmed',
key: 'Task to be confirmed',
label: this.$t('taskToBeConfirmed')
},
{
value: 'Results to be submitted',
key: 'Results to be submitted',
label: this.$t('resultsToBeSubmitted')
},
{
value: 'Results to be reviewed',
key: 'Results to be reviewed',
label: this.$t('resultsToBeReviewed')
},
{
value: 'Compliance',
key: 'Compliance',
label: this.$t('compliance')
},
{
value: 'Non-Compliance',
key: 'Non-Compliance',
label: this.$t('nonCompliance')
},
{
value: 'To be tracked',
key: 'To be tracked',
label: this.$t('toBeTracked')
},
{
value: 'NA',
key: 'NA',
label: this.$t('NA')
} }
], ],
taskOptions: [ taskOptions: [
{ {
value: 'Not started', value: 'List to be released',
key: 'Not started', key: 'List to be released',
label: this.$t('notLaunch') label: this.$t('listToBeReleased')
}, },
{ {
value: 'List to confirm', value: 'Regulatory engineer returns',
key: 'List to confirm', key: 'Regulatory engineer returns',
label: this.$t('toBeConfirmed') label: this.$t('regulatoryEngineerReturns')
}, },
{ {
value: 'Accepted', value: 'Duty Person Rejected',
key: 'Accepted', key: 'Duty Person Rejected',
label: this.$t('accept') label: this.$t('dutyPersonRejected')
}, },
{ {
value: 'Rejected', value: 'List to be checked',
key: 'Rejected', key: 'List to be checked',
label: this.$t('refuse') label: this.$t('listToBeChecked')
},
{
value: 'Task to be confirmed',
key: 'Task to be confirmed',
label: this.$t('taskToBeConfirmed')
},
{
value: 'Results to be submitted',
key: 'Results to be submitted',
label: this.$t('resultsToBeSubmitted')
},
{
value: 'Results to be reviewed',
key: 'Results to be reviewed',
label: this.$t('resultsToBeReviewed')
},
{
value: 'Compliance',
key: 'Compliance',
label: this.$t('compliance')
},
{
value: 'Non-Compliance',
key: 'Non-Compliance',
label: this.$t('nonCompliance')
},
{
value: 'To be tracked',
key: 'To be tracked',
label: this.$t('toBeTracked')
},
{
value: 'NA',
key: 'NA',
label: this.$t('NA')
} }
], ],
selectModel: 'designFlowStatus',
visibleRoleSwitching: false, visibleRoleSwitching: false,
confirmLoadingRoleSwitching: false, confirmLoadingRoleSwitching: false,
formInlineRoleSwitching: {}, formInlineRoleSwitching: {},
@@ -2192,6 +2159,11 @@
this.$message.warning(this.$t('selectLeastOne')) this.$message.warning(this.$t('selectLeastOne'))
} }
}, },
selectModelChange() {
this.queryParam['designFlowStatus'] = undefined
this.queryParam['verifyFlowStatus'] = undefined
this.queryParam = { ...this.queryParam }
},
//编辑 //编辑
edit(item) { edit(item) {
item.roleCodeIndex = this.roleSwitchingCode item.roleCodeIndex = this.roleSwitchingCode
@@ -2981,7 +2953,7 @@
}, },
download(item) { download(item) {
downloadFile('/sys/common/downLoadFile', item.fileName, { id: item.id, userName: this.userInfo().username }) downloadFile('/sys/common/downLoadFile', item.fileName, { id: item.id, userName: this.userInfo().username })
}, }
// profileClick() { // profileClick() {
// let _this = this // let _this = this
// this.$confirm({ // this.$confirm({