大屏组件开发
This commit is contained in:
		| @@ -18,6 +18,7 @@ | |||||||
|   import Summary10 from './components/Summary10' |   import Summary10 from './components/Summary10' | ||||||
|   import Summary11 from './components/Summary11' |   import Summary11 from './components/Summary11' | ||||||
|   import Summary12 from './components/Summary12' |   import Summary12 from './components/Summary12' | ||||||
|  |   import Summary13 from './components/Summary13' | ||||||
|  |  | ||||||
|   export default { |   export default { | ||||||
|     name: 'AiDvSummary', |     name: 'AiDvSummary', | ||||||
| @@ -35,7 +36,8 @@ | |||||||
|       Summary9, |       Summary9, | ||||||
|       Summary10, |       Summary10, | ||||||
|       Summary11, |       Summary11, | ||||||
|       Summary12 |       Summary12, | ||||||
|  |       Summary13 | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     props: { |     props: { | ||||||
|   | |||||||
							
								
								
									
										102
									
								
								components/layout/AiDvSummary/components/Summary13.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								components/layout/AiDvSummary/components/Summary13.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,102 @@ | |||||||
|  | <template> | ||||||
|  |   <div class="summary13"> | ||||||
|  |     <div class="summary13-item" v-for="(item, index) in data" :key="index" v-if="index < 4"> | ||||||
|  |       <h2>{{ item[keys] }}:</h2> | ||||||
|  |       <p>{{ item[value] }}</p> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  |  | ||||||
|  | <script> | ||||||
|  |   export default { | ||||||
|  |     name: 'summary13', | ||||||
|  |  | ||||||
|  |     props: { | ||||||
|  |       data: { | ||||||
|  |         type: Array, | ||||||
|  |         default: () => [] | ||||||
|  |       }, | ||||||
|  |  | ||||||
|  |       keys: { | ||||||
|  |         type: String, | ||||||
|  |         default: 'key' | ||||||
|  |       }, | ||||||
|  |  | ||||||
|  |       value: { | ||||||
|  |         type: String, | ||||||
|  |         default: 'value' | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     data () { | ||||||
|  |       return { | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     methods: { | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | </script> | ||||||
|  |  | ||||||
|  | <style lang="scss" scoped> | ||||||
|  |   .summary13 { | ||||||
|  |     display: flex; | ||||||
|  |     flex-wrap: wrap; | ||||||
|  |     justify-content: center; | ||||||
|  |     align-items: center; | ||||||
|  |     width: 100%; | ||||||
|  |     height: 100%; | ||||||
|  |  | ||||||
|  |     div { | ||||||
|  |       box-sizing: border-box; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     .summary13-item { | ||||||
|  |       display: flex; | ||||||
|  |       position: relative; | ||||||
|  |       align-items: center; | ||||||
|  |       justify-content: center; | ||||||
|  |       width: 150px; | ||||||
|  |       height: 40px; | ||||||
|  |       text-align: center; | ||||||
|  |       color: #fff; | ||||||
|  |       font-size: 14px; | ||||||
|  |       border: 1px solid #717171; | ||||||
|  |  | ||||||
|  |       h2 { | ||||||
|  |         color: #C4D8DB; | ||||||
|  |         font-size: 14px; | ||||||
|  |         font-weight: normal; | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       p { | ||||||
|  |         color: #C4D8DB; | ||||||
|  |         font-size: 14px; | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       &::after { | ||||||
|  |         position: absolute; | ||||||
|  |         left: -1px; | ||||||
|  |         top: 50%; | ||||||
|  |         z-index: 11; | ||||||
|  |         width: 1px; | ||||||
|  |         height: 10px; | ||||||
|  |         transform: translateY(-50%); | ||||||
|  |         background: #0c0c0c; | ||||||
|  |         content: ' '; | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       &::before { | ||||||
|  |         position: absolute; | ||||||
|  |         right: - 1px; | ||||||
|  |         top: 50%; | ||||||
|  |         z-index: 11; | ||||||
|  |         width: 1px; | ||||||
|  |         height: 10px; | ||||||
|  |         transform: translateY(-50%); | ||||||
|  |         background: #0c0c0c; | ||||||
|  |         content: ' '; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | </style> | ||||||
| @@ -119,7 +119,7 @@ | |||||||
|       align-items: center; |       align-items: center; | ||||||
|       width: 100%; |       width: 100%; | ||||||
|       height: 40px; |       height: 40px; | ||||||
|       padding: 0 20px; |       padding: 0 16px; | ||||||
|       background: rgba(70, 70, 70, 0.35); |       background: rgba(70, 70, 70, 0.35); | ||||||
|  |  | ||||||
|       span { |       span { | ||||||
| @@ -148,7 +148,7 @@ | |||||||
|         align-items: center; |         align-items: center; | ||||||
|         width: 100%; |         width: 100%; | ||||||
|         height: 52px; |         height: 52px; | ||||||
|         padding: 0 20px; |         padding: 0 16px; | ||||||
|         box-sizing: border-box; |         box-sizing: border-box; | ||||||
|  |  | ||||||
|         &.stripe:nth-of-type(2n) { |         &.stripe:nth-of-type(2n) { | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <template> | <template> | ||||||
|   <div class="AiRanking"> |   <div class="AiRanking"> | ||||||
|     <div class="AiRanking-item" v-for="(item, index) in list" :key="index"> |     <div class="AiRanking-item" v-for="(item, index) in list" :key="index" :class="'AiRanking-item' + (index + 1)"> | ||||||
|       <i>{{ index + 1 }}</i> |       <i>{{ index + 1 }}</i> | ||||||
|       <h2>{{ item.name }}</h2> |       <h2>{{ item.name }}</h2> | ||||||
|       <span>{{ item.value }}</span> |       <span>{{ item.value }}</span> | ||||||
| @@ -78,9 +78,24 @@ | |||||||
|       height: 36px; |       height: 36px; | ||||||
|       margin-bottom: 16px; |       margin-bottom: 16px; | ||||||
|       padding-right: 18px; |       padding-right: 18px; | ||||||
|       background: url(./asset/ranking1.png) no-repeat; |       background: url(./asset/ranking4.png) no-repeat; | ||||||
|       background-size: 100% 100%; |       background-size: 100% 100%; | ||||||
|  |  | ||||||
|  |       &.AiRanking-item1 { | ||||||
|  |         background: url(./asset/ranking1.png) no-repeat; | ||||||
|  |         background-size: 100% 100%; | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       &.AiRanking-item2 { | ||||||
|  |         background: url(./asset/ranking2.png) no-repeat; | ||||||
|  |         background-size: 100% 100%; | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       &.AiRanking-item3 { | ||||||
|  |         background: url(./asset/ranking3.png) no-repeat; | ||||||
|  |         background-size: 100% 100%; | ||||||
|  |       } | ||||||
|  |  | ||||||
|       .AiRanking-item__rate--wrapper { |       .AiRanking-item__rate--wrapper { | ||||||
|         flex: 1; |         flex: 1; | ||||||
|         background: #6F7171; |         background: #6F7171; | ||||||
|   | |||||||
| @@ -182,7 +182,7 @@ export default { | |||||||
|   data() { |   data() { | ||||||
|     return { |     return { | ||||||
|       borderList: ['border0', 'border1', 'border2', 'border3', 'border4', 'border5', 'border6'],//边框待选项 |       borderList: ['border0', 'border1', 'border2', 'border3', 'border4', 'border5', 'border6'],//边框待选项 | ||||||
|       summaryList: ['summary0', 'summary1', 'summary2', 'summary3', 'summary4', 'summary6', 'summary5', 'summary7', 'summary8', 'summary9', 'summary10', 'summary11', 'summary12'],//汇总待选项 |       summaryList: ['summary0', 'summary1', 'summary2', 'summary3', 'summary4', 'summary6', 'summary5', 'summary7', 'summary8', 'summary9', 'summary10', 'summary11', 'summary12', 'summary13'],//汇总待选项 | ||||||
|       //是否显示排名 |       //是否显示排名 | ||||||
|       tableStatus: [ |       tableStatus: [ | ||||||
|         {label: '是', value: '1'}, |         {label: '是', value: '1'}, | ||||||
|   | |||||||
| @@ -3,11 +3,6 @@ | |||||||
|     <div ref="AiEchart" class="chart" :style="{minWidth:grid.width,minHeight:grid.height}"/> |     <div ref="AiEchart" class="chart" :style="{minWidth:grid.width,minHeight:grid.height}"/> | ||||||
|     <slot v-if="$slots.default"/> |     <slot v-if="$slots.default"/> | ||||||
|     <render-component v-else-if="ops.render" :render="ops.render" :options="chartOptions" :data="data"/> |     <render-component v-else-if="ops.render" :render="ops.render" :options="chartOptions" :data="data"/> | ||||||
|     <div class="AiEchart-legend" v-if="legend === '1'"> |  | ||||||
|       <div class="AiEchart-legend__item">居民好友:5230</div> |  | ||||||
|       <div class="AiEchart-legend__item">居民好友:5230</div> |  | ||||||
|       <div class="AiEchart-legend__item">居民好友:5230</div> |  | ||||||
|     </div> |  | ||||||
|   </section> |   </section> | ||||||
| </template> | </template> | ||||||
|  |  | ||||||
| @@ -23,10 +18,6 @@ export default { | |||||||
|     series: Object, |     series: Object, | ||||||
|     theme: { |     theme: { | ||||||
|       default: '0' |       default: '0' | ||||||
|     }, |  | ||||||
|     legend: { |  | ||||||
|       type: String, |  | ||||||
|       default: '0' |  | ||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
|   components: { |   components: { | ||||||
| @@ -124,8 +115,6 @@ export default { | |||||||
|         let oldDims = Object.keys(old?.[0] || {})?.toString(), |         let oldDims = Object.keys(old?.[0] || {})?.toString(), | ||||||
|             current = Object.keys(v?.[0] || {})?.toString() |             current = Object.keys(v?.[0] || {})?.toString() | ||||||
|         this.getChartData(oldDims != current) |         this.getChartData(oldDims != current) | ||||||
|  |  | ||||||
|         console.log(data) |  | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
| @@ -234,53 +223,5 @@ export default { | |||||||
|     height: 100%; |     height: 100%; | ||||||
|     min-height: 100px; |     min-height: 100px; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   .AiEchart-legend { |  | ||||||
|     width: 140px; |  | ||||||
|     margin-left: 20px; |  | ||||||
|     padding-top: 20px; |  | ||||||
|  |  | ||||||
|     div { |  | ||||||
|       display: flex; |  | ||||||
|       position: relative; |  | ||||||
|       align-items: center; |  | ||||||
|       justify-content: center; |  | ||||||
|       height: 40px; |  | ||||||
|       margin-bottom: 8px; |  | ||||||
|       text-align: center; |  | ||||||
|       color: #fff; |  | ||||||
|       font-size: 14px; |  | ||||||
|       border: 1px solid #717171; |  | ||||||
|       box-sizing: border-box; |  | ||||||
|  |  | ||||||
|       &:last-child { |  | ||||||
|         margin-bottom: 0; |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       &::after { |  | ||||||
|         position: absolute; |  | ||||||
|         left: -1px; |  | ||||||
|         top: 50%; |  | ||||||
|         z-index: 11; |  | ||||||
|         width: 1px; |  | ||||||
|         height: 10px; |  | ||||||
|         transform: translateY(-50%); |  | ||||||
|         background: #0c0c0c; |  | ||||||
|         content: ' '; |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       &::before { |  | ||||||
|         position: absolute; |  | ||||||
|         right: - 1px; |  | ||||||
|         top: 50%; |  | ||||||
|         z-index: 11; |  | ||||||
|         width: 1px; |  | ||||||
|         height: 10px; |  | ||||||
|         transform: translateY(-50%); |  | ||||||
|         background: #0c0c0c; |  | ||||||
|         content: ' '; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } | } | ||||||
| </style> | </style> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user