【亚伟-苍穹系列】之配置参数页面开发原创
金蝶云社区-王亚伟
王亚伟
3人赞赏了该文章 1,133次浏览 未经作者许可,禁止转载编辑于2022年05月05日 14:43:39

    

    虽然目前系统中有系统参数、单据参数可以用来给用户配置一些公用的参数信息,但是因为一些用户之前可能用惯了其他系统的一些功能,还是希望能够直接在相应的模块下面进行参数设置,方便他们的操作习惯,下面就介绍一下如何在苍穹里面新建一个配置界面。

    

    我们新建的配置界面和新建基础资料、单据是相同的操作步骤,根据需要自行选择不同的模板进行创建,此处以基础资料模板为例进行演示;


    1、新建一个配置页面,以基础资料模板为模板进行创建;

    

1.png


    2、隐藏掉不需要的按钮,增加需要的字段;

2.png


    3、增加编辑界面插件类,实现只保存和显示一条配置数据的效果(菜单配置时,只需要配置编辑界面即可)

image.png

    代码如下:

package com.dykw.pr.prm.buiness;
import kd.bos.base.AbstractBasePlugIn;
import kd.bos.bill.BillShowParameter;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.entity.datamodel.events.BizDataEventArgs;
import kd.bos.form.ShowType;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.servicehelper.BusinessDataServiceHelper;

public class ConfigPageEdit extends AbstractBasePlugIn{
	private final static Log logger = LogFactory.getLog(ConfigPageEdit.class);

	public static final String KEY_BILL 		= "zhek_configpage";	//当前单据标识
	
	/** (non-Javadoc) 创建新数据 --因为配置页面只能配置一条数据,所以挂出的菜单页面只能打开一条数据,如果有默认数据就带出,如果没有默认数据就新增
	 * @see kd.bos.entity.datamodel.events.IDataModelListener#createNewData(kd.bos.entity.datamodel.events.BizDataEventArgs)
	 */
	@Override
	public void createNewData(BizDataEventArgs e) {
		// TODO Auto-generated method stub
		super.createNewData(e);
		
		//查询是不是有历史数据,有历史数据加载历史数据,没有历史数据新增
		DynamicObject[] load = BusinessDataServiceHelper.load(KEY_BILL, "id", null);
		if(load.length>0) {
			BillShowParameter showParameter = new BillShowParameter();
			showParameter.setPkId(load[0].get("id"));
			// 设置BillFormId,为列表所对应单据的标识
			showParameter.setFormId(KEY_BILL);
			// 设置弹出页面的打开方式
			showParameter.getOpenStyle().setShowType(ShowType.InCurrentForm);
			// 绑定子页面到当前页面
			this.getView().showForm(showParameter);
		}
		
	}	
}

    

    4、效果如下


    第一次进入时:image.png

    第二次进入时:

image.png


    

    以上仅供参考,如有疑问,请留言交流,如果能够帮到您,请点赞、收藏、转载,谢谢各位客官光临【emoji】

        

图标赞 3
3人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!