页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

代码块
languagejs
firstline1
linenumberstrue
//控件的id可在app端开发者工具中拾取,后期可在modeler中直接拷贝
var addinElement = this.GetAddinByIdgetAddinById("指定控件的id");
//设置控件在界面中的错误信息提示
addinElement.setError("存在异常");
//$el为指定控件的dom元素,可以直接对dom元素修改其样式
addinElement.$el.style.display = "none";

...

代码块
languagejs
firstline1
linenumberstrue
//控件的 id 可在 app 端开发者工具中拾取,后期可在 modeler 中直接拷贝 
var addinElement = this.GetAddinByIdgetAddinById("指定控件的 id");  
//$el 为指定控件的 dom 元素,设置该元素隐藏 
addinElement.$el.style.display = "none"; 
// 设置该元素重新显示
addinElement.$el.style.display = "block";

...

代码块
languagejs
firstline1
linenumberstrue
//获取表格控件
var grdiAddin = this.GetAddinByIdgetAddinById("表格控件的id"); 
//获取表格中选中的(多)行数据
var selectedObjs = grdiAddin.getSelected(); 
if(selectedObjs  && selectedObjs .length > 0){
selectedObjs.forEach(x => {
       //对选中的数据进行修改
    x.assetState = "已安装";
       // 对修改后的数据进行保存,此时优先editEObj而非edit
    this.editEObj({ className: this.className, obj: x }); 
    })
}
//获取表格中所有的的行数据对象集合
var allRowDatas = grdiAddin.getAll();
//处理表格数据的刷新
let query = `and obj.tyWorkOrderOid = '${this.obj.oid}'`;
//表格后台数据强制刷新
this.handleQueryData({query:query,targetClass:"TyWork",fresh:true}).then(res=>{
   //后台数据强查后,store会更新,会更新相同查询条件的多对象控件(表格)
  grdiAddin.freshData(query);  //如果store有数据,就不进行后台数据查询,不然就会进行后台数据查询(可以理解为调用freshData后,一定至少发生过一次后台数据查询).这里在handleQueryData之后调用,所以不会进行后台数据查询. 用处是用指定查询的最新结果刷新表格
grdiAddin.fresh(); //不执行后台数据查询,从store中获取原查询条件的最新结果刷新表格. 区别在于: 1. 查询条件为原查询条件,不能指定新的查询条件; 2. 不进行后台数据查询
  this.msgbox.success("表格已刷新!");
})
//表格行数据额外操作(如:删除一行)
//grdiAddin.rowData.splice(selected[0].order,1);

/*针对关联对象handleQueryData查询示例*/
var query = {query:`and obj.left_oid in (${conceptoidlists})`,type:'relation'};
his.handleQueryData({query:query, relationClass:"OntologyConcept2Attribute", fresh:true}).then(  
    res=>{
		//todo:
   	});

...

代码块
languagejs
firstline1
linenumberstrue
//获取表格控件
var grdiAddin = this.GetAddinByIdgetAddinById("表格控件的id"); 
//通过getDefaultColumnDefs方法获取列定义对象
//通过传入一个对象进行个性化定制
var columnDefs1 = grdiAddin.getDefaultColumnDefs();
var columnDefs2 = grdiAddin.getDefaultColumnDefs();
...
var columnDefsn = grdiAddin.getDefaultColumnDefs();
//设置表头
grdiAddin.setColumnDefs([columnDefs1, columnDefs2, ..., columnDefsn]);

var rowData = [
        {field: 'field1', oid: 'oid1'},
        {field: 'field2', oid: 'oid2'},
...
]
//设置表格数据
grdiAddin.setRowData(rowData);
//添加表格数据
grdiAddin.setRowData(rowData, 'add');
//删除表格数据(参数对应行)
grdiAddin.deleteRowData('1');
grdiAddin.deleteRowData(['2','3']);
//修改表格数据(参数对应行)
grdiAddin.updateRowData('4', {field: 'updatefield'});

...

代码块
languagejs
firstline1
linenumberstrue
var tabAddin = this.GetAddinByIdgetAddinById("e09c6207-b578-4992-9f77-cbdc75bf86ce");
tabAddin.setDisable('子页签名称',true);      //禁用子页签
tabAddin.setDisable('子页签名称',false);     //取消子页签禁用
tabAddin.getSelectedTab();                   //获取当前选中子页bi
tabAddin.turnTo("作业卡下步骤");            //跳转激活子页签

...

代码块
languagejs
firstline1
linenumberstrue
var subFormAddin = this.GetAddinByIdgetAddinById("表单控件ID");//获取子表单控件
subFormAddin.setDisplayType("visit");
var targetClass = ‘业务类型名称’;
var viewName = ‘表单名称’;
subFormAddin.updateShow(targetClass, viewName, {
    obj: {…},  //单业务对象
    query: `and obj.oid = ${selectOBJOid} `, //查询条件,只能使用${变量名}
    data: {},  //其它扩展传递的参数
    show: true,       //控制子表单是否渲染显示
    initScript: "",   //初始化脚本
	condition: " and obj.oid=$obj.oid " //可使用$obj,$env转义字符变量(在前端解释这些变量)
});

...

代码块
languagejs
firstline1
linenumberstrue
//控件作用:获取指定类的表单模板下拉列表
//要获取表单模板的类名称(实体类或关联类)
var targetClass = "Part";
//多对象控件组中的'表单点选器'控件【内置的控件】
var addinElement = this.GetAddinByIdgetAddinById("表单点选器控件ID");
//控件updateClass方法:刷新类的表单下拉列表
addinElement.updateClass(targetClass);

...

代码块
languagejs
firstline1
linenumberstrue
//获取树控件
var tree = this.getAddInByIDgetAddinById('TreeID'); 
//刷新整颗树
tree.updateTree();
//...

...

代码块
languagejs
firstline1
linenumberstrue
//获取控件
var comB = this.getAddInByIDgetAddinById('uuid'); 
//设置控件值
comB.args.selectList = [{label:"label1", value:"value1"}, {label:"label2", value:"value2"}] ;
//...

...

代码块
languagejs
firstline1
linenumberstrue
//获取控件
var formModelSelected = this.getAddInByIDgetAddinById('uuid'); 
var targetClass = 'classNameA';
formModelSelected.updateClass(targetClass);
//实体表映射-plt_mdl_metaclass

...

代码块
languagejs
firstline1
linenumberstrue
	clientScript:   
debugger;       
//获取并拼接查询条件
//工单编号
var querySQL = ` and plt_woState='已完成' ` ;
var txt_GDBH = this.GetAddinByIdgetAddinById("ce1e78c5-5dfd-449c-97fc-1d761215f998");
try {
  txt_GDBH = txt_GDBH.getValue().replace(/^\s+|\s+$/g, "");
} catch (error) {
  txt_GDBH = '';
}
if(txt_GDBH != ''){
  querySQL +=  ` and plt_woId LIKE '%${txt_GDBH}%'`;
}
//工单名称
var txt_GDMC = this.GetAddinByIdgetAddinById("439b8e11-d35c-427f-a45d-63d7fa5b293a");
try {
  txt_GDMC = txt_GDMC.getValue().replace(/^\s+|\s+$/g, "");
} catch (error) {
  txt_GDMC = '';
}
if(txt_GDMC != ''){
  querySQL +=  ` and plt_name LIKE '%${txt_GDMC}%'`;
}

	//设备编号
	var txt_SBBH = this.GetAddinByIdgetAddinById("5ef0826b-d1a0-4bca-a645-f2d918e395de");
	try {
  	txt_SBBH = txt_SBBH.getValue().replace(/^\s+|\s+$/g, "");
	} catch (error) {
  	txt_SBBH = '';
	}
	if(txt_SBBH != ''){
  	querySQL +=  ` and plt_eqId LIKE '%${txt_SBBH}%'`;
	}
	//设备名称
	var txt_SBMC = this.GetAddinByIdgetAddinById("7b74e053-7ee9-432f-bac5-87e842325f91");
	try {
  	txt_SBMC = txt_SBMC.getValue().replace(/^\s+|\s+$/g, "");
	} catch (error) {
  	txt_SBMC = '';
	}
	if(txt_SBMC != ''){
  	querySQL +=  ` and plt_eqName LIKE '%${txt_SBMC}%'`;
	}
	var query = querySQL +  ` order by plt_woId `;  //增加排序
	var grid = this.GetAddinByIdgetAddinById('be59e6a9-0b85-4279-85fc-ce1b76f06d7e');  //获取表格
	//后台数据刷新查询
	this.handleQueryData({ "query": query, "targetClass": "WorkOrder", fresh: true }).then(res => {
   		//表格数据刷新
    	grid.freshData(query);
    	this.msgbox.success("历史工单列表已刷新!");
	});

...

代码块
languagejs
firstline1
linenumberstrue
clientScript:
debugger;
var grid = this.GetAddinByIdgetAddinById("be59e6a9-0b85-4279-85fc-ce1b76f06d7e");
//工单编号
var txt_GDBH = this.GetAddinByIdgetAddinById("ce1e78c5-5dfd-449c-97fc-1d761215f998");
try {
    txt_GDBH.setValue('');
} catch (error) {
}
//工单名称
var txt_GDMC = this.GetAddinByIdgetAddinById("439b8e11-d35c-427f-a45d-63d7fa5b293a");
try {
    txt_GDMC.setValue('');
} catch (error) {
}
//设备编号
var txt_SBBH = this.GetAddinByIdgetAddinById("5ef0826b-d1a0-4bca-a645-f2d918e395de");
try {
    txt_SBBH.setValue('');
} catch (error) {
}
//设备名称
var txt_SBMC = this.GetAddinByIdgetAddinById("7b74e053-7ee9-432f-bac5-87e842325f91");
try {
    txt_SBMC.setValue('');
} catch (error) {
}
//清空还原默认的查询条件
var query = ` and 1=1 and plt_woState='已完成' order by plt_woId `;  
//后台数据查询
this.handleQueryData({ "query": query, "targetClass": "WorkOrder", fresh: true }).then(res => {
   //表格数据刷新
    grid.freshData(query);
    this.msgbox.success("历史工单列表已刷新!");
});

...

代码块
languagejs
firstline1
linenumberstrue
clientScript:
//开始脚本编写
debugger;
//获取内嵌的子表单容器控件
var detailForm = this.GetAddinByIdgetAddinById("4a609028-59f4-404c-8da2-8d12be161949"); //内嵌表单
var selectedWOObjs = this.selectedObjs;
if(!selectedWOObjs || selectedWOObjs.length != 1){
    detailForm.$el.style.display = 'block';  //block
    alert('不能获取到所选中的行数据!');
    return;
}
//当前表格所选行对象
var curObj = selectedWOObjs[0];
//还原内嵌子表单的样式:即恢复显示
detailForm.$el.style.display = 'initial';  //block
//刷新子表单的数据显示
detailForm.updateShow('WorkOrder', 'woForm', {
    obj: curObj,
    //query: "obj.tyWorkItemOid = '$(rowData.oid)'", /*查询条件方式获取子表单关联的业务对象*/
    //data: {},  /*补充参数*/
    show: true  /*子表单可界面渲染显示,否则false不显示表单界面元素*/
    //initScript: "",  /*通过初始化脚本方式获取子表单关联的业务对象*/
    //condition: "", /*通过查询条件方式获取子表单关联的业务对象,这种方式可使用到$obj 形式变量*/
});

...