Merge branch 'dev_20241202_xukangle' into develop
Showing
16 changed files
with
723 additions
and
80 deletions
| ... | @@ -13,6 +13,8 @@ VITE_APP_AUTH_URL = 'ms-daop-auth-service' | ... | @@ -13,6 +13,8 @@ VITE_APP_AUTH_URL = 'ms-daop-auth-service' |
| 13 | 13 | ||
| 14 | # 系统管理 接口地址 | 14 | # 系统管理 接口地址 |
| 15 | VITE_APP_API_BASEURL = ms-daop-zcgl-system-manager-service | 15 | VITE_APP_API_BASEURL = ms-daop-zcgl-system-manager-service |
| 16 | # #配置服务 | ||
| 17 | # VITE_APP_CONFIG_URL = 'ms-daop-configure-service' | ||
| 16 | 18 | ||
| 17 | # 文件上传请求地址 | 19 | # 文件上传请求地址 |
| 18 | VITE_APP_ADD_FILE = ms-daop-import-data-service | 20 | VITE_APP_ADD_FILE = ms-daop-import-data-service | ... | ... |
This diff is collapsed.
Click to expand it.
| ... | @@ -2,49 +2,49 @@ import request from "@/utils/request"; | ... | @@ -2,49 +2,49 @@ import request from "@/utils/request"; |
| 2 | 2 | ||
| 3 | /** 获取资产目录列表 */ | 3 | /** 获取资产目录列表 */ |
| 4 | export const getAssetCatalog = (params= {}) => request({ | 4 | export const getAssetCatalog = (params= {}) => request({ |
| 5 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/dam-catalog-table/dam-list`, | 5 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/dam-list`, |
| 6 | method: 'get', | 6 | method: 'get', |
| 7 | params | 7 | params |
| 8 | }) | 8 | }) |
| 9 | 9 | ||
| 10 | /** 获取成本项列表 */ | 10 | /** 获取成本项列表 */ |
| 11 | export const getCostList = (params) => request({ | 11 | export const getCostList = (params) => request({ |
| 12 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/page-list`, | 12 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/page-list`, |
| 13 | method: 'post', | 13 | method: 'post', |
| 14 | data: params | 14 | data: params |
| 15 | }) | 15 | }) |
| 16 | 16 | ||
| 17 | /** 获取成本项详情 */ | 17 | /** 获取成本项详情 */ |
| 18 | export const getCostDetail = (params) => request({ | 18 | export const getCostDetail = (params) => request({ |
| 19 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/detail`, | 19 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/detail`, |
| 20 | method: 'get', | 20 | method: 'get', |
| 21 | params | 21 | params |
| 22 | }) | 22 | }) |
| 23 | 23 | ||
| 24 | /** 新增成本项信息 */ | 24 | /** 新增成本项信息 */ |
| 25 | export const costSave = (params) => request({ | 25 | export const costSave = (params) => request({ |
| 26 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/save`, | 26 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/save`, |
| 27 | method: 'post', | 27 | method: 'post', |
| 28 | data: params | 28 | data: params |
| 29 | }); | 29 | }); |
| 30 | 30 | ||
| 31 | /** 更新成本项信息 */ | 31 | /** 更新成本项信息 */ |
| 32 | export const costUpdate = (params) => request({ | 32 | export const costUpdate = (params) => request({ |
| 33 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/update`, | 33 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/update`, |
| 34 | method: 'post', | 34 | method: 'post', |
| 35 | data: params | 35 | data: params |
| 36 | }); | 36 | }); |
| 37 | 37 | ||
| 38 | /** 删除成本项信息 */ | 38 | /** 删除成本项信息 */ |
| 39 | export const costDelete = (params) => request({ | 39 | export const costDelete = (params) => request({ |
| 40 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/delete`, | 40 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/delete`, |
| 41 | method: 'delete', | 41 | method: 'delete', |
| 42 | data: params | 42 | data: params |
| 43 | }); | 43 | }); |
| 44 | 44 | ||
| 45 | /** 发送入表咨询消息提醒 */ | 45 | /** 发送入表咨询消息提醒 */ |
| 46 | export const sendEntryMsg = (params) => request({ | 46 | export const sendEntryMsg = (params) => request({ |
| 47 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/send-message`, | 47 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/send-message`, |
| 48 | method: 'post', | 48 | method: 'post', |
| 49 | params | 49 | params |
| 50 | }); | 50 | }); | ... | ... |
| ... | @@ -6,7 +6,7 @@ import request from "@/utils/request"; | ... | @@ -6,7 +6,7 @@ import request from "@/utils/request"; |
| 6 | 6 | ||
| 7 | /** 获取数据产品下拉列表 */ | 7 | /** 获取数据产品下拉列表 */ |
| 8 | export const getProductList = (params) => request({ | 8 | export const getProductList = (params) => request({ |
| 9 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/dam-catalog-table/get-table-select`, | 9 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/get-table-select`, |
| 10 | method: 'get', | 10 | method: 'get', |
| 11 | params | 11 | params |
| 12 | }) | 12 | }) |
| ... | @@ -20,7 +20,7 @@ export const getAddedProductList = (params) => request({ | ... | @@ -20,7 +20,7 @@ export const getAddedProductList = (params) => request({ |
| 20 | 20 | ||
| 21 | /** 获取数据产品上架列表。 */ | 21 | /** 获取数据产品上架列表。 */ |
| 22 | export const getListingList = (params) => request({ | 22 | export const getListingList = (params) => request({ |
| 23 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/product-grounding/page-list`, | 23 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/product-grounding/page-list`, |
| 24 | method: 'post', | 24 | method: 'post', |
| 25 | data: params | 25 | data: params |
| 26 | }) | 26 | }) |
| ... | @@ -138,12 +138,17 @@ export const checkDemandName = (params) => request({ | ... | @@ -138,12 +138,17 @@ export const checkDemandName = (params) => request({ |
| 138 | }) | 138 | }) |
| 139 | 139 | ||
| 140 | /** 获取参数类型列表 */ | 140 | /** 获取参数类型列表 */ |
| 141 | // export const getParamsDataList = (params) => request({ | ||
| 142 | // url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`, | ||
| 143 | // method: 'post', | ||
| 144 | // data: params | ||
| 145 | // }) | ||
| 141 | export const getParamsDataList = (params) => request({ | 146 | export const getParamsDataList = (params) => request({ |
| 142 | url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`, | 147 | url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType?dictType=${params.dictType}`, |
| 143 | method: 'post', | 148 | method: 'get', |
| 144 | data: params | ||
| 145 | }) | 149 | }) |
| 146 | 150 | ||
| 151 | |||
| 147 | /** 获取产品类型列表 */ | 152 | /** 获取产品类型列表 */ |
| 148 | export const getProductTypeList = () => request({ | 153 | export const getProductTypeList = () => request({ |
| 149 | url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-tree`, | 154 | url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-tree`, | ... | ... |
| ... | @@ -3,34 +3,34 @@ import request from "@/utils/request"; | ... | @@ -3,34 +3,34 @@ import request from "@/utils/request"; |
| 3 | /** 入表管理 */ | 3 | /** 入表管理 */ |
| 4 | /** 获取资产入表信息 */ | 4 | /** 获取资产入表信息 */ |
| 5 | export const getEntryList = (params) => request({ | 5 | export const getEntryList = (params) => request({ |
| 6 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-intable/page-list`, | 6 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-intable/page-list`, |
| 7 | method: 'post', | 7 | method: 'post', |
| 8 | data: params | 8 | data: params |
| 9 | }) | 9 | }) |
| 10 | 10 | ||
| 11 | /** 获取入表资产信息批量删除 */ | 11 | /** 获取入表资产信息批量删除 */ |
| 12 | export const deleteEntryAll = (params) => request({ | 12 | export const deleteEntryAll = (params) => request({ |
| 13 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-intable/delete?guid=${params}`, | 13 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-intable/delete?guid=${params}`, |
| 14 | method: 'delete', | 14 | method: 'delete', |
| 15 | data: params | 15 | data: params |
| 16 | }) | 16 | }) |
| 17 | /** 获取资产入表信息新增 */ | 17 | /** 获取资产入表信息新增 */ |
| 18 | export const createEntry = (params) => request({ | 18 | export const createEntry = (params) => request({ |
| 19 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-intable/save`, | 19 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-intable/save`, |
| 20 | method: 'post', | 20 | method: 'post', |
| 21 | data: params | 21 | data: params |
| 22 | }) | 22 | }) |
| 23 | 23 | ||
| 24 | /** 获取资产入表信息修改 */ | 24 | /** 获取资产入表信息修改 */ |
| 25 | export const intableUpdate = (params) => request({ | 25 | export const intableUpdate = (params) => request({ |
| 26 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-intable/update`, | 26 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-intable/update`, |
| 27 | method: 'post', | 27 | method: 'post', |
| 28 | data: params | 28 | data: params |
| 29 | }) | 29 | }) |
| 30 | 30 | ||
| 31 | /** A类证书列表查询 */ | 31 | /** A类证书列表查询 */ |
| 32 | export const getDocumentList = (params) => request({ | 32 | export const getDocumentList = (params) => request({ |
| 33 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-document/list-a-document`, | 33 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-document/list-a-document`, |
| 34 | method: 'post', | 34 | method: 'post', |
| 35 | data: params | 35 | data: params |
| 36 | }) | 36 | }) |
| ... | @@ -38,27 +38,27 @@ export const getDocumentList = (params) => request({ | ... | @@ -38,27 +38,27 @@ export const getDocumentList = (params) => request({ |
| 38 | /** 资产融资管理 */ | 38 | /** 资产融资管理 */ |
| 39 | /** 获取资产融资信息列表 */ | 39 | /** 获取资产融资信息列表 */ |
| 40 | export const getFinancingList = (params) => request({ | 40 | export const getFinancingList = (params) => request({ |
| 41 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-financing/page-list`, | 41 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-financing/page-list`, |
| 42 | method: 'post', | 42 | method: 'post', |
| 43 | data: params | 43 | data: params |
| 44 | }) | 44 | }) |
| 45 | 45 | ||
| 46 | /** 资产融资批量删除 */ | 46 | /** 资产融资批量删除 */ |
| 47 | export const deleteFinancingAll = (params) => request({ | 47 | export const deleteFinancingAll = (params) => request({ |
| 48 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-financing/delete?guid=${params}`, | 48 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-financing/delete?guid=${params}`, |
| 49 | method: 'delete', | 49 | method: 'delete', |
| 50 | data: params | 50 | data: params |
| 51 | }) | 51 | }) |
| 52 | /** 资产融资信息新增 */ | 52 | /** 资产融资信息新增 */ |
| 53 | export const createFinancing = (params) => request({ | 53 | export const createFinancing = (params) => request({ |
| 54 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-financing/save`, | 54 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-financing/save`, |
| 55 | method: 'post', | 55 | method: 'post', |
| 56 | data: params | 56 | data: params |
| 57 | }) | 57 | }) |
| 58 | 58 | ||
| 59 | /** 资产融资信息修改 */ | 59 | /** 资产融资信息修改 */ |
| 60 | export const financingUpdate = (params) => request({ | 60 | export const financingUpdate = (params) => request({ |
| 61 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-financing/update`, | 61 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-financing/update`, |
| 62 | method: 'post', | 62 | method: 'post', |
| 63 | data: params | 63 | data: params |
| 64 | }) | 64 | }) |
| ... | @@ -66,27 +66,27 @@ export const financingUpdate = (params) => request({ | ... | @@ -66,27 +66,27 @@ export const financingUpdate = (params) => request({ |
| 66 | /** 资产交易管理 */ | 66 | /** 资产交易管理 */ |
| 67 | /** 获取资产交易信息列表 */ | 67 | /** 获取资产交易信息列表 */ |
| 68 | export const getTradeList = (params) => request({ | 68 | export const getTradeList = (params) => request({ |
| 69 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-trade/page-list`, | 69 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-trade/page-list`, |
| 70 | method: 'post', | 70 | method: 'post', |
| 71 | data: params | 71 | data: params |
| 72 | }) | 72 | }) |
| 73 | 73 | ||
| 74 | /** 资产交易批量删除 */ | 74 | /** 资产交易批量删除 */ |
| 75 | export const deleteTradeAll = (params) => request({ | 75 | export const deleteTradeAll = (params) => request({ |
| 76 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-trade/delete?guid=${params}`, | 76 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-trade/delete?guid=${params}`, |
| 77 | method: 'delete', | 77 | method: 'delete', |
| 78 | data: params | 78 | data: params |
| 79 | }) | 79 | }) |
| 80 | /** 资产交易信息新增 */ | 80 | /** 资产交易信息新增 */ |
| 81 | export const createTrade = (params) => request({ | 81 | export const createTrade = (params) => request({ |
| 82 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-trade/save`, | 82 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-trade/save`, |
| 83 | method: 'post', | 83 | method: 'post', |
| 84 | data: params | 84 | data: params |
| 85 | }) | 85 | }) |
| 86 | 86 | ||
| 87 | /** 资产融资信息修改 */ | 87 | /** 资产融资信息修改 */ |
| 88 | export const tradeUpdate = (params) => request({ | 88 | export const tradeUpdate = (params) => request({ |
| 89 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-trade/update`, | 89 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-trade/update`, |
| 90 | method: 'post', | 90 | method: 'post', |
| 91 | data: params | 91 | data: params |
| 92 | }) | 92 | }) | ... | ... |
| ... | @@ -42,7 +42,7 @@ export const getUserInfo = () => { | ... | @@ -42,7 +42,7 @@ export const getUserInfo = () => { |
| 42 | } | 42 | } |
| 43 | // 获取区划数据 | 43 | // 获取区划数据 |
| 44 | export const getAreaData = (params) => request({ | 44 | export const getAreaData = (params) => request({ |
| 45 | url: `${import.meta.env.VITE_APP_API_BASEURL}/area/data/get-areas`, | 45 | url: `${import.meta.env.VITE_APP_CONFIG_URL}/area/data/get-areas`, |
| 46 | method: 'get', | 46 | method: 'get', |
| 47 | params | 47 | params |
| 48 | }) | 48 | }) | ... | ... |
src/router/modules/dataAssetRegistry.ts
0 → 100644
| 1 | import type { RouteRecordRaw } from 'vue-router' | ||
| 2 | function Layout() { | ||
| 3 | return import('@/layouts/index.vue') | ||
| 4 | } | ||
| 5 | const routes: RouteRecordRaw[] = [ | ||
| 6 | { | ||
| 7 | path: '/data-asset-register/register-managemant', | ||
| 8 | component: Layout, | ||
| 9 | meta: { | ||
| 10 | title: '数据资产登记', | ||
| 11 | icon: 'sidebar-videos', | ||
| 12 | }, | ||
| 13 | children: [ | ||
| 14 | { | ||
| 15 | path: '', | ||
| 16 | name: 'registerManagemant', | ||
| 17 | component: () => import('@/views/data_asset/registerManagemant.vue'), | ||
| 18 | meta: { | ||
| 19 | title: '数据资产登记', | ||
| 20 | sidebar: false, | ||
| 21 | breadcrumb: false, | ||
| 22 | cache: true | ||
| 23 | }, | ||
| 24 | }, | ||
| 25 | { | ||
| 26 | path: 'register-start', | ||
| 27 | name: 'registerStart', | ||
| 28 | component: () => import('@/views/data_asset/registerStart.vue'), | ||
| 29 | meta: { | ||
| 30 | title: '新建资产登记', | ||
| 31 | sidebar: false, | ||
| 32 | breadcrumb: false, | ||
| 33 | cache: true, | ||
| 34 | editPage: true, | ||
| 35 | reuse: true | ||
| 36 | }, | ||
| 37 | beforeEnter: (to, from) => { | ||
| 38 | if (to.query.type) { | ||
| 39 | to.meta.title = `详情-`; | ||
| 40 | return; | ||
| 41 | } | ||
| 42 | if (to.query.guid) { | ||
| 43 | to.meta.title = `编辑-`; | ||
| 44 | to.meta.editPage = true; | ||
| 45 | } | ||
| 46 | } | ||
| 47 | }, | ||
| 48 | { | ||
| 49 | path: 'register-detail', | ||
| 50 | name: 'registerInfoDetail', | ||
| 51 | component: () => import('@/views/data_asset/registerDetail.vue'), | ||
| 52 | meta: { | ||
| 53 | title: '详情-', | ||
| 54 | sidebar: false, | ||
| 55 | breadcrumb: false, | ||
| 56 | cache: true, | ||
| 57 | reuse: true | ||
| 58 | } | ||
| 59 | } | ||
| 60 | ], | ||
| 61 | }, | ||
| 62 | { | ||
| 63 | path: '/data-asset-register/quality-evaluate', | ||
| 64 | component: Layout, | ||
| 65 | meta: { | ||
| 66 | title: '数据资产质量评估', | ||
| 67 | icon: 'sidebar-videos', | ||
| 68 | }, | ||
| 69 | children: [ | ||
| 70 | { | ||
| 71 | path: '', | ||
| 72 | name: 'qualityEvaluate', | ||
| 73 | component: () => import('@/views/data_asset/qualityEvaluate.vue'), | ||
| 74 | meta: { | ||
| 75 | title: '数据资产质量评估', | ||
| 76 | sidebar: false, | ||
| 77 | breadcrumb: false, | ||
| 78 | cache: true | ||
| 79 | }, | ||
| 80 | }, | ||
| 81 | { | ||
| 82 | path: 'register-detail', | ||
| 83 | name: 'registerDetail', | ||
| 84 | component: () => import('@/views/data_asset/registerDetail.vue'), | ||
| 85 | meta: { | ||
| 86 | title: '详情-', | ||
| 87 | sidebar: false, | ||
| 88 | breadcrumb: false, | ||
| 89 | cache: true, | ||
| 90 | reuse: true | ||
| 91 | } | ||
| 92 | } | ||
| 93 | ], | ||
| 94 | }, | ||
| 95 | { | ||
| 96 | path: '/data-asset-register/value-evaluate', | ||
| 97 | component: Layout, | ||
| 98 | meta: { | ||
| 99 | title: '数据资产价值评估', | ||
| 100 | icon: 'ep:grid', | ||
| 101 | }, | ||
| 102 | children: [ | ||
| 103 | { | ||
| 104 | path: '', | ||
| 105 | name: 'valueEvaluate', | ||
| 106 | component: () => import('@/views/data_asset/valueEvaluate.vue'), | ||
| 107 | meta: { | ||
| 108 | title: '数据资产价值评估', | ||
| 109 | sidebar: false, | ||
| 110 | breadcrumb: false, | ||
| 111 | cache: true | ||
| 112 | }, | ||
| 113 | }, | ||
| 114 | { | ||
| 115 | path: 'register-detail', | ||
| 116 | name: 'registerValueDetail', | ||
| 117 | component: () => import('@/views/data_asset/registerDetail.vue'), | ||
| 118 | meta: { | ||
| 119 | title: '详情-', | ||
| 120 | sidebar: false, | ||
| 121 | breadcrumb: false, | ||
| 122 | cache: true, | ||
| 123 | reuse: true | ||
| 124 | } | ||
| 125 | } | ||
| 126 | ], | ||
| 127 | }, | ||
| 128 | { | ||
| 129 | path: '/data-asset-register/certificate-management', | ||
| 130 | component: Layout, | ||
| 131 | meta: { | ||
| 132 | title: '登记证件管理', | ||
| 133 | icon: 'ep:grid', | ||
| 134 | }, | ||
| 135 | children: [ | ||
| 136 | { | ||
| 137 | path: '', | ||
| 138 | name: 'certificateManagement', | ||
| 139 | component: () => import('@/views/data_asset/certificateManagement.vue'), | ||
| 140 | meta: { | ||
| 141 | title: '登记证件管理', | ||
| 142 | sidebar: false, | ||
| 143 | cache: true, | ||
| 144 | breadcrumb: false, | ||
| 145 | }, | ||
| 146 | }, | ||
| 147 | { | ||
| 148 | path: 'register-detail', | ||
| 149 | name: 'certificateDetail', | ||
| 150 | component: () => import('@/views/data_asset/registerDetail.vue'), | ||
| 151 | meta: { | ||
| 152 | title: '详情-', | ||
| 153 | sidebar: false, | ||
| 154 | breadcrumb: false, | ||
| 155 | cache: true, | ||
| 156 | reuse: true | ||
| 157 | } | ||
| 158 | } | ||
| 159 | ], | ||
| 160 | }, | ||
| 161 | ] | ||
| 162 | export default routes |
src/router/modules/securityMenu.ts
0 → 100644
| 1 | import type { RouteRecordRaw } from 'vue-router' | ||
| 2 | |||
| 3 | function Layout() { | ||
| 4 | return import('@/layouts/index.vue') | ||
| 5 | } | ||
| 6 | |||
| 7 | const routes: RouteRecordRaw[] = [ | ||
| 8 | { | ||
| 9 | path: '/data-security/security-menu', | ||
| 10 | component: Layout, | ||
| 11 | meta: { | ||
| 12 | title: '数据资产合规信息', | ||
| 13 | icon: 'sidebar-videos', | ||
| 14 | }, | ||
| 15 | children: [ | ||
| 16 | { | ||
| 17 | path: '', | ||
| 18 | name: 'securityMenu', | ||
| 19 | component: () => import('@/views/security_menu/index.vue'), | ||
| 20 | meta: { | ||
| 21 | title: '数据资产合规信息', | ||
| 22 | sidebar: false, | ||
| 23 | breadcrumb: false, | ||
| 24 | cache: true | ||
| 25 | }, | ||
| 26 | }, | ||
| 27 | ], | ||
| 28 | }, | ||
| 29 | ] | ||
| 30 | |||
| 31 | export default routes |
| ... | @@ -6,6 +6,9 @@ import DataMeta from './modules/dataMeta'; | ... | @@ -6,6 +6,9 @@ import DataMeta from './modules/dataMeta'; |
| 6 | import DataQuality from './modules/dataQuality'; | 6 | import DataQuality from './modules/dataQuality'; |
| 7 | import DataInventory from './modules/dataInventory'; | 7 | import DataInventory from './modules/dataInventory'; |
| 8 | import AssetIndex from './modules/assetIndex'; | 8 | import AssetIndex from './modules/assetIndex'; |
| 9 | import DataAssetRegistry from './modules/dataAssetRegistry'; | ||
| 10 | import DataEntry from './modules/dataEntry'; | ||
| 11 | import SecurityMenu from './modules/securityMenu'; | ||
| 9 | 12 | ||
| 10 | import type { Route } from '#/global' | 13 | import type { Route } from '#/global' |
| 11 | import useSettingsStore from '@/store/modules/settings' | 14 | import useSettingsStore from '@/store/modules/settings' |
| ... | @@ -111,7 +114,7 @@ const asyncRoutes: Route.recordMainRaw[] = [ | ... | @@ -111,7 +114,7 @@ const asyncRoutes: Route.recordMainRaw[] = [ |
| 111 | }, | 114 | }, |
| 112 | { | 115 | { |
| 113 | meta: { | 116 | meta: { |
| 114 | title: '数据资产管理', | 117 | title: '数据产品管理', |
| 115 | }, | 118 | }, |
| 116 | children: [ | 119 | children: [ |
| 117 | ...DataAssess, | 120 | ...DataAssess, |
| ... | @@ -119,6 +122,30 @@ const asyncRoutes: Route.recordMainRaw[] = [ | ... | @@ -119,6 +122,30 @@ const asyncRoutes: Route.recordMainRaw[] = [ |
| 119 | }, | 122 | }, |
| 120 | { | 123 | { |
| 121 | meta: { | 124 | meta: { |
| 125 | title: '数据资产登记', | ||
| 126 | }, | ||
| 127 | children: [ | ||
| 128 | ...DataAssetRegistry, | ||
| 129 | ], | ||
| 130 | }, | ||
| 131 | { | ||
| 132 | meta: { | ||
| 133 | title: '数据资产入表', | ||
| 134 | }, | ||
| 135 | children: [ | ||
| 136 | ...DataEntry, | ||
| 137 | ], | ||
| 138 | }, | ||
| 139 | { | ||
| 140 | meta: { | ||
| 141 | title: '法律风险意见', | ||
| 142 | }, | ||
| 143 | children: [ | ||
| 144 | ...SecurityMenu, | ||
| 145 | ], | ||
| 146 | }, | ||
| 147 | { | ||
| 148 | meta: { | ||
| 122 | title: '元数据', | 149 | title: '元数据', |
| 123 | }, | 150 | }, |
| 124 | children: [ | 151 | children: [ | ... | ... |
| ... | @@ -232,11 +232,11 @@ const useUserStore = defineStore( | ... | @@ -232,11 +232,11 @@ const useUserStore = defineStore( |
| 232 | mark = 'data-inventory' | 232 | mark = 'data-inventory' |
| 233 | } else if (item.meta.title == '首页') { | 233 | } else if (item.meta.title == '首页') { |
| 234 | mark = 'data-asset-index' | 234 | mark = 'data-asset-index' |
| 235 | } else if (item.meta.title == '数据服务') { | 235 | } else if (item.meta.title == '数据资产登记') { |
| 236 | mark = 'data-service' | 236 | mark = 'data-asset-register' |
| 237 | } else if (item.meta.title == '首页') { | 237 | } else if (item.meta.title == '首页') { |
| 238 | mark = 'data-asset-index' | 238 | mark = 'data-asset-index' |
| 239 | } else if (item.meta.title == '数据资产管理') { | 239 | } else if (item.meta.title == '数据产品管理') { |
| 240 | mark = 'data-asset' | 240 | mark = 'data-asset' |
| 241 | } else if (item.meta.title == '入表交易融资') { | 241 | } else if (item.meta.title == '入表交易融资') { |
| 242 | mark = 'data-transaction' | 242 | mark = 'data-transaction' |
| ... | @@ -244,10 +244,10 @@ const useUserStore = defineStore( | ... | @@ -244,10 +244,10 @@ const useUserStore = defineStore( |
| 244 | mark = 'data-guide' | 244 | mark = 'data-guide' |
| 245 | } else if (item.meta.title == '入表服务管理') { | 245 | } else if (item.meta.title == '入表服务管理') { |
| 246 | mark = 'data-entry' | 246 | mark = 'data-entry' |
| 247 | } else if (item.meta.title == '数据产品管理') { | 247 | } else if (item.meta.title == '数据资产入表') { |
| 248 | mark = 'data-product' | 248 | mark = 'data-entry' |
| 249 | } else if (item.meta.title == '合作伙伴管理') { | 249 | } else if (item.meta.title == '法律风险意见') { |
| 250 | mark = 'data-partners' | 250 | mark = 'data-security' |
| 251 | } else if (item.meta.title == '金融服务') { | 251 | } else if (item.meta.title == '金融服务') { |
| 252 | mark = 'data-finance' | 252 | mark = 'data-finance' |
| 253 | } else if (item.meta.title == '系统管理') { | 253 | } else if (item.meta.title == '系统管理') { | ... | ... |
| ... | @@ -80,7 +80,9 @@ const handleFileDataChange = (fileFields, files, sheetName, data) => { | ... | @@ -80,7 +80,9 @@ const handleFileDataChange = (fileFields, files, sheetName, data) => { |
| 80 | } | 80 | } |
| 81 | 81 | ||
| 82 | const getFieldTypeList = () => { | 82 | const getFieldTypeList = () => { |
| 83 | getDataTypeList().then((res: any) => { | 83 | getDataTypeList({ |
| 84 | dictType: "字段类型" | ||
| 85 | }).then((res: any) => { | ||
| 84 | fieldTypes.value = []; | 86 | fieldTypes.value = []; |
| 85 | if (res.code == proxy.$passCode) { | 87 | if (res.code == proxy.$passCode) { |
| 86 | fieldTypes.value = res.data || []; | 88 | fieldTypes.value = res.data || []; |
| ... | @@ -91,7 +93,9 @@ const getFieldTypeList = () => { | ... | @@ -91,7 +93,9 @@ const getFieldTypeList = () => { |
| 91 | } | 93 | } |
| 92 | 94 | ||
| 93 | const getParamsListData = () => { | 95 | const getParamsListData = () => { |
| 94 | getParamsList().then((res: any) => { | 96 | getParamsList({ |
| 97 | dictType: "业务归属" | ||
| 98 | }).then((res: any) => { | ||
| 95 | paramsList.value = []; | 99 | paramsList.value = []; |
| 96 | if (res.code == proxy.$passCode) { | 100 | if (res.code == proxy.$passCode) { |
| 97 | paramsList.value = res.data || []; | 101 | paramsList.value = res.data || []; |
| ... | @@ -583,10 +587,10 @@ defineExpose({ | ... | @@ -583,10 +587,10 @@ defineExpose({ |
| 583 | <template #default="scope"> | 587 | <template #default="scope"> |
| 584 | <el-select v-if="scope.row['isEdit'] && !tableCreateInfo.guid" v-model="scope.row['dataType']" | 588 | <el-select v-if="scope.row['isEdit'] && !tableCreateInfo.guid" v-model="scope.row['dataType']" |
| 585 | @change="(val) => dataTypeChange(val, scope)" placeholder="请选择"> | 589 | @change="(val) => dataTypeChange(val, scope)" placeholder="请选择"> |
| 586 | <el-option v-for="opt in fieldTypes" :key="opt['paramValue']" :label="opt['paramName']" | 590 | <el-option v-for="opt in fieldTypes" :key="opt['value']" :label="opt['label']" |
| 587 | :value="opt['paramValue']" /> | 591 | :value="opt['value']" /> |
| 588 | </el-select> | 592 | </el-select> |
| 589 | <span v-else>{{ fieldTypes.find(f => f.paramValue === scope.row["dataType"])?.paramName || "--" | 593 | <span v-else>{{ fieldTypes.find(f => f.value === scope.row["dataType"])?.label || "--" |
| 590 | }}</span> | 594 | }}</span> |
| 591 | </template> | 595 | </template> |
| 592 | </el-table-column> | 596 | </el-table-column> |
| ... | @@ -611,11 +615,11 @@ defineExpose({ | ... | @@ -611,11 +615,11 @@ defineExpose({ |
| 611 | <template #default="scope"> | 615 | <template #default="scope"> |
| 612 | <el-select v-if="scope.row['isEdit'] && !(tableCreateInfo.guid && scope.row['isPrimary'] == 'Y')" | 616 | <el-select v-if="scope.row['isEdit'] && !(tableCreateInfo.guid && scope.row['isPrimary'] == 'Y')" |
| 613 | v-model="scope.row['dictionaryCode']" placeholder="请选择" clearable filterable> | 617 | v-model="scope.row['dictionaryCode']" placeholder="请选择" clearable filterable> |
| 614 | <el-option v-for="opt in paramsList" :key="opt['paramCode']" :label="opt['paramType']" | 618 | <el-option v-for="opt in paramsList" :key="opt['value']" :label="opt['label']" |
| 615 | :value="opt['paramCode']" /> | 619 | :value="opt['value']" /> |
| 616 | </el-select> | 620 | </el-select> |
| 617 | <span v-else>{{ scope.row['dictionaryCode'] ? (paramsList.find(p => p.paramCode == | 621 | <span v-else>{{ scope.row['dictionaryCode'] ? (paramsList.find(p => p.value == |
| 618 | scope.row['dictionaryCode'])?.paramType || "--") : '--' }}</span> | 622 | scope.row['dictionaryCode'])?.label || "--") : '--' }}</span> |
| 619 | </template> | 623 | </template> |
| 620 | </el-table-column> | 624 | </el-table-column> |
| 621 | <el-table-column prop="isPrimary" label="是否主键" width="130px" align="left" show-overflow-tooltip> | 625 | <el-table-column prop="isPrimary" label="是否主键" width="130px" align="left" show-overflow-tooltip> | ... | ... |
| ... | @@ -51,7 +51,7 @@ const parentAreaData: any = ref([]); | ... | @@ -51,7 +51,7 @@ const parentAreaData: any = ref([]); |
| 51 | const getArea = (node, resolve) => { | 51 | const getArea = (node, resolve) => { |
| 52 | const { level } = node | 52 | const { level } = node |
| 53 | let params = { | 53 | let params = { |
| 54 | parentId: node.value | 54 | parentGuid: node.value |
| 55 | } | 55 | } |
| 56 | if (!node.value) { | 56 | if (!node.value) { |
| 57 | if (getParentAreaPromise.value) { | 57 | if (getParentAreaPromise.value) { |
| ... | @@ -121,13 +121,22 @@ const baseInfoFormItems = ref([ | ... | @@ -121,13 +121,22 @@ const baseInfoFormItems = ref([ |
| 121 | default: '1', | 121 | default: '1', |
| 122 | options: damTypes.value, | 122 | options: damTypes.value, |
| 123 | props: { | 123 | props: { |
| 124 | value: 'paramValue', | 124 | value: 'value', |
| 125 | label: 'paramName' | 125 | label: 'label' |
| 126 | }, | 126 | }, |
| 127 | required: true, | 127 | required: true, |
| 128 | visible: true | 128 | visible: true |
| 129 | }, | 129 | }, |
| 130 | { | 130 | { |
| 131 | label: '权力主体', | ||
| 132 | type: 'input', | ||
| 133 | placeholder: '请输入', | ||
| 134 | field: 'rightMain', | ||
| 135 | maxlength: 20, | ||
| 136 | default: '', | ||
| 137 | required: true | ||
| 138 | }, | ||
| 139 | { | ||
| 131 | label: '所属主题', | 140 | label: '所属主题', |
| 132 | type: 'tree-select', | 141 | type: 'tree-select', |
| 133 | placeholder: '请选择', | 142 | placeholder: '请选择', |
| ... | @@ -137,8 +146,8 @@ const baseInfoFormItems = ref([ | ... | @@ -137,8 +146,8 @@ const baseInfoFormItems = ref([ |
| 137 | checkStrictly: false,//只能选择叶子节点。 | 146 | checkStrictly: false,//只能选择叶子节点。 |
| 138 | lazy: false, | 147 | lazy: false, |
| 139 | props: { | 148 | props: { |
| 140 | label: "paramName", | 149 | value: 'value', |
| 141 | value: "paramValue", | 150 | label: 'label' |
| 142 | }, | 151 | }, |
| 143 | filterable: true, | 152 | filterable: true, |
| 144 | clearable: true, | 153 | clearable: true, |
| ... | @@ -204,11 +213,28 @@ const baseInfoFormItems = ref([ | ... | @@ -204,11 +213,28 @@ const baseInfoFormItems = ref([ |
| 204 | type: "radio-group", | 213 | type: "radio-group", |
| 205 | placeholder: "", | 214 | placeholder: "", |
| 206 | field: "dataSources", | 215 | field: "dataSources", |
| 207 | block: true, | 216 | block: false, |
| 208 | default: 1, | 217 | default: 1, |
| 209 | options: dataSourcesList, | 218 | options: dataSourcesList, |
| 210 | required: true, | 219 | required: true, |
| 211 | }, | 220 | }, |
| 221 | // 是否公共数据 | ||
| 222 | { | ||
| 223 | label: '是否公共数据', | ||
| 224 | type: 'radio-group', | ||
| 225 | placeholder: '', | ||
| 226 | field: 'isPublicData', | ||
| 227 | block: false, | ||
| 228 | default: 'N', | ||
| 229 | options: [{ | ||
| 230 | value: 'Y', | ||
| 231 | label: '是' | ||
| 232 | }, { | ||
| 233 | value: 'N', | ||
| 234 | label: '否' | ||
| 235 | }], | ||
| 236 | required: true, | ||
| 237 | }, | ||
| 212 | { | 238 | { |
| 213 | label: '资源描述', | 239 | label: '资源描述', |
| 214 | type: 'textarea', | 240 | type: 'textarea', |
| ... | @@ -284,9 +310,11 @@ const assetDataTableInfo = ref({ | ... | @@ -284,9 +310,11 @@ const assetDataTableInfo = ref({ |
| 284 | { label: "序号", type: "index", width: 56, align: "center" }, | 310 | { label: "序号", type: "index", width: 56, align: "center" }, |
| 285 | { label: "表中文名称", field: "tableChName", width: 150, align: "left" }, | 311 | { label: "表中文名称", field: "tableChName", width: 150, align: "left" }, |
| 286 | { label: "表英文名称", field: "tableName", width: 150, align: "left" }, | 312 | { label: "表英文名称", field: "tableName", width: 150, align: "left" }, |
| 287 | { label: "表数据总数(条)", field: "dataCount", width: 150, align: "right", getName: (scope) => { | 313 | { |
| 314 | label: "表数据总数(条)", field: "dataCount", width: 150, align: "right", getName: (scope) => { | ||
| 288 | return scope.row["dataCount"] == null ? '--' : changeNum(scope.row["dataCount"], 0) | 315 | return scope.row["dataCount"] == null ? '--' : changeNum(scope.row["dataCount"], 0) |
| 289 | } }, | 316 | } |
| 317 | }, | ||
| 290 | { label: "描述", field: "description", width: 240 }, | 318 | { label: "描述", field: "description", width: 240 }, |
| 291 | { label: "修改人", field: "updateUserName", width: 140 }, | 319 | { label: "修改人", field: "updateUserName", width: 140 }, |
| 292 | { label: "修改时间", field: "updateTime", width: 180 }, | 320 | { label: "修改时间", field: "updateTime", width: 180 }, |
| ... | @@ -530,20 +558,39 @@ onBeforeMount(() => { | ... | @@ -530,20 +558,39 @@ onBeforeMount(() => { |
| 530 | } | 558 | } |
| 531 | }); | 559 | }); |
| 532 | } | 560 | } |
| 533 | getDamTypesList().then((res: any) => { | 561 | function replaceChildDictListKey(data) { |
| 562 | if (Array.isArray(data)) { | ||
| 563 | return data.map(item => replaceChildDictListKey(item)); | ||
| 564 | } else if (data && typeof data === 'object') { | ||
| 565 | const { childDictList, ...rest } = data; | ||
| 566 | return { | ||
| 567 | ...rest, | ||
| 568 | children: childDictList ? replaceChildDictListKey(childDictList) : undefined, | ||
| 569 | }; | ||
| 570 | } | ||
| 571 | return data; | ||
| 572 | } | ||
| 573 | getDamTypesList({ | ||
| 574 | dictType: "资产类型", | ||
| 575 | }).then((res: any) => { | ||
| 534 | if (res.code == proxy.$passCode) { | 576 | if (res.code == proxy.$passCode) { |
| 535 | damTypes.value = res.data || []; | 577 | damTypes.value = res.data || []; |
| 536 | let item = baseInfoFormItems.value.find(item => item.field == 'damType'); | 578 | baseInfoFormItems.value[1].options = damTypes.value; |
| 537 | item && (item.options = damTypes.value); | 579 | // let item = baseInfoFormItems.value.find(item => item.field == 'damType'); |
| 580 | // item && (item.options = damTypes.value); | ||
| 538 | } else { | 581 | } else { |
| 539 | proxy.$ElMessage.error(res.msg); | 582 | proxy.$ElMessage.error(res.msg); |
| 540 | } | 583 | } |
| 541 | }) | 584 | }) |
| 542 | getSubjectDoaminList().then((res: any) => { | 585 | getSubjectDoaminList({ |
| 586 | dictType: "数据资产目录主题名称", | ||
| 587 | }).then((res: any) => { | ||
| 543 | if (res.code == proxy.$passCode) { | 588 | if (res.code == proxy.$passCode) { |
| 544 | subjectDomainListData.value = res.data || []; | 589 | subjectDomainListData.value = res.data || []; |
| 545 | let item = baseInfoFormItems.value.find(item => item.field == 'subjectDomain'); | 590 | replaceChildDictListKey(subjectDomainListData.value); |
| 546 | item && (item.options = subjectDomainListData.value); | 591 | baseInfoFormItems.value[3].options = replaceChildDictListKey(subjectDomainListData.value); |
| 592 | // let item = baseInfoFormItems.value.find(item => item.field == 'subjectDomain'); | ||
| 593 | // item && (item.options = subjectDomainListData.value); | ||
| 547 | } else { | 594 | } else { |
| 548 | proxy.$ElMessage.error(res.msg); | 595 | proxy.$ElMessage.error(res.msg); |
| 549 | } | 596 | } |
| ... | @@ -735,8 +782,8 @@ const handleImportSave = (val) => { | ... | @@ -735,8 +782,8 @@ const handleImportSave = (val) => { |
| 735 | <div class="content_main"> | 782 | <div class="content_main"> |
| 736 | <ContentWrap id="id-baseInfo" title="资源基本信息" description="" :isExpand="baseInfoExpand" :expand-swicth="true" | 783 | <ContentWrap id="id-baseInfo" title="资源基本信息" description="" :isExpand="baseInfoExpand" :expand-swicth="true" |
| 737 | class="mb16" @expand="(v) => baseInfoExpand = v"> | 784 | class="mb16" @expand="(v) => baseInfoExpand = v"> |
| 738 | <Form ref="baseInfoFormRef" :itemList="baseInfoFormItems" formId="base-info-form" :rules="baseInfoFormRules" @selectChange="baseSelectChange" | 785 | <Form ref="baseInfoFormRef" :itemList="baseInfoFormItems" formId="base-info-form" :rules="baseInfoFormRules" |
| 739 | @checkboxChange="handleBaseInfoCheckboxChange" col="col3" /> | 786 | @selectChange="baseSelectChange" @checkboxChange="handleBaseInfoCheckboxChange" col="col3" /> |
| 740 | </ContentWrap> | 787 | </ContentWrap> |
| 741 | <ContentWrap id="id-tableInfo" title="资源表" description="" :expand-swicth="true" :isExpand="assetTableInfoExpand" | 788 | <ContentWrap id="id-tableInfo" title="资源表" description="" :expand-swicth="true" :isExpand="assetTableInfoExpand" |
| 742 | @expand="(v) => assetTableInfoExpand = v"> | 789 | @expand="(v) => assetTableInfoExpand = v"> | ... | ... |
| ... | @@ -46,8 +46,8 @@ const searchItemList = ref([ | ... | @@ -46,8 +46,8 @@ const searchItemList = ref([ |
| 46 | filterable: true, | 46 | filterable: true, |
| 47 | options: damTypes.value, | 47 | options: damTypes.value, |
| 48 | props: { | 48 | props: { |
| 49 | value: 'paramValue', | 49 | value: 'value', |
| 50 | label: 'paramName' | 50 | label: 'label' |
| 51 | } | 51 | } |
| 52 | }, | 52 | }, |
| 53 | { | 53 | { |
| ... | @@ -55,7 +55,7 @@ const searchItemList = ref([ | ... | @@ -55,7 +55,7 @@ const searchItemList = ref([ |
| 55 | type: 'tree-select', | 55 | type: 'tree-select', |
| 56 | placeholder: '所属主题', | 56 | placeholder: '所属主题', |
| 57 | field: 'subjectDomain', | 57 | field: 'subjectDomain', |
| 58 | nodeKey: 'paramValue', | 58 | nodeKey: 'value', |
| 59 | options: subjectDomainListData.value, | 59 | options: subjectDomainListData.value, |
| 60 | //showAllLevels: false, | 60 | //showAllLevels: false, |
| 61 | checkStrictly: false,//只能选择叶子节点。 | 61 | checkStrictly: false,//只能选择叶子节点。 |
| ... | @@ -64,14 +64,30 @@ const searchItemList = ref([ | ... | @@ -64,14 +64,30 @@ const searchItemList = ref([ |
| 64 | collapseTagsTooltip: true, | 64 | collapseTagsTooltip: true, |
| 65 | collapseTags: true, | 65 | collapseTags: true, |
| 66 | props: { | 66 | props: { |
| 67 | label: "paramName", | 67 | label: "label", |
| 68 | value: "paramValue", | 68 | value: "value", |
| 69 | }, | 69 | }, |
| 70 | filterable: true, | 70 | filterable: true, |
| 71 | clearable: true, | 71 | clearable: true, |
| 72 | default: [], | 72 | default: [], |
| 73 | showCheckbox: true | 73 | showCheckbox: true |
| 74 | }, | 74 | }, |
| 75 | { | ||
| 76 | type: "input", | ||
| 77 | label: "", | ||
| 78 | field: "damName", | ||
| 79 | default: "", | ||
| 80 | placeholder: "来源", | ||
| 81 | clearable: true, | ||
| 82 | }, | ||
| 83 | { | ||
| 84 | type: "input", | ||
| 85 | label: "", | ||
| 86 | field: "damName", | ||
| 87 | default: "", | ||
| 88 | placeholder: "登记状态", | ||
| 89 | clearable: true, | ||
| 90 | }, | ||
| 75 | ]); | 91 | ]); |
| 76 | 92 | ||
| 77 | const pageInfo = ref({ | 93 | const pageInfo = ref({ |
| ... | @@ -201,25 +217,44 @@ onActivated(() => { | ... | @@ -201,25 +217,44 @@ onActivated(() => { |
| 201 | }); | 217 | }); |
| 202 | 218 | ||
| 203 | onBeforeMount(() => { | 219 | onBeforeMount(() => { |
| 204 | getDamTypesList().then((res: any) => { | 220 | getDamTypesList({ |
| 221 | dictType: "资产类型", | ||
| 222 | }).then((res: any) => { | ||
| 205 | if (res.code == proxy.$passCode) { | 223 | if (res.code == proxy.$passCode) { |
| 206 | damTypes.value = res.data || []; | 224 | damTypes.value = res.data || []; |
| 207 | let item = searchItemList.value.find(item => item.field == 'damType'); | 225 | searchItemList.value[1].options = damTypes.value; |
| 208 | item && (item.options = damTypes.value); | 226 | // let item = searchItemList.value.find(item => item.field == 'damType'); |
| 227 | // item && (item.options = damTypes.value); | ||
| 209 | } else { | 228 | } else { |
| 210 | proxy.$ElMessage.error(res.msg); | 229 | proxy.$ElMessage.error(res.msg); |
| 211 | } | 230 | } |
| 212 | }) | 231 | }) |
| 213 | getSubjectDoaminList().then((res: any) => { | 232 | getSubjectDoaminList({ |
| 233 | dictType: "数据资产目录主题名称", | ||
| 234 | }).then((res: any) => { | ||
| 214 | if (res.code == proxy.$passCode) { | 235 | if (res.code == proxy.$passCode) { |
| 215 | subjectDomainListData.value = res.data || []; | 236 | subjectDomainListData.value = res.data || []; |
| 216 | let item = searchItemList.value.find(item => item.field == 'subjectDomain'); | 237 | replaceChildDictListKey(subjectDomainListData.value); |
| 217 | item && (item.options = subjectDomainListData.value); | 238 | searchItemList.value[2].options = replaceChildDictListKey(subjectDomainListData.value); |
| 239 | // let item = searchItemList.value.find(item => item.field == 'subjectDomain'); | ||
| 240 | // item && (item.options = subjectDomainListData.value); | ||
| 218 | } else { | 241 | } else { |
| 219 | proxy.$ElMessage.error(res.msg); | 242 | proxy.$ElMessage.error(res.msg); |
| 220 | } | 243 | } |
| 221 | }) | 244 | }) |
| 222 | }); | 245 | }); |
| 246 | function replaceChildDictListKey(data) { | ||
| 247 | if (Array.isArray(data)) { | ||
| 248 | return data.map(item => replaceChildDictListKey(item)); | ||
| 249 | } else if (data && typeof data === 'object') { | ||
| 250 | const { childDictList, ...rest } = data; | ||
| 251 | return { | ||
| 252 | ...rest, | ||
| 253 | children: childDictList ? replaceChildDictListKey(childDictList) : undefined, | ||
| 254 | }; | ||
| 255 | } | ||
| 256 | return data; | ||
| 257 | } | ||
| 223 | 258 | ||
| 224 | const handleCreate = () => { | 259 | const handleCreate = () => { |
| 225 | router.push({ | 260 | router.push({ | ... | ... |
| ... | @@ -15,6 +15,7 @@ import { TableColumnWidth } from '@/utils/enum'; | ... | @@ -15,6 +15,7 @@ import { TableColumnWidth } from '@/utils/enum'; |
| 15 | import TableTools from "@/components/Tools/table_tools.vue"; | 15 | import TableTools from "@/components/Tools/table_tools.vue"; |
| 16 | import Table from "@/components/Table/index.vue"; | 16 | import Table from "@/components/Table/index.vue"; |
| 17 | import Dialog from "@/components/Dialog/index.vue"; | 17 | import Dialog from "@/components/Dialog/index.vue"; |
| 18 | import { getDamTypesList } from "@/api/modules/dataAsset"; | ||
| 18 | 19 | ||
| 19 | const { proxy } = getCurrentInstance() as any; | 20 | const { proxy } = getCurrentInstance() as any; |
| 20 | const router = useRouter(); | 21 | const router = useRouter(); |
| ... | @@ -37,8 +38,8 @@ const searchItemList: any = ref([ | ... | @@ -37,8 +38,8 @@ const searchItemList: any = ref([ |
| 37 | field: "damType", | 38 | field: "damType", |
| 38 | default: "", | 39 | default: "", |
| 39 | props: { | 40 | props: { |
| 40 | value: 'paramValue', | 41 | value: 'value', |
| 41 | label: 'paramName' | 42 | label: 'label' |
| 42 | }, | 43 | }, |
| 43 | placeholder: "产品类型", | 44 | placeholder: "产品类型", |
| 44 | options: damTypes.value, | 45 | options: damTypes.value, |
| ... | @@ -97,14 +98,14 @@ const tableInfo = ref({ | ... | @@ -97,14 +98,14 @@ const tableInfo = ref({ |
| 97 | width: 140, | 98 | width: 140, |
| 98 | btns: (scope) => { | 99 | btns: (scope) => { |
| 99 | let row = scope.row, btnArr: any = []; | 100 | let row = scope.row, btnArr: any = []; |
| 100 | if(row.approveState == 'Y'){ | 101 | if (row.approveState == 'Y') { |
| 101 | if(row.listingStatus == 'Y'){ | 102 | if (row.listingStatus == 'Y') { |
| 102 | btnArr.splice(0, 0, { label: "详情", value: "detail" }); | 103 | btnArr.splice(0, 0, { label: "详情", value: "detail" }); |
| 103 | } else { | 104 | } else { |
| 104 | btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" }); | 105 | btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" }); |
| 105 | } | 106 | } |
| 106 | } else { | 107 | } else { |
| 107 | if(row.approveState == 'A'){ | 108 | if (row.approveState == 'A') { |
| 108 | btnArr.splice(0, 0, { label: "详情", value: "detail" }); | 109 | btnArr.splice(0, 0, { label: "详情", value: "detail" }); |
| 109 | } else { | 110 | } else { |
| 110 | btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" }); | 111 | btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" }); |
| ... | @@ -207,7 +208,7 @@ const tableBtnClick = (scope, btn) => { | ... | @@ -207,7 +208,7 @@ const tableBtnClick = (scope, btn) => { |
| 207 | }; | 208 | }; |
| 208 | 209 | ||
| 209 | const toPatn = (type) => { | 210 | const toPatn = (type) => { |
| 210 | if(type == 'add'){ | 211 | if (type == 'add') { |
| 211 | router.push({ | 212 | router.push({ |
| 212 | name: "productListingDetail", | 213 | name: "productListingDetail", |
| 213 | query: { | 214 | query: { |
| ... | @@ -274,11 +275,23 @@ onActivated(() => { | ... | @@ -274,11 +275,23 @@ onActivated(() => { |
| 274 | }) | 275 | }) |
| 275 | 276 | ||
| 276 | onBeforeMount(() => { | 277 | onBeforeMount(() => { |
| 277 | getParamsDataList({ paramCode: 'DAM-TYPE' }).then((res: any) => { | 278 | // getParamsDataList({ paramCode: 'DAM-TYPE' }).then((res: any) => { |
| 279 | // if (res.code == proxy.$passCode) { | ||
| 280 | // damTypes.value = res.data || []; | ||
| 281 | // let item = searchItemList.value.find(item => item.field == 'damType'); | ||
| 282 | // item && (item.options = damTypes.value); | ||
| 283 | // } else { | ||
| 284 | // proxy.$ElMessage.error(res.msg); | ||
| 285 | // } | ||
| 286 | // }) | ||
| 287 | getDamTypesList({ | ||
| 288 | dictType: "资产类型", | ||
| 289 | }).then((res: any) => { | ||
| 278 | if (res.code == proxy.$passCode) { | 290 | if (res.code == proxy.$passCode) { |
| 279 | damTypes.value = res.data || []; | 291 | damTypes.value = res.data || []; |
| 280 | let item = searchItemList.value.find(item => item.field == 'damType'); | 292 | searchItemList.value[1].options = damTypes.value; |
| 281 | item && (item.options = damTypes.value); | 293 | // let item = searchItemList.value.find(item => item.field == 'damType'); |
| 294 | // item && (item.options = damTypes.value); | ||
| 282 | } else { | 295 | } else { |
| 283 | proxy.$ElMessage.error(res.msg); | 296 | proxy.$ElMessage.error(res.msg); |
| 284 | } | 297 | } |
| ... | @@ -296,7 +309,8 @@ onBeforeMount(() => { | ... | @@ -296,7 +309,8 @@ onBeforeMount(() => { |
| 296 | </div> | 309 | </div> |
| 297 | </div> | 310 | </div> |
| 298 | <div class="table_panel_wrap"> | 311 | <div class="table_panel_wrap"> |
| 299 | <Table :tableInfo="tableInfo" @tableBtnClick="tableBtnClick" @tablePageChange="tablePageChange" @tableSwitchBeforeChange="tableSwitchBeforeChange" /> | 312 | <Table :tableInfo="tableInfo" @tableBtnClick="tableBtnClick" @tablePageChange="tablePageChange" |
| 313 | @tableSwitchBeforeChange="tableSwitchBeforeChange" /> | ||
| 300 | </div> | 314 | </div> |
| 301 | </div> | 315 | </div> |
| 302 | </template> | 316 | </template> | ... | ... |
This diff is collapsed.
Click to expand it.
src/views/security_menu/index.vue
0 → 100644
| 1 | <route lang="yaml"> | ||
| 2 | name: securityMenu //标签管理 | ||
| 3 | </route> | ||
| 4 | |||
| 5 | <script lang="ts" setup name="securityMenu"> | ||
| 6 | import TableTools from '@/components/Tools/table_tools.vue'; | ||
| 7 | const { proxy } = getCurrentInstance() as any; | ||
| 8 | const dialogLabelFormRef = ref(); | ||
| 9 | |||
| 10 | |||
| 11 | onBeforeMount(async () => { | ||
| 12 | |||
| 13 | }); | ||
| 14 | // 右侧表格配置 | ||
| 15 | const tableDataList = ref([]); | ||
| 16 | // 删除标签guids | ||
| 17 | const deleteLabelGuids = ref<any>([]); | ||
| 18 | |||
| 19 | // 保存编辑的guid | ||
| 20 | const editLabelRow = ref<any>(''); | ||
| 21 | const page = ref({ | ||
| 22 | limit: 50, | ||
| 23 | curr: 1, | ||
| 24 | sizes: [ | ||
| 25 | { label: "10", value: 10 }, | ||
| 26 | { label: "50", value: 50 }, | ||
| 27 | { label: "100", value: 100 }, | ||
| 28 | { label: "150", value: 150 }, | ||
| 29 | { label: "200", value: 200 }, | ||
| 30 | ], | ||
| 31 | }); | ||
| 32 | const tableInfo = ref({ | ||
| 33 | id: "role-manage-table", | ||
| 34 | multiple: true, | ||
| 35 | fixedSelection: true, | ||
| 36 | fields: [ | ||
| 37 | { label: "序号", type: "index", width: 56, align: "center" }, | ||
| 38 | { label: "数据产品编号", field: "label", type: 'text_btn', class: 'drawer-detail-cell', width: 160, value: 'detail', columClass: 'text_btn' }, | ||
| 39 | { | ||
| 40 | label: "数据产品名称", field: "classifyNames", width: 200, | ||
| 41 | }, | ||
| 42 | { label: "数据类型", field: "gradeDetailName", width: 100 }, | ||
| 43 | { | ||
| 44 | label: '权力主体', field: 'bizState', type: 'switch', activeText: '启用', inactiveText: '停用', activeValue: 'Y', inactiveValue: 'N', switchWidth: 56, width: 100, align: 'center' | ||
| 45 | }, | ||
| 46 | { label: "是否公共数据", field: "updateUserName", width: 120 }, | ||
| 47 | { label: "状态", field: "updateTime", width: 160 }, | ||
| 48 | ], | ||
| 49 | data: tableDataList.value, | ||
| 50 | page: { | ||
| 51 | type: "normal", | ||
| 52 | rows: 0, | ||
| 53 | ...page.value, | ||
| 54 | }, | ||
| 55 | actionInfo: { | ||
| 56 | label: "操作", | ||
| 57 | type: "btn", | ||
| 58 | width: 120, | ||
| 59 | fixed: 'right', | ||
| 60 | btns: [ | ||
| 61 | { | ||
| 62 | label: "编辑", value: "edit", click: async (scope) => { | ||
| 63 | console.log('编辑', scope); | ||
| 64 | } | ||
| 65 | }, | ||
| 66 | { | ||
| 67 | label: "删除 ", value: "delete", click: (scope) => { | ||
| 68 | console.log('删除', scope); | ||
| 69 | |||
| 70 | } | ||
| 71 | }, | ||
| 72 | ] | ||
| 73 | }, | ||
| 74 | loading: false | ||
| 75 | }); | ||
| 76 | |||
| 77 | |||
| 78 | |||
| 79 | /**弹窗配置 */ | ||
| 80 | const newCreateGradeFormItems = ref<any>([{ | ||
| 81 | label: '标签名', | ||
| 82 | type: 'input', | ||
| 83 | placeholder: '请选择', | ||
| 84 | field: 'label', | ||
| 85 | default: '', | ||
| 86 | required: true, | ||
| 87 | filterable: true, | ||
| 88 | clearable: true, | ||
| 89 | visible: true, | ||
| 90 | block: true, | ||
| 91 | }, | ||
| 92 | { | ||
| 93 | label: '分类', | ||
| 94 | type: 'tree-select', | ||
| 95 | placeholder: '请选择', | ||
| 96 | field: 'classifyDetailGuid', | ||
| 97 | default: '', | ||
| 98 | options: [], | ||
| 99 | props: { | ||
| 100 | label: "classifyName", | ||
| 101 | value: "guid", | ||
| 102 | }, | ||
| 103 | required: true, | ||
| 104 | checkStricty: true, | ||
| 105 | lazy: false, | ||
| 106 | filterable: true, | ||
| 107 | clearable: true, | ||
| 108 | visible: true, | ||
| 109 | block: true, | ||
| 110 | }, | ||
| 111 | { | ||
| 112 | label: '分级', | ||
| 113 | type: 'select', | ||
| 114 | maxlength: 19, | ||
| 115 | placeholder: '请输入', | ||
| 116 | field: 'gradeDetailGuid', | ||
| 117 | default: '', | ||
| 118 | options: [], | ||
| 119 | props: { | ||
| 120 | label: 'name', | ||
| 121 | value: 'guid', | ||
| 122 | }, | ||
| 123 | clearable: true, | ||
| 124 | required: true, | ||
| 125 | block: true, | ||
| 126 | }, | ||
| 127 | // { | ||
| 128 | // label: ' ', | ||
| 129 | // type: 'label', | ||
| 130 | // default: '规则配置', | ||
| 131 | // block: true, | ||
| 132 | // col: 'title-label' | ||
| 133 | // }, | ||
| 134 | // { | ||
| 135 | // label: '精确匹配', | ||
| 136 | // type: 'textarea', | ||
| 137 | // maxlength: 200, | ||
| 138 | // placeholder: '请输入字段中文,中间用英文“,”分号隔开', | ||
| 139 | // field: 'matchChValue', | ||
| 140 | // default: '', | ||
| 141 | // clearable: true, | ||
| 142 | // required: false, | ||
| 143 | |||
| 144 | // }, | ||
| 145 | // { | ||
| 146 | // label: '', | ||
| 147 | // type: 'textarea', | ||
| 148 | // maxlength: 200, | ||
| 149 | // placeholder: '请输入字段中文,中间用英文“,”分号隔开', | ||
| 150 | // field: 'matchEnValue', | ||
| 151 | // default: '', | ||
| 152 | // clearable: true, | ||
| 153 | // required: false, | ||
| 154 | // } | ||
| 155 | ]); | ||
| 156 | |||
| 157 | const newCreateGradeFormRules = ref({ | ||
| 158 | label: [ | ||
| 159 | { required: true, message: '请输入标签名', trigger: 'change' } | ||
| 160 | ], | ||
| 161 | detailGuid: [ | ||
| 162 | { required: true, message: '请选择分类', trigger: 'change' } | ||
| 163 | ], | ||
| 164 | gradeDetailGuid: [ | ||
| 165 | { required: true, message: '请选择分级', trigger: 'change' } | ||
| 166 | ], | ||
| 167 | }); | ||
| 168 | |||
| 169 | const newCreateGradeStandardDialogInfo = ref({ | ||
| 170 | visible: false, | ||
| 171 | size: 600, | ||
| 172 | title: "添加标签", | ||
| 173 | type: "", | ||
| 174 | formInfo: { | ||
| 175 | id: "grade-form", | ||
| 176 | items: newCreateGradeFormItems.value, | ||
| 177 | rules: newCreateGradeFormRules.value, | ||
| 178 | }, | ||
| 179 | submitBtnLoading: false, | ||
| 180 | btns: { | ||
| 181 | cancel: () => { | ||
| 182 | newCreateGradeStandardDialogInfo.value.visible = false; | ||
| 183 | newCreateGradeStandardDialogInfo.value.submitBtnLoading = false; | ||
| 184 | }, | ||
| 185 | submit: async (btn, info) => { | ||
| 186 | } | ||
| 187 | } | ||
| 188 | }) | ||
| 189 | |||
| 190 | |||
| 191 | |||
| 192 | const classSearchItemList = ref<any>([ | ||
| 193 | { | ||
| 194 | type: 'select', | ||
| 195 | multiple: true, | ||
| 196 | label: '', | ||
| 197 | field: 'labelName', | ||
| 198 | default: [], | ||
| 199 | options: [], | ||
| 200 | placeholder: '请选择标签名称', | ||
| 201 | clearable: true, | ||
| 202 | filterable: true, | ||
| 203 | visible: true | ||
| 204 | }, | ||
| 205 | // 状态,可以编辑。 | ||
| 206 | |||
| 207 | { | ||
| 208 | type: 'select', | ||
| 209 | multiple: true, | ||
| 210 | label: '', | ||
| 211 | field: 'state', | ||
| 212 | default: [], | ||
| 213 | options: [], | ||
| 214 | placeholder: '状态', | ||
| 215 | clearable: true, | ||
| 216 | filterable: true, | ||
| 217 | visible: true | ||
| 218 | } | ||
| 219 | |||
| 220 | ]); | ||
| 221 | |||
| 222 | const guids = ref<any>([]) | ||
| 223 | const selectChange = async (val: any, row: any) => { | ||
| 224 | console.log('selectChange', val, row); | ||
| 225 | if (val) { | ||
| 226 | guids.value = val; | ||
| 227 | } | ||
| 228 | }; | ||
| 229 | |||
| 230 | /** 搜索查询分类标准 */ | ||
| 231 | const refCount = ref(0); | ||
| 232 | const searchClass = async (val: any, clear: boolean = false) => { | ||
| 233 | console.log('searchClass', val, clear); | ||
| 234 | if (clear) { | ||
| 235 | classSearchItemList.value.map(item => item.default = '') | ||
| 236 | guids.value = [] | ||
| 237 | |||
| 238 | return; | ||
| 239 | } | ||
| 240 | if (val?.labelName?.length !== 0 || refCount.value >= 1) { | ||
| 241 | |||
| 242 | } | ||
| 243 | |||
| 244 | }; | ||
| 245 | |||
| 246 | const addNewLabel = () => { | ||
| 247 | newCreateGradeStandardDialogInfo.value.visible = true; | ||
| 248 | newCreateGradeStandardDialogInfo.value.title = '新增标签'; | ||
| 249 | newCreateGradeFormItems.value.forEach(item => { | ||
| 250 | item.default = ''; | ||
| 251 | item.disabled = false; | ||
| 252 | }); | ||
| 253 | newCreateGradeStandardDialogInfo.value.submitBtnLoading = false; | ||
| 254 | } | ||
| 255 | |||
| 256 | |||
| 257 | |||
| 258 | </script> | ||
| 259 | |||
| 260 | |||
| 261 | <template> | ||
| 262 | <div class="data-label"> | ||
| 263 | <div class="container_wrap"> | ||
| 264 | <div class="main_wrap"> | ||
| 265 | <div class="main_wrap-top-area"> | ||
| 266 | <TableTools :searchItems="classSearchItemList" :searchId="'template-manage-search'" @search="searchClass" | ||
| 267 | @select-change="selectChange" /> | ||
| 268 | </div> | ||
| 269 | <div> | ||
| 270 | <el-button type="primary" class="v-add" @click="addNewLabel">新增</el-button> | ||
| 271 | <!-- <el-button class="v-import">导入</el-button> | ||
| 272 | <el-button>导出</el-button> --> | ||
| 273 | </div> | ||
| 274 | <div class="table_panel_wrap"> | ||
| 275 | <Table :tableInfo="tableInfo" /> | ||
| 276 | </div> | ||
| 277 | </div> | ||
| 278 | </div> | ||
| 279 | <Dialog_form ref="dialogLabelFormRef" :dialogConfigInfo="newCreateGradeStandardDialogInfo" class="v-dialog-form"> | ||
| 280 | </Dialog_form> | ||
| 281 | </div> | ||
| 282 | </template> | ||
| 283 | |||
| 284 | <style lang="scss" scoped> | ||
| 285 | .data-label { | ||
| 286 | width: 100%; | ||
| 287 | height: 100%; | ||
| 288 | |||
| 289 | .container_wrap { | ||
| 290 | height: 100%; | ||
| 291 | |||
| 292 | .main_wrap { | ||
| 293 | height: 100%; | ||
| 294 | padding: 11px 16px 0 16px; | ||
| 295 | |||
| 296 | .main_wrap-top-area { | ||
| 297 | display: flex; | ||
| 298 | margin-bottom: 10px; | ||
| 299 | align-items: center; | ||
| 300 | |||
| 301 | .v-serach { | ||
| 302 | margin-left: 10px; | ||
| 303 | } | ||
| 304 | } | ||
| 305 | |||
| 306 | .table_panel_wrap { | ||
| 307 | margin-top: 12px; | ||
| 308 | width: 100%; | ||
| 309 | height: calc(100% - 105px); | ||
| 310 | min-height: 210px; | ||
| 311 | overflow: visible; | ||
| 312 | } | ||
| 313 | } | ||
| 314 | } | ||
| 315 | } | ||
| 316 | </style> |
-
Please register or sign in to post a comment