# FormMaking 可视化表单设计器
## 介绍
本项目使用 `vue-cli 3` 搭建,基于 `vue` 和 `element-ui` 实现,使用了最新的前端技术栈,内置了 i18 国际化解决方案。
## 二次开发
二次开发需要 vue 的基础,如果还不了解 vue 请查看 [Vue官方文档](https://cn.vuejs.org/v2/guide/)
### 目录解析
```sh
├── public # 静态资源
│ │── lib # 第三方插件库
│ │── index.html # html模板
├── src # 源代码
│ │── assets # 图片等静态资源
│ │── components # 组件库
│ │ │── AntdvGenerator # Ant Design Vue 生成器目录
│ │ │── CodeEditor # 代码编辑器组件
│ │ │── Editor # 富文本编辑器组件
│ │ │── FormTable # 子表单生成器组件
│ │ │── Upload # 上传组件
│ │ │── CodeDialog.vue # 代码编辑器弹框组件
│ │ │── componentsConfig.js # 设计器字段配置
│ │ │── Container.vue # 设计器入口组件
│ │ │── CusDialog.vue # 封装的公用的弹框组件
│ │ │── FormConfig.vue # 设计器表单属性配置
│ │ │── generateCode.js # 生成代码js文件
│ │ │── GenerateColItem.vue # 生成栅格布局
│ │ │── GenerateElementItem.vue # 生成表单子项对应的组件
│ │ │── GenerateForm.vue # 生成器入口组件
│ │ │── GenerateFormItem.vue # 生成表单子项
│ │ │── GenerateReport.vue # 生成表格组件
│ │ │── GenerateTabItem.vue # 生成标签组件
│ │ │── WidgetColItem.vue # 栅格设计组件
│ │ │── WidgetConfig.vue # 设计器字段属性配置
│ │ │── WidgetElementItem.vue # 设计器表单子项内部详细组件
│ │ │── WidgetForm.vue # 设计器表单设计区域
│ │ │── WidgetFormItem.vue # 设计器表单子项设计
│ │ │── WidgetReport.vue # 设计器表格组件
│ │ │── WidgetTabItem.vue # 设计器标签组件
│ │ │── WidgetTable.vue # 设计器子表单组件
│ │ │── WidgetTableItem.vue # 设计器子表单内部组件
│ │── demo # 示例demo
│ │ │── CustomComponent.vue # 演示自定义组件
│ │ │── Home.vue # 演示设计器
│ │ │── Test.vue # 测试功能
│ │── directive # 全局指令
│ │── iconfont # iconfont 字体库
│ │── lang # 国际化配置
│ │── router # 路由
│ │── styles # 全局样式
│ │── util # 全局公用方法
│ │── App.vue # 入口页面
│ │── editorBundle.js # 打包 VueEditor
│ │── index.js # 设计器打包入口
│ │── main.js # 入口文件 加载组件 初始化等
├── package.json # package.json
├── vue.config.js # vue-cli 配置
```
### 扩展表单属性
#### 1. 添加配置参数
src/components/Container.vue
```js
export default{
data () {
return {
widgetForm: {
list: [],
config: {
// 在此处扩展表单的配置信息,例如:
// width: '100%'
},
}
}
}
}
```
#### 2. 设计器中配置
src/components/FormConfig.vue
```html