fix -- 优化表单生成代码

This commit is contained in:
hewenqiang
2022-02-16 17:08:52 +08:00
parent 8c029a3dc3
commit 4642a00a29
2 changed files with 15 additions and 13 deletions

View File

@@ -1,5 +1,3 @@
import de from "element-ui/src/locale/lang/de";
const DRAWING_ITEMS = 'drawingItems' const DRAWING_ITEMS = 'drawingItems'
const DRAWING_ITEMS_VERSION = '1.2' const DRAWING_ITEMS_VERSION = '1.2'
const DRAWING_ITEMS_VERSION_KEY = 'DRAWING_ITEMS_VERSION' const DRAWING_ITEMS_VERSION_KEY = 'DRAWING_ITEMS_VERSION'

View File

@@ -138,24 +138,23 @@
<script> <script>
import draggable from 'vuedraggable' import draggable from 'vuedraggable'
import { debounce } from 'throttle-debounce' import { debounce } from 'throttle-debounce'
import { saveAs } from 'file-saver'
import ClipboardJS from 'clipboard' import ClipboardJS from 'clipboard'
import render from '@/utils/generator/render' import render from '@/utils/generator/render'
import FormDrawer from './FormDrawer' import FormDrawer from './FormDrawer'
import JsonDrawer from './JsonDrawer' import JsonDrawer from './JsonDrawer'
import RightPanel from './RightPanel' import RightPanel from './RightPanel'
import { inputComponents, selectComponents, layoutComponents, formConf } from '@/utils/generator/config' import { inputComponents, selectComponents, layoutComponents, formConf } from '@/utils/generator/config'
import { beautifierConf, titleCase, deepClone, isObjectObject } from '@/utils/index' import { beautifierConf, titleCase, deepClone } from '@/utils/index'
import { makeUpHtml, vueTemplate, vueScript, cssStyle } from '@/utils/generator/html' import { makeUpHtml, vueTemplate, vueScript, cssStyle } from '@/utils/generator/html'
import { makeUpJs } from '@/utils/generator/js' import { makeUpJs } from '@/utils/generator/js'
import { makeUpCss } from '@/utils/generator/css' import { makeUpCss } from '@/utils/generator/css'
import drawingDefalut from '@/utils/generator/drawingDefault' import drawingDefault from '@/utils/generator/drawingDefault'
import logo from '@/assets/logo/logo.png' import logo from '@/assets/logo/logo.png'
import CodeTypeDialog from './CodeTypeDialog' import CodeTypeDialog from './CodeTypeDialog'
import DraggableItem from './DraggableItem' import DraggableItem from './DraggableItem'
import { getDrawingList, saveDrawingList, getIdGlobal, saveIdGlobal, getFormConf } from '@/utils/db' import { getDrawingList, saveDrawingList, getIdGlobal, saveIdGlobal, getFormConf } from '@/utils/db'
import loadBeautifier from '@/utils/loadBeautifier' import loadBeautifier from '@/utils/loadBeautifier'
import {getForm, addForm, updateForm} from "@/api/workflow/form"; import { getForm, addForm, updateForm } from '@/api/workflow/form'
let beautifier let beautifier
const emptyActiveData = { style: {}, autosize: {} } const emptyActiveData = { style: {}, autosize: {} }
@@ -184,16 +183,16 @@ export default {
selectComponents, selectComponents,
layoutComponents, layoutComponents,
labelWidth: 100, labelWidth: 100,
drawingList: drawingDefalut, drawingList: drawingDefault,
drawingData: {}, drawingData: {},
activeId: drawingDefalut[0].formId, activeId: drawingDefault[0].formId,
drawerVisible: false, drawerVisible: false,
formData: {}, formData: {},
dialogVisible: false, dialogVisible: false,
jsonDrawerVisible: false, jsonDrawerVisible: false,
generateConf: null, generateConf: null,
showFileName: false, showFileName: false,
activeData: drawingDefalut[0], activeData: drawingDefault[0],
saveDrawingListDebounce: debounce(340, saveDrawingList), saveDrawingListDebounce: debounce(340, saveDrawingList),
saveIdGlobalDebounce: debounce(340, saveIdGlobal), saveIdGlobalDebounce: debounce(340, saveIdGlobal),
leftComponents: [ leftComponents: [
@@ -223,7 +222,12 @@ export default {
rules: {} rules: {}
} }
}, },
computed: { created() {
// 防止 firefox 下 拖拽 会新打卡一个选项卡
document.body.ondrop = event => {
event.preventDefault()
event.stopPropagation()
}
}, },
watch: { watch: {
// eslint-disable-next-line func-names // eslint-disable-next-line func-names
@@ -263,7 +267,7 @@ export default {
if (Array.isArray(drawingListInDB) && drawingListInDB.length > 0) { if (Array.isArray(drawingListInDB) && drawingListInDB.length > 0) {
that.drawingList = drawingListInDB that.drawingList = drawingListInDB
} else { } else {
that.drawingList = drawingDefalut that.drawingList = drawingDefault
} }
this.activeFormItem(that.drawingList[0]) this.activeFormItem(that.drawingList[0])
// // if (formConfInDB) { // // if (formConfInDB) {
@@ -306,7 +310,7 @@ export default {
arr.reduce((pre, item, i) => { arr.reduce((pre, item, i) => {
if (arr.length === i + 1) { if (arr.length === i + 1) {
pre[item] = data pre[item] = data
} else if (!isObjectObject(pre[item])) { } else if (!(pre[item] instanceof Object)) {
pre[item] = {} pre[item] = {}
} }
return pre[item] return pre[item]
@@ -405,7 +409,7 @@ export default {
execDownload(data) { execDownload(data) {
const codeStr = this.generateCode() 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' })
saveAs(blob, data.fileName) this.$download.saveAs(blob, data.fileName)
}, },
execCopy(data) { execCopy(data) {
document.getElementById('copyNode').click() document.getElementById('copyNode').click()