Merge branch 'master' into addTitleTranslation
This commit is contained in:
@@ -38,7 +38,7 @@
|
||||
9.新法规导入流程 —— src/views/workCenter/newRegulationIntroductionProcess/NewRegulationIntroductionProcess.vue
|
||||
10.标准解读流程 —— src/views/workCenter/standardInterpretationProcess/StandardInterpretationProcess.vue
|
||||
11.法规符合性排查流程 —— src/views/workCenter/regulatoryComplianceCheckProcess/RegulatoryComplianceCheckProcess.vue
|
||||
12.市场清单发布流程 —— src/views/workCenter/marketListReleaseProcess/MarketListReleaseProcess.vue
|
||||
12.市场法规清单发布流程 —— src/views/workCenter/marketListReleaseProcess/MarketListReleaseProcess.vue
|
||||
|
||||
六、资料中心 —— src/views/standardRegulationLibrary/profileCenter/ProfileCenterList.vue
|
||||
|
||||
|
||||
@@ -308,10 +308,10 @@
|
||||
`工作中心`
|
||||
------workCenter
|
||||
--------NewProcess.vue ————新建流程
|
||||
--------marketListReleaseProcess ————市场清单发布流程
|
||||
----------MarketListReleaseProcess.vue ————市场清单发布流程页面
|
||||
--------marketListReleaseProcess ————市场法规清单发布流程
|
||||
----------MarketListReleaseProcess.vue ————市场法规清单发布流程页面
|
||||
----------modules
|
||||
------------BaseInfoForm.vue ————市场清单发布流程业务基本信息部分
|
||||
------------BaseInfoForm.vue ————市场法规清单发布流程业务基本信息部分
|
||||
--------newRegulationIntroductionProcess ————新法规导入流程
|
||||
----------NewRegulationIntroductionProcess.vue ————新法规导入流程页面
|
||||
----------modules
|
||||
|
||||
@@ -50,7 +50,7 @@ const selectStandardFromSplit = (params) => getAction('', params)
|
||||
// 生成
|
||||
const regulatoryComplianceCheckGenerate = (params) => postAction('/process/standardComplianceCheck/generate', params)
|
||||
|
||||
// 市场清单发布流程
|
||||
// 市场法规清单发布流程
|
||||
// 保存
|
||||
const marketListReleaseSave = (params) => postAction('/process/marketStandardRelease/save', params)
|
||||
// 发起
|
||||
|
||||
@@ -172,6 +172,7 @@ module.exports = {
|
||||
mergeStandardInformation: 'Merge standard information',
|
||||
pleaseEnterPersonnelInfo: 'Please fill in the personnel information completely',
|
||||
pleaseEnterRemarks: 'Please fill in remarks',
|
||||
pleaseHandlingSuggestions: 'Please fill in the handling suggestion',
|
||||
lookDetail: 'View Details',
|
||||
batchReject: 'Batch Rejection',
|
||||
pleaseSelectDistributeData: 'Select the data you want to distribute',
|
||||
@@ -254,13 +255,14 @@ module.exports = {
|
||||
dataInfo: 'Data Information',
|
||||
updatePerson: 'Regenerator',
|
||||
updateTime: 'Update Time',
|
||||
handlingSuggestions: 'Handling Suggestions',
|
||||
// 标准字段
|
||||
standardField: {
|
||||
standardEnglishName: 'Regulation English Name',
|
||||
newProductionVehicleImplementationDate: 'New Certified Vehicle Implementation Date',
|
||||
newCertifiedVehicleImplementationDate: 'New Production Vehicle Implementation Date',
|
||||
dateOfRegistration: 'Registration Date',
|
||||
applicableCountryRegion: 'Country/Region',
|
||||
applicableCountryRegion: 'Applicable Market',
|
||||
applicableVehicleType: 'Vehicle Catagory'
|
||||
},
|
||||
// 树右键
|
||||
|
||||
@@ -87,7 +87,7 @@ module.exports = {
|
||||
newProductionVehicleImplementationDate: 'New Production Vehicle Implementation Date',
|
||||
newCertifiedVehicleImplementationDate: 'New Certified Vehicle Implementation Date',
|
||||
dateOfRegistration: 'Registration Date',
|
||||
applicableCountryRegion: 'Country/Region',
|
||||
applicableCountryRegion: 'Applicable Market',
|
||||
applicableVehicleType: 'Vehicle Catagory',
|
||||
authenticationObject: 'Certification Item',
|
||||
certifiedDeliverables: 'Verification',
|
||||
|
||||
@@ -87,7 +87,7 @@ module.exports = {
|
||||
newProductionVehicleImplementationDate: '新生产车实施日期',
|
||||
newCertifiedVehicleImplementationDate: '新认证车实施日期',
|
||||
dateOfRegistration: '注册日期',
|
||||
applicableCountryRegion: '适用国家/地区',
|
||||
applicableCountryRegion: '适用市场',
|
||||
applicableVehicleType: '适用车型',
|
||||
authenticationObject: '认证对象',
|
||||
certifiedDeliverables: '认证交付物',
|
||||
|
||||
@@ -59,12 +59,12 @@ module.exports = {
|
||||
pleaseSelectDesignEngineer: 'Please select Design Engineer',
|
||||
atLeastSelectOneDesignEngineer: 'Please select at least one design engineer'
|
||||
},
|
||||
// 市场清单发布流程
|
||||
// 市场法规清单发布流程
|
||||
marketListReleaseProcess: {
|
||||
englishName: 'English Name',
|
||||
newProductionVehicleImplementationDate: 'New Certified Vehicle Implementation Date',
|
||||
newCertifiedVehicleImplementationDate: 'New Production Vehicle Implementation Date',
|
||||
applicableCountryRegion: 'Country/Region',
|
||||
applicableCountryRegion: 'Applicable Market',
|
||||
applicableVehicleType: 'Vehicle Catagory',
|
||||
authenticationObject: 'Certification Item',
|
||||
certifiedDeliverables: 'Verification',
|
||||
@@ -111,7 +111,7 @@ module.exports = {
|
||||
technicalAgreementTemplate: 'Technical Agreement Template(s)',
|
||||
verificationReportTemplate: 'Checklist Template(s)',
|
||||
dvpTemplate: 'DVP Template(s)',
|
||||
dfema: 'DFEMA',
|
||||
dfema: 'DEFMA',
|
||||
specialListTemplate: 'Key Technology Breakdown Table',
|
||||
otherFilesOrTemplates: 'Other Files or Template(s)',
|
||||
investigationStage: 'Applicable Gate',
|
||||
|
||||
@@ -9,7 +9,7 @@ module.exports = {
|
||||
newRegulationIntroductionProcess: '新法规导入流程',
|
||||
standardInterpretationProcess: '标准解读流程',
|
||||
regulatoryComplianceCheckProcess: '法规符合性排查流程',
|
||||
marketListReleaseProcess: '市场清单发布流程'
|
||||
marketListReleaseProcess: '市场法规清单发布流程'
|
||||
},
|
||||
// 新法规导入流程
|
||||
newRegulationImportProcess: {
|
||||
@@ -59,12 +59,12 @@ module.exports = {
|
||||
pleaseSelectDesignEngineer: '请选择设计工程师',
|
||||
atLeastSelectOneDesignEngineer: '请至少选择一条数据的设计工程师'
|
||||
},
|
||||
// 市场清单发布流程
|
||||
// 市场法规清单发布流程
|
||||
marketListReleaseProcess: {
|
||||
englishName: '英文名称',
|
||||
newProductionVehicleImplementationDate: '新生产车实施日期',
|
||||
newCertifiedVehicleImplementationDate: '新认证车实施日期',
|
||||
applicableCountryRegion: '适用国家/地区',
|
||||
applicableCountryRegion: '适用市场',
|
||||
applicableVehicleType: '适用车型',
|
||||
authenticationObject: '认证对象',
|
||||
certifiedDeliverables: '认证交付物',
|
||||
@@ -111,7 +111,7 @@ module.exports = {
|
||||
technicalAgreementTemplate: '技术协议模板',
|
||||
verificationReportTemplate: '校核报告模板/checklist',
|
||||
dvpTemplate: 'DVP模板',
|
||||
dfema: 'DFEMA',
|
||||
dfema: 'DEFMA',
|
||||
specialListTemplate: '关键技术分解表',
|
||||
otherFilesOrTemplates: '其它文件或模板',
|
||||
investigationStage: '排查阶段',
|
||||
|
||||
@@ -172,6 +172,7 @@ module.exports = {
|
||||
mergeStandardInformation: '合并标准信息',
|
||||
pleaseEnterPersonnelInfo: '请完整填写人员信息',
|
||||
pleaseEnterRemarks: '请填写备注',
|
||||
pleaseHandlingSuggestions: '请填写处理意见',
|
||||
lookDetail: '查看详情',
|
||||
batchReject: '批量驳回',
|
||||
pleaseSelectDistributeData: '请选择要分发的数据',
|
||||
@@ -254,13 +255,14 @@ module.exports = {
|
||||
dataInfo: '数据信息',
|
||||
updatePerson: '更新人',
|
||||
updateTime: '更新时间',
|
||||
handlingSuggestions: '处理意见',
|
||||
// 标准字段
|
||||
standardField: {
|
||||
standardEnglishName: '标准英文名称',
|
||||
newProductionVehicleImplementationDate: '新生产车实施日期',
|
||||
newCertifiedVehicleImplementationDate: '新认证车实施日期',
|
||||
dateOfRegistration: '注册日期',
|
||||
applicableCountryRegion: '适用国家/地区',
|
||||
applicableCountryRegion: '适用市场',
|
||||
applicableVehicleType: '适用车型'
|
||||
},
|
||||
// 树右键
|
||||
|
||||
@@ -422,7 +422,7 @@ export default {
|
||||
case ProcessKey.REGULATORY_COMPLIANCE_CHECK.value:
|
||||
path = '/workCenter/RegulatoryComplianceCheckProcess'
|
||||
break
|
||||
// 市场清单发布流程
|
||||
// 市场法规清单发布流程
|
||||
case ProcessKey.MARKET_LIST_RELEASE.value:
|
||||
path = '/workCenter/MarketListReleaseProcess'
|
||||
break
|
||||
|
||||
@@ -223,7 +223,7 @@
|
||||
<!--查看上传文件-->
|
||||
<upload-file ref="uploadFile" :return-url="false" disabled />
|
||||
<div id="images">
|
||||
<div class="image" v-viewer="{movable: false}">
|
||||
<div class="image" v-viewer>
|
||||
<img v-show="false" :src="imageUrl" alt="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -138,7 +138,7 @@ export const ProcessKey = {
|
||||
STANDARD_INTERPRETATION_PROCESS: { text: 'standard_interpret', value: 'standard_interpret' },
|
||||
// 法规符合性排查流程
|
||||
REGULATORY_COMPLIANCE_CHECK: { text: 'laws-evaluation-main', value: 'laws-evaluation-main' },
|
||||
// 市场清单发布流程
|
||||
// 市场法规清单发布流程
|
||||
MARKET_LIST_RELEASE: { text: 'market_standard_publish', value: 'market_standard_publish' }
|
||||
}
|
||||
|
||||
@@ -150,8 +150,8 @@ export const ProcessType = {
|
||||
STANDARD_INTERPRETATION_PROCESS: { text: '标准解读流程', value: '2' },
|
||||
// 法规符合性排查流程
|
||||
REGULATORY_COMPLIANCE_CHECK: { text: '法规符合性排查流程', value: '3' },
|
||||
// 市场清单发布流程
|
||||
MARKET_LIST_RELEASE: { text: '市场清单发布流程', value: '4' }
|
||||
// 市场法规清单发布流程
|
||||
MARKET_LIST_RELEASE: { text: '市场法规清单发布流程', value: '4' }
|
||||
}
|
||||
|
||||
// 新法规导入流程节点
|
||||
@@ -177,7 +177,7 @@ export const RegulatoryComplianceCheckNodes = new EsEnums({
|
||||
mainFinderTwiceDistributes: { text: '主排查人分批下发(二次分发)', value: 'sid-3D1BFC0F-9074-4868-891F-2F76D00A21C7' }
|
||||
})
|
||||
|
||||
// 市场清单发布流程节点
|
||||
// 市场法规清单发布流程节点
|
||||
export const MarketListReleaseNodes = new EsEnums({
|
||||
initiated: { text: '法规工程师发起', value: 'SID-8B22BF1A-383D-48E0-B9C4-24DFFEA1C9D0' },
|
||||
countersign: { text: '会签', value: 'SID-3CBC410D-D866-4DCA-ACBC-5F667BC376E6' },
|
||||
|
||||
@@ -67,7 +67,7 @@ export default {
|
||||
case '3':
|
||||
path = '/workCenter/RegulatoryComplianceCheckProcess'
|
||||
break
|
||||
// 市场清单发布流程
|
||||
// 市场法规清单发布流程
|
||||
case '4':
|
||||
path = '/workCenter/MarketListReleaseProcess'
|
||||
break
|
||||
|
||||
@@ -1,55 +1,60 @@
|
||||
<template>
|
||||
<a-card :bordered="false" class="page-left-right-layout">
|
||||
<div class="page-left-box">
|
||||
<a-input-search v-model="treeInput"
|
||||
class="tree-search"
|
||||
:placeholder="$t('pleaseEnterTreeSystem')"
|
||||
@search="handleTreeSearch" />
|
||||
<div class="page-tree-box page-tree-box-has-search">
|
||||
<a-spin :spinning="treeLoading">
|
||||
<a-tree
|
||||
v-if="treeData.length > 0"
|
||||
:show-line="true"
|
||||
:show-icon="true"
|
||||
:tree-data="treeData"
|
||||
:expanded-keys.sync="expandedKeys"
|
||||
:selectedKeys="currentTreeNode"
|
||||
:default-expand-all="defaultExpandAll"
|
||||
draggable
|
||||
@drop="onDropCataSort">
|
||||
<template #title="record">
|
||||
<div class="tree-operate-node"
|
||||
@mouseenter="handleTreeMouseover(record.key)"
|
||||
@mouseleave="handleTreeMouseout(record.key)"
|
||||
@click="treeSelect(record)">
|
||||
<a-icon class="parent-node-icon" type="folder" v-if="record.dataRef.children && record.dataRef.children.length > 0" />
|
||||
<a-tooltip placement="topLeft">
|
||||
<template #title>
|
||||
{{ record.title }}
|
||||
</template>
|
||||
<span class="tree-node-custom-title">{{ record.title }}</span>
|
||||
</a-tooltip>
|
||||
<div class="tree-operate-node-btn-box" :class="{'tree-operate-node-btn-box-hide': record.key !== mouseInNodeKey || record.key === 'myCollect'}">
|
||||
<!-- 新增 -->
|
||||
<a-button icon="plus" class="tree-operate-node-btn" v-has="'enterpriseStandard:tree:add'"
|
||||
@click="handleTreeAdd(record)"></a-button>
|
||||
<!-- 编辑 -->
|
||||
<a-button v-if="record.nodeType !== StandardSystemTreeNodeType.ROOT_NODE.value"
|
||||
v-has="'enterpriseStandard:tree:edit'"
|
||||
class="tree-operate-node-btn" @click="handleTreeEdit(record)">
|
||||
<i class="iconfont icon-bianji"></i>
|
||||
</a-button>
|
||||
<!-- 删除 -->
|
||||
<a-button v-if="record.nodeType !== StandardSystemTreeNodeType.ROOT_NODE.value"
|
||||
v-has="'enterpriseStandard:tree:delete'"
|
||||
class="tree-operate-node-btn" @click="handleTreeDelete(record.id)">
|
||||
<i class="iconfont icon-shanchu_"></i>
|
||||
</a-button>
|
||||
<div class="page-left-box" :style="isLeftExpand ? {width: '0px', padding: '0px', borderRight: 'none'} : {}">
|
||||
<template v-if="!isLeftExpand">
|
||||
<a-input-search v-model="treeInput"
|
||||
class="tree-search"
|
||||
:placeholder="$t('pleaseEnterTreeSystem')"
|
||||
@search="handleTreeSearch" />
|
||||
<div class="page-tree-box page-tree-box-has-search">
|
||||
<a-spin :spinning="treeLoading">
|
||||
<a-tree
|
||||
v-if="treeData.length > 0"
|
||||
:show-line="true"
|
||||
:show-icon="true"
|
||||
:tree-data="treeData"
|
||||
:expanded-keys.sync="expandedKeys"
|
||||
:selectedKeys="currentTreeNode"
|
||||
:default-expand-all="defaultExpandAll"
|
||||
draggable
|
||||
@drop="onDropCataSort">
|
||||
<template #title="record">
|
||||
<div class="tree-operate-node"
|
||||
@mouseenter="handleTreeMouseover(record.key)"
|
||||
@mouseleave="handleTreeMouseout(record.key)"
|
||||
@click="treeSelect(record)">
|
||||
<a-icon class="parent-node-icon" type="folder" v-if="record.dataRef.children && record.dataRef.children.length > 0" />
|
||||
<a-tooltip placement="topLeft">
|
||||
<template #title>
|
||||
{{ record.title }}
|
||||
</template>
|
||||
<span class="tree-node-custom-title">{{ record.title }}</span>
|
||||
</a-tooltip>
|
||||
<div class="tree-operate-node-btn-box" :class="{'tree-operate-node-btn-box-hide': record.key !== mouseInNodeKey || record.key === 'myCollect'}">
|
||||
<!-- 新增 -->
|
||||
<a-button icon="plus" class="tree-operate-node-btn" v-has="'enterpriseStandard:tree:add'"
|
||||
@click="handleTreeAdd(record)"></a-button>
|
||||
<!-- 编辑 -->
|
||||
<a-button v-if="record.nodeType !== StandardSystemTreeNodeType.ROOT_NODE.value"
|
||||
v-has="'enterpriseStandard:tree:edit'"
|
||||
class="tree-operate-node-btn" @click="handleTreeEdit(record)">
|
||||
<i class="iconfont icon-bianji"></i>
|
||||
</a-button>
|
||||
<!-- 删除 -->
|
||||
<a-button v-if="record.nodeType !== StandardSystemTreeNodeType.ROOT_NODE.value"
|
||||
v-has="'enterpriseStandard:tree:delete'"
|
||||
class="tree-operate-node-btn" @click="handleTreeDelete(record.id)">
|
||||
<i class="iconfont icon-shanchu_"></i>
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</a-tree>
|
||||
</a-spin>
|
||||
</template>
|
||||
</a-tree>
|
||||
</a-spin>
|
||||
</div>
|
||||
</template>
|
||||
<div class="control-standard-left-expand" @click="expandLeft">
|
||||
<a-icon :type="isLeftExpand ? 'right' : 'left'" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="page-right-box">
|
||||
@@ -265,7 +270,8 @@ export default {
|
||||
defaultSearchParams: { // 默认查询条件
|
||||
standard_state: `${EnterpriseStandardStatus.CURRENTLY_EFFECTIVE.value}`
|
||||
},
|
||||
disabledMixinsCreate: true
|
||||
disabledMixinsCreate: true,
|
||||
isLeftExpand: false // 是否左侧收齐
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -305,6 +311,10 @@ export default {
|
||||
this.initTreeData()
|
||||
},
|
||||
methods: {
|
||||
// 左侧树收起展开
|
||||
expandLeft () {
|
||||
this.isLeftExpand = !this.isLeftExpand
|
||||
},
|
||||
// 获取左侧树数据
|
||||
initTreeData (params, isPackUpExpand = true) {
|
||||
this.treeLoading = true
|
||||
@@ -845,4 +855,27 @@ export default {
|
||||
.icon-star {
|
||||
color: rgba(243, 129, 65, 0.50);
|
||||
}
|
||||
|
||||
.page-left-box {
|
||||
position: relative;
|
||||
}
|
||||
.control-standard-left-expand {
|
||||
width: 12px;
|
||||
height: 24px;
|
||||
border-radius: 0 12px 12px 0;
|
||||
background-color: @primary-color;
|
||||
color: white;
|
||||
position: absolute;
|
||||
z-index: 3;
|
||||
left: 100%;
|
||||
top: calc(50% - 52px);
|
||||
|
||||
.anticon {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: -2px;
|
||||
transform: translateY(-50%);
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,59 +1,64 @@
|
||||
<template>
|
||||
<a-card :bordered="false" class="page-left-right-layout">
|
||||
<!-- 树部分-->
|
||||
<div class="page-left-box">
|
||||
<a-input-search v-model="treeInput" class="tree-search"
|
||||
:placeholder="$t('standardRegulationLibrary.foreignStandard.treeSearchPlaceholder')"
|
||||
@search="handleTreeSearch" />
|
||||
<div class="page-tree-box page-tree-box-has-search">
|
||||
<a-spin :spinning="treeLoading">
|
||||
<a-tree :show-line="true"
|
||||
:show-icon="true"
|
||||
:tree-data="treeData"
|
||||
:expanded-keys.sync="expandedKeys"
|
||||
:selected-keys="selectedTreeKeys"
|
||||
draggable
|
||||
@drop="onDropCataSort">
|
||||
<template #title="record">
|
||||
<div class="tree-operate-node"
|
||||
@mouseenter="handleTreeMouseover(record.key)"
|
||||
@mouseleave="handleTreeMouseout(record.key)"
|
||||
@click="handleSelectTreeNode(record)">
|
||||
<a-icon class="parent-node-icon"
|
||||
type="folder"
|
||||
v-if="record.dataRef.children && record.dataRef.children.length > 0" />
|
||||
<a-tooltip placement="topLeft">
|
||||
<template #title>
|
||||
{{ record.title }}
|
||||
</template>
|
||||
<span class="tree-node-custom-title">{{ record.title }}</span>
|
||||
</a-tooltip>
|
||||
<div class="tree-operate-node-btn-box" :class="{'tree-operate-node-btn-box-hide': record.key !== mouseInNodeKey}">
|
||||
<!-- 新增-->
|
||||
<a-button icon="plus"
|
||||
class="tree-operate-node-btn"
|
||||
@click.stop="handleAddTreeNode(record)"
|
||||
v-if="record.nodeType !== StandardSystemTreeNodeType.NOT_OPERATE_NODE.value"
|
||||
v-has="'domesticStandard:tree:add'"></a-button>
|
||||
<!-- 编辑,根节点不能编辑-->
|
||||
<a-button class="tree-operate-node-btn"
|
||||
@click.stop="handleEditTreeNode(record)"
|
||||
v-has="'domesticStandard:tree:edit'"
|
||||
v-if="record.nodeType !== StandardSystemTreeNodeType.ROOT_NODE.value && record.nodeType !== StandardSystemTreeNodeType.NOT_OPERATE_NODE.value">
|
||||
<i class="iconfont icon-bianji" />
|
||||
</a-button>
|
||||
<!-- 删除,根节点不能删除-->
|
||||
<a-button class="tree-operate-node-btn"
|
||||
v-has="'domesticStandard:tree:delete'"
|
||||
v-if="record.nodeType !== StandardSystemTreeNodeType.ROOT_NODE.value && record.nodeType !== StandardSystemTreeNodeType.NOT_OPERATE_NODE.value"
|
||||
@click.stop="handleDelTreeNode(record)">
|
||||
<i class="iconfont icon-shanchu_" />
|
||||
</a-button>
|
||||
<div class="page-left-box" :style="isLeftExpand ? {width: '0px', padding: '0px', borderRight: 'none'} : {}">
|
||||
<template v-if="!isLeftExpand">
|
||||
<a-input-search v-model="treeInput" class="tree-search"
|
||||
:placeholder="$t('standardRegulationLibrary.foreignStandard.treeSearchPlaceholder')"
|
||||
@search="handleTreeSearch" />
|
||||
<div class="page-tree-box page-tree-box-has-search">
|
||||
<a-spin :spinning="treeLoading">
|
||||
<a-tree :show-line="true"
|
||||
:show-icon="true"
|
||||
:tree-data="treeData"
|
||||
:expanded-keys.sync="expandedKeys"
|
||||
:selected-keys="selectedTreeKeys"
|
||||
draggable
|
||||
@drop="onDropCataSort">
|
||||
<template #title="record">
|
||||
<div class="tree-operate-node"
|
||||
@mouseenter="handleTreeMouseover(record.key)"
|
||||
@mouseleave="handleTreeMouseout(record.key)"
|
||||
@click="handleSelectTreeNode(record)">
|
||||
<a-icon class="parent-node-icon"
|
||||
type="folder"
|
||||
v-if="record.dataRef.children && record.dataRef.children.length > 0" />
|
||||
<a-tooltip placement="topLeft">
|
||||
<template #title>
|
||||
{{ record.title }}
|
||||
</template>
|
||||
<span class="tree-node-custom-title">{{ record.title }}</span>
|
||||
</a-tooltip>
|
||||
<div class="tree-operate-node-btn-box" :class="{'tree-operate-node-btn-box-hide': record.key !== mouseInNodeKey}">
|
||||
<!-- 新增-->
|
||||
<a-button icon="plus"
|
||||
class="tree-operate-node-btn"
|
||||
@click.stop="handleAddTreeNode(record)"
|
||||
v-if="record.nodeType !== StandardSystemTreeNodeType.NOT_OPERATE_NODE.value"
|
||||
v-has="'domesticStandard:tree:add'"></a-button>
|
||||
<!-- 编辑,根节点不能编辑-->
|
||||
<a-button class="tree-operate-node-btn"
|
||||
@click.stop="handleEditTreeNode(record)"
|
||||
v-has="'domesticStandard:tree:edit'"
|
||||
v-if="record.nodeType !== StandardSystemTreeNodeType.ROOT_NODE.value && record.nodeType !== StandardSystemTreeNodeType.NOT_OPERATE_NODE.value">
|
||||
<i class="iconfont icon-bianji" />
|
||||
</a-button>
|
||||
<!-- 删除,根节点不能删除-->
|
||||
<a-button class="tree-operate-node-btn"
|
||||
v-has="'domesticStandard:tree:delete'"
|
||||
v-if="record.nodeType !== StandardSystemTreeNodeType.ROOT_NODE.value && record.nodeType !== StandardSystemTreeNodeType.NOT_OPERATE_NODE.value"
|
||||
@click.stop="handleDelTreeNode(record)">
|
||||
<i class="iconfont icon-shanchu_" />
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</a-tree>
|
||||
</a-spin>
|
||||
</template>
|
||||
</a-tree>
|
||||
</a-spin>
|
||||
</div>
|
||||
</template>
|
||||
<div class="control-standard-left-expand" @click="expandLeft">
|
||||
<a-icon :type="isLeftExpand ? 'right' : 'left'" />
|
||||
</div>
|
||||
</div>
|
||||
<!-- 表格部分-->
|
||||
@@ -313,7 +318,8 @@ export default {
|
||||
treeLoading: false,
|
||||
isCollection: false,
|
||||
expandedKeys: [], // 展开的节点
|
||||
needFilterTableBtn: true
|
||||
needFilterTableBtn: true,
|
||||
isLeftExpand: false // 是否左侧收齐
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -326,6 +332,10 @@ export default {
|
||||
this.initTreeData()
|
||||
},
|
||||
methods: {
|
||||
// 左侧树收起展开
|
||||
expandLeft () {
|
||||
this.isLeftExpand = !this.isLeftExpand
|
||||
},
|
||||
/**
|
||||
* 获取树数据
|
||||
*/
|
||||
@@ -828,4 +838,27 @@ export default {
|
||||
.icon-star {
|
||||
color: rgba(243, 129, 65, 0.50);
|
||||
}
|
||||
|
||||
.page-left-box {
|
||||
position: relative;
|
||||
}
|
||||
.control-standard-left-expand {
|
||||
width: 12px;
|
||||
height: 24px;
|
||||
border-radius: 0 12px 12px 0;
|
||||
background-color: @primary-color;
|
||||
color: white;
|
||||
position: absolute;
|
||||
z-index: 3;
|
||||
left: 100%;
|
||||
top: calc(50% - 52px);
|
||||
|
||||
.anticon {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: -2px;
|
||||
transform: translateY(-50%);
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
+2
-2
@@ -278,7 +278,7 @@ export default {
|
||||
}
|
||||
// scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 适用国家/地区
|
||||
{ // 适用市场
|
||||
title: this.$t('standardRegulationLibrary.marketListField.applicableCountryRegion'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
@@ -652,7 +652,7 @@ export default {
|
||||
newAuthImplDateCol: item.id === newAuthImplDateArr[0].id ? newAuthImplDateArr.length : 0,
|
||||
// 注册日期行合并
|
||||
registrationDateCol: item.id === registrationDateArr[0].id ? registrationDateArr.length : 0,
|
||||
// 适用国家/地区行合并
|
||||
// 适用市场行合并
|
||||
countryCol: item.id === countryArr[0].id ? countryArr.length : 0,
|
||||
// 适用车型行合并
|
||||
applicableVehicleCol: item.id === applicableVehicleArr[0].id ? applicableVehicleArr.length : 0,
|
||||
|
||||
+2
-2
@@ -362,7 +362,7 @@ export default {
|
||||
dataIndex: 'registrationDate',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 适用国家/地区
|
||||
{ // 适用市场
|
||||
title: this.$t('standardRegulationLibrary.marketListField.applicableCountryRegion'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
@@ -626,7 +626,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 // 关联部门
|
||||
|
||||
@@ -300,7 +300,7 @@ export default {
|
||||
}
|
||||
marketRegulationDetailPublish({ id: this.selectedRowKeys[0] }).then(res => {
|
||||
if (res.success) {
|
||||
// 跳转市场清单发布流程
|
||||
// 跳转市场法规清单发布流程
|
||||
this.$router.push({
|
||||
path: '/workCenter/MarketListReleaseProcess',
|
||||
query: {
|
||||
@@ -345,7 +345,7 @@ export default {
|
||||
handlePublish (record) {
|
||||
marketRegulationDetailPublish({ id: record.id }).then(res => {
|
||||
if (res.success) {
|
||||
// 跳转市场清单发布流程
|
||||
// 跳转市场法规清单发布流程
|
||||
this.$router.push({
|
||||
path: '/workCenter/MarketListReleaseProcess',
|
||||
query: {
|
||||
|
||||
+7
-7
@@ -59,7 +59,7 @@
|
||||
field-name="registrationDate"
|
||||
v-decorator.trim="[ 'registrationDate', validatorRules.registrationDate ]" />
|
||||
</a-form-item>
|
||||
<!-- 适用国家/地区 -->
|
||||
<!-- 适用市场 -->
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('standardRegulationLibrary.marketListField.applicableCountryRegion')">
|
||||
<s-tree-select
|
||||
v-decorator.trim="[ 'country', validatorRules.country ]"
|
||||
@@ -178,7 +178,7 @@ export default {
|
||||
confirmLoading: false,
|
||||
form: this.$form.createForm(this),
|
||||
model: {},
|
||||
countryOptions: [], // 适用国家/地区下拉框
|
||||
countryOptions: [], // 适用市场下拉框
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 6 }
|
||||
@@ -228,7 +228,7 @@ export default {
|
||||
}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
// 适用国家/地区
|
||||
// 适用市场
|
||||
country: {
|
||||
rules: [{
|
||||
required: true,
|
||||
@@ -292,7 +292,7 @@ export default {
|
||||
this.visible = true
|
||||
this.manifestId = manifestId
|
||||
this.model = Object.assign({}, record)
|
||||
// 处理适用国家/地区格式
|
||||
// 处理适用市场格式
|
||||
if (this.model.country) {
|
||||
this.model.country = this.model.country.split(',').map(item => {
|
||||
return { value: item }
|
||||
@@ -332,7 +332,7 @@ export default {
|
||||
form.registrationDate = result.registration_date // 注册日期
|
||||
form.country = result.applicable_market ? (result.applicable_market.split(',').map(item => {
|
||||
return { value: item }
|
||||
})) : [] // 适用国家/地区
|
||||
})) : [] // 适用市场
|
||||
form.mainDept = result.main_dept // 主控部门
|
||||
form.mainDeptProfMode = result.main_dept_prof_mode || undefined // 主控部门专业模块
|
||||
form.associateDept = result.associate_dept // 关联部门
|
||||
@@ -359,7 +359,7 @@ export default {
|
||||
form.newProductImplDate = '' // 新生产车实施日期
|
||||
form.newAuthImplDate = '' // 新认证车实施日期
|
||||
form.registrationDate = '' // 注册日期
|
||||
form.country = [] // 适用国家/地区
|
||||
form.country = [] // 适用市场
|
||||
form.mainDept = '' // 主控部门
|
||||
form.mainDeptProfMode = undefined // 主控部门专业模块
|
||||
form.associateDept = '' // 关联部门
|
||||
@@ -382,7 +382,7 @@ export default {
|
||||
if (!err) {
|
||||
this.confirmLoading = true
|
||||
const param = Object.assign({}, values)
|
||||
// 处理适用国家/地区格式
|
||||
// 处理适用市场格式
|
||||
param.country = param.country.map(item => item.value).join(',')
|
||||
// 基础信息id
|
||||
param.manifestId = this.manifestId
|
||||
|
||||
+1
-1
@@ -918,7 +918,7 @@ export default {
|
||||
case ProcessType.REGULATORY_COMPLIANCE_CHECK.value:
|
||||
processKey = ProcessKey.REGULATORY_COMPLIANCE_CHECK.value
|
||||
break
|
||||
// 市场清单发布流程
|
||||
// 市场法规清单发布流程
|
||||
case ProcessType.MARKET_LIST_RELEASE.value:
|
||||
processKey = ProcessKey.MARKET_LIST_RELEASE.value
|
||||
break
|
||||
|
||||
@@ -37,7 +37,7 @@ export default {
|
||||
path: '/workCenter/RegulatoryComplianceCheckProcess',
|
||||
permission: 'workCenter:newProcess:regulatoryComplianceCheckProcess'
|
||||
},
|
||||
{ // 市场清单发布流程
|
||||
{ // 市场法规清单发布流程
|
||||
title: this.$t('workCenter.newProcess.marketListReleaseProcess'),
|
||||
path: '/workCenter/MarketListReleaseProcess',
|
||||
permission: 'workCenter:newProcess:marketListReleaseProcess'
|
||||
|
||||
@@ -130,8 +130,8 @@
|
||||
<div class="process-part-title">{{ $t('processApprovalInformation') }}</div>
|
||||
<a-form :form="approvalInfoForm">
|
||||
<!--备注-->
|
||||
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('remarks')" :colon="formItemColon">
|
||||
<a-textarea :placeholder="isLook ? '' : $t('pleaseEnter') + $t('remarks')"
|
||||
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('handlingSuggestions')" :colon="formItemColon">
|
||||
<a-textarea :placeholder="isLook ? '' : $t('pleaseEnter') + $t('handlingSuggestions')"
|
||||
:maxLength="500"
|
||||
:rows="4"
|
||||
:disabled="isLook"
|
||||
@@ -342,7 +342,7 @@ export default {
|
||||
},
|
||||
handleText: {
|
||||
rules: [
|
||||
{ required: false, message: this.$t('pleaseEnter') + this.$t('remarks') }
|
||||
{ required: false, message: this.$t('pleaseEnter') + this.$t('handlingSuggestions') }
|
||||
],
|
||||
validateTrigger: 'blur'
|
||||
}
|
||||
@@ -659,7 +659,7 @@ export default {
|
||||
if (this.loading) return
|
||||
this.validatorRules.handleText.rules[0].required = true
|
||||
if (!this.approvalInfoForm.getFieldValue('handleText')) {
|
||||
this.$message.warning(this.$t('pleaseEnterRemarks'))
|
||||
this.$message.warning(this.$t('pleaseHandlingSuggestions'))
|
||||
this.switchValue = 'base'
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
|
||||
@@ -225,7 +225,7 @@ export default {
|
||||
dataIndex: 'newAuthImplDate',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{ // 适用国家/地区
|
||||
{ // 适用市场
|
||||
title: this.$t('workCenter.marketListReleaseProcess.applicableCountryRegion'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
|
||||
+4
-4
@@ -75,8 +75,8 @@
|
||||
<div class="process-part-title">{{ $t('processApprovalInformation') }}</div>
|
||||
<a-form :form="approvalInfoForm">
|
||||
<!--备注-->
|
||||
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('remarks')" :colon="formItemColon">
|
||||
<a-textarea :placeholder="isLook ? '' : $t('pleaseEnter') + $t('remarks')"
|
||||
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('handlingSuggestions')" :colon="formItemColon">
|
||||
<a-textarea :placeholder="isLook ? '' : $t('pleaseEnter') + $t('handlingSuggestions')"
|
||||
:maxLength="500"
|
||||
:rows="4"
|
||||
:disabled="isLook"
|
||||
@@ -281,7 +281,7 @@ export default {
|
||||
},
|
||||
handleText: {
|
||||
rules: [
|
||||
{ required: false, message: this.$t('pleaseEnter') + this.$t('remarks') }
|
||||
{ required: false, message: this.$t('pleaseEnter') + this.$t('handlingSuggestions') }
|
||||
],
|
||||
validateTrigger: 'blur'
|
||||
}
|
||||
@@ -559,7 +559,7 @@ export default {
|
||||
if (this.loading) return
|
||||
this.validatorRules.handleText.rules[0].required = true
|
||||
if (!this.approvalInfoForm.getFieldValue('handleText')) {
|
||||
this.$message.warning(this.$t('pleaseEnterRemarks'))
|
||||
this.$message.warning(this.$t('pleaseHandlingSuggestions'))
|
||||
this.switchValue = 'base'
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
|
||||
@@ -215,7 +215,7 @@ export default {
|
||||
case ProcessType.REGULATORY_COMPLIANCE_CHECK.value:
|
||||
processKey = ProcessKey.REGULATORY_COMPLIANCE_CHECK.value
|
||||
break
|
||||
// 市场清单发布流程
|
||||
// 市场法规清单发布流程
|
||||
case ProcessType.MARKET_LIST_RELEASE.value:
|
||||
processKey = ProcessKey.MARKET_LIST_RELEASE.value
|
||||
break
|
||||
|
||||
@@ -158,7 +158,7 @@ export default {
|
||||
case '3':
|
||||
path = '/workCenter/RegulatoryComplianceCheckProcess'
|
||||
break
|
||||
// 市场清单发布流程
|
||||
// 市场法规清单发布流程
|
||||
case '4':
|
||||
path = '/workCenter/MarketListReleaseProcess'
|
||||
break
|
||||
|
||||
@@ -195,7 +195,7 @@ export default {
|
||||
case ProcessType.REGULATORY_COMPLIANCE_CHECK.value:
|
||||
processKey = ProcessKey.REGULATORY_COMPLIANCE_CHECK.value
|
||||
break
|
||||
// 市场清单发布流程
|
||||
// 市场法规清单发布流程
|
||||
case ProcessType.MARKET_LIST_RELEASE.value:
|
||||
processKey = ProcessKey.MARKET_LIST_RELEASE.value
|
||||
break
|
||||
|
||||
@@ -202,7 +202,7 @@ export default {
|
||||
case ProcessType.REGULATORY_COMPLIANCE_CHECK.value:
|
||||
processKey = ProcessKey.REGULATORY_COMPLIANCE_CHECK.value
|
||||
break
|
||||
// 市场清单发布流程
|
||||
// 市场法规清单发布流程
|
||||
case ProcessType.MARKET_LIST_RELEASE.value:
|
||||
processKey = ProcessKey.MARKET_LIST_RELEASE.value
|
||||
break
|
||||
|
||||
@@ -165,7 +165,7 @@ export default {
|
||||
],
|
||||
// 法规符合性排查流程
|
||||
[ProcessType.REGULATORY_COMPLIANCE_CHECK.value]: [RegulatoryComplianceCheckNodes.initiated.value],
|
||||
// 市场清单发布流程
|
||||
// 市场法规清单发布流程
|
||||
[ProcessType.MARKET_LIST_RELEASE.value]: [MarketListReleaseNodes.initiated.value]
|
||||
},
|
||||
disableMixinCreated: true
|
||||
@@ -239,7 +239,7 @@ export default {
|
||||
case '3':
|
||||
path = '/workCenter/RegulatoryComplianceCheckProcess'
|
||||
break
|
||||
// 市场清单发布流程
|
||||
// 市场法规清单发布流程
|
||||
case '4':
|
||||
path = '/workCenter/MarketListReleaseProcess'
|
||||
break
|
||||
|
||||
+4
-4
@@ -106,8 +106,8 @@
|
||||
<div class="process-part-title">{{ $t('processApprovalInformation') }}</div>
|
||||
<a-form :form="approvalInfoForm">
|
||||
<!--备注-->
|
||||
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('remarks')" :colon="formItemColon">
|
||||
<a-textarea :placeholder="isLook ? '' : $t('pleaseEnter') + $t('remarks')"
|
||||
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('handlingSuggestions')" :colon="formItemColon">
|
||||
<a-textarea :placeholder="isLook ? '' : $t('pleaseEnter') + $t('handlingSuggestions')"
|
||||
:maxLength="500"
|
||||
:rows="4"
|
||||
:disabled="isLook"
|
||||
@@ -391,7 +391,7 @@ export default {
|
||||
},
|
||||
handleText: {
|
||||
rules: [
|
||||
{ required: false, message: this.$t('pleaseEnter') + this.$t('remarks') }
|
||||
{ required: false, message: this.$t('pleaseEnter') + this.$t('handlingSuggestions') }
|
||||
],
|
||||
validateTrigger: 'blur'
|
||||
}
|
||||
@@ -748,7 +748,7 @@ export default {
|
||||
if (this.loading) return
|
||||
this.validatorRules.handleText.rules[0].required = true
|
||||
if (!this.approvalInfoForm.getFieldValue('handleText')) {
|
||||
this.$message.warning(this.$t('pleaseEnterRemarks'))
|
||||
this.$message.warning(this.$t('pleaseHandlingSuggestions'))
|
||||
this.switchValue = 'base'
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
|
||||
+4
-1
@@ -7,7 +7,7 @@
|
||||
<div class="form-flex-box">
|
||||
<!-- 排查任务是否下发 -->
|
||||
<div class="box-title-text form-flex-item">
|
||||
<div class="title-text">
|
||||
<div class="title-text title-text-long">
|
||||
<span class="required">*</span>
|
||||
<span class="title-text-text" :title="$t('workCenter.regulatoryComplianceCheckProcess.checkWhetherTheTaskIsDelivered')">
|
||||
{{ $t('workCenter.regulatoryComplianceCheckProcess.checkWhetherTheTaskIsDelivered') }}
|
||||
@@ -893,4 +893,7 @@ export default {
|
||||
.form-add {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.title-text-long {
|
||||
width: 140px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
+4
-4
@@ -90,8 +90,8 @@
|
||||
<div class="process-part-title">{{ $t('processApprovalInformation') }}</div>
|
||||
<a-form :form="approvalInfoForm">
|
||||
<!--备注-->
|
||||
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('remarks')" :colon="formItemColon">
|
||||
<a-textarea :placeholder="(disabled) ? '' : ($t('pleaseEnter') + $t('remarks'))"
|
||||
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('handlingSuggestions')" :colon="formItemColon">
|
||||
<a-textarea :placeholder="(disabled) ? '' : ($t('pleaseEnter') + $t('handlingSuggestions'))"
|
||||
:maxLength="500"
|
||||
:rows="4"
|
||||
:disabled="disabled"
|
||||
@@ -231,7 +231,7 @@ export default {
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
commitText: {
|
||||
rules: [{ required: false, message: this.$t('pleaseEnter') + this.$t('remarks') }],
|
||||
rules: [{ required: false, message: this.$t('pleaseEnter') + this.$t('handlingSuggestions') }],
|
||||
validateTrigger: 'blur'
|
||||
}
|
||||
},
|
||||
@@ -740,7 +740,7 @@ export default {
|
||||
})
|
||||
// 驳回需要填写备注
|
||||
if (!this.approvalInfoForm.getFieldValue('commitText')) {
|
||||
this.$message.warn(this.$t('pleaseEnterRemarks'))
|
||||
this.$message.warn(this.$t('pleaseHandlingSuggestions'))
|
||||
return
|
||||
}
|
||||
this.loading = true
|
||||
|
||||
Reference in New Issue
Block a user