dataAsset.ts 9.78 KB
import type { RouteRecordRaw } from 'vue-router'
function Layout() {
  return import('@/layouts/index.vue')
}
const routes: RouteRecordRaw[] = [
  {
    path: '/data-asset/register-catalog',
    component: Layout,
    meta: {
      title: '数据产品',
      icon: 'sidebar-videos',
    },
    children: [
      {
        path: '',
        name: 'registerCatalogManagement',
        component: () => import('@/views/data_asset/registerCatalogManagement.vue'),
        meta: {
          title: '',
          sidebar: false,
          breadcrumb: false,
          cache: true
        },
      },
      {
        path: 'register-ctalog-create',
        name: 'registerCatalogCreate',
        component: () => import('@/views/data_asset/registerCatalogCreate.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.query.damName}`;
            to.meta.editPage = true;
          }
        }
      },
      {
        path: 'import-file-dam',
        name: 'importFileDam',
        component: () => import('@/views/importFile.vue'),
        meta: {
          title: '导入数据',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true
        },
        beforeEnter: (to, from) => {
          if (to.query.bizGuid) {
            to.meta.title = `导入数据-${to.query.name}(${to.query.damName})`;
          }
        }
      },
      {
        // path: 'processDetail',
        // name: 'APIProcessDetail',
        path: 'api-detail',
        name: 'apiDetail',
        component: () => import('@/views/data_asset/detail_serviceApi.vue'),
        meta: {
          title: '流程详情',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true
        }
      },
      {
        path: 'register-catalog-detail',
        name: 'registerCatalogDetail',
        component: () => import('@/views/data_asset/registerCatalogDetail.vue'),
        meta: {
          title: '详情-',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true
        }
      },
      {
        path: 'register-catalog-contract-detail',
        name: 'registerCatalogContractDetail',
        component: () => import('@/views/data_asset/registerCatalogContractDetail.vue'),
        meta: {
          title: '合同详情-',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true
        }
      },
      {
        path: 'register-catalog-transaction-detail',
        name: 'registerCatalogTransactionDetail',
        component: () => import('@/views/data_asset/transactionDetail.vue'),
        meta: {
          title: '产品交易详情-',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true
        },
        beforeEnter: (to, from) => {
          if (to.query.guid) {
            to.meta.title = `产品交易详情-${to.query.damName}`;
          }
        }
      },
      {
        path: 'damTableDataView',
        name: 'damTableDataView',
        component: () => import('@/views/data_asset/damTableDataView.vue'),
        meta: {
          title: '查看数据',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true
        },
        beforeEnter: (to, from) => {
          if (to.query.guid) {
            to.meta.title = `查看数据-${to.query.name}(${to.query.damName})`;
          }
        }
      },
    ]
  },
  {
    path: '/data-asset/authordata-catalog',
    component: Layout,
    meta: {
      title: '授权数据产品',
      icon: 'sidebar-videos',
    },
    children: [
      {
        path: '',
        name: 'authorDataCatalogManagement',
        component: () => import('@/views/data_asset/authorDataCatalogManagement.vue'),
        meta: {
          title: '',
          sidebar: false,
          breadcrumb: false,
          cache: true
        },
      },
      {
        path: 'register-ctalog-create',
        name: 'authorDataCatalogCreate',
        component: () => import('@/views/data_asset/registerCatalogCreate.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.query.damName}`;
            to.meta.editPage = true;
          }
        }
      },
      {
        path: 'import-file-dam',
        name: 'authorImportFileDam',
        component: () => import('@/views/importFile.vue'),
        meta: {
          title: '导入数据',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true
        },
        beforeEnter: (to, from) => {
          if (to.query.bizGuid) {
            to.meta.title = `导入数据-${to.query.name}(${to.query.damName})`;
          }
        }
      },
      {
        // path: 'processDetail',
        // name: 'APIProcessDetail',
        path: 'api-detail',
        name: 'authorApiDetail',
        component: () => import('@/views/data_asset/detail_serviceApi.vue'),
        meta: {
          title: '流程详情',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true
        }
      },
      {
        path: 'register-catalog-detail',
        name: 'authorRegisterCatalogDetail',
        component: () => import('@/views/data_asset/registerCatalogDetail.vue'),
        meta: {
          title: '详情-',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true
        }
      },
      {
        path: 'register-catalog-contract-detail',
        name: 'authorRegisterCatalogContractDetail',
        component: () => import('@/views/data_asset/registerCatalogContractDetail.vue'),
        meta: {
          title: '合同详情-',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true
        }
      },
      {
        path: 'register-catalog-transaction-detail',
        name: 'authorRegisterCatalogTransactionDetail',
        component: () => import('@/views/data_asset/transactionDetail.vue'),
        meta: {
          title: '产品交易详情-',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true
        },
        beforeEnter: (to, from) => {
          if (to.query.guid) {
            to.meta.title = `产品交易详情-${to.query.damName}`;
          }
        }
      },
      {
        path: 'damTableDataView',
        name: 'authorDamTableDataView',
        component: () => import('@/views/data_asset/damTableDataView.vue'),
        meta: {
          title: '查看数据',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true
        },
        beforeEnter: (to, from) => {
          if (to.query.guid) {
            to.meta.title = `查看数据-${to.query.name}(${to.query.damName})`;
          }
        }
      },
    ]
  },
  {
    path: '/data-product/product-listing',
    component: Layout,
    meta: {
      title: '数据产品上架',
      icon: 'sidebar-videos',
    },
    children: [
      {
        path: '',
        name: 'productListing',
        component: () => import('@/views/data_product/productListing.vue'),
        meta: {
          title: '数据产品上架',
          sidebar: false,
          breadcrumb: false,
          cache: true
        },
      },
      {
        path: 'listing-detail',
        name: 'productListingDetail',
        component: () => import('@/views/data_product/productListingDetail.vue'),
        meta: {
          title: '新增产品上架',
          sidebar: false,
          reuse: true,
          breadcrumb: false,
          cache: true
        },
        beforeEnter: (to, from) => {
          if(to.query.type){
            if (to.query.type == 'detail') {
              to.meta.title = `详情-${to.query.name}`;
            } else {
              to.meta.editPage = true;
              to.meta.title = to.query.type=='add'? '新增产品上架': to.query.type=='edit'? `编辑-${to.query.name}`: `详情-${to.query.name}`;
            }
          }
        }
      },
      {
        path: 'product-JQZQ-detail',
        name: 'productInfoJSZQDetail',
        component: () => import('@/views/data_asset/registerJSZQDetail.vue'),
        meta: {
          title: '详情-',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true
        },
        beforeEnter: (to, from) => {
          if(to.query.type){
            if (to.query.type == 'detail') {
              to.meta.title = `详情-${to.query.name}`;
            } else {
              to.meta.editPage = true;
              to.meta.title = to.query.type=='add'? '新建数据产品': to.query.type=='edit'? `编辑-${to.query.name}`: `详情-${to.query.name}`;
            }
          }
        }
      }
    ],
  },
  {
    path: '/data-product/data-catalog-sort',
    component: Layout,
    meta: {
      title: '数据目录分类',
      icon: 'sidebar-videos',
    },
    children: [
      {
        path: '',
        name: 'productDataCatalogSort',
        component: () => import('@/views/data_asset/productDataCatalogSort.vue'),
        meta: {
          title: '',
          sidebar: false,
          breadcrumb: false,
          cache: true
        },
      },
    ]
  }
]
export default routes