Microi吾码-V8函数列表-前端
平台简介
- 技术框架:.NET8 + Redis + MySql/SqlServer/Oracle + Vue2/3 + Element-UI/Element-Plus
- 平台始于2014年(基于Avalon.js),2018年使用Vue重构,于2024年10月29日开源
- 试用地址:https://microi.net
- Gitee开源地址:https://gitee.com/ITdos/microi.net
- GitCode开源地址:https://gitcode.com/microi-net/microi.net/overview![](https://img-blog.csdnimg.cn/img_convert/b3ed5df7dc3c7ba878a7453d4868db5a.jpeg)
前端V8函数列表
- 前端V8引擎代码与服务器端V8的编程语言均为Javascript语法。
- 前端V8引擎支持完整ES6语法
- 前端V8引擎集成了很多函数直接通过http调用后端接口,与V8.Post()写对应的接口地址效果一样。
- 前端V8引擎代码在前端执行,若是直接通过调用服务器端的低代码平台通用增删改查接口,前端V8事件不会执行(服务器端V8事件会执行)。
V8.Form
访问当前表单字段值
例:var name = V8.Form.UserName;
如果是下拉框组件,设定了绑定显示字段,则可以是:V8.Form.字段名称.显示字段
V8.OldForm
访问当前表单修改前字段值
例:var oldName = V8.OldForm.UserName;
V8.FormSet
给当前表单字段赋值
例:V8.FormSet(‘UserName’, ‘张三’);
也可以使用常规js写法(只不过在某些特殊情况下可能会不生效):V8.Form.UserName = ‘张三’;
V8.Field
访问当前表单字段属性
例:var isReadonly = V8.Form.UserName.Readonly;//UserName字段当前是否是只读
包含属性:Name、Label、Config、Data(绑定数据源)、Readonly、Visible、Placeholder等等
V8.FieldSet
给当前表单字段属性赋值
例:V8.FieldSet(‘UserName’, ‘Readonly’, false);//设置UserName字段为只读
V8.FormOutAction
获取离开表单的类型,可用于离开表单、提交表单后V8引擎代码中做为判断,可能的值:Update/Insert/Close/Delete
V8.FormOutAfterAction
获取离开表单后的类型,可用于离开表单/提交表单后V8引擎代码,可能的值:Insert/Update/View/Close
V8.FormSubmitAction
表单提交类型(Insert/Update/Delete),可在“表单提交前V8引擎代码”中赋值V8.Result = false;以阻止表单提交。
V8.FormMode
获取当前Form打开的模式,可能的值:Add(新增)、Edit(编辑)、View(预览)
V8.LoadMode
当前Form的加载模式,要么为空,要么值为Design(string,设计模式),特别注意一些事件中如果使用了V8.FieldSet更改了字段属性,需要判断V8.LoadMode == 'Design’时不执行,否则保存表单设计后会持久化保存字段属性。
V8.TableRowId
获取当前Form的Id,也可以使用V8.Form.Id
V8.KeyCode
键盘事件V8可获取键盘的code值,如Enter键对应13
if(V8.KeyCode ==13){V8.Tips('您已经按了Enter键!');}
V8.TableId、V8.TableName
获取当前DIY表的Id、Name
V8.EventName
前端V8事件名称,在全局V8引擎代码中比较好用,可能的值:
FormTemplateEngine:表单模板引擎
TableTemplateEngine:表格模板引擎
OpenTableBefore:弹出表格前事件
OpenTableSubmit:弹出表格提交事件
FieldOnKeyup:文本框键盘事件
FormOut:离开表单事件(指表单提交后)
FormSubmitBefore:表单提交前事件
FormIn:进入表单事件
FieldValueChange:字段值变更事件
BtnFormDetailRun:详情按钮V8按钮
V8BtnLimit:V8按钮是否显示事件
V8BtnRun:V8按钮执行事件
TableRowClick:表格行点击V8事件
PageTab:多Tab页签V8事件
WFNodeEnd:流程节点结束V8事件
WFNodeStart:流程节点开始V8事件
V8.CurrentToken
当前登陆身份token
V8.TableModel
获取当前表的对象,里面包含了Id、Name等表信息。
V8.ThisValue
访问下拉框选择后的值对象,如V8.ThisValue.Id
V8.Tips
右下角弹出消息提示,用法:V8.Tips(msgContent, true/false, time)
msgContent为消息内容
true为成功消息(1秒后消失),false为错误消息(5秒后消失)
time可传入提示框多少秒后消失
V8.CurrentUser
访问当前登陆用户信息
例:V8.CurrentUser.Id/Name/Role/Dept等等
V8.Post
//发起ajax请求,常规用法,自带token,默认Form Data参数格式(非Request Payload)V8.Post('api url',{ Id :1},function(result){if(result.Code ==1){...}})//完整用法V8.Post({
url :'',//接口地址,必传。
data :{},//接口参数
dataType :'json',//默认空(Form Data),可选json(Request Payload)
header :{},//可选参数success:function(result){},//请求成功的回调函数,常用参数。fail:function(result){},//请求失败的回调函数,如接口报错404、500,可选参数,也可传入error,与fail一致。});
V8.Get
发起ajax请求,V8.Get(‘api url’, {}, function(result){})
V8.ChineseToPinyin(chinese, fullPyLen, type)
中文转拼音
fullPyLen: 2(默认),前几个字全拼音;type : 1 驼峰(默认),2全大写,3全小写
V8.RefreshTable({ _PageIndex : -1 })
刷新表格数据列表,_PageIndex传入-1表示跳转到最后一页。
一般用于页面更多按钮、行更多按钮等刷新当前表格。
注意与【V8.TableRefresh】不同的是它是刷新当前主表单里面的子表格(将来会优化函数命名)。
V8.Router.Push(url):页面跳转
V8.Window.Open(url):打开新页面
V8.OpenForm(formModel, type)
打开表单,type:‘View’/‘Edit’/‘Add’,如在[行更多V8按钮]事件中:V8.OpenForm(V8.Form, ‘Edit’)
V8.OpenFormWF(formModel, type)
打开带流程信息的表单。(目前是获取此数据对应的最后一个流程)
V8.TableRowSelected
获取已选择的行数组,每行包含了所有数据
V8.SearchSet/SearchAppend({FieldName : value, FieldName2 : value})
表格Tabs设置搜索条件
V8.IsNull(value):判断某个值是否为空
当值为null、undefined、‘’(空字符串)、‘null’(null字符串)、‘undefined’(undefined字符串),均返回true
父表中对子表操作:
V8.TableSearchAppend(V8.Field.子表Name, {FiedlName : value, FieldName2 : value})
V8.TableSearchSet(V8.Field.子表Name, {FiedlName : value, FieldName2 : value})
V8.TableRefresh(V8.Field.子表Name, { _PageIndex : -1 })
_PageIndex传入-1表示跳转到最后一页。(注意与【V8.RefreshTable】不同的是它一般是用于模块引擎中行更多按钮、页面更多按钮刷新当前表格,将来会优化函数命名)。
V8.FormSubmit
提交表单。
V8.FormSubmit({CloseForm:true, SavedType:‘Insert’, Callback : function})
CloseForm:是否关闭Form表单;
SavedType:保存表单后的操作Insert/Update/View
Callback:回调函数
子表中对父级操作:
V8.ParentForm:访问父级表单所有字段
支持在子表的子表中,使用V8.ParentForm.ParentForm对父表赋值。
[已废除]V8.ParentFormSet(‘字段名’, ‘值’):给父表单某个字段赋值
请使用V8.ParentForm.FormSet(‘字段名’, ‘值’)
V8.AddSysLog
新增日志
例:V8.AddSysLog({Title : ‘库存同步’, Type:‘SyncStock’, Content:‘张三调用了库存同步接口,同步后库存为100。’)
参数值均为自定义。
V8.ReloadForm:重新加载当前表单
例:V8.ReloadForm({Id : ‘xxxx-xxxx-xxxx’}, ‘Edit/View’);//以编辑或预览模式重新加载当前表单
V8.HideFormBtn
隐藏编辑/删除按钮
V8.HideFormBtn(‘Update/Delete’):
V8.HideFormTab(tabName)
隐藏某个表单Tab标签页,用法:V8.HideFormTab(‘tabName(在表单属性中配置的Tab名称)’)
V8.ShowFormTab(tabName)
显示某个表单Tab标签页,用法:V8.HideFormTab(‘tabName(在表单属性中配置的Tab名称)’)
V8.ClickFormTab(tabName)
选中某个表单Tab标签页
V8.GetFormTabs
获取表单所有Tab标签页。
V8.ConfirmTips
确认提示框
例:V8.ConfirmTips(‘确认审批?’, okCallback, cancelCallback, option)。 option为可选参数,可配置:{Title:‘’,OkText:‘’,CancelText:‘’,Icon:‘’}
V8.ShowTableChildHideField
将子表已隐藏的字段强制显示出来,并且刷新子表。
V8.ShowTableChildHideField(‘子表fieldName’,[‘fieldName’,‘fieldName’]);
V8.RefreshChildTable(fieldModel, V8.Row):刷新子表
例:V8.RefreshChildTable(V8.Field.子表列名, V8.Row),第二个参数可传入parentFormModel。
V8.GetChildTableData(‘子表字段名称’);
V8.CurrentTableData
V8.WF.StartWork:发起流程:
V8.WF.StartWork({
FlowDesignId:'',//流程图Id,必传
FormData:JSON.stringify({}),//可选,也可以传入{} object类型,内部会自动序列化
TableRowId:'',//关联的数据Id,必传
NoticeFields:JSON.stringify([]),//通知数据,可选,格式:[{Id:'字段Id',Name:'字段名',Label:'字段名称',Value:'值'}],如果是数组类型,内部会自动序列化 //还可以传入选择的下一步审批人、添加的审批人、审批意见 等等 },function(result){//这是回调函数处理,result返回了Receivers、ToNodeName等});
V8.SendSystemMessage
发送系统消息
//消息内容var msgContent = ‘测试v8发送系统消息!’ + new Date().toString();//内容增加路由跳转msgContent += ‘测试页面跳转’;//发送系统消息V8.SendSystemMessage({ Content: msgContent, ToUserId: ‘c19e70d1-b7b3-4eaa-933d-e8f59c85562f’}, function(result){ V8.Tips(JSON.stringify(result));});
V8.FormWF:访问当前是否打开了带流程界面的表单,返回值:
{
IsWF:true/false, //是否打开了带流程界面的表单
WorkType:‘’,//StartWork、ViewWork
FlowDesignId:‘流程图Id’
}
V8.Base64:base64加解密
V8.Base64.endcode(‘待加密字符串’);//加密
V8.Base64.dedcode(‘待解密字符串’);//解密
V8.Base64.isValid(‘已加密字符串’);//判断是否是已加密的base64格式
V8.OpenDialog(param):打开一个定制组件对话框
例子;
V8.OpenDialog({
ComponentName:'NodeColConfig',//必传,其余参数可选。组件名称,二次开发必须提前预注册。
Title:'测试定制组件标题',
OpenType:'',//可传:Drawer
TitleIcon:'fas fa-plus',//标题左侧的图标
Width:'70%',
DataAppend:{//传入自定义附加数据,DataAppend为固定参数名称
Abc:123,
Name:'张三'}});//在定制组件内props接收V8对象:
props:{
DataAppend:{
type: Object,default:()=>{}}},mounted(){//this.DataAppend.V8包含了绝大部分可使用的V8内置函数,可以使用V8事件一样的写法。 //获取已打开的表单中(或已选中的一条表格数据)的Title字段值。 var title =this.DataAppend.V8.Form.Title;//访问传过来的自定义数据 var name =this.DataAppend.Name;//张三 //刷新diy表格 this.DataAppend.V8.RefreshTable();//关闭当前对话框 this.DataAppend.V8.CloseThisDialog();}
V8.NewGuid()
生成一个前端Guid值
await V8.NewServerGuid()
生成一个服务器端Guid值
V8._
访问underscore对象,常用的js实用库,如:V8._.where(…)。underscore用法见:https://underscorejs.org/ https://underscorejs.net/
V8.ModuleEngine:
模块引擎相关
V8.ApiEngine:
接口引擎
V8.DataSourceEngine:
数据源引擎
V8.OpenAnyForm:
打开一个任意表单
V8.OpenAnyForm({
TableName:"Diy_ShouhouDD",//必传。打开哪张表。
FormMode:"Edit",//必传。打开的模式:Add、Edit、View
Id:V8.Form.Id,//当FormMode为Edit、View时,必传Id。
DialogType:"Dialog",//可选。打开的方式,不传则默认为表单属性设置的打开方式。
SelectFields:["ZhipaiXX","ShouhouRY"],//可选。只查询、显示哪些字段。不传则默认显示。
Width:"765px",//可选。弹出层的宽度。不传则默认为表单属性设置的弹出宽度。
DataAppend:{//传入自定义附加数据,DataAppend为固定参数名称。可在指定的打开表单V8事件中使用V8.DataAppend访问。
Abc:123,
Name:"张三",},//替换掉提交事件。可选。
EventReplace:{//这3个参数一定会接收到,必须执行callback(DosResult)Submit:asyncfunction(v8, param, callback){//调用指派接口var result =awaitV8.ApiEngine.Run({
ApiEngineKey:"shouhoudd_zhipai",
Id: v8.Form.Id,
ShouhouRY:V8.Form.ShouhouRY,
ShouhouRYID:V8.Form.ShouhouRYID,
ShouhouRYDH:V8.Form.ShouhouRYDH,});callback(result);},},});
Microi吾码 - 系列文档
- 平台介绍:https://microi.blog.csdn.net/article/details/143414349
- 一键安装使用:https://microi.blog.csdn.net/article/details/143832680
- 快速开始使用:https://microi.blog.csdn.net/article/details/143607068
- 源码本地运行-后端:https://microi.blog.csdn.net/article/details/143567676
- 源码本地运行-前端:https://microi.blog.csdn.net/article/details/143581687
- Docker部署:https://microi.blog.csdn.net/article/details/143576299
- 表单引擎:https://microi.blog.csdn.net/article/details/143671179
- 模块引擎:https://microi.blog.csdn.net/article/details/143775484
- 接口引擎:https://microi.blog.csdn.net/article/details/143968454
- 工作流引擎:https://microi.blog.csdn.net/article/details/143742635
- 界面引擎:https://microi.blog.csdn.net/article/details/143972924
- 打印引擎:https://microi.blog.csdn.net/article/details/143973593
- V8函数列表-前端:https://microi.blog.csdn.net/article/details/143623205
- V8函数列表-后端:https://microi.blog.csdn.net/article/details/143623433
- V8.FormEngine用法:https://microi.blog.csdn.net/article/details/143623519
- Where条件用法:https://microi.blog.csdn.net/article/details/143582519
- DosResult说明:https://microi.blog.csdn.net/article/details/143870540
- 分布式存储配置:https://microi.blog.csdn.net/article/details/143763937
- 自定义导出Excel:https://microi.blog.csdn.net/article/details/143619083
- 表单引擎-定制组件:https://microi.blog.csdn.net/article/details/143939702
- 表单控件数据源绑定配置:https://microi.blog.csdn.net/article/details/143767223
- 复制表单和模块到其它数据库:https://microi.blog.csdn.net/article/details/143950112
- 论传统定制开发与低代码开发的优缺点:https://microi.blog.csdn.net/article/details/143866006
- 接口引擎实战-发送第三方短信:https://microi.blog.csdn.net/article/details/143990546
- 接口引擎实战-发送阿里云短信:https://microi.blog.csdn.net/article/details/143990603
- 开源版、个人版、企业版区别:https://microi.blog.csdn.net/article/details/143974752
- 成为合伙人:https://microi.blog.csdn.net/article/details/143974715
版权归原作者 Microi吾码 所有, 如有侵权,请联系我们删除。