📄 admin_label.asp
字号:
}
PushToSQL();
}
function ChangeSubTable(TableName){
if(getObject("MainTable").value==""){
alert("请先选择主表");
getObject("SubTable").selectedIndex = 0;
getObject("MainTable").focus();
return;
}
ClearOpt("SubCheckField", "选择从表字段", "");
ClearOpt("SubField", "", "");
if(TableName==""){
getObject('trCheck').style.display='none';
}else{
GetSubFieldName(TableName);
getObject('trCheck').style.display='';
}
PushToSQL();
}
function GetMainFieldName(TableName){
createXMLHttp();
var url = "Admin_Label.asp?Action=GetFieldName&TableName="+ TableName;
try{
XMLHttp.open("GET",url,true);
XMLHttp.onreadystatechange = CheckGetMainFieldNameState;
XMLHttp.setRequestHeader("Content-Type","text/xml;charset=GB2312;");
XMLHttp.send(null);
}catch(e){
alert("读取数据表字段错误")
}
}
function CheckGetMainFieldNameState(){
if(XMLHttp.readyState == 4){
if(XMLHttp.status == 200){
if(XMLHttp.responseText!=""){
var arr = XMLHttp.responseText.split("$");
for(var i=0;i<arr.length-1;i++){
getObject("MainCheckField").options.add(new Option(arr[i], arr[i]));
getObject("MainField").options.add(new Option(arr[i], arr[i]));
}
PushToSQL();
}
}
}
}
function GetSubFieldName(TableName){
createXMLHttp();
var url = "Admin_Label.asp?Action=GetFieldName&TableName="+ TableName;
try{
XMLHttp.open("GET",url,true);
XMLHttp.onreadystatechange = CheckGetSubFieldNameState;
XMLHttp.setRequestHeader("Content-Type","text/xml;charset=GB2312;");
XMLHttp.send(null);
}catch(e){
alert("读取数据表字段错误")
}
}
function CheckGetSubFieldNameState(){
if(XMLHttp.readyState == 4){
if(XMLHttp.status == 200){
if(XMLHttp.responseText!=""){
var arr = XMLHttp.responseText.split("$");
for(var i=0;i<arr.length-1;i++){
getObject("SubCheckField").options.add(new Option(arr[i], arr[i]));
getObject("SubField").options.add(new Option(arr[i], arr[i]));
}
PushToSQL();
}
}
}
}
function ChangeRecordNum(Num){
if(Num == ""){
getObject("RecordNum").value = 0;
}else if(!CheckNum(Num)){
getObject("RecordNum").value = 0;
}else if(parseInt(Num)<0){
getObject("RecordNum").value = 0;
}
PushToSQL();
}
function ClearOpt(name, text, value){
if(getObject(name).options){
getObject(name).options.length = 0;
if(text != ""){
getObject(name).options.add(new Option(text, value));
}
}
}
function GetSelectField(ObjectName){
var s = "";
var e = getObject(ObjectName);
for(var i=0;i<e.options.length;i++){
if(e.options[i].selected){
s += s==""?e.options[i].value:(","+e.options[i].value)
}
}
return s;
}
function PushToSQL(){
var MainTable = getObject("MainTable").value;
var MainCheckField = getObject("MainCheckField").value;
var MainField = GetSelectField("MainField");
var SubTable = getObject("SubTable").value;
var SubCheckField = getObject("SubCheckField").value;
var SubField = GetSelectField("SubField");
var RecordNum = parseInt(getObject("RecordNum").value);
var SQL = "";
SQL += "SELECT ";
if(RecordNum>0) SQL += "TOP "+ RecordNum +" "
if(MainTable == ""){
getObject("TSQL").value = "";
getObject("LabelList").innerHTML = "";
return;
}
if(SubTable != ""){
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;
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="MY_" 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"></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="1" 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="10" 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", "", "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", "", "xtype='U' AND name!='dtproperties' AND name!='EL_Admin' ORDER BY name")%>
</select> </td>
</tr>
<tr id="trCheck" style="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>
</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>
</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()">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -