diff --git a/ruoyi-ui/src/utils/generator/drawingDefault.js b/ruoyi-ui/src/utils/generator/drawingDefault.js index 09f133ca1..18017a29f 100644 --- a/ruoyi-ui/src/utils/generator/drawingDefault.js +++ b/ruoyi-ui/src/utils/generator/drawingDefault.js @@ -1,29 +1,37 @@ -export default [ - { - layout: 'colFormItem', - tagIcon: 'input', - label: '手机号', - vModel: 'mobile', - formId: 6, - tag: 'el-input', - placeholder: '请输入手机号', - defaultValue: '', - span: 24, - style: { width: '100%' }, - clearable: true, - prepend: '', - append: '', - 'prefix-icon': 'el-icon-mobile', - 'suffix-icon': '', - maxlength: 11, - 'show-word-limit': true, - readonly: false, - disabled: false, - required: true, - changeTag: true, - regList: [{ - pattern: '/^1(3|4|5|7|8|9)\\d{9}$/', - message: '手机号格式错误' - }] +export const drawingDefaultValue = [] + +export function initDrawingDefaultValue() { + if (drawingDefaultValue.length === 0) { + drawingDefaultValue.push({ + layout: 'colFormItem', + tagIcon: 'input', + label: '手机号', + vModel: 'mobile', + formId: 6, + tag: 'el-input', + placeholder: '请输入手机号', + defaultValue: '', + span: 24, + style: {width: '100%'}, + clearable: true, + prepend: '', + append: '', + 'prefix-icon': 'el-icon-mobile', + 'suffix-icon': '', + maxlength: 11, + 'show-word-limit': true, + readonly: false, + disabled: false, + required: true, + changeTag: true, + regList: [{ + pattern: '/^1(3|4|5|7|8|9)\\d{9}$/', + message: '手机号格式错误' + }] + }) } -] +} + +export function cleanDrawingDefaultValue() { + drawingDefaultValue.splice(0, drawingDefaultValue.length) +} diff --git a/ruoyi-ui/src/views/tool/build/index.vue b/ruoyi-ui/src/views/tool/build/index.vue index 5849b340a..578c864f8 100644 --- a/ruoyi-ui/src/views/tool/build/index.vue +++ b/ruoyi-ui/src/views/tool/build/index.vue @@ -9,7 +9,8 @@
- 输入型组件 + + 输入型组件
- + {{ element.label }}
- 选择型组件 + + 选择型组件
- + {{ element.label }}
- 布局型组件 + + 布局型组件
- + {{ element.label }}
@@ -141,12 +144,12 @@ import beautifier from 'js-beautify' import ClipboardJS from 'clipboard' import render from '@/utils/generator/render' import RightPanel from './RightPanel' -import { inputComponents, selectComponents, layoutComponents, formConf } from '@/utils/generator/config' -import { beautifierConf, titleCase } from '@/utils/index' -import { makeUpHtml, vueTemplate, vueScript, cssStyle } from '@/utils/generator/html' -import { makeUpJs } from '@/utils/generator/js' -import { makeUpCss } from '@/utils/generator/css' -import drawingDefault from '@/utils/generator/drawingDefault' +import {inputComponents, selectComponents, layoutComponents, formConf} from '@/utils/generator/config' +import {beautifierConf, titleCase} from '@/utils/index' +import {makeUpHtml, vueTemplate, vueScript, cssStyle} from '@/utils/generator/html' +import {makeUpJs} from '@/utils/generator/js' +import {makeUpCss} from '@/utils/generator/css' +import {drawingDefaultValue, initDrawingDefaultValue,cleanDrawingDefaultValue} from '@/utils/generator/drawingDefault' import logo from '@/assets/logo/logo.png' import CodeTypeDialog from './CodeTypeDialog' import DraggableItem from './DraggableItem' @@ -162,6 +165,9 @@ export default { CodeTypeDialog, DraggableItem }, + + + data() { return { logo, @@ -171,18 +177,24 @@ export default { selectComponents, layoutComponents, labelWidth: 100, - drawingList: drawingDefault, + // drawingList: JSON.parse(JSON.stringify(drawingDefault)), + drawingList: drawingDefaultValue, drawingData: {}, - activeId: drawingDefault[0].formId, + activeId: drawingDefaultValue[0].formId, drawerVisible: false, formData: {}, dialogVisible: false, generateConf: null, showFileName: false, - activeData: drawingDefault[0] + activeData: drawingDefaultValue[0] } }, + + beforeCreate() { + initDrawingDefaultValue() + }, created() { + // 防止 firefox 下 拖拽 会新打卡一个选项卡 document.body.ondrop = event => { event.preventDefault() @@ -274,16 +286,17 @@ export default { }, execDownload(data) { const codeStr = this.generateCode() - const blob = new Blob([codeStr], { type: 'text/plain;charset=utf-8' }) + const blob = new Blob([codeStr], {type: 'text/plain;charset=utf-8'}) this.$download.saveAs(blob, data.fileName) }, execCopy(data) { document.getElementById('copyNode').click() }, empty() { - this.$confirm('确定要清空所有组件吗?', '提示', { type: 'warning' }).then( + this.$confirm('确定要清空所有组件吗?', '提示', {type: 'warning'}).then( () => { this.drawingList = [] + cleanDrawingDefaultValue() } ) }, @@ -316,7 +329,7 @@ export default { }) }, generateCode() { - const { type } = this.generateConf + const {type} = this.generateConf this.AssembleFormData() const script = vueScript(makeUpJs(this.formData, type)) const html = vueTemplate(makeUpHtml(this.formData, type)) @@ -370,16 +383,19 @@ export default {