|
@@ -25,15 +25,26 @@ import Empty from '@/components/common/Empty.vue'
|
|
|
import TextExpand from '@/components/common/TextExpand.vue'
|
|
|
import CommonInfoTable from '@/views/portrayal/components/CommonInfoTable.vue'
|
|
|
import { useEntContent } from '../composables/useEntContent'
|
|
|
-import { useEntMenuSummary, useEntModuleInfo, getMaskCardImg } from '../composables/useEntModule'
|
|
|
+import {
|
|
|
+ useEntMenuSummary,
|
|
|
+ useEntModuleInfo,
|
|
|
+ getMaskCardImg
|
|
|
+} from '../composables/useEntModule'
|
|
|
import { useEntChartModel } from '@/views/portrayal/composables/useEntChart'
|
|
|
import { useStore } from '@/store'
|
|
|
-import { ajaxEmptyLeaveInfo } from '@/api/modules'
|
|
|
+import {
|
|
|
+ ajaxEmptyLeaveInfo,
|
|
|
+ getEntChart,
|
|
|
+ getSubVipEntChart
|
|
|
+} from '@/api/modules'
|
|
|
const store = useStore()
|
|
|
// 是否是免费用户
|
|
|
const isFree = computed(() => {
|
|
|
return store.getters['user/isFree']
|
|
|
})
|
|
|
+const isMember = computed(() => {
|
|
|
+ return store.getters['user/isMember']
|
|
|
+})
|
|
|
|
|
|
const props = defineProps({
|
|
|
_eId: {
|
|
@@ -67,10 +78,20 @@ const _entName = ref('')
|
|
|
const baseFormData = ref([])
|
|
|
// 获取汇总菜单、二级菜单列表
|
|
|
const { entMenuSummary, level2MenuList } = useEntMenuSummary(props._eId)
|
|
|
-const Emit = defineEmits(['zhima', 'entname', 'formData', 'leaveInfo', 'lockBtnClick', 'onPageChange', 'tabActive', 'entInfo', 'loadingChart'])
|
|
|
+const Emit = defineEmits([
|
|
|
+ 'zhima',
|
|
|
+ 'entname',
|
|
|
+ 'formData',
|
|
|
+ 'leaveInfo',
|
|
|
+ 'lockBtnClick',
|
|
|
+ 'onPageChange',
|
|
|
+ 'tabActive',
|
|
|
+ 'entInfo',
|
|
|
+ 'loadingChart'
|
|
|
+])
|
|
|
// tab导航栏是否固定
|
|
|
const navFixed = ref(false)
|
|
|
-const tabActive= ref(0)
|
|
|
+const tabActive = ref(0)
|
|
|
|
|
|
const modules = reactive({
|
|
|
base: {},
|
|
@@ -80,14 +101,14 @@ const modules = reactive({
|
|
|
})
|
|
|
const loading = reactive({
|
|
|
base: true,
|
|
|
- analysis:true,
|
|
|
+ analysis: true,
|
|
|
infomat: true,
|
|
|
risk: true
|
|
|
})
|
|
|
// 获取当前企业详情
|
|
|
const { getEntDetail } = useEntContent(props._eId)
|
|
|
onMounted(async () => {
|
|
|
- const { zhiMaInfo, baseTableData, entName } = await getEntDetail(props._eId)
|
|
|
+ const { zhiMaInfo, baseTableData, entName } = await getEntDetail(props._eId)
|
|
|
Emit('zhima', zhiMaInfo)
|
|
|
Emit('entname', entName)
|
|
|
Emit('formData', baseTableData)
|
|
@@ -109,21 +130,24 @@ const getModuleRefName = (moduleName) => {
|
|
|
analysis: 'analysisModule',
|
|
|
infomat: 'infoMatModule',
|
|
|
risk: 'riskModule'
|
|
|
- };
|
|
|
+ }
|
|
|
return nameMap[moduleName] || moduleName
|
|
|
}
|
|
|
// 统一加载模块数据的函数
|
|
|
const loadModuleData = (moduleName) => {
|
|
|
- const {
|
|
|
+ const {
|
|
|
[getModuleRefName(moduleName)]: moduleInfo,
|
|
|
fetchModuleInfo,
|
|
|
loadingModule
|
|
|
- }
|
|
|
- = useEntModuleInfo(props._eId, { accountInfo: accountInfo.value, usageInfo: usageInfo.value, freeEntPort: freeEntPort.value })
|
|
|
-
|
|
|
+ } = useEntModuleInfo(props._eId, {
|
|
|
+ accountInfo: accountInfo.value,
|
|
|
+ usageInfo: usageInfo.value,
|
|
|
+ freeEntPort: freeEntPort.value
|
|
|
+ })
|
|
|
+
|
|
|
// 发起请求获取数据
|
|
|
fetchModuleInfo(moduleName)
|
|
|
-
|
|
|
+
|
|
|
// 使用watchEffect监听数据变化
|
|
|
watchEffect(() => {
|
|
|
modules[moduleName] = moduleInfo.value
|
|
@@ -135,7 +159,7 @@ const onTabClick = (index) => {
|
|
|
tabActive.value = index
|
|
|
window.scrollTo({ top: 0, behavior: 'smooth' })
|
|
|
Emit('tabActive', index)
|
|
|
-
|
|
|
+
|
|
|
const currentCode = moduleCodes[index]
|
|
|
|
|
|
// 如果当前模块数据为空,则获取数据
|
|
@@ -151,14 +175,21 @@ const onTabClick = (index) => {
|
|
|
const showFloatMenu = ref(false)
|
|
|
// 监听滚动事件
|
|
|
const watchScroll = () => {
|
|
|
- const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
|
|
|
+ const scrollTop =
|
|
|
+ window.pageYOffset ||
|
|
|
+ document.documentElement.scrollTop ||
|
|
|
+ document.body.scrollTop
|
|
|
// 设置tab固定定位高度为官网导航栏的高度
|
|
|
- const siteNavHeight = document.querySelector('#public-nav') ? document.querySelector('#public-nav').offsetHeight : 52
|
|
|
+ const siteNavHeight = document.querySelector('#public-nav')
|
|
|
+ ? document.querySelector('#public-nav').offsetHeight
|
|
|
+ : 52
|
|
|
const tabPanelHeader = document.querySelector('.tab-panel-header')
|
|
|
-
|
|
|
+
|
|
|
// 企业标题栏 + padding(32) + margin(16) + 官网导航栏高度(52)
|
|
|
- const entHeader = that.$root.$el.querySelector('.ent-header').offsetHeight + 48 + 52
|
|
|
- const navHeight = that.$root.$el.querySelector('.tab-panel-header').offsetHeight
|
|
|
+ const entHeader =
|
|
|
+ that.$root.$el.querySelector('.ent-header').offsetHeight + 48 + 52
|
|
|
+ const navHeight =
|
|
|
+ that.$root.$el.querySelector('.tab-panel-header').offsetHeight
|
|
|
if (scrollTop >= entHeader) {
|
|
|
navFixed.value = true
|
|
|
tabPanelHeader.style.top = siteNavHeight + 'px'
|
|
@@ -207,7 +238,7 @@ const lockBtnClick = () => {
|
|
|
const tip = {
|
|
|
button: '免费体验',
|
|
|
moduleName: '经营信息',
|
|
|
- source: 'ent_portrait_contacts',
|
|
|
+ source: 'ent_portrait_contacts'
|
|
|
}
|
|
|
// Emit('lockBtnclick')
|
|
|
onMaskBtnClick(tip)
|
|
@@ -231,15 +262,41 @@ const loadingChart = (data) => {
|
|
|
chartLoading.value = data
|
|
|
Emit('loadingChart', data)
|
|
|
}
|
|
|
+
|
|
|
+// 供父组件下载报告弹框调用(弹框内信息需获取画像信息内的数据)
|
|
|
+const getEntChartInfo = async () => {
|
|
|
+ const res = isMember.value
|
|
|
+ ? await getEntChart({ entId: props._eId })
|
|
|
+ : await getSubVipEntChart({ entId: props._eId })
|
|
|
+ Emit('loadingChart', false)
|
|
|
+ if (res.error_code === 0) {
|
|
|
+ if (res.data && Object.keys(res.data).length !== 0) {
|
|
|
+ // 将数据保存到data中
|
|
|
+ const entPortraitInfo = {}
|
|
|
+ for (const key in res.data) {
|
|
|
+ entPortraitInfo[key] = res.data[key]
|
|
|
+ }
|
|
|
+ if (res.data.timeRange && res.data.timeRange.start) {
|
|
|
+ entPortraitInfo.timeRangeStart = res.data.timeRange.start
|
|
|
+ }
|
|
|
+ if (res.data.timeRange && res.data.timeRange.end) {
|
|
|
+ entPortraitInfo.timeRangeEnd = res.data.timeRange.end
|
|
|
+ }
|
|
|
+ Emit('entInfo', entPortraitInfo)
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+defineExpose({ getEntChartInfo, onTabClick })
|
|
|
/**
|
|
|
* 经营信息模块
|
|
|
*/
|
|
|
// 竞争图谱
|
|
|
const showRivalChart = ref(true)
|
|
|
-const { rivalTableColumns, rivalTableList, rivalChartList, fetchChartData } = useEntChartModel({entId: props._eId})
|
|
|
+const { rivalTableColumns, rivalTableList, rivalChartList, fetchChartData } =
|
|
|
+ useEntChartModel({ entId: props._eId })
|
|
|
fetchChartData()
|
|
|
const rivalChartShow = (type) => {
|
|
|
- modules.infomat.list.forEach(card => {
|
|
|
+ modules.infomat.list.forEach((card) => {
|
|
|
if (card.code === 'winner_competition') {
|
|
|
if (type === 'chart') {
|
|
|
showRivalChart.value = true
|
|
@@ -286,7 +343,7 @@ const showApplyDialog = ref(false)
|
|
|
const showSuccessDialog = ref(false)
|
|
|
const currentSource = ref('')
|
|
|
const currentBtnText = ref('')
|
|
|
-const currentModuleName= ref('')
|
|
|
+const currentModuleName = ref('')
|
|
|
const successTipText = ref('')
|
|
|
const onMaskBtnClick = (tip) => {
|
|
|
currentBtnText.value = tip.button
|
|
@@ -294,7 +351,7 @@ const onMaskBtnClick = (tip) => {
|
|
|
currentModuleName.value = `企业${tip.moduleName}`
|
|
|
if (tip.button.includes('客服')) {
|
|
|
that?.contactCustomer(that)
|
|
|
- } else if(tip.button.includes('体验') || tip.button.includes('解锁')) {
|
|
|
+ } else if (tip.button.includes('体验') || tip.button.includes('解锁')) {
|
|
|
// Emit('leaveInfo', tip.source)
|
|
|
showApplyDialog.value = true
|
|
|
} else if (tip.button.includes('升级')) {
|
|
@@ -305,15 +362,16 @@ const onMaskBtnClick = (tip) => {
|
|
|
}
|
|
|
const onDialogConfirm = () => {
|
|
|
ajaxEmptyLeaveInfo({
|
|
|
- source: currentSource.value,
|
|
|
- }).then(res => {
|
|
|
+ source: currentSource.value
|
|
|
+ }).then((res) => {
|
|
|
const { error_code: code, error_msg: message } = res
|
|
|
if (code === 1) {
|
|
|
showApplyDialog.value = false
|
|
|
if (currentBtnText.value.includes('解锁')) {
|
|
|
successTipText.value = `恭喜您,成功解锁【 ${currentModuleName.value} 】权益1次。如需查看更多,请开通超级订阅,为您提供最新的商业情报,抢占先机。`
|
|
|
} else {
|
|
|
- successTipText.value = '我们会尽快联系您并预约演示时间,请耐心等待~您将获得免费体验大会员全部功能!'
|
|
|
+ successTipText.value =
|
|
|
+ '我们会尽快联系您并预约演示时间,请耐心等待~您将获得免费体验大会员全部功能!'
|
|
|
}
|
|
|
setTimeout(() => {
|
|
|
showSuccessDialog.value = true
|
|
@@ -342,7 +400,7 @@ const onKnowConfirm = () => {
|
|
|
>
|
|
|
<div
|
|
|
class="tab-header-item"
|
|
|
- :class="{'active': tabActive === index}"
|
|
|
+ :class="{ active: tabActive === index }"
|
|
|
v-for="(tab, index) in entMenuSummary"
|
|
|
@click="onTabClick(index)"
|
|
|
:key="index"
|
|
@@ -350,15 +408,22 @@ const onKnowConfirm = () => {
|
|
|
{{ tab.name }}
|
|
|
</div>
|
|
|
<transition name="el-fade-in-linear">
|
|
|
- <div class="flex flex-justify-between float-menu" v-show="showFloatMenu">
|
|
|
- <div class="level2-item" v-for="(level2, index2) in level2MenuList" :key="index2">
|
|
|
+ <div
|
|
|
+ class="flex flex-justify-between float-menu"
|
|
|
+ v-show="showFloatMenu"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ class="level2-item"
|
|
|
+ v-for="(level2, index2) in level2MenuList"
|
|
|
+ :key="index2"
|
|
|
+ >
|
|
|
<div
|
|
|
class="level3-item"
|
|
|
v-for="(level3, index3) in level2"
|
|
|
:key="index3"
|
|
|
@click.stop="onJumpTarget(index2, level3)"
|
|
|
>
|
|
|
- {{level3.name}}
|
|
|
+ {{ level3.name }}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -366,12 +431,19 @@ const onKnowConfirm = () => {
|
|
|
</div>
|
|
|
<div class="tab-panel-contents">
|
|
|
<!-- 基本信息 -->
|
|
|
- <div class="tab-contents-card" v-show="tabActive === 0" v-loading="loading.base">
|
|
|
+ <div
|
|
|
+ class="tab-contents-card"
|
|
|
+ v-show="tabActive === 0"
|
|
|
+ v-loading="loading.base"
|
|
|
+ >
|
|
|
<div class="tab-contents-card-container" v-loading="loading.base">
|
|
|
- <ModuleTag :list="modules.base.list" @tagClick="onTagClick"></ModuleTag>
|
|
|
+ <ModuleTag
|
|
|
+ :list="modules.base.list"
|
|
|
+ @tagClick="onTagClick"
|
|
|
+ ></ModuleTag>
|
|
|
<div class="ent-module-container">
|
|
|
<div class="ent-module-header">
|
|
|
- <span class="ent-module-title">{{modules.base.name}}</span>
|
|
|
+ <span class="ent-module-title">{{ modules.base.name }}</span>
|
|
|
</div>
|
|
|
<div class="ent-module-main">
|
|
|
<ModuleCard
|
|
@@ -416,7 +488,13 @@ const onKnowConfirm = () => {
|
|
|
>
|
|
|
<template #entName="scope">
|
|
|
<!-- 处理成插槽可自定义改颜色、事件 -->
|
|
|
- <span :class="{'highlight-clickable': scope.row.branch_company_id}" @click="goEntPortrayal(scope.row.branch_company_id)">{{scope.row.branch_name}}</span>
|
|
|
+ <span
|
|
|
+ :class="{
|
|
|
+ 'highlight-clickable': scope.row.branch_company_id
|
|
|
+ }"
|
|
|
+ @click="goEntPortrayal(scope.row.branch_company_id)"
|
|
|
+ >{{ scope.row.branch_name }}</span
|
|
|
+ >
|
|
|
</template>
|
|
|
</ModuleTable>
|
|
|
<!-- 股东信息 -->
|
|
@@ -427,7 +505,13 @@ const onKnowConfirm = () => {
|
|
|
:showMore="card.tableData ? true : false"
|
|
|
>
|
|
|
<template #stockName="scope">
|
|
|
- <span :class="{'highlight-clickable': scope.row.stock_name_id}" @click="goEntPortrayal(scope.row. stock_name_id)">{{scope.row.stock_name}}</span>
|
|
|
+ <span
|
|
|
+ :class="{
|
|
|
+ 'highlight-clickable': scope.row.stock_name_id
|
|
|
+ }"
|
|
|
+ @click="goEntPortrayal(scope.row.stock_name_id)"
|
|
|
+ >{{ scope.row.stock_name }}</span
|
|
|
+ >
|
|
|
</template>
|
|
|
</ModuleTable>
|
|
|
<!-- 主要人员 -->
|
|
@@ -462,11 +546,19 @@ const onKnowConfirm = () => {
|
|
|
</div>
|
|
|
<!-- 中标信息 -->
|
|
|
<div class="tab-contents-card" v-if="tabActive === 1">
|
|
|
- <div class="tab-contents-card-container" v-loading="loading.analysis && chartLoading">
|
|
|
- <ModuleTag :list="modules.analysis.list" @tagClick="onTagClick"></ModuleTag>
|
|
|
+ <div
|
|
|
+ class="tab-contents-card-container"
|
|
|
+ v-loading="loading.analysis && chartLoading"
|
|
|
+ >
|
|
|
+ <ModuleTag
|
|
|
+ :list="modules.analysis.list"
|
|
|
+ @tagClick="onTagClick"
|
|
|
+ ></ModuleTag>
|
|
|
<div class="ent-module-container">
|
|
|
<div class="ent-module-header">
|
|
|
- <span class="ent-module-title">{{modules.analysis.name}}</span>
|
|
|
+ <span class="ent-module-title">{{
|
|
|
+ modules.analysis.name
|
|
|
+ }}</span>
|
|
|
</div>
|
|
|
<div class="ent-module-main">
|
|
|
<!-- 中标分析单独处理 -->
|
|
@@ -496,11 +588,11 @@ const onKnowConfirm = () => {
|
|
|
>
|
|
|
<template slot="default">
|
|
|
<MaskCard
|
|
|
- v-bind="mask.tip"
|
|
|
- :key="mask.code"
|
|
|
- @btnClick="onMaskBtnClick(mask.tip)"
|
|
|
- >
|
|
|
- </MaskCard>
|
|
|
+ v-bind="mask.tip"
|
|
|
+ :key="mask.code"
|
|
|
+ @btnClick="onMaskBtnClick(mask.tip)"
|
|
|
+ >
|
|
|
+ </MaskCard>
|
|
|
</template>
|
|
|
</ModuleCard>
|
|
|
</div>
|
|
@@ -512,10 +604,13 @@ const onKnowConfirm = () => {
|
|
|
<!-- 经营分析 -->
|
|
|
<div class="tab-contents-card" v-show="tabActive === 2">
|
|
|
<div class="tab-contents-card-container" v-loading="loading.infomat">
|
|
|
- <ModuleTag :list="modules.infomat.list" @tagClick="onTagClick"></ModuleTag>
|
|
|
+ <ModuleTag
|
|
|
+ :list="modules.infomat.list"
|
|
|
+ @tagClick="onTagClick"
|
|
|
+ ></ModuleTag>
|
|
|
<div class="ent-module-container">
|
|
|
<div class="ent-module-header">
|
|
|
- <span class="ent-module-title">{{modules.infomat.name}}</span>
|
|
|
+ <span class="ent-module-title">{{ modules.infomat.name }}</span>
|
|
|
</div>
|
|
|
<div class="ent-module-main">
|
|
|
<ModuleCard
|
|
@@ -526,14 +621,31 @@ const onKnowConfirm = () => {
|
|
|
:key="card.code"
|
|
|
>
|
|
|
<template slot="header-right">
|
|
|
- <div v-if="card.code === 'winner_competition'" class="flex flex-(items-center)">
|
|
|
- <span class="tab-item-chart" :class="{'tab-item-active': showRivalChart}" @click="onTabRivalChart('chart')">
|
|
|
- <i class="j-icon j-icon-base icon-img-tupu" :class="{'icon-img-tupu-active': showRivalChart}"></i>
|
|
|
+ <div
|
|
|
+ v-if="card.code === 'winner_competition'"
|
|
|
+ class="flex flex-(items-center)"
|
|
|
+ >
|
|
|
+ <span
|
|
|
+ class="tab-item-chart"
|
|
|
+ :class="{ 'tab-item-active': showRivalChart }"
|
|
|
+ @click="onTabRivalChart('chart')"
|
|
|
+ >
|
|
|
+ <i
|
|
|
+ class="j-icon j-icon-base icon-img-tupu"
|
|
|
+ :class="{ 'icon-img-tupu-active': showRivalChart }"
|
|
|
+ ></i>
|
|
|
图谱
|
|
|
</span>
|
|
|
<span class="tab-divider"></span>
|
|
|
- <span class="tab-item-list" :class="{'tab-item-active': !showRivalChart}" @click="onTabRivalChart('list')">
|
|
|
- <i class="j-icon j-icon-base icon-img-list" :class="{'icon-img-list-active': !showRivalChart}"></i>
|
|
|
+ <span
|
|
|
+ class="tab-item-list"
|
|
|
+ :class="{ 'tab-item-active': !showRivalChart }"
|
|
|
+ @click="onTabRivalChart('list')"
|
|
|
+ >
|
|
|
+ <i
|
|
|
+ class="j-icon j-icon-base icon-img-list"
|
|
|
+ :class="{ 'icon-img-list-active': !showRivalChart }"
|
|
|
+ ></i>
|
|
|
列表
|
|
|
</span>
|
|
|
</div>
|
|
@@ -544,12 +656,21 @@ const onKnowConfirm = () => {
|
|
|
<ContactList
|
|
|
v-if="card.code === 'winner_book'"
|
|
|
name="winner"
|
|
|
- :entName="_entName">
|
|
|
+ :entName="_entName"
|
|
|
+ >
|
|
|
</ContactList>
|
|
|
<!-- 竞争图谱 -->
|
|
|
<template v-if="card.code === 'winner_competition'">
|
|
|
<div class="chart-container" v-show="showRivalChart">
|
|
|
- <TreeChart v-if="tabActive === 2 && (rivalChartList && rivalChartList.length > 0)" :list="rivalChartList" :entName="_entName"></TreeChart>
|
|
|
+ <TreeChart
|
|
|
+ v-if="
|
|
|
+ tabActive === 2 &&
|
|
|
+ rivalChartList &&
|
|
|
+ rivalChartList.length > 0
|
|
|
+ "
|
|
|
+ :list="rivalChartList"
|
|
|
+ :entName="_entName"
|
|
|
+ ></TreeChart>
|
|
|
<Empty v-else>
|
|
|
<span>暂无数据</span>
|
|
|
</Empty>
|
|
@@ -568,14 +689,16 @@ const onKnowConfirm = () => {
|
|
|
v-if="card.code === 'company_allow'"
|
|
|
:columns="card.tableColumns"
|
|
|
:data="card.tableData"
|
|
|
- :showMore="card.tableData ? true : false">
|
|
|
+ :showMore="card.tableData ? true : false"
|
|
|
+ >
|
|
|
</ModuleTable>
|
|
|
<!-- 抽查检查 -->
|
|
|
<ModuleTable
|
|
|
v-if="card.code === 'company_check'"
|
|
|
:columns="card.tableColumns"
|
|
|
:data="card.tableData"
|
|
|
- :showMore="card.tableData ? true : false">
|
|
|
+ :showMore="card.tableData ? true : false"
|
|
|
+ >
|
|
|
</ModuleTable>
|
|
|
<!-- 知识产权出质 -->
|
|
|
<ModuleTable
|
|
@@ -586,7 +709,12 @@ const onKnowConfirm = () => {
|
|
|
>
|
|
|
<template slot="header">
|
|
|
<div class="table-select">
|
|
|
- <el-select popper-class="custom-select" :popper-append-to-body="false" v-model="knowledgeStatusVal" placeholder="出质状态">
|
|
|
+ <el-select
|
|
|
+ popper-class="custom-select"
|
|
|
+ :popper-append-to-body="false"
|
|
|
+ v-model="knowledgeStatusVal"
|
|
|
+ placeholder="出质状态"
|
|
|
+ >
|
|
|
<el-option
|
|
|
v-for="item in knowledgeStatusOptions"
|
|
|
:key="item.value"
|
|
@@ -603,7 +731,8 @@ const onKnowConfirm = () => {
|
|
|
v-if="card.code === 'company_intellectual_change'"
|
|
|
:columns="card.tableColumns"
|
|
|
:data="card.tableData"
|
|
|
- :showMore="card.tableData ? true : false">
|
|
|
+ :showMore="card.tableData ? true : false"
|
|
|
+ >
|
|
|
</ModuleTable>
|
|
|
</template>
|
|
|
<!-- 无权限展示遮罩 -->
|
|
@@ -623,10 +752,13 @@ const onKnowConfirm = () => {
|
|
|
<!-- 经营风险 -->
|
|
|
<div class="tab-contents-card" v-show="tabActive === 3">
|
|
|
<div class="tab-contents-card-container" v-loading="loading.risk">
|
|
|
- <ModuleTag :list="modules.risk.list" @tagClick="onTagClick"></ModuleTag>
|
|
|
+ <ModuleTag
|
|
|
+ :list="modules.risk.list"
|
|
|
+ @tagClick="onTagClick"
|
|
|
+ ></ModuleTag>
|
|
|
<div class="ent-module-container">
|
|
|
<div class="ent-module-header">
|
|
|
- <span class="ent-module-title">{{modules.risk.name}}</span>
|
|
|
+ <span class="ent-module-title">{{ modules.risk.name }}</span>
|
|
|
</div>
|
|
|
<div class="ent-module-main">
|
|
|
<ModuleCard
|
|
@@ -645,7 +777,9 @@ const onKnowConfirm = () => {
|
|
|
:showMore="card.tableData ? true : false"
|
|
|
>
|
|
|
<template #debtMoney="scope">
|
|
|
- <span style="color:#FF3A20;">{{scope.row.debt_amount}}</span>
|
|
|
+ <span style="color: #ff3a20">{{
|
|
|
+ scope.row.debt_amount
|
|
|
+ }}</span>
|
|
|
</template>
|
|
|
</ModuleTable>
|
|
|
<!-- 动产抵押变更信息 -->
|
|
@@ -660,10 +794,11 @@ const onKnowConfirm = () => {
|
|
|
<template v-if="card.code === 'company_clear'">
|
|
|
<common-info-table
|
|
|
v-if="card.tableColumns"
|
|
|
- class='row-table-module'
|
|
|
+ class="row-table-module"
|
|
|
:showMore="card.tableData ? true : false"
|
|
|
- :data='card.tableData'
|
|
|
- :columns='card.tableColumns'>
|
|
|
+ :data="card.tableData"
|
|
|
+ :columns="card.tableColumns"
|
|
|
+ >
|
|
|
</common-info-table>
|
|
|
<Empty v-else>暂无数据</Empty>
|
|
|
</template>
|
|
@@ -679,12 +814,25 @@ const onKnowConfirm = () => {
|
|
|
<ModuleTable
|
|
|
v-if="card.code === 'company_pledge'"
|
|
|
:columns="card.tableColumns"
|
|
|
- :data="card.tableData ? card.tableData.filter(v => !qualityStatusVal || v.pledge_status === qualityStatusVal) : card.tableData"
|
|
|
+ :data="
|
|
|
+ card.tableData
|
|
|
+ ? card.tableData.filter(
|
|
|
+ (v) =>
|
|
|
+ !qualityStatusVal ||
|
|
|
+ v.pledge_status === qualityStatusVal
|
|
|
+ )
|
|
|
+ : card.tableData
|
|
|
+ "
|
|
|
:showMore="card.tableData ? true : false"
|
|
|
>
|
|
|
<template slot="header">
|
|
|
<div class="table-select">
|
|
|
- <el-select popper-class="custom-select" :popper-append-to-body="false" v-model="qualityStatusVal" placeholder="出质状态">
|
|
|
+ <el-select
|
|
|
+ popper-class="custom-select"
|
|
|
+ :popper-append-to-body="false"
|
|
|
+ v-model="qualityStatusVal"
|
|
|
+ placeholder="出质状态"
|
|
|
+ >
|
|
|
<el-option
|
|
|
v-for="item in qualityStatusOptions"
|
|
|
:key="item.value"
|
|
@@ -697,12 +845,26 @@ const onKnowConfirm = () => {
|
|
|
</template>
|
|
|
<!-- 出质人 -->
|
|
|
<template #pledgor="scope">
|
|
|
- <span v-if="scope.row.pledgor" :class="{'highlight-clickable': scope.row.company_id}" @click="goEntPortrayal(scope.row.company_id)">{{scope.row.pledgor}}</span>
|
|
|
+ <span
|
|
|
+ v-if="scope.row.pledgor"
|
|
|
+ :class="{
|
|
|
+ 'highlight-clickable': scope.row.company_id
|
|
|
+ }"
|
|
|
+ @click="goEntPortrayal(scope.row.company_id)"
|
|
|
+ >{{ scope.row.pledgor }}</span
|
|
|
+ >
|
|
|
<span v-else class="no-data-line">-</span>
|
|
|
</template>
|
|
|
<!-- 质权人 -->
|
|
|
<template #pledgee="scope">
|
|
|
- <span v-if="scope.row.pawnee" :class="{'highlight-clickable': scope.row.company_id}" @click="goEntPortrayal(scope.row.company_id)">{{scope.row.pawnee}}</span>
|
|
|
+ <span
|
|
|
+ v-if="scope.row.pawnee"
|
|
|
+ :class="{
|
|
|
+ 'highlight-clickable': scope.row.company_id
|
|
|
+ }"
|
|
|
+ @click="goEntPortrayal(scope.row.company_id)"
|
|
|
+ >{{ scope.row.pawnee }}</span
|
|
|
+ >
|
|
|
<span v-else class="no-data-line">-</span>
|
|
|
</template>
|
|
|
</ModuleTable>
|
|
@@ -715,7 +877,10 @@ const onKnowConfirm = () => {
|
|
|
>
|
|
|
<!-- 处罚内容(点击可展开) -->
|
|
|
<template #content="scope">
|
|
|
- <TextExpand v-if="scope.row.punish_content" :text="scope.row.punish_content"></TextExpand>
|
|
|
+ <TextExpand
|
|
|
+ v-if="scope.row.punish_content"
|
|
|
+ :text="scope.row.punish_content"
|
|
|
+ ></TextExpand>
|
|
|
<span v-else class="no-data-line">-</span>
|
|
|
</template>
|
|
|
</ModuleTable>
|
|
@@ -736,7 +901,7 @@ const onKnowConfirm = () => {
|
|
|
>
|
|
|
<!-- 被执行人 -->
|
|
|
<template #person="scope">
|
|
|
- <span>{{scope.row.executee}}</span>
|
|
|
+ <span>{{ scope.row.executee }}</span>
|
|
|
</template>
|
|
|
</ModuleTable>
|
|
|
<!-- 司法协助股权变更信息 -->
|
|
@@ -748,7 +913,9 @@ const onKnowConfirm = () => {
|
|
|
>
|
|
|
<!-- 被执行人 -->
|
|
|
<template #person="scope">
|
|
|
- <span v-if="scope.row.executee">{{scope.row.executee}}</span>
|
|
|
+ <span v-if="scope.row.executee">{{
|
|
|
+ scope.row.executee
|
|
|
+ }}</span>
|
|
|
<span v-else class="no-data-line">-</span>
|
|
|
</template>
|
|
|
</ModuleTable>
|
|
@@ -800,7 +967,7 @@ const onKnowConfirm = () => {
|
|
|
width: 100%;
|
|
|
margin-top: 16px;
|
|
|
background: #fff;
|
|
|
- .float-menu{
|
|
|
+ .float-menu {
|
|
|
position: absolute;
|
|
|
top: 48px;
|
|
|
left: 0;
|
|
@@ -810,34 +977,34 @@ const onKnowConfirm = () => {
|
|
|
background: #fff;
|
|
|
box-shadow: 0px 4px 8px 0px #00000014;
|
|
|
z-index: 99;
|
|
|
- .level2-item{
|
|
|
+ .level2-item {
|
|
|
width: 25%;
|
|
|
padding-left: 50px;
|
|
|
- &:nth-child(1){
|
|
|
+ &:nth-child(1) {
|
|
|
padding-left: 30px;
|
|
|
}
|
|
|
- &:not(:last-child){
|
|
|
+ &:not(:last-child) {
|
|
|
border-right: 1px solid #ececec;
|
|
|
}
|
|
|
}
|
|
|
- .level3-item{
|
|
|
+ .level3-item {
|
|
|
font-size: 12px;
|
|
|
line-height: 18px;
|
|
|
color: #686868;
|
|
|
cursor: pointer;
|
|
|
- &:hover{
|
|
|
+ &:hover {
|
|
|
color: $color_main;
|
|
|
}
|
|
|
- &:not(:last-child){
|
|
|
+ &:not(:last-child) {
|
|
|
margin-bottom: 10px;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .tab-panel-header{
|
|
|
+ .tab-panel-header {
|
|
|
position: relative;
|
|
|
height: 48px;
|
|
|
border-bottom: 1px solid #ececec;
|
|
|
- .tab-header-item{
|
|
|
+ .tab-header-item {
|
|
|
position: relative;
|
|
|
min-width: 192px;
|
|
|
max-width: 218px;
|
|
@@ -847,12 +1014,12 @@ const onKnowConfirm = () => {
|
|
|
line-height: 48px;
|
|
|
text-align: center;
|
|
|
font-size: 16px;
|
|
|
- transition: transform .3s;
|
|
|
+ transition: transform 0.3s;
|
|
|
color: #686868;
|
|
|
cursor: pointer;
|
|
|
- &.active{
|
|
|
+ &.active {
|
|
|
color: $color_main;
|
|
|
- &::after{
|
|
|
+ &::after {
|
|
|
position: absolute;
|
|
|
width: calc(100% - 128px);
|
|
|
height: 2px;
|
|
@@ -861,31 +1028,31 @@ const onKnowConfirm = () => {
|
|
|
left: 50%;
|
|
|
transform: translateX(-50%);
|
|
|
background: $color_main;
|
|
|
- transition: transform .3s cubic-bezier(.645,.045,.355,1);
|
|
|
+ transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .tab-panel-contents{
|
|
|
+ .tab-panel-contents {
|
|
|
padding: 0 40px;
|
|
|
}
|
|
|
- .tab-contents-card{
|
|
|
- .tab-contents-card-container{
|
|
|
+ .tab-contents-card {
|
|
|
+ .tab-contents-card-container {
|
|
|
position: relative;
|
|
|
min-height: 600px;
|
|
|
}
|
|
|
}
|
|
|
- .ent-module-header{
|
|
|
+ .ent-module-header {
|
|
|
padding-top: 32px;
|
|
|
- .ent-module-title{
|
|
|
+ .ent-module-title {
|
|
|
position: relative;
|
|
|
height: 32px;
|
|
|
font-size: 20px;
|
|
|
color: #171826;
|
|
|
line-height: 32px;
|
|
|
- &::after{
|
|
|
+ &::after {
|
|
|
position: absolute;
|
|
|
- content: "";
|
|
|
+ content: '';
|
|
|
left: -40px;
|
|
|
top: 50%;
|
|
|
width: 3px;
|
|
@@ -897,23 +1064,23 @@ const onKnowConfirm = () => {
|
|
|
}
|
|
|
}
|
|
|
.tab-item-chart,
|
|
|
- .tab-item-list{
|
|
|
+ .tab-item-list {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
font-size: 14px;
|
|
|
cursor: pointer;
|
|
|
- i{
|
|
|
+ i {
|
|
|
margin-right: 2px;
|
|
|
}
|
|
|
}
|
|
|
- .tab-divider{
|
|
|
+ .tab-divider {
|
|
|
display: inline-block;
|
|
|
width: 1px;
|
|
|
height: 18px;
|
|
|
margin: 0 16px;
|
|
|
- background: #ECECEC;
|
|
|
+ background: #ececec;
|
|
|
}
|
|
|
- .tab-item-active{
|
|
|
+ .tab-item-active {
|
|
|
color: $color_main;
|
|
|
}
|
|
|
.fixed-nav-new {
|
|
@@ -924,59 +1091,58 @@ const onKnowConfirm = () => {
|
|
|
left: calc(100% - 1200px) / 2;
|
|
|
z-index: 99;
|
|
|
}
|
|
|
- .table-select{
|
|
|
+ .table-select {
|
|
|
display: flex;
|
|
|
justify-content: flex-end;
|
|
|
margin: -46px 0 16px;
|
|
|
-
|
|
|
}
|
|
|
.apply-dialog,
|
|
|
- .success-dialog{
|
|
|
- .apply-tip{
|
|
|
+ .success-dialog {
|
|
|
+ .apply-tip {
|
|
|
font-size: 14px;
|
|
|
line-height: 22px;
|
|
|
color: #686868;
|
|
|
text-align: center;
|
|
|
}
|
|
|
- .no-wrap{
|
|
|
+ .no-wrap {
|
|
|
white-space: nowrap;
|
|
|
}
|
|
|
}
|
|
|
- .highlight-clickable{
|
|
|
+ .highlight-clickable {
|
|
|
color: $color_main;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
- .no-data-line{
|
|
|
+ .no-data-line {
|
|
|
color: #999;
|
|
|
text-align: center;
|
|
|
}
|
|
|
}
|
|
|
-::v-deep{
|
|
|
- .module-card:first-child{
|
|
|
+::v-deep {
|
|
|
+ .module-card:first-child {
|
|
|
padding-top: 16px;
|
|
|
}
|
|
|
- .tab-contents-card{
|
|
|
- .el-loading-mask{
|
|
|
+ .tab-contents-card {
|
|
|
+ .el-loading-mask {
|
|
|
left: -40px;
|
|
|
right: -40px;
|
|
|
- background-color:rgba(255,255,255)!important;
|
|
|
+ background-color: rgba(255, 255, 255) !important;
|
|
|
}
|
|
|
}
|
|
|
- .custom-select{
|
|
|
+ .custom-select {
|
|
|
left: 0 !important;
|
|
|
margin-top: 0 !important;
|
|
|
border: 1px solid $color_main;
|
|
|
.popper__arrow {
|
|
|
display: none;
|
|
|
}
|
|
|
- .el-select-dropdown__item{
|
|
|
+ .el-select-dropdown__item {
|
|
|
padding: 0 16px;
|
|
|
height: 30px;
|
|
|
line-height: 30px;
|
|
|
}
|
|
|
- .el-select-dropdown__item.selected{
|
|
|
+ .el-select-dropdown__item.selected {
|
|
|
position: relative;
|
|
|
- &::after{
|
|
|
+ &::after {
|
|
|
position: absolute;
|
|
|
content: '';
|
|
|
right: 6px;
|
|
@@ -990,53 +1156,53 @@ const onKnowConfirm = () => {
|
|
|
}
|
|
|
}
|
|
|
.apply-dialog.el-dialog,
|
|
|
- .success-dialog.el-dialog{
|
|
|
+ .success-dialog.el-dialog {
|
|
|
position: relative;
|
|
|
top: 50%;
|
|
|
transform: translateY(-50%);
|
|
|
margin: 0 auto !important;
|
|
|
}
|
|
|
- .success-dialog{
|
|
|
- .dialog-footer{
|
|
|
- justify-content: center!important;
|
|
|
+ .success-dialog {
|
|
|
+ .dialog-footer {
|
|
|
+ justify-content: center !important;
|
|
|
}
|
|
|
- .el-button.el-button--default{
|
|
|
+ .el-button.el-button--default {
|
|
|
display: none;
|
|
|
}
|
|
|
}
|
|
|
- .entform{
|
|
|
+ .entform {
|
|
|
margin-top: 0;
|
|
|
- .ent_head{
|
|
|
+ .ent_head {
|
|
|
display: none;
|
|
|
}
|
|
|
}
|
|
|
- .contact{
|
|
|
+ .contact {
|
|
|
margin-top: -48px;
|
|
|
background: transparent;
|
|
|
- .d-title::after{
|
|
|
+ .d-title::after {
|
|
|
display: none;
|
|
|
}
|
|
|
}
|
|
|
- .table-select{
|
|
|
- .el-select{
|
|
|
- .el-input{
|
|
|
+ .table-select {
|
|
|
+ .el-select {
|
|
|
+ .el-input {
|
|
|
width: 160px;
|
|
|
}
|
|
|
- .el-input__inner{
|
|
|
+ .el-input__inner {
|
|
|
height: 30px;
|
|
|
line-height: 30px;
|
|
|
}
|
|
|
- .el-input__icon{
|
|
|
+ .el-input__icon {
|
|
|
line-height: 30px;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
// 中标分析图表模块通用类名
|
|
|
- .ent-chart-module{
|
|
|
+ .ent-chart-module {
|
|
|
// 解决 scrollIntoView 被固定定位元素遮挡的问题
|
|
|
scroll-margin-top: 100px;
|
|
|
}
|
|
|
- .text-container{
|
|
|
+ .text-container {
|
|
|
text-align: justify;
|
|
|
}
|
|
|
// 表格某一项内容设置对齐方式(class类名即为字段名)
|
|
@@ -1044,10 +1210,10 @@ const onKnowConfirm = () => {
|
|
|
.td_included_reason,
|
|
|
.td_content_before,
|
|
|
.td_content_after,
|
|
|
- .td_allow_content{
|
|
|
+ .td_allow_content {
|
|
|
text-align: justify;
|
|
|
}
|
|
|
- .td_debt_term{
|
|
|
+ .td_debt_term {
|
|
|
word-break: break-word;
|
|
|
}
|
|
|
}
|