activity_manager_client

目錄結構

config.xml

<?xml version="1.0" encoding="UTF-8"?>
<config scope="client" clientversion="4" devicetype="all" theme="skin-cyan"> 
  <appid>activity_manger</appid>  
  <appname>活動管理</appname>  
  <description></description>  
  <version>1.1.0</version>  
  <date>2018-07-03</date>  
  <homepage src="res:page/login.uixml"/>  
  <faultconfig src=""/>  
  <access network="true" gps="true" camera="true" certificate="true" land="false" orientation="port"/>  
  <vendor email="" url=""/>  
  <icon main="res:image/main.png" logo="res:image/logo.png"/> 
</config>

login.uixml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.nj.fiberhome.com.cn/exmobi.dtd">
<html>
<head>
<title show="false"/>
<style type="text/css">
input[type=text]{
	background-color:transparent;
	border-size:0;
	border-radius:4;
	margin:3 0;
	height:50;
	padding:0 4;
	color:#525252;
}
input[type=password]{
	background-color:transparent;
	border-size:0;
	border-radius:4;
	margin:3 0;
	height:50;
	padding:0 4;
	color:#525252;
}
font{
	color:#8f8f8f;
}
switch{ 	
	overlay:none;
	border-radius: 16;
	align:right;
}
input[type="button"]{
	width:100%;
	margin:4 0 4 0;
	height:45;
	font-size:20dp;
	border-radius:4;
}
.card{
	border-radius:4;border-size: 1;border-color: #d9d9d9;background-color: white;
}
</style>
<script type="text/javascript" src="res:script/exmobi_lite/core.js"></script>
<script type="text/javascript">
<![CDATA[
function init(){
	//記住密碼邏輯操作
	var login_id = document.cache.getCache("ac_uid");
	$("#login_id").val(login_id);
	var login_pwd = document.cache.getCache("ac_pwd");
	var rem_pwd = document.cache.getCache("ac_rem");
	if(rem_pwd == "1"){
		$("#rem_pwd").attr("checked",true);
		$("#login_pwd").val(login_pwd);
	}else{
		$("#rem_pwd").attr("checked",false);
	}
}

	function dologin(){
		var login_id = $("#login_id").val();
		var login_pwd = $("#login_pwd").val();
		if(login_id == ""){
			$.showToast("請輸入用戶名");
			return;
		}
		if(login_pwd == ""){
			$.showToast("請輸入密碼");
			return;
		}
		$.server({
			url:'http://demo/checklogin',
			type:'post',
			dataType:'json',
			data:'login_id='+login_id+'&login_pwd='+login_pwd,
			success:function(data){
				if(data.result ==  "success"){
					var user_info =EncryptionUtil.base64Encode(ClientUtil.jsonToString(data.user_info));
					document.cache.setCache("ac_uid",login_id);
					if($("#rem_pwd").attr("checked")){
						document.cache.setCache("ac_pwd",login_pwd);
						document.cache.setCache("ac_rem","1");
					}else{
						document.cache.remove("ac_pwd");
						document.cache.setCache("ac_rem","0");
					}
					window.setStringSession("user_info",user_info);
					window.open("res:page/index.uixml");
				}else{
					$.showToast(data.msg);
				}
			},
			error:function(data){
				$.showToast("請求失敗,請檢測網絡");
			},
			isBlock:true
		});
	}
]]>
</script>

</head>
	<body style="background-color:#f4f4f4;padding:0 10;" onload="init();">
			<br size="40"/>
			<img src="res:image/login3/logo.png" href="script:close" style="width:40%;align:center;"/>
			<br size="40"/>
			<div class="card">
				<input type="text" prompt="請輸入用戶名" id="login_id" licon="res:image/login3/user.png"/>
				<hr/>
				<input type="password" prompt="請輸入密碼" id="login_pwd" licon="res:image/login3/pwd.png"/>
			</div>
			<br size="5"/>
			<font>記住密碼</font>
			<switch id="rem_pwd" ontext="" offtext="" value="1" checked="true"></switch>
			<br size="5"/>
			<input type="button" value="登錄" onclick="dologin();"/>
	</body>
</html>

index.uixml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.nj.fiberhome.com.cn/exmobi.dtd">
<html style="background-image:url(res:image/main13/bg.png)">
<head>
<title show="false"/>
<link rel="stylesheet" type="text/css" href="res:css/global.css" />
<style type="text/css">
	.case{
		width:250;height:150;font-size:24;color:white;text-align:center;text-valign:middle;
		margin:10 0 10 0;
	}
	.icon{
		width:60;
	}
</style>
<script type="text/javascript" src="res:script/exmobi_lite/core.js"></script>
<script type="text/javascript">
<![CDATA[
]]>
</script>

</head>
<header>
	<titlebar title="活動管理" iconhref="script:close" hidericon="true"/>
</header>
<body style="text-align:center;text-valign:middle;background-color:transparent;">
	<div class="case" href="script:popmenu(usermenu);" style="background-image:url(res:image/main13/greencase.png);background-click-image:url(res:image/main13/greencase_click.png)">
		<img src="res:image/main13/myfault.png" class="icon"/>
		<font style="margin:0 24 0 12">用戶管理</font>
	</div>
	<div class="case" href="script:popmenu(activitymenu);" style="background-image:url(res:image/main13/bluecase.png);background-click-image:url(res:image/main13/bluecase_click.png)">
		<img src="res:image/main13/writefault.png" class="icon"/>
		<font style="margin:0 24 0 12">活動管理</font>
	</div>
	<contextmenu id="usermenu" layout="vertical" showtype="normal" optiontype="text" title="用戶管理" shownumber="4">
		<option caption="個人信息" onclick="res:page/userdetail.uixml?type=modify"></option>
		<option caption="新增用戶" onclick="res:page/userdetail.uixml?type=add"></option>
	</contextmenu>
	<contextmenu id="activitymenu" layout="vertical" showtype="normal" optiontype="text" title="用戶管理" shownumber="4">
		<option caption="活動列表" onclick="res:page/activity_list.uixml"></option>
		<option caption="新增活動" onclick="res:page/add_activity.uixml"></option>
	</contextmenu>
</body>
	
</html>

userdetail.uixml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.nj.fiberhome.com.cn/exmobi.dtd">
<html>
<head>
<title show="false"/>
<link rel="stylesheet" type="text/css" href="res:css/global.css"/>
<link rel="stylesheet" type="text/css" href="res:css/control.css"/>
<script type="text/javascript" src="res:script/exmobi_lite/core.js"></script>

<style type="text/css">
.label-left{
	color:#333333;
	width:30%;
	font-size:20;
}
.label-right{
	width:70%;
	border-size:0;
}
.necessary-border{
	border-color:red;
}
</style>
<script type="text/javascript">
<![CDATA[
var opt = window.getParameter("type");

function formsuc(data){
	var rspJson = ClientUtil.stringToJson(data.responseText);
	if(opt == "modify"){//個人信息修改頁面,提交成功後更新session中的用戶信息
		var user_info =EncryptionUtil.base64Encode(ClientUtil.jsonToString(rspJson.currentUser));
		window.setStringSession("user_info",user_info);
		close();
	}else{//新增用戶頁面,提交成功後直接關閉當前頁面
		close();
	}
	$.showToast(rspJson.msg);
}
function formfail(data){
	$.showToast("請求失敗,請檢測網絡");
}
function dosubform(){
	$("#subform")[0].submit();
}

//個人信息回填頁面
function setUserInfo(user_info){
	for(x in user_info){//循環用戶信息並回填至頁面
		if( x != "sex"){
			$("#"+x).val(user_info[x]);
		}
	}
	if(user_info.sex == "1"){
		$("#male").attr("checked",true);
		$("#female").attr("checked",false);
	}else{
		$("#male").attr("checked",false);
		$("#female").attr("checked",true);
	}
	$("#login_id").attr("readonly",true);
}

function init(){
	if(opt == "modify"){//個人信息頁面,從session中取出個人信息,並回填頁面
		$("#title").attr("title","個人信息");
		var user_info =ClientUtil.stringToJson(EncryptionUtil.base64Decode(window.getStringSession("user_info"))); 
		setUserInfo(user_info);//回填個人信息函數
	}else{
		$("#title").attr("title","新增用戶");
	}
}

//新增用戶時,檢測帳號是否
function ifreat(){
	$.server({
		url:'http://checkrepeatloginid',
		type:'post',
		dataType:'json',
		data:'login_id='+$("#login_id").val(),
		success:function(data){
			if(data.repeat ==  "1"){
				$.showToast("該賬號已存在!");
			}
		},
		error:function(data){
			$.showToast("請求失敗,請檢測網絡");
		}
	});
}
]]>
</script>

</head>
	<header>
		<titlebar title="人員詳情" id="title" iconhref="script:close" riconhref="dosubform();" ricon="res:image/titlebar/ok.png" clickricon="res:image/titlebar/ok_click.png"/>
	</header>
	<body style="padding: 4 8" onload="init();">
		<form id="subform" method="post" action="http://submituser" success="formsuc" fail="formfail">
			<input type="hidden" id="user_uuid" value="" name="user_uuid"></input>

			<font class="label-left" >登陸賬號:</font>
			<input class="label-right" onchange="ifreat();" type="text" id="login_id" name="login_id" validate="required" validatemsg="請輸入登陸賬號" prompt="必填"/>
			<hr/>
			<font class="label-left" >登陸密碼:</font>
			<input class="label-right" type="text" id="login_pwd" name="login_pwd" validate="required" validatemsg="請輸入登陸密碼" prompt="必填"/>
			<hr/>
			
			<font class="label-left">性別:</font>
			<input type="radio" value="1" id="male" caption="男" name="sex" checked="true"/>
			<input type="radio" value="2" id="female" caption="女" name="sex"/>
			<hr/>
			
			<font class="label-left">姓名:</font>
			<input class="label-right" type="text" id="user_name" name="user_name" validate="required" validatemsg="請輸入姓名" prompt="必填"/>
			<hr/>
			<font class="label-left">手機號:</font>
			<input class="label-right" inputlimit="digit" siptype="num"  type="text" id="tel_no" name="tel_no"/>
			<hr/>
			<font class="label-left">身份證號:</font>
			<input class="label-right" inputlimit="digit" siptype="num" maxlength="18" type="text" id="identify_id" name="identify_id"/>
			<hr/>
			<textarea rows="3" prompt="備註信息" name="remark" id="remark"></textarea>
		</form>
		
	</body>
</html>

activity_list.uixml

<html id="actlist">
<head>
<meta content="charset=utf-8"/>
<title show="false">活動列表</title>
<script type="text/javascript" src="res:script/exmobi_lite/core.js"></script>
<script type="text/javascript" src="res:script/exmobi_lite/template-native-exmobi.js"></script>
<script>
<![CDATA[
function codeActJson(actJson){
	return EncryptionUtil.base64Encode(ClientUtil.jsonToString(actJson));
}

function actInfoClick(actInfoStr){
	window.setStringSession("actInfo",actInfoStr);
	window.open("res:page/act_detail.uixml");
}

template.helper("codeActJson",codeActJson);
template.helper("actInfoClick",actInfoClick);

function getActList(){
	$.server({
		url:'http://activity_list.jsp',
		type:'post',
		dataType:'json',
		data:'actTitle='+$("#actTitle").val+"&actStatus="+$("#actStatus").val(),
		success:function(data){
			if(data.acts.length >0){
				$.renderReplace('#actarea', 'res:page/act_list.template', data, function(h, t, o){
					//h:注入後生成的html代碼,t:模板,o:data
				});
			}else{
				$.showToast("未查詢到活動");
			}
		},
		error:function(data){
			$.showToast("請求失敗,請檢測網絡");
		},
		isBlock:true
	});
}	
]]>
</script>
<style type="text/css">
	hr{
		border-size:1apx;
		border-color:#D0CDC8;
	}
	select{
		border-size:0;
		background-color:#F1F0EF;
	}
	.titlebar{
		rcolor:white;
	}
	listitem{
		iconwidth:60;
		iconheight:45;
	}
</style>

</head>
<header style="background-color: #F1F0EF">
	<titlebar title="活動列表" class="titlebar" id="title" iconhref="script:close" rcaption="查詢" riconhref="getActList();"/>
	<input type="text" style="border-size:0;width:100%;background-color: #F1F0EF;prompt-color: black" id="actTitile" prompt="活動標題"></input>
	<hr/>
	<select id="actStatus">
		<option>請選擇活動狀態</option>
		<option value="1">報名中</option>
		<option value="2">報名截止</option>
		<option value="3">進行中</option>
		<option value="4">已結束</option>
	</select>
	
</header>
<body style="padding: 4 0" id="actarea" onload="getActList();">

</body>
</html>

 

act_detail.uixml

<html>
<head>
<meta content="charset=utf-8"/>
<title show="false">活動詳情</title>
<script type="text/javascript" src="res:script/exmobi_lite/core.js"></script>
<script>
<![CDATA[
var actInfo;
	function init(){
		actInfo = ClientUtil.stringToJson(EncryptionUtil.base64Decode(window.getStringSession("actInfo")));
		$("#act_uuid").val(actInfo.activity_uuid);
		$("#actStatus").val(actInfo.actStatus);
		window.beignPreferenceChange();/*開始批量刷新*/

		$("#poster").attr("src","http://getimg.jsp?img_uuid="+actInfo.poster_img_uuid);
		$("#poster").attr("href","http://getimg.jsp?img_uuid="+actInfo.poster_img_uuid);
		$("#activity_title").html(actInfo.activity_title);
		$("#activity_content").html(actInfo.activity_content);
		if(actInfo.activity_imgs != ""){
			var scrollObj = document.getElementById("scroll");
			var imgIdArray = actInfo.activity_imgs.split(",");
			var scrollData = new Array();
			for(i=0;i<imgIdArray.length;i++){
				var scrollJson = {};
				scrollJson.src = "http://getimg.jsp?img_uuid="+imgIdArray[i];
				scrollJson.href = "openfile:http://getimg.jsp?img_uuid="+imgIdArray[i];
				scrollData.push(scrollJson);
			}
			scrollObj.loadData(scrollData);
			$("#imgDiv").show();
		}
		$("#begin_time").html(actInfo.begin_time);
		$("#end_time").html(actInfo.end_time);
		$("#address").html(actInfo.address);
		$("#deadline_time").html(actInfo.deadline_time);
		$("#contact_tel").html(actInfo.contact_tel);
		$("#contact_tel").attr("href","tel:"+actInfo.contact_tel);
		var pl = actInfo.person_limit == "0"?"不限制":actInfo.person_limit;
		$("#plimit").val(actInfo.person_limit);
		$("#person_limit").html(pl);
		$("#join_count").html(actInfo.join_count);
		if(actInfo.necessary != ""){
			var neceArray = actInfo.necessary.split(",");
			var neceDict = {tel_no:"手機號",identify_id:"身份證","sex":"性別","remark":"備註"};
			var innerBtn = '';
			for(i=0;i<neceArray.length;i++){
				var btnValue = "";
				for(var x in neceDict){
					if(x == neceArray[i]){
						btnValue = neceDict[x];
						break;
					}
				}
				innerBtn += '<input type="button" value="button" value="'+btnValue+'" class="necessary-btn"></input>';
			}
			$("#needArea").html(innerBtn);
		}
		window.endPreferenceChange();/*結束批量刷新*/
	}
	
	function doSignup(){
		var user_info =ClientUtil.stringToJson(EncryptionUtil.base64Decode(window.getStringSession("user_info"))); 
		if($("#actStatus").val() != "報名中"){
			$.showToast("活動"+$("#actStatus").val()+",不能報名");
			return;
		}
		if($("#plimit").val() != "0"){
			var limitCount = Number($("#plimit").val());
			var joinCount = Number($("#join_count").html());
			if(joinCount >= limitCount){
				$.showToast("報名人數已滿,不能報名");
				return;
			}
		}
		if(actInfo.necessary != ""){
			var neceArray = actInfo.necessary.split(",");
			for(i=0;i<neceArray.length;i++){
				for(var x in user_info){
					if(x == neceArray[i] && user_info[x] == ""){
						$.confirm("您有用戶報名必填項未填寫,是否跳轉至個人信息頁面修改?",function(){window.open("res:page/userdetail.uixml?type=modify");},function(){return;});
						return;
					}
				}
			}
		}
		$.server({
			url:'http://signup_act.jsp',
			type:'post',
			data:'act_uuid='+$("#act_uuid").val()+"&user_uuid="+user_info.user_uuid,
			dataType:'json',
			success:function(data){
				$.showToast(data.msg);
				if(data.result == "success"){
					var listWin = PageUtil.getWindowById("actlist");
					listWin.callFunction("getActList");
					close();
				}
			},
			error:function(data){
				$.showToast("請求失敗,請檢測網絡");
			},
			isBlock:true
		});
	}
]]>
</script>
<style type="text/css">
	.cdiv{
		background-color:white;
		border-top-size:1apx;
		border-bottom-size:1apx;
		border-color:#D5D2CD;
		margin:5 0;
	}
	.tipdiv{
		padding: 10 2;
		border-bottom-size:1apx;
		border-color:#D5D2CD;
	}
	.blockicon{
		width:20;
	}
	.textfont{
		margin:10;
	}
	.lfont{
		color:#323333;
		width:30%;
		margin:10 0 10 10;
	}
	.rlabel{
		width:70%;
		margin:10 0;
	}
	.necessary-btn{
		border-radius:10;
		width:20%;
	}
</style>

</head>
<header>
	<titlebar title="活動詳情" style="rcolor: white" id="title" iconhref="script:close" riconhref="doSignup();" rcaption="報名"/>
</header>
<body style="padding: 4 0;background-color: #F1F0EF" onload="init();">
	<input type="hidden" value="" id="act_uuid"></input>
	<input type="hidden" value="" id="actStatus"></input>
	<input type="hidden" value="" id="plimit"></input>

	<div  class="cdiv" style="padding: 4;height:100">
		<img id="poster" style="width: 100%;" src="" href="" urltype="openfile" cached="true"></img>
	</div>
	<div class="cdiv">
		<div class="tipdiv">
			<img class="blockicon" src="res:image/block.png" ></img>
			<efont class="tipcolor">活動標題<subfont style="color: red">  *</subfont></efont>
		</div>
		<font class="textfont" id="activity_title"></font>
	</div>
	<div class="cdiv">
		<div class="tipdiv">
			<img class="blockicon" src="res:image/block.png" ></img>
			<efont class="tipcolor">活動詳情<subfont style="color: red">  *</subfont></efont>
		</div>
		<font class="textfont" id="activity_content"></font>
		<br/>
		<div id="imgDiv" style="display: none;text-align: center">
			<scrollpicture id="scroll" style="width:80%;height:145" interval="true"/>
		</div>
	</div>
	
	<div class="cdiv">
		<font class="lfont">開始時間</font>
		<font id="begin_time" class="rlabel"></font>
		<hr/>
		<font class="lfont">結束時間</font>
		<font id="end_time" class="rlabel"></font>
		<hr/> 
		<font class="lfont">活動地址</font>
		<font id="address" class="rlabel"></font>
		<hr/>
	</div>
	
	<div class="cdiv">
		<font class="lfont">報名截止</font>
		<font id="deadline_time" class="rlabel"></font>
		<hr/>
		<font class="lfont">活動諮詢</font>
		<a id="contact_tel" class="rlabel"></a>
		<hr/> 
		<font class="lfont">人數限制</font>
		<font id="person_limit" class="rlabel"></font>
		<hr/>
		<font class="lfont">已報名人數</font>
		<font id="join_count" class="rlabel"></font>
		<hr/>
		<efont class="lfont" style="width: 100%;margin: 15 0 0 10;">用戶報名必填項</efont>
		<br/>
		<div style="padding: 10 0 10 10;" id="needArea">
		</div>
	</div>
</body>
</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章