Pre Merge pull request !43 from ahaos/tspr
This commit is contained in:
commit
5c779765e2
16
lib/designer.style.css
Normal file
16
lib/designer.style.css
Normal file
File diff suppressed because one or more lines are too long
1531
lib/designer.umd.js
Normal file
1531
lib/designer.umd.js
Normal file
File diff suppressed because one or more lines are too long
@ -23,24 +23,23 @@
|
|||||||
"animate.css": "4.1.1",
|
"animate.css": "4.1.1",
|
||||||
"await-to-js": "^3.0.0",
|
"await-to-js": "^3.0.0",
|
||||||
"axios": "^1.3.4",
|
"axios": "^1.3.4",
|
||||||
|
"crypto-js": "^4.1.1",
|
||||||
"echarts": "5.4.0",
|
"echarts": "5.4.0",
|
||||||
"element-plus": "2.2.27",
|
"element-plus": "2.2.27",
|
||||||
"file-saver": "2.0.5",
|
"file-saver": "2.0.5",
|
||||||
"fuse.js": "6.6.2",
|
"fuse.js": "6.6.2",
|
||||||
"js-cookie": "3.0.1",
|
"js-cookie": "3.0.1",
|
||||||
"jsencrypt": "3.3.1",
|
"jsencrypt": "3.3.1",
|
||||||
"crypto-js": "^4.1.1",
|
|
||||||
"nprogress": "0.2.0",
|
"nprogress": "0.2.0",
|
||||||
"path-browserify": "1.0.1",
|
"path-browserify": "1.0.1",
|
||||||
"path-to-regexp": "6.2.0",
|
"path-to-regexp": "6.2.0",
|
||||||
"pinia": "2.0.22",
|
"pinia": "2.0.22",
|
||||||
"screenfull": "6.0.0",
|
"screenfull": "6.0.0",
|
||||||
"vform3-builds": "3.0.8",
|
|
||||||
"vue": "3.2.45",
|
"vue": "3.2.45",
|
||||||
"vue-cropper": "1.0.3",
|
"vue-cropper": "1.0.3",
|
||||||
"vue-i18n": "9.2.2",
|
"vue-i18n": "9.2.2",
|
||||||
"vue-router": "4.1.4",
|
"vue-router": "4.1.4",
|
||||||
"vue-types": "^5.0.3"
|
"vue-types": "5.1.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@iconify/json": "^2.2.40",
|
"@iconify/json": "^2.2.40",
|
||||||
@ -73,10 +72,10 @@
|
|||||||
"unplugin-auto-import": "0.13.0",
|
"unplugin-auto-import": "0.13.0",
|
||||||
"unplugin-icons": "0.15.1",
|
"unplugin-icons": "0.15.1",
|
||||||
"unplugin-vue-components": "0.23.0",
|
"unplugin-vue-components": "0.23.0",
|
||||||
|
"unplugin-vue-setup-extend-plus": "0.4.9",
|
||||||
"vite": "4.3.1",
|
"vite": "4.3.1",
|
||||||
"vite-plugin-compression": "0.5.1",
|
"vite-plugin-compression": "0.5.1",
|
||||||
"vite-plugin-svg-icons": "2.0.1",
|
"vite-plugin-svg-icons": "2.0.1",
|
||||||
"unplugin-vue-setup-extend-plus": "0.4.9",
|
|
||||||
"vitest": "^0.29.7",
|
"vitest": "^0.29.7",
|
||||||
"vue-eslint-parser": "9.1.0",
|
"vue-eslint-parser": "9.1.0",
|
||||||
"vue-tsc": "0.35.0"
|
"vue-tsc": "0.35.0"
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
@import './ruoyi.scss';
|
@import './ruoyi.scss';
|
||||||
@import 'animate.css';
|
@import 'animate.css';
|
||||||
@import 'element-plus/dist/index.css';
|
@import 'element-plus/dist/index.css';
|
||||||
|
@import '../../../lib/designer.style.css';
|
||||||
body {
|
body {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
@ -1,22 +1,36 @@
|
|||||||
<!-- 代码构建 -->
|
<!-- 代码构建 -->
|
||||||
|
<template>
|
||||||
|
<div class="reset">
|
||||||
|
<v-form-designer class="build" ref="buildRef" :designer-config="designerConfig">
|
||||||
|
<template #customToolButtons v-if="showBtn">
|
||||||
|
<el-button link type="primary" icon="Select" @click="getJson">保存</el-button>
|
||||||
|
</template>
|
||||||
|
</v-form-designer>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
|
||||||
|
import { propTypes } from "@/utils/propTypes";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
showBtn: {
|
showBtn: propTypes.bool.def(false),
|
||||||
type: Boolean,
|
formJson: propTypes.object.def({})
|
||||||
default: false
|
|
||||||
},
|
|
||||||
formJson: {
|
|
||||||
type: Object,
|
|
||||||
default: undefined
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
||||||
|
const designerConfig = reactive({
|
||||||
|
languageMenu: true,
|
||||||
|
toolbarMaxWidth: 450,
|
||||||
|
// importJsonButton: false,
|
||||||
|
// exportJsonButton: false,
|
||||||
|
exportCodeButton: false,
|
||||||
|
// generateSFCButton: false,
|
||||||
|
formTemplates: true
|
||||||
|
})
|
||||||
|
|
||||||
const buildRef = ref();
|
const buildRef = ref();
|
||||||
const emits = defineEmits(['reJson', 'saveDesign']);
|
const emits = defineEmits(['reJson', 'saveDesign']);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//获取表单json
|
//获取表单json
|
||||||
const getJson = () => {
|
const getJson = () => {
|
||||||
const formJson = JSON.stringify(buildRef.value.getFormJson())
|
const formJson = JSON.stringify(buildRef.value.getFormJson())
|
||||||
@ -34,20 +48,6 @@ onMounted(() => {
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
|
||||||
<div>
|
|
||||||
<v-form-designer
|
|
||||||
class="build"
|
|
||||||
ref="buildRef"
|
|
||||||
:designer-config="{ importJsonButton: true, exportJsonButton: true, exportCodeButton: true, generateSFCButton: true, formTemplates: true }"
|
|
||||||
>
|
|
||||||
<template #customToolButtons v-if="showBtn">
|
|
||||||
<el-button link type="primary" icon="Select" @click="getJson">保存</el-button>
|
|
||||||
</template>
|
|
||||||
</v-form-designer>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.build {
|
.build {
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
@ -60,5 +60,8 @@ onMounted(() => {
|
|||||||
& .right-toolbar-con {
|
& .right-toolbar-con {
|
||||||
text-align: right !important;
|
text-align: right !important;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
.reset {
|
||||||
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,22 +1,15 @@
|
|||||||
<!-- 动态表单渲染 -->
|
<!-- 动态表单渲染 -->
|
||||||
<script setup name="Render">
|
<script setup name="Render">
|
||||||
|
|
||||||
|
import { propTypes } from "@/utils/propTypes";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
formJson: {
|
formJson: propTypes.oneOfType([propTypes.object, propTypes.string]).def(''),
|
||||||
type: [String, Object],
|
formData: propTypes.oneOfType([propTypes.object, propTypes.string]).def(''),
|
||||||
default: ""
|
isView: propTypes.bool.def(false)
|
||||||
},
|
|
||||||
formData: {
|
|
||||||
type: [String, Object],
|
|
||||||
default: ""
|
|
||||||
},
|
|
||||||
isView: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const vFormRef = ref(null)
|
const vFormRef = ref()
|
||||||
// 获取表单数据-异步
|
// 获取表单数据-异步
|
||||||
const getFormData = () => {
|
const getFormData = () => {
|
||||||
return vFormRef.value.getFormData()
|
return vFormRef.value.getFormData()
|
||||||
@ -24,7 +17,7 @@ const getFormData = () => {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置表单内容
|
* 设置表单内容
|
||||||
* @param {表单配置} formConf
|
* @param { * } formConf
|
||||||
* formConfig:{ formTemplate:表单模板,formData:表单数据,hiddenField:需要隐藏的字段字符串集合,disabledField:需要禁用的自读字符串集合}
|
* formConfig:{ formTemplate:表单模板,formData:表单数据,hiddenField:需要隐藏的字段字符串集合,disabledField:需要禁用的自读字符串集合}
|
||||||
*/
|
*/
|
||||||
const initForm = (formConf) => {
|
const initForm = (formConf) => {
|
||||||
|
@ -26,16 +26,13 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { propTypes } from '@/utils/propTypes';
|
import { propTypes } from '@/utils/propTypes';
|
||||||
|
import { array } from "vue-types";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
// 数据
|
// 数据
|
||||||
options: {
|
options: array<DictDataOption>().def([]),
|
||||||
type: Array as PropType<DictDataOption[]>,
|
|
||||||
default: null,
|
|
||||||
},
|
|
||||||
// 当前的值
|
// 当前的值
|
||||||
value: [Number, String, Array] as PropType<number | string | Array<number | string>>,
|
value: propTypes.oneOfType([propTypes.string, propTypes.number, array<number | string>()]),
|
||||||
// 当未找到匹配的数据时,显示value
|
// 当未找到匹配的数据时,显示value
|
||||||
showValue: propTypes.bool.def(true),
|
showValue: propTypes.bool.def(true),
|
||||||
separator: propTypes.string.def(","),
|
separator: propTypes.string.def(","),
|
||||||
|
@ -13,14 +13,8 @@ import { propTypes } from '@/utils/propTypes';
|
|||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
src: propTypes.string.def(''),
|
src: propTypes.string.def(''),
|
||||||
width: {
|
width: propTypes.oneOfType([propTypes.string, propTypes.number]).def(''),
|
||||||
type: [Number, String],
|
height: propTypes.oneOfType([propTypes.string, propTypes.number]).def('')
|
||||||
default: ""
|
|
||||||
},
|
|
||||||
height: {
|
|
||||||
type: [Number, String],
|
|
||||||
default: ""
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const realSrc = computed(() => {
|
const realSrc = computed(() => {
|
||||||
@ -33,7 +27,7 @@ const realSrc = computed(() => {
|
|||||||
|
|
||||||
const realSrcList = computed(() => {
|
const realSrcList = computed(() => {
|
||||||
if (!props.src) {
|
if (!props.src) {
|
||||||
return;
|
return [];
|
||||||
}
|
}
|
||||||
let real_src_list = props.src.split(",");
|
let real_src_list = props.src.split(",");
|
||||||
let srcList: string[] = [];
|
let srcList: string[] = [];
|
||||||
|
@ -55,10 +55,7 @@ const props = defineProps({
|
|||||||
// 文件类型, 例如['png', 'jpg', 'jpeg']
|
// 文件类型, 例如['png', 'jpg', 'jpeg']
|
||||||
fileType: propTypes.array.def(["png", "jpg", "jpeg"]),
|
fileType: propTypes.array.def(["png", "jpg", "jpeg"]),
|
||||||
// 是否显示提示
|
// 是否显示提示
|
||||||
isShowTip: {
|
isShowTip: propTypes.bool.def(true)
|
||||||
type: Boolean,
|
|
||||||
default: true
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||||
|
@ -22,16 +22,14 @@ export default {
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { scrollTo } from '@/utils/scroll-to'
|
import { scrollTo } from '@/utils/scroll-to'
|
||||||
import { propTypes } from "@/utils/propTypes";
|
import { propTypes } from '@/utils/propTypes';
|
||||||
|
import { array } from 'vue-types';
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
total: propTypes.number,
|
total: propTypes.number,
|
||||||
page: propTypes.number.def(1),
|
page: propTypes.number.def(1),
|
||||||
limit: propTypes.number.def(20),
|
limit: propTypes.number.def(20),
|
||||||
pageSizes: {
|
pageSizes: array<number>().def([10, 20, 30, 50]),
|
||||||
type: Array as PropType<number[]>,
|
|
||||||
default: () => [10, 20, 30, 50]
|
|
||||||
},
|
|
||||||
// 移动端页码按钮的数量端默认值5
|
// 移动端页码按钮的数量端默认值5
|
||||||
pagerCount: propTypes.number.def(document.body.clientWidth < 992 ? 5 : 7),
|
pagerCount: propTypes.number.def(document.body.clientWidth < 992 ? 5 : 7),
|
||||||
layout: propTypes.string.def('total, sizes, prev, pager, next, jumper'),
|
layout: propTypes.string.def('total, sizes, prev, pager, next, jumper'),
|
||||||
|
@ -29,12 +29,11 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { propTypes } from '@/utils/propTypes';
|
import { propTypes } from '@/utils/propTypes';
|
||||||
|
import { array } from "vue-types";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
showSearch: propTypes.bool.def(true),
|
showSearch: propTypes.bool.def(true),
|
||||||
columns: {
|
columns: array<FieldOption>(),
|
||||||
type: Array as PropType<FieldOption[]>,
|
|
||||||
},
|
|
||||||
search: propTypes.bool.def(true),
|
search: propTypes.bool.def(true),
|
||||||
gutter: propTypes.number.def(10),
|
gutter: propTypes.number.def(10),
|
||||||
})
|
})
|
||||||
|
@ -30,40 +30,23 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
|
||||||
|
import { propTypes } from "@/utils/propTypes";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
/* 配置项 */
|
/* 配置项 */
|
||||||
objMap: {
|
objMap: propTypes.object.def({
|
||||||
type: Object,
|
|
||||||
default: () => {
|
|
||||||
return {
|
|
||||||
value: 'id', // ID字段名
|
value: 'id', // ID字段名
|
||||||
label: 'label', // 显示名称
|
label: 'label', // 显示名称
|
||||||
children: 'children' // 子级字段名
|
children: 'children' // 子级字段名
|
||||||
}
|
}),
|
||||||
}
|
|
||||||
},
|
|
||||||
/* 自动收起 */
|
/* 自动收起 */
|
||||||
accordion: {
|
accordion: propTypes.bool.def(false),
|
||||||
type: Boolean,
|
|
||||||
default: () => {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
/**当前双向数据绑定的值 */
|
/**当前双向数据绑定的值 */
|
||||||
value: {
|
value: propTypes.oneOfType([propTypes.string, propTypes.number]),
|
||||||
type: [String, Number],
|
|
||||||
default: ''
|
|
||||||
},
|
|
||||||
/**当前的数据 */
|
/**当前的数据 */
|
||||||
options: {
|
options: propTypes.array.def([]),
|
||||||
type: Array,
|
|
||||||
default: () => []
|
|
||||||
},
|
|
||||||
/**输入框内部的文字 */
|
/**输入框内部的文字 */
|
||||||
placeholder: {
|
placeholder: propTypes.string.def('')
|
||||||
type: String,
|
|
||||||
default: ''
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,14 +5,11 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { propTypes } from '@/utils/propTypes';
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
src: {
|
src: propTypes.string.def('/'),
|
||||||
type: String,
|
iframeId: propTypes.string
|
||||||
default: "/"
|
|
||||||
},
|
|
||||||
iframeId: {
|
|
||||||
type: String
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
const height = ref(document.documentElement.clientHeight - 94.5 + "px");
|
const height = ref(document.documentElement.clientHeight - 94.5 + 'px');
|
||||||
</script>
|
</script>
|
||||||
|
@ -6,12 +6,10 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { isExternal } from '@/utils/validate'
|
import { isExternal } from '@/utils/validate'
|
||||||
|
import { propTypes } from "@/utils/propTypes";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
to: {
|
to: propTypes.oneOfType([propTypes.string, propTypes.object]).isRequired
|
||||||
type: [String, Object],
|
|
||||||
required: true
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const isExt = computed(() => {
|
const isExt = computed(() => {
|
||||||
@ -25,7 +23,7 @@ const type = computed(() => {
|
|||||||
return 'router-link'
|
return 'router-link'
|
||||||
})
|
})
|
||||||
|
|
||||||
function linkProps() {
|
const linkProps = () => {
|
||||||
if (isExt.value) {
|
if (isExt.value) {
|
||||||
return {
|
return {
|
||||||
href: props.to,
|
href: props.to,
|
||||||
|
@ -26,13 +26,11 @@ import variables from '@/assets/styles/variables.module.scss'
|
|||||||
import logo from '@/assets/logo/logo.png'
|
import logo from '@/assets/logo/logo.png'
|
||||||
import useSettingsStore from '@/store/modules/settings'
|
import useSettingsStore from '@/store/modules/settings'
|
||||||
import { ComponentInternalInstance } from "vue";
|
import { ComponentInternalInstance } from "vue";
|
||||||
|
import { propTypes } from "@/utils/propTypes";
|
||||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||||
|
|
||||||
defineProps({
|
defineProps({
|
||||||
collapse: {
|
collapse: propTypes.bool.def(true)
|
||||||
type: Boolean,
|
|
||||||
required: true
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const title = ref('RuoYi-Vue-Plus');
|
const title = ref('RuoYi-Vue-Plus');
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
v-for="child in item.children"
|
v-for="child in item.children"
|
||||||
:key="child.path"
|
:key="child.path"
|
||||||
:is-nest="true"
|
:is-nest="true"
|
||||||
:item="child as RouteOption"
|
:item="child"
|
||||||
:base-path="resolvePath(child.path)"
|
:base-path="resolvePath(child.path)"
|
||||||
class="nest-menu"
|
class="nest-menu"
|
||||||
/>
|
/>
|
||||||
@ -34,22 +34,14 @@ import { isExternal } from '@/utils/validate'
|
|||||||
import AppLink from './Link.vue'
|
import AppLink from './Link.vue'
|
||||||
import { getNormalPath } from '@/utils/ruoyi'
|
import { getNormalPath } from '@/utils/ruoyi'
|
||||||
import { RouteOption } from "vue-router";
|
import { RouteOption } from "vue-router";
|
||||||
import { PropType } from "vue";
|
import { propTypes } from "@/utils/propTypes";
|
||||||
|
import { object } from 'vue-types';
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
// route object
|
// route object
|
||||||
item: {
|
item: object<RouteOption>().isRequired,
|
||||||
type: Object as PropType<RouteOption>,
|
isNest: propTypes.bool.def(false),
|
||||||
required: true
|
basePath: propTypes.string.def('')
|
||||||
},
|
|
||||||
isNest: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
},
|
|
||||||
basePath: {
|
|
||||||
type: String,
|
|
||||||
default: ''
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const onlyOneChild = ref<any>({});
|
const onlyOneChild = ref<any>({});
|
||||||
|
@ -46,10 +46,16 @@ app.config.globalProperties.selectDictLabel = selectDictLabel;
|
|||||||
app.config.globalProperties.selectDictLabels = selectDictLabels;
|
app.config.globalProperties.selectDictLabels = selectDictLabels;
|
||||||
app.config.globalProperties.animate = animate;
|
app.config.globalProperties.animate = animate;
|
||||||
|
|
||||||
|
// vform3
|
||||||
|
import ElementPlus from 'element-plus';
|
||||||
|
import VForm3 from '@/../lib/designer.umd.js';
|
||||||
|
|
||||||
app.use(ElementIcons);
|
app.use(ElementIcons);
|
||||||
app.use(router);
|
app.use(router);
|
||||||
app.use(store);
|
app.use(store);
|
||||||
app.use(i18n);
|
app.use(i18n);
|
||||||
|
app.use(VForm3);
|
||||||
|
app.use(ElementPlus);
|
||||||
app.use(plugins);
|
app.use(plugins);
|
||||||
// 自定义指令
|
// 自定义指令
|
||||||
directive(app);
|
directive(app);
|
||||||
|
@ -1,3 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>表单构建 <svg-icon icon-class="build" /></div>
|
<!--<div>表单构建 <svg-icon icon-class="build" /></div>-->
|
||||||
|
<BuildCode :show-btn="showBtn" @reJson="getJson"></BuildCode>
|
||||||
|
<!--<render ref="formRef" :form-json="setJson" @getFormData="getFormData" />-->
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
|
||||||
|
const showBtn = ref(false)
|
||||||
|
const getJson = (value: any) => {
|
||||||
|
console.log(value)
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
@ -53,6 +53,11 @@ export default defineConfig(({ mode, command }: ConfigEnv): UserConfig => {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
build: {
|
||||||
|
commonjsOptions: {
|
||||||
|
// include: /node_modules|lib/
|
||||||
|
}
|
||||||
|
},
|
||||||
// 预编译
|
// 预编译
|
||||||
optimizeDeps: {
|
optimizeDeps: {
|
||||||
include: [
|
include: [
|
||||||
@ -68,6 +73,7 @@ export default defineConfig(({ mode, command }: ConfigEnv): UserConfig => {
|
|||||||
'vue-i18n',
|
'vue-i18n',
|
||||||
'@vueup/vue-quill',
|
'@vueup/vue-quill',
|
||||||
'@iconify/iconify',
|
'@iconify/iconify',
|
||||||
|
'@/../lib/designer.umd.js',
|
||||||
|
|
||||||
'element-plus/es/components/form/style/css',
|
'element-plus/es/components/form/style/css',
|
||||||
'element-plus/es/components/form-item/style/css',
|
'element-plus/es/components/form-item/style/css',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user