update
parent
58d02e6e03
commit
031b7e89d0
12
11.txt
12
11.txt
|
|
@ -1,3 +1,9 @@
|
|||
1. 图片展示,没有权限
|
||||
2. 权限设置,没有返回信息
|
||||
3. 多张图片bug
|
||||
1.excel 大文件的预览;
|
||||
2.edge的大文件下载弹窗问题;
|
||||
3.碳中和查看更多的文件逻辑; --✔️
|
||||
3.碳中和页面整体模块滚动;--
|
||||
4.原材料用量饼图;
|
||||
5.品质和碳中和 字体放大; --
|
||||
6.外部情报 留言板 列表 已回复; ---
|
||||
7.碳中和内容管理的 查看范围;
|
||||
8.碳中和相关活动报告-- 显示其他的活动 后面排.;
|
||||
1024
src/router/index.ts
1024
src/router/index.ts
File diff suppressed because it is too large
Load Diff
|
|
@ -10,7 +10,13 @@ import CSRContent2 from './CSRContent2.vue'
|
|||
import CSRContent22 from './CSRContent22.vue'
|
||||
import CSRContent23 from './CSRContent23.vue'
|
||||
import { Content2, Content3 } from './CSRData'
|
||||
import { useUserStore } from '@/stores/modules/user'
|
||||
const store = useUserStore()
|
||||
|
||||
const { push } = useRouter()
|
||||
const userCode = ['admin', 'csr_dandang', 'tech_service'].includes(
|
||||
store.user.roleCode
|
||||
)
|
||||
const Navs = [{ name: '集团*部门方针' }, { name: '年度活动日程表' }, { name: '其他链接' }, { name: '紧急联络' }, { name: 'CN/JP' }]
|
||||
const Content = [
|
||||
{ key: '1-1', component: () => <CSRContent /> },
|
||||
|
|
@ -27,6 +33,11 @@ const activeContent = computed(() => {
|
|||
console.log(curContent,1111)
|
||||
return curContent?.component || null
|
||||
})
|
||||
|
||||
const shomks = () => {
|
||||
// push('csr/modifyCsr2')
|
||||
push({ name: 'modifyCsrCarbon' })
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
|
@ -38,11 +49,14 @@ const activeContent = computed(() => {
|
|||
<div class="h-full relative flex flex-col">
|
||||
<div class="flex flex-end ml10px mt27px">
|
||||
<div class="flex-1"></div>
|
||||
<!-- <el-button class="absolute right-5 top-[-8px]" v-if="userCode && activeNav === '1-2'" type="primary" @click="shomks"
|
||||
>管理</el-button
|
||||
> -->
|
||||
<!-- <div class="px16px py8px cursor-pointer text-20px" v-for="nav in Navs" :key="nav.name">{{ nav.name }}</div> -->
|
||||
</div>
|
||||
<div class="flex-1 mt30px text-#142142 flex gap-30px h-825px">
|
||||
<AppBlock class="shrink-0 h-full w241px box !b-0">
|
||||
<div class="overflow-y-auto h-full">
|
||||
<div class="overflow-y-auto h-full ">
|
||||
<CSRSide v-model:activeNav="activeNav" />
|
||||
</div>
|
||||
</AppBlock>
|
||||
|
|
|
|||
|
|
@ -174,9 +174,9 @@ async function downloadFile(data) {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<AppBlock class="h-full flex-1 box">
|
||||
<AppBlock class="h-full flex-1 box rounded-18px">
|
||||
|
||||
<div class="h-full relative">
|
||||
<div class="h-full relative rounded-18px">
|
||||
<el-button v-if="userCode" type="primary" class="button" @click="shomks">管理</el-button>
|
||||
<!-- 123 -->
|
||||
<div class="text-32px font-700 h85px flex items-center justify-center line">
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import AppBlock from '@/components/AppBlock.vue'
|
|||
import { NIcon, useMessage, NCarousel } from 'naive-ui'
|
||||
import { ChevronBack, ChevronForward } from '@vicons/ionicons5'
|
||||
import { ElCarousel, ElCarouselItem } from 'element-plus'
|
||||
import { NPopover } from 'naive-ui'
|
||||
|
||||
import { getFootprintList } from '@/api/daikin/base'
|
||||
|
||||
|
|
@ -18,7 +19,7 @@ const userCode = ['admin', 'csr_dandang', 'tech_service'].includes(
|
|||
store.user.roleCode
|
||||
)
|
||||
const swipeRef = ref<any>(null)
|
||||
const dataList = ref()
|
||||
const dataList = ref([])
|
||||
const swipeActiveIndex = ref(0)
|
||||
function handleIndex(x: any) {
|
||||
swipeActiveIndex.value = x.realIndex
|
||||
|
|
@ -29,7 +30,7 @@ const setSwiperRef = (swiper: any) => {
|
|||
}
|
||||
// 2
|
||||
const swipeSubRef = ref<any>(null)
|
||||
const dataList2 = ref()
|
||||
const dataList2 = ref([])
|
||||
const swipeActiveIndex2 = ref(0)
|
||||
function handleIndex2(x: any) {
|
||||
swipeActiveIndex2.value = x.realIndex
|
||||
|
|
@ -45,6 +46,8 @@ const pageInfo = reactive({
|
|||
})
|
||||
const swiperList = ref()
|
||||
onMounted(async () => {
|
||||
dataList.value = []
|
||||
msgScoll.value?.addEventListener('scroll', handleVisitsScoll)
|
||||
// 空调节能Solution活动
|
||||
const { rows } = await getFootprintList({
|
||||
pageNum: pageInfo.currentPage,
|
||||
|
|
@ -61,8 +64,11 @@ onMounted(async () => {
|
|||
// };
|
||||
// });
|
||||
// }
|
||||
|
||||
swiperList.value = rows
|
||||
swiperList.value = rows
|
||||
// if(rows.length>5 || rows.length < 3){
|
||||
// }else{
|
||||
// swiperList.value = [...rows,...rows]
|
||||
// }
|
||||
}
|
||||
// 碳足迹
|
||||
getZu(1)
|
||||
|
|
@ -163,20 +169,19 @@ const getZu = async (pageNum) => {
|
|||
moduleId: '2'
|
||||
})
|
||||
|
||||
if (type === 0) {
|
||||
dataList.value = rows
|
||||
} else {
|
||||
dataList.value.push(...rows)
|
||||
}
|
||||
maxMsgLingth = total / 4
|
||||
// if (type === 0) {
|
||||
// dataList.value = rows
|
||||
// } else {
|
||||
// }
|
||||
dataList.value.push(...rows)
|
||||
maxMsgLingth = total / pageSize
|
||||
console.log(dataList.value, type)
|
||||
}
|
||||
|
||||
const msgScoll = ref<HTMLElement | null>(null)
|
||||
onMounted(() => {
|
||||
msgScoll.value?.addEventListener('scroll', handleVisitsScoll)
|
||||
})
|
||||
|
||||
const handleVisitsScoll = () => {
|
||||
// if(pageNum >= 1) return
|
||||
const container = msgScoll.value
|
||||
if (container) {
|
||||
const isAtBottom =
|
||||
|
|
@ -192,7 +197,7 @@ const handleVisitsScoll = () => {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<div class="w-full h-full box">
|
||||
<div class="w-full h-full box rounded-18px overflow-hidden">
|
||||
<!-- <AppBlock class="w-full ">
|
||||
<img src="./images/goudongxi.png" class="w-full h-full" />
|
||||
</AppBlock> -->
|
||||
|
|
@ -229,7 +234,6 @@ const handleVisitsScoll = () => {
|
|||
<div class="w1200px px68px relative">
|
||||
<div
|
||||
class="swipe-nav nav-prev"
|
||||
@click="swipeRef && swipeRef.slidePrev()"
|
||||
>
|
||||
<NIcon size="40" color="#537deb">
|
||||
<ChevronBack />
|
||||
|
|
@ -237,25 +241,32 @@ const handleVisitsScoll = () => {
|
|||
</div>
|
||||
<div
|
||||
class="swipe-nav nav-next"
|
||||
@click="swipeRef && swipeRef.slideNext()"
|
||||
>
|
||||
<NIcon size="40" color="#537deb">
|
||||
<ChevronForward />
|
||||
</NIcon>
|
||||
</div>
|
||||
<!-- :slides-per-group="3" -->
|
||||
<Swiper
|
||||
ref="swipeRef"
|
||||
@slideChangeTransitionEnd="handleIndex"
|
||||
:autoplay="{delay: 3000, disableOnInteraction: false, pauseOnMouseEnter: true,stopOnLastSlide: false}"
|
||||
@swiper="setSwiperRef"
|
||||
class="h325px"
|
||||
:slides-per-view="3"
|
||||
:slides-per-group="1"
|
||||
:loopAdditionalSlides="3"
|
||||
:speed="500"
|
||||
:space-between="8"
|
||||
:modules="modules"
|
||||
:scrollbar="{ draggable: false }"
|
||||
:loop="false"
|
||||
:loop="true"
|
||||
:navigation="{
|
||||
nextEl: '.nav-next',
|
||||
prevEl: '.nav-prev',
|
||||
}"
|
||||
>
|
||||
<SwiperSlide v-for="(i, index) in swiperList" :key="i">
|
||||
<template v-for="(i, index) in swiperList" :key="i">
|
||||
<SwiperSlide >
|
||||
<div
|
||||
class="w340px h300px overflow-hidden bg-#F6F8FF mt10px relative rd-25px"
|
||||
style="box-shadow: 0px 7px 12px 0px #e7e7e7"
|
||||
|
|
@ -302,7 +313,7 @@ const handleVisitsScoll = () => {
|
|||
v-if="i.imgUrl"
|
||||
v-for="ite in i.imgUrl"
|
||||
:src="ite.url"
|
||||
class="p10px w-full max-h-200px image-container"
|
||||
class="p10px w-full max-h-200px image-container overflow-hidden"
|
||||
/>
|
||||
</n-carousel>
|
||||
</div>
|
||||
|
|
@ -318,15 +329,21 @@ const handleVisitsScoll = () => {
|
|||
src="../../../assets/images/lvbiao@2x.png"
|
||||
class="mr-5px"
|
||||
/>
|
||||
<span
|
||||
class="truncate text-16px"
|
||||
v-if="i.filePath && i.filePath.length > 0"
|
||||
@click="toDetail(i)"
|
||||
>{{ i.filePath[0].originalFileName }}
|
||||
</span>
|
||||
<n-popover trigger="hover" placement="top-start" >
|
||||
<template #trigger>
|
||||
<span
|
||||
class="truncate text-16px"
|
||||
@click="toDetail(i)"
|
||||
> {{ i.filePath[0]?.originalFileName }}
|
||||
</span>
|
||||
</template>
|
||||
<div class="text-18px leading-40px">
|
||||
{{ i.filePath[0]?.originalFileName }}
|
||||
</div>
|
||||
</n-popover>
|
||||
</div>
|
||||
<div
|
||||
v-if="i.filePath.length == 1"
|
||||
v-if="i.filePath.length > 1"
|
||||
title="查看更多"
|
||||
@click="toDetail(i)"
|
||||
class="cursor-pointer right--20px top-0px w60px pt-6px flex items-center ml-auto text-right"
|
||||
|
|
@ -359,6 +376,7 @@ const handleVisitsScoll = () => {
|
|||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
</template>
|
||||
</Swiper>
|
||||
</div>
|
||||
</AppBlock>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,18 @@ import {
|
|||
liQuids
|
||||
} from './CSRDatas'
|
||||
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
|
||||
const { chartRef, option } = charData()
|
||||
const { chartRef: chartRef1, option: option1 } = charData2()
|
||||
const { chartRef: chartRefP1, option: optionP1 } = pieData1()
|
||||
// const { chartRef, option } = charData()
|
||||
// const { chartRef: chartRef1, option: option1 } = charData2()
|
||||
// const { chartRef: chartRefP1, option: optionP1 } = pieData1()
|
||||
import { NNumberAnimation } from "naive-ui";
|
||||
import { ref, onMounted } from 'vue'
|
||||
|
||||
const option = ref({});
|
||||
const option1 = ref({});
|
||||
const optionP1 = ref<any>({});
|
||||
const chartRef = ref(null);
|
||||
const chartRef1 = ref(null);
|
||||
const chartRefP1 = ref(null);
|
||||
const locale = computed(() => zhCn)
|
||||
const YearTime1 = ref('2020')
|
||||
const YearTime2 = ref('2023')
|
||||
|
|
@ -22,10 +29,22 @@ const cardsClick = (it) => {
|
|||
console.log(flgs.value)
|
||||
// dataInfo.treeSource = it
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
const char = charData()
|
||||
option.value = char.option.value
|
||||
chartRef.value = char.chartRef.value
|
||||
const char1 = charData2()
|
||||
option1.value = char1.option.value
|
||||
chartRef1.value = char1.chartRef.value
|
||||
const charP1 = pieData1()
|
||||
optionP1.value = charP1.option.value
|
||||
chartRefP1.value = charP1.chartRef.value
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="flex w-full h-full">
|
||||
<div class="flex w-full h-full rounded-18px">
|
||||
<!-- <AppBlock class="w-full ">
|
||||
<img src="./images/goudongxi3.png" class="w-full h-full" />
|
||||
</AppBlock> -->
|
||||
|
|
@ -91,14 +110,14 @@ const cardsClick = (it) => {
|
|||
</el-config-provider>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full bg-#fff h-38.5%">
|
||||
<div class="text-center text-#142142 text-22px py20px font-extrabold">
|
||||
<div class="relative w-full bg-#fff h-38.5%">
|
||||
<div class="absolute top-28px left-1/2 translate-[-50%] text-center text-#142142 text-22px py20px font-extrabold">
|
||||
SMM牌号低碳铝价格&价差
|
||||
</div>
|
||||
<div class="w-full h-340px">
|
||||
<div class="w-full h-340px pt-4">
|
||||
<VChart ref="chartRef1" :option="option1" />
|
||||
</div>
|
||||
<div class="absolute top-16px left-2 flex items-center">
|
||||
<div class="absolute top-12px left-2 flex items-center">
|
||||
<el-config-provider :locale="locale">
|
||||
<el-date-picker
|
||||
v-model="YearTime1"
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ const isDateDisabled = (date) => {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<div class="flex w-full ">
|
||||
<div class="flex w-full rounded-18px">
|
||||
<!-- <AppBlock> -->
|
||||
<!-- <img src="./images/goudongxi2.png" class="w-full h-full" /> -->
|
||||
<div class="w-full bg-#f4f4f4 flex flex-wrap justify-between h-full rd-25px">
|
||||
|
|
@ -119,9 +119,9 @@ const isDateDisabled = (date) => {
|
|||
</div>
|
||||
<div ref="msgScoll" class="px20px w-full h800px cent_box overflow-y-auto">
|
||||
|
||||
<div v-if="true" class="text-#808696 bg-#F4F8FF items-center flex py10px rd-5px mt10px" v-for="(i, key) in 9" :key="i">
|
||||
<div v-if="true" class=" text-18px text-#808696 bg-#F4F8FF items-center flex py10px rd-5px mt10px" v-for="(i, key) in 9" :key="i">
|
||||
<div class="truncate2" @click="toDetail(i,'App_E_Message')">
|
||||
<span class="text-#fff bg-#407DF1 px5px text-16px rounded-20px mr-5px inlineFlex">{{ ++key }}</span>
|
||||
<span class="text-#fff bg-#407DF1 px5px rounded-20px mr-5px inlineFlex">{{ ++key }}</span>
|
||||
<span>{{'供应商名称' + i}} </span>
|
||||
</div>
|
||||
<div class="min-w150px max-w150px text-#000">3次未提交</div>
|
||||
|
|
|
|||
|
|
@ -3,69 +3,238 @@ import * as echarts from 'echarts'
|
|||
import 'echarts-liquidfill';
|
||||
import {getCSRDetail} from '@/api/daikin/base'
|
||||
import { create } from 'naive-ui';
|
||||
import { xAxisD, dataA, dataB } from './testData'
|
||||
|
||||
export const Content2 = [
|
||||
{
|
||||
key: '0',
|
||||
label: '活动计划',
|
||||
children: [
|
||||
{ label: '调达本部HP', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
{ label: 'CSR-碳中和', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
{ label: '中国地区连携强化 ', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: '1',
|
||||
label: '活动成果',
|
||||
children: [
|
||||
{ label: 'Database推进', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
{ label: '市况', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
{ label: '汇率', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
{ label: 'BCP', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: '0',
|
||||
label: '活动计划',
|
||||
children: [
|
||||
{
|
||||
label: '调达本部HP',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'CSR-碳中和',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '中国地区连携强化 ',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
key: '1',
|
||||
label: '活动成果',
|
||||
children: [
|
||||
{
|
||||
label: 'Database推进',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '市况',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '汇率',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'BCP',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
export const Content3 = [
|
||||
{
|
||||
key: '0',
|
||||
title: 'xx活动概要',
|
||||
label: '活动计划',
|
||||
children: [
|
||||
{ label: '调达本部HP', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
{ label: 'CSR-碳中和', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
{ label: '工作模式变更 ', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
{ label: '差别化', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: '1',
|
||||
label: '活动成果',
|
||||
children: [
|
||||
{ label: 'Database推进', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
{ label: '全球连携强化', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
{ label: '高品质高品位', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: '2',
|
||||
title: 'xx活动概要',
|
||||
label: '活动计划',
|
||||
children: [
|
||||
{ label: 'CSR-碳中和', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
{ label: '工作模式变更 ', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
{ label: '差别化', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: '3',
|
||||
label: '活动成果',
|
||||
children: [
|
||||
{ label: 'Database推进', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
{ label: '市况', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
{ label: '全球连携强化', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
{ label: '高品质高品位', items: [{ content: 'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来' }] },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: '0',
|
||||
title: 'xx活动概要',
|
||||
label: '活动计划',
|
||||
children: [
|
||||
{
|
||||
label: '调达本部HP',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'CSR-碳中和',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '工作模式变更 ',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '差别化',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
key: '1',
|
||||
label: '活动成果',
|
||||
children: [
|
||||
{
|
||||
label: 'Database推进',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '全球连携强化',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '高品质高品位',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
key: '2',
|
||||
title: 'xx活动概要',
|
||||
label: '活动计划',
|
||||
children: [
|
||||
{
|
||||
label: 'CSR-碳中和',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '工作模式变更 ',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '差别化',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
key: '3',
|
||||
label: '活动成果',
|
||||
children: [
|
||||
{
|
||||
label: 'Database推进',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '市况',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '全球连携强化',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '高品质高品位',
|
||||
items: [
|
||||
{
|
||||
content:
|
||||
'FY22年度集团新年方针:领先时代的变化开创崭新的未来变化开 创崭新的未来'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
const form = ref({
|
||||
lable1: {
|
||||
|
|
@ -177,154 +346,266 @@ const form = ref({
|
|||
})
|
||||
|
||||
async function getCSR() {
|
||||
const {data,data:{content:{form:ffff}}} = await getCSRDetail()
|
||||
form.value = ffff
|
||||
|
||||
const {
|
||||
data,
|
||||
data: {
|
||||
content: { form: ffff }
|
||||
}
|
||||
} = await getCSRDetail()
|
||||
form.value = ffff
|
||||
}
|
||||
|
||||
export function charData() {
|
||||
const chartRef = ref()
|
||||
const params = '15%'
|
||||
|
||||
const chartRef = ref()
|
||||
const params = '15%'
|
||||
const option = ref<EChartsOption>({
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: ['DIS', 'DSZ'],
|
||||
bottom: '0px'
|
||||
// right:'50px'
|
||||
},
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
bottom: '10%',
|
||||
containLabel: true
|
||||
},
|
||||
title: [{ text: '单位:千吨' }],
|
||||
// color:['#58D9FC','red','#fff'],
|
||||
// dataset: {
|
||||
// // 提供一份数据。
|
||||
// source: [
|
||||
// ['2020实绩', 220, 0, 220],
|
||||
// ['2021实绩', 182, 0, 182],
|
||||
// ['2022实绩', 191, 0, 191],
|
||||
// ['2023', 234, 43, 234],
|
||||
// ['2024', 290, 23, 290],
|
||||
// ['2025', 330, 65, 330],
|
||||
// ]
|
||||
// },
|
||||
|
||||
|
||||
const option = ref<EChartsOption>({
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: ['DIS', 'DSZ'],
|
||||
bottom:'0px',
|
||||
// right:'50px'
|
||||
},
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
bottom: '10%',
|
||||
containLabel: true
|
||||
},
|
||||
title: [{ text: '单位:千吨' }],
|
||||
// color:['#58D9FC','red','#fff'],
|
||||
// dataset: {
|
||||
// // 提供一份数据。
|
||||
// source: [
|
||||
// ['2020实绩', 220, 0, 220],
|
||||
// ['2021实绩', 182, 0, 182],
|
||||
// ['2022实绩', 191, 0, 191],
|
||||
// ['2023', 234, 43, 234],
|
||||
// ['2024', 290, 23, 290],
|
||||
// ['2025', 330, 65, 330],
|
||||
// ]
|
||||
// },
|
||||
|
||||
|
||||
|
||||
xAxis: { type: 'category',
|
||||
data:form.value.lable4.name.split(",")
|
||||
},
|
||||
yAxis: {},
|
||||
series: [
|
||||
{
|
||||
name: 'DIS',
|
||||
type: 'bar',
|
||||
barWidth: '30%',
|
||||
data: form.value.lable4.year.split(","),
|
||||
label:
|
||||
{
|
||||
show: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'DSZ',
|
||||
type: 'bar',
|
||||
label:
|
||||
{
|
||||
show: false,
|
||||
position: 'inside',
|
||||
formatter: '{c}%'
|
||||
},
|
||||
barWidth: '30%',
|
||||
data: form.value.lable4.date.split(","),
|
||||
},
|
||||
// { name: '预测/实绩用量', type: 'line' }
|
||||
]
|
||||
})
|
||||
return { chartRef, option }
|
||||
xAxis: { type: 'category', data: form.value.lable4.name.split(',') },
|
||||
yAxis: {},
|
||||
series: [
|
||||
{
|
||||
name: 'DIS',
|
||||
type: 'bar',
|
||||
barWidth: '30%',
|
||||
data: form.value.lable4.year.split(','),
|
||||
label: {
|
||||
show: false
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'DSZ',
|
||||
type: 'bar',
|
||||
label: {
|
||||
show: false,
|
||||
position: 'inside',
|
||||
formatter: '{c}%'
|
||||
},
|
||||
barWidth: '30%',
|
||||
data: form.value.lable4.date.split(',')
|
||||
}
|
||||
// { name: '预测/实绩用量', type: 'line' }
|
||||
]
|
||||
})
|
||||
return { chartRef, option }
|
||||
}
|
||||
|
||||
export function charData2() {
|
||||
const chartRef = ref()
|
||||
const params = '15%'
|
||||
|
||||
const chartRef = ref()
|
||||
const params = '15%'
|
||||
// const option = ref<EChartsOption>({
|
||||
// tooltip: {
|
||||
// trigger: 'axis',
|
||||
// axisPointer: {
|
||||
// type: 'shadow'
|
||||
// }
|
||||
// },
|
||||
// legend: {
|
||||
// data: ['DIS', 'DSZ'],
|
||||
// top: '0px',
|
||||
// right: '50px'
|
||||
// },
|
||||
|
||||
|
||||
const option = ref<EChartsOption>({
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: ['DIS', 'DSZ'],
|
||||
top:'0px',
|
||||
right:'50px'
|
||||
},
|
||||
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
|
||||
containLabel: true
|
||||
},
|
||||
title: [{ text: '单位:千吨' }],
|
||||
// color:['#58D9FC','red','#fff'],
|
||||
// dataset: {
|
||||
// // 提供一份数据。
|
||||
// source: [
|
||||
// ['2020实绩', 220, 0, 220],
|
||||
// ['2021实绩', 182, 0, 182],
|
||||
// ['2022实绩', 191, 0, 191],
|
||||
// ['2023', 234, 43, 234],
|
||||
// ['2024', 290, 23, 290],
|
||||
// ['2025', 330, 65, 330],
|
||||
// ]
|
||||
// },
|
||||
// grid: {
|
||||
// left: '3%',
|
||||
// right: '4%',
|
||||
|
||||
// containLabel: true
|
||||
// },
|
||||
// title: [{ text: '单位:元/吨' }],
|
||||
// // color:['#58D9FC','red','#fff'],
|
||||
// // dataset: {
|
||||
// // // 提供一份数据。
|
||||
// // source: [
|
||||
// // ['2020实绩', 220, 0, 220],
|
||||
// // ['2021实绩', 182, 0, 182],
|
||||
// // ['2022实绩', 191, 0, 191],
|
||||
// // ['2023', 234, 43, 234],
|
||||
// // ['2024', 290, 23, 290],
|
||||
// // ['2025', 330, 65, 330],
|
||||
// // ]
|
||||
// // },
|
||||
|
||||
// xAxis: {
|
||||
// type: 'category',
|
||||
// data: form.value.lable14.name.split(','),
|
||||
// axisLabel: {
|
||||
// interval: 0, //隔几项显示一个标签
|
||||
// rotate: '-90' //标签倾斜的角度,旋转的角度是-90到90度
|
||||
// }
|
||||
// },
|
||||
// yAxis: {},
|
||||
// series: [
|
||||
// {
|
||||
// name: 'DIS',
|
||||
// type: 'line',
|
||||
// data: form.value.lable14.year.split(',')
|
||||
// },
|
||||
// {
|
||||
// name: 'DSZ',
|
||||
// type: 'line',
|
||||
// data: form.value.lable14.date.split(',')
|
||||
// }
|
||||
// // { name: '预测/实绩用量', type: 'line' }
|
||||
// ]
|
||||
// })
|
||||
|
||||
xAxis: { type: 'category',
|
||||
data:form.value.lable14.name.split(","),
|
||||
axisLabel: {
|
||||
interval: 0, //隔几项显示一个标签
|
||||
rotate: "-90" //标签倾斜的角度,旋转的角度是-90到90度
|
||||
}
|
||||
},
|
||||
yAxis: {},
|
||||
series: [
|
||||
{
|
||||
name: 'DIS',
|
||||
type: 'line',
|
||||
data: form.value.lable14.year.split(","),
|
||||
|
||||
},
|
||||
{
|
||||
name: 'DSZ',
|
||||
type: 'line',
|
||||
data: form.value.lable14.date.split(","),
|
||||
},
|
||||
// { name: '预测/实绩用量', type: 'line' }
|
||||
]
|
||||
})
|
||||
return { chartRef, option }
|
||||
const option = ref<EChartsOption>({
|
||||
// title: {
|
||||
// text: 'SMM牌号低碳铝价格&价差',
|
||||
// left: 'center'
|
||||
// },
|
||||
grid: {
|
||||
bottom: 80
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
animation: false,
|
||||
label: {
|
||||
backgroundColor: '#505765'
|
||||
}
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: ['低碳铝', '价差'],
|
||||
right: 10
|
||||
},
|
||||
dataZoom: [
|
||||
{
|
||||
show: true,
|
||||
startValue: '2022-06-01',
|
||||
endValue: '2022-10-01'
|
||||
},
|
||||
{
|
||||
type: 'inside'
|
||||
// realtime: true,
|
||||
// start: 65,
|
||||
// end: 85
|
||||
}
|
||||
],
|
||||
xAxis: [
|
||||
{
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
axisLine: { onZero: false },
|
||||
// prettier-ignore
|
||||
data: xAxisD
|
||||
}
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
name: '单位:元',
|
||||
type: 'value'
|
||||
},
|
||||
{
|
||||
name: '单位:元/吨',
|
||||
// nameLocation: 'start',
|
||||
alignTicks: true,
|
||||
type: 'value'
|
||||
// inverse: true
|
||||
}
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: '低碳铝',
|
||||
type: 'line',
|
||||
smooth: true,
|
||||
// areaStyle: {},
|
||||
lineStyle: {
|
||||
width: 3
|
||||
// color: '#7030a0'
|
||||
},
|
||||
emphasis: {
|
||||
focus: 'series'
|
||||
},
|
||||
// prettier-ignore
|
||||
data: dataA
|
||||
},
|
||||
{
|
||||
name: '价差',
|
||||
type: 'line',
|
||||
smooth: true,
|
||||
yAxisIndex: 1,
|
||||
markLine: {
|
||||
symbol: '', // 设置为空字符串,去除箭头
|
||||
silent: true,
|
||||
lineStyle: {
|
||||
color: '#7030a0',
|
||||
type: 'solid',
|
||||
width: 3
|
||||
},
|
||||
data: [
|
||||
{
|
||||
yAxis: 700
|
||||
}
|
||||
]
|
||||
},
|
||||
lineStyle: {
|
||||
width: 3
|
||||
},
|
||||
emphasis: {
|
||||
focus: 'series'
|
||||
},
|
||||
// prettier-ignore
|
||||
data: dataB
|
||||
}
|
||||
]
|
||||
})
|
||||
return { chartRef, option }
|
||||
}
|
||||
|
||||
// 原材料用量及碳排放量占比图
|
||||
export function pieData1() {
|
||||
const chartRef = ref()
|
||||
const option = ref<EChartsOption>({
|
||||
const chartRef = ref()
|
||||
const option = ref<EChartsOption>({
|
||||
legend: {
|
||||
orient: 'vertical',
|
||||
data: [
|
||||
{
|
||||
name: '原材料碳排放量(吨)',
|
||||
itemStyle: { color: '#f8cbad', borderWidth: 0 }
|
||||
},
|
||||
{
|
||||
name: '原材料使用量(吨)',
|
||||
itemStyle: { color: '#acc1fb', borderWidth: 0 }
|
||||
}
|
||||
],
|
||||
selectedMode: false,
|
||||
left: 10,
|
||||
top: 30
|
||||
},
|
||||
title: {
|
||||
text: form.value.lable8.name,
|
||||
// subtext: 'Fake Data',
|
||||
|
|
@ -336,7 +617,7 @@ export function pieData1() {
|
|||
},
|
||||
grid: {
|
||||
left: '20',
|
||||
top: '30',
|
||||
// top: '100',
|
||||
right: '70',
|
||||
bottom: '10',
|
||||
containLabel: true
|
||||
|
|
@ -348,13 +629,17 @@ export function pieData1() {
|
|||
// },
|
||||
series: [
|
||||
{
|
||||
name: '',
|
||||
name: '原材料碳排放量(吨)',
|
||||
type: 'pie',
|
||||
selectedMode: 'single',
|
||||
radius: [0, '50%'],
|
||||
radius: [0, '60%'],
|
||||
// silent: 'ture', //图形是否不响应和触发鼠标事件,默认为 false,即响应和触发鼠标事件。
|
||||
// avoidLabelOverlap: false,
|
||||
// legendHoverLink: false,
|
||||
label: {
|
||||
position: 'inner',
|
||||
fontSize: 14
|
||||
fontSize: 14,
|
||||
formatter: '{b}:{c}'
|
||||
},
|
||||
labelLine: {
|
||||
show: false
|
||||
|
|
@ -363,92 +648,97 @@ export function pieData1() {
|
|||
{
|
||||
value: 159158,
|
||||
name: '铝',
|
||||
label: { color: '#fff', fontSize: '16px', fontWeight: 'bold' }
|
||||
label: { color: '#000', fontSize: '16px', fontWeight: '' }
|
||||
},
|
||||
{
|
||||
value: 165731,
|
||||
name: '铁',
|
||||
label: { color: '#fff', fontSize: '16px', fontWeight: 'bold' }
|
||||
label: { color: '#000', fontSize: '16px', fontWeight: '' }
|
||||
},
|
||||
{
|
||||
value: 78942,
|
||||
name: '铜',
|
||||
// selected: true,
|
||||
label: { color: '#fff', fontSize: '16px', fontWeight: 'bold' }
|
||||
label: { color: '#000', fontSize: '16px', fontWeight: '' }
|
||||
},
|
||||
{
|
||||
value: 10000,
|
||||
name: '树脂',
|
||||
label: { color: '#fff', fontSize: '16px', fontWeight: 'bold' }
|
||||
label: { color: '#000', fontSize: '16px', fontWeight: '' }
|
||||
}
|
||||
],
|
||||
// 自定义颜色
|
||||
itemStyle: {
|
||||
emphasis: {
|
||||
shadowBlur: 10,
|
||||
shadowOffsetX: 0,
|
||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
},
|
||||
normal: {
|
||||
// 自定义每个扇形的颜色
|
||||
color: function (params) {
|
||||
const colorList = ['#3EC22B', '#3EC22B', '#3EC22B', '#3EC22B']
|
||||
return colorList[params.dataIndex]
|
||||
}
|
||||
// emphasis: {
|
||||
// shadowBlur: 10,
|
||||
// shadowOffsetX: 0,
|
||||
// shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
// },
|
||||
borderColor: 'rgba(0, 0, 0, 0.5)',
|
||||
borderWidth: 1,
|
||||
// 自定义每个扇形的颜色
|
||||
color: function (params) {
|
||||
// const colorList = ['#3EC22B', '#3EC22B', '#3EC22B', '#3EC22B']
|
||||
const colorList = ['#f8cbad', '#f8cbad', '#f8cbad', '#f8cbad']
|
||||
return colorList[params.dataIndex]
|
||||
}
|
||||
},
|
||||
hoverOffset: 0,
|
||||
hoverAnimation: false,
|
||||
emphasis: {
|
||||
scale: false
|
||||
}
|
||||
// hoverAnimation: false,
|
||||
},
|
||||
{
|
||||
name: '',
|
||||
name: '原材料使用量(吨)',
|
||||
type: 'pie',
|
||||
radius: ['45%', '60%'],
|
||||
radius: ['55%', '80%'],
|
||||
avoidLabelOverlap: false,
|
||||
itemStyle: {
|
||||
// borderRadius: 10,
|
||||
borderColor: '#fff',
|
||||
borderWidth: 4
|
||||
},
|
||||
labelLine: {
|
||||
length: 30
|
||||
},
|
||||
label: {
|
||||
formatter: ' {b|{b}:}{c}吨 ',
|
||||
backgroundColor: '#F6F8FC',
|
||||
borderColor: '#8C8D8E',
|
||||
borderWidth: 1,
|
||||
borderRadius: 4,
|
||||
|
||||
rich: {
|
||||
a: {
|
||||
color: '#6E7079',
|
||||
lineHeight: 22,
|
||||
align: 'center'
|
||||
},
|
||||
hr: {
|
||||
borderColor: '#8C8D8E',
|
||||
width: '100%',
|
||||
borderWidth: 1,
|
||||
height: 0
|
||||
},
|
||||
b: {
|
||||
color: '#4C5058',
|
||||
fontSize: 14,
|
||||
fontWeight: 'bold',
|
||||
lineHeight: 33
|
||||
},
|
||||
per: {
|
||||
color: '#fff',
|
||||
backgroundColor: '#4C5058',
|
||||
padding: [3, 4],
|
||||
borderRadius: 4
|
||||
}
|
||||
borderWidth: 1, //外环间隔~~~~~
|
||||
borderColor: 'rgba(0, 0, 0, 0.5)',
|
||||
// 自定义每个扇形的颜色
|
||||
color: function (params) {
|
||||
// const colorList = ['#3EC22B', '#3EC22B', '#3EC22B', '#3EC22B']
|
||||
const colorList = ['#acc1fb', '#acc1fb', '#acc1fb', '#acc1fb']
|
||||
return colorList[params.dataIndex]
|
||||
}
|
||||
},
|
||||
// labelLine: {
|
||||
// length: 30
|
||||
// },
|
||||
label: {
|
||||
position: 'inner',
|
||||
fontSize: 16,
|
||||
formatter: '{b}:{c}'
|
||||
// backgroundColor: '#F6F8FC',
|
||||
// borderColor: '#8C8D8E',
|
||||
// borderWidth: 1,
|
||||
// borderRadius: 4
|
||||
|
||||
// rich: {
|
||||
// a: {
|
||||
// color: '#6E7079',
|
||||
// lineHeight: 22,
|
||||
// align: 'center'
|
||||
// },
|
||||
// hr: {
|
||||
// borderColor: '#8C8D8E',
|
||||
// width: '100%',
|
||||
// borderWidth: 1,
|
||||
// height: 0
|
||||
// },
|
||||
// b: {
|
||||
// color: '#4C5058',
|
||||
// fontSize: 14,
|
||||
// fontWeight: 'bold',
|
||||
// lineHeight: 33
|
||||
// },
|
||||
// per: {
|
||||
// color: '#fff',
|
||||
// backgroundColor: '#4C5058',
|
||||
// padding: [3, 4],
|
||||
// borderRadius: 4
|
||||
// }
|
||||
// }
|
||||
},
|
||||
data: [
|
||||
{ value: 0.0, name: '铝' },
|
||||
{ value: 0.0, name: '铁' },
|
||||
|
|
@ -475,64 +765,64 @@ export function pieData1() {
|
|||
}
|
||||
]
|
||||
})
|
||||
return { chartRef, option }
|
||||
return { chartRef, option }
|
||||
}
|
||||
|
||||
|
||||
|
||||
// SMM牌号低碳铝价格&价差
|
||||
export function pieData2() {
|
||||
const chartRef = ref()
|
||||
const option = ref<EChartsOption>({
|
||||
// legend: {
|
||||
// top: 'bottom'
|
||||
// },
|
||||
title: {
|
||||
text: form.value.lable9.name,
|
||||
// subtext: 'Fake Data',
|
||||
left: 'center',
|
||||
textStyle: { color: '#4075E1' }
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'Access From',
|
||||
type: 'pie',
|
||||
radius: ['40%', '70%'],
|
||||
avoidLabelOverlap: false,
|
||||
itemStyle: {
|
||||
borderRadius: 10,
|
||||
borderColor: '#fff',
|
||||
borderWidth: 2
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
formatter(param) {
|
||||
// correct the percentage
|
||||
return param.name + ' (' + param.percent * 2 + '%)';
|
||||
}
|
||||
},
|
||||
emphasis: {
|
||||
label: {
|
||||
show: true,
|
||||
fontSize: 20,
|
||||
// fontWeight: 'bold'
|
||||
}
|
||||
},
|
||||
labelLine: {
|
||||
show: true
|
||||
},
|
||||
// data: [
|
||||
// { value: 1048, name: 'Search Engine' },
|
||||
// { value: 735, name: 'Direct' },
|
||||
// { value: 580, name: 'Email' },
|
||||
// { value: 484, name: 'Union Ads' },
|
||||
// { value: 300, name: 'Video Ads' }
|
||||
// ]
|
||||
data: Object.values(form.value.lable9.data).filter(item => item.name !== '' || item.value !== '')
|
||||
}
|
||||
]
|
||||
|
||||
})
|
||||
return { chartRef, option }
|
||||
const chartRef = ref()
|
||||
const option = ref<EChartsOption>({
|
||||
// legend: {
|
||||
// top: 'bottom'
|
||||
// },
|
||||
title: {
|
||||
text: form.value.lable9.name,
|
||||
// subtext: 'Fake Data',
|
||||
left: 'center',
|
||||
textStyle: { color: '#4075E1' }
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'Access From',
|
||||
type: 'pie',
|
||||
radius: ['40%', '70%'],
|
||||
avoidLabelOverlap: false,
|
||||
itemStyle: {
|
||||
borderRadius: 10,
|
||||
borderColor: '#fff',
|
||||
borderWidth: 1
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
formatter(param) {
|
||||
// correct the percentage
|
||||
return param.name + ' (' + param.percent * 2 + '%)'
|
||||
}
|
||||
},
|
||||
emphasis: {
|
||||
label: {
|
||||
show: true,
|
||||
fontSize: 20
|
||||
// fontWeight: 'bold'
|
||||
}
|
||||
},
|
||||
labelLine: {
|
||||
show: true
|
||||
},
|
||||
// data: [
|
||||
// { value: 1048, name: 'Search Engine' },
|
||||
// { value: 735, name: 'Direct' },
|
||||
// { value: 580, name: 'Email' },
|
||||
// { value: 484, name: 'Union Ads' },
|
||||
// { value: 300, name: 'Video Ads' }
|
||||
// ]
|
||||
data: Object.values(form.value.lable9.data).filter(
|
||||
(item) => item.name !== '' || item.value !== ''
|
||||
)
|
||||
}
|
||||
]
|
||||
})
|
||||
return { chartRef, option }
|
||||
}
|
||||
|
||||
const gl = '10%'
|
||||
|
|
|
|||
|
|
@ -7,7 +7,9 @@
|
|||
<div class="bg-#fff rd-15px px30px pt30px w-full ">
|
||||
|
||||
<el-tabs v-model="activeName" class="demo-tabs">
|
||||
<div class="float-right px20px py10px z-200 bg-#c4c4c4" @click="goBacks"> <el-icon class="text-red"><ArrowLeftBold size="18"/></el-icon> 返回</div>
|
||||
<el-button class="float-right px20px py10px z-200 cursor-pointer felx items-center" type="info" @click="goBacks">
|
||||
<el-icon class="text-red"><ArrowLeftBold size="18" /></el-icon> 返回
|
||||
</el-button>
|
||||
<el-tab-pane label="banner管理" name="first">
|
||||
<el-button type="primary" @click="editClickA('add')" class="mb-20px">
|
||||
新增
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
}" :cell-style="{ 'overflow-y': 'auto' }"
|
||||
:tree-props="{ children: 'childList', hasChildren: 'hasChildren'}">
|
||||
<el-table-column prop="name" label="标题名称" align="left"/>
|
||||
<el-table-column prop="sort" label="排序" align="center"/>
|
||||
<!-- <el-table-column prop="sort" label="排序" align="center"/> -->
|
||||
<el-table-column prop="address" label="操作" align="center">
|
||||
<template #default="scope">
|
||||
<el-button type="primary" @click="editClickA('edit', scope.row)" class="mb-20px">
|
||||
|
|
@ -48,7 +48,7 @@
|
|||
<el-table-column prop="title" label="标题名称" show-overflow-tooltip/>
|
||||
<!-- <el-table-column prop="deptName" label="排序" /> -->
|
||||
<el-table-column label="文件列表" prop="filePath" show-overflow-tooltip/>
|
||||
<el-table-column label="排序" prop="sort" show-overflow-tooltip/>
|
||||
<!-- <el-table-column label="排序" prop="sort" show-overflow-tooltip/> -->
|
||||
<el-table-column label="查看范围" prop="userIdList" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<!-- <el-button type="primary" class="button" @click="getUser(scope.row)">查看范围</el-button> -->
|
||||
|
|
|
|||
|
|
@ -147,7 +147,8 @@ const detilInfo=async (obj)=>{
|
|||
<template #default="scope">
|
||||
<!-- <el-button size="small" @click="handleEditA(scope.$index, scope.row)">编辑</el-button>
|
||||
<el-button size="small" type="danger" @click="handleDeleteA(scope.$index, scope.row)">删除</el-button> -->
|
||||
<el-button size="small" @click="toReply(scope.row)">回复</el-button>
|
||||
<el-button size="small" v-if="!scope.row.chatVOList?.length" @click="toReply(scope.row)">回复</el-button>
|
||||
<el-button size="small" type="success" v-if="scope.row.chatVOList?.length">已回复</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -175,7 +176,8 @@ const detilInfo=async (obj)=>{
|
|||
<template #default="scope">
|
||||
<!-- <el-button size="small" @click="handleEditA(scope.$index, scope.row)">编辑</el-button>
|
||||
<el-button size="small" type="danger" @click="handleDeleteA(scope.$index, scope.row)">删除</el-button> -->
|
||||
<el-button size="small" @click="toReply(scope.row)">回复</el-button>
|
||||
<el-button size="small" v-if="!scope.row.chatVOList?.length" @click="toReply(scope.row)">回复</el-button>
|
||||
<el-button size="small" type="success" v-if="scope.row.chatVOList?.length">已回复</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -202,7 +204,8 @@ const detilInfo=async (obj)=>{
|
|||
<template #default="scope">
|
||||
<!-- <el-button size="small" @click="handleEditA(scope.$index, scope.row)">编辑</el-button>
|
||||
<el-button size="small" type="danger" @click="handleDeleteA(scope.$index, scope.row)">删除</el-button> -->
|
||||
<el-button size="small" @click="toReply(scope.row)">回复</el-button>
|
||||
<el-button size="small" v-if="!scope.row.chatVOList?.length" @click="toReply(scope.row)">回复</el-button>
|
||||
<el-button size="small" type="success" v-if="scope.row.chatVOList?.length">已回复</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
|
|||
|
|
@ -222,8 +222,8 @@ function getLastSubstring(str: string): string {
|
|||
<div class="q-wrapper mt30px text-#142142 flex flex-wrap justify-between">
|
||||
<div class="caver relative">
|
||||
<div class="box-title">不良情报</div>
|
||||
<div class="absolute right-0 top-30px w165px text-14px text-#B2B7BE">
|
||||
{{ dataD.length > 0 ? "更新时间:" + dataD[0].createTime : "" }}
|
||||
<div class="absolute right-0 top-30px w195px text-16px text-#B2B7BE">
|
||||
{{ dataD.length > 0 ? "更新时间:" + dataD[0]?.createTime : "" }}
|
||||
</div>
|
||||
<div class="mt23px overflow-y-auto">
|
||||
<el-table
|
||||
|
|
@ -239,16 +239,16 @@ function getLastSubstring(str: string): string {
|
|||
'margin-top': '20px',
|
||||
'font-size': '18px',
|
||||
}"
|
||||
:cell-style="{ 'text-align': 'center', height: '70px' }"
|
||||
:cell-style="{ 'text-align': 'center', height: '70px', 'font-size': '18px' }"
|
||||
>
|
||||
<el-table-column prop="createTime" label="时间" width="110px" />
|
||||
<el-table-column prop="createTime" label="时间" width="130px" />
|
||||
<el-table-column prop="cate" label="类别" width="100px" />
|
||||
<el-table-column prop="title" label="详情" />
|
||||
<el-table-column prop="filePathList" label="情报追踪">
|
||||
<template #default="{ row, $index }">
|
||||
<span
|
||||
v-if="row.filePathList.length > 0"
|
||||
class="text-#5695FF underline text-10px"
|
||||
class="text-#5695FF underline text-16px truncate"
|
||||
@click="openUrl(row.filePathList[0].url)"
|
||||
>{{ row.filePathList[0].originalFileName }}</span
|
||||
>
|
||||
|
|
@ -315,12 +315,12 @@ function getLastSubstring(str: string): string {
|
|||
'margin-top': '20px',
|
||||
'font-size': '18px',
|
||||
}"
|
||||
:cell-style="{ 'text-align': 'center', height: '70px' }"
|
||||
:cell-style="{ 'text-align': 'center', height: '70px', 'font-size': '18px' }"
|
||||
>
|
||||
<el-table-column prop="monthStr" label="时间" width="70px" />
|
||||
<el-table-column prop="indexId" label="供应商" width="" />
|
||||
<el-table-column prop="partSum" label="数量" width="" />
|
||||
<el-table-column prop="title" label="不良内容" width="">
|
||||
<el-table-column prop="title" label="不良内容" width="96px">
|
||||
<!-- <template #default="{ row, $index }">
|
||||
<span
|
||||
v-if="row.filePathList.length > 0"
|
||||
|
|
@ -378,9 +378,9 @@ function getLastSubstring(str: string): string {
|
|||
'margin-top': '20px',
|
||||
'font-size': '18px',
|
||||
}"
|
||||
:cell-style="{ 'text-align': 'center', height: '70px' }"
|
||||
:cell-style="{ 'text-align': 'center', height: '70px', 'font-size': '18px' }"
|
||||
>
|
||||
<el-table-column prop="createTime" label="时间" width="110px" />
|
||||
<el-table-column prop="createTime" label="时间" width="132px" />
|
||||
<el-table-column prop="title" label="详情" width="110px" />
|
||||
<el-table-column prop="source" label="来源" width="110px" />
|
||||
<el-table-column
|
||||
|
|
@ -391,7 +391,7 @@ function getLastSubstring(str: string): string {
|
|||
<template #default="{ row, $index }">
|
||||
<span
|
||||
v-if="row.filePathList.length > 0"
|
||||
class="text-#5695FF underline text-10px maxWidth150"
|
||||
class="text-#5695FF underline text-16px w-80px truncate"
|
||||
@click="openUrl(row.filePathList[0].url)"
|
||||
>{{ row.filePathList[0].originalFileName }}</span
|
||||
>
|
||||
|
|
@ -442,7 +442,7 @@ function getLastSubstring(str: string): string {
|
|||
'margin-top': '20px',
|
||||
'font-size': '18px',
|
||||
}"
|
||||
:cell-style="{ 'text-align': 'center', height: '70px' }"
|
||||
:cell-style="{ 'text-align': 'center', height: '70px', 'font-size': '18px' }"
|
||||
>
|
||||
<el-table-column prop="createTime" label="时间" width="150px" />
|
||||
<el-table-column prop="title" label="内容" width="150px" />
|
||||
|
|
@ -455,7 +455,7 @@ function getLastSubstring(str: string): string {
|
|||
<template #default="{ row, $index }">
|
||||
<span
|
||||
v-if="row.filePathList.length > 0"
|
||||
class="text-#5695FF underline text-10px maxWidth150"
|
||||
class="text-#5695FF underline text-16px w-80px truncate"
|
||||
@click="openUrl(row.filePathList[0].url)"
|
||||
>{{ row.filePathList[0].originalFileName }}</span
|
||||
>
|
||||
|
|
|
|||
|
|
@ -380,7 +380,7 @@ const cateValue = ref('新品')
|
|||
<el-button type="primary" @click="handleEditB" class="my20px">不良情报新增</el-button>
|
||||
<el-table :data="dataB" style="width: 95%"
|
||||
:header-cell-style="{ background: '#2A7BF7', color: '#fff', height: '60px', textAlign: 'center', 'font-size': '24px' }"
|
||||
:cell-style="{ 'text-align': 'center' }">
|
||||
:cell-style="{ 'text-align': 'center', 'font-size': '16px' }">
|
||||
|
||||
<el-table-column label="时间" prop="createTime" />
|
||||
<el-table-column label="类别" prop="cate" />
|
||||
|
|
@ -413,7 +413,7 @@ const cateValue = ref('新品')
|
|||
<el-button type="primary" @click="handleEditA" class="my20px">不良统计新增</el-button>
|
||||
<el-table :data="dataA" style="width: 95%"
|
||||
:header-cell-style="{ background: '#2A7BF7', color: '#fff', height: '60px', textAlign: 'center', 'font-size': '24px' }"
|
||||
:cell-style="{ 'text-align': 'center' }">
|
||||
:cell-style="{ 'text-align': 'center' , 'font-size': '16px'}">
|
||||
<el-table-column label="时间" prop="monthDate" width="180px" />
|
||||
<el-table-column label="供应商" prop="indexId" width="220px" />
|
||||
<!-- <el-table-column label="计件数" prop="partSum" width="150px"/>
|
||||
|
|
@ -451,7 +451,7 @@ const cateValue = ref('新品')
|
|||
<el-button type="primary" @click="handleEditC" class="my20px">品质情报新增</el-button>
|
||||
<el-table :data="dataC" style="width: 95%"
|
||||
:header-cell-style="{ background: '#2A7BF7', color: '#fff', height: '60px', textAlign: 'center', 'font-size': '24px' }"
|
||||
:cell-style="{ 'text-align': 'center' }">
|
||||
:cell-style="{ 'text-align': 'center' , 'font-size': '16px'}">
|
||||
<el-table-column label="时间" prop="createTime" />
|
||||
<el-table-column label="详情" prop="title" />
|
||||
<el-table-column label="来源" prop="source" />
|
||||
|
|
@ -483,7 +483,7 @@ const cateValue = ref('新品')
|
|||
<el-button type="primary" @click="handleEditD" class="my20px">活动进展新增</el-button>
|
||||
<el-table :data="dataD" style="width: 95%"
|
||||
:header-cell-style="{ background: '#2A7BF7', color: '#fff', height: '60px', textAlign: 'center', 'font-size': '24px' }"
|
||||
:cell-style="{ 'text-align': 'center' }">
|
||||
:cell-style="{ 'text-align': 'center' , 'font-size': '16px'}">
|
||||
|
||||
|
||||
<el-table-column label="时间" prop="createTime" />
|
||||
|
|
|
|||
Loading…
Reference in New Issue