提交 f23aec00 authored 作者: coderBryanFu's avatar coderBryanFu

feta:数据资源库更新

stages:
- build
- deploy
# cache:
# key: "$CI_COMMIT_REF_SLUG"
# paths:
# - .npm/
build_pre:
stage: build
image: node:20-bullseye
tags:
- risk-monitor-frontend
only:
- pre
script:
- node -v
- npm -v
- npm config set cache .npm --global
- npm ci --prefer-offline --no-audit --no-fund
- npm run build
artifacts:
paths:
- dist/
expire_in: 1 hour
deploy_pre:
stage: deploy
image: alpine:3.20
tags:
- risk-monitor-frontend
only:
- pre
dependencies:
- build_pre
script:
- apk add --no-cache rsync
- rsync -av --delete dist/ /nas/kjb_service/zm/pre-project/html/
\ No newline at end of file
差异被折叠。
...@@ -5,6 +5,8 @@ import request from "@/api/request.js"; ...@@ -5,6 +5,8 @@ import request from "@/api/request.js";
* @param {Object} params * @param {Object} params
* @param {string} [params.id] - 行业领域id(全部领域不传) * @param {string} [params.id] - 行业领域id(全部领域不传)
* @param {string} [params.companyName] - 公司名称(搜索框为空不传) * @param {string} [params.companyName] - 公司名称(搜索框为空不传)
* @returns {Array<{id: string, name: string, marketChange: number|null, chainCompanyId: string|number}>}
* 说明:右侧详情查询当前建议优先使用 chainCompanyId;若缺失可回退 id,兼容后续接口调整
*/ */
export function getCompanyList(params) { export function getCompanyList(params) {
return request({ return request({
......
...@@ -13,15 +13,15 @@ import '@/assets/fonts/font.css' ...@@ -13,15 +13,15 @@ import '@/assets/fonts/font.css'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
// import AreaTag from '@/components/base/AreaTag/index.vue' // import AreaTag from '@/components/base/AreaTag/index.vue'
// import LeftBtn from "@/components/base/PageBtn/LeftBtn.vue"; // import LeftBtn from "@/components/base/pageBtn/leftBtn.vue";
// import RightBtn from "@/components/base/PageBtn/RightBtn.vue"; // import RightBtn from "@/components/base/pageBtn/rightBtn.vue";
// import OverviewMainBox from "@/components/base/BoxBackground/OverviewMainBox.vue"; // import OverviewMainBox from "@/components/base/boxBackground/overviewMainBox.vue";
// import OverviewNormalBox from "@/components/base/BoxBackground/OverviewNormalBox.vue"; // import OverviewNormalBox from "@/components/base/boxBackground/overviewNormalBox.vue";
// import AnalysisBox from '@/components/base/BoxBackground/AnalysisBox.vue' // import AnalysisBox from '@/components/base/boxBackground/analysisBox.vue'
// import NewsList from '@/components/base/NewsList/index.vue' // import NewsList from '@/components/base/newsList/index.vue'
// import ModuleHeader from '@/components/base/ModuleHeader/index.vue' // import ModuleHeader from '@/components/base/ModuleHeader/index.vue'
// import RiskSignal from "@/components/base/RiskSignal/index.vue"; // import RiskSignal from "@/components/base/riskSignal/index.vue";
// import MessageBubble from "@/components/base/MessageBubble/index.vue"; // import MessageBubble from "@/components/base/messageBubble/index.vue";
// import SourceTabLsit from '@/components/base/SourceTabList/index.vue' // import SourceTabLsit from '@/components/base/SourceTabList/index.vue'
// import ActionButton from "@/components/base/ActionButton/index.vue" // import ActionButton from "@/components/base/ActionButton/index.vue"
......
//企业主页 //企业主页
import { useGotoPage } from "../common.js";
const companyPages = () => import('@/views/companyPages/index.vue') const companyPages = () => import('@/views/companyPages/index.vue')
const companyPages2 = () => import('@/views/companyPages2/index.vue') const companyPages2 = () => import('@/views/companyPages2/index.vue')
...@@ -28,4 +29,9 @@ const companyPagesRoutes = [ ...@@ -28,4 +29,9 @@ const companyPagesRoutes = [
] ]
export function useGotoCompanyPages() {
const gotoPage = useGotoPage();
return (id, isNewTabs = true) => gotoPage("/companyPages/" + id, {}, isNewTabs)
}
export default companyPagesRoutes export default companyPagesRoutes
\ No newline at end of file
...@@ -27,8 +27,8 @@ ...@@ -27,8 +27,8 @@
<pre> <pre>
{{ {{
` `
import LeftBtn from '@/components/base/PageBtn/LeftBtn.vue' import LeftBtn from '@/components/base/pageBtn/leftBtn.vue'
import RightBtn from '@/components/base/PageBtn/RightBtn.vue' import RightBtn from '@/components/base/pageBtn/rightBtn.vue'
<LeftBtn /> <LeftBtn />
<RightBtn /> <RightBtn />
......
...@@ -662,10 +662,10 @@ const handleGetBillsPerson = async () => { ...@@ -662,10 +662,10 @@ const handleGetBillsPerson = async () => {
sortFun: !memberSortFun.value sortFun: !memberSortFun.value
}; };
if (footerSelect1.value !== "全部委员会") params.committeeId = footerSelect1.value; if (footerSelect1.value !== "全部委员会") params.committeeIds = footerSelect1.value;
if (!activeYyList.value.includes("全部议院")) params.congressIds = activeYyList.value; if (!activeYyList.value.includes("全部议院")) params.congressIds = activeYyList.value.join(",");
if (!activeDpList.value.includes("全部党派")) params.partyIds = activeDpList.value; if (!activeDpList.value.includes("全部党派")) params.partyIds = activeDpList.value.join(",");
if (!activeAreaList.value.includes("全部领域")) params.domainIds = activeAreaList.value; if (!activeAreaList.value.includes("全部领域")) params.domainIds = activeAreaList.value.join(",");
const formatDateYm = dateStr => { const formatDateYm = dateStr => {
if (!dateStr) return ""; if (!dateStr) return "";
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<div class="committee-cards-filter"> <div class="committee-cards-filter">
<span class="committee-cards-desc">近期美国国会各委员会涉华提案数量汇总</span> <span class="committee-cards-desc">近期美国国会各委员会涉华提案数量汇总</span>
<el-radio-group v-model="committeeTimeRange" class="committee-time-switch" size="default"> <el-radio-group v-model="committeeTimeRange" class="committee-time-switch" size="default">
<el-radio-button v-for="item in committeeTimeOptions" :key="item.value" :label="item.value"> <el-radio-button v-for="item in committeeTimeOptions" :key="item.value" :value="item.value">
<span class="committee-time-switch-inner"> <span class="committee-time-switch-inner">
<el-icon v-if="committeeTimeRange === item.value" class="committee-time-switch-icon"> <el-icon v-if="committeeTimeRange === item.value" class="committee-time-switch-icon">
<Calendar /> <Calendar />
...@@ -146,7 +146,7 @@ ...@@ -146,7 +146,7 @@
<div v-else id="box5Chart" class="overview-chart"></div> <div v-else id="box5Chart" class="overview-chart"></div>
</div> </div>
<div class="overview-tip-row"> <div class="overview-tip-row">
<TipTab class="overview-tip" :text="'图表说明:xxxxx,数据来源:美国国会官网'" /> <TipTab class="overview-tip" :text="'涉华科技法案数量及通过率变化趋势,数据来源:美国国会官网'" />
<AiButton class="overview-tip-action" @mouseenter="handleShowAiPane('box5')" /> <AiButton class="overview-tip-action" @mouseenter="handleShowAiPane('box5')" />
</div> </div>
<div v-if="aiPaneVisible.box5" class="overview-ai-pane" @mouseleave="handleHideAiPane('box5')"> <div v-if="aiPaneVisible.box5" class="overview-ai-pane" @mouseleave="handleHideAiPane('box5')">
...@@ -171,7 +171,7 @@ ...@@ -171,7 +171,7 @@
<div v-else id="box9Chart" class="overview-chart"></div> <div v-else id="box9Chart" class="overview-chart"></div>
</div> </div>
<div class="overview-tip-row"> <div class="overview-tip-row">
<TipTab class="overview-tip" :text="'图表说明:xxxxx,数据来源:美国国会官网'" /> <TipTab class="overview-tip" :text="'涉华科技法案领域分布情况,数据来源:美国国会官网'" />
<AiButton class="overview-tip-action" @mouseenter="handleShowAiPane('box6')" /> <AiButton class="overview-tip-action" @mouseenter="handleShowAiPane('box6')" />
</div> </div>
<div v-if="aiPaneVisible.box6" class="overview-ai-pane" @mouseleave="handleHideAiPane('box6')"> <div v-if="aiPaneVisible.box6" class="overview-ai-pane" @mouseleave="handleHideAiPane('box6')">
...@@ -193,7 +193,7 @@ ...@@ -193,7 +193,7 @@
<div v-else id="box7Chart" class="overview-chart"></div> <div v-else id="box7Chart" class="overview-chart"></div>
</div> </div>
<div class="overview-tip-row"> <div class="overview-tip-row">
<TipTab class="overview-tip" :text="'图表说明:xxxxx,数据来源:美国国会官网'" /> <TipTab class="overview-tip" :text="'提出涉华科技法案委员会分布情况,数据来源:美国国会官网'" />
<AiButton class="overview-tip-action" @mouseenter="handleShowAiPane('box7')" /> <AiButton class="overview-tip-action" @mouseenter="handleShowAiPane('box7')" />
</div> </div>
<div v-if="aiPaneVisible.box7" class="overview-ai-pane" @mouseleave="handleHideAiPane('box7')"> <div v-if="aiPaneVisible.box7" class="overview-ai-pane" @mouseleave="handleHideAiPane('box7')">
...@@ -216,7 +216,7 @@ ...@@ -216,7 +216,7 @@
</template> </template>
</div> </div>
<div class="overview-tip-row"> <div class="overview-tip-row">
<TipTab class="overview-tip" :text="'图表说明:xxxxx,数据来源:美国国会官网'" /> <TipTab class="overview-tip" :text="'涉华科技法案立法进展分布情况,数据来源:美国国会官网'" />
<AiButton class="overview-tip-action" @mouseenter="handleShowAiPane('box8')" /> <AiButton class="overview-tip-action" @mouseenter="handleShowAiPane('box8')" />
</div> </div>
<div v-if="aiPaneVisible.box8" class="overview-ai-pane" @mouseleave="handleHideAiPane('box8')"> <div v-if="aiPaneVisible.box8" class="overview-ai-pane" @mouseleave="handleHideAiPane('box8')">
...@@ -231,7 +231,7 @@ ...@@ -231,7 +231,7 @@
<WordCloundChart v-else class="overview-chart" width="100%" height="100%" :data="wordCloudData" /> <WordCloundChart v-else class="overview-chart" width="100%" height="100%" :data="wordCloudData" />
</div> </div>
<div class="overview-tip-row"> <div class="overview-tip-row">
<TipTab class="overview-tip" :text="'图表说明:xxxxx,数据来源:美国国会官网'" /> <TipTab class="overview-tip" :text="'涉华科技法案关键条款词云,数据来源:美国国会官网'" />
<AiButton class="overview-tip-action" @mouseenter="handleShowAiPane('box9')" /> <AiButton class="overview-tip-action" @mouseenter="handleShowAiPane('box9')" />
</div> </div>
<div v-if="aiPaneVisible.box9" class="overview-ai-pane" @mouseleave="handleHideAiPane('box9')"> <div v-if="aiPaneVisible.box9" class="overview-ai-pane" @mouseleave="handleHideAiPane('box9')">
...@@ -271,7 +271,7 @@ import { ...@@ -271,7 +271,7 @@ import {
import { getPersonSummaryInfo } from "@/api/common/index"; import { getPersonSummaryInfo } from "@/api/common/index";
import { getChartAnalysis } from "@/api/aiAnalysis/index"; import { getChartAnalysis } from "@/api/aiAnalysis/index";
import DivideHeader from "@/components/DivideHeader.vue"; import DivideHeader from "@/components/DivideHeader.vue";
import overviewMainBox from "@/components/base/BoxBackground/OverviewMainBox.vue"; import overviewMainBox from "@/components/base/boxBackground/overviewMainBox.vue";
import OverviewCard from "./OverviewCard.vue"; import OverviewCard from "./OverviewCard.vue";
import ResourceLibrarySection from "./ResourceLibrarySection.vue"; import ResourceLibrarySection from "./ResourceLibrarySection.vue";
import { useContainerScroll } from "@/hooks/useScrollShow"; import { useContainerScroll } from "@/hooks/useScrollShow";
...@@ -917,7 +917,11 @@ const handleGetKeyTK = async () => { ...@@ -917,7 +917,11 @@ const handleGetKeyTK = async () => {
const res = await getBillOverviewKeyTK(); const res = await getBillOverviewKeyTK();
console.log("关键条款", res); console.log("关键条款", res);
if (res.code === 200 && res.data) { if (res.code === 200 && res.data) {
wordCloudData.value = res.data.map(item => { wordCloudData.value = res.data
.slice()
.sort((a, b) => (b.count ?? 0) - (a.count ?? 0))
.slice(0, 20)
.map(item => {
return { return {
name: item.clause, name: item.clause,
value: item.count value: item.count
......
...@@ -72,12 +72,12 @@ const mainHeaderBtnList = ref([ ...@@ -72,12 +72,12 @@ const mainHeaderBtnList = ref([
name: "影响分析", name: "影响分析",
path: "/billLayout/influence" path: "/billLayout/influence"
}, },
{ // {
icon: icon4, // icon: icon4,
activeIcon: icon4Active, // activeIcon: icon4Active,
name: "相关情况", // name: "相关情况",
path: "/billLayout/relevantCircumstance" // path: "/billLayout/relevantCircumstance"
} // }
]); ]);
const activeTitle = ref("法案概况"); const activeTitle = ref("法案概况");
......
...@@ -16,6 +16,12 @@ import { onMounted, ref, computed, watch } from "vue"; ...@@ -16,6 +16,12 @@ import { onMounted, ref, computed, watch } from "vue";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import router from '@/router' import router from '@/router'
import SiderTabs from "@/components/base/SiderTabs/index.vue"; import SiderTabs from "@/components/base/SiderTabs/index.vue";
//分支pre自动部署测试:
//第一次测试
//第二次测试
//第三次测试
//第四次测试
//第五次测试
const route = useRoute(); const route = useRoute();
......
...@@ -73,11 +73,8 @@ const predictionData = ref<PredictionAnalysis | null>(null) ...@@ -73,11 +73,8 @@ const predictionData = ref<PredictionAnalysis | null>(null)
// 获取预测分析数据 // 获取预测分析数据
onMounted(async () => { onMounted(async () => {
console.log('[v0] Step3 mounted, fetching data...')
const data = await fetchPredictionAnalysis() const data = await fetchPredictionAnalysis()
console.log('[v0] Data fetched:', data)
predictionData.value = data predictionData.value = data
console.log('[v0] predictionData set:', predictionData.value)
}) })
// 根据索引和progressLevel返回进度条格子的类名 // 根据索引和progressLevel返回进度条格子的类名
......
...@@ -78,7 +78,7 @@ onMounted(async () => { ...@@ -78,7 +78,7 @@ onMounted(async () => {
const [stepsData, predictionData] = await Promise.all([ const [stepsData, predictionData] = await Promise.all([
fetchSteps(), fetchSteps(),
getProgressPrediction(billId.value).catch(err => { getProgressPrediction(billId.value).catch(err => {
console.error('[v0] 获取预测数据失败:', err) console.error(' 获取预测数据失败:', err)
return null return null
}) })
]) ])
......
...@@ -160,7 +160,8 @@ const curCompanyId = ref(""); ...@@ -160,7 +160,8 @@ const curCompanyId = ref("");
const handleClickCompany = (val, index) => { const handleClickCompany = (val, index) => {
companyActiveIndex.value = (currentPage.value - 1) * pageSize.value + index; companyActiveIndex.value = (currentPage.value - 1) * pageSize.value + index;
if (val) { if (val) {
curCompanyId.value = val.id; // 右侧鱼骨图查询:当前优先使用 chainCompanyId,后续可平滑切换到 id
curCompanyId.value = val.chainCompanyId || val.id;
// handleGetCompanyDetail(); // handleGetCompanyDetail();
companyInfo.value.name = val.name; companyInfo.value.name = val.name;
companyInfo.value.status = val.status || companyInfo.value.status; companyInfo.value.status = val.status || companyInfo.value.status;
...@@ -308,10 +309,10 @@ const headerChartData = (row) => { ...@@ -308,10 +309,10 @@ const headerChartData = (row) => {
switch (contentType.value) { switch (contentType.value) {
case 1: case 1:
onDecreeRelatedChain(row.id) onDecreeRelatedChain(row.chainCompanyId)
break; break;
case 2: case 2:
onDecreeRelatedEntitie(row.id) onDecreeRelatedEntitie(row.chainCompanyId)
break; break;
} }
}; };
......
...@@ -114,7 +114,7 @@ ...@@ -114,7 +114,7 @@
</template> </template>
<script setup> <script setup>
import RiskSignal from "@/components/base/RiskSignal/index.vue"; import RiskSignal from "@/components/base/riskSignal/index.vue";
import { ref, onMounted, computed } from "vue"; import { ref, onMounted, computed } from "vue";
import router from "@/router"; import router from "@/router";
import { getCoopRestrictionTrends, getCoopRestrictionSignals } from "@/api/coopRestriction/coopRestriction.js"; import { getCoopRestrictionTrends, getCoopRestrictionSignals } from "@/api/coopRestriction/coopRestriction.js";
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<script setup> <script setup>
import { ref, onMounted, nextTick } from 'vue' import { ref, onMounted, nextTick } from 'vue'
import setChart from '@/utils/setChart'; import setChart from '@/utils/setChart';
import getBarChart from './barchart'; import getBarChart from './barChart.js';
const props = defineProps({ const props = defineProps({
barChartData: { barChartData: {
......
...@@ -91,6 +91,8 @@ import Fishbone from "./fishbone.vue"; ...@@ -91,6 +91,8 @@ import Fishbone from "./fishbone.vue";
import { getHorizontalBarChart2 } from "../../utils/charts"; import { getHorizontalBarChart2 } from "../../utils/charts";
import { getDomainDistribution, getChainEntities, getChainInfoByDomainId, getCnEntityOnChain } from "@/api/exportControl"; import { getDomainDistribution, getChainEntities, getChainInfoByDomainId, getCnEntityOnChain } from "@/api/exportControl";
import { useRoute, useRouter } from "vue-router"; import { useRoute, useRouter } from "vue-router";
import { useGotoCompanyPages } from "@/router/modules/company";
const gotoCompanyPages = useGotoCompanyPages();
const route = useRoute(); const route = useRoute();
const router = useRouter(); const router = useRouter();
const buttonList = ref([]); const buttonList = ref([]);
...@@ -155,13 +157,14 @@ const listData = ref([ ...@@ -155,13 +157,14 @@ const listData = ref([
const horizontalBarOptions = shallowRef({}); const horizontalBarOptions = shallowRef({});
const handleEttClick = item => { const handleEttClick = item => {
const route = router.resolve({ // const route = router.resolve({
name: "companyPages", // name: "companyPages",
params: { // params: {
id: item.id // id: item.id
} // }
}); // });
window.open(route.href, "_blank"); // window.open(route.href, "_blank");
gotoCompanyPages(item.id);
}; };
// 处理点击事件 // 处理点击事件
const handleChainClick = async chainId => {}; const handleChainClick = async chainId => {};
......
...@@ -95,6 +95,8 @@ import Hint from "./hint.vue"; ...@@ -95,6 +95,8 @@ import Hint from "./hint.vue";
import { getEntitiesChangeCount, getEntitiesGrowthTrend, getEntitiesUpdateCount, getKeyEntityList } from "@/api/exportControl"; import { getEntitiesChangeCount, getEntitiesGrowthTrend, getEntitiesUpdateCount, getKeyEntityList } from "@/api/exportControl";
import _ from "lodash"; import _ from "lodash";
import { useRoute, useRouter } from "vue-router"; import { useRoute, useRouter } from "vue-router";
import { useGotoCompanyPages } from "@/router/modules/company";
const gotoCompanyPages = useGotoCompanyPages();
const route = useRoute(); const route = useRoute();
const router = useRouter(); const router = useRouter();
const line1Option = shallowRef({}); const line1Option = shallowRef({});
...@@ -341,13 +343,14 @@ const handleDomainChange = async domain => { ...@@ -341,13 +343,14 @@ const handleDomainChange = async domain => {
const handleOrgClick = item => { const handleOrgClick = item => {
console.log(item); console.log(item);
const route = router.resolve({ // const route = router.resolve({
name: "companyPages", // name: "companyPages",
params: { // params: {
id: item.id // id: item.id
} // }
}); // });
window.open(route.href, "_blank"); // window.open(route.href, "_blank");
gotoCompanyPages(item.id);
}; };
</script> </script>
......
...@@ -74,6 +74,8 @@ import _ from "lodash"; ...@@ -74,6 +74,8 @@ import _ from "lodash";
import Hint from "./hint.vue"; import Hint from "./hint.vue";
import { getEntityFinancing, getEntityMarketValue, getKeyListedEntityList, getSanStrength } from "@/api/exportControl"; import { getEntityFinancing, getEntityMarketValue, getKeyListedEntityList, getSanStrength } from "@/api/exportControl";
import { useRoute, useRouter } from "vue-router"; import { useRoute, useRouter } from "vue-router";
import { useGotoCompanyPages } from "@/router/modules/company";
const gotoCompanyPages = useGotoCompanyPages();
const route = useRoute(); const route = useRoute();
const router = useRouter(); const router = useRouter();
const value3 = ref(""); const value3 = ref("");
...@@ -304,13 +306,14 @@ watch( ...@@ -304,13 +306,14 @@ watch(
const handleOrgClick = item => { const handleOrgClick = item => {
console.log(item); console.log(item);
const route = router.resolve({ // const route = router.resolve({
name: "companyPages", // name: "companyPages",
params: { // params: {
id: item.id // id: item.id
} // }
}); // });
window.open(route.href, "_blank"); // window.open(route.href, "_blank");
gotoCompanyPages(item.id);
}; };
</script> </script>
......
...@@ -200,6 +200,8 @@ import { ...@@ -200,6 +200,8 @@ import {
import _ from "lodash"; import _ from "lodash";
import { useRoute, useRouter } from "vue-router"; import { useRoute, useRouter } from "vue-router";
import { formatAnyDateToChinese } from "../../utils"; import { formatAnyDateToChinese } from "../../utils";
import { useGotoCompanyPages } from "@/router/modules/company";
const gotoCompanyPages = useGotoCompanyPages();
const route = useRoute(); const route = useRoute();
const router = useRouter(); const router = useRouter();
const organizationInfo = shallowRef({}); const organizationInfo = shallowRef({});
...@@ -406,13 +408,14 @@ const panel5TypeMap = { ...@@ -406,13 +408,14 @@ const panel5TypeMap = {
const handleOrgClick = item => { const handleOrgClick = item => {
console.log(item); console.log(item);
if (item.entityType != 2) return; if (item.entityType != 2) return;
const route = router.resolve({ // const route = router.resolve({
name: "companyPages", // name: "companyPages",
params: { // params: {
id: item.id // id: item.id
} // }
}); // });
window.open(route.href, "_blank"); // window.open(route.href, "_blank");
gotoCompanyPages(item.id);
}; };
// 处理"查看更多"点击事件 // 处理"查看更多"点击事件
......
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
:subtitle="item.nameAbbr" :subtitle="item.nameAbbr"
:description="item.description" :description="item.description"
:quantity="item.postCount" :quantity="item.postCount"
unit="" unit=""
:color="infoListColor[index]" :color="infoListColor[index]"
@click="handleToEntityListNoId(item)" @click="handleToEntityListNoId(item)"
/> />
...@@ -703,7 +703,7 @@ ...@@ -703,7 +703,7 @@
<script setup> <script setup>
//这是一个备注 //这是一个备注
import NewsList from "@/components/base/newsList/index.vue"; import NewsList from "@/components/base/newsList/index.vue";
import RiskSignal from "@/components/base/RiskSignal/index.vue"; import RiskSignal from "@/components/base/riskSignal/index.vue";
import { onMounted, ref, computed, reactive, shallowRef, watch, nextTick } from "vue"; import { onMounted, ref, computed, reactive, shallowRef, watch, nextTick } from "vue";
import { useContainerScroll } from "@/hooks/useScrollShow"; import { useContainerScroll } from "@/hooks/useScrollShow";
const homeMainRef = ref(null); const homeMainRef = ref(null);
...@@ -715,6 +715,10 @@ import { ElMessage, ElMessageBox } from "element-plus"; ...@@ -715,6 +715,10 @@ import { ElMessage, ElMessageBox } from "element-plus";
import { DArrowRight, Warning, Search } from "@element-plus/icons-vue"; import { DArrowRight, Warning, Search } from "@element-plus/icons-vue";
import EChart from "@/components/Chart/index.vue"; import EChart from "@/components/Chart/index.vue";
import { TAGTYPE } from "@/public/constant"; import { TAGTYPE } from "@/public/constant";
import { useGotoCompanyPages } from "@/router/modules/company";
import { useGotoNewsDetail } from "@/router/modules/news";
const gotoCompanyPages = useGotoCompanyPages();
const gotoNewsDetail = useGotoNewsDetail();
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
...@@ -868,14 +872,15 @@ const handleCompClick = item => { ...@@ -868,14 +872,15 @@ const handleCompClick = item => {
// console.log("item", item); // console.log("item", item);
// if (item.entityType != 2) return; // if (item.entityType != 2) return;
window.sessionStorage.setItem("curTabName", item.name); window.sessionStorage.setItem("curTabName", item.name);
const route = router.resolve({ gotoCompanyPages(item.entityId);
name: "companyPages", // const route = router.resolve({
params: { // name: "companyPages",
id: item.id, // params: {
sanTypeId: item.sanTypeId // id: item.id,
} // sanTypeId: item.sanTypeId
}); // }
window.open(route.href, "_blank"); // });
// window.open(route.href, "_blank");
}; };
const tagsType = ["primary", "success", "warning", "danger"]; const tagsType = ["primary", "success", "warning", "danger"];
...@@ -1075,14 +1080,15 @@ const processYearDomainCountData = yearDomainCountData => { ...@@ -1075,14 +1080,15 @@ const processYearDomainCountData = yearDomainCountData => {
const handleEntityClick = item => { const handleEntityClick = item => {
console.log("item", item); console.log("item", item);
window.sessionStorage.setItem("curTabName", item.name || item.entityNameZh); window.sessionStorage.setItem("curTabName", item.name || item.entityNameZh);
const route = router.resolve({ gotoCompanyPages(item.entityId);
name: "companyPages", // const route = router.resolve({
params: { // name: "companyPages",
// startTime: item.startTime, // params: {
id: item.entityId // // startTime: item.startTime,
} // id: item.entityId
}); // }
window.open(route.href, "_blank"); // });
// window.open(route.href, "_blank");
}; };
const carouselRef = ref(null); const carouselRef = ref(null);
...@@ -1717,7 +1723,8 @@ const handleSanc = item => { ...@@ -1717,7 +1723,8 @@ const handleSanc = item => {
const route = router.resolve({ const route = router.resolve({
path: "/exportControl/singleSanction", path: "/exportControl/singleSanction",
query: { query: {
id: item.id id: item.id,
sanTypeId: activeResourceTabItem.value.id
} }
}); });
window.open(route.href, "_blank"); window.open(route.href, "_blank");
...@@ -1737,14 +1744,15 @@ const handleToMoreNews = () => { ...@@ -1737,14 +1744,15 @@ const handleToMoreNews = () => {
const handleNewsInfoClick = item => { const handleNewsInfoClick = item => {
console.log("点击了社交媒体消息的更多信息:", item); console.log("点击了社交媒体消息的更多信息:", item);
// 应该跳转至哪儿???
const route = router.resolve({ // const route = router.resolve({
path: "/newsAnalysis", // path: "/newsAnalysis",
query: { // query: {
newsId: item.newsId // newsId: item.newsId
} // }
}); // });
window.open(route.href, "_blank"); // window.open(route.href, "_blank");
gotoNewsDetail(item.newsId);
}; };
// 切换当前出口管制政策 // 切换当前出口管制政策
...@@ -2324,7 +2332,8 @@ const handleMediaClick = item => { ...@@ -2324,7 +2332,8 @@ const handleMediaClick = item => {
overflow-y: auto; overflow-y: auto;
.home-top-bg { .home-top-bg {
background: url("./assets/images/background.png"), background:
url("./assets/images/background.png"),
linear-gradient(180deg, rgba(229, 241, 254, 1) 0%, rgba(246, 251, 255, 0) 30%); linear-gradient(180deg, rgba(229, 241, 254, 1) 0%, rgba(246, 251, 255, 0) 30%);
background-size: 100% 100%; background-size: 100% 100%;
position: absolute; position: absolute;
......
...@@ -82,7 +82,8 @@ import { ref, computed, watch } from "vue"; ...@@ -82,7 +82,8 @@ import { ref, computed, watch } from "vue";
import router from "@/router"; import router from "@/router";
import { Close } from "@element-plus/icons-vue"; import { Close } from "@element-plus/icons-vue";
import defaultIcon from "@/assets/icons/default-icon1.png"; import defaultIcon from "@/assets/icons/default-icon1.png";
import { useGotoCompanyPages } from "@/router/modules/company";
const gotoCompanyPages = useGotoCompanyPages();
const props = defineProps({ const props = defineProps({
modelValue: { modelValue: {
type: Boolean, type: Boolean,
...@@ -119,9 +120,9 @@ const tableData = computed(() => { ...@@ -119,9 +120,9 @@ const tableData = computed(() => {
...item, ...item,
name: item.orgName, name: item.orgName,
domains: item.techDomains || [], domains: item.techDomains || [],
equityRatio: item.equityRatio ? (item.equityRatio * 100).toFixed(2) + '%' : '--', equityRatio: item.equityRatio ? (item.equityRatio * 100).toFixed(2) + "%" : "--",
location: '--', location: "--",
revenue: item.revenue || '--' revenue: item.revenue || "--"
})); }));
}); });
...@@ -154,16 +155,16 @@ const getTagStyle = tag => { ...@@ -154,16 +155,16 @@ const getTagStyle = tag => {
// 跳转公司详情页 // 跳转公司详情页
const handleCompClick = item => { const handleCompClick = item => {
console.log("item", item); console.log("item", item);
window.sessionStorage.setItem('curTabName', item.entityNameZh || item.entityName) window.sessionStorage.setItem("curTabName", item.entityNameZh || item.entityName);
const route = router.resolve({ gotoCompanyPages(item.id);
name: "companyPages", // const route = router.resolve({
params: { // name: "companyPages",
id: item.id // params: {
} // id: item.id
}); // }
window.open(route.href, "_blank"); // });
// window.open(route.href, "_blank");
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
<template> <template>
<div>
<div class="list-page"> <div class="list-page">
<div class="search-box"> <div class="search-box">
<el-input v-model="searchKeyword" class="search-input" placeholder="搜索实体" :suffix-icon="Search" /> <el-input v-model="searchKeyword" class="search-input" placeholder="搜索实体" :suffix-icon="Search" />
...@@ -92,8 +93,8 @@ ...@@ -92,8 +93,8 @@
<CommonPrompt :content="row.entityNameZh || row.entityName" style="flex: 1; overflow: hidden" /> <CommonPrompt :content="row.entityNameZh || row.entityName" style="flex: 1; overflow: hidden" />
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="涉及领域" min-width="150"> <el-table-column label="涉及领域" min-width="150">
<template #default="{ row }"> <template #default="{ row }">
<div class="domain-cell"> <div class="domain-cell">
<el-tag v-for="tag in row.techDomains" :key="tag" class="domain-tag" effect="plain" <el-tag v-for="tag in row.techDomains" :key="tag" class="domain-tag" effect="plain"
...@@ -102,9 +103,9 @@ ...@@ -102,9 +103,9 @@
</el-tag> </el-tag>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="startTime" label="制裁时间" width="140" show-overflow-tooltip align="center" /> <el-table-column prop="startTime" label="制裁时间" width="140" show-overflow-tooltip align="center" />
<el-table-column label="50%规则子企业" min-width="280" show-overflow-tooltip align="right"> <el-table-column label="50%规则子企业" min-width="280" show-overflow-tooltip align="right">
<template #default="{ row }"> <template #default="{ row }">
<div class="rule-cell" v-if="row.ruleOrgCount > 0"> <div class="rule-cell" v-if="row.ruleOrgCount > 0">
<div class="rule-text" :title="row.ruleOrgList?.[0]?.orgName || ''"> <div class="rule-text" :title="row.ruleOrgList?.[0]?.orgName || ''">
...@@ -114,14 +115,14 @@ ...@@ -114,14 +115,14 @@
row.ruleOrgCount }}家 ></el-link> row.ruleOrgCount }}家 ></el-link>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<div class="tight-footer"> <div class="tight-footer">
<div class="total-text">共 {{ total }} 项</div> <div class="total-text">共 {{ total }} 项</div>
<el-pagination :current-page="currentPage" v-model:page-size="pageSize" :total="total" layout="prev, pager, next" <el-pagination :current-page="currentPage" v-model:page-size="pageSize" :total="total" layout="prev, pager, next"
prev-text="<" next-text=">" @current-change="handleCurrentChange" /> prev-text="<" next-text=">" @current-change="handleCurrentChange" />
</div> --> </div> -->
<AnalysisBox title="实体清单" :showAllBtn="false"> <AnalysisBox title="实体清单" :showAllBtn="false">
<template #header-btn> <template #header-btn>
<div class="stats"> <div class="stats">
...@@ -172,14 +173,24 @@ ...@@ -172,14 +173,24 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="startTime" label="制裁时间" width="140" show-overflow-tooltip align="center" /> <el-table-column
prop="startTime"
label="制裁时间"
width="140"
show-overflow-tooltip
align="center"
/>
<el-table-column label="50%规则子企业" min-width="280" show-overflow-tooltip align="right"> <el-table-column label="50%规则子企业" min-width="280" show-overflow-tooltip align="right">
<template #default="{ row }"> <template #default="{ row }">
<div class="rule-cell" v-if="row.ruleOrgCount > 0"> <div class="rule-cell" v-if="row.ruleOrgCount > 0">
<div class="rule-text" :title="row.ruleOrgList?.[0]?.orgName || ''"> <div class="rule-text" :title="row.ruleOrgList?.[0]?.orgName || ''">
{{ row.ruleOrgList?.[0]?.orgName || "" }}...等 {{ row.ruleOrgList?.[0]?.orgName || "" }}...等
</div> </div>
<el-link class="rule-link" type="primary" :underline="false" @click="handleRuleClick(row)" <el-link
class="rule-link"
type="primary"
:underline="false"
@click="handleRuleClick(row)"
>{{ row.ruleOrgCount }}家 ></el-link >{{ row.ruleOrgCount }}家 ></el-link
> >
</div> </div>
...@@ -209,6 +220,7 @@ ...@@ -209,6 +220,7 @@
:total-count="currentRuleCount" :total-count="currentRuleCount"
:data-list="currentRuleList" :data-list="currentRuleList"
/> />
</div>
</template> </template>
<script setup> <script setup>
...@@ -219,20 +231,22 @@ import defaultIcon from "../../../../../assets/icons/default-avatar.png"; ...@@ -219,20 +231,22 @@ import defaultIcon from "../../../../../assets/icons/default-avatar.png";
import RuleSubsidiaryDialog from "./RuleSubsidiaryDialog.vue"; import RuleSubsidiaryDialog from "./RuleSubsidiaryDialog.vue";
import { getExportControlList, get50PercentEntityCount } from "@/api/exportControlV2.0.js"; import { getExportControlList, get50PercentEntityCount } from "@/api/exportControlV2.0.js";
import CommonPrompt from "@/views/exportControl/commonPrompt/index.vue"; import CommonPrompt from "@/views/exportControl/commonPrompt/index.vue";
import { useGotoCompanyPages } from "@/router/modules/company";
const gotoCompanyPages = useGotoCompanyPages();
const router = useRouter(); const router = useRouter();
// 跳转公司详情页 // 跳转公司详情页
const handleCompClick = item => { const handleCompClick = item => {
console.log("item", item); console.log("item", item);
window.sessionStorage.setItem("curTabName", item.entityNameZh || item.entityName); window.sessionStorage.setItem("curTabName", item.entityNameZh || item.entityName);
const route = router.resolve({ // const route = router.resolve({
name: "companyPages", // name: "companyPages",
params: { // params: {
id: item.entityId // id: item.entityId
} // }
}); // });
window.open(route.href, "_blank"); // window.open(route.href, "_blank");
gotoCompanyPages(item.entityId);
}; };
const searchKeyword = ref(""); const searchKeyword = ref("");
...@@ -516,6 +530,8 @@ watch(customDateRange, () => { ...@@ -516,6 +530,8 @@ watch(customDateRange, () => {
:deep(.el-input__wrapper) { :deep(.el-input__wrapper) {
padding: 0 11px; padding: 0 11px;
border: 1px solid rgba(170, 173, 177, 1);
background-color: #fff;
} }
:deep(.el-input__inner) { :deep(.el-input__inner) {
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
:key="index" :key="index"
class="tab-item" class="tab-item"
:class="{ active: index === activeIndex }" :class="{ active: index === activeIndex }"
@click="activeIndex = index" @click="handleClickTab(index)"
> >
{{ item }} {{ item }}
<span v-if="index === activeIndex" class="arrow"></span> <span v-if="index === activeIndex" class="arrow"></span>
...@@ -14,10 +14,10 @@ ...@@ -14,10 +14,10 @@
</div> </div>
<div class="content-box"> <div class="content-box">
<introductionPage <introductionPage
v-show="activeIndex === 1" v-show="activeIndex == 1"
@update-entity-info="data => $emit('update-entity-info', data)" @update-entity-info="data => $emit('update-entity-info', data)"
></introductionPage> ></introductionPage>
<listPage v-show="activeIndex === 0"></listPage> <listPage v-show="activeIndex == 0"></listPage>
</div> </div>
</div> </div>
</template> </template>
...@@ -31,6 +31,11 @@ const emit = defineEmits(["update-entity-info"]); ...@@ -31,6 +31,11 @@ const emit = defineEmits(["update-entity-info"]);
const activeTab = ref(["实体清单列表", "实体清单简介"]); const activeTab = ref(["实体清单列表", "实体清单简介"]);
const activeIndex = ref(0); const activeIndex = ref(0);
const handleClickTab = index => {
console.log(index);
activeIndex.value = index;
};
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
......
...@@ -38,10 +38,10 @@ ...@@ -38,10 +38,10 @@
import { ref, onMounted, onUnmounted, watch, nextTick } from "vue"; import { ref, onMounted, onUnmounted, watch, nextTick } from "vue";
import G6 from "@antv/g6"; import G6 from "@antv/g6";
import { Close } from "@element-plus/icons-vue"; import { Close } from "@element-plus/icons-vue";
import echartsIcon01 from "../assets/echartsicon01.png"; import echartsIcon01 from "../assets/echartsIcon01.png";
import echartsIcon02 from "../assets/echartsicon02.png"; import echartsIcon02 from "../assets/echartsIcon02.png";
import echartsIcon03 from "../assets/echartsicon03.png"; import echartsIcon03 from "../assets/echartsIcon03.png";
import defaultIcon from "../assets/echartsicon03.png"; import defaultIcon from "../assets/echartsIcon03.png";
import { getSingleSanctionEntityInfo } from "@/api/exportControlV2.0"; import { getSingleSanctionEntityInfo } from "@/api/exportControlV2.0";
......
...@@ -50,10 +50,10 @@ ...@@ -50,10 +50,10 @@
import { ref, onMounted, onUnmounted, watch, nextTick } from "vue"; import { ref, onMounted, onUnmounted, watch, nextTick } from "vue";
import G6 from "@antv/g6"; import G6 from "@antv/g6";
import { Close } from "@element-plus/icons-vue"; import { Close } from "@element-plus/icons-vue";
import echartsIcon01 from "../assets/echartsicon01.png"; import echartsIcon01 from "../assets/echartsIcon01.png";
import echartsIcon02 from "../assets/echartsicon02.png"; import echartsIcon02 from "../assets/echartsIcon02.png";
import echartsIcon03 from "../assets/echartsicon03.png"; import echartsIcon03 from "../assets/echartsIcon03.png";
import defaultIcon from "../assets/echartsicon03.png"; import defaultIcon from "../assets/echartsIcon03.png";
import { getSingleSanctionEntityInfo } from "@/api/exportControlV2.0"; import { getSingleSanctionEntityInfo } from "@/api/exportControlV2.0";
......
...@@ -133,7 +133,7 @@ import { ...@@ -133,7 +133,7 @@ import {
getSingleSanctionEntityEquity getSingleSanctionEntityEquity
} from "@/api/exportControlV2.0"; } from "@/api/exportControlV2.0";
import RelationGraph from "./components/RelationGraph.vue"; import RelationGraph from "./components/RelationGraph.vue";
import AnalysisBox from "@/components/base/BoxBackground/AnalysisBox.vue"; import AnalysisBox from "@/components/base/boxBackground/analysisBox.vue";
const sanRecordId = ref(""); const sanRecordId = ref("");
const activeTab = ref(["实体穿透分析"]); const activeTab = ref(["实体穿透分析"]);
......
...@@ -38,9 +38,7 @@ ...@@ -38,9 +38,7 @@
<div class="info-row"> <div class="info-row">
<div class="label">制裁领域:</div> <div class="label">制裁领域:</div>
<div class="value tags"> <div class="value tags">
<span class="tag" v-for="(domain, index) in formattedData.domains" :key="index">{{ <AreaTag v-for="(domain, index) in formattedData.domains" :key="index" :tagName="domain" />
domain
}}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -116,7 +114,7 @@ ...@@ -116,7 +114,7 @@
<el-input <el-input
v-model="searchKeyword" v-model="searchKeyword"
placeholder="搜索实体" placeholder="搜索实体"
style="width: 150px" style="width: 150px; border: 1px solid rgba(170, 173, 177, 0.4); border-radius: 5px"
:suffix-icon="Search" :suffix-icon="Search"
/> />
</div> </div>
...@@ -219,6 +217,7 @@ ...@@ -219,6 +217,7 @@
import { ref, defineProps, computed, onMounted, watch } from "vue"; import { ref, defineProps, computed, onMounted, watch } from "vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import AreaTag from "@/components/base/AreaTag/index.vue";
import { DArrowRight, Search } from "@element-plus/icons-vue"; import { DArrowRight, Search } from "@element-plus/icons-vue";
import { debounce } from "lodash"; import { debounce } from "lodash";
import title from "../../assets/title.png"; import title from "../../assets/title.png";
...@@ -232,6 +231,9 @@ import { ...@@ -232,6 +231,9 @@ import {
import RuleSubsidiaryDialog from "../../../v2.0EntityList/components/sanctionsOverview/components/listPage/RuleSubsidiaryDialog.vue"; import RuleSubsidiaryDialog from "../../../v2.0EntityList/components/sanctionsOverview/components/listPage/RuleSubsidiaryDialog.vue";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import { useGotoCompanyPages } from "@/router/modules/company";
const gotoCompanyPages = useGotoCompanyPages();
const route = useRoute(); const route = useRoute();
// 跳转公司详情页 // 跳转公司详情页
const handleCompClick = item => { const handleCompClick = item => {
...@@ -240,8 +242,9 @@ const handleCompClick = item => { ...@@ -240,8 +242,9 @@ const handleCompClick = item => {
return; return;
} }
window.sessionStorage.setItem("curTabName", item.name); window.sessionStorage.setItem("curTabName", item.name);
const curRoute = router.resolve({ name: "companyPages", params: { id: item.entityId } }); gotoCompanyPages(item.entityId);
window.open(curRoute.href, "_blank"); // const curRoute = router.resolve({ name: "companyPages", params: { id: item.entityId } });
// window.open(curRoute.href, "_blank");
}; };
// 跳转发布机构详情页 // 跳转发布机构详情页
......
...@@ -459,7 +459,7 @@ ...@@ -459,7 +459,7 @@
</template> </template>
<script setup> <script setup>
import RiskSignal from "@/components/base/RiskSignal/index.vue"; import RiskSignal from "@/components/base/riskSignal/index.vue";
import { onMounted, ref, computed } from "vue"; import { onMounted, ref, computed } from "vue";
import scrollToTop from "@/utils/scrollToTop"; import scrollToTop from "@/utils/scrollToTop";
import setChart from "@/utils/setChart"; import setChart from "@/utils/setChart";
......
...@@ -29,8 +29,8 @@ ...@@ -29,8 +29,8 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref, computed } from 'vue' import { ref, computed } from 'vue'
import LeftBtn from '@/components/base/PageBtn/LeftBtn.vue' import LeftBtn from '@/components/base/pageBtn/leftBtn.vue'
import RightBtn from '@/components/base/PageBtn/RightBtn.vue' import RightBtn from '@/components/base/pageBtn/rightBtn.vue'
interface CaseItem { interface CaseItem {
date: string date: string
......
...@@ -44,8 +44,8 @@ ...@@ -44,8 +44,8 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref, computed } from 'vue' import { ref, computed } from 'vue'
import AnalysisBox from '@/components/base/boxBackground/analysisBox.vue' import AnalysisBox from '@/components/base/boxBackground/analysisBox.vue'
import LeftBtn from '@/components/base/PageBtn/LeftBtn.vue' import LeftBtn from '@/components/base/pageBtn/leftBtn.vue'
import RightBtn from '@/components/base/PageBtn/RightBtn.vue' import RightBtn from '@/components/base/pageBtn/rightBtn.vue'
import AreaTag from '@/components/base/AreaTag/index.vue' import AreaTag from '@/components/base/AreaTag/index.vue'
// 重点实验室数据 // 重点实验室数据
......
...@@ -392,12 +392,12 @@ ...@@ -392,12 +392,12 @@
<script setup> <script setup>
import { onMounted, ref, nextTick } from "vue"; import { onMounted, ref, nextTick } from "vue";
import LeftBtn from "@/components/base/PageBtn/LeftBtn.vue"; import LeftBtn from "@/components/base/pageBtn/leftBtn.vue";
import RightBtn from "@/components/base/PageBtn/RightBtn.vue"; import RightBtn from "@/components/base/pageBtn/rightBtn.vue";
import RiskSignal from "@/components/base/RiskSignal/index.vue"; import RiskSignal from "@/components/base/riskSignal/index.vue";
import TipTab from "@/components/base/TipTab/index.vue" import TipTab from "@/components/base/TipTab/index.vue"
import MessageBubble from "@/components/base/MessageBubble/index.vue" import MessageBubble from "@/components/base/messageBubble/index.vue"
import NewsList from "@/components/base/NewsList/index.vue"; import NewsList from "@/components/base/newsList/index.vue";
import DivideHeader from "@/components/DivideHeader.vue"; import DivideHeader from "@/components/DivideHeader.vue";
import setChart from "@/utils/setChart"; import setChart from "@/utils/setChart";
......
...@@ -213,7 +213,7 @@ import { useRoute } from "vue-router"; ...@@ -213,7 +213,7 @@ import { useRoute } from "vue-router";
import { Search, ArrowDown, ArrowUp } from "@element-plus/icons-vue"; import { Search, ArrowDown, ArrowUp } from "@element-plus/icons-vue";
import { getSearchAllArea, getSearchAllYear, getSurveyList, getSearchAllCountry } from "@/api/marketAccessRestrictions"; import { getSearchAllArea, getSearchAllYear, getSurveyList, getSearchAllCountry } from "@/api/marketAccessRestrictions";
import AnalysisBox from "@/components/base/BoxBackground/AnalysisBox.vue" import AnalysisBox from "@/components/base/boxBackground/analysisBox.vue"
const route = useRoute(); const route = useRoute();
......
...@@ -127,7 +127,7 @@ ...@@ -127,7 +127,7 @@
import { ref, onMounted, nextTick } from "vue"; import { ref, onMounted, nextTick } from "vue";
import setChart from "@/utils/setChart"; import setChart from "@/utils/setChart";
import TipTab from "@/components/base/TipTab/index.vue" import TipTab from "@/components/base/TipTab/index.vue"
import AnalysisBox from "@/components/base/BoxBackground/AnalysisBox.vue" import AnalysisBox from "@/components/base/boxBackground/analysisBox.vue"
import { getStatCount, getStatcnOrgCount, getSearchResult, getStatArea, getStatNum } from "@/api/marketAccessRestrictions"; import { getStatCount, getStatcnOrgCount, getSearchResult, getStatArea, getStatNum } from "@/api/marketAccessRestrictions";
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
</template> </template>
<script setup> <script setup>
import RiskSignal from "@/components/base/RiskSignal/index.vue"; import RiskSignal from "@/components/base/riskSignal/index.vue";
import { ref, onBeforeMount, computed } from "vue"; import { ref, onBeforeMount, computed } from "vue";
import router from "@/router"; import router from "@/router";
import { getLatestUpdates, getRiskSignal } from '@/api/ruleRestriction/index.js' import { getLatestUpdates, getRiskSignal } from '@/api/ruleRestriction/index.js'
......
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
</template> </template>
<script setup> <script setup>
import RiskSignal from "@/components/base/RiskSignal/index.vue"; import RiskSignal from "@/components/base/riskSignal/index.vue";
import { ref, onMounted } from "vue"; import { ref, onMounted } from "vue";
import { import {
getNewProject, getRiskSignal getNewProject, getRiskSignal
......
...@@ -317,7 +317,7 @@ ...@@ -317,7 +317,7 @@
</template> </template>
<script setup> <script setup>
import RiskSignal from "@/components/base/RiskSignal/index.vue"; import RiskSignal from "@/components/base/riskSignal/index.vue";
import { onMounted, ref } from "vue"; import { onMounted, ref } from "vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import scrollToTop from "@/utils/scrollToTop"; import scrollToTop from "@/utils/scrollToTop";
......
...@@ -107,7 +107,7 @@ ...@@ -107,7 +107,7 @@
<div class="image-change"> <div class="image-change">
<img src="../assets/images/plus.png" alt="" v-if="!selectedIds.has(item.id)" <img src="../assets/images/plus.png" alt="" v-if="!selectedIds.has(item.id)"
@click.stop="toggleSelected(item.id, item)" /> @click.stop="toggleSelected(item.id, item)" />
<img src="../assets/images/Minus.png" alt="" v-else @click.stop="toggleSelected(item.id, item)" /> <img src="../assets/images/minus.png" alt="" v-else @click.stop="toggleSelected(item.id, item)" />
</div> </div>
</div> </div>
</div> </div>
...@@ -148,7 +148,7 @@ ...@@ -148,7 +148,7 @@
<div class="image-change"> <div class="image-change">
<img src="../assets/images/plus.png" alt="" v-if="!selectedIds.has(item.id)" <img src="../assets/images/plus.png" alt="" v-if="!selectedIds.has(item.id)"
@click.stop="toggleSelected(item.id, item)" /> @click.stop="toggleSelected(item.id, item)" />
<img src="../assets/images/Minus.png" alt="" v-else @click.stop="toggleSelected(item.id, item)" /> <img src="../assets/images/minus.png" alt="" v-else @click.stop="toggleSelected(item.id, item)" />
</div> </div>
</div> </div>
</div> </div>
......
...@@ -382,7 +382,7 @@ ...@@ -382,7 +382,7 @@
<script setup> <script setup>
import RiskSignal from "@/components/base/riskSignal/index.vue"; import RiskSignal from "@/components/base/riskSignal/index.vue";
import NewsList from "@/components/base/newsList/index.vue"; import NewsList from "@/components/base/newsList/index.vue";
import MessageBubble from "@/components/base/MessageBubble/index.vue" import MessageBubble from "@/components/base/messageBubble/index.vue"
import { onMounted, ref, computed, reactive, nextTick } from "vue"; import { onMounted, ref, computed, reactive, nextTick } from "vue";
import scrollToTop from "@/utils/scrollToTop"; import scrollToTop from "@/utils/scrollToTop";
import router from "@/router"; import router from "@/router";
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论