1. 在bd_refinfo中手工添加一条数据
insert into bd_refinfo (CODE, DR, ISTREELAZYLOAD, ISNEEDPARA, ISSPECIALREF, LAYER, METADATANAMESPACE, METADATATYPENAME, MOBILEREFPATH, MODULENAME, NAME, PARA1, PARA2, PARA3, PK_COUNTRY, PK_INDUSTRY, PK_REFINFO, REFCLASS, REFPATH, REFSYSTEM, REFTYPE, RESERV1, RESERV2, RESERV3, RESID, RESIDPATH, TS, WHEREPART)
values ('custcross', 0, 'N', '', '', null, 'arap', 'KsdzBVO', '', 'arap', '客商对照表', '', '', '', '', '', '0001Z01000000001CC01', 'nc.ui.arap.pub.ref.CustCrossRefModel', 'arap/refer/pub/CustCrossGridRef/index', '', 0, '', '', '', '~', 'ref', '2019-06-21 12:16:01', '');
2. 后台类 nc.ui.arap.pub.ref.CustCrossRefModel
package nccloud.web.arap.ref;
import org.apache.commons.lang3.StringUtils;
import nccloud.framework.web.container.SessionContext;
import nccloud.framework.web.processor.refgrid.RefQueryInfo;
import nccloud.framework.web.processor.reftree.TreeRefQueryInfo;
import nccloud.framework.web.ui.meta.RefMeta;
import nccloud.pubitf.platform.db.SqlParameterCollection;
import nccloud.web.refer.DefaultGridRefAction;
/**
* 客商对照表参照
*/
public class CustCrossRefModel extends DefaultGridRefAction{
public CustCrossRefModel() {
}
@Override
public RefMeta getRefMeta(RefQueryInfo paramRefQueryInfo) {
RefMeta meta = new RefMeta();
meta.setTableName("v_custcross");
meta.setExtraFields(new String[] { "gs", "ks" ,"xspq","fzxx","khlx","gyslx","pk_ks"});
meta.setPkField("pk_head");
meta.setCodeField("gs");
meta.setNameField("gs");
return meta;
}
@Override
public String getExtraSql(RefQueryInfo refQueryInfo, RefMeta refMeta) {
return null;
// String pk_org = getPk_org(refQueryInfo);
// String Extsql = " and pk_group = ?";
// if (pk_org == null || StringUtils.trim(pk_org).equals("")) {
// return Extsql;
// }
// Extsql += " and pk_org_v = ? ";
// return Extsql;
}
@Override
public SqlParameterCollection getExtraSqlParameter(RefQueryInfo refQueryInfo, RefMeta refMeta) {
return null;
// SqlParameterCollection sc = new SqlParameterCollection();
// String groupId = SessionContext.getInstance().getClientInfo().getPk_group();
// String pk_org = getPk_org(refQueryInfo);
// sc.addVarChar(groupId);
// if (pk_org != null && !StringUtils.trim(pk_org).equals("")) {
// sc.addVarChar(pk_org);
// }
// return sc;
}
@Override
public String getOrderSql(RefQueryInfo refQueryInfo, RefMeta refMeta) {
return " order by gs,ks desc ";
}
}
3. 前台js home\hotwebs\nccloud\resources\arap\refer\pub\CustCrossGridRef\index.js
import { high } from 'nc-lightapp-front';
import { conf as unitConf } from '../../../../uap/refer/riart/groupTableRef/index';
const { Refer } = high;
export default function (props = {}) {
var conf = {
multiLang: {
domainName: 'arap',
currentLocale: 'simpchn',
moduleId: 'refer'
},
//width:'80%',
refType: 'grid',
refName: '客商对照表参照',//客商对照表参照
placeholder: '客商对照表',//客商对照表
refCode: 'arap.refer.pub.custCrossRefModel',
queryGridUrl: '/nccloud/arap/ref/custCrossRefModel.do',
isMultiSelectedEnabled: false,
columnConfig: [{
name: [ '公司', '客商','销售片区','辅助信息','客户类别','供应商类型' ],
code: [ "gs", "ks" ,"xspq","fzxx","khlx","gyslx" ]
}],//公司,客商,销售片区,辅助信息,客户类别,供应商类型
isMultiSelectedEnabled: false,
unitProps: unitConf,
isShowUnit: false
};
return <Refer {...Object.assign(conf, props)} />
}
4. 添加鉴权文件及权限控制文件
home\hotwebs\nccloud\WEB-INF\extend\yyconfig\modules\wcy\authorize\wcy_authorize.xml
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<authorizes>
<authorize>
<appcode>*</appcode>
<actions>
<action>arap.ref.custCrossRefModel</action>
</actions>
</authorize>
</authorizes>
home\hotwebs\nccloud\WEB-INF\extend\yyconfig\modules\wcy\action\wcy_action.xml
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<actions>
<action>
<name>arap.ref.custCrossRefModel</name>
<label>参照客商对照</label>
<clazz>nccloud.web.arap.ref.CustCrossRefModel</clazz>
</actions>
5. 界面设置自定义项为参照,设置完成后需要修改元数据属性,这样才能自动翻译自定义参照。否则需要修改界面的查询类,在查询类中进行手动翻译。
select metadataproperty
from pub_form_property
where classid = '969c2b2d-9abb-4dcc-8a0e-7e9e8fb378ff'
and metapath in ('vdef1') and datatype = '204' for update--cmp.informer.vbillno
注意
- 当参照前端js及后台类都完成后,但是页面仍然不能选择
- 在动态建模平台-开发配置-应用注册-要调整的单据的卡片-页面模板注册-设置页面模板-下一步-表头/表体-找到对应字段删除-新增元数据-保存-关闭
- 表体需要把浏览区、编辑区、编辑浏览区三个页签的字段都做找到对应字段删除-新增元数据操作
- 如果还是不能选择,选中你要调整的字段-右侧高级属性-类型设置-选择-确定-保存