mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 10:18:42 +08:00 
			
		
		
		
	多模块重构 12:修改项目名字,按照新的规则
This commit is contained in:
		
							
								
								
									
										68
									
								
								yudao-ui-admin/src/components/IconSelect/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								yudao-ui-admin/src/components/IconSelect/index.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,68 @@ | ||||
| <!-- @author zhengjie --> | ||||
| <template> | ||||
|   <div class="icon-body"> | ||||
|     <el-input v-model="name" style="position: relative;" clearable placeholder="请输入图标名称" @clear="filterIcons" @input.native="filterIcons"> | ||||
|       <i slot="suffix" class="el-icon-search el-input__icon" /> | ||||
|     </el-input> | ||||
|     <div class="icon-list"> | ||||
|       <div v-for="(item, index) in iconList" :key="index" @click="selectedIcon(item)"> | ||||
|         <svg-icon :icon-class="item" style="height: 30px;width: 16px;" /> | ||||
|         <span>{{ item }}</span> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import icons from './requireIcons' | ||||
| export default { | ||||
|   name: 'IconSelect', | ||||
|   data() { | ||||
|     return { | ||||
|       name: '', | ||||
|       iconList: icons | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     filterIcons() { | ||||
|       this.iconList = icons | ||||
|       if (this.name) { | ||||
|         this.iconList = this.iconList.filter(item => item.includes(this.name)) | ||||
|       } | ||||
|     }, | ||||
|     selectedIcon(name) { | ||||
|       this.$emit('selected', name) | ||||
|       document.body.click() | ||||
|     }, | ||||
|     reset() { | ||||
|       this.name = '' | ||||
|       this.iconList = icons | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <style rel="stylesheet/scss" lang="scss" scoped> | ||||
|   .icon-body { | ||||
|     width: 100%; | ||||
|     padding: 10px; | ||||
|     .icon-list { | ||||
|       height: 200px; | ||||
|       overflow-y: scroll; | ||||
|       div { | ||||
|         height: 30px; | ||||
|         line-height: 30px; | ||||
|         margin-bottom: -5px; | ||||
|         cursor: pointer; | ||||
|         width: 33%; | ||||
|         float: left; | ||||
|       } | ||||
|       span { | ||||
|         display: inline-block; | ||||
|         vertical-align: -0.15em; | ||||
|         fill: currentColor; | ||||
|         overflow: hidden; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| </style> | ||||
							
								
								
									
										11
									
								
								yudao-ui-admin/src/components/IconSelect/requireIcons.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								yudao-ui-admin/src/components/IconSelect/requireIcons.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
|  | ||||
| const req = require.context('../../assets/icons/svg', false, /\.svg$/) | ||||
| const requireAll = requireContext => requireContext.keys() | ||||
|  | ||||
| const re = /\.\/(.*)\.svg/ | ||||
|  | ||||
| const icons = requireAll(req).map(i => { | ||||
|   return i.match(re)[1] | ||||
| }) | ||||
|  | ||||
| export default icons | ||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV