if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) { window.location.href="./m"; } var WorkSpaceName=""; var WorkSpacePath="workpage"; class WorkSpace{ Init(PageTitle="WinntoUI 原生态 java script 管理平台框架 ",AreaStyle={TopBGColor:"#233",TopColor:"#fff",LeftBGColor:"#257",RightBGColor:"#fff"}){ WorkSpaceName=GetVarName(this); this.none=document.createElement('div'); this.none.style.display="none"; //document.body.appendChild(this.none); var ele=document.createElement('div'); document.body.appendChild(ele); this.AlertMsg= new AlertMsg; this.AlertMsg.Init(ele); ele=document.createElement('div'); document.body.appendChild(ele); this.Dialog= new DialogBox; this.Dialog.Init(ele); // top 顶部信息栏 var eleStyle={position:"absolute",width:"100%",height:"50px",background:AreaStyle.TopBGColor,color:"#fff"}; this.Top=document.createElement('div'); this.Top=AcceptStyle(this.Top,eleStyle); var MenuBnt=ICON.MenuButton("24px","#fff","#f60");// 菜单隐藏按钮 MenuBnt.style.marginTop="18px"; MenuBnt.style.marginLeft="15px", (function(OBJ){ MenuBnt.addEventListener('click', function (event) {OBJ.Menu()}); })(this); this.Top.appendChild(MenuBnt); this.Title=document.createElement('span');// top 标题 this.Title.style.marginTop="15px"; this.Title.style.marginLeft="30px"; this.Title.innerHTML=PageTitle; this.Top.appendChild(this.Title); this.UserInfo=document.createElement('span'); //top 右侧用户信息 this.UserInfo.style.marginTop="14px"; this.UserInfo.style.marginRight="10px"; this.UserInfo.style.float="right"; this.Top.appendChild(this.UserInfo); document.body.appendChild(this.Top); this.CommInfo=document.createElement('span'); //top 通信状态 this.CommInfo.id="CommInfo"; this.CommInfo.style.marginTop="16px"; this.CommInfo.style.marginRight="20px"; this.CommInfo.style.float="right"; this.CommInfo.innerHTML="正在连接..."; this.Top.appendChild(this.CommInfo); //左侧菜单 eleStyle={position:"absolute",top:"50px",width:"160px",overflow:"auto",bottom:"0",background:AreaStyle.LeftBGColor,padding_left:"20px",padding_top:"40px",color:"#fff"}; this.LeftArea=document.createElement('div'); this.LeftArea=AcceptStyle(this.LeftArea,eleStyle); document.body.appendChild(this.LeftArea); //右侧数据区 eleStyle={position:"absolute",top:"50px",left:"180px",right:"0",bottom:"0",overflow:"auto",background:AreaStyle.RightBGColor,transition_property:"opacity left",transition_duration: "0.5s"}; this.RightArea=document.createElement('div'); this.RightArea.id="BodyData"; this.RightArea=AcceptStyle(this.RightArea,eleStyle); document.body.appendChild(this.RightArea); // 菜单中的选中提示点 this.FocusDot=document.createElement('div'); eleStyle={display:"none",margin_left:"10px",width:"8px",height:"8px",z_index:"9",background:"#5ce",border_radius:"50%"}; this.FocusDot=AcceptStyle(this.FocusDot,eleStyle); document.body.appendChild(this.FocusDot); //加载时动画 this.Loading=document.createElement('div'); this.Loading.className="Loading"; document.body.appendChild(this.Loading); this.AsynLoad("menu",this.LeftArea); //加载左侧菜单 (function(OBJ){window.addEventListener('hashchange', function (event) {OBJ.LoadPage(window.location.hash);});})(this); } setTitle(html){this.Title.innerHTML=html;} setUserInfo(html){this.UserInfo.innerHTML=html;} setTopBGColor(Color){this.Top.style.backgroundColor=Color;} setTopColor(Color){this.Top.style.color=Color;} setLeftBGColor(Color){this.LeftArea.style.backgroundColor=Color;} setRightBGColor(Color){this.RightArea.style.backgroundColor=Color;} Menu(){ if(this.RightArea.style.left!="0px"){ this.RightArea.style.left="0px"; }else{ this.RightArea.style.left="180px"; } } AsynLoad(Url,Dom,Send="",Mode="GET"){ var WX=this; WX.LoadingShow(); var xmlhttp; xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=function(D){ if (xmlhttp.readyState==4 && xmlhttp.status==200){ if (xmlhttp.responseText!=""){ Dom.innerHTML=xmlhttp.responseText; for(let i=0;i"+Item[i].title+""; }else{ Html+=""; Html+=""; } Html+=""; } } Dom.innerHTML=Html; } function MenuItems1(Id){ var Dom=document.getElementById("MenuItem1BK"+Id.toString()); var Arrow=document.getElementById("MenuItem0Arrow"+Id.toString()); if(Dom.offsetHeight!="0"){ Dom.style.height="0"; Arrow.style.transform='rotate(0deg)'; }else{ Dom.style.height=(Dom.children.length*36).toString()+"px"; Arrow.style.transform='rotate(-90deg)'; } } class InputTips{ Init(){ var Dom=document.createElement('div'); var iStyle={z_index:"9999",display:"block",left:"250px",top:"0",font_weight:"500",font_size:"13px",color:"#f00",min_width:"100px",height:"20px",position:"fixed"}; Dom=AcceptStyle(Dom,iStyle); var Arrow=document.createElement('div'); var Title=document.createElement('div'); Dom.appendChild(Title); this.Dom=Dom; this.Title=Title; document.body.appendChild( this.Dom ); } Show(Dom,Title){ this.Dom.style.display="block"; this.Title.innerHTML=Title; this.Dom.style.left=Dom.getBoundingClientRect().left.toString()+"px"; this.Dom.style.top=(parseInt(Dom.getBoundingClientRect().top)+parseInt(Dom.style.height)+8).toString()+"px" ; } Close(){ this.Dom.style.display="none"; //alert(); } } class FormEditor{ Init(Dom,FormJson,Src="save"){ Dom.name="FormDom"; this.Tips=new InputTips; this.Tips.Init(); this.Json=FormJson; var IFRAME=document.createElement('iframe'); IFRAME.name="FormEditorSave"; IFRAME.style.display="none"; this.IFRAME=IFRAME; document.body.appendChild(IFRAME); this.Src=Src; this.Form=document.createElement('form'); this.Form.method="POST"; var div0,div1,ele; var div0Style={float:"left",width:"100%",marginBottom:"18px"}; var TitleStyle={float:"left",width:"17%",text_align:"right",margin_top:"5px"}; var ValueStyle={float:"left",width:"55%",height:"100%",padding_left:"5%"}; var TipsStyle={float:"left",width:"23%",margin_top:"7px",font_size:"13px"}; for (let key in FormJson){ switch(FormJson[key].type){ case "hidden": ele=document.createElement('input'); ele.type="hidden"; ele.value=FormJson[key].value; ele.name=key; this.Form.appendChild(ele); break; case "CheckMultiple": div0=document.createElement('div'); div0=AcceptStyle(div0,div0Style); div1=document.createElement('div'); div1=AcceptStyle(div1,TitleStyle); div1.innerHTML=FormJson[key].title; div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,ValueStyle); div1.style.position="relative"; ele=document.createElement('input'); ele.type="text"; ele.name=key; ele.value=FormJson[key].value; ele.readOnly=true; ele.style.height="26px"; div1.appendChild(ele); var div2=document.createElement('div'); var div2Style={width:"80%",padding:"2%",padding_top:"0",position:"absolute",background:"#fff",z_index:"8",box_shadow:"2px 2px 5px rgba(0, 0, 0, 0.5)",display:"none"}; div2=AcceptStyle(div2,div2Style); div2.id=key+"CheckMultiple"; div2.name=key+"CheckMultiple"; (function(Row,Dom){Row.addEventListener('click',function (event){Dom.Tips.Close();if(div2.style.display=="block" ){div2.style.display="none"}else{div2.style.display="block"}});})(ele,this); Dom.addEventListener('click',function (event){if(event.target.name!=key && event.target.id!=(key+"CheckMultiple") && event.target.name!=(key+"CheckMultipleValue")){div2.style.display="none"}}); var Checked=""; for(let Option in FormJson[key].options){ Checked=""; if( FormJson[key].value.indexOf(Option)>=0){ Checked="checked";} div2.innerHTML+="
"+Option+"("+FormJson[key].options[Option]+")
"; } div1.appendChild(div2); div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,TipsStyle); div1.innerHTML=FormJson[key].tips; div0.appendChild(div1); this.Form.appendChild(div0); break; case "readonly": div0=document.createElement('div'); div0=AcceptStyle(div0,div0Style); div1=document.createElement('div'); div1=AcceptStyle(div1,TitleStyle); div1.innerHTML=FormJson[key].title; div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,ValueStyle); ele=document.createElement('input'); ele.type="hidden"; ele.value=FormJson[key].value; ele.name=key; div1.appendChild(ele); ele=document.createElement('input'); ele.type="text"; ele.value=FormJson[key].value; ele.disabled=true; ele.style.backgroundColor="#eee"; div1.appendChild(ele); div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,TipsStyle); div1.innerHTML=FormJson[key].tips; div0.appendChild(div1); this.Form.appendChild(div0); break; case "date": case "text": case "password": div0=document.createElement('div'); div0=AcceptStyle(div0,div0Style); div1=document.createElement('div'); div1=AcceptStyle(div1,TitleStyle); div1.innerHTML=FormJson[key].title; div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,ValueStyle); div1.style.position="relative"; ele=document.createElement('input'); ele.type=FormJson[key].type; ele.autocomplete="new-password"; ele.value=FormJson[key].value; ele.style.height="26px"; ele.name=key; if( FormJson[key].rules){ele.addEventListener('input',function (event){ eval( FormJson[key].rules )})}; div1.appendChild(ele); div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,TipsStyle); div1.innerHTML=FormJson[key].tips; div0.appendChild(div1); this.Form.appendChild(div0); break; case "DateRange": div0=document.createElement('div'); div0=AcceptStyle(div0,div0Style); div1=document.createElement('div'); div1=AcceptStyle(div1,TitleStyle); div1.innerHTML=FormJson[key].title; div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,ValueStyle); div1.style.position="relative"; ele=document.createElement('input'); ele.type="date"; ele.autocomplete="new-password"; ele.value=FormJson[key].begin; ele.style.height="26px"; ele.name=key+"begin"; div1.appendChild(ele); ele=document.createElement('span'); ele.style.marginLeft=ele.style.marginRight="20px"; ele.innerHTML=" 至 " div1.appendChild(ele); ele=document.createElement('input'); ele.type="date"; ele.autocomplete="new-password"; ele.value=FormJson[key].end; ele.style.height="26px"; ele.name=key+"end"; div1.appendChild(ele); div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,TipsStyle); div1.innerHTML=FormJson[key].tips; div0.appendChild(div1); this.Form.appendChild(div0); break; case "price": div0=document.createElement('div'); div0=AcceptStyle(div0,div0Style); div1=document.createElement('div'); div1=AcceptStyle(div1,TitleStyle); div1.innerHTML=FormJson[key].title; div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,ValueStyle); div1.style.position="relative"; ele=document.createElement('input'); ele.type=FormJson[key].type; ele.autocomplete="new-password"; ele.value=parseFloat(FormJson[key].value).toFixed(2); ele.style.height="26px"; ele.name=key; ele.addEventListener('input',function (event){ $_OnlyNum(this,"Y") }); div1.appendChild(ele); div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,TipsStyle); div1.innerHTML=FormJson[key].tips; div0.appendChild(div1); this.Form.appendChild(div0); break; case "textarea": div0=document.createElement('div'); div0=AcceptStyle(div0,div0Style); div0.style.height="140px" div1=document.createElement('div'); div1=AcceptStyle(div1,TitleStyle); div1.innerHTML=FormJson[key].title; div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,ValueStyle); div1.style.height="150px" div1.style.position="relative"; ele=document.createElement('textarea'); ele.value=FormJson[key].value; ele.name=key; ele.style.width="90%"; ele.style.height="120px"; if( FormJson[key].rules){ele.addEventListener('input',function (event){ eval( FormJson[key].rules )})}; div1.appendChild(ele); div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,TipsStyle); div1.innerHTML=FormJson[key].tips; div0.appendChild(div1); this.Form.appendChild(div0); break; case "radio": div0=document.createElement('div'); div0=AcceptStyle(div0,div0Style); div1=document.createElement('div'); div1=AcceptStyle(div1,TitleStyle); div1.innerHTML=FormJson[key].title; div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,ValueStyle); var Checked=[""," checked"]; for (let op in FormJson[key].option){ ele=document.createElement('input'); ele.type="radio"; ele.value=op; ele.name=key; if(op==FormJson[key].value){ele.checked=true;} div1.appendChild(ele); var span= document.createElement('span'); span.innerHTML+=FormJson[key].option[op]; span.style.marginTop="3px"; span.style.marginRight="30px"; div1.appendChild(span); } div0.appendChild(div1); this.Form.appendChild(div0); break; case "checkbox": div0=document.createElement('div'); div0=AcceptStyle(div0,div0Style); div1=document.createElement('div'); div1=AcceptStyle(div1,TitleStyle); div1.innerHTML=FormJson[key].title; div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,ValueStyle); div1.style.width="10%"; div1.style.marginTop="4px"; ele=document.createElement('input'); ele.type="checkbox"; ele.style.cursor="pointer"; ele.style.width="18px"; ele.style.height="18px"; ele.checked=FormJson[key].checked; ele.value=FormJson[key].value; ele.name=key; if(FormJson[key].value==FormJson[key].field_value){ele.checked=true} div1.appendChild(ele); div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,TipsStyle); div1.style.width="65%"; div1.innerHTML=FormJson[key].tips; div0.appendChild(div1); this.Form.appendChild(div0); break; case "img": div0=document.createElement('div'); div0=AcceptStyle(div0,div0Style); div1=document.createElement('div'); div1=AcceptStyle(div1,TitleStyle); div1.style.marginTop="10px"; div1.innerHTML=FormJson[key].title; div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,ValueStyle); div1.style.width="auto"; for(let i=0;i"; if(i"; break; case "number": NewTr+=""; break; case "select": let selectHTML="
"; NewTr+=""+ selectHTML; break; } } NewTr+="
"; NewTr+="×"; NewTr+=""; Td=document.createElement('td'); Td.innerHTML="移除"; Tr.appendChild(Td); ItemTable.appendChild(Tr); for(let i=0;i"; break; case "number": Td.innerHTML+=""; break; case "select": let selectHTML="
"; Td.innerHTML+= selectHTML break; } Td.innerHTML+="
"; Td.id="MultipleItemsTD"; Td.style.position="relative"; Td.style.borderTop=0; Tr.appendChild(Td); } Td=document.createElement('td'); Td.style.borderTop=0; Td.style.textAlign="center"; Td.innerHTML="×"; //(function(Obj,Class){Obj.addEventListener('click',function (event) {Class.MultipleItemsAddNew(NewTr)});})(SpanAdd,this); Tr.appendChild(Td); ItemTable.appendChild(Tr); } var Tr=document.createElement('tr'); Tr.style.textAlign="center"; Item.appendChild(ItemTable); var DivAdd=document.createElement('div'); DivAdd.style.float="left"; DivAdd.style.width=Item.style.width; DivAdd.style.textAlign="center"; var SpanAdd=document.createElement('span'); SpanAdd.className="TextButton"; SpanAdd.style.fontSize="32px"; SpanAdd.style.fontWeight="400"; SpanAdd.style.marginTop="-3px" SpanAdd.innerHTML="+"; DivAdd.appendChild(SpanAdd); div1.appendChild(DivAdd); (function(Obj,Class){Obj.addEventListener('click',function (event) {Class.MultipleItemsAddNew(NewTr)});})(SpanAdd,this); div0.appendChild(div1); break; case "UploadImg": div0=document.createElement('div'); div0=AcceptStyle(div0,div0Style); div1=document.createElement('div'); div1=AcceptStyle(div1,TitleStyle); div1.innerHTML=FormJson[key].title; div0.appendChild(div1); div1=document.createElement('div'); div1=AcceptStyle(div1,ValueStyle); div1.style.position="relative"; ele=document.createElement('input'); ele.type="hidden"; ele.autocomplete="new-password"; ele.value=FormJson[key].value; ele.name=key; div1.appendChild(ele); div0.appendChild(div1); var Imgs=FormJson[key].value; SpanAdd=document.createElement('div'); SpanAdd.id="ImgItems"; SpanAdd.long=key; SpanAdd.style.float="left"; div0.appendChild(SpanAdd); var UpImgStyle={position:"relative",cursor:"pointer",width:"80px",height:"60px",border_radius:"3px",text_align:"center",border:"1px solid #ccc",margin_right:"10px",margin_bottom:"10px"}; var ImgItem,ImgSpan,ImgId; for(let i=0;i=0){ if(!Check[Reg].RegExp.test(ele.value.trim())){ this.Tips.Show(ele,"! "+Check[Reg].Tips+""); ele.focus() return false; } } } } } if(document.getElementById("MultipleItems")){ var MultipleItems=document.getElementById("MultipleItems"); var ItemInputs= MultipleItems.getElementsByTagName("INPUT");//得到input数组 if(ItemInputs.length<=0){ this.Tips.Show(MultipleItems,"! 至少添加一个返回值","20px","-4px"); return false; } for(let i=0;i! 字段不能为空","20px","-4px"); ItemInputs[i].focus(); return false; } } } this.Form.target="FormEditorSave"; this.Form.action=this.Src; this.Form.submit(); return true; } ReEdit(){ } Debug(flag=false){ if(flag){ this.IFRAME.style.position="fixed"; this.IFRAME.style.bottom="0"; this.IFRAME.style.width="50%"; this.IFRAME.style.height="100px"; this.IFRAME.style.display="block"; } } } function SetImgValue(ImgDom){ var Imgs=ImgDom.getElementsByTagName('img'); var ImgValue=""; for(let i=0;i1024*1024){ alert("文件大小不能超过1M,请进行优化处理"); return; } document.getElementById(SubmitBnt).style.background="#999"; document.getElementById(SubmitBnt).disabled=true; var Uping = document.createElement("img"); Uping.src="//open.winnto.com/image/loading/1.gif"; Uping.id="Uping"; Uping.style.width="40px"; Uping.style.position="absolute"; Uping.style.left="20px"; Uping.style.top="10px"; var ImgSpan = document.createElement("span"); ImgSpan=AcceptStyle(ImgSpan,InsertStyle); var ImgFile = document.createElement("img"); ImgFile.style.maxWidth="80px"; ImgFile.style.height="100%"; ImgFile.style.maxHeight="60px"; ImgFile.style.filter="brightness(50%)"; ImgFile.src=window.URL.createObjectURL(File.files[0]) ; ImgSpan.appendChild(ImgFile); ImgSpan.appendChild(Uping); document.getElementById("ImgItems").appendChild(ImgSpan); var FormImg = new FormData(); FormImg.append("UploadFile",File.files[0]); FormImg.append("Token",$_COOKIE("UserToken")); FormImg.append("Path",Path); var Url="https://api.winnto.com/application/user/image/upload"; var xmlhttp; xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=function(D){ if (xmlhttp.readyState==4 && xmlhttp.status==200){ if (xmlhttp.responseText!=""){ document.getElementById(SubmitBnt).style.background="#294"; document.getElementById(SubmitBnt).disabled=false; var Re=JSON.parse(xmlhttp.responseText); if(Re.code=="0"){ window.top.WX.AlertMsg.Show(Re.msg,1); ImgSpan.removeChild(document.getElementById("Uping")); ImgFile.style.filter="brightness(100%)"; ImgFile.src=Re.imgurl; var ImgId=Re.imgurl.split("/")[Re.imgurl.split("/").length-1]; ImgId=ImgId.split(".")[0]; ImgSpan.id=ImgId; ImgFile.id="Img"+ImgId; ImgDelIcon(ImgSpan); ImgSpan.addEventListener('mouseover', function() {document.getElementById("Del"+this.id).style.display="block";}); ImgSpan.addEventListener('mouseout', function() {document.getElementById("Del"+this.id).style.display="none";}); SetImgValue(ImgSpan.parentNode); } else{ window.top.WX.AlertMsg.Show(Re.msg,0); ImgSpan.removeChild(document.getElementById("Uping")); var UpError = document.createElement("img"); UpError.src="//open.winnto.com/image/icon/error.png"; UpError.style.width="40px"; UpError.style.position="absolute"; UpError.style.left="20px"; UpError.style.top="10px"; ImgSpan.appendChild(UpError); } } } }; xmlhttp.open("POST",Url); xmlhttp.send(FormImg); } class PageNavigat{ Init(Dom,Conf,Color="#257",UrlType="hash"){ var html=""; var PageCount=Math.ceil(Conf.record_count / Conf.page_size); var IconSize="16px" var Left=document.createElement("span"); Left.style.float="left"; Left.innerHTML="本页 "+Conf.current_page_record_count+" 条,共 "+Conf.record_count+" 条,分 "+PageCount+" 页,每页"; Left.innerHTML+=" "; Dom.appendChild(Left); var e=document.getElementById("SelectPageSize"); for(let j=0;jPageCount)PageInput.value=PageCount; } Right.appendChild( PageInput); F=ICON.Next(IconSize,Color); //下一页 F.style.marginLeft=F.style.marginRight="20px"; if(Conf.page_index>=PageCount){ F.style.cursor="not-allowed"; }else{ F.onclick=function (event){ var Page=parseInt(Conf.page_index)+1; var param="page="+Page.toString()+"&size="+Conf.page_size.toString()+CreatUrlParam(document.getElementById("SearchBar")); if(UrlType=="hash"){window.location.hash=window.location.hash.split("?")[0]+"?"+param;} if(UrlType=="href"){ window.location.href= SetPageUrl(window.location.href,Page.toString(),Conf.page_size.toString()) ; } } } this.NextP=F; Right.appendChild( this.NextP); F=ICON.Last(IconSize,Color); //末页 F.style.marginRight="20px"; if(Conf.page_index>=PageCount){ F.style.cursor="not-allowed"; }else{ F.onclick=function (event){ var param="page="+PageCount.toString()+"&size="+Conf.page_size.toString()+CreatUrlParam(document.getElementById("SearchBar")); if(UrlType=="hash"){window.location.hash=window.location.hash.split("?")[0]+"?"+param;} if(UrlType=="href"){ window.location.href= SetPageUrl(window.location.href,PageCount.toString(),Conf.page_size.toString()) ; } }; } this.LastP=F; Right.appendChild(this.LastP); var PageGO=document.createElement("input"); PageGO.style.border="0"; PageGO.style.backgroundColor=Color; PageGO.style.height="30px"; PageGO.style.cursor="pointer"; PageGO.style.borderRadius="5px"; PageGO.style.color="#fff"; PageGO.type="button"; PageGO.value="GO"; this.PageInput=PageInput; PageGO.onclick=function (event){ if(PageInput.value.trim()!=""){ var param="page="+PageInput.value.trim()+"&size="+Conf.page_size.toString()+CreatUrlParam(document.getElementById("SearchBar")); if(UrlType=="hash"){window.location.hash=window.location.hash.split("?")[0]+"?"+param;} if(UrlType=="href"){ window.location.href= SetPageUrl(window.location.href,PageInput.value.trim(),Conf.page_size.toString()) ; } }else{ PageInput.focus(); } }; this.PageGO=PageGO; Right.appendChild(this.PageGO); Dom.appendChild(Right); this.Dom=Dom; } } var SearchStyle={}; function SetPageUrl(URL,PageIndex,PageSize){ var Href=URL.split("?"); var PR=""; var j=0; if(Href.length>1){ var P=Href[1].split("&"); for(let i=0;i0){D="&"} PR+=D+P[i]; j++; } } PR+="&page="+PageIndex; }else{ PR+="page="+PageIndex; } PR+="&size="+PageSize; return Href[0]+"?"+PR; } class SearchBar{ Init(Dom,Set,PageSize=20,color="#f60"){ this.PageSize=PageSize; var Style={white_space:"nowrap",overflow:"hidden",border_radius:"5px",border:"1px solid "+color}; var SearchBar=document.createElement('span'); SearchBar=AcceptStyle(SearchBar,Style); var InputDateStyle={width:"auto",display:"inline-block",vertical_align:"middle",height:"28px",border:"1px solid "+color,background:"#fff",color:"#257",margin_right:"10px"}; var SpanStyle={display:"inline-block",vertical_align:"middle","margin_right":"10px"}; var SelectStyle={width:"auto",display:"inline-block",vertical_align:"middle",height:"40px",border:"1px solid "+color,background:"#fff",color:"#257",margin_right:"10px"}; SearchStyle=SelectStyle; var InputStyle={font_size:"16px",display:"inline-block",vertical_align:"middle",border:"0",width:"300px",height:"30px",padding:"2px",border_radius:"3px"}; var Select,opt,Input; for(let i=0;i"; break; case "checkbox": html+=""+TableHeader[key]["text"]+""; break; } } var Rows=[]; for (let i=0;i";} this.Header.innerHTML=html; this.Table.appendChild(this.Header); var CheckStatus=[""," checked "]; var Row; if(DataJson.length==0){ this.Empty.style.display="block"; } var OnLine=["","","?"]; for (let i=0;i";break; case "online":html+="
"+OnLine[DataJson[i][key]]+"
";break; case "enum":html+="
"+TableRows[key].enum[DataJson[i][key]]+"
";break; case "price":html+="
"+ parseFloat(DataJson[i][key]).toFixed(2) +"
";break; case "SetField": var event=TableRows[key].target; var Title=TableRows[key].title; for(let x=0;x 🖊"; break; case "StatusList": html+=""+TableRows[key].item[DataJson[i][key]].text+""; break; case "checkbox":html+=""; break; case "img": html+=""; break; } } } for (let j=0;j"+TableRows.operation[j]["text"]+"";break; case "link":html+=""+TableRows.operation[j]["text"]+"";break; } } Row.innerHTML=html; Row.id=DataJson[i]["id"]; Row.addEventListener('mouseover',function (event) {document.getElementById(DataJson[i]["id"]).style.backgroundColor=Style.RowHover;}); Row.addEventListener('mouseout',function (event) {document.getElementById(DataJson[i]["id"]).style.backgroundColor=Style.RowBGColor;}); this.Table.appendChild(Row); Rows[i]={id:DataJson[i].id}; } this.Rows=Rows; Dom.appendChild(this.Table); } Delete(Id){ var Row=document.getElementById(Id); Row.parentNode.removeChild(Row); } Insert(Json){ var NewTr= this.Table.insertRow(1); NewTr.id=Json.id; NewTr.style.height=this.Style.RowHeight; (function(Row,Dom){ Row.addEventListener('mouseover',function (event) {document.getElementById(Json["id"]).style.backgroundColor=Dom.Style.RowHover;}); Row.addEventListener('mouseout',function (event) {document.getElementById(Json["id"]).style.backgroundColor=Dom.Style.RowBGColor;}); })(NewTr,this); NewTr.innerHTML=""; for (let key in Json){ if(key!="id"){ NewTr.innerHTML+=""+Json[key]+""; } } this.Empty.style.display="none"; } Update(Json){ var Row=document.getElementById(Json.id); Row.innerHTML=""; for (let key in Json){ if(key!="id"){ Row.innerHTML+=""+Json[key]+""; } } } setHeaderBGColor(Color="#f60"){this.Header.style.backgroundColor=Color;} setHeaderColor(Color="#fff"){this.Header.style.color=Color;} setRowColor(Color="#fff"){this.RowColor=Color;for(let i=0;i0 && DataJson[0].subset!=undefined){ html="";} for (let key in DataRows){ switch (DataRows[key].header.type){ case "text": html+=""+DataRows[key].header.text+""; break; case "checkbox": html+=""+DataRows[key].text+""; break; } } for (let i=0;i"; } this.Header.innerHTML=html; this.Table.appendChild(this.Header); if(DataJson.length==0){ this.Empty.style.display="block";} var Row,RowSub; var x=0; for (let i=0;i〉 "; } Row.innerHTML=html+this.InsetRow(DataJson[i],DataRows,Operation) Row.addEventListener('mouseover',function (event) {document.getElementById(DataJson[i]["id"]).style.backgroundColor=Style.RowHover;}); Row.addEventListener('mouseout',function (event) {document.getElementById(DataJson[i]["id"]).style.backgroundColor=Style.RowBGColor;}); this.Table.appendChild(Row); if(DataJson[i].subset!=undefined){ for(let j=0;j☒","","?"]; var RecordHtml=""; for (let key in DataRows){ switch (DataRows[key].value.type){ case "img": RecordHtml+="";break; case "online":RecordHtml+="
"+OnLine[DataRecord[key]]+"
";break; case "text": var Highlight=""; if( !isNaN(DataRecord[key]) && DataRecord[key]!="0" && DataRecord[key].length<9){Highlight=" style='font-weight:500'"; } if( DataRecord[key]=="0"){Highlight=" style='color:#777'";} RecordHtml+="
"+DataRecord[key]+"
"; break; case "segment":RecordHtml+="
"+DataRecord[DataRows[key].value.fields[0]]+" 至 "+DataRecord[DataRows[key].value.fields[1]]+"
";break; case "json":RecordHtml+="
"+DataRows[key].value.source[DataRecord[key]]+"
";break; case "checkbox":let Checked="";if(DataRecord[key]!="0"){Checked="checked";}RecordHtml+=""; break; case "selectcheckbox":RecordHtml+="";break; case "SetField": var event=DataRows[key].value.target; var Title=DataRows[key].value.title; for(let x=0;x 🖊"; break; case "AtGet": var event=DataRows[key].value.target; var Title=DataRows[key].value.title; for(let x=0;x 🖊"; break; } } for (let j=0;j";break; case "textbnt":RecordHtml+=""+Operation[j]["text"]+"";break; case "link":RecordHtml+=""+Operation[j]["text"]+"";break; } } return RecordHtml; } setTable3D(Flag="Y"){ if(Flag=="Y"){ this.Table.style.boxShadow="0px 1px 18px rgba(0, 0, 0, 0.5)"; this.Table.style.borderLeft="0"; this.Table.style.borderRight="0"; this.Table.style.borderBottom="5px solid " +this.RowBGColor; }else{ this.Table.style.boxShadow="none"; this.Table.style.borderLeft="1px solid " +this.BorderColor; this.Table.style.borderRight="1px solid "+this.BorderColor; this.Table.style.paddingBottom="5px"; this.Table.style.borderBottom="1px solid " +this.BorderColor; this.Table.style.backgroundColor=this.RowBGColor; } } } class PanelPage{ Init(Dom,Conf){ var BackColor="#fff"; var FaceColor="#000"; if(Conf.skin=="dark"){ BackColor="#000"; FaceColor="#fff"; } this.Dom=Dom; this.Head=document.createElement('div'); this.Head.style.float="left"; this.Dom.style.position="relative"; this.Head.style.width="100%"; this.Head.style.height="35px"; this.Head.style.paddingTop="15px"; this.Head.style.textAlign="center"; this.Head.style.backgroundColor=BackColor; this.Dom.appendChild(this.Head); var ActBar=document.createElement('div'); ActBar.style.position="absolute"; ActBar.style.height="4px"; ActBar.style.width=(100 / Conf.items.length).toString()+ "%"; ActBar.style.maxWidth="120px"; ActBar.style.backgroundColor="#f60"; ActBar.style.top="43px"; ActBar.style.transition="left 0.3s"; this.ActBar=ActBar; this.Dom.appendChild(this.ActBar); this.Page=document.createElement('div'); this.Page.style.float="left"; this.Page.style.position="relative"; this.Page.style.overflow="hidden"; this.Page.style.width="100%"; this.Page.style.height="calc(100% - 50px)"; this.Page.style.backgroundColor=BackColor; this.Page.style.color=FaceColor; this.Dom.appendChild(this.Page); var VarName=GetVarName(this); for(let i=0;i"+Conf.items[i]+""; this.Head.appendChild(Item); var PageItem=document.createElement('div'); PageItem.style.position="absolute"; PageItem.style.width="100%"; PageItem.style.height="100%"; PageItem.style.transitionDuration="0.5s"; PageItem.style.transitionProperty="opacity,left"; PageItem.style.left="-100%"; PageItem.style.backgroundColor=BackColor; PageItem.style.color=FaceColor; PageItem.innerHTML="
第 "+(i+1).toString()+" 页
"; this.Page.appendChild(PageItem); } this.Pages=this.Page.childNodes; this.HeadItems=this.Head.childNodes; this.ItemClick(0); } ItemClick(Index){ for(let i=0;i120){left=120;} this.ActBar.style.left=(left*i).toString()+ "px"; this.HeadItems[i].getElementsByTagName("span")[0].style.color="#f60"; }else{ this.HeadItems[i].getElementsByTagName("span")[0].style.color=""; this.Pages[i].style.left="-100%";this.Pages[i].style.opacity=0 } } } } class AlertMsg{ Init(Dom){ var AlertMsgStyle={transition:"top 0.5s",position:"absolute",border_radius:"5px",padding_top:"20px",padding_bottom:"10px",padding_right:"25px",padding_left:"25px",top:"-100px",height:"35px",background_color:"#fff",z_index:"999",font_weight:"500"}; this.Text=document.createElement('span'); this.Text.style.display="inline-block"; this.Text.style.verticalAlign="middle"; Dom.appendChild(this.Text); this.CloseIcon=ICON.Close("16px","#25c","#f50"); this.CloseIcon.style.float="right"; this.CloseIcon.style.right="-18px"; this.CloseIcon.style.top="-16px"; this.CloseIcon.addEventListener('click', function (event) { Dom.style.top="-100px";}); Dom.appendChild(this.CloseIcon); this.Dom=AcceptStyle(Dom,AlertMsgStyle); } Close(){ this.Dom.style.top="-100px";} Show(Msg="",Flag=1){ var SuccClass=[{box_shadow:"0 0 5px rgba(255, 60, 100, 0.5)",color:"#f60"},{box_shadow:"0 0 5px rgba(20, 90, 70, 0.5)",color:"#297"}] var SuccIcon=[ICON.Failed("16px","#f50"),ICON.Succeed("26px","#297")]; this.Text.innerHTML=""; this.Text.appendChild(SuccIcon[Flag]); this.Text.innerHTML=this.Text.innerHTML+""+Msg+""; this.Dom.style.left="calc( 50% - "+(this.Dom.offsetWidth/2-90).toString() +"px)" this.Dom=AcceptStyle(this.Dom,SuccClass[Flag]); this.Dom.style.top="30px"; (function(Obj){setTimeout(function(){Obj.style.top="-100px";},2000);})(this.Dom); } } class CreatIcon{ First(Size="24px",Color="#257",Hover="#F60"){ var Icon=document.createElement("span"); var Inner=document.createElement("span"); var Style={cursor:"pointer",overflow:"hidden",width:Size,height:Size,border_left:"1px solid "+Color,position:"relative"}; Icon=AcceptStyle(Icon,Style); Style={width:"calc(100% - 1px)",height:"calc(100% - 1px)",border_left:"1px solid "+Color,left:"30%",border_bottom:"1px solid "+Color,transform:"rotate(45deg)",position:"absolute"}; Inner=AcceptStyle(Inner,Style); Icon.appendChild(Inner); (function(Obj){Obj.addEventListener('mouseover',function (event){ Obj.style.borderColor=Hover; Obj.children[0].style.borderColor=Hover; });})(Icon); (function(Obj){Obj.addEventListener('mouseout',function (event){ Obj.style.borderColor=Color; Obj.children[0].style.borderColor=Color; });})(Icon); return Icon; } Last(Size="24px",Color="#257",Hover="#F60"){ var Icon=this.First(Size,Color,Hover); Icon.style.transform="rotate(180deg)"; return Icon } Prev(Size="24px",Color="#257",Hover="#F60"){ var Icon=this.First(Size,Color,Hover); Icon.style.borderLeft="0"; return Icon } Next(Size="24px",Color="#257",Hover="#F60"){ var Icon=this.First(Size,Color,Hover); Icon.style.borderLeft="0"; Icon.style.transform="rotate(180deg)"; return Icon } Search(Color="#fff",BGColor="#257"){ var Style={width:"40px",height:"35px",padding_top:"3px",background:BGColor,cursor:"pointer"}; var Bnt=document.createElement('span'); Bnt=AcceptStyle(Bnt,Style); Style={display:"inline-block",vertical_align:"middle",position:"relative",padding_right:"2px",padding_bottom:"0px"}; var Bnt0=document.createElement('span'); Bnt0=AcceptStyle(Bnt0,Style); Style={width:"12px",height:"12px",border:" 2px solid " +Color,border_radius:"50%"}; var Bnt1=document.createElement('span'); Bnt1=AcceptStyle(Bnt1,Style); Style={position:"absolute",right:"-1px",bottom:"-1px",width:"8px",height:"2px",background:Color,_webkit_transform:"rotate225deg)",_moz_transform:"rotate(225deg)",_ms_transform:"rotate(225deg)",_o_transform:"rotate(225deg)",transform:"rotate(45deg)"}; var Bnt2=document.createElement('span'); Bnt2=AcceptStyle(Bnt2,Style); Bnt0.appendChild(Bnt1); Bnt0.appendChild(Bnt2); Bnt.appendChild(Bnt0); return Bnt; } Close(Size="20px",BorderColor="#000",MouseOver=""){ var CloseStyle={width:Size,height:Size,position:"relative",overflow:"hidden",border_radius:"50%",transform:"rotate(-45deg)"}; var CloseChildStyle=[{position:"absolute",border_top:"2px solid "+BorderColor,width:"100%",height:"100%",margin_top:"calc(50% - 2px)"},{position:"absolute",border_left:"2px solid "+BorderColor,width:"100%",height:"100%",margin_left:"calc(50% - 1px)"}]; var Icon=document.createElement('div'); Icon=AcceptStyle(Icon,CloseStyle); for(let i=0;i400){top=400;} this.Dom.style.left="calc( 50% - "+(width/2-90).toString() +"px)"; this.Dom.style.top=top.toString() +"px"; } Close(){ this.Dom.style.width="1000px"; this.Dom.style.height="0px"; this.Dom.style.left="calc( 50% - "+(500-90).toString() +"px)"; this.Dom.style.top="0"; this.Dom.style.opacity=0; this.Title.innerHTML=""; this.Content.innerHTML=""; document.body.removeChild(this.CoverLayer); } LoadingClose(){this.Loading.style.display="none";} LoadingShow(){this.Loading.style.display="block";} setSkin(Skin={HeadBack:"#eee",HeadColor:"#000",BodyBack:"#fff",BodyColor:"#000"}){ this.Head.style.color=Skin.HeadColor; this.Head.style.backgroundColor=Skin.HeadBack; this.Content.style.backgroundColor=Skin.BodyBack; this.Content.style.color=Skin.BodyColor; } setUrl(url){this.iframe.src=url;} setHearderColor(Color="#123"){this.Head.style.color=Color} setHearderBGColor(Color="#eee"){this.Head.style.backgroundColor=Color} setBodyBGColor(Color="#fff"){this.Content.style.backgroundColor=Color;} setBodyColor(Color="#000"){this.Content.style.color=Color;} setTitle(title){this.Title.innerHTML=title;} } class NavigationMenu{ Init(Dom,Item){ var Html=""; for(let i=0;i"+Item[i].title+""; Html+=""; } Html+=""; } Html+=""; Dom.innerHTML=Html; } } class PicBox{ Init(Dom){ var Style={background_color:"#000",opacity:0,box_shadow:"0px 1px 8px rgba(0, 0, 0, 0.8)",border_radius:"5px",transition_property:"opacity,top,width,height,left",transition_duration:".5s",top:"10%",position:"fixed",width:"0",height:"0",left:"50%",z_index:"99"}; this.PicBox=document.createElement("div"); this.PicBox=AcceptStyle(this.PicBox,Style); this.CloseButton=ICON.Close(); this.CloseIcon=ICON.Close("36px","#FFF","#fff"); //this.CloseIcon.style.float="right"; this.CloseIcon.style.position="absolute"; this.CloseIcon.style.right="-35px"; this.CloseIcon.style.top="-35px"; this.PicBox.appendChild(this.CloseIcon); (function(Obj){Obj.CloseIcon.addEventListener('click',function (event) {Obj.Close();});})(this); this.ImgDiv=document.createElement("div"); this.ImgDiv.style.height="100%"; this.ImgDiv.style.width="100%"; this.ImgDiv.style.backgroundColor="#000"; this.PicBox.appendChild(this.ImgDiv); this.Img=document.createElement("img"); this.Img.style.height="100%"; this.Img.style.width="100%"; this.Img.style.borderRadius="5px"; this.ImgDiv.appendChild(this.Img); this.ImgTitle=document.createElement("div"); this.ImgTitle.style.position="absolute"; this.ImgTitle.style.width="100%"; this.ImgTitle.style.fontSize="26px"; this.ImgTitle.style.bottom="10px"; this.ImgTitle.style.textAlign="center"; this.ImgTitle.style.color="#5ce"; this.ImgTitle.style.textShadow="0px 0px 5px #000"; this.PicBox.appendChild(this.ImgTitle); this.ImgText=document.createElement("div"); this.ImgText.style.position="absolute"; this.ImgText.style.width="200px"; this.ImgText.style.fontSize="18px"; this.ImgText.style.top="20px"; this.ImgText.style.right="20px"; this.ImgText.style.padding="20px"; this.ImgText.style.color="#5ce"; this.ImgText.style.textShadow="0px 0px 5px #000"; this.ImgText.style.backgroundColor="rgba(0,0,0,0.8)"; this.ImgText.style.borderRadius="5px"; this.ImgText.style.border="1px solid #297"; this.ImgText.style.display='none'; this.ImgText.style.lineHeight='2'; this.PicBox.appendChild(this.ImgText); Dom.appendChild(this.PicBox); } Show(PicInfo){ this.PicBox.style.height="80%"; this.PicBox.style.width="80%"; this.PicBox.style.left="10%"; //"calc( 50%- "+(500-90).toString() +"px)"; this.PicBox.style.top="10%"; this.PicBox.style.opacity=1; this.Img.src=PicInfo[0].src; var ImgTitle=""; for(let i=0;i "+PicInfo[i].title+"
" } this.ImgTitle.innerHTML=ImgTitle; if(PicInfo[1]){ this.ImgText.innerHTML=PicInfo[1]["text"]; window.top.PBox.ShowText(); } } ShowText(){ this.ImgText.style.display='block'; } CloseText(){ this.ImgText.style.display='none'; } Close(){ this.PicBox.style.width="0"; this.PicBox.style.height="0"; this.PicBox.style.left="50%"; this.PicBox.style.top="50%"; this.PicBox.style.opacity=0; this.ImgText.style.display='none'; this.Img.src=""; //this.PicBox.innerHTML=""; } } class SelectLinkage2{ Init(Dom,Selected0="张海涛",Selected1="农业",Option0,Option1,Style={width:"auto",margin_right:"20px"},BlankItem="N"){ Dom.style.whiteSpace="nowrap"; this.Option0=Option0; this.Option1=Option1; this.Select0=document.createElement('select'); this.Select0.name="Select0"; for(let key in this.Option0){ let Opt = new Option(this.Option0[key],key); if(Selected0==key){Opt.selected=true;} this.Select0.add(Opt); } (function(Obj){ Obj.Select0.addEventListener('change',function (event){ var Select1Opt=Obj.Option1[Obj.Select0.options[Obj.Select0.selectedIndex].value]; Obj.Select1.options.length=0; for(let key in Select1Opt){ let Opt = new Option(Select1Opt[key],key); if(Selected1==key){Opt.selected=true;} Obj.Select1.add(Opt); } }); })(this); var Select1Opt=this.Option1[this.Select0.options[this.Select0.selectedIndex].value]; this.Select1=document.createElement('select'); this.Select1.name="Select1"; for(let key in Select1Opt){ let Opt = new Option(Select1Opt[key],key); if(Selected1==key){Opt.selected=true;} this.Select1.add(Opt); } this.Select0=AcceptStyle(this.Select0,Style); this.Select1=AcceptStyle(this.Select1,Style); Dom.appendChild(this.Select0); Dom.appendChild(this.Select1); } } function GetVarName(Dom){var VarName=null;for(let a in window){if(window[a]==Dom){VarName=a;break;}}return VarName;} function UpdateJson(S,T){for(let i=0;i=S.length){return false;}} function UpdateJsonField(S,Id,F,V){for(let i=0;i=S.length){return false;}} function InsertJson(S,T){S.unshift (T);} function CreatUrlParam(Dom){ if(Dom){ var key=Dom.getElementsByTagName("select"); var param=""; for(let i=0;i0){param+="&";} key=Dom.getElementsByTagName("input"); for(let i=0;i=Source.length){return false;} } function $_COOKIE(name){var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); if(arr=document.cookie.match(reg)){return decodeURI(arr[2]); }else{return false;}} function $_GET(variable){var query = window.location.search.substring(1);var vars = query.split("&");for (var i=0;i=0){ exitFullscreen(); WX.Top.style.display="block"; WX.LeftArea.style.display="block"; WX.RightArea.style.left="180px"; WX.RightArea.style.top="50px"; document.getElementById("zoombnt").src="//open.winnto.com/image/icon/zoom0.png"; }else{ WX.Top.style.display="none"; WX.LeftArea.style.display="none"; WX.RightArea.style.left="0"; WX.RightArea.style.top="0"; toFullscreen() document.getElementById("zoombnt").src="//open.winnto.com/image/icon/zoom1.png"; } } function toFullscreen() { var de = document.documentElement; if (de.requestFullscreen) { de.requestFullscreen(); } else if (de.mozRequestFullScreen) { de.mozRequestFullScreen(); } else if (de.webkitRequestFullScreen) { de.webkitRequestFullScreen(); } } function exitFullscreen() { if(document.exitFullScreen) { document.exitFullScreen(); } else if(document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if(document.webkitExitFullscreen) { document.webkitExitFullscreen(); } else if(element.msExitFullscreen) { element.msExitFullscreen(); } }