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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!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>