1.日付フィールドの選択範囲を制御します。たとえば、コスト生成日は、現在の日付の10日前から今日までしか選択できません。それ以外の場合、プロセスを送信することはできません。
封装方法: cus_judgeDateRange(fieldid, floorday, upperday)
* @param {
fieldid} 日期字段ID
* @param {
floorday} 下限天数(与当前日期比较),空值代表不限制
* @param {
upperday} 上限天数(与当前日期比较),空值代表不限制
* @return 返回true表示在范围内,false表示超出限定范围或日期置为空
2. 2つの日付と時刻のフィールドの組み合わせの時間差をリアルタイムで計算し、別のフィールドに割り当てます。
パッケージ化方法:cus_CalTimeDiff(begfields、endfields、unit、digit)
* @param {
begfields} 开始时间
* @param {
endfields} 结束时间
* @param {
unit} 计量结果单位1(天)、2(小时)、3(分钟)、4(秒),默认为天
* @param {
digit} 计算结果保留小数位数,默认2位小数
* @return 以endfields字段值减去beginfields字段值得到时间差值
3.プロセスを送信する場合、検証の終了時刻は開始時刻よりも長くする必要があります。それ以外の場合、プロセスの送信は許可されません。
パッケージメソッド:cus_CompareTime(timefield1、timefield2)
* @param {
timefield1} 字段1(开始时间)
* @param {
timefield2} 字段2(结束时间)
* @return 返回true表示timefield2较大,false表示timefield1较大或相等
* 注:timefield1/timefield2结构,可为单独日期字段、单独时间字段、日期+时间组合字段(以英文逗号隔开);日期字段空值默认取今天,时间字段空值默认为00:00
4. E8フォームフィールドにラジオボタン(ラジオスタイル)がありません。ラジオボタンを実現するにはどうすればよいですか?選択ボックスフィールドを単一選択ボックスの表示/編集に変換します
封装方法:cus_ConvertSelectToRadio(fieldids)
* @param {
fields}字段id集合,以逗号隔开
* 注:转换后可能不支持联动功能,只是转换样式显示/编辑
5.さまざまな選択ボックスの値に従って、詳細領域の表示と非表示を制御します
步骤一:设计器明细所在单元格/行设置自定义属性name:_detailarea
步骤二:代码块插入
cus_HideAreaByName("_detailarea"); //封装的根据name属性隐藏区域方法
cus_ShowAreaByName("_detailarea"); //封装的根据name属性显示区域方法
6.選択ボックスの異なる値に従って、詳細列の非表示/表示を制御します
步骤一:需要隐藏的列设置列自定义属性class:_detailcolumn
步骤二:代码块插入
封装接口:cus_ControlDetailColumnByClass(cusclassname, status)
* @param {
cusclassname} 列自定义class属性
* @param {
status} 1为显示,2为隐藏
7、指定されたフィールドが必須であることを確認します
cus_verifyExistNullField("field13031,field13032", "字段未填写"); //封装的校验是否存在空值字段方法
8.フィールドIDに従って、フィールドの対応する値を直接取得します
cus_getFieldValue(fieldid)
9、テキストタイプフィールドに値を割り当てます
cus_setInputFieldValue(fieldid, fieldvalue)
10.詳細行で注意すべき点
明细行数据行数:indexnum0
明细行序号行数:nodesnum0
11.ブラウジングボタンのステッチを処理します
function BrowseBoxData(viewtype, ahtml, id) {
var ismust = 1;
if (viewtype == '1') {
ismust = 2;
}
var str = "<span class=\"e8_showNameClass\">";
str += ahtml;
// str += "<span class=\"e8_delClass\" id=\"" + id + "\" οnclick=\"del(event,this," + ismust + ",false,{});\" style=\"opacity: 1; visibility: visible;\"> x </span></span>";
str += "<span class=\"e8_delClass\" id=\"" + id + "\" οnclick=\"del(event,this," + ismust + ",false,{});\" style=\"opacity: 0; visibility: hidden;\"> x </span></span>";
return str;
};
12.すべての詳細行を削除します
$("#detailDiv_0").find("tr").each(function(){
if("datarow" == $(this).attr("_target")){
$(this).remove();
}
});
13、ブラウジングボタン
1をシミュレートし、ブラウジングクリックイベントを書き換えます
2.ajaxを使用してバックグラウンドjspページを呼び出します
14.プロセスバインディングイベントの注意事項
プロセス自体には多くのバインディングイベントがあるため、多くの場合、attrを使用して対応するイベントをスプライスすることはできません。bindPropertyを使用してバインドすることをお勧めします。
15.提出前に行ったjs
checkCustomize = function (){
//提交的时候判断
if(true){
流程提交
}else{
流程不提交
}
}
コメント欄にメッセージを残して、一緒に話し合ってください~~~
必要に応じて、WeChat:hdygzh2019に連絡してください。同時に、あなたの意図を説明し、一緒に進歩してください!!!