Merge remote-tracking branch 'origin/fix_2nd_20230103'

# Conflicts:
#	jero-web/src/views/projectManagement/components/listAddModel.vue
This commit is contained in:
高嵩
2023-01-12 21:09:27 +08:00
24 changed files with 742 additions and 63 deletions
+1 -1
View File
@@ -1369,7 +1369,7 @@ module.exports = {
CuiBan:'CuiBan',
brand:'Brand',
allsubitemsitem:'Whether to delete all subitems under this item',
contactTheFounder:'Contact the founder',
contactTheFounder:'Contact author',
certificationCategoryNumber: 'certification Category Number',
historicalrecord:'historical Record',
Referenceparametercolumn:'Reference Parameter Column',
+1 -1
View File
@@ -1476,7 +1476,7 @@ module.exports = {
columnforced:'确认强制撤回?',
brand:'品牌',
allsubitemsitem:'该项目下拥有子项目,是否全部删除',
contactTheFounder:'联系创建人',
contactTheFounder:'联系作者',
customize:'自定义表头',
customColumn:'自定义列',
}
@@ -95,16 +95,26 @@
<a-col :md="4" :xs="24" style="margin-bottom: 12px;">
<a-select :placeholder="$t('matchRules')" :value="item.rule"
:getPopupContainer="node=>node.parentNode" @change="handleRuleChange(item,$event)">
<!-- 等于-->
<a-select-option value="eq">{{$t('beEqualTo')}}</a-select-option>
<a-select-option value="like">{{$t('contain')}}</a-select-option>
<a-select-option value="right_like">{{$t('withStart')}}</a-select-option>
<a-select-option value="left_like">{{$t('withEnd')}}</a-select-option>
<a-select-option value="in">{{$t('in')}}</a-select-option>
<!-- 包含-->
<a-select-option v-if="item.type != 'date'" value="like">{{$t('contain')}}</a-select-option>
<!-- 以..开始-->
<a-select-option v-if="item.type == 'string'" value="right_like">{{$t('withStart')}}</a-select-option>
<!-- 以..结尾-->
<a-select-option v-if="item.type == 'string'" value="left_like">{{$t('withEnd')}}</a-select-option>
<!-- 在...中-->
<a-select-option v-if="item.type == 'string'" value="in">{{$t('in')}}</a-select-option>
<!-- 不等于-->
<a-select-option value="ne">{{$t('notEqual')}}</a-select-option>
<a-select-option value="gt">{{$t('granter')}}</a-select-option>
<a-select-option value="ge">{{$t('greaterOrEqual')}}</a-select-option>
<a-select-option value="lt">{{$t('less')}}</a-select-option>
<a-select-option value="le">{{$t('lessOrEqual')}}</a-select-option>
<!-- 大于-->
<a-select-option v-if="item.type == 'date'" value="gt">{{$t('granter')}}</a-select-option>
<!-- 大于等于-->
<a-select-option v-if="item.type == 'date'" value="ge">{{$t('greaterOrEqual')}}</a-select-option>
<!-- 小于-->
<a-select-option v-if="item.type == 'date'" value="lt">{{$t('less')}}</a-select-option>
<!-- 小于等于-->
<a-select-option v-if="item.type == 'date'" value="le">{{$t('lessOrEqual')}}</a-select-option>
</a-select>
</a-col>
@@ -885,7 +885,7 @@
}
::v-deep .ant-table-body {
background: transparent !important;
//background: transparent !important;
}
.textfield {
@@ -31,7 +31,10 @@
</div>
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-col :md="12" :sm="24">
<a-col :md="6" :sm="24">
<globalAdvancedQuery ref="globalAdvancedQueryRef"
@handleSuperQuery="handleSuperQuery"
:fieldList="fieldList"/>
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
</a-col>
@@ -42,7 +45,7 @@
<a-table
:columns="columns"
rowKey="id"
:scroll="{x: 800}"
:scroll="{x: 800,y:600}"
:data-source="dataList"
:pagination="false"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:' ' }"
@@ -72,13 +75,17 @@
<script>
import { getAction, postAction } from '@/api/manage'
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
export default {
name: 'transferList',
components: {},
components: {
globalAdvancedQuery
},
props: ['url'],
data() {
return {
toggleSearchStatus: false,
visible: false,
queryParam: {},
confirmLoading: false,
@@ -86,29 +93,161 @@ export default {
columns: [
{
title: this.$t('standard'),
align: 'center',
align: 'left',
dataIndex: 'serialNumber',
width: 100,
fixed: 'left',
scopedSlots: { customRender: 'standard' }
},
{
title: this.$t('title'),
align: 'center',
align: 'left',
dataIndex: 'title',
width: 100,
fixed: 'left',
scopedSlots: { customRender: 'titleName' }
},
{
title: this.$t('subtitle'),
align: 'center',
align: 'left',
dataIndex: 'subtitle',
ellipsis: true,
width: 150
},
{
title: this.$t('zoneOfApplication'),
align: 'left',
dataIndex: 'region_dictText',
width: 150,
ellipsis: true
},
{
title: this.$t('correspondingStandard'),
align: 'left',
dataIndex: 'correspondingStandard',
width: 150,
ellipsis: true
},
{
title: this.$t('implementationCategory'),
align: 'left',
dataIndex: 'implementType_dictText',
width: 150,
ellipsis: true
},
{
title: this.$t('ImplementationDate'),
align: 'left',
width: 200,
dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
ellipsis: true
},
{
title: this.$t('vehicleInProductionDate'),
align: 'left',
width: 220,
dataIndex: 'implementTime',
ellipsis: true
},
{
title: this.$t('certificationType'),
align: 'left',
dataIndex: 'attestationType_dictText',
width: 180,
ellipsis: true
},
{
title: this.$t('certificationLevel'),
align: 'left',
dataIndex: 'attestationRank_dictText',
width: 180,
ellipsis: true
},
{
title: this.$t('applicableSupplement'),
align: 'left',
width: 220,
dataIndex: 'applicableSupplement',
ellipsis: true
},
{
title: 'WVTA ID',
align: 'left',
dataIndex: 'wvtaId',
width: 180,
ellipsis: true
},
{
title: this.$t('areaOfResponsibility'),
align: 'center',
align: 'left',
ellipsis: true,
dataIndex: 'dutyTerritory_dictText'
dataIndex: 'dutyTerritory_dictText',
width: 180
},
],
fieldList: [
{
type: 'string',
value: 'subtitle',
text: this.$t('subtitle')
},
{
type: '',
value: 'region',
text: this.$t('zoneOfApplication'),
dictCode: 'region'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
{
type: 'string',
value: 'correspondingStandard',
text: this.$t('correspondingStandard')
},
{
type: '',
value: 'implementType',
text: this.$t('implementationCategory'),
dictCode: 'implement_type'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
{
type: 'date',
value: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
text: this.$t('ImplementationDate')
},
{
type: 'date',
value: 'implementTime',
text: this.$t('vehicleInProductionDate')
},
{
type: '',
value: 'attestationType',
text: this.$t('certificationType'),
dictCode: 'attestation_type'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
{
type: '',
value: 'attestationRank',
text: this.$t('certificationLevel'),
dictCode: 'attestation_rank'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
{
type: 'string',
value: 'applicableSupplement',
text: this.$t('applicableSupplement')
},
{
type: 'string',
value: 'wvtaId',
text: 'WVTA ID'
},
{
type: '',
value: 'dutyTerritory',
text: this.$t('areaOfResponsibility'),
dictCode: 'duty_territory'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
],
dataList: [],
content: [],
loading: false,
@@ -122,6 +261,9 @@ export default {
},
methods: {
handleToggleSearch() {
this.toggleSearchStatus = !this.toggleSearchStatus
},
transferModel(id) {
this.visible = true
this.dummyInventoryBaseId = id
@@ -137,6 +279,9 @@ export default {
this.pageNo = 1
this.queryParam = {}
this.replacePage()
this.$refs.globalAdvancedQueryRef.resetLine()
this.$refs.globalAdvancedQueryRef.emitCallback()
},
onChange(page, pageSize) {
this.pageNo = page
@@ -147,10 +292,24 @@ export default {
this.pageSize = pageSize
this.replacePage()
},
handleSuperQuery(params, matchType) {
let sqp = {}
if (!params || (params && params.length == 0)) {
sqp['superQueryParams'] = ''
this.$refs.globalAdvancedQueryRef.superQueryFlag = false
} else {
this.$refs.globalAdvancedQueryRef.superQueryFlag = true
sqp['superQueryParams'] = encodeURI(JSON.stringify(params))
sqp['superQueryMatchType'] = matchType
}
this.queryParamQuery = sqp
this.replacePage()
},
replacePage() {
let query = {
// pageNo: this.pageNo,
// pageSize: this.pageSize,
...this.queryParamQuery,
...this.queryParam,
dummyInventoryBaseId: this.dummyInventoryBaseId
}
@@ -1130,9 +1130,9 @@
overflow: visible;
}
::v-deep .ant-table-body {
padding-bottom: 7px;
}
//::v-deep .ant-table-body {
// padding-bottom: 7px;
//}
::v-deep .ant-table-body-inner {
padding-bottom: 16px;
@@ -748,7 +748,7 @@
.box-input {
display: inline-block;
width: calc(100% - 64px);
width: calc(100% - 126px);
height: 38px;
margin-top: 2px;
}
@@ -33,7 +33,7 @@
<span class="title-text-text"
:title="$t('remarks')">{{$t('remarks')}}</span>
</div>
<a-form-model-item class="itemModel" :prop="!disabled?'certificationProgressRemark':''">
<a-form-model-item class="itemModel remarkbox" :prop="!disabled?'certificationProgressRemark':''">
<a-textarea
:placeholder="$t('PleaseEnter')+$t('remarks')"
:disabled="disabled"
@@ -159,7 +159,7 @@ export default {
.box-input {
display: inline-block;
height: 38px;
width: 100%;
width: 128%;
}
.itemModel {
@@ -171,7 +171,9 @@ export default {
.title-text-text {
margin-top: 9px;
}
/deep/ .remarkbox .ant-form-item-control{
width: 128%;
}
.headerText {
margin-left: 30px;
color: #040B29;
@@ -12,7 +12,7 @@
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="12" :sm="8">
<a-col :md="12" :sm="5">
<div class="box-title-text">
<div class="title-text" :title="$t('standard')">
<span>{{$t('standard')}}</span>
@@ -22,7 +22,7 @@
</div>
</a-col>
<template v-if="toggleSearchStatus">
<a-col :md="12" :sm="8">
<a-col :md="12" :sm="5">
<div class="box-title-text">
<div class="title-text" :title="$t('title')">
<span>{{$t('title')}}</span>
@@ -31,7 +31,7 @@
v-model="queryParam.title"></a-input>
</div>
</a-col>
<a-col :md="12" :sm="8">
<a-col :md="12" :sm="5">
<div class="box-title-text">
<div class="title-text" :title="$t('status')">
<span>{{$t('status')}}</span>
@@ -312,6 +312,7 @@
.title-text {
width: 110px;
min-width: 110px;
color: #000F16;
display: inline-block;
font-weight: 500;
@@ -326,8 +327,9 @@
.box-input {
display: inline-block;
width: 100%;
width: 70%;
height: 38px;
margin-top: 2px;
}
.box-button {
@@ -2426,7 +2426,7 @@
.box-input {
display: inline-block;
width: 70%;
width: calc(100% - 126px);
height: 38px;
margin-top: 2px;
}
@@ -2550,9 +2550,9 @@
/*::v-deep .ant-table-fixed-right .ant-table-body-inner {*/
/* overflow-y: scroll;*/
/*}*/
::v-deep .ant-table-body {
padding-bottom: 7px;
}
//::v-deep .ant-table-body {
// padding-bottom: 7px;
//}
::v-deep .ant-table-body-inner {
padding-bottom: 16px;
@@ -23,7 +23,7 @@
</a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" style="width: 64px" :title="$t('areaOfResponsibility')">
<div class="title-text" :title="$t('areaOfResponsibility')">
<span>{{$t('areaOfResponsibility')}}</span>
</div>
<j-dict-select-tag class="box-input" v-model="queryParam.dutyTerritory"
@@ -331,7 +331,7 @@
.box-input {
display: inline-block;
width: 70%;
width: calc(100% - 126px);
height: 38px;
margin-top: 2px;
}
@@ -32,6 +32,9 @@
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-col :md="12" :sm="24">
<globalAdvancedQuery ref="globalAdvancedQueryRef"
@handleSuperQuery="handleSuperQuery"
:fieldList="fieldList"/>
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
</a-col>
@@ -42,10 +45,10 @@
<a-table
:columns="columns"
rowKey="id"
:scroll="{x: 800}"
:scroll="{x: 800,y:600}"
:data-source="dataList"
:pagination="false"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:' ' }"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:'' }"
:loading="loading">
</a-table>
@@ -72,10 +75,13 @@
<script>
import { getAction, postAction } from '@/api/manage'
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
export default {
name: 'transferList',
components: {},
components: {
globalAdvancedQuery
},
props: ['url'],
data() {
return {
@@ -86,29 +92,161 @@ export default {
columns: [
{
title: this.$t('standard'),
align: 'center',
align: 'left',
dataIndex: 'serialNumber',
width: 100,
fixed: 'left',
scopedSlots: { customRender: 'standard' }
},
{
title: this.$t('title'),
align: 'center',
align: 'left',
dataIndex: 'title',
width: 100,
fixed: 'left',
scopedSlots: { customRender: 'titleName' }
},
{
title: this.$t('subtitle'),
align: 'center',
align: 'left',
dataIndex: 'subtitle',
ellipsis: true,
width: 150
},
{
title: this.$t('zoneOfApplication'),
align: 'left',
dataIndex: 'region_dictText',
width: 150,
ellipsis: true
},
{
title: this.$t('correspondingStandard'),
align: 'left',
dataIndex: 'correspondingStandard',
width: 150,
ellipsis: true
},
{
title: this.$t('implementationCategory'),
align: 'left',
dataIndex: 'implementType_dictText',
width: 150,
ellipsis: true
},
{
title: this.$t('ImplementationDate'),
align: 'left',
width: 200,
dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
ellipsis: true
},
{
title: this.$t('vehicleInProductionDate'),
align: 'left',
width: 220,
dataIndex: 'implementTime',
ellipsis: true
},
{
title: this.$t('certificationType'),
align: 'left',
dataIndex: 'attestationType_dictText',
width: 180,
ellipsis: true
},
{
title: this.$t('certificationLevel'),
align: 'left',
dataIndex: 'attestationRank_dictText',
width: 180,
ellipsis: true
},
{
title: this.$t('applicableSupplement'),
align: 'left',
width: 220,
dataIndex: 'applicableSupplement',
ellipsis: true
},
{
title: 'WVTA ID',
align: 'left',
dataIndex: 'wvtaId',
width: 180,
ellipsis: true
},
{
title: this.$t('areaOfResponsibility'),
align: 'center',
align: 'left',
ellipsis: true,
dataIndex: 'dutyTerritory_dictText'
dataIndex: 'dutyTerritory_dictText',
width: 180
},
],
fieldList: [
{
type: 'string',
value: 'subtitle',
text: this.$t('subtitle')
},
{
type: '',
value: 'region',
text: this.$t('zoneOfApplication'),
dictCode: 'region'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
{
type: 'string',
value: 'correspondingStandard',
text: this.$t('correspondingStandard')
},
{
type: '',
value: 'implementType',
text: this.$t('implementationCategory'),
dictCode: 'implement_type'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
{
type: 'date',
value: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
text: this.$t('ImplementationDate')
},
{
type: 'date',
value: 'implementTime',
text: this.$t('vehicleInProductionDate')
},
{
type: '',
value: 'attestationType',
text: this.$t('certificationType'),
dictCode: 'attestation_type'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
{
type: '',
value: 'attestationRank',
text: this.$t('certificationLevel'),
dictCode: 'attestation_rank'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
{
type: 'string',
value: 'applicableSupplement',
text: this.$t('applicableSupplement')
},
{
type: 'string',
value: 'wvtaId',
text: 'WVTA ID'
},
{
type: '',
value: 'dutyTerritory',
text: this.$t('areaOfResponsibility'),
dictCode: 'duty_territory'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
],
dataList: [],
content: [],
loading: false,
@@ -137,6 +275,8 @@ export default {
this.pageNo = 1
this.queryParam = {}
this.replacePage()
this.$refs.globalAdvancedQueryRef.resetLine()
this.$refs.globalAdvancedQueryRef.emitCallback()
},
onChange(page, pageSize) {
this.pageNo = page
@@ -147,10 +287,24 @@ export default {
this.pageSize = pageSize
this.replacePage()
},
handleSuperQuery(params, matchType) {
let sqp = {}
if (!params || (params && params.length == 0)) {
sqp['superQueryParams'] = ''
this.$refs.globalAdvancedQueryRef.superQueryFlag = false
} else {
this.$refs.globalAdvancedQueryRef.superQueryFlag = true
sqp['superQueryParams'] = encodeURI(JSON.stringify(params))
sqp['superQueryMatchType'] = matchType
}
this.queryParamQuery = sqp
this.replacePage()
},
replacePage() {
let query = {
// pageNo: this.pageNo,
// pageSize: this.pageSize,
...this.queryParamQuery,
...this.queryParam,
dummyInventoryBaseId: this.dummyInventoryBaseId
}
@@ -45,7 +45,7 @@
<a-form-model-item class="itemModel" prop='projectVersion'>
<a-select
class="box-input propbox"
style="width: 100%"
style="width: 109%"
v-model='formData.projectVersion'
:placeholder="$t('PleaseSelect')+$t('relatedProjectVersion')">
<!-- <a-select-option :value="null">{{$t('pleaseSelect')}}</a-select-option>-->
@@ -66,13 +66,13 @@
<!-- <a-col :span='6'>-->
<!-- </a-col>-->
</a-row>
<a-row :gutter="24" style="border-bottom: 1px #f5f5f5 solid;margin-bottom: 10px">
<a-row :gutter="24" style="border-bottom: 1px #e8e8e8 solid;margin-bottom: 10px">
<a-col :span="22">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('explain')">{{$t('explain')}}</span>
</div>
<a-form-model-item class="itemModel" prop="explanation">
<a-form-model-item class="itemModel explainbox" prop="explanation">
<a-textarea
:placeholder="$t('PleaseEnter')+$t('explain')"
v-model.trim="formData.explanation" :rows="4"/>
@@ -467,7 +467,7 @@
.diolag-area {
.table-area {
margin: 20px 0;
//margin: 20px 0;
.action-edit {
margin-right: 10px;
@@ -481,6 +481,9 @@
/deep/.propbox .ant-form-explain{
margin-top: -17px !important;
}
/deep/.explainbox .ant-form-item-control{
width: 104%;
}
.drawer-bootom-button {
position: absolute;
bottom: 0;
@@ -506,7 +509,7 @@
}
.title-text {
width: 84px;
width: 100px;
text-align: right;
display: inline-block;
font-weight: 500;
@@ -263,6 +263,9 @@
onSelectChange(selectedRowKeys, selectedRowKeysDate) {
this.selectedRowKeysDate = selectedRowKeysDate
this.selectedRowKeys = selectedRowKeys
if (this.selectedRowKeys.length > 1) {
this.selectedRowKeys.shift()
}
},
handleTableChange(val) {
console.log(',,,')