4f373cbc by xukangle

Merge branch 'develop' into dev_20241202_xukangle

2 parents e265d84e 8d3a5ee7
/** --------------------- 质量评估模型 ------------------------------- */
import request from "@/utils/request";
/** 获取质量评估方案资产名称列表 */
export const getQualityDamList = () => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/dam-name-list`,
method: 'get'
})
/** 获取质量评估列表 */
export const getQualityList = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/dam-list`,
method: 'post',
data: params
})
/** 获取可选择的资产目录列表 */
export const getDamList = () => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/dam-catalog-table/dam-name-list`,
method: 'post',
data: {}
})
/** 获取资产目录的表列表 */
export const getDamTableList = (damGuid) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/dam-catalog-table/get-table-list?damGuid=${damGuid}`,
method: 'get'
})
/** 获取资产目录表的详情 */
export const getTableFields = (subjectGuid) => request({
url:`${import.meta.env.VITE_API_ASSET_BASEURL}/dam-catalog-table/get-table-detail?subjectGuid=${subjectGuid}`,
method: 'get'
});
/** 获取资产表的规则列表 */
export const getDamTableRulesList = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model/list/rule-by-dam-guid`,
method: 'post',
data: params
})
/** 批量新增资产表的规则 */
export const saveDamTableRules = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model/add`,
method: 'post',
data: params
})
/** 获取资产表的单个规则 */
export const getRuleConfDetail = (param) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model/conf/detail?ruleConfGuid=${param}`,
method: 'get'
})
/** 获取对应执行方案的规则详情 */
export const getRecordRuleConfDetail = (param) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model-record/conf/detail?ruleConfGuid=${param.ruleConfGuid}&planExecGuid=${param.planExecGuid}`,
method: 'get'
});
/** 编辑资产表的单个规则 */
export const updateDamTableRule = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model/conf/update`,
method: 'post',
data: params
})
/** 删除资产表的单个规则 */
export const deleteDamTableRule = (ruleConfGuid, planGuid: any = null) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model/conf/del?ruleConfGuid=${ruleConfGuid}&planGuid=${planGuid}`,
method: 'delete'
})
// 获取规则类型的接口
export const getRuleTypeList = () => request({
url:`${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-rule/list`,
method: 'post',
data: {}
})
// 获取规则大类的接口
export const getLargeCategoryList = () => request({
url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`,
method: 'post',
data: { paramCode: "LARGE-CATEGORY" }
})
// 获取规则小类的接口
export const getSmallCategoryList = () => request({
url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`,
method: 'post',
data: { paramCode: "SMALL-CATEGORY" }
})
/** 表的逻辑条件和sql检验。 */
export const validateSubjectTableRule = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/sql-operate/check-sql`,
method: 'post',
data: params
})
/** 自定义sql检验 */
export const validateCustomSql = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model/conf/check-custom-sql`,
method: 'post',
data: params
})
/** 批量验证过滤条件 */
export const batchValidateSubjectTableRule = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/sql-operate/batch-check-sql`,
method: 'post',
data: params
})
/** ---------- 第二步,规则权重设置接口 ------ - */
/** 获取规则大类统计 */
export const getModelRuleCount = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model/list/model-rule-category-count`,
method: 'post',
data: params
})
/** 保存质量评估方案 */
export const saveQualityPlan = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/add`,
method: 'post',
data: params
})
/** 更新质量方案 */
export const updateQualityPlan = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/update`,
method: 'put',
data: params
})
/** 删除质量方案 */
export const deleteQualityPlan = (guids) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/del`,
method: 'delete',
data: guids
})
/** 获取方案详情,用于编辑 */
export const getPlanDetail = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/detail/${params}`,
method: 'get'
})
/** 获取方案详情中的过滤条件,用于编辑 */
export const getPlanFilterDetail = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/query-plan-filter?planGuid=${params}`,
method: 'get'
})
/** 手动执行方案 */
export const executePlan = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/dam-exec-plan?planGuid=${params.planGuid}&reportGuid=${params.reportGuid}`,
method: 'post'
})
/** 获取方案查看详情列表数据。 */
export const getAssessDetailTableData = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-analysis-report/page-exec-log-list`,
method: 'post',
data: params
})
/** 根据执行guid,获取方案执行详情。 */
export const getExecPlanDetailTableData = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/query-exec-detail?&planExecGuid=${params.planExecGuid}`,
method: 'get'
})
/** 获取方案详情中每个表的规则详细执行列表数据。 */
export const getAssessTableRulesData = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/query-exec-table-detail?planExecGuid=${params.planExecGuid}&qualityModelGuid=${params.qualityModelGuid}`,
method: 'get'
})
/** 下载脏数据 */
export const downloadDirtyData = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/down-dirty-data`,
method: 'post',
data: params,
responseType: 'blob'
})
/** html转word接口 */
export const htmlToWord = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-analysis-report/download/html-to-word`,
method: 'postJsonD',
data: params,
responseType: 'blob'
});
/** 获取方案执行表规则查看 */
export const getTableRuleDetail= (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-analysis-report/query-exec-table-rule-detail?reportExecGuid=${params}`,
method: 'get'
});
/** 获取数据质量一级指标得分统计 */
export const getLargeCategoryScore = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-analysis-report/get-largeCategory-score?reportExecGuid=${params}`,
method: 'get'
});
/** 获取质量分析报告的详细内容,根绝报告guid。 */
export const getReportDetail = (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-analysis-report/get-report-data`,
method: 'post',
data: params
});
/** 获取方案执行明细 */
export const getPlanReportDetail= (params) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-analysis-report/query-exec-table-detail?reportExecGuid=${params.reportExecGuid}&planGuid=${params.planGuid}`,
method: 'get'
});
/** 下载sql语句执行 */
export const downPlanSql = (planGuid) => request({
url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/down-plan-sql?planGuid=${planGuid}`,
method: 'post',
responseType: 'blob'
})
import request from "@/utils/request";
/**
* 流通撮合
**/
/** 获取已添加的数据产品列表 */
export const getMatchList = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/circulation-matching/page-list`,
method: 'post',
data: params
})
/** 获取撮合详情 */
export const getMatchDetail = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/circulation-matching/detail`,
method: 'get',
params
})
/** 新增撮合信息 */
export const matchSave = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/circulation-matching/save`,
method: 'post',
data: params
});
/** 更新撮合信息 */
export const matchUpdate = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/circulation-matching/update`,
method: 'post',
data: params
});
/** 删除撮合信息 */
export const matchDelete = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/circulation-matching/delete`,
method: 'delete',
data: params
});
/** 获取撮合日志 */
export const getMatchLog = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/circulation-matching/state-change-log-list`,
method: 'get',
params
});
/**
* 金融产品
**/
/** 获取金融产品列表。 */
export const getFinancialList = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/financial-products/page-list`,
method: 'post',
data: params
})
/** 获取金融产品详情 */
export const getFinancialDetail = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/financial-products/detail`,
method: 'get',
params
})
/** 新增金融产品信息 */
export const financialSave = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/financial-products/save`,
method: 'post',
data: params
});
/** 更新金融产品信息 */
export const financialUpdate = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/financial-products/update`,
method: 'post',
data: params
});
/** 删除金融产品信息 */
export const financialDelete = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/financial-products/delete`,
method: 'delete',
data: params
});
/** 更新金融产品上架状态 */
export const financialUpdateStatus = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/financial-products/update-listing-Status`,
method: 'post',
data: params
});
/** 验证金融产品名称唯一性 */
export const checkFinancialName = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/financial-products/verify-data-name`,
method: 'get',
params
})
// 数据要素乘
export const orderStates = [{
value: 'N',
label: '待沟通'
}, {
value: 'I',
label: '沟通中'
}, {
value: 'R',
label: '达成意向'
}, {
value: 'C',
label: '合同拟定'
}, {
value: 'S',
label: '合同签署'
}, {
value: 'P',
label: '合同执行中'
}, {
value: 'Y',
label: '合同执行完'
}, {
value: 'D',
label: '撮合关闭'
}]
export const filterVal = (val, type) => {
if(type == 'orderState'){
const row = orderStates.filter(d => d.value == val);
return row.length?row[0].label:'--';
} else if(type == 'tenantNature'){
let approval = '--';
switch (val) {
case 1:
approval = '数据字典数据治理';
break;
case 2:
approval = '律师事务所';
break;
case 3:
approval = '会计师事务所';
break;
case 4:
approval = '金融机构';
break;
case 5:
approval = '资产评估机构';
break;
case 6:
approval = '申请数据资产化企业';
break;
case 7:
approval = '其他';
break;
default:
approval = '--';
break;
}
return approval;
}
}
export const filterStatus = (row, type) => {
let state = 'info'
if (type == 'orderState') {
switch (row[type]) {
case "N":
state = 'warning'
break;
case "I":
state = 'warning'
break;
case "R":
state = "warning"
break
case "C":
state = "warning"
break
case "S":
state = "primary"
break
case "P":
state = "primary"
break
case "Y":
state = 'success';
break;
case "D":
state = "info"
break
default:
state = "info"
break
}
}
return state;
}
import request from "@/utils/request";
/** 校验公司名称是否重复 */
export const checkCompanyName = (params) => request({
url: `${import.meta.env.VITE_API_PORTALURL}/portal/cooperate-register/verify-company-name`,
method: 'get',
params
})
/** 获取短信验证码 */
export const getRegisterCode = (params) => request({
url: `${import.meta.env.VITE_API_PORTALURL}/portal/sms/get-verify-code`,
method: 'post',
params
})
/** 校验短信验证码 */
export const checkRegisterCode = (params) => request({
url: `${import.meta.env.VITE_API_PORTALURL}/portal/sms/get-verify-code-validation`,
method: 'post',
params
})
/** 注册信息申请 */
export const registerInfoSave = (params) => request({
url: `${import.meta.env.VITE_API_PORTALURL}/portal/cooperate/save`,
method: 'post',
data: params
});
/** 获取注册信息列表。 */
export const getRegisterInfoList = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cooperate-register/page-list`,
method: 'post',
data: params
})
/** 获取注册信息详情 */
export const getRegiaterInfoDetail = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cooperate-register/detail`,
method: 'get',
params
})
/** 更新注册信息 */
export const registerInfoUpdate = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cooperate-register/update`,
method: 'post',
data: params
});
/** 删除注册信息 */
export const registerInfoDelete = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cooperate-register/delete`,
method: 'delete',
data: params
});
/** 验证管理员账号是否重复 */
export const checkAccount = (params) => request({
url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cooperate-register/verify-admin-account`,
method: 'get',
params
})
/** 获取登录日志 */
export const getAccountLog = (params) => request({
url: `${import.meta.env.VITE_APP_API_BASEURL}/user/user-login-record`,
method: 'post',
data: params
})
/** 获取图形验证码 **/
export const getImgCodeSrc = (params={}) => request({
url: `${import.meta.env.VITE_API_PORTALURL}/portal/get-captcha`,
method: 'get',
params
})
/** 校验图形验证码 **/
export const checkImgCode = (params={}) => request({
url: `${import.meta.env.VITE_API_PORTALURL}/portal/check`,
method: 'post',
params
})
......@@ -218,7 +218,7 @@ const rulesDetailTableInfo: any = ref({
oneRulesDetailDialogVisible.value = true;
} else {
detailJson.value[row.ruleConfGuid] = { isRequest: true };
getRecordRuleConfDetail({ruleConfGuid: row.ruleConfGuid, planExecGuid: planExecGuid }).then((res: any) => {
getRecordRuleConfDetail({ ruleConfGuid: row.ruleConfGuid, planExecGuid: planExecGuid }).then((res: any) => {
detailLoading.value = false;
oneRulesDetailDialogVisible.value = true;
if (res.code == proxy.$passCode) {
......@@ -302,4 +302,4 @@ const rulesDetailTableInfo: any = ref({
}
}
}
</style>
\ No newline at end of file
</style>
......
<route lang="yaml">
name: home
meta:
title: 数据资产管理
</route>
<script lang="ts" setup name="home">
import homeDamRegister from './homeDamRegister.vue';
import homeDamDataCircule from './homeDamDataCircule.vue';
import homeDamDemand from './homeDamDemand.vue';
import homeDamAlgorithm from './homeDamAlgorithm.vue';
import homeDamFinance from './homeDamFinance.vue';
import homeDamMarket from './homeDamMarket.vue';
const activeName = ref('register');
const enterCompany = () => {
window.open('https://www.csbr.cn/');
}
const logon = () => {
window.open('/login');
}
const register = () => {
window.open('/register');
}
const companyDesc = ref('国家级数据交易所经纪服务商,为客户提供数据资产登记服务、数据要素及数据产品交易服务、数据要素金融服务等一揽子经纪服务。\n北京传世博润科技有限公司以软硬件一体化的人工智能物流网为基础,结合大数据技术提供数字化综合解决方案,帮助客户在数字经济时代转型为数字化企业的飞跃。');
const tabsInfo = ref({
activeName: "index",
tabs: [
{ label: "首页", name: 'index' },
{ label: "资产登记服务", name: "dam", description: '' },
{ label: "数据供给", name: "dataCircule" },
{ label: "供需信息", name: "demand" },
{ label: "算法竞赛", name: "algorithm" },
{ label: "服务工具", name: "market" },
{ label: "融资服务", name: "service" },
]
});
const homeDamFinanceRef = ref();
const homeDamDataCirculeRef = ref();
const homeDamDemandRef = ref();
const homeDamAlgorithmRef = ref();
const homeDamMarketRef = ref();
const tabClick = (val) => {
if (val?.props.name == 'dataCircule') {
homeDamDataCirculeRef.value.initPage();
} else if (val?.props.name == 'demand') {
homeDamDemandRef.value.initPage();
} else if (val?.props.name == 'algorithm') {
homeDamAlgorithmRef.value.initPage();
} else if (val?.props.name == 'market') {
homeDamMarketRef.value.initPage();
} else if (val?.props.name == 'service') {
homeDamFinanceRef.value.initPage();
}
}
</script>
<template>
<div class="home-full-wrap">
<div class="home-container">
<div class="logo-header">
<img style="width: 120px;height: 36px;margin-left: 27px;" src="../assets/images/logo-white.png" alt="" />
<el-tabs v-model="tabsInfo.activeName" class="header-tabs" @tab-click="tabClick">
<el-tab-pane v-for="tab in tabsInfo.tabs" :label="tab.label" :name="tab.name">
</el-tab-pane>
</el-tabs>
<div class="logon-btns">
<el-button class="logon-btn" @click="register">注册</el-button>
<el-button class="logon-btn main-btn" @click="logon">登录</el-button>
</div>
</div>
<div v-show="tabsInfo.activeName == 'index'">
<div class="banner">
<img style="width: 100%;height: 100%;" src="../assets/images/home-banner.png" alt="" />
<div class="header">
<div class="header-content">
<!-- <div class="header-top">
<img src="../assets/images/logo.png" class="logo" />
</div> -->
<div class="header-bottom">
<div class="title">数据资产管理系统</div>
<div class="header-right">激活数据流通体系,释放数据要素新质生产力</div>
</div>
</div>
</div>
</div>
<div class="second-container">
<div class="content">
<div class="chunk">
<img class="effect-img" src="../assets/images/financial-optimization.png" alt="" />
</div>
<div class="chunk">
<img class="effect-img" src="../assets/images/enhance.png" alt="" />
</div>
<div class="chunk">
<img class="effect-img" src="../assets/images/promote-circulation.png" alt="" />
</div>
<div class="chunk">
<img class="effect-img" src="../assets/images/data-element.png" alt="" />
</div>
</div>
</div>
<el-tabs class="three-tabs" v-model="activeName">
<el-tab-pane label="数据资产登记服务" name="register" class="register">
<div class="title-a">确权凭证可交易</div>
<div class="step-main">
<div class="step-one">
<div class="left">1</div>
<div class="right">加入数据资产生产体系</div>
</div>
<div class="step-one">
<div class="left">2</div>
<div class="right">资源盘点资产规划</div>
</div>
<div class="step-one">
<div class="left">3</div>
<div class="right">合规核验权利梳理</div>
</div>
<div class="step-one">
<div class="left">4</div>
<div class="right">资产登记确权凭证</div>
</div>
<div class="step-one">
<div class="left">5</div>
<div class="right">确定目标资产质量评价</div>
</div>
<div class="step-one">
<div class="left">6</div>
<div class="right">确定目标资产价值评估</div>
</div>
</div>
<div class="title-a" style="margin-top: 0px">确权凭证不可交易</div>
<div class="step-main">
<div class="step-one">
<div class="left">1</div>
<div class="right">加入数据资产生产体系</div>
</div>
<div class="step-one">
<div class="left">2</div>
<div class="right">资源盘点资产规划</div>
</div>
<div class="step-one">
<div class="left">3</div>
<div class="right">合规核验权利梳理</div>
</div>
<div class="step-one">
<div class="left">4</div>
<div class="right">资产登记确权凭证</div>
</div>
<div class="step-one" style="background: transparent"></div>
<div class="step-one" style="background: transparent"></div>
</div>
</el-tab-pane>
<el-tab-pane label="数据资产入表服务" name="entry" class="entry">
<div style="width: 100%; position: relative;">
<img style="width: 100%;height: 208px;" src="../assets/images/entry-bg.png" alt="" />
<div class="content">
<div class="title">提供入表咨询服务</div>
<div class="desc">提供权威会计师律师事务所辅导资产入表工作 上市公司 拟上市公司 国有企业 事业单位</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="数据场内交易服务" name="transactio" class="transactio">
<div class="title-a">获取加工及产品经营授权,将数据资源形成数据产品,在可信空间进行买卖双方的交易</div>
<div class="step-main">
<div class="step-one" style="width: calc(25% - 25px)">
<div class="left">1</div>
<div class="right">数据产品设计</div>
</div>
<div class="step-one" style="width: calc(25% - 25px)">
<div class="left">2</div>
<div class="right">数据产品发布</div>
</div>
<div class="step-one" style="width: calc(25% - 25px)">
<div class="left">3</div>
<div class="right">寻找数据需求方</div>
</div>
<div class="step-one" style="width: calc(25% - 25px)">
<div class="left">4</div>
<div class="right">撮合成交</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="数据金融化服务" name="finace" class="finace">
<div class="title-a">提供辅导完成数据资产金融化业务,获取以数据资产或数据产品的融资</div>
<div class="step-main">
<div class="step-one" style="width: calc(33% - 35px)">
<div class="left">1</div>
<div class="right">提出金融需求</div>
</div>
<div class="step-one" style="width: calc(33% - 35px)">
<div class="left">2</div>
<div class="right">寻找资金方</div>
</div>
<div class="step-one" style="width: calc(33% - 35px)">
<div class="left">3</div>
<div class="right">撮合成交</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="治理及挖掘服务" name="governance" class="governance">
<div style="width: 100%; position: relative;">
<img style="width: 100%;height: 208px;" src="../assets/images/governance-bg.png" alt="" />
<div class="content">
<div class="title">治理及挖掘服务</div>
<div class="desc">提供专业的数据治理服务商为其提供数据治理服务及建议咨询</div>
<div class="desc">提供专业的数据挖掘应用服务</div>
</div>
</div>
</el-tab-pane>
</el-tabs>
<div class="four-container">
<div style="height: 100%; width: 100%;">
<div class="title">重点领域数据要素乘数效应</div>
<div class="desc">12重点领域</div>
<img style="width: 100%;margin-bottom: 61px;" src="../assets/images/primary-area.png" alt="" />
</div>
</div>
<div class="company">
<div style="height: 100%; width: 100%;">
<div class="title">北京传世博润科技有限公司</div>
<div class="desc">{{ companyDesc }}</div>
<div class="btn-dom">
<el-button class="btn" @click="enterCompany">了解我们</el-button>
</div>
<img style="width: 100%;height: 543px;" src="../assets/images/company-bg.png" alt="" />
</div>
</div>
<div class="exchange">
<div class="title">合作交易所</div>
<div class="img-main">
<img class="img-exchange" src="../assets/images/exchange-beijing.png" alt="" />
<img class="img-exchange" src="../assets/images/exchange-guiyang.png" alt="" />
<img class="img-exchange" src="../assets/images/exchange-xibu.png" alt="" />
<img class="img-exchange" src="../assets/images/exchange-wenzhou.png" alt="" />
</div>
</div>
</div>
<homeDamRegister v-show="tabsInfo.activeName == 'dam'"></homeDamRegister>
<!-- 数据供给页面 -->
<homeDamDataCircule ref="homeDamDataCirculeRef" v-show="tabsInfo.activeName == 'dataCircule'"></homeDamDataCircule>
<!-- 供需信息页面 -->
<homeDamDemand ref="homeDamDemandRef" v-show="tabsInfo.activeName == 'demand'"></homeDamDemand>
<!-- 算法竞赛页面 -->
<homeDamAlgorithm ref="homeDamAlgorithmRef" v-show="tabsInfo.activeName == 'algorithm'"></homeDamAlgorithm>
<!-- 服务工具 -->
<homeDamMarket ref="homeDamMarketRef" v-show="tabsInfo.activeName == 'market'"></homeDamMarket>
<homeDamFinance ref="homeDamFinanceRef" v-show="tabsInfo.activeName == 'service'"></homeDamFinance>
<div class="footer-link">
<div class="link-title">友情链接</div>
<div class="link-main">
<div class="column">
<!-- 目前没找到官网,暂时先不跳转,跟统计局不是同一个。 -->
<span class="link-detail" href="https://data.stats.gov.cn" target="_blank">国家数据局</span>
<a class="link-detail" href="https://www.miit.gov.cn" target="_blank">中华人民共和国工业和信息化部</a>
<a class="link-detail" href="http://www.caict.ac.cn" target="_blank">中国信息通信研究院</a>
<a class="link-detail" href="https://www.trimps.ac.cn" target="_blank">公安部第三研究所</a>
</div>
<div class="column">
<a class="link-detail" href="https://www.cufe.edu.cn" target="_blank">中央财经大学</a>
<a class="link-detail" href="https://www.henu.edu.cn" target="_blank">河南大学</a>
<a class="link-detail" href="https://www.wzu.edu.cn" target="_blank">温州大学</a>
</div>
<div class="column">
<a class="link-detail" href="https://www.landinglawyer.com" target="_blank">上海兰迪律师事务所</a>
<a class="link-detail" href="https://www.cairui.com.cn" target="_blank">上海财瑞会计事务所</a>
<a class="link-detail" href="https://www.cairui.com.cn" target="_blank">上海财瑞资产评估有限公司</a>
</div>
<div class="column">
<a class="link-detail" href="https://ebanking1.ccb.com.cn" target="_blank">中国建设银行</a>
<a class="link-detail" href="https://bankofbeijing.com.cn" target="_blank">北京银行股份有限公司</a>
<a class="link-detail" href="https://www.cebbank.com" target="_blank">中国光大银行股份有限公司</a>
<a class="link-detail" href="https://www.zybank.com.cn" target="_blank">中原银行股份有限公司</a>
<a class="link-detail" href="https://www.shxibank.com" target="_blank">山西银行股份有限公司</a>
</div>
</div>
</div>
<div class="footer">
<div class="desc">北京传世博润科技有限公司 Copyright @ 2023-2024 <a style="color: #fff" href="https://beian.miit.gov.cn"
target="_blank">京ICP备2024044205号 </a>
</div>
</div>
</div>
</div>
</template>
<style lang="scss" scoped>
.home-full-wrap {
height: 100%;
width: 100%;
overflow-y: auto;
overflow-x: hidden;
}
.home-container {
display: flex;
flex-direction: column;
min-height: 100%;
}
.logo-header {
height: 48px;
display: flex;
align-items: center;
justify-content: space-between;
:deep(.header-tabs.el-tabs) {
margin-top: 14px;
.el-tabs__nav-scroll {
display: flex;
justify-content: center;
}
.el-tabs__nav-wrap::after {
height: 0px;
}
.el-tabs__nav {
margin: 0px 20px;
}
.el-tabs__item:focus-visible {
box-shadow: none;
}
}
}
.banner {
height: 500px;
position: relative;
.header {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
color: #fff;
position: absolute;
left: 0;
top: 0;
.header-content {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
.header-top {
height: 80px;
display: flex;
align-items: center;
.logo {
margin-left: 40px;
height: 40px;
}
}
.header-bottom {
height: calc(100% - 120px);
display: flex;
flex-direction: column;
justify-content: center;
margin-bottom: 40px;
.title {
font-size: 56px;
color: #FFFFFF;
font-weight: 400;
margin-bottom: 18px;
display: block;
margin-left: 213px;
}
.header-right {
font-size: 30px;
font-weight: 200;
padding-top: 25px;
margin-left: 331px;
}
}
}
}
}
.logon-btns {
display: flex;
margin-right: 55px;
}
.logon-btn {
font-size: 14px;
color: #666666;
text-align: center;
height: 32px;
width: 64px;
display: block;
border-radius: 4px;
&.main-btn {
background: #0098E6;
color: #fff;
}
}
.second-container {
height: auto;
background-color: #fff;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
padding: 32px 20px;
.content {
width: 100%;
display: flex;
height: 100%;
justify-content: space-between;
.chunk {
min-width: 250px;
width: 23.5%;
.effect-img {
height: 100%;
width: 100%;
}
.text {
font-size: 24px;
color: #1B1B1B;
font-weight: 200;
padding-left: 20px;
padding-right: 40px;
padding-top: 12px;
height: 118px;
}
}
}
}
:deep(.three-tabs.el-tabs) {
background-color: #EAEDF4;
.el-tabs__content {
padding: 0px 20px;
}
.el-tabs__nav-next,
.el-tabs__nav-prev {
top: 35px;
}
.el-tabs__nav-scroll {
display: flex;
flex-direction: row;
justify-content: center;
padding: 0px 20px;
.el-tabs__nav {
width: 100%;
}
}
.el-tabs__active-bar {
background-color: #E1822F;
}
.el-tabs__item {
height: 110px;
width: 256px;
font-size: 24px;
color: #414141;
font-weight: 200;
padding-right: 30px;
flex: 1;
&.is-active {
color: #E1822F;
font-weight: 500;
}
}
.el-tab-pane {
display: flex;
flex-direction: column;
align-items: center;
}
.title-a {
margin-top: 37px;
margin-bottom: 16px;
font-size: 24px;
color: #2B2B2B;
font-weight: 200;
width: 100%;
}
.governance,
.entry {
margin-bottom: 50px;
margin-top: 36px;
position: relative;
.content {
position: absolute;
left: 60px;
top: 0;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
.title {
font-size: 32px;
color: #FFFFFF;
font-weight: 200;
}
.desc {
margin-top: 12px;
font-size: 20px;
color: #FFFFFF;
font-weight: 200;
}
}
}
.step-main {
margin-bottom: 81px;
display: flex;
width: 100%;
justify-content: space-between;
.step-one {
height: 127px;
background-image: linear-gradient(90deg, #D96D03 2%, #F1A981 100%);
display: flex;
min-width: 205px;
width: calc(16.7% - 20px);
.left {
display: flex;
align-items: center;
margin-left: 12px;
font-size: 80px;
color: #FFFFFF;
font-weight: 500;
}
.right {
display: flex;
align-items: center;
margin-left: 8px;
margin-right: 24px;
font-size: 24px;
color: #FFFFFF;
font-weight: 200;
}
}
}
}
.four-container {
height: auto;
display: flex;
flex-direction: column;
align-items: center;
padding: 0px 20px;
.title {
width: 100%;
margin-top: 80px;
font-size: 40px;
color: #242424;
line-height: 56px;
font-weight: 200;
}
.desc {
width: 100%;
font-size: 24px;
color: #242424;
line-height: 33px;
font-weight: 200;
margin-bottom: 32px;
}
}
.company {
background: #EAEDF4;
display: flex;
flex-direction: column;
align-items: center;
padding: 0px 20px;
.title {
width: 100%;
margin-top: 80px;
font-size: 40px;
color: #2B2B2B;
font-weight: 200;
height: 56px;
}
.desc {
width: 100%;
margin-top: 14px;
font-size: 20px;
color: #2B2B2B;
font-weight: 200;
white-space: pre-line;
line-height: 28px;
}
.btn-dom {
width: 100%;
}
.btn {
font-size: 18px;
margin-top: 21px;
margin-bottom: 23px;
background: #0759B7;
border-radius: 0px;
color: #fff;
font-weight: 500;
padding: 8px 33px;
height: 40px;
width: 120px;
}
}
.exchange {
height: 394px;
display: flex;
flex-direction: column;
align-items: center;
padding: 0px 20px;
.title {
width: 100%;
margin-top: 40px;
margin-bottom: 30px;
font-size: 40px;
color: #2B2B2B;
font-weight: 200;
}
.img-main {
width: 100%;
height: 228px;
display: flex;
justify-content: space-between;
.img-exchange {
width: 23%;
min-width: 230px;
}
}
}
.footer {
height: 60px;
display: flex;
align-items: center;
justify-content: center;
background: #2A2B2C;
.desc {
font-size: 14px;
color: #FFFFFF;
font-weight: 200;
}
}
.footer-link {
height: 262px;
display: flex;
flex-direction: column;
align-items: flex-start;
background: #2A2B2C;
padding: 0px 90px;
.link-title {
margin: 28px 0px;
font-size: 16px;
color: #FFFFFF;
font-weight: 600;
}
.link-main {
display: flex;
flex-direction: row;
justify-content: space-between;
width: 100%;
.column {
display: flex;
flex-direction: column;
}
.link-detail {
font-size: 16px;
color: #C9C9C9;
line-height: 18px;
font-weight: 400;
line-height: 24px;
margin-bottom: 8px;
text-decoration: none;
cursor: pointer;
}
}
}
:deep(.el-overlay) {
background-color: transparent;
}
</style>
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!