ソースを参照

解决跨域和申请时间验证问题

q 1 年間 前
コミット
f208bf62e0

+ 31 - 2
webmain/flow/input/inputjs/mode_meeting.js

@@ -1,4 +1,33 @@
 //流程模块【meeting.会议审批】下录入页面自定义js页面,初始函数
 function initbodys(){
-	
-}
+
+    // 开始时间
+    $(form('meeting_time')).blur(function(){
+        changetotal();
+    });
+    // 结束时间
+    $(form('end_time')).blur(function(){
+        changetotal();
+    });
+
+}
+
+
+function changesubmit(d){
+    if(d.end_time<=d.meeting_time)return '截止时间必须大于开始时间';
+    if(d.end_time.substr(0,10)!=d.meeting_time.substr(0,10)){
+        return '不允许跨天申请';
+    }
+    // if(d.type=='1' && d.rate=='')return '固定会议必须选择会议频率';
+}
+
+
+function changetotal(){
+    var st = form('meeting_time').value,
+        et = form('end_time').value;
+    if(st.substr(0,10)!=et.substr(0,10)){
+        js.setmsg('不允许跨天申请');
+        return;
+    }
+    js.setmsg('');
+}

+ 2 - 1
webmain/flow/input/mode_meetingAction.php

@@ -13,7 +13,8 @@ class mode_meetingClassAction extends inputAction{
 	*	return array('msg'=>'错误提示内容','rows'=> array()) 可返回空字符串,或者数组 rows 是可同时保存到数据库上数组
 	*/
 	protected function savebefore($table, $arr, $id, $addbo){
-		
+//        if(arrvalue($arr,'type')=='1')return ''; //固定会议不需要判断
+        return m('meeting')->isapplymsg($arr['meeting_time'], $arr['end_time'], $arr['title'], $id);
 	}
 	
 	/**

ファイルの差分が大きいため隠しています
+ 42 - 1
webmain/flow/page/view_meeting_2.html


+ 29 - 0
webmain/model/meetingModel.php

@@ -0,0 +1,29 @@
+<?php
+
+class meetingClassModel extends Model
+{
+
+    /**
+     *	判断会议室是否重复申请了
+     */
+    public function isapplymsg($startdt, $enddt, $hyname, $id=0)
+    {
+        $msg 		= '';
+        $rows 		= $this->getall("id <> '$id' and `type`=0 and `state` in(0,1)");
+        $gdrow		= m('flow')->initflow('meeting')->createmeet(0, substr($startdt,0,10) ,true);//从固定会议中读取
+        foreach($gdrow as $k1=>$rs1)$rows[]=$rs1;
+
+        foreach($rows as $k=>$rs){
+            if($rs['hyname'] != $hyname)continue;
+            $sdt = $rs['startdt'];
+            $edt = $rs['enddt'];
+            if(
+                ($sdt<=$startdt && $edt>$startdt)
+                || ($sdt<$enddt && $edt>=$enddt)
+                || ($sdt>$startdt && $edt<$enddt)
+                || ($sdt==$startdt && $edt==$enddt)
+            )$msg = '该会议室的时间段已被申请过了,主题“'.$rs['title'].'”';
+        }
+        return $msg;
+    }
+}

+ 7 - 0
webmain/task/openapi/openapiAction.php

@@ -8,6 +8,13 @@
 *	explain:返回200为正常
 *	post需开启:always_populate_raw_post_data = On
 */
+
+header('Access-Control-Allow-Origin:*'); //允许的请求头信息
+header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization"); //允许的请求类型
+header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH'); //允许携带证书式访问(携带cookie)
+header('Access-Control-Allow-Credentials:true');
+
+
 class openapiAction extends ActionNot
 {
 	private $openkey = '';