cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
2 lines (1 loc) • 5.8 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var e=require("vue"),a=require("../tools.js"),l=require("./images/five.js"),t=require("./images/nine.js"),n=require("./images/ten.js");require("./index.vue_vue_type_style_index_0_scoped_true_lang.js");var u=require("../../_virtual/plugin-vue_export-helper.js");const c=e.defineComponent({name:"CoNavSemicircle",props:{dataSource:{type:Object},dataKey:{type:String},fontFamily:{type:String},firstNavFontSize:{type:Number},secondNavFontSize:{type:Number},centerTextFontSize:{type:Number},defaultColor:{type:String},activeColor:{type:String},menuImgSrc:{type:String},subMenuImgSrc:{type:Array},isCenterTextShow:{type:Boolean}},setup(u,{emit:c}){const r=e.ref([]),i=e.ref([]),o=e.ref(!1),s=e.ref(!0),d=e.ref(0),v=e.ref(0),m=e.ref(0),S=()=>8===u.dataSource.data.length&&("五大振兴"===u.dataSource.data[d.value].title?(y(d.value),s.value=!0):(i.value.length=0,s.value=!1),!0),p=()=>{const e=b();a.handleComponetEvent(u.dataKey,"click",e),a.handlePushEvent({key:"CoNavSemicircle",elementId:u.dataKey,event:"click",data:e})},b=()=>({index:d.value,subIndex:v.value,...r.value[d.value],...i.value[v.value]}),g=()=>{m.value=`class${u.dataSource.data.length}`,r.value=[],u.dataSource.data.forEach(((e,a)=>{r.value.push({title:e.title,enableClick:e.enableClick})}))},y=(e=0)=>{if(!u.dataSource.data[e].items.length)return;const a=8===u.dataSource.data.length?"content"+(e-e):`content${e}`;i.value=[],u.dataSource.data[e].items.forEach(((e,l)=>{i.value.push({...e,content:a})}))},C=e.computed((()=>({backgroundImage:"url("+u.menuImgSrc+")"}))),k=e.computed((()=>{if(u.subMenuImgSrc&&!u.subMenuImgSrc[0].title&&(u.subMenuImgSrc.length=0,u.subMenuImgSrc.push(l.default,t.default,n.default)),S()){return{backgroundImage:"url("+u.subMenuImgSrc[0]+")"}}return{backgroundImage:"url("+(u.subMenuImgSrc[d.value].imgSrc?u.subMenuImgSrc[d.value].imgSrc:u.subMenuImgSrc[d.value])+")"}}));return e.watch((()=>u.dataSource),(()=>{g(),y()}),{deep:!0}),e.onMounted((()=>{g(),y()})),{dataMenu:r,dataSubMenu:i,isOpen:o,isSubOpen:s,activeMenuIndex:d,activeSubMenuIndex:v,menuBg:C,subMenuBg:k,classType:m,navHandler:()=>{const e=b();a.handleComponetEvent(u.dataKey,"click",e),a.handlePushEvent({key:"CoNavSemicircle",elementId:u.dataKey,event:"click",data:e})},subHandler:e=>{if(d.value,r.value[e].enableClick&&"false"===r.value[e].enableClick)return;let l=(e=>d.value===e||(d.value=e,s.value=!0,!1))(e);if(S())a.handleComponetEvent(u.dataKey,"click",{index:d.value,subIndex:i.value.length?v.value:-1,...r.value[d.value],...i.value[v.value]}),a.handlePushEvent({key:"CoNavSemicircle",elementId:u.dataKey,event:"click",data:{index:d.value,subIndex:i.value.length?v.value:-1,...r.value[d.value],...i.value[v.value]}});else if(y(d.value),s.value=!s.value,l)p();else{v.value=0,p();let e=setTimeout((()=>{s.value=!s.value,window.clearTimeout(e)}),300)}},dispatchAction:e=>{let l=v.value;v.value=e;const t=b();t.enableClick&&"false"===t.enableClick?v.value=l:(a.handleComponetEvent(u.dataKey,"click",t),a.handlePushEvent({key:"CoNavSemicircle",elementId:u.dataKey,event:"click",data:t}))},...e.toRefs(u)}}}),r={class:"co-nav-semicircle"},i={class:"container"},o=["onClick"],s=["onClick"];var d=u.default(c,[["render",function(a,l,t,n,u,c){return e.openBlock(),e.createElementBlock("section",r,[e.createElementVNode("div",{class:"btn-open",onClick:l[0]||(l[0]=(...e)=>a.navHandler&&a.navHandler(...e)),style:e.normalizeStyle({fontSize:a.centerTextFontSize+"px"})},[e.withDirectives(e.createElementVNode("span",null,"政策详情",512),[[e.vShow,a.isCenterTextShow]])],4),e.createElementVNode("div",i,[e.createElementVNode("div",{class:e.normalizeClass(["globalmenu",{isSubOpen:a.isOpen}])},[e.createElementVNode("div",{class:"menu-inner",style:e.normalizeStyle(a.menuBg)},null,4),e.createElementVNode("div",{class:"menu-mid",style:e.normalizeStyle(a.menuBg)},[e.createElementVNode("div",{class:e.normalizeClass([a.classType,"active"+a.activeMenuIndex])},null,2),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dataMenu,((l,t)=>(e.openBlock(),e.createElementBlock("li",{key:l.title,class:e.normalizeClass([a.classType]),onClick:e=>a.subHandler(t)},[e.createElementVNode("a",{class:e.normalizeClass("false"===l.enableClick?"enable":"")},[e.createElementVNode("span",{class:e.normalizeClass(["false"===l.enableClick?"enable-color":""]),style:e.normalizeStyle([{color:a.activeMenuIndex===t?a.activeColor:a.defaultColor},{fontSize:a.firstNavFontSize+"px"}])},e.toDisplayString(l.title),7)],2)],10,o)))),128))])],4),e.createElementVNode("div",{class:"menu-mid-boder",style:e.normalizeStyle(a.menuBg)},null,4),e.createElementVNode("div",{class:"menu-outer",style:e.normalizeStyle(a.menuBg)},null,4)],2),e.createElementVNode("div",{class:e.normalizeClass(["submenu",{"opened-nav":a.isSubOpen}]),style:e.normalizeStyle(a.subMenuBg)},[e.createElementVNode("div",{class:e.normalizeClass(["menu"+(8===a.dataMenu.length?a.activeMenuIndex-a.activeMenuIndex:a.activeMenuIndex),"active"+a.activeSubMenuIndex])},null,2),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dataSubMenu,((l,t)=>(e.openBlock(),e.createElementBlock("li",{key:l.subTitle,class:e.normalizeClass([l.content]),onClick:e=>a.dispatchAction(t)},[e.createElementVNode("a",{class:e.normalizeClass("false"===l.enableClick?"enable":"")},[e.createElementVNode("span",{style:e.normalizeStyle([{color:a.activeSubMenuIndex===t?a.activeColor:a.defaultColor},{fontSize:a.secondNavFontSize+"px"}]),class:e.normalizeClass(["false"===l.enableClick?"enable-color":""])},e.toDisplayString(l.subTitle),7)],2)],10,s)))),128))])],6)])])}],["__scopeId","data-v-e18c3306"]]);exports.default=d;