# form-generator
**Repository Path**: gx_cjj/form-generator
## Basic Information
- **Project Name**: form-generator
- **Description**: 表单设计器,功能包括:表单编辑、表单填报及已填报表单显示
在线预览地址:
- **Primary Language**: JavaScript
- **License**: MulanPSL-2.0
- **Default Branch**: dev@1.0.0
- **Homepage**: http://47.96.66.232:8090/form-generator/index.html#/comsDesiger
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 16
- **Created**: 2025-06-20
- **Last Updated**: 2025-06-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# form-generator
表单设计器,功能包括:表单编辑、表单填报及已填报表单显示
在线预览地址:http://47.96.66.232:8090/form-generator/index.html#/comsDesiger

# dev@1.0.0 新增
1. 多个布局组件及辅助型组件

2. 样式配置
* 局部样式:每个组件的配置面板单独提供样式配置

* 全局样式:所有代码均可配置,需要在每个组件的配置面板上选择

3. 事件配置
可以编写js代码,触发每个组件的对应事件时执行代码
* 局部事件:每个组件的配置面板单独提供事件代码编写

* 全局事件:所有代码均可配置,需要在每个组件的配置面板上选择

4. 接口返回格式
* 附件接口

# 使用文档
## 安装
```
npm install @huliuyu/form-generator
```
## 使用
### 完整引入
```
main.js 中
import FG from '@huliuyu/form-generator'
或者 import FG from '@huliuyu/form-generator/form-generator.umd.js'
import '@huliuyu/form-generator/form-generator.css'
Vue.use(FG)
```
## 包含组件
### 编辑器

#### pc端预览

#### 移动端预览

#### 表单数据查看

#### 使用
```
发布
校验
export default {
data() {
return {
formConf: {},
};
},
methods: {
handleValidate() {
this.$refs.FGDesigner.validate((valid, message) => {
if (valid) {
} else {
this.$message.error(message);
}
});
},
handlePublish() {
this.$refs.FGDesigner.submit((value) => {
console.log(value);
});
},
},
};
```
#### Attributes
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|-------|-------|-------|-------|-------|
| value / v-model | 为包含表单属性及组件列表的对象 | Object | - | - |
| form | 为包含表单组件对应的key和value | Object | - | - |
| enabled | 编辑器控件是否可以点击操作 | Boolean | - | false |
| enabled | 编辑器控件是否可以点击操作 | Boolean | - | false |
| options | 编辑器配置(如下) | Object | - | - |
#### 编辑器配置options【FGPcForm/FGPhoneForm/FGPcShow/FGPhoneShow同理】
```
options: {
themeColor:'', // 编辑器主题色
header: { // 接口请求头内容,如果存在则将其放置到表单编辑器的接口请求头上
// 如果编辑器配置的接口需要带上token,可以从此处传入,参数名自定义
// "token": '',
},
hideTemps: false,// 是否隐藏模板
hideOutline: false,// 是否隐藏大纲
hidePhone: false // 是否隐藏手机端
}
```
#### Methods
| 方法名 | 说明 | 参数 |
|-------|-------|-------|
| validate | 对整个表单进行校验的方法,参数为一个回调函数。该回调函数会在校验结束后被调用,并传入两个个参数:校验是否通过、校验提示语 | Function(callback: Function(Boolean,Array)) |
| submit | 对整个表单进行提交的方法,参数为一个回调函数。传入一个参数:即为已修改的value值 | Function(callback: Function(object)) |
#### Event
| 事件名称 | 说明 | 回调参数 |
|-------|-------|-------|
| save | 点击保存按钮触发 | 新状态的value值,新状态的组件列表,新状态的表单属性 |
| change | 数据更改触发 | 新状态的value值 |
### PC表单渲染

#### 使用
```
提交
```
#### Attributes
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|-------|-------|-------|-------|-------|
| value / v-model | 为包含表单属性及组件列表的对象 | String | - | - |
| form | 为包含表单组件对应的key和value | Object | - | - |
#### Methods
| 方法名 | 说明 | 参数 |
|-------|-------|-------|
| validateForm | 对整个表单进行校验的方法,参数为一个回调函数。该回调函数会在校验结束后被调用,并传入一个参数:即为校验通过的value值 | Function(callback: Function(object)) |
| submitForm | 对整个表单进行提交的方法,参数为一个回调函数。传入一个参数:即为已修改的value值 | Function(callback: Function(object)) |
| resetForm | 对整个表单进行重置,将所有字段值重置为初始值并移除校验结果 | - |
### phone表单渲染

#### 使用
```
```
#### Attributes
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|-------|-------|-------|-------|-------|
| value / v-model | 为包含表单属性及组件列表的对象 | String | - | - |
| form | 为包含表单组件对应的key和value | Object | - | - |
#### Methods
| 方法名 | 说明 | 参数 |
|-------|-------|-------|
| validateForm | 对整个表单进行校验的方法,参数为一个回调函数。该回调函数会在校验结束后被调用,并传入一个参数:即为校验通过的value值 | Function(callback: Function(object)) |
| submitForm | 对整个表单进行提交的方法,参数为一个回调函数。传入一个参数:即为已修改的value值 | Function(callback: Function(object)) |
| resetForm | 对整个表单进行重置,将所有字段值重置为初始值并移除校验结果 | - |
### phone表单详情

#### 使用
```
```
#### Attributes
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|-------|-------|-------|-------|-------|
| value | 为包含表单属性及组件列表的对象 | String | - | - |
| form | 为包含表单组件对应的key和value | Object | - | - |
### PC表单详情

#### 使用
```
```
#### Attributes
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|-------|-------|-------|-------|-------|
| value | 为包含表单属性及组件列表的对象 | String | - | - |
| form | 为包含表单组件对应的key和value | Object | - | - |