@xfu0401/form-generator 1.0.21 → 1.0.22
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.
- package/package.json +1 -1
- package/.eslintrc.js +0 -48
- package/@xfu0401/form-generator/package.json +0 -62
- package/LICENSE +0 -127
- package/README.md +0 -268
- package/babel.config.js +0 -22
- package/public/favicon.ico +0 -0
- package/public/img/show/PixPin_2024-07-17_16-25-59.gif +0 -0
- package/public/img/show/PixPin_2024-07-17_16-33-51.png +0 -0
- package/public/img/show/file.png +0 -0
- package/public/img/show/image.png +0 -0
- package/public/img/show/pc/347/253/257/346/270/262/346/237/223.png +0 -0
- package/public/img/show/pc/347/253/257/350/257/246/346/203/205.png +0 -0
- package/public/img/show//344/272/213/344/273/266.png +0 -0
- package/public/img/show//345/205/250/345/261/200/344/272/213/344/273/266.png +0 -0
- package/public/img/show//345/205/250/345/261/200/346/240/267/345/274/217.png +0 -0
- package/public/img/show//346/240/267/345/274/217/345/261/236/346/200/247.png +0 -0
- package/public/img/show//347/247/273/345/212/250/347/253/257/346/270/262/346/237/223.png +0 -0
- package/public/img/show//347/247/273/345/212/250/347/253/257/350/257/246/346/203/205.png +0 -0
- package/public/img/show//347/274/226/350/276/221/345/231/2502.png +0 -0
- package/public/img/show//347/274/226/350/276/221/345/231/2503.png +0 -0
- package/public/img/show//347/274/226/350/276/221/345/231/2504.png +0 -0
- package/public/img/temp//344/270/273/344/273/216/350/241/250/345/215/225.jpg +0 -0
- package/public/img/temp//345/210/206/347/273/204/350/241/250/345/215/225.jpg +0 -0
- package/public/img/temp//345/215/225/345/210/227/350/241/250/345/215/225.jpg +0 -0
- package/public/img/temp//345/233/272/345/256/232/350/241/250/346/240/274/350/241/250/345/215/225.jpg +0 -0
- package/public/img/temp//345/244/232/345/210/227/350/241/250/345/215/225.jpg +0 -0
- package/public/img/temp//346/240/207/347/255/276/351/241/265/350/241/250/345/215/225.jpg +0 -0
- package/public/index.html +0 -25
- package/public/static/js/config.js +0 -2
- package/src/App.vue +0 -18
- package/src/api/data.js +0 -52
- package/src/components/Layout/Layout.vue +0 -28
- package/src/components/Layout/LeftMenu.vue +0 -46
- package/src/components/SvgIcon/index.vue +0 -43
- package/src/components/code/Code.vue +0 -98
- package/src/components/common/FGDialog.vue +0 -100
- package/src/components/editor/CodeDialog.vue +0 -68
- package/src/components/editor/CodeEditor.vue +0 -191
- package/src/components/editor/CodeJson.vue +0 -130
- package/src/components/editor/CssEditor.vue +0 -84
- package/src/components/editor/EventEditor.vue +0 -84
- package/src/components/editor/JsonDialog.vue +0 -55
- package/src/components/editor/JsonEditor.vue +0 -58
- package/src/components/editor/components/EditorLeft.vue +0 -138
- package/src/components/fileComs/ExportExcel.vue +0 -49
- package/src/components/fileComs/ExportJson.vue +0 -52
- package/src/components/fileComs/ImportExcel.vue +0 -96
- package/src/components/fileComs/ImportJson.vue +0 -65
- package/src/components/formGenerator/components/formExport.vue +0 -52
- package/src/components/formGenerator/components/formGeneratorAttrField.vue +0 -1113
- package/src/components/formGenerator/components/formGeneratorAttrForm.vue +0 -98
- package/src/components/formGenerator/components/formGeneratorCom.vue +0 -108
- package/src/components/formGenerator/components/formGeneratorOutline.vue +0 -159
- package/src/components/formGenerator/components/formGeneratorTemp.vue +0 -77
- package/src/components/formGenerator/components/formImport.vue +0 -62
- package/src/components/formGenerator/components/formPreview.vue +0 -102
- package/src/components/formGenerator/configComponents/DataConfig.vue +0 -156
- package/src/components/formGenerator/configComponents/DataDialog.vue +0 -188
- package/src/components/formGenerator/configComponents/EventConfig.vue +0 -56
- package/src/components/formGenerator/configComponents/PageConfig.vue +0 -55
- package/src/components/formGenerator/configComponents/RegConfig.vue +0 -105
- package/src/components/formGenerator/configComponents/ShadowConfig.vue +0 -95
- package/src/components/formGenerator/configComponents/SpaceConfig.vue +0 -187
- package/src/components/formGenerator/configComponents/StyleConfig.vue +0 -258
- package/src/components/formGenerator/configComponents/TableConfig.vue +0 -75
- package/src/components/formGenerator/configComponents/TableHead.vue +0 -141
- package/src/components/formGenerator/formComponents/pcComponents/assistComs/formButton.vue +0 -25
- package/src/components/formGenerator/formComponents/pcComponents/assistComs/formDivider.vue +0 -49
- package/src/components/formGenerator/formComponents/pcComponents/assistComs/formHtml.vue +0 -37
- package/src/components/formGenerator/formComponents/pcComponents/assistComs/formLink.vue +0 -26
- package/src/components/formGenerator/formComponents/pcComponents/assistComs/formNotice.vue +0 -118
- package/src/components/formGenerator/formComponents/pcComponents/assistComs/formRemark.vue +0 -29
- package/src/components/formGenerator/formComponents/pcComponents/assistComs/formSwipe.vue +0 -39
- package/src/components/formGenerator/formComponents/pcComponents/assistComs/formTable.vue +0 -130
- package/src/components/formGenerator/formComponents/pcComponents/assistComs/formTableExport.vue +0 -311
- package/src/components/formGenerator/formComponents/pcComponents/assistComs/formTag.vue +0 -30
- package/src/components/formGenerator/formComponents/pcComponents/assistComs/formText.vue +0 -27
- package/src/components/formGenerator/formComponents/pcComponents/assistComs/formTree.vue +0 -47
- package/src/components/formGenerator/formComponents/pcComponents/components/emptyTips.vue +0 -24
- package/src/components/formGenerator/formComponents/pcComponents/components/esignDialog.vue +0 -86
- package/src/components/formGenerator/formComponents/pcComponents/components/filesShow.vue +0 -121
- package/src/components/formGenerator/formComponents/pcComponents/components/imageShow.vue +0 -148
- package/src/components/formGenerator/formComponents/pcComponents/components/nameShow.vue +0 -54
- package/src/components/formGenerator/formComponents/pcComponents/components/tableOptions.vue +0 -56
- package/src/components/formGenerator/formComponents/pcComponents/components/tableStyle.vue +0 -58
- package/src/components/formGenerator/formComponents/pcComponents/components/userPicker.vue +0 -440
- package/src/components/formGenerator/formComponents/pcComponents/inputComs/formAutocomplete.vue +0 -79
- package/src/components/formGenerator/formComponents/pcComponents/inputComs/formInput.vue +0 -56
- package/src/components/formGenerator/formComponents/pcComponents/inputComs/formInputNumber.vue +0 -51
- package/src/components/formGenerator/formComponents/pcComponents/inputComs/formRichText.vue +0 -138
- package/src/components/formGenerator/formComponents/pcComponents/layoutComs/formCard.vue +0 -35
- package/src/components/formGenerator/formComponents/pcComponents/layoutComs/formCollapse.vue +0 -79
- package/src/components/formGenerator/formComponents/pcComponents/layoutComs/formRowContainer.vue +0 -337
- package/src/components/formGenerator/formComponents/pcComponents/layoutComs/formSteps.vue +0 -90
- package/src/components/formGenerator/formComponents/pcComponents/layoutComs/formSub.vue +0 -219
- package/src/components/formGenerator/formComponents/pcComponents/layoutComs/formTableContainer.vue +0 -277
- package/src/components/formGenerator/formComponents/pcComponents/layoutComs/formTabsContainer.vue +0 -65
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formCascader.vue +0 -62
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formCheckboxGroup.vue +0 -70
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formColorPicker.vue +0 -39
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formDatePicker.vue +0 -43
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formDaterangePicker.vue +0 -40
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formImage.vue +0 -235
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formOrgPicker.vue +0 -131
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formRadioGroup.vue +0 -59
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formRate.vue +0 -50
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formSelect.vue +0 -62
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formSelectHis.vue +0 -66
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formSelectProject.vue +0 -62
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formSignature.vue +0 -98
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formSlider.vue +0 -46
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formSwitch.vue +0 -37
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formTimePicker.vue +0 -41
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formTimerangePicker.vue +0 -40
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formUpload.vue +0 -253
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formUploadTemp.vue +0 -82
- package/src/components/formGenerator/formComponents/pcComponents/selectComs/formUserPicker.vue +0 -142
- package/src/components/formGenerator/formComponents/pcForm.vue +0 -155
- package/src/components/formGenerator/formComponents/phoneComponents/assistComs/formButton.vue +0 -36
- package/src/components/formGenerator/formComponents/phoneComponents/assistComs/formDivider.vue +0 -41
- package/src/components/formGenerator/formComponents/phoneComponents/assistComs/formHtml.vue +0 -37
- package/src/components/formGenerator/formComponents/phoneComponents/assistComs/formLink.vue +0 -49
- package/src/components/formGenerator/formComponents/phoneComponents/assistComs/formNotice.vue +0 -43
- package/src/components/formGenerator/formComponents/phoneComponents/assistComs/formRemark.vue +0 -39
- package/src/components/formGenerator/formComponents/phoneComponents/assistComs/formSwipe.vue +0 -34
- package/src/components/formGenerator/formComponents/phoneComponents/assistComs/formTable.vue +0 -132
- package/src/components/formGenerator/formComponents/phoneComponents/assistComs/formTableExport.vue +0 -268
- package/src/components/formGenerator/formComponents/phoneComponents/assistComs/formTag.vue +0 -147
- package/src/components/formGenerator/formComponents/phoneComponents/assistComs/formText.vue +0 -27
- package/src/components/formGenerator/formComponents/phoneComponents/assistComs/formTree.vue +0 -21
- package/src/components/formGenerator/formComponents/phoneComponents/components/cascaderPicker.vue +0 -81
- package/src/components/formGenerator/formComponents/phoneComponents/components/datePicker.vue +0 -101
- package/src/components/formGenerator/formComponents/phoneComponents/components/esignDialog.vue +0 -156
- package/src/components/formGenerator/formComponents/phoneComponents/components/filesShow.vue +0 -128
- package/src/components/formGenerator/formComponents/phoneComponents/components/imageShow.vue +0 -123
- package/src/components/formGenerator/formComponents/phoneComponents/components/nameShow.vue +0 -84
- package/src/components/formGenerator/formComponents/phoneComponents/components/orgPicker.vue +0 -343
- package/src/components/formGenerator/formComponents/phoneComponents/components/tableShow.vue +0 -149
- package/src/components/formGenerator/formComponents/phoneComponents/components/textShow.vue +0 -25
- package/src/components/formGenerator/formComponents/phoneComponents/components/timePicker.vue +0 -90
- package/src/components/formGenerator/formComponents/phoneComponents/inputComs/formAutocomplete.vue +0 -163
- package/src/components/formGenerator/formComponents/phoneComponents/inputComs/formInput.vue +0 -111
- package/src/components/formGenerator/formComponents/phoneComponents/inputComs/formInputNumber.vue +0 -65
- package/src/components/formGenerator/formComponents/phoneComponents/inputComs/formRichText.vue +0 -147
- package/src/components/formGenerator/formComponents/phoneComponents/layoutComs/formCard.vue +0 -59
- package/src/components/formGenerator/formComponents/phoneComponents/layoutComs/formCollapse.vue +0 -71
- package/src/components/formGenerator/formComponents/phoneComponents/layoutComs/formRowContainer.vue +0 -94
- package/src/components/formGenerator/formComponents/phoneComponents/layoutComs/formSteps.vue +0 -112
- package/src/components/formGenerator/formComponents/phoneComponents/layoutComs/formSub.vue +0 -130
- package/src/components/formGenerator/formComponents/phoneComponents/layoutComs/formTableContainer.vue +0 -93
- package/src/components/formGenerator/formComponents/phoneComponents/layoutComs/formTabsContainer.vue +0 -64
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formCascader.vue +0 -210
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formCheckboxGroup.vue +0 -86
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formColorPicker.vue +0 -63
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formDatePicker.vue +0 -100
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formDateRangePicker.vue +0 -136
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formImage.vue +0 -278
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formOrgPicker.vue +0 -107
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formRadioGroup.vue +0 -93
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formRate.vue +0 -85
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formSelect.vue +0 -138
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formSelectHis.vue +0 -142
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formSelectProject.vue +0 -138
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formSignature.vue +0 -108
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formSlider.vue +0 -79
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formSwitch.vue +0 -88
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formTimePicker.vue +0 -112
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formTimeRangePicker.vue +0 -155
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formUpload.vue +0 -310
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formUploadTemp.vue +0 -81
- package/src/components/formGenerator/formComponents/phoneComponents/selectComs/formUserPicker.vue +0 -114
- package/src/components/formGenerator/formComponents/phoneForm.vue +0 -134
- package/src/components/formGenerator/formGenerator.vue +0 -401
- package/src/components/formGenerator/styles/generator.scss +0 -271
- package/src/components/formGenerator/styles/index.scss +0 -136
- package/src/components/formGenerator/styles/left-coms.scss +0 -57
- package/src/components/formGenerator/styles/phone.scss +0 -269
- package/src/components/formGenerator/styles/theme.scss +0 -5
- package/src/components/formGenerator/utils/attribute.js +0 -107
- package/src/components/formGenerator/utils/comMixins.js +0 -148
- package/src/components/formGenerator/utils/component.js +0 -26
- package/src/components/formGenerator/utils/config.js +0 -1730
- package/src/components/formGenerator/utils/event.js +0 -82
- package/src/components/formGenerator/utils/formEvent.js +0 -43
- package/src/components/formGenerator/utils/index.js +0 -666
- package/src/components/formGenerator/utils/rules.js +0 -17
- package/src/components/formGenerator/utils/style.js +0 -75
- package/src/components/formGenerator/utils/table.js +0 -317
- package/src/components/formGenerator/utils/temps.js +0 -15303
- package/src/components/huComponents/FGBreadNav.vue +0 -86
- package/src/components/huComponents/FGCheckCell.vue +0 -107
- package/src/components/huComponents/FGCheckList.vue +0 -318
- package/src/components/huComponents/FGCheckPopUp.vue +0 -164
- package/src/components/huComponents/FGIconsDialog.vue +0 -124
- package/src/components/huComponents/FGNameImg.vue +0 -147
- package/src/components/huComponents/FGOptions.vue +0 -118
- package/src/components/huComponents/FGSelect.vue +0 -46
- package/src/components/huComponents/FGTreeNode.vue +0 -103
- package/src/components/huComponents/FGTreeNodeDialog.vue +0 -89
- package/src/components/huComponents/InputColor.vue +0 -117
- package/src/components/huComponents/InputNumber.vue +0 -78
- package/src/components/huComponents/LayoutTree.vue +0 -67
- package/src/components/huComponents/MenuButton.vue +0 -57
- package/src/components/index.js +0 -14
- package/src/icons/index.js +0 -10
- package/src/icons/svg/active.svg +0 -1
- package/src/icons/svg/addSold.svg +0 -1
- package/src/icons/svg/analyse.svg +0 -1
- package/src/icons/svg/button.svg +0 -1
- package/src/icons/svg/card.svg +0 -1
- package/src/icons/svg/cascader.svg +0 -1
- package/src/icons/svg/checkbox.svg +0 -1
- package/src/icons/svg/collapse.svg +0 -1
- package/src/icons/svg/color.svg +0 -1
- package/src/icons/svg/component.svg +0 -1
- package/src/icons/svg/date-range.svg +0 -1
- package/src/icons/svg/date.svg +0 -1
- package/src/icons/svg/default-dept.svg +0 -9
- package/src/icons/svg/default-role.svg +0 -5
- package/src/icons/svg/default-user.svg +0 -16
- package/src/icons/svg/dept.svg +0 -1
- package/src/icons/svg/divider.svg +0 -1
- package/src/icons/svg/ellipsis.svg +0 -2
- package/src/icons/svg/html.svg +0 -1
- package/src/icons/svg/image.svg +0 -1
- package/src/icons/svg/input.svg +0 -1
- package/src/icons/svg/link.svg +0 -1
- package/src/icons/svg/mp4.svg +0 -19
- package/src/icons/svg/notice.svg +0 -1
- package/src/icons/svg/noview.svg +0 -1
- package/src/icons/svg/number.svg +0 -1
- package/src/icons/svg/password.svg +0 -1
- package/src/icons/svg/pdf.svg +0 -18
- package/src/icons/svg/person.svg +0 -1
- package/src/icons/svg/png.svg +0 -18
- package/src/icons/svg/ppt.svg +0 -19
- package/src/icons/svg/process.svg +0 -1
- package/src/icons/svg/radio.svg +0 -1
- package/src/icons/svg/rate.svg +0 -1
- package/src/icons/svg/remark.svg +0 -1
- package/src/icons/svg/rich-text.svg +0 -1
- package/src/icons/svg/row.svg +0 -1
- package/src/icons/svg/select.svg +0 -1
- package/src/icons/svg/signature.svg +0 -1
- package/src/icons/svg/slider.svg +0 -1
- package/src/icons/svg/steps.svg +0 -1
- package/src/icons/svg/sub.svg +0 -1
- package/src/icons/svg/swipe.svg +0 -1
- package/src/icons/svg/switch.svg +0 -1
- package/src/icons/svg/table-edit.svg +0 -1
- package/src/icons/svg/table.svg +0 -1
- package/src/icons/svg/table2.svg +0 -1
- package/src/icons/svg/table3.svg +0 -1
- package/src/icons/svg/tabs.svg +0 -1
- package/src/icons/svg/tag.svg +0 -1
- package/src/icons/svg/text.svg +0 -1
- package/src/icons/svg/textarea.svg +0 -1
- package/src/icons/svg/time-range.svg +0 -1
- package/src/icons/svg/time.svg +0 -1
- package/src/icons/svg/tree.svg +0 -1
- package/src/icons/svg/unknow.svg +0 -20
- package/src/icons/svg/upload.svg +0 -1
- package/src/icons/svg/view.svg +0 -1
- package/src/icons/svg/word.svg +0 -20
- package/src/icons/svg/xlsx.svg +0 -18
- package/src/icons/svg/zip.svg +0 -20
- package/src/images/phone_bg.png +0 -0
- package/src/main.js +0 -26
- package/src/package/FGDesigner.vue +0 -114
- package/src/package/FGPcForm.vue +0 -100
- package/src/package/FGPcShow.vue +0 -69
- package/src/package/FGPhoneForm.vue +0 -106
- package/src/package/FGPhoneShow.vue +0 -69
- package/src/package/common/init.js +0 -23
- package/src/package/common/initPc.js +0 -26
- package/src/package/common/initPhone.js +0 -28
- package/src/package/common/mixins.js +0 -57
- package/src/package/index.js +0 -40
- package/src/plugins/richEditor/richEditorPc.vue +0 -478
- package/src/plugins/richEditor/richEditorPhone.vue +0 -520
- package/src/plugins/voiceTxtarea/voiceTxtarea.vue +0 -115
- package/src/router.js +0 -111
- package/src/store/index.js +0 -14
- package/src/store/modules/app.js +0 -54
- package/src/store/modules/user.js +0 -23
- package/src/style/color.scss +0 -10
- package/src/style/main.scss +0 -78
- package/src/utils/comsData.js +0 -279
- package/src/utils/defaultValue.js +0 -2288
- package/src/utils/drawingDefalut.js +0 -2749
- package/src/utils/iconData.js +0 -283
- package/src/utils/index.js +0 -6
- package/src/utils/progress.js +0 -96
- package/src/utils/request.js +0 -41
- package/src/views/coms/components/Attributes.vue +0 -28
- package/src/views/coms/components/ELink.vue +0 -23
- package/src/views/coms/components/Events.vue +0 -20
- package/src/views/coms/components/Example.vue +0 -42
- package/src/views/coms/components/Methods.vue +0 -20
- package/src/views/coms/components/VLink.vue +0 -23
- package/src/views/coms/comsDesiger.vue +0 -224
- package/src/views/coms/comsFormPc.vue +0 -76
- package/src/views/coms/comsFormPhone.vue +0 -103
- package/src/views/coms/comsShowPc.vue +0 -56
- package/src/views/coms/comsShowPhone.vue +0 -89
- package/src/views/config/components/configCell.vue +0 -111
- package/src/views/config/config.vue +0 -84
- package/src/views/demo/demo.vue +0 -235
- package/src/views/demo/demo2.vue +0 -131
- package/src/views/demo/table.js +0 -321
- package/src/views/document/index.vue +0 -140
- package/src/views/form/create.vue +0 -44
- package/vue.config.js +0 -72
- /package/{@xfu0401/form-generator/demo.html → demo.html} +0 -0
- /package/{@xfu0401/form-generator/form-generator.common.js → form-generator.common.js} +0 -0
- /package/{@xfu0401/form-generator/form-generator.common.js.map → form-generator.common.js.map} +0 -0
- /package/{@xfu0401/form-generator/form-generator.css → form-generator.css} +0 -0
- /package/{@xfu0401/form-generator/form-generator.umd.js → form-generator.umd.js} +0 -0
- /package/{@xfu0401/form-generator/form-generator.umd.js.map → form-generator.umd.js.map} +0 -0
- /package/{@xfu0401/form-generator/form-generator.umd.min.js → form-generator.umd.min.js} +0 -0
- /package/{@xfu0401/form-generator/form-generator.umd.min.js.map → form-generator.umd.min.js.map} +0 -0
- /package/{@xfu0401/form-generator/static → static}/fonts/element-icons.535877f5.woff +0 -0
- /package/{@xfu0401/form-generator/static → static}/fonts/element-icons.732389de.ttf +0 -0
- /package/{@xfu0401/form-generator/static → static}/img/phone_bg.7ead1463.png +0 -0
|
@@ -1,1113 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<!-- 组件属性 -->
|
|
3
|
-
<div
|
|
4
|
-
class="Fg-field"
|
|
5
|
-
v-if="activeData && Object.keys(activeData).length"
|
|
6
|
-
:key="activeData.__config__.formId"
|
|
7
|
-
>
|
|
8
|
-
<!-- <el-form
|
|
9
|
-
size="small"
|
|
10
|
-
label-position="left"
|
|
11
|
-
label-width="90px"
|
|
12
|
-
style="margin-top:-16px;padding:5px 0"
|
|
13
|
-
>
|
|
14
|
-
<el-form-item v-if="activeData.isLock !== undefined" label="是否锁定">
|
|
15
|
-
<el-switch :value="activeData.isLock" @change="handleLock(activeData)" />
|
|
16
|
-
</el-form-item>
|
|
17
|
-
</el-form>-->
|
|
18
|
-
<el-form size="small" label-position="left" label-width="90px" :disabled="activeData.isLock">
|
|
19
|
-
<div class="Fg-field-name">属性配置</div>
|
|
20
|
-
<el-form-item v-if="activeData.__config__.changeTag" label="组件类型">
|
|
21
|
-
<el-select
|
|
22
|
-
:value="activeData.__config__.label"
|
|
23
|
-
placeholder="请选择组件类型"
|
|
24
|
-
:style="{ width: '100%' }"
|
|
25
|
-
@change="tagChange"
|
|
26
|
-
>
|
|
27
|
-
<el-option-group v-for="group in tagList" :key="group.label" :label="group.label">
|
|
28
|
-
<el-option
|
|
29
|
-
v-for="item in group.options"
|
|
30
|
-
:key="item.__config__.label"
|
|
31
|
-
:label="item.__config__.label"
|
|
32
|
-
:value="item.__config__.label"
|
|
33
|
-
>
|
|
34
|
-
<svg-icon class="node-icon" :icon-class="item.__config__.tagIcon" />
|
|
35
|
-
<span>{{ item.__config__.label }}</span>
|
|
36
|
-
</el-option>
|
|
37
|
-
</el-option-group>
|
|
38
|
-
</el-select>
|
|
39
|
-
</el-form-item>
|
|
40
|
-
<el-form-item required v-if="activeData.__config__.formKey !== undefined" label="标识符">
|
|
41
|
-
<el-input
|
|
42
|
-
v-model="activeData.__config__.formKey"
|
|
43
|
-
placeholder="请输入字段标识符"
|
|
44
|
-
:disabled="activeData.__config__.formKeyDisabled ||false"
|
|
45
|
-
/>
|
|
46
|
-
</el-form-item>
|
|
47
|
-
<el-form-item v-if="activeData.__config__.componentName !== undefined" label="组件名">
|
|
48
|
-
{{ activeData.__config__.componentName }}
|
|
49
|
-
<!-- <el-input v-model="activeData.__config__.componentName" placeholder="请输入组件名" maxlength="50" /> -->
|
|
50
|
-
</el-form-item>
|
|
51
|
-
<el-form-item required v-if="activeData.__config__.label !== undefined" label="标题">
|
|
52
|
-
<el-input
|
|
53
|
-
v-model="activeData.__config__.label"
|
|
54
|
-
placeholder="请输入标题"
|
|
55
|
-
@input="changeRenderKey"
|
|
56
|
-
/>
|
|
57
|
-
</el-form-item>
|
|
58
|
-
<el-form-item v-if="activeData.header !== undefined" label="标题">
|
|
59
|
-
<el-input v-model="activeData.header" placeholder="请输入标题" @input="changeRenderKey" />
|
|
60
|
-
</el-form-item>
|
|
61
|
-
<el-form-item v-if="activeData.placeholder !== undefined" label="占位提示">
|
|
62
|
-
<el-input
|
|
63
|
-
v-model="activeData.placeholder"
|
|
64
|
-
placeholder="请输入占位提示"
|
|
65
|
-
@input="changeRenderKey"
|
|
66
|
-
maxlength="50"
|
|
67
|
-
/>
|
|
68
|
-
</el-form-item>
|
|
69
|
-
<el-form-item v-if="activeData['start-placeholder'] !== undefined" label="开始占位">
|
|
70
|
-
<el-input v-model="activeData['start-placeholder']" placeholder="请输入占位提示" maxlength="50" />
|
|
71
|
-
</el-form-item>
|
|
72
|
-
<el-form-item v-if="activeData['end-placeholder'] !== undefined" label="结束占位">
|
|
73
|
-
<el-input v-model="activeData['end-placeholder']" placeholder="请输入占位提示" maxlength="50" />
|
|
74
|
-
</el-form-item>
|
|
75
|
-
<el-form-item v-if="activeData.__config__.span !== undefined" label="表单栅格">
|
|
76
|
-
<el-slider v-model="activeData.__config__.span" :max="24" :min="1" :marks="{ 12: '' }" />
|
|
77
|
-
</el-form-item>
|
|
78
|
-
<el-form-item
|
|
79
|
-
v-if="
|
|
80
|
-
activeData.__config__.tagType == 'layout' &&
|
|
81
|
-
activeData.gutter !== undefined
|
|
82
|
-
"
|
|
83
|
-
label="栅格间隔"
|
|
84
|
-
>
|
|
85
|
-
<el-input-number v-model="activeData.gutter" :min="0" placeholder="栅格间隔" />
|
|
86
|
-
</el-form-item>
|
|
87
|
-
<template v-if="activeData.__config__.isStage">
|
|
88
|
-
<!-- <el-divider /> -->
|
|
89
|
-
<el-form-item v-if="activeData.__config__.defaultValue !==undefined" label="默认选中">
|
|
90
|
-
<el-input
|
|
91
|
-
:value="setDefaultValue(activeData.__config__.defaultValue)"
|
|
92
|
-
placeholder="请输入默认值"
|
|
93
|
-
:maxlength="50"
|
|
94
|
-
@input="onDefaultValueInput"
|
|
95
|
-
/>
|
|
96
|
-
</el-form-item>
|
|
97
|
-
<el-form-item
|
|
98
|
-
v-if="
|
|
99
|
-
activeData.__config__.tag === 'form-tabs-container' &&
|
|
100
|
-
activeData.type !== undefined
|
|
101
|
-
"
|
|
102
|
-
label="风格类型"
|
|
103
|
-
>
|
|
104
|
-
<el-radio-group v-model="activeData.type">
|
|
105
|
-
<el-radio-button label>默认</el-radio-button>
|
|
106
|
-
<el-radio-button label="card">标签</el-radio-button>
|
|
107
|
-
<el-radio-button label="border-card">卡片</el-radio-button>
|
|
108
|
-
</el-radio-group>
|
|
109
|
-
</el-form-item>
|
|
110
|
-
<el-form-item v-if="activeData.direction !==undefined" label="显示方向">
|
|
111
|
-
<el-radio-group v-model="activeData.direction">
|
|
112
|
-
<el-radio-button label="horizontal">水平排列</el-radio-button>
|
|
113
|
-
<el-radio-button label="vertical">垂直排列</el-radio-button>
|
|
114
|
-
</el-radio-group>
|
|
115
|
-
</el-form-item>
|
|
116
|
-
<el-form-item v-if="activeData.simple !==undefined" label="显示简洁风格">
|
|
117
|
-
<el-switch v-model="activeData.simple" />
|
|
118
|
-
</el-form-item>
|
|
119
|
-
<FGOptions
|
|
120
|
-
v-if="activeData.children!==undefined"
|
|
121
|
-
:options.sync="activeData.children"
|
|
122
|
-
title="子节点列表"
|
|
123
|
-
/>
|
|
124
|
-
</template>
|
|
125
|
-
|
|
126
|
-
<el-form-item
|
|
127
|
-
v-if="
|
|
128
|
-
activeData.__config__.tag === 'form-row-container' &&
|
|
129
|
-
activeData.type !== undefined
|
|
130
|
-
"
|
|
131
|
-
label="布局模式"
|
|
132
|
-
>
|
|
133
|
-
<el-radio-group v-model="activeData.type">
|
|
134
|
-
<el-radio-button label="default" />
|
|
135
|
-
<el-radio-button label="flex" />
|
|
136
|
-
</el-radio-group>
|
|
137
|
-
</el-form-item>
|
|
138
|
-
<el-form-item
|
|
139
|
-
v-if="activeData.justify !== undefined && activeData.type === 'flex'"
|
|
140
|
-
label="水平排列"
|
|
141
|
-
>
|
|
142
|
-
<el-select v-model="activeData.justify" placeholder="请选择水平排列" :style="{ width: '100%' }">
|
|
143
|
-
<el-option
|
|
144
|
-
v-for="(item, index) in justifyOptions"
|
|
145
|
-
:key="index"
|
|
146
|
-
:label="item.label"
|
|
147
|
-
:value="item.value"
|
|
148
|
-
/>
|
|
149
|
-
</el-select>
|
|
150
|
-
</el-form-item>
|
|
151
|
-
<el-form-item
|
|
152
|
-
v-if="activeData.align !== undefined && activeData.type === 'flex'"
|
|
153
|
-
label="垂直排列"
|
|
154
|
-
>
|
|
155
|
-
<el-radio-group v-model="activeData.align">
|
|
156
|
-
<el-radio-button label="top" />
|
|
157
|
-
<el-radio-button label="middle" />
|
|
158
|
-
<el-radio-button label="bottom" />
|
|
159
|
-
</el-radio-group>
|
|
160
|
-
</el-form-item>
|
|
161
|
-
<el-form-item label="栅格间隔" v-if="activeData.gutter !== undefined">
|
|
162
|
-
<el-input-number v-model="activeData.gutter" :min="0" placeholder="栅格间隔" />
|
|
163
|
-
</el-form-item>
|
|
164
|
-
<el-form-item v-if="activeData.__config__.labelWidth !== undefined" label="标签宽度">
|
|
165
|
-
<el-input
|
|
166
|
-
v-model.number="activeData.__config__.labelWidth"
|
|
167
|
-
type="number"
|
|
168
|
-
placeholder="请输入标签宽度"
|
|
169
|
-
/>
|
|
170
|
-
</el-form-item>
|
|
171
|
-
|
|
172
|
-
<el-form-item
|
|
173
|
-
v-if="
|
|
174
|
-
activeData.__vModel__ !== undefined &&
|
|
175
|
-
!activeData.__config__.defaultValueHidden && activeData.__config__.defaultValue!== undefined
|
|
176
|
-
"
|
|
177
|
-
label="默认值"
|
|
178
|
-
>
|
|
179
|
-
<el-input
|
|
180
|
-
:value="setDefaultValue(activeData.__config__.defaultValue)"
|
|
181
|
-
placeholder="请输入默认值"
|
|
182
|
-
:maxlength="activeData.maxlength || 200"
|
|
183
|
-
@input="onDefaultValueInput"
|
|
184
|
-
/>
|
|
185
|
-
</el-form-item>
|
|
186
|
-
<el-form-item v-if="activeData.html !==undefined" label="HTML内容">
|
|
187
|
-
<el-button
|
|
188
|
-
type="primary"
|
|
189
|
-
plain
|
|
190
|
-
size="small"
|
|
191
|
-
@click="$refs.HTMLEditor.open(activeData.html)"
|
|
192
|
-
>编辑数据</el-button>
|
|
193
|
-
<CodeDialog ref="HTMLEditor" v-model="activeData.html" mode="text/html" />
|
|
194
|
-
</el-form-item>
|
|
195
|
-
|
|
196
|
-
<el-form-item v-if="activeData.__config__.tag === 'form-checkbox-group'" label="至少应选">
|
|
197
|
-
<el-input-number
|
|
198
|
-
:value="activeData.min"
|
|
199
|
-
:min="0"
|
|
200
|
-
placeholder="至少应选"
|
|
201
|
-
@input="$set(activeData, 'min', $event ? $event : undefined)"
|
|
202
|
-
/>
|
|
203
|
-
</el-form-item>
|
|
204
|
-
<el-form-item v-if="activeData.__config__.tag === 'form-checkbox-group'" label="最多可选">
|
|
205
|
-
<el-input-number
|
|
206
|
-
:value="activeData.max"
|
|
207
|
-
:min="0"
|
|
208
|
-
placeholder="最多可选"
|
|
209
|
-
@input="$set(activeData, 'max', $event ? $event : undefined)"
|
|
210
|
-
/>
|
|
211
|
-
</el-form-item>
|
|
212
|
-
<el-form-item
|
|
213
|
-
v-if="activeData.__slot__ && activeData.__slot__.prepend !== undefined"
|
|
214
|
-
label="前缀"
|
|
215
|
-
>
|
|
216
|
-
<el-input v-model="activeData.__slot__.prepend" placeholder="请输入前缀" />
|
|
217
|
-
</el-form-item>
|
|
218
|
-
<el-form-item
|
|
219
|
-
v-if="activeData.__slot__ && activeData.__slot__.append !== undefined"
|
|
220
|
-
label="后缀"
|
|
221
|
-
>
|
|
222
|
-
<el-input v-model="activeData.__slot__.append" placeholder="请输入后缀" />
|
|
223
|
-
</el-form-item>
|
|
224
|
-
<el-form-item v-if="activeData['prefix-icon'] !== undefined" label="前图标">
|
|
225
|
-
<el-input v-model="activeData['prefix-icon']" placeholder="请输入前图标名称" clearable>
|
|
226
|
-
<el-button slot="append" icon="el-icon-thumb" @click="openIconsDialog('prefix-icon')">选择</el-button>
|
|
227
|
-
</el-input>
|
|
228
|
-
</el-form-item>
|
|
229
|
-
<el-form-item v-if="activeData['suffix-icon'] !== undefined" label="后图标">
|
|
230
|
-
<el-input v-model="activeData['suffix-icon']" placeholder="请输入后图标名称" clearable>
|
|
231
|
-
<el-button slot="append" icon="el-icon-thumb" @click="openIconsDialog('suffix-icon')">选择</el-button>
|
|
232
|
-
</el-input>
|
|
233
|
-
</el-form-item>
|
|
234
|
-
<el-form-item v-if="activeData.__config__.tag === 'form-cascader'" label="选项分隔符">
|
|
235
|
-
<el-input v-model="activeData.separator" placeholder="请输入选项分隔符" />
|
|
236
|
-
</el-form-item>
|
|
237
|
-
<el-form-item v-if="activeData.autosize !== undefined" label="最小行数">
|
|
238
|
-
<el-input-number v-model="activeData.autosize.minRows" :min="1" placeholder="最小行数" />
|
|
239
|
-
</el-form-item>
|
|
240
|
-
<el-form-item v-if="activeData.autosize !== undefined" label="最大行数">
|
|
241
|
-
<el-input-number v-model="activeData.autosize.maxRows" :min="1" placeholder="最大行数" />
|
|
242
|
-
</el-form-item>
|
|
243
|
-
<el-form-item v-if="isShowMin" label="最小值">
|
|
244
|
-
<el-input-number v-model="activeData.min" placeholder="最小值" />
|
|
245
|
-
</el-form-item>
|
|
246
|
-
<el-form-item v-if="isShowMax" label="最大值">
|
|
247
|
-
<el-input-number v-model="activeData.max" placeholder="最大值" />
|
|
248
|
-
</el-form-item>
|
|
249
|
-
|
|
250
|
-
<el-form-item v-if="activeData.height !== undefined" label="组件高度">
|
|
251
|
-
<el-input type="number" v-model.number="activeData.height">
|
|
252
|
-
<template slot="append">px</template>
|
|
253
|
-
</el-input>
|
|
254
|
-
</el-form-item>
|
|
255
|
-
<el-form-item v-if="activeData.width !== undefined" label="组件宽度">
|
|
256
|
-
<el-input type="number" v-model.number="activeData.width">
|
|
257
|
-
<template slot="append">px</template>
|
|
258
|
-
</el-input>
|
|
259
|
-
</el-form-item>
|
|
260
|
-
<el-form-item v-if="isShowStep" label="步长">
|
|
261
|
-
<el-input-number v-model="activeData.step" placeholder="步数" />
|
|
262
|
-
</el-form-item>
|
|
263
|
-
<el-form-item v-if="activeData.__config__.tag === 'form-input-number'" label="精度">
|
|
264
|
-
<el-input-number v-model="activeData.precision" :min="0" placeholder="精度" />
|
|
265
|
-
</el-form-item>
|
|
266
|
-
<el-form-item v-if="activeData.__config__.tag === 'form-input-number'" label="按钮位置">
|
|
267
|
-
<el-radio-group v-model="activeData['controls-position']">
|
|
268
|
-
<el-radio-button label>默认</el-radio-button>
|
|
269
|
-
<el-radio-button label="right">右侧</el-radio-button>
|
|
270
|
-
</el-radio-group>
|
|
271
|
-
</el-form-item>
|
|
272
|
-
<el-form-item v-if="activeData.maxlength !== undefined" label="最多输入">
|
|
273
|
-
<el-input v-model="activeData.maxlength" placeholder="请输入字符长度">
|
|
274
|
-
<template slot="append">个字符</template>
|
|
275
|
-
</el-input>
|
|
276
|
-
</el-form-item>
|
|
277
|
-
<el-form-item v-if="activeData['active-text'] !== undefined" label="开启提示">
|
|
278
|
-
<el-input v-model="activeData['active-text']" placeholder="请输入开启提示" />
|
|
279
|
-
</el-form-item>
|
|
280
|
-
<el-form-item v-if="activeData['inactive-text'] !== undefined" label="关闭提示">
|
|
281
|
-
<el-input v-model="activeData['inactive-text']" placeholder="请输入关闭提示" />
|
|
282
|
-
</el-form-item>
|
|
283
|
-
<el-form-item v-if="activeData['active-value'] !== undefined" label="开启值">
|
|
284
|
-
<el-input
|
|
285
|
-
:value="setDefaultValue(activeData['active-value'])"
|
|
286
|
-
placeholder="请输入开启值"
|
|
287
|
-
@input="onSwitchValueInput($event, 'active-value')"
|
|
288
|
-
/>
|
|
289
|
-
</el-form-item>
|
|
290
|
-
<el-form-item v-if="activeData['inactive-value'] !== undefined" label="关闭值">
|
|
291
|
-
<el-input
|
|
292
|
-
:value="setDefaultValue(activeData['inactive-value'])"
|
|
293
|
-
placeholder="请输入关闭值"
|
|
294
|
-
@input="onSwitchValueInput($event, 'inactive-value')"
|
|
295
|
-
/>
|
|
296
|
-
</el-form-item>
|
|
297
|
-
<el-form-item
|
|
298
|
-
v-if="
|
|
299
|
-
activeData.type !== undefined &&
|
|
300
|
-
'form-date-picker' === activeData.__config__.tag
|
|
301
|
-
"
|
|
302
|
-
label="时间类型"
|
|
303
|
-
>
|
|
304
|
-
<el-select
|
|
305
|
-
v-model="activeData.type"
|
|
306
|
-
placeholder="请选择时间类型"
|
|
307
|
-
:style="{ width: '100%' }"
|
|
308
|
-
@change="dateTypeChange"
|
|
309
|
-
>
|
|
310
|
-
<el-option
|
|
311
|
-
v-for="(item, index) in dateOptions"
|
|
312
|
-
:key="index"
|
|
313
|
-
:label="item.label"
|
|
314
|
-
:value="item.value"
|
|
315
|
-
/>
|
|
316
|
-
</el-select>
|
|
317
|
-
</el-form-item>
|
|
318
|
-
|
|
319
|
-
<el-form-item v-if="activeData.accept !== undefined" label="文件类型">
|
|
320
|
-
<el-select
|
|
321
|
-
v-model="activeData.accept"
|
|
322
|
-
placeholder="请选择文件类型2"
|
|
323
|
-
:style="{ width: '100%' }"
|
|
324
|
-
clearable
|
|
325
|
-
multiple
|
|
326
|
-
>
|
|
327
|
-
<el-option
|
|
328
|
-
v-for="(item, index) in fileTypeOptions"
|
|
329
|
-
:key="index"
|
|
330
|
-
:label="item.label"
|
|
331
|
-
:value="item.value"
|
|
332
|
-
/>
|
|
333
|
-
</el-select>
|
|
334
|
-
</el-form-item>
|
|
335
|
-
<el-form-item v-if="activeData.__config__.fileSize !== undefined" label="文件大小">
|
|
336
|
-
<el-input v-model.number="activeData.__config__.fileSize" placeholder="请输入文件大小">
|
|
337
|
-
<el-select
|
|
338
|
-
slot="append"
|
|
339
|
-
v-model="activeData.__config__.sizeUnit"
|
|
340
|
-
:style="{ width: '66px' }"
|
|
341
|
-
>
|
|
342
|
-
<el-option label="KB" value="KB" />
|
|
343
|
-
<el-option label="MB" value="MB" />
|
|
344
|
-
<el-option label="GB" value="GB" />
|
|
345
|
-
</el-select>
|
|
346
|
-
</el-input>
|
|
347
|
-
</el-form-item>
|
|
348
|
-
<el-form-item v-if="activeData.limit !== undefined" label="最大允许上传个数">
|
|
349
|
-
<el-input-number v-model="activeData.limit" />
|
|
350
|
-
</el-form-item>
|
|
351
|
-
<el-form-item v-if="activeData.isUpload !== undefined" label="接口上传">
|
|
352
|
-
<el-switch v-model="activeData.isUpload" />
|
|
353
|
-
</el-form-item>
|
|
354
|
-
<template v-if="activeData.isUpload!==false">
|
|
355
|
-
<el-form-item v-if="activeData.action !== undefined" label="上传地址">
|
|
356
|
-
<el-input v-model="activeData.action" placeholder="请输入上传地址" clearable />
|
|
357
|
-
</el-form-item>
|
|
358
|
-
<el-form-item v-if="activeData.name !== undefined" label="上传字段名">
|
|
359
|
-
<el-input v-model="activeData.name" placeholder="请输入上传文件字段名" />
|
|
360
|
-
</el-form-item>
|
|
361
|
-
<el-form-item v-if="activeData.download !== undefined" label="下载地址">
|
|
362
|
-
<el-input v-model="activeData.download" placeholder="请输入下载地址" clearable />
|
|
363
|
-
</el-form-item>
|
|
364
|
-
<el-form-item v-if="activeData.dName !== undefined" label="下载字段名">
|
|
365
|
-
<el-input v-model="activeData.dName" placeholder="请输入下载文件字段名" />
|
|
366
|
-
</el-form-item>
|
|
367
|
-
</template>
|
|
368
|
-
<el-form-item v-if="activeData.remark !== undefined" label="补充说明">
|
|
369
|
-
<el-input v-model="activeData.remark" placeholder="请输入" />
|
|
370
|
-
</el-form-item>
|
|
371
|
-
<el-form-item
|
|
372
|
-
v-if="activeData.href !== undefined"
|
|
373
|
-
:label="activeData.__config__.tag=='form-upload-temp'?'模板地址':'跳转链接'"
|
|
374
|
-
>
|
|
375
|
-
<el-input v-model="activeData.href" placeholder="请输入跳转链接" maxlength="200" />
|
|
376
|
-
</el-form-item>
|
|
377
|
-
<el-form-item v-if="activeData.linkName !== undefined" label="模板名称">
|
|
378
|
-
<el-input v-model="activeData.linkName" placeholder="请输入链接名称" maxlength="200" />
|
|
379
|
-
</el-form-item>
|
|
380
|
-
<el-form-item
|
|
381
|
-
v-if="
|
|
382
|
-
activeData.type !== undefined &&
|
|
383
|
-
(activeData.__config__.tag === 'form-link' || activeData.__config__.tag === 'form-tag')
|
|
384
|
-
"
|
|
385
|
-
label="类型"
|
|
386
|
-
>
|
|
387
|
-
<el-select v-model="activeData.type" :style="{ width: '100%' }">
|
|
388
|
-
<el-option label="primary" value="primary" />
|
|
389
|
-
<el-option label="success" value="success" />
|
|
390
|
-
<el-option label="warning" value="warning" />
|
|
391
|
-
<el-option label="danger" value="danger" />
|
|
392
|
-
<el-option label="info" value="info" />
|
|
393
|
-
<el-option
|
|
394
|
-
v-if="activeData.__config__.tag === 'form-link'"
|
|
395
|
-
label="default"
|
|
396
|
-
value="default"
|
|
397
|
-
/>
|
|
398
|
-
</el-select>
|
|
399
|
-
</el-form-item>
|
|
400
|
-
<el-form-item v-if="activeData.underline !== undefined" label="显示下划线">
|
|
401
|
-
<el-switch v-model="activeData.underline" />
|
|
402
|
-
</el-form-item>
|
|
403
|
-
<el-form-item v-if="activeData.__config__.buttonText !== undefined" label="按钮文字">
|
|
404
|
-
<el-input v-model="activeData.__config__.buttonText" placeholder="请输入按钮文字" />
|
|
405
|
-
</el-form-item>
|
|
406
|
-
<el-form-item v-if="activeData['range-separator'] !== undefined" label="分隔符">
|
|
407
|
-
<el-input v-model="activeData['range-separator']" placeholder="请输入分隔符" />
|
|
408
|
-
</el-form-item>
|
|
409
|
-
<el-form-item v-if="activeData['picker-options'] !== undefined" label="时间段">
|
|
410
|
-
<el-input v-model="activeData['picker-options'].selectableRange" placeholder="请输入时间段" />
|
|
411
|
-
</el-form-item>
|
|
412
|
-
<el-form-item v-if="activeData.format !== undefined" label="时间格式">
|
|
413
|
-
<el-input :value="activeData.format" placeholder="请输入时间格式" @input="setTimeValue($event)" />
|
|
414
|
-
</el-form-item>
|
|
415
|
-
<el-form-item v-if="activeData.description !== undefined" label="辅助文字">
|
|
416
|
-
<el-input v-model="activeData.description" placeholder="请输入辅助文字" maxlength="500" />
|
|
417
|
-
</el-form-item>
|
|
418
|
-
<FGOptions
|
|
419
|
-
v-if="activeData.__slot__ && activeData.__slot__.options!==undefined"
|
|
420
|
-
:options.sync="activeData.__slot__.options"
|
|
421
|
-
/>
|
|
422
|
-
<!-- 图标 -->
|
|
423
|
-
<el-form-item v-if="activeData['icon'] !== undefined" label="图标">
|
|
424
|
-
<el-input v-model="activeData['icon']" placeholder="请输入后图标名称" clearable>
|
|
425
|
-
<el-button slot="append" icon="el-icon-thumb" @click="openIconsDialog('icon')">选择</el-button>
|
|
426
|
-
</el-input>
|
|
427
|
-
</el-form-item>
|
|
428
|
-
<!-- 画笔粗细 -->
|
|
429
|
-
<el-form-item v-if="activeData['lineWidth'] !== undefined" label="画笔粗细">
|
|
430
|
-
<el-input-number v-model="activeData.lineWidth" :min="1" :max="10" />
|
|
431
|
-
</el-form-item>
|
|
432
|
-
|
|
433
|
-
<!-- 选中颜色 -->
|
|
434
|
-
<el-form-item
|
|
435
|
-
v-if="activeData['color'] !== undefined"
|
|
436
|
-
:label="{'form-rate':'选中','':''}[activeData.__config__.tag] || ''+'颜色'"
|
|
437
|
-
>
|
|
438
|
-
<InputColor v-model="activeData['color']" />
|
|
439
|
-
</el-form-item>
|
|
440
|
-
<el-form-item v-if="activeData['textColor'] !== undefined" label="文本颜色">
|
|
441
|
-
<InputColor v-model="activeData['textColor']" />
|
|
442
|
-
</el-form-item>
|
|
443
|
-
<!-- 未选中颜色 -->
|
|
444
|
-
<el-form-item v-if="activeData['voidColor'] !== undefined" label="未选中颜色">
|
|
445
|
-
<InputColor v-model="activeData['voidColor']" />
|
|
446
|
-
</el-form-item>
|
|
447
|
-
<!-- 背景颜色 -->
|
|
448
|
-
<el-form-item v-if="activeData['bgColor'] !== undefined" label="背景颜色">
|
|
449
|
-
<InputColor v-model="activeData['bgColor']" />
|
|
450
|
-
</el-form-item>
|
|
451
|
-
<!-- 画笔颜色 -->
|
|
452
|
-
<el-form-item v-if="activeData['lineColor'] !== undefined" label="画笔颜色">
|
|
453
|
-
<InputColor v-model="activeData['lineColor']" />
|
|
454
|
-
</el-form-item>
|
|
455
|
-
|
|
456
|
-
<!-- 轮播图 -->
|
|
457
|
-
<template v-if="activeData.__config__.tag=='form-swipe'">
|
|
458
|
-
<el-form-item v-if="activeData.type !== undefined">
|
|
459
|
-
<span slot="label">
|
|
460
|
-
类型
|
|
461
|
-
<el-tooltip content="卡片类型仅在pc端生效" placement="top">
|
|
462
|
-
<i class="el-icon-question"></i>
|
|
463
|
-
</el-tooltip>
|
|
464
|
-
</span>
|
|
465
|
-
<el-radio-group v-model="activeData.type">
|
|
466
|
-
<el-radio-button label="default">默认</el-radio-button>
|
|
467
|
-
<el-radio-button label="card">卡片化</el-radio-button>
|
|
468
|
-
</el-radio-group>
|
|
469
|
-
</el-form-item>
|
|
470
|
-
<el-form-item v-if="activeData.initialIndex !== undefined" label="初始位置索引">
|
|
471
|
-
<el-input-number v-model="activeData.initialIndex" :min="0" />
|
|
472
|
-
</el-form-item>
|
|
473
|
-
<el-form-item v-if="activeData.autoplay !== undefined" label="是否自动切换">
|
|
474
|
-
<el-switch v-model="activeData.autoplay" />
|
|
475
|
-
</el-form-item>
|
|
476
|
-
<el-form-item v-if="activeData.loop !== undefined" label="是否循环显示">
|
|
477
|
-
<el-switch v-model="activeData.loop" />
|
|
478
|
-
</el-form-item>
|
|
479
|
-
<el-form-item v-if="activeData.direction !==undefined" label="展示方向">
|
|
480
|
-
<el-radio-group v-model="activeData.direction">
|
|
481
|
-
<el-radio-button label="horizontal">水平排列</el-radio-button>
|
|
482
|
-
<el-radio-button label="vertical">垂直排列</el-radio-button>
|
|
483
|
-
</el-radio-group>
|
|
484
|
-
</el-form-item>
|
|
485
|
-
<el-form-item v-if="activeData.interval !==undefined" label="自动切换时间">
|
|
486
|
-
<!-- <el-input-number v-model="activeData.interval" :min="0" /> -->
|
|
487
|
-
<el-input type="number" placeholder="请输入切换时间" v-model.number="activeData.interval">
|
|
488
|
-
<template slot="append">ms</template>
|
|
489
|
-
</el-input>
|
|
490
|
-
</el-form-item>
|
|
491
|
-
</template>
|
|
492
|
-
<el-form-item v-if="activeData.speed !== undefined" label="滚动速率">
|
|
493
|
-
<el-input type="number" v-model.number="activeData.speed">
|
|
494
|
-
<template slot="append">px/s</template>
|
|
495
|
-
</el-input>
|
|
496
|
-
</el-form-item>
|
|
497
|
-
<el-form-item v-if="activeData.center !== undefined" label="是否居中">
|
|
498
|
-
<el-switch v-model="activeData.center" />
|
|
499
|
-
</el-form-item>
|
|
500
|
-
|
|
501
|
-
<el-form-item v-if="activeData.__config__.optionType !== undefined" label="选项样式">
|
|
502
|
-
<el-radio-group v-model="activeData.__config__.optionType">
|
|
503
|
-
<el-radio-button label="default">默认</el-radio-button>
|
|
504
|
-
<el-radio-button label="button">按钮</el-radio-button>
|
|
505
|
-
</el-radio-group>
|
|
506
|
-
</el-form-item>
|
|
507
|
-
<el-form-item v-if="activeData['active-color'] !== undefined" label="开启颜色">
|
|
508
|
-
<InputColor v-model="activeData['active-color']" />
|
|
509
|
-
</el-form-item>
|
|
510
|
-
<el-form-item v-if="activeData['inactive-color'] !== undefined" label="关闭颜色">
|
|
511
|
-
<InputColor v-model="activeData['inactive-color']" />
|
|
512
|
-
</el-form-item>
|
|
513
|
-
|
|
514
|
-
<el-form-item
|
|
515
|
-
v-if="
|
|
516
|
-
activeData.__config__.showLabel !== undefined &&
|
|
517
|
-
activeData.__config__.labelWidth !== undefined
|
|
518
|
-
"
|
|
519
|
-
label="显示标签"
|
|
520
|
-
>
|
|
521
|
-
<el-switch v-model="activeData.__config__.showLabel" />
|
|
522
|
-
</el-form-item>
|
|
523
|
-
|
|
524
|
-
<el-form-item v-if="activeData.defaultExpandAll !== undefined" label="默认展开所有节点">
|
|
525
|
-
<el-switch v-model="activeData.defaultExpandAll" />
|
|
526
|
-
</el-form-item>
|
|
527
|
-
|
|
528
|
-
<el-form-item v-if="activeData['allow-half'] !== undefined" label="允许半选">
|
|
529
|
-
<el-switch v-model="activeData['allow-half']" />
|
|
530
|
-
</el-form-item>
|
|
531
|
-
<el-form-item v-if="activeData['show-text'] !== undefined" label="辅助文字">
|
|
532
|
-
<el-switch v-model="activeData['show-text']" @change="rateTextChange" />
|
|
533
|
-
</el-form-item>
|
|
534
|
-
<el-form-item v-if="activeData['show-score'] !== undefined" label="显示分数">
|
|
535
|
-
<el-switch v-model="activeData['show-score']" @change="rateScoreChange" />
|
|
536
|
-
</el-form-item>
|
|
537
|
-
<el-form-item v-if="activeData['show-stops'] !== undefined" label="显示间断点">
|
|
538
|
-
<el-switch v-model="activeData['show-stops']" />
|
|
539
|
-
</el-form-item>
|
|
540
|
-
<el-form-item v-if="activeData.range !== undefined" label="范围选择">
|
|
541
|
-
<el-switch v-model="activeData.range" @change="rangeChange" />
|
|
542
|
-
</el-form-item>
|
|
543
|
-
<el-form-item
|
|
544
|
-
v-if="
|
|
545
|
-
activeData.__config__.border !== undefined &&
|
|
546
|
-
activeData.__config__.optionType === 'default'
|
|
547
|
-
"
|
|
548
|
-
label="是否带边框"
|
|
549
|
-
>
|
|
550
|
-
<el-switch v-model="activeData.__config__.border" />
|
|
551
|
-
</el-form-item>
|
|
552
|
-
<el-form-item v-if="activeData.__config__.tag === 'form-color-picker'" label="颜色格式">
|
|
553
|
-
<el-select
|
|
554
|
-
v-model="activeData['color-format']"
|
|
555
|
-
placeholder="请选择颜色格式"
|
|
556
|
-
:style="{ width: '100%' }"
|
|
557
|
-
clearable
|
|
558
|
-
@change="colorFormatChange"
|
|
559
|
-
>
|
|
560
|
-
<el-option
|
|
561
|
-
v-for="(item, index) in colorFormatOptions"
|
|
562
|
-
:key="index"
|
|
563
|
-
:label="item.label"
|
|
564
|
-
:value="item.value"
|
|
565
|
-
/>
|
|
566
|
-
</el-select>
|
|
567
|
-
</el-form-item>
|
|
568
|
-
<el-form-item
|
|
569
|
-
v-if="
|
|
570
|
-
activeData.size !== undefined &&
|
|
571
|
-
(activeData.__config__.optionType === 'button' ||
|
|
572
|
-
activeData.__config__.border ||
|
|
573
|
-
activeData.__config__.tag === 'form-color-picker' ||
|
|
574
|
-
activeData.__config__.tag === 'form-button' ||
|
|
575
|
-
activeData.__config__.tag === 'form-table'||
|
|
576
|
-
activeData.__config__.tag === 'form-tag')
|
|
577
|
-
"
|
|
578
|
-
label="组件尺寸"
|
|
579
|
-
>
|
|
580
|
-
<el-radio-group v-model="activeData.size">
|
|
581
|
-
<el-radio-button label="medium">中等</el-radio-button>
|
|
582
|
-
<el-radio-button label="small">较小</el-radio-button>
|
|
583
|
-
<el-radio-button label="mini">迷你</el-radio-button>
|
|
584
|
-
</el-radio-group>
|
|
585
|
-
</el-form-item>
|
|
586
|
-
<el-form-item v-if="activeData.hit !== undefined" label="显示边框描边">
|
|
587
|
-
<el-switch v-model="activeData.hit"></el-switch>
|
|
588
|
-
</el-form-item>
|
|
589
|
-
<el-form-item v-if="activeData.closable !== undefined" label="可关闭">
|
|
590
|
-
<el-switch v-model="activeData.closable"></el-switch>
|
|
591
|
-
</el-form-item>
|
|
592
|
-
<el-form-item v-if="activeData.plain !== undefined" label="是否朴素按钮">
|
|
593
|
-
<el-switch v-model="activeData.plain"></el-switch>
|
|
594
|
-
</el-form-item>
|
|
595
|
-
<el-form-item v-if="activeData.round !== undefined" label="是否为圆角">
|
|
596
|
-
<el-switch v-model="activeData.round"></el-switch>
|
|
597
|
-
</el-form-item>
|
|
598
|
-
<el-form-item v-if="activeData.circle !== undefined" label="是否为圆形">
|
|
599
|
-
<el-switch v-model="activeData.circle"></el-switch>
|
|
600
|
-
</el-form-item>
|
|
601
|
-
<el-form-item v-if="activeData.effect !== undefined" label="主题">
|
|
602
|
-
<el-select v-model="activeData.effect" :style="{ width: '100%' }">
|
|
603
|
-
<el-option label="dark" value="dark" />
|
|
604
|
-
<el-option label="light" value="light" />
|
|
605
|
-
<el-option label="plain" value="plain" />
|
|
606
|
-
</el-select>
|
|
607
|
-
</el-form-item>
|
|
608
|
-
<el-form-item v-if="activeData.target !== undefined" label="打开方式">
|
|
609
|
-
<el-select v-model="activeData.target" :style="{ width: '100%' }">
|
|
610
|
-
<el-option label="当前窗口" value="_self" />
|
|
611
|
-
<el-option label="新的窗口" value="_blank" />
|
|
612
|
-
<el-option label="父级窗口" value="_parent" />
|
|
613
|
-
<el-option label="顶级窗口" value="_top" />
|
|
614
|
-
</el-select>
|
|
615
|
-
</el-form-item>
|
|
616
|
-
<el-form-item v-if="activeData['show-word-limit'] !== undefined" label="输入统计">
|
|
617
|
-
<el-switch v-model="activeData['show-word-limit']" />
|
|
618
|
-
</el-form-item>
|
|
619
|
-
<el-form-item v-if="activeData.__config__.tag === 'form-input-number'" label="严格步数">
|
|
620
|
-
<el-switch v-model="activeData['step-strictly']" />
|
|
621
|
-
</el-form-item>
|
|
622
|
-
|
|
623
|
-
<el-form-item v-if="activeData.__config__.tag === 'form-cascader'" label="展示全路径">
|
|
624
|
-
<el-switch v-model="activeData['show-all-levels']" />
|
|
625
|
-
</el-form-item>
|
|
626
|
-
<el-form-item v-if="activeData.__config__.tag === 'form-cascader'" label="可否筛选">
|
|
627
|
-
<el-switch v-model="activeData.filterable" />
|
|
628
|
-
</el-form-item>
|
|
629
|
-
<el-form-item v-if="activeData.clearable !== undefined" label="能否清空">
|
|
630
|
-
<el-switch v-model="activeData.clearable" />
|
|
631
|
-
</el-form-item>
|
|
632
|
-
<el-form-item v-if="activeData.__config__.showTip !== undefined" label="显示提示">
|
|
633
|
-
<el-switch v-model="activeData.__config__.showTip" />
|
|
634
|
-
</el-form-item>
|
|
635
|
-
|
|
636
|
-
<el-form-item v-if="activeData.__config__.tag === 'form-select'" label="能否搜索">
|
|
637
|
-
<el-switch v-model="activeData.filterable" />
|
|
638
|
-
</el-form-item>
|
|
639
|
-
<el-form-item v-if="activeData.transcoding !== undefined" label="是否开启转码">
|
|
640
|
-
<el-switch v-model="activeData.transcoding" />
|
|
641
|
-
</el-form-item>
|
|
642
|
-
<el-form-item v-if="activeData.checkStrictly !== undefined" label="选择任意一级">
|
|
643
|
-
<el-switch v-model="activeData.checkStrictly" />
|
|
644
|
-
</el-form-item>
|
|
645
|
-
<el-form-item v-if="activeData.multiple !== undefined" label="是否多选">
|
|
646
|
-
<el-switch v-model="activeData.multiple" />
|
|
647
|
-
</el-form-item>
|
|
648
|
-
<!-- <el-form-item v-if="activeData.enablePrint !== undefined" label="可打印">
|
|
649
|
-
<el-switch v-model="activeData.enablePrint" />
|
|
650
|
-
</el-form-item>-->
|
|
651
|
-
<el-form-item v-if="activeData.readonly !== undefined" label="是否只读">
|
|
652
|
-
<el-switch v-model="activeData.readonly" />
|
|
653
|
-
</el-form-item>
|
|
654
|
-
<el-form-item v-if="activeData.disabled !== undefined" label="是否禁用">
|
|
655
|
-
<el-switch v-model="activeData.disabled" />
|
|
656
|
-
</el-form-item>
|
|
657
|
-
<el-form-item v-if="activeData.isHide !== undefined" label="是否隐藏">
|
|
658
|
-
<el-switch v-model="activeData.isHide" />
|
|
659
|
-
</el-form-item>
|
|
660
|
-
<el-form label-width="90px" size="small">
|
|
661
|
-
<el-form-item v-if="activeData.isLock !== undefined" label="是否锁定">
|
|
662
|
-
<el-switch :value="activeData.isLock" @change="handleLock(activeData)" />
|
|
663
|
-
</el-form-item>
|
|
664
|
-
</el-form>
|
|
665
|
-
|
|
666
|
-
<el-form-item v-if="activeData.contentPosition !== undefined" label="文案位置">
|
|
667
|
-
<el-select v-model="activeData.contentPosition" :style="{ width: '100%' }">
|
|
668
|
-
<el-option label="left" value="left" />
|
|
669
|
-
<el-option label="center" value="center" />
|
|
670
|
-
<el-option label="right" value="right" />
|
|
671
|
-
</el-select>
|
|
672
|
-
</el-form-item>
|
|
673
|
-
|
|
674
|
-
<el-form-item v-if="activeData.maxSize !== undefined">
|
|
675
|
-
<span slot="label">
|
|
676
|
-
最大行数
|
|
677
|
-
<el-tooltip content="允许添加多少条记录" placement="top">
|
|
678
|
-
<i class="el-icon-question"></i>
|
|
679
|
-
</el-tooltip>
|
|
680
|
-
</span>
|
|
681
|
-
<el-input-number v-model="activeData.maxSize" :min="1" />
|
|
682
|
-
</el-form-item>
|
|
683
|
-
<el-form-item v-if="activeData.subType !== undefined" label="布局方式">
|
|
684
|
-
<span slot="label">
|
|
685
|
-
布局方式
|
|
686
|
-
<el-tooltip content="因尺寸原因,移动端只显示“按表单”布局" placement="top">
|
|
687
|
-
<i class="el-icon-question"></i>
|
|
688
|
-
</el-tooltip>
|
|
689
|
-
</span>
|
|
690
|
-
<el-radio-group v-model="activeData.subType">
|
|
691
|
-
<el-radio-button label="table">按表格</el-radio-button>
|
|
692
|
-
<el-radio-button label="form">按表单</el-radio-button>
|
|
693
|
-
</el-radio-group>
|
|
694
|
-
</el-form-item>
|
|
695
|
-
<el-form-item v-if="activeData.shadow !== undefined" label="阴影显示时机">
|
|
696
|
-
<el-select v-model="activeData.shadow" :style="{ width: '100%' }">
|
|
697
|
-
<el-option label="常显" value="always" />
|
|
698
|
-
<el-option label="不显示" value="never" />
|
|
699
|
-
<el-option label="悬浮" value="hover" />
|
|
700
|
-
</el-select>
|
|
701
|
-
</el-form-item>
|
|
702
|
-
|
|
703
|
-
<!-- 表格属性 -->
|
|
704
|
-
<template v-if="activeData.subType =='table'||activeData.__config__.tag=='form-table' ">
|
|
705
|
-
<el-form-item v-if="activeData.stripe !== undefined" label="是否为斑马纹">
|
|
706
|
-
<el-switch v-model="activeData.stripe" />
|
|
707
|
-
</el-form-item>
|
|
708
|
-
<el-form-item v-if="activeData.border !== undefined" label="是否带有纵向边框">
|
|
709
|
-
<el-switch v-model="activeData.border" />
|
|
710
|
-
</el-form-item>
|
|
711
|
-
<el-form-item v-if="activeData.showHeader !== undefined" label="是否显示表头">
|
|
712
|
-
<el-switch v-model="activeData.showHeader" />
|
|
713
|
-
</el-form-item>
|
|
714
|
-
</template>
|
|
715
|
-
<TableConfig v-model="activeData" />
|
|
716
|
-
<template v-if="activeData.__config__.layoutTree">
|
|
717
|
-
<!-- 布局结构树 -->
|
|
718
|
-
<LayoutTree :value="activeData" />
|
|
719
|
-
</template>
|
|
720
|
-
<!-- 数据配置 -->
|
|
721
|
-
<template v-if="activeData.dataObj">
|
|
722
|
-
<div class="Fg-field-name">数据配置</div>
|
|
723
|
-
<DataConfig
|
|
724
|
-
v-if="activeData.dataObj"
|
|
725
|
-
v-model="activeData.dataObj"
|
|
726
|
-
:isPage="activeData.isPage"
|
|
727
|
-
/>
|
|
728
|
-
</template>
|
|
729
|
-
<template v-if="activeData.search">
|
|
730
|
-
<div class="Fg-field-name">搜索配置</div>
|
|
731
|
-
<DataConfig v-if="activeData.search" v-model="activeData.search" dateType="dynamic" />
|
|
732
|
-
</template>
|
|
733
|
-
<!-- 分页配置 -->
|
|
734
|
-
<el-form-item label="开启分页" v-if="activeData.isPage !== undefined">
|
|
735
|
-
<span slot="label">
|
|
736
|
-
开启分页
|
|
737
|
-
<el-tooltip content="仅在动态数据模式下通过接口加载数据时生效" placement="top">
|
|
738
|
-
<i class="el-icon-question"></i>
|
|
739
|
-
</el-tooltip>
|
|
740
|
-
</span>
|
|
741
|
-
<el-switch v-model="activeData.isPage" />
|
|
742
|
-
</el-form-item>
|
|
743
|
-
<!-- <el-collapse v-model="activeNames" style="margin-bottom:22px" v-if="activeData.isPage">
|
|
744
|
-
<el-collapse-item title="分页管理" name="1">-->
|
|
745
|
-
<PageConfig v-model="activeData.pagination" v-if="activeData.isPage" />
|
|
746
|
-
<!-- </el-collapse-item>
|
|
747
|
-
</el-collapse>-->
|
|
748
|
-
<!-- 验证配置 -->
|
|
749
|
-
<template v-if="activeData.__config__.regList">
|
|
750
|
-
<div class="Fg-field-name">验证配置</div>
|
|
751
|
-
<el-form-item v-if="activeData.__config__.required !== undefined" label="是否必填">
|
|
752
|
-
<el-switch v-model="activeData.__config__.required" />
|
|
753
|
-
</el-form-item>
|
|
754
|
-
<RegConfig v-model="activeData.__config__.regList" />
|
|
755
|
-
</template>
|
|
756
|
-
<!-- 样式配置 -->
|
|
757
|
-
<template v-if="activeData.styleObj !== undefined">
|
|
758
|
-
<div class="Fg-field-name">样式配置</div>
|
|
759
|
-
<StyleConfig
|
|
760
|
-
v-model="activeData.styleObj"
|
|
761
|
-
:list="formConf?.cssList"
|
|
762
|
-
:disabled="activeData.isLock"
|
|
763
|
-
/>
|
|
764
|
-
</template>
|
|
765
|
-
<!-- 事件配置 -->
|
|
766
|
-
<template v-if="activeData.event !== undefined">
|
|
767
|
-
<div class="Fg-field-name">事件配置</div>
|
|
768
|
-
<EventConfig v-model="activeData.event" :list="formConf?.eventList" />
|
|
769
|
-
</template>
|
|
770
|
-
<!-- 图标弹框 -->
|
|
771
|
-
<FGIconsDialog ref="IconsVisible" v-model="activeData[currentIconModel]" />
|
|
772
|
-
</el-form>
|
|
773
|
-
</div>
|
|
774
|
-
</template>
|
|
775
|
-
|
|
776
|
-
<script>
|
|
777
|
-
import FGIconsDialog from "@/components/huComponents/FGIconsDialog.vue";
|
|
778
|
-
import FGOptions from "@/components/huComponents/FGOptions.vue";
|
|
779
|
-
import FGSelect from "@/components/huComponents/FGSelect.vue";
|
|
780
|
-
import InputColor from "@/components/huComponents/InputColor";
|
|
781
|
-
import LayoutTree from "@/components/huComponents/LayoutTree.vue";
|
|
782
|
-
import ImportExcel from "@/components/fileComs/ImportExcel.vue";
|
|
783
|
-
import StyleConfig from "../configComponents/StyleConfig.vue";
|
|
784
|
-
import EventConfig from "../configComponents/EventConfig.vue";
|
|
785
|
-
import TableConfig from "../configComponents/TableConfig.vue";
|
|
786
|
-
import CodeDialog from "@/components/editor/CodeDialog";
|
|
787
|
-
import DataConfig from "../configComponents/DataConfig";
|
|
788
|
-
import PageConfig from "../configComponents/PageConfig";
|
|
789
|
-
import RegConfig from "../configComponents/RegConfig";
|
|
790
|
-
import { isNumberStr } from "../utils/index";
|
|
791
|
-
import {
|
|
792
|
-
dateTimeFormat,
|
|
793
|
-
dateTypeOptions,
|
|
794
|
-
dateRangeTypeOptions,
|
|
795
|
-
colorFormatOptions,
|
|
796
|
-
justifyOptions,
|
|
797
|
-
fileTypeOptions,
|
|
798
|
-
} from "../utils/attribute";
|
|
799
|
-
import { inputComponents, selectComponents } from "../utils/config";
|
|
800
|
-
import { deepClone } from "../utils";
|
|
801
|
-
import store from "@/store";
|
|
802
|
-
import { MessageBox } from "element-ui";
|
|
803
|
-
|
|
804
|
-
// 使changeRenderKey在目标组件改变时可用
|
|
805
|
-
const needRerenderList = ["richText"];
|
|
806
|
-
export default {
|
|
807
|
-
components: {
|
|
808
|
-
FGIconsDialog,
|
|
809
|
-
ImportExcel,
|
|
810
|
-
FGSelect,
|
|
811
|
-
FGOptions,
|
|
812
|
-
LayoutTree,
|
|
813
|
-
StyleConfig,
|
|
814
|
-
TableConfig,
|
|
815
|
-
CodeDialog,
|
|
816
|
-
EventConfig,
|
|
817
|
-
InputColor,
|
|
818
|
-
DataConfig,
|
|
819
|
-
PageConfig,
|
|
820
|
-
RegConfig,
|
|
821
|
-
},
|
|
822
|
-
props: {
|
|
823
|
-
// 表单属性
|
|
824
|
-
formConf: {
|
|
825
|
-
type: Object,
|
|
826
|
-
default: () => {},
|
|
827
|
-
},
|
|
828
|
-
},
|
|
829
|
-
data() {
|
|
830
|
-
return {
|
|
831
|
-
activeData: {},
|
|
832
|
-
currentIconModel: null, // 选择的图标的参数名称
|
|
833
|
-
colorFormatOptions,
|
|
834
|
-
justifyOptions,
|
|
835
|
-
fileTypeOptions,
|
|
836
|
-
};
|
|
837
|
-
},
|
|
838
|
-
|
|
839
|
-
watch: {
|
|
840
|
-
activeData: {
|
|
841
|
-
immediate: true,
|
|
842
|
-
deep: true,
|
|
843
|
-
handler(newValue) {
|
|
844
|
-
if (JSON.stringify(newValue) !== JSON.stringify(this.currentData)) {
|
|
845
|
-
this.setCurrentData(newValue);
|
|
846
|
-
}
|
|
847
|
-
},
|
|
848
|
-
},
|
|
849
|
-
currentData: {
|
|
850
|
-
immediate: true,
|
|
851
|
-
deep: true,
|
|
852
|
-
handler(newValue) {
|
|
853
|
-
this.activeData = deepClone(newValue);
|
|
854
|
-
},
|
|
855
|
-
},
|
|
856
|
-
},
|
|
857
|
-
|
|
858
|
-
computed: {
|
|
859
|
-
// 当前选中表单组件
|
|
860
|
-
currentData() {
|
|
861
|
-
return store.state.app.activeData;
|
|
862
|
-
},
|
|
863
|
-
tagList() {
|
|
864
|
-
return [
|
|
865
|
-
{ label: "输入型组件", options: inputComponents },
|
|
866
|
-
{ label: "选择型组件", options: selectComponents },
|
|
867
|
-
];
|
|
868
|
-
},
|
|
869
|
-
dateOptions() {
|
|
870
|
-
if (
|
|
871
|
-
this.activeData.type !== undefined &&
|
|
872
|
-
this.activeData.__config__.tag === "form-date-picker"
|
|
873
|
-
) {
|
|
874
|
-
if (this.activeData["start-placeholder"] === undefined) {
|
|
875
|
-
return dateTypeOptions;
|
|
876
|
-
}
|
|
877
|
-
return dateRangeTypeOptions;
|
|
878
|
-
}
|
|
879
|
-
return [];
|
|
880
|
-
},
|
|
881
|
-
activeTag() {
|
|
882
|
-
return this.activeData.__config__.tag;
|
|
883
|
-
},
|
|
884
|
-
isShowMin() {
|
|
885
|
-
return ["form-input-number", "form-slider"].indexOf(this.activeTag) > -1;
|
|
886
|
-
},
|
|
887
|
-
isShowMax() {
|
|
888
|
-
return (
|
|
889
|
-
["form-input-number", "form-slider", "form-rate"].indexOf(
|
|
890
|
-
this.activeTag
|
|
891
|
-
) > -1
|
|
892
|
-
);
|
|
893
|
-
},
|
|
894
|
-
isShowStep() {
|
|
895
|
-
return ["form-input-number", "form-slider"].indexOf(this.activeTag) > -1;
|
|
896
|
-
},
|
|
897
|
-
},
|
|
898
|
-
methods: {
|
|
899
|
-
// 锁定
|
|
900
|
-
handleLock(item) {
|
|
901
|
-
const message = item.isLock
|
|
902
|
-
? "解锁后改组件可以修改任何配置"
|
|
903
|
-
: "锁定后该组件将无法再修改任何配置";
|
|
904
|
-
MessageBox.confirm(
|
|
905
|
-
message,
|
|
906
|
-
`确定要${item.isLock ? "解锁" : "锁定"}该组件吗?`,
|
|
907
|
-
{
|
|
908
|
-
type: "warning",
|
|
909
|
-
}
|
|
910
|
-
).then(() => {
|
|
911
|
-
item.isLock = !item.isLock;
|
|
912
|
-
});
|
|
913
|
-
},
|
|
914
|
-
setCurrentData(item) {
|
|
915
|
-
if (Object.keys(item).length) store.commit("SET_ACTIVEDATA", item);
|
|
916
|
-
},
|
|
917
|
-
// 打开图标弹框
|
|
918
|
-
openIconsDialog(model) {
|
|
919
|
-
this.currentIconModel = model;
|
|
920
|
-
this.$refs.IconsVisible.onOpen();
|
|
921
|
-
},
|
|
922
|
-
|
|
923
|
-
addSelectItem() {
|
|
924
|
-
this.activeData.__slot__.options.push({
|
|
925
|
-
label: "",
|
|
926
|
-
value: "",
|
|
927
|
-
});
|
|
928
|
-
},
|
|
929
|
-
|
|
930
|
-
setDefaultValue(val) {
|
|
931
|
-
if (Array.isArray(val)) {
|
|
932
|
-
return val.join(",");
|
|
933
|
-
}
|
|
934
|
-
if (typeof val === "boolean") {
|
|
935
|
-
return `${val}`;
|
|
936
|
-
}
|
|
937
|
-
return val;
|
|
938
|
-
},
|
|
939
|
-
onDefaultValueInput(str) {
|
|
940
|
-
if (Array.isArray(this.activeData.__config__.defaultValue)) {
|
|
941
|
-
// 数组
|
|
942
|
-
this.$set(
|
|
943
|
-
this.activeData.__config__,
|
|
944
|
-
"defaultValue",
|
|
945
|
-
str.split(",").map((val) => (isNumberStr(val) ? +val : val))
|
|
946
|
-
);
|
|
947
|
-
} else if (["true", "false"].indexOf(str) > -1) {
|
|
948
|
-
// 布尔
|
|
949
|
-
this.$set(this.activeData.__config__, "defaultValue", JSON.parse(str));
|
|
950
|
-
} else {
|
|
951
|
-
// 字符串和数字
|
|
952
|
-
this.$set(
|
|
953
|
-
this.activeData.__config__,
|
|
954
|
-
"defaultValue",
|
|
955
|
-
isNumberStr(str) ? str + "" : str
|
|
956
|
-
);
|
|
957
|
-
}
|
|
958
|
-
},
|
|
959
|
-
onSwitchValueInput(val, name) {
|
|
960
|
-
if (["true", "false"].indexOf(val) > -1) {
|
|
961
|
-
this.$set(this.activeData, name, JSON.parse(val));
|
|
962
|
-
} else {
|
|
963
|
-
this.$set(this.activeData, name, isNumberStr(val) ? +val : val);
|
|
964
|
-
}
|
|
965
|
-
},
|
|
966
|
-
setTimeValue(val, type) {
|
|
967
|
-
const valueFormat = type === "week" ? dateTimeFormat.date : val;
|
|
968
|
-
this.$set(this.activeData.__config__, "defaultValue", null);
|
|
969
|
-
this.$set(this.activeData, "value-format", valueFormat);
|
|
970
|
-
this.$set(this.activeData, "format", val);
|
|
971
|
-
},
|
|
972
|
-
spanChange(val) {
|
|
973
|
-
this.formConf.span = val;
|
|
974
|
-
},
|
|
975
|
-
|
|
976
|
-
dateTypeChange(val) {
|
|
977
|
-
this.setTimeValue(dateTimeFormat[val], val);
|
|
978
|
-
},
|
|
979
|
-
rangeChange(val) {
|
|
980
|
-
this.$set(
|
|
981
|
-
this.activeData.__config__,
|
|
982
|
-
"defaultValue",
|
|
983
|
-
val
|
|
984
|
-
? this.activeData.min + "," + this.activeData.max
|
|
985
|
-
: this.activeData.min
|
|
986
|
-
);
|
|
987
|
-
},
|
|
988
|
-
rateTextChange(val) {
|
|
989
|
-
if (val) this.activeData["show-score"] = false;
|
|
990
|
-
},
|
|
991
|
-
rateScoreChange(val) {
|
|
992
|
-
if (val) this.activeData["show-text"] = false;
|
|
993
|
-
},
|
|
994
|
-
colorFormatChange(val) {
|
|
995
|
-
this.activeData.__config__.defaultValue = null;
|
|
996
|
-
this.activeData["show-alpha"] = val.indexOf("a") > -1;
|
|
997
|
-
this.activeData.__config__.formKey = +new Date(); // 更新renderKey,重新渲染该组件
|
|
998
|
-
},
|
|
999
|
-
|
|
1000
|
-
setIcon(val) {
|
|
1001
|
-
this.activeData[this.currentIconModel] = val;
|
|
1002
|
-
},
|
|
1003
|
-
tagChange(label) {
|
|
1004
|
-
let target = inputComponents.find(
|
|
1005
|
-
(item) => item.__config__.label === label
|
|
1006
|
-
);
|
|
1007
|
-
if (!target)
|
|
1008
|
-
target = selectComponents.find(
|
|
1009
|
-
(item) => item.__config__.label === label
|
|
1010
|
-
);
|
|
1011
|
-
// 存储当前控件的id和字段名
|
|
1012
|
-
const formId = this.activeData.__config__.formId;
|
|
1013
|
-
const formKey = this.activeData.__config__.formKey;
|
|
1014
|
-
const __vModel__ = this.activeData.__vModel__;
|
|
1015
|
-
this.activeData = deepClone(target);
|
|
1016
|
-
// 将旧数据id和字段名赋给新数据
|
|
1017
|
-
this.activeData.__config__.formId = formId;
|
|
1018
|
-
this.activeData.__config__.formKey = formKey;
|
|
1019
|
-
this.activeData.__vModel__ = __vModel__;
|
|
1020
|
-
},
|
|
1021
|
-
changeRenderKey() {
|
|
1022
|
-
if (needRerenderList.includes(this.activeData.__config__.tag)) {
|
|
1023
|
-
this.activeData.__config__.formKey = +new Date();
|
|
1024
|
-
}
|
|
1025
|
-
},
|
|
1026
|
-
},
|
|
1027
|
-
};
|
|
1028
|
-
</script>
|
|
1029
|
-
|
|
1030
|
-
<style lang="scss" >
|
|
1031
|
-
@import "../styles/generator.scss";
|
|
1032
|
-
|
|
1033
|
-
.time-range {
|
|
1034
|
-
.el-date-editor {
|
|
1035
|
-
width: 227px;
|
|
1036
|
-
}
|
|
1037
|
-
::v-deep .el-icon-time {
|
|
1038
|
-
display: none;
|
|
1039
|
-
}
|
|
1040
|
-
}
|
|
1041
|
-
.document-link {
|
|
1042
|
-
position: absolute;
|
|
1043
|
-
display: block;
|
|
1044
|
-
width: 26px;
|
|
1045
|
-
height: 26px;
|
|
1046
|
-
top: 0;
|
|
1047
|
-
left: 0;
|
|
1048
|
-
cursor: pointer;
|
|
1049
|
-
background: $themeColor;
|
|
1050
|
-
z-index: 1;
|
|
1051
|
-
border-radius: 0 0 6px 0;
|
|
1052
|
-
text-align: center;
|
|
1053
|
-
line-height: 26px;
|
|
1054
|
-
color: #fff;
|
|
1055
|
-
font-size: 18px;
|
|
1056
|
-
}
|
|
1057
|
-
.Fg-field-name {
|
|
1058
|
-
// height: 28px;
|
|
1059
|
-
// line-height: 28px;
|
|
1060
|
-
font-size: 15px;
|
|
1061
|
-
margin: 32px -16px;
|
|
1062
|
-
margin-bottom: 16px;
|
|
1063
|
-
padding: 10px 16px;
|
|
1064
|
-
color: $themeColor;
|
|
1065
|
-
background: $selectedColor;
|
|
1066
|
-
font-weight: bold;
|
|
1067
|
-
font-style: italic;
|
|
1068
|
-
&:first-child {
|
|
1069
|
-
margin-top: -16px;
|
|
1070
|
-
}
|
|
1071
|
-
}
|
|
1072
|
-
.Fg-field {
|
|
1073
|
-
.el-select {
|
|
1074
|
-
width: 100%;
|
|
1075
|
-
}
|
|
1076
|
-
.Fg-field--top {
|
|
1077
|
-
.el-form-item__label {
|
|
1078
|
-
float: none;
|
|
1079
|
-
}
|
|
1080
|
-
.el-form-item__content {
|
|
1081
|
-
margin-left: 0 !important;
|
|
1082
|
-
}
|
|
1083
|
-
}
|
|
1084
|
-
}
|
|
1085
|
-
.Fg-reg-item {
|
|
1086
|
-
padding: 12px 6px;
|
|
1087
|
-
background: #f8f8f8;
|
|
1088
|
-
position: relative;
|
|
1089
|
-
border-radius: 4px;
|
|
1090
|
-
.close-btn {
|
|
1091
|
-
position: absolute;
|
|
1092
|
-
right: -6px;
|
|
1093
|
-
top: -6px;
|
|
1094
|
-
display: block;
|
|
1095
|
-
width: 16px;
|
|
1096
|
-
height: 16px;
|
|
1097
|
-
line-height: 16px;
|
|
1098
|
-
background: rgba(0, 0, 0, 0.2);
|
|
1099
|
-
border-radius: 50%;
|
|
1100
|
-
color: #fff;
|
|
1101
|
-
text-align: center;
|
|
1102
|
-
z-index: 1;
|
|
1103
|
-
cursor: pointer;
|
|
1104
|
-
font-size: 12px;
|
|
1105
|
-
&:hover {
|
|
1106
|
-
background: rgba(210, 23, 23, 0.5);
|
|
1107
|
-
}
|
|
1108
|
-
}
|
|
1109
|
-
& + .Fg-reg-item {
|
|
1110
|
-
margin-top: 18px;
|
|
1111
|
-
}
|
|
1112
|
-
}
|
|
1113
|
-
</style>
|