电话 400-111-2626

# 使用流程

  1. 点击添加表单组件,并填写组件名称、字段类型、业务范围、组件描述等内容

字段类型:实体字段表示需要在表单保存时创建实体字段进行存入字段值,若是展示型或者绑定其他已有字段的,则只需选择非实体字段;

业务范围:指组件字段是否在各业务端使用;

image.png

  1. 创建成功后即进入代码编译界面,在代码中可定义组件在各个业务端的UI、数据属性、运行逻辑等组件特性

image.png

  1. 点击快捷键Ctrl+S(保存)后,再发布代码即可在应用中添加该组件

image.png

  1. 在组件管理卡片内可进行自定义组件的操作事项 开启/关闭:自定义组件可否在表单设计中添加使用。(注:当组件为关闭时组件仍可使用,除非删除该组件)
  • 代码管理:对组件代码进行修改编译
  • 导出:导出为一个安装包,可供其他七巧租户导入使用
  • 删除:彻底删除该组件

image.png 5.在应用设计内首先添加一个表单,并保存后,再选择需要添加自定义组件

image.png

  1. 拖拽自定义组件到表单设计内,配置字段名、属性配置

image.png

image.png

  1. 发布表单后,在应用端上使用

image.png

# 入门案例

场景描述:通过自定义组件实现进度条功能,并将进度条的值写入数字字段

  1. 添加一个新的自定义表单组件

image.png

  1. 编写代码

image.png

PC端-进度条组件.vue

<q-template>
  <div class="processBox">
    <el-slider v-model="sliderValue" @change="sliderChange"></el-slider>
  </div>
</q-template>

  <q-script>
    (function () {
      return {
        props: {
          value: {
            default() {
              return ''
            }
          },// 表单控件绑定值
          value: {
            default() {
              return ''
            }
          },
          // 字段布局
          formFieldLayout: {
            default() {
              return ''
            }
          },
          // 控件配置数据
          config: {
            default() {
              return {}
            }
          },
          // 表单数据
          form: {
            default() {
              return {}
            }
          },
          // 验证规则
          rules: {
            type: Array,
            default() {
              return []
            }
          },
          // 是否禁用控件
          disabled: {
            default() {
              return false
            }
          },
          // 只读
          readonly: {
            type: Boolean,
            default() {
              return false
            }
          },
          // 显示文本
          isText: {
            type: Boolean,
            default() {
              return false
            }
          },
          // 是否是在表格中
          isInTable: {
            type: Boolean,
            default() {
              return false
            }
          },
          applicationId: {
            type: String,
            default() {
              return ''
            }
          },
          buttonId: '',
          businessId: '',
          componentId: '',
          formDefinitionId: {
            type: String,
            default() {
              return ''
            }
          },
          processDefinitionId: '',
          processInstanceId: '',
          taskId: '',
          formInstanceId: '',
          // loading集合
          loadings: {
            type: Array,
            default() {
              return []
            }
          },
          // 搜索栏使用
          searhStatus: {
            type: Boolean,
            default: () => {
              return false
            }
          },
          miniSearch: {
            type: Boolean,
            default: () => {
              return false
            }
          },
          rowIndex: {
            default() {
              return null
            }
          },
          docId: {
            type: String,
            default() {
              return ''
            }
          },
          // 实例配置数据,主要用于子表场景中
          instanceConfig: {
            default() {
              return null
            }
          },
          // 表单详情信息
          formInfoData: {
            default() {
              return {}
            }
          },
          // 联动缓存数据
          relateRefreshStorage: {
            default() {
              return null
            }
          },
          // 是子表弹层里的组件
          isSubformDrawer: {
            default() {
              return false
            }
          },
          // 子表单才有的父级别
          parentInputById: {
            default() {
              return {}
            }
          },
          // 子表单才有的父级别document
          parentForm: {
            default() {
              return {}
            }
          },
          subInputById: {
            default() {
              return {}
            }
          },
          isFormLabel: {
            type: Boolean,
            default() {
              return false
            }
          }
        },
        data() {
          return {
            sliderValue: 0
          }
        },
        methods: {
          sliderChange(val) {
            this.value.value = val
            this.sliderValue = val
          }
        },
        mounted() {
          this.sliderValue = this.value.value || 0
          this.value.str = "xxxxxxxx"
          console.log('value', this.value)
          console.log('config', this.config)
          console.log('applicationId', this.applicationId)
            },
            watch: {
            value: {
            handler() {
            console.log('=====cusotom', this.value)
            },
            deep: true
            }
            }
            }
            })()
            </q-script>

            <q-style>
            .processBox{
            }
            </q-style>

移动端-进度条组件.vue

<q-template>
	<div class="processBox">
	  <div>进度条组件</div>
	  <cube-input v-model="sliderValue" @input="sliderChange"></cube-input>
	  
	</div>
</q-template>

<q-script>
	(function () {
		return {
		  props: {
    value: {
      default() {
        return {}
      }
    },
    // 控件配置数据
    config: {
      default() {
        return {}
      }
    },
    // 表单数据
    form: {
      default() {
        return {}
      }
    },
    // 是否是在表格中
    isInTable: {
      type: Boolean,
      default() {
        return false
      }
    },
	    },
	    data() {
	      return {
	        sliderValue: 0
	      }
	    },
		  methods: {
		    sliderChange(val) {
		      this.value.value = val
		      this.sliderValue = val
		      
		    }
		  },
		  mounted() {
		    console.log('valuexxxxxxx--------------------------------', this.value)
		    this.sliderValue = this.value.value || 0
		    this.sliderValue = this.value.value
		  }
		}
	})()
</q-script>

<q-style>
.processBox{
}
</q-style>



存储数据模型.json

{
  "value": 0,
  "str": ""
}

显示数据模型.json

{
  "value": 0,
  "str": ""
}
  1. 在表单设计中添加组件并设置属性配置

image.png

  1. 运行端添加数据查看效果

image.png

1 / 0