| 
                        123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 
                        - import type { CSSProperties } from 'react'
 - import { memo, useMemo } from 'react'
 - import ReactECharts from 'echarts-for-react'
 - import type { EChartsOption } from 'echarts'
 - import style from './index.module.css'
 - import classNames from '@/utils/classnames'
 - 
 - export type SimplePieChartProps = {
 -   percentage?: number
 -   fill?: string
 -   stroke?: string
 -   size?: number
 -   className?: string
 - }
 - 
 - const SimplePieChart = ({ percentage = 80, fill = '#fdb022', stroke = '#f79009', size = 12, className }: SimplePieChartProps) => {
 -   const option: EChartsOption = useMemo(() => ({
 -     series: [
 -       {
 -         type: 'pie',
 -         radius: ['83%', '100%'],
 -         animation: false,
 -         data: [
 -           { value: 100, itemStyle: { color: stroke } },
 -         ],
 -         emphasis: {
 -           disabled: true,
 -         },
 -         labelLine: {
 -           show: false,
 -         },
 -         cursor: 'default',
 -       },
 -       {
 -         type: 'pie',
 -         radius: '83%',
 -         animationDuration: 600,
 -         data: [
 -           { value: percentage, itemStyle: { color: fill } },
 -           { value: 100 - percentage, itemStyle: { color: '#fff' } },
 -         ],
 -         emphasis: {
 -           disabled: true,
 -         },
 -         labelLine: {
 -           show: false,
 -         },
 -         cursor: 'default',
 -       },
 -     ],
 -   }), [stroke, fill, percentage])
 - 
 -   return (
 -     <ReactECharts
 -       option={option}
 -       className={classNames(style.simplePieChart, className)}
 -       style={{
 -         '--simple-pie-chart-color': fill,
 -         'width': size,
 -         'height': size,
 -       } as CSSProperties}
 -     />
 -   )
 - }
 - 
 - export default memo(SimplePieChart)
 
 
  |