rabin há 7 anos atrás
pai
commit
5f82cc362d

+ 5 - 1
config/base.php

@@ -87,6 +87,10 @@ $config['template'] = array
 		'user/task' => 'mytask',
 		# 用户报告
 		'user/report' => 'reportlist',
+		# 用户兑现
+		'user/exchange' => 'recharge',
+		# 用户资料更新
+		'user/update' => 'updateprofile',
 
 		# 用户小队
 		'user/group' => 'team',
@@ -108,7 +112,7 @@ $config['template'] = array
 		'help/list'	=> 'help',
 		'help/view' => 'help-article',
 
-		# 剩余我的金币、我的任务、我的报告、我的消息、更改资料、我的兑现、生成二维码、瀑布流、按钮置灰色
+		# 剩余我的消息、更改资料、生成二维码、瀑布流、按钮置灰色
 	),
 	
 );

+ 83 - 6
main/assets/mobile/js/config.js

@@ -3,12 +3,63 @@
 //定义瀑布流
 Dever.Page().name = '#page';
 
-//定义模态框
-Dever.Modal().html = '<section class="notify">身份证号最多18位</section>';
-Dever.Modal().box = '.notify';
-Dever.Modal().content = '.notify';
-Dever.Modal().timeout = 2000;
-Dever.Modal().Init();
+//定义默认的alert
+Dever.modal = new Dever.Modal();
+Dever.modal.html = '<section class="notify">身份证号最多18位</section>';
+Dever.modal.box = '.notify';
+Dever.modal.content = '.notify';
+Dever.modal.timeout = 2000;
+Dever.modal.Init();
+
+//定义金币页的弹窗
+var layer = new Dever.Modal();
+layer.box = '.layer';
+layer.title = '.layer h3';
+layer.content = '.layer dl';
+layer.yes = '.layer .button';
+layer.no = '.layer .button';
+layer.timeout = 2000;
+layer.Init();
+layer.Show = function(e)
+{
+	var self = this;
+	var title = e.attr('layer-title');
+	var info = e.attr('layer-info');
+	var desc = e.attr('layer-desc');
+	var cash_desc = e.attr('layer-cash_desc');
+	self.title.html(title);
+	self.content.find('dt').html(info);
+	if (cash_desc) self.content.find('p').eq(0).html(cash_desc);
+	self.content.find('p').eq(1).html(desc);
+	self.box.show();
+	var callback = {};
+	callback.yes = function()
+	{
+		self.box.hide();
+	}
+	self.Bind(callback);
+};
+
+//定义certify
+var certify = new Dever.Modal();
+certify.box = '.certify';
+certify.title = '.certify h3';
+certify.content = '.certify dl';
+certify.yes = '.certify .button';
+certify.timeout = 2000;
+certify.Init();
+certify.Show = function(url)
+{
+	var self = this;
+	self.box.show();
+	var callback = {};
+	callback.yes = function()
+	{
+		location.href = url;
+	}
+	self.Bind(callback);
+};
+
 
 //定义用户相关的一些信息
 Dever.User().config = 
@@ -34,6 +85,8 @@ Dever.User().config =
 		,6 : '#forget'
 		//资料认证
 		,7 : '#info'
+		//兑现
+		,8 : '#exchange',
 	}
 
 	//登录信息
@@ -193,6 +246,30 @@ Dever.User().config =
 		,'url' : Dever.Host('task', 'user.submit')
 	}
 
+	//兑现
+	,8 :
+	{
+		'input' :
+		{
+			'type' : function() {
+				var v = $('.checkgroup .checked').attr('data-val');
+				if (v == 'wechat') {
+					v = 1;
+				} else {
+					v = 2;
+				}
+				return v;
+			}
+			,'score' : '#score'
+		}
+		//错误提示的div
+		//,'status' : '.alert'
+		//错误提示
+		,'error' : '您填写的信息有误'
+		//登录要提交的url
+		,'url' : Dever.Host('task', 'score.submit_commit')
+	}
+
 };
 
 //定义上传回调方法

+ 27 - 0
main/template/mobile/user/exchange.php

@@ -0,0 +1,27 @@
+<?php
+
+$view
+
+->import('inc/head')
+
+->set('title', '金币兑换')
+->set('name', 'recharge')
+
+->fetch('header span@check', 'task/user.info_check')
+->fetch('header span', '金币兑换')
+->fetch('header .back@href',    '<{Dever::url("user/score", "main")}>')
+
+->fetch(array('input@id', 0), 'score')
+->fetch(array('input@name', 0), 'score')
+->fetch(array('input@dever-error', 0), '请输入兑换数量')
+->fetch(array('input@placeholder', 0), '<{Dever::load("task/score.exchange#desc")}>')
+
+->fetch(array('label', 1), '<{Dever::load("task/score.exchange#exchange")}>')
+
+->fetch(array('.button@class', 0), 'button')
+->fetch(array('.button@type', 0), 'button')
+->fetch(array('.button@id', 0), 'exchange')
+
+->import('inc/foot')
+
+->display();

+ 65 - 0
main/template/mobile/user/report.php

@@ -0,0 +1,65 @@
+<?php
+$title = '我提交的任务报告';
+
+$view
+
+# 公共页面,这种方式不会更改前端代码,还有一种方式可以参考manage组件
+->import('inc/head')
+
+# 设置全局变量
+->set('title', $title)
+# 这个变量控制不同页面的样式和js文件
+->set('name', 'reportlist')
+->set('nav', 'user_task') 
+# 定义header>span的html为$title
+->fetch('header span',    $title)
+->append('header', '<a href="<{Dever::url("user/task?type=" . Dever::input("type"), "main")}>" class="back"></a>')
+
+
+->fetch(array('.tabs a@class', 0), '<{Dever::input("type", 1) == 1 ? "cur" : ""}>')
+->fetch(array('.tabs a@class', 1), '<{Dever::input("type", 1) == 2 ? "cur" : ""}>')
+->fetch(array('.tabs a@href', 0), '<{Dever::url("user/task?type=1", "main")}>')
+->fetch(array('.tabs a@href', 1), '<{Dever::url("user/task?type=2", "main")}>')
+
+# 循环
+->loop
+(
+    '.reportlist .report',
+    'task/report.all',
+    array
+    (
+        'dt' => '$v.name',
+
+        '.tk-imgs|$v.img' => array
+        (
+            'img' => array
+            (
+                'src' => '$v1',
+            ),
+        ),
+        '.tk-text|0' => array
+        (
+            'html' => '$v.link',
+        ),
+
+        '.tk-text|1' => array
+        (
+            'html' => '$v.desc',
+        ),
+
+        'dd|6' => array
+        (
+            'class' => '$v.audit_icon',
+            'html' => '$v.audit_desc',
+        ),
+    )
+)
+
+->fetch('.transp@href', '<{Dever::url("task/submit?id=" . Dever::input("id"), "main")}>')
+
+# 暂无记录
+->append('.records', '<{Dever::load("task/report.all") ? "" : \'<section class="no-result"><section class="no-notice-wrapper"><img src="<{Dever::assets("images/6713b0c1.no-report.png", "images")}>" alt=""><p>您还没有提交任务报告</p><a href="<{Dever::url("task/submit?id=" . Dever::input("id"), "main")}>" class="button">提交报告</a></section></section>\'}>')
+
+->import('inc/foot')
+
+->display();

+ 17 - 5
main/template/mobile/user/score.php

@@ -28,8 +28,8 @@ $view
 
         '.button' => array
         (
-            'html' => '兑现',
-            'href' => '<{Dever::url("user/exchange", "main")}>',
+            'html' => '<{Dever::load("main/config-one#score_name")}>兑换',
+            'href' => '$v.exchange',
         ),
     ), 
 ))
@@ -41,24 +41,36 @@ $view
     'task/score.logs',
     array
     (
+        'self' => array
+        (
+            'layer-title' => '$v.status',
+            'layer-info' => '$v.info',
+            'layer-desc' => '$v.desc',
+            'layer-cash_desc' => '$v.cash_desc',
+            'onclick' => 'layer.Show($(this))',
+        ),
         'span|0' => array
         (
             'html' => '$v.date',
         ),
         'span|1' => array
         (
-            'html' => '$v.date',
+            'html' => '$v.score',
         ),
         'span|2' => array
         (
-            'html' => '$v.name',
+            'html' => '$v.status',
+            'class' => '$v.icon',
         ),
     )
 )
 
+->fetch('.layer@style', 'display:none;')
+->fetch('.layer img@src', '<{Dever::assets("images/f936ea19.giftbox.png", "images")}>')
+
 # 暂无记录
 ->append('.records', '<{Dever::load("task/score.logs") ? "" : \'<section class="no-result">
-            <img src="<{Dever::config("host")->assets}>mobile/images/5dcefa7b.no-records.png" alt="">
+            <img src="<{Dever::assets("images/5dcefa7b.no-records.png", "images")}>" alt="">
             <p>暂无记录</p>
         </section>\'}>')
 

+ 69 - 0
main/template/mobile/user/task.php

@@ -0,0 +1,69 @@
+<?php
+$title = '我的任务';
+
+$view
+
+# 公共页面,这种方式不会更改前端代码,还有一种方式可以参考manage组件
+->import('inc/head,inc/menu')
+
+# 设置全局变量
+->set('title', $title)
+# 这个变量控制不同页面的样式和js文件
+->set('name', 'mytask')
+->set('nav', 'user_task') 
+# 定义header>span的html为$title
+->fetch('header span',    $title)
+->append('header', '<a href="<{Dever::url("user/account", "main")}>" class="back"></a>')
+
+
+->fetch(array('.tabs a@class', 0), '<{Dever::input("type", 1) == 1 ? "cur" : ""}>')
+->fetch(array('.tabs a@class', 1), '<{Dever::input("type", 1) == 2 ? "cur" : ""}>')
+->fetch(array('.tabs a@href', 0), '<{Dever::url("user/task?type=1", "main")}>')
+->fetch(array('.tabs a@href', 1), '<{Dever::url("user/task?type=2", "main")}>')
+
+# 循环
+->loop
+(
+    '.tasklist .task',
+    'task/info.user',
+    array
+    (
+        'dt' => '$v.name',
+
+        '.tk-column' => array
+        (
+            'style' => '<{$v.score.total ? "" : "display:none;"}>',
+            '.ico-person' => array
+            (
+                'html' => '$v.score.report',
+            ),
+
+            '.ico-team' => array
+            (
+                'html' => '$v.score.group',
+            ),
+        ),
+        '.tk-coin' => array
+        (
+            'style' => '<{$v.score.total ? "" : "display:none;"}>',
+            '.ico-count' => array
+            (
+                'html' => '$v.score.total',
+            ),
+        ),
+
+        '.org' => array
+        (
+            'href' => '$v.link',
+        ),
+
+        '.button|1' => array
+        (
+            'href' => '<{Dever::url("user/report?type=".Dever::input("type", 1)."&id=".$v.id, "main")}>',
+        ),
+    )
+)
+
+->import('inc/foot')
+
+->display();

+ 40 - 0
main/template/mobile/user/update.php

@@ -0,0 +1,40 @@
+<?php
+
+$view
+
+->import('inc/head')
+
+->set('title', '修改资料')
+->set('name', 'updateprofile')
+
+->fetch('header span', '修改资料')
+->fetch('header .back@href',    '<{Dever::url("user/account", "main")}>')
+
+->fetch('.txtc@style',    'display:none;')
+
+->fetch(array('input@id', 1), 'username')
+->fetch(array('input@name', 1), 'username')
+->fetch(array('input@dever-error', 1), '请填写昵称')
+->fetch(array('input@value', 1), '<{Dever::load("task/user.one#username")}>')
+
+->fetch(array('input@id', 1), 'sex')
+->fetch(array('input@name', 1), 'sex')
+->fetch(array('input@dever-error', 1), '请选择性别')  
+
+->fetch(array('input@id', 2), 'code')
+->fetch(array('input@name', 2), 'code')
+
+->fetch('.disable@style', 'display:none')
+
+->fetch(array('.button@class', 0), 'button')
+->fetch(array('.button@type', 0), 'button')
+->fetch(array('.button@id', 0), 'set')
+
+->fetch('.male@sex-val', 0)
+->fetch('.female@sex-val', 1)
+
+->append('header', '<input type="hidden" name="refer" id="refer" value="<{Dever::input("refer")}>">')
+
+->import('inc/foot')
+
+->display();

+ 12 - 6
task/src/Info.php

@@ -33,11 +33,14 @@ class Info extends Base
      */
     public function user()
     {
+        $this->checkUser();
+
         $this->data['cate'] = Dever::db('task/cate')->state();
 
         $data = Dever::db('task/user_task')->getAll();
         if ($data) {
             foreach ($data as $k => $v) {
+                $data[$k] = Dever::db('task/info')->one($v['task_id']);
                 $this->getOne($data[$k]);
             }
         }
@@ -66,7 +69,7 @@ class Info extends Base
             if ($report_id) {
                 $info['report'] = Dever::db('task/user_report')->one($report_id);
             }
-            if (!$info['report']) {
+            if (!$info['report'] || ($info['report'] && $info['report']['status'] == 3)) {
                 $info['report'] = array
                 (
                     'id' => -1,
@@ -172,6 +175,8 @@ class Info extends Base
         if (isset($data['uid']) && $data['uid'] > 0 && $this->data['uid'] > 0 && $data['uid'] == $this->data['uid']) {
             $data['score'] = $this->score($data);
         }
+
+        $data['report_link'] = Dever::url('task/submit?id=' . $data['id'] . '&nonce=' . Dever::id(), 'main');
     }
 
     /**
@@ -193,28 +198,29 @@ class Info extends Base
         $result['report_num'] = $result['report_score'] = $result['group_score'] = $result['total_score'] = 0;
 
         if ($log) {
-            $result['report_num'] = count($report);
+            $result['report_num'] = $result['group_report_num'] = 0;
             foreach ($log as $k => $v) {
                 if ($v['type'] == 4 && $v['report_id'] > 0) {
                     $result['report_score'] += $v['score'];
                     $result['report_num']++;
                 } elseif ($v['type'] == 5) {
                     $result['group_score'] += $v['score'];
+                    $result['group_report_num']++;
                 }
             }
 
             $result['total_score'] = $result['report_score'] + $result['group_score'];
 
             if ($result['report_score'] > 0) {
-                $result['report'] = '已完成 '.$result['report_num'].' 份任务报告,获得 '.$result['report_score'].' ' . $this->data['config']['score_name'];
+                $result['report'] = '个人已完成 '.$result['report_num'].' 项任务报告,获得 <em>'.$result['report_score'].' ' . $this->data['config']['score_name'] . '</em>';
             }
             
             if ($result['group_score'] > 0) {
-                $result['group'] = '组员贡献 '.$result['group_score'].' ' . $this->result['config']['score_name'];
+                $result['group'] = '组员已完成 '.$result['group_report_num'].' 项任务报告,贡献 <em>'.$result['report_score'].' ' . $this->data['config']['score_name'] . '</em>';
             }
             
             if ($result['total_score'] > 0) {
-                $result['total'] = '合计获得 '.$result['total_score'].' ' . $this->data['config']['score_name'];
+                $result['total'] = '合计获得 <strong>'.$result['total_score'].'</strong> ' . $this->data['config']['score_name'];
             }
         }
 
@@ -284,7 +290,7 @@ class Info extends Base
         $result['link'] = 'javascript:;';
         $result['submit'] = '';
 
-        $result['report_link'] = Dever::url('task/submit?id=' . $data['id'] . '&nonce=' . Dever::id(), 'main');
+        $result['report_link'] = $data['report_link'];
 
         if ($result['status'] == 5) {
             $result['name'] = '提交报告';

+ 12 - 4
task/src/Report.php

@@ -145,19 +145,27 @@ class Report extends Base
     {
         # 审核文字
         if ($data['status'] == 1) {
-        	$data['audit'] = '待审核';
-        	$data['audit_desc'] = '';
+            $url = Dever::url('task/submit?id=' . $data['task_id'] . '&report_id=' . $data['id'], 'main');
+        	$data['audit'] = '<a href="#" class="mini-button disable">待审核</a>';
+        	$data['audit_desc'] = '<a href="'.$url.'" class="button">修改</a>';
+            $data['audit_icon'] = 'btns';
         } elseif ($data['status'] == 2) {
-        	$data['audit'] = '审核通过';
+        	$data['audit'] = '<a href="#" class="mini-button mb-success">已通过</a>';
         	$data['audit_desc'] = '获得' . $this->data['config']['score_name'] . ':' . $data['score'] . $this->data['config']['score_name_ext'];
         	if ($data['score_status'] == 1) {
         		$data['audit_desc'] .= '(未入账)';
         	} else {
         		$data['audit_desc'] .= '(已入账)';
         	}
+            $data['audit_icon'] = 'tk-ft-success';
         } elseif ($data['status'] == 3) {
-        	$data['audit'] = '审核未通过';
+        	$data['audit'] = '<a href="#" class="mini-button mb-error">未通过</a>';
         	$data['audit_desc'] = $data['status_desc'];
+            $data['audit_icon'] = 'tk-ft-error';
         }
+
+        $data['img'] = explode(',', $data['pic']);
+
+        $data['name'] = '账号:' . $data['username'] . $data['audit'];
     }
 }

+ 54 - 47
task/src/Score.php

@@ -15,8 +15,12 @@ class Score extends Base
     public function user()
     {
         # 检测用户是否登录
-        $this->checkUser();
-
+        $state = $this->checkUser();
+        if ($state) {
+            $this->data['user_score']['exchange'] = Dever::url("user/exchange", "main");
+        } else {
+            $this->data['user_score']['exchange'] = 'javascript:notice.Show("'.Dever::url("user/info_certify", "main").'")';
+        }
         return $this->data['uesr_score'];
     }
 
@@ -41,7 +45,7 @@ class Score extends Base
         	$user['desc'] = '';
         }
         
-        $user['exchange'] = '可兑换'.$user['cash'].$user['score_name_ext'];
+        $user['exchange'] = '兑换数量(可兑换'.$user['cash'].$user['score_name_ext'] . ')';
 
         return $user;
     }
@@ -97,7 +101,7 @@ class Score extends Base
 
 		Dever::db('task/user_score')->update($update);
 
-		return 'yes';
+		return '提交成功,请等待管理员审核';
     }
 
     /**
@@ -116,70 +120,73 @@ class Score extends Base
         $data = Dever::db('task/user_score_log')->getAll($where);
         if ($data) {
         	foreach ($data as $k => $v) {
-        		$data[$k]['name'] = '';
+                $data[$k]['cdate'] = $this->date($v['cdate']);
+                # 时间
+                $data[$k]['date'] = $data[$k]['cdate'];
+                # 描述
+                $data[$k]['desc'] = '';
+                # 金币数量
+                $data[$k]['score'] = '';
+                # 状态
+                $data[$k]['status'] = '';
+                # 弹窗中的介绍
         		$data[$k]['info'] = '';
-        		$data[$k]['desc'] = '';
-        		$data[$k]['yes_date'] = '';
-        		$data[$k]['date'] = '';
+                # 兑现途径
+                $data[$k]['cash_desc'] = '';
+                # 图标
+                $data[$k]['icon'] = '';
         		if ($v['type'] <= 3) {
-        			$data[$k]['name'] = $name . '兑换';
-
+                    $data[$k]['info'] = '本次兑现:'.$v['score'].$name;
+                    $data[$k]['score'] = '兑换' . $v['score'] . $name;
         			if ($v['type'] == 1) {
         				# 兑现申请
-        				$data[$k]['info'] = '本次兑现'.$name.' '.$v['score'].'枚,申请兑现';
-                        $data[$k]['desc'] = '兑换200金币';
-        				$data[$k]['date'] = $this->date($v['cdate']);
+        				$data[$k]['desc'] = '申请兑现时间:'.$data[$k]['cdate'];
+                        $data[$k]['status'] = '申请兑现';
         			} elseif ($v['type'] == 2) {
         				# 兑现完成
-        				$data[$k]['info'] = '本次兑现'.$name.' '.$v['score'].'枚,兑现完成';
-        				$data[$k]['desc'] = '成功兑现¥'.$v['cash'].'元';
-
-        				# 完成时间
-        				$data[$k]['yes_date'] = $this->date($v['cdate']);
-        				$data[$k]['date'] = $this->date($v['cash_date']);
+                        $data[$k]['date'] = $this->date($v['cash_date']);
+        				$data[$k]['desc'] = '申请兑现时间:'.$data[$k]['date'] . '<br />兑现完成时间:' . $data[$k]['cdate'];
+                        $data[$k]['status'] = '兑现完成';
+                        $data[$k]['icon'] = 'suc';
         			} elseif ($v['type'] == 3) {
-        				# 兑现完成
-        				$data[$k]['info'] = '本次兑现'.$name.' '.$v['score'].'枚,兑现失败';
-        				$data[$k]['desc'] = $v['type_desc'];
-
-        				# 完成时间
-        				$data[$k]['yes_date'] = $this->date($v['cdate']);
-        				$data[$k]['date'] = $this->date($v['cash_date']);
+        				# 兑现失败
+                        $data[$k]['date'] = $this->date($v['cash_date']);
+        				$data[$k]['date'] = '申请兑现时间:'.$data[$k]['date'] . '<br />' . $v['type_desc'];
+                        $data[$k]['status'] = '兑现失败';
+                        $data[$k]['icon'] = 'err';
         			}
 
         			if ($v['cash_type'] == 1) {
-        				$data[$k]['cash_desc'] = '微信';
+        				$data[$k]['cash_type'] = '微信';
         			} else {
-        				$data[$k]['cash_desc'] = '支付宝';
+        				$data[$k]['cash_type'] = '支付宝';
         			}
 
+                    $data[$k]['cash_desc'] = '兑现途径:' . $data[$k]['cash_type'];
 
-        		} else {
-        			$data[$k]['date'] = $this->date($v['cdate']);
-
+        		} elseif ($v['type']) <= 5 {
+                    $task = Dever::db('task/info')->one($v['task_id']);
+                    $data[$k]['score'] = '任务#'.$task['name'].'奖励'.$v['score'].$name;
+        			$data[$k]['desc'] = '入账时间:' . $this->date($v['cdate']) . '<br />';
+                    $data[$k]['info'] = '本次入账:'.$v['score'].$name;
+                    $data[$k]['status'] = '已入账';
+                    $data[$k]['icon'] = 'wan';
         			if ($v['type'] == 4) {
-        				$task = Dever::db('task/info')->one($v['task_id']);
         				$user = Dever::db('passport/user')->one($v['uid']);
         				# 任务奖励
-        				$data[$k]['name'] = $name . '入账';
-        				$data[$k]['info'] = $name.$ext.',已入账';
-        				$data[$k]['desc'] = $user['username'] . '完成任务'.$task['name'].'的奖励';
+        				$data[$k]['desc'] .= '来源:'.$user['username'] . '完成任务#'.$task['name'].'的奖励';
         			} elseif ($v['type'] == 5) {
-        				$task = Dever::db('task/info')->one($v['task_id']);
         				$user = Dever::db('passport/user')->one($v['group_uid']);
         				# 任务提成
-        				$data[$k]['name'] = $name . '入账';
-        				$data[$k]['info'] = $name.$ext.',已入账';
-        				$data[$k]['desc'] = $user['username'] . '完成任务'.$task['name'].'的提成奖励';
-        			} elseif ($v['type'] == 6) {
-        				$task = Dever::db('task/info')->one($v['task_id']);
-        				$user = Dever::db('passport/user')->one($v['group_uid']);
-        				# 系统奖励
-        				$data[$k]['name'] = $name . '入账';
-        				$data[$k]['info'] = $name.$ext.',已入账';
-        				$data[$k]['desc'] = '系统奖励:'.$v['type_desc'];
+                        $data[$k]['desc'] .= '来源:'.$user['username'] . '完成任务#'.$task['name'].'的提成奖励';
         			}
-        		}
+        		} elseif ($v['type'] == 6) {
+                    $data[$k]['score'] = '系统奖励:'.$v['type_desc'];
+                    $data[$k]['desc'] = '入账时间:' . $this->date($v['cdate']) . '<br />' . $data[$k]['score'];
+                    $data[$k]['info'] = '本次入账:'.$v['score'].$name;
+                    $data[$k]['status'] = '已入账';
+                    $data[$k]['icon'] = 'wan';
+                }
         	}
         }
     }