问题1:协同开发平台渲染页面出现异常,参数appCode【A】和serviceCode/pageCode【B】不匹配?
         答复:

       问题原因是页面选的编码【A/B】不存在,及应用A下不存在编码为B的服务编码或者页面编码,解决方法是进入设计页面重新选择新的编码或者到应用A下新增编码B。

问题2:如何设置树目录?
         答复:
  • Key为“”,否则新增parentI报错;

         

  • key字段名设置,否则url传参会有问题;

     

  • 右键参数设置。

​​​​​​​     

        

问题3:JS怎么自定义验证?
         答复:

    JS自定义验证增加如下代码:

// 新增存在验证规则
			wui.addValidateMethod("exist", function(value, element){
				if($("#param1").val()){
					return true;
				}
				return $("#sql1").val() != "";
			},"验证属性名和查询数据SQL属性需任意填写一项");

 

问题4:怎么设置动态加载验证规则?
         答复:

   动态加载验证规则增加如下内容:

<!--
 * @Author: feily
 * @Date: 2020-02-19
 * @Description: 重载初始化表单验证
 --> 
 
<script type="text/javascript">

	// 重载初始化表单验证
	function initFormValidate(){
		
		var isCatalog = _queryParams.isCatalog || false;
		if(isCatalog){
			
			// 隐藏菜单地址
			$("#menuUrlCell_label").hide();
			$("#menuUrlCell").hide();
			$("#menuUrl").attr("validate", "");
		}
		
		// 初始化表单验证
		_initFormValidate();
	}
	
</script>

 

问题5:怎么将多张表信息合并到1个树目录里?
         答复:

  需要增加如下代码信息。 

SELECT NULL AS
	`parentId`,
	`a`.`app_id` AS `id`,
	`a`.`app_name` AS `name`,
	'app' AS `type`,
	`a`.`order_num` AS `order_num`,
	`a`.`app_id` AS `app_id`,
	'' AS `group_id`,
	`a`.`tenant_code` AS `tenant_code` 
FROM
	`v_sys_application` `a` UNION
SELECT
	( CASE WHEN ( `g`.`parent_group_id` IS NOT NULL ) THEN `g`.`parent_group_id` ELSE `g`.`app_id` END ) AS `parentId`,
	`g`.`group_id` AS `id`,
	`g`.`group_name` AS `name`,
	'group' AS `type`,
	`g`.`order_num` AS `order_num`,
	`g`.`app_id` AS `app_id`,
	`g`.`group_id` AS `group_id`,
	`g`.`tenant_code` AS `tenant_code` 
FROM
	`fpj_page_group` `g`

 

问题7:怎么隐藏列表中的操作列?
         答复:

 在列表操作一列,点击高级属性,在控制样式类里增加“{{if masterPageType!='form'}} hide{{/if}}”,如下图所示: 

        

问题8:逻辑删除怎么加条件?
         答复:

     SQL语句里条件前加"IN",如下图所示:

     

问题9:入库字段与预想不一致的情况怎么追查?
         答复:

预览页面,保存之前,点击“检查”查看network

点击保存,查看请求的参数情况:核查字段传的是否对,就可以追查到问题。

问题10:应用系统引用配置框架跨域问题如何解决?
         答复:

       方案一:目前新版wui框架支持弹层的时候自动检测是否跨域,如果跨域的话,将不会在顶层弹出,而会向下层级查找可弹出的非跨域窗口;
       方案二:如果内嵌页面的话可以采用弹出新窗口形式代替弹层。

问题11:表单中B字段是根据A字段所选项显示相应选项范围怎么配置?
         答复:

表单中B字段是根据A字段所选项显示相应选项范围怎么配置,比如说,有两个下拉选择,一个(orgId)是部门,一个(userId)是部门下的用户,该下拉选择需根据orgId查询下面的users,就在部门组件那边配置如图

用户那个组件不需要配置联动的内容,只需要接口那边配置多一个查询条件orgId即可。

问题12:字段下拉选择后,需要保存2个值的情况,如何配置?
         答复:

字段下拉选择后,需要保存2个值的情况,如线路下拉选择后,需要存lineId和lineName两个信息,如何配置?该字段配置如下图:选中该字段,在属性->数据设置中配置如下信息。

问题13:树列表与子列表效果
         答复:

树列表效果如下:

子列表效果如下:

问题14:树目录有多级,第一级出现选择不到的现象,怎么解决?
         答复:

树目录有多级,第一级选择不到,现象如以下图:

解决办法:第一级的数据选不到,设置前端新增树根节点。

 

问题15:发起流程出现Application编码问题怎么解决
         答复:

发起流程出现Application编码问题一般是该编码取值不正确,可以手动更改。

首先,在流程列表里查看该流程对应的Application编码;

然后打开流程发起按钮的页面,进入页面设计界面里;

将鼠标定位到该按钮处,弹出页面传递参数->页面参数值更改为查看到的Application编码即可。

问题16:怎么将非菜单的目录显示在应用系统左边目录树中?
         答复:

目前系统只有菜单才会显示在应用系统的左边目录树中

如要将现有页面或其他显示在系统左边树目录中,可将其转换为菜单,就可以显示出来;

问题17:列表中选择某项,已选择区域仍未显示的问题
         答复:

弹出框选择界面中,选择列表中某项,右边已选择区域未显示,且提示“添加数据不能为空”:

返回到列表的设计页面,定位到列表框,检查属性中的“列表主键字段”是否有配置相应主键,注意配置非主键会有影响;

效果如下:

问题18:页面出现挤压现象,如何调整
         答复:

页面出现挤压现象,如何调整

进入该页面设计界面,查看属性->基本设置->单元格id栏,后面是否有"Cell",如果没有就会出现页面挤压变形的情况,默认情况下是有这个信息。

 

问题19:页面有集成不需要显示在菜单里,怎么配置
         答复:

场景:例如项目人员信息和单位信息已和树页面集成在一起,项目人员信息、项目单位信息不需要显示菜单里:

点击该菜单,按右键展开菜单,点击转换成页面,就可以设置为非菜单显示:

问题20:发起流程提示应用编码不存在,怎么解决
         答复:

发起流程提示应用编码不存在,在该页面里配置appID信息。

问题21:表单字段是下拉选项,如何将列表的查询条件也显示为下拉选择
         答复:

表单字段如指标分类配置是下拉组件,且有财务、客户、内部流程选项,列表中的指标分类设置为查询条件,该查询条件也需要提供下拉选择,如何配置?

打开列表的页面设计界面,选择该列,属性->定义初始化列格式及搜索类型里选择“普通下拉框”,在自定义下拉静态数据里配置原来详情页面中的选择集合即可。

预览查看效果如下:

问题22:弹窗的树状选择,怎么设置某些值不能勾选
         答复:

弹窗的树状选择,怎么设置某些值不能勾选,如下场景

在服务接口返回的时候进行设置,空值就可以选,有值就不能选

 

问题23:使用Pageoffice打开Office word报错0x80040154、POBrowse问题
         答复:

当页面使用母版页为"OA流程表单母版页",安装了pageOffice控件后,个别电脑打开正文标签页时,仍有报错的情况,解决办法如下:

一、Pageoffice打开word报错0x80040154问题

1、错误信息

(1)使用pageoffice打开word时候,报错如下:

(2)本地安装过wps但卸载了wps,Microsoft Office图标无法显示,如下图:

2、原因分析:

因为安装WPS时关联了.doc.xls.ppt等文件的图标,卸载WPS时勾选了“保留用户配置文件”,导致Microsoft Office无法自动关联,从而无法显示.doc.xls.ppt等文件的图标。

3、解决方法

(1)重新安装WPS,在开始菜单中找到WPS的“配置工具”并打开。

(2)打开配置工具后,点击“高级”按钮。

(3)取消勾选以WPS默认为指定文件的打开方式。

(4)完成以上设置后,可以发现失去关联的图标又恢复正常显示了。

二、pageoffice打开word报POBrowse应用程序已停止工作问题。

即使用office又使用wps引起的,将word报告默认打开方式设置为office,便可解决该问题。

问题24:行编辑出现“请输入有效网址”的校验怎么解决
         答复:

行编辑输入框输入完内容提示“请输入有效的网址”

 

解决方法:

找到以下属性,将url对应的值置空

保存配置后,别忘记还要再保存页面数据才能生效

问题25:时间段怎么配置显示在同一行
         答复:

时间段如“使用时间”:

配置项:定位到开始时间框,在右边的【属性】->外观->组件样式(style)栏配置宽度,如width:40%;

             结束时间框类似配置。

开始时间至结束时间,“至”需要拖动左边【控件库】的块状元素,然后【属性】->数据设置->组件样式(style)配置display:inline-block;

保存后页面预览就可以看到以上效果。

问题26:列表项为数据字典,查询条件怎么设置可以多选查询
         答复:

场景:如表单字段引用了数据字典,列表由该表单产生,列表查询条件里,查询条件需要多个选项一起查询,怎么配置?

解决方法:

进入列表的【页面设计】界面中,右边【属性】->数据设置

1、在"组件自定义配置",配置以下信息:

{
    "maxNumber": false
}

2、在“搜索匹配模式”栏选择"属于"。

问题27:流程表单里有列表,打开列表详情,查看名称一栏为空,未显示所选内容的名称
         答复:

场景:流程表单里有列表,打开列表详情,查看名称一栏为空,未显示所选内容的名称

解决方法:

1、打开表单中列表的【页面设计】界面,定位到该列表位置,点击属性->基本设置->表单初始化服务编码,可打开相应服务;

2、点击服务步骤里的【设置此节点】,关联模型,并在关联模型条件里,关联字段,名称主要ID、名称2个字段,ID等于需要选择默认关联模型的相应ID,保存

3、返回应用界面查看效果。

问题28:选择树目录中的根目录出现报错,怎么解决?
         答复:

场景:选择树目录中的根目录出现报错,如下:

解决方法:

      打开树目录页面,进入到页面设计中,点击底部日期,此时属性的复制旁边会出现大括号图标,点击该图标,进入页面代码界面,增加如图红框里的参数"unselectable": true,即可解决。

问题29:列表字段预览显示空白怎么解决?
         答复:

问题场景:打开台账,创建人一列为空白,未取到数据

原因分析

(1)列表对应数据字段名设置错误

(2)分页查询服务里面未设置该字段

解决办法:

      将下滑线用驼峰格式代替:例如将“create_user_name”改为“createUserName”导出功能配置导出字段时下划线也要转换成驼峰格式,否则导不出内容。

 

问题30:下拉选的选项被并遮挡住无法完全展示
         答复:

问题场景:下拉选的选项被并遮挡住无法完全展示

原因分析:这个前端遮挡问题,是因为第一个tab页的高度限制导致(且由于平台限制无法调整该TAB页的高度)

解决方案:

(1)下拉选三种实现方式:

     ①数据字典:在数据字典中预先设置下拉选项

     ②下拉组件:页面组件属性中设置下拉选项

     ③下拉选择:通过连接服务获取下拉选项,具体获取的内容在服务中获取

 (2)受TAB页高度限制无法完全展示下拉选项的解决方案

    ①在自定义脚本中用代码固定样式

<style type="text/css" media="all">
    .page-main {
        overflow:visible !important
    }
</style>

②编制组件的JSON代码

 

 

 

问题31:弹窗标题怎么添加?
         答复:

解决办法:找到触发弹窗的按钮,编辑以下属性

 

问题32:如何自定义输入框提示文本?
         答复:

问题场景:在下面“整改单名称”的输入框里加提示“整改单名称由系统自动生成,不可修改”。

解决方案

(1)选中组件,复制组件ID,打开自定义脚本

(2)在页尾脚本中输入如下代码:

<script>
    $('#rectificationName').attr('placeholder','整改单名称由系统自动生成,不可修改');
</script>

其中“rectificationName”为组件ID,需根据需要替换为实际组件ID,“整改单名称由系统自动生成,不可修改”为提示文本内容,根据需要替换即可,其它脚本内容固定不变。

问题33:拼接表单已填字段的内容自动生成其它字段的值?
         答复:

问题场景:按“线路标段/工区专业(类型)整改单日期”规则自动生成整改单名称,如“整改单名称”一栏取值为“广州地铁十号线测试标段安全质量(A类)20210630”

解决方案:

(1)获取线路名称、标段/工区名称、专业名称、类型名称

多个数据字典字段时可将“表单取值时冗余Text字段名”分别设置为“itemText”、“itemText1”、“itemText2”……以此类推来达到区分的目的,避免服务中取值错误

获取问题类型组件ID,条件判断需要使用

(2)表单保存服务添加参数并编写规则

①打开表单新增时的保存服务

②增加条件判断

此例中:专业=安全质量时才会显示问题类型,否则这个字段是隐藏不显示的即值为空,此时就无须拼接问题类型生成整改单名称;因此需要增加判断以便根据问题类型的值不同生成不同格式的整改单名称;

problemType[奈1]  == NULL

problemType != NULL

③在条件判断下分别定义参数,编辑各条件下的名称生成规则

#buildNumber(${param.projName}${param.segmentName}${param.itemText1}${now.yyyyMMdd})#

#buildNumber(${param.projName}${param.segmentName}${param.itemText1 }(${param.itemText2 })${now.yyyyMMdd})#

 

 

问题34:公共文档库,通用内嵌附件页面功能如何配置
         答复:

问题场景:资料库添加文档类型,复制新建资料类型的业务编码

解决方案:

(1)触发表单按钮(新增按钮)传递参数,将同一个uuid分别传给reportId和businessDataId

reportId:表单主键字段

businessDataId:公共页面使用的主键字段

(2)配置内嵌附件页面,向内嵌页面传递参数bussinessCode和bussinessDataId;

页面编码为:epmHfCommon/fileList

传递参数为: bussinessCode为新建资料类型的业务编码,此例为qualityReport;bussinessDataId为内嵌页面需要用的;businessDataId是新增弹窗传过来的值。

{

    "bussinessCode": "qualityReport",

    "bussinessDataId": "{businessDataId}"

}

(3)由于新增弹窗已传递表单主键id,此处就无须设置默认值了

需要如下配置:

问题35:表单嵌套列表,列表里未显示弹窗页面新保存的记录怎么解决?
         答复:

问题场景:点击添加不合格项,进入弹窗填写不合格项明细,点击保存退出弹窗后不合格项明细列表未显示出新增的记录

原因分析:触发弹窗的按钮未绑定列表,导致数据无法刷新

解决方案:将列表组件id与弹窗触发按钮绑定即可

问题36:更换环境后,人员选择列表不全,新增表单未隐藏意见框
         答复:

问题场景:

(1)测试环境:平台角色已经配置了人员,但是收文流程指派给该角色时未显示新增加的人。

(2)测试环境:更新后流程发起表单页面未隐藏审批意见,流程中开始步骤已经设置了隐藏但未生效,且开发环境测试正常。

原来分析:将功能页面从开发环境更新到测试环境后,测试环境中的流程未刷新

解决办法:在测试环境中手动刷新流程即可

 

问题37:列表显示流程状态如何设置?
         答复:

解决方案:步骤如下

(1)分页查询服务联查状态表,查出状态字段

(2)列表状态字段设置成数据字典组件,并绑定公用状态字典

问题38:根据表单已填写字段内容设置其它组件的隐藏属性
         答复:

使用场景

当专业选择“安全质量”时显示问题类型组件,否则隐藏(示例1页面初始化时专业根据入口不同会有默认值,不会出现值为空的情况,示例2会出现值为空的情况);

配置步骤

(1)打开交互,编辑值改变事件

(2)增加隐藏场景和隐藏操作

(3)增加显示场景和显示操作

问题39:组件间取值计算怎么设置?
         答复:

使用场景:

不合格总次数=历史不合格次数+新增不合格次数

历史不合格次数:系统上线前的历史数据,由安质处手动填写;

新增不合格次数:系统上检测不合格项细项记录条数,由第三方检测单位提交,一条不合格项细项记录对应一次不合格次数,依次累加;

  • 功能说明

场景一:系统初始化时,需先添加供应商(此时无新增不合格项)à在供应商详情表单中填写历史不合格次数à系统自动计算不合格总次数(因为新增不合格项为0此时不合格总次数就等于历史不合格次数)à根据不合格项总次数生成黑名单情况(总次数>=2时纳入黑名单否则不纳入黑名单)

场景二:系统上线后,第三方检测单位提交检测不合格项à根据不合格细项记录条数生成新增不合格项次数,系统自动计入并更新不合格项总次数中à材料供应商界面查看时表单时显示的是更新后的总次数

场景三:修改材料供应商表单中的历史不合格次数à系统自动计算不合格总次数(总次数=历史不合格次数+新增不合格项次数即检测不合格项中添加的不合格项次数)à根据新的总次数生成黑名单状态

设置步骤:

(1)表单添加历史不合格次数组件,设置为“下拉组件”

交互操作中“设置选中项”操作不能设置“数据字典组件”只能设置“下拉组件”,所以这里表单中使用下拉选,台账显示使用数据字典,将两者的显示值和保存值设置成一样即可;

(2)数据字典、材料供应商台账配置

(3)添加服务,写SQL语句计算不合格项总次数

select
       (SELECT count(1) AS sumCount
          FROM bp_material_unqua_detal
          WHERE 1=1
            AND supplier_id  = #supplierId#)
             +
            (#everUnqualifiedTimes#)
             as ut 
            from dual

(4)组件配置交互,值改变时触发计算服务

(5)组件配置交互,值改变时设置选中项

①配置已纳入黑名单场景和操作

不合格总次数>=2,自动纳入黑名单

②配置未纳入黑名单场景和操作

不合格总次数<2,不纳入黑名单


 [奈1]不合格项细项表

 [奈2]供应商ID

 [奈3]查出新增不合格次数,一条不合格项细项记录对应一次

 [奈4]算和,加上历史不合格次数

 [奈5]历史不合格次数,从表单中获取的参数,在交互中配置传进来

 [奈6]SQL查询出的字段必须取别名(此处ut就是别名),不然会报错,组件交互配置中需要使用此别名

 [奈7]dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。具体使用说明可百度。

 

问题40:公用页面如何隐藏操作按钮?
         答复:

使用场景:材料种类选择弹窗与材料种类列表页面使用的同一个页面,需要在选择弹窗中隐藏导入导出等按钮(目前新增按钮会直接隐藏,其它按钮不行)

  1. 目前XC无法通过配置实现,需编写自定义脚本
  • 在触发弹窗的组件中自定义参数(注意不要使用公用参数名称):mudSate=hide

  • 在列表页面编辑自定义脚本
<script>
    $(function(){
      var _queryParams = wui.getQueryString(); // 请求参数
   //隐藏新增按钮,因为公用一个页面,根据入口参数判断
    if(_queryParams.mudSate =="hide"){
           $("#btnInput").attr("style","display:none;");
           $("#btnOutput").attr("style","display:none;");    
    }
    });
</script>


 
问题41:多租户流程发起按钮参数配置?
         答复:

问题场景:流程发起按钮参数配置,如多租户里面(功能放在XX产品里面的)如果带有流程的功能,需要在【发起流程】(即打开新增流程表单的那个入口)报错详情:


解决方案:

如下配置这三个参数:

tenantCode=${thisApp.tenantCode}

isExtProcess=true

appid=${thisApp.appId}

(否则在cloudmtr租户开发配置的,在hfgdjt租户发起流程就会报错)

问题42:台账新增/修改记录报表不存在的错
         答复:

问题场景:台账新增/修改记录报表不存在的错,创建出现异常

java.sql.SQLSyntaxErrorExeption:Table’epm_cloud.bp_pm_progress_type’doesn’t exist

原因分析:XC平台创建了模型但是没有同步到数据库时,进行添加删除记录会报错

解决方案:

在模型管理中找到该模型,进入模型编辑页面,执行“保存并更新数据库表”操作即可创建表。

问题43:进入新增树列表页面,报数据不存在的错
         答复:

问题场景:进入新增弹窗应该默认显示空白,但是报“获取出现异常:获取失败(数据不存在)”的错

原因分析:新增按钮传的参数错误:实际应该是add而不是edit;XC以编辑动作进入页面时后台会查询显示表单字段内容,新增时没有记录所以查不出来就报错了。

解决方案:修改新增按钮传的参数,把“add”传给“action”参数

问题44:服务里新增获取编号参数后流程表单点击保存报错
         答复:

问题场景:定义参数出现异常

原因分析:

参数默认值表达式格式错误 ,系统不支持

#buildNumber(${param.itemText}[${now.yyyy}]${dayNum.now.yyyy-xt(2)}号)#

不支持“[]”,目前特殊符号只支持“-”,如下 示例不会报错:

#buildNumber(${param.itemText}-${now.yyyy}-${dayNum.now.yyyy-xt(2)}号)#

解决方案:

修改编号获取参数设置,多次构建然后用字符串拼接生成最终表达式

#buildNumber(${param.itemText})#+'['+#buildNumber(${now.yyyy})#+']'+#buildNumber(${dayNum.now.yyyy-xt(2)}号)#