Browse Source

modify bug

superbee315 5 years ago
parent
commit
6d79e4a675

+ 0 - 3
application/base/controller/Base.php

@@ -19,9 +19,6 @@ class Base extends Controller{
 		
 		$this->assign("rootpath", $this->request->root());
 		
-		$this->mailModel = new Mail();
-		$this->assign('no_send', $this->mailModel->notSendMail());
-		
 		$this->check_login();
 		$this->check_auth();
 	}

+ 29 - 1
application/user/controller/Mail.php

@@ -17,7 +17,7 @@ class Mail extends Base{
 	public function index(){
 		$p = $this->request->get('page', 0);
 		$nick = $this->request->get('n');
-		$where = [];
+		$where = ['is_del'=>0];
 		
 		if($nick) $where['title'] = ['like', "%$nick%"];
 		
@@ -34,9 +34,27 @@ class Mail extends Base{
 		$info = $this->mailModel->getMailById($id);
 		
 		$this->assign("info", $info);
+		$this->assign('id', $id);
 		return $this->fetch('edit');
 	}
 	
+	public function users(){
+		$id = $this->request->get('id');
+		$info = $this->mailModel->getMailById($id);
+		$arr = [];
+		
+		if($info['users']) {
+			$arr = $this->userModel->field('id, nickname')->where('id', 'in', $info['users'])->select();
+			
+			// 需要把long类型转换成字符串,不然js无法解析
+			foreach($arr as &$val){
+				$val['id'] = strval($val['id']);
+			}
+		}
+		
+		return json($arr);		
+	}
+	
 	public function select(){
 		
 		if($this->request->isAjax()){
@@ -80,4 +98,14 @@ class Mail extends Base{
 			$this->error('保存失败!');
 		}
 	}
+	
+	public function delete(){
+		$res = $this->mailModel->where(['id'=>$this->request->get('id')])->update(['is_del'=>1]);
+		
+		if($res){
+			$this->success('删除成功!', 'index');
+		}else{
+			$this->error('删除失败!');
+		}
+	}
 }

+ 7 - 2
application/user/controller/Notice.php

@@ -16,7 +16,7 @@ class Notice extends Base{
 	public function index(){
 		$p = $this->request->get('page', 0);
 		$nick = $this->request->get('n');
-		$where = [];
+		$where = ['is_del'=>0];
 		
 		if($nick) $where['title'] = ['like', "%$nick%"];
 		
@@ -36,8 +36,13 @@ class Notice extends Base{
 		return $this->fetch('edit');
 	}
 	
+	public function create(){
+		
+		$this->success('创建xml成功!');
+	}
+	
 	public function delete(){
-		$res = $this->noticeModel->where(['id'=>$this->request->get('id')])->delete();
+		$res = $this->noticeModel->where(['id'=>$this->request->get('id')])->update(['is_del'=>1]);
 		
 		if($res){
 			$this->success('删除成功!', 'index');

+ 0 - 8
application/user/model/Mail.php

@@ -55,12 +55,4 @@ class Mail extends Model{
 		return $this->allowField(true)->isUpdate(isset($data['id']) && $data['id']?true:false)->save($data);
 	}
 	
-	/**
-	 * 没有发送的邮件
-	 * @return number|string
-	 */
-	public function notSendMail(){
-		return $this->db()->where(['is_send'=>0])->count();
-	}
-	
 }

+ 72 - 47
application/user/view/mail/edit.html

@@ -3,57 +3,94 @@
 {js href="__ROOT__/__JS__/ueditor/lang/zh-cn/zh-cn.js" /}
 {js href="__ROOT__/__JS__/layer.js" /}
 {js href="__ROOT__/__JS__/layui.js" /}
+{js href="__ROOT__/__JS__/bootstrap.min.js" /}
+{js href="__ROOT__/__JS__/bootstrap-tagsinput.min.js"}
 {css href="__ROOT__/__CSS__/layer.css" /}
+{css href="__ROOT__/__CSS__/bootstrap.min.css" /}
+{css href="__ROOT__/__CSS__/bootstrap-tagsinput.css" /}
 
 	<div class="am-cf am-padding am-padding-bottom-0">
         <div class="am-fl am-cf"><strong class="am-text-primary am-text-lg">邮件资料</strong> / <small>Mail information</small></div>
     </div>
 
-      <hr/>
+    <hr/>
 
-      <div class="am-g">
+    <div class="am-g">
 
-        <div class="am-u-sm-12 am-u-md-10">
-          <form class="am-form am-form-horizontal" method="post" action="save">
-          <input type="hidden" value="{$info.id}" name="id" />
-            <div class="am-form-group">
-              <label for="title" class="am-u-sm-3 am-form-label">标题 / Title</label>
-              <div class="am-u-sm-9">
-                <input type="text" id="title" name="title" value="{$info.title}" placeholder="标题 / Title">
-              </div>
+      <div class="am-u-sm-12 am-u-md-10">
+        <form class="am-form am-form-horizontal" method="post" action="save">
+        <input type="hidden" value="{$info.id}" name="id" />
+          <div class="am-form-group">
+            <label for="title" class="am-u-sm-3 am-form-label">标题 / Title</label>
+            <div class="am-u-sm-9">
+              <input type="text" id="title" name="title" value="{$info.title}" placeholder="标题 / Title">
             </div>
-            
-            <div class="am-form-group">
-              <label for="users" class="am-u-sm-3 am-form-label">选择 / Users</label>
-              <div class="am-u-sm-9">
-              	<div class="am-u-sm-10">
-	              	<textarea id="users" class="am-fl" rows="5" name="users" placeholder="如果为空则为全部用户">{$info.users}</textarea>
-              	</div>
-                <input type="button" id="btn" class="am-u-sm-2 am-btn am-btn-success" value="选择用户" />
-              </div>
+          </div>
+          
+          <div class="am-form-group">
+            <label for="users" class="am-u-sm-3 am-form-label">选择 / Users</label>
+            <div class="am-u-sm-9">
+            	<div class="am-u-sm-10">
+             		<input type="text" id="users" name="users" placeholder="如果为空则为全部用户"/>
+            	</div>
+              <input type="button" id="btn" class="am-u-sm-2 am-btn am-btn-success" value="选择用户" />
             </div>
-            
-            <div class="am-form-group">
-              <label for="content" class="am-u-sm-3 am-form-label">内容 / Content</label>
-              <div class="am-u-sm-9">
-              	<textarea id="content" name="content" rows="5" placeholder="内容 / Content">{$info.content}</textarea>
-              </div>
+          </div>
+          
+          <div class="am-form-group">
+            <label for="content" class="am-u-sm-3 am-form-label">内容 / Content</label>
+            <div class="am-u-sm-9">
+            	<textarea id="content" name="content" rows="5" placeholder="内容 / Content">{$info.content}</textarea>
             </div>
-            
-            <div class="am-form-group">
-              <div class="am-u-sm-9 am-u-sm-push-3">
-                <button type="submit" class="am-btn am-btn-primary">保存修改</button>
-               	<button type="button" class="am-btn am-btn-default" onclick="location.href='index'">返回</button>
-              </div>
+          </div>
+          
+          <div class="am-form-group">
+            <div class="am-u-sm-9 am-u-sm-push-3">
+              <button type="submit" class="am-btn am-btn-primary">保存修改</button>
+             	<button type="button" class="am-btn am-btn-default" onclick="location.href='index'">返回</button>
             </div>
-          </form>
-        </div>
+          </div>
+        </form>
       </div>
+    </div>
       
 <script type="text/javascript">
-    var ue = UE.getEditor('content');
+
+	function in_array(search,array){
+	    for(var i in array){
+	        if(array[i] == search){
+	            return true;
+	        }
+	    }
+	    return false;
+	}
     
     $(function(){
+    	var users = $('#users').val();
+
+		$('#users').tagsinput({
+			tagClass: function(item){
+				return 'label label-primary';
+			},
+    		itemValue: 'id',
+    		itemText: 'nickname'
+   		});
+		
+		$.get('{$rootpath}/user/mail/users?id={$info.id}',function(data) {
+			fillData(data);
+		});
+		
+		function fillData(data){
+			var tag = $("#users").tagsinput('items');
+  			
+  			for (let i = 0; i < data.length; i++) {
+  				let obj = data[i];
+  				if (!in_array(obj.id, tag)) {
+  					$('#users').tagsinput('add', {id:obj.id, nickname:obj.nickname});
+  				}
+  			}
+		}
+    	
 		$("#btn").click(function(){
 		    layui.use(['layer', 'table'], function(){
 		    	var layer = layui.layer;
@@ -72,19 +109,7 @@
 			  			var iframeWin = window[layero.find('iframe')[0]['name']];
 			  			
 			  			var data = iframeWin.getCheckData();
-			  			let users = $('#users').val().toString();
-			  			
-			  			for (let i = 0; i < data.length; i++) {
-			  				let obj = data[i];
-			  				if(users.indexOf(obj.id) != -1) continue;
-			  				
-			  				if(users) {
-			  					users += ',' + obj.id;
-			  				} else {
-			  					users = obj.id;
-			  				}
-			  			}
-			  			$('#users').val(users);
+			  			fillData(data);
 			  			
 		  				layer.close(index);
 			  		},

+ 0 - 3
application/user/view/mail/index.html

@@ -54,9 +54,6 @@
 		                  <div class="am-btn-toolbar">
 		                    <div class="am-btn-group am-btn-group-xs">
 		                      <button class="am-btn am-btn-default am-btn-xs am-text-secondary" onclick="location.href='edit?id={$v.id}'"><span class="am-icon-pencil-square-o"></span> 编辑</button>
-		                      {if condition="!$v.is_send"}
-		                      <button class="am-btn am-btn-default am-btn-xs am-text-success am-hide-sm-only" onclick="location.href='send?id={$v.id}'"><span class="am-icon-send"></span> 发送</button>
-		                      {/if}
 		                      <button class="am-btn am-btn-default am-btn-xs am-text-danger am-hide-sm-only" onclick="if(confirm('确定要删除?'))location.href='delete?id={$v.id}'"><span class="am-icon-trash-o"></span> 删除</button>
 		                    </div>
 		                  </div>

+ 15 - 2
application/user/view/mail/select.html

@@ -27,7 +27,9 @@
 </div>
           
 <script>
-layui.use('table', function(){
+layui.use(['table', 'jquery'], function(){
+  var userIds = parent.document.getElementById('users').value;
+  console.info(userIds);
   var table = layui.table;
   
   //方法级渲染
@@ -38,8 +40,19 @@ layui.use('table', function(){
       {checkbox: true, fixed: true}
       ,{field:'id', title: 'ID',  sort: true}
       ,{field:'nickname', title: '用户名'}
+      ,{field:'short', title: '短码'}
       ,{field:'registertime', title: '注册时间'}
     ]]
+    ,done: function(res, page, count){
+    	for(var i = 0; i < res.data.length; i++){
+    		let obj = res.data[i];
+    		
+    		if(userIds.indexOf(obj.id) >= 0) {
+				$('tr[data-index=' + i + '] input[type="checkbox"]').prop('checked', true);
+	        	$('tr[data-index=' + i + '] input[type="checkbox"]').next().addClass('layui-form-checked');
+    		}
+    	}
+    }
     ,id: 'testReload'
     ,page: true
     ,height: 'auto'
@@ -65,7 +78,7 @@ layui.use('table', function(){
   };
   
   window.getCheckData = function(){
-	  var checkStatus = table.checkStatus('testReload')
+		var checkStatus = table.checkStatus('testReload')
 		, data = checkStatus.data;
 		
 		return data;

+ 31 - 9
application/user/view/notice/edit.html

@@ -1,6 +1,3 @@
-{js href="__ROOT__/__JS__/ueditor/ueditor.config.js" /}
-{js href="__ROOT__/__JS__/ueditor/ueditor.all.min.js" /}
-{js href="__ROOT__/__JS__/ueditor/lang/zh-cn/zh-cn.js" /}
 
 	<div class="am-cf am-padding am-padding-bottom-0">
         <div class="am-fl am-cf"><strong class="am-text-primary am-text-lg">公告资料</strong> / <small>Notice information</small></div>
@@ -21,9 +18,38 @@
             </div>
             
             <div class="am-form-group">
-              <label for="content" class="am-u-sm-3 am-form-label">内容 / Content</label>
+              <label for="time" class="am-u-sm-3 am-form-label">时间 / Time</label>
               <div class="am-u-sm-9">
-              	<textarea id="content" name="content" rows="5" placeholder="内容 / Content">{$info.content}</textarea>
+                <input 
+	                type="text" 
+	                id="time" 
+	                name="time" 
+	                value="{$info.time}" 
+	                placeholder="时间 / Time" 
+	                data-am-datepicker="{format: 'yyyy-mm-dd', viewMode: 'years'}" 
+	                readonly 
+	                required>
+              </div>
+            </div>
+            
+            <div class="am-form-group">
+              <label for="content" class="am-u-sm-3 am-form-label">中文 / Chinese</label>
+              <div class="am-u-sm-9">
+              	<textarea id="zh" name="zh" rows="5" placeholder="中文 / Chinese">{$info.zh}</textarea>
+              </div>
+            </div>
+            
+            <div class="am-form-group">
+              <label for="content" class="am-u-sm-3 am-form-label">台湾 / Taiwan</label>
+              <div class="am-u-sm-9">
+              	<textarea id="tw" name="tw" rows="5" placeholder="台湾 / Taiwan">{$info.tw}</textarea>
+              </div>
+            </div>
+            
+            <div class="am-form-group">
+              <label for="content" class="am-u-sm-3 am-form-label">英文 / English</label>
+              <div class="am-u-sm-9">
+              	<textarea id="en" name="en" rows="5" placeholder="英文 / English">{$info.en}</textarea>
               </div>
             </div>
             
@@ -36,7 +62,3 @@
           </form>
         </div>
       </div>
-      
-<script type="text/javascript">
-    var ue = UE.getEditor('content');
-</script>

+ 1 - 0
application/user/view/notice/index.html

@@ -9,6 +9,7 @@
           <div class="am-btn-toolbar">
             <div class="am-btn-group am-btn-group-xs">
               <button type="button" class="am-btn am-btn-success" onclick="location.href='edit'"><span class="am-icon-plus"></span> 新增</button>
+              <button type="button" class="am-btn am-btn-warning" onclick="location.href='create'"><span class="am-icon-cog"></span> 创建xml</button>
             </div>
           </div>
         </div>

+ 0 - 1
template/menu.html

@@ -22,7 +22,6 @@
             <li>
             	<a href="{$rootpath}/user/mail/index">
             		<span class="am-icon-bolt"></span> 邮件管理
-            		<span class="am-badge am-badge-warning am-margin-right am-fr">{$no_send}</span>
            		</a>
          	</li>
             <li><a href="#"><span class="am-icon-bug"></span> 404</a></li>