📄 admin_label.asp
字号:
var Temp = "";
if(MainField != ""){
var ArrMainField = MainField.split(",");
for(var i=0;i<ArrMainField.length;i++){
Temp += (Temp==""?"":",") + MainTable +"."+ ArrMainField[i].trim();
}
if(SubField != ""){
var ArrSubField = SubField.split(",");
for(var i=0;i<ArrSubField.length;i++){
Temp += (Temp==""?"":",") + SubTable +"."+ ArrSubField[i].trim();
}
}
}else{
if(SubField != ""){
var ArrSubField = SubField.split(",");
for(var i=0;i<ArrSubField.length;i++){
Temp += (Temp==""?"":",") + SubTable +"."+ ArrSubField[i].trim();
}
}else{
var e = getObject("MainField");
for(var i=0;i<e.options.length;i++){
Temp += (Temp==""?"":",") + MainTable +"."+ e.options[i].value.trim();
}
e = getObject("SubField");
for(var i=0;i<e.options.length;i++){
Temp += (Temp==""?"":",") + SubTable +"."+ e.options[i].value.trim();
}
}
}
if(Temp == "") Temp = "*"
SQL += Temp +" FROM "+ MainTable +","+ SubTable +" ";
}else{
if(MainField == "") {
var e = getObject("MainField");
var Temp = "";
for(var i=0;i<e.options.length;i++){
Temp += (Temp==""?"":",") + e.options[i].value.trim();
}
SQL += Temp +" FROM "+ MainTable +" ";
}else{
SQL += MainField +" FROM "+ MainTable +" ";
}
}
if(MainCheckField != "" && SubCheckField != ""){
SQL += "WHERE "+ MainTable +"."+ MainCheckField +"="+ SubTable +"."+ SubCheckField +" ";
if(getObject("Where").value!="") SQL += "AND "+ getObject("Where").value
}else{
if(getObject("Where").value!="") SQL += "WHERE "+ getObject("Where").value
}
getObject("TSQL").value = SQL;
getObject("TSQL").style.width = '95%'
PushLabel();
}
function PushLabel(){
var MainField = GetSelectField("MainField");
var SubField = GetSelectField("SubField");
if(getObject("MainTable").value==""){
getObject("LabelList").innerHTML = "";
return;
}
var ArrField, TableName, lenMainField;
var Table = "<table width='95%' border='0' cellspacing='1' cellpadding='0'><tr>"
if(MainField == "" && SubField == ""){
var e = getObject("MainField");
lenMainField = e.options.length;
for(var i=0;i<lenMainField;i++){
MainField += MainField==""?e.options[i].value:(", "+e.options[i].value)
}
if(getObject("SubTable").value != ""){
e = getObject("SubField");
for(var i=0;i<e.options.length;i++){
SubField += SubField==""?e.options[i].value:(", "+e.options[i].value)
}
}
if(MainField == "" && SubField == "") return;
var s = MainField;
if(SubField != "") s += ", "+ SubField;
ArrField = s.split(",");
}else{
if(SubField == ""){
ArrField = MainField.split(",");
lenMainField = ArrField.length;
}else{
if(MainField == ""){
lenMainField = 0
ArrField = SubField.split(",");
}else{
ArrField = (MainField +","+ SubField).split(",");
lenMainField = MainField.split(",").length;
}
}
}
for(var i=0;i<ArrField.length;i++){
if((i+1)<=lenMainField){
TableName = getObject("MainTable").value;
}else{
TableName = getObject("SubTable").value;
}
Table += "<td nowrap style='cursor:hand; border:1px solid #AAAAAA; color:red; padding-left:3px;' class='td_25' onMouseOver=\"this.className='MouseOver_25'\" onMouseOut=\"this.className='td_25'\" onclick=\"SetField('"+TableName+"','"+ArrField[i].trim()+"','"+i+"')\">"
if(FoundInArray(SubField.split(","), ArrField[i]) && FoundInArray(MainField.split(","), ArrField[i])){
Table += TableName +"."+ ArrField[i].trim();
}else{
Table += ArrField[i];
}
Table += " -> <span class=bluetext>{$Field(...)}</span>"
Table += "</td>"
if((i+1)%3==0 && i<(ArrField.length-1)) Table += "</tr><tr>"
}
Table += "</table>"
getObject("LabelList").innerHTML = Table;
}
function SetField(TableName, FieldName, FieldIndex){
var arr=showModalDialog('Admin_LabelField.asp?TableName='+TableName+'&FieldName='+FieldName+'&FieldIndex='+FieldIndex, '', 'dialogWidth:400px; dialogHeight:200px; help: no; scroll: no; status: no');
if(arr!=null){
Insert('Content', arr);
}
}
function FoundInArray(arr, s){
for(var i=0;i<arr.length;i++){
if(arr[i].trim() == s.trim()) return true;
}
return false;
}
function Insert(o, what){
getObject(o).focus();
var e = document.selection.createRange();
e.text = what;
}
function PushParameter(){
var e = getObject("Parameters");
if(e.value.trim()==""){
getObject("ParametersList").innerHTML = "";
return;
}
var ArrPara = e.value.trim().split("\n");
var Table = "<table width='95%' border='0' cellspacing='1' cellpadding='0'><tr>"
for(var i=0;i<ArrPara.length;i++){
Table += "<td nowrap style='cursor:hand; border:1px solid #AAAAAA; color:red; padding-left:3px;' class='td_25' onMouseOver=\"this.className='MouseOver_25'\" onMouseOut=\"this.className='td_25'\" onclick=\"SetPara('"+ArrPara[i].trim()+"', "+ i +")\">"
Table += ArrPara[i].trim() +" -> <span class=bluetext>{$Para(...)}</span>"
Table += "</td>"
if((i+1)%2==0 && i<(ArrPara.length-1)) Table += "</tr><tr>"
}
Table += "</table>"
getObject("ParametersList").innerHTML = Table;
}
function SetPara(ParaName, ParaIndex){
var arr=showModalDialog('Admin_LabelPara.asp?ParaName='+ParaName+'&ParaIndex='+ParaIndex, '', 'dialogWidth:400px; dialogHeight:125px; help: no; scroll: no; status: no');
if(arr!=null){
Insert('Where', arr);
}
}
</script>
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td><%=CurrentPath%></td>
</tr>
</table>
<form name="myform" action="Admin_Label.asp" method="post" onSubmit="return Check(this)">
<table width="100%" border="0" cellpadding="0" cellspacing="1" class="Border">
<tr>
<td colspan="4" class="top_25"><strong>修改动态标签</strong></td>
</tr>
<tr>
<td width="12%" class="td_ItemName"><strong>标签名称</strong></td>
<td colspan="3" class="td_25"><table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td width="27%"><input name="LabelName" type="text" id="LabelName" value="<%=rsLabel("LabelName")%>" size="30"></td>
<td width="73%" class="redText" style="padding:5px;">名称以“MY_”开头(英文要注意大小写),不输入定界符。在模板中调用标签时要加上定界符。
如标签名称为“MY_Label1”,则在模板中这样调用:{$MY_Label1}</td>
</tr>
</table></td>
</tr>
<tr>
<td class="td_ItemName"><strong>标签简介</strong></td>
<td colspan="3" class="td_25"><textarea name="Intro" cols="80" rows="4" id="Intro"><%=rsLabel("Intro")%></textarea></td>
</tr>
<tr>
<td class="td_ItemName"><strong>优先级</strong></td>
<td colspan="3" class="td_25"><table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td width="9%"><input name="LabelLevel" type="text" id="LabelLevel" value="<%=rsLabel("LabelLevel")%>" size="10"></td>
<td width="91%" class="redText" style="padding:5px;">数字越大,优先级越高。按优先级由大到小的顺序替换<br>
系统按照如下顺序来替换标签:自定义标签-->系统通用标签-->频道标签</td>
</tr>
</table></td>
</tr>
<tr>
<td class="td_ItemName"><strong>读取记录数</strong></td>
<td colspan="3" class="td_25"><input name="RecordNum" type="text" id="RecordNum" value="<%=RecordNum%>" size="10" onKeyUp="ChangeRecordNum(this.value)"></td>
</tr>
<tr>
<td class="td_ItemName"><strong>数据主表</strong></td>
<td width="23%" class="td_25">
<select name="MainTable" id="MainTable" onChange="ChangeMainTable(this.value)" style="width:200px;">
<option value="">选择主表</option>
<%=EL_Common.Data2Options("sysobjects", "name", "name", MainTable, "xtype='U' AND name!='dtproperties' AND name!='EL_Admin' ORDER BY name")%>
</select> </td>
<td width="12%" align="center" class="td_ItemName"><strong>数据从表</strong></td>
<td width="53%" class="td_25">
<select name="SubTable" id="SubTable" style="width:200px;" onChange="ChangeSubTable(this.value)">
<option value="">选择从表</option>
<%=EL_Common.Data2Options("sysobjects", "name", "name", SubTable, "xtype='U' AND name!='dtproperties' AND name!='EL_Admin' ORDER BY name")%>
</select> </td>
</tr>
<tr id="trCheck" style="<%If SubTable = "" Then Response.Write "display:none;"%>">
<td class="td_ItemName"><strong>约束条件</strong></td>
<td class="td_25">
<select name="MainCheckField" id="MainCheckField" style="width:200px;" onChange="PushToSQL()">
<option value="">选择主表字段</option>
<%=EL_Common.Data2Options("syscolumns", "name", "name", MainCheckField, "id=object_id('"& MainTable &"') ORDER BY colid")%>
</select></td>
<td align="center" class="td_25"><strong>等于</strong></td>
<td class="td_25">
<select name="SubCheckField" id="SubCheckField" style="width:200px;" onChange="PushToSQL()">
<option value="">选择从表字段</option>
<%
If SubTable <> "" Then
Response.Write EL_Common.Data2Options("syscolumns", "name", "name", SubCheckField, "id=object_id('"& SubTable &"') ORDER BY colid")
End If
%>
</select></td>
</tr>
<tr>
<td class="td_ItemName"><strong>字段列表</strong></td>
<td class="td_25">
<select name="MainField" size="1" multiple id="MainField" style="width:200px; height:150px;" onChange="PushToSQL()">
<%
If SubTable <> "" Then
Response.Write EL_Common.Data2Options("syscolumns", "name", "name", RemoveTableName(MainField, MainTable), "id=object_id('"& MainTable &"') ORDER BY colid")
Else
Response.Write EL_Common.Data2Options("syscolumns", "name", "name", MainField, "id=object_id('"& MainTable &"') ORDER BY colid")
End If
%>
</select> </td>
<td valign="top" class="td_25"></td>
<td class="td_25">
<select name="SubField" size="1" multiple id="SubField" style="width:200px; height:150px;" onChange="PushToSQL()">
<%
If SubTable <> "" Then
Response.Write EL_Common.Data2Options("syscolumns", "name", "name", RemoveTableName(SubField, SubTable), "id=object_id('"& SubTable &"') ORDER BY colid")
End If
%>
</select> </td>
</tr>
<tr>
<td class="td_ItemName"><strong>SQL语句预览</strong></td>
<td colspan="3" class="td_25"><textarea name="TSQL" cols="100" rows="5" id="TSQL" readonly="readonly" style="width:95%; word-break:break-all;"><%=rsLabel("TSQL")%></textarea></td>
</tr>
<tr>
<td class="td_ItemName"><strong>参数列表</strong><br>
每行一个参数</td>
<td colspan="3" class="td_25"><table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td width="30%"><textarea name="Parameters" cols="40" rows="5" id="Parameters" style="margin-right:5px;" onChange="PushParameter()" onKeyup="PushParameter()"><%=rsLabel("Parameters")%></textarea></td>
<td width="70%"><div id="ParametersList"></div></td>
</tr>
</table>
<script>PushParameter()</script>
</td>
</tr>
<tr>
<td class="td_ItemName"><strong>其他约束条件</strong></td>
<td colspan="3" class="td_25"><textarea name="Where" cols="100" rows="3" id="Where" style="width:95%" onChange="PushToSQL()" onKeyUp="PushToSQL()"><%=Where%></textarea></td>
</tr>
<tr>
<td class="td_ItemName"><strong>字段集合</strong><br>
<span class="redText">字段</span> -> <span class="BlueText">标签</span></td>
<td colspan="3" class="td_25"><div id="LabelList"></div></td>
</tr>
<tr>
<td class="td_ItemName"><strong>标签内容</strong></td>
<td colspan="3" class="td_25"><textarea name="Content" rows="15" id="Content" style="width:95%"><%=EL_Common.ServerHTMLEncode(rsLabel("Content"))%> </textarea></td>
</tr>
<tr>
<td class="td_ItemName"> </td>
<td colspan="3" class="td_50"><input type="submit" name="Submit3" value="保存修改">
<input name="Action" type="hidden" id="Action" value="SaveModify">
<input name="LabelType" type="hidden" id="LabelType" value="<%=LabelType%>">
<input name="LabelID" type="hidden" id="LabelID" value="<%=LabelID%>"></td>
</tr>
</table>
</form>
<script>PushToSQL();</script>
<%
rsLabel.Close()
Set rsLabel = Nothing
Set LabelCmd = Nothing
EL_Common.ShowScriptError()
End Sub
Sub AddDynamicLabel()
On Error Resume Next
CurrentPath = CurrentPath &">> 添加"& ArrLabelType(LabelType)
%>
<script language="javascript" src="../Js/Ajax.js"></script>
<script language="javascript">
function Check(frm){
if(frm.LabelName.value.trim()=="" || frm.LabelName.value.trim().length<=3){
alert("请输入标签名称");
frm.LabelName.focus();
return false;
}else if(frm.LabelName.value.substring(0,3) != "MY_"){
alert("标签名称必须以“MY_”开头");
frm.LabelName.focus();
return false;
}
if(frm.LabelLevel.value.trim()==""){
alert("请输入优先级");
frm.LabelLevel.focus();
return false;
}
if(frm.TSQL.value.trim()==""){
alert("请输入查询语句");
frm.MainTable.focus();
return false;
}
if(frm.Content.value.trim()==""){
alert("请输入标签内容");
frm.Content.focus();
return false;
}
SubmitOnce(frm);
return;
}
function ChangeMainTable(TableName){
ClearOpt("MainCheckField", "选择主表字段", "");
ClearOpt("MainField", "", "");
if(TableName==""){
getObject("SubTable").selectedIndex = 0;
ClearOpt("SubCheckField", "选择从表字段", "");
ClearOpt("SubField", "", "");
getObject('trCheck').style.display='none';
}else{
GetMainFieldName(TableName);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -