diff --git a/src/assets/icons/image.svg b/src/assets/icons/image.svg new file mode 100644 index 0000000..fdbdfbe --- /dev/null +++ b/src/assets/icons/image.svg @@ -0,0 +1 @@ + diff --git a/src/components/generator/config.js b/src/components/generator/config.js index 549c231..82d0fa6 100644 --- a/src/components/generator/config.js +++ b/src/components/generator/config.js @@ -512,6 +512,37 @@ export const selectComponents = [ } ] + +// 布局型组件 【左面板】 +export const imageComponents = [ + { + typeId: 18, + __config__: { + label: '图片展示', + showLabel: false, + labelWidth: null, + showDefaultValue: false, + showRequired:false, + showClearable:false, + showRegList:false, + tag: 'el-image', + tagIcon: 'image', + layout: 'colFormItem', + span: 24, + required: true, + regList: [], + changeTag: true, + }, + __slot__: { + 'error':'image' + }, + style: {width: '100%'}, + src: '', + fit : 'contain', + alt:'', + } +] + // // 布局型组件 【左面板】 // export const layoutComponents = [ // { diff --git a/src/components/parser/Parser.vue b/src/components/parser/Parser.vue index aebef97..10ac043 100644 --- a/src/components/parser/Parser.vue +++ b/src/components/parser/Parser.vue @@ -341,6 +341,7 @@ export default { submitForm() { this.$refs[this.formConf.formRef].validate(valid => { if (!valid){ + // 未选中自动高亮 if(document.getElementsByClassName('el-form-item__error').length>0){ } diff --git a/src/components/render/render.js b/src/components/render/render.js index e89fb4f..9ba05a6 100644 --- a/src/components/render/render.js +++ b/src/components/render/render.js @@ -125,7 +125,6 @@ export default { const dataObject = makeDataObject() const confClone = deepClone(this.conf) const children = this.$slots.default || [] - // 如果slots文件夹存在与当前tag同名的文件,则执行文件中的代码 mountSlotFlies.call(this, h, confClone, children) diff --git a/src/components/render/slots/el-image.js b/src/components/render/slots/el-image.js new file mode 100644 index 0000000..8b97104 --- /dev/null +++ b/src/components/render/slots/el-image.js @@ -0,0 +1,8 @@ +export default { + error(h, conf, key) { + return
+ +
+ } +} diff --git a/src/utils/convert.js b/src/utils/convert.js index 3878c8a..e3b3529 100644 --- a/src/utils/convert.js +++ b/src/utils/convert.js @@ -1,5 +1,5 @@ import _ from 'lodash' -import {inputComponents, selectComponents} from '@/components/generator/config' +import {imageComponents, inputComponents, selectComponents} from '@/components/generator/config' import {jsonClone} from '@/utils/index' /** @@ -45,7 +45,7 @@ export function dbDataConvertForItemJson(data) { } if (!typeMap.size > 0) { //根据类型获取默认数据 - _.concat(inputComponents, selectComponents).forEach(item => { + _.concat(inputComponents, selectComponents,imageComponents).forEach(item => { typeMap.set(item.typeId, item) }) } @@ -158,6 +158,11 @@ let dataParams = { 'limit': 'limit', 'multiple': 'multiple' + }, + //图片 + 18: { + 'src': 'src', + 'alt': 'alt' } } diff --git a/src/utils/sign.js b/src/utils/sign.js index 0433795..0742a86 100644 --- a/src/utils/sign.js +++ b/src/utils/sign.js @@ -49,8 +49,6 @@ export default class sign { let jsonObj = _.merge(urlParams, requestParams) jsonObj = _.merge(jsonObj, dataParams) let requestBody = this.sortAsc(jsonObj) - console.log(constants.signSecret + JSON.stringify(requestBody)) - console.log(CryptoJS.MD5(constants.signSecret + JSON.stringify(requestBody)).toString().toLowerCase()) return CryptoJS.MD5(constants.signSecret + JSON.stringify(requestBody)).toString().toLowerCase() } diff --git a/src/views/form/RightPanel.vue b/src/views/form/RightPanel.vue index b35b022..d7117ba 100644 --- a/src/views/form/RightPanel.vue +++ b/src/views/form/RightPanel.vue @@ -35,7 +35,9 @@ {{ activeData.__config__.componentName }} - + @@ -79,14 +81,16 @@ - - - - - - - + + + + + + + + - + @@ -549,7 +553,24 @@ - + + + + 点击上传图片 * + + + @@ -571,7 +592,8 @@ -