0.3.1-beta.10 • Published 3 months ago

@tongfun/tf-widget v0.3.1-beta.10

Weekly downloads
-
License
MIT
Repository
-
Last release
3 months ago

TF-Widget

文档地址:组件库文档

表格组件:umy-ui

1. TfInput

  • 此组件为ElementUi 组件二次封装,支持ElementUi控件所有属性
  • 包含除了基础资料外的常见基本组件,提供统一的样式,和统一入口,基本配置
  • 组件默认在el-form表单中使用,也可以在表单之外使用需传入not-form属性

1.1 基本使用

<el-form :model="form">
  <!-- 文本输入框 -->
  <TfInput v-model="form.test1" title="输入框" type="input" />
  <!-- 文本输入框 input可以省略 -->
  <TfInput v-model="form.test1" title="输入框" />

  <!-- 文本域输入 -->
  <TfInput v-model="form.test2" title="文本" type="textarea" />
  <TfInput v-model="form.test2" title="文本" type="textarea" :rows="4" />

  <!-- 日期和日期时间输入 -->
  <TfInput v-model="form.test3" title="日期" type="date" />
  <TfInput v-model="form.test4" title="日期时间" type="dateTime" />

  <!-- 数字输入 -->
  <TfInput v-model="form.test5" title="整数" type="integer" />
  <TfInput v-model="form.test6" title="小数" type="decimal" :percision='4' />

  <!-- enumType/id 是获取下拉选项的参数 可从租户管理枚举配置中获取(或者联系后端) -->
  <TfInput v-model="form.test7" title="下拉选择框" type="select" enumType='UP_DOWN' />
  <TfInput v-model="form.test7" title="下拉选择框" type="select" id='2022523' />
  <!-- 下拉选择框 默认绑定的对象是 { name: null, id: null } 格式-->
  <!-- 可以通过传入showFields修改格式 -->
  <TfInput v-model="form.test7" title="下拉选择框" type="select" :show-fields="{ value: 'id', label: 'label' }" />
  <!-- 支持自定义传入下拉数组options -->
  <TfInput v-model="form.test7" title="下拉选择框" type="select" :options="optionList" />
  
  <!--基础资料,需要提供code-->
  <TfInput v-model="form.test8" title="基础资料" type="basicData" code="20220506141102" />
  <!-- 基础资料遇见弹框嵌套问题时,传入append-to-body属性 -->
  <TfInput v-model="form.test8" title="基础资料" type="basicData" code="20220506141102" append-to-body />

  <!--基础资料展示字段  用于创建人,创建时间等永远不会被更改的基础资料字段,可以节省性能和内存-->
  <TfInput v-model="form.test9" title="基础资料展示字段" type="basicDisplay" />
</el-form>

1.2 在表单中加入校验

使用方式与Element一致(添加prop属性)

<el-form model="form" :rules="formRules">
  <TfInput v-model="form.test1" title="输入框" prop="test" type="input"/>
  <TfInput v-model="form.test2" title="文本" prop="test2" type="text"/>
  <TfInput v-model="form.test3" title="日期" type="date"/>
  <TfInput v-model="form.test4" title="日期时间" type="datetime"/>
  <TfInput v-model="form.test5" title="整数" type="integer"/>
  <TfInput v-model="form.test6" title="小数" type="decimal"/>
</el-form>    

1.3 Props

属性作用类型默认值
type控件类型input / select / integer / decimal / date / datetime / basicData / basicDataDisplayinput
title表单模式下的labelstring
prop表单模式下校验绑定的字段string
id用于type为select时获取下拉数组的参数string
enumType用于type为select时获取下拉数组的参数string
options用于type为select时自定义的下拉数组array
show-fields用于type为select时自定义的下拉数据格式{ value: string, label: string }
append-to-body用于解决type为basicData引起的弹窗嵌套问题booleanfalse
notForm为true时表示不在表单中使用,仅仅是使用控件,忽略prop title等属性booleanfalse
labelWidthelform中的label宽度string150px
fullBorder为true时表示input的边框完全显示,而非只显示下边框booleanfalse

1.4 其他说明

有问题及时提出,联系@YSL

2. TfFormBody

2.1 案例

    <TfFormBody
      ref="formBodyRef"
      :data="data"
      :calculations="calculations"
      :before-add-row="beforeAddRow"
      :after-add-row="afterAddRow"
    >
      <TfFormBodyItem
        title="物料名称"
        field="materialInfo"
        prop="materialInfo"
        type="basicData"
        code="5a281b7db87c406b83616986f40e0846"
        @selected="selectedaterial"
      />
      <TfFormBodyItem
        title="仓位"
        field="warehousePositionInfo"
        prop="warehousePositionInfo"
        type="basicData"
        code="20220506141103"
        :before-input="judgeMaterial"
        :limitation="[{ field: 'warehouseInfo', value: 'warehouseInfo', type:'field' }]"
      />
      <!-- precision默认值是2 -->
      <TfFormBodyItem title="数量" field="number" type="decimal" :percision="4" />
      <TfFormBodyItem title="单价" field="price" type="decimal" :percision="2" />
      <TfFormBodyItem title="总额" field="amount" type="decimal" :percision="2" />
      <TfFormBodyItem title="是否启用" field="isActive" type="select" enum-type='YES_OR_NO'/>
      <!-- 默认类型就是input,可以省略 -->
      <TfFormBodyItem title="姓名" field="name" type="input" />
      <TfFormBodyItem title="出生日期" field="birthDate" type="date" />
      <TfFormBodyItem title="审核时间" field="auditTime" type="datetime" />
    </TfFormBody>
export default {
  data(){
    return {
      caculations:{
        amount:'#{number} * #{price}'
      }
    }
  },
  methods:{

    /** 新增行之前的钩子 */
    beforeAddRow(done) {
      // some check
      done()
    },

    /** 新增行之后的钩子 */
    afterAddRow() {
      // some data change
    },

    /** 物料名称选择后的方法 */
    selectedaterial(row, $event){
      // some data change
    },

    /** 仓位基础资料输入前的校验 */
    judgeMaterial(done){
      // some check
      done()
    }

  }
}

2.2 Props

属性作用类型默认值
data表格数据Array[]
rules校验对象,可参考ElementUiObjectnull
calculations列表行字段之间的计算关联Objectnull
disableButtons禁用(新增行,删除行,批量填充按钮时使用), 可选'add', 'del', 'batchFill'Array[]
modelAdditionalProperties单据体中有个字段是不显示的字段,但是操作的时候会用到,需要用此属性初始化该字段:{ field:'active',default:false }Array[]
before-add-row添加数据行(点击单据体新增按钮)之前执行Functionnull
after-add-row添加数据行之后执行Functionnull

2.3 Methods

方法名作用
validate校验表格数据,返回值为true时表示校验通过
getFormatData(filter)输出格式化之后的数据, filter为可选自定义过滤函数
calculate(row)针对某一行,重新进行列之间的数学表达式计算
calculateRow(rows)批量进行计算

3. TfFormBodyItem

3.1 Props

属性作用类型默认值
title列表的列标题string
field数据模型的字段string
width列的默认宽度string'150px'
readOnly不可编辑列Booleanfalse
precision小数保留位数Number2
limitation限定基础资料的查询范围Array[]
default列字段的默认值String, Number, Object, Boolean
showMessage编辑列的自定义显示值的方法Function
  • 方式一:(province = '江苏' 的数据)

    [{ field: 'province', type:'value', value:'江苏' }]
  • 方式二:(取字段值,province = scope.row.province)

    [{ field: 'province', type:'field', value:'province' }]

3.2 Event

方法名作用
changefunction({ row, value }) 值发生改变
selectedfunction({ row, value }) 基础资料选中事件

4 关于标准化之后的基础资料表单

4.1 说明

标准化,是按照金蝶的控件功能来实现基础资料的弹窗列表中,可以直接打开表单新增和修改的数据的功能原型 因为缺少通用表单的功能,所以现在将全部的用作基础资料的表单迁移到本包中 在基础资料的通用控件中,通过动态的异步组件,以code为依据,加载对应的表单组件,达到效果 如果要添加新的基础资料,按照遗下步骤进行操作

  • 1 在basic-datas目录添加子目录,添加表单组件
  • 2 在@enums中registerSheet文件中,添加code到目录名的映射关系
  • 3 在@components/basic-form-edit中componets选项中异步的引入相关的基础资料表单组件
0.3.1-beta.10

3 months ago

0.3.1-beta.9

3 months ago

0.3.1-beta.8

4 months ago

0.3.1-beta.7

4 months ago

0.3.1-beta.6

4 months ago

0.3.1-beta.5

4 months ago

0.3.1-beta.4

4 months ago

0.3.1-beta.3

5 months ago

0.3.1-beta.2

6 months ago

0.3.1-beta.1

6 months ago

0.2.20-beta.1

8 months ago

0.2.19-beta.9

12 months ago

0.2.19-beta.8

2 years ago

0.2.19-beta.7

2 years ago

0.2.19-beta.3

2 years ago

0.2.19-beta.4

2 years ago

0.2.19-beta.5

2 years ago

0.2.19-beta.6

2 years ago

0.2.19-beta.1

2 years ago

0.2.19-beta.2

2 years ago

0.2.18-beta.10

2 years ago

0.2.18-beta.7

2 years ago

0.2.18-beta.6

2 years ago

0.2.18-beta.9

2 years ago

0.2.18-beta.8

2 years ago

0.2.18-beta.3

2 years ago

0.2.18-beta.5

2 years ago

0.2.18-beta.4

2 years ago

0.2.17-beta.0

2 years ago

0.2.17

2 years ago

0.2.16

2 years ago

0.2.15

2 years ago

0.2.14

2 years ago

0.2.13

2 years ago

0.2.12

2 years ago

0.2.11

2 years ago

0.2.10

2 years ago

0.2.18-beta.1

2 years ago

0.2.18-beta.0

2 years ago

0.2.18-beta.2

2 years ago

0.2.15-beta.3

2 years ago

0.2.15-beta.0

2 years ago

0.2.15-beta.2

2 years ago

0.2.15-beta.1

2 years ago

0.2.9

2 years ago

0.2.8

2 years ago

0.2.7

2 years ago

0.1.190

2 years ago

0.1.192

2 years ago

0.1.191

2 years ago

0.1.194

2 years ago

0.1.193

2 years ago

0.1.195

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.187

2 years ago

0.2.6

2 years ago

0.1.189

2 years ago

0.1.188

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.5

2 years ago

0.2.4

2 years ago

0.1.186

2 years ago

0.1.183

2 years ago

0.1.182

2 years ago

0.1.185

2 years ago

0.1.184

2 years ago

0.1.179

2 years ago

0.1.181

2 years ago

0.1.180

2 years ago

0.1.176

2 years ago

0.1.175

3 years ago

0.1.178

2 years ago

0.1.177

2 years ago

0.1.172

3 years ago

0.1.171

3 years ago

0.1.174

3 years ago

0.1.173

3 years ago

0.1.139

3 years ago

0.1.136

3 years ago

0.1.135

3 years ago

0.1.138

3 years ago

0.1.137

3 years ago

0.1.134

3 years ago

0.1.147

3 years ago

0.1.146

3 years ago

0.1.149

3 years ago

0.1.148

3 years ago

0.1.143

3 years ago

0.1.142

3 years ago

0.1.145

3 years ago

0.1.144

3 years ago

0.1.141

3 years ago

0.1.140

3 years ago

0.1.158

3 years ago

0.1.157

3 years ago

0.1.159

3 years ago

0.1.154

3 years ago

0.1.153

3 years ago

0.1.156

3 years ago

0.1.155

3 years ago

0.1.150

3 years ago

0.1.152

3 years ago

0.1.151

3 years ago

0.1.169

3 years ago

0.1.168

3 years ago

0.1.165

3 years ago

0.1.164

3 years ago

0.1.167

3 years ago

0.1.166

3 years ago

0.1.161

3 years ago

0.1.160

3 years ago

0.1.163

3 years ago

0.1.162

3 years ago

0.1.170

3 years ago

0.1.118

3 years ago

0.1.117

3 years ago

0.1.119

3 years ago

0.1.114

3 years ago

0.1.113

3 years ago

0.1.116

3 years ago

0.1.115

3 years ago

0.1.110

3 years ago

0.1.112

3 years ago

0.1.111

3 years ago

0.1.129

3 years ago

0.1.128

3 years ago

0.1.125

3 years ago

0.1.124

3 years ago

0.1.127

3 years ago

0.1.126

3 years ago

0.1.121

3 years ago

0.1.120

3 years ago

0.1.123

3 years ago

0.1.122

3 years ago

0.1.132

3 years ago

0.1.131

3 years ago

0.1.133

3 years ago

0.1.130

3 years ago

0.1.109

3 years ago

0.1.96

3 years ago

0.1.97

3 years ago

0.1.98

3 years ago

0.1.99

3 years ago

0.1.90

3 years ago

0.1.91

3 years ago

0.1.92

3 years ago

0.1.93

3 years ago

0.1.94

3 years ago

0.1.95

3 years ago

0.1.85

3 years ago

0.1.86

3 years ago

0.1.87

3 years ago

0.1.88

3 years ago

0.1.89

3 years ago

0.1.80

3 years ago

0.1.81

3 years ago

0.1.82

3 years ago

0.1.83

3 years ago

0.1.84

3 years ago

0.1.74

3 years ago

0.1.75

3 years ago

0.1.76

3 years ago

0.1.77

3 years ago

0.1.78

3 years ago

0.1.79

3 years ago

0.1.72

3 years ago

0.1.73

3 years ago

0.1.107

3 years ago

0.1.106

3 years ago

0.1.108

3 years ago

0.1.103

3 years ago

0.1.102

3 years ago

0.1.105

3 years ago

0.1.104

3 years ago

0.1.101

3 years ago

0.1.100

3 years ago

0.1.52

3 years ago

0.1.53

3 years ago

0.1.54

3 years ago

0.1.55

3 years ago

0.1.56

3 years ago

0.1.57

3 years ago

0.1.58

3 years ago

0.1.59

3 years ago

0.1.50

3 years ago

0.1.51

3 years ago

0.1.49

3 years ago

0.1.41

3 years ago

0.1.42

3 years ago

0.1.43

3 years ago

0.1.44

3 years ago

0.1.45

3 years ago

0.1.46

3 years ago

0.1.47

3 years ago

0.1.48

3 years ago

0.1.40

3 years ago

0.1.38

3 years ago

0.1.39

3 years ago

0.1.33

3 years ago

0.1.34

3 years ago

0.1.35

3 years ago

0.1.36

3 years ago

0.1.37

3 years ago

0.1.70

3 years ago

0.1.71

3 years ago

0.1.63

3 years ago

0.1.64

3 years ago

0.1.65

3 years ago

0.1.66

3 years ago

0.1.67

3 years ago

0.1.68

3 years ago

0.1.69

3 years ago

0.1.60

3 years ago

0.1.61

3 years ago

0.1.62

3 years ago

0.1.30

3 years ago

0.1.31

3 years ago

0.1.32

3 years ago

0.1.28

3 years ago

0.1.29

3 years ago

0.1.27

3 years ago

0.1.26

3 years ago

0.1.20

3 years ago

0.1.21

3 years ago

0.1.22

3 years ago

0.1.23

3 years ago

0.1.24

3 years ago

0.1.25

3 years ago

0.1.17

3 years ago

0.1.18

3 years ago

0.1.19

3 years ago

0.1.10

4 years ago

0.1.11

4 years ago

0.1.12

4 years ago

0.1.13

4 years ago

0.1.14

4 years ago

0.1.15

4 years ago

0.1.16

3 years ago

0.1.8

4 years ago

0.1.9

4 years ago

0.1.8-beta

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago