提交 b6a34c45 authored 作者: 付康's avatar 付康

合并分支 'lzl-dev' 到 'master'

规则限制 查看合并请求 !87
...@@ -278,6 +278,7 @@ export function getSingleSanctionBackground(data) { ...@@ -278,6 +278,7 @@ export function getSingleSanctionBackground(data) {
* @param {Boolean} [data.isOnlyCn=true] - 是否仅查询中国数据 * @param {Boolean} [data.isOnlyCn=true] - 是否仅查询中国数据
* @param {String} [data.domainId] - 科技领域ID * @param {String} [data.domainId] - 科技领域ID
* @param {String} [data.searchText] - 搜索文本 * @param {String} [data.searchText] - 搜索文本
* @param {String} [data.searchType] - 搜索类型
* @header token * @header token
*/ */
export function getSingleSanctionOverviewList(data) { export function getSingleSanctionOverviewList(data) {
......
import request from "@/api/request.js";
// 规则限制-首页统计接口
export function getRuleRestrictionStatistics() {
return request({
method: 'GET',
url: `/api/ruleLimitInfo/statCount`
})
}
// 规则限制-查询最新动态接口
export function getRuleRestrictionLatest(params) {
return request({
method: 'GET',
url: `/api/ruleLimitInfo/getLatestUpdates`,
params
})
}
// 规则限制-获取风险信号接口
/**
* @param {moduleId} 模块ID
* @header token
*/
export function getRuleRestrictionRiskSignal(params) {
return request({
method: 'GET',
url: `/api/commonFeature/riskSignal/${params.moduleId}`
})
}
// 规则限制-获取新闻资讯接口
/**
* @param {moduleId} 模块ID
* @header token
*/
export function getRuleRestrictionNews(params) {
return request({
method: 'GET',
url: `/api/commonFeature/news/${params.moduleId}`
})
}
// 规则限制-获取社交媒体接口
/**
* @param {moduleId} 模块ID
* @header token
*/
export function getRuleRestrictionSocialMedia(params) {
return request({
method: 'GET',
url: `/api/commonFeature/remarks/${params.moduleId}`
})
}
\ No newline at end of file
...@@ -938,9 +938,9 @@ onMounted(() => { ...@@ -938,9 +938,9 @@ onMounted(() => {
height: 22px; height: 22px;
color: rgba(95, 101, 108, 1); color: rgba(95, 101, 108, 1);
font-family: Microsoft YaHei; font-family: Microsoft YaHei;
font-size: 14px; font-size: 16px;
font-weight: 600; font-weight: 400;
line-height: 22px; line-height: 24px;
letter-spacing: 0px; letter-spacing: 0px;
text-align: left; text-align: left;
......
...@@ -274,11 +274,9 @@ onMounted(() => { ...@@ -274,11 +274,9 @@ onMounted(() => {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin: 0 auto; margin: 0 auto;
padding: 14px 0; padding-top: 10px;
.layout-main-header-left-box { .layout-main-header-left-box {
width: 900px; width: 900px;
// margin-left: 160px;
// margin-top: 13px;
.left-box-top { .left-box-top {
height: 64px; height: 64px;
display: flex; display: flex;
......
...@@ -933,7 +933,7 @@ onMounted(() => { ...@@ -933,7 +933,7 @@ onMounted(() => {
width: 1064px; width: 1064px;
height: 846px; height: 846px;
.box2 { .box2 {
width: 1064px; width: 1210px;
height: 415px; height: 415px;
border: 1px solid rgba(234, 236, 238, 1); border: 1px solid rgba(234, 236, 238, 1);
border-radius: 10px; border-radius: 10px;
...@@ -948,7 +948,7 @@ onMounted(() => { ...@@ -948,7 +948,7 @@ onMounted(() => {
} }
.box3 { .box3 {
margin-top: 16px; margin-top: 16px;
width: 1064px; width: 1210px;
height: 415px; height: 415px;
border: 1px solid rgba(234, 236, 238, 1); border: 1px solid rgba(234, 236, 238, 1);
border-radius: 10px; border-radius: 10px;
......
...@@ -1103,7 +1103,7 @@ onMounted(async () => { ...@@ -1103,7 +1103,7 @@ onMounted(async () => {
.right { .right {
margin-left: 16px; margin-left: 16px;
margin-top: 16px; margin-top: 16px;
width: 860px; width: 868px;
height: 847px; height: 847px;
background: rgb(255, 255, 255); background: rgb(255, 255, 255);
.box3 { .box3 {
......
...@@ -182,26 +182,12 @@ const handleSelectBtn = index => { ...@@ -182,26 +182,12 @@ const handleSelectBtn = index => {
btnActiveIndex.value = index; btnActiveIndex.value = index;
}; };
const chart1Data = ref([ const chart1Data = ref([]);
{ name: "出口管制", value: 24 },
{ name: "金融制裁", value: 30 },
{ name: "资本管制", value: 31 },
{ name: "对台军售", value: 32 },
{ name: "关税贸易", value: 50 },
{ name: "技术封锁", value: 46 },
{ name: "供应链打压", value: 40 }
]);
const chart1ColorList = ref(["#4096ff", "#b37feb", "#ff7875", "#85a5ff", "#69b1ff", "#ffc069", "#87e8de"]); const chart1ColorList = ref(["#4096ff", "#b37feb", "#ff7875", "#85a5ff", "#69b1ff", "#ffc069", "#87e8de"]);
const chart2ColorList = ref(["#ff7875", "#85a5ff", "#95de64", "#ffc069", "#85e5db"]); const chart2ColorList = ref(["#ff7875", "#85a5ff", "#95de64", "#ffc069", "#85e5db"]);
const chart2Data = ref([ const chart2Data = ref([]);
// { name: "军工", value: 85 },
// { name: "金融业", value: 98 },
// { name: "新能源", value: 95 },
// { name: "半导体", value: 80 },
// { name: "跨境电商", value: 71 },
]);
// 绘制echarts图表 // 绘制echarts图表
const setChart = (option, chartId) => { const setChart = (option, chartId) => {
...@@ -367,8 +353,6 @@ onMounted(async () => { ...@@ -367,8 +353,6 @@ onMounted(async () => {
handleGetBillContentTk("N"); handleGetBillContentTk("N");
await handleGetBillContentXzfs(); await handleGetBillContentXzfs();
await handleGetBillHyly(); await handleGetBillHyly();
let chart1 = getPieChart(chart1Data.value, chart1ColorList.value);
setChart(chart1, "chart1");
}); });
</script> </script>
......
...@@ -142,7 +142,8 @@ const getCoopRestrictionSignalsData = async () => { ...@@ -142,7 +142,8 @@ const getCoopRestrictionSignalsData = async () => {
id: item.signalId, id: item.signalId,
title: item.signalLevel, title: item.signalLevel,
content: item.signalTitle, content: item.signalTitle,
time: item.signalTime time: item.signalTime,
cooperationId: item.cooperationId
})); }));
} }
} catch (error) { } catch (error) {
...@@ -211,7 +212,7 @@ const handleClickToDetail = item => { ...@@ -211,7 +212,7 @@ const handleClickToDetail = item => {
const handleToRiskDetail = (item) => { const handleToRiskDetail = (item) => {
const curRoute = router.resolve({ const curRoute = router.resolve({
path: "/cooperationRestrictions/detail", path: "/cooperationRestrictions/detail",
query: { id: item.id }, query: { id: item.cooperationId },
}); });
window.open(curRoute.href, "_blank"); window.open(curRoute.href, "_blank");
}; };
......
...@@ -480,74 +480,30 @@ const activeMarketShare = ref("总体市场份额"); ...@@ -480,74 +480,30 @@ const activeMarketShare = ref("总体市场份额");
const marketShareOptions = ["总体市场份额"]; const marketShareOptions = ["总体市场份额"];
const chartData = ref({ const chartData = ref({
dates: [ dates: [],
"2023\nQ3", values: [],
"2023\nQ4", sanctionDate: "",
"2024\nQ1", endValue: 0
"2024\nQ2",
"2024\nQ3",
"2024\nQ4",
"2025\nQ1",
"2025\nQ2",
"2025\nQ3",
"2025\nQ4"
],
values: [620, 650, 600, 480, 480, 420, 480, 520, 650, 650],
sanctionDate: "2024\nQ1",
endValue: 645
}); });
const marketChartData = ref({ const marketChartData = ref({
dates: [ dates: [],
"2023\nQ3", values: [],
"2023\nQ4", sanctionDate: "",
"2024\nQ1", endValue: 0
"2024\nQ2",
"2024\nQ3",
"2024\nQ4",
"2025\nQ1",
"2025\nQ2",
"2025\nQ3",
"2025\nQ4"
],
values: [620, 650, 600, 480, 480, 420, 480, 520, 650, 650],
sanctionDate: "2024\nQ1",
endValue: 645
}); });
const rdChartData = ref({ const rdChartData = ref({
dates: [ dates: [],
"2023\nQ3", values: [],
"2023\nQ4", sanctionDate: "",
"2024\nQ1", endValue: 0
"2024\nQ2",
"2024\nQ3",
"2024\nQ4",
"2025\nQ1",
"2025\nQ2",
"2025\nQ3",
"2025\nQ4"
],
values: [62, 65, 60, 55, 62, 68, 83, 92, 89, 92],
sanctionDate: "2024\nQ1",
endValue: 92,
}); });
const shareChartData = ref({ const shareChartData = ref({
dates: [ dates: [],
"2023\nQ3", values: [],
"2023\nQ4", sanctionDate: "",
"2024\nQ1",
"2024\nQ2",
"2024\nQ3",
"2024\nQ4",
"2025\nQ1",
"2025\nQ2",
"2025\nQ3",
"2025\nQ4"
],
values: [65, 70, 72, 70, 58, 65, 68, 72, 72, 68],
sanctionDate: "2024\nQ1",
unit: "%", unit: "%",
}); });
...@@ -602,7 +558,7 @@ const getBaseOption = (data) => { ...@@ -602,7 +558,7 @@ const getBaseOption = (data) => {
const initRevenueChart = () => { const initRevenueChart = () => {
const dom = chartRef.value; const dom = chartRef.value;
const data = chartData.value; const data = chartData.value;
if (!dom || !data.values) return; if (!dom || !data.values || data.values.length === 0) return;
let myChart = echarts.getInstanceByDom(dom) || echarts.init(dom); let myChart = echarts.getInstanceByDom(dom) || echarts.init(dom);
const lastDate = data.dates[data.dates.length - 1]; const lastDate = data.dates[data.dates.length - 1];
...@@ -670,7 +626,7 @@ const initRevenueChart = () => { ...@@ -670,7 +626,7 @@ const initRevenueChart = () => {
const initMarketChart = () => { const initMarketChart = () => {
const dom = marketChartRef.value; const dom = marketChartRef.value;
const data = marketChartData.value; const data = marketChartData.value;
if (!dom || !data.values) return; if (!dom || !data.values || data.values.length === 0) return;
let myChart = echarts.getInstanceByDom(dom) || echarts.init(dom); let myChart = echarts.getInstanceByDom(dom) || echarts.init(dom);
const lastDate = data.dates[data.dates.length - 1]; const lastDate = data.dates[data.dates.length - 1];
...@@ -731,7 +687,7 @@ const initMarketChart = () => { ...@@ -731,7 +687,7 @@ const initMarketChart = () => {
const initRDChart = () => { const initRDChart = () => {
const dom = rdChartRef.value; const dom = rdChartRef.value;
const data = rdChartData.value; const data = rdChartData.value;
if (!dom || !data.values) return; if (!dom || !data.values || data.values.length === 0) return;
let myChart = echarts.getInstanceByDom(dom) || echarts.init(dom); let myChart = echarts.getInstanceByDom(dom) || echarts.init(dom);
const lastDate = data.dates[data.dates.length - 1]; const lastDate = data.dates[data.dates.length - 1];
...@@ -851,13 +807,6 @@ onMounted(async () => { ...@@ -851,13 +807,6 @@ onMounted(async () => {
if (selectedCompanyId.value) { if (selectedCompanyId.value) {
getRevenueData(); getRevenueData();
} }
nextTick(() => {
initRevenueChart();
initMarketChart();
initRDChart();
initShareChart();
});
}); });
</script> </script>
......
...@@ -247,6 +247,7 @@ const getSanctionOverviewList = async () => { ...@@ -247,6 +247,7 @@ const getSanctionOverviewList = async () => {
isOnlyCn: onlyChina.value, isOnlyCn: onlyChina.value,
domainId: filterField.value || undefined, domainId: filterField.value || undefined,
searchText: searchKeyword.value || undefined, searchText: searchKeyword.value || undefined,
searchType: searchType.value
}) })
if (res.code === 200) { if (res.code === 200) {
const data = res.data || {} const data = res.data || {}
...@@ -407,9 +408,10 @@ const onlyChina = ref(false) ...@@ -407,9 +408,10 @@ const onlyChina = ref(false)
const filterField = ref('') const filterField = ref('')
const searchKeyword = ref('') const searchKeyword = ref('')
const activeTab = ref('add') const activeTab = ref('add')
const searchType = computed(() => activeTab.value)
// 监听筛选条件变化 // 监听筛选条件变化
watch([onlyChina, filterField], () => { watch([onlyChina, filterField, activeTab], () => {
getSanctionOverviewList() getSanctionOverviewList()
}) })
......
<template>
<el-tooltip
effect="dark"
:content="content"
popper-class="common-prompt-popper"
placement="top"
:show-after="500"
>
<div class="text-ellipsis">
<slot>{{ content }}</slot>
</div>
</el-tooltip>
</template>
<script setup>
defineProps({
content: {
type: String,
default: ""
}
});
</script>
<style scoped>
.text-ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
cursor: pointer;
}
</style>
<style>
.common-prompt-popper.el-popper {
padding: 8px 16px !important;
border-radius: 10px !important;
background-color: rgb(59, 65, 75) !important;
font-size: 16px !important;
font-weight: 400 !important;
font-family: "Microsoft YaHei" !important;
line-height: 30px !important;
color: #fff !important;
border: none !important;
}
.common-prompt-popper.el-popper .el-popper__arrow::before {
background-color: rgb(59, 65, 75) !important;
border-color: rgb(59, 65, 75) !important;
}
</style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论