?? form1.php
字號:
if($ENAME=="INPUT")
{
if(!strstr($ELEMENT_OUT,"type=checkbox")) //textfield
{
$ELEMENT_OUT=str_replace("value=$EVALUE","",$ELEMENT_OUT);
$ELEMENT_OUT=str_replace("<$ENAME","<$ENAME value='$ITEM_VALUE'",$ELEMENT_OUT);
}
else
{
$ELEMENT_OUT=str_replace(" CHECKED","",$ELEMENT_OUT);
if($ITEM_VALUE=="on")
$ELEMENT_OUT=str_replace("<$ENAME","<$ENAME CHECKED",$ELEMENT_OUT);
}
}
else if($ENAME=="TEXTAREA")
{
$ELEMENT_OUT=str_replace(">$EVALUE<",">$ITEM_VALUE<",$ELEMENT_OUT);
}
else if($ENAME=="SELECT" && $ITEM_VALUE!="" && $ECLASS!="AUTO")
{
$ELEMENT_OUT=str_replace(" selected","",$ELEMENT_OUT);
$ELEMENT_OUT=str_replace("<OPTION value=$ITEM_VALUE>","<OPTION selected value=$ITEM_VALUE>",$ELEMENT_OUT);
$ELEMENT_OUT=str_replace("<OPTION value=\"$ITEM_VALUE\">","<OPTION selected value=$ITEM_VALUE>",$ELEMENT_OUT);
}
//------------------------------------ 特殊控件:日期、計(jì)算、宏、列表控件 -----------------------------
if($ECLASS=="DATE") //日期控件
{
$ITEM_ID1=0;
for($I=0;$I<$ITEM_ID_MAX;$I++)
{
$ELEMENT1=$ELEMENT_ARRAY[$I];
$ETITLE1=get_attr($ELEMENT1,"TITLE");
$ECLASS1=get_attr($ELEMENT1,"CLASS");
if($ECLASS1!="DATE")
$ITEM_ID1++;
if($ETITLE1==$EVALUE)
{
$ITEM_STR="DATA_".$ITEM_ID1;
break;
}
}
$ELEMENT_OUT="<IMG class=DATE align=absmiddle title=日期控件:$EVALUE style=\"CURSOR: hand\" src=\"/images/menu/calendar.gif\" border=0 onclick=\"td_calendar('$ITEM_STR')\">";
}
elseif($ECLASS=="CALC") //計(jì)算控件
{
$J=0;
for($I=0;$I<$ITEM_ID_MAX;$I++)
{
$ELEMENT1=$ELEMENT_ARRAY[$I];
$ETITLE1=get_attr($ELEMENT1,"TITLE");
$ECLASS1=get_attr($ELEMENT1,"CLASS");
if($ECLASS1!="DATE")
$J++;
else
continue;
$ETITLE_ARRAY[$J]=$ETITLE1;
}
$EVALUE1=$EVALUE."#";
$POS=0;
$ECALC1="";
$ECALC2="";
while($POS<strlen($EVALUE1))
{
$STR=substr($EVALUE1,$POS,1);
$POS++;
if($STR=="+"||$STR=="-"||$STR=="*"||$STR=="/"||$STR=="("||$STR==")"||$STR=="^"||$STR=="#")
{
if($ECALC2!="")
{
if(!is_numeric($ECALC2))
{
$ARRAY_COUNT=sizeof($ETITLE_ARRAY);
if($ETITLE_ARRAY[$ARRAY_COUNT-1]=="")$ARRAY_COUNT--;
for($J=0;$J<$ARRAY_COUNT;$J++)
{
if($ETITLE_ARRAY[$J]==$ECALC2)
{
$ECALC1.="calc_getval(document.form1.DATA_".$J.".value)";
$ECALC2="";
break;
}
}
}
else
{
$ECALC1.=$ECALC2;
$ECALC2="";
}
}
if($STR!="#")
$ECALC1.=$STR;
}
else
$ECALC2.=$STR;
}
$ELEMENT_OUT.="\n<script>function calc_$ITEM_ID(){ myvalue=$ECALC1; if(!isNaN(myvalue))document.form1.DATA_$ITEM_ID.value=Math.round(myvalue * 100)/100; else document.form1.DATA_$ITEM_ID.value=\"\"; setTimeout(\"calc_$ITEM_ID()\",1000);} setTimeout(\"calc_$ITEM_ID()\",3000);</script>";
}
elseif($ECLASS=="AUTO") // 宏控件
{
$EDATAFLD=get_attr($ELEMENT,"DATAFLD");
$AUTO_VALUE="";
if($ENAME=="INPUT") // 宏控件單行輸入框
{
switch($EDATAFLD)
{
case "SYS_DATE":
$AUTO_VALUE=$CUR_DATE;
break;
case "SYS_DATE_CN":
$AUTO_VALUE=format_date($CUR_DATE);
break;
case "SYS_TIME":
$AUTO_VALUE=$CUR_TIME1;
break;
case "SYS_DATETIME":
$AUTO_VALUE=$CUR_TIME;
break;
case "SYS_USERID":
$AUTO_VALUE=$LOGIN_USER_ID;
break;
case "SYS_USERNAME":
$query_auto="SELECT * from USER where USER_ID='$LOGIN_USER_ID'";
$cursor_auto = exequery($connection,$query_auto);
if($ROW=mysql_fetch_array($cursor_auto))
$AUTO_VALUE=$ROW["USER_NAME"];
break;
case "SYS_DEPTNAME":
$AUTO_VALUE=dept_long_name($LOGIN_DEPT_ID);
break;
case "SYS_FORMNAME":
$AUTO_VALUE=$FORM_NAME;
break;
case "SYS_RUNNAME":
$AUTO_VALUE=$RUN_NAME;
break;
case "SYS_RUNDATE":
$AUTO_VALUE=$PRCS_DATE;
break;
case "SYS_RUNDATETIME":
$AUTO_VALUE=$PRCS_DATE_TIME;
break;
case "SYS_IP":
$AUTO_VALUE=$_SERVER["REMOTE_ADDR"];
break;
case "SYS_SQL":
$EDATASRC=get_attr($ELEMENT,"DATASRC");
$EDATASRC=str_replace("`","'",$EDATASRC);
$EDATASRC=str_replace("[SYS_USER_ID]",$LOGIN_USER_ID,$EDATASRC);
$EDATASRC=str_replace("[SYS_DEPT_ID]",$LOGIN_DEPT_ID,$EDATASRC);
$EDATASRC=str_replace("[SYS_RUN_ID]",$RUN_ID,$EDATASRC);
$cursor_SYS_SQL = exequery($connection,$EDATASRC);
if($ROW=mysql_fetch_array($cursor_SYS_SQL))
$AUTO_VALUE=$ROW[0];
break;
}
//--- 宏控件單行輸入框的自動賦值,數(shù)據(jù)庫為空值且為可寫字段時將自動取值,或者是設(shè)定為允許在非可寫狀態(tài)下賦值的宏控件 ---
if($ITEM_VALUE=="" && (!$READ_ONLY||find_id($PRCS_ITEM_AUTO,$ETITLE)))
{
$ELEMENT_OUT=str_replace("value=$EVALUE","",$ELEMENT_OUT);
$ELEMENT_OUT=str_replace("value=''","",$ELEMENT_OUT);
$ELEMENT_OUT=str_replace("<$ENAME","<$ENAME value='$AUTO_VALUE'",$ELEMENT_OUT);
}
}
elseif($ENAME=="SELECT") // 宏控件下拉菜單
{
$AUTO_VALUE="<option value=\"\"";
if($ITEM_VALUE=="")
$AUTO_VALUE.=" selected";
$AUTO_VALUE.="></option>\n";
$ITEM_VALUE_TEXT="";
switch($EDATAFLD)
{
case "SYS_LIST_DEPT":
$AUTO_VALUE.=my_dept_tree(0,$ITEM_VALUE,0);
if($ITEM_VALUE!="")
{
$query_auto="SELECT * from DEPARTMENT where DEPT_ID=$ITEM_VALUE";
$cursor_auto = exequery($connection,$query_auto);
if($ROW=mysql_fetch_array($cursor_auto))
$ITEM_VALUE_TEXT=$ROW["DEPT_NAME"];
}
break;
case "SYS_LIST_USER":
$query_auto="SELECT * from USER,USER_PRIV where USER.USER_PRIV=USER_PRIV.USER_PRIV order by PRIV_NO,USER_NO,USER_NAME";
$cursor_auto = exequery($connection,$query_auto);
while($ROW=mysql_fetch_array($cursor_auto))
{
$USER_ID=$ROW["USER_ID"];
$USER_NAME=$ROW["USER_NAME"];
$AUTO_VALUE.="<option value=\"$USER_ID\"";
if($ITEM_VALUE==$USER_ID)
{
$AUTO_VALUE.=" selected";
$ITEM_VALUE_TEXT=$USER_NAME;
}
$AUTO_VALUE.=">$USER_NAME</option>\n";
}
break;
case "SYS_LIST_PRIV":
$query_auto="SELECT * from USER_PRIV order by PRIV_NO";
$cursor_auto = exequery($connection,$query_auto);
while($ROW=mysql_fetch_array($cursor_auto))
{
$USER_PRIV=$ROW["USER_PRIV"];
$PRIV_NAME=$ROW["PRIV_NAME"];
$AUTO_VALUE.="<option value=\"$USER_PRIV\"";
if($ITEM_VALUE==$USER_PRIV)
{
$AUTO_VALUE.=" selected";
$ITEM_VALUE_TEXT=$PRIV_NAME;
}
$AUTO_VALUE.=">$PRIV_NAME</option>\n";
}
break;
case "SYS_LIST_PRCSUSER1":
$query_auto = "select * from FLOW_PROCESS where FLOW_ID=$FLOW_ID order by PRCS_ID";
$cursor_auto=exequery($connection,$query_auto);
$PRCS_USER="";
while($ROW=mysql_fetch_array($cursor_auto))
$PRCS_USER.=$ROW["PRCS_USER"];
$query_auto = "SELECT * from USER,USER_PRIV where USER.USER_PRIV=USER_PRIV.USER_PRIV order by PRIV_NO,USER_NO,USER_NAME";
$cursor_auto=exequery($connection,$query_auto);
while($ROW=mysql_fetch_array($cursor_auto))
{
$USER_ID=$ROW["USER_ID"];
$USER_NAME=$ROW["USER_NAME"];
if(find_id($PRCS_USER,$USER_ID))
{
$AUTO_VALUE.="<option value=\"$USER_ID\"";
if($ITEM_VALUE==$USER_ID)
{
$AUTO_VALUE.=" selected";
$ITEM_VALUE_TEXT=$USER_NAME;
}
$AUTO_VALUE.=">$USER_NAME</option>\n";
}
}
break;
case "SYS_LIST_PRCSUSER2":
$query_auto = "select * from FLOW_PROCESS where FLOW_ID=$FLOW_ID and PRCS_ID=$FLOW_PRCS";
$cursor_auto=exequery($connection,$query_auto);
if($ROW=mysql_fetch_array($cursor_auto))
$PRCS_USER=$ROW["PRCS_USER"];
$query_auto = "SELECT * from USER,USER_PRIV where USER.USER_PRIV=USER_PRIV.USER_PRIV order by PRIV_NO,USER_NO,USER_NAME";
$cursor_auto=exequery($connection,$query_auto);
while($ROW=mysql_fetch_array($cursor_auto))
{
$USER_ID=$ROW["USER_ID"];
$USER_NAME=$ROW["USER_NAME"];
if(find_id($PRCS_USER,$USER_ID)||($ITEM_VALUE==$USER_ID))
{
$AUTO_VALUE.="<option value=\"$USER_ID\"";
if($ITEM_VALUE==$USER_ID)
{
$AUTO_VALUE.=" selected";
$ITEM_VALUE_TEXT=$USER_NAME;
}
$AUTO_VALUE.=">$USER_NAME</option>\n";
}
}
break;
case "SYS_LIST_SQL":
$EDATASRC=get_attr($ELEMENT,"DATASRC");
$EDATASRC=str_replace("`","'",$EDATASRC);
$EDATASRC=str_replace("[SYS_USER_ID]",$LOGIN_USER_ID,$EDATASRC);
$EDATASRC=str_replace("[SYS_DEPT_ID]",$LOGIN_DEPT_ID,$EDATASRC);
$EDATASRC=str_replace("[SYS_RUN_ID]",$RUN_ID,$EDATASRC);
$cursor_SYS_SQL = exequery($connection,$EDATASRC);
$ITEM_VALUE_TEXT=$ITEM_VALUE;
while($ROW=mysql_fetch_array($cursor_SYS_SQL))
{
$AUTO_VALUE_SQL=$ROW[0];
$AUTO_VALUE.="<option value=\"$AUTO_VALUE_SQL\"";
if($ITEM_VALUE==$AUTO_VALUE_SQL)
$AUTO_VALUE.=" selected";
$AUTO_VALUE.=">$AUTO_VALUE_SQL</option>\n";
}
break;
}
$ELEMENT_OUT=str_replace($EVALUE,$AUTO_VALUE,$ELEMENT_OUT);
}
}
elseif($ECLASS=="LIST_VIEW") //列表控件
{
$LV_ID="DATA_".$ITEM_ID;
$LV_TB_ID="LV_".$ITEM_ID;
$LV_TITLE=get_attr($ELEMENT,"LV_TITLE");
$LV_SIZE=get_attr($ELEMENT,"LV_SIZE");
$ELEMENT_OUT="<TABLE id='$LV_TB_ID' class='LIST_VIEW' style='border-collapse:collapse' border=1 cellspacing=0 cellpadding=2 bordercolor='#000000' FormData='$LV_SIZE'><TR class=TableHeader>\n";
$MY_ARRAY=explode("`",$LV_TITLE);
$ARRAY_COUNT=sizeof($MY_ARRAY);
if($MY_ARRAY[$ARRAY_COUNT-1]=="")$ARRAY_COUNT--;
for($I=0;$I<$ARRAY_COUNT;$I++)
$ELEMENT_OUT.="<TD nowrap>".$MY_ARRAY[$I]."</TD>\n";
$ELEMENT_OUT.="<TD>操作</TD></TR></TABLE>\n";
if(!$READ_ONLY)
$ELEMENT_OUT.="<input type=button value=新增 onclick=\"tb_addnew('$LV_TB_ID',".$READ_ONLY.",'')\">\n";
$ELEMENT_OUT.="<input type=hidden name=".$LV_ID.">\n";
$ELEMENT_OUT.="<SCRIPT>\n";
$ITEM_VALUE=str_replace("'","\'",$ITEM_VALUE);
$ITEM_VALUE=str_replace("\"","\'",$ITEM_VALUE);
$MY_ARRAY=explode("\r\n",$ITEM_VALUE);
$ARRAY_COUNT=sizeof($MY_ARRAY);
if($MY_ARRAY[$ARRAY_COUNT-1]=="")$ARRAY_COUNT--;
for($I=0;$I<$ARRAY_COUNT;$I++)
$ELEMENT_OUT.="tb_addnew('$LV_TB_ID',".$READ_ONLY.",'".$MY_ARRAY[$I]."');\n";
$ELEMENT_OUT.="</SCRIPT>";
}
//------------------------------------ 設(shè)置只讀字段屬性 ---------------------------------
if($READ_ONLY)
{
//改變顏色和設(shè)置只讀標(biāo)記
if(strstr($ELEMENT_OUT,"type=checkbox"))
{
if(strstr($ELEMENT_OUT," CHECKED"))
$ELEMENT_OUT=str_replace("<$ENAME","<$ENAME readonly onclick='this.checked=1;' class=BigStatic1",$ELEMENT_OUT);
else
$ELEMENT_OUT=str_replace("<$ENAME","<$ENAME readonly onclick='this.checked=0;' class=BigStatic1",$ELEMENT_OUT);
}
elseif($ECLASS!="LIST_VIEW")
$ELEMENT_OUT="<$ENAME readonly class=BigStatic1 ".str_replace("<$ENAME","",$ELEMENT_OUT);
//設(shè)置下拉菜單的數(shù)據(jù)為只讀
if($ENAME=="SELECT")
{
$EVALUE=get_attr($ELEMENT_OUT,"VALUE");
if($ECLASS!="AUTO") //非宏控件
$ELEMENT_OUT=str_replace($EVALUE,"<OPTION value=$ITEM_VALUE>$ITEM_VALUE</OPTION>",$ELEMENT_OUT);
else //宏控件如為空時,項(xiàng)目也顯示為空
$ELEMENT_OUT=str_replace($EVALUE,"<OPTION value=$ITEM_VALUE>$ITEM_VALUE_TEXT</OPTION>",$ELEMENT_OUT);
}
}
//------------------------------------ 整理輸出 ---------------------------------
//--- 宏控件單行輸入框,允許刷新進(jìn)行重新賦值
if($ECLASS=="AUTO" && $ENAME=="INPUT" && !$READ_ONLY)
{
$ELEMENT_OUT=str_replace("<$ENAME","<$ENAME Onclick=\"auto_btn(ref_$ITEM_ID)\"",$ELEMENT_OUT);
$ELEMENT_OUT.="<INPUT type=\"button\" id=\"ref_$ITEM_ID\" style=\"display:none\" title=\"重新獲取系統(tǒng)當(dāng)前值\" value=\"刷新\" border=0 onclick=\"document.form1.DATA_$ITEM_ID.value='$AUTO_VALUE'\">";
}
//-- 找到代換位置進(jìn)行控件代換 --
$POS=strpos($PRINT_MODEL,$ELEMENT,$POS);
$PRINT_MODEL=substr($PRINT_MODEL,0,$POS).$ELEMENT_OUT.substr($PRINT_MODEL,$POS+strlen($ELEMENT));
}
echo $PRINT_MODEL;
?>
<tr class="TableHeader">
<td nowrap align="center">
<input type="hidden" name="SAVE_FLAG" value="1">
<input type="hidden" name="EDIT_MODE" value="<?=$EDIT_MODE?>">
<input type="hidden" name="RUN_ID" value="<?=$RUN_ID?>">
<input type="hidden" name="FLOW_ID" value="<?=$FLOW_ID?>">
<input type="hidden" name="PRCS_ID" value="<?=$PRCS_ID?>">
<input type="hidden" name="FLOW_PRCS" value="<?=$FLOW_PRCS?>">
<input type="hidden" name="ITEM_ID_MAX" value="<?=$ITEM_ID?>">
<input type="hidden" name="MENU_FLAG" value="<?=$MENU_FLAG?>">
</td>
</tr>
</table>
</form>
<br>
<?
if($FLOW_DOC!="0") //允許附件
include_once("form2.php");
if(!$EDIT_MODE)
include_once("form3.php");
?>
<br>
</body>
</html>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -