diff --git a/src/components/form-designer/form-widget/field-widget/fieldMixin.js b/src/components/form-designer/form-widget/field-widget/fieldMixin.js index 90177d0..47294c7 100644 --- a/src/components/form-designer/form-widget/field-widget/fieldMixin.js +++ b/src/components/form-designer/form-widget/field-widget/fieldMixin.js @@ -198,7 +198,7 @@ export default { }, buildFieldRules() { - if (!this.field.formItemFlag) { + if (!this.field.formItemFlag && this.field.options.hidden) { return } diff --git a/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue b/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue index d259141..e840ba2 100644 --- a/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue +++ b/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue @@ -205,22 +205,17 @@ } this.updateFieldModelAndEmitDataChangeForUpload(fileList, customResult, res) + if (!!customResult && !!customResult.name) { + file.name = customResult.name + } + if (!!customResult && !!customResult.url) { + file.url = customResult.url + } this.fileList = deepClone(fileList) this.uploadBtnHidden = fileList.length >= this.field.options.limit } }, - // handleFileRemove(file, fileList) { - // this.fileList = deepClone(fileList) //this.fileList = fileList - // this.updateUploadFieldModelAndEmitDataChange(fileList) - // this.uploadBtnHidden = fileList.length >= this.field.options.limit - // - // if (!!this.field.options.onFileRemove) { - // let customFn = new Function('file', 'fileList', this.field.options.onFileRemove) - // customFn.call(this, file, fileList) - // } - // }, - updateFieldModelAndEmitDataChangeForRemove(deletedFileIdx, fileList) { let oldValue = deepClone(this.fieldModel) this.fieldModel.splice(deletedFileIdx, 1) diff --git a/src/utils/util.js b/src/utils/util.js index 4240614..173ccf5 100644 --- a/src/utils/util.js +++ b/src/utils/util.js @@ -127,6 +127,10 @@ export const loadRemoteScript = function(srcPath, callback) { /*加载远程js } export function traverseFieldWidgets(widgetList, handler, parent = null) { + if (!widgetList) { + return + } + widgetList.map(w => { if (w.formItemFlag) { handler(w, parent) @@ -153,6 +157,10 @@ export function traverseFieldWidgets(widgetList, handler, parent = null) { } export function traverseContainerWidgets(widgetList, handler) { + if (!widgetList) { + return + } + widgetList.map(w => { if (w.category === 'container') { handler(w) @@ -181,6 +189,10 @@ export function traverseContainerWidgets(widgetList, handler) { } export function traverseAllWidgets(widgetList, handler) { + if (!widgetList) { + return + } + widgetList.map(w => { handler(w) @@ -259,6 +271,10 @@ export function traverseFieldWidgetsOfContainer(con, handler) { * @returns {[]} */ export function getAllFieldWidgets(widgetList) { + if (!widgetList) { + return [] + } + let result = [] let handlerFn = (w) => { result.push({ @@ -278,6 +294,10 @@ export function getAllFieldWidgets(widgetList) { * @returns {[]} */ export function getAllContainerWidgets(widgetList) { + if (!widgetList) { + return [] + } + let result = [] let handlerFn = (w) => { result.push({