diff --git a/README.md b/README.md
index a3b3421..18337b6 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,117 @@
-# Tduck-WEB
+
+
+
+
+
+Tduck 填鸭 —— 表单收集器
+
+
+### 特别鸣谢 :heart:
+
+#### 感谢 (https://gitee.com/eoner/vue-automation) 前端脚手架
+
+#### 感谢 (https://gitee.com/mrhj/form-generator) 表单生成器
+
+
+### 平台简介
+
+Tduck, Form collection system
+
+Tduck 填鸭:是基于B/S架构的一款开源的表单在线收集系统,为企业构建自己的信息反馈系统的综合解决方案,助力企业提高反馈收集客户服务效率。
+
+
+### 应用场景
+
+主要应用与泛零售、电商、金融、调研、资料收集等行业用户,提供多种工具、多渠道、多方式收集有效信息,更好的提升客户服务,增加客户满意度。
+
+
+### 功能特性
+##### 界面美观,全新element-ui支持,使用流畅
+- 以一种全新的设计体验,告别繁琐的设计流程
+- 通过简单有趣的方式,轻轻松松完成表单设计
+- 支持表单样式模板选择,只为显现更精美的表单
+
+##### 三大模块助力企业能力升级:
+- 新建表单:自定义可拖拽式表单设计
+- 表单设置:支持多种收集方式设置
+- 反馈统计:多维度统计收集的反馈数据
+
+
+## 在线体验
+
+
+### 演示环境&详细文档👮♀️
+- 演示地址:http://demo.tduckapp.com/
+- 演示账号/密码:扫码注册登录
+- 文档地址:http://demo.tduckapp.com/
+- V2更新日志:https://doc.tduckapp.com/log/
+- 部署默认账号: test@tduck.com/12345678
+- 获取《使用Docker运行Tduck》教程请加入社群获取
+- 获取《tduck-纯小白部署教程》请加入社群获取
+- 开源不易如果喜欢请给作者 Star 鼓励
+
+### 加入社群
+
+
+#### 项目源码
+
+| 后端源码 | 前端源码 |
+|--- | --- |
+| https://gitee.com/TDuckApp/tduck-platform | https://gitee.com/TDuckApp/tduck-front |
+| https://github.com/TDuckCloud/tduck-platform | https://github.com/TDuckCloud/tduck-platform |
+
+感谢:
+提供云服务器资源!
+
+### “项目背景”
+目前市面上的表单平台虽然功能强大,但是部分业务组件或者额外收取存储等费用,且费用较高,在数据隐私性较强且有特殊表单需求的场景下无法满足业务需求,
+目前国内的的开源平台表单问卷平台比较少,tduck表单平台应运而生。让中小公司拥有独立自定义表单问卷,快速赋能业务。
+
+### “新特性”
+
+- 【表单逻辑】支持对单选,多选框,下拉框等组件进行逻辑设置,目前仅支持选中 未选中等逻辑关系
+- 【表单分页】支持对问卷问题较多时,进行分页
+- 【手写签名】支持手写签名保存上传
+- 【位置选择】支持高德地图进行地理位置选择
+- 【手机验证】支持对输入手机号进行短信验证 验证通过则能保存
+- 【省市联动】支持省市县联动选择输入
+- 【图形选择】图片选择组件,支持单选多选
+- 【图片展示】图片展示组件,展示二维码引流等
+- 【图片轮播】图片轮播组件,图片和文字轮播显示
+- 【文字描述】文件描述组件,支持颜色,位置设置
+- 【分割线】 内容分割线
+- 【联系人】 手机号,邮箱,身份证输入 格式校验
+- 【公开反馈结果】 公开反馈结果设置,开启后填写完成将看到他人填写结果
+- 【附件导出】填写完成后可对收集的附件进行导出zip下载
+- 【统计筛选】可对填写完的结果进行筛选查询 支持模糊等
+- 【表单预览】添加预览按钮,实时预览内容,预览二维码
+- 【另存为模板】添加另存为模板按钮,保存项目为模板
+- 【UI重构】项目整体UI全面重构,更美观,更简洁
+- 【验证码】验证逻辑重构,支持验证码开关
+- 【微信功能】 微信功能增加开关配置,可配置关闭微信功能
+- 【代码优化】对前后端代码进行部分优化,结构调整
+
+### “文档支持”
+新的文档平台,后续会不断完善文档,有需要完善的内容可以在GItee提issues反馈,收到反馈我们将第一时间调整,当然有想共享文档的也欢迎提Pr。
+
+
+
+
+
+### “项目规划”
+“让每个企业轻松拥有自己的问卷系统”是Tduck团队不变的初衷;v2版本的开发工作目前算是暂时结束,经过团队内部自测推出,同时欢迎大家进行测试,对存在的问题在Gitee提issues,社群内反馈可能无法及时解决,后续可能会遗忘。我们会定期对issues问题修复和做一些优化,竭力维护一个稳定的v2版本。
+
+
+
+### :heart: 致谢 !
+
+Tduck诞生非常有趣,不经意之间的一个想法,一步步实现至今。在v2开发期间,团队成员非全职开发,都是业余时间进行打码,所以迭代时间较长,期间群中反馈的问题没有及时给予反馈(深感抱歉)。
+
+Tduck永远珍惜每一位用户,重视每一个issues。
+感谢对Tduck团队的支持,以及大家对v2期盼与鼓励。
+
+
-
TDuck 前端源码
#### 项目源码
@@ -53,14 +164,9 @@ https://www.ydyno.com/archives/1219.html
- views 页面
-#### 特别鸣谢
-
-
-- 感谢 (https://gitee.com/eoner/vue-automation) 前端脚手架
-
-- 感谢 (https://gitee.com/mrhj/form-generator) 表单生成器
-
-
+### ChangeLog 持续更新中 :sparkles:
+增加单选/多选题型统计图 2021-07-02
+
diff --git a/src/components/form/InputMap/index.vue b/src/components/form/InputMap/index.vue
index fe37058..6a545bf 100644
--- a/src/components/form/InputMap/index.vue
+++ b/src/components/form/InputMap/index.vue
@@ -319,4 +319,7 @@ export default {
margin-bottom: 10px;
}
+::v-deep .el-dialog__headerbtn {
+ z-index: 999;
+}
diff --git a/src/components/generator/config.js b/src/components/generator/config.js
index 4cf21f3..d3a6974 100644
--- a/src/components/generator/config.js
+++ b/src/components/generator/config.js
@@ -602,7 +602,7 @@ export const assistComponents = [
typeId: 'DIVIDER',
__config__: {
label: '分割线',
- defaultValue: '分割线',
+ defaultValue: '',
displayType: true,
showLabel: false,
showDefaultValue: false,
diff --git a/src/components/parser/Parser.vue b/src/components/parser/Parser.vue
index 5fe8817..cbd1e93 100644
--- a/src/components/parser/Parser.vue
+++ b/src/components/parser/Parser.vue
@@ -361,8 +361,10 @@ export default {
if (defaultValue instanceof Array) {
defaultValue.forEach(item => {
if (item) {
- let {label} = getObject(_.get(cur, tagOptionKey), 'value', item)
- labelStr += label + ','
+ let labelItem = getObject(_.get(cur, tagOptionKey), 'value', item)
+ if (labelItem) {
+ labelStr += labelItem.label + ','
+ }
}
})
formData[cur.__vModel__] = labelStr
diff --git a/src/utils/convert.js b/src/utils/convert.js
index 6a360d1..4973d88 100644
--- a/src/utils/convert.js
+++ b/src/utils/convert.js
@@ -136,6 +136,7 @@ const dataParams = {
'CASCADER': {
'options': 'options',
'filterable': 'filterable',
+ 'show-all-levels': 'showAllLevels',
'multiple': 'props.props.multiple'
},
// 单选框组
diff --git a/src/utils/expression.js b/src/utils/expression.js
index 5b37f88..526a0e0 100644
--- a/src/utils/expression.js
+++ b/src/utils/expression.js
@@ -8,7 +8,9 @@ const expressionOperator = {
if (!v1) {
return false
}
- return v1 == v2
+ // 当type=CHECK_BOX时此处应为包含关系
+ return Array.isArray(v1) ? v1.includes(+v2) : v1 == v2
+
},
ne: function(v1, v2) {
if (!v1) {
diff --git a/src/views/form/editor/RightPanel.vue b/src/views/form/editor/RightPanel.vue
index 4ee6816..df21fa4 100644
--- a/src/views/form/editor/RightPanel.vue
+++ b/src/views/form/editor/RightPanel.vue
@@ -1,1275 +1,1678 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.__config__.label }}{{ item.__config__.tagIcon }}
-
-
-
-
-
-
-
-
- {{ activeData.__config__.componentName }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 选择
-
-
-
-
-
-
- 选择
-
-
-
-
-
-
- 选择
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 默认
-
-
- 右侧
-
-
-
-
-
-
- 个字符
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text
-
-
- picture
-
-
- picture-card
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.__config__.label
+ }}{{ item.__config__.tagIcon }}
+
+
+
+
+
+
+
+
+ {{ activeData.__config__.componentName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 选择
+
+
+
+
+
+
+ 选择
+
+
+
+
+
+
+ 选择
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 默认
+ 右侧
+
+
+
+
+ 个字符
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text
+ picture
+
+ picture-card
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 选项
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 添加选项
+
+
+ 批量贴入
+
+
+ 添加其他
+
+
+
+
+
+
+ 选项
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
- 选项
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 添加选项
-
-
- 添加其他
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ 添加选项
+
+
+
+
+
+ 选项
+
+
+
+
+
+
+
+
+
-
选项
-
-
-
-
-
- 添加选项
-
-
-
-
-
+
+
+
+
+
- 选项
-
-
-
-
-
- 添加选项
-
-
-
-
-
- 选项
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ 添加选项
+
+
+
+
+
+ 选项
+
+
+
+
+
+
+
+
+
+
-
-
-
-
- 添加父级
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
- 默认
-
-
- 按钮
-
-
-
-
-
-
-
-
-
+
+
+
+
+ 添加父级
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 中等
-
-
- 较小
-
-
- 迷你
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 左对齐
-
-
- 居中
-
-
- 右对齐
-
-
-
-
-
-
- 点击上传图片 *
-
-
-
-
-
+
+
+ 默认
+ 按钮
+
+
+
+
+
+
+
+
-
- 布局结构树
-
-
-
-
- {{ node.label }}
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 中等
+ 较小
+ 迷你
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 左对齐
+ 居中
+ 右对齐
+
+
+
+
+
+ 点击上传图片 *
+
+
+
+
+
-
- 正则校验
-
-
-
-
-
-
-
-
-
-
-
-
-
- 添加规则
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 中等
-
-
- 较小
-
-
- 迷你
-
-
-
-
-
-
- 左对齐
-
-
- 右对齐
-
-
- 顶部对齐
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 布局结构树
+
+
+
+
+ {{ node.label }}
+
+
+
+
-
-
+
+ 正则校验
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 添加规则
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 中等
+ 较小
+ 迷你
+
+
+
+
+ 左对齐
+ 右对齐
+ 顶部对齐
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/form/index.vue b/src/views/form/index.vue
index 8bb8609..4def0cb 100644
--- a/src/views/form/index.vue
+++ b/src/views/form/index.vue
@@ -5,15 +5,15 @@
-
+
-
+
预览
-
+
保存为模板
diff --git a/src/views/form/preview/ProjectForm.vue b/src/views/form/preview/ProjectForm.vue
index c551721..1bb5d34 100644
--- a/src/views/form/preview/ProjectForm.vue
+++ b/src/views/form/preview/ProjectForm.vue
@@ -20,7 +20,7 @@
diff --git a/src/views/form/setting/index.vue b/src/views/form/setting/index.vue
index 12b7585..d3e59e2 100644
--- a/src/views/form/setting/index.vue
+++ b/src/views/form/setting/index.vue
@@ -80,6 +80,7 @@
+
+
+
+
+
+
Q:{{ item.label }}({{ item.type }})
+
+
+ 图表类型:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/form/statistics/index.vue b/src/views/form/statistics/index.vue
index 179bd32..b67fcf7 100644
--- a/src/views/form/statistics/index.vue
+++ b/src/views/form/statistics/index.vue
@@ -7,6 +7,9 @@
+
+
+
@@ -14,12 +17,14 @@