[update 标准解读流程] 完善条款解读表
This commit is contained in:
@@ -105,7 +105,7 @@ module.exports = {
|
||||
verificationReportTemplate: 'Verification report template/checklist',
|
||||
dvpTemplate: 'DVP template',
|
||||
dfema: 'DFEMA',
|
||||
specialListTemplate: 'Special List Template',
|
||||
specialListTemplate: 'Key Technology Decomposition Table',
|
||||
otherFilesOrTemplates: 'Other files or templates',
|
||||
investigationStage: 'Investigation stage',
|
||||
pThree: 'P3 Name of deliverables proving compliance',
|
||||
|
||||
@@ -105,7 +105,7 @@ module.exports = {
|
||||
verificationReportTemplate: '校核报告模板/checklist',
|
||||
dvpTemplate: 'DVP模板',
|
||||
dfema: 'DFEMA',
|
||||
specialListTemplate: '特殊性清单模板',
|
||||
specialListTemplate: '关键技术分解表',
|
||||
otherFilesOrTemplates: '其他文件或模板',
|
||||
investigationStage: '排查阶段',
|
||||
pThree: 'P3证明符合性的交付物名称',
|
||||
|
||||
+24
-2
@@ -39,7 +39,7 @@
|
||||
:colon="formItemColon">
|
||||
<a-date-picker :placeholder="$t('pleaseSelect') + $t('expirationDate')"
|
||||
style="width: 100%"
|
||||
:disabled="disabled || !this.isInitiate"
|
||||
:disabled="disabled || !isInitiate"
|
||||
value-format="YYYY-MM-DD hh:mm:ss"
|
||||
v-decorator="['dueTime']" />
|
||||
</a-form-item>
|
||||
@@ -54,10 +54,20 @@
|
||||
<a-textarea :placeholder="$t('pleaseEnter') + $t('processExplain')"
|
||||
:maxLength="500"
|
||||
:rows="4"
|
||||
:disabled="disabled || !this.isInitiate"
|
||||
:disabled="disabled || !isInitiate"
|
||||
v-decorator="['prcMes']" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col v-if="!isInitiate && info.data && info.data.processStandardInterpret" :span="24">
|
||||
<!-- 标准编号/标准名称 -->
|
||||
<a-form-item
|
||||
:labelCol="$i18n.locale === EN ? longLabelColEn : longLabelCol"
|
||||
:wrapperCol="$i18n.locale === EN ? longWrapperColEn : longWrapperCol"
|
||||
:label="$t('standardNumber') + '/' + $t('standardName')"
|
||||
:colon="formItemColon">
|
||||
<a @click.capture="toStandardDetail">{{info.data.processStandardInterpret.standardNumber}} {{info.data.processStandardInterpret.standardName}}</a>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
|
||||
@@ -100,6 +110,8 @@
|
||||
</div>
|
||||
<!-- 操作按钮 -->
|
||||
<div class="detail-page-bottom-operate-box">
|
||||
<!-- 加签 -->
|
||||
<a-button v-if="btn.includes('countersign')" type="primary" ghost :loading="loading" @click="handleCountersign" icon="arrow-up">{{ $t('countersign') }}</a-button>
|
||||
<!-- 转办 -->
|
||||
<a-button v-if="btn.includes('transfer')" type="primary" ghost :loading="loading" @click="handleTurnTo" icon="arrow-up">{{ $t('turnTo') }}</a-button>
|
||||
<!-- 保存 -->
|
||||
@@ -252,6 +264,16 @@ export default {
|
||||
interpretGetProjectId().then(id => { this.projectId = (id + '') })
|
||||
},
|
||||
methods: {
|
||||
// 跳转详情
|
||||
toStandardDetail () {
|
||||
const { standardId } = this.info.data.processStandardInterpret
|
||||
this.$openPageNewSheet({
|
||||
path: '/standardRegulationLibrary/foreignStandardDetailPage',
|
||||
query: {
|
||||
id: standardId
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取页面详情
|
||||
*/
|
||||
|
||||
+12
-12
@@ -200,70 +200,70 @@ export default {
|
||||
title: this.$t('workCenter.standardInterpretationProcess.involvingSystemsComponents'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'keywords',
|
||||
dataIndex: 'keywords_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 关键控制器
|
||||
title: this.$t('workCenter.standardInterpretationProcess.keyController'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'keyController',
|
||||
dataIndex: 'keyController_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 责任部门
|
||||
title: this.$t('workCenter.standardInterpretationProcess.responsibleDepartment'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'responsibleDepartment',
|
||||
dataIndex: 'responsibleDepartment_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 责任部门专业模块
|
||||
title: this.$t('workCenter.standardInterpretationProcess.responsibleDepartmentModule'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'responsibleModule',
|
||||
dataIndex: 'responsibleModule_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 关联部门
|
||||
title: this.$t('workCenter.standardInterpretationProcess.relatedDepartments'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'relatedDepartment',
|
||||
dataIndex: 'relatedDepartment_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 关联部门专业模块
|
||||
title: this.$t('workCenter.standardInterpretationProcess.relatedDepartmentsModule'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'relatedModule',
|
||||
dataIndex: 'relatedModule_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 适用车型
|
||||
title: this.$t('workCenter.standardInterpretationProcess.applications'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'applications',
|
||||
dataIndex: 'applications_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 动力类型
|
||||
title: this.$t('workCenter.standardInterpretationProcess.powerType'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'powerType',
|
||||
dataIndex: 'powerType_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 专业领域
|
||||
title: this.$t('workCenter.standardInterpretationProcess.professionalField'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'domainArea',
|
||||
dataIndex: 'domainArea_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 配置需求
|
||||
title: this.$t('workCenter.standardInterpretationProcess.configurationRequirements'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'configurationRequirements',
|
||||
dataIndex: 'configurationRequirements_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 新认证车实施日期
|
||||
@@ -336,7 +336,7 @@ export default {
|
||||
dataIndex: 'dfema',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 特殊性清单模板 = 关键技术分解表
|
||||
{ // 关键技术分解表
|
||||
title: this.$t('workCenter.standardInterpretationProcess.specialListTemplate'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
@@ -617,7 +617,7 @@ export default {
|
||||
}
|
||||
},
|
||||
// 导出
|
||||
handleExport (fileName, fileSuffix = '.xls') {
|
||||
handleExport (fileName, fileSuffix = '.xlsx') {
|
||||
if (!fileName || typeof fileName !== 'string') {
|
||||
fileName = '导出文件'
|
||||
}
|
||||
|
||||
+142
-3
@@ -43,6 +43,123 @@
|
||||
:placeholder="$t('pleaseEnter')+$t('workCenter.standardInterpretationProcess.regulatoryAnnotations')"
|
||||
v-decorator="['regulatoryNotes']"/>
|
||||
</a-form-item>
|
||||
<!--涉及系统/部件-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.involvingSystemsComponents')" :colon="false">
|
||||
<tree-selection :placeholder="$t('pleaseEnter')+$t('workCenter.standardInterpretationProcess.involvingSystemsComponents')"
|
||||
filedName="keywords"
|
||||
type="checkbox"
|
||||
options-href="/laws/standard/partName/"
|
||||
:nameStr="model.keywords_dictText"
|
||||
:disabled="disabled"
|
||||
v-decorator="['keywords']" />
|
||||
</a-form-item>
|
||||
<!--关键控制器-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.keyController')" :colon="false">
|
||||
<j-multi-select-tag dict-code="key_controller"
|
||||
:disabled="disabled"
|
||||
:placeholder="$t('pleaseSelect')+$t('workCenter.standardInterpretationProcess.keyController')"
|
||||
v-decorator="['keyController']"/>
|
||||
</a-form-item>
|
||||
<!--责任部门-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.responsibleDepartment')" :colon="false">
|
||||
<j-select-depart :placeholder="$t('pleaseEnter')+$t('workCenter.standardInterpretationProcess.responsibleDepartment')"
|
||||
:backDepart="true"
|
||||
:disabled="disabled"
|
||||
multi
|
||||
treeOpera
|
||||
v-decorator="['responsibleDepartment']" />
|
||||
</a-form-item>
|
||||
<!--责任部门专业模块-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.responsibleDepartmentModule')" :colon="false">
|
||||
<j-multi-select-tag dict-code="responsible_module"
|
||||
:disabled="disabled"
|
||||
:placeholder="$t('pleaseSelect')+$t('workCenter.standardInterpretationProcess.responsibleDepartmentModule')"
|
||||
v-decorator="['responsibleModule']"/>
|
||||
</a-form-item>
|
||||
<!--关联部门-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.relatedDepartments')" :colon="false">
|
||||
<j-select-depart :placeholder="$t('pleaseEnter')+$t('workCenter.standardInterpretationProcess.relatedDepartments')"
|
||||
:backDepart="true"
|
||||
:disabled="disabled"
|
||||
multi
|
||||
treeOpera
|
||||
v-decorator="['relatedDepartment']" />
|
||||
</a-form-item>
|
||||
<!--关联部门专业模块-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.relatedDepartmentsModule')" :colon="false">
|
||||
<j-multi-select-tag dict-code="related_module"
|
||||
:disabled="disabled"
|
||||
:placeholder="$t('pleaseSelect')+$t('workCenter.standardInterpretationProcess.relatedDepartmentsModule')"
|
||||
v-decorator="['relatedModule']"/>
|
||||
</a-form-item>
|
||||
<!--适用车型-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.applications')" :colon="false">
|
||||
<j-multi-select-tag dict-code="applicable_vehicle_type"
|
||||
:disabled="disabled"
|
||||
:placeholder="$t('pleaseSelect')+$t('workCenter.standardInterpretationProcess.applications')"
|
||||
v-decorator="['applicable_vehicle_type']"/>
|
||||
</a-form-item>
|
||||
<!--动力类型-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.powerType')" :colon="false">
|
||||
<j-multi-select-tag dict-code="dynamic_type"
|
||||
:disabled="disabled"
|
||||
:placeholder="$t('pleaseSelect')+$t('workCenter.standardInterpretationProcess.powerType')"
|
||||
v-decorator="['powerType']"/>
|
||||
</a-form-item>
|
||||
<!--专业领域-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.professionalField')" :colon="false">
|
||||
<s-tree-select
|
||||
v-decorator="['domainArea']"
|
||||
:disabled="disabled"
|
||||
:tree-data="professionalFieldTreeList"
|
||||
tree-checkable
|
||||
treeCheckStrictly
|
||||
:placeholder="$t('pleaseSelect')+$t('workCenter.standardInterpretationProcess.professionalField')"/>
|
||||
</a-form-item>
|
||||
<!--配置需求-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.configurationRequirements')" :colon="false">
|
||||
<j-multi-select-tag dict-code="configuration_requirements"
|
||||
:disabled="disabled"
|
||||
:placeholder="$t('pleaseSelect')+$t('workCenter.standardInterpretationProcess.configurationRequirements')"
|
||||
v-decorator="['configurationRequirements']"/>
|
||||
</a-form-item>
|
||||
<!--新认证车实施日期-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.newCertificationImplementationDate')" :colon="false">
|
||||
<j-multiple-date-picker :placeholder="$t('pleaseEnter')+$t('workCenter.standardInterpretationProcess.newCertificationImplementationDate')"
|
||||
fieldName="newCerImplementDate"
|
||||
:disabled="disabled"
|
||||
v-decorator="['newCerImplementDate']" />
|
||||
</a-form-item>
|
||||
<!--新生产车实施日期-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.newProduceImplementationDate')" :colon="false">
|
||||
<j-multiple-date-picker :placeholder="$t('pleaseEnter')+$t('workCenter.standardInterpretationProcess.newProduceImplementationDate')"
|
||||
fieldName="newProductionImplementation"
|
||||
:disabled="disabled"
|
||||
v-decorator="['newProductionImplementation']" />
|
||||
</a-form-item>
|
||||
<!--注册日期-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.registrationDate')" :colon="false">
|
||||
<j-multiple-date-picker :placeholder="$t('pleaseEnter')+$t('workCenter.standardInterpretationProcess.registrationDate')"
|
||||
fieldName="registrationDate"
|
||||
:disabled="disabled"
|
||||
v-decorator="['registrationDate']" />
|
||||
</a-form-item>
|
||||
<!--企业标准-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.enterpriseStandards')" :colon="false">
|
||||
<standard-selection :source="StandardSource.ENTERPRISE.value"
|
||||
:placeholder="$t('pleaseEnter')+$t('workCenter.standardInterpretationProcess.enterpriseStandards')"
|
||||
:disabled="disabled"
|
||||
:disabledSourceSearch="true"
|
||||
type="radio"
|
||||
v-decorator="['enterpriseStandard']" />
|
||||
</a-form-item>
|
||||
<!--技术规范/设计指南-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.technicalSpecificationsDesignGuidelines')" :colon="false">
|
||||
<a-input :max-length="50"
|
||||
:disabled="disabled"
|
||||
:placeholder="$t('pleaseEnter')+$t('workCenter.standardInterpretationProcess.technicalSpecificationsDesignGuidelines')"
|
||||
v-decorator="['technicalSpecificationDesignGuide']"/>
|
||||
</a-form-item>
|
||||
<!--图纸模板-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.drawingTemplate')" :colon="false">
|
||||
<a-input :max-length="50"
|
||||
@@ -78,7 +195,7 @@
|
||||
:placeholder="$t('pleaseEnter')+$t('workCenter.standardInterpretationProcess.dfema')"
|
||||
v-decorator="['dfema']"/>
|
||||
</a-form-item>
|
||||
<!--特殊性清单模板-->
|
||||
<!--关键技术分解表-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.specialListTemplate')" :colon="false">
|
||||
<a-input :max-length="50"
|
||||
:disabled="disabled"
|
||||
@@ -94,7 +211,7 @@
|
||||
</a-form-item>
|
||||
<!--排查阶段-->
|
||||
<a-form-item :label="$t('workCenter.standardInterpretationProcess.investigationStage')" :colon="false">
|
||||
<j-dict-select-tag dict-code="investigation_stage"
|
||||
<j-multi-select-tag dict-code="investigation_stage"
|
||||
:disabled="disabled"
|
||||
:placeholder="$t('pleaseSelect')+$t('workCenter.standardInterpretationProcess.investigationStage')"
|
||||
v-decorator="['investigationStage']"/>
|
||||
@@ -133,10 +250,18 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import JMultipleDatePicker from '@comp/JMultipleDatePicker'
|
||||
import StandardSelection from '@comp/selection/StandardSelection'
|
||||
import TreeSelection from '@comp/selection/TreeSelection'
|
||||
import { StandardSource } from '@/enums/commonEnums'
|
||||
import STreeSelect from '@comp/STreeSelect'
|
||||
import { getFormDictTreeList } from '@api/api'
|
||||
export default {
|
||||
name: 'InterpretationClauseTableModal',
|
||||
components: { STreeSelect, TreeSelection, StandardSelection, JMultipleDatePicker },
|
||||
data () {
|
||||
return {
|
||||
StandardSource,
|
||||
title: this.$t('close'),
|
||||
width: 900,
|
||||
disabled: false,
|
||||
@@ -151,7 +276,9 @@ export default {
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 20 }
|
||||
}
|
||||
},
|
||||
// 专业领域下拉
|
||||
professionalFieldTreeList: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -159,6 +286,7 @@ export default {
|
||||
this.edit()
|
||||
},
|
||||
edit (record) {
|
||||
this.initProfessionalFieldTreeList()
|
||||
this.form.resetFields()
|
||||
this.model = Object.assign({}, record)
|
||||
this.visible = true
|
||||
@@ -173,6 +301,9 @@ export default {
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
const formData = Object.assign(this.model, values)
|
||||
if (Array.isArray(formData.domainArea)) {
|
||||
formData.domainArea = formData.domainArea.map(item => item.value).join(',')
|
||||
}
|
||||
this.$emit('ok', formData)
|
||||
this.close()
|
||||
}
|
||||
@@ -180,6 +311,14 @@ export default {
|
||||
},
|
||||
handleCancel () {
|
||||
this.close()
|
||||
},
|
||||
// 专业领域下拉
|
||||
initProfessionalFieldTreeList () {
|
||||
getFormDictTreeList({ dictId: '1801078082552725506' }).then(res => {
|
||||
if (res.success) {
|
||||
this.professionalFieldTreeList = res.result || []
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+19
-2
@@ -21,6 +21,13 @@
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="false">
|
||||
<!-- 标准编号、标准名称 -->
|
||||
<template v-slot:toDetail="{text, record}">
|
||||
<a-tooltip overlay-class-name="tooltip-style">
|
||||
<template slot="title">{{ text || text === 0 ? text : global.emptyLine }}</template>
|
||||
<a class="link-a" @click="toDetail(record)">{{ text }}</a>
|
||||
</a-tooltip>
|
||||
</template>
|
||||
<!-- 分解单来源-->
|
||||
<template v-slot:decompositionSource="{text, record}">
|
||||
<a-select v-model="record.decompositionSource"
|
||||
@@ -83,14 +90,14 @@ export default {
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'standardNumber',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
scopedSlots: { customRender: 'toDetail' }
|
||||
},
|
||||
{ // 标准名称
|
||||
title: this.$t('standardName'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'standardName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
scopedSlots: { customRender: 'toDetail' }
|
||||
},
|
||||
{ // 标准状态
|
||||
title: this.$t('standardState'),
|
||||
@@ -135,6 +142,16 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 跳转详情
|
||||
toDetail (record) {
|
||||
const path = '/standardRegulationLibrary/foreignStandardDetailPage'
|
||||
this.$openPageNewSheet({
|
||||
path: path,
|
||||
query: {
|
||||
id: record.standardId
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取组件内的数据
|
||||
* @param isValidate - 是否需要校验
|
||||
|
||||
+19
-2
@@ -11,6 +11,13 @@
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="false">
|
||||
<!-- 标准编号、标准名称 -->
|
||||
<template v-slot:toDetail="{text, record}">
|
||||
<a-tooltip overlay-class-name="tooltip-style">
|
||||
<template slot="title">{{ text || text === 0 ? text : global.emptyLine }}</template>
|
||||
<a class="link-a" @click="toDetail(record)">{{ text }}</a>
|
||||
</a-tooltip>
|
||||
</template>
|
||||
</j-table>
|
||||
</div>
|
||||
<a-form :form="form" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
@@ -119,14 +126,14 @@ export default {
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'standardNumber',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
scopedSlots: { customRender: 'toDetail' }
|
||||
},
|
||||
{ // 标准名称
|
||||
title: this.$t('standardName'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'standardName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
scopedSlots: { customRender: 'toDetail' }
|
||||
},
|
||||
{ // 标准状态
|
||||
title: this.$t('standardState'),
|
||||
@@ -204,6 +211,16 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 跳转详情
|
||||
toDetail (record) {
|
||||
const path = '/standardRegulationLibrary/foreignStandardDetailPage'
|
||||
this.$openPageNewSheet({
|
||||
path: path,
|
||||
query: {
|
||||
id: record.standardId
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 校验表单 必定返回成功的promise,携带表单的参数
|
||||
* @param form
|
||||
|
||||
Reference in New Issue
Block a user