2d429e72 by xukangle

update : 增加项目所需的所有路由

1 parent 030346af
......@@ -2,83 +2,83 @@ import request from "@/utils/request";
/** 获取登记列表。 */
export const getRegisterList = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-base/page-list`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/page-list`,
method: 'post',
data: params
})
/** 获取登记详情 */
export const getRegiaterDetail = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-base/detail`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/detail`,
method: 'get',
params
})
/** 提交登记信息。 */
export const registerSave = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-base/save`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/save`,
method: 'post',
data: params
});
/** 更新登记信息 */
export const registerUpdate = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-base/update`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/update`,
method: 'post',
data: params
});
/** 删除登记信息 */
export const registerDelete = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-base/delete`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/delete`,
method: 'delete',
data: params
});
/** 获取当前会员审批流程信息 */
export const getTenantApprove = (params={}) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-approve/get-node`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/get-node`,
method: 'get',
params
});
/** 获取资产登记,审批列表。 */
export const getApproveList = (bizGuid) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-approve/biz-arppove-list?biz_guid=${bizGuid}`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/biz-arppove-list?biz_guid=${bizGuid}`,
method: 'get'
});
/** 撤销审批流程 */
export const registerApproveCancel = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-approve/canal`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/canal`,
method: 'post',
data: params
});
/** 重新提交审批流程 */
export const registerApproveReSubmit = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-approve/resubmit`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/resubmit`,
method: 'post',
data: params
});
/** 通过资产登记流程 */
export const registerApproveAllow = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-approve/allow`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/allow`,
method: 'post',
data: params
});
/** 驳回资产登记流程 */
export const registerApproveBackup = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-approve/backup`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/backup`,
method: 'post',
data: params
});
/** 获取企业名称列表,用于搜索 */
export const getRegisterTenant = () => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-base/get-tenant-list`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/get-tenant-list`,
method: 'get'
});
......@@ -86,21 +86,21 @@ export const getRegisterTenant = () => request({
/** 获取资产质量评价列表。 */
export const getQualityEvaList = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/quality-evaluation/page-list`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/page-list`,
method: 'post',
data: params
})
/** 发起数据质量评价 */
export const saveQuality = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/quality-evaluation/save`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/save`,
method: 'post',
data: params
})
/** 再次提交数据质量评价 */
export const updatQuality = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/quality-evaluation/update`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/update`,
method: 'post',
data: params
})
......@@ -108,27 +108,27 @@ export const updatQuality = (params) => request({
/** 获取可以发起资产质量评价的选项列表。 */
/** type: 1 质量评价;2 资产评估 */
export const getRegisteredList = (type) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-base/get-valid-list?type=${type}`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/get-valid-list?type=${type}`,
method: 'get'
})
/** 质量评价审批通过 */
export const qualityAllow = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/quality-evaluation/allow`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/allow`,
method: 'post',
data: params
});
/** 删除质量评价 */
export const deleteQuality = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/quality-evaluation/delete`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/delete`,
method: 'delete',
data: params
});
/** 获取资产质量评价详情 */
export const getEvaDetail = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/quality-evaluation/detail`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/detail`,
method: 'get',
params
})
......@@ -137,42 +137,42 @@ export const getEvaDetail = (params) => request({
/** 获取资产价值评估分页列表。 */
export const getCostAssessList = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cost-assessment/page-list`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/page-list`,
method: 'post',
data: params
})
/** 发起数据价值评估 */
export const saveCostAssess = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cost-assessment/save`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/save`,
method: 'post',
data: params
})
/** 再次提交数据价值评估 */
export const updateCostAssess = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cost-assessment/update`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/update`,
method: 'post',
data: params
})
/** 删除数据价值评估 */
export const deleteCostAssess = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cost-assessment/delete`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/delete`,
method: 'delete',
data: params
});
/** 通过价值评估审批 */
export const costAssessAllow = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cost-assessment/allow`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/allow`,
method: 'post',
data: params
});
/** 获取价值评估详情 */
export const getCostAssessDetail = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cost-assessment/detail`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/detail`,
method: 'get',
params
})
......@@ -180,21 +180,21 @@ export const getCostAssessDetail = (params) => request({
/** ------- 证件管理--------- */
/** 获取证件管理分页列表数据 */
export const getRegistDocumentList = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-document/page-list`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-document/page-list`,
method: 'post',
data: params
})
/** 获取证件详情 */
export const getCertificateDetail = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-document/detail`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-document/detail`,
method: 'get',
params
})
/** 发证确认 */
export const updateCertificate = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-document/update-state`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-document/update-state`,
method: 'post',
data: params
})
......@@ -208,7 +208,7 @@ export const getServiceDetail = (params) => request({
/** 获取可使用的资产目录列表 */
export const getRegisterCatalogList = () => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/dam-catalog-table/dam-list?isRegister=${'Y'}`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/dam-list?isRegister=${'Y'}`,
method: 'get'
})
......@@ -234,33 +234,52 @@ export const dataSourcesList = [
}
]
//获取参数字典列表。
export const getParamsList = () => request({
url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-param-list`,
method: 'get'
//获取参数字典列表。 这个是主系统的所有字典
// export const getParamsList = (data) => request({
// url:`${import.meta.env.VITE_APP_CONFIG_URL}/dict/get-type-page-list`,
// method: 'post',
// data
// })
export const getParamsList = (params) => request({
url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType?dictType=${params.dictType}`,
method: 'get',
})
/** 获取参数类型列表 */
export const getDamTypesList = () => request({
url:`${import.meta.env.VITE_APP_DATA_SOURCE_URL}/data-dict/get-data-list`,
method: 'post',
data: { paramCode: "DAM-TYPE" }
// export const getDamTypesList = () => request({
// url:`${import.meta.env.VITE_APP_DATA_SOURCE_URL}/data-dict/get-data-list`,
// method: 'post',
// data: { paramCode: "DAM-TYPE" }
// })
export const getDamTypesList = (params) => request({
url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType?dictType=${params.dictType}`,
method: 'get',
})
/** 获取所属主题的四级参数类型列表 */
export const getSubjectDoaminList = () => request({
url:`${import.meta.env.VITE_APP_DATA_SOURCE_URL}/data-dict/get-data-tree`,
method: 'post',
data: { paramCode: "SUBJECT-DOMAIN" }
// export const getSubjectDoaminList = () => request({
// url:`${import.meta.env.VITE_APP_DATA_SOURCE_URL}/data-dict/get-data-tree`,
// method: 'post',
// data: { paramCode: "SUBJECT-DOMAIN" }
// })
export const getSubjectDoaminList = (params) => request({
url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType?dictType=${params.dictType}`,
method: 'get',
})
// 获取数据类型的接口
export const getDataTypeList = () => request({
url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`,
method: 'post',
data: { paramCode: "DATA_TYPE" }
// export const getDataTypeList = () => request({
// url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`,
// method: 'post',
// data: { paramCode: "DATA_TYPE" }
// })
// 新获取数据类型的接口
export const getDataTypeList = (params) => request({
url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType?dictType=${params.dictType}`,
method: 'get',
})
export const getDamCatalogTable = (params) => request({
url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/page-list`,
method: 'post',
......
......@@ -2,49 +2,49 @@ import request from "@/utils/request";
/** 获取资产目录列表 */
export const getAssetCatalog = (params= {}) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/dam-catalog-table/dam-list`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/dam-list`,
method: 'get',
params
})
/** 获取成本项列表 */
export const getCostList = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/page-list`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/page-list`,
method: 'post',
data: params
})
/** 获取成本项详情 */
export const getCostDetail = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/detail`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/detail`,
method: 'get',
params
})
/** 新增成本项信息 */
export const costSave = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/save`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/save`,
method: 'post',
data: params
});
/** 更新成本项信息 */
export const costUpdate = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/update`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/update`,
method: 'post',
data: params
});
/** 删除成本项信息 */
export const costDelete = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/delete`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/delete`,
method: 'delete',
data: params
});
/** 发送入表咨询消息提醒 */
export const sendEntryMsg = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/tableentry-index-classify/send-message`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/tableentry-index-classify/send-message`,
method: 'post',
params
});
......
......@@ -6,7 +6,7 @@ import request from "@/utils/request";
/** 获取数据产品下拉列表 */
export const getProductList = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/dam-catalog-table/get-table-select`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/get-table-select`,
method: 'get',
params
})
......@@ -20,7 +20,7 @@ export const getAddedProductList = (params) => request({
/** 获取数据产品上架列表。 */
export const getListingList = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/product-grounding/page-list`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/product-grounding/page-list`,
method: 'post',
data: params
})
......@@ -138,12 +138,17 @@ export const checkDemandName = (params) => request({
})
/** 获取参数类型列表 */
// export const getParamsDataList = (params) => request({
// url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`,
// method: 'post',
// data: params
// })
export const getParamsDataList = (params) => request({
url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`,
method: 'post',
data: params
url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType?dictType=${params.dictType}`,
method: 'get',
})
/** 获取产品类型列表 */
export const getProductTypeList = () => request({
url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-tree`,
......
......@@ -3,34 +3,34 @@ import request from "@/utils/request";
/** 入表管理 */
/** 获取资产入表信息 */
export const getEntryList = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-intable/page-list`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-intable/page-list`,
method: 'post',
data: params
})
/** 获取入表资产信息批量删除 */
export const deleteEntryAll = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-intable/delete?guid=${params}`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-intable/delete?guid=${params}`,
method: 'delete',
data: params
})
/** 获取资产入表信息新增 */
export const createEntry = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-intable/save`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-intable/save`,
method: 'post',
data: params
})
/** 获取资产入表信息修改 */
export const intableUpdate = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-intable/update`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-intable/update`,
method: 'post',
data: params
})
/** A类证书列表查询 */
export const getDocumentList = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/register-document/list-a-document`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-document/list-a-document`,
method: 'post',
data: params
})
......@@ -38,27 +38,27 @@ export const getDocumentList = (params) => request({
/** 资产融资管理 */
/** 获取资产融资信息列表 */
export const getFinancingList = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-financing/page-list`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-financing/page-list`,
method: 'post',
data: params
})
/** 资产融资批量删除 */
export const deleteFinancingAll = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-financing/delete?guid=${params}`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-financing/delete?guid=${params}`,
method: 'delete',
data: params
})
/** 资产融资信息新增 */
export const createFinancing = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-financing/save`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-financing/save`,
method: 'post',
data: params
})
/** 资产融资信息修改 */
export const financingUpdate = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-financing/update`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-financing/update`,
method: 'post',
data: params
})
......@@ -66,27 +66,27 @@ export const financingUpdate = (params) => request({
/** 资产交易管理 */
/** 获取资产交易信息列表 */
export const getTradeList = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-trade/page-list`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-trade/page-list`,
method: 'post',
data: params
})
/** 资产交易批量删除 */
export const deleteTradeAll = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-trade/delete?guid=${params}`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-trade/delete?guid=${params}`,
method: 'delete',
data: params
})
/** 资产交易信息新增 */
export const createTrade = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-trade/save`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-trade/save`,
method: 'post',
data: params
})
/** 资产融资信息修改 */
export const tradeUpdate = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/da-trade/update`,
url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-trade/update`,
method: 'post',
data: params
})
......
......@@ -43,7 +43,7 @@ export const getUserInfo = () => {
}
// 获取区划数据
export const getAreaData = (params) => request({
url: `${import.meta.env.VITE_APP_API_BASEURL}/area/data/get-areas`,
url: `${import.meta.env.VITE_APP_CONFIG_URL}/area/data/get-areas`,
method: 'get',
params
})
......
import type { RouteRecordRaw } from 'vue-router'
function Layout() {
return import('@/layouts/index.vue')
}
const routes: RouteRecordRaw[] = [
{
path: '/data-asset-register/register-managemant',
component: Layout,
meta: {
title: '数据资产登记',
icon: 'sidebar-videos',
},
children: [
{
path: '',
name: 'registerManagemant',
component: () => import('@/views/data_asset/registerManagemant.vue'),
meta: {
title: '数据资产登记',
sidebar: false,
breadcrumb: false,
cache: true
},
},
{
path: 'register-start',
name: 'registerStart',
component: () => import('@/views/data_asset/registerStart.vue'),
meta: {
title: '新建资产登记',
sidebar: false,
breadcrumb: false,
cache: true,
editPage: true,
reuse: true
},
beforeEnter: (to, from) => {
if (to.query.type) {
to.meta.title = `详情-`;
return;
}
if (to.query.guid) {
to.meta.title = `编辑-`;
to.meta.editPage = true;
}
}
},
{
path: 'register-detail',
name: 'registerInfoDetail',
component: () => import('@/views/data_asset/registerDetail.vue'),
meta: {
title: '详情-',
sidebar: false,
breadcrumb: false,
cache: true,
reuse: true
}
}
],
},
{
path: '/data-asset-register/quality-evaluate',
component: Layout,
meta: {
title: '数据资产质量评估',
icon: 'sidebar-videos',
},
children: [
{
path: '',
name: 'qualityEvaluate',
component: () => import('@/views/data_asset/qualityEvaluate.vue'),
meta: {
title: '数据资产质量评估',
sidebar: false,
breadcrumb: false,
cache: true
},
},
{
path: 'register-detail',
name: 'registerDetail',
component: () => import('@/views/data_asset/registerDetail.vue'),
meta: {
title: '详情-',
sidebar: false,
breadcrumb: false,
cache: true,
reuse: true
}
}
],
},
{
path: '/data-asset-register/value-evaluate',
component: Layout,
meta: {
title: '数据资产价值评估',
icon: 'ep:grid',
},
children: [
{
path: '',
name: 'valueEvaluate',
component: () => import('@/views/data_asset/valueEvaluate.vue'),
meta: {
title: '数据资产价值评估',
sidebar: false,
breadcrumb: false,
cache: true
},
},
{
path: 'register-detail',
name: 'registerValueDetail',
component: () => import('@/views/data_asset/registerDetail.vue'),
meta: {
title: '详情-',
sidebar: false,
breadcrumb: false,
cache: true,
reuse: true
}
}
],
},
{
path: '/data-asset-register/certificate-management',
component: Layout,
meta: {
title: '登记证件管理',
icon: 'ep:grid',
},
children: [
{
path: '',
name: 'certificateManagement',
component: () => import('@/views/data_asset/certificateManagement.vue'),
meta: {
title: '登记证件管理',
sidebar: false,
cache: true,
breadcrumb: false,
},
},
{
path: 'register-detail',
name: 'certificateDetail',
component: () => import('@/views/data_asset/registerDetail.vue'),
meta: {
title: '详情-',
sidebar: false,
breadcrumb: false,
cache: true,
reuse: true
}
}
],
},
]
export default routes
import type { RouteRecordRaw } from 'vue-router'
function Layout() {
return import('@/layouts/index.vue')
}
const routes: RouteRecordRaw[] = [
{
path: '/data-security/security-menu',
component: Layout,
meta: {
title: '数据资产合规信息',
icon: 'sidebar-videos',
},
children: [
{
path: '',
name: 'securityMenu',
component: () => import('@/views/security_menu/index.vue'),
meta: {
title: '数据资产合规信息',
sidebar: false,
breadcrumb: false,
cache: true
},
},
],
},
]
export default routes
......@@ -6,6 +6,9 @@ import DataMeta from './modules/dataMeta';
import DataQuality from './modules/dataQuality';
import DataInventory from './modules/dataInventory';
import AssetIndex from './modules/assetIndex';
import DataAssetRegistry from './modules/dataAssetRegistry';
import DataEntry from './modules/dataEntry';
import SecurityMenu from './modules/securityMenu';
import type { Route } from '#/global'
import useSettingsStore from '@/store/modules/settings'
......@@ -111,7 +114,7 @@ const asyncRoutes: Route.recordMainRaw[] = [
},
{
meta: {
title: '数据资产管理',
title: '数据产品管理',
},
children: [
...DataAssess,
......@@ -119,6 +122,30 @@ const asyncRoutes: Route.recordMainRaw[] = [
},
{
meta: {
title: '数据资产登记',
},
children: [
...DataAssetRegistry,
],
},
{
meta: {
title: '数据资产入表',
},
children: [
...DataEntry,
],
},
{
meta: {
title: '法律风险意见',
},
children: [
...SecurityMenu,
],
},
{
meta: {
title: '元数据',
},
children: [
......
......@@ -232,11 +232,11 @@ const useUserStore = defineStore(
mark = 'data-inventory'
} else if (item.meta.title == '首页') {
mark = 'data-asset-index'
} else if (item.meta.title == '数据服务') {
mark = 'data-service'
} else if (item.meta.title == '数据资产登记') {
mark = 'data-asset-register'
} else if (item.meta.title == '首页') {
mark = 'data-asset-index'
} else if (item.meta.title == '数据资产管理') {
} else if (item.meta.title == '数据产品管理') {
mark = 'data-asset'
} else if (item.meta.title == '入表交易融资') {
mark = 'data-transaction'
......@@ -244,10 +244,10 @@ const useUserStore = defineStore(
mark = 'data-guide'
} else if (item.meta.title == '入表服务管理') {
mark = 'data-entry'
} else if (item.meta.title == '数据产品管理') {
mark = 'data-product'
} else if (item.meta.title == '合作伙伴管理') {
mark = 'data-partners'
} else if (item.meta.title == '数据资产入表') {
mark = 'data-entry'
} else if (item.meta.title == '法律风险意见') {
mark = 'data-security'
} else if (item.meta.title == '金融服务') {
mark = 'data-finance'
} else if (item.meta.title == '系统管理') {
......
......@@ -80,7 +80,9 @@ const handleFileDataChange = (fileFields, files, sheetName, data) => {
}
const getFieldTypeList = () => {
getDataTypeList().then((res: any) => {
getDataTypeList({
dictType: "字段类型"
}).then((res: any) => {
fieldTypes.value = [];
if (res.code == proxy.$passCode) {
fieldTypes.value = res.data || [];
......@@ -91,7 +93,9 @@ const getFieldTypeList = () => {
}
const getParamsListData = () => {
getParamsList().then((res: any) => {
getParamsList({
dictType: "业务归属"
}).then((res: any) => {
paramsList.value = [];
if (res.code == proxy.$passCode) {
paramsList.value = res.data || [];
......@@ -583,10 +587,10 @@ defineExpose({
<template #default="scope">
<el-select v-if="scope.row['isEdit'] && !tableCreateInfo.guid" v-model="scope.row['dataType']"
@change="(val) => dataTypeChange(val, scope)" placeholder="请选择">
<el-option v-for="opt in fieldTypes" :key="opt['paramValue']" :label="opt['paramName']"
:value="opt['paramValue']" />
<el-option v-for="opt in fieldTypes" :key="opt['value']" :label="opt['label']"
:value="opt['value']" />
</el-select>
<span v-else>{{ fieldTypes.find(f => f.paramValue === scope.row["dataType"])?.paramName || "--"
<span v-else>{{ fieldTypes.find(f => f.value === scope.row["dataType"])?.label || "--"
}}</span>
</template>
</el-table-column>
......@@ -611,11 +615,11 @@ defineExpose({
<template #default="scope">
<el-select v-if="scope.row['isEdit'] && !(tableCreateInfo.guid && scope.row['isPrimary'] == 'Y')"
v-model="scope.row['dictionaryCode']" placeholder="请选择" clearable filterable>
<el-option v-for="opt in paramsList" :key="opt['paramCode']" :label="opt['paramType']"
:value="opt['paramCode']" />
<el-option v-for="opt in paramsList" :key="opt['value']" :label="opt['label']"
:value="opt['value']" />
</el-select>
<span v-else>{{ scope.row['dictionaryCode'] ? (paramsList.find(p => p.paramCode ==
scope.row['dictionaryCode'])?.paramType || "--") : '--' }}</span>
<span v-else>{{ scope.row['dictionaryCode'] ? (paramsList.find(p => p.value ==
scope.row['dictionaryCode'])?.label || "--") : '--' }}</span>
</template>
</el-table-column>
<el-table-column prop="isPrimary" label="是否主键" width="130px" align="left" show-overflow-tooltip>
......
......@@ -51,7 +51,7 @@ const parentAreaData: any = ref([]);
const getArea = (node, resolve) => {
const { level } = node
let params = {
parentId: node.value
parentGuid: node.value
}
if (!node.value) {
if (getParentAreaPromise.value) {
......@@ -121,13 +121,22 @@ const baseInfoFormItems = ref([
default: '1',
options: damTypes.value,
props: {
value: 'paramValue',
label: 'paramName'
value: 'value',
label: 'label'
},
required: true,
visible: true
},
{
label: '权力主体',
type: 'input',
placeholder: '请输入',
field: 'rightMain',
maxlength: 20,
default: '',
required: true
},
{
label: '所属主题',
type: 'tree-select',
placeholder: '请选择',
......@@ -137,8 +146,8 @@ const baseInfoFormItems = ref([
checkStrictly: false,//只能选择叶子节点。
lazy: false,
props: {
label: "paramName",
value: "paramValue",
value: 'value',
label: 'label'
},
filterable: true,
clearable: true,
......@@ -204,11 +213,28 @@ const baseInfoFormItems = ref([
type: "radio-group",
placeholder: "",
field: "dataSources",
block: true,
block: false,
default: 1,
options: dataSourcesList,
required: true,
},
// 是否公共数据
{
label: '是否公共数据',
type: 'radio-group',
placeholder: '',
field: 'isPublicData',
block: false,
default: 'N',
options: [{
value: 'Y',
label: '是'
}, {
value: 'N',
label: '否'
}],
required: true,
},
{
label: '资源描述',
type: 'textarea',
......@@ -284,9 +310,11 @@ const assetDataTableInfo = ref({
{ label: "序号", type: "index", width: 56, align: "center" },
{ label: "表中文名称", field: "tableChName", width: 150, align: "left" },
{ label: "表英文名称", field: "tableName", width: 150, align: "left" },
{ label: "表数据总数(条)", field: "dataCount", width: 150, align: "right", getName: (scope) => {
{
label: "表数据总数(条)", field: "dataCount", width: 150, align: "right", getName: (scope) => {
return scope.row["dataCount"] == null ? '--' : changeNum(scope.row["dataCount"], 0)
} },
}
},
{ label: "描述", field: "description", width: 240 },
{ label: "修改人", field: "updateUserName", width: 140 },
{ label: "修改时间", field: "updateTime", width: 180 },
......@@ -530,20 +558,39 @@ onBeforeMount(() => {
}
});
}
getDamTypesList().then((res: any) => {
function replaceChildDictListKey(data) {
if (Array.isArray(data)) {
return data.map(item => replaceChildDictListKey(item));
} else if (data && typeof data === 'object') {
const { childDictList, ...rest } = data;
return {
...rest,
children: childDictList ? replaceChildDictListKey(childDictList) : undefined,
};
}
return data;
}
getDamTypesList({
dictType: "资产类型",
}).then((res: any) => {
if (res.code == proxy.$passCode) {
damTypes.value = res.data || [];
let item = baseInfoFormItems.value.find(item => item.field == 'damType');
item && (item.options = damTypes.value);
baseInfoFormItems.value[1].options = damTypes.value;
// let item = baseInfoFormItems.value.find(item => item.field == 'damType');
// item && (item.options = damTypes.value);
} else {
proxy.$ElMessage.error(res.msg);
}
})
getSubjectDoaminList().then((res: any) => {
getSubjectDoaminList({
dictType: "数据资产目录主题名称",
}).then((res: any) => {
if (res.code == proxy.$passCode) {
subjectDomainListData.value = res.data || [];
let item = baseInfoFormItems.value.find(item => item.field == 'subjectDomain');
item && (item.options = subjectDomainListData.value);
replaceChildDictListKey(subjectDomainListData.value);
baseInfoFormItems.value[3].options = replaceChildDictListKey(subjectDomainListData.value);
// let item = baseInfoFormItems.value.find(item => item.field == 'subjectDomain');
// item && (item.options = subjectDomainListData.value);
} else {
proxy.$ElMessage.error(res.msg);
}
......@@ -735,8 +782,8 @@ const handleImportSave = (val) => {
<div class="content_main">
<ContentWrap id="id-baseInfo" title="资源基本信息" description="" :isExpand="baseInfoExpand" :expand-swicth="true"
class="mb16" @expand="(v) => baseInfoExpand = v">
<Form ref="baseInfoFormRef" :itemList="baseInfoFormItems" formId="base-info-form" :rules="baseInfoFormRules" @selectChange="baseSelectChange"
@checkboxChange="handleBaseInfoCheckboxChange" col="col3" />
<Form ref="baseInfoFormRef" :itemList="baseInfoFormItems" formId="base-info-form" :rules="baseInfoFormRules"
@selectChange="baseSelectChange" @checkboxChange="handleBaseInfoCheckboxChange" col="col3" />
</ContentWrap>
<ContentWrap id="id-tableInfo" title="资源表" description="" :expand-swicth="true" :isExpand="assetTableInfoExpand"
@expand="(v) => assetTableInfoExpand = v">
......
......@@ -46,8 +46,8 @@ const searchItemList = ref([
filterable: true,
options: damTypes.value,
props: {
value: 'paramValue',
label: 'paramName'
value: 'value',
label: 'label'
}
},
{
......@@ -55,7 +55,7 @@ const searchItemList = ref([
type: 'tree-select',
placeholder: '所属主题',
field: 'subjectDomain',
nodeKey: 'paramValue',
nodeKey: 'value',
options: subjectDomainListData.value,
//showAllLevels: false,
checkStrictly: false,//只能选择叶子节点。
......@@ -64,14 +64,30 @@ const searchItemList = ref([
collapseTagsTooltip: true,
collapseTags: true,
props: {
label: "paramName",
value: "paramValue",
label: "label",
value: "value",
},
filterable: true,
clearable: true,
default: [],
showCheckbox: true
},
{
type: "input",
label: "",
field: "damName",
default: "",
placeholder: "来源",
clearable: true,
},
{
type: "input",
label: "",
field: "damName",
default: "",
placeholder: "登记状态",
clearable: true,
},
]);
const pageInfo = ref({
......@@ -201,25 +217,44 @@ onActivated(() => {
});
onBeforeMount(() => {
getDamTypesList().then((res: any) => {
getDamTypesList({
dictType: "资产类型",
}).then((res: any) => {
if (res.code == proxy.$passCode) {
damTypes.value = res.data || [];
let item = searchItemList.value.find(item => item.field == 'damType');
item && (item.options = damTypes.value);
searchItemList.value[1].options = damTypes.value;
// let item = searchItemList.value.find(item => item.field == 'damType');
// item && (item.options = damTypes.value);
} else {
proxy.$ElMessage.error(res.msg);
}
})
getSubjectDoaminList().then((res: any) => {
getSubjectDoaminList({
dictType: "数据资产目录主题名称",
}).then((res: any) => {
if (res.code == proxy.$passCode) {
subjectDomainListData.value = res.data || [];
let item = searchItemList.value.find(item => item.field == 'subjectDomain');
item && (item.options = subjectDomainListData.value);
replaceChildDictListKey(subjectDomainListData.value);
searchItemList.value[2].options = replaceChildDictListKey(subjectDomainListData.value);
// let item = searchItemList.value.find(item => item.field == 'subjectDomain');
// item && (item.options = subjectDomainListData.value);
} else {
proxy.$ElMessage.error(res.msg);
}
})
});
function replaceChildDictListKey(data) {
if (Array.isArray(data)) {
return data.map(item => replaceChildDictListKey(item));
} else if (data && typeof data === 'object') {
const { childDictList, ...rest } = data;
return {
...rest,
children: childDictList ? replaceChildDictListKey(childDictList) : undefined,
};
}
return data;
}
const handleCreate = () => {
router.push({
......
......@@ -15,6 +15,7 @@ import { TableColumnWidth } from '@/utils/enum';
import TableTools from "@/components/Tools/table_tools.vue";
import Table from "@/components/Table/index.vue";
import Dialog from "@/components/Dialog/index.vue";
import { getDamTypesList } from "@/api/modules/dataAsset";
const { proxy } = getCurrentInstance() as any;
const router = useRouter();
......@@ -37,8 +38,8 @@ const searchItemList: any = ref([
field: "damType",
default: "",
props: {
value: 'paramValue',
label: 'paramName'
value: 'value',
label: 'label'
},
placeholder: "产品类型",
options: damTypes.value,
......@@ -97,14 +98,14 @@ const tableInfo = ref({
width: 140,
btns: (scope) => {
let row = scope.row, btnArr: any = [];
if(row.approveState == 'Y'){
if(row.listingStatus == 'Y'){
if (row.approveState == 'Y') {
if (row.listingStatus == 'Y') {
btnArr.splice(0, 0, { label: "详情", value: "detail" });
} else {
btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" });
}
} else {
if(row.approveState == 'A'){
if (row.approveState == 'A') {
btnArr.splice(0, 0, { label: "详情", value: "detail" });
} else {
btnArr.splice(0, 0, { label: "编辑", value: "edit" }, { label: "详情", value: "detail" }, { label: "删除", value: "delete" });
......@@ -207,7 +208,7 @@ const tableBtnClick = (scope, btn) => {
};
const toPatn = (type) => {
if(type == 'add'){
if (type == 'add') {
router.push({
name: "productListingDetail",
query: {
......@@ -274,11 +275,23 @@ onActivated(() => {
})
onBeforeMount(() => {
getParamsDataList({ paramCode: 'DAM-TYPE' }).then((res: any) => {
// getParamsDataList({ paramCode: 'DAM-TYPE' }).then((res: any) => {
// if (res.code == proxy.$passCode) {
// damTypes.value = res.data || [];
// let item = searchItemList.value.find(item => item.field == 'damType');
// item && (item.options = damTypes.value);
// } else {
// proxy.$ElMessage.error(res.msg);
// }
// })
getDamTypesList({
dictType: "资产类型",
}).then((res: any) => {
if (res.code == proxy.$passCode) {
damTypes.value = res.data || [];
let item = searchItemList.value.find(item => item.field == 'damType');
item && (item.options = damTypes.value);
searchItemList.value[1].options = damTypes.value;
// let item = searchItemList.value.find(item => item.field == 'damType');
// item && (item.options = damTypes.value);
} else {
proxy.$ElMessage.error(res.msg);
}
......@@ -296,7 +309,8 @@ onBeforeMount(() => {
</div>
</div>
<div class="table_panel_wrap">
<Table :tableInfo="tableInfo" @tableBtnClick="tableBtnClick" @tablePageChange="tablePageChange" @tableSwitchBeforeChange="tableSwitchBeforeChange" />
<Table :tableInfo="tableInfo" @tableBtnClick="tableBtnClick" @tablePageChange="tablePageChange"
@tableSwitchBeforeChange="tableSwitchBeforeChange" />
</div>
</div>
</template>
......
......@@ -33,6 +33,10 @@ const damTypes: any = ref([]);
const subjectDomainListData: any = ref([]);
/** 交付方式 */
const deliveryWayList: any = ref([]);
/**价格单位 */
const priceUnitList: any = ref([]);
/**定价方式 */
const pricingMethodList: any = ref([]);
/** 上架交易所 */
const exchangeList: any = ref([]);
const { proxy } = getCurrentInstance() as any;
......@@ -45,7 +49,7 @@ const parentAreaData: any = ref([]);
const getArea = (node, resolve) => {
const { level } = node
let params = {
parentId: node.value
parentGuid: node.value
}
if (!node.value) {
if (getParentAreaPromise.value) {
......@@ -106,8 +110,9 @@ const approveTableInfo: any = ref({
minHeight: '60px',
maxHeight: '300',
fields: [
{ label: "节点", field: "tenantType", width: 140, align: "left", getName: (scope) => {
if(detailType == 'add'){
{
label: "节点", field: "tenantType", width: 140, align: "left", getName: (scope) => {
if (detailType == 'add') {
return scope.row.tenantType;
} else {
let v = scope.row.tenantType;
......@@ -160,34 +165,46 @@ const formInfo = ref({
},
disabled: true,
required: true,
}, {
label: '所属主题',
type: 'tree-select',
placeholder: '请选择',
field: 'subjectDomain',
options: subjectDomainListData.value,
showAllLevels: false,
checkStrictly: false,//只能选择叶子节点。
lazy: false,
props: {
label: "paramName",
value: "paramValue",
},
filterable: true,
{
label: "数据时间范围",
type: "date-picker",
field: "dateRange",
default: null,
placeholder: "开始时间~结束时间",
clearable: true,
disabled: true,
default: '',
required: true
}, {
label: '证书编号',
type: 'input',
maxlength: 50,
placeholder: '请输入',
field: 'damCode',
default: '',
disabled: true,
required: true,
}, {
},
// {
// label: '所属主题',
// type: 'tree-select',
// placeholder: '请选择',
// field: 'subjectDomain',
// options: subjectDomainListData.value,
// showAllLevels: false,
// checkStrictly: false,//只能选择叶子节点。
// lazy: false,
// props: {
// label: "paramName",
// value: "paramValue",
// },
// filterable: true,
// clearable: true,
// disabled: true,
// default: '',
// required: true
// },
// {
// label: '证书编号',
// type: 'input',
// maxlength: 50,
// placeholder: '请输入',
// field: 'damCode',
// default: '',
// disabled: true,
// required: true,
// },
{
label: '数据规模(条)',
type: 'input',
placeholder: '请输入',
......@@ -241,7 +258,7 @@ const formInfo = ref({
clearable: false,
required: true,
col: 'checkbox-cascader'
},{
}, {
label: "交付方式",
type: "select",
placeholder: "请选择",
......@@ -249,73 +266,120 @@ const formInfo = ref({
default: '',
options: deliveryWayList.value,
props: {
value: 'paramValue',
label: 'paramName'
value: 'value',
label: 'label'
},
filterable: true,
clearable: true,
disabled: false,
required: true,
}, {
label: '产品价格',
type: 'checkbox-input-item',
placeholder: '面议',
field: 'isDiscussPersonally',
default: 'Y',
trueValue: 'Y',
falseValue: 'N',
children: [
},
{
label: '',
type: 'input',
placeholder: '请输入产品参考价',
field: 'productPrice',
label: "定价方式",
type: "select",
placeholder: "请选择",
field: "pricingWay",
default: '',
maxlength: 10,
disabled: false,
options: [],
props: {
value: 'value',
label: 'label'
},
filterable: true,
clearable: true,
visible: false,
style: {width: '100%', margin: 0}
}
],
disabled: false,
required: true,
col: 'checkbox-input'
}, {
label: '审核后自动上架',
type: 'switch-checkbox-group',
field: 'autoGrounding',
children: [
},
{
label: '',
type: 'switch',
field: 'isApproveGrounding',
default: 'Y',
activeValue: 'Y',
inactiveValue: 'N',
visible: true
label: '定价金额',
type: 'input',
placeholder: '请输入',
field: 'productPrice',
default: '',
disabled: false,
required: true
},
],
clearable: false,
required: true,
}, {
label: "上架交易所",
{
label: "价格单位",
type: "select",
placeholder: "请选择",
field: "exchangeGuids",
default: [],
options: exchangeList.value,
field: "priceUnit",
default: '',
options: [],
props: {
value: "guid",
label: "tenantName",
value: 'value',
label: 'label'
},
filterable: true,
clearable: true,
multiple: true,
tagsTooltip: true,
collapse: true,
disabled: false,
required: true,
}, {
},
// {
// label: '产品价格',
// type: 'checkbox-input-item',
// placeholder: '面议',
// field: 'isDiscussPersonally',
// default: 'Y',
// trueValue: 'Y',
// falseValue: 'N',
// children: [
// {
// label: '',
// type: 'input',
// placeholder: '请输入产品参考价',
// field: 'productPrice',
// default: '',
// maxlength: 10,
// disabled: false,
// clearable: true,
// visible: false,
// style: { width: '100%', margin: 0 }
// }
// ],
// required: true,
// col: 'checkbox-input'
// },
// {
// label: '审核后自动上架',
// type: 'switch-checkbox-group',
// field: 'autoGrounding',
// children: [
// {
// label: '',
// type: 'switch',
// field: 'isApproveGrounding',
// default: 'Y',
// activeValue: 'Y',
// inactiveValue: 'N',
// visible: true
// },
// ],
// clearable: false,
// required: true,
// },
// {
// label: "上架交易所",
// type: "select",
// placeholder: "请选择",
// field: "exchangeGuids",
// default: [],
// options: exchangeList.value,
// props: {
// value: "guid",
// label: "tenantName",
// },
// filterable: true,
// clearable: true,
// multiple: true,
// tagsTooltip: true,
// collapse: true,
// disabled: false,
// required: true,
// },
{
label: '产品描述',
type: 'textarea-rich',
placeholder: '该数据资产主要包含的信息,数据更新方式等',
......@@ -372,6 +436,12 @@ const formInfo = ref({
productPrice: [
{ required: true, message: "请填写产品价格", trigger: "blur", },
],
pricingWay: [
{ required: true, message: "请选择定价方式", trigger: "change", },
],
priceUnit: [
{ required: true, message: "请选择价格单位", trigger: "change", },
],
content: [
{
validator: (rule: any, value: any, callback: any) => {
......@@ -499,7 +569,7 @@ const getProductDetail = () => {
flowDetail.value = data;
let coverageArea = data.coverageArea || [];
if (data.coverageArea?.[0]?.[0] == 'all') {
setFormItems({...flowDetail.value, coverageArea: coverageArea}, true);
setFormItems({ ...flowDetail.value, coverageArea: coverageArea }, true);
} else {
let p: any = [];
data.coverageArea.forEach(area => {
......@@ -534,9 +604,9 @@ const getProductDetail = () => {
// 获取审批信息
const getApproveData = () => {
if(detailType == 'add'){
if (detailType == 'add') {
approveTableInfo.value.loading = true;
getTenantApprove({funcCode: 'Grounding-base-9'}).then((res: any) => {
getTenantApprove({ funcCode: 'Grounding-base-9' }).then((res: any) => {
approveTableInfo.value.loading = false;
if (res.code == proxy.$passCode) {
approveTableInfo.value.data = res.data?.map(d => {
......@@ -591,7 +661,7 @@ const submitForm = (btn, formEl, tosub = false) => {
delete params.productImg;
delete params.coverageAreas;
delete params.productImgList;
params.coverageArea = subForm.value.coverageAreas == 'Y'? [['all']] : subForm.value.coverageArea;
params.coverageArea = subForm.value.coverageAreas == 'Y' ? [['all']] : subForm.value.coverageArea;
params.productPic = subForm.value.productImg.length ? { name: subForm.value.productImg[0].name, url: subForm.value.productImg[0].url } : {};
// if(subForm.value.isApproveGrounding == 'N'){
// params.groundingPick = []
......@@ -602,7 +672,7 @@ const submitForm = (btn, formEl, tosub = false) => {
params.dataScale = formInfo.value.items.at(4).defaultValue;
params.caseNumber = formInfo.value.items.at(5).defaultValue;
flowDetailLoading.value = true;
if(detailType == 'add'){
if (detailType == 'add') {
listingSave(params).then((res: any) => {
if (res.code == proxy.$passCode) {
ElMessage({
......@@ -681,13 +751,13 @@ const btnClick = (btn) => {
const form = checkForm.formInline;
subForm.value = { ...form };
submitForm(btn, formEl, true);
} else if(btn.value == 'pass' || btn.value == 'reject'){
} else if (btn.value == 'pass' || btn.value == 'reject') {
dialogInfo.value.type = btn.value
dialogInfo.value.header.title = btn.value == 'pass' ? '通过' : '驳回'
dialogInfo.value.contents = contents.value[btn.value]
dialogInfo.value.visible = true
} else {
if(detailType == 'add' || detailType == 'edit'){
if (detailType == 'add' || detailType == 'edit') {
ElMessageBox.confirm(
"当前页面尚未保存,确定放弃修改吗?",
"提示",
......@@ -722,14 +792,14 @@ const btnClick = (btn) => {
const setFormItems = (row: any = null, isDetail = false) => {
formInfo.value.items.map((item: any) => {
if (item.field == 'productImg') {
item.default = row ? (row.productPic?[row.productPic] : row[item.field] || []) : []
item.default = row ? (row.productPic ? [row.productPic] : row[item.field] || []) : []
} else if (item.field == 'coverageAreas') {
if(row){
if (row) {
if (row.coverageAreas == 'Y') {
item.default = 'Y'
} else {
if (row.coverageArea) {
if(row.coverageArea?.[0]?.[0] == 'all'){
if (row.coverageArea?.[0]?.[0] == 'all') {
item.default = 'Y'
} else {
item.default = 'N';
......@@ -742,7 +812,7 @@ const setFormItems = (row: any = null, isDetail = false) => {
item.default = row ? row[item.field] : 'N';
}
item.children.map(child => {
if(row && row.coverageArea?.[0]?.[0] == 'all'){
if (row && row.coverageArea?.[0]?.[0] == 'all') {
child.default = []
} else {
child.default = row ? (row[child.field] || child.default || []) : []
......@@ -776,10 +846,10 @@ const setFormItems = (row: any = null, isDetail = false) => {
}
const selectChange = async (val, row, info) => {
if(row.field == 'damName'){
if (row.field == 'damName') {
const data = row.options.filter(o => o.damName == val);
let coverageArea = data.length?(data[0].coverageArea || []):[];
await setFormItems({...info, coverageArea: coverageArea});
let coverageArea = data.length ? (data[0].coverageArea || []) : [];
await setFormItems({ ...info, coverageArea: coverageArea });
formInfo.value.items.at(0).default = val;
formInfo.value.items.at(1).default = data.length ? data[0].damType : '';
formInfo.value.items.at(2).default = data.length ? data[0].subjectDomain : '';
......@@ -791,7 +861,7 @@ const selectChange = async (val, row, info) => {
formInfo.value.items.at(-1).default = data.length ? data[0].damGuid : '';
formInfo.value.items.at(-3).required = data[0].damType != '1' && data[0].damType != '2';
formInfo.value.items.at(-4).required = data[0].damType != '1' && data[0].damType != '2';
if(data.length && data[0].coverageArea?.[0]?.[0] != 'all'){
if (data.length && data[0].coverageArea?.[0]?.[0] != 'all') {
let p: any = [];
data[0].coverageArea.forEach(area => {
if (p.includes(area[0])) {
......@@ -806,14 +876,14 @@ const selectChange = async (val, row, info) => {
}
Promise.all(ps).then(() => {
const fInfo = listingFormRef.value.formInline;
setFormItems({...fInfo, coverageArea: coverageArea});
setFormItems({ ...fInfo, coverageArea: coverageArea });
});
}
}
}
const checkboxChange = async (val, info, row) => {
if(row.field == 'coverageAreas'){
if (row.field == 'coverageAreas') {
let formItem = formInfo.value.items.find(i => i.field == 'coverageAreas');
if (formItem) {
formItem.default = info.coverageAreas;
......@@ -821,7 +891,7 @@ const checkboxChange = async (val, info, row) => {
await setFormItems(info);
}
} else if(row.field == 'isDiscussPersonally'){
} else if (row.field == 'isDiscussPersonally') {
let formItem = formInfo.value.items.find(i => i.field == 'isDiscussPersonally');
if (formItem) {
formItem.default = info.isDiscussPersonally;
......@@ -832,7 +902,7 @@ const checkboxChange = async (val, info, row) => {
}
const switchChange = async (val, info, row) => {
if(row.field == 'isApproveGrounding'){
if (row.field == 'isApproveGrounding') {
let formItem = formInfo.value.items.find(i => i.field == 'autoGrounding');
if (formItem) {
formItem.children[0].default = val;
......@@ -906,7 +976,7 @@ const dialogBtnClick = (btn, info) => {
onActivated(() => {
let tab: any = userStore.tabbar.find((tab: any) => tab.fullPath === router.currentRoute.value.fullPath);
if (tab) {
switch(detailType){
switch (detailType) {
case 'add':
tab.meta.title = '新建数据产品';
break;
......@@ -921,7 +991,7 @@ onActivated(() => {
break;
}
};
if(detailType == 'add' || detailType == 'edit'){
if (detailType == 'add' || detailType == 'edit') {
getProducts();
};
})
......@@ -932,14 +1002,14 @@ onBeforeMount(() => {
return parentAreaData.value;
}
})
if(detailType && detailType != 'add'){
if (detailType && detailType != 'add') {
getProductDetail();
if (detailType == 'detail' && dGuid !== undefined) {
getApplyDeatil();
}
}
getApproveData();
getParamsDataList({ paramCode: 'DAM-TYPE' }).then((res: any) => {
getParamsDataList({ dictType: '字段类型' }).then((res: any) => {
if (res.code == proxy.$passCode) {
damTypes.value = res.data || [];
let item = formInfo.value.items.find(item => item.field == 'damType');
......@@ -948,28 +1018,53 @@ onBeforeMount(() => {
proxy.$ElMessage.error(res.msg);
}
})
getParamsDataList({ paramCode: 'DELIVERY-WAY' }).then((res: any) => {
getParamsDataList({ dictType: '交付方式' }).then((res: any) => {
if (res.code == proxy.$passCode) {
deliveryWayList.value = res.data || [];
let item = formInfo.value.items.find(item => item.field == 'deliveryWay');
item && (item.options = deliveryWayList.value);
// let item = formInfo.value.items.find(item => item.field == 'deliveryWay');
// item && (item.options = deliveryWayList.value);
formInfo.value.items[6].options = res.data || [];
} else {
proxy.$ElMessage.error(res.msg);
}
})
getServiceTenants({
tenantType: 3
}).then((res: any) => {
getParamsDataList({ dictType: '定价方式' }).then((res: any) => {
if (res.code == proxy.$passCode) {
const data = res.data ?? {};
exchangeList.value = data['3'] || [];
let formItem = formInfo.value.items.find(f => f.field === 'exchangeGuids');
formItem && (formItem.options = exchangeList.value);
pricingMethodList.value = res.data || [];
formInfo.value.items[7].options = res.data || [];
// let item = formInfo.value.items.find(item => item.field == 'deliveryWay');
// item && (item.options = deliveryWayList.value);
// formInfo.value.items[7].options = res.data || [];
} else {
ElMessage.error(res.msg);
proxy.$ElMessage.error(res.msg);
}
});
getSubjectDoaminList().then((res: any) => {
})
getParamsDataList({ dictType: '价格单位' }).then((res: any) => {
if (res.code == proxy.$passCode) {
priceUnitList.value = res.data || [];
formInfo.value.items[9].options = res.data || [];
// let item = formInfo.value.items.find(item => item.field == 'deliveryWay');
// item && (item.options = deliveryWayList.value);
// formInfo.value.items[7].options = res.data || [];
} else {
proxy.$ElMessage.error(res.msg);
}
})
// getServiceTenants({
// tenantType: 3
// }).then((res: any) => {
// if (res.code == proxy.$passCode) {
// const data = res.data ?? {};
// exchangeList.value = data['3'] || [];
// let formItem = formInfo.value.items.find(f => f.field === 'exchangeGuids');
// formItem && (formItem.options = exchangeList.value);
// } else {
// ElMessage.error(res.msg);
// }
// });
getSubjectDoaminList({
dictType: "数据资产目录主题名称",
}).then((res: any) => {
if (res.code == proxy.$passCode) {
subjectDomainListData.value = res.data || [];
let item = formInfo.value.items.find(item => item.field == 'subjectDomain');
......@@ -1039,10 +1134,11 @@ onBeforeMount(() => {
</span>
</div>
</div>
<div class="panel_body" :class="{collapse: collapseIcon}">
<div class="panel_body" :class="{ collapse: collapseIcon }">
<div class="list_panel" v-if="detailType == 'add' || detailType == 'edit'">
<Form ref="listingFormRef" :itemList="formInfo.items" :formId="formInfo.id" :rules="formInfo.rules"
:col="formInfo.col" @selectChange="selectChange" @checkboxChange="checkboxChange" @switchChange="switchChange" />
:col="formInfo.col" @selectChange="selectChange" @checkboxChange="checkboxChange"
@switchChange="switchChange" />
</div>
<div class="list_panel" v-else>
<div class="list_item">
......@@ -1063,11 +1159,13 @@ onBeforeMount(() => {
</div>
<div class="list_item">
<span class="item_label">数据规模(条):</span>
<span class="item_value">{{ flowDetail.dataScale !=null ? changeNum(flowDetail.dataScale, 0) : '--' }}</span>
<span class="item_value">{{ flowDetail.dataScale != null ? changeNum(flowDetail.dataScale, 0) : '--'
}}</span>
</div>
<div class="list_item">
<span class="item_label">病例总数(例):</span>
<span class="item_value">{{ flowDetail.caseNumber !=null ? changeNum(flowDetail.caseNumber, 0) : '--' }}</span>
<span class="item_value">{{ flowDetail.caseNumber != null ? changeNum(flowDetail.caseNumber, 0) : '--'
}}</span>
</div>
<div class="list_item">
<span class="item_label">交易方式:</span>
......@@ -1075,23 +1173,28 @@ onBeforeMount(() => {
</div>
<div class="list_item">
<span class="item_label">产品价格:</span>
<span class="item_value">{{ flowDetail.isDiscussPersonally == 'Y'?'面议':(flowDetail.productPrice || '--') }}</span>
<span class="item_value">{{ flowDetail.isDiscussPersonally == 'Y' ? '面议' : (flowDetail.productPrice ||
'--')
}}</span>
</div>
<div class="list_item">
<span class="item_label">审核后上架:</span>
<span class="item_value">{{ flowDetail.isApproveGrounding == 'Y'?`自动上架` : '手动上架' }}</span>
<span class="item_value">{{ flowDetail.isApproveGrounding == 'Y' ? `自动上架` : '手动上架' }}</span>
</div>
<div class="list_item is_block">
<span class="item_label">上架交易所:</span>
<span class="item_value">{{ !flowDetail.exchangeGuids?.length ? '--' : flowDetail.exchangeNames.join(',') }}</span>
<span class="item_value">{{ !flowDetail.exchangeGuids?.length ? '--' : flowDetail.exchangeNames.join(',')
}}</span>
</div>
<div class="list_item is_block" >
<div class="list_item is_block">
<span class="item_label">数据覆盖地域:</span>
<span class="item_value" v-if="flowDetail.coverageArea && flowDetail.coverageArea.length && flowDetail.coverageArea[0][0] == 'all'">
<span class="item_value"
v-if="flowDetail.coverageArea && flowDetail.coverageArea.length && flowDetail.coverageArea[0][0] == 'all'">
全国
</span>
<span class="item_value" v-else>
<span v-for="(cor, c) in flowDetail.coverageAreaName" :key="c" class="area_text">{{ cor.join('/') }}</span>
<span v-for="(cor, c) in flowDetail.coverageAreaName" :key="c" class="area_text">{{ cor.join('/')
}}</span>
</span>
</div>
<div class="list_item is_block">
......@@ -1153,7 +1256,7 @@ onBeforeMount(() => {
</span>
</div>
</div>
<div class="panel_body" :class="{collapse: collapseIcon3}">
<div class="panel_body" :class="{ collapse: collapseIcon3 }">
<div class="list_panel">
<div class="list_item is_block">
<span class="item_value" style="padding: 0px" v-html="flowDetail.content || '--'"></span>
......@@ -1170,7 +1273,7 @@ onBeforeMount(() => {
</span>
</div>
</div>
<div class="panel_body" :class="{collapse: collapseIcon1}">
<div class="panel_body" :class="{ collapse: collapseIcon1 }">
<div class="list_panel">
<div class="table_panel_wrap">
<Table :tableInfo="approveTableInfo" />
......@@ -1221,8 +1324,10 @@ onBeforeMount(() => {
<div class="tool_btns" v-else-if="detailType == 'check'">
<div class="btns">
<el-button plain @click="btnClick({ value: 'cancel' })">关闭</el-button>
<el-button type="primary" @click="btnClick({ value: 'pass' })" v-if="flowDetail.approveState == 'A' && flowDetail.approveTenantGuids?.includes(userData.tenantGuid)">通过</el-button>
<el-button plain type="danger" @click="btnClick({ value: 'reject' })" v-if="flowDetail.approveState == 'A' && flowDetail.approveTenantGuids?.includes(userData.tenantGuid)">驳回</el-button>
<el-button type="primary" @click="btnClick({ value: 'pass' })"
v-if="flowDetail.approveState == 'A' && flowDetail.approveTenantGuids?.includes(userData.tenantGuid)">通过</el-button>
<el-button plain type="danger" @click="btnClick({ value: 'reject' })"
v-if="flowDetail.approveState == 'A' && flowDetail.approveTenantGuids?.includes(userData.tenantGuid)">驳回</el-button>
</div>
</div>
......@@ -1342,7 +1447,7 @@ onBeforeMount(() => {
}
}
.area_text +.area_text{
.area_text+.area_text {
&::before {
content: '、',
}
......
<route lang="yaml">
name: securityMenu //标签管理
</route>
<script lang="ts" setup name="securityMenu">
import TableTools from '@/components/Tools/table_tools.vue';
const { proxy } = getCurrentInstance() as any;
const dialogLabelFormRef = ref();
onBeforeMount(async () => {
});
// 右侧表格配置
const tableDataList = ref([]);
// 删除标签guids
const deleteLabelGuids = ref<any>([]);
// 保存编辑的guid
const editLabelRow = ref<any>('');
const page = ref({
limit: 50,
curr: 1,
sizes: [
{ label: "10", value: 10 },
{ label: "50", value: 50 },
{ label: "100", value: 100 },
{ label: "150", value: 150 },
{ label: "200", value: 200 },
],
});
const tableInfo = ref({
id: "role-manage-table",
multiple: true,
fixedSelection: true,
fields: [
{ label: "序号", type: "index", width: 56, align: "center" },
{ label: "数据产品编号", field: "label", type: 'text_btn', class: 'drawer-detail-cell', width: 160, value: 'detail', columClass: 'text_btn' },
{
label: "数据产品名称", field: "classifyNames", width: 200,
},
{ label: "数据类型", field: "gradeDetailName", width: 100 },
{
label: '权力主体', field: 'bizState', type: 'switch', activeText: '启用', inactiveText: '停用', activeValue: 'Y', inactiveValue: 'N', switchWidth: 56, width: 100, align: 'center'
},
{ label: "是否公共数据", field: "updateUserName", width: 120 },
{ label: "状态", field: "updateTime", width: 160 },
],
data: tableDataList.value,
page: {
type: "normal",
rows: 0,
...page.value,
},
actionInfo: {
label: "操作",
type: "btn",
width: 120,
fixed: 'right',
btns: [
{
label: "编辑", value: "edit", click: async (scope) => {
console.log('编辑', scope);
}
},
{
label: "删除 ", value: "delete", click: (scope) => {
console.log('删除', scope);
}
},
]
},
loading: false
});
/**弹窗配置 */
const newCreateGradeFormItems = ref<any>([{
label: '标签名',
type: 'input',
placeholder: '请选择',
field: 'label',
default: '',
required: true,
filterable: true,
clearable: true,
visible: true,
block: true,
},
{
label: '分类',
type: 'tree-select',
placeholder: '请选择',
field: 'classifyDetailGuid',
default: '',
options: [],
props: {
label: "classifyName",
value: "guid",
},
required: true,
checkStricty: true,
lazy: false,
filterable: true,
clearable: true,
visible: true,
block: true,
},
{
label: '分级',
type: 'select',
maxlength: 19,
placeholder: '请输入',
field: 'gradeDetailGuid',
default: '',
options: [],
props: {
label: 'name',
value: 'guid',
},
clearable: true,
required: true,
block: true,
},
// {
// label: ' ',
// type: 'label',
// default: '规则配置',
// block: true,
// col: 'title-label'
// },
// {
// label: '精确匹配',
// type: 'textarea',
// maxlength: 200,
// placeholder: '请输入字段中文,中间用英文“,”分号隔开',
// field: 'matchChValue',
// default: '',
// clearable: true,
// required: false,
// },
// {
// label: '',
// type: 'textarea',
// maxlength: 200,
// placeholder: '请输入字段中文,中间用英文“,”分号隔开',
// field: 'matchEnValue',
// default: '',
// clearable: true,
// required: false,
// }
]);
const newCreateGradeFormRules = ref({
label: [
{ required: true, message: '请输入标签名', trigger: 'change' }
],
detailGuid: [
{ required: true, message: '请选择分类', trigger: 'change' }
],
gradeDetailGuid: [
{ required: true, message: '请选择分级', trigger: 'change' }
],
});
const newCreateGradeStandardDialogInfo = ref({
visible: false,
size: 600,
title: "添加标签",
type: "",
formInfo: {
id: "grade-form",
items: newCreateGradeFormItems.value,
rules: newCreateGradeFormRules.value,
},
submitBtnLoading: false,
btns: {
cancel: () => {
newCreateGradeStandardDialogInfo.value.visible = false;
newCreateGradeStandardDialogInfo.value.submitBtnLoading = false;
},
submit: async (btn, info) => {
}
}
})
const classSearchItemList = ref<any>([
{
type: 'select',
multiple: true,
label: '',
field: 'labelName',
default: [],
options: [],
placeholder: '请选择标签名称',
clearable: true,
filterable: true,
visible: true
},
// 状态,可以编辑。
{
type: 'select',
multiple: true,
label: '',
field: 'state',
default: [],
options: [],
placeholder: '状态',
clearable: true,
filterable: true,
visible: true
}
]);
const guids = ref<any>([])
const selectChange = async (val: any, row: any) => {
console.log('selectChange', val, row);
if (val) {
guids.value = val;
}
};
/** 搜索查询分类标准 */
const refCount = ref(0);
const searchClass = async (val: any, clear: boolean = false) => {
console.log('searchClass', val, clear);
if (clear) {
classSearchItemList.value.map(item => item.default = '')
guids.value = []
return;
}
if (val?.labelName?.length !== 0 || refCount.value >= 1) {
}
};
const addNewLabel = () => {
newCreateGradeStandardDialogInfo.value.visible = true;
newCreateGradeStandardDialogInfo.value.title = '新增标签';
newCreateGradeFormItems.value.forEach(item => {
item.default = '';
item.disabled = false;
});
newCreateGradeStandardDialogInfo.value.submitBtnLoading = false;
}
</script>
<template>
<div class="data-label">
<div class="container_wrap">
<div class="main_wrap">
<div class="main_wrap-top-area">
<TableTools :searchItems="classSearchItemList" :searchId="'template-manage-search'" @search="searchClass"
@select-change="selectChange" />
</div>
<div>
<el-button type="primary" class="v-add" @click="addNewLabel">新增</el-button>
<!-- <el-button class="v-import">导入</el-button>
<el-button>导出</el-button> -->
</div>
<div class="table_panel_wrap">
<Table :tableInfo="tableInfo" />
</div>
</div>
</div>
<Dialog_form ref="dialogLabelFormRef" :dialogConfigInfo="newCreateGradeStandardDialogInfo" class="v-dialog-form">
</Dialog_form>
</div>
</template>
<style lang="scss" scoped>
.data-label {
width: 100%;
height: 100%;
.container_wrap {
height: 100%;
.main_wrap {
height: 100%;
padding: 11px 16px 0 16px;
.main_wrap-top-area {
display: flex;
margin-bottom: 10px;
align-items: center;
.v-serach {
margin-left: 10px;
}
}
.table_panel_wrap {
margin-top: 12px;
width: 100%;
height: calc(100% - 105px);
min-height: 210px;
overflow: visible;
}
}
}
}
</style>
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!