tiangong-doc tiangong-doc
首页
  • 天宫体系

    • 前端架构
    • 后端架构
    • 扩展功能
    • 打包部署
    • 更新日志
    • 辅助开发平台 (opens new window)
    • 权限平台部署包下载 (opens new window)
  • 基础组件

    • 工作流引擎(待整理)
    • 跨境加签客户端(待整理)
    • 权限平台(待整理)
  • 数字化工具

    • 数字魔方
    • 数据采集
    • 智能导入
    • 数字员工
    • 规则引擎(开发中)
    • 消息引擎(待开发)
    • 智能导出(待开发)
  • 业务算法

    • 南京业务体检(待整理)
    • 智慧长江(待整理)
  • 识别模型

    • 空箱识别(待整理)
    • 智能客服(待整理)
    • OCR识别(待整理)
    • 车牌识别(待整理)
    • 超市停留识别(待整理)
    • 危险品识别(待开发)
    • 超长车识别(待开发)
    • 车辆靠台(待开发)
    • 车辆占用(待开发)
  • 算法模型(待整理)
  • 风控模型(待整理)
  • 海关规则(待整理)
  • 危险品知识(待整理)
  • 组件设计文档(待整理)
  • 数据服务

    • 商品归类服务(待开发)
    • RECP贸易服务(待开发)
    • 商品价格服务(待开发)
    • 业务申报解答(待开发)
    • 报关单状态查询(待开发)
  • 常用开发工具

    • BASE64编解码工具 (opens new window)
    • MD5编码工具 (opens new window)
    • AES/DES加解密 (opens new window)
    • JWT解码工具 (opens new window)
    • ASCII编解码工具 (opens new window)
    • Unicode编解码工具 (opens new window)
    • UTF-8编解码工具 (opens new window)
    • 字符串编解码工具 (opens new window)
    • 通用进制转换工具 (opens new window)
    • 浮点数十进制转换 (opens new window)
    • 在线JSON解析 (opens new window)
    • 在线JS代码格式化工具 (opens new window)
    • CSS可视化工具 (opens new window)
    • XML格式化工具
    • SQL压缩/格式化工具 (opens new window)
    • JSON/XML在线转换 (opens new window)
    • JSON/YAML在线转换 (opens new window)
    • IP地址查询 (opens new window)
    • HTTP在线接口测试 (opens new window)
    • UUID在线生成器 (opens new window)
    • 随机数生成器 (opens new window)
    • 在线文本比对 (opens new window)
  • 研发标准规范(待整理)
  • 国产化适配
首页
  • 天宫体系

    • 前端架构
    • 后端架构
    • 扩展功能
    • 打包部署
    • 更新日志
    • 辅助开发平台 (opens new window)
    • 权限平台部署包下载 (opens new window)
  • 基础组件

    • 工作流引擎(待整理)
    • 跨境加签客户端(待整理)
    • 权限平台(待整理)
  • 数字化工具

    • 数字魔方
    • 数据采集
    • 智能导入
    • 数字员工
    • 规则引擎(开发中)
    • 消息引擎(待开发)
    • 智能导出(待开发)
  • 业务算法

    • 南京业务体检(待整理)
    • 智慧长江(待整理)
  • 识别模型

    • 空箱识别(待整理)
    • 智能客服(待整理)
    • OCR识别(待整理)
    • 车牌识别(待整理)
    • 超市停留识别(待整理)
    • 危险品识别(待开发)
    • 超长车识别(待开发)
    • 车辆靠台(待开发)
    • 车辆占用(待开发)
  • 算法模型(待整理)
  • 风控模型(待整理)
  • 海关规则(待整理)
  • 危险品知识(待整理)
  • 组件设计文档(待整理)
  • 数据服务

    • 商品归类服务(待开发)
    • RECP贸易服务(待开发)
    • 商品价格服务(待开发)
    • 业务申报解答(待开发)
    • 报关单状态查询(待开发)
  • 常用开发工具

    • BASE64编解码工具 (opens new window)
    • MD5编码工具 (opens new window)
    • AES/DES加解密 (opens new window)
    • JWT解码工具 (opens new window)
    • ASCII编解码工具 (opens new window)
    • Unicode编解码工具 (opens new window)
    • UTF-8编解码工具 (opens new window)
    • 字符串编解码工具 (opens new window)
    • 通用进制转换工具 (opens new window)
    • 浮点数十进制转换 (opens new window)
    • 在线JSON解析 (opens new window)
    • 在线JS代码格式化工具 (opens new window)
    • CSS可视化工具 (opens new window)
    • XML格式化工具
    • SQL压缩/格式化工具 (opens new window)
    • JSON/XML在线转换 (opens new window)
    • JSON/YAML在线转换 (opens new window)
    • IP地址查询 (opens new window)
    • HTTP在线接口测试 (opens new window)
    • UUID在线生成器 (opens new window)
    • 随机数生成器 (opens new window)
    • 在线文本比对 (opens new window)
  • 研发标准规范(待整理)
  • 国产化适配
  • 天宫架构

    • 前端架构

      • 前端框架V2.0.0

        • 前端介绍
        • 页面模型

          • CommonPage 通用页面模型
          • QueryPage 查询页面模型
          • EditPage 编辑页面模型
          • EditTab 编辑页面Tab页面模型
            • EditTab 编辑页面Tab页面模型
              • Attributes
              • Events
              • Tab页面示例代码
              • 1,HeadEdit组件的属性描述:
              • page:是为了建立界面的父子关系
              • editPage:针对当前的list界面,对应的编辑界面
              • 2,bodyList组件的属性描述:
              • page:是为了建立界面的父子关系
              • sub:bodyLis是子界面,主从关系
              • 子页面编辑示例代码
              • 子页面查询示例代码
              • page.data.cascade的属性:是设置主从界面的级联关系。在查询和新增的时候,框架会自动到后台去处理这个级联关系。但是在引用当前界面的地方,必须要设置sub,不然当前属性设置了也不会生效。
              • headField:是主表的字段属性
              • field:是子表和主表的关联字段属性
        • 前端组件

        • 全局配置

        • 扩展功能

        • 常见问题

        • 其他

    • 后端架构

    • 打包部署

    • 扩展功能

    • 业务组件

    • 国际化

    • 迁移助手

    • 历史版本

    • 更新日志

    • 开发手册

    • 权限平台

  • 基础架构
  • 天宫架构
  • 前端架构
  • 前端框架V2.0.0
  • 页面模型
2024-03-19
目录

EditTab 编辑页面Tab页面模型

# EditTab 编辑页面Tab页面模型

# Attributes

属性名 子属性 说明 类型 默认值
data 页面数据 object
pageInfo 页面信息 object {type: 'EditTab'}
activeName tab显示页签 string head
isAdd 是否新增 boolean true
commonpage里面data默认都有
row 行数据 object

# Events

事件名称 说明 类型 参数
edit 编辑 Function row
add 新增 Function
save 保存 Function
del 删除 Function props
show 显示 Function row,state

# Tab页面示例代码

EditTab

## 页面模型  EditPage
<template>
	<div class="tg_page">  
		<TgPage ref="tgPage" :page="page">  
			<div class="tg_body">  
				<el-tabs v-model="page.data.activeName" @tab-click="page.selectTab">  
					<el-tab-pane label="基本信息" name="head">  
						<HeadEdit :page="page" editPage/>  
					</el-tab-pane>  
				  
					<el-tab-pane label="明细信息" name="list" :disabled="page.data.isAdd">  
						<!--sub设置,说明bodyList,是当前界面的子表。他们是有级联关系的-->
						<bodyList :page="page" sub/>  
					</el-tab-pane>  
				</el-tabs>  
			</div>  
		</TgPage>  
	  
	</div>
</template>

<!--name:当前界面的唯一值-->
<script setup name="FrmEciBaseEditTab">  
import HeadEdit from './edit.vue'  
import bodyList from '../xxx/bodyList.vue'
import EditTab from "@coreEditTab";
import {nextTick, ref} from "vue";

<!--引入页面模型-->
let {page} = EditTab()  
<!--name:当前界面的唯一值,和script标签的设置一样-->
page.context.name = 'FrmEciBaseEditTab'  
<!--title:弹框的标题-->
page.data.title='XXX'

<!--调用弹框-->
nextTick(() => {  
	page.useDialog()  
})
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 1,HeadEdit组件的属性描述:
# page:是为了建立界面的父子关系
# editPage:针对当前的list界面,对应的编辑界面
# 2,bodyList组件的属性描述:
# page:是为了建立界面的父子关系
# sub:bodyLis是子界面,主从关系

# 子页面编辑示例代码

edit.vue

## 页面模型  EditPage
<template>
	<div class="tg_page">
		<TgPage ref="tgPage" :page="page" >  
			<div class="tg_toolbar">  
				<tg-button @click="page.save" icon="DocumentChecked" :name="tm('action.save','保存')"/>  
				<tg-button @click="page.close" type="warning" icon="Close" :name="tm('action.close','关闭')"/>  
	               </div>  
			<div class="tg_form">  
				<tg-form ref="editForm" :page="page">  
					<!--表单的信息-->
					<el-row>  
						<el-col :span="24">  
							<el-form-item :label="tm('xxx.code','code')" prop="code">  
								<el-input v-model="page.data.entity.code"/>  
							</el-form-item>  
						</el-col>  
						
					</el-row>  
				</tg-form>  
			</div>  
		</TgPage>
	</div>
</template>

<!--name:当前界面的唯一值-->
<script setup name="FrmEciBaseEdit">  
  
import EditPage from "@coreEditPage"; 
<!--apis的路径-->
import apis from '@/xxx/xxx/apis'  
<!--表单的一些配置属性-->
import {defaultFormProps} from '@/web/app/setting/componentSetting'  <!--表单的配置信息的文件-->
import {nextTick, ref} from "vue";
<!--多语言-->
import {t} from '@i18nHelper'  

<!--引入页面模型-->
let {page} = EditPage()  
<!--name:当前界面的唯一值,和script标签的设置一样-->
page.context.name = 'FrmEciBaseEdit'  
<!--设置加载api-->
page.data.loadApi = apis.xxx.load  
<!--设置保存api-->
page.data.saveApi = apis.xxx.save  
<!--主键-->
page.data.keyField = 'id'

<!--主要区别-->
<!--设置级联关系:headField:是主表的字段;field:是子表和主表的关联字段-->
page.data.cascade = {  
headField: 'id',  
field: 'headId',  
}

<!--编辑表单设置-->
page.useEditForm({  
...defaultFormProps
})

<!--调用弹框-->
nextTick(() => {  
	page.useDialog()  
})
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

# 子页面查询示例代码

bodyList.vue

## 页面模型  QueryPage
<template>
<div class="tg_page">
	<TgPage :page="page">
		<div class="tg_filter">  
		<!--查询表单-->
		<tg-filter-plus  ref="queryForm" :rules="page.data.rules" :page="page"  
	@search="page.search"></tg-filter-plus>  
		</div>
		<!--表格-->
		<tg-table-list-plus isCheckbox ref="table" :page="page" :table="page.data.table" class="fit">
			<template #tg_button>  
				<tg-button @click="page.add" icon="CirclePlus" :name="t('action.add')"/>  
				<tg-button @click="page.exp" icon="Download" :name="t('action.download')"/> 
				<tg-button type="danger" @click="page.delBatch" icon="Delete" :name="t('action.batchDelete')"/>  
			</template>  
			
			<el-table-column :label="t('action.oper')" fixed="right" width="160px">  
				<template #default="scope">  
				<tg-button @click="page.edit(scope.row)" icon="Edit" text :name="t('action.edit')"/>  
				<tg-button @click="page.del(scope.row)" icon="Delete" text :name="t('action.delete')"/>  
				</template>  
			</el-table-column>
		</tg-table-list-plus>
		<!--引入编辑界面,popType:编辑页面是弹框,-->
		<edit :page="page" editPage popType></edit>
	</TgPage>
<div>
</template>

<!--name:当前界面的唯一值-->
<script setup name="FrmEciBaseList">  
  
import QueryPage from "@coreQueryPage"; 
<!--apis的路径-->
import apis from '@/xxx/xxx/apis'  
<!--一些配置属性-->
import {defaultQueryProps, defaultTableProps} from '@/web/app/setting/componentSetting'  <!--表格和查询表单的配置信息的文件-->
import {columns, searchFormSchema} from "./setting/list.set"  
<!--编辑界面的地址-->
import edit from './edit/edit.vue'    
<!--多语言-->
import {t} from '@i18nHelper'  

<!--引入页面模型-->
let {page} = QueryPage()  
<!--name:当前界面的唯一值,和script标签的设置一样-->
page.context.name = 'PageDemo_FrmEciBaseList'  
<!--设置删除api-->
page.data.deleteApi = apis.appGen.delete  
<!--设置查询api-->
page.data.searchApi = apis.appGen.search  

<!--主要区别-->
<!--设置级联关系:headField:是主表的字段;field:是子表和主表的关联字段-->
page.data.cascade = {  
headField: 'id',  
field: 'headId',  
}

<!--查询区域设置-->
page.useQueryForm({  
...defaultQueryProps,  
schema: searchFormSchema,  
})  

<!--表格区域设置-->
page.useTable({  
...defaultTableProps,  
columns: columns,  //表格列信息
rowkey: 'id',  //主键
immediate: true,  //页面加载立即查询
})  
  
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# page.data.cascade的属性:是设置主从界面的级联关系。在查询和新增的时候,框架会自动到后台去处理这个级联关系。但是在引用当前界面的地方,必须要设置sub,不然当前属性设置了也不会生效。
# headField:是主表的字段属性
# field:是子表和主表的关联字段属性
上次更新: 2024/5/22 09:38:11
EditPage 编辑页面模型
TgInputPlus 文本框

← EditPage 编辑页面模型 TgInputPlus 文本框→

最近更新
01
EciReport模板导出_Core
09-10
02
EciReport模板导出
09-09
03
Core权限平台接口
07-25
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式