Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -52,6 +52,7 @@ module.exports = {
|
||||
termNo: 'Article No.',
|
||||
termTitle: 'Article Title',
|
||||
termContent: 'Article Content',
|
||||
translation: 'Translation',
|
||||
applicableComponents: 'Applicable Components',
|
||||
newProduceVehiclesImplementationDate: 'New Certified Vehicle Implementation Date',
|
||||
newAuthVehiclesImplementationDate: 'New Production Vehicle Implementation Date',
|
||||
|
||||
@@ -52,6 +52,7 @@ module.exports = {
|
||||
termNo: '条款号',
|
||||
termTitle: '条款标题',
|
||||
termContent: '条款内容',
|
||||
translation: '译文',
|
||||
applicableComponents: '适用零部件',
|
||||
newProduceVehiclesImplementationDate: '新生产车实施日期',
|
||||
newAuthVehiclesImplementationDate: '新认证车实施日期',
|
||||
|
||||
@@ -439,6 +439,7 @@ module.exports = {
|
||||
dictList: 'Dictionary List',
|
||||
// 字典配置项新增,编辑弹框
|
||||
dataValue: 'Data Value',
|
||||
englishAbbreviation: 'English abbreviation',
|
||||
rankingValue: 'Ranking Value',
|
||||
valueSmallerIsHigher: 'The smaller the value, the higher the value',
|
||||
valueCannotContainSpecChar: 'Data values cannot contain special characters!',
|
||||
@@ -571,7 +572,8 @@ module.exports = {
|
||||
numberColumns: 'Number Of Columns',
|
||||
maximumSelection: 'Maximum Selection',
|
||||
pieceOfData: 'Article Data',
|
||||
cornerMark: 'Corner Mark'
|
||||
cornerMark: 'Corner Mark',
|
||||
childParentLink: 'Identify Parent-Child Relationship'
|
||||
},
|
||||
// 文档比对
|
||||
comparison: {
|
||||
|
||||
@@ -3,7 +3,8 @@ module.exports = {
|
||||
// 法规符合性评估库
|
||||
assessmentLibrary: {
|
||||
applicableMarket: 'Applicable Market',
|
||||
dateOfEvaluation: 'Date of Assessment',
|
||||
evaluationSponsor: 'Evaluation sponsor',
|
||||
dateOfEvaluation: 'Evaluation completion date',
|
||||
exportName: 'Non-conformance term Library Table',
|
||||
clauseNumber: 'Article No.',
|
||||
vehicleType: 'Vehicle Catagory',
|
||||
@@ -13,6 +14,7 @@ module.exports = {
|
||||
clauseContent: 'Article Content',
|
||||
modelStatus: 'Developing Status',
|
||||
theStatusNotMeetRequirements: 'Unsatisfied Description',
|
||||
supplementaryExplanatoryMaterial: 'Supplementary explanatory material',
|
||||
rectificationPlan: 'Rectification Plan',
|
||||
rectificationCycle: 'Rectification Time',
|
||||
rectificationCost: 'Rectification Costs',
|
||||
@@ -32,12 +34,15 @@ module.exports = {
|
||||
problemType: 'Evaluation Results',
|
||||
rectificationCompletionDate: 'Completion Date of Rectification',
|
||||
theStatusNotMeetRequirements: 'Unsatisfied Description',
|
||||
supplementaryExplanatoryMaterial: 'Supplementary explanatory material',
|
||||
rectificationPlan: 'Rectification Plan',
|
||||
rectificationCycle: 'Rectification Time',
|
||||
rectificationCost: 'Rectification Costs',
|
||||
sharedWithOtherProjects: 'Commonality',
|
||||
costOfThisItemAfterSharing: 'Expenses After Sharing',
|
||||
isHaveClosed: 'Select the data whose rectification status is to be rectified and close it',
|
||||
exportName: 'Non-conformance term Library table'
|
||||
exportName: 'Non-conformance term Library table',
|
||||
shutter: 'Shutter',
|
||||
closingTime: 'Closing time'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,8 @@ module.exports = {
|
||||
// 法规符合性评估库
|
||||
assessmentLibrary: {
|
||||
applicableMarket: '适用市场',
|
||||
dateOfEvaluation: '评估日期',
|
||||
evaluationSponsor: '评估发起人',
|
||||
dateOfEvaluation: '评估完成日期',
|
||||
exportName: '法规符合性评估库表',
|
||||
clauseNumber: '条款号',
|
||||
vehicleType: '车型',
|
||||
@@ -13,6 +14,7 @@ module.exports = {
|
||||
clauseContent: '条款内容',
|
||||
modelStatus: '车型状态',
|
||||
theStatusNotMeetRequirements: '不满足要求的现状',
|
||||
supplementaryExplanatoryMaterial: '辅助说明材料',
|
||||
rectificationPlan: '整改方案',
|
||||
rectificationCycle: '整改周期',
|
||||
rectificationCost: '整改费用',
|
||||
@@ -32,12 +34,15 @@ module.exports = {
|
||||
problemType: '问题类型',
|
||||
rectificationCompletionDate: '整改完成日期',
|
||||
theStatusNotMeetRequirements: '不满足要求的现状',
|
||||
supplementaryExplanatoryMaterial: '辅助说明材料',
|
||||
rectificationPlan: '整改方案',
|
||||
rectificationCycle: '整改周期',
|
||||
rectificationCost: '整改费用',
|
||||
sharedWithOtherProjects: '与其他项目共用性',
|
||||
costOfThisItemAfterSharing: '共用后本项目所需费用',
|
||||
isHaveClosed: '请选择整改状态为待整改的数据进行关闭',
|
||||
exportName: '不符合项库表'
|
||||
exportName: '不符合项库表',
|
||||
shutter: '关闭人',
|
||||
closingTime: '关闭时间'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,6 +71,7 @@ module.exports = {
|
||||
releaseTime: 'Published Date',
|
||||
listState: 'Status',
|
||||
customName: 'Custom Name',
|
||||
customNameLastText: '车型需满足标准法规清单',
|
||||
securityClass: 'Confidential Level',
|
||||
listDeclaration: 'Manifest Declaration',
|
||||
templateName: 'Market regulation list import template',
|
||||
|
||||
@@ -63,7 +63,7 @@ module.exports = {
|
||||
marketRegulationsList: {
|
||||
listNumber: '清单编号',
|
||||
listName: '清单名称',
|
||||
countryRegion: '国家/地区',
|
||||
countryRegion: '适用市场',
|
||||
drivingPosition: '驾驶位置',
|
||||
author: '作者',
|
||||
exportName: '市场法规清单表',
|
||||
@@ -71,6 +71,7 @@ module.exports = {
|
||||
releaseTime: '发布时间',
|
||||
listState: '清单状态',
|
||||
customName: '自定义名称',
|
||||
customNameLastText: '车型需满足标准法规清单',
|
||||
securityClass: '密级',
|
||||
listDeclaration: '清单说明',
|
||||
templateName: '市场法规清单导入模板',
|
||||
|
||||
@@ -50,6 +50,7 @@ module.exports = {
|
||||
// 字段列表
|
||||
name: 'Name',
|
||||
dataValue: 'Value',
|
||||
englishAbbreviation: 'English abbreviation',
|
||||
parentName: 'Parent Name',
|
||||
select: 'Select',
|
||||
tree: 'Tree',
|
||||
|
||||
@@ -50,6 +50,7 @@ module.exports = {
|
||||
// 字段列表
|
||||
name: '名称',
|
||||
dataValue: '数据值',
|
||||
englishAbbreviation: '英文简称',
|
||||
parentName: '父级名称',
|
||||
select: '下拉选择',
|
||||
tree: '树形结构',
|
||||
|
||||
@@ -43,6 +43,7 @@ module.exports = {
|
||||
approvingOfficer: 'Approving officer',
|
||||
evaluationResult: 'Evaluation Result',
|
||||
theStatusNotMeetRequirements: 'Unsatisfied Description',
|
||||
supplementaryExplanatoryMaterial: 'Supplementary explanatory material',
|
||||
rectificationPlan: 'Rectification Plan',
|
||||
rectificationCycle: 'Rectification Time',
|
||||
rectificationCost: 'Rectification Costs',
|
||||
|
||||
@@ -43,6 +43,7 @@ module.exports = {
|
||||
approvingOfficer: '批准人员',
|
||||
evaluationResult: '评估结果',
|
||||
theStatusNotMeetRequirements: '不满足要求的现状',
|
||||
supplementaryExplanatoryMaterial: '辅助说明材料',
|
||||
rectificationPlan: '整改方案',
|
||||
rectificationCycle: '整改周期',
|
||||
rectificationCost: '整改费用',
|
||||
|
||||
@@ -212,7 +212,7 @@ module.exports = {
|
||||
maximumSelectFive: '最多选择五条记录!',
|
||||
listNumber: '清单编号',
|
||||
listName: '清单名称',
|
||||
countryRegion: '国家/地区',
|
||||
countryRegion: '适用市场',
|
||||
ccPerson: '抄送人员',
|
||||
startDate: '开始日期',
|
||||
endDate: '结束日期',
|
||||
@@ -439,6 +439,7 @@ module.exports = {
|
||||
dictList: '字典列表',
|
||||
// 字典配置项新增,编辑弹框
|
||||
dataValue: '数据值',
|
||||
englishAbbreviation: '英文简称',
|
||||
rankingValue: '排序值',
|
||||
valueSmallerIsHigher: '值越小越靠前',
|
||||
valueCannotContainSpecChar: '数据值不能包含特殊字符!',
|
||||
@@ -571,7 +572,8 @@ module.exports = {
|
||||
numberColumns: '列数',
|
||||
maximumSelection: '最多选择',
|
||||
pieceOfData: '条数据',
|
||||
cornerMark: '角标'
|
||||
cornerMark: '角标',
|
||||
childParentLink: '识别父子关系'
|
||||
},
|
||||
// 文档比对
|
||||
comparison: {
|
||||
|
||||
@@ -282,6 +282,9 @@ export default {
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
expandedRowKeys (val) {
|
||||
console.log('expandedRowKeys改变了', val)
|
||||
}
|
||||
},
|
||||
data () {
|
||||
@@ -359,7 +362,8 @@ export default {
|
||||
const firstPage = parseInt((Number(firstIndex) + 1) / this.ipagination.pageSize) + 1
|
||||
this.ipagination.current = firstPage
|
||||
this.$nextTick(() => {
|
||||
this.expandedRowKeys = [...this.expandedRowKeys, ...errorRows.map(tt => tt.rowKey)]
|
||||
const arr = [...this.expandedRowKeys, ...errorRows.map(tt => tt.rowKey)]
|
||||
this.expandedRowKeys = Array.from(new Set(arr))
|
||||
let timer = setTimeout(() => {
|
||||
this.$nextTick(() => {
|
||||
errorIndex.forEach(index => {
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
:can-drag="true"
|
||||
:loading="loading"
|
||||
:rowKey="record => {return record.id + ',' + (record.taskId || '')}"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange, getCheckboxProps: getCheckboxProps }"
|
||||
:pagination="ipagination"
|
||||
:scroll="{x: '100%', y: yScrollHeight}"
|
||||
@change="handleTableChange">
|
||||
@@ -262,6 +262,15 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 表格复选框props
|
||||
getCheckboxProps (record) {
|
||||
return {
|
||||
props: {
|
||||
// 不是进行中的禁用复选框 1进行中 2已完成
|
||||
disabled: record.finishFlag + '' !== '1'
|
||||
}
|
||||
}
|
||||
},
|
||||
loadData (arg) {
|
||||
if (!this.url.list) {
|
||||
this.$message.warning('请设置url.list属性!')
|
||||
|
||||
@@ -107,10 +107,11 @@
|
||||
<!-- @dragstop="(...args) => onDragstop('standardCatalogueRef', ...args)"></vue-draggable-resizable>-->
|
||||
</div>
|
||||
<!--内容和译文-->
|
||||
<div class="content-and-translation" :class="{'hide-translation': isContainerExpand}">
|
||||
<div class="content-and-translation" :class="{'hide-translation': isContainerExpand, 'hide-content': isTranslationExpand}">
|
||||
<!--标准内容-->
|
||||
<div class="sheet-container part-ml" ref="sheetContainerRef"
|
||||
@click="handleClickContent"
|
||||
:class="{'hide-translation-text': isTranslationExpand}"
|
||||
:style="showClauseLabel === showClauseLabelEnums.hideTranslation ? 'width: 100%' : ''">
|
||||
<!--标准名称-->
|
||||
<div class="standard-name">
|
||||
@@ -146,7 +147,12 @@
|
||||
class="translation-text part-ml part-common" ref="translationRef"
|
||||
@click="handleClickContent"
|
||||
:class="{'hide-translation-text': isContainerExpand}">
|
||||
<div class="part-title">{{ $t('standardRegulationLibrary.translation') }}</div>
|
||||
<div class="part-title flex-between">
|
||||
<span>{{ $t('standardRegulationLibrary.translation') }}</span>
|
||||
<a-button type="link" :icon="isTranslationExpand ? 'fullscreen-exit' : 'fullscreen'" @click="handleTranslationExpand">
|
||||
{{ isTranslationExpand ? $t('putAway') : $t('open') }}
|
||||
</a-button>
|
||||
</div>
|
||||
<div class="standard-content translation-content">
|
||||
<div class="clause-content-item" v-if="Object.keys(clauseLabelInfo).length">
|
||||
<div class="clause-content-item-title">{{ clauseLabelInfo.item_num }} {{ clauseLabelInfo.title_translation }}</div>
|
||||
@@ -163,7 +169,7 @@
|
||||
</div>
|
||||
<!--条文标签-->
|
||||
<div class="clause-label part-ml part-common" ref="clauseLabelRef"
|
||||
:class="{'hide-clause-label': (showClauseLabel === showClauseLabelEnums.hideClauseLable) || isContainerExpand}">
|
||||
:class="{'hide-clause-label': (showClauseLabel === showClauseLabelEnums.hideClauseLable) || isContainerExpand || isTranslationExpand}">
|
||||
<div class="part-title">{{ $t('standardRegulationLibrary.clauseLabel') }}</div>
|
||||
<div class="has-title-part-content">
|
||||
<template v-for="clause in clauseField">
|
||||
@@ -209,8 +215,8 @@
|
||||
<span v-show="isClauseLabelExpand">{{ $t('docTool.split.clauseLabel') }}</span>
|
||||
</div>
|
||||
</a-tooltip>
|
||||
<!--展示译文-->
|
||||
<a-tooltip placement="left">
|
||||
<!--隐藏译文(展开译文就不能展示该按钮)-->
|
||||
<a-tooltip placement="left" v-if="!isTranslationExpand">
|
||||
<template #title>{{ $t('docTool.split.originalText') }}</template>
|
||||
<div class="clause-label-change-item"
|
||||
:class="{'clause-label-change-item-selected': showClauseLabel === showClauseLabelEnums.hideTranslation}"
|
||||
@@ -284,6 +290,7 @@ export default {
|
||||
isClauseLabelExpand: true, // 条文/条文标签切换部分是否展开,控制是否只显示图标
|
||||
isCatalogueExpand: true, // 标准目录收起
|
||||
isContainerExpand: false, // 条文是否展开
|
||||
isTranslationExpand: false, // 译文是否展开
|
||||
loading: false,
|
||||
spiltInfo: {}, // 拆分的整体信息
|
||||
clauseContentList: [], // 条文内容的数据
|
||||
@@ -510,6 +517,13 @@ export default {
|
||||
// this.isCatalogueExpand = true
|
||||
// }
|
||||
},
|
||||
/**
|
||||
* 译文展开
|
||||
*/
|
||||
handleTranslationExpand () {
|
||||
this.isTranslationExpand = !this.isTranslationExpand
|
||||
this.isCatalogueExpand = !this.isTranslationExpand
|
||||
},
|
||||
/**
|
||||
* 条文标签切换
|
||||
* @param flag - 1 隐藏条文标签 2 全部显示 3 隐藏译文
|
||||
@@ -628,6 +642,9 @@ export default {
|
||||
&.hide-translation .sheet-container {
|
||||
width: 100%;
|
||||
}
|
||||
&.hide-content .translation-text {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.sheet-container {
|
||||
@@ -649,7 +666,8 @@ export default {
|
||||
height: calc(100% - 40px);
|
||||
}
|
||||
|
||||
.hide-translation-text {
|
||||
.hide-translation-text,
|
||||
.hide-content-text {
|
||||
width: 0 !important;
|
||||
overflow: hidden;
|
||||
margin-left: 0;
|
||||
@@ -815,6 +833,7 @@ export default {
|
||||
border: 1px solid;
|
||||
|
||||
td {
|
||||
word-break: break-all;
|
||||
border: 1px solid;
|
||||
}
|
||||
}
|
||||
@@ -889,4 +908,9 @@ export default {
|
||||
.table-page-search-wrapper .ant-form-inline /deep/ .ant-form-item > .ant-form-item-label {
|
||||
min-width: auto;
|
||||
}
|
||||
.flex-between {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<!-- 国家/地区 -->
|
||||
<!-- 适用市场 -->
|
||||
<a-col :md="8" :sm="12">
|
||||
<a-form-item :label="$t('standardRegulationLibrary.marketRegulationsList.countryRegion')">
|
||||
<a-tree-select
|
||||
@@ -201,7 +201,7 @@ export default {
|
||||
total: 0
|
||||
},
|
||||
columns: [
|
||||
{ // 国家/地区
|
||||
{ // 适用市场
|
||||
title: this.$t('standardRegulationLibrary.marketRegulationsList.countryRegion'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<a-breadcrumb class="breadcrumb">
|
||||
<a-breadcrumb-item v-for="(item, index) in breadList" :key="index">
|
||||
<router-link v-if="item.name + '' !== name + ''" :to="{ path: item.path }">
|
||||
{{ item.meta[showKey] || item.meta.title }}
|
||||
</router-link>
|
||||
<span v-else>{{ item.meta[showKey] || item.meta.title }}</span>
|
||||
<!--<router-link v-if="item.name + '' !== name + ''" :to="{ path: item.path }">-->
|
||||
<!-- {{ item.meta[showKey] || item.meta.title }}-->
|
||||
<!--</router-link>-->
|
||||
<span>{{ item.meta[showKey] || item.meta.title }}</span>
|
||||
</a-breadcrumb-item>
|
||||
</a-breadcrumb>
|
||||
</template>
|
||||
|
||||
@@ -8,7 +8,8 @@ export const WorkCenterMixin = {
|
||||
return {
|
||||
personnelInfoData: [], // 需要传给PersonnelInfo的数据
|
||||
switchValue: 'base',
|
||||
formItemColon: false // a-form不显示冒号
|
||||
formItemColon: false, // a-form不显示冒号
|
||||
showCountersign: false // 加签按钮是否显示
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -22,6 +23,13 @@ export const WorkCenterMixin = {
|
||||
getProcessNodeList(param).then(res => {
|
||||
if (res.success) {
|
||||
console.log(res.result)
|
||||
let curNode = res.result.find(item => item.xmlNodeId === this.$route.query.nodeId)
|
||||
// 如果nodeId没有找到,再去匹配流程名
|
||||
if (!curNode) {
|
||||
curNode = res.result.find(item => item.nodeName === this.$route.query.taskName)
|
||||
}
|
||||
// 是否显示会签
|
||||
this.showCountersign = curNode ? curNode.countersignFlag + '' === '1' : false
|
||||
// 处理人员信息数据,判断每个节点是否能选人
|
||||
this.personnelInfoData = res.result.map(item => {
|
||||
return {
|
||||
|
||||
@@ -241,7 +241,7 @@ export default {
|
||||
}
|
||||
},
|
||||
// 市场更新情况start
|
||||
{ // 国家/地区
|
||||
{ // 适用市场
|
||||
title: this.$t('standardRegulationLibrary.marketRegulationsList.countryRegion'),
|
||||
align: 'left',
|
||||
dataIndex: 'country_dictText',
|
||||
|
||||
@@ -141,6 +141,25 @@
|
||||
</template>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- 条款搜索,前端写死加一个适用市场 -->
|
||||
<a-col :md="(24 / (minLength + 1))"
|
||||
:sm="(24 / minLength)"
|
||||
:key="-1"
|
||||
v-if="currStandardType === '4'"
|
||||
style="line-height: 48px">
|
||||
<!-- 适用市场 -->
|
||||
<a-form-item :label="$t('applicableMarket')" :labelCol="labelCol" :wrapperCol="wrapperCol" :colon="false">
|
||||
<s-tree-select v-model="queryParam.country"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
style="width: 100%"
|
||||
:tree-data="applicableMarketList"
|
||||
tree-checkable
|
||||
treeCheckStrictly
|
||||
:replaceFields="{title: isChinese() ? 'title' : 'enTitle'}"
|
||||
:placeholder="$t('pleaseSelect') + $t('applicableMarket')"/>
|
||||
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
<div class="table-page-search-submitButtons">
|
||||
@@ -211,6 +230,13 @@
|
||||
</div>
|
||||
<div class="table-text" v-else>{{ global.emptyLine }}</div>
|
||||
</template>
|
||||
<!--译文-->
|
||||
<template slot="translation" slot-scope="{text, record}">
|
||||
<div style="cursor: pointer;" class="table-text" v-if="text || text === 0" @click="showContent(text,record)">
|
||||
{{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }}
|
||||
</div>
|
||||
<div class="table-text" v-else>{{ global.emptyLine }}</div>
|
||||
</template>
|
||||
</j-table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -248,10 +274,11 @@ import { previewPdf } from '../../../utils/previewPdf'
|
||||
import { kkFilePreview } from '../../../utils/kkFilePreview'
|
||||
import JDatePicker from '@comp/JDatePicker'
|
||||
import SplitClauseDetail from '@views/documentTool/documentSplit/modules/SplitClauseDetail'
|
||||
import STreeSelect from '@comp/STreeSelect'
|
||||
|
||||
export default {
|
||||
name: 'AdvancedSearch',
|
||||
components: { SplitClauseDetail, JDatePicker, JTable },
|
||||
components: { STreeSelect, SplitClauseDetail, JDatePicker, JTable },
|
||||
data () {
|
||||
return {
|
||||
FieldType,
|
||||
@@ -387,6 +414,13 @@ export default {
|
||||
dataIndex: 'item_title',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 标题译文
|
||||
title: this.$t('clauseTitleTranslation'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'title_translation',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 条款内容
|
||||
title: this.$t('dashboard.advancedSearch.termContent'),
|
||||
align: 'center',
|
||||
@@ -394,6 +428,13 @@ export default {
|
||||
dataIndex: 'item_content',
|
||||
scopedSlots: { customRender: 'item_content' }
|
||||
},
|
||||
{ // 译文
|
||||
title: this.$t('dashboard.advancedSearch.translation'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'translation',
|
||||
scopedSlots: { customRender: 'translation' }
|
||||
},
|
||||
// { // 适用零部件
|
||||
// title: this.$t('dashboard.advancedSearch.applicableComponents'),
|
||||
// align: 'center',
|
||||
@@ -508,7 +549,8 @@ export default {
|
||||
// 国标和外标的默认标准状态
|
||||
defaultStandardStatus: ``,
|
||||
// 企标的默认标准状态
|
||||
defaultEnStandardStatus: `${EnterpriseStandardStatus.CURRENTLY_EFFECTIVE.value}`
|
||||
defaultEnStandardStatus: `${EnterpriseStandardStatus.CURRENTLY_EFFECTIVE.value}`,
|
||||
applicableMarketList: [] // 条款增加适用市场字段,前端写死
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -556,9 +598,18 @@ export default {
|
||||
this.getQueryConditionFunc = getDomesticStandardQuery
|
||||
this.getSearch()
|
||||
this.getSysCategoryTree()
|
||||
this.getCountryOption()
|
||||
this.queryParam.standard_state = this.defaultStandardStatus
|
||||
},
|
||||
methods: {
|
||||
// 获取适用市场下拉数据
|
||||
getCountryOption () {
|
||||
getFormDictTreeList({ dictId: '1801130851452059649' }).then(res => {
|
||||
if (res.success) {
|
||||
this.applicableMarketList = res.result || []
|
||||
}
|
||||
})
|
||||
},
|
||||
// 显示条款内容弹框
|
||||
showContent (val) {
|
||||
this.$refs.splitClauseDetail.open(val)
|
||||
|
||||
@@ -96,7 +96,9 @@
|
||||
<div v-show="judgeAbolish(item)" class="result-source-wrapper" >
|
||||
<p class="result-abolish">{{ StandardStatus.ABOLISH.text }}</p>
|
||||
</div>
|
||||
<p class="result-date">{{ $t('dashboard.generalSearch.implementationDate') }} {{ item.implementationDate || global.emptyLine }}</p>
|
||||
<p class="result-date" :title="$t('dashboard.generalSearch.implementationDate') + (item.implementationDate || global.emptyLine)">
|
||||
{{ $t('dashboard.generalSearch.implementationDate') }} {{ item.implementationDate || global.emptyLine }}
|
||||
</p>
|
||||
<a-button v-has="'dashboard:generalSearch:viewText'" :disabled="judgeAbolish(item)" @click="filePreviewAll(item)" style="margin-left: 8px;" type="primary" ghost>{{ $t('dashboard.generalSearch.viewText') }}</a-button>
|
||||
</div>
|
||||
<template v-if="retrievalModeCurrent === '1'">
|
||||
@@ -956,7 +958,10 @@ export default {
|
||||
color: #86909C;
|
||||
line-height: 19px;
|
||||
text-align: right;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
padding-left: 20px;
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,6 +43,16 @@
|
||||
:triggerChange="false"
|
||||
:dictCode="'process_manuscript'" />
|
||||
</a-form-item>
|
||||
<!--识别父子关系-->
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('docTool.split.childParentLink')">
|
||||
<j-dict-select-tag
|
||||
class="box-input"
|
||||
v-decorator="['childParentLink', validatorRules.childParentLink]"
|
||||
:placeholder="$t('pleaseSelect') + $t('docTool.split.childParentLink')"
|
||||
:type="'select'"
|
||||
:triggerChange="false"
|
||||
:dictCode="'yn'" />
|
||||
</a-form-item>
|
||||
<!--拆分结果文件-->
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('docTool.split.splitResultFile')">
|
||||
<div class="result-file-box">
|
||||
@@ -72,7 +82,7 @@ import StandardSelection from '../../../../components/selection/StandardSelectio
|
||||
import { importSplitResult } from '@api/documentToolApi'
|
||||
import { getFileInfo } from '@api/api'
|
||||
import { downloadFile } from '@api/manage'
|
||||
import { StandardSource } from '../../../../enums/commonEnums'
|
||||
import { StandardSource, YesOrNoEnum } from '../../../../enums/commonEnums'
|
||||
|
||||
export default {
|
||||
name: 'ImportSplitResultModal',
|
||||
@@ -112,6 +122,11 @@ export default {
|
||||
splitFileId: {
|
||||
rules: [{ required: true, message: this.$t('uploadFile.pleaseUpload') + this.$t('docTool.split.splitResultFile') }],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
// 识别父子关系
|
||||
childParentLink: {
|
||||
validateTrigger: 'change',
|
||||
initialValue: YesOrNoEnum.NO.value
|
||||
}
|
||||
},
|
||||
standardInfo: {}, // 选择的标准
|
||||
|
||||
@@ -1056,6 +1056,7 @@ export default {
|
||||
width: 100%;
|
||||
border: 1px solid;
|
||||
td {
|
||||
word-break: break-all;
|
||||
border: 1px solid;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ export default {
|
||||
width: 100%;
|
||||
border: 1px solid;
|
||||
td {
|
||||
word-break: break-all;
|
||||
border: 1px solid;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,12 +7,14 @@
|
||||
:maskClosable="false"
|
||||
:footer="null"
|
||||
:confirmLoading="confirmLoading"
|
||||
:fullscreen.sync="fullscreen"
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel">
|
||||
<a-spin :spinning="confirmLoading">
|
||||
<a-tree :show-line="true"
|
||||
:show-icon="true"
|
||||
style="height: 50vh; overflow-y: auto"
|
||||
:class="{fullscreen: fullscreen}"
|
||||
checkable
|
||||
:tree-data="treeData"
|
||||
:selected-keys="selectedKeys"
|
||||
@@ -55,6 +57,7 @@ export default {
|
||||
data () {
|
||||
return {
|
||||
width: 600,
|
||||
fullscreen: false,
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
selectedKeys: [],
|
||||
@@ -231,7 +234,9 @@ export default {
|
||||
const treeData = res.result || []
|
||||
treeData.forEach(node => this.addTitleToNodes(node))
|
||||
this.treeData = treeData
|
||||
this.expandedKeys = this.treeData.length > 0 ? [this.treeData[0].id] : []
|
||||
if (this.treeData.length > 0 && this.expandedKeys <= 0) {
|
||||
this.expandedKeys = [this.treeData[0].id]
|
||||
}
|
||||
}
|
||||
}).finally(() => {
|
||||
this.confirmLoading = false
|
||||
@@ -249,6 +254,7 @@ export default {
|
||||
this.$emit('close')
|
||||
this.model = {}
|
||||
this.treeData = []
|
||||
this.expandedKeys = []
|
||||
this.visible = false
|
||||
},
|
||||
handleCancel () {
|
||||
@@ -281,5 +287,10 @@ export default {
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
|
||||
.fullscreen .tree-node-custom-title {
|
||||
max-width: 90vw;
|
||||
}
|
||||
.tree-node-custom-title {
|
||||
max-width: 460px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -238,6 +238,20 @@ export default {
|
||||
dataIndex: 'rectifyStatus_dictText',
|
||||
scopedSlots: { customRender: 'dictText' }
|
||||
},
|
||||
{ // 关闭人
|
||||
title: this.$t('regulatoryComplianceAssessmentDatabase.nonmatchItem.shutter'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'closeUser_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 关闭时间
|
||||
title: this.$t('regulatoryComplianceAssessmentDatabase.nonmatchItem.closingTime'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'closeTime',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // PCR编号
|
||||
title: this.$t('regulatoryComplianceAssessmentDatabase.nonmatchItem.pcrNumber'),
|
||||
align: 'center',
|
||||
|
||||
+6
-1
@@ -18,6 +18,11 @@
|
||||
:placeholder="$t('pleaseEnter')+$t('regulatoryComplianceAssessmentDatabase.nonmatchItem.theStatusNotMeetRequirements')"
|
||||
v-decorator.trim="[ 'unsatisfiedRequire']"/>
|
||||
</a-form-item>
|
||||
<!-- 辅助说明材料 -->
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('regulatoryComplianceAssessmentDatabase.nonmatchItem.supplementaryExplanatoryMaterial')">
|
||||
<j-upload disabled
|
||||
v-decorator.trim="[ 'unsatisfiedRequireAttach']"/>
|
||||
</a-form-item>
|
||||
<!-- 整改方案 -->
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('regulatoryComplianceAssessmentDatabase.nonmatchItem.rectificationPlan')">
|
||||
<a-input :max-length="50"
|
||||
@@ -87,7 +92,7 @@ export default {
|
||||
this.form.resetFields()
|
||||
this.model = Object.assign({}, record)
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.model, 'unsatisfiedRequire', 'correctionSolution', 'correctionPeriod',
|
||||
this.form.setFieldsValue(pick(this.model, 'unsatisfiedRequire', 'unsatisfiedRequireAttach', 'correctionSolution', 'correctionPeriod',
|
||||
'correctionCost', 'commonality', 'commonalityCost'))
|
||||
})
|
||||
},
|
||||
|
||||
+1
-1
@@ -146,7 +146,7 @@ export default {
|
||||
dataIndex: 'applicableMarket_dictText',
|
||||
scopedSlots: { customRender: 'dictText' }
|
||||
},
|
||||
{ // 评估日期
|
||||
{ // 评估完成日期
|
||||
title: this.$t('regulatoryComplianceAssessmentDatabase.assessmentLibrary.dateOfEvaluation'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
|
||||
+24
-3
@@ -111,9 +111,15 @@
|
||||
</a-tooltip>
|
||||
</template>
|
||||
|
||||
<!-- 辅助说明材料 -->
|
||||
<template v-slot:unsatisfiedRequireAttach="text, record">
|
||||
<a v-if="text" class="link-a" @click="handleFileClick(record, 'unsatisfiedRequireAttach')">{{ $t('view') }}</a>
|
||||
<div v-else class="table-text">{{ global.emptyLine }}</div>
|
||||
</template>
|
||||
|
||||
<!-- 佐证材料 -->
|
||||
<template v-slot:material="text, record">
|
||||
<a v-if="text" class="link-a" @click="handleMaterialClick(record)">{{ $t('view') }}</a>
|
||||
<a v-if="text" class="link-a" @click="handleFileClick(record, 'material')">{{ $t('view') }}</a>
|
||||
<div v-else class="table-text">{{ global.emptyLine }}</div>
|
||||
</template>
|
||||
</a-table>
|
||||
@@ -201,6 +207,13 @@ export default {
|
||||
dataIndex: 'result_dictText',
|
||||
scopedSlots: { customRender: 'dictText' }
|
||||
},
|
||||
{ // 评估发起人
|
||||
title: this.$t('regulatoryComplianceAssessmentDatabase.assessmentLibrary.evaluationSponsor'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'assessorInitiator_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 不满足要求的现状
|
||||
title: this.$t('regulatoryComplianceAssessmentDatabase.assessmentLibrary.theStatusNotMeetRequirements'),
|
||||
align: 'center',
|
||||
@@ -208,6 +221,13 @@ export default {
|
||||
dataIndex: 'unsatisfiedRequire',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 辅助说明材料
|
||||
title: this.$t('regulatoryComplianceAssessmentDatabase.assessmentLibrary.supplementaryExplanatoryMaterial'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'unsatisfiedRequireAttach',
|
||||
scopedSlots: { customRender: 'unsatisfiedRequireAttach' }
|
||||
},
|
||||
{ // 整改方案
|
||||
title: this.$t('regulatoryComplianceAssessmentDatabase.assessmentLibrary.rectificationPlan'),
|
||||
align: 'center',
|
||||
@@ -298,8 +318,9 @@ export default {
|
||||
const text = option.componentOptions.propsData.title || option.componentOptions.propsData.label
|
||||
return text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
},
|
||||
handleMaterialClick (record) {
|
||||
this.$refs.uploadFile.open(record.material)
|
||||
// 列表中的附件查看
|
||||
handleFileClick (record, fieldName) {
|
||||
this.$refs.uploadFile.open(record[fieldName])
|
||||
},
|
||||
handleCancel () {
|
||||
this.close()
|
||||
|
||||
+51
-1
@@ -8,6 +8,13 @@
|
||||
<div class="detail-page-part">
|
||||
<div class="detail-page-part-title">
|
||||
<span>{{ $t('dataInfo') }}</span>
|
||||
<div class="detail-page-part-title-operate-box">
|
||||
<!-- 收藏 -->
|
||||
<a-button type="link" @click="handleCollection" v-has="'domesticStandard:collection'">
|
||||
<i class="iconfont icon-star1" v-show="detailData.collectionFlag" />
|
||||
<i class="iconfont icon-star" v-show="!detailData.collectionFlag" />
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-page-part-form">
|
||||
<div class="detail-page-part-form-item">
|
||||
@@ -170,6 +177,10 @@ import { downloadFile, getFileAccessHttpUrl } from '../../../../api/manage'
|
||||
import { previewPdf } from '../../../../utils/previewPdf'
|
||||
import { kkFilePreview } from '../../../../utils/kkFilePreview'
|
||||
import { queryStandardInfoByStandardNumber } from '../../../../utils/util'
|
||||
import {
|
||||
cancelCollectionForeignStandard,
|
||||
collectionForeignStandard
|
||||
} from '../../../../api/standardRegulationLibraryApi'
|
||||
|
||||
// 外来标准法规权限
|
||||
const ForeignStandardPermission = {
|
||||
@@ -196,6 +207,7 @@ export default {
|
||||
return {
|
||||
DisplayAreaManagement,
|
||||
loading: false,
|
||||
collectionFlag: false,
|
||||
partList: [], // 页面模块列表
|
||||
form: {}, // 页面字段
|
||||
// 页面数据
|
||||
@@ -454,7 +466,38 @@ export default {
|
||||
this.$openPageNewSheet({
|
||||
path, query
|
||||
})
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 收藏/取消收藏
|
||||
* @param record
|
||||
*/
|
||||
handleCollection () {
|
||||
if (this.collectionFlag || this.loading) {
|
||||
return
|
||||
}
|
||||
this.collectionFlag = true
|
||||
let params
|
||||
let submitFunc
|
||||
// 取消收藏
|
||||
if (this.detailData.collectionFlag) {
|
||||
params = { id: this.detailData.id, standardNumber: this.detailData.standard_number }
|
||||
submitFunc = cancelCollectionForeignStandard
|
||||
} else {
|
||||
params = { standardId: this.detailData.id, standardNumber: this.detailData.standard_number }
|
||||
submitFunc = collectionForeignStandard
|
||||
}
|
||||
// 收藏
|
||||
submitFunc(params).then(res => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message)
|
||||
this.initDetailData()
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.collectionFlag = false
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -502,4 +545,11 @@ export default {
|
||||
.title-red-span {
|
||||
color: #D52C26;
|
||||
}
|
||||
|
||||
//.icon-star1 {
|
||||
// color: rgba(243, 129, 65);
|
||||
//}
|
||||
//.icon-star {
|
||||
// color: rgba(243, 129, 65, 0.50);
|
||||
//}
|
||||
</style>
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
</template>
|
||||
<div class="content-wrapper">
|
||||
<a-row class="basic-info" v-if="ids.length <= 1">
|
||||
<!-- 国家/地区 -->
|
||||
<!-- 适用市场 -->
|
||||
<a-col :span="12">
|
||||
<label>{{ $t('standardRegulationLibrary.marketRegulationsList.countryRegion') }}</label>
|
||||
<span>{{ (isChinese() ? model.country_dictText : model.country_dictTextEn) || global.emptyLine }}</span>
|
||||
|
||||
+73
-30
@@ -8,7 +8,7 @@
|
||||
<div class="content-wrapper">
|
||||
<a-form :form="form">
|
||||
<a-row>
|
||||
<!-- 国家/地区 -->
|
||||
<!-- 适用市场 -->
|
||||
<a-col :span="12">
|
||||
<a-form-item :labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
@@ -25,25 +25,32 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- 清单编号英文缩写 -->
|
||||
<a-col :span="12" v-if="isShowManifestNo">
|
||||
<a-form-item :label="$t('standardRegulationLibrary.marketRegulationsList.listNumberEnglishPart')"
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol">
|
||||
<a-input :placeholder="$t('pleaseEnter') + $t('standardRegulationLibrary.marketRegulationsList.listNumberEnglishPart')"
|
||||
:maxLength="192"
|
||||
v-decorator="['manifestNo', validatorRules.manifestNo]" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!--<template v-if="isShowManifestNo">-->
|
||||
<a-form-item class="block-form-item" :label="$t('standardRegulationLibrary.marketRegulationsList.listNumber')"
|
||||
:labelCol="lineLabelCol"
|
||||
:wrapperCol="lineWrapperCol">
|
||||
<!--固定的编码-->
|
||||
<span>BZFG-</span>
|
||||
<a-input :placeholder="$t('pleaseEnter') + $t('standardRegulationLibrary.marketRegulationsList.listNumberEnglishPart')"
|
||||
:maxLength="192"
|
||||
v-decorator="['manifestNo', validatorRules.manifestNo]" />
|
||||
<!--后端生成的序号-->
|
||||
<span>-{{model.columnNo}}</span>
|
||||
</a-form-item>
|
||||
<!--</template>-->
|
||||
<!-- 自定义名称 -->
|
||||
<a-col :span="12">
|
||||
<a-form-item :label="$t('standardRegulationLibrary.marketRegulationsList.customName')"
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol">
|
||||
<a-input :placeholder="$t('pleaseEnter') + $t('standardRegulationLibrary.marketRegulationsList.customName')"
|
||||
:maxLength="200"
|
||||
v-decorator="['customColumnName', validatorRules.customColumnName]" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!--<a-col :span="24">-->
|
||||
<a-form-item class="block-form-item" :label="$t('standardRegulationLibrary.marketRegulationsList.listName')"
|
||||
:labelCol="lineLabelCol"
|
||||
:wrapperCol="lineWrapperCol">
|
||||
<!--国家地区-->
|
||||
<span>{{model.countryName}}</span>
|
||||
<a-input :placeholder="$t('pleaseEnter') + $t('standardRegulationLibrary.marketRegulationsList.customName')"
|
||||
:maxLength="200"
|
||||
v-decorator="['customColumnName', validatorRules.customColumnName]" />
|
||||
<span>{{ $t('standardRegulationLibrary.marketRegulationsList.customNameLastText') }}</span>
|
||||
</a-form-item>
|
||||
<!--</a-col>-->
|
||||
<!-- 驾驶位置 -->
|
||||
<a-col :span="12">
|
||||
<a-form-item :labelCol="labelCol"
|
||||
@@ -256,7 +263,7 @@ export default {
|
||||
SecurityClass,
|
||||
pageLoading: false,
|
||||
form: this.$form.createForm(this),
|
||||
model: { manifest: {}, lists: [] },
|
||||
model: { manifest: {}, lists: [], columnNo: 'XXX', countryName: '' },
|
||||
queryParam: {},
|
||||
countryOptions: [], // 国家下拉选择
|
||||
labelCol: {
|
||||
@@ -276,7 +283,7 @@ export default {
|
||||
sm: { span: 20 }
|
||||
},
|
||||
validatorRules: {
|
||||
// 国家/地区
|
||||
// 适用市场
|
||||
country: {
|
||||
rules: [{
|
||||
required: true,
|
||||
@@ -498,7 +505,7 @@ export default {
|
||||
this.loadData()
|
||||
},
|
||||
methods: {
|
||||
// 获取国家/地区下拉数据
|
||||
// 获取适用市场下拉数据
|
||||
getCountryOption () {
|
||||
getFormDictTreeList({ dictId: '1801130851452059649' }).then(res => {
|
||||
if (res.success) {
|
||||
@@ -512,17 +519,33 @@ export default {
|
||||
// const value = this.form.getFieldValue('country')
|
||||
console.log('--------value', value)
|
||||
const param = {}
|
||||
param.country = value && value.length > 0 ? value.map(item => item.value).join(',') : ''
|
||||
if (value && value.length > 0) {
|
||||
param.country = value.map(item => item.value).join(',')
|
||||
this.model.countryName = value.map(item => item.label).join('')
|
||||
} else {
|
||||
param.country = ''
|
||||
this.model.countryName = ''
|
||||
}
|
||||
|
||||
marketRegulationGetListNumber(param).then(res => {
|
||||
if (res.success) {
|
||||
const noText = res.message ? res.message.split(',')[0] : ''
|
||||
const result = {
|
||||
manifestNo: res.message
|
||||
manifestNo: noText
|
||||
}
|
||||
// 显示清单编号英文名称缩写
|
||||
this.isShowManifestNo = true
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(result, 'manifestNo'))
|
||||
})
|
||||
|
||||
} else {
|
||||
const result = {
|
||||
manifestNo: ''
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(result, 'manifestNo'))
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -540,14 +563,22 @@ export default {
|
||||
this.model.country = this.model.country.split(',').map(item => {
|
||||
return { value: item }
|
||||
})
|
||||
// 清单名称
|
||||
this.model.countryName = this.model.country_dictText.split(',').join('')
|
||||
}
|
||||
// 清单编号的转换
|
||||
const manifestNoAll = this.model.manifestNo
|
||||
// 从清单编号截取英文缩写
|
||||
this.model.manifestNo = this.model.manifestNo.split('-')[1]
|
||||
this.model.manifestNo = manifestNoAll.split('-')[1]
|
||||
// 清单标号 里面的序号
|
||||
this.model.columnNo = manifestNoAll.split('-')[2]
|
||||
|
||||
// 显示清单编号英文名称缩写
|
||||
this.isShowManifestNo = true
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.model, 'country', 'manifestNo', 'customColumnName', 'drivePosition', 'securityLevel', 'manifestDesc', 'file'))
|
||||
})
|
||||
this.$forceUpdate()
|
||||
}
|
||||
}).finally(() => {
|
||||
this.pageLoading = false
|
||||
@@ -566,7 +597,7 @@ export default {
|
||||
this.pageLoading = true
|
||||
const param = {}
|
||||
param.manifest = Object.assign({}, values)
|
||||
// 国家/地区是树选择,需要处理格式
|
||||
// 适用市场是树选择,需要处理格式
|
||||
param.manifest.country = param.manifest.country.map(item => item.value).join(',')
|
||||
let func
|
||||
if (this.model && this.model.id) {
|
||||
@@ -580,12 +611,12 @@ export default {
|
||||
this.$message.success(this.$t('operationSuccessful'))
|
||||
if (!this.model.id) {
|
||||
// 没有id,是新增会返回id,用于下方表格处理
|
||||
this.model = Object.assign({}, values)
|
||||
// this.model = Object.assign({}, values)
|
||||
this.model.id = res.message
|
||||
this.filters.manifestId = this.model.id
|
||||
// 更新清单编号
|
||||
this.initData(this.model.id)
|
||||
}
|
||||
// 更新清单编号
|
||||
this.initData(this.model.id)
|
||||
this.showList = true
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
@@ -626,7 +657,7 @@ export default {
|
||||
form.newProductImplDate = result.new_product_impl_date // 新生产车实施日期
|
||||
form.newAuthImplDate = result.new_auth_impl_date // 新认证车实施日期
|
||||
form.registrationDate = result.registration_date // 注册日期
|
||||
form.country = this.model.country.map(item => item.value).join(',') // 适用市场,带入清单基本信息的国家/地区
|
||||
form.country = this.model.country.map(item => item.value).join(',') // 适用市场,带入清单基本信息的适用市场
|
||||
form.mainDept = result.main_dept // 主控部门
|
||||
form.mainDeptProfMode = result.main_dept_prof_mode || undefined // 主控部门专业模块
|
||||
form.associateDept = result.associate_dept // 关联部门
|
||||
@@ -715,4 +746,16 @@ export default {
|
||||
z-index: 999;
|
||||
}
|
||||
}
|
||||
|
||||
/deep/.block-form-item{
|
||||
clear: both;
|
||||
.ant-form-item-children {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
input {
|
||||
flex: 1;
|
||||
margin: 0 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<!-- 国家/地区 -->
|
||||
<!-- 适用市场 -->
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item :label="$t('standardRegulationLibrary.marketRegulationsList.countryRegion')">
|
||||
<a-tree-select
|
||||
@@ -148,7 +148,7 @@ export default {
|
||||
return {
|
||||
countryOptions: [], // 国家下拉选择
|
||||
columns: [
|
||||
{ // 国家/地区
|
||||
{ // 适用市场
|
||||
title: this.$t('standardRegulationLibrary.marketRegulationsList.countryRegion'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
|
||||
+1
@@ -85,6 +85,7 @@
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('standardRegulationLibrary.marketListField.mainControlDepartment')">
|
||||
<j-select-depart :placeholder="$t('pleaseSelect') + $t('standardRegulationLibrary.marketListField.mainControlDepartment')"
|
||||
:backDepart="true"
|
||||
:multi="true"
|
||||
v-decorator.trim="[ 'mainDept', validatorRules.mainDept ]" />
|
||||
</a-form-item>
|
||||
<!-- 主控部门专业模块 -->
|
||||
|
||||
@@ -180,7 +180,7 @@ export default {
|
||||
}
|
||||
return filterObj(param)
|
||||
},
|
||||
// 获取国家/地区下拉数据
|
||||
// 获取适用市场下拉数据
|
||||
getCountryOption () {
|
||||
getFormDictTreeList({ dictId: '1801130851452059649' }).then(res => {
|
||||
if (res.success) {
|
||||
|
||||
@@ -40,6 +40,15 @@
|
||||
<a-input :placeholder="$t('pleaseEnter') + $t('dict.dataValue')" v-model="model.itemValue" :maxLength="50" />
|
||||
</a-form-model-item>
|
||||
|
||||
<!-- 英文简称 -->
|
||||
<a-form-model-item
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
prop="enBase"
|
||||
:label="$t('dict.englishAbbreviation')">
|
||||
<a-input :placeholder="$t('pleaseEnter') + $t('dict.englishAbbreviation')" v-model="model.enBase" :maxLength="50" />
|
||||
</a-form-model-item>
|
||||
|
||||
<a-form-model-item
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
|
||||
@@ -54,6 +54,14 @@
|
||||
/>
|
||||
</a-form-model-item>
|
||||
|
||||
<!-- 英文简称 -->
|
||||
<a-form-model-item prop="enBase" :label="$t('dict.englishAbbreviation')">
|
||||
<a-input
|
||||
:placeholder="$t('pleaseEnter') + $t('dict.englishAbbreviation')"
|
||||
v-model="model.enBase"
|
||||
:maxLength="50" />
|
||||
</a-form-model-item>
|
||||
|
||||
<a-form-model-item :label="$t('description')">
|
||||
<a-input :maxLength="50"
|
||||
v-model="model.description"
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
v-decorator="['manifestName', validatorRules.manifestName]" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- 国家/地区 -->
|
||||
<!-- 适用市场 -->
|
||||
<a-col :span="24">
|
||||
<a-form-item
|
||||
:labelCol="$i18n.locale === EN ? longLabelColEn : longLabelCol"
|
||||
@@ -113,6 +113,15 @@
|
||||
placeholder=""/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- 附件 -->
|
||||
<a-col :span="24">
|
||||
<a-form-item
|
||||
:labelCol="$i18n.locale === EN ? longLabelColEn : longLabelCol"
|
||||
:wrapperCol="$i18n.locale === EN ? longWrapperColEn : longWrapperCol"
|
||||
:label="$t('attach')" :colon="formItemColon">
|
||||
<j-upload v-decorator="['file']" disabled />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</template>
|
||||
</a-row>
|
||||
</a-form>
|
||||
@@ -152,7 +161,7 @@
|
||||
<!-- 操作按钮 -->
|
||||
<div v-if="!isLook" class="detail-page-bottom-operate-box">
|
||||
<!-- 加签 -->
|
||||
<a-button v-if="$route.query.countersignFlag + '' === '1'" type="primary" ghost :loading="loading" @click="handleAddSign" icon="plus">{{ $t('countersign') }}</a-button>
|
||||
<a-button v-if="showCountersign" type="primary" ghost :loading="loading" @click="handleAddSign" icon="plus">{{ $t('countersign') }}</a-button>
|
||||
<!-- 发起节点 -->
|
||||
<template v-if="currentNode === 1">
|
||||
<!-- 保存 -->
|
||||
@@ -202,10 +211,12 @@ import pick from 'lodash.pick'
|
||||
import { WorkCenterMixin } from '@/mixins/WorkCenterMixin'
|
||||
import { getFormDictTreeList } from '../../../api/api'
|
||||
import STreeSelect from '../../../components/STreeSelect'
|
||||
import FileEcho from '../../../components/FileEcho'
|
||||
|
||||
export default {
|
||||
name: 'MarketListReleaseProcess',
|
||||
components: {
|
||||
FileEcho,
|
||||
BaseInfoForm,
|
||||
InternalDetailPage,
|
||||
ProcessDetailList,
|
||||
@@ -220,7 +231,7 @@ export default {
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
// 获取国家/地区下拉数据
|
||||
// 获取适用市场下拉数据
|
||||
this.getCountryOption()
|
||||
// 初始化节点
|
||||
const nodeId = this.$route.query.nodeId
|
||||
@@ -350,12 +361,12 @@ export default {
|
||||
formInline: {},
|
||||
approvalInfoForm: this.$form.createForm(this), // 审批信息表单
|
||||
personnelInfoData: [],
|
||||
countryOptions: [], // 国家/地区下拉框
|
||||
countryOptions: [], // 适用市场下拉框
|
||||
isLook: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 获取国家/地区下拉框数据
|
||||
// 获取适用市场下拉框数据
|
||||
getCountryOption () {
|
||||
getFormDictTreeList({ dictId: '1801130851452059649' }).then(res => {
|
||||
if (res.success) {
|
||||
@@ -394,11 +405,13 @@ export default {
|
||||
processInfo.manifestName = this.model.businessInfoDTO.manifestName
|
||||
// 清单说明
|
||||
processInfo.manifestDesc = this.model.businessInfoDTO.manifestDesc
|
||||
// 国家/地区
|
||||
// 适用市场
|
||||
processInfo.country = this.model.businessInfoDTO.country.split(',').map(item => {
|
||||
return { value: item }
|
||||
})
|
||||
this.processInfoForm.setFieldsValue(pick(processInfo, 'processName', 'processDueDate', 'processDescription', 'manifestNo', 'manifestName', 'country', 'manifestDesc'))
|
||||
// 附件
|
||||
processInfo.file = this.model.businessInfoDTO.file
|
||||
this.processInfoForm.setFieldsValue(pick(processInfo, 'processName', 'processDueDate', 'processDescription', 'manifestNo', 'manifestName', 'country', 'manifestDesc', 'file'))
|
||||
}
|
||||
}
|
||||
// 有草稿json按草稿进来的回显
|
||||
@@ -415,11 +428,13 @@ export default {
|
||||
processInfo.manifestName = this.draftModel.businessInfoDTO.manifestName
|
||||
// 清单说明
|
||||
processInfo.manifestDesc = this.draftModel.businessInfoDTO.manifestDesc
|
||||
// 国家/地区
|
||||
// 适用市场
|
||||
processInfo.country = this.draftModel.businessInfoDTO.country.split(',').map(item => {
|
||||
return { value: item }
|
||||
})
|
||||
this.processInfoForm.setFieldsValue(pick(processInfo, 'processName', 'processDueDate', 'processDescription', 'manifestNo', 'manifestName', 'country', 'manifestDesc'))
|
||||
// 附件
|
||||
processInfo.file = this.draftModel.businessInfoDTO.file
|
||||
this.processInfoForm.setFieldsValue(pick(processInfo, 'processName', 'processDueDate', 'processDescription', 'manifestNo', 'manifestName', 'country', 'manifestDesc', 'file'))
|
||||
}
|
||||
// 初始化流程审批信息
|
||||
this.approvalInfoForm.setFieldsValue(pick(this.draftModel.basicTaskInfoDTO, 'handleText', 'handleFile'))
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
:placeholder="disabled ? '' : $t('autoTakeout')" />
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
<!-- 国家/地区 -->
|
||||
<!-- 适用市场 -->
|
||||
<div class="box-title-text form-flex-item form-flex-item-half">
|
||||
<div class="title-text title-text-long">
|
||||
<span class="title-text-text" :title="$t('countryRegion')">
|
||||
@@ -71,6 +71,20 @@
|
||||
:placeholder="disabled ? '' : $t('autoTakeout')" />
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
<!-- 附件 -->
|
||||
<div class="box-title-text form-flex-item form-flex-item-half form-flex-item-all">
|
||||
<div class="title-text title-text-long">
|
||||
<span class="title-text-text" :title="$t('attach')">
|
||||
{{ $t('attach') }}
|
||||
</span>
|
||||
</div>
|
||||
<a-form-model-item class="item-model" prop="file">
|
||||
<j-upload v-model="formInline.file"
|
||||
return-id
|
||||
multiple
|
||||
disabled/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</div>
|
||||
</a-form-model>
|
||||
|
||||
@@ -347,9 +361,11 @@ export default {
|
||||
formInline.manifestName = result.manifestName
|
||||
// 清单说明
|
||||
formInline.manifestDesc = result.manifestDesc
|
||||
// 附件
|
||||
formInline.file = result.file
|
||||
// 版本号
|
||||
formInline.manifestVersion = result.manifestVersion
|
||||
// 国家/地区
|
||||
// 适用市场
|
||||
if (result.country) {
|
||||
formInline.country = result.country.split(',').map(item => {
|
||||
return { value: item }
|
||||
@@ -458,9 +474,11 @@ export default {
|
||||
formInline.manifestName = result.manifestName
|
||||
// 清单说明
|
||||
formInline.manifestDesc = result.manifestDesc
|
||||
// 清单说明
|
||||
formInline.file = result.file
|
||||
// 版本号
|
||||
formInline.manifestVersion = result.manifestVersion
|
||||
// 国家/地区
|
||||
// 适用市场
|
||||
if (result.country) {
|
||||
formInline.country = result.country.split(',').map(item => {
|
||||
return { value: item }
|
||||
|
||||
+1
-1
@@ -100,7 +100,7 @@
|
||||
<!-- 操作按钮 -->
|
||||
<div v-if="!isLook" class="detail-page-bottom-operate-box">
|
||||
<!-- 加签 -->
|
||||
<a-button v-if="$route.query.countersignFlag + '' === '1'" type="primary" ghost :loading="loading" @click="handleAddSign" icon="plus">{{ $t('countersign') }}</a-button>
|
||||
<a-button v-if="showCountersign" type="primary" ghost :loading="loading" @click="handleAddSign" icon="plus">{{ $t('countersign') }}</a-button>
|
||||
<!-- 发起节点 -->
|
||||
<template v-if="currentNode === 1">
|
||||
<!-- 保存 -->
|
||||
|
||||
+1
-1
@@ -128,7 +128,7 @@
|
||||
<!-- 操作按钮 -->
|
||||
<div v-if="!isLook" class="detail-page-bottom-operate-box">
|
||||
<!-- 加签 -->
|
||||
<a-button v-if="$route.query.countersignFlag + '' === '1'" type="primary" ghost :loading="loading" @click="handleAddSign" icon="plus">{{ $t('countersign') }}</a-button>
|
||||
<a-button v-if="showCountersign" type="primary" ghost :loading="loading" @click="handleAddSign" icon="plus">{{ $t('countersign') }}</a-button>
|
||||
<!-- 发起节点 -->
|
||||
<template v-if="currentNode === 1">
|
||||
<!-- 保存 -->
|
||||
|
||||
+61
-36
@@ -50,6 +50,7 @@
|
||||
<script>
|
||||
import JExpandTable from '@/components/JExpandTable'
|
||||
import SplitClauseDetail from '../../../documentTool/documentSplit/modules/SplitClauseDetail'
|
||||
import { EvaluationResult } from '../../../../enums/commonEnums'
|
||||
|
||||
export default {
|
||||
name: 'DesignEngineerEvaluation',
|
||||
@@ -152,12 +153,32 @@ export default {
|
||||
commonalityCost: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'), trigger: 'blur' },
|
||||
// 不满足要求的现状
|
||||
unsatisfiedRequire: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'), trigger: 'blur' },
|
||||
// 辅助说明材料
|
||||
unsatisfiedRequireAttach: { required: false, message: this.$t('pleaseSelect') + this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'), trigger: 'change' },
|
||||
// 整改方案
|
||||
correctionSolution: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'), trigger: 'blur' },
|
||||
// 与其他项目共用性
|
||||
commonality: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'), trigger: 'blur' }
|
||||
},
|
||||
formArr: [
|
||||
{ // 不满足要求的现状
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'unsatisfiedRequire'
|
||||
},
|
||||
{ // 辅助说明材料
|
||||
fieldShowType: 2,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'),
|
||||
fieldMustInput: false,
|
||||
dbFieldName: 'unsatisfiedRequireAttach'
|
||||
},
|
||||
{ // 整改方案
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'correctionSolution'
|
||||
},
|
||||
{ // 整改周期
|
||||
fieldShowType: 4,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationCycle'),
|
||||
@@ -170,29 +191,17 @@ export default {
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'correctionCost'
|
||||
},
|
||||
{ // 共用后本项目所需费用
|
||||
fieldShowType: 4,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'commonalityCost'
|
||||
},
|
||||
{ // 不满足要求的现状
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'unsatisfiedRequire'
|
||||
},
|
||||
{ // 整改方案
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'correctionSolution'
|
||||
},
|
||||
{ // 与其他项目共用性
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'commonality'
|
||||
},
|
||||
{ // 共用后本项目所需费用
|
||||
fieldShowType: 4,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'commonalityCost'
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -226,12 +235,32 @@ export default {
|
||||
commonalityCost: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'), trigger: 'blur' },
|
||||
// 不满足要求的现状
|
||||
unsatisfiedRequire: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'), trigger: 'blur' },
|
||||
// 辅助说明材料
|
||||
unsatisfiedRequireAttach: { required: false, message: this.$t('pleaseSelect') + this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'), trigger: 'change' },
|
||||
// 整改方案
|
||||
correctionSolution: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'), trigger: 'blur' },
|
||||
// 与其他项目共用性
|
||||
commonality: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'), trigger: 'blur' }
|
||||
},
|
||||
formArr: [
|
||||
{ // 不满足要求的现状
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'unsatisfiedRequire'
|
||||
},
|
||||
{ // 辅助说明材料
|
||||
fieldShowType: 2,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'),
|
||||
fieldMustInput: false,
|
||||
dbFieldName: 'unsatisfiedRequireAttach'
|
||||
},
|
||||
{ // 整改方案
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'correctionSolution'
|
||||
},
|
||||
{ // 整改周期
|
||||
fieldShowType: 4,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationCycle'),
|
||||
@@ -244,29 +273,17 @@ export default {
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'correctionCost'
|
||||
},
|
||||
{ // 共用后本项目所需费用
|
||||
fieldShowType: 4,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'commonalityCost'
|
||||
},
|
||||
{ // 不满足要求的现状
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'unsatisfiedRequire'
|
||||
},
|
||||
{ // 整改方案
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'correctionSolution'
|
||||
},
|
||||
{ // 与其他项目共用性
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'commonality'
|
||||
},
|
||||
{ // 共用后本项目所需费用
|
||||
fieldShowType: 4,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'commonalityCost'
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -318,6 +335,14 @@ export default {
|
||||
},
|
||||
// 评估结果改变,清空备注和佐证材料,不满足要求的现状,整改方案,整改周期,整改费用,与其他项目共用性,共用后本项目所需费用
|
||||
resultChange (record) {
|
||||
if ([EvaluationResult.INCONFORMITY.value, EvaluationResult.TO_BE_VERIFIED.value].includes(record.result)) {
|
||||
// 选中的是不符合或者待验证自动展开扩展区
|
||||
const rowKey = this.$refs.expandTable.rowKey
|
||||
if (!this.$refs.expandTable.expandedRowKeys.includes(record[rowKey])) {
|
||||
// 表格展开中没有该列,加到展开项中
|
||||
this.$refs.expandTable.expandedRowKeys.push(record[rowKey])
|
||||
}
|
||||
}
|
||||
const index = this.dataSource.findIndex(item => item.id === record.id)
|
||||
this.dataSource[index].remark = ''
|
||||
this.dataSource[index].material = ''
|
||||
|
||||
+36
-11
@@ -109,14 +109,24 @@
|
||||
</span>
|
||||
</div>
|
||||
<a-form-model-item class="item-model" prop="applicableMarket">
|
||||
<market-regulations-list-selection
|
||||
v-model="formInline.applicableMarket"
|
||||
type="radio"
|
||||
@numberChange="marketRegulationNumberChange"
|
||||
:name-str="formInline.applicableMarketNo"
|
||||
:disabled="isRejectedData"
|
||||
selectOnly
|
||||
:placeholder="$t('pleaseSelect')+$t('applicableMarket')" />
|
||||
<s-tree-select
|
||||
v-model="formInline.applicableMarket"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
style="width: 100%"
|
||||
:tree-data="countryOptions"
|
||||
tree-checkable
|
||||
treeCheckStrictly
|
||||
:disabled="isRejectedData"
|
||||
:replaceFields="{title: isChinese() ? 'title' : 'enTitle'}"
|
||||
:placeholder="$t('pleaseSelect')+$t('applicableMarket')" />
|
||||
<!--<market-regulations-list-selection-->
|
||||
<!-- v-model="formInline.applicableMarket"-->
|
||||
<!-- type="radio"-->
|
||||
<!-- @numberChange="marketRegulationNumberChange"-->
|
||||
<!-- :name-str="formInline.applicableMarketNo"-->
|
||||
<!-- :disabled="isRejectedData"-->
|
||||
<!-- selectOnly-->
|
||||
<!-- :placeholder="$t('pleaseSelect')+$t('applicableMarket')" />-->
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
<!-- 是否与上一版相同,是添加标准的新增的数据并且分解单来源不是不带入时显示 -->
|
||||
@@ -266,6 +276,9 @@ import { getFileAccessHttpUrl, downloadFile } from '@/api/manage'
|
||||
import { kkFilePreview } from '@/utils/kkFilePreview'
|
||||
import SplitClauseDetail from '../../../documentTool/documentSplit/modules/SplitClauseDetail'
|
||||
import JUploadImport from '../../../../components/JUploadImport'
|
||||
// import { marketRegulationGetListNumber } from '../../../../api/standardRegulationLibraryApi'
|
||||
import STreeSelect from '@/components/STreeSelect'
|
||||
|
||||
|
||||
const FILE_TYPE_IMGS = ['jpg', 'jpeg', 'png', 'raw']
|
||||
const FILE_TYPE_PDF = 'pdf'
|
||||
@@ -279,7 +292,8 @@ const uidGenerator = () => {
|
||||
export default {
|
||||
name: 'EngineerInitBaseInfo',
|
||||
components: {
|
||||
MarketRegulationsListSelection,
|
||||
STreeSelect,
|
||||
// MarketRegulationsListSelection,
|
||||
JTable,
|
||||
ManualAddModal,
|
||||
StandardSelectionModal,
|
||||
@@ -513,8 +527,13 @@ export default {
|
||||
}
|
||||
const formInline = {}
|
||||
formInline.modelFile = data.standardInfo.modelFile
|
||||
formInline.applicableMarket = data.standardInfo.applicableMarket
|
||||
formInline.applicableMarketNo = data.standardInfo.applicableMarketNo
|
||||
if (data.standardInfo.applicableMarket) {
|
||||
formInline.applicableMarket = data.standardInfo.applicableMarket.split(',').map(item => {
|
||||
return { value: item }
|
||||
})
|
||||
}
|
||||
// formInline.applicableMarket = data.standardInfo.applicableMarket
|
||||
// formInline.applicableMarketNo = data.standardInfo.applicableMarketNo
|
||||
formInline.isSameLastVersion = data.standardInfo.isSameLastVersion
|
||||
this.formInline = Object.assign({}, formInline)
|
||||
if (data.detailInfoList && data.detailInfoList.length > 0) {
|
||||
@@ -534,6 +553,8 @@ export default {
|
||||
// 组合businessInfoDTO,抛出
|
||||
const data = {}
|
||||
data.standardInfo = Object.assign({}, this.standardDataSource[0], this.formInline)
|
||||
// 处理适用市场的格式
|
||||
data.standardInfo.applicableMarket = data.standardInfo.applicableMarket.map(item => item.value).join(',')
|
||||
// 更换标准后是否重新生成了,保存json的时候存一下,防止保存之前改了标准,再次办理的时候直接提交校验不到改了标准
|
||||
data.isChangeStandardAfterClickGenerate = this.isChangeStandardAfterClickGenerate ? '1' : '0'
|
||||
data.detailInfoList = JSON.parse(JSON.stringify(this.dataList))
|
||||
@@ -555,6 +576,8 @@ export default {
|
||||
data = false
|
||||
} else {
|
||||
data.standardInfo = Object.assign({}, this.standardDataSource[0], this.formInline)
|
||||
// 处理适用市场的格式
|
||||
data.standardInfo.applicableMarket = data.standardInfo.applicableMarket.map(item => item.value).join(',')
|
||||
data.detailInfoList = JSON.parse(JSON.stringify(this.dataList))
|
||||
}
|
||||
} else {
|
||||
@@ -733,6 +756,8 @@ export default {
|
||||
if ((param.standardId && param.splitFileSource === DecompositionSource.NO_INPUT.value) || !param.standardId) {
|
||||
param.isSameLastVersion = undefined
|
||||
}
|
||||
// 处理适用市场的格式
|
||||
param.applicableMarket = param.applicableMarket.map(item => item.value).join(',')
|
||||
regulatoryComplianceCheckGenerate(param).then(res => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message)
|
||||
|
||||
+16
-3
@@ -24,9 +24,15 @@
|
||||
<div class="table-text" v-else>{{ global.emptyLine }}</div>
|
||||
</template>
|
||||
|
||||
<!-- 辅助说明材料 -->
|
||||
<template v-slot:unsatisfiedRequireAttach="{text, record}">
|
||||
<a v-if="text" class="link-a" @click="handleFileClick(record, 'unsatisfiedRequireAttach')">{{ $t('view') }}</a>
|
||||
<div v-else class="table-text">{{ global.emptyLine }}</div>
|
||||
</template>
|
||||
|
||||
<!-- 佐证材料 -->
|
||||
<template v-slot:material="{text, record}">
|
||||
<a v-if="text" class="link-a" @click="handleMaterialClick(record)">{{ $t('view') }}</a>
|
||||
<a v-if="text" class="link-a" @click="handleFileClick(record, 'material')">{{ $t('view') }}</a>
|
||||
<div v-else class="table-text">{{ global.emptyLine }}</div>
|
||||
</template>
|
||||
|
||||
@@ -132,6 +138,13 @@ export default {
|
||||
dataIndex: 'unsatisfiedRequire',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 辅助说明材料
|
||||
title: this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'unsatisfiedRequireAttach',
|
||||
scopedSlots: { customRender: 'unsatisfiedRequireAttach' }
|
||||
},
|
||||
{ // 整改方案
|
||||
title: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
|
||||
align: 'center',
|
||||
@@ -209,8 +222,8 @@ export default {
|
||||
data.detailInfoList = JSON.parse(JSON.stringify(this.dataSource))
|
||||
return data
|
||||
},
|
||||
handleMaterialClick (record) {
|
||||
this.$refs.uploadFile.open(record.material)
|
||||
handleFileClick (record, fieldName) {
|
||||
this.$refs.uploadFile.open(record[fieldName])
|
||||
},
|
||||
handleTableChange (pagination, filters, sorter) {
|
||||
// 分页、排序、筛选变化时触发
|
||||
|
||||
+16
-3
@@ -31,9 +31,15 @@
|
||||
<div class="table-text" v-else>{{ global.emptyLine }}</div>
|
||||
</template>
|
||||
|
||||
<!-- 辅助说明材料 -->
|
||||
<template v-slot:unsatisfiedRequireAttach="{text, record}">
|
||||
<a v-if="text" class="link-a" @click="handleFileClick(record, 'unsatisfiedRequireAttach')">{{ $t('view') }}</a>
|
||||
<div v-else class="table-text">{{ global.emptyLine }}</div>
|
||||
</template>
|
||||
|
||||
<!-- 佐证材料 -->
|
||||
<template v-slot:material="{text, record}">
|
||||
<a v-if="text" class="link-a" @click="handleMaterialClick(record)">{{ $t('view') }}</a>
|
||||
<a v-if="text" class="link-a" @click="handleFileClick(record, 'material')">{{ $t('view') }}</a>
|
||||
<div v-else class="table-text">{{ global.emptyLine }}</div>
|
||||
</template>
|
||||
|
||||
@@ -223,6 +229,13 @@ export default {
|
||||
dataIndex: 'unsatisfiedRequire',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 辅助说明材料
|
||||
title: this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'unsatisfiedRequireAttach',
|
||||
scopedSlots: { customRender: 'unsatisfiedRequireAttach' }
|
||||
},
|
||||
{ // 整改方案
|
||||
title: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
|
||||
align: 'center',
|
||||
@@ -345,8 +358,8 @@ export default {
|
||||
handleTableChange (pagination) {
|
||||
this.ipagination = pagination
|
||||
},
|
||||
handleMaterialClick (record) {
|
||||
this.$refs.uploadFile.open(record.material)
|
||||
handleFileClick (record, fieldName) {
|
||||
this.$refs.uploadFile.open(record[fieldName])
|
||||
},
|
||||
handleExportXls (fileName, fileSuffix = '.xls') {
|
||||
if (!fileName || typeof fileName !== 'string') {
|
||||
|
||||
+31
-21
@@ -30,6 +30,28 @@
|
||||
</a-form-item>
|
||||
<!-- 不符合和待验证 -->
|
||||
<template v-if="[EvaluationResult.INCONFORMITY.value, EvaluationResult.TO_BE_VERIFIED.value].includes(model.result)">
|
||||
<!-- 不满足要求的现状 -->
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements')">
|
||||
<a-textarea :placeholder="$t('pleaseEnter') + $t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements')"
|
||||
:maxLength="500"
|
||||
:autoSize="{minRows: 4, maxRows: 6}"
|
||||
v-decorator="['unsatisfiedRequire', validatorRules.unsatisfiedRequire]" />
|
||||
</a-form-item>
|
||||
<!-- 辅助说明材料 -->
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial')">
|
||||
<j-upload :placeholder="$t('pleaseEnter') + $t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial')"
|
||||
return-id
|
||||
multiple
|
||||
:file-type="canUploadType"
|
||||
v-decorator="['unsatisfiedRequireAttach', validatorRules.unsatisfiedRequireAttach]" />
|
||||
</a-form-item>
|
||||
<!-- 整改方案 -->
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan')">
|
||||
<a-textarea :placeholder="$t('pleaseEnter') + $t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan')"
|
||||
:maxLength="500"
|
||||
:autoSize="{minRows: 4, maxRows: 6}"
|
||||
v-decorator="['correctionSolution', validatorRules.correctionSolution]" />
|
||||
</a-form-item>
|
||||
<!-- 整改周期 -->
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('workCenter.regulatoryComplianceCheckProcess.rectificationCycle')">
|
||||
<a-input :placeholder="$t('pleaseEnter') + $t('workCenter.regulatoryComplianceCheckProcess.rectificationCycle')"
|
||||
@@ -42,26 +64,6 @@
|
||||
:maxLength="50"
|
||||
v-decorator="['correctionCost', validatorRules.correctionCost]" />
|
||||
</a-form-item>
|
||||
<!-- 共用后本项目所需费用 -->
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing')">
|
||||
<a-input :placeholder="$t('pleaseEnter') + $t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing')"
|
||||
:maxLength="50"
|
||||
v-decorator="['commonalityCost', validatorRules.commonalityCost]" />
|
||||
</a-form-item>
|
||||
<!-- 不满足要求的现状 -->
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements')">
|
||||
<a-textarea :placeholder="$t('pleaseEnter') + $t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements')"
|
||||
:maxLength="500"
|
||||
:autoSize="{minRows: 4, maxRows: 6}"
|
||||
v-decorator="['unsatisfiedRequire', validatorRules.unsatisfiedRequire]" />
|
||||
</a-form-item>
|
||||
<!-- 整改方案 -->
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan')">
|
||||
<a-textarea :placeholder="$t('pleaseEnter') + $t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan')"
|
||||
:maxLength="500"
|
||||
:autoSize="{minRows: 4, maxRows: 6}"
|
||||
v-decorator="['correctionSolution', validatorRules.correctionSolution]" />
|
||||
</a-form-item>
|
||||
<!-- 与其他项目共用性 -->
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects')">
|
||||
<a-textarea :placeholder="$t('pleaseEnter') + $t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects')"
|
||||
@@ -69,6 +71,12 @@
|
||||
:autoSize="{minRows: 4, maxRows: 6}"
|
||||
v-decorator="['commonality', validatorRules.commonality]" />
|
||||
</a-form-item>
|
||||
<!-- 共用后本项目所需费用 -->
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing')">
|
||||
<a-input :placeholder="$t('pleaseEnter') + $t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing')"
|
||||
:maxLength="50"
|
||||
v-decorator="['commonalityCost', validatorRules.commonalityCost]" />
|
||||
</a-form-item>
|
||||
</template>
|
||||
<!-- 符合和不涉及 -->
|
||||
<template v-else-if="[EvaluationResult.CONFORM_TO.value, EvaluationResult.NOT_INVOLVE.value].includes(model.result)">
|
||||
@@ -156,7 +164,9 @@ export default {
|
||||
rules: [{ required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing') }],
|
||||
validateTrigger: 'blur'
|
||||
}
|
||||
}
|
||||
},
|
||||
// 本系统限制可以上传的文件格式
|
||||
canUploadType: 'pdf,docx,doc,xlsx,xls,ppt,pptx,jpg,jpeg,png'
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
+61
-36
@@ -198,6 +198,7 @@ import { ACCESS_TOKEN, TENANT_ID } from '@/store/mutation-types'
|
||||
import store from '@/store'
|
||||
import { downFile } from '../../../../api/manage'
|
||||
import SplitClauseDetail from '../../../documentTool/documentSplit/modules/SplitClauseDetail'
|
||||
import { EvaluationResult } from '../../../../enums/commonEnums'
|
||||
|
||||
// 导入的加载提示
|
||||
let importModalLoading
|
||||
@@ -428,12 +429,32 @@ export default {
|
||||
commonalityCost: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'), trigger: 'blur' },
|
||||
// 不满足要求的现状
|
||||
unsatisfiedRequire: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'), trigger: 'blur' },
|
||||
// 辅助说明材料
|
||||
unsatisfiedRequireAttach: { required: false, message: this.$t('pleaseSelect') + this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'), trigger: 'change' },
|
||||
// 整改方案
|
||||
correctionSolution: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'), trigger: 'blur' },
|
||||
// 与其他项目共用性
|
||||
commonality: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'), trigger: 'blur' }
|
||||
},
|
||||
formArr: [
|
||||
{ // 不满足要求的现状
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'unsatisfiedRequire'
|
||||
},
|
||||
{ // 辅助说明材料
|
||||
fieldShowType: 2,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'unsatisfiedRequireAttach'
|
||||
},
|
||||
{ // 整改方案
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'correctionSolution'
|
||||
},
|
||||
{ // 整改周期
|
||||
fieldShowType: 4,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationCycle'),
|
||||
@@ -446,29 +467,17 @@ export default {
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'correctionCost'
|
||||
},
|
||||
{ // 共用后本项目所需费用
|
||||
fieldShowType: 4,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'commonalityCost'
|
||||
},
|
||||
{ // 不满足要求的现状
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'unsatisfiedRequire'
|
||||
},
|
||||
{ // 整改方案
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'correctionSolution'
|
||||
},
|
||||
{ // 与其他项目共用性
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'commonality'
|
||||
},
|
||||
{ // 共用后本项目所需费用
|
||||
fieldShowType: 4,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'commonalityCost'
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -502,12 +511,32 @@ export default {
|
||||
commonalityCost: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'), trigger: 'blur' },
|
||||
// 不满足要求的现状
|
||||
unsatisfiedRequire: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'), trigger: 'blur' },
|
||||
// 辅助说明材料
|
||||
unsatisfiedRequireAttach: { required: false, message: this.$t('pleaseSelect') + this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'), trigger: 'change' },
|
||||
// 整改方案
|
||||
correctionSolution: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'), trigger: 'blur' },
|
||||
// 与其他项目共用性
|
||||
commonality: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'), trigger: 'blur' }
|
||||
},
|
||||
formArr: [
|
||||
{ // 不满足要求的现状
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'unsatisfiedRequire'
|
||||
},
|
||||
{ // 辅助说明材料
|
||||
fieldShowType: 2,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'),
|
||||
fieldMustInput: false,
|
||||
dbFieldName: 'unsatisfiedRequireAttach'
|
||||
},
|
||||
{ // 整改方案
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'correctionSolution'
|
||||
},
|
||||
{ // 整改周期
|
||||
fieldShowType: 4,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationCycle'),
|
||||
@@ -520,29 +549,17 @@ export default {
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'correctionCost'
|
||||
},
|
||||
{ // 共用后本项目所需费用
|
||||
fieldShowType: 4,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'commonalityCost'
|
||||
},
|
||||
{ // 不满足要求的现状
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'unsatisfiedRequire'
|
||||
},
|
||||
{ // 整改方案
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'correctionSolution'
|
||||
},
|
||||
{ // 与其他项目共用性
|
||||
fieldShowType: 1,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'commonality'
|
||||
},
|
||||
{ // 共用后本项目所需费用
|
||||
fieldShowType: 4,
|
||||
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
|
||||
fieldMustInput: true,
|
||||
dbFieldName: 'commonalityCost'
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -702,6 +719,14 @@ export default {
|
||||
},
|
||||
// 评估结果改变,清空备注和佐证材料,不满足要求的现状,整改方案,整改周期,整改费用,与其他项目共用性,共用后本项目所需费用
|
||||
resultChange (record) {
|
||||
if ([EvaluationResult.INCONFORMITY.value, EvaluationResult.TO_BE_VERIFIED.value].includes(record.result)) {
|
||||
// 选中的是不符合或者待验证自动展开扩展区
|
||||
const rowKey = this.$refs.expandTable.rowKey
|
||||
if (!this.$refs.expandTable.expandedRowKeys.includes(record[rowKey])) {
|
||||
// 表格展开中没有该列,加到展开项中
|
||||
this.$refs.expandTable.expandedRowKeys.push(record[rowKey])
|
||||
}
|
||||
}
|
||||
const index = this.dataSourceEvaluate.findIndex(item => item.id === record.id)
|
||||
this.dataSourceEvaluate[index].remark = ''
|
||||
this.dataSourceEvaluate[index].material = ''
|
||||
|
||||
+16
-3
@@ -24,9 +24,15 @@
|
||||
<div class="table-text" v-else>{{ global.emptyLine }}</div>
|
||||
</template>
|
||||
|
||||
<!-- 辅助说明材料 -->
|
||||
<template v-slot:unsatisfiedRequireAttach="{text, record}">
|
||||
<a v-if="text" class="link-a" @click="handleFileClick(record, 'unsatisfiedRequireAttach')">{{ $t('view') }}</a>
|
||||
<div v-else class="table-text">{{ global.emptyLine }}</div>
|
||||
</template>
|
||||
|
||||
<!-- 佐证材料 -->
|
||||
<template v-slot:material="{text, record}">
|
||||
<a v-if="text" class="link-a" @click="handleMaterialClick(record)">{{ $t('view') }}</a>
|
||||
<a v-if="text" class="link-a" @click="handleFileClick(record, 'material')">{{ $t('view') }}</a>
|
||||
<div v-else class="table-text">{{ global.emptyLine }}</div>
|
||||
</template>
|
||||
|
||||
@@ -146,6 +152,13 @@ export default {
|
||||
dataIndex: 'unsatisfiedRequire',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 辅助说明材料
|
||||
title: this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'unsatisfiedRequireAttach',
|
||||
scopedSlots: { customRender: 'unsatisfiedRequireAttach' }
|
||||
},
|
||||
{ // 整改方案
|
||||
title: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
|
||||
align: 'center',
|
||||
@@ -226,8 +239,8 @@ export default {
|
||||
handleTableChange (pagination) {
|
||||
this.ipagination = pagination
|
||||
},
|
||||
handleMaterialClick (record) {
|
||||
this.$refs.uploadFile.open(record.material)
|
||||
handleFileClick (record, fieldName) {
|
||||
this.$refs.uploadFile.open(record[fieldName])
|
||||
},
|
||||
// 显示条款内容弹框
|
||||
showContent (val) {
|
||||
|
||||
+1
-1
@@ -112,7 +112,7 @@
|
||||
<!-- 操作按钮 -->
|
||||
<div class="detail-page-bottom-operate-box" v-if="!isLook">
|
||||
<!-- 加签 -->
|
||||
<a-button v-if="$route.query.countersignFlag + '' === '1'" type="primary" ghost :loading="loading" @click="handleCountersign" icon="plus">{{ $t('countersign') }}</a-button>
|
||||
<a-button v-if="showCountersign" type="primary" ghost :loading="loading" @click="handleCountersign" icon="plus">{{ $t('countersign') }}</a-button>
|
||||
<!-- 转办 -->
|
||||
<a-button v-if="btn.includes('transfer') && isPartialDistribution" type="primary" ghost :loading="loading" @click="handleTurnTo" icon="arrow-up">{{ $t('turnTo') }}</a-button>
|
||||
<!-- 保存 -->
|
||||
|
||||
-1
@@ -170,7 +170,6 @@
|
||||
:placeholder="$t('pleaseSelect')+$t('workCenter.standardInterpretationProcess.enterpriseStandards')"
|
||||
:disabled="disabled"
|
||||
:disabledSourceSearch="true"
|
||||
type="radio"
|
||||
selectOnly
|
||||
v-decorator="['enterpriseStandard']" />
|
||||
</a-form-item>
|
||||
|
||||
Reference in New Issue
Block a user