Commit 0fa8ec63 authored by tianhongyang's avatar tianhongyang

fix bug

parent 7d07c1ce
...@@ -9,3 +9,8 @@ VUE_APP_BASE_API = '/prod-api' ...@@ -9,3 +9,8 @@ VUE_APP_BASE_API = '/prod-api'
# 路由懒加载 # 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true VUE_CLI_BABEL_TRANSPILE_MODULES = true
# 子系统地址
VUE_APP_SUB_SYSTEM_ADDRESS = "https://pre-plug.jiansheku.com"
# VUE_APP_SUB_SYSTEM_ADDRESS = "http://192.168.60.104:3400"
\ No newline at end of file
...@@ -6,3 +6,6 @@ ENV = 'production' ...@@ -6,3 +6,6 @@ ENV = 'production'
# 数字化经营履约全生命链路管理系统/生产环境 # 数字化经营履约全生命链路管理系统/生产环境
VUE_APP_BASE_API = 'https://szhapi.jiansheku.com/' VUE_APP_BASE_API = 'https://szhapi.jiansheku.com/'
# 子系统地址
VUE_APP_SUB_SYSTEM_ADDRESS = "https://plug.jiansheku.com"
...@@ -9,4 +9,7 @@ ENV = 'test' ...@@ -9,4 +9,7 @@ ENV = 'test'
# 数字化经营履约全生命链路管理系统/测试环境 # 数字化经营履约全生命链路管理系统/测试环境
VUE_APP_BASE_API = '/prod-api' VUE_APP_BASE_API = '/prod-api'
\ No newline at end of file
# 子系统地址
VUE_APP_SUB_SYSTEM_ADDRESS = "https://pre-plug.jiansheku.com"
\ No newline at end of file
module.exports = { module.exports = {
presets: [ presets: [
// https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
'@vue/cli-plugin-babel/preset' '@vue/cli-plugin-babel/preset',
['@vue/babel-preset-jsx', { 'injectH': false }]
], ],
'env': { 'env': {
'development': { 'development': {
...@@ -10,4 +11,4 @@ module.exports = { ...@@ -10,4 +11,4 @@ module.exports = {
'plugins': ['dynamic-import-node'] 'plugins': ['dynamic-import-node']
} }
} }
} };
\ No newline at end of file \ No newline at end of file
...@@ -70,6 +70,8 @@ ...@@ -70,6 +70,8 @@
"vuex": "3.6.0" "vuex": "3.6.0"
}, },
"devDependencies": { "devDependencies": {
"@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
"@vue/babel-preset-jsx": "^1.4.0",
"@vue/cli-plugin-babel": "4.4.6", "@vue/cli-plugin-babel": "4.4.6",
"@vue/cli-plugin-eslint": "4.4.6", "@vue/cli-plugin-eslint": "4.4.6",
"@vue/cli-service": "4.4.6", "@vue/cli-service": "4.4.6",
...@@ -87,6 +89,7 @@ ...@@ -87,6 +89,7 @@
"sass-loader": "10.1.1", "sass-loader": "10.1.1",
"script-ext-html-webpack-plugin": "2.1.5", "script-ext-html-webpack-plugin": "2.1.5",
"svg-sprite-loader": "5.1.1", "svg-sprite-loader": "5.1.1",
"vue-styled-components": "^1.6.0",
"vue-template-compiler": "2.6.12" "vue-template-compiler": "2.6.12"
}, },
"engines": { "engines": {
......
/*
* @Author: thy
* @Date: 2023-10-31 09:33:14
* @LastEditors: thy
* @LastEditTime: 2023-11-02 17:17:32
* @Description: file content
* @FilePath: \dsk-operate-ui\src\components\JsComponents\MaxPageSizeTip.js
*/
import styled from "vue-styled-components";
import Vue from "vue";
import { v4 } from "uuid";
import maxTipTitleIcon from "@/assets/images/market/max-tip-title-icon.svg";
import closeMaxTipIcon from "@/assets/images/market/close-max-tip-icon.svg";
const maxPageSizeTipContainer = styled.div`
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.6);
z-index: 1200;
`;
const maxPageTipContainer = styled.div`
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 340px;
height: 112px;
background: #ffffff;
border: 1px solid #e5e6eb;
box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
border-radius: 4px;
padding: 20px;
box-sizing: border-box;
.top-title-container {
display: flex;
align-items: center;
.max-tip-icon {
width: 24px;
height: 24px;
}
.tip-title {
color: #1d2129;
font-size: 16px;
line-height: 24px;
font-weight: 400;
margin-left: 16px;
margin-right: 16px;
width: 228px;
}
.max-tip-close-icon {
width: 16px;
height: 16px;
align-self: flex-start;
cursor: pointer;
}
}
.max-page-tip-content {
margin-top: 4px;
padding-left: 40px;
padding-right: 32px;
box-sizing: border-box;
.max-page-content-inner {
color: #1d2129;
font-size: 14px;
line-height: 22px;
}
}
`;
const MaxPageSizeTip = {
name: "maxPageSizeTip",
render(createElement) {
return (
<transition name="fade" mode="out-in" appear>
<maxPageSizeTipContainer vOn:click_stop={this.closeMaxTip.bind()} class="max-page-size-tip">
<maxPageTipContainer vOn:click_stop={""}>
<div class="max-page-tip-inner">
<div class="top-title-container">
<img src={maxTipTitleIcon} alt="" class="max-tip-icon"></img>
<span class="tip-title">数据查询已达到上限</span>
<img src={closeMaxTipIcon} alt="" class="max-tip-close-icon" vOn:click_stop={this.closeMaxTip.bind()}></img>
</div>
<div class="max-page-tip-content">
<div class="max-page-content-inner">
{this.msg}
</div>
</div>
</div>
</maxPageTipContainer>
</maxPageSizeTipContainer>
</transition>
);
},
};
/**
*
* @param {string} msg 展示的信息
* @param {Function} closeHandle 关闭弹窗的回调
* @returns
*/
function showMaxPageSizeTip(msg = "") {
return new Promise((resolve, reject) => {
try {
// 生成构造函数
const maxMsgBox = Vue.extend(MaxPageSizeTip);
// 实例化
const instance = new maxMsgBox({
data() {
return {
msg
};
},
methods: {
// 关闭弹窗
closeMaxTip() {
resolve({
uid: v4(),
done: this.doneHandle
});
},
// 关闭回调
doneHandle() {
// 卸载组件
instance.$destroy();
instance.$el.remove();
}
},
});
// 初始化组件
instance.$mount();
// 添加到body中
document.body.appendChild(instance.$el);
} catch (error) {
reject(error);
}
});
}
export default showMaxPageSizeTip;
import tab from './tab' import tab from './tab';
import auth from './auth' import auth from './auth';
import cache from './cache' import cache from './cache';
import modal from './modal' import modal from './modal';
import download from './download' import download from './download';
import msgBox from "@/components/JsComponents/MaxPageSizeTip.js";
export default { export default {
install(Vue) { install(Vue) {
// 页签操作 // 页签操作
Vue.prototype.$tab = tab Vue.prototype.$tab = tab;
// 认证对象 // 认证对象
Vue.prototype.$auth = auth Vue.prototype.$auth = auth;
// 缓存对象 // 缓存对象
Vue.prototype.$cache = cache Vue.prototype.$cache = cache;
// 模态框对象 // 模态框对象
Vue.prototype.$modal = modal Vue.prototype.$modal = modal;
// 下载文件 // 下载文件
Vue.prototype.$download = download Vue.prototype.$download = download;
// 页码超出限制提示
Vue.prototype.$maxTip = msgBox;
} }
} };
...@@ -2,12 +2,44 @@ ...@@ -2,12 +2,44 @@
* @Author: thy * @Author: thy
* @Date: 2023-10-26 14:56:41 * @Date: 2023-10-26 14:56:41
* @LastEditors: thy * @LastEditors: thy
* @LastEditTime: 2023-10-30 14:26:31 * @LastEditTime: 2023-10-31 09:28:26
* @Description: file content * @Description: file content
* @FilePath: \dsk-operate-ui\src\utils\postMessageBridge\bridge\index.js * @FilePath: \dsk-operate-ui\src\utils\postMessageBridge\bridge\index.js
*/ */
class PostMessageBridge { class PostMessageBridge {
constructor() { // 当前系统
_currenySystem = null;
// 目标系统
_targetSystem = null;
// 目标域
_targetOriginUrl = null;
// 事件调度中心
_eventHandlers = new Map();
/**
*
* @param {{
* currenySystem : Window || undefined;
* targetSystem : Window || undefined;
* targetOriginUrl : string || undefined;
* }} options
*/
constructor(options) {
this._currenySystem = options.currenySystem;
this._targetSystem = options.targetSystem;
this._targetOriginUrl = options.targetOriginUrl || "*";
}
/**
* 订阅消息
* @param {{
* id : string;
* method : string;
* params : object;
* }} messageEvent
*/
receiveMessage(messageEvent) {
} }
} }
\ No newline at end of file
...@@ -10,7 +10,8 @@ ...@@ -10,7 +10,8 @@
<div class="operations-title">{{item.bratingSubjectLevel}}-<span>{{item.ratingDate}}</span></div> <div class="operations-title">{{item.bratingSubjectLevel}}-<span>{{item.ratingDate}}</span></div>
<div class="flex-box operations-info"> <div class="flex-box operations-info">
<div>{{item.bondType || '--'}}</div> <div>{{item.bondType || '--'}}</div>
<span class="text-cl1" :title="item.creditRatingAgency"><img src="@/assets/images/detail/overview/oper_source.png">{{item.creditRatingAgency || '--'}}</span> <span class="text-cl1" :title="item.creditRatingAgency"><img
src="@/assets/images/detail/overview/oper_source.png">{{item.creditRatingAgency || '--'}}</span>
</div> </div>
</div> </div>
</li> </li>
...@@ -32,38 +33,39 @@ ...@@ -32,38 +33,39 @@
</template> </template>
<script> <script>
import {bondCreditRating} from '@/api/detail/party-a/overview' import { bondCreditRating } from '@/api/detail/party-a/overview';
var Swiper = require('@/assets/lib/swiper/swiper-bundle.min.js') var Swiper = require('@/assets/lib/swiper/swiper-bundle.min.js');
import skeleton from '@/views/project/projectList/component/skeleton' import skeleton from '@/views/project/projectList/component/skeleton';
import "@/assets/lib/swiper/swiper-bundle.css" import "@/assets/lib/swiper/swiper-bundle.css";
import NoData from '../../component/noData' import NoData from '../../component/noData';
export default { export default {
name: 'Overview', name: 'Overview',
props: ['companyId', 'financial'], props: ['companyId', 'financial'],
components: { components: {
NoData,skeleton NoData, skeleton
}, },
data() { data() {
return { return {
operList: [], operList: [],
isSkeleton:true, isSkeleton: true,
gsjyList: [ gsjyList: [
{ name: '总资产', ico: require('@/assets/images/detail/overview/gsjy_ico1.png'), amount: ''}, { name: '总资产', ico: require('@/assets/images/detail/overview/gsjy_ico1.png'), amount: '' },
{ name: '净资产', ico: require('@/assets/images/detail/overview/gsjy_ico2.png'), amount: ''}, { name: '净资产', ico: require('@/assets/images/detail/overview/gsjy_ico2.png'), amount: '' },
{ name: '授信余额', ico: require('@/assets/images/detail/overview/gsjy_ico3.png'), amount: ''}, { name: '授信余额', ico: require('@/assets/images/detail/overview/gsjy_ico3.png'), amount: '' },
{ name: '营业收入', ico: require('@/assets/images/detail/overview/gsjy_ico4.png'), amount: ''}, { name: '营业收入', ico: require('@/assets/images/detail/overview/gsjy_ico4.png'), amount: '' },
{ name: '总负债', ico: require('@/assets/images/detail/overview/gsjy_ico5.png'), amount: ''} { name: '总负债', ico: require('@/assets/images/detail/overview/gsjy_ico5.png'), amount: '' }
], ],
} childFinancial: {}
};
}, },
created() { created() {
this.handleQuery() this.handleQuery();
}, },
mounted() { mounted() {
this.companySwiper() this.companySwiper();
}, },
methods: { methods: {
companySwiper(){ companySwiper() {
new Swiper('.swiper-oper', { new Swiper('.swiper-oper', {
slidesPerView: 6, slidesPerView: 6,
// 设置点击箭头 // 设置点击箭头
...@@ -71,136 +73,139 @@ export default { ...@@ -71,136 +73,139 @@ export default {
nextEl: '.swiper-oper-next', nextEl: '.swiper-oper-next',
prevEl: '.swiper-oper-prev', prevEl: '.swiper-oper-prev',
} }
}) });
}, },
async handleQuery() { async handleQuery() {
this.isSkeleton = true; this.isSkeleton = true;
let res = await bondCreditRating({cid: this.companyId}) let res = await bondCreditRating({ cid: this.companyId });
if(res.code==200){ if (res.code == 200) {
this.isSkeleton = false; this.isSkeleton = false;
this.operList = res.data || [] this.operList = res.data || [];
this.$nextTick(() => { this.$nextTick(() => {
this.companySwiper() this.companySwiper();
}) });
} }
}, },
handleFinancial(){ handleFinancial() {
if(this.financial){ if (this.childFinancial) {
let { totalAssets, belongNetAssets, creditBalance, operatingIncome, totalLiabilities } = this.financial let { totalAssets, belongNetAssets, creditBalance, operatingIncome, totalLiabilities } = this.childFinancial;
let jyqkObj = { totalAssets, belongNetAssets, creditBalance, operatingIncome, totalLiabilities } let jyqkObj = { totalAssets, belongNetAssets, creditBalance, operatingIncome, totalLiabilities };
this.gsjyList.forEach((item, index) => { this.gsjyList.forEach((item, index) => {
item.amount = jyqkObj[Object.keys(jyqkObj)[index]]?parseFloat(jyqkObj[Object.keys(jyqkObj)[index]].toFixed(2)):0 item.amount = jyqkObj[Object.keys(jyqkObj)[index]] ? parseFloat(jyqkObj[Object.keys(jyqkObj)[index]].toFixed(2)) : 0;
}) });
} }
} }
}, },
watch: { watch: {
financial(newVal, oldVal) { financial(newVal, oldVal) {
this.handleFinancial() this.childFinancial = newVal;
this.handleFinancial();
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.operations-container{ .operations-container {
margin: 0; margin: 0;
padding: 24px 16px; padding: 24px 16px;
background: #FFFFFF; background: #ffffff;
border-radius: 4px; border-radius: 4px;
.part-swiper{ .part-swiper {
position: relative; position: relative;
margin-top: 16px; margin-top: 16px;
.swiper-oper{ .swiper-oper {
width: calc(100% - 38px); width: calc(100% - 38px);
height: 96px; height: 96px;
margin-top: 8px; margin-top: 8px;
margin-left: 25px; margin-left: 25px;
overflow: hidden; overflow: hidden;
.swiper-slide{ .swiper-slide {
.swiper-div{ .swiper-div {
width: calc(100% - 12px); width: calc(100% - 12px);
height: 96px; height: 96px;
background: url("~@/assets/images/detail/overview/swiper_bg.png") no-repeat; background: url("~@/assets/images/detail/overview/swiper_bg.png")
background-size: 100% 100%; no-repeat;
.operations-title{ background-size: 100% 100%;
margin-right: 22px; .operations-title {
font-weight: bold; margin-right: 22px;
font-size: 20px; font-weight: bold;
color: #232323; font-size: 20px;
padding: 24px 16px 0 16px; color: #232323;
span{ padding: 24px 16px 0 16px;
font-size: 16px; span {
} font-size: 16px;
} }
.operations-info{ }
padding: 14px 16px 10px 16px; .operations-info {
justify-content: space-between; padding: 14px 16px 10px 16px;
font-size: 14px; justify-content: space-between;
color: #232323; font-size: 14px;
div{ color: #232323;
flex-shrink: 0; div {
} flex-shrink: 0;
span{ }
font-size: 12px; span {
margin-left: 6px; font-size: 12px;
img{ margin-left: 6px;
width: 10px; img {
height: 10px; width: 10px;
margin-right: 3px; height: 10px;
} margin-right: 3px;
} }
} }
} }
} }
} }
.swiper-oper-prev, .swiper-oper-next{ }
width: 16px; .swiper-oper-prev,
height: 96px; .swiper-oper-next {
background: #F0F5FC; width: 16px;
top: 0; height: 96px;
margin-top: 0; background: #f0f5fc;
&.swiper-button-disabled{ top: 0;
opacity: 1; margin-top: 0;
color:#AAAAAA; &.swiper-button-disabled {
background: #F5F5F5; opacity: 1;
} color: #aaaaaa;
i{ background: #f5f5f5;
color: #AAAAAA; }
} i {
&:hover i{ color: #aaaaaa;
color:#667199; }
} &:hover i {
&:after{ color: #667199;
content: ""; }
} &:after {
content: "";
} }
} }
.operations-list{ }
flex-wrap: wrap; .operations-list {
justify-content: space-between; flex-wrap: wrap;
.list-item{ justify-content: space-between;
width: calc(20% - 12px); .list-item {
height: 88px; width: calc(20% - 12px);
padding: 18px; height: 88px;
margin-top: 14px; padding: 18px;
font-size: 14px; margin-top: 14px;
color: #232323; font-size: 14px;
border: 1px solid #E2E7EE; color: #232323;
text-align: center; border: 1px solid #e2e7ee;
.list-item-all{ text-align: center;
justify-content: center; .list-item-all {
img{ justify-content: center;
width: 24px; img {
height: 24px; width: 24px;
margin-right: 4px; height: 24px;
} margin-right: 4px;
}
.list-item-amount{
padding-top: 6px;
font-weight: bold;
} }
} }
.list-item-amount {
padding-top: 6px;
font-weight: bold;
}
} }
} }
}
</style> </style>
...@@ -2,28 +2,18 @@ ...@@ -2,28 +2,18 @@
<div class="app-container clue-container"> <div class="app-container clue-container">
<div class="common-title">风险概览</div> <div class="common-title">风险概览</div>
<div class="flex-box clue-box" v-if="viewData[0].value>0"> <div class="flex-box clue-box" v-if="viewData[0].value>0">
<div class="clue-echarts"><div id="echartsRisk" style="width: 100%;height:300px; margin: 0 auto;"></div></div> <div class="clue-echarts">
<div id="echartsRisk" style="width: 100%;height:300px; margin: 0 auto;"></div>
</div>
<div class="table-item"> <div class="table-item">
<el-table <el-table :data="viewData" border style="width: 100%">
:data="viewData" <el-table-column prop="name" label="风险纬度分布"></el-table-column>
border <el-table-column prop="value" align="right" label="数量">
style="width: 100%"
>
<el-table-column
prop="name"
label="风险纬度分布"></el-table-column>
<el-table-column
prop="value"
align="right"
label="数量">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.value }}</span> <span>{{ scope.row.value }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="bl" align="right" label="占比(%)">
prop="bl"
align="right"
label="占比(%)">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.bl }}</span> <span>{{ scope.row.bl }}</span>
</template> </template>
...@@ -31,13 +21,13 @@ ...@@ -31,13 +21,13 @@
</el-table> </el-table>
</div> </div>
</div> </div>
<no-data v-else/> <no-data v-else />
</div> </div>
</template> </template>
<script> <script>
import * as echarts from 'echarts' import * as echarts from 'echarts';
import NoData from '../../component/noData' import NoData from '../../component/noData';
export default { export default {
name: 'Risk', name: 'Risk',
props: ['statistic'], props: ['statistic'],
...@@ -46,14 +36,14 @@ export default { ...@@ -46,14 +36,14 @@ export default {
}, },
data() { data() {
return { return {
viewData:[ viewData: [
{ {
name:'开庭公告', name: '开庭公告',
value:'', value: '',
category:'credit', category: 'credit',
field:'openAnnouncement', field: 'openAnnouncement',
tz:'', tz: '',
bl:'' bl: ''
}, },
/*{ /*{
name:'企业公告', name:'企业公告',
...@@ -80,12 +70,12 @@ export default { ...@@ -80,12 +70,12 @@ export default {
bl:'' bl:''
},*/ },*/
{ {
name:'法院公告', name: '法院公告',
value:'', value: '',
category:'credit', category: 'credit',
field:'courtAnnouncement', field: 'courtAnnouncement',
tz:'', tz: '',
bl:'' bl: ''
}, },
/*{ /*{
name:'立案信息', name:'立案信息',
...@@ -96,75 +86,76 @@ export default { ...@@ -96,75 +86,76 @@ export default {
bl:'' bl:''
},*/ },*/
{ {
name:'被执行人', name: '被执行人',
value:'', value: '',
category:'credit', category: 'credit',
field:'dishonestExecutee', field: 'dishonestExecutee',
tz:'', tz: '',
bl:'' bl: ''
}, },
{ {
name:'失信被执行人', name: '失信被执行人',
value:'', value: '',
category:'credit', category: 'credit',
field:'dishonestExecutor', field: 'dishonestExecutor',
tz:'', tz: '',
bl:'' bl: ''
}, },
{ {
name:'行政处罚', name: '行政处罚',
value:'', value: '',
category:'credit', category: 'credit',
field:'adminSanction', field: 'adminSanction',
tz:'', tz: '',
bl:'' bl: ''
}, },
], ],
} childStatistic: {}
};
}, },
created() { created() {
}, },
mounted() { mounted() {
}, },
methods: { methods: {
handView(){ handView() {
let totalVal = this.viewData.map(item => { let totalVal = this.viewData.map(item => {
let number = this.statistic[item.category]&&this.statistic[item.category][item.field]?this.statistic[item.category][item.field]:0 let number = this.childStatistic[item.category] && this.childStatistic[item.category][item.field] ? this.childStatistic[item.category][item.field] : 0;
return number return number;
}).reduce((prev, cur) => prev + cur) }).reduce((prev, cur) => prev + cur);
this.viewData = this.viewData.map(item => { this.viewData = this.viewData.map(item => {
let number = this.statistic[item.category]&&this.statistic[item.category][item.field]?this.statistic[item.category][item.field]:0 let number = this.childStatistic[item.category] && this.childStatistic[item.category][item.field] ? this.childStatistic[item.category][item.field] : 0;
let bl = number ? parseFloat(Number(Number(number)/Number(totalVal)*100).toFixed(2)) : 0 let bl = number ? parseFloat(Number(Number(number) / Number(totalVal) * 100).toFixed(2)) : 0;
let it = {name:item.name, value:number, tz: '', bl:bl} let it = { name: item.name, value: number, tz: '', bl: bl };
return it return it;
}) });
this.viewData.sort((a, b) => { this.viewData.sort((a, b) => {
return a.value < b.value ? 1 : -1; return a.value < b.value ? 1 : -1;
}) });
this.$nextTick(()=>{ this.$nextTick(() => {
if(this.viewData[0].value>0){ if (this.viewData[0].value > 0) {
this.getDT(); this.getDT();
} }
}) });
}, },
getDT(){ getDT() {
let myChart = echarts.init(document.getElementById("echartsRisk")) let myChart = echarts.init(document.getElementById("echartsRisk"));
let option = { let option = {
tooltip: { tooltip: {
trigger: 'item', trigger: 'item',
borderWidth:0, borderWidth: 0,
backgroundColor:"rgba(255, 255, 255, 0.8)", backgroundColor: "rgba(255, 255, 255, 0.8)",
formatter: function (params) { formatter: function (params) {
var result = '' var result = '';
result+='<h3 style="color: #232226;padding: 0 0 5px 0;margin: 0;">'+ params.data.name +'</h3>' result += '<h3 style="color: #232226;padding: 0 0 5px 0;margin: 0;">' + params.data.name + '</h3>';
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.data.value +'个</p>' result += '<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">' + params.data.value + '个</p>';
if(params.data.tz){ if (params.data.tz) {
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;" >'+ params.data.tz +'亿元</p>' result += '<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;" >' + params.data.tz + '亿元</p>';
} }
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.data.bl+'%</p>' result += '<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">' + params.data.bl + '%</p>';
return result; return result;
}, },
extraCssText:'width:150px!important;', extraCssText: 'width:150px!important;',
}, },
legend: { legend: {
type: 'scroll', type: 'scroll',
...@@ -172,10 +163,10 @@ export default { ...@@ -172,10 +163,10 @@ export default {
bottom: 20, bottom: 20,
data: this.viewData, data: this.viewData,
pageButtonPosition: 'end', pageButtonPosition: 'end',
itemWidth:12, itemWidth: 12,
itemHeight:8, itemHeight: 8,
}, },
color: ['#8A82F3','#5B9CF7','#43BBE0','#8ECF95','#FFDC6B', '#FE9C77', '#E8649B', '#8A82F3'], color: ['#8A82F3', '#5B9CF7', '#43BBE0', '#8ECF95', '#FFDC6B', '#FE9C77', '#E8649B', '#8A82F3'],
series: [ series: [
{ {
type: 'pie', type: 'pie',
...@@ -191,14 +182,15 @@ export default { ...@@ -191,14 +182,15 @@ export default {
} }
} }
] ]
} };
myChart.setOption(option) myChart.setOption(option);
} }
}, },
watch: { watch: {
statistic(newVal, oldVal) { statistic(newVal, oldVal) {
if(newVal){ this.childStatistic = newVal;
this.handView() if (newVal) {
this.handView();
} }
} }
} }
...@@ -206,24 +198,24 @@ export default { ...@@ -206,24 +198,24 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.clue-container{ .clue-container {
margin: 0; margin: 0;
padding: 24px 16px; padding: 24px 16px;
background: #FFFFFF; background: #ffffff;
border-radius: 4px; border-radius: 4px;
.clue-box{ .clue-box {
width: 100%; width: 100%;
justify-content: space-between; justify-content: space-between;
margin-top: 20px; margin-top: 20px;
.clue-echarts{ .clue-echarts {
width: calc(50% - 8px); width: calc(50% - 8px);
} }
.table-item{ .table-item {
width: calc(50% - 8px); width: calc(50% - 8px);
::v-deep .el-table--border .el-table__cell{ ::v-deep .el-table--border .el-table__cell {
border-bottom: 0; border-bottom: 0;
}
} }
} }
} }
}
</style> </style>
<template> <template>
<div v-loading="loading" class="market-container"> <div v-loading="loading" class="market-container">
<iframe id="companyIframe" class="market-iframe" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" width="100%" :src="src" /> <iframe id="companyIframe" class="market-iframe" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" width="100%" :src="src" />
<transition name="fade" mode="out-in" appear>
<max-page-size-tip v-if="showMaxPageTip" @closeMaxTip="showMaxPageTip = false"></max-page-size-tip>
</transition>
</div> </div>
</template> </template>
...@@ -39,13 +35,7 @@ export default { ...@@ -39,13 +35,7 @@ export default {
}; };
}, },
created() { created() {
if (window.location.host === 'http://szh.jiansheku.com' || window.location.host === 'szh.jiansheku.com') { this.domain = process.env.VUE_APP_SUB_SYSTEM_ADDRESS;
this.domain = 'https://plug.jiansheku.com';
} else {
this.domain = 'https://pre-plug.jiansheku.com';
// this.domain = 'http://192.168.60.8:3400';
// this.domain = 'http://192.168.60.210:3400';
}
this.gettokens(); this.gettokens();
this.iframeObserver(); this.iframeObserver();
let that = this; let that = this;
...@@ -63,7 +53,7 @@ export default { ...@@ -63,7 +53,7 @@ export default {
window.removeEventListener("message", this.pagecapListener, { passive: true }); window.removeEventListener("message", this.pagecapListener, { passive: true });
window.removeEventListener("message", this.linkListener); window.removeEventListener("message", this.linkListener);
// 移除layout样式 // 移除layout样式
this.iframeIns.contentWindow.postMessage("removeHtmlLayoutStyle", { targetOrigin: this.domain, }); this.iframeIns?.contentWindow ? this.iframeIns.contentWindow.postMessage("removeHtmlLayoutStyle", { targetOrigin: this.domain, }) : null;
}, },
methods: { methods: {
linkListener(event) { linkListener(event) {
...@@ -102,7 +92,9 @@ export default { ...@@ -102,7 +92,9 @@ export default {
const { origin, data } = e; const { origin, data } = e;
if (origin != this.domain) return; if (origin != this.domain) return;
if (data == "pageCurrentMaxSize") { if (data == "pageCurrentMaxSize") {
this.showMaxPageTip = true; this.$maxTip("您可通过筛选工具来查询数据~若有更多需求请联系客服 0262798729!").then(({ done, uid }) => {
done();
});
} }
}, },
gettokens() { gettokens() {
......
<template>
<div class="subsystem-iframe-container">
</div>
</template>
<script>
export default {
name: "",
data() {
return {
};
},
//可访问data属性
created() {
},
//计算集
computed: {
},
//方法集
methods: {
},
// 渲染方法
render(createElement) {
}
}
</script>
<style lang="scss" scoped>
.subsystem-iframe-container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
padding: 16px 24px;
box-sizing: border-box;
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment