### [[2025]]年 - [[2025-06|06月]], [[2025-06-21|<]] [[第173天]] [[2025-06-23|>]] , 日曜日 --- ## 記事 [HIMEHINA 4th ALBUM『Bubblin』 \| HIMEHINA Official Website&Fanclub](https://himehina.jp/pages/4th-album-bubblin) 3748 * 0.055 12370-9400 #### 出账 ##### 货款 ###### amex Oamex:: 9148 2200(2108+point) 5400+3748 ###### tongyi Otongyi:: ###### nashiga Onashiga:: ##### 消耗 ###### tongyi Utongyi:: ###### nashiga Unashiga:: ##### 工资 ###### tongyi Stongyi:: ###### nashiga Snashiga:: 500 #### 入账 ###### tongyi Inashiga:: 2563 300+146+104+1700+133-25+205 Itongyi:: 1662 202+176+130+227+197+600+130 ```dataviewjs const d = dv.current() // === 原始字段 === const amex = d.Oamex || 0 const tongyi = d.Otongyi || 0 const nashiga = d.Onashiga || 0 const use_tongyi = d.Utongyi || 0 const use_nashiga = d.Unashiga || 0 const sal_tongyi = d.Stongyi || 0 const sal_nashiga = d.Snashiga || 0 // === 汇总值 === const oOUTall = amex + tongyi + nashiga const oUSEall = use_tongyi + use_nashiga const oSALall = sal_tongyi + sal_nashiga const oALL = oOUTall + oUSEall + oSALall // === Chart 配置 === const chartData = { type: 'doughnut', data: { labels: [ '总货款', '总消耗', '总工资' ], datasets: [ { label: '总支出分类', data: [oOUTall, oUSEall, oSALall], backgroundColor: [ 'rgba(75, 192, 192, 0.6)', // OUT 'rgba(153, 102, 255, 0.6)', // USE 'rgba(255, 159, 64, 0.6)' // SAL ], borderColor: [ 'rgba(75, 192, 192, 1)', 'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)' ], borderWidth: 1 } ] }, options: { responsive: true, cutout: '50%', plugins: { legend: { position: 'bottom' }, tooltip: { enabled: true }, centerText: { display: true, text: `总支出:¥${oALL.toLocaleString()}` } } }, plugins: [ { id: 'centerText', beforeDraw: function (chart) { const width = chart.width; const height = chart.height; const ctx = chart.ctx; ctx.restore(); const fontSize = (height / 150).toFixed(2); ctx.font = `${fontSize}em sans-serif`; ctx.textBaseline = 'middle'; const text = chart.options.plugins.centerText.text; const textX = Math.round((width - ctx.measureText(text).width) / 2); const textY = height / 2; ctx.fillText(text, textX, textY); ctx.save(); } } ] } window.renderChart(chartData, this.container) ``` --- # memos