From cf6e550538d55f3da28098662168031a33809246 Mon Sep 17 00:00:00 2001 From: Day <515848559@qq.com> Date: Fri, 25 Apr 2025 10:07:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8D=95=E4=B8=AA=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E6=89=80=E6=9C=89=E6=8E=A7=E4=BB=B6=E5=90=8E=EF=BC=8C=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E5=88=B0=E5=85=B6=E4=BB=96=E9=A1=B5=E9=9D=A2=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E9=87=8D=E6=96=B0=E8=B7=AF=E7=94=B1=E5=9B=9E=E6=9D=A5?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=B4=A9=E6=BA=83=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/utils/generator/drawingDefault.js | 64 ++--- ruoyi-ui/src/views/tool/build/index.vue | 237 ++++++++++++------ 2 files changed, 194 insertions(+), 107 deletions(-) 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 2bd298b8f..855d5184e 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() @@ -275,16 +287,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() } ) }, @@ -317,7 +330,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)) @@ -371,16 +384,19 @@ export default {