incloud开发文档 5.1.0 Help

NwFormSkin 表单组件

页面展示

NwFormSkin表单组件

一般表单示例代码

<template> <NwFormSkin :field-option="fieldOption" v-model:value="formData" > <t-row :gutter="[10, 20]"> <NwFormItemSkin label="类型名称" name="typeName"> <t-input v-model="formData.typeName" placeholder="请输入类型名称" /> </NwFormItemSkin> <NwFormItemSkin label="类型编码" name="typeCode"> <t-input v-model="formData.typeCode" placeholder="请输入类型编码" /> </NwFormItemSkin> <NwFormItemSkin label="备注" name="remark"> <t-input v-model="formData.remark" placeholder="请输入备注" /> </NwFormItemSkin> </t-row> </NwFormSkin> </template> <script setup lang="ts"> import { NwFormSkin, NwFormItemSkin, } from '@platform-lib/base' import type { FormFieldOption, } from '@platform-lib/base' // 表单绑定数据 const formData = reactive<any>({}) // 表单验证规则 const fieldOption = ref<Array<FormFieldOption>>([ { label: '类型名称', // 验证字段名称 name: 'typeName', // 需要验证的字段 type: 'string', // 字段类型 power: 'required', // 'readonly' | 'required' | 'hide' (required:必填; readonly:只读; hide:隐藏) rules: [] // 验证规则 }, { label: '类型编码', name: 'typeCode', type: 'string', power: 'required', // 'readonly' | 'required' | 'hide' (required:必填; readonly:只读; hide:隐藏) rules: [] } ]) </script> // 权限按钮配置页面 import {FunBoxUtils} from '@platform-lib/base' import {missionManageAddApi} from '../api' export const add: any = { code: 'add', mode: 'drawer', formUrl: '/web-client/html/mission-manage-form.html', buttons: { 'addBtn': { position: 'right', name: '保存', script: 'add', props: { theme: 'primary' } }, }, scripts: { init: { isAsync: true, code: async (request: any, utils: FunBoxUtils) => { utils.setLoading(true) //给表单初始化赋值 await utils.setFormValue({ }) utils.setLoading(false) } }, add: { isAsync: true, code: async (request: any, utils: FunBoxUtils) => { // 验证表单必填项是否填写完毕 const vflag = await utils.validate() if (vflag !== true) { return; } utils.setLoading(true) const params = {...utils.getFormValue()} //调用保存接口 await missionManageAddApi(params).then((r: any) => { utils.message('success', { content: '添加成功' }) }).finally(() => { utils.setLoading(false) }) // 页面回调 utils.complete() }, }, } } // 按钮如何注册以及引用 详解请看权限配置/权限按钮

流程表单示例代码

<template> <NwFormSkin :field-option="fieldOption" v-model:value="formData" serviceKey="/mission/missionManage"> <t-row :gutter="[10, 20]"> <NwFormItemSkin label="类型名称" name="typeName"> <t-input v-model="formData.typeName" placeholder="请输入类型名称" /> </NwFormItemSkin> <NwFormItemSkin label="类型编码" name="typeCode"> <t-input v-model="formData.typeCode" placeholder="请输入类型编码" /> </NwFormItemSkin> <NwFormItemSkin label="备注" name="remark"> <t-input v-model="formData.remark" placeholder="请输入备注" /> </NwFormItemSkin> </t-row> </NwFormSkin> </template> <script setup lang="ts"> import { NwFormSkin, NwFormItemSkin, } from '@platform-lib/base' import type { FormFieldOption, } from '@platform-lib/base' // 表单绑定数据 const formData = reactive<any>({}) // 表单验证规则 const fieldOption = ref<Array<FormFieldOption>>([ { label: '类型名称', // 验证字段名称 name: 'typeName', // 需要验证的字段 type: 'string', // 字段类型 power: 'required', // 'readonly' | 'required' | 'hide' (required:必填; readonly:只读; hide:隐藏) rules: [] // 验证规则 }, { label: '类型编码', name: 'typeCode', type: 'string', power: 'required', // 'readonly' | 'required' | 'hide' (required:必填; readonly:只读; hide:隐藏) rules: [] } ]) </script> // 权限按钮配置页面 import {FunBoxUtils} from '@platform-lib/base' import {missionManageAddApi} from '../api' export const add: any = { camundaDefKey: 'measureWf', //流程key,由后台定义 scripts: { init: { isAsync: true, code: async (request: any, utils: FunBoxUtils) => { //初始化表单调用 } }, } }

NwFormSkin表单组件
图02

表单serviceKey属性 详解

  • serviceKey来源

    • 根据后端在openApi中的定义决定serviceKey的值

  • 针对工作流开发 构建流程时,会根据serviceKey绑定相应接口,并把接口关联相关表单 添加工作流表单时根据表单路径,查询出相应的接口信息(如 图02)

  • 针对低代码开发

针对工作流配置 和 低代码开发 FieldOption rules属性参考TD form rules属性

fieldOption props 属性

参数

说明

类型

默认值

可选值

name

表单字段名称

String

-

-

label

字段标签名称

String

-

-

type

字段类型

String

-

string; number; boolean; array; object

power

表单状态

String

-

required:必填; readonly:只读; hide:隐藏

rules

表单字段校验规则

Array

[]

-----

NwFormSkin props 属性

参数

说明

类型

默认值

gutter

间隔

Array

[10, 20]

value

绑定值

Array

{}

fieldOption

表单验证属性

Array

[]

FormProps

表单属性

Object

()=>({labelWidth: 150})

isSimpleShell

是否使用简单的外壳

Boolean

false

serviceKey

代表一个服务的标识

String

' '

NwFormItemSkin props 属性

参数

说明

类型

默认值

默认值

span

占位格数

Number

-

12

label

字段标签名称

String

-

""

name

表单字段名称

String

-

""

Last modified: 20 一月 2025