@kp-ui/lowcode 1.0.96 → 1.0.98

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/package.json +2 -3
  2. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +13 -12
  3. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js.map +1 -1
  4. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -1
  5. package/src/components/form-designer/form-widget/field-widget/cascader-widget.vue.js +1 -1
  6. package/src/components/form-designer/form-widget/field-widget/cascader-widget.vue.js.map +1 -1
  7. package/src/components/form-designer/form-widget/field-widget/code-editor-widget.vue.js +3 -3
  8. package/src/components/form-designer/form-widget/field-widget/code-editor-widget.vue.js.map +1 -1
  9. package/src/components/form-designer/form-widget/field-widget/date-range-widget.vue.js +8 -8
  10. package/src/components/form-designer/form-widget/field-widget/date-range-widget.vue.js.map +1 -1
  11. package/src/components/form-designer/form-widget/field-widget/fieldMixin.js +2 -3
  12. package/src/components/form-designer/form-widget/field-widget/fieldMixin.js.map +1 -1
  13. package/src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue.js +1 -1
  14. package/src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue.js.map +1 -1
  15. package/src/components/form-designer/form-widget/field-widget/treeSelect-widget.vue.js +1 -1
  16. package/src/components/form-designer/form-widget/field-widget/treeSelect-widget.vue.js.map +1 -1
  17. package/src/components/form-designer/form-widget/index.vue.js +1 -1
  18. package/src/components/form-designer/form-widget/index.vue.js.map +1 -1
  19. package/src/components/form-designer/index.vue.js +1 -1
  20. package/src/components/form-designer/index.vue.js.map +1 -1
  21. package/src/components/form-designer/setting-panel/index.vue.js +31 -33
  22. package/src/components/form-designer/setting-panel/index.vue.js.map +1 -1
  23. package/src/components/form-designer/setting-panel/property-editor/actionColumnPosition-editor.vue.js +12 -13
  24. package/src/components/form-designer/setting-panel/property-editor/actionColumnPosition-editor.vue.js.map +1 -1
  25. package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js.map +1 -1
  26. package/src/components/form-designer/setting-panel/property-editor/container-sub-form/sub-form-labelAlign-editor.vue.js +13 -14
  27. package/src/components/form-designer/setting-panel/property-editor/container-sub-form/sub-form-labelAlign-editor.vue.js.map +1 -1
  28. package/src/components/form-designer/setting-panel/property-editor/container-vf-drawer/vf-drawer-direction-editor.vue.js +5 -6
  29. package/src/components/form-designer/setting-panel/property-editor/container-vf-drawer/vf-drawer-direction-editor.vue.js.map +1 -1
  30. package/src/components/form-designer/setting-panel/property-editor/labelAlign-editor.vue.js +1 -1
  31. package/src/components/form-designer/setting-panel/property-editor/labelAlign-editor.vue.js.map +1 -1
  32. package/src/components/form-designer/toolbar-panel/index.vue.js +2 -2
  33. package/src/components/form-designer/toolbar-panel/index.vue2.js.map +1 -1
  34. package/src/components/form-render/container-item/data-table-item.vue.js +2 -1
  35. package/src/components/form-render/container-item/data-table-item.vue.js.map +1 -1
  36. package/src/components/form-render/container-item/grid-sub-form-item.vue.js +1 -1
  37. package/src/components/form-render/container-item/grid-sub-form-item.vue.js.map +1 -1
  38. package/src/components/form-render/container-item/sub-form-item.vue.js +5 -2
  39. package/src/components/form-render/container-item/sub-form-item.vue.js.map +1 -1
  40. package/src/components/form-render/container-item/vf-collapse-item.vue.js +1 -1
  41. package/src/components/form-render/container-item/vf-collapse-item.vue.js.map +1 -1
  42. package/src/components/form-render/dynamic-drawer.vue.js +2 -2
  43. package/src/components/form-render/dynamic-drawer.vue.js.map +1 -1
  44. package/src/components/form-render/dynamic-drawer.vue2.js +2 -0
  45. package/src/components/form-render/dynamic-drawer.vue2.js.map +1 -0
  46. package/src/components/form-render/index.vue.js +3 -2
  47. package/src/components/form-render/index.vue.js.map +1 -1
  48. package/src/components/public/ActionButtonListRender.vue.js +1 -1
  49. package/src/components/public/ActionButtonListRender.vue.js.map +1 -1
  50. package/src/components/public/ActionButtonListRender.vue2.js +37 -32
  51. package/src/components/public/ActionButtonListRender.vue2.js.map +1 -1
  52. package/src/components/public/QuillEditor/index.vue.js +13 -15
  53. package/src/components/public/QuillEditor/index.vue.js.map +1 -1
  54. package/src/mixins/useDataTableMixin.js +4 -0
  55. package/src/mixins/useDataTableMixin.js.map +1 -1
  56. package/stats.html +1 -1
  57. package/styles/style.css +8 -2
  58. package/types/install.d.ts +26 -0
  59. package/src/components/code-editor/index.vue.js +0 -8
  60. package/src/components/code-editor/index.vue.js.map +0 -1
  61. package/src/components/code-editor/index.vue2.js +0 -106
  62. package/src/components/code-editor/index.vue2.js.map +0 -1
  63. package/src/components/form-designer/setting-panel/property-editor/actionColumnPosition-editor.vue2.js +0 -2
  64. package/src/components/form-designer/setting-panel/property-editor/actionColumnPosition-editor.vue2.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fieldMixin.js","sources":["../../../../../../src/components/form-designer/form-widget/field-widget/fieldMixin.js"],"sourcesContent":["import { deepClone, translateOptionItems } from '@/utils/util';\nimport FormValidators from '@/utils/validators';\nimport { fmtHttpParams } from '@/utils/request/fmtHttpParams';\nimport { isArray, eq } from 'lodash-es';\n\nexport default {\n inject: [\n 'refList',\n 'getFormConfig',\n 'globalOptionData',\n 'globalModel',\n 'getOptionData',\n 'getGlobalDsv',\n 'getReadMode',\n 'getSubFormFieldFlag',\n 'getSubFormName',\n 'getDSResultCache'\n ],\n data() {\n return {\n fieldReadonlyFlag: false,\n loading: false\n };\n },\n computed: {\n formConfig() {\n return this.getFormConfig();\n },\n\n subFormName() {\n return !!this.getSubFormName ? this.getSubFormName() : '';\n },\n\n subFormItemFlag() {\n return !!this.getSubFormFieldFlag ? this.getSubFormFieldFlag() : false;\n },\n\n formModel: {\n cache: false,\n get() {\n return this.globalModel.formModel;\n }\n },\n\n isReadMode() {\n //return this.getReadMode() || this.fieldReadonlyFlag\n return !!this.getReadMode() ? true : this.fieldReadonlyFlag;\n },\n\n optionLabel() {\n if (this.fieldModel === null) {\n return '';\n } else {\n let resultContent = '';\n\n const { valueKey, labelKey } = this.field.options;\n this.field.options.optionItems.forEach(oItem => {\n if (\n oItem[valueKey] === this.fieldModel ||\n this.findInArray(this.fieldModel, oItem[valueKey]) !== -1\n ) {\n resultContent =\n resultContent === ''\n ? oItem[labelKey]\n : resultContent + ' ' + oItem[labelKey];\n }\n });\n\n return resultContent;\n }\n }\n },\n\n methods: {\n handleHidden() {\n if (this.designState) {\n return false;\n }\n const { onHidden, hidden } = this.field.options;\n if (hidden) return true;\n if (onHidden) {\n const onHiddenFn = new Function(onHidden);\n return onHiddenFn.call(this);\n }\n return false;\n },\n handleDisabled() {\n if (this.designState) {\n return false;\n }\n const { onDisabled, disabled } = this.field.options;\n if (disabled) return true;\n if (onDisabled) {\n try {\n const disabledFn = new Function(onDisabled);\n return disabledFn.call(this);\n } catch (error) {\n console.log({ error });\n }\n }\n return false;\n },\n findInArray(arrayObject, element) {\n if (!Array.isArray(arrayObject)) {\n return -1;\n }\n\n let foundIdx = -1;\n arrayObject.forEach((aItem, aIdx) => {\n if (aItem === element) {\n foundIdx = aIdx;\n }\n });\n\n return foundIdx;\n },\n\n //--------------------- 组件内部方法 begin ------------------//\n getPropName() {\n if (this.subFormItemFlag && !this.designState) {\n return (\n this.subFormName +\n '.' +\n this.subFormRowIndex +\n '.' +\n this.field.options.name +\n ''\n );\n } else {\n return this.field.options.name;\n }\n },\n\n initFieldModel() {\n if (!this.field.formItemFlag) {\n return;\n }\n if (!!this.subFormItemFlag && !this.designState) {\n //SubForm子表单组件需要特殊处理!!\n const subFormData = this.formModel[this.subFormName];\n if (\n (subFormData === undefined ||\n subFormData[this.subFormRowIndex] === undefined ||\n subFormData[this.subFormRowIndex][this.field.options.name] === undefined) &&\n this.field.options.defaultValue !== undefined\n ) {\n this.fieldModel = this.field.options.defaultValue;\n subFormData[this.subFormRowIndex][this.field.options.name] =\n this.field.options.defaultValue;\n } else if (\n subFormData[this.subFormRowIndex][this.field.options.name] === undefined\n ) {\n this.fieldModel = null;\n subFormData[this.subFormRowIndex][this.field.options.name] = null;\n } else {\n this.fieldModel = subFormData[this.subFormRowIndex][this.field.options.name];\n }\n\n /* 主动触发子表单内field-widget的onChange事件!! */\n setTimeout(() => {\n //延时触发onChange事件, 便于更新计算字段!!\n this.handleOnChangeForSubForm(\n this.fieldModel,\n this.oldFieldValue,\n [],\n subFormData,\n this.subFormRowId\n );\n }, 800);\n this.oldFieldValue = deepClone(this.fieldModel);\n\n this.initFileList(); //处理图片上传、文件上传字段\n\n return;\n }\n\n if (\n this.formModel[this.field.options.name] === undefined &&\n this.field.options.defaultValue !== undefined\n ) {\n this.fieldModel = this.field.options.defaultValue;\n } else if (this.formModel[this.field.options.name] === undefined) {\n //如果formModel为空对象,则初始化字段值为null!!\n this.formModel[this.field.options.name] = null;\n } else {\n this.fieldModel = this.formModel[this.field.options.name];\n }\n this.oldFieldValue = deepClone(this.fieldModel);\n this.initFileList(); //处理图片上传、文件上传字段\n },\n\n initFileList() {\n //初始化上传组件的已上传文件列表\n if (\n (this.field.type !== 'picture-upload' && this.field.type !== 'file-upload') ||\n this.designState === true\n ) {\n return;\n }\n\n if (this.fieldModel) {\n if (typeof this.fieldModel === 'string') {\n this.fieldModel = JSON.parse(this.fieldModel);\n }\n }\n },\n\n initEventHandler() {\n this.on$('setFormData', newFormData => {\n //console.log('formModel of globalModel----------', this.globalModel.formModel)\n if (!this.subFormItemFlag) {\n this.setValue(newFormData[this.field.options.name]);\n }\n });\n\n this.on$('field-value-changed', values => {\n if (!!this.subFormItemFlag) {\n const subFormData = this.formModel[this.subFormName];\n this.handleOnChangeForSubForm(\n values[0],\n values[1],\n subFormData,\n this.subFormRowId\n );\n } else {\n this.handleOnChange(values[0], values[1]);\n }\n });\n\n /* 监听从数据集加载选项事件 */\n this.on$('loadOptionItemsFromDataSet', dsName => {\n this.loadOptionItemsFromDataSet(dsName);\n });\n\n this.on$('reloadOptionItems', widgetNames => {\n if (widgetNames.length === 0 || widgetNames.indexOf(this.field.options.name) > -1) {\n this.initOptionItems(true);\n }\n });\n },\n\n handleOnCreated() {\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n if (!!this.field.options.onCreated) {\n const customFunc = new Function(this.field.options.onCreated);\n customFunc.call(this);\n }\n },\n\n handleOnMounted() {\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n if (!!this.field.options.onMounted) {\n const mountFunc = new Function(this.field.options.onMounted);\n mountFunc.call(this);\n }\n },\n\n registerToRefList(oldRefName) {\n if (this.refList !== null && !!this.field.options.name) {\n if (this.subFormItemFlag && !this.designState) {\n //处理子表单元素(且非设计状态)\n if (!!oldRefName) {\n delete this.refList[oldRefName + '@row' + this.subFormRowId];\n }\n this.refList[this.field.options.name + '@row' + this.subFormRowId] = this;\n } else {\n if (!!oldRefName) {\n delete this.refList[oldRefName];\n }\n this.refList[this.field.options.name] = this;\n }\n }\n },\n\n unregisterFromRefList() {\n //销毁组件时注销组件ref\n if (this.refList !== null && !!this.field.options.name) {\n const oldRefName = this.field.options.name;\n if (this.subFormItemFlag && !this.designState) {\n //处理子表单元素(且非设计状态)\n delete this.refList[oldRefName + '@row' + this.subFormRowId];\n } else {\n delete this.refList[oldRefName];\n }\n }\n },\n clearOptionItems() {\n if (!!this.field.options.dsEnabled) {\n this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项\n }\n },\n\n async initOptionItems(keepSelected) {\n if (this.designState) {\n return;\n }\n if (this.loading) return;\n this.loading = true;\n if (\n ['radio', 'checkbox', 'select', 'cascader', 'treeSelect'].includes(this.field.type)\n ) {\n /* 首先处理数据源选项加载 */\n if (!!this.field.options.dsEnabled && this.field.options.http?.url) {\n try {\n const dsResult = await fmtHttpParams.call(this, this.field.options, {\n fieldCode: this.field.options.name\n });\n if (isArray(dsResult)) {\n this.loadOptions(dsResult);\n }\n if (isArray(dsResult.list)) {\n if (this.field.options.loadingPage) {\n this.pager.total = dsResult.total || 0;\n this.pager.totalPage = dsResult.totalPage || 0;\n this.loadOptions([...this.getOptionItems(), ...dsResult.list]);\n } else {\n this.loadOptions(dsResult.list);\n }\n }\n } catch (err) {\n console.error('err: ', err);\n }\n }\n\n /* 异步更新option-data之后globalOptionData不能获取到最新值,改用provide的getOptionData()方法 */\n const newOptionItems = this.getOptionData();\n if (!!newOptionItems && newOptionItems.hasOwnProperty(this.field.options.name)) {\n if (!!keepSelected) {\n this.reloadOptions(newOptionItems[this.field.options.name]);\n } else {\n this.loadOptions(newOptionItems[this.field.options.name]);\n }\n }\n this.loading = false;\n }\n },\n\n loadOptionItemsFromDataSet(dsName) {\n if (this.designState) {\n return;\n }\n\n if (\n this.field.type !== 'radio' &&\n this.field.type !== 'checkbox' &&\n this.field.type !== 'select' &&\n this.field.type !== 'cascader'\n ) {\n return;\n }\n\n if (\n !this.field.options.dsEnabled ||\n !this.field.options.dsName ||\n !this.field.options.dataSetName ||\n this.field.options.dsName !== dsName\n ) {\n return;\n }\n\n const dataCache = this.getDSResultCache();\n const dSetName = this.field.options.dataSetName;\n if (!!dataCache && !!dataCache[dsName] && !!dataCache[dsName][dSetName]) {\n this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项\n this.loadOptions(dataCache[dsName][dSetName]);\n }\n },\n\n refreshDefaultValue() {\n if (this.designState === true && this.field.options.defaultValue !== undefined) {\n this.fieldModel = this.field.options.defaultValue;\n }\n },\n\n clearFieldRules() {\n if (!this.field.formItemFlag) {\n return;\n }\n\n this.rules.splice(0, this.rules.length); //清空已有\n },\n\n buildFieldRules() {\n if (!this.field.formItemFlag || this.field.options.hidden) {\n return;\n }\n\n this.rules.splice(0, this.rules.length); //清空已有\n if (!!this.field.options.required) {\n this.rules.push({\n required: true,\n //trigger: ['blur', 'change'],\n trigger: [\n 'blur'\n ] /* 去掉change事件触发校验,change事件触发时formModel数据尚未更新,导致radio/checkbox必填校验出错!! */,\n message:\n this.field.options.requiredHint || this.i18nt('render.hint.fieldRequired')\n });\n }\n\n if (!!this.field.options.validation) {\n const vldName = this.field.options.validation;\n if (!!FormValidators[vldName]) {\n this.rules.push({\n validator: FormValidators[vldName],\n trigger: ['blur', 'change'],\n label: this.field.options.label,\n errorMsg: this.field.options.validationHint\n });\n } else {\n this.rules.push({\n validator: FormValidators['regExp'],\n trigger: ['blur', 'change'],\n regExp: vldName,\n label: this.field.options.label,\n errorMsg: this.field.options.validationHint\n });\n }\n }\n\n if (!!this.field.options.onValidate) {\n //let customFn = new Function('rule', 'value', 'callback', this.field.options.onValidate)\n const customFn = (rule, value) => {\n const tmpFunc = new Function('rule', 'value', this.field.options.onValidate);\n return tmpFunc.call(this, rule, value);\n };\n this.rules.push({\n validator: customFn,\n trigger: ['blur'],\n label: this.field.options.label\n });\n }\n },\n\n /**\n * 禁用字段值变动触发表单校验\n */\n disableChangeValidate() {\n if (!this.rules) {\n return;\n }\n\n this.rules.forEach(rule => {\n if (!!rule.trigger) {\n rule.trigger.splice(0, rule.trigger.length);\n }\n });\n },\n\n /**\n * 启用字段值变动触发表单校验\n */\n enableChangeValidate() {\n if (!this.rules) {\n return;\n }\n\n this.rules.forEach(rule => {\n if (!!rule.trigger) {\n rule.trigger.push('blur');\n rule.trigger.push('change');\n }\n });\n },\n\n disableOptionOfList(optionList, optionValue) {\n if (!!optionList && optionList.length > 0) {\n optionList.forEach(opt => {\n if (opt.value === optionValue) {\n opt.disabled = true;\n }\n });\n }\n },\n\n enableOptionOfList(optionList, optionValue) {\n if (!!optionList && optionList.length > 0) {\n optionList.forEach(opt => {\n if (opt.value === optionValue) {\n opt.disabled = false;\n }\n });\n }\n },\n\n //--------------------- 组件内部方法 end ------------------//\n\n //--------------------- 事件处理 begin ------------------//\n\n emitFieldDataChange(newValue, oldValue) {\n if (newValue) {\n newValue = newValue.target ? newValue.target.value : newValue;\n }\n\n this.emit$('field-value-changed', [newValue, oldValue]);\n\n /* 必须用dispatch向指定父组件派发消息!! */\n this.dispatch('VFormRender', 'fieldChange', [\n this.field.options.name,\n newValue,\n oldValue,\n this.subFormName,\n this.subFormRowIndex\n ]);\n },\n\n syncUpdateFormModel(value) {\n if (!!this.designState) {\n return;\n }\n\n if (!!this.subFormItemFlag) {\n const subFormData = this.formModel[this.subFormName] || [{}];\n const subFormDataRow = subFormData[this.subFormRowIndex];\n if (!!subFormDataRow) {\n // 重置表单后subFormDataRow为undefined,应跳过!!\n subFormDataRow[this.field.options.name] = value;\n }\n } else {\n this.formModel[this.field.options.name] = value;\n }\n },\n\n handleChangeEvent(value) {\n if (value) {\n value = value.target ? value.target.value : value;\n }\n\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n this.syncUpdateFormModel(value);\n this.emitFieldDataChange(value, this.oldFieldValue);\n\n //number组件一般不会触发focus事件,故此处需要手工赋值oldFieldValue!!\n this.oldFieldValue =\n deepClone(value); /* oldFieldValue需要在initFieldModel()方法中赋初值!! */\n\n /* 主动触发表单的单个字段校验,用于清除字段可能存在的校验错误提示 */\n this.dispatch('VFormRender', 'fieldValidation', [this.getPropName()]);\n },\n\n handleFocusCustomEvent(event) {\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n this.oldFieldValue = deepClone(this.fieldModel); //保存修改change之前的值\n\n if (!!this.field.options.onFocus) {\n const customFn = new Function('event', this.field.options.onFocus);\n customFn.call(this, event);\n }\n if (this.field.options.loadingPage) {\n this.initPager();\n this.initOptionItems();\n }\n },\n\n handleBlurCustomEvent(event) {\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n if (!!this.field.options.onBlur) {\n const customFn = new Function('event', this.field.options.onBlur);\n customFn.call(this, event);\n }\n },\n\n handleInputCustomEvent(value) {\n if (value) {\n value = value.target ? value.target.value : value;\n }\n\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n this.syncUpdateFormModel(value);\n\n /* 主动触发表单的单个字段校验,用于清除字段可能存在的校验错误提示 */\n this.dispatch('VFormRender', 'fieldValidation', [this.getPropName()]);\n\n if (!!this.field.options.onInput) {\n const customFn = new Function('value', this.field.options.onInput);\n customFn.call(this, value);\n }\n },\n\n emitAppendButtonClick() {\n if (!!this.designState) {\n //设计状态不触发点击事件\n return;\n }\n\n if (!!this.field.options.onAppendButtonClick) {\n const customFn = new Function(this.field.options.onAppendButtonClick);\n customFn.call(this);\n } else {\n /* 必须调用mixins中的dispatch方法逐级向父组件发送消息!! */\n this.dispatch('VFormRender', 'appendButtonClick', [this]);\n }\n },\n\n handleOnChange(val, oldVal, ops = []) {\n //自定义onChange事件\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n if (!!this.field.options.onChange) {\n const changeFn = new Function(\n 'value',\n 'oldValue',\n 'ops',\n this.field.options.onChange\n );\n changeFn.call(this, val, oldVal, ops[0]);\n }\n },\n\n handleOnChangeForSubForm(val, oldVal, ops = [], subFormData, rowId) {\n //子表单自定义onChange事件\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n if (!!this.field.options.onChange) {\n const changeFn = new Function(\n 'value',\n 'oldValue',\n 'ops',\n 'subFormData',\n 'rowId',\n this.field.options.onChange\n );\n changeFn.call(this, val, oldVal, ops[0], subFormData, rowId);\n }\n },\n onClick() {\n if (!!this.designState) {\n //设计状态不触发点击事件\n return;\n }\n\n if (!!this.field.options.onClick) {\n const customFn = new Function(this.field.options.onClick);\n return customFn.call(this);\n } else {\n this.dispatch('VFormRender', 'buttonClick', [this]);\n }\n },\n\n handleButtonWidgetClick() {\n if (!!this.designState) {\n //设计状态不触发点击事件\n return;\n }\n\n if (!!this.field.options.onClick) {\n const customFn = new Function(this.field.options.onClick);\n return customFn.call(this);\n } else {\n this.dispatch('VFormRender', 'buttonClick', [this]);\n }\n },\n /**\n * 下拉框右边搜索按钮\n */\n handleClickIcon() {\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n if (this.handleDisabled()) {\n return;\n }\n if (!!this.field.options.onClickIcon) {\n const onClickIconFn = new Function(this.field.options.onClickIcon);\n onClickIconFn.call(this);\n }\n },\n\n // remoteQuery(keyword) {\n // if (!!this.designState) {\n // //设计状态不触发事件\n // return;\n // }\n\n // if (!!this.field.options.onRemoteQuery) {\n // const remoteFn = new Function('keyword', this.field.options.onRemoteQuery);\n // remoteFn.call(this, keyword);\n // }\n // },\n\n //--------------------- 事件处理 end ------------------//\n\n //--------------------- 以下为组件支持外部调用的API方法 begin ------------------//\n /* 提示:用户可自行扩充这些方法!!! */\n\n getFormRef() {\n /* 获取VFrom引用,必须在VForm组件created之后方可调用 */\n return this.refList['v_form_ref'];\n },\n\n getWidgetRef(widgetName, showError) {\n const foundRef = this.refList[widgetName];\n if (!foundRef && !!showError) {\n this.$message.error(this.i18nt('render.hint.refNotFound') + widgetName);\n }\n return foundRef;\n },\n\n getFieldEditor() {\n //获取内置的el表单组件\n return this.$refs['fieldEditor'];\n },\n showFileList(list) {\n if (typeof list === 'string') {\n list = JSON.parse(list);\n }\n if (!isArray(list)) return [];\n const res = list.map((item, uid) => ({\n ...item,\n name: item.fileName,\n uid\n }));\n return res;\n },\n\n /*\n 注意:VFormRender的setFormData方法不会触发子表单内field-widget的setValue方法,\n 因为setFormData方法调用后,子表单内所有field-widget组件已被清空,接收不到setFormData事件!!\n */\n setValue(newValue, disableChangeEvent = false) {\n if (newValue) {\n newValue = newValue.target ? newValue.target.value : newValue;\n }\n if (eq(this.fieldModel, newValue)) return;\n\n /* if ((this.field.type === 'picture-upload') || (this.field.type === 'file-upload')) {\n this.fileList = newValue\n } else */ if (!!this.field.formItemFlag) {\n const oldValue = deepClone(this.fieldModel);\n if (this.field.type === 'file-upload') {\n newValue = this.showFileList(newValue || []);\n // TODO\n } else if (this.field.type === 'code-editor') {\n this.$refs.fieldEditor.setValue(newValue);\n }\n this.fieldModel = newValue;\n this.initFileList();\n\n this.syncUpdateFormModel(newValue);\n if (!disableChangeEvent) {\n this.emitFieldDataChange(newValue, oldValue);\n }\n }\n },\n\n getValue() {\n console.log('fieldModel', this.fieldModel);\n return this.fieldModel;\n },\n\n resetField() {\n const defaultValue = this.field.options.defaultValue;\n this.setValue(defaultValue);\n this.$nextTick(() => {\n //\n });\n\n //清空上传组件文件列表\n if (this.field.type === 'picture-upload' || this.field.type === 'file-upload') {\n this.fieldModel.splice(0, this.fieldModel.length);\n this.handleChangeEvent(this.fieldModel);\n }\n },\n\n setWidgetOption(optionName, optionValue) {\n //通用组件选项修改API\n if (this.field.options.hasOwnProperty(optionName)) {\n this.field.options[optionName] = optionValue;\n //TODO: 是否重新构建组件??有些属性修改后必须重新构建组件才能生效,比如字段校验规则。\n }\n },\n\n setReadonly(flag) {\n this.field.options.readonly = flag;\n },\n\n setDisabled(flag) {\n this.field.options.disabled = flag;\n },\n\n setAppendButtonVisible(flag) {\n this.field.options.appendButton = flag;\n },\n\n setAppendButtonDisabled(flag) {\n this.field.options.appendButtonDisabled = flag;\n },\n\n setHidden(flag) {\n this.field.options.hidden = flag;\n\n if (!!flag) {\n //清除组件校验规则\n this.clearFieldRules();\n } else {\n //重建组件校验规则\n this.buildFieldRules();\n }\n },\n\n setRequired(flag) {\n this.field.options.required = flag;\n this.buildFieldRules();\n\n if (!this.designState && !flag) {\n //清除必填校验提示\n this.clearValidate();\n }\n },\n\n /**\n * 清除字段校验提示\n */\n clearValidate() {\n if (!!this.designState) {\n return;\n }\n\n this.getFormRef().getNativeForm().clearValidate(this.getPropName());\n },\n getVfCtx() {\n return this.getFormRef().vfCtx;\n },\n\n setLabel(newLabel) {\n this.field.options.label = newLabel;\n },\n\n focus() {\n if (!!this.getFieldEditor() && !!this.getFieldEditor().focus) {\n this.getFieldEditor().focus();\n }\n },\n\n clearSelectedOptions() {\n //清空已选选项\n if (\n this.field.type !== 'checkbox' &&\n this.field.type !== 'radio' &&\n this.field.type !== 'select'\n ) {\n return;\n }\n\n if (\n this.field.type === 'checkbox' ||\n (this.field.type === 'select' && this.field.options.multiple)\n ) {\n this.fieldModel = [];\n } else {\n this.fieldModel = '';\n }\n },\n\n /**\n * 加载选项,并清空字段值\n * @param options\n */\n loadOptions(options) {\n /*\n this.field.options.optionItems = deepClone(options)\n //this.clearSelectedOptions() //清空已选选项\n */\n\n this.field.options.optionItems = translateOptionItems(\n options,\n this.field.type,\n this.field.options.labelKey || 'label',\n this.field.options.valueKey || 'value'\n );\n },\n\n /**\n * 重新加载选项,不清空字段值\n * @param options\n */\n reloadOptions(options) {\n //this.field.options.optionItems = deepClone(options)\n\n this.field.options.optionItems = translateOptionItems(\n options,\n this.field.type,\n this.field.options.labelKey || 'label',\n this.field.options.valueKey || 'value'\n );\n },\n\n disableOption(optionValue) {\n this.disableOptionOfList(this.field.options.optionItems, optionValue);\n },\n\n enableOption(optionValue) {\n this.enableOptionOfList(this.field.options.optionItems, optionValue);\n },\n\n /**\n * 返回选择项\n * @returns {*}\n */\n getOptionItems() {\n return this.field.options.optionItems;\n },\n\n setUploadHeader(name, value) {\n this.uploadHeaders[name] = value;\n },\n\n setUploadData(name, value) {\n this.uploadData[name] = value;\n },\n\n setToolbar(customToolbar) {\n this.customToolbar = customToolbar;\n },\n\n /**\n * 是否子表单内嵌的字段组件\n * @returns {boolean}\n */\n isSubFormItem() {\n return this.subFormItemFlag;\n },\n\n /**\n * 是否子表单内嵌的字段组件\n * @returns {boolean}\n */\n isSubFormField() {\n return this.subFormItemFlag;\n },\n\n /**\n * 设置或取消设置字段只读查看模式\n * @param readonlyFlag\n */\n setReadMode(readonlyFlag = true) {\n this.fieldReadonlyFlag = readonlyFlag;\n },\n\n /**\n * 动态增加自定义css样式\n * @param className\n */\n addCssClass(className) {\n if (!this.field.options.customClass) {\n this.field.options.customClass = [className];\n } else {\n this.field.options.customClass.push(className);\n }\n },\n\n /**\n * 动态移除自定义css样式\n * @param className\n */\n removeCssClass(className) {\n if (!this.field.options.customClass) {\n return;\n }\n\n let foundIdx = -1;\n this.field.options.customClass.map((cc, idx) => {\n if (cc === className) {\n foundIdx = idx;\n }\n });\n if (foundIdx > -1) {\n this.field.options.customClass.splice(foundIdx, 1);\n }\n }\n\n //--------------------- 以上为组件支持外部调用的API方法 end ------------------//\n }\n};\n"],"names":["fieldMixin","resultContent","valueKey","labelKey","oItem","onHidden","hidden","onDisabled","disabled","error","arrayObject","element","foundIdx","aItem","aIdx","subFormData","deepClone","newFormData","values","dsName","widgetNames","oldRefName","keepSelected","_a","dsResult","fmtHttpParams","isArray","err","newOptionItems","dataCache","dSetName","vldName","FormValidators","customFn","rule","value","optionList","optionValue","opt","newValue","oldValue","subFormDataRow","event","val","oldVal","ops","rowId","widgetName","showError","foundRef","list","item","uid","disableChangeEvent","eq","defaultValue","optionName","flag","newLabel","options","translateOptionItems","name","customToolbar","readonlyFlag","className","cc","idx"],"mappings":"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"}
1
+ {"version":3,"file":"fieldMixin.js","sources":["../../../../../../src/components/form-designer/form-widget/field-widget/fieldMixin.js"],"sourcesContent":["import { deepClone, translateOptionItems } from '@/utils/util';\nimport FormValidators from '@/utils/validators';\nimport { fmtHttpParams } from '@/utils/request/fmtHttpParams';\nimport { isArray, eq } from 'lodash-es';\n\nexport default {\n inject: [\n 'refList',\n 'getFormConfig',\n 'globalOptionData',\n 'globalModel',\n 'getOptionData',\n 'getGlobalDsv',\n 'getReadMode',\n 'getSubFormFieldFlag',\n 'getSubFormName',\n 'getDSResultCache'\n ],\n data() {\n return {\n fieldReadonlyFlag: false,\n loading: false\n };\n },\n computed: {\n formConfig() {\n return this.getFormConfig();\n },\n\n subFormName() {\n return !!this.getSubFormName ? this.getSubFormName() : '';\n },\n\n subFormItemFlag() {\n return !!this.getSubFormFieldFlag ? this.getSubFormFieldFlag() : false;\n },\n\n formModel: {\n cache: false,\n get() {\n return this.globalModel.formModel;\n }\n },\n\n isReadMode() {\n //return this.getReadMode() || this.fieldReadonlyFlag\n return !!this.getReadMode() ? true : this.fieldReadonlyFlag;\n },\n\n optionLabel() {\n if (this.fieldModel === null) {\n return '';\n } else {\n let resultContent = '';\n\n const { valueKey, labelKey } = this.field.options;\n this.field.options.optionItems.forEach(oItem => {\n if (\n oItem[valueKey] === this.fieldModel ||\n this.findInArray(this.fieldModel, oItem[valueKey]) !== -1\n ) {\n resultContent =\n resultContent === ''\n ? oItem[labelKey]\n : resultContent + ' ' + oItem[labelKey];\n }\n });\n\n return resultContent;\n }\n }\n },\n\n methods: {\n handleHidden() {\n if (this.designState) {\n return false;\n }\n const { onHidden, hidden } = this.field.options;\n if (hidden) return true;\n if (onHidden) {\n const onHiddenFn = new Function(onHidden);\n return onHiddenFn.call(this);\n }\n return false;\n },\n handleDisabled() {\n if (this.designState) {\n return false;\n }\n const { onDisabled, disabled } = this.field.options;\n if (disabled) return true;\n if (onDisabled) {\n try {\n const disabledFn = new Function(onDisabled);\n return disabledFn.call(this);\n } catch (error) {\n console.log({ error });\n }\n }\n return false;\n },\n findInArray(arrayObject, element) {\n if (!Array.isArray(arrayObject)) {\n return -1;\n }\n\n let foundIdx = -1;\n arrayObject.forEach((aItem, aIdx) => {\n if (aItem === element) {\n foundIdx = aIdx;\n }\n });\n\n return foundIdx;\n },\n\n //--------------------- 组件内部方法 begin ------------------//\n getPropName() {\n if (this.subFormItemFlag && !this.designState) {\n return (\n this.subFormName +\n '.' +\n this.subFormRowIndex +\n '.' +\n this.field.options.name +\n ''\n );\n } else {\n return this.field.options.name;\n }\n },\n\n initFieldModel() {\n if (!this.field.formItemFlag) {\n return;\n }\n if (!!this.subFormItemFlag && !this.designState) {\n //SubForm子表单组件需要特殊处理!!\n const subFormData = this.formModel[this.subFormName];\n if (\n (subFormData === undefined ||\n subFormData[this.subFormRowIndex] === undefined ||\n subFormData[this.subFormRowIndex][this.field.options.name] === undefined) &&\n this.field.options.defaultValue !== undefined\n ) {\n this.fieldModel = this.field.options.defaultValue;\n subFormData[this.subFormRowIndex][this.field.options.name] =\n this.field.options.defaultValue;\n } else if (\n subFormData[this.subFormRowIndex][this.field.options.name] === undefined\n ) {\n this.fieldModel = null;\n subFormData[this.subFormRowIndex][this.field.options.name] = null;\n } else {\n this.fieldModel = subFormData[this.subFormRowIndex][this.field.options.name];\n }\n\n /* 主动触发子表单内field-widget的onChange事件!! */\n setTimeout(() => {\n //延时触发onChange事件, 便于更新计算字段!!\n this.handleOnChangeForSubForm(\n this.fieldModel,\n this.oldFieldValue,\n [],\n subFormData,\n this.subFormRowId\n );\n }, 800);\n this.oldFieldValue = deepClone(this.fieldModel);\n\n this.initFileList(); //处理图片上传、文件上传字段\n\n return;\n }\n\n if (\n this.formModel[this.field.options.name] === undefined &&\n this.field.options.defaultValue !== undefined\n ) {\n this.fieldModel = this.field.options.defaultValue;\n } else if (this.formModel[this.field.options.name] === undefined) {\n //如果formModel为空对象,则初始化字段值为null!!\n this.formModel[this.field.options.name] = null;\n } else {\n this.fieldModel = this.formModel[this.field.options.name];\n }\n this.oldFieldValue = deepClone(this.fieldModel);\n this.initFileList(); //处理图片上传、文件上传字段\n },\n\n initFileList() {\n //初始化上传组件的已上传文件列表\n if (\n (this.field.type !== 'picture-upload' && this.field.type !== 'file-upload') ||\n this.designState === true\n ) {\n return;\n }\n\n if (this.fieldModel) {\n if (typeof this.fieldModel === 'string') {\n this.fieldModel = JSON.parse(this.fieldModel);\n }\n }\n },\n\n initEventHandler() {\n this.on$('setFormData', newFormData => {\n //console.log('formModel of globalModel----------', this.globalModel.formModel)\n if (!this.subFormItemFlag) {\n this.setValue(newFormData[this.field.options.name]);\n }\n });\n\n this.on$('field-value-changed', values => {\n if (!!this.subFormItemFlag) {\n const subFormData = this.formModel[this.subFormName];\n this.handleOnChangeForSubForm(\n values[0],\n values[1],\n subFormData,\n this.subFormRowId\n );\n } else {\n this.handleOnChange(values[0], values[1]);\n }\n });\n\n /* 监听从数据集加载选项事件 */\n this.on$('loadOptionItemsFromDataSet', dsName => {\n this.loadOptionItemsFromDataSet(dsName);\n });\n\n this.on$('reloadOptionItems', widgetNames => {\n if (widgetNames.length === 0 || widgetNames.indexOf(this.field.options.name) > -1) {\n this.initOptionItems(true);\n }\n });\n },\n\n handleOnCreated() {\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n if (!!this.field.options.onCreated) {\n const customFunc = new Function(this.field.options.onCreated);\n customFunc.call(this);\n }\n },\n\n handleOnMounted() {\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n if (!!this.field.options.onMounted) {\n const mountFunc = new Function(this.field.options.onMounted);\n mountFunc.call(this);\n }\n },\n\n registerToRefList(oldRefName) {\n if (this.refList !== null && !!this.field.options.name) {\n if (this.subFormItemFlag && !this.designState) {\n //处理子表单元素(且非设计状态)\n if (!!oldRefName) {\n delete this.refList[oldRefName + '@row' + this.subFormRowId];\n }\n this.refList[this.field.options.name + '@row' + this.subFormRowId] = this;\n } else {\n if (!!oldRefName) {\n delete this.refList[oldRefName];\n }\n this.refList[this.field.options.name] = this;\n }\n }\n },\n\n unregisterFromRefList() {\n //销毁组件时注销组件ref\n if (this.refList !== null && !!this.field.options.name) {\n const oldRefName = this.field.options.name;\n if (this.subFormItemFlag && !this.designState) {\n //处理子表单元素(且非设计状态)\n delete this.refList[oldRefName + '@row' + this.subFormRowId];\n } else {\n delete this.refList[oldRefName];\n }\n }\n },\n clearOptionItems() {\n if (!!this.field.options.dsEnabled) {\n this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项\n }\n },\n\n async initOptionItems(keepSelected) {\n if (this.designState) {\n return;\n }\n if (this.loading) return;\n this.loading = true;\n if (\n ['radio', 'checkbox', 'select', 'cascader', 'treeSelect'].includes(this.field.type)\n ) {\n /* 首先处理数据源选项加载 */\n if (!!this.field.options.dsEnabled && this.field.options.http?.url) {\n try {\n const dsResult = await fmtHttpParams.call(this, this.field.options, {\n fieldCode: this.field.options.name\n });\n if (isArray(dsResult)) {\n this.loadOptions(dsResult);\n }\n if (isArray(dsResult.list)) {\n if (this.field.options.loadingPage) {\n this.pager.total = dsResult.total || 0;\n this.pager.totalPage = dsResult.totalPage || 0;\n this.loadOptions([...this.getOptionItems(), ...dsResult.list]);\n } else {\n this.loadOptions(dsResult.list);\n }\n }\n } catch (err) {\n console.error('err: ', err);\n }\n }\n\n /* 异步更新option-data之后globalOptionData不能获取到最新值,改用provide的getOptionData()方法 */\n const newOptionItems = this.getOptionData();\n if (!!newOptionItems && newOptionItems.hasOwnProperty(this.field.options.name)) {\n if (!!keepSelected) {\n this.reloadOptions(newOptionItems[this.field.options.name]);\n } else {\n this.loadOptions(newOptionItems[this.field.options.name]);\n }\n }\n this.loading = false;\n }\n },\n\n loadOptionItemsFromDataSet(dsName) {\n if (this.designState) {\n return;\n }\n\n if (\n this.field.type !== 'radio' &&\n this.field.type !== 'checkbox' &&\n this.field.type !== 'select' &&\n this.field.type !== 'cascader'\n ) {\n return;\n }\n\n if (\n !this.field.options.dsEnabled ||\n !this.field.options.dsName ||\n !this.field.options.dataSetName ||\n this.field.options.dsName !== dsName\n ) {\n return;\n }\n\n const dataCache = this.getDSResultCache();\n const dSetName = this.field.options.dataSetName;\n if (!!dataCache && !!dataCache[dsName] && !!dataCache[dsName][dSetName]) {\n this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项\n this.loadOptions(dataCache[dsName][dSetName]);\n }\n },\n\n refreshDefaultValue() {\n if (this.designState === true && this.field.options.defaultValue !== undefined) {\n this.fieldModel = this.field.options.defaultValue;\n }\n },\n\n clearFieldRules() {\n if (!this.field.formItemFlag) {\n return;\n }\n\n this.rules.splice(0, this.rules.length); //清空已有\n },\n\n buildFieldRules() {\n if (!this.field.formItemFlag || this.field.options.hidden) {\n return;\n }\n\n this.rules.splice(0, this.rules.length); //清空已有\n if (!!this.field.options.required) {\n this.rules.push({\n required: true,\n //trigger: ['blur', 'change'],\n trigger: [\n 'blur'\n ] /* 去掉change事件触发校验,change事件触发时formModel数据尚未更新,导致radio/checkbox必填校验出错!! */,\n message:\n this.field.options.requiredHint || this.i18nt('render.hint.fieldRequired')\n });\n }\n\n if (!!this.field.options.validation) {\n const vldName = this.field.options.validation;\n if (!!FormValidators[vldName]) {\n this.rules.push({\n validator: FormValidators[vldName],\n trigger: ['blur', 'change'],\n label: this.field.options.label,\n errorMsg: this.field.options.validationHint\n });\n } else {\n this.rules.push({\n validator: FormValidators['regExp'],\n trigger: ['blur', 'change'],\n regExp: vldName,\n label: this.field.options.label,\n errorMsg: this.field.options.validationHint\n });\n }\n }\n\n if (!!this.field.options.onValidate) {\n //let customFn = new Function('rule', 'value', 'callback', this.field.options.onValidate)\n const customFn = (rule, value) => {\n const tmpFunc = new Function('rule', 'value', this.field.options.onValidate);\n return tmpFunc.call(this, rule, value);\n };\n this.rules.push({\n validator: customFn,\n trigger: ['blur'],\n label: this.field.options.label\n });\n }\n },\n\n /**\n * 禁用字段值变动触发表单校验\n */\n disableChangeValidate() {\n if (!this.rules) {\n return;\n }\n\n this.rules.forEach(rule => {\n if (!!rule.trigger) {\n rule.trigger.splice(0, rule.trigger.length);\n }\n });\n },\n\n /**\n * 启用字段值变动触发表单校验\n */\n enableChangeValidate() {\n if (!this.rules) {\n return;\n }\n\n this.rules.forEach(rule => {\n if (!!rule.trigger) {\n rule.trigger.push('blur');\n rule.trigger.push('change');\n }\n });\n },\n\n disableOptionOfList(optionList, optionValue) {\n if (!!optionList && optionList.length > 0) {\n optionList.forEach(opt => {\n if (opt.value === optionValue) {\n opt.disabled = true;\n }\n });\n }\n },\n\n enableOptionOfList(optionList, optionValue) {\n if (!!optionList && optionList.length > 0) {\n optionList.forEach(opt => {\n if (opt.value === optionValue) {\n opt.disabled = false;\n }\n });\n }\n },\n\n //--------------------- 组件内部方法 end ------------------//\n\n //--------------------- 事件处理 begin ------------------//\n\n emitFieldDataChange(newValue, oldValue) {\n if (newValue) {\n newValue = newValue.target ? newValue.target.value : newValue;\n }\n\n this.emit$('field-value-changed', [newValue, oldValue]);\n\n /* 必须用dispatch向指定父组件派发消息!! */\n this.dispatch('VFormRender', 'fieldChange', [\n this.field.options.name,\n newValue,\n oldValue,\n this.subFormName,\n this.subFormRowIndex\n ]);\n },\n\n syncUpdateFormModel(value) {\n if (!!this.designState) {\n return;\n }\n\n if (!!this.subFormItemFlag) {\n const subFormData = this.formModel[this.subFormName] || [{}];\n const subFormDataRow = subFormData[this.subFormRowIndex];\n if (!!subFormDataRow) {\n // 重置表单后subFormDataRow为undefined,应跳过!!\n subFormDataRow[this.field.options.name] = value;\n }\n } else {\n this.formModel[this.field.options.name] = value;\n }\n },\n\n handleChangeEvent(value) {\n if (value) {\n value = value.target ? value.target.value : value;\n }\n\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n this.syncUpdateFormModel(value);\n this.emitFieldDataChange(value, this.oldFieldValue);\n\n //number组件一般不会触发focus事件,故此处需要手工赋值oldFieldValue!!\n this.oldFieldValue =\n deepClone(value); /* oldFieldValue需要在initFieldModel()方法中赋初值!! */\n\n /* 主动触发表单的单个字段校验,用于清除字段可能存在的校验错误提示 */\n this.dispatch('VFormRender', 'fieldValidation', [this.getPropName()]);\n },\n\n handleFocusCustomEvent(event) {\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n this.oldFieldValue = deepClone(this.fieldModel); //保存修改change之前的值\n\n if (!!this.field.options.onFocus) {\n const customFn = new Function('event', this.field.options.onFocus);\n customFn.call(this, event);\n }\n if (this.field.options.loadingPage) {\n this.initPager();\n this.initOptionItems();\n }\n },\n\n handleBlurCustomEvent(event) {\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n if (!!this.field.options.onBlur) {\n const customFn = new Function('event', this.field.options.onBlur);\n customFn.call(this, event);\n }\n },\n\n handleInputCustomEvent(value) {\n if (value) {\n value = value.target ? value.target.value : value;\n }\n\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n this.syncUpdateFormModel(value);\n\n /* 主动触发表单的单个字段校验,用于清除字段可能存在的校验错误提示 */\n this.dispatch('VFormRender', 'fieldValidation', [this.getPropName()]);\n\n if (!!this.field.options.onInput) {\n const customFn = new Function('value', this.field.options.onInput);\n customFn.call(this, value);\n }\n },\n\n emitAppendButtonClick() {\n if (!!this.designState) {\n //设计状态不触发点击事件\n return;\n }\n\n if (!!this.field.options.onAppendButtonClick) {\n const customFn = new Function(this.field.options.onAppendButtonClick);\n customFn.call(this);\n } else {\n /* 必须调用mixins中的dispatch方法逐级向父组件发送消息!! */\n this.dispatch('VFormRender', 'appendButtonClick', [this]);\n }\n },\n\n handleOnChange(val, oldVal, ops = []) {\n //自定义onChange事件\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n if (!!this.field.options.onChange) {\n const changeFn = new Function(\n 'value',\n 'oldValue',\n 'ops',\n this.field.options.onChange\n );\n changeFn.call(this, val, oldVal, ops[0]);\n }\n },\n\n handleOnChangeForSubForm(val, oldVal, ops = [], subFormData, rowId) {\n //子表单自定义onChange事件\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n\n if (!!this.field.options.onChange) {\n const changeFn = new Function(\n 'value',\n 'oldValue',\n 'ops',\n 'subFormData',\n 'rowId',\n this.field.options.onChange\n );\n changeFn.call(this, val, oldVal, ops[0], subFormData, rowId);\n }\n },\n onClick() {\n if (!!this.designState) {\n //设计状态不触发点击事件\n return;\n }\n\n if (!!this.field.options.onClick) {\n const customFn = new Function(this.field.options.onClick);\n return customFn.call(this);\n } else {\n this.dispatch('VFormRender', 'buttonClick', [this]);\n }\n },\n\n handleButtonWidgetClick() {\n if (!!this.designState) {\n //设计状态不触发点击事件\n return;\n }\n\n if (!!this.field.options.onClick) {\n const customFn = new Function(this.field.options.onClick);\n return customFn.call(this);\n } else {\n this.dispatch('VFormRender', 'buttonClick', [this]);\n }\n },\n /**\n * 下拉框右边搜索按钮\n */\n handleClickIcon() {\n if (!!this.designState) {\n //设计状态不触发事件\n return;\n }\n if (this.handleDisabled()) {\n return;\n }\n if (!!this.field.options.onClickIcon) {\n const onClickIconFn = new Function(this.field.options.onClickIcon);\n onClickIconFn.call(this);\n }\n },\n\n // remoteQuery(keyword) {\n // if (!!this.designState) {\n // //设计状态不触发事件\n // return;\n // }\n\n // if (!!this.field.options.onRemoteQuery) {\n // const remoteFn = new Function('keyword', this.field.options.onRemoteQuery);\n // remoteFn.call(this, keyword);\n // }\n // },\n\n //--------------------- 事件处理 end ------------------//\n\n //--------------------- 以下为组件支持外部调用的API方法 begin ------------------//\n /* 提示:用户可自行扩充这些方法!!! */\n\n getFormRef() {\n /* 获取VFrom引用,必须在VForm组件created之后方可调用 */\n return this.refList['v_form_ref'];\n },\n\n getWidgetRef(widgetName, showError) {\n const foundRef = this.refList[widgetName];\n if (!foundRef && !!showError) {\n this.$message.error(this.i18nt('render.hint.refNotFound') + widgetName);\n }\n return foundRef;\n },\n\n getFieldEditor() {\n //获取内置的el表单组件\n return this.$refs['fieldEditor'];\n },\n showFileList(list) {\n if (typeof list === 'string') {\n list = JSON.parse(list);\n }\n if (!isArray(list)) return [];\n const res = list.map((item, uid) => ({\n ...item,\n name: item.fileName,\n uid\n }));\n return res;\n },\n\n /*\n 注意:VFormRender的setFormData方法不会触发子表单内field-widget的setValue方法,\n 因为setFormData方法调用后,子表单内所有field-widget组件已被清空,接收不到setFormData事件!!\n */\n setValue(newValue, disableChangeEvent = false) {\n if (newValue) {\n newValue = newValue.target ? newValue.target.value : newValue;\n }\n if (eq(this.fieldModel, newValue)) return;\n\n /* if ((this.field.type === 'picture-upload') || (this.field.type === 'file-upload')) {\n this.fileList = newValue\n } else */ if (!!this.field.formItemFlag) {\n const oldValue = deepClone(this.fieldModel);\n if (this.field.type === 'file-upload') {\n newValue = this.showFileList(newValue || []);\n // TODO\n } else if (this.field.type === 'code-editor') {\n this.$refs.fieldEditor.setValue(newValue);\n }\n this.fieldModel = newValue;\n this.initFileList();\n\n this.syncUpdateFormModel(newValue);\n if (!disableChangeEvent) {\n this.emitFieldDataChange(newValue, oldValue);\n }\n }\n },\n\n getValue() {\n return this.fieldModel;\n },\n\n resetField() {\n const defaultValue = this.field.options.defaultValue;\n this.setValue(defaultValue);\n\n //清空上传组件文件列表\n if (this.field.type === 'picture-upload' || this.field.type === 'file-upload') {\n this.fieldModel.splice(0, this.fieldModel.length);\n this.handleChangeEvent(this.fieldModel);\n }\n },\n\n setWidgetOption(optionName, optionValue) {\n //通用组件选项修改API\n if (this.field.options.hasOwnProperty(optionName)) {\n this.field.options[optionName] = optionValue;\n //TODO: 是否重新构建组件??有些属性修改后必须重新构建组件才能生效,比如字段校验规则。\n }\n },\n\n setReadonly(flag) {\n this.field.options.readonly = flag;\n },\n\n setDisabled(flag) {\n this.field.options.disabled = flag;\n },\n\n setAppendButtonVisible(flag) {\n this.field.options.appendButton = flag;\n },\n\n setAppendButtonDisabled(flag) {\n this.field.options.appendButtonDisabled = flag;\n },\n\n setHidden(flag) {\n this.field.options.hidden = flag;\n\n if (!!flag) {\n //清除组件校验规则\n this.clearFieldRules();\n } else {\n //重建组件校验规则\n this.buildFieldRules();\n }\n },\n\n setRequired(flag) {\n this.field.options.required = flag;\n this.buildFieldRules();\n\n if (!this.designState && !flag) {\n //清除必填校验提示\n this.clearValidate();\n }\n },\n\n /**\n * 清除字段校验提示\n */\n clearValidate() {\n if (!!this.designState) {\n return;\n }\n\n this.getFormRef().getNativeForm().clearValidate(this.getPropName());\n },\n getVfCtx() {\n return this.getFormRef().vfCtx;\n },\n\n setLabel(newLabel) {\n this.field.options.label = newLabel;\n },\n\n focus() {\n if (!!this.getFieldEditor() && !!this.getFieldEditor().focus) {\n this.getFieldEditor().focus();\n }\n },\n\n clearSelectedOptions() {\n //清空已选选项\n if (\n this.field.type !== 'checkbox' &&\n this.field.type !== 'radio' &&\n this.field.type !== 'select'\n ) {\n return;\n }\n\n if (\n this.field.type === 'checkbox' ||\n (this.field.type === 'select' && this.field.options.multiple)\n ) {\n this.fieldModel = [];\n } else {\n this.fieldModel = '';\n }\n },\n\n /**\n * 加载选项,并清空字段值\n * @param options\n */\n loadOptions(options) {\n /*\n this.field.options.optionItems = deepClone(options)\n //this.clearSelectedOptions() //清空已选选项\n */\n\n this.field.options.optionItems = translateOptionItems(\n options,\n this.field.type,\n this.field.options.labelKey || 'label',\n this.field.options.valueKey || 'value'\n );\n },\n\n /**\n * 重新加载选项,不清空字段值\n * @param options\n */\n reloadOptions(options) {\n //this.field.options.optionItems = deepClone(options)\n\n this.field.options.optionItems = translateOptionItems(\n options,\n this.field.type,\n this.field.options.labelKey || 'label',\n this.field.options.valueKey || 'value'\n );\n },\n\n disableOption(optionValue) {\n this.disableOptionOfList(this.field.options.optionItems, optionValue);\n },\n\n enableOption(optionValue) {\n this.enableOptionOfList(this.field.options.optionItems, optionValue);\n },\n\n /**\n * 返回选择项\n * @returns {*}\n */\n getOptionItems() {\n return this.field.options.optionItems;\n },\n\n setUploadHeader(name, value) {\n this.uploadHeaders[name] = value;\n },\n\n setUploadData(name, value) {\n this.uploadData[name] = value;\n },\n\n setToolbar(customToolbar) {\n this.customToolbar = customToolbar;\n },\n\n /**\n * 是否子表单内嵌的字段组件\n * @returns {boolean}\n */\n isSubFormItem() {\n return this.subFormItemFlag;\n },\n\n /**\n * 是否子表单内嵌的字段组件\n * @returns {boolean}\n */\n isSubFormField() {\n return this.subFormItemFlag;\n },\n\n /**\n * 设置或取消设置字段只读查看模式\n * @param readonlyFlag\n */\n setReadMode(readonlyFlag = true) {\n this.fieldReadonlyFlag = readonlyFlag;\n },\n\n /**\n * 动态增加自定义css样式\n * @param className\n */\n addCssClass(className) {\n if (!this.field.options.customClass) {\n this.field.options.customClass = [className];\n } else {\n this.field.options.customClass.push(className);\n }\n },\n\n /**\n * 动态移除自定义css样式\n * @param className\n */\n removeCssClass(className) {\n if (!this.field.options.customClass) {\n return;\n }\n\n let foundIdx = -1;\n this.field.options.customClass.map((cc, idx) => {\n if (cc === className) {\n foundIdx = idx;\n }\n });\n if (foundIdx > -1) {\n this.field.options.customClass.splice(foundIdx, 1);\n }\n }\n\n //--------------------- 以上为组件支持外部调用的API方法 end ------------------//\n }\n};\n"],"names":["fieldMixin","resultContent","valueKey","labelKey","oItem","onHidden","hidden","onDisabled","disabled","error","arrayObject","element","foundIdx","aItem","aIdx","subFormData","deepClone","newFormData","values","dsName","widgetNames","oldRefName","keepSelected","_a","dsResult","fmtHttpParams","isArray","err","newOptionItems","dataCache","dSetName","vldName","FormValidators","customFn","rule","value","optionList","optionValue","opt","newValue","oldValue","subFormDataRow","event","val","oldVal","ops","rowId","widgetName","showError","foundRef","list","item","uid","disableChangeEvent","eq","defaultValue","optionName","flag","newLabel","options","translateOptionItems","name","customToolbar","readonlyFlag","className","cc","idx"],"mappings":"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"}
@@ -136,7 +136,7 @@ function F(t, i, e, I, N, s) {
136
136
  ], 64)) : l("", !0)
137
137
  ], 6);
138
138
  }
139
- const E = /* @__PURE__ */ W(k, [["render", F], ["__scopeId", "data-v-ddcf9e62"]]);
139
+ const E = /* @__PURE__ */ W(k, [["render", F], ["__scopeId", "data-v-c90d9666"]]);
140
140
  export {
141
141
  E as default
142
142
  };
@@ -1 +1 @@
1
- {"version":3,"file":"static-content-wrapper.vue.js","sources":["../../../../../../src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue"],"sourcesContent":["<template>\n <div\n class=\"field-wrapper\"\n :class=\"{ 'design-time-bottom-margin': !!this.designer }\"\n :style=\"{ display: displayStyle }\"\n >\n <div\n class=\"static-content-item\"\n v-if=\"!field.options.hidden || designState === true\"\n :style=\"{ display: displayStyle }\"\n :class=\"[selected ? 'selected' : '', customClass]\"\n @click.stop=\"selectField(field)\"\n >\n <slot></slot>\n </div>\n\n <template v-if=\"!!this.designer\">\n <div class=\"field-action\" v-if=\"designer.selectedId === field.id\">\n <i\n :title=\"i18nt('designer.hint.selectParentWidget')\"\n @click.stop=\"selectParentWidget(field)\"\n >\n <svg-icon icon-class=\"el-back\" />\n </i>\n <i\n v-if=\"!!parentList && parentList.length > 1\"\n :title=\"i18nt('designer.hint.moveUpWidget')\"\n @click.stop=\"moveUpWidget(field)\"\n ><svg-icon icon-class=\"el-move-up\"\n /></i>\n <i\n v-if=\"!!parentList && parentList.length > 1\"\n :title=\"i18nt('designer.hint.moveDownWidget')\"\n @click.stop=\"moveDownWidget(field)\"\n ><svg-icon icon-class=\"el-move-down\"\n /></i>\n <i :title=\"i18nt('designer.hint.remove')\" @click.stop=\"removeFieldWidget\">\n <svg-icon icon-class=\"el-delete\" />\n </i>\n </div>\n\n <div class=\"drag-handler background-opacity\" v-if=\"designer.selectedId === field.id\">\n <i :title=\"i18nt('designer.hint.dragHandler')\"\n ><svg-icon icon-class=\"el-drag-move\"\n /></i>\n <i>{{\n i18n2t(\n `designer.widgetLabel.${field.type}`,\n `extension.widgetLabel.${field.type}`\n )\n }}</i>\n <i v-if=\"field.options.hidden === true\"><svg-icon icon-class=\"el-hide\" /></i>\n </div>\n </template>\n </div>\n</template>\n\n<script>\n import SvgIcon from '@/components/svg-icon';\n import i18n from '@/utils/i18n';\n\n export default {\n name: 'static-content-wrapper',\n mixins: [i18n],\n components: {\n SvgIcon\n },\n props: {\n field: Object,\n designer: Object,\n parentWidget: Object,\n parentList: Array,\n indexOfParentList: Number,\n\n designState: {\n type: Boolean,\n default: false\n },\n\n displayStyle: {\n type: String,\n default: 'block'\n },\n\n subFormRowIndex: {\n /* 子表单组件行索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormColIndex: {\n /* 子表单组件列索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormRowId: {\n /* 子表单组件行Id,唯一id且不可变 */ type: String,\n default: ''\n }\n },\n computed: {\n selected() {\n return !!this.designer && this.field.id === this.designer.selectedId;\n },\n\n customClass() {\n return !!this.field.options.customClass\n ? this.field.options.customClass.join(' ')\n : '';\n }\n },\n methods: {\n selectField(field) {\n if (!!this.designer) {\n this.designer.setSelected(field);\n this.designer.emitEvent('field-selected', this.parentWidget); //发送选中组件的父组件对象\n }\n },\n\n selectParentWidget() {\n if (this.parentWidget) {\n this.designer.setSelected(this.parentWidget);\n } else {\n this.designer.clearSelected();\n }\n },\n\n moveUpWidget() {\n this.designer.moveUpWidget(this.parentList, this.indexOfParentList);\n this.designer.emitHistoryChange();\n },\n\n moveDownWidget() {\n this.designer.moveDownWidget(this.parentList, this.indexOfParentList);\n this.designer.emitHistoryChange();\n },\n\n removeFieldWidget() {\n if (!!this.parentList) {\n let nextSelected = null;\n if (this.parentList.length === 1) {\n if (!!this.parentWidget) {\n nextSelected = this.parentWidget;\n }\n } else if (this.parentList.length === 1 + this.indexOfParentList) {\n nextSelected = this.parentList[this.indexOfParentList - 1];\n } else {\n nextSelected = this.parentList[this.indexOfParentList + 1];\n }\n\n this.$nextTick(() => {\n this.parentList.splice(this.indexOfParentList, 1);\n //if (!!nextSelected) {\n this.designer.setSelected(nextSelected);\n //}\n\n this.designer.emitHistoryChange();\n });\n }\n }\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .design-time-bottom-margin {\n margin-bottom: 5px;\n }\n\n .field-wrapper {\n position: relative;\n\n .field-action {\n position: absolute;\n //bottom: -24px;\n bottom: 0;\n right: -2px;\n height: 22px;\n line-height: 22px;\n background: var(--ant-primary-4);\n\n z-index: 9;\n\n i {\n font-size: 14px;\n color: #fff;\n margin: 0 5px;\n cursor: pointer;\n }\n }\n\n .drag-handler {\n position: absolute;\n top: 0;\n //bottom: -22px; /* 拖拽手柄位于组件下方,有时无法正常拖动,原因未明?? */\n left: -1px;\n height: 20px;\n line-height: 20px;\n z-index: 9;\n\n i {\n font-size: 12px;\n font-style: normal;\n color: #fff;\n margin: 4px;\n cursor: move;\n }\n\n &:hover {\n //opacity: 1;\n background: var(--ant-primary-color);\n }\n }\n }\n\n .field-action,\n .drag-handler {\n :deep(.svg-icon) {\n margin-left: 0.1em;\n margin-right: 0.1em;\n }\n }\n\n .static-content-item {\n min-height: 20px;\n display: flex; /* 垂直居中 */\n align-items: center; /* 垂直居中 */\n margin-bottom: 5px;\n }\n\n .el-form-item.selected,\n .static-content-item.selected {\n outline: 2px solid var(--ant-primary-color);\n }\n</style>\n"],"names":["_sfc_main","i18n","SvgIcon","field","nextSelected","_createElementBlock","_normalizeClass","$props","$options","_cache","_withModifiers","$event","_renderSlot","_ctx","_Fragment","_openBlock","_hoisted_1","_createElementVNode","_createVNode","_component_svg_icon","args","_hoisted_6","_hoisted_8"],"mappings":"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"}
1
+ {"version":3,"file":"static-content-wrapper.vue.js","sources":["../../../../../../src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue"],"sourcesContent":["<template>\n <div\n class=\"field-wrapper\"\n :class=\"{ 'design-time-bottom-margin': !!this.designer }\"\n :style=\"{ display: displayStyle }\"\n >\n <div\n class=\"static-content-item\"\n v-if=\"!field.options.hidden || designState === true\"\n :style=\"{ display: displayStyle }\"\n :class=\"[selected ? 'selected' : '', customClass]\"\n @click.stop=\"selectField(field)\"\n >\n <slot></slot>\n </div>\n\n <template v-if=\"!!this.designer\">\n <div class=\"field-action\" v-if=\"designer.selectedId === field.id\">\n <i\n :title=\"i18nt('designer.hint.selectParentWidget')\"\n @click.stop=\"selectParentWidget(field)\"\n >\n <svg-icon icon-class=\"el-back\" />\n </i>\n <i\n v-if=\"!!parentList && parentList.length > 1\"\n :title=\"i18nt('designer.hint.moveUpWidget')\"\n @click.stop=\"moveUpWidget(field)\"\n ><svg-icon icon-class=\"el-move-up\"\n /></i>\n <i\n v-if=\"!!parentList && parentList.length > 1\"\n :title=\"i18nt('designer.hint.moveDownWidget')\"\n @click.stop=\"moveDownWidget(field)\"\n ><svg-icon icon-class=\"el-move-down\"\n /></i>\n <i :title=\"i18nt('designer.hint.remove')\" @click.stop=\"removeFieldWidget\">\n <svg-icon icon-class=\"el-delete\" />\n </i>\n </div>\n\n <div class=\"drag-handler background-opacity\" v-if=\"designer.selectedId === field.id\">\n <i :title=\"i18nt('designer.hint.dragHandler')\"\n ><svg-icon icon-class=\"el-drag-move\"\n /></i>\n <i>{{\n i18n2t(\n `designer.widgetLabel.${field.type}`,\n `extension.widgetLabel.${field.type}`\n )\n }}</i>\n <i v-if=\"field.options.hidden === true\"><svg-icon icon-class=\"el-hide\" /></i>\n </div>\n </template>\n </div>\n</template>\n\n<script>\n import SvgIcon from '@/components/svg-icon';\n import i18n from '@/utils/i18n';\n\n export default {\n name: 'static-content-wrapper',\n mixins: [i18n],\n components: {\n SvgIcon\n },\n props: {\n field: Object,\n designer: Object,\n parentWidget: Object,\n parentList: Array,\n indexOfParentList: Number,\n\n designState: {\n type: Boolean,\n default: false\n },\n\n displayStyle: {\n type: String,\n default: 'block'\n },\n\n subFormRowIndex: {\n /* 子表单组件行索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormColIndex: {\n /* 子表单组件列索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormRowId: {\n /* 子表单组件行Id,唯一id且不可变 */ type: String,\n default: ''\n }\n },\n computed: {\n selected() {\n return !!this.designer && this.field.id === this.designer.selectedId;\n },\n\n customClass() {\n return !!this.field.options.customClass\n ? this.field.options.customClass.join(' ')\n : '';\n }\n },\n methods: {\n selectField(field) {\n if (!!this.designer) {\n this.designer.setSelected(field);\n this.designer.emitEvent('field-selected', this.parentWidget); //发送选中组件的父组件对象\n }\n },\n\n selectParentWidget() {\n if (this.parentWidget) {\n this.designer.setSelected(this.parentWidget);\n } else {\n this.designer.clearSelected();\n }\n },\n\n moveUpWidget() {\n this.designer.moveUpWidget(this.parentList, this.indexOfParentList);\n this.designer.emitHistoryChange();\n },\n\n moveDownWidget() {\n this.designer.moveDownWidget(this.parentList, this.indexOfParentList);\n this.designer.emitHistoryChange();\n },\n\n removeFieldWidget() {\n if (!!this.parentList) {\n let nextSelected = null;\n if (this.parentList.length === 1) {\n if (!!this.parentWidget) {\n nextSelected = this.parentWidget;\n }\n } else if (this.parentList.length === 1 + this.indexOfParentList) {\n nextSelected = this.parentList[this.indexOfParentList - 1];\n } else {\n nextSelected = this.parentList[this.indexOfParentList + 1];\n }\n\n this.$nextTick(() => {\n this.parentList.splice(this.indexOfParentList, 1);\n //if (!!nextSelected) {\n this.designer.setSelected(nextSelected);\n //}\n\n this.designer.emitHistoryChange();\n });\n }\n }\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .design-time-bottom-margin {\n margin-bottom: 5px;\n }\n\n .field-wrapper {\n position: relative;\n\n .field-action {\n position: absolute;\n //bottom: -24px;\n bottom: 0;\n right: -2px;\n height: 22px;\n line-height: 22px;\n background: var(--ant-primary-4);\n\n z-index: 9;\n\n i {\n font-size: 14px;\n color: #fff;\n margin: 0 5px;\n cursor: pointer;\n }\n }\n\n .drag-handler {\n position: absolute;\n top: 0;\n //bottom: -22px; /* 拖拽手柄位于组件下方,有时无法正常拖动,原因未明?? */\n left: -1px;\n height: 20px;\n line-height: 20px;\n z-index: 9;\n\n i {\n font-size: 12px;\n font-style: normal;\n color: #fff;\n margin: 4px;\n cursor: move;\n }\n\n &:hover {\n //opacity: 1;\n background: var(--ant-primary-color);\n }\n }\n }\n\n .field-action,\n .drag-handler {\n :deep(.svg-icon) {\n margin-left: 0.1em;\n margin-right: 0.1em;\n }\n }\n\n .static-content-item {\n min-height: 20px;\n display: flex; /* 垂直居中 */\n align-items: center; /* 垂直居中 */\n margin-bottom: 5px;\n }\n\n .static-content-item.selected {\n outline: 2px solid var(--ant-primary-color);\n }\n</style>\n"],"names":["_sfc_main","i18n","SvgIcon","field","nextSelected","_createElementBlock","_normalizeClass","$props","$options","_cache","_withModifiers","$event","_renderSlot","_ctx","_Fragment","_openBlock","_hoisted_1","_createElementVNode","_createVNode","_component_svg_icon","args","_hoisted_6","_hoisted_8"],"mappings":"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"}
@@ -145,7 +145,7 @@ function z(t, d, e, N, l, i) {
145
145
  _: 1
146
146
  }, 8, ["designer", "field", "rules", "design-state", "parent-widget", "parent-list", "index-of-parent-list", "sub-form-row-index", "sub-form-col-index", "sub-form-row-id"]));
147
147
  }
148
- const j = /* @__PURE__ */ R(I, [["render", z], ["__scopeId", "data-v-39c34dca"]]);
148
+ const j = /* @__PURE__ */ R(I, [["render", z], ["__scopeId", "data-v-a818197c"]]);
149
149
  export {
150
150
  j as default
151
151
  };
@@ -1 +1 @@
1
- {"version":3,"file":"treeSelect-widget.vue.js","sources":["../../../../../../src/components/form-designer/form-widget/field-widget/treeSelect-widget.vue"],"sourcesContent":["<template>\n <form-item-wrapper\n :designer=\"designer\"\n :field=\"field\"\n :rules=\"rules\"\n :design-state=\"designState\"\n :parent-widget=\"parentWidget\"\n :parent-list=\"parentList\"\n :index-of-parent-list=\"indexOfParentList\"\n :sub-form-row-index=\"subFormRowIndex\"\n :sub-form-col-index=\"subFormColIndex\"\n :sub-form-row-id=\"subFormRowId\"\n v-if=\"!handleHidden()\"\n >\n <div class=\"full-width-input\" :class=\"{ 'readonly-mode-cascader': isReadMode }\">\n <a-tree-select\n v-show=\"!isReadMode\"\n :tree-default-expand-all=\"field.options.treeDefaultExpandAll\"\n ref=\"fieldEditor\"\n :size=\"size\"\n :treeData=\"field.options.optionItems\"\n v-model:value=\"fieldModel\"\n :disabled=\"handleDisabled()\"\n :allowClear=\"field.options.allowClear\"\n :placeholder=\"field.options.placeholder || i18nt('render.hint.selectPlaceholder')\"\n :fieldNames=\"{ value: valueKey, label: labelKey, children: childrenKey }\"\n :multiple=\"field.options.multiple\"\n @focus=\"handleFocusCustomEvent\"\n @blur=\"handleBlurCustomEvent\"\n @change=\"handleChangeEvent\"\n />\n <template v-if=\"isReadMode\">\n <a-tooltip\n placement=\"topLeft\"\n :title=\"contentForReadMode\"\n :overlayStyle=\"{ zIndex: 1000 }\"\n >\n <span class=\"readonly-mode-field\">{{ contentForReadMode }}</span>\n </a-tooltip>\n </template>\n </div>\n </form-item-wrapper>\n</template>\n\n<script>\n import FormItemWrapper from './form-item-wrapper';\n import emitter from '@/utils/emitter';\n import i18n, { translate } from '@/utils/i18n';\n import fieldMixin from '@/components/form-designer/form-widget/field-widget/fieldMixin';\n import { formateTreeToName } from '@/utils/format';\n import { isArray } from 'lodash-es';\n\n export default {\n name: 'treeSelect-widget',\n componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件\n mixins: [emitter, fieldMixin, i18n],\n props: {\n field: Object,\n parentWidget: Object,\n parentList: Array,\n indexOfParentList: Number,\n designer: Object,\n\n designState: {\n type: Boolean,\n default: false\n },\n\n subFormRowIndex: {\n /* 子表单组件行索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormColIndex: {\n /* 子表单组件列索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormRowId: {\n /* 子表单组件行Id,唯一id且不可变 */ type: String,\n default: ''\n }\n },\n components: {\n FormItemWrapper\n },\n data() {\n return {\n oldFieldValue: null, //field组件change之前的值\n fieldModel: null,\n rules: []\n };\n },\n computed: {\n size() {\n if (!!this.field.options && !!this.field.options.size) {\n return this.field.options.size;\n }\n if (!!this.designer) {\n return this.designer.formConfig.size || 'middle';\n } else {\n return this.formConfig.size || 'middle';\n }\n },\n labelKey() {\n return this.field.options.labelKey || 'label';\n },\n\n valueKey() {\n return this.field.options.valueKey || 'value';\n },\n\n childrenKey() {\n return this.field.options.childrenKey || 'children';\n },\n\n // showFullPath() {\n // return this.field.options.showAllLevels === undefined || !!this.field.options.showAllLevels;\n // },\n\n contentForReadMode() {\n if (!this.fieldModel) return '';\n\n const val = isArray(this.fieldModel) ? this.fieldModel : [this.fieldModel];\n\n return formateTreeToName(val, this.field.options.optionItems, {\n label: this.labelKey,\n value: this.valueKey,\n children: this.childrenKey\n });\n }\n },\n beforeCreate() {\n /* 这里不能访问方法和属性!! */\n },\n\n created() {\n /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop\n 需要在父组件created中初始化!! */\n this.registerToRefList();\n this.initOptionItems();\n this.initFieldModel();\n this.initEventHandler();\n this.buildFieldRules();\n\n this.handleOnCreated();\n },\n\n mounted() {\n this.handleOnMounted();\n },\n\n beforeUnmount() {\n this.unregisterFromRefList();\n },\n\n methods: {\n /* 开启任意级节点可选后,点击radio隐藏下拉框 */\n hideDropDownOnClick() {\n // setTimeout(() => {\n // document.querySelectorAll('.el-cascader-panel .el-radio').forEach(el => {\n // el.onclick = () => {\n // console.log('test====', 1111);\n // this.$refs.fieldEditor.popperVisible = false; // 单选框部分点击隐藏下拉框\n // };\n // });\n // }, 100);\n }\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n /* form-item-wrapper已引入,还需要重复引入吗? */\n\n .full-width-input {\n width: 100% !important;\n\n :deep(.el-cascader) {\n width: 100% !important;\n }\n }\n\n .readonly-mode-cascader :deep(.el-cascader) {\n display: none;\n }\n</style>\n"],"names":["_sfc_main","emitter","fieldMixin","i18n","FormItemWrapper","val","isArray","formateTreeToName","_hoisted_1","_ctx","_createBlock","_component_form_item_wrapper","$props","$data","_createElementVNode","_normalizeClass","_createVNode","_component_a_tree_select","$options","$event","_component_a_tooltip","_toDisplayString"],"mappings":";;;;;;;;;AAoDI,MAAKA,IAAU;AAAA,EACX,MAAM;AAAA,EACN,eAAe;AAAA;AAAA,EACf,QAAQ,CAACC,GAASC,GAAYC,CAAI;AAAA,EAClC,OAAO;AAAA,IACH,OAAO;AAAA,IACP,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,mBAAmB;AAAA,IACnB,UAAU;AAAA,IAEV,aAAa;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;IAGb,iBAAiB;AAAA;AAAA,MACS,MAAM;AAAA,MAC5B,SAAS;AAAA;IAEb,iBAAiB;AAAA;AAAA,MACS,MAAM;AAAA,MAC5B,SAAS;AAAA;IAEb,cAAc;AAAA;AAAA,MACc,MAAM;AAAA,MAC9B,SAAS;AAAA,IACb;AAAA;EAEJ,YAAY;AAAA,IACR,iBAAAC;AAAA;EAEJ,OAAO;AACH,WAAO;AAAA,MACH,eAAe;AAAA;AAAA,MACf,YAAY;AAAA,MACZ,OAAO,CAAA;AAAA;EAEf;AAAA,EACA,UAAU;AAAA,IACN,OAAO;AACH,aAAM,KAAK,MAAM,WAAa,KAAK,MAAM,QAAQ,OACtC,KAAK,MAAM,QAAQ,OAExB,KAAK,WACA,KAAK,SAAS,WAAW,QAAQ,WAEjC,KAAK,WAAW,QAAQ;AAAA,IAEvC;AAAA,IACA,WAAW;AACP,aAAO,KAAK,MAAM,QAAQ,YAAY;AAAA,IAC1C;AAAA,IAEA,WAAW;AACP,aAAO,KAAK,MAAM,QAAQ,YAAY;AAAA,IAC1C;AAAA,IAEA,cAAc;AACV,aAAO,KAAK,MAAM,QAAQ,eAAe;AAAA,IAC7C;AAAA;AAAA;AAAA;AAAA,IAMA,qBAAqB;AACjB,UAAI,CAAC,KAAK,WAAY,QAAO;AAE7B,YAAMC,IAAMC,EAAQ,KAAK,UAAU,IAAI,KAAK,aAAa,CAAC,KAAK,UAAU;AAEzE,aAAOC,EAAkBF,GAAK,KAAK,MAAM,QAAQ,aAAa;AAAA,QAC1D,OAAO,KAAK;AAAA,QACZ,OAAO,KAAK;AAAA,QACZ,UAAU,KAAK;AAAA,MACnB,CAAC;AAAA,IACL;AAAA;EAEJ,eAAe;AAAA,EAEf;AAAA,EAEA,UAAU;AAGN,SAAK,kBAAiB,GACtB,KAAK,gBAAe,GACpB,KAAK,eAAc,GACnB,KAAK,iBAAgB,GACrB,KAAK,gBAAe,GAEpB,KAAK,gBAAe;AAAA,EACxB;AAAA,EAEA,UAAU;AACN,SAAK,gBAAe;AAAA,EACxB;AAAA,EAEA,gBAAgB;AACZ,SAAK,sBAAqB;AAAA,EAC9B;AAAA,EAEA,SAAS;AAAA;AAAA,IAEL,sBAAsB;AAAA,IAStB;AAAA,EACJ;GAjIkBG,IAAA,EAAA,OAAM,sBAAqB;;;SAzBtCC,EAAA,aAAY,sBAXvBC,EAwCoBC,GAAA;AAAA;IAvCf,UAAUC,EAAA;AAAA,IACV,OAAOA,EAAA;AAAA,IACP,OAAOC,EAAA;AAAA,IACP,gBAAcD,EAAA;AAAA,IACd,iBAAeA,EAAA;AAAA,IACf,eAAaA,EAAA;AAAA,IACb,wBAAsBA,EAAA;AAAA,IACtB,sBAAoBA,EAAA;AAAA,IACpB,sBAAoBA,EAAA;AAAA,IACpB,mBAAiBA,EAAA;AAAA;eAGlB,MA0BM;AAAA,MA1BNE,EA0BM,OAAA;AAAA,QA1BD,OAAKC,EAAA,CAAC,oBAAkB,EAAA,0BAAqCN,EAAA,YAAU,CAAA;AAAA;UACxEO,EAeEC,GAAA;AAAA,UAbG,2BAAyBL,EAAA,MAAM,QAAQ;AAAA,UACxC,KAAI;AAAA,UACH,MAAMM,EAAA;AAAA,UACN,UAAUN,EAAA,MAAM,QAAQ;AAAA,UACjB,OAAOC,EAAA;AAAA,mDAAAA,EAAA,aAAUM;AAAA,UACxB,UAAUV,EAAA,eAAc;AAAA,UACxB,YAAYG,EAAA,MAAM,QAAQ;AAAA,UAC1B,aAAaA,EAAA,MAAM,QAAQ,eAAeH,EAAA,MAAK,+BAAA;AAAA,UAC/C,YAAU,EAAA,OAAWS,EAAA,UAAQ,OAASA,EAAA,oBAAoBA,EAAA,YAAW;AAAA,UACrE,UAAUN,EAAA,MAAM,QAAQ;AAAA,UACxB,SAAOH,EAAA;AAAA,UACP,QAAMA,EAAA;AAAA,UACN,UAAQA,EAAA;AAAA;eAbAA,EAAA,UAAU;AAAA;QAePA,EAAA,mBACZC,EAMYU,GAAA;AAAA;UALR,WAAU;AAAA,UACT,OAAOF,EAAA;AAAA,UACP,cAAc,EAAA,QAAA,IAAA;AAAA;qBAEf,MAAiE;AAAA,YAAjEJ,EAAiE,QAAjEN,GAAiEa,EAA5BH,EAAA,kBAAkB,GAAA,CAAA;AAAA;;;;;;;;;"}
1
+ {"version":3,"file":"treeSelect-widget.vue.js","sources":["../../../../../../src/components/form-designer/form-widget/field-widget/treeSelect-widget.vue"],"sourcesContent":["<template>\n <form-item-wrapper\n :designer=\"designer\"\n :field=\"field\"\n :rules=\"rules\"\n :design-state=\"designState\"\n :parent-widget=\"parentWidget\"\n :parent-list=\"parentList\"\n :index-of-parent-list=\"indexOfParentList\"\n :sub-form-row-index=\"subFormRowIndex\"\n :sub-form-col-index=\"subFormColIndex\"\n :sub-form-row-id=\"subFormRowId\"\n v-if=\"!handleHidden()\"\n >\n <div class=\"full-width-input\" :class=\"{ 'readonly-mode-cascader': isReadMode }\">\n <a-tree-select\n v-show=\"!isReadMode\"\n :tree-default-expand-all=\"field.options.treeDefaultExpandAll\"\n ref=\"fieldEditor\"\n :size=\"size\"\n :treeData=\"field.options.optionItems\"\n v-model:value=\"fieldModel\"\n :disabled=\"handleDisabled()\"\n :allowClear=\"field.options.allowClear\"\n :placeholder=\"field.options.placeholder || i18nt('render.hint.selectPlaceholder')\"\n :fieldNames=\"{ value: valueKey, label: labelKey, children: childrenKey }\"\n :multiple=\"field.options.multiple\"\n @focus=\"handleFocusCustomEvent\"\n @blur=\"handleBlurCustomEvent\"\n @change=\"handleChangeEvent\"\n />\n <template v-if=\"isReadMode\">\n <a-tooltip\n placement=\"topLeft\"\n :title=\"contentForReadMode\"\n :overlayStyle=\"{ zIndex: 1000 }\"\n >\n <span class=\"readonly-mode-field\">{{ contentForReadMode }}</span>\n </a-tooltip>\n </template>\n </div>\n </form-item-wrapper>\n</template>\n\n<script>\n import FormItemWrapper from './form-item-wrapper';\n import emitter from '@/utils/emitter';\n import i18n, { translate } from '@/utils/i18n';\n import fieldMixin from '@/components/form-designer/form-widget/field-widget/fieldMixin';\n import { formateTreeToName } from '@/utils/format';\n import { isArray } from 'lodash-es';\n\n export default {\n name: 'treeSelect-widget',\n componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件\n mixins: [emitter, fieldMixin, i18n],\n props: {\n field: Object,\n parentWidget: Object,\n parentList: Array,\n indexOfParentList: Number,\n designer: Object,\n\n designState: {\n type: Boolean,\n default: false\n },\n\n subFormRowIndex: {\n /* 子表单组件行索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormColIndex: {\n /* 子表单组件列索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormRowId: {\n /* 子表单组件行Id,唯一id且不可变 */ type: String,\n default: ''\n }\n },\n components: {\n FormItemWrapper\n },\n data() {\n return {\n oldFieldValue: null, //field组件change之前的值\n fieldModel: null,\n rules: []\n };\n },\n computed: {\n size() {\n if (!!this.field.options && !!this.field.options.size) {\n return this.field.options.size;\n }\n if (!!this.designer) {\n return this.designer.formConfig.size || 'middle';\n } else {\n return this.formConfig.size || 'middle';\n }\n },\n labelKey() {\n return this.field.options.labelKey || 'label';\n },\n\n valueKey() {\n return this.field.options.valueKey || 'value';\n },\n\n childrenKey() {\n return this.field.options.childrenKey || 'children';\n },\n\n // showFullPath() {\n // return this.field.options.showAllLevels === undefined || !!this.field.options.showAllLevels;\n // },\n\n contentForReadMode() {\n if (!this.fieldModel) return '';\n\n const val = isArray(this.fieldModel) ? this.fieldModel : [this.fieldModel];\n\n return formateTreeToName(val, this.field.options.optionItems, {\n label: this.labelKey,\n value: this.valueKey,\n children: this.childrenKey\n });\n }\n },\n beforeCreate() {\n /* 这里不能访问方法和属性!! */\n },\n\n created() {\n /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop\n 需要在父组件created中初始化!! */\n this.registerToRefList();\n this.initOptionItems();\n this.initFieldModel();\n this.initEventHandler();\n this.buildFieldRules();\n\n this.handleOnCreated();\n },\n\n mounted() {\n this.handleOnMounted();\n },\n\n beforeUnmount() {\n this.unregisterFromRefList();\n },\n\n methods: {\n /* 开启任意级节点可选后,点击radio隐藏下拉框 */\n hideDropDownOnClick() {}\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n /* form-item-wrapper已引入,还需要重复引入吗? */\n\n .full-width-input {\n width: 100% !important;\n }\n</style>\n"],"names":["_sfc_main","emitter","fieldMixin","i18n","FormItemWrapper","val","isArray","formateTreeToName","_hoisted_1","_ctx","_createBlock","_component_form_item_wrapper","$props","$data","_createElementVNode","_normalizeClass","_createVNode","_component_a_tree_select","$options","$event","_component_a_tooltip","_toDisplayString"],"mappings":"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"}
@@ -193,7 +193,7 @@ function M(e, n, i, N, E, t) {
193
193
  _: 1
194
194
  }, 8, ["component-size"]);
195
195
  }
196
- const B = /* @__PURE__ */ L(R, [["render", M], ["__scopeId", "data-v-bbe4a958"]]);
196
+ const B = /* @__PURE__ */ L(R, [["render", M], ["__scopeId", "data-v-14f2c2f3"]]);
197
197
  export {
198
198
  B as default
199
199
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue.js","sources":["../../../../../src/components/form-designer/form-widget/index.vue"],"sourcesContent":["<template>\n <a-config-provider :component-size=\"size\" :input=\"{ autocomplete: 'off' }\">\n <div class=\"form-widget-container\">\n <a-form\n class=\"full-height-width widget-form tpf-form\"\n :layout=\"\n ['horizontal', 'vertical', 'inline'].includes(labelPosition)\n ? labelPosition\n : 'horizontal'\n \"\n :class=\"[customClass, layoutType + '-layout']\"\n :size=\"size\"\n :validate-on-rule-change=\"false\"\n >\n <template v-if=\"designer.widgetList.length === 0\">\n <div class=\"no-widget-hint\">{{ i18nt('designer.noWidgetHint') }}</div>\n </template>\n\n <div class=\"form-widget-canvas\" :style=\"{ minHeight: canvasMinHeight }\">\n <draggable\n :list=\"designer.widgetList\"\n item-key=\"id\"\n v-bind=\"{ group: 'dragGroup', ghostClass: 'ghost', animation: 300 }\"\n tag=\"transition-group\"\n :component-data=\"{ name: 'fade' }\"\n handle=\".drag-handler\"\n @end=\"onDragEnd\"\n @add=\"onDragAdd\"\n @update=\"onDragUpdate\"\n :move=\"checkMove\"\n >\n <template #item=\"{ element: widget, index }\">\n <div class=\"transition-group-el\">\n <template v-if=\"'container' === widget.category\">\n <component\n :is=\"getWidgetName(widget)\"\n :widget=\"widget\"\n :designer=\"designer\"\n :key=\"widget.id\"\n :parent-list=\"designer.widgetList\"\n :index-of-parent-list=\"index\"\n :parent-widget=\"null\"\n :design-state=\"true\"\n />\n </template>\n <template v-else>\n <component\n :is=\"getWidgetName(widget)\"\n :field=\"widget\"\n :designer=\"designer\"\n :key=\"widget.id\"\n :parent-list=\"designer.widgetList\"\n :index-of-parent-list=\"index\"\n :parent-widget=\"null\"\n :design-state=\"true\"\n />\n </template>\n </div>\n </template>\n </draggable>\n </div>\n </a-form>\n </div>\n </a-config-provider>\n</template>\n\n<script>\n import FieldComponents from '@/components/form-designer/form-widget/field-widget';\n import i18n from '@/utils/i18n';\n import Draggable from '@/lib/vuedraggable/src/vuedraggable';\n import SubmitButtonRender from '@/components/form-render/SubmitButtonRender.vue';\n\n export default {\n name: 'VFormWidget',\n componentName: 'VFormWidget',\n mixins: [i18n],\n components: {\n Draggable,\n SubmitButtonRender,\n ...FieldComponents\n },\n props: {\n designer: Object,\n formConfig: Object,\n optionData: {\n //prop传入的选项数据\n type: Object,\n default: () => ({})\n },\n globalDsv: {\n type: Object,\n default: () => ({})\n }\n },\n provide() {\n return {\n refList: this.widgetRefList,\n getFormConfig: () =>\n this.formConfig /* 解决provide传递formConfig属性的响应式更新问题!! */,\n getGlobalDsv: () => this.globalDsv, // 全局数据源变量\n globalOptionData: this.optionData,\n getOptionData: () => this.optionData,\n getReadMode: () => false,\n globalModel: {\n formModel: this.formModel\n },\n getSubFormFieldFlag: () => false,\n getSubFormName: () => '',\n getDSResultCache: () => this.dsResultCache\n };\n },\n inject: ['getDesignerConfig'],\n data() {\n return {\n formModel: {},\n widgetRefList: {},\n dsResultCache: {}\n };\n },\n computed: {\n labelPosition() {\n if (!!this.designer.formConfig && !!this.designer.formConfig.labelPosition) {\n return this.designer.formConfig.labelPosition;\n }\n\n return 'horizontal';\n },\n\n size() {\n if (!!this.designer.formConfig && !!this.designer.formConfig.size) {\n return this.designer.formConfig.size;\n }\n\n return 'default';\n },\n\n customClass() {\n return this.designer.formConfig.customClass || '';\n },\n\n layoutType() {\n return this.designer.getLayoutType();\n },\n\n canvasMinHeight() {\n return this.getDesignerConfig().logoHeader !== false\n ? 'calc(100vh - 56px - 68px)'\n : 'calc(100vh - 56px - 68px + 48px)';\n }\n },\n watch: {\n 'designer.widgetList': {\n deep: true,\n handler(val) {\n //\n }\n },\n\n 'designer.formConfig': {\n deep: true,\n handler(val) {\n //\n }\n }\n },\n created() {\n this.designer.initDesigner(!!this.getDesignerConfig().resetFormJson); //此行代码已移动到form-designer,以便提前赋值formConfig!!\n this.designer.loadPresetCssCode(this.getDesignerConfig().presetCssCode);\n },\n mounted() {\n this.disableFirefoxDefaultDrop(); /* 禁用Firefox默认拖拽搜索功能!! */\n this.designer.registerFormWidget(this);\n },\n methods: {\n getWidgetName(widget) {\n return widget.type + '-widget';\n },\n\n disableFirefoxDefaultDrop() {\n const isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n if (isFirefox) {\n document.body.ondrop = function (event) {\n event.stopPropagation();\n event.preventDefault();\n };\n }\n },\n\n onDragEnd(evt) {\n //console.log('drag end000', evt)\n },\n\n onDragAdd(evt) {\n const newIndex = evt.newIndex;\n if (!!this.designer.widgetList[newIndex]) {\n this.designer.setSelected(this.designer.widgetList[newIndex]);\n }\n\n this.designer.emitHistoryChange();\n this.designer.emitEvent('field-selected', null);\n },\n\n onDragUpdate() {\n /* 在VueDraggable内拖拽组件发生位置变化时会触发update,未发生组件位置变化不会触发!! */\n this.designer.emitHistoryChange();\n },\n\n checkMove(evt) {\n return this.designer.checkWidgetMove(evt);\n },\n\n getFormData() {\n return this.formModel;\n },\n\n getWidgetRef(widgetName, showError = false) {\n const foundRef = this.widgetRefList[widgetName];\n if (!foundRef && !!showError) {\n this.$message.error(this.i18nt('designer.hint.refNotFound') + widgetName);\n }\n return foundRef;\n },\n\n getSelectedWidgetRef() {\n const wName = this.designer.selectedWidgetName;\n return this.getWidgetRef(wName);\n },\n\n clearWidgetRefList() {\n Object.keys(this.widgetRefList).forEach(key => {\n delete this.widgetRefList[key];\n });\n }\n }\n };\n</script>\n\n<style lang=\"less\" scoped>\n .form-widget-container {\n padding: 5px;\n background: #f1f2f3;\n\n overflow-x: hidden;\n overflow-y: auto;\n // padding-bottom: 70px;\n .submit {\n flex: 1;\n display: flex;\n justify-content: end;\n position: absolute;\n height: 60px;\n padding: 0 10px;\n background: #fff;\n z-index: 99;\n bottom: 0;\n left: 5px;\n right: 5px;\n }\n\n .ant-form.full-height-width {\n overflow-y: auto;\n height: 100%;\n padding: 3px;\n background: #ffffff;\n\n .no-widget-hint {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n font-size: 18px;\n color: #999999;\n }\n\n .form-widget-canvas {\n //min-height: calc(100vh - 56px - 68px + 48px);\n display: flex;\n flex-direction: column;\n padding: 3px;\n position: relative;\n :deep(.container-wrapper) {\n margin: 10px 0;\n min-width: 0;\n }\n :deep(.field-widget-item),\n :deep(.container-widget-item) {\n margin: 0 0 10px 0;\n border: 1px dashed #333;\n border-radius: 3px;\n background: #eee;\n height: 30px;\n align-items: center;\n display: flex;\n justify-content: center;\n color: #999999;\n }\n }\n }\n\n /* 隐藏组件拖拽状态中显示的黑点 */\n :deep(li.container-widget-item),\n :deep(li.field-widget-item) {\n list-style: none;\n }\n // .ant-form.PC-layout,\n // .el-form.PC-layout {\n // //\n // }\n .ant-form.Pad-layout {\n margin: 0 auto;\n max-width: 960px;\n border-radius: 15px;\n box-shadow: 0 0 1px 10px #495060;\n }\n .ant-form.H5-layout {\n margin: 0 auto;\n width: 420px;\n border-radius: 15px;\n //border-width: 10px;\n box-shadow: 0 0 1px 10px #495060;\n }\n .ant-form.widget-form :deep(.ant-row) {\n padding: 2px;\n border: 1px dashed rgba(170, 170, 170, 0.75);\n }\n }\n\n .grid-cell {\n min-height: 30px;\n border-right: 1px dotted #cccccc;\n }\n\n .fade-enter-active,\n .fade-leave-active {\n transition: opacity 0.5s;\n }\n\n .fade-enter,\n .fade-leave-to {\n opacity: 0;\n }\n</style>\n"],"names":["_sfc_main","i18n","Draggable","SubmitButtonRender","FieldComponents","val","widget","event","evt","newIndex","widgetName","showError","foundRef","wName","key","_hoisted_1","_hoisted_3","_createBlock","_component_a_config_provider","$options","_createElementVNode","_createVNode","_component_a_form","_normalizeClass","$props","_createElementBlock","_hoisted_2","_toDisplayString","_ctx","_component_draggable","_mergeProps","_withCtx","index","_resolveDynamicComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue.js","sources":["../../../../../src/components/form-designer/form-widget/index.vue"],"sourcesContent":["<template>\n <a-config-provider :component-size=\"size\" :input=\"{ autocomplete: 'off' }\">\n <div class=\"form-widget-container\">\n <a-form\n class=\"full-height-width widget-form tpf-form\"\n :layout=\"\n ['horizontal', 'vertical', 'inline'].includes(labelPosition)\n ? labelPosition\n : 'horizontal'\n \"\n :class=\"[customClass, layoutType + '-layout']\"\n :size=\"size\"\n :validate-on-rule-change=\"false\"\n >\n <template v-if=\"designer.widgetList.length === 0\">\n <div class=\"no-widget-hint\">{{ i18nt('designer.noWidgetHint') }}</div>\n </template>\n\n <div class=\"form-widget-canvas\" :style=\"{ minHeight: canvasMinHeight }\">\n <draggable\n :list=\"designer.widgetList\"\n item-key=\"id\"\n v-bind=\"{ group: 'dragGroup', ghostClass: 'ghost', animation: 300 }\"\n tag=\"transition-group\"\n :component-data=\"{ name: 'fade' }\"\n handle=\".drag-handler\"\n @end=\"onDragEnd\"\n @add=\"onDragAdd\"\n @update=\"onDragUpdate\"\n :move=\"checkMove\"\n >\n <template #item=\"{ element: widget, index }\">\n <div class=\"transition-group-el\">\n <template v-if=\"'container' === widget.category\">\n <component\n :is=\"getWidgetName(widget)\"\n :widget=\"widget\"\n :designer=\"designer\"\n :key=\"widget.id\"\n :parent-list=\"designer.widgetList\"\n :index-of-parent-list=\"index\"\n :parent-widget=\"null\"\n :design-state=\"true\"\n />\n </template>\n <template v-else>\n <component\n :is=\"getWidgetName(widget)\"\n :field=\"widget\"\n :designer=\"designer\"\n :key=\"widget.id\"\n :parent-list=\"designer.widgetList\"\n :index-of-parent-list=\"index\"\n :parent-widget=\"null\"\n :design-state=\"true\"\n />\n </template>\n </div>\n </template>\n </draggable>\n </div>\n </a-form>\n </div>\n </a-config-provider>\n</template>\n\n<script>\n import FieldComponents from '@/components/form-designer/form-widget/field-widget';\n import i18n from '@/utils/i18n';\n import Draggable from '@/lib/vuedraggable/src/vuedraggable';\n import SubmitButtonRender from '@/components/form-render/SubmitButtonRender.vue';\n\n export default {\n name: 'VFormWidget',\n componentName: 'VFormWidget',\n mixins: [i18n],\n components: {\n Draggable,\n SubmitButtonRender,\n ...FieldComponents\n },\n props: {\n designer: Object,\n formConfig: Object,\n optionData: {\n //prop传入的选项数据\n type: Object,\n default: () => ({})\n },\n globalDsv: {\n type: Object,\n default: () => ({})\n }\n },\n provide() {\n return {\n refList: this.widgetRefList,\n getFormConfig: () =>\n this.formConfig /* 解决provide传递formConfig属性的响应式更新问题!! */,\n getGlobalDsv: () => this.globalDsv, // 全局数据源变量\n globalOptionData: this.optionData,\n getOptionData: () => this.optionData,\n getReadMode: () => false,\n globalModel: {\n formModel: this.formModel\n },\n getSubFormFieldFlag: () => false,\n getSubFormName: () => '',\n getDSResultCache: () => this.dsResultCache\n };\n },\n inject: ['getDesignerConfig'],\n data() {\n return {\n formModel: {},\n widgetRefList: {},\n dsResultCache: {}\n };\n },\n computed: {\n labelPosition() {\n if (!!this.designer.formConfig && !!this.designer.formConfig.labelPosition) {\n return this.designer.formConfig.labelPosition;\n }\n\n return 'horizontal';\n },\n\n size() {\n if (!!this.designer.formConfig && !!this.designer.formConfig.size) {\n return this.designer.formConfig.size;\n }\n\n return 'default';\n },\n\n customClass() {\n return this.designer.formConfig.customClass || '';\n },\n\n layoutType() {\n return this.designer.getLayoutType();\n },\n\n canvasMinHeight() {\n return this.getDesignerConfig().logoHeader !== false\n ? 'calc(100vh - 56px - 68px)'\n : 'calc(100vh - 56px - 68px + 48px)';\n }\n },\n watch: {\n 'designer.widgetList': {\n deep: true,\n handler(val) {\n //\n }\n },\n\n 'designer.formConfig': {\n deep: true,\n handler(val) {\n //\n }\n }\n },\n created() {\n this.designer.initDesigner(!!this.getDesignerConfig().resetFormJson); //此行代码已移动到form-designer,以便提前赋值formConfig!!\n this.designer.loadPresetCssCode(this.getDesignerConfig().presetCssCode);\n },\n mounted() {\n this.disableFirefoxDefaultDrop(); /* 禁用Firefox默认拖拽搜索功能!! */\n this.designer.registerFormWidget(this);\n },\n methods: {\n getWidgetName(widget) {\n return widget.type + '-widget';\n },\n\n disableFirefoxDefaultDrop() {\n const isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n if (isFirefox) {\n document.body.ondrop = function (event) {\n event.stopPropagation();\n event.preventDefault();\n };\n }\n },\n\n onDragEnd(evt) {\n //console.log('drag end000', evt)\n },\n\n onDragAdd(evt) {\n const newIndex = evt.newIndex;\n if (!!this.designer.widgetList[newIndex]) {\n this.designer.setSelected(this.designer.widgetList[newIndex]);\n }\n\n this.designer.emitHistoryChange();\n this.designer.emitEvent('field-selected', null);\n },\n\n onDragUpdate() {\n /* 在VueDraggable内拖拽组件发生位置变化时会触发update,未发生组件位置变化不会触发!! */\n this.designer.emitHistoryChange();\n },\n\n checkMove(evt) {\n return this.designer.checkWidgetMove(evt);\n },\n\n getFormData() {\n return this.formModel;\n },\n\n getWidgetRef(widgetName, showError = false) {\n const foundRef = this.widgetRefList[widgetName];\n if (!foundRef && !!showError) {\n this.$message.error(this.i18nt('designer.hint.refNotFound') + widgetName);\n }\n return foundRef;\n },\n\n getSelectedWidgetRef() {\n const wName = this.designer.selectedWidgetName;\n return this.getWidgetRef(wName);\n },\n\n clearWidgetRefList() {\n Object.keys(this.widgetRefList).forEach(key => {\n delete this.widgetRefList[key];\n });\n }\n }\n };\n</script>\n\n<style lang=\"less\" scoped>\n .form-widget-container {\n padding: 5px;\n background: #f1f2f3;\n\n overflow-x: hidden;\n overflow-y: auto;\n // padding-bottom: 70px;\n .submit {\n flex: 1;\n display: flex;\n justify-content: end;\n position: absolute;\n height: 60px;\n padding: 0 10px;\n background: #fff;\n z-index: 99;\n bottom: 0;\n left: 5px;\n right: 5px;\n }\n\n .ant-form.full-height-width {\n overflow-y: auto;\n height: 100%;\n padding: 3px;\n background: #ffffff;\n\n .no-widget-hint {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n font-size: 18px;\n color: #999999;\n }\n\n .form-widget-canvas {\n //min-height: calc(100vh - 56px - 68px + 48px);\n display: flex;\n flex-direction: column;\n padding: 3px;\n position: relative;\n :deep(.container-wrapper) {\n margin: 10px 0;\n min-width: 0;\n }\n :deep(.field-widget-item),\n :deep(.container-widget-item) {\n margin: 0 0 10px 0;\n border: 1px dashed #333;\n border-radius: 3px;\n background: #eee;\n height: 30px;\n align-items: center;\n display: flex;\n justify-content: center;\n color: #999999;\n }\n }\n }\n\n /* 隐藏组件拖拽状态中显示的黑点 */\n :deep(li.container-widget-item),\n :deep(li.field-widget-item) {\n list-style: none;\n }\n\n .ant-form.Pad-layout {\n margin: 0 auto;\n max-width: 960px;\n border-radius: 15px;\n box-shadow: 0 0 1px 10px #495060;\n }\n .ant-form.H5-layout {\n margin: 0 auto;\n width: 420px;\n border-radius: 15px;\n //border-width: 10px;\n box-shadow: 0 0 1px 10px #495060;\n }\n .ant-form.widget-form :deep(.ant-row) {\n padding: 2px;\n border: 1px dashed rgba(170, 170, 170, 0.75);\n }\n }\n\n .grid-cell {\n min-height: 30px;\n border-right: 1px dotted #cccccc;\n }\n\n .fade-enter-active,\n .fade-leave-active {\n transition: opacity 0.5s;\n }\n\n .fade-enter,\n .fade-leave-to {\n opacity: 0;\n }\n</style>\n"],"names":["_sfc_main","i18n","Draggable","SubmitButtonRender","FieldComponents","val","widget","event","evt","newIndex","widgetName","showError","foundRef","wName","key","_hoisted_1","_hoisted_3","_createBlock","_component_a_config_provider","$options","_createElementVNode","_createVNode","_component_a_form","_normalizeClass","$props","_createElementBlock","_hoisted_2","_toDisplayString","_ctx","_component_draggable","_mergeProps","_withCtx","index","_resolveDynamicComponent"],"mappings":"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"}
@@ -361,7 +361,7 @@ function I(e, t, s, M, i, l) {
361
361
  _: 3
362
362
  });
363
363
  }
364
- const ie = /* @__PURE__ */ V(T, [["render", I], ["__scopeId", "data-v-76905191"]]);
364
+ const ie = /* @__PURE__ */ V(T, [["render", I], ["__scopeId", "data-v-ee42a973"]]);
365
365
  export {
366
366
  ie as default
367
367
  };