NCC自定义参照开发

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及后台类都完成后,但是页面仍然不能选择
  • 在动态建模平台-开发配置-应用注册-要调整的单据的卡片-页面模板注册-设置页面模板-下一步-表头/表体-找到对应字段删除-新增元数据-保存-关闭
  • 表体需要把浏览区、编辑区、编辑浏览区三个页签的字段都做找到对应字段删除-新增元数据操作
  • 如果还是不能选择,选中你要调整的字段-右侧高级属性-类型设置-选择-确定-保存
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值