Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
f23aec00
提交
f23aec00
authored
3月 25, 2026
作者:
coderBryanFu
浏览文件
操作
浏览文件
下载
差异文件
feta:数据资源库更新
上级
7651ad1a
c3502486
全部展开
显示空白字符变更
内嵌
并排
正在显示
38 个修改的文件
包含
265 行增加
和
162 行删除
+265
-162
.gitlab-ci.yml
.gitlab-ci.yml
+40
-0
package-lock.json
package-lock.json
+0
-0
influence.js
src/api/influence.js
+2
-0
main.js
src/main.js
+8
-8
company.js
src/router/modules/company.js
+7
-0
index.vue
src/styles/components/ActionButton/index.vue
+2
-2
ResourceLibrarySection.vue
src/views/bill/billHome/ResourceLibrarySection.vue
+4
-4
index.vue
src/views/bill/billHome/index.vue
+12
-8
index.vue
src/views/bill/billLayout/index.vue
+6
-6
index.vue
src/views/bill/index.vue
+6
-0
Step3PredictionAnalysis.vue
...e/ProgressForecast/components/Step3PredictionAnalysis.vue
+0
-3
index.vue
src/views/bill/influence/ProgressForecast/index.vue
+1
-1
index.vue
src/views/bill/influence/industry/index.vue
+4
-3
index.vue
src/views/coopRestriction/components/dataNew/index.vue
+1
-1
index.vue
src/views/dataLibrary/components/BarChart/index.vue
+1
-1
influencePanel2.vue
...ews/exportControl/analysis/components/influencePanel2.vue
+10
-7
panel1.vue
src/views/exportControl/analysis/components/panel1.vue
+10
-7
panel2.vue
src/views/exportControl/analysis/components/panel2.vue
+10
-7
overview.vue
src/views/exportControl/analysis/content/overview.vue
+10
-7
index.vue
src/views/exportControl/index.vue
+37
-28
RuleSubsidiaryDialog.vue
...ionsOverview/components/listPage/RuleSubsidiaryDialog.vue
+14
-13
index.vue
...omponents/sanctionsOverview/components/listPage/index.vue
+36
-20
index.vue
...rol/v2.0EntityList/components/sanctionsOverview/index.vue
+8
-3
RelationGraph-back.vue
...n/components/deepMining/components/RelationGraph-back.vue
+4
-4
RelationGraph.vue
...nction/components/deepMining/components/RelationGraph.vue
+4
-4
index.vue
...ontrol/v2.0SingleSanction/components/deepMining/index.vue
+1
-1
index.vue
...v2.0SingleSanction/components/sanctionsOverview/index.vue
+9
-6
index.vue
src/views/finance/index.vue
+1
-1
CooperationCases.vue
...ct/innovativeInstitutions/components/CooperationCases.vue
+2
-2
OtherInfo.vue
...novationSubject/innovativeInstitutions/tabs/OtherInfo.vue
+2
-2
index.vue
...views/marketAccessRestrictions/marketAccessHome/index.vue
+5
-5
index.vue
...tAccessRestrictions/marketAccessLayout/case/337/index.vue
+1
-1
index.vue
...essRestrictions/marketAccessLayout/overview/337/index.vue
+1
-1
index.vue
src/views/ruleRestriction/components/dataNew/index.vue
+1
-1
index.vue
src/views/scientificFunding/components/dataNew/index.vue
+1
-1
index.vue
src/views/technologyFigures/index.vue
+1
-1
index.vue
src/views/thinkTank/MultiThinkTankViewAnalysis/index.vue
+2
-2
index.vue
src/views/thinkTank/index.vue
+1
-1
没有找到文件。
.gitlab-ci.yml
0 → 100644
浏览文件 @
f23aec00
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
package-lock.json
浏览文件 @
f23aec00
差异被折叠。
点击展开。
src/api/influence.js
浏览文件 @
f23aec00
...
...
@@ -5,6 +5,8 @@ import request from "@/api/request.js";
* @param {Object} params
* @param {string} [params.id] - 行业领域id(全部领域不传)
* @param {string} [params.companyName] - 公司名称(搜索框为空不传)
* @returns {Array<{id: string, name: string, marketChange: number|null, chainCompanyId: string|number}>}
* 说明:右侧详情查询当前建议优先使用 chainCompanyId;若缺失可回退 id,兼容后续接口调整
*/
export
function
getCompanyList
(
params
)
{
return
request
({
...
...
src/main.js
浏览文件 @
f23aec00
...
...
@@ -13,15 +13,15 @@ import '@/assets/fonts/font.css'
import
zhCn
from
'element-plus/dist/locale/zh-cn.mjs'
// import AreaTag from '@/components/base/AreaTag/index.vue'
// import LeftBtn from "@/components/base/
PageBtn/L
eftBtn.vue";
// import RightBtn from "@/components/base/
PageBtn/R
ightBtn.vue";
// import OverviewMainBox from "@/components/base/
BoxBackground/O
verviewMainBox.vue";
// import OverviewNormalBox from "@/components/base/
BoxBackground/O
verviewNormalBox.vue";
// import AnalysisBox from '@/components/base/
BoxBackground/A
nalysisBox.vue'
// import NewsList from '@/components/base/
N
ewsList/index.vue'
// import LeftBtn from "@/components/base/
pageBtn/l
eftBtn.vue";
// import RightBtn from "@/components/base/
pageBtn/r
ightBtn.vue";
// import OverviewMainBox from "@/components/base/
boxBackground/o
verviewMainBox.vue";
// import OverviewNormalBox from "@/components/base/
boxBackground/o
verviewNormalBox.vue";
// import AnalysisBox from '@/components/base/
boxBackground/a
nalysisBox.vue'
// import NewsList from '@/components/base/
n
ewsList/index.vue'
// import ModuleHeader from '@/components/base/ModuleHeader/index.vue'
// import RiskSignal from "@/components/base/
R
iskSignal/index.vue";
// import MessageBubble from "@/components/base/
M
essageBubble/index.vue";
// import RiskSignal from "@/components/base/
r
iskSignal/index.vue";
// import MessageBubble from "@/components/base/
m
essageBubble/index.vue";
// import SourceTabLsit from '@/components/base/SourceTabList/index.vue'
// import ActionButton from "@/components/base/ActionButton/index.vue"
...
...
src/router/modules/company.js
浏览文件 @
f23aec00
//企业主页
import
{
useGotoPage
}
from
"../common.js"
;
const
companyPages
=
()
=>
import
(
'@/views/companyPages/index.vue'
)
const
companyPages2
=
()
=>
import
(
'@/views/companyPages2/index.vue'
)
...
...
@@ -28,4 +29,9 @@ const companyPagesRoutes = [
]
export
function
useGotoCompanyPages
()
{
const
gotoPage
=
useGotoPage
();
return
(
id
,
isNewTabs
=
true
)
=>
gotoPage
(
"/companyPages/"
+
id
,
{},
isNewTabs
)
}
export
default
companyPagesRoutes
\ No newline at end of file
src/styles/components/ActionButton/index.vue
浏览文件 @
f23aec00
...
...
@@ -27,8 +27,8 @@
<pre>
{{
`
import LeftBtn from '@/components/base/
PageBtn/L
eftBtn.vue'
import RightBtn from '@/components/base/
PageBtn/R
ightBtn.vue'
import LeftBtn from '@/components/base/
pageBtn/l
eftBtn.vue'
import RightBtn from '@/components/base/
pageBtn/r
ightBtn.vue'
<LeftBtn />
<RightBtn />
...
...
src/views/bill/billHome/ResourceLibrarySection.vue
浏览文件 @
f23aec00
...
...
@@ -662,10 +662,10 @@ const handleGetBillsPerson = async () => {
sortFun
:
!
memberSortFun
.
value
}
;
if
(
footerSelect1
.
value
!==
"全部委员会"
)
params
.
committeeId
=
footerSelect1
.
value
;
if
(
!
activeYyList
.
value
.
includes
(
"全部议院"
))
params
.
congressIds
=
activeYyList
.
value
;
if
(
!
activeDpList
.
value
.
includes
(
"全部党派"
))
params
.
partyIds
=
activeDpList
.
value
;
if
(
!
activeAreaList
.
value
.
includes
(
"全部领域"
))
params
.
domainIds
=
activeAreaList
.
value
;
if
(
footerSelect1
.
value
!==
"全部委员会"
)
params
.
committeeId
s
=
footerSelect1
.
value
;
if
(
!
activeYyList
.
value
.
includes
(
"全部议院"
))
params
.
congressIds
=
activeYyList
.
value
.
join
(
","
)
;
if
(
!
activeDpList
.
value
.
includes
(
"全部党派"
))
params
.
partyIds
=
activeDpList
.
value
.
join
(
","
)
;
if
(
!
activeAreaList
.
value
.
includes
(
"全部领域"
))
params
.
domainIds
=
activeAreaList
.
value
.
join
(
","
)
;
const
formatDateYm
=
dateStr
=>
{
if
(
!
dateStr
)
return
""
;
...
...
src/views/bill/billHome/index.vue
浏览文件 @
f23aec00
...
...
@@ -13,7 +13,7 @@
<div
class=
"committee-cards-filter"
>
<span
class=
"committee-cards-desc"
>
近期美国国会各委员会涉华提案数量汇总
</span>
<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"
>
<el-icon
v-if=
"committeeTimeRange === item.value"
class=
"committee-time-switch-icon"
>
<Calendar
/>
...
...
@@ -146,7 +146,7 @@
<div
v-else
id=
"box5Chart"
class=
"overview-chart"
></div>
</div>
<div
class=
"overview-tip-row"
>
<TipTab
class=
"overview-tip"
:text=
"'
图表说明:xxxxx
,数据来源:美国国会官网'"
/>
<TipTab
class=
"overview-tip"
:text=
"'
涉华科技法案数量及通过率变化趋势
,数据来源:美国国会官网'"
/>
<AiButton
class=
"overview-tip-action"
@
mouseenter=
"handleShowAiPane('box5')"
/>
</div>
<div
v-if=
"aiPaneVisible.box5"
class=
"overview-ai-pane"
@
mouseleave=
"handleHideAiPane('box5')"
>
...
...
@@ -171,7 +171,7 @@
<div
v-else
id=
"box9Chart"
class=
"overview-chart"
></div>
</div>
<div
class=
"overview-tip-row"
>
<TipTab
class=
"overview-tip"
:text=
"'
图表说明:xxxxx
,数据来源:美国国会官网'"
/>
<TipTab
class=
"overview-tip"
:text=
"'
涉华科技法案领域分布情况
,数据来源:美国国会官网'"
/>
<AiButton
class=
"overview-tip-action"
@
mouseenter=
"handleShowAiPane('box6')"
/>
</div>
<div
v-if=
"aiPaneVisible.box6"
class=
"overview-ai-pane"
@
mouseleave=
"handleHideAiPane('box6')"
>
...
...
@@ -193,7 +193,7 @@
<div
v-else
id=
"box7Chart"
class=
"overview-chart"
></div>
</div>
<div
class=
"overview-tip-row"
>
<TipTab
class=
"overview-tip"
:text=
"'
图表说明:xxxxx
,数据来源:美国国会官网'"
/>
<TipTab
class=
"overview-tip"
:text=
"'
提出涉华科技法案委员会分布情况
,数据来源:美国国会官网'"
/>
<AiButton
class=
"overview-tip-action"
@
mouseenter=
"handleShowAiPane('box7')"
/>
</div>
<div
v-if=
"aiPaneVisible.box7"
class=
"overview-ai-pane"
@
mouseleave=
"handleHideAiPane('box7')"
>
...
...
@@ -216,7 +216,7 @@
</
template
>
</div>
<div
class=
"overview-tip-row"
>
<TipTab
class=
"overview-tip"
:text=
"'
图表说明:xxxxx
,数据来源:美国国会官网'"
/>
<TipTab
class=
"overview-tip"
:text=
"'
涉华科技法案立法进展分布情况
,数据来源:美国国会官网'"
/>
<AiButton
class=
"overview-tip-action"
@
mouseenter=
"handleShowAiPane('box8')"
/>
</div>
<div
v-if=
"aiPaneVisible.box8"
class=
"overview-ai-pane"
@
mouseleave=
"handleHideAiPane('box8')"
>
...
...
@@ -231,7 +231,7 @@
<WordCloundChart
v-else
class=
"overview-chart"
width=
"100%"
height=
"100%"
:data=
"wordCloudData"
/>
</div>
<div
class=
"overview-tip-row"
>
<TipTab
class=
"overview-tip"
:text=
"'
图表说明:xxxxx
,数据来源:美国国会官网'"
/>
<TipTab
class=
"overview-tip"
:text=
"'
涉华科技法案关键条款词云
,数据来源:美国国会官网'"
/>
<AiButton
class=
"overview-tip-action"
@
mouseenter=
"handleShowAiPane('box9')"
/>
</div>
<div
v-if=
"aiPaneVisible.box9"
class=
"overview-ai-pane"
@
mouseleave=
"handleHideAiPane('box9')"
>
...
...
@@ -271,7 +271,7 @@ import {
import
{
getPersonSummaryInfo
}
from
"@/api/common/index"
;
import
{
getChartAnalysis
}
from
"@/api/aiAnalysis/index"
;
import
DivideHeader
from
"@/components/DivideHeader.vue"
;
import
overviewMainBox
from
"@/components/base/
BoxBackground/O
verviewMainBox.vue"
;
import
overviewMainBox
from
"@/components/base/
boxBackground/o
verviewMainBox.vue"
;
import
OverviewCard
from
"./OverviewCard.vue"
;
import
ResourceLibrarySection
from
"./ResourceLibrarySection.vue"
;
import
{
useContainerScroll
}
from
"@/hooks/useScrollShow"
;
...
...
@@ -917,7 +917,11 @@ const handleGetKeyTK = async () => {
const
res
=
await
getBillOverviewKeyTK
();
console
.
log
(
"关键条款"
,
res
);
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
{
name
:
item
.
clause
,
value
:
item
.
count
...
...
src/views/bill/billLayout/index.vue
浏览文件 @
f23aec00
...
...
@@ -72,12 +72,12 @@ const mainHeaderBtnList = ref([
name
:
"影响分析"
,
path
:
"/billLayout/influence"
},
{
icon
:
icon4
,
activeIcon
:
icon4Active
,
name
:
"相关情况"
,
path
:
"/billLayout/relevantCircumstance"
}
//
{
//
icon: icon4,
//
activeIcon: icon4Active,
//
name: "相关情况",
//
path: "/billLayout/relevantCircumstance"
//
}
]);
const
activeTitle
=
ref
(
"法案概况"
);
...
...
src/views/bill/index.vue
浏览文件 @
f23aec00
...
...
@@ -16,6 +16,12 @@ import { onMounted, ref, computed, watch } from "vue";
import
{
useRoute
}
from
"vue-router"
;
import
router
from
'@/router'
import
SiderTabs
from
"@/components/base/SiderTabs/index.vue"
;
//分支pre自动部署测试:
//第一次测试
//第二次测试
//第三次测试
//第四次测试
//第五次测试
const
route
=
useRoute
();
...
...
src/views/bill/influence/ProgressForecast/components/Step3PredictionAnalysis.vue
浏览文件 @
f23aec00
...
...
@@ -73,11 +73,8 @@ const predictionData = ref<PredictionAnalysis | null>(null)
// 获取预测分析数据
onMounted
(
async
()
=>
{
console
.
log
(
'[v0] Step3 mounted, fetching data...'
)
const
data
=
await
fetchPredictionAnalysis
()
console
.
log
(
'[v0] Data fetched:'
,
data
)
predictionData
.
value
=
data
console
.
log
(
'[v0] predictionData set:'
,
predictionData
.
value
)
})
// 根据索引和progressLevel返回进度条格子的类名
...
...
src/views/bill/influence/ProgressForecast/index.vue
浏览文件 @
f23aec00
...
...
@@ -78,7 +78,7 @@ onMounted(async () => {
const
[
stepsData
,
predictionData
]
=
await
Promise
.
all
([
fetchSteps
(),
getProgressPrediction
(
billId
.
value
).
catch
(
err
=>
{
console
.
error
(
'
[v0]
获取预测数据失败:'
,
err
)
console
.
error
(
'
获取预测数据失败:'
,
err
)
return
null
})
])
...
...
src/views/bill/influence/industry/index.vue
浏览文件 @
f23aec00
...
...
@@ -160,7 +160,8 @@ const curCompanyId = ref("");
const
handleClickCompany
=
(
val
,
index
)
=>
{
companyActiveIndex
.
value
=
(
currentPage
.
value
-
1
)
*
pageSize
.
value
+
index
;
if
(
val
)
{
curCompanyId
.
value
=
val
.
id
;
// 右侧鱼骨图查询:当前优先使用 chainCompanyId,后续可平滑切换到 id
curCompanyId
.
value
=
val
.
chainCompanyId
||
val
.
id
;
// handleGetCompanyDetail();
companyInfo
.
value
.
name
=
val
.
name
;
companyInfo
.
value
.
status
=
val
.
status
||
companyInfo
.
value
.
status
;
...
...
@@ -308,10 +309,10 @@ const headerChartData = (row) => {
switch
(
contentType
.
value
)
{
case
1
:
onDecreeRelatedChain
(
row
.
i
d
)
onDecreeRelatedChain
(
row
.
chainCompanyI
d
)
break
;
case
2
:
onDecreeRelatedEntitie
(
row
.
i
d
)
onDecreeRelatedEntitie
(
row
.
chainCompanyI
d
)
break
;
}
}
;
...
...
src/views/coopRestriction/components/dataNew/index.vue
浏览文件 @
f23aec00
...
...
@@ -114,7 +114,7 @@
</
template
>
<
script
setup
>
import
RiskSignal
from
"@/components/base/
R
iskSignal/index.vue"
;
import
RiskSignal
from
"@/components/base/
r
iskSignal/index.vue"
;
import
{
ref
,
onMounted
,
computed
}
from
"vue"
;
import
router
from
"@/router"
;
import
{
getCoopRestrictionTrends
,
getCoopRestrictionSignals
}
from
"@/api/coopRestriction/coopRestriction.js"
;
...
...
src/views/dataLibrary/components/BarChart/index.vue
浏览文件 @
f23aec00
...
...
@@ -5,7 +5,7 @@
<
script
setup
>
import
{
ref
,
onMounted
,
nextTick
}
from
'vue'
import
setChart
from
'@/utils/setChart'
;
import
getBarChart
from
'./bar
chart
'
;
import
getBarChart
from
'./bar
Chart.js
'
;
const
props
=
defineProps
({
barChartData
:
{
...
...
src/views/exportControl/analysis/components/influencePanel2.vue
浏览文件 @
f23aec00
...
...
@@ -91,6 +91,8 @@ import Fishbone from "./fishbone.vue";
import
{
getHorizontalBarChart2
}
from
"../../utils/charts"
;
import
{
getDomainDistribution
,
getChainEntities
,
getChainInfoByDomainId
,
getCnEntityOnChain
}
from
"@/api/exportControl"
;
import
{
useRoute
,
useRouter
}
from
"vue-router"
;
import
{
useGotoCompanyPages
}
from
"@/router/modules/company"
;
const
gotoCompanyPages
=
useGotoCompanyPages
();
const
route
=
useRoute
();
const
router
=
useRouter
();
const
buttonList
=
ref
([]);
...
...
@@ -155,13 +157,14 @@ const listData = ref([
const
horizontalBarOptions
=
shallowRef
({
}
);
const
handleEttClick
=
item
=>
{
const
route
=
router
.
resolve
({
name
:
"companyPages"
,
params
:
{
id
:
item
.
id
}
}
);
window
.
open
(
route
.
href
,
"_blank"
);
// const route = router.resolve(
{
// name: "companyPages",
// params:
{
// id: item.id
//
}
//
}
);
// window.open(route.href, "_blank");
gotoCompanyPages
(
item
.
id
);
}
;
// 处理点击事件
const
handleChainClick
=
async
chainId
=>
{
}
;
...
...
src/views/exportControl/analysis/components/panel1.vue
浏览文件 @
f23aec00
...
...
@@ -95,6 +95,8 @@ import Hint from "./hint.vue";
import
{
getEntitiesChangeCount
,
getEntitiesGrowthTrend
,
getEntitiesUpdateCount
,
getKeyEntityList
}
from
"@/api/exportControl"
;
import
_
from
"lodash"
;
import
{
useRoute
,
useRouter
}
from
"vue-router"
;
import
{
useGotoCompanyPages
}
from
"@/router/modules/company"
;
const
gotoCompanyPages
=
useGotoCompanyPages
();
const
route
=
useRoute
();
const
router
=
useRouter
();
const
line1Option
=
shallowRef
({});
...
...
@@ -341,13 +343,14 @@ const handleDomainChange = async domain => {
const
handleOrgClick
=
item
=>
{
console
.
log
(
item
);
const
route
=
router
.
resolve
({
name
:
"companyPages"
,
params
:
{
id
:
item
.
id
}
});
window
.
open
(
route
.
href
,
"_blank"
);
// const route = router.resolve({
// name: "companyPages",
// params: {
// id: item.id
// }
// });
// window.open(route.href, "_blank");
gotoCompanyPages
(
item
.
id
);
};
</
script
>
...
...
src/views/exportControl/analysis/components/panel2.vue
浏览文件 @
f23aec00
...
...
@@ -74,6 +74,8 @@ import _ from "lodash";
import
Hint
from
"./hint.vue"
;
import
{
getEntityFinancing
,
getEntityMarketValue
,
getKeyListedEntityList
,
getSanStrength
}
from
"@/api/exportControl"
;
import
{
useRoute
,
useRouter
}
from
"vue-router"
;
import
{
useGotoCompanyPages
}
from
"@/router/modules/company"
;
const
gotoCompanyPages
=
useGotoCompanyPages
();
const
route
=
useRoute
();
const
router
=
useRouter
();
const
value3
=
ref
(
""
);
...
...
@@ -304,13 +306,14 @@ watch(
const
handleOrgClick
=
item
=>
{
console
.
log
(
item
);
const
route
=
router
.
resolve
({
name
:
"companyPages"
,
params
:
{
id
:
item
.
id
}
});
window
.
open
(
route
.
href
,
"_blank"
);
// const route = router.resolve({
// name: "companyPages",
// params: {
// id: item.id
// }
// });
// window.open(route.href, "_blank");
gotoCompanyPages
(
item
.
id
);
};
</
script
>
...
...
src/views/exportControl/analysis/content/overview.vue
浏览文件 @
f23aec00
...
...
@@ -200,6 +200,8 @@ import {
import
_
from
"lodash"
;
import
{
useRoute
,
useRouter
}
from
"vue-router"
;
import
{
formatAnyDateToChinese
}
from
"../../utils"
;
import
{
useGotoCompanyPages
}
from
"@/router/modules/company"
;
const
gotoCompanyPages
=
useGotoCompanyPages
();
const
route
=
useRoute
();
const
router
=
useRouter
();
const
organizationInfo
=
shallowRef
({});
...
...
@@ -406,13 +408,14 @@ const panel5TypeMap = {
const
handleOrgClick
=
item
=>
{
console
.
log
(
item
);
if
(
item
.
entityType
!=
2
)
return
;
const
route
=
router
.
resolve
({
name
:
"companyPages"
,
params
:
{
id
:
item
.
id
}
});
window
.
open
(
route
.
href
,
"_blank"
);
// const route = router.resolve({
// name: "companyPages",
// params: {
// id: item.id
// }
// });
// window.open(route.href, "_blank");
gotoCompanyPages
(
item
.
id
);
};
// 处理"查看更多"点击事件
...
...
src/views/exportControl/index.vue
浏览文件 @
f23aec00
...
...
@@ -65,7 +65,7 @@
:subtitle=
"item.nameAbbr"
:description=
"item.description"
:quantity=
"item.postCount"
unit=
"
次
"
unit=
"
个
"
:color=
"infoListColor[index]"
@
click=
"handleToEntityListNoId(item)"
/>
...
...
@@ -703,7 +703,7 @@
<
script
setup
>
//这是一个备注
import
NewsList
from
"@/components/base/newsList/index.vue"
;
import
RiskSignal
from
"@/components/base/
R
iskSignal/index.vue"
;
import
RiskSignal
from
"@/components/base/
r
iskSignal/index.vue"
;
import
{
onMounted
,
ref
,
computed
,
reactive
,
shallowRef
,
watch
,
nextTick
}
from
"vue"
;
import
{
useContainerScroll
}
from
"@/hooks/useScrollShow"
;
const
homeMainRef
=
ref
(
null
);
...
...
@@ -715,6 +715,10 @@ import { ElMessage, ElMessageBox } from "element-plus";
import
{
DArrowRight
,
Warning
,
Search
}
from
"@element-plus/icons-vue"
;
import
EChart
from
"@/components/Chart/index.vue"
;
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"
;
...
...
@@ -868,14 +872,15 @@ const handleCompClick = item => {
// console.log("item", item);
// if (item.entityType != 2) return;
window
.
sessionStorage
.
setItem
(
"curTabName"
,
item
.
name
);
const
route
=
router
.
resolve
({
name
:
"companyPages"
,
params
:
{
id
:
item
.
id
,
sanTypeId
:
item
.
sanTypeId
}
});
window
.
open
(
route
.
href
,
"_blank"
);
gotoCompanyPages
(
item
.
entityId
);
// const route = router.resolve({
// name: "companyPages",
// params: {
// id: item.id,
// sanTypeId: item.sanTypeId
// }
// });
// window.open(route.href, "_blank");
};
const
tagsType
=
[
"primary"
,
"success"
,
"warning"
,
"danger"
];
...
...
@@ -1075,14 +1080,15 @@ const processYearDomainCountData = yearDomainCountData => {
const
handleEntityClick
=
item
=>
{
console
.
log
(
"item"
,
item
);
window
.
sessionStorage
.
setItem
(
"curTabName"
,
item
.
name
||
item
.
entityNameZh
);
const
route
=
router
.
resolve
({
name
:
"companyPages"
,
params
:
{
// startTime: item.startTime,
id
:
item
.
entityId
}
});
window
.
open
(
route
.
href
,
"_blank"
);
gotoCompanyPages
(
item
.
entityId
);
// const route = router.resolve({
// name: "companyPages",
// params: {
// // startTime: item.startTime,
// id: item.entityId
// }
// });
// window.open(route.href, "_blank");
};
const
carouselRef
=
ref
(
null
);
...
...
@@ -1717,7 +1723,8 @@ const handleSanc = item => {
const
route
=
router
.
resolve
({
path
:
"/exportControl/singleSanction"
,
query
:
{
id
:
item
.
id
id
:
item
.
id
,
sanTypeId
:
activeResourceTabItem
.
value
.
id
}
});
window
.
open
(
route
.
href
,
"_blank"
);
...
...
@@ -1737,14 +1744,15 @@ const handleToMoreNews = () => {
const
handleNewsInfoClick
=
item
=>
{
console
.
log
(
"点击了社交媒体消息的更多信息:"
,
item
);
const
route
=
router
.
resolve
({
path
:
"/newsAnalysis"
,
query
:
{
newsId
:
item
.
newsId
}
});
window
.
open
(
route
.
href
,
"_blank"
);
// 应该跳转至哪儿???
// const route = router.resolve({
// path: "/newsAnalysis",
// query: {
// newsId: item.newsId
// }
// });
// window.open(route.href, "_blank");
gotoNewsDetail
(
item
.
newsId
);
};
// 切换当前出口管制政策
...
...
@@ -2324,7 +2332,8 @@ const handleMediaClick = item => {
overflow-y
:
auto
;
.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%
);
background-size
:
100%
100%
;
position
:
absolute
;
...
...
src/views/exportControl/v2.0EntityList/components/sanctionsOverview/components/listPage/RuleSubsidiaryDialog.vue
浏览文件 @
f23aec00
...
...
@@ -82,7 +82,8 @@ import { ref, computed, watch } from "vue";
import
router
from
"@/router"
;
import
{
Close
}
from
"@element-plus/icons-vue"
;
import
defaultIcon
from
"@/assets/icons/default-icon1.png"
;
import
{
useGotoCompanyPages
}
from
"@/router/modules/company"
;
const
gotoCompanyPages
=
useGotoCompanyPages
();
const
props
=
defineProps
({
modelValue
:
{
type
:
Boolean
,
...
...
@@ -119,9 +120,9 @@ const tableData = computed(() => {
...
item
,
name
:
item
.
orgName
,
domains
:
item
.
techDomains
||
[],
equityRatio
:
item
.
equityRatio
?
(
item
.
equityRatio
*
100
).
toFixed
(
2
)
+
'%'
:
'--'
,
location
:
'--'
,
revenue
:
item
.
revenue
||
'--'
equityRatio
:
item
.
equityRatio
?
(
item
.
equityRatio
*
100
).
toFixed
(
2
)
+
"%"
:
"--"
,
location
:
"--"
,
revenue
:
item
.
revenue
||
"--"
}));
});
...
...
@@ -154,16 +155,16 @@ const getTagStyle = tag => {
// 跳转公司详情页
const
handleCompClick
=
item
=>
{
console
.
log
(
"item"
,
item
);
window
.
sessionStorage
.
setItem
(
'curTabName'
,
item
.
entityNameZh
||
item
.
entityName
)
const
route
=
router
.
resolve
({
name
:
"companyPages"
,
params
:
{
id
:
item
.
id
}
});
window
.
open
(
route
.
href
,
"_blank"
);
window
.
sessionStorage
.
setItem
(
"curTabName"
,
item
.
entityNameZh
||
item
.
entityName
);
gotoCompanyPages
(
item
.
id
);
// const route = router.resolve({
// name: "companyPages",
// params: {
// id: item.id
// }
// });
// window.open(route.href, "_blank");
};
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
src/views/exportControl/v2.0EntityList/components/sanctionsOverview/components/listPage/index.vue
浏览文件 @
f23aec00
<
template
>
<div>
<div
class=
"list-page"
>
<div
class=
"search-box"
>
<el-input
v-model=
"searchKeyword"
class=
"search-input"
placeholder=
"搜索实体"
:suffix-icon=
"Search"
/>
...
...
@@ -92,8 +93,8 @@
<CommonPrompt
:content=
"row.entityNameZh || row.entityName"
style=
"flex: 1; overflow: hidden"
/>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"涉及领域"
min-width=
"150"
>
</el-table-column>
<el-table-column
label=
"涉及领域"
min-width=
"150"
>
<
template
#
default=
"{ row }"
>
<div
class=
"domain-cell"
>
<el-tag
v-for=
"tag in row.techDomains"
:key=
"tag"
class=
"domain-tag"
effect=
"plain"
...
...
@@ -102,9 +103,9 @@
</el-tag>
</div>
</
template
>
</el-table-column>
<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>
<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"
>
<
template
#
default=
"{ row }"
>
<div
class=
"rule-cell"
v-if=
"row.ruleOrgCount > 0"
>
<div
class=
"rule-text"
:title=
"row.ruleOrgList?.[0]?.orgName || ''"
>
...
...
@@ -114,14 +115,14 @@
row
.
ruleOrgCount
}}
家 >
</el-link>
</div>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"tight-footer"
>
</el-table-column>
</el-table>
</div>
<div
class=
"tight-footer"
>
<div
class=
"total-text"
>
共 {{ total }} 项
</div>
<el-pagination
:current-page=
"currentPage"
v-model:page-size=
"pageSize"
:total=
"total"
layout=
"prev, pager, next"
prev-text=
"<"
next-text=
">"
@
current-change=
"handleCurrentChange"
/>
</div>
-->
</div>
-->
<AnalysisBox
title=
"实体清单"
:showAllBtn=
"false"
>
<
template
#
header-btn
>
<div
class=
"stats"
>
...
...
@@ -172,14 +173,24 @@
</div>
</
template
>
</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"
>
<
template
#
default=
"{ row }"
>
<div
class=
"rule-cell"
v-if=
"row.ruleOrgCount > 0"
>
<div
class=
"rule-text"
:title=
"row.ruleOrgList?.[0]?.orgName || ''"
>
{{
row
.
ruleOrgList
?.[
0
]?.
orgName
||
""
}}
...等
</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
>
</div>
...
...
@@ -209,6 +220,7 @@
:total-count=
"currentRuleCount"
:data-list=
"currentRuleList"
/>
</div>
</template>
<
script
setup
>
...
...
@@ -219,20 +231,22 @@ import defaultIcon from "../../../../../assets/icons/default-avatar.png";
import
RuleSubsidiaryDialog
from
"./RuleSubsidiaryDialog.vue"
;
import
{
getExportControlList
,
get50PercentEntityCount
}
from
"@/api/exportControlV2.0.js"
;
import
CommonPrompt
from
"@/views/exportControl/commonPrompt/index.vue"
;
import
{
useGotoCompanyPages
}
from
"@/router/modules/company"
;
const
gotoCompanyPages
=
useGotoCompanyPages
();
const
router
=
useRouter
();
// 跳转公司详情页
const
handleCompClick
=
item
=>
{
console
.
log
(
"item"
,
item
);
window
.
sessionStorage
.
setItem
(
"curTabName"
,
item
.
entityNameZh
||
item
.
entityName
);
const
route
=
router
.
resolve
({
name
:
"companyPages"
,
params
:
{
id
:
item
.
entityId
}
});
window
.
open
(
route
.
href
,
"_blank"
);
// const route = router.resolve({
// name: "companyPages",
// params: {
// id: item.entityId
// }
// });
// window.open(route.href, "_blank");
gotoCompanyPages
(
item
.
entityId
);
};
const
searchKeyword
=
ref
(
""
);
...
...
@@ -516,6 +530,8 @@ watch(customDateRange, () => {
:deep
(
.el-input__wrapper
)
{
padding
:
0
11px
;
border
:
1px
solid
rgba
(
170
,
173
,
177
,
1
);
background-color
:
#fff
;
}
:deep
(
.el-input__inner
)
{
...
...
src/views/exportControl/v2.0EntityList/components/sanctionsOverview/index.vue
浏览文件 @
f23aec00
...
...
@@ -6,7 +6,7 @@
:key=
"index"
class=
"tab-item"
:class=
"
{ active: index === activeIndex }"
@click="
activeIndex = index
"
@click="
handleClickTab(index)
"
>
{{
item
}}
<span
v-if=
"index === activeIndex"
class=
"arrow"
></span>
...
...
@@ -14,10 +14,10 @@
</div>
<div
class=
"content-box"
>
<introductionPage
v-show=
"activeIndex ==
=
1"
v-show=
"activeIndex == 1"
@
update-entity-info=
"data => $emit('update-entity-info', data)"
></introductionPage>
<listPage
v-show=
"activeIndex ==
=
0"
></listPage>
<listPage
v-show=
"activeIndex == 0"
></listPage>
</div>
</div>
</
template
>
...
...
@@ -31,6 +31,11 @@ const emit = defineEmits(["update-entity-info"]);
const
activeTab
=
ref
([
"实体清单列表"
,
"实体清单简介"
]);
const
activeIndex
=
ref
(
0
);
const
handleClickTab
=
index
=>
{
console
.
log
(
index
);
activeIndex
.
value
=
index
;
};
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
src/views/exportControl/v2.0SingleSanction/components/deepMining/components/RelationGraph-back.vue
浏览文件 @
f23aec00
...
...
@@ -38,10 +38,10 @@
import
{
ref
,
onMounted
,
onUnmounted
,
watch
,
nextTick
}
from
"vue"
;
import
G6
from
"@antv/g6"
;
import
{
Close
}
from
"@element-plus/icons-vue"
;
import
echartsIcon01
from
"../assets/echarts
i
con01.png"
;
import
echartsIcon02
from
"../assets/echarts
i
con02.png"
;
import
echartsIcon03
from
"../assets/echarts
i
con03.png"
;
import
defaultIcon
from
"../assets/echarts
i
con03.png"
;
import
echartsIcon01
from
"../assets/echarts
I
con01.png"
;
import
echartsIcon02
from
"../assets/echarts
I
con02.png"
;
import
echartsIcon03
from
"../assets/echarts
I
con03.png"
;
import
defaultIcon
from
"../assets/echarts
I
con03.png"
;
import
{
getSingleSanctionEntityInfo
}
from
"@/api/exportControlV2.0"
;
...
...
src/views/exportControl/v2.0SingleSanction/components/deepMining/components/RelationGraph.vue
浏览文件 @
f23aec00
...
...
@@ -50,10 +50,10 @@
import
{
ref
,
onMounted
,
onUnmounted
,
watch
,
nextTick
}
from
"vue"
;
import
G6
from
"@antv/g6"
;
import
{
Close
}
from
"@element-plus/icons-vue"
;
import
echartsIcon01
from
"../assets/echarts
i
con01.png"
;
import
echartsIcon02
from
"../assets/echarts
i
con02.png"
;
import
echartsIcon03
from
"../assets/echarts
i
con03.png"
;
import
defaultIcon
from
"../assets/echarts
i
con03.png"
;
import
echartsIcon01
from
"../assets/echarts
I
con01.png"
;
import
echartsIcon02
from
"../assets/echarts
I
con02.png"
;
import
echartsIcon03
from
"../assets/echarts
I
con03.png"
;
import
defaultIcon
from
"../assets/echarts
I
con03.png"
;
import
{
getSingleSanctionEntityInfo
}
from
"@/api/exportControlV2.0"
;
...
...
src/views/exportControl/v2.0SingleSanction/components/deepMining/index.vue
浏览文件 @
f23aec00
...
...
@@ -133,7 +133,7 @@ import {
getSingleSanctionEntityEquity
}
from
"@/api/exportControlV2.0"
;
import
RelationGraph
from
"./components/RelationGraph.vue"
;
import
AnalysisBox
from
"@/components/base/
BoxBackground/A
nalysisBox.vue"
;
import
AnalysisBox
from
"@/components/base/
boxBackground/a
nalysisBox.vue"
;
const
sanRecordId
=
ref
(
""
);
const
activeTab
=
ref
([
"实体穿透分析"
]);
...
...
src/views/exportControl/v2.0SingleSanction/components/sanctionsOverview/index.vue
浏览文件 @
f23aec00
...
...
@@ -38,9 +38,7 @@
<div
class=
"info-row"
>
<div
class=
"label"
>
制裁领域:
</div>
<div
class=
"value tags"
>
<span
class=
"tag"
v-for=
"(domain, index) in formattedData.domains"
:key=
"index"
>
{{
domain
}}
</span>
<AreaTag
v-for=
"(domain, index) in formattedData.domains"
:key=
"index"
:tagName=
"domain"
/>
</div>
</div>
</div>
...
...
@@ -116,7 +114,7 @@
<el-input
v-model=
"searchKeyword"
placeholder=
"搜索实体"
style=
"width: 150px"
style=
"width: 150px
; border: 1px solid rgba(170, 173, 177, 0.4); border-radius: 5px
"
:suffix-icon=
"Search"
/>
</div>
...
...
@@ -219,6 +217,7 @@
import
{
ref
,
defineProps
,
computed
,
onMounted
,
watch
}
from
"vue"
;
import
{
useRouter
}
from
"vue-router"
;
import
{
ElMessage
}
from
"element-plus"
;
import
AreaTag
from
"@/components/base/AreaTag/index.vue"
;
import
{
DArrowRight
,
Search
}
from
"@element-plus/icons-vue"
;
import
{
debounce
}
from
"lodash"
;
import
title
from
"../../assets/title.png"
;
...
...
@@ -232,6 +231,9 @@ import {
import
RuleSubsidiaryDialog
from
"../../../v2.0EntityList/components/sanctionsOverview/components/listPage/RuleSubsidiaryDialog.vue"
;
import
{
useRoute
}
from
"vue-router"
;
import
{
useGotoCompanyPages
}
from
"@/router/modules/company"
;
const
gotoCompanyPages
=
useGotoCompanyPages
();
const
route
=
useRoute
();
// 跳转公司详情页
const
handleCompClick
=
item
=>
{
...
...
@@ -240,8 +242,9 @@ const handleCompClick = item => {
return
;
}
window
.
sessionStorage
.
setItem
(
"curTabName"
,
item
.
name
);
const
curRoute
=
router
.
resolve
({
name
:
"companyPages"
,
params
:
{
id
:
item
.
entityId
}
});
window
.
open
(
curRoute
.
href
,
"_blank"
);
gotoCompanyPages
(
item
.
entityId
);
// const curRoute = router.resolve({ name: "companyPages", params: { id: item.entityId } });
// window.open(curRoute.href, "_blank");
};
// 跳转发布机构详情页
...
...
src/views/finance/index.vue
浏览文件 @
f23aec00
...
...
@@ -459,7 +459,7 @@
</template>
<
script
setup
>
import
RiskSignal
from
"@/components/base/
R
iskSignal/index.vue"
;
import
RiskSignal
from
"@/components/base/
r
iskSignal/index.vue"
;
import
{
onMounted
,
ref
,
computed
}
from
"vue"
;
import
scrollToTop
from
"@/utils/scrollToTop"
;
import
setChart
from
"@/utils/setChart"
;
...
...
src/views/innovationSubject/innovativeInstitutions/components/CooperationCases.vue
浏览文件 @
f23aec00
...
...
@@ -29,8 +29,8 @@
<
script
setup
lang=
"ts"
>
import
{
ref
,
computed
}
from
'vue'
import
LeftBtn
from
'@/components/base/
PageBtn/L
eftBtn.vue'
import
RightBtn
from
'@/components/base/
PageBtn/R
ightBtn.vue'
import
LeftBtn
from
'@/components/base/
pageBtn/l
eftBtn.vue'
import
RightBtn
from
'@/components/base/
pageBtn/r
ightBtn.vue'
interface
CaseItem
{
date
:
string
...
...
src/views/innovationSubject/innovativeInstitutions/tabs/OtherInfo.vue
浏览文件 @
f23aec00
...
...
@@ -44,8 +44,8 @@
<
script
setup
lang=
"ts"
>
import
{
ref
,
computed
}
from
'vue'
import
AnalysisBox
from
'@/components/base/boxBackground/analysisBox.vue'
import
LeftBtn
from
'@/components/base/
PageBtn/L
eftBtn.vue'
import
RightBtn
from
'@/components/base/
PageBtn/R
ightBtn.vue'
import
LeftBtn
from
'@/components/base/
pageBtn/l
eftBtn.vue'
import
RightBtn
from
'@/components/base/
pageBtn/r
ightBtn.vue'
import
AreaTag
from
'@/components/base/AreaTag/index.vue'
// 重点实验室数据
...
...
src/views/marketAccessRestrictions/marketAccessHome/index.vue
浏览文件 @
f23aec00
...
...
@@ -392,12 +392,12 @@
<
script
setup
>
import
{
onMounted
,
ref
,
nextTick
}
from
"vue"
;
import
LeftBtn
from
"@/components/base/
PageBtn/L
eftBtn.vue"
;
import
RightBtn
from
"@/components/base/
PageBtn/R
ightBtn.vue"
;
import
RiskSignal
from
"@/components/base/
R
iskSignal/index.vue"
;
import
LeftBtn
from
"@/components/base/
pageBtn/l
eftBtn.vue"
;
import
RightBtn
from
"@/components/base/
pageBtn/r
ightBtn.vue"
;
import
RiskSignal
from
"@/components/base/
r
iskSignal/index.vue"
;
import
TipTab
from
"@/components/base/TipTab/index.vue"
import
MessageBubble
from
"@/components/base/
M
essageBubble/index.vue"
import
NewsList
from
"@/components/base/
N
ewsList/index.vue"
;
import
MessageBubble
from
"@/components/base/
m
essageBubble/index.vue"
import
NewsList
from
"@/components/base/
n
ewsList/index.vue"
;
import
DivideHeader
from
"@/components/DivideHeader.vue"
;
import
setChart
from
"@/utils/setChart"
;
...
...
src/views/marketAccessRestrictions/marketAccessLayout/case/337/index.vue
浏览文件 @
f23aec00
...
...
@@ -213,7 +213,7 @@ import { useRoute } from "vue-router";
import
{
Search
,
ArrowDown
,
ArrowUp
}
from
"@element-plus/icons-vue"
;
import
{
getSearchAllArea
,
getSearchAllYear
,
getSurveyList
,
getSearchAllCountry
}
from
"@/api/marketAccessRestrictions"
;
import
AnalysisBox
from
"@/components/base/
BoxBackground/A
nalysisBox.vue"
import
AnalysisBox
from
"@/components/base/
boxBackground/a
nalysisBox.vue"
const
route
=
useRoute
();
...
...
src/views/marketAccessRestrictions/marketAccessLayout/overview/337/index.vue
浏览文件 @
f23aec00
...
...
@@ -127,7 +127,7 @@
import
{
ref
,
onMounted
,
nextTick
}
from
"vue"
;
import
setChart
from
"@/utils/setChart"
;
import
TipTab
from
"@/components/base/TipTab/index.vue"
import
AnalysisBox
from
"@/components/base/
BoxBackground/A
nalysisBox.vue"
import
AnalysisBox
from
"@/components/base/
boxBackground/a
nalysisBox.vue"
import
{
getStatCount
,
getStatcnOrgCount
,
getSearchResult
,
getStatArea
,
getStatNum
}
from
"@/api/marketAccessRestrictions"
;
...
...
src/views/ruleRestriction/components/dataNew/index.vue
浏览文件 @
f23aec00
...
...
@@ -75,7 +75,7 @@
</
template
>
<
script
setup
>
import
RiskSignal
from
"@/components/base/
R
iskSignal/index.vue"
;
import
RiskSignal
from
"@/components/base/
r
iskSignal/index.vue"
;
import
{
ref
,
onBeforeMount
,
computed
}
from
"vue"
;
import
router
from
"@/router"
;
import
{
getLatestUpdates
,
getRiskSignal
}
from
'@/api/ruleRestriction/index.js'
...
...
src/views/scientificFunding/components/dataNew/index.vue
浏览文件 @
f23aec00
...
...
@@ -89,7 +89,7 @@
</
template
>
<
script
setup
>
import
RiskSignal
from
"@/components/base/
R
iskSignal/index.vue"
;
import
RiskSignal
from
"@/components/base/
r
iskSignal/index.vue"
;
import
{
ref
,
onMounted
}
from
"vue"
;
import
{
getNewProject
,
getRiskSignal
...
...
src/views/technologyFigures/index.vue
浏览文件 @
f23aec00
...
...
@@ -317,7 +317,7 @@
</template>
<
script
setup
>
import
RiskSignal
from
"@/components/base/
R
iskSignal/index.vue"
;
import
RiskSignal
from
"@/components/base/
r
iskSignal/index.vue"
;
import
{
onMounted
,
ref
}
from
"vue"
;
import
{
useRouter
}
from
"vue-router"
;
import
scrollToTop
from
"@/utils/scrollToTop"
;
...
...
src/views/thinkTank/MultiThinkTankViewAnalysis/index.vue
浏览文件 @
f23aec00
...
...
@@ -107,7 +107,7 @@
<div
class=
"image-change"
>
<img
src=
"../assets/images/plus.png"
alt=
""
v-if=
"!selectedIds.has(item.id)"
@
click
.
stop=
"toggleSelected(item.id, item)"
/>
<img
src=
"../assets/images/
M
inus.png"
alt=
""
v-else
@
click
.
stop=
"toggleSelected(item.id, item)"
/>
<img
src=
"../assets/images/
m
inus.png"
alt=
""
v-else
@
click
.
stop=
"toggleSelected(item.id, item)"
/>
</div>
</div>
</div>
...
...
@@ -148,7 +148,7 @@
<div
class=
"image-change"
>
<img
src=
"../assets/images/plus.png"
alt=
""
v-if=
"!selectedIds.has(item.id)"
@
click
.
stop=
"toggleSelected(item.id, item)"
/>
<img
src=
"../assets/images/
M
inus.png"
alt=
""
v-else
@
click
.
stop=
"toggleSelected(item.id, item)"
/>
<img
src=
"../assets/images/
m
inus.png"
alt=
""
v-else
@
click
.
stop=
"toggleSelected(item.id, item)"
/>
</div>
</div>
</div>
...
...
src/views/thinkTank/index.vue
浏览文件 @
f23aec00
...
...
@@ -382,7 +382,7 @@
<
script
setup
>
import
RiskSignal
from
"@/components/base/riskSignal/index.vue"
;
import
NewsList
from
"@/components/base/newsList/index.vue"
;
import
MessageBubble
from
"@/components/base/
M
essageBubble/index.vue"
import
MessageBubble
from
"@/components/base/
m
essageBubble/index.vue"
import
{
onMounted
,
ref
,
computed
,
reactive
,
nextTick
}
from
"vue"
;
import
scrollToTop
from
"@/utils/scrollToTop"
;
import
router
from
"@/router"
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论