Files

1 line
6.8 KiB
JavaScript

import{Q as e,Z as t,_n as n,mr as r,xt as i}from"./common.js";import{t as a}from"./TextStyle.js";import{n as o,t as s}from"./EchartsBaseConfig.js";import{t as c}from"./EchartsLegendConfig.js";import{n as l,t as u}from"./UseEchartsSeriesConfig.js";import{Fragment as d,createBlock as f,createElementBlock as p,createElementVNode as m,createTextVNode as h,createVNode as g,defineComponent as _,normalizeClass as v,onMounted as y,openBlock as b,ref as x,renderList as S,resolveComponent as C,toDisplayString as w,unref as T,withCtx as E}from"vue";import{Checkbox as D,RadioButton as O,RadioGroup as k,Slider as A}from"ant-design-vue";import{useDesign as j,useMessage as M}from"@mfish/core/hooks";var N={class:`title`},P={class:`title`},ee={class:`title`},te={class:`title`},ne={class:`title`},re={class:`title`},F={class:`title`},I={class:`title`},L=r(_({__name:`PieSeriesConfig`,props:{title:{type:String,default:`柱体样式`},series:{type:Object,default:()=>{}}},emits:[`seriesChange`],setup(t,{emit:r}){let i=t,o=r,{prefixCls:s}=j(`pie-series-config`),c=x(i.series),{createMessage:l}=M(),u=x(0),f=x(0),_=x(50),L=x(50),R=x(50),z=x(),B=x(),V=x(),H=x({}),U=x(!0),W=x(0),G=x(),K=[{title:`外部`,value:`outside`},{title:`内部`,value:`inside`},{title:`中心`,value:`center`}],q=x(`outside`),J=x(0);y(()=>{Y()});function Y(){c.value.itemStyle?.borderRadius!==void 0&&(u.value=c.value.itemStyle.borderRadius),c.value.smooth!==void 0&&(W.value=c.value.smooth),c.value.radius!==void 0&&(f.value=c.value.radius[0].replace(`%`,``),_.value=c.value.radius[1].replace(`%`,``)),c.value.center!==void 0&&(L.value=c.value.center[0].replace(`%`,``),R.value=c.value.center[1].replace(`%`,``)),c.value.startAngle!==void 0&&(z.value=c.value.startAngle),c.value.endAngle!==void 0&&(B.value=c.value.endAngle),H.value={},H.value.font=c.value?.label?.fontFamily,H.value.fontSize=c.value?.label?.fontSize?.replace(`px`,``),H.value.textColor=c.value?.label?.color;let e=c.value?.label?.fontStyle?{italic:!0}:{},t=c.value?.label?.fontWeight?{bold:!0}:{};H.value.fontStyle={...e,...t},c.value?.label?.formatter&&(G.value=c.value.label.formatter),c.value?.label?.position&&(q.value=c.value.label.position),c.value?.label?.rotate&&(J.value=c.value.label.rotate)}function ie(e){e(JSON.stringify({series:c.value}))}function ae(e){let t=JSON.parse(e);t&&t.series?(c.value=t.series,Y(),o(`seriesChange`,c.value)):l.warning(`粘贴失败,无配置或不匹配`)}function oe(){c.value.itemStyle={...c.value?.itemStyle,borderRadius:u.value},o(`seriesChange`,c.value)}function se(e){c.value.label={...c.value.label,show:e},o(`seriesChange`,c.value)}function ce(e){delete c.value?.label?.fontStyle,delete c.value?.label?.fontWeight,X(e)}function X(e){c.value.label={...c.value?.label,...e.style},o(`seriesChange`,c.value)}function Z(){c.value.labelLine={...c.value?.labelLine,show:U.value},o(`seriesChange`,c.value)}function le(){c.value.labelLine={...c.value?.labelLine,smooth:W.value},o(`seriesChange`,c.value)}function ue(){G.value?c.value.label={...c.value?.label,formatter:G.value}:delete c.value?.label?.formatter,o(`seriesChange`,c.value)}function Q(){c.value.radius=[`${f.value}%`,`${_.value}%`],o(`seriesChange`,c.value)}function $(){c.value.center=[`${L.value}%`,`${R.value}%`],o(`seriesChange`,c.value)}function de(){z.value===void 0||z.value===null?delete c.value.startAngle:c.value.startAngle=z.value,o(`seriesChange`,c.value)}function fe(){B.value===void 0||B.value===null?delete c.value.endAngle:c.value.endAngle=B.value,o(`seriesChange`,c.value)}function pe(){V.value===void 0||V.value===null?delete c.value.padAngle:c.value.padAngle=V.value,o(`seriesChange`,c.value)}function me(){c.value.label={...c.value?.label,position:q.value},o(`seriesChange`,c.value)}function he(){c.value.label={...c.value?.label,rotate:J.value},o(`seriesChange`,c.value)}return(r,i)=>{let o=C(`AInput`);return b(),p(`div`,{class:v(T(s))},[g(e,{title:t.title,"default-expand":!1,"allow-copy":!0,onCopy:ie,onPaste:ae},{default:E(()=>[g(e,{title:`图形样式`},{default:E(()=>[m(`div`,N,[i[13]||=h(` 内圈半径 `,-1),g(T(A),{value:f.value,"onUpdate:value":i[0]||=e=>f.value=e,min:0,max:100,onChange:Q},null,8,[`value`]),i[14]||=h(` 外圈半径 `,-1),g(T(A),{value:_.value,"onUpdate:value":i[1]||=e=>_.value=e,min:0,max:100,onChange:Q},null,8,[`value`])]),m(`div`,P,[i[15]||=h(` 横向偏移 `,-1),g(T(A),{value:L.value,"onUpdate:value":i[2]||=e=>L.value=e,min:0,max:100,onChange:$},null,8,[`value`]),i[16]||=h(` 纵向偏移 `,-1),g(T(A),{value:R.value,"onUpdate:value":i[3]||=e=>R.value=e,min:0,max:100,onChange:$},null,8,[`value`])]),m(`div`,ee,[i[17]||=h(` 起始角度 `,-1),g(T(A),{value:z.value,"onUpdate:value":i[4]||=e=>z.value=e,step:5,min:0,max:360,onChange:de},null,8,[`value`]),i[18]||=h(` 结束角度 `,-1),g(T(A),{value:B.value,"onUpdate:value":i[5]||=e=>B.value=e,step:5,min:0,max:360,onChange:fe},null,8,[`value`])]),m(`div`,te,[i[19]||=h(` 圆角 `,-1),g(T(A),{value:u.value,"onUpdate:value":i[6]||=e=>u.value=e,min:0,max:50,onChange:oe},null,8,[`value`]),i[20]||=h(` 扇区间隔 `,-1),g(T(A),{value:V.value,"onUpdate:value":i[7]||=e=>V.value=e,min:0,max:360,onChange:pe},null,8,[`value`])])]),_:1}),g(e,{title:`标签设置`,"default-expand":!1,"allow-check":!0,"title-check":t.series?.label?.show,onChecked:se},{default:E(()=>[g(a,{"hide-font-style":[T(n).Underline,T(n).Strikethrough],"color-type":1,"hide-align":!0,"text-style":H.value,onFontChange:X,onSizeChange:X,onFontStyleChange:ce,onColorChange:X},null,8,[`hide-font-style`,`text-style`]),m(`div`,ne,[g(T(D),{checked:U.value,"onUpdate:checked":i[8]||=e=>U.value=e,onChange:Z},{default:E(()=>[...i[21]||=[h(` 显示标签线`,-1)]]),_:1},8,[`checked`]),i[22]||=h(` 平滑度 `,-1),g(T(A),{value:W.value,"onUpdate:value":i[9]||=e=>W.value=e,step:.1,min:0,max:1,onChange:le},null,8,[`value`])]),m(`div`,re,[i[23]||=h(` 标签位置 `,-1),g(T(k),{size:`small`,value:q.value,"onUpdate:value":i[10]||=e=>q.value=e,onChange:me},{default:E(()=>[(b(),p(d,null,S(K,(e,t)=>g(T(O),{key:t,value:e.value},{default:E(()=>[h(w(e.title),1)]),_:2},1032,[`value`])),64))]),_:1},8,[`value`])]),m(`div`,F,[i[24]||=h(` 标签角度 `,-1),g(T(A),{value:J.value,"onUpdate:value":i[11]||=e=>J.value=e,min:-90,max:90,onChange:he},null,8,[`value`])]),m(`div`,I,[i[25]||=h(` 标签格式 `,-1),m(`div`,null,[g(o,{value:G.value,"onUpdate:value":i[12]||=e=>G.value=e,placeholder:`格式{a}{b}{c}{d} 详情参考pie label formatter属性`,onChange:ue},null,8,[`value`])])])]),_:1},8,[`title-check`])]),_:1},8,[`title`])],2)}}}),[[`__scopeId`,`data-v-b6b52b5d`]]),R=_({__name:`MfPieConfig`,setup(e){let n=i(),{seriesChange:r}=u();return(e,i)=>(b(),f(t,null,{default:E(()=>[g(s),g(o),g(l,{"hide-trigger":!0}),g(c),(b(!0),p(d,null,S(T(n).getCurConfigComponent.chart.options?.series,(e,t)=>(b(),f(L,{title:`饼状图-${t+1}`,key:t,series:e,onSeriesChange:e=>T(r)(e,t)},null,8,[`title`,`series`,`onSeriesChange`]))),128))]),_:1}))}});export{R as default};