diff --git a/src/api/projectLibraryApi.js b/src/api/projectLibraryApi.js index a8b6bb44..2f2e3ff4 100644 --- a/src/api/projectLibraryApi.js +++ b/src/api/projectLibraryApi.js @@ -1,11 +1,14 @@ -import { postAction } from './manage.js' +import { getAction, postAction } from './manage.js' // 车型项目库-新增 const addVehicleItemLibrary = (params) => postAction('/projectLibrary/lawsProjectLibrary/add', params) // 车型项目库-编辑 const editVehicleItemLibrary = (params) => postAction('/projectLibrary/lawsProjectLibrary/edit', params) +// 车型项目库-通过id获取详情 +const queryByIdVehicleItemLibrary = (params) => getAction('/projectLibrary/lawsProjectLibrary/queryById', params) export { addVehicleItemLibrary, - editVehicleItemLibrary + editVehicleItemLibrary, + queryByIdVehicleItemLibrary } diff --git a/src/api/standardRegulationLibraryApi.js b/src/api/standardRegulationLibraryApi.js index a13cb36e..63bcfb70 100644 --- a/src/api/standardRegulationLibraryApi.js +++ b/src/api/standardRegulationLibraryApi.js @@ -13,15 +13,17 @@ const collectionDomesticStandard = (params) => postAction('', params) // 国内标准法规-分享 const shareDomesticStandard = (params) => postAction('', params) // 国内标准-体系新增 -const addDomesticSystemTree = (params) => postAction('', params) +const addDomesticSystemTree = (params) => postAction('/laws/standard/lawsTreeNode/domestic/add', params) // 国内标准-体系编辑 -const editDomesticSystemTree = (params) => postAction('', params) +const editDomesticSystemTree = (params) => postAction('/laws/standard/lawsTreeNode/domestic/edit', params) // 国内标准-体系删除 -const deleteDomesticSystemTree = (params) => postAction('', params) +const deleteDomesticSystemTree = (params) => postAction('/laws/standard/lawsTreeNode/domestic/delete', params) // 国内标准-配置标准 const configDomesticStandard = (params) => postAction('', params) // 国内标准-移出标准 const removeDomesticStandard = (params) => postAction('', params) +// 国内标准-获取体系树 +const getDomesticStandardTree = (params) => getAction('/laws/standard/lawsTreeNode/domestic', params) // 海外标准-获取查询条件 const getOverseasStandardSearchForm = (params) => getAction('/laws/standard/overseas/getQueryCondition', params) @@ -45,6 +47,7 @@ export { deleteDomesticSystemTree, configDomesticStandard, removeDomesticStandard, + getDomesticStandardTree, // 海外标准 getOverseasStandardSearchForm, diff --git a/src/assets/less/common.less b/src/assets/less/common.less index 0bb5aa28..2dfe3d3f 100644 --- a/src/assets/less/common.less +++ b/src/assets/less/common.less @@ -1,4 +1,7 @@ @primary-color: #D52C26; +/* 页面不出全局滚动条的高度,如果在vue文件使用,就只能在style里引入common.less */ +/*59px是用户信息那块,52px是标签,24px是上下的留白*/ +@page-content-h: calc(100vh - 59px - 52px - 24px); /*列表上方操作按钮区域*/ /*.ant-card-body .table-operator { @@ -393,7 +396,7 @@ /*页面左右布局*/ .page-left-right-layout { - height: 85vh; + height: @page-content-h; width: 100%; .ant-card-body { @@ -432,11 +435,6 @@ color: #86909c; } -//子节点前面文件图标的颜色 -.ant-tree li span.ant-tree-switcher.ant-tree-switcher-noop { - color: #1D2129; -} - .ant-tree-title { overflow: hidden; white-space: nowrap; @@ -527,145 +525,171 @@ /*详情样式start*/ .detail-page { padding: 24px; +} + +.detail-page-title { + font-size: 20px; + font-family: PingFang SC-Medium, PingFang SC, sans-serif; + color: #1D2129; + font-weight: 600; + text-align: center; + margin-bottom: 24px; +} + +.detail-page-part { + border-radius: 8px; + border: 1px solid #E5E6EB; + margin-bottom: 20px; +} + +.detail-page-part-title { + height: 56px; + background: rgba(245, 245, 245, 0.6); + border-radius: 8px 8px 0 0; + opacity: 1; + border-bottom: 1px solid #E5E6EB; + padding: 0 20px; + display: flex; + align-items: center; + justify-content: space-between; +} + +.detail-page-part-title > span { + font-size: 16px; + font-family: PingFang SC-Medium, PingFang SC, sans-serif; + font-weight: 550; + color: #1D2129; +} + +.detail-page-part-title-operate-box { + .ant-btn > .anticon + span { + margin-left: 10px; + } + + .ant-btn > .iconfont + span { + margin-left: 10px; + } + + .ant-btn > .iconfont { + height: 20px; + } +} + +.detail-page-part-form { + padding: 20px; + display: flex; + flex-wrap: wrap; +} + +.detail-page-part-form-item { + width: calc((100% - 32px) / 3); + display: flex; + margin: 0 16px 16px 0; + + label { + width: 40%; + font-size: 16px; + font-family: PingFang SC-Regular, PingFang SC, sans-serif; + font-weight: 400; + color: #86909C; + } + + span { + white-space: pre-wrap; + word-break: break-all; + font-size: 16px; + font-family: PingFang SC-Regular, PingFang SC, sans-serif; + color: #1D2129; + } +} + +.detail-page-part-form-item:nth-child(3n) { + margin-right: 0; +} + +/deep/ .detail-page-part-form-item { + width: calc((100% - 32px) / 3); + display: flex; + margin: 0 16px 16px 0; + + label { + width: 40%; + font-size: 16px; + font-family: PingFang SC-Regular, PingFang SC, sans-serif; + font-weight: 400; + color: #86909C; + } + + span { + white-space: pre-wrap; + word-break: break-all; + font-size: 16px; + font-family: PingFang SC-Regular, PingFang SC, sans-serif; + color: #1D2129; + } +} + +/deep/ .detail-page-part-form-item:nth-child(3n) { + margin-right: 0; +} + +.detail-page-process-manuscript { + padding: 20px; + + &-item { + padding: 20px 0; + border-bottom: 1px solid #E5E6EB; + } &-title { - font-size: 20px; - font-family: PingFang SC-Medium, PingFang SC, sans-serif; - color: #1D2129; - font-weight: 600; - text-align: center; - margin-bottom: 24px; - } - - &-part { - border-radius: 8px; - border: 1px solid #E5E6EB; - margin-bottom: 20px; - } - - &-part-title { - height: 56px; - background: rgba(245, 245, 245, 0.6); - border-radius: 8px 8px 0 0; - opacity: 1; - border-bottom: 1px solid #E5E6EB; - padding: 0 20px; + font-size: 16px; + font-family: PingFang SC-Regular, PingFang SC, sans-serif; + color: #86909C; display: flex; align-items: center; justify-content: space-between; + margin-bottom: 16px; } - &-part-title > span { - font-size: 16px; - font-family: PingFang SC-Medium, PingFang SC, sans-serif; - font-weight: 550; - color: #1D2129; - } - - &-part-title-operate-box { - .ant-btn > .anticon + span { - margin-left: 10px; - } - - .ant-btn > .iconfont + span { - margin-left: 10px; - } - - .ant-btn > .iconfont { - height: 20px; - } - } - - &-part-form { - padding: 20px; + &-file { display: flex; - flex-wrap: wrap; - - &-item { - width: calc((100% - 32px) / 3); - display: flex; - margin: 0 16px 16px 0; - - label { - width: 40%; - font-size: 16px; - font-family: PingFang SC-Regular, PingFang SC, sans-serif; - font-weight: 400; - color: #86909C; - } - - span { - white-space: pre-wrap; - word-break: break-all; - font-size: 16px; - font-family: PingFang SC-Regular, PingFang SC, sans-serif; - color: #1D2129; - } - } - - &-item:nth-child(3n) { - margin-right: 0; - } + align-items: center; + justify-content: space-between; + margin-bottom: 12px; } - &-process-manuscript { - padding: 20px; + &-file:last-child { + margin-bottom: 0; + } - &-item { - padding: 20px 0; - border-bottom: 1px solid #E5E6EB; + &-file-info { + display: flex; + align-items: center; + color: @primary-color; + cursor: pointer; + flex: 1; + width: 0; + } + + &-file-info > .anticon { + margin-right: 8px; + } + + &-file-name { + white-space: nowrap; + overflow: hidden; + flex: 1; + width: 0; + text-overflow: ellipsis; + } + + &-file-operate { + .ant-btn > .anticon + span, .ant-btn > .iconfont + span { + margin-left: 10px; } - &-title { - font-size: 16px; - font-family: PingFang SC-Regular, PingFang SC, sans-serif; - color: #86909C; - display: flex; - align-items: center; - justify-content: space-between; - margin-bottom: 16px; - } - - &-file { - display: flex; - align-items: center; - justify-content: space-between; - margin-bottom: 12px; - } - - &-file:last-child { - margin-bottom: 0; - } - - &-file-info { - display: flex; - align-items: center; - color: @primary-color; - cursor: pointer; - flex: 1; - width: 0; - } - - &-file-info > .anticon { - margin-right: 8px; - } - - &-file-name { - white-space: nowrap; - overflow: hidden; - flex: 1; - width: 0; - text-overflow: ellipsis; - } - - &-file-operate { - .ant-btn > .anticon + span, .ant-btn > .iconfont + span { - margin-left: 10px; - } - - .ant-btn:first-child { - margin-left: 15px; - } + .ant-btn:first-child { + margin-left: 15px; } } } diff --git a/src/common/lang/projectLibrary/en.js b/src/common/lang/projectLibrary/en.js index 53a25f03..e8460b21 100644 --- a/src/common/lang/projectLibrary/en.js +++ b/src/common/lang/projectLibrary/en.js @@ -1,7 +1,7 @@ module.exports = { projectName: 'Project name', // 项目名称 workOrderNumber: 'Work order number', // 工作令编号 - projectHealthStatus: 'Project health status', // 项目健康状态 + projectHealthStatus: 'Project health', // 项目健康度 // 车型项目库 vehicleItemLibrary: { @@ -10,6 +10,14 @@ module.exports = { projectSource: 'Project source', // 项目来源 projectName: 'Project name', // 项目名称 projectLeader: 'Project leader', // 项目负责人, - PMSDetails: 'PMS Details' // PMS详情 + PMSDetails: 'PMS Details', // PMS详情 + riskOverview: 'Risk overview', // 风险性总览 + conform: 'Conform to', // 符合 + inconformity: 'Inconformity', // 不符合 + toBeVerified: 'To be verified', // 待验证 + uninvolved: 'Not involve', // 不涉及 + regulationsList: 'List of regulations', // 法规清单 + standardNumberStandardName: 'Standard number/Standard name', // 标准号/标准名称 + transfer: 'Transfer' // 调取 } } diff --git a/src/common/lang/projectLibrary/zh.js b/src/common/lang/projectLibrary/zh.js index 53ae53a4..6eebfe39 100644 --- a/src/common/lang/projectLibrary/zh.js +++ b/src/common/lang/projectLibrary/zh.js @@ -9,6 +9,15 @@ module.exports = { PMSInfoSynchronization: 'PMS信息同步', projectSource: '项目来源', projectLeader: '项目负责人', - PMSDetails: 'PMS详情' + PMSDetails: 'PMS详情', + noMatchItemDetails: '未符合项详情', + riskOverview: '风险性总览', + conform: '符合', + inconformity: '不符合', + toBeVerified: '待验证', + uninvolved: '不涉及', + regulationsList: '法规清单', + standardNumberStandardName: '标准号/标准名称', + transfer: '调取' } } diff --git a/src/components/InternalDetailPage.vue b/src/components/InternalDetailPage.vue new file mode 100644 index 00000000..d3fdeada --- /dev/null +++ b/src/components/InternalDetailPage.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/src/components/dict/JDictSelectTag.vue b/src/components/dict/JDictSelectTag.vue index 6707fdb3..b805b57a 100644 --- a/src/components/dict/JDictSelectTag.vue +++ b/src/components/dict/JDictSelectTag.vue @@ -52,7 +52,9 @@ export default { dictCode: { immediate: true, handler () { - this.initDictData() + if (this.dictCode) { + this.initDictData() + } } } }, diff --git a/src/enums/commonEnums.js b/src/enums/commonEnums.js index 5a9355be..e599e2ba 100644 --- a/src/enums/commonEnums.js +++ b/src/enums/commonEnums.js @@ -38,8 +38,8 @@ export const TagsAttributeTypeEnums = { // 标准体系树节点类型 export const StandardSystemTreeNodeType = { - ROOT_NODE: { text: '根节点', value: '1' }, - CHILD_NODE: { text: '子节点', value: '2' } + ROOT_NODE: { text: '根节点', value: 1 }, + CHILD_NODE: { text: '子节点', value: 2 } } // 车型项目库-项目来源 diff --git a/src/mixins/JeroListMixin.js b/src/mixins/JeroListMixin.js index 64315a96..bfea54c7 100644 --- a/src/mixins/JeroListMixin.js +++ b/src/mixins/JeroListMixin.js @@ -424,6 +424,18 @@ export const JeroListMixin = { }, handleImportByFileId (fileId) { // TODO 完善通过文件id上传文件的方法 + }, + /** + * 循环操作按钮的操作 + * @param operation + * @param record + */ + operationClick (operation, record) { + if (operation.clickEvent === 'handleDelete') { + this.handleDelete(record.id) + } else { + this[operation.clickEvent](record) + } } } } diff --git a/src/views/exception/ExceptionPage.vue b/src/views/exception/ExceptionPage.vue index 66fa3798..5e64060b 100644 --- a/src/views/exception/ExceptionPage.vue +++ b/src/views/exception/ExceptionPage.vue @@ -1,7 +1,7 @@