Merge remote-tracking branch 'origin/feature_dev_20221129_UI' into fix_2nd_period

# Conflicts:
#	jero-web/src/components/tableCollection/index1.vue
#	jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/components/initiatingProcess.vue
#	jero-web/src/views/documentManage/collection/index.vue
#	jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue
#	jero-web/src/views/projectManagement/components/listOfRegulations.vue
#	jero-web/src/views/projectManagement/projectStatusBoard/components/projectStatusAndProgress.vue
#	jero-web/src/views/projectManagement/projectStatusBoard/index.vue
This commit is contained in:
高嵩
2022-12-30 15:53:39 +08:00
129 changed files with 1418 additions and 765 deletions
@@ -44,6 +44,7 @@
<!-- :triggerChange="false" :dictCode="'cert_category'"/>-->
<!-- </div>-->
<!-- </a-col>-->
<template v-if="toggleSearchStatus">
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('NareaOfResponsibility')">
@@ -73,6 +74,7 @@
v-model="formInline.sdt"></a-input>
</div>
</a-col>
</template>
<!-- <a-col :md="6" :sm="8">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text" :title="$t('status')">-->
@@ -103,6 +105,10 @@
: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 @click="handleToggleSearch" style="margin-left: 8px">
{{ !toggleSearchStatus ? $t('open') : $t('away') }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
</a-col>
</span>
</a-row>
@@ -131,7 +137,7 @@
<!-- </div>-->
<!-- 导出-->
<div @click="handleExport" class="operator-text-title" v-if='currentPersonRole == "homo"'>
<a-icon type="export"/>
<a-icon type="export" :rotate="-90"/>
{{$t('dataExport')}}
</div>
<!-- 一键下发收集 -->
@@ -141,7 +147,7 @@
</div>
<!-- 冻结配置-->
<div @click="freezeConfiguration" class="operator-text-title" v-if='currentPersonRole == "homo"'>
<a-icon type="solution"/>
<a-icon type="lock"/>
{{$t('FreezeConfiguration')}}
</div>
<!-- 引用参数列-->
@@ -156,7 +162,7 @@
</div>
<!-- 同步上报库 -->
<div @click="handleSynchronousReportLibraryJurisdiction" class="operator-text-title" v-if='currentPersonRole == "homo"'>
<a-icon type="setting"/>
<a-icon type="sync"/>
{{$t('SynchronousReportLibrary')}}
</div>
<!-- 截止时间-->
@@ -170,11 +176,11 @@
{{$t('BatchDelete')}}
</div>
<div @click="bringInTheProjectInterfaceClick" class="operator-text-title" v-if='currentPersonRole == "homo"'>
<a-icon type="profile"/>
<a-icon type="user"/>
{{$t('bringInTheProjectInterface')}}
</div>
<div @click="AdjustareasofresponsibilityClick" class="operator-text-title" v-if='currentPersonRole == "homo"'>
<a-icon type="solution"/>
<a-icon type="setting"/>
{{$t('Adjustareasofresponsibility')}}
</div>
<!-- 认证工程师分配填写人-->
@@ -222,7 +228,7 @@
<!-- 退回-->
<div @click="returnDataJurisdiction" class="operator-text"
v-if='currentPersonRole == "sdt" || currentPersonRole == "homo" || currentPersonRole == "dre"'>
<a-icon type="delete"/>
<a-icon type="rollback"/>
{{$t('sendBack')}}
</div>
<!-- 导入-->
@@ -238,7 +244,7 @@
<!-- 强制撤回-->
<div @click="compulsoryWithdrawaljurisdiction" class="operator-text"
v-if='currentPersonRole == "homo" || currentPersonRole == "sdt"'>
<a-icon type="delete"/>
<a-icon type="undo":rotate="90"/>
{{$t('CompulsoryWithdrawal')}}
</div>
@@ -436,7 +442,7 @@
</div>
</div>
<!-- 认证工程师-提示-->
<div style='font-size: 16px;color: red;text-align: center' v-if='NoEngineer === 1'>
<div style='font-size: 18px;text-align: center' v-if='NoEngineer === 1'>
{{ currentPersonRole =='homo'? $t('certifiedEngineer'): (currentPersonRole =='sdt'?
$t('engineeringInterfacePerson'): $t('completedBy')) }}{{jurisdiction === "homoQZTH"? $t('Datastateexcept') : $t('Datastatusis')}}
<!-- 下发收集时-->
@@ -464,23 +470,29 @@
'{{$t('completed')}}'{{$t('or')}}'{{$t('ReturnedEngineer')}}'
</span>
<!-- 退回-->
<span v-else-if='jurisdiction === "homoTH"' class="text-wraning">
<span v-else-if='jurisdiction === "homoTH"' class="text-wraning" style='color: red'>
{{$t('Submitted')}}
</span>
<span v-else-if='jurisdiction === "sdtTH"' class="text-wraning">
'{{$t('handledInterface')}}'{{$t('or')}}'{{$t('Filledreturn')}}'
<p style='display: inline; color: red'>'{{$t('handledInterface')}}'</p>
{{$t('or')}}
<p style='display: inline; color: red'>'{{$t('Filledreturn')}}'</p>
</span>
<span v-else-if='jurisdiction === "dreTH"' class="text-wraning">
'{{$t('completed')}}'{{$t('or')}}'{{$t('ReturnedEngineer')}}'
<p style='display: inline; color: red'>'{{$t('completed')}}'</p>
{{$t('or')}}
<p style='display: inline; color: red'>'{{$t('ReturnedEngineer')}}'</p>
</span>
<!-- 强制撤回-->
<span v-else-if='jurisdiction === "homoQZTH"' class="text-wraning">
'{{$t('SynchronizedLibrary')}}'{{$t('or')}}'{{$t('CollectionInitiated')}}'
<span v-else-if='jurisdiction === "homoQZTH"' class="text-wraning" >
<p style='display: inline; color: red'>'{{$t('SynchronizedLibrary')}}'</p>
{{$t('or')}}
<p style='display: inline; color: red'>'{{$t('CollectionInitiated')}}'</p>
</span>
<span v-else-if='jurisdiction === "sdtQZTH"' class="text-wraning">
<span v-else-if='jurisdiction === "sdtQZTH"' class="text-wraning" style='color: red'>
{{$t('completed')}}
</span>
<span v-else-if='jurisdiction === "dreQZTH"' class="text-wraning">
<span v-else-if='jurisdiction === "dreQZTH"' class="text-wraning" style='color: red'>
{{$t('Submitted')}}
</span>
{{$t('timeoperation')}}
@@ -589,6 +601,7 @@
// R&H Manager manager
// 系统管理员 admin
// 游客 guest
toggleSearchStatus: false,
columns: [
{
title: this.$t('title'),
@@ -770,6 +783,9 @@
},
methods: {
...mapGetters(['userInfo']),
handleToggleSearch() {
this.toggleSearchStatus = !this.toggleSearchStatus
},
handleCancelRoleSwitching() {
this.visibleRoleSwitching = false
},
@@ -34,6 +34,7 @@
:triggerChange="false" :dictCode="'certification_progress'"/>
</div>
</a-col>
<template v-if="toggleSearchStatus">
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('CurrentStatus')">
@@ -66,10 +67,15 @@
</a-select>
</div>
</a-col>
</template>
<span style="float: right;overflow: hidden;" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<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 @click="handleToggleSearch" style="margin-left: 8px">
{{ !toggleSearchStatus ? $t('open') : $t('away') }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
</a-col>
</span>
</a-row>
@@ -242,10 +248,11 @@
props: ['isDisplayNum', 'areaOfResponsibility'],
data() {
return {
toggleSearchStatus: false,
columns: [
{
title: this.$t('number'),
align: 'center',
align: 'left',
width: 70,
customRender: function(t, r, index) {
return parseInt(index) + 1
@@ -253,7 +260,7 @@
},
{
title: this.$t('standardInformation'),
align: 'center',
align: 'left',
dataIndex: 'standard',
width: 202,
sorter:true,
@@ -261,7 +268,7 @@
},
{
title: this.$t('areaOfResponsibility'),
align: 'center',
align: 'left',
width: 180,
sorter:true,
dataIndex: 'areaOfResponsibility',
@@ -269,7 +276,7 @@
},
{
title: this.$t('confirmationOfDesignConformity'),
align: 'center',
align: 'left',
width: 240,
sorter:true,
dataIndex: 'confirmationOfDesignConformity',
@@ -277,7 +284,7 @@
},
{
title: this.$t('PrehomoConfirmation'),
align: 'center',
align: 'left',
width: 240,
sorter:true,
dataIndex: 'PrehomoConfirmation',
@@ -285,7 +292,7 @@
},
{
title: this.$t('verificationAndConformityconfirmation'),
align: 'center',
align: 'left',
width: 240,
sorter:true,
dataIndex: 'verificationAndConformityconfirmation',
@@ -293,7 +300,7 @@
},
{
title: this.$t('CertificationProgress'),
align: 'center',
align: 'left',
width: 150,
sorter:true,
dataIndex: 'CertificationProgress',
@@ -301,7 +308,7 @@
},
{
title: this.$t('CurrentStatus'),
align: 'center',
align: 'left',
width: 150,
sorter:true,
dataIndex: 'CurrentProjectStatusEvaluation',
@@ -396,6 +403,9 @@
},
methods: {
...mapGetters(['userInfo']),
handleToggleSearch() {
this.toggleSearchStatus = !this.toggleSearchStatus
},
searchQuery() {
this.getList()
},
@@ -723,7 +733,7 @@
}
.title-text {
width: 64px;
width: 110px;
color: #000F16;
display: inline-block;
font-weight: 500;
@@ -913,6 +923,10 @@
text-justify: inter-ideograph;
word-break: break-all
}
///deep/.taskTable .ant-table-thead > tr > th {
// font-weight: bolder;
//}
</style>
<style>
.box-input .ant-select-selection {
@@ -27,7 +27,7 @@
{{$t('addDetailList')}}
</div>
<div @click="handleModule" class="operator-text" v-has="'params:manifest:change'">
<a-icon type="bulb"/>
<a-icon type="file-sync"/>
{{$t('changeExtension')}}
</div>
<div @click="handleCody" class="operator-text" v-has="'params:manifest:copy'">
@@ -153,14 +153,14 @@
columns: [
{
title: this.$t('title'),
align: 'center',
align: 'left',
dataIndex: 'title',
width: 240,
scopedSlots: { customRender: 'paramsManifestClick' }
},
{
title: this.$t('status'),
align: 'center',
align: 'left',
width: 80,
ellipsis: true,
sorter:true,
@@ -168,14 +168,14 @@
},
{
title: this.$t('parameterTemplateName'),
align: 'center',
align: 'left',
width: 180,
ellipsis: true,
dataIndex: 'paramsTemplateName'
},
{
title: this.$t('relatedProjectVersion'),
align: 'center',
align: 'left',
width: 120,
ellipsis: true,
sorter:true,
@@ -183,7 +183,7 @@
},
{
title: this.$t('collectionCompletionTime'),
align: 'center',
align: 'left',
dataIndex: 'finishTime',
width: 180,
ellipsis: true,
@@ -192,7 +192,7 @@
},
{
title: this.$t('Version'),
align: 'center',
align: 'left',
width: 80,
ellipsis: true,
sorter:true,
@@ -200,14 +200,14 @@
},
{
title: this.$t('creator'),
align: 'center',
align: 'left',
width: 110,
ellipsis: true,
dataIndex: 'createBy'
},
{
title: this.$t('created'),
align: 'center',
align: 'left',
width: 160,
ellipsis: true,
sorter:true,
@@ -215,7 +215,7 @@
},
{
title: this.$t('operation'),
align: 'center',
align: 'left',
fixed: 'right',
width: 210,
scopedSlots: { customRender: 'operation' }
@@ -597,9 +597,9 @@
border-radius: 4px;
}
/deep/ .add-padding {
margin-left: -89px !important;
}
///deep/ .add-padding {
// margin-left: -89px !important;
//}
.textName {
width: 100%;
@@ -622,6 +622,14 @@
::v-deep .ant-table-body {
background: transparent !important;
}
///deep/.ant-table-thead > tr > th {
// font-weight: bolder;
//}
///deep/.ant-table-tbody > tr > td {
// color: #040B29 ;
//}
</style>
<style>
.box-input .ant-select-selection {
@@ -85,50 +85,50 @@
{
title: this.$t('directoryName'),
dataIndex: 'directoryName',
align: 'center',
align: 'left',
ellipsis: true
},
{
title: this.$t('batch'),
dataIndex: 'lot',
align: 'center',
align: 'left',
ellipsis: true
},
{
title: this.$t('catalogFile'),
dataIndex: 'directoryFile',
align: 'center',
align: 'left',
ellipsis: true,
scopedSlots: { customRender: 'operationFile' }
},
{
title: this.$t('testScheme'),
dataIndex: 'experimentFile',
align: 'center',
align: 'left',
ellipsis: true,
scopedSlots: { customRender: 'operationFile' }
},
{
title: this.$t('testReportLocation'),
dataIndex: 'detectionReportLocation',
align: 'center',
align: 'left',
ellipsis: true
},
{
title: this.$t('explain'),
dataIndex: 'explainInfo',
align: 'center',
align: 'left',
ellipsis: true
},
{
title: this.$t('uploadTime'),
dataIndex: 'uploadTime',
align: 'center',
align: 'left',
ellipsis: true
},
{
title: this.$t('operation'),
align: 'center',
align: 'left',
width: 130,
scopedSlots: { customRender: 'operation' }
}
@@ -45,18 +45,18 @@
{
title: this.$t('versionName'),
dataIndex: 'versionsName',
align: 'center',
align: 'left',
ellipsis: true
},
{
title: this.$t('finalizationTime'),
dataIndex: 'createTime',
align: 'center',
align: 'left',
ellipsis: true
},
{
title: this.$t('operation'),
align: 'center',
align: 'left',
width: 120,
scopedSlots: { customRender: 'operation' }
}
@@ -104,19 +104,19 @@
{
title: this.$t('standard'),
dataIndex: 'serial_number',
align: 'center',
align: 'left',
ellipsis: true
},
{
title: this.$t('title'),
dataIndex: 'title',
align: 'center',
align: 'left',
ellipsis: true
},
{
title: this.$t('zoneOfApplication'),
dataIndex: 'region',
align: 'center',
align: 'left',
ellipsis: true
},
// {
@@ -134,13 +134,13 @@
{
title: this.$t('ImplementationDate'),
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
align: 'center',
align: 'left',
ellipsis: true
},
{
title: this.$t('vehicleInProductionDate'),
dataIndex: 'implement_time',
align: 'center',
align: 'left',
ellipsis: true
},
// {
@@ -24,6 +24,7 @@
v-model="queryParam.title"></j-input>
</div>
</a-col>
<template v-if="toggleSearchStatus">
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('areaOfResponsibility')">
@@ -75,7 +76,8 @@
</a-select>
</div>
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
</template>
<span style="float: right;overflow: hidden;margin-right: 11px; " class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<globalAdvancedQuery ref="globalAdvancedQueryRef"
@handleSuperQuery="handleSuperQuery"
@@ -83,6 +85,10 @@
<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 @click="handleToggleSearch" style="margin-left: 8px">
{{ !toggleSearchStatus ? $t('open') : $t('away') }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
</a-col>
</span>
</a-row>
@@ -100,18 +106,11 @@
<a-icon type="file-protect"/>
{{ $t('initiateTaskConfirmation') }}
</div>
<div class="operator-text" @click="alterationClick">
<a-icon type="file-search"/>
{{ $t('alteration') }}
</div>
<div class="operator-text" @click="fixedPlateClick">
<a-icon type="bulb"/>
{{ $t('fixedPlate') }}
</div>
</div>
<div style="float: right;margin-top: 1px;" v-if="isDisplay">
<a-popconfirm overlayClassName='popconfirm' placement="bottomRight">
<template slot="title" id="popconfirm">
<div style="height:320px;overflow:scroll;overflow-x: auto;">
<div class="operator-text-title">
<ImportFile :url="url" :projectLibraryId=$route.query.id :isTrue="true" :accept="'.zip'"
@getList="getPersonnelList"/>
@@ -128,8 +127,8 @@
<a-icon type="delete"/>
{{ $t('BatchDelete') }}
</div>
<div class="operator-text-title" @click="ExportReportClick">
<a-icon type="export"/>
<div class="operator-text-title" @click="ExportReportClick">
<a-icon type="export" :rotate="-90"/>
{{ $t('ExportReport') }}
</div>
<div class="operator-text-title" @click="batSettingClick">
@@ -141,9 +140,22 @@
{{ $t('batchSettingPersonnel') }}
</div>
<div class="operator-text-title" @click="questionClick">
<a-icon type="apartment"/>
<a-icon type="sound"/>
{{ $t('question') }}
</div>
<div class="operator-text-title" @click="alterationClick">
<a-icon type="file-search"/>
{{ $t('alteration') }}
</div>
<div class="operator-text-title" @click="fixedPlateClick">
<a-icon type="pushpin"/>
{{ $t('fixedPlate') }}
</div>
<div @click="copyClick" class="operator-text-title">
<a-icon type="copy"/>
{{ $t('copy') }}
</div>
</div>
</template>
<div class="operator-text" style="position: relative">
<span style="position: absolute;left: -13px;top: -4px">...</span>{{ $t('more') }}
@@ -157,10 +169,6 @@
<a-icon type="profile"/>
{{ $t('Transfer') }}
</div>
<div @click="copyClick" class="operator-text">
<a-icon type="copy"/>
{{ $t('copy') }}
</div>
<div @click="handleAdd" class="operator-text">
<a-icon type="plus"/>
{{ $t('add') }}
@@ -202,6 +210,7 @@
<div style="width: 100%">
<a-table
ref="table"
:components="drag(columns,'columnsAll')"
class="tableList"
:loading="loading"
:pagination="false"
@@ -258,39 +267,39 @@
<span slot="designDeliverableTemplateName" slot-scope="text,record">
<span :title="record.designDeliverableTypeName">{{ record.designDeliverableTypeName }}</span><br
v-if="record.designDeliverableTypeName">
<a v-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length == 1"
:title="record.designDeliverableTemplateName"
@click="pdfPreviewClick(record.designDeliverableTemplateName,record.designDeliverableTemplate)">
{{ record.designDeliverableTemplateName.length > 10 ? record.designDeliverableTemplateName.slice(0, 9) + '...' :record.designDeliverableTemplateName}}
</a>
<a v-else-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length > 1"
@click="clickButtonToUpload(record.designDeliverableTemplate)">{{ $t('viewFile') }}</a>
<!-- <a v-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length == 1"-->
<!-- :title="record.designDeliverableTemplateName"-->
<!-- @click="pdfPreviewClick(record.designDeliverableTemplateName,record.designDeliverableTemplate)">-->
<!-- {{ record.designDeliverableTemplateName.length > 10 ? record.designDeliverableTemplateName.slice(0, 9) + '...' :record.designDeliverableTemplateName}}-->
<!-- </a>-->
<!-- <a v-else-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length > 1"-->
<!-- @click="clickButtonToUpload(record.designDeliverableTemplate)">{{ $t('viewFile') }}</a>-->
<span v-else>--</span>
</span>
<span slot="prehomoDeliverableTemplateName" slot-scope="text,record">
<span :title="record.prehomoDeliverableTypeName">{{ record.prehomoDeliverableTypeName }}</span><br
v-if="record.prehomoDeliverableTypeName">
<a v-if="record.prehomoDeliverableTemplate && record.prehomoDeliverableTemplate.split(',').length == 1"
:title="record.prehomoDeliverableTemplateName"
@click="pdfPreviewClick(record.prehomoDeliverableTemplateName,record.prehomoDeliverableTemplate)">
{{ record.prehomoDeliverableTemplateName.length > 10 ? record.prehomoDeliverableTemplateName.slice(0, 9) + '...' :record.prehomoDeliverableTemplateName}}
</a>
<a v-else-if="record.prehomoDeliverableTemplate && record.prehomoDeliverableTemplate.split(',').length > 1"
@click="clickButtonToUpload(record.prehomoDeliverableTemplate)">{{ $t('viewFile') }}</a>
<!-- <a v-if="record.prehomoDeliverableTemplate && record.prehomoDeliverableTemplate.split(',').length == 1"-->
<!-- :title="record.prehomoDeliverableTemplateName"-->
<!-- @click="pdfPreviewClick(record.prehomoDeliverableTemplateName,record.prehomoDeliverableTemplate)">-->
<!-- {{ record.prehomoDeliverableTemplateName.length > 10 ? record.prehomoDeliverableTemplateName.slice(0, 9) + '...' :record.prehomoDeliverableTemplateName}}-->
<!-- </a>-->
<!-- <a v-else-if="record.prehomoDeliverableTemplate && record.prehomoDeliverableTemplate.split(',').length > 1"-->
<!-- @click="clickButtonToUpload(record.prehomoDeliverableTemplate)">{{ $t('viewFile') }}</a>-->
<span v-else>--</span>
</span>
<span slot="verifyDeliverableTemplateName" slot-scope="text,record">
<span :title="record.verifyDeliverableTypeName">{{ record.verifyDeliverableTypeName }}</span><br
v-if="record.verifyDeliverableTypeName">
<a v-if="record.verifyDeliverableTemplate && record.verifyDeliverableTemplate.split(',').length == 1"
:title="record.verifyDeliverableTemplateName"
@click="pdfPreviewClick(record.verifyDeliverableTemplateName,record.verifyDeliverableTemplate)">
{{ record.verifyDeliverableTemplateName.length > 10 ? record.verifyDeliverableTemplateName.slice(0, 9) + '...' :record.verifyDeliverableTemplateName}}
</a>
<a v-else-if="record.verifyDeliverableTemplate && record.verifyDeliverableTemplate.split(',').length > 1"
@click="clickButtonToUpload(record.verifyDeliverableTemplate)">{{ $t('viewFile') }}</a>
<!-- <a v-if="record.verifyDeliverableTemplate && record.verifyDeliverableTemplate.split(',').length == 1"-->
<!-- :title="record.verifyDeliverableTemplateName"-->
<!-- @click="pdfPreviewClick(record.verifyDeliverableTemplateName,record.verifyDeliverableTemplate)">-->
<!-- {{ record.verifyDeliverableTemplateName.length > 10 ? record.verifyDeliverableTemplateName.slice(0, 9) + '...' :record.verifyDeliverableTemplateName}}-->
<!-- </a>-->
<!-- <a v-else-if="record.verifyDeliverableTemplate && record.verifyDeliverableTemplate.split(',').length > 1"-->
<!-- @click="clickButtonToUpload(record.verifyDeliverableTemplate)">{{ $t('viewFile') }}</a>-->
<span v-else>--</span>
</span>
</a-table>
@@ -465,6 +474,7 @@
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
import batchSettingPersonnel from './batchSettingPersonnel'
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
import {ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
import moment from 'moment'
import { mapGetters } from 'vuex'
import { Base64 } from 'js-base64'
@@ -485,8 +495,10 @@
batchSettingPersonnel,
listOfRegulationsView
},
mixins: [ResizeColumnProvide,ResizeHeader],
data() {
return {
toggleSearchStatus: false,
roleSwitchingList: [],
listTitle: '',
orderBy: '1',
@@ -494,7 +506,7 @@
columnsAll: [
{
title: this.$t('standard'),
align: 'center',
align: 'left',
dataIndex: 'serialNumber',
width: 180,
fixed: 'left',
@@ -503,7 +515,7 @@
},
{
title: this.$t('title'),
align: 'center',
align: 'left',
dataIndex: 'title',
width: 180,
fixed: 'left',
@@ -511,14 +523,14 @@
},
{
title: this.$t('subtitle'),
align: 'center',
align: 'left',
dataIndex: 'subtitle',
ellipsis: true,
width: 180
},
{
title: this.$t('listConfirmationStatus'),
align: 'center',
align: 'left',
dataIndex: 'inventoryAffirmStatusName',
width: 240,
sorter:true,
@@ -526,7 +538,7 @@
},
{
title: this.$t('taskAffirmStatus'),
align: 'center',
align: 'left',
sorter:true,
dataIndex: 'taskAffirmStatusName',
width: 240,
@@ -539,49 +551,49 @@
// },
{
title: this.$t('zoneOfApplication'),
align: 'center',
align: 'left',
dataIndex: 'region_dictText',
width: 180,
ellipsis: true
},
{
title: this.$t('correspondingStandard'),
align: 'center',
align: 'left',
dataIndex: 'correspondingStandard',
width: 180,
ellipsis: true
},
{
title: this.$t('implementationCategory'),
align: 'center',
align: 'left',
dataIndex: 'implementType_dictText',
width: 180,
ellipsis: true
},
{
title: this.$t('ImplementationDate'),
align: 'center',
align: 'left',
width: 200,
dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
ellipsis: true
},
{
title: this.$t('vehicleInProductionDate'),
align: 'center',
align: 'left',
width: 220,
dataIndex: 'implementTime',
ellipsis: true
},
{
title: this.$t('certificationType'),
align: 'center',
align: 'left',
dataIndex: 'attestationType_dictText',
width: 180,
ellipsis: true
},
{
title: this.$t('certificationLevel'),
align: 'center',
align: 'left',
dataIndex: 'attestationRank_dictText',
width: 180,
sorter:true,
@@ -589,14 +601,14 @@
},
{
title: this.$t('applicableSupplement'),
align: 'center',
align: 'left',
width: 220,
dataIndex: 'applicableSupplement',
ellipsis: true
},
{
title: 'WVTA ID',
align: 'center',
align: 'left',
dataIndex: 'wvtaId',
width: 180,
sorter:true,
@@ -604,7 +616,7 @@
},
{
title: this.$t('areaOfResponsibility'),
align: 'center',
align: 'left',
ellipsis: true,
sorter:true,
dataIndex: 'dutyTerritory_dictText',
@@ -612,7 +624,7 @@
},
{
title: this.$t('regulatoryEngineer'),
align: 'center',
align: 'left',
ellipsis: true,
sorter:true,
dataIndex: 'regulationOwnerName',
@@ -620,7 +632,7 @@
},
{
title: this.$t('certifiedEngineer'),
align: 'center',
align: 'left',
ellipsis: true,
sorter:true,
dataIndex: 'homologationEngineerName',
@@ -628,7 +640,7 @@
},
{
title: this.$t('engineeringInterfacePerson'),
align: 'center',
align: 'left',
ellipsis: true,
sorter:true,
dataIndex: 'engineeringInterfacePersonName',
@@ -636,7 +648,7 @@
},
{
title: this.$t('remarks'),
align: 'center',
align: 'left',
dataIndex: 'remark',
width: 180,
ellipsis: true
@@ -647,7 +659,7 @@
{
title: this.$t('Deliverables'),
dataIndex: 'designDeliverableTemplateName',
align: 'center',
align: 'left',
width: 180,
ellipsis: true,
scopedSlots: { customRender: 'designDeliverableTemplateName' }
@@ -655,28 +667,28 @@
{
title: this.$t('Sponsor'),
dataIndex: 'designInitiatorName',
align: 'center',
align: 'left',
width: 180,
ellipsis: true
},
{
title: this.$t('personLiable'),
dataIndex: 'designDutyName',
align: 'center',
align: 'left',
width: 180,
ellipsis: true
},
{
title: this.$t('TaskCutOffTime'),
dataIndex: 'designDueDate',
align: 'center',
align: 'left',
ellipsis: true,
width: 140
},
{
title: this.$t('descriptionDeliverables'),
dataIndex: 'designRemark',
align: 'center',
align: 'left',
width: 220,
ellipsis: true
}
@@ -688,7 +700,7 @@
{
title: this.$t('Deliverables'),
dataIndex: 'prehomoDeliverableTemplateName',
align: 'center',
align: 'left',
width: 180,
ellipsis: true,
scopedSlots: { customRender: 'prehomoDeliverableTemplateName' }
@@ -696,28 +708,28 @@
{
title: this.$t('Sponsor'),
dataIndex: 'prehomoInitiatorName',
align: 'center',
align: 'left',
width: 180,
ellipsis: true
},
{
title: this.$t('personLiable'),
dataIndex: 'prehomoDutyName',
align: 'center',
align: 'left',
width: 180,
ellipsis: true
},
{
title: this.$t('TaskCutOffTime'),
dataIndex: 'prehomoDueDate',
align: 'center',
align: 'left',
width: 140,
ellipsis: true
},
{
title: this.$t('descriptionDeliverables'),
dataIndex: 'prehomoRemark',
align: 'center',
align: 'left',
width: 220,
ellipsis: true
}
@@ -729,7 +741,7 @@
{
title: this.$t('Deliverables'),
dataIndex: 'verifyDeliverableTemplateName',
align: 'center',
align: 'left',
width: 180,
ellipsis: true,
scopedSlots: { customRender: 'verifyDeliverableTemplateName' }
@@ -737,28 +749,28 @@
{
title: this.$t('Sponsor'),
dataIndex: 'verifyInitiatorName',
align: 'center',
align: 'left',
width: 180,
ellipsis: true
},
{
title: this.$t('personLiable'),
dataIndex: 'verifyDutyName',
align: 'center',
align: 'left',
width: 180,
ellipsis: true
},
{
title: this.$t('TaskCutOffTime'),
dataIndex: 'verifyDueDate',
align: 'center',
align: 'left',
ellipsis: true,
width: 140
},
{
title: this.$t('descriptionDeliverables'),
dataIndex: 'verifyRemark',
align: 'center',
align: 'left',
width: 220,
ellipsis: true
}
@@ -766,14 +778,14 @@
},
{
title: this.$t('operation'),
align: 'center',
align: 'left',
fixed: 'right',
width: 240,
scopedSlots: { customRender: 'operation' }
},
{
title: this.$t('operation'),
align: 'center',
align: 'left',
fixed: 'right',
width: 140,
scopedSlots: { customRender: 'operationOne' }
@@ -783,20 +795,20 @@
{
title: this.$t('deliverableTemplate'),
dataIndex: 'fileName',
align: 'center',
align: 'left',
width: 260,
ellipsis: true
},
{
title: this.$t('resultReported'),
dataIndex: 'fileName',
align: 'center',
align: 'left',
width: 260,
ellipsis: true
},
{
title: this.$t('operation'),
align: 'center',
align: 'left',
width: 130,
scopedSlots: { customRender: 'fileOperation' }
}
@@ -1019,7 +1031,7 @@
})
if (this.areaOfResponsibilityList && this.areaOfResponsibilityList.dutyTerritory) {
this.queryParam.dutyTerritory = this.areaOfResponsibilityList.dutyTerritory
this.queryParam = {...this.queryParam}
this.queryParam = { ...this.queryParam }
}
// } else {
// this.isDisplay = false
@@ -1068,6 +1080,9 @@
},
methods: {
...mapGetters(['userInfo']),
handleToggleSearch() {
this.toggleSearchStatus = !this.toggleSearchStatus
},
viewClick(row) {
let roleCodeIndex
if (this.isDisplay) {
@@ -2372,7 +2387,7 @@
}
.title-text {
width: 92px;
width: 110px;
color: #000F16;
display: inline-block;
font-weight: 500;
@@ -2553,7 +2568,7 @@
overflow: scroll !important;
}
</style>
<style>
<style lang="less">
.box-input .ant-select-selection {
height: 38px !important;
}
@@ -2574,6 +2589,14 @@
display: none !important;
}
//.popconfirm .ant-popover-inner-content{
// padding: 0px 16px;
//}
//
//.popconfirm .ant-popover-message{
// padding: 23px 0 1px;
//}
.ant-table-placeholder {
padding: 0;
border-top: none;
@@ -2584,6 +2607,36 @@
}
.tableList .ant-table-thead > tr > th {
padding: 7px 16px !important;
padding: 0px 16px !important;
//font-weight: bold;
//background: #f3f6f6;
}
//.tableList .ant-table-tbody > tr > td{
// color: #040B29 ;
//}
//.tableList .ant-table-thead > tr{
// padding: 2px 16px !important;
//}
//.tableList .ant-table-thead >tr{
// height: 56px !important;
//}
</style>
<style lang="less">
/* vue-draggable-resizable@2.1.0 begin */
.resize-table-th {
position: relative;
overflow: hidden;
}
.resize-table-th .table-draggable-handle {
height: 100% !important;
bottom: 0;
left: auto !important;
right: -5px;
cursor: col-resize;
touch-action: none;
}
/* 插件 end */
</style>
@@ -20,6 +20,7 @@
:triggerChange="false" :dictCode="'duty_territory'"/>
</div>
</a-col>
<template v-if="toggleSearchStatus">
<a-col :md="12" :sm="8">
<div class="box-title-text-search">
<div class="title-text-search" :title="$t('engineeringInterfacePerson')">
@@ -64,11 +65,16 @@
</a-select>
</div>
</a-col>
</template>
<span style="float: right;overflow: hidden;margin-right: 11px;margin-bottom: 20px"
class="table-page-search-submitButtons">
<a-button class="box-button-search" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
<a-button class="box-button-search" style="margin-left: 8px"
@click="searchReset">{{$t('reset')}}</a-button>
<a @click="handleToggleSearch" style="margin-left: 8px">
{{ !toggleSearchStatus ? $t('open') : $t('away') }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
</span>
</a-row>
</a-form>
@@ -274,42 +280,43 @@
},
data() {
return {
toggleSearchStatus: false,
visible: false,
queryParam: {},
columnsAll: [
{
title: this.$t('areaOfResponsibility'),
align: 'center',
align: 'left',
dataIndex: 'dutyTerritory_dictText',
ellipsis: true
},
{
align: 'center',
align: 'left',
dataIndex: 'lawEngineerName',
slots: { title: 'regulatoryEngineer' },
ellipsis: true
},
{
align: 'center',
align: 'left',
slots: { title: 'engineeringInterfacePerson' },
dataIndex: 'engineeringInterfacePersonName',
ellipsis: true
},
{
align: 'center',
align: 'left',
slots: { title: 'certifiedEngineer' },
dataIndex: 'certificationEngineerName',
ellipsis: true
},
{
title: this.$t('remarks'),
align: 'center',
align: 'left',
dataIndex: 'remark',
ellipsis: true
},
{
title: this.$t('operation'),
align: 'center',
align: 'left',
width: 110,
fixed: 'right',
scopedSlots: { customRender: 'operation' }
@@ -409,6 +416,9 @@
},
methods: {
...mapGetters(['userInfo']),
handleToggleSearch() {
this.toggleSearchStatus = !this.toggleSearchStatus
},
queryCertificationEngineer() {
getAction(this.url.queryCertificationEngineer, { projectId: this.$route.query.id }).then((res) => {
if (res.success) {
@@ -634,7 +644,7 @@
}
.title-text-search {
width: 90px;
width: 110px;
color: #000F16;
display: inline-block;
font-weight: 500;
@@ -671,4 +681,12 @@
background: #fff;
border-radius: 0 0 2px 2px;
}
/*/deep/.table .ant-table-thead > tr > th {*/
/* font-weight: bolder;*/
/*}*/
/*/deep/.table .ant-table-tbody > tr > td {*/
/* color: #040B29 ;*/
/*}*/
</style>
@@ -99,7 +99,7 @@
columns: [
{
title: this.$t('standard'),
align: 'center',
align: 'left',
dataIndex: 'serialNumber',
scopedSlots: { customRender: 'standard' },
ellipsis: true,
@@ -108,7 +108,7 @@
},
{
title: this.$t('title'),
align: 'center',
align: 'left',
dataIndex: 'title',
ellipsis: true,
width: 180,
@@ -116,7 +116,7 @@
},
{
title: this.$t('ProcessType'),
align: 'center',
align: 'left',
dataIndex: 'flowType',
ellipsis: true,
sorter:true,
@@ -124,7 +124,7 @@
},
{
title: this.$t('areaOfResponsibility'),
align: 'center',
align: 'left',
dataIndex: 'dutyTerritory',
ellipsis: true,
sorter:true,
@@ -132,7 +132,7 @@
},
{
title: this.$t('problemType'),
align: 'center',
align: 'left',
dataIndex: 'problemType',
ellipsis: true,
sorter:true,
@@ -140,7 +140,7 @@
},
{
title: this.$t('Sponsor'),
align: 'center',
align: 'left',
dataIndex: 'initiator',
ellipsis: true,
sorter:true,
@@ -148,7 +148,7 @@
},
{
title: this.$t('personLiable'),
align: 'center',
align: 'left',
dataIndex: 'duty',
ellipsis: true,
sorter:true,
@@ -316,7 +316,7 @@
}
.title-text {
width: 32px;
width: 110px;
color: #000F16;
display: inline-block;
font-weight: 500;
@@ -357,4 +357,12 @@
text-justify: inter-ideograph;
word-break: break-all
}
/deep/.ant-table-thead > tr > th {
font-weight: bolder;
}
/*/deep/.ant-table-tbody > tr > td {*/
/* color: #040B29 ;*/
/*}*/
</style>
@@ -19,7 +19,7 @@
</div>
<a-form-model-item class="itemModel" prop="listConfirmation">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('confirmationOfRegulationsList')"
:placeholder="$t('PleaseSelect')+$t('confirmationOfRegulationsList')+$t('time')"
@change="dateChange({db_field_name:'listConfirmation'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
@@ -38,7 +38,7 @@
</div>
<a-form-model-item class="itemModel" prop="legalTaskConfirmation">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('regulatoryTaskConfirmation')"
:placeholder="$t('PleaseSelect')+$t('regulatoryTaskConfirmation')+$t('time')"
@change="dateChange({db_field_name:'legalTaskConfirmation'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
@@ -57,7 +57,7 @@
</div>
<a-form-model-item class="itemModel" prop="designDeadline">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('confirmationOfDesignConformity')"
:placeholder="$t('PleaseSelect')+$t('confirmationOfDesignConformity')+$t('time')"
@change="dateChange({db_field_name:'designDeadline'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
@@ -76,7 +76,7 @@
</div>
<a-form-model-item class="itemModel" prop="prehomoDeadline">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('preHomoCompletion')"
:placeholder="$t('PleaseSelect')+$t('preHomoCompletion')+$t('time')"
@change="dateChange({db_field_name:'prehomoDeadline'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
@@ -96,7 +96,7 @@
<a-form-model-item class="itemModel" prop="attestationStartTime">
<a-date-picker class="box-input"
:disabledDate='this.disabledRegistrationStartDate'
:placeholder="$t('PleaseSelect')+$t('certificationStart')"
:placeholder="$t('PleaseSelect')+$t('certificationStart')+$t('time')"
@change="dateChange({db_field_name:'attestationStartTime'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
@@ -116,7 +116,7 @@
<a-form-model-item class="itemModel" prop="attestationEndTime">
<a-date-picker class="box-input"
:disabledDate='this.disabledRegistrationEndDate'
:placeholder="$t('PleaseSelect')+$t('certificationEnd')"
:placeholder="$t('PleaseSelect')+$t('certificationEnd')+$t('time')"
@change="dateChange({db_field_name:'attestationEndTime'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
@@ -135,7 +135,7 @@
</div>
<a-form-model-item class="itemModel" prop="verifyDeadline">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('verificationAndConformityconfirmation')"
:placeholder="$t('PleaseSelect')+$t('verificationAndConformityconfirmation')+$t('time')"
@change="dateChange({db_field_name:'verifyDeadline'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
@@ -78,25 +78,25 @@
{
title: this.$t('VirtualListName'),
dataIndex: 'name',
align: 'center',
align: 'left',
ellipsis: true
},
{
title: this.$t('instructionForUse'),
dataIndex: 'useExplain',
align: 'center',
align: 'left',
ellipsis: true
},
{
title: this.$t('updateTime'),
dataIndex: 'updateTime',
align: 'center',
align: 'left',
ellipsis: true
},
{
title: this.$t('creater'),
dataIndex: 'createBy',
align: 'center',
align: 'left',
ellipsis: true
}
],
@@ -76,14 +76,14 @@
{
title: this.$t('VersionNumber'),
dataIndex: 'projectVersion',
align: 'center',
align: 'left',
ellipsis: true,
width: 200
},
{
title: this.$t('describe'),
dataIndex: 'explanation',
align: 'center',
align: 'left',
ellipsis: true,
width: 500
}