You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

244 lines
8.5 KiB
Plaintext

9 months ago
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>填充主表</title>
<link href="../../../../DataUser/Style/ccbpm.css" rel="stylesheet" type="text/css" />
<script src="../../../Scripts/easyUI145/jquery.min.js" type="text/javascript"></script>
<script src="../../../Scripts/easyUI145/jquery.easyui.min.js" type="text/javascript"></script>
<script src="../../../Scripts/QueryString.js" type="text/javascript"></script>
<script src="../../../Scripts/config.js" type="text/javascript"></script>
<script src="../../../Scripts/QueryString.js" type="text/javascript"></script>
<script src="../../../Comm/Gener.js" type="text/javascript"></script>
<script src="DDLBar.js" type="text/javascript"></script>
<script src="../../CCFlowEnum.js" type="text/javascript"></script>
<script src="../../Admin.js"></script>
<!--<script src="../../../Scripts/LoadSql.js"></script>-->
<script type="text/javascript">
var extType = "";
$(function () {
extType = GetQueryString("ExtType");
extType = extType == null || extType == undefined ? "" : extType;
InitBar("Main");
//查询出来数据.
var frmID = GetQueryString("FK_MapData");
var refPK = GetQueryString("RefPK");
var thisPK = refPK + "_FullData";
if (extType == "PageLoadFull") {
//确定后执行的函数需要隐藏
$("#okBack1").hide();
$("#okBack2").hide();
//只能SQL填充数据源
$("select[name='DDL_DBType'] option[value='1']").remove();
$("select[name='DDL_DBType'] option[value='2']").remove();
thisPK = refPK;
}
//显示字段.
ShowFrmFields();
var en = new Entity("BP.Sys.MapExt");
en.MyPK = thisPK;
en.SetPKVal(thisPK);
en.RetrieveFromDBSources();
//绑定数据源类型. 在填充的时候,设置数据源.
var ens = new Entities("BP.Sys.SFDBSrcs");
ens.RetrieveAll();
GenerBindDDL("DDL_FK_DBSrc", ens, "No", "Name", en.FK_DBSrc);
en.Doc = FormatSQL(en.Doc);
//给下列框赋值.
GenerFullAllCtrlsVal(en);
$("#TB_SQL").val(en.Doc);
DBTypeChange();
$("#DDL_RequestMethod").val(en.Tag3);
var tag4 = en.Tag4;
tag4 = tag4.replace(/~/g, "'").replace(/'/g, "\"");
$("#TB_Post").val(tag4)
});
function Save() {
//更新节点表单类型.
var frmID = GetQueryString("FK_MapData");
var refPK = GetQueryString("RefPK");
var thisPK = refPK + "_FullData";
if (extType == "PageLoadFull")
thisPK = refPK;
var en = new Entity("BP.Sys.MapExt");
en.MyPK = thisPK;
en.SetPKVal(en.MyPK);
var i = en.RetrieveFromDBSources();
en.Tag3 = $("#DDL_RequestMethod").val();
en.FK_MapData = frmID;
if (extType != "PageLoadFull") {
en.ExtType = "FullData"; //.通用的.
en.AttrOfOper = GetQueryString("KeyOfEn");
}
else {
en.ExtType = "PageLoadFull";
en.AttrOfOper = "";
}
en.DBType = $("#DDL_DBType").val(); //获得选择的值.
en.FK_DBSrc = $("#DDL_FK_DBSrc").val(); //获得选择的值.
var sql = $("#TB_SQL").val();
if (sql == '') {
alert("填充主表的sql不能为空");
return;
}
//按钮的操作的时候不判断语句是否有@Key
var keyControlType = GetQueryString("UIControlType") || "";
if (!(en.DBType == 1 && en.Tag3 == 'Post')) {
//方便填充主表字段 只判断@
if (sql.indexOf('@') == -1 && extType != "PageLoadFull") {
alert("表达式里必须有 @Key 参数.");
return;
}
}
en.Doc = sql; //设置主表的SQL.
var tag2 = $("#TB_Tag2").val();
en.Tag2 = tag2; //设置主表的SQL.
var tag4 = $("#TB_Post").val();
tag4 = tag4.replace(/"/g, "'").replace(/'/g, "~");
en.Tag4 = tag4;
if (i == 0)
en.Insert();
else
en.Update();
Reload();
}
function EtcDBFull() {
var url = GetHrefUrl();
url = url.replace("Main.htm", "MainDtlList.htm");
SetHref(url);
}
</script>
</head>
<body>
<form id="cc">
<div id="bar">
</div>
<table style="width: 99%;">
<tr>
<td>数据源类型</td>
<td>
<select id="DDL_DBType" name="DDL_DBType" onchange="DBTypeChange(this)">
<option value="0">执行SQL</option>
<option value="1">执行url返回JSON</option>
<option value="2">执行CCFromRef.js返回JSON</option>
</select>
</td>
</tr>
<tr id="DBSrc">
<td> 数据源</td>
<td>
<select id="DDL_FK_DBSrc" name="DDL_FK_DBSrc">
</select>
</td>
</tr>
<tr id="RequestMethod">
<td> 请求模式</td>
<td>
<select id="DDL_RequestMethod" name="DDL_RequestMethod">
<option value="Get">GET</option>
<option value="Post">POST</option>
</select>
</td>
</tr>
<tr>
<td colspan="2">
填充主表数据数据源表达式(SQL/URL)
</td>
</tr>
<tr>
<td colspan="2">
<textarea rows="4" name="TB_SQL" id="TB_SQL" style="width: 98%;"> </textarea>
</td>
</tr>
<tr class="Post">
<td colspan="2">
POST请求参数
</td>
</tr>
<tr class="Post">
<td colspan="2">
<textarea rows="4" name="TB_Post" id="TB_Post" style="width: 98%;"> </textarea>
</td>
</tr>
<tr id="okBack1">
<td colspan="4">
<a href="javascript:ShowHidden('backFunction')">确定后执行的JS</a>,可以为空.
<div id="backFunction" style="color: Gray; display: none">
<ul>
<li>该选项可以为空,弹出框确定后执行的JS可以直接写方法名或者方法().</li>
</ul>
</div>
</td>
</tr>
<tr id="okBack2">
<td colspan="4">
<input type="text" id="TB_Tag2" name="TB_Tag2" style="width: 99%;" />
</td>
</tr>
</table>
<br />
<fieldset>
<legend>SQL填写帮助.</legend>
<ul>
<li>必须返回一行数据的 SQL或者数据源. </li>
<li>返回的列名要与字段名进行对应,如果匹配的不管控件类型系统就会自动赋值.</li>
<li>
实例: <font color="green">
SELECT Name as MingCheng, Tel as DianHua, Email FROM WF_EMP WHERE No='@Key'
</font>
</li>
<li> @Key 就是指选择的主键. 是系统约定的标记. </li>
</ul>
<legend>URL填写帮助.</legend>
<ul>
<li>必须返回一行数据的的json格式的数据源. </li>
<li>返回的列名要与字段名进行对应,如果匹配的不管控件类型系统就会自动赋值.</li>
<li>实例: <font color="green"> /App/Handler.ashx?DoType=EmpFull&Key=@Key </font></li>
<li> @Key 就是指选择的主键. 是系统约定的标记. </li>
</ul>
<legend> 该表单的字段 </legend>
<div id="FrmFileds"></div>
</fieldset>
</form>
</body>
</html>