1
This commit is contained in:
26
package-lock.json
generated
26
package-lock.json
generated
@@ -28,7 +28,6 @@
|
||||
"@babel/preset-env": "^7.12.0",
|
||||
"autoprefixer": "^10.4.21",
|
||||
"babel-loader": "^8.2.0",
|
||||
"cross-env": "^10.1.0",
|
||||
"css-loader": "^5.0.0",
|
||||
"file-loader": "^6.2.0",
|
||||
"less": "^4.0.0",
|
||||
@@ -1814,13 +1813,6 @@
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@epic-web/invariant": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/@epic-web/invariant/-/invariant-1.0.0.tgz",
|
||||
"integrity": "sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@jridgewell/gen-mapping": {
|
||||
"version": "0.3.13",
|
||||
"resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
|
||||
@@ -2849,24 +2841,6 @@
|
||||
"@cropper/utils": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/cross-env": {
|
||||
"version": "10.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/cross-env/-/cross-env-10.1.0.tgz",
|
||||
"integrity": "sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@epic-web/invariant": "^1.0.0",
|
||||
"cross-spawn": "^7.0.6"
|
||||
},
|
||||
"bin": {
|
||||
"cross-env": "dist/bin/cross-env.js",
|
||||
"cross-env-shell": "dist/bin/cross-env-shell.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/cross-spawn": {
|
||||
"version": "7.0.6",
|
||||
"resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
||||
|
||||
@@ -59,15 +59,7 @@
|
||||
<script>
|
||||
import templateRender from './templateRender'
|
||||
import FrameworkSwitch from '../switch/index.vue'
|
||||
|
||||
// 导入框架中的图标配置
|
||||
let icons = []
|
||||
try {
|
||||
icons = require('../../config/icons.json') || []
|
||||
} catch (e) {
|
||||
console.warn('未找到图标配置文件,图标选择功能将不可用', e)
|
||||
icons = []
|
||||
}
|
||||
import { SELECT_ICON_OPTIONS } from './selectIconOptions'
|
||||
|
||||
export default {
|
||||
name: 'FieldRenderer',
|
||||
@@ -91,7 +83,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
icons: []
|
||||
icons: SELECT_ICON_OPTIONS
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -112,21 +104,13 @@ export default {
|
||||
return this.value
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
// 安全处理图标数据
|
||||
if (Array.isArray(icons)) {
|
||||
this.icons = icons.map((item) => item.trim ? item.trim() : item)
|
||||
} else {
|
||||
this.icons = []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 组件映射表 - 统一管理组件类型
|
||||
getComponentName(componentType) {
|
||||
const componentMap = {
|
||||
'Select': 'Select',
|
||||
'Radio': 'RadioGroup',
|
||||
'SelectIcon': 'AutoComplete',
|
||||
'SelectIcon': 'Select',
|
||||
'UploadSingle': 'UploadSingle',
|
||||
'TextArea': 'TextArea',
|
||||
'Input': 'Input',
|
||||
@@ -174,7 +158,9 @@ export default {
|
||||
baseProps.filterable = true
|
||||
baseProps.clearable = true
|
||||
} else if (col.com === 'SelectIcon') {
|
||||
baseProps.icon = 'ios-search'
|
||||
baseProps.filterable = true
|
||||
baseProps.clearable = true
|
||||
baseProps.placeholder = col.placeholder || '搜索或选择图标'
|
||||
} else if (col.com === 'TextArea') {
|
||||
baseProps.rows = 4
|
||||
baseProps.placeholder = '请输入内容'
|
||||
@@ -255,6 +241,7 @@ export default {
|
||||
'TextArea': 'width:100%;',
|
||||
'DatePicker': 'width:100%;',
|
||||
'TimePicker': 'width:100%;',
|
||||
'SelectIcon': 'width:100%;',
|
||||
"inputNumber": "width:100%;",
|
||||
|
||||
}
|
||||
|
||||
306
src/components/tables/selectIconOptions.js
Normal file
306
src/components/tables/selectIconOptions.js
Normal file
@@ -0,0 +1,306 @@
|
||||
/**
|
||||
* 菜单/表单「图标」下拉选项(与 View Design Icon 的 type 一致)
|
||||
* 不依赖 icons.json,保证 UMD 打包后无需额外静态资源即可使用
|
||||
*/
|
||||
export const SELECT_ICON_OPTIONS = [
|
||||
'md-add',
|
||||
'md-add-circle',
|
||||
'md-alarm',
|
||||
'md-albums',
|
||||
'md-alert',
|
||||
'md-american-football',
|
||||
'md-analytics',
|
||||
'md-aperture',
|
||||
'md-apps',
|
||||
'md-appstore',
|
||||
'md-archive',
|
||||
'md-arrow-back',
|
||||
'md-arrow-down',
|
||||
'md-arrow-dropdown',
|
||||
'md-arrow-dropdown-circle',
|
||||
'md-arrow-dropleft',
|
||||
'md-arrow-dropleft-circle',
|
||||
'md-arrow-dropright',
|
||||
'md-arrow-dropright-circle',
|
||||
'md-arrow-dropup',
|
||||
'md-arrow-dropup-circle',
|
||||
'md-arrow-forward',
|
||||
'md-arrow-round-back',
|
||||
'md-arrow-round-down',
|
||||
'md-arrow-round-forward',
|
||||
'md-arrow-round-up',
|
||||
'md-arrow-up',
|
||||
'md-at',
|
||||
'md-attach',
|
||||
'md-backspace',
|
||||
'md-barcode',
|
||||
'md-baseball',
|
||||
'md-basket',
|
||||
'md-basketball',
|
||||
'md-battery-charging',
|
||||
'md-battery-dead',
|
||||
'md-battery-full',
|
||||
'md-beaker',
|
||||
'md-beer',
|
||||
'md-bicycle',
|
||||
'md-bluetooth',
|
||||
'md-boat',
|
||||
'md-body',
|
||||
'md-bonfire',
|
||||
'md-book',
|
||||
'md-bookmark',
|
||||
'md-bookmarks',
|
||||
'md-bowtie',
|
||||
'md-briefcase',
|
||||
'md-browsers',
|
||||
'md-brush',
|
||||
'md-bug',
|
||||
'md-build',
|
||||
'md-bulb',
|
||||
'md-bus',
|
||||
'md-cafe',
|
||||
'md-calculator',
|
||||
'md-calendar',
|
||||
'md-call',
|
||||
'md-camera',
|
||||
'md-car',
|
||||
'md-card',
|
||||
'md-cart',
|
||||
'md-cash',
|
||||
'md-chatboxes',
|
||||
'md-chatbubbles',
|
||||
'md-checkbox',
|
||||
'md-checkbox-outline',
|
||||
'md-checkmark',
|
||||
'md-checkmark-circle',
|
||||
'md-checkmark-circle-outline',
|
||||
'md-clipboard',
|
||||
'md-clock',
|
||||
'md-close',
|
||||
'md-close-circle',
|
||||
'md-closed-captioning',
|
||||
'md-cloud',
|
||||
'md-cloud-circle',
|
||||
'md-cloud-done',
|
||||
'md-cloud-download',
|
||||
'md-cloud-outline',
|
||||
'md-cloud-upload',
|
||||
'md-cloudy',
|
||||
'md-cloudy-night',
|
||||
'md-code',
|
||||
'md-code-download',
|
||||
'md-code-working',
|
||||
'md-cog',
|
||||
'md-color-fill',
|
||||
'md-color-filter',
|
||||
'md-color-palette',
|
||||
'md-color-wand',
|
||||
'md-compass',
|
||||
'md-construct',
|
||||
'md-contact',
|
||||
'md-contacts',
|
||||
'md-contract',
|
||||
'md-contrast',
|
||||
'md-copy',
|
||||
'md-create',
|
||||
'md-crop',
|
||||
'md-cube',
|
||||
'md-cut',
|
||||
'md-desktop',
|
||||
'md-disc',
|
||||
'md-document',
|
||||
'md-done-all',
|
||||
'md-download',
|
||||
'md-easel',
|
||||
'md-egg',
|
||||
'md-exit',
|
||||
'md-expand',
|
||||
'md-eye',
|
||||
'md-eye-off',
|
||||
'md-fastforward',
|
||||
'md-female',
|
||||
'md-filing',
|
||||
'md-film',
|
||||
'md-finger-print',
|
||||
'md-flag',
|
||||
'md-flame',
|
||||
'md-flash',
|
||||
'md-flask',
|
||||
'md-flower',
|
||||
'md-folder',
|
||||
'md-folder-open',
|
||||
'md-football',
|
||||
'md-funnel',
|
||||
'md-game-controller-a',
|
||||
'md-game-controller-b',
|
||||
'md-git-branch',
|
||||
'md-git-commit',
|
||||
'md-git-compare',
|
||||
'md-git-merge',
|
||||
'md-git-network',
|
||||
'md-git-pull-request',
|
||||
'md-glasses',
|
||||
'md-globe',
|
||||
'md-grid',
|
||||
'md-hammer',
|
||||
'md-hand',
|
||||
'md-happy',
|
||||
'md-headset',
|
||||
'md-heart',
|
||||
'md-heart-outline',
|
||||
'md-help',
|
||||
'md-help-buoy',
|
||||
'md-help-circle',
|
||||
'md-home',
|
||||
'md-ice-cream',
|
||||
'md-image',
|
||||
'md-images',
|
||||
'md-infinite',
|
||||
'md-information',
|
||||
'md-information-circle',
|
||||
'md-ionic',
|
||||
'md-ionitron',
|
||||
'md-jet',
|
||||
'md-key',
|
||||
'md-keypad',
|
||||
'md-laptop',
|
||||
'md-leaf',
|
||||
'md-link',
|
||||
'md-list',
|
||||
'md-list-box',
|
||||
'md-locate',
|
||||
'md-lock',
|
||||
'md-log-in',
|
||||
'md-log-out',
|
||||
'md-magnet',
|
||||
'md-mail',
|
||||
'md-mail-open',
|
||||
'md-male',
|
||||
'md-man',
|
||||
'md-map',
|
||||
'md-medal',
|
||||
'md-medical',
|
||||
'md-medkit',
|
||||
'md-megaphone',
|
||||
'md-menu',
|
||||
'md-mic',
|
||||
'md-mic-off',
|
||||
'md-microphone',
|
||||
'md-moon',
|
||||
'md-more',
|
||||
'md-move',
|
||||
'md-musical-note',
|
||||
'md-musical-notes',
|
||||
'md-navigate',
|
||||
'md-no-smoking',
|
||||
'md-notifications',
|
||||
'md-notifications-off',
|
||||
'md-notifications-outline',
|
||||
'md-nuclear',
|
||||
'md-nutrition',
|
||||
'md-open',
|
||||
'md-options',
|
||||
'md-outlet',
|
||||
'md-paper',
|
||||
'md-paper-plane',
|
||||
'md-partly-sunny',
|
||||
'md-pause',
|
||||
'md-paw',
|
||||
'md-people',
|
||||
'md-person',
|
||||
'md-person-add',
|
||||
'md-phone-landscape',
|
||||
'md-phone-portrait',
|
||||
'md-photos',
|
||||
'md-pie',
|
||||
'md-pin',
|
||||
'md-pint',
|
||||
'md-pizza',
|
||||
'md-plane',
|
||||
'md-planet',
|
||||
'md-play',
|
||||
'md-podium',
|
||||
'md-power',
|
||||
'md-pricetag',
|
||||
'md-pricetags',
|
||||
'md-print',
|
||||
'md-pulse',
|
||||
'md-qr-scanner',
|
||||
'md-quote',
|
||||
'md-radio',
|
||||
'md-radio-button-off',
|
||||
'md-radio-button-on',
|
||||
'md-rainy',
|
||||
'md-recording',
|
||||
'md-redo',
|
||||
'md-refresh',
|
||||
'md-refresh-circle',
|
||||
'md-remove',
|
||||
'md-remove-circle',
|
||||
'md-reorder',
|
||||
'md-repeat',
|
||||
'md-resize',
|
||||
'md-restaurant',
|
||||
'md-return-left',
|
||||
'md-return-right',
|
||||
'md-reverse-camera',
|
||||
'md-rewind',
|
||||
'md-ribbon',
|
||||
'md-rose',
|
||||
'md-sad',
|
||||
'md-school',
|
||||
'md-search',
|
||||
'md-send',
|
||||
'md-settings',
|
||||
'md-share',
|
||||
'md-share-alt',
|
||||
'md-shirt',
|
||||
'md-shuffle',
|
||||
'md-skip-backward',
|
||||
'md-skip-forward',
|
||||
'md-snow',
|
||||
'md-speedometer',
|
||||
'md-square',
|
||||
'md-square-outline',
|
||||
'md-star',
|
||||
'md-star-half',
|
||||
'md-star-outline',
|
||||
'md-stats',
|
||||
'md-stopwatch',
|
||||
'md-subway',
|
||||
'md-sunny',
|
||||
'md-swap',
|
||||
'md-switch',
|
||||
'md-sync',
|
||||
'md-tablet-landscape',
|
||||
'md-tablet-portrait',
|
||||
'md-tennisball',
|
||||
'md-text',
|
||||
'md-thermometer',
|
||||
'md-thumbs-down',
|
||||
'md-thumbs-up',
|
||||
'md-thunderstorm',
|
||||
'md-time',
|
||||
'md-timer',
|
||||
'md-train',
|
||||
'md-transgender',
|
||||
'md-trash',
|
||||
'md-trending-down',
|
||||
'md-trending-up',
|
||||
'md-trophy',
|
||||
'md-umbrella',
|
||||
'md-undo',
|
||||
'md-unlock',
|
||||
'md-videocam',
|
||||
'md-volume-down',
|
||||
'md-volume-mute',
|
||||
'md-volume-off',
|
||||
'md-volume-up',
|
||||
'md-walk',
|
||||
'md-warning',
|
||||
'md-watch',
|
||||
'md-water',
|
||||
'md-wifi',
|
||||
'md-wine',
|
||||
'md-woman'
|
||||
]
|
||||
Reference in New Issue
Block a user