Browse Source

信呼OA版本v2.3.9

雨中磐石 3 years ago
parent
commit
c09f4dba40

+ 3 - 3
README.md

@@ -6,11 +6,11 @@
 官网网站:http://www.rockoa.com/  
 源码仅供学习二次开发使用,禁止二次发布,禁止用于商业用途出售等(违者必究)  
 版权:Copyright @2016-2022 信呼开发团队  
-版本整理时间:2022-07-10 23:59:59  
-版本号:V2.3.8   
+版本整理时间:2022-09-05 23:59:59  
+版本号:V2.3.9   
 
 
-### V2.3.8更新说明
+### V2.3.9更新说明
 1、完善系统安全性。  
 2、更多升级日志详见:http://www.rockoa.com/view_core.html  
 

+ 2 - 2
config/version.php

@@ -1,3 +1,3 @@
 <?php
-//版本
-return '2.3.8';
+//版本2.3.9
+return '2.3.9';

+ 15 - 5
include/class/mysql.php

@@ -514,7 +514,7 @@ abstract class mysql{
 
 	public function insert($table,$name,$values,$sel=false)
 	{
-		$sql="insert into `$table` ($name) ";
+		$sql="insert into ".$this->gettables($table)." ($name) ";
 		if(!$sel){
 			$sql.="values($values)";
 		}else{
@@ -526,14 +526,14 @@ abstract class mysql{
 	public function update($table,$content,$where)
 	{
 		$where = $this->getwhere($where);
-		$sql="update `$table` set $content where $where ";
+		$sql="update ".$this->gettables($table)." set $content where $where ";
 		return $this->tranbegin($sql);
 	}	
 
 	public function delete($table,$where)
 	{
 		$where = $this->getwhere($where);
-		$sql="delete from `$table` where $where ";
+		$sql="delete from ".$this->gettables($table)." where $where ";
 		return $this->tranbegin($sql);
 	}
 	
@@ -553,15 +553,25 @@ abstract class mysql{
 		}else{
 			$cont	= $array;
 		}
+		$table = $this->gettables($table);
 		if($addbool){
-			$sql="insert into `$table` set $cont";
+			$sql="insert into $table set $cont";
 		}else{
 			$where = $this->getwhere($where);
-			$sql="update `$table` set $cont where $where";
+			$sql="update $table set $cont where $where";
 		}
 		return $this->tranbegin($sql);
 	}
 	
+	/**
+	*	处理表名
+	*/
+	public function gettables($str)
+	{
+		if(!contain($str,'`'))$str='`'.$str.'`';
+		return $str;
+	}
+	
 	/**
 		返回总条数
 	*/	

+ 1 - 0
include/class/rockClass.php

@@ -30,6 +30,7 @@ final class rockClass
 	{		
 		$this->ip		= $this->getclientip();
 		$this->host		= isset($_SERVER['HTTP_HOST'])		? $_SERVER['HTTP_HOST']		: '' ;
+		if($this->host && substr($this->host,-3)==':80')$this->host = str_replace(':80', '', $this->host);
 		$this->url		= '';
 		$this->isqywx	= false;
 		$this->win		= php_uname();

+ 2 - 2
include/rockFun.php

@@ -168,9 +168,9 @@ function returnerror($msg='', $code=201, $carr=array())
 /**
 *	返回正确信息
 */
-function returnsuccess($data=array())
+function returnsuccess($data=array(),$msg='')
 {
-	$carr['msg']  		= '';
+	$carr['msg']  		= $msg;
 	$carr['code'] 		= 200;
 	$carr['success'] 	= true;
 	$carr['data'] 		= $data;

+ 38 - 0
webmain/flow/input/inputjs/mode_planm.js

@@ -0,0 +1,38 @@
+//流程模块【planm.工作计划】下录入页面自定义js页面,初始函数
+function initbodys(){
+	if(mid==0)$(form('leixing')).change(function(){
+		changeleixing(this)
+	});
+}
+
+function changeleixing(o1){
+	if(!form('name'))return;
+	js.ajax(geturlact('chageleixing'),{lx:o1.value}, function(ret){
+		form('name').value = ret.data.name;
+	},'get,json');
+}
+
+function changesubmit(d){
+	if(form('name')){
+		var str = form('name').value;
+		if(str.indexOf('{?}')>-1)return '请完整输入计划名称';
+	}
+}
+
+function submittijiao(o2){
+	var obj = $('input[name^=zhixing_]');
+	var da  = {},o1,na,naa;
+	for(var i=0;i<obj.length;i++){
+		o1 = obj[i];
+		na = o1.name;
+		naa= na.split('_');
+		if(!da[naa[2]])da[naa[2]] = {};
+		da[naa[2]][naa[1]] = o1.value;
+	}
+	var str = JSON.stringify(da);
+	js.loading('保存中...');
+	o2.disabled = true;
+	js.ajax(geturlact('savezhixing'),{str:str,mid:mid,ztstate:get('ztstate').value}, function(ret){
+		js.msgok('保存完成');
+	},'post,json');
+}

+ 69 - 0
webmain/flow/input/mode_planmAction.php

@@ -0,0 +1,69 @@
+<?php
+/**
+*	此文件是流程模块【planm.工作计划】对应控制器接口文件。
+*/ 
+class mode_planmClassAction extends inputAction{
+	
+	/**
+	*	重写函数:保存前处理,主要用于判断是否可以保存
+	*	$table String 对应表名
+	*	$arr Array 表单参数
+	*	$id Int 对应表上记录Id 0添加时,大于0修改时
+	*	$addbo Boolean 是否添加时
+	*	return array('msg'=>'错误提示内容','rows'=> array()) 可返回空字符串,或者数组 rows 是可同时保存到数据库上数组
+	*/
+	protected function savebefore($table, $arr, $id, $addbo){
+		
+	}
+	
+	/**
+	*	重写函数:保存后处理,主要保存其他表数据
+	*	$table String 对应表名
+	*	$arr Array 表单参数
+	*	$id Int 对应表上记录Id
+	*	$addbo Boolean 是否添加时
+	*/	
+	protected function saveafter($table, $arr, $id, $addbo){
+		
+	}
+	
+	public function chageleixingAjax()
+	{
+		$lx = (int)$this->get('lx');
+		$str = '';
+		$barr['lx'] = $lx;
+		if($lx==1)$str=''.date('Y').'年度工作计划';
+		if($lx==2)$str=''.date('Y').'第{?}季度工作计划';
+		if($lx==3)$str=''.date('Y').'年'.date('m').'月份工作计划';
+		if($lx==4)$str=''.date('Y').'年'.date('m').'月份第{?}周工作计划';
+		
+		$barr['name'] = $str;
+		
+		return returnsuccess($barr);
+	}
+	
+	public function leixingdata()
+	{
+		
+		return $this->flow->leixingdata();
+	}
+	
+	public function savezhixingAjax()
+	{
+		$str = $this->post('str');
+		$mid = (int)$this->post('mid');
+		$arr = json_decode($str, true);
+		$dbs = m('plans');
+		$state = (int)$this->post('ztstate');;
+		foreach($arr as $id=>$rs){
+			$dbs->update(array(
+				'zxren' => $rs['zxren'],
+				'zxrenid' => $rs['zxrenid'],
+				'zxtime' => $rs['zxtime'],
+			),$id);
+		}
+		m('planm')->update('`state`='.$state.'', $mid);
+		return returnsuccess($arr);
+	}
+}	
+			

+ 1 - 0
webmain/flow/page/input_planm.html

@@ -0,0 +1 @@
+<table width="100%" border="0" class="ke-zeroborder"><tbody><tr class="autoyijianview"><td height="34" width="15%" align="right" class="ys1">^name^</td><td width="35%" class="ys2">{name}</td><td height="34" width="15%" align="right" class="ys1">*^leixing^</td><td width="35%" class="ys2">{leixing}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">*^startdt^</td><td width="35%" class="ys2">{startdt}</td><td height="34" width="15%" align="right" class="ys1">*^enddt^</td><td width="35%" class="ys2">{enddt}</td></tr><tr><td height="34" width="15%" align="right" class="ys1">^psren^</td><td width="35%" class="ys2">{psren}</td><td height="34" width="15%" align="right" class="ys1">*^runren^</td><td width="35%" class="ys2">{runren}</td></tr><tr><td class="ys2" style="background-color:#CCCCCC;" colspan="4"><strong>计划事项</strong></td></tr><tr><td class="ys0" colspan="4"><table class="tablesub ke-zeroborder" id="tablesub0" style="width:100%;" border="0" cellspacing="0" cellpadding="0"><tbody><tr><td width="10%">序号</td><td>*计划事项</td><td>执行人</td><td>执行时间</td><td width="5%">操作</td></tr><tr><td>[xuhao0,0]</td><td>[pitem0,0]</td><td>[zxren0,0]</td><td>[zxtime0,0]</td><td>{删,0}</td></tr></tbody></table><div style="background-color:#F1F1F1;">{新增,0}</div></td></tr><tr><td height="34" align="right" class="ys1">^explain^</td><td colspan="3" class="ys2">{explain}</td></tr><tr><td height="34" align="right" class="ys1">^file_content^</td><td colspan="3" class="ys2">{file_content}</td></tr></tbody></table>

+ 59 - 0
webmain/flow/page/rock_page_planm.php

@@ -0,0 +1,59 @@
+<?php
+/**
+*	模块:planm.工作计划
+*	说明:自定义区域内可写你想要的代码
+*	来源:流程模块→表单元素管理→[模块.工作计划]→生成列表页
+*/
+defined('HOST') or die ('not access');
+?>
+<script>
+$(document).ready(function(){
+	{params}
+	var modenum = 'planm',modename='工作计划',isflow=1,modeid='133',atype = params.atype,pnum=params.pnum,modenames='计划事项',listname='cGxhbm0:';
+	if(!atype)atype='';if(!pnum)pnum='';
+	var fieldsarr = [],fieldsselarr= [],chufarr= [];
+	
+	<?php
+	include_once('webmain/flow/page/rock_page.php');
+	?>
+	
+//[自定义区域start]
+
+
+
+//[自定义区域end]
+	c.initpagebefore();
+	js.initbtn(c);
+	var a = $('#view'+modenum+'_{rand}').bootstable(bootparams);
+	c.init();
+	
+});
+</script>
+<!--SCRIPTend-->
+<!--HTMLstart-->
+<div>
+	<table width="100%">
+	<tr>
+		<td style="padding-right:10px;" id="tdleft_{rand}" nowrap><button id="addbtn_{rand}" class="btn btn-primary" click="clickwin,0" disabled type="button"><i class="icon-plus"></i> 新增</button></td>
+		
+		<td><select class="form-control" style="width:110px;border-top-right-radius:0;border-bottom-right-radius:0;padding:0 2px" id="fields_{rand}"></select></td>
+		<td><select class="form-control" style="width:60px;border-radius:0px;border-left:0;padding:0 2px" id="like_{rand}"><option value="0">包含</option><option value="1">等于</option><option value="2">大于等于</option><option value="3">小于等于</option><option value="4">不包含</option></select></td>
+		<td><select class="form-control" style="width:130px;border-radius:0;border-left:0;display:none;padding:0 5px" id="selkey_{rand}"><option value="">-请选择-</option></select><input class="form-control" style="width:130px;border-radius:0;border-left:0;padding:0 5px" id="keygj_{rand}" placeholder="关键词"><input class="form-control" style="width:130px;border-radius:0;border-left:0;padding:0 5px;display:none;" id="key_{rand}" placeholder="关键字/申请人/单号">
+		</td>
+		<td><select class="form-control" style="width:120px;border-left:0;border-radius:0;" id="selstatus_{rand}"><option value="">-全部状态-</option><option style="color:blue" value="0">待处理</option><option style="color:green" value="1">已审核</option><option style="color:red" value="2">不同意</option><option style="color:#888888" value="5">已作废</option><option style="color:#17B2B7" value="23">退回</option></select></td>
+		<td>
+			<div style="white-space:nowrap">
+			<button style="border-right:0;border-radius:0;border-left:0" class="btn btn-default" click="searchbtn" type="button">搜索</button><button class="btn btn-default" id="downbtn_{rand}" type="button" style="padding-left:8px;padding-right:8px;border-top-left-radius:0;border-bottom-left-radius:0"><i class="icon-angle-down"></i></button> 
+			</div>
+		</td>
+		<td  width="90%" style="padding-left:10px"><div id="changatype{rand}" class="btn-group"></div></td>
+	
+		<td align="right" id="tdright_{rand}" nowrap>
+			<span style="display:none" id="daoruspan_{rand}"><button class="btn btn-default" click="daoru,1" type="button">导入</button>&nbsp;&nbsp;&nbsp;</span><button class="btn btn-default" style="display:none" id="daobtn_{rand}" disabled click="daochu" type="button">导出 <i class="icon-angle-down"></i></button> 
+		</td>
+	</tr>
+	</table>
+</div>
+<div class="blank10"></div>
+<div id="viewplanm_{rand}"></div>
+<!--HTMLend-->

+ 145 - 33
webmain/install/rockxinhu.sql

@@ -10,7 +10,7 @@ Target Server Type    : MYSQL
 Target Server Version : 50610
 File Encoding         : 65001
 
-Date: 2022-07-10 17:26:29
+Date: 2022-09-05 15:56:20
 */
 
 SET FOREIGN_KEY_CHECKS=0;
@@ -71,11 +71,11 @@ CREATE TABLE `xinhu_admin` (
 -- ----------------------------
 -- Records of xinhu_admin
 -- ----------------------------
-INSERT INTO `xinhu_admin` VALUES ('1', 'A001', 'admin', '管理员', 'e10adc3949ba59abbe56e057f20f883e', '4615', '1', '1', '男', '0592-1234569', 'upload/face/1.jpg', '2', '开发部', null, null, null, '信呼开发团队/开发部', '5', '磐石', '项目主管', '1', '[1],[2]', '[5]', '1,3,4', '15800000023', '1', '2016-06-01', null, '2017-03-08 09:52:30', null, null, null, '0', 'guanliyuan', null, '1', '0', null, '1', null, null, '0', '1');
+INSERT INTO `xinhu_admin` VALUES ('1', 'A001', 'admin', '管理员', 'e10adc3949ba59abbe56e057f20f883e', '4698', '1', '1', '男', '0592-1234569', 'upload/face/1.jpg', '2', '开发部', null, null, null, '信呼开发团队/开发部', '5', '磐石', '项目主管', '1', '[1],[2]', '[5]', '1,3,4', '15800000023', '1', '2016-06-01', null, '2017-03-08 09:52:30', null, null, null, '0', 'guanliyuan', null, '1', '0', null, '1', null, null, '0', '1');
 INSERT INTO `xinhu_admin` VALUES ('2', null, 'diaochan', '貂蝉', 'e10adc3949ba59abbe56e057f20f883e', '156', '1', '0', '女', '0592-123456', null, '3', '财务部', null, null, null, '信呼开发团队/财务部', '5', '磐石', '财务总监', '1', '[1],[3]', '[5]', '1,3', '15800000007', '1', '2016-08-09', null, null, null, null, null, '0', 'diaochan', null, '2', '0', null, '1', null, null, '0', '1');
 INSERT INTO `xinhu_admin` VALUES ('3', null, 'xiaoqiao', '小乔', 'e10adc3949ba59abbe56e057f20f883e', '281', '1', '0', '女', null, null, '3', '财务部', null, null, null, '信呼开发团队/财务部', '2', '貂蝉', '出纳', '1', '[1],[3]', '[5],[2]', '1', '15800000001', '1', '2017-05-02', null, '2016-08-30 20:34:23', null, null, null, '0', 'xiaoqiao', null, '2', '0', null, '1', null, null, '0', '1');
-INSERT INTO `xinhu_admin` VALUES ('4', null, 'daqiao', '大乔', 'e10adc3949ba59abbe56e057f20f883e', '394', '1', '0', '女', null, null, '4', '行政人事部', '3', '财务部', '会计', '信呼开发团队/行政人事部', '5', '磐石', '人事主管', '1', '[1],[4],[3]', '[5]', '1,3', '15800000002', '1', '2017-07-01', null, '2016-10-20 22:27:51', null, null, null, '0', 'daqiao', null, '2', '0', null, '1', null, null, '0', '1');
-INSERT INTO `xinhu_admin` VALUES ('5', null, 'rock', '磐石', 'e10adc3949ba59abbe56e057f20f883e', '426', '1', '0', '男', null, null, '5', '管理层', null, null, null, '信呼开发团队/管理层', null, null, '董事长', '0', '[1],[5]', null, '2,3', '15800000003', '1', '2015-11-01', null, null, null, null, null, '0', 'panshi', null, '1', '0', null, '1', null, '1,2,3,4', '0', '1');
+INSERT INTO `xinhu_admin` VALUES ('4', null, 'daqiao', '大乔', 'e10adc3949ba59abbe56e057f20f883e', '399', '1', '0', '女', null, null, '4', '行政人事部', '3', '财务部', '会计', '信呼开发团队/行政人事部', '5', '磐石', '人事主管', '1', '[1],[4],[3]', '[5]', '1,3', '15800000002', '1', '2017-07-01', null, '2016-10-20 22:27:51', null, null, null, '0', 'daqiao', null, '2', '0', null, '1', null, null, '0', '1');
+INSERT INTO `xinhu_admin` VALUES ('5', null, 'rock', '磐石', 'e10adc3949ba59abbe56e057f20f883e', '429', '1', '0', '男', null, null, '5', '管理层', null, null, null, '信呼开发团队/管理层', null, null, '董事长', '0', '[1],[5]', null, '2,3', '15800000003', '1', '2015-11-01', null, null, null, null, null, '0', 'panshi', null, '1', '0', null, '1', null, '1,2,3,4', '0', '1');
 INSERT INTO `xinhu_admin` VALUES ('6', null, 'zhangfei', '张飞', 'e10adc3949ba59abbe56e057f20f883e', '200', '1', '0', '男', null, null, '2', '开发部', null, null, null, '信呼开发团队/开发部', '7', '赵子龙', '程序员', '100', '[1],[2]', '[5],[1],[7]', '1', '15800000004', '1', '2017-07-01', null, '2016-11-01 20:15:52', null, null, null, '0', 'zhangfei', null, '1', '0', null, '1', null, null, '0', '0');
 INSERT INTO `xinhu_admin` VALUES ('7', null, 'zhaozl', '赵子龙', 'e10adc3949ba59abbe56e057f20f883e', '241', '1', '0', '男', null, null, '2', '开发部', null, null, null, '信呼开发团队/开发部', '1', '管理员', '高级程序员', '100', '[1],[2]', '[5],[1]', '1', '15800000005', '1', '2016-07-01', null, '2017-06-28 15:34:26', null, null, null, '0', 'zhaozilong', null, '1', '0', null, '1', null, null, '0', '0');
 INSERT INTO `xinhu_admin` VALUES ('8', null, 'xinhu', '信呼客服', '6846860684f05029abccc09a53cd66f1', '419', '1', '1', '女', null, null, '2', '开发部', null, null, null, '信呼开发团队/开发部', '1', '管理员', '客服', '200', '[1],[2]', '[5],[1]', '1,4', '15800000006', '1', '2018-12-12', null, null, null, 'rainrock829', null, '0', 'xinhukefu', null, '1', '0', null, '1', null, '2', '0', '1');
@@ -373,8 +373,8 @@ CREATE TABLE `xinhu_chargems` (
 -- ----------------------------
 -- Records of xinhu_chargems
 -- ----------------------------
-INSERT INTO `xinhu_chargems` VALUES ('1', '0', '1', '2016-12-28 15:24:19', '2022-07-10 17:26:06', null, '1');
-INSERT INTO `xinhu_chargems` VALUES ('2', '1', '1', '2016-12-28 15:21:14', '2022-07-10 17:26:06', null, '0');
+INSERT INTO `xinhu_chargems` VALUES ('1', '0', '1', '2016-12-28 15:24:19', '2022-09-05 15:54:23', null, '1');
+INSERT INTO `xinhu_chargems` VALUES ('2', '1', '1', '2016-12-28 15:21:14', '2022-09-05 15:54:23', null, '0');
 
 -- ----------------------------
 -- Table structure for `xinhu_city`
@@ -426,7 +426,7 @@ CREATE TABLE `xinhu_company` (
 -- ----------------------------
 -- Records of xinhu_company
 -- ----------------------------
-INSERT INTO `xinhu_company` VALUES ('1', 'images/logo.png', '信呼开发团队', null, null, null, '0592-123456', '0592-123456', '0', '0', '5', '磐石', '软件园', '厦门', null, '0', '0', null);
+INSERT INTO `xinhu_company` VALUES ('1', 'images/logo.png', '信呼开发团队', null, null, null, '0592-123456', '0592-123456', '0', '0', '5', '磐石', '软件园', '厦门', null, '1', '0', null);
 INSERT INTO `xinhu_company` VALUES ('2', 'images/logohong.png', '信呼开发团队(泉州分公司)', null, '信呼办公OA泉州分公司', null, null, null, '1', '0', null, null, null, null, 'qz', '1', '0', null);
 INSERT INTO `xinhu_company` VALUES ('3', null, '信呼开发团队(北京分公司)', null, '信呼办公OA北京分公司', null, null, null, '1', '0', null, null, null, null, 'bj', '0', '0', null);
 INSERT INTO `xinhu_company` VALUES ('4', 'images/apply.png', '房租家软件公司', null, '房租家软件内部OA系统', null, null, null, '0', '0', null, null, null, null, 'ruan', '0', '0', null);
@@ -830,7 +830,7 @@ CREATE TABLE `xinhu_dept` (
 -- ----------------------------
 INSERT INTO `xinhu_dept` VALUES ('1', null, '信呼开发团队', '0', '0', null, null, null, '0');
 INSERT INTO `xinhu_dept` VALUES ('2', 'dev', '开发部', '1', '1', null, '管理员', '1', '0');
-INSERT INTO `xinhu_dept` VALUES ('3', null, '财务部', '1', '2', null, null, null, '0');
+INSERT INTO `xinhu_dept` VALUES ('3', null, '财务部', '1', '2', null, '大乔', '4', '0');
 INSERT INTO `xinhu_dept` VALUES ('4', null, '行政人事部', '1', '3', null, '大乔', '4', '2');
 INSERT INTO `xinhu_dept` VALUES ('5', null, '管理层', '1', '0', null, '磐石', '5', '1');
 
@@ -1176,7 +1176,7 @@ CREATE TABLE `xinhu_flow_bill` (
   KEY `table` (`table`,`mid`) USING BTREE,
   KEY `status` (`status`),
   KEY `modeid` (`modeid`)
-) ENGINE=MyISAM AUTO_INCREMENT=323 DEFAULT CHARSET=utf8 COMMENT='流程单据';
+) ENGINE=MyISAM AUTO_INCREMENT=326 DEFAULT CHARSET=utf8 COMMENT='流程单据';
 
 -- ----------------------------
 -- Records of xinhu_flow_bill
@@ -1289,6 +1289,9 @@ INSERT INTO `xinhu_flow_bill` VALUES ('282', 'XW-20210413-001', 'work', '11', '4
 INSERT INTO `xinhu_flow_bill` VALUES ('289', 'WA-20211015-001', 'goodm', '24', '24', '物品领用', '大乔', '4', '4', '行政人事部', '2021-10-15 15:37:29', '4', '大乔', '4', '0', '0', '2021-10-15', '待大乔处理', '0', '47', '4', '大乔', null, '2021-10-15 15:37:29', '2021-10-15 15:37:29', '0', '1');
 INSERT INTO `xinhu_flow_bill` VALUES ('300', 'CG-20211125-001', 'custappy', '5', '122', '客户服务', '管理员', '1', '2', '开发部', '2021-11-25 14:12:13', '1', '管理员', '1', '0', '1', '2021-11-25', '管理员处理已完成', '1', '0', null, null, null, '2021-11-25 14:23:32', '2021-11-25 14:09:57', '0', '1');
 INSERT INTO `xinhu_flow_bill` VALUES ('302', 'YS-20220315-001', 'demo', '19', '72', '演示测试', '管理员', '1', '2', '开发部', '2022-03-15 21:04:10', '1', '管理员', '5,2,1', '0', '1', '2022-03-15', '待貂蝉处理', '0', '78', '2', '貂蝉', null, '2022-03-15 21:12:56', '2022-03-15 12:20:42', '0', '1');
+INSERT INTO `xinhu_flow_bill` VALUES ('323', 'PL-20220901001', 'planm', '1', '133', '工作计划', '管理员', '1', '2', '开发部', '2022-09-01 20:38:05', '1', '管理员', '1,4', '0', '1', '2022-09-01', '管理员处理发布', '1', '0', null, null, null, '2022-09-01 22:33:07', '2022-09-01 20:13:40', '0', '1');
+INSERT INTO `xinhu_flow_bill` VALUES ('324', 'PL-20220902001', 'planm', '2', '133', '工作计划', '管理员', '1', '2', '开发部', '2022-09-02 15:07:31', '1', '管理员', '1,4', '0', '1', '2022-09-02', '管理员处理发布', '1', '0', null, null, null, '2022-09-03 18:20:14', '2022-09-02 15:07:31', '0', '1');
+INSERT INTO `xinhu_flow_bill` VALUES ('325', 'PL-20220904001', 'planm', '3', '133', '工作计划', '大乔', '4', '4', '行政人事部', '2022-09-04 12:17:25', '4', '大乔', '4', '0', '1', '2022-09-04', '大乔处理发布', '1', '0', null, null, null, '2022-09-04 12:19:01', '2022-09-04 12:17:25', '0', '1');
 
 -- ----------------------------
 -- Table structure for `xinhu_flow_chao`
@@ -1413,7 +1416,7 @@ CREATE TABLE `xinhu_flow_course` (
   `csfwid` varchar(200) DEFAULT NULL,
   PRIMARY KEY (`id`),
   KEY `setid` (`setid`)
-) ENGINE=MyISAM AUTO_INCREMENT=141 DEFAULT CHARSET=utf8 COMMENT='流程步骤表';
+) ENGINE=MyISAM AUTO_INCREMENT=144 DEFAULT CHARSET=utf8 COMMENT='流程步骤表';
 
 -- ----------------------------
 -- Records of xinhu_flow_course
@@ -1505,6 +1508,9 @@ INSERT INTO `xinhu_flow_course` VALUES ('109', '0', '0', '116', '审核', null,
 INSERT INTO `xinhu_flow_course` VALUES ('127', '-2', '30', '33', '加签', null, 'user', '2', '貂蝉', '0', '1', null, null, '2021-06-25 15:24:05', '1', null, '1', null, '0', '4', '大乔', null, null, '0', '0', '0', '0', '1', null, null, '0', '0', '0', '0', null, null);
 INSERT INTO `xinhu_flow_course` VALUES ('126', '-1', '30', '33', '小乔确认', null, 'user', '3', '小乔', '0', '1', null, null, '2021-06-25 15:23:20', '1', null, '1', null, '0', '4', '大乔', null, null, '0', '0', '0', '0', '1', null, null, '0', '0', '0', '0', null, null);
 INSERT INTO `xinhu_flow_course` VALUES ('133', '0', '0', '122', '服务人员处理', null, 'field', 'usid', '服务人员(usid)', '0', '0', null, null, '2021-11-25 14:16:05', '1', '已完成,无法完成', '1', null, '0', '0', null, null, null, '0', '0', null, '0', '1', null, null, '0', '0', '0', '0', null, null);
+INSERT INTO `xinhu_flow_course` VALUES ('141', '0', '0', '133', '评审计划', null, 'field', 'psrenid', '评审人(psrenid)', '0', '0', 'cHNyZW5pZCBpcyBub3QgbnVsbA::', null, '2022-09-01 19:59:31', '1', null, '1', null, '0', '0', null, null, null, '0', '0', null, '0', '1', null, null, '0', '0', '0', '0', null, null);
+INSERT INTO `xinhu_flow_course` VALUES ('142', '141', '0', '133', '执行人知悉', 'zhixi', 'field', 'runrenid', '执行人(runrenid)', '0', '0', null, null, '2022-09-01 22:24:27', '1', '知道了', '0', null, '0', '0', null, null, null, '0', '0', null, '0', '1', null, null, '0', '0', '0', '0', null, null);
+INSERT INTO `xinhu_flow_course` VALUES ('143', '142', '0', '133', '发布执行', null, 'apply', null, null, '0', '0', null, null, '2022-09-01 20:41:55', '1', '发布,不发布', '1', null, '0', '0', null, null, null, '0', '0', null, '0', '1', null, null, '0', '0', '0', '0', null, null);
 
 -- ----------------------------
 -- Table structure for `xinhu_flow_element`
@@ -1543,7 +1549,7 @@ CREATE TABLE `xinhu_flow_element` (
   PRIMARY KEY (`id`),
   KEY `mid` (`mid`),
   KEY `fields` (`fields`)
-) ENGINE=MyISAM AUTO_INCREMENT=1465 DEFAULT CHARSET=utf8 COMMENT='模块元素';
+) ENGINE=MyISAM AUTO_INCREMENT=1476 DEFAULT CHARSET=utf8 COMMENT='模块元素';
 
 -- ----------------------------
 -- Records of xinhu_flow_element
@@ -2365,7 +2371,7 @@ INSERT INTO `xinhu_flow_element` VALUES ('854', '34', '公积金个人', 'gongge
 INSERT INTO `xinhu_flow_element` VALUES ('855', '34', '公积金单位', 'gongunit', 'number', '41', '0', '0', null, '0', '0', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', null);
 INSERT INTO `xinhu_flow_element` VALUES ('856', '84', '状态', 'status', 'checkbox', '2', '1', '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '启用', '0', '0', '0', null);
 INSERT INTO `xinhu_flow_element` VALUES ('857', '83', '状态', 'status', 'checkbox', '8', '1', '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '启用', '0', '0', '0', null);
-INSERT INTO `xinhu_flow_element` VALUES ('858', '24', '领用的物品', 'wupinlist', 'text', '2', null, '0', null, '0', '0', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('858', '24', '领用的物品', 'wupinlist', 'text', '2', null, '0', null, '0', '0', null, '0', '0', null, null, '0', null, '1', '0', '1', '0', '0', null, null, '0', '0', '0', null);
 INSERT INTO `xinhu_flow_element` VALUES ('859', '34', '餐补贴', 'foodbt', 'number', '1', '0', '0', null, '0', '0', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', null);
 INSERT INTO `xinhu_flow_element` VALUES ('860', '34', '高温津贴', 'hotbt', 'number', '1', '0', '0', null, '0', '0', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', null);
 INSERT INTO `xinhu_flow_element` VALUES ('861', '34', '电脑补贴', 'dnbt', 'number', '1', '0', '0', null, '0', '0', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null);
@@ -2481,7 +2487,7 @@ INSERT INTO `xinhu_flow_element` VALUES ('1043', '99', '待办人', 'distren', '
 INSERT INTO `xinhu_flow_element` VALUES ('1044', '99', '提醒给', 'recename', 'changedeptusercheck', '0', null, '0', 'receid', '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null);
 INSERT INTO `xinhu_flow_element` VALUES ('1045', '99', '说明', 'explain', 'textarea', '0', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null);
 INSERT INTO `xinhu_flow_element` VALUES ('1046', '98', '跟进人', 'optname', 'text', '7', null, '0', null, '0', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1047', '24', '要归还吗', 'lygh', 'select', '4', '0', '0', '0|不需要,1|需要', '1', '1', null, '1', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1047', '24', '要归还吗', 'lygh', 'select', '4', '0', '0', '0|不需要,1|需要', '1', '1', null, '1', '0', null, null, '0', null, '0', '0', '0', '1', '0', null, null, '0', '0', '0', null);
 INSERT INTO `xinhu_flow_element` VALUES ('1048', '100', '领用单', 'custname', 'selectdatafalse', '0', null, '1', 'getgoodly,custid', '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '读取你申请过的领用单', '0', '0', '0', null);
 INSERT INTO `xinhu_flow_element` VALUES ('1049', '100', '领用单id', 'custid', 'hidden', '1', '0', '1', null, '1', '0', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', null);
 INSERT INTO `xinhu_flow_element` VALUES ('1050', '100', '说明', 'explain', 'textarea', '2', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null);
@@ -2579,6 +2585,17 @@ INSERT INTO `xinhu_flow_element` VALUES ('1461', '57', '付款时间', 'paydt',
 INSERT INTO `xinhu_flow_element` VALUES ('1462', '57', '所属日期', 'dt', 'date', '3', '{date}', '1', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null);
 INSERT INTO `xinhu_flow_element` VALUES ('1463', '57', '创建人', 'createname', 'text', '11', null, '0', null, '0', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '1', '0', null, null, '0', '0', '0', null);
 INSERT INTO `xinhu_flow_element` VALUES ('1464', '57', '所属人', 'optname', 'text', '0', null, '0', null, '0', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '0', '0', null, null, '0', '0', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1465', '133', '名称', 'name', 'text', '0', null, '0', null, '1', '1', null, '0', '0', null, null, '200', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1466', '133', '计划类型', 'leixing', 'select', '1', '0', '1', 'leixingdata', '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1467', '133', '开始时间', 'startdt', 'datetime', '2', '{now}', '1', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '1', '0', null, null, '0', '0', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1468', '133', '截止时间', 'enddt', 'datetime', '3', null, '1', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1469', '133', '评审人', 'psren', 'changeusercheck', '4', null, '0', 'psrenid', '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1470', '133', '执行人', 'runren', 'changedeptusercheck', '5', '{admin}|u{uid}', '1', 'runrenid', '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1471', '133', '计划事项', 'pitem', 'text', '0', null, '1', null, '1', '1', null, '1', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1472', '133', '执行人', 'zxren', 'changedeptusercheck', '1', null, '0', 'zxrenid', '1', '1', null, '1', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1473', '133', '执行时间', 'zxtime', 'datetime', '2', null, '0', null, '1', '1', null, '1', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1474', '133', '说明', 'explain', 'textarea', '6', null, '0', null, '1', '1', null, '0', '0', null, null, '500', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1475', '133', '执行状态', 'state', 'select', '7', '0', '0', '0|待执行,1|已完成,2|执行中', '0', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '1', '0', null, null, '0', '0', '0', null);
 
 -- ----------------------------
 -- Table structure for `xinhu_flow_extent`
@@ -2597,7 +2614,7 @@ CREATE TABLE `xinhu_flow_extent` (
   `fieldstr` varchar(500) DEFAULT NULL COMMENT '相关字段',
   PRIMARY KEY (`id`),
   KEY `modeid` (`modeid`)
-) ENGINE=MyISAM AUTO_INCREMENT=271 DEFAULT CHARSET=utf8 COMMENT='模块权限';
+) ENGINE=MyISAM AUTO_INCREMENT=272 DEFAULT CHARSET=utf8 COMMENT='模块权限';
 
 -- ----------------------------
 -- Records of xinhu_flow_extent
@@ -2831,6 +2848,7 @@ INSERT INTO `xinhu_flow_extent` VALUES ('261', '全体人员', 'all', '82', '2',
 INSERT INTO `xinhu_flow_extent` VALUES ('262', '全体人员', 'all', '82', '3', 'YHVpZGA9e3VpZH0:', null, '1', '0', null);
 INSERT INTO `xinhu_flow_extent` VALUES ('263', '全体人员', 'all', '82', '1', null, null, '1', '0', null);
 INSERT INTO `xinhu_flow_extent` VALUES ('264', '大乔', 'u4', '19', '1', null, null, '1', '0', null);
+INSERT INTO `xinhu_flow_extent` VALUES ('271', '全体人员', 'all', '133', '1', null, null, '1', '0', null);
 
 -- ----------------------------
 -- Table structure for `xinhu_flow_log`
@@ -2858,7 +2876,7 @@ CREATE TABLE `xinhu_flow_log` (
   `iszb` tinyint(1) DEFAULT '0' COMMENT '是否转办记录',
   PRIMARY KEY (`id`),
   KEY `table` (`table`,`mid`)
-) ENGINE=MyISAM AUTO_INCREMENT=4322 DEFAULT CHARSET=utf8 COMMENT='单据操作记录';
+) ENGINE=MyISAM AUTO_INCREMENT=4370 DEFAULT CHARSET=utf8 COMMENT='单据操作记录';
 
 -- ----------------------------
 -- Records of xinhu_flow_log
@@ -3297,6 +3315,18 @@ INSERT INTO `xinhu_flow_log` VALUES ('4222', 'demo', '19', '1', '同意', '上
 INSERT INTO `xinhu_flow_log` VALUES ('4313', 'custfina', '11', '0', '已付款', '标已付款', '0', '2022-05-25 21:33:06', null, '127.0.0.1', 'Chrome', '管理员', '1', '57', 'green', '1', '0', null, '0');
 INSERT INTO `xinhu_flow_log` VALUES ('4312', 'custfina', '12', '1', null, '提交', '0', '2022-05-25 21:31:11', null, '127.0.0.1', 'Chrome', '管理员', '1', '36', null, '1', '0', null, '0');
 INSERT INTO `xinhu_flow_log` VALUES ('4311', 'custfina', '11', '1', null, '提交', '0', '2022-05-25 21:30:53', null, '127.0.0.1', 'Chrome', '管理员', '1', '57', null, '1', '0', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('4326', 'infor', '6', '1', null, '评论', '0', '2022-08-20 15:02:32', '不错\n哈哈\n哈哈2', '127.0.0.1', 'Chrome', '管理员', '1', '1', null, '1', '0', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('4354', 'planm', '1', '1', null, '提交', '0', '2022-09-01 20:13:40', null, '127.0.0.1', 'Chrome', '管理员', '1', '133', null, '1', '0', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('4358', 'planm', '1', '1', '同意', '评审计划', '141', '2022-09-01 22:31:25', null, 'unknow', 'Chrome', '大乔', '4', '133', 'green', '1', '1', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('4359', 'planm', '1', '1', '知道了', '执行人知悉', '142', '2022-09-01 22:31:33', null, 'unknow', 'Chrome', '大乔', '4', '133', null, '1', '2', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('4360', 'planm', '1', '1', '知道了', '执行人知悉', '142', '2022-09-01 22:32:52', null, '127.0.0.1', 'Chrome', '管理员', '1', '133', null, '1', '2', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('4361', 'planm', '1', '1', '发布', '发布执行', '143', '2022-09-01 22:33:07', null, '127.0.0.1', 'Chrome', '管理员', '1', '133', null, '1', '3', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('4362', 'planm', '2', '1', null, '提交', '0', '2022-09-02 15:07:31', null, '127.0.0.1', 'Chrome', '管理员', '1', '133', null, '1', '0', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('4363', 'planm', '2', '1', '知道了', '执行人知悉', '142', '2022-09-03 18:20:08', null, 'unknow', 'Chrome', '大乔', '4', '133', null, '1', '1', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('4364', 'planm', '2', '1', '发布', '发布执行', '143', '2022-09-03 18:20:14', null, '127.0.0.1', 'Chrome', '管理员', '1', '133', null, '1', '2', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('4365', 'planm', '3', '1', null, '提交', '0', '2022-09-04 12:17:25', null, 'unknow', 'Chrome', '大乔', '4', '133', null, '1', '0', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('4366', 'planm', '3', '1', '知道了', '执行人知悉', '142', '2022-09-04 12:18:56', null, 'unknow', 'Chrome', '大乔', '4', '133', null, '1', '1', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('4367', 'planm', '3', '1', '发布', '发布执行', '143', '2022-09-04 12:19:01', null, 'unknow', 'Chrome', '大乔', '4', '133', null, '1', '2', null, '0');
 
 -- ----------------------------
 -- Table structure for `xinhu_flow_menu`
@@ -3488,7 +3518,7 @@ CREATE TABLE `xinhu_flow_set` (
   `sortdir` varchar(50) DEFAULT NULL COMMENT '默认排序',
   `isys` tinyint(1) DEFAULT '0' COMMENT '提请预审',
   PRIMARY KEY (`id`,`num`)
-) ENGINE=MyISAM AUTO_INCREMENT=133 DEFAULT CHARSET=utf8 COMMENT='流程模块';
+) ENGINE=MyISAM AUTO_INCREMENT=134 DEFAULT CHARSET=utf8 COMMENT='流程模块';
 
 -- ----------------------------
 -- Records of xinhu_flow_set
@@ -3590,6 +3620,7 @@ INSERT INTO `xinhu_flow_set` VALUES ('116', '注册审核', 'regcheck', '913', '
 INSERT INTO `xinhu_flow_set` VALUES ('82', '便笺', 'bianjian', '29', 'bianjian', null, '{content}', 'optdt:{suodt}\ncont:{content}', '基础', '0', '0', '0', '0', null, '0', 'all', '全体人员', '2021-08-31 18:45:45', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', null, '0');
 INSERT INTO `xinhu_flow_set` VALUES ('122', '客户服务', 'custfuwu', '57', 'custappy', 'dtype=1', '{custname}服务金额:{money}', 'title:{custname}\noptdt:{optdt}\ncont:{explain}<br>金额:{money}', '客户', '0', '0', '0', '0', 'CG-Ymd-', '1', 'all', '全体人员', '2021-11-25 14:15:45', '1', '1', null, null, '待?处理,已完成,未完成', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0');
 INSERT INTO `xinhu_flow_set` VALUES ('57', '付款单', 'custfinb', '54', 'custfina', 'type=1', '日期[{dt}],{custname},{ispay}', 'title:{custname}\noptdt:{optdt}\ncont:金额:{money}[br]对应合同:{htnum}', '客户', '0', '0', '0', '0', 'CD-Ymd-', '0', 'all', '全体人员', '2022-05-25 20:56:37', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0');
+INSERT INTO `xinhu_flow_set` VALUES ('133', '工作计划', 'planm', '30', 'planm', null, '{name},执行人:{runren}', 'title:{name}\ncont:执行人:{runren}[br]开始时间:{startdt}[br]评审人:{psren}[br]执行状态:{state}', '基础', '0', '0', '0', '0', 'PL-Ymd', '1', 'all', '全体人员', '2022-09-04 17:28:18', '1', '1', 'plans', '计划事项', '待?处理,已发布,未通过', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0');
 
 -- ----------------------------
 -- Table structure for `xinhu_flow_todo`
@@ -3697,7 +3728,7 @@ CREATE TABLE `xinhu_flow_where` (
   `syrname` varchar(200) DEFAULT NULL COMMENT '此条件可适用对象',
   PRIMARY KEY (`id`),
   KEY `setid` (`setid`)
-) ENGINE=MyISAM AUTO_INCREMENT=366 DEFAULT CHARSET=utf8 COMMENT='单据条件';
+) ENGINE=MyISAM AUTO_INCREMENT=371 DEFAULT CHARSET=utf8 COMMENT='单据条件';
 
 -- ----------------------------
 -- Records of xinhu_flow_where
@@ -3980,6 +4011,11 @@ INSERT INTO `xinhu_flow_where` VALUES ('340', '122', 'my', null, '我的申请',
 INSERT INTO `xinhu_flow_where` VALUES ('341', '122', 'myfw', null, '服务人员是我', 'e3VzaWQsdWlkaW59', null, null, '1', null, null, null, null, null, '1', '1', null, null);
 INSERT INTO `xinhu_flow_where` VALUES ('342', '122', 'all', 'all', '所有客户服务', 'MT0x', null, null, '0', null, null, null, null, null, '1', '1', null, null);
 INSERT INTO `xinhu_flow_where` VALUES ('354', '73', 'alljxc', 'alljxc', '仓库管理', 'MT0x', null, null, '0', null, null, null, null, null, '1', '1', null, null);
+INSERT INTO `xinhu_flow_where` VALUES ('366', '133', 'mycj', null, '我的创建', 'YHVpZGA9e3VpZH0:', null, null, '2', null, null, null, null, null, '1', '1', null, null);
+INSERT INTO `xinhu_flow_where` VALUES ('367', '133', 'my', null, '我的计划待完成', 'e3J1bnJlbmlkLHJlY2Vub3R9IGFuZCBgc3RhdHVzYD0xIGFuZCBgc3RhdGVgPD4x', null, null, '0', null, null, null, null, null, '1', '1', null, null);
+INSERT INTO `xinhu_flow_where` VALUES ('368', '133', 'bumen', null, '部门计划', 'MT0x', null, null, '2', '部门负责人才能显示数据', null, null, null, null, '1', '1', null, null);
+INSERT INTO `xinhu_flow_where` VALUES ('369', '133', 'all', 'all', '所有工作计划', 'MT0x', null, null, '0', null, null, null, null, null, '1', '1', null, null);
+INSERT INTO `xinhu_flow_where` VALUES ('370', '133', 'myxg', null, '我所有相关计划', 'e3J1bnJlbmlkLHJlY2Vub3R9', null, null, '1', null, null, null, null, null, '1', '1', null, null);
 
 -- ----------------------------
 -- Table structure for `xinhu_godepot`
@@ -4868,7 +4904,7 @@ CREATE TABLE `xinhu_im_group` (
   `deptid` varchar(100) DEFAULT NULL COMMENT '对应部门id',
   PRIMARY KEY (`id`),
   KEY `num` (`num`)
-) ENGINE=MyISAM AUTO_INCREMENT=66 DEFAULT CHARSET=utf8 COMMENT='IM会话表';
+) ENGINE=MyISAM AUTO_INCREMENT=67 DEFAULT CHARSET=utf8 COMMENT='IM会话表';
 
 -- ----------------------------
 -- Records of xinhu_im_group
@@ -4918,6 +4954,7 @@ INSERT INTO `xinhu_im_group` VALUES ('56', '跟进计划', '0', '客户', '2', '
 INSERT INTO `xinhu_im_group` VALUES ('57', '单据查看', '0', '流程', '2', '12', null, null, null, 'images/project.png', 'danju', null, null, 'link', '1', null, null, null, '0', 'flowsearch', '?d=we&m=flow&a=view', null);
 INSERT INTO `xinhu_im_group` VALUES ('58', '考勤表', '0', '考勤', '2', '8', null, null, null, 'images/bwl2.png', 'kqbiao', null, null, 'auto', '1', null, null, null, '0', null, null, null);
 INSERT INTO `xinhu_im_group` VALUES ('59', '便笺', '0', '基础', '2', '30', null, null, null, 'images/daily.png', 'bianjian', null, null, 'auto', '1', null, null, null, '0', null, null, null);
+INSERT INTO `xinhu_im_group` VALUES ('66', '工作计划', '0', '基础', '2', '26', null, null, null, 'images/bwl.png', 'planm', null, null, 'auto', '1', null, null, null, '0', null, null, null);
 
 -- ----------------------------
 -- Table structure for `xinhu_im_groupuser`
@@ -4926,7 +4963,7 @@ DROP TABLE IF EXISTS `xinhu_im_groupuser`;
 CREATE TABLE `xinhu_im_groupuser` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `gid` smallint(6) NOT NULL DEFAULT '0',
-  `uid` smallint(6) NOT NULL DEFAULT '0',
+  `uid` int(11) NOT NULL DEFAULT '0',
   `istx` tinyint(1) NOT NULL DEFAULT '1',
   PRIMARY KEY (`id`)
 ) ENGINE=MyISAM AUTO_INCREMENT=150 DEFAULT CHARSET=utf8 COMMENT='IM会话人员';
@@ -4984,13 +5021,13 @@ CREATE TABLE `xinhu_im_history` (
 -- ----------------------------
 -- Records of xinhu_im_history
 -- ----------------------------
-INSERT INTO `xinhu_im_history` VALUES ('1', 'group', '2', '2', '8', '2022-07-10 13:51:13', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
-INSERT INTO `xinhu_im_history` VALUES ('2', 'group', '2', '7', '8', '2022-07-10 13:51:13', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
-INSERT INTO `xinhu_im_history` VALUES ('3', 'group', '2', '6', '8', '2022-07-10 13:51:13', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
-INSERT INTO `xinhu_im_history` VALUES ('4', 'group', '2', '8', '8', '2022-07-10 13:51:13', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
-INSERT INTO `xinhu_im_history` VALUES ('5', 'group', '2', '5', '8', '2022-07-10 13:51:14', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
-INSERT INTO `xinhu_im_history` VALUES ('6', 'group', '2', '1', '8', '2022-07-10 13:51:14', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
-INSERT INTO `xinhu_im_history` VALUES ('7', 'group', '2', '4', '8', '2022-07-10 13:51:14', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
+INSERT INTO `xinhu_im_history` VALUES ('1', 'group', '2', '2', '8', '2022-09-05 15:19:51', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
+INSERT INTO `xinhu_im_history` VALUES ('2', 'group', '2', '7', '8', '2022-09-05 15:19:51', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
+INSERT INTO `xinhu_im_history` VALUES ('3', 'group', '2', '6', '8', '2022-09-05 15:19:51', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
+INSERT INTO `xinhu_im_history` VALUES ('4', 'group', '2', '8', '8', '2022-09-05 15:19:51', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
+INSERT INTO `xinhu_im_history` VALUES ('5', 'group', '2', '5', '8', '2022-09-05 15:19:51', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
+INSERT INTO `xinhu_im_history` VALUES ('6', 'group', '2', '1', '8', '2022-09-05 15:19:51', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
+INSERT INTO `xinhu_im_history` VALUES ('7', 'group', '2', '4', '8', '2022-09-05 15:19:51', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
 
 -- ----------------------------
 -- Table structure for `xinhu_im_menu`
@@ -5010,7 +5047,7 @@ CREATE TABLE `xinhu_im_menu` (
   `recename` varchar(300) DEFAULT NULL COMMENT '可使用人员',
   PRIMARY KEY (`id`),
   KEY `mid` (`mid`)
-) ENGINE=MyISAM AUTO_INCREMENT=187 DEFAULT CHARSET=utf8 COMMENT='IM下应用菜单';
+) ENGINE=MyISAM AUTO_INCREMENT=193 DEFAULT CHARSET=utf8 COMMENT='IM下应用菜单';
 
 -- ----------------------------
 -- Records of xinhu_im_menu
@@ -5199,6 +5236,12 @@ INSERT INTO `xinhu_im_menu` VALUES ('183', '58', '0', '重新分析', '0', '0',
 INSERT INTO `xinhu_im_menu` VALUES ('184', '59', '0', '我所有便笺', '0', '0', 'my', null, null, null, null);
 INSERT INTO `xinhu_im_menu` VALUES ('185', '59', '0', '待完成的', '0', '0', 'mywfc', 'weiwc', null, null, null);
 INSERT INTO `xinhu_im_menu` VALUES ('186', '59', '0', '新增', '0', '1', 'add', null, null, null, null);
+INSERT INTO `xinhu_im_menu` VALUES ('187', '66', '0', '待完成的', '0', '0', 'my', 'mydwc', null, null, null);
+INSERT INTO `xinhu_im_menu` VALUES ('188', '66', '0', '更多查看', '0', '0', null, null, null, null, null);
+INSERT INTO `xinhu_im_menu` VALUES ('189', '66', '0', '+新增', '0', '1', 'add', null, null, null, null);
+INSERT INTO `xinhu_im_menu` VALUES ('190', '66', '188', '我的创建', '0', '0', 'mycj', null, null, null, null);
+INSERT INTO `xinhu_im_menu` VALUES ('191', '66', '188', '我相关计划', '0', '0', 'myxg', null, null, null, null);
+INSERT INTO `xinhu_im_menu` VALUES ('192', '66', '188', '所有工作计划', '0', '0', 'all', null, null, 'u1', '管理员');
 
 -- ----------------------------
 -- Table structure for `xinhu_im_mess`
@@ -5225,7 +5268,7 @@ CREATE TABLE `xinhu_im_mess` (
 -- ----------------------------
 -- Records of xinhu_im_mess
 -- ----------------------------
-INSERT INTO `xinhu_im_mess` VALUES ('1', '2022-07-10 13:51:13', '1', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '8', '2', '2,7,6,8,5,1,4', 'group', null, '0', null);
+INSERT INTO `xinhu_im_mess` VALUES ('1', '2022-09-05 15:19:51', '1', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '8', '2', '2,7,6,8,5,1,4', 'group', null, '0', null);
 
 -- ----------------------------
 -- Table structure for `xinhu_im_messzt`
@@ -5305,7 +5348,7 @@ CREATE TABLE `xinhu_infor` (
 -- ----------------------------
 INSERT INTO `xinhu_infor` VALUES ('1', '欢迎使用信呼工作台', '2018-04-26 17:27:10', '通知公告', '<p>\n	欢迎使用,有任何问题可以随时联系我们,帮你解答哦。&nbsp;\n</p>\n<p>\n	信呼是一款开源免费的工作台软件,可添加应用,管理,pc上,app都可以使用,我们的代码全部开放,可自由使用。\n</p>', null, null, null, '1', '管理员', null, null, '信呼开发团队', '2016-08-01', '1', null, '0', '0', '0', '0', null, null, '0', '0', '0');
 INSERT INTO `xinhu_infor` VALUES ('2', '关于写日报制度说明', '2019-04-13 19:54:43', '规则制度', '<p>\n	1、每个人工作日在下班后必须写工作日报,全天请假可不用写,只要有上班就需要写,即使你上班1分钟。\n</p>\n<p>\n	2、也可以隔天写。\n</p>\n<p>\n	<strong>未写处罚</strong> \n</p>\n<p>\n	1、未写一次扣五块,累计加倍。\n</p>', null, 'u1,u2,u3,u4,u5,u6,u7,u8,u9', null, '1', '管理员', null, null, '人力行政部', '2016-08-01', '1', 'images/kqbanner1.jpg', '0', '0', '0', '0', null, null, '0', '0', '0');
-INSERT INTO `xinhu_infor` VALUES ('6', '信呼更新发布V2.3.8版本', '2022-07-10 11:07:54', '通知公告', '<p>\n	版本添加了发布如下功能啊。\n</p>\n<p>\n	1、系统功能完善。\n</p>\n<p>\n	2、更新了很多,自己看<a href=\"http://www.rockoa.com/view_core.html\" target=\"_blank\">升级日志</a>。\n</p>', 'http://www.rockoa.com/view_down.html', 'd1', '信呼开发团队', '1', '管理员', null, null, '信呼开发团队', '2022-07-10', '1', 'images/logo.png', '0', '0', '0', '1', null, null, '1', '1', '0');
+INSERT INTO `xinhu_infor` VALUES ('6', '信呼更新发布V2.3.9版本', '2022-09-05 14:49:27', '通知公告', '<p>\n	版本添加了发布如下功能啊。\n</p>\n<p>\n	1、系统功能完善。\n</p>\n<p>\n	2、更新了很多,自己看<a href=\"http://www.rockoa.com/view_core.html\" target=\"_blank\">升级日志</a>。\n</p>', 'http://www.rockoa.com/view_down.html', 'u1,u6', '管理员,张飞', '1', '管理员', null, null, '信呼开发团队', '2022-09-05', '1', 'images/logo.png', '0', '0', '0', '1', null, null, '1', '1', '0');
 INSERT INTO `xinhu_infor` VALUES ('9', '你们觉得这个系统如何?', '2019-06-03 13:17:05', '通知公告', '开始投票拉。', null, 'd1', '信呼开发团队', '1', '管理员', '2018-08-31 12:42:00', '2017-08-26 12:42:00', '开发部', '2017-08-26', '1', null, '1', '1', '0', '0', '2019-04-15', null, '1', '0', '0');
 
 -- ----------------------------
@@ -6039,7 +6082,7 @@ CREATE TABLE `xinhu_menu` (
   `types` tinyint(1) DEFAULT '0',
   PRIMARY KEY (`id`),
   KEY `pid` (`pid`,`status`)
-) ENGINE=MyISAM AUTO_INCREMENT=407 DEFAULT CHARSET=utf8 COMMENT='系统菜单';
+) ENGINE=MyISAM AUTO_INCREMENT=411 DEFAULT CHARSET=utf8 COMMENT='系统菜单';
 
 -- ----------------------------
 -- Records of xinhu_menu
@@ -6079,7 +6122,7 @@ INSERT INTO `xinhu_menu` VALUES ('33', '打卡记录', '57', '0', 'main,kaoqin,d
 INSERT INTO `xinhu_menu` VALUES ('34', '单据操作菜单', '7', '9', 'main,flow,menu', null, null, null, '1', '1', null, '0', '0', '0', '0');
 INSERT INTO `xinhu_menu` VALUES ('36', '考勤信息', '57', '4', 'main,kaoqin,info', null, null, null, '1', '1', null, '0', '0', '0', '0');
 INSERT INTO `xinhu_menu` VALUES ('37', '客户统计', '63', '10', null, null, null, null, '0', '1', null, '0', '0', '0', '0');
-INSERT INTO `xinhu_menu` VALUES ('38', '个人办公', '0', '0', null, 'desktop', null, null, '0', '1', null, '0', '0', '0', '0');
+INSERT INTO `xinhu_menu` VALUES ('38', '个人办公', '0', '0', null, 'desktop', null, null, '1', '1', null, '0', '0', '0', '0');
 INSERT INTO `xinhu_menu` VALUES ('39', '个人中心', '38', '0', null, null, null, null, '0', '1', null, '0', '0', '0', '0');
 INSERT INTO `xinhu_menu` VALUES ('40', '流程', '0', '1', null, null, null, null, '1', '1', null, '0', '0', '0', '0');
 INSERT INTO `xinhu_menu` VALUES ('41', '我的申请', '40', '2', 'main,fwork,bill,atype=my', 'align-left', null, 'applymy', '0', '1', null, '0', '0', '0', '0');
@@ -6354,6 +6397,10 @@ INSERT INTO `xinhu_menu` VALUES ('371', '音视频通话记录', '14', '6', 'rei
 INSERT INTO `xinhu_menu` VALUES ('372', '可视化模块设计', '7', '2', 'open:?d=main&m=flowview', 'desktop', null, 'keshihau', '1', '1', null, '0', '0', '1', '0');
 INSERT INTO `xinhu_menu` VALUES ('386', '所有客户服务', '126', '9', 'flow,page,custfuwu,atype=all,pnum=all', null, null, null, '1', '1', null, '0', '0', '0', '0');
 INSERT INTO `xinhu_menu` VALUES ('387', '客户服务', '64', '9', 'flow,page,custfuwu,atype=my', null, null, null, '0', '1', null, '0', '0', '0', '0');
+INSERT INTO `xinhu_menu` VALUES ('407', '工作计划授权查看', '410', '21', 'flow,page,planm,atype=grant', null, null, null, '0', '1', null, '0', '0', '0', '0');
+INSERT INTO `xinhu_menu` VALUES ('408', '我的工作计划', '410', '6', 'flow,page,planm,atype=my', 'time', null, 'myplan', '0', '1', null, '0', '0', '0', '0');
+INSERT INTO `xinhu_menu` VALUES ('409', '所有工作计划', '410', '30', 'flow,page,planm,atype=all,pnum=all', null, null, null, '1', '1', null, '0', '0', '0', '0');
+INSERT INTO `xinhu_menu` VALUES ('410', '工作计划', '38', '20', null, null, null, null, '1', '1', null, '0', '0', '0', '0');
 
 -- ----------------------------
 -- Table structure for `xinhu_news`
@@ -6465,7 +6512,7 @@ CREATE TABLE `xinhu_option` (
   PRIMARY KEY (`id`),
   KEY `num` (`num`),
   KEY `pid` (`pid`)
-) ENGINE=MyISAM AUTO_INCREMENT=771 DEFAULT CHARSET=utf8 COMMENT='系统选项';
+) ENGINE=MyISAM AUTO_INCREMENT=774 DEFAULT CHARSET=utf8 COMMENT='系统选项';
 
 -- ----------------------------
 -- Records of xinhu_option
@@ -6898,6 +6945,71 @@ INSERT INTO `xinhu_option` VALUES ('766', '未分类', '0', '754', null, null, '
 INSERT INTO `xinhu_option` VALUES ('767', '采购退货出库', '0', '761', null, '22', '0', null, '1', null, '0', null, null, null, '0');
 INSERT INTO `xinhu_option` VALUES ('768', '调拨入库', '0', '758', null, '2', '0', null, '1', null, '0', null, null, null, '0');
 INSERT INTO `xinhu_option` VALUES ('769', '调拨出库', '0', '761', null, '23', '0', null, '1', null, '0', null, null, null, '0');
+INSERT INTO `xinhu_option` VALUES ('772', '手机端是否显示联系人', '0', '475', 'appsy_lxrshow', '是', '0', null, '1', null, '0', null, null, '不显示对应值改成“否”', '0');
+
+-- ----------------------------
+-- Table structure for `xinhu_planm`
+-- ----------------------------
+DROP TABLE IF EXISTS `xinhu_planm`;
+CREATE TABLE `xinhu_planm` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) DEFAULT '0',
+  `optdt` datetime DEFAULT NULL COMMENT '操作时间',
+  `optid` int(11) DEFAULT '0',
+  `optname` varchar(20) DEFAULT NULL COMMENT '操作人',
+  `applydt` date DEFAULT NULL COMMENT '申请日期',
+  `explain` varchar(500) DEFAULT NULL COMMENT '说明',
+  `status` tinyint(1) DEFAULT '1' COMMENT '状态',
+  `isturn` tinyint(1) DEFAULT '1' COMMENT '是否提交',
+  `comid` smallint(6) DEFAULT '0' COMMENT '对应单位id',
+  `name` varchar(200) DEFAULT NULL COMMENT '名称',
+  `leixing` smallint(6) DEFAULT '0' COMMENT '类型',
+  `startdt` datetime DEFAULT NULL COMMENT '开始时间',
+  `enddt` datetime DEFAULT NULL COMMENT '截止时间',
+  `psren` varchar(100) DEFAULT NULL COMMENT '评审人',
+  `psrenid` varchar(100) DEFAULT NULL COMMENT '评审人的ID',
+  `runren` varchar(500) DEFAULT NULL COMMENT '执行人',
+  `runrenid` varchar(500) DEFAULT NULL COMMENT '执行人的ID',
+  `state` smallint(6) DEFAULT '0',
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='工作计划';
+
+-- ----------------------------
+-- Records of xinhu_planm
+-- ----------------------------
+INSERT INTO `xinhu_planm` VALUES ('1', '1', '2022-09-01 20:38:05', '1', '管理员', '2022-09-01', null, '1', '1', '1', '2022年09月份第1周工作计划', '4', '2022-09-01 20:13:15', '2022-09-01 20:13:19', '大乔', '4', '开发部,财务部', 'd2,d3', '1');
+INSERT INTO `xinhu_planm` VALUES ('2', '1', '2022-09-02 15:07:31', '1', '管理员', '2022-09-02', null, '1', '1', '1', '2022年09月份工作计划', '3', '2022-09-02 15:03:00', '2022-09-30 15:06:00', null, null, '行政人事部', 'd4', '1');
+INSERT INTO `xinhu_planm` VALUES ('3', '4', '2022-09-04 12:17:25', '4', '大乔', '2022-09-04', null, '1', '1', '2', '2022第3季度工作计划', '2', '2022-09-04 12:16:24', '2022-09-15 12:17:00', null, null, '财务部', 'd3', '2');
+
+-- ----------------------------
+-- Table structure for `xinhu_plans`
+-- ----------------------------
+DROP TABLE IF EXISTS `xinhu_plans`;
+CREATE TABLE `xinhu_plans` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `mid` int(11) DEFAULT '0' COMMENT '对应主表planm.id',
+  `sort` int(11) DEFAULT '0' COMMENT '排序号',
+  `comid` smallint(6) DEFAULT '0' COMMENT '对应单位id',
+  `pitem` varchar(50) DEFAULT NULL COMMENT '计划事项',
+  `zxren` varchar(500) DEFAULT NULL COMMENT '执行人',
+  `zxrenid` varchar(500) DEFAULT NULL COMMENT '执行人的ID',
+  `zxtime` datetime DEFAULT NULL COMMENT '执行时间',
+  PRIMARY KEY (`id`),
+  KEY `mid` (`mid`)
+) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Records of xinhu_plans
+-- ----------------------------
+INSERT INTO `xinhu_plans` VALUES ('1', '1', '0', '1', '9月销售额达到600万', '开发部', 'd2', null);
+INSERT INTO `xinhu_plans` VALUES ('2', '1', '1', '1', '扩展新客户', '财务部,行政人事部', 'd3,d4', null);
+INSERT INTO `xinhu_plans` VALUES ('3', '1', '2', '1', '学习新技能', '张飞', 'u6', '2022-09-02 23:02:44');
+INSERT INTO `xinhu_plans` VALUES ('4', '2', '0', '1', '开发票', '大乔', 'u4', '2022-09-03 18:51:00');
+INSERT INTO `xinhu_plans` VALUES ('5', '2', '1', '1', '报税', '大乔', 'u4', '2022-09-03 19:42:55');
+INSERT INTO `xinhu_plans` VALUES ('6', '2', '2', '1', '申报社保', '大乔', 'u4', '2022-09-29 19:42:00');
+INSERT INTO `xinhu_plans` VALUES ('7', '3', '0', '2', '财务目标学习1', '小乔', 'u3', null);
+INSERT INTO `xinhu_plans` VALUES ('8', '3', '1', '2', '财务目标学习2', null, null, null);
+INSERT INTO `xinhu_plans` VALUES ('9', '3', '2', '2', '财务目标学习3', null, null, null);
 
 -- ----------------------------
 -- Table structure for `xinhu_project`
@@ -7307,7 +7419,7 @@ CREATE TABLE `xinhu_task` (
 INSERT INTO `xinhu_task` VALUES ('1', '流程从新匹配', '系统', 'flow,pipei', 'd,d', '00:10:00,12:10:00', '每天0,12点', '1', '0', null, null, '0', null, null, null, null, null);
 INSERT INTO `xinhu_task` VALUES ('2', '数据备份', '系统', 'sys,beifen', 'd', '00:20:00', '每天凌晨00:20', '1', '0', null, null, '0', null, null, null, null, null);
 INSERT INTO `xinhu_task` VALUES ('3', '系统升级提醒', '系统', 'sys,upgtx', 'd', '00:25:00', '每天凌晨00:25', '0', '0', null, null, '0', null, null, null, '1,8', '管理员,信呼客服');
-INSERT INTO `xinhu_task` VALUES ('4', '5分钟运行1次', '系统', 'minute5,run', 'i5', '00', '每5分钟运行一次', '1', '0', null, null, '0', null, null, '这个是必须的,不可删除停用', null, null);
+INSERT INTO `xinhu_task` VALUES ('4', '5分钟运行1次', '系统', 'minute5,run', 'i5', '00', '每5分钟运行一次', '1', '1', '2022-09-05 15:20:01', null, '0', null, 'success', '这个是必须的,不可删除停用', null, null);
 INSERT INTO `xinhu_task` VALUES ('5', '考勤信息提醒', '考勤', 'kaoqin,todo', 'd', '09:25:00', '每天9点', '1', '0', null, null, '21', null, null, '在模块【考勤信息】下设置提醒到哪些平台。', null, null);
 INSERT INTO `xinhu_task` VALUES ('6', '用户数据更新', '用户', 'sys,dataup', 'd', '00:10:00', '每天', '1', '0', null, null, '1', null, null, null, null, null);
 INSERT INTO `xinhu_task` VALUES ('7', '考勤分析', '考勤', 'kaoqin,anay', 'd', '02:15:00', '每天2点', '1', '0', null, null, '22', null, null, '分析全体人员昨天的考勤', null, null);

+ 17 - 0
webmain/main/flow/flowAction.php

@@ -28,6 +28,23 @@ class flowClassAction extends Action
 		return $where;
 	}
 	
+	public function getcompanydataAjax()
+	{
+		$rows = array();
+		$msg  = '';
+		if(!getconfig('platdwnum')){
+			$msg  = '当前不是SAAS模式不需要操作';
+		}else{
+			if(!COMPANYNUM){
+				$rows = m('company')->getall('`iscreate`=1','id,name');
+				if(!$rows)$msg='没有创建过任何单位';
+			}else{
+				$msg  = '请在管理模式下操作';
+			}
+		}
+		return returnsuccess($rows, $msg);
+	}
+	
 	public function flowwheresave_before($table,$das)
 	{
 		$str   = m('where')->checkwhere($das['setid'], $das['wheresstr']);

+ 57 - 0
webmain/main/flow/rock_flow_set.php

@@ -198,8 +198,59 @@ $(document).ready(function(){
 		shengsheng:function(){
 			var sid = a.getchecked();
 			addtabs({'name':'创建安装包',url:'main,flow,createinstall,sid='+jm.base64encode(sid)+'',num:'createinstall'});
+		},
+		tongbudanwu:function(){
+			var sid = a.getchecked();
+			if(!sid){
+				js.msgerror('复选框中没有选中模块');return;
+			}
+			this.xuandanwefe(sid,0);
+		},
+		xuandanwefe:function(sid,lx){
+			js.tanbody('senddw','同步到单位数据里', 350, 200, {
+				html:'<form name="sendform"><div style="padding:10px;" id="senddwdiv"><img src="images/mloading.gif"></div></form>',
+				btn:[{text:'确定同步'}]
+			});
 			
+			js.ajax(js.getajaxurl('getcompanydata','{mode}','{dir}'),{},function(ret){
+				var str = '',da=ret.data;
+				for(var i=0;i<da.length;i++){
+					str+='<div><label><input type="checkbox" name="xuanzhe[]" value="'+da[i].id+'">'+da[i].name+'</label></div>';
+				}
+				if(!str)str=ret.msg;
+				$('#senddwdiv').html(str);
+			},'get,json');
+			
+			$('#senddw_btn0').click(function(){
+				c.sendgongwenjsok(sid,lx);
+			});
+		},
+		
+		sendgongwenjsok:function(id1,lx){
+			var da = js.getformdata('sendform');
+			if(!da.xuanzhe){
+				js.msgerror('请选择单位');
+				return;
+			}
+			da.modeids = id1;
+			da.lx 	   = lx;
+			js.loading('同步中...');
+			js.tanclose('senddw');
+			js.ajax(publicmodeurl('company','anaymodedata'),da,function(ret){
+				js.msgok(ret.data);
+			},'post,json');
+		},
+		tongbumenu:function(){
+			$.selectdata({
+				title:'选择需要同步的菜单',
+				url:js.getajaxurl('getmenu','upgrade','system',{glx:1}),
+				checked:true,maxshow:500,
+				onselect:function(d1,sna,sid){
+					if(sid)c.xuandanwefe(sid, 1)
+				}
+			});
 		}
+		
 	};
 	js.initbtn(c);
 	
@@ -211,6 +262,10 @@ $(document).ready(function(){
 			name:'PC端录入页面布局',lx:1
 		},{
 			name:'清空此模块数据',lx:2
+		},{
+			name:'同步到单位数据',lx:3
+		},{
+			name:'同步菜单到单位数据',lx:4
 		}],
 		itemsclick:function(d, i){
 			var id = a.changedata.id;
@@ -218,6 +273,8 @@ $(document).ready(function(){
 			if(d.lx==1)c.input(0);
 			if(d.lx==0)c.elements();
 			if(d.lx==2)c.clearalldata(id);
+			if(d.lx==3)c.tongbudanwu();
+			if(d.lx==4)c.tongbumenu();
 		}
 	});
 });

+ 1 - 0
webmain/main/flow/rock_flow_whereedit.php

@@ -178,6 +178,7 @@ $(document).ready(function(){
 			<td class="tdinput" colspan="3">
 				<label><input name="status" value="1" checked type="checkbox"> 启用?</label>&nbsp; &nbsp; 
 				<label><input name="islb" value="0" type="checkbox"> 列表页显示</label>&nbsp; &nbsp; 
+				<label><input name="yuanwhere" value="1" checked type="checkbox"> 验证条件</label>
 			</td>
 		</tr>
 

+ 1 - 0
webmain/main/view/rock_view_edit.php

@@ -154,6 +154,7 @@ $(document).ready(function(){
 			<td  align="right" ></td>
 			<td class="tdinput" colspan="3">
 				<label><input name="status" value="1" checked type="checkbox"> 启用?</label>&nbsp; &nbsp; 
+				<label><input name="yuanwhere" value="1" checked type="checkbox"> 验证条件</label>
 			</td>
 		</tr>
 

+ 3 - 0
webmain/model/agent/gongModel.php

@@ -22,6 +22,9 @@ class agent_gongClassModel extends agentModel
 		$where.= " and (`zstart` is null or `zstart`<='{$this->rock->date}')";
 		$where.= " and (`zsend` is null or `zsend`>='{$this->rock->date}')";
 		
+		$wdate = m('admin')->getmou('workdate', $uid);
+		if(!isempt($wdate))$where.=" and `indate`>='$wdate'";
+		
 		$where .= m('admin')->getcompanywhere(1);
 		$stotal	= m('infor')->rows($where);
 		return $stotal;

+ 31 - 0
webmain/model/agent/planmModel.php

@@ -0,0 +1,31 @@
+<?php
+/**
+	通知公告的
+*/
+class agent_planmClassModel extends agentModel
+{
+	
+	public function gettotal()
+	{
+		$stotal	= $this->getwdtotal($this->adminid);
+		$titles	= '';
+		return array('stotal'=>$stotal,'titles'=> $titles);
+	}
+	
+	private function getwdtotal($uid)
+	{
+
+		$stotal	= m('flow:planm')->getwwctotals($uid);
+		return $stotal;
+	}
+	
+	
+	protected function agenttotals($uid)
+	{
+		$a = array(
+			'mydwc' => $this->getwdtotal($uid)
+		);
+		return $a;
+	}
+	
+}

+ 10 - 0
webmain/model/companyModel.php

@@ -17,6 +17,16 @@ class companyClassModel extends Model
 			'name'  => '最顶级',
 		);
 		$this->getselectdatas($rows, $barr, '0', 0);
+		$idarr = array();
+		foreach($barr as $k=>$rs)$idarr[] = $rs['value'];
+		foreach($rows as $k=>$rs){
+			if(!in_array($rs['id'], $idarr)){
+				$barr[] = array(
+					'name' => $rs['name'],
+					'value' => $rs['id'],
+				);
+			}
+		}
 		return $barr;
 	}
 	private function getselectdatas($rows,&$barr, $pid='0', $level=0)

File diff suppressed because it is too large
+ 0 - 0
webmain/model/flow/flow.php


+ 4 - 2
webmain/model/flow/gongModel.php

@@ -101,8 +101,8 @@ class flow_gongClassModel extends flowModel
 		
 		$h 	  = c('html');
 		$cont = $h->htmlremove($this->rs['content']);
-		$cont = $h->substrstr($cont,0, 50);
-		if(strlen($cont)>40)$cont.='...';
+		$cont = $h->substrstr($cont,0, 40);
+		if(strlen($cont)>41)$cont.='...';
 		if(isempt($cont))$cont = $this->rs['title']; //为空时
 		$this->push($this->rs['receid'], '通知公告', $cont, $this->rs['title'],1);
 		
@@ -159,6 +159,8 @@ class flow_gongClassModel extends flowModel
 		if($lx=='my' || $lx=='wexx'){
 			$whyere= "and (`zstart` is null or `zstart`<='{$this->rock->date}')";
 			$whyere.= " and (`zsend` is null or `zsend`>='{$this->rock->date}')";
+			$wdate = $this->adminmodel->getmou('workdate', $uid);
+			if(!isempt($wdate))$whyere.=" and `indate`>='$wdate'";
 		}
 		
 		if($typeid>0){

+ 173 - 0
webmain/model/flow/planmModel.php

@@ -0,0 +1,173 @@
+<?php
+class flow_planmClassModel extends flowModel
+{
+	public function leixingdata()
+	{
+		$arr[] = array('value'=>'1','name'=>'年度');
+		$arr[] = array('value'=>'2','name'=>'季度');
+		$arr[] = array('value'=>'3','name'=>'月度');
+		$arr[] = array('value'=>'4','name'=>'周');
+		$arr[] = array('value'=>'5','name'=>'项目');
+		$arr[] = array('value'=>'0','name'=>'其他');
+		return $arr;
+	}
+	
+	private function leixingval($lx)
+	{
+		$data = $this->leixingdata();
+		$str  = $lx;
+		foreach($data as $kv=>$rv){
+			if($rv['value']==$lx){
+				$str = $rv['name'].'计划';
+				break;
+			}
+		}
+		return $str;
+	}
+	
+	public function flowrsreplace($rs, $lx=0){
+		
+		$rs['leixing'] = $this->leixingval($rs['leixing']);
+		$str = '';
+		if($rs['startdt']>$this->rock->now){
+			$str = '未开始';
+		}else if($rs['enddt']<$this->rock->now){
+			
+		}else{
+			$str = '执行中';
+		}
+		if($rs['state']==1)$str='已完成';
+		if($rs['state']==2)$str='执行中';
+		if($rs['state']==0)$str='待执行';
+		if($rs['enddt']<$this->rock->now)$str.=',<font color=gray>已截止</font>';
+		if($rs['startdt']>$this->rock->now)$str='未开始';
+		
+		$rs['state'] = $str;
+		return $rs;
+	}
+	
+	//自定义审核人读取
+	protected function flowcheckname($num){
+		$sid = '';
+		$sna = '';
+		if($num=='zhixi'){
+			$ssid = '';
+			$runrenid = $this->rs['runrenid'];
+			if(!isempt($runrenid)){
+				$dbs  = m('dept');
+				$runa = explode(',', $runrenid);
+				foreach($runa as $id1){
+					$id1d = str_replace(array('d','u'),'', $id1);
+					if(contain($id1,'d')){
+						$drs = $dbs->getone($id1d);
+						if($drs && !isempt($drs['headid']))$ssid.=','.$drs['headid'].'';
+					}else{
+						$ssid.=','.$id1d.'';
+					}
+				}
+			}
+			if($ssid){
+				$ssid = substr($ssid, 1);
+				$rows = $this->adminmodel->getall('id in('.$ssid.') and `status`=1');
+				if($rows){
+					foreach($rows as $k=>$rs){
+						$sid.=','.$rs['id'].'';
+						$sna.=','.$rs['name'].'';
+					}
+					$sid = substr($sid, 1);
+					$sna = substr($sna, 1);
+				}
+			}
+		}
+		return array($sid, $sna);
+	}
+	
+	protected function flowbillwhere($uid, $lx)
+	{
+		$where = '';
+		if($lx=='bumen'){
+			$dbs   	= m('dept');
+			$detpids= '';
+			$drows 	= $dbs->getall($this->rock->dbinstr('headid', $uid)); //读取我负责的部门
+			foreach($drows as $k=>$rs)$detpids.=','.$rs['id'].'';
+			if($detpids!=''){
+				$detpids = substr($detpids,1);
+				for($i=1;$i<=2;$i++){
+					$drows   = $dbs->getall('`pid` in('.$detpids.')');
+					foreach($drows as $k=>$rs)$detpids.=','.$rs['id'].'';
+					if(!$drows)break;
+				}
+			}
+			if(!$detpids){
+				$where='and 1=2';
+			}else{
+				$drows   = $dbs->getall('`id` in('.$detpids.')');
+				$whewea  = array();
+				foreach($drows as $k=>$rs){
+					$whewea[] = $this->rock->dbinstr('runrenid', 'd'.$rs['id'].'');
+				}
+				$where = 'and ('.join(' or ', $whewea).')';
+			}
+		}
+		return $where;
+	}
+	
+	//判断是不是再执行人里面。
+	private $runboolpdid = 0;
+	public function runboolpd()
+	{
+		if($this->rs['status']!=1 
+		|| ($this->rs['enddt']<$this->rock->now && $this->rs['state']==1)
+		|| $this->rs['startdt']>$this->rock->now)return false;
+		if($this->runboolpdid>0){
+			if($this->runboolpdid==1)return true;
+			if($this->runboolpdid==2)return false;
+		}
+		$bo = $this->adminmodel->containjoin($this->rs['runrenid'], $this->adminid);
+		$this->runboolpdid = $bo ? 1: 2;
+		return $bo;
+	}
+	
+	//是否可执行
+	protected function flowdatalog($arr)
+	{
+		$runbool = $this->runboolpd();
+		
+		return array(
+			'modelujs' => $runbool,
+		);
+	}
+	
+	//子表数据替换处理
+	protected function flowsubdata($rows, $lx=0){
+		if($lx!=1 || !$rows || !$this->runboolpd())return $rows;
+		$inputobj = c('input');
+		foreach($rows as $k=>$rs){
+			$rows[$k]['zxren'] = $inputobj->inputchangeuser(array(
+				'type'	=> 'changedeptusercheck',
+				'changerange' => $this->rs['runrenid'],
+				'name' 	=> 'zhixing_zxren_'.$rs['id'].'',
+				'id' 	=> 'zhixing_zxrenid_'.$rs['id'].'',
+				'value' => $rs['zxren'],
+				'valueid' => $rs['zxrenid'],
+				'title' => '执行人'
+			));
+			$rows[$k]['zxtime'] = '<input name="zhixing_zxtime_'.$rs['id'].'" onclick="js.datechange(this,\'datetime\')" readonly value="'.$rs['zxtime'].'" class="inputs datesss">';
+		}
+		$zt = $this->rs['state'];
+		$rows[] = array(
+			'pitem'=>'执行状态',
+			'zxren'=>'<select id="ztstate" class="inputs"><option value="0">待执行</option><option value="2"'.(($zt==2)?' selected':'').'>执行中</option><option value="1"'.(($zt==1)?' selected':'').'>已完成</option></select>',
+			'zxtime'=>'<div align="left"><button type="button" onclick="submittijiao(this)" class="webbtn">保存</button></div>'
+		);
+		return $rows;
+	}
+	
+	//统计未完成
+	public function getwwctotals($uid)
+	{
+		$where = m('admin')->getjoinstr('runrenid', $uid,0,1);
+		$where = "`status`=1 and `state`<>1 and `startdt`<'{$this->rock->now}' $where";
+		return m('planm')->rows($where);
+	}
+}

+ 5 - 2
webmain/model/goodsModel.php

@@ -203,14 +203,17 @@ class goodsClassModel extends Model
 	*/
 	public function getgoodninfo($mid, $glx=0, $mgx=5)
 	{
-		$rows 	= $this->db->getall("select a.`count`,a.couns,a.`price`,b.`unit`,b.`num`,b.`name`,b.`guige`,b.`xinghao` from `[Q]goodn` a left join `[Q]goods` b on a.`aid`=b.`id` where a.`mid`='$mid' order by a.`sort`");
+		$rows 	= $this->db->getall("select a.`count`,a.couns,a.`price`,b.`unit`,b.`num`,b.`name`,b.`guige`,b.`xinghao`,a.`lygh` from `[Q]goodn` a left join `[Q]goods` b on a.`aid`=b.`id` where a.`mid`='$mid' order by a.`sort`");
 		$str 	= '';
 		if($glx==1){
 			foreach($rows as $k1=>$rs1){
 				if($k1>$mgx)break;
 				$str.=''.$rs1['name'].'';
 				if(!isempt($rs1['xinghao']))$str.='('.$rs1['xinghao'].')';
-				$str .=':'.$rs1['count'].''.$rs1['unit'].';';
+				$str .=':'.$rs1['count'].''.$rs1['unit'].'';
+				if($rs1['lygh']=='1')$str.='<font color=blue>(需归还)</font>';
+				if($rs1['lygh']=='2')$str.='<font color=green>(已归还)</font>';
+				$str.=';';
 			}
 			return $str;
 		}

+ 7 - 0
webmain/model/homeitemsModel.php

@@ -71,6 +71,13 @@ class homeitemsClassModel extends Model
 		if(in_array('receiptmy', $nubar) && !isset($arr['receiptmy']))$arr['receiptmy']	= m('flow:receipt')->getweitotal($uid);
 		if(in_array('myhong', $nubar) && !isset($arr['myhong']))$arr['myhong'] 		= m('official')->rows('`uid`='.$uid.' and `type`=0 and `status`=1 and `thid`=0');//统计未套红的
 		if(in_array('officidus', $nubar) && !isset($arr['officidus']))$arr['officidus'] = m('officidu')->rows('`status` in(0,3) and `isturn`=1 and '.$this->rock->dbinstr('runrenid',$uid).'');
+		
+		//未完成工作计划
+		if(in_array('myplan', $nubar) && !isset($arr['myplan'])){
+			$obj = m('flow:planm');
+			if(method_exists($obj,'getwwctotals'))$arr['myplan'] = $obj->getwwctotals($uid);
+		}
+		
 
 		return $arr;
 	}

+ 1 - 1
webmain/model/whereModel.php

@@ -226,7 +226,7 @@ class whereClassModel extends Model
 	*/
 	public function checkwhere($modeid, $str)
 	{
-		if(isempt($str))return '';
+		if(isempt($str) || $this->rock->post('yuanwhere')!='1')return '';
 		$where = $this->rock->jm->base64decode($str);
 		if($where=='all' || contain($where, '{super}') || 
 			contain($where, '{allsuper}') || 

+ 1 - 1
webmain/task/api/weixinAction.php

@@ -45,7 +45,7 @@ class weixinClassAction extends apiAction{
 		$arr['scale']		= (int)$this->post('scale');
 		$arr['precision']	= (int)$this->post('precision');
 		$arr['label']		= $this->getvals('label');
-		$arr['explain']		= $this->getvals('sm');
+		$arr['explain']		= $this->rock->xssrepstr($this->getvals('sm'));
 		$arr['optdt']		= $now;
 		$arr['uid']			= $uid;
 		$arr['comid']		= $comid;

+ 3 - 2
webmain/task/mode/tpl_mode_p.html

@@ -419,7 +419,8 @@ if($stype!=''){
 </div>
 
 <?php
-if($stype=='' && $cheikbo){
+$modelujs = arrvalue($da['arr'], 'modelujs');
+if($stype=='' && ($cheikbo || $modelujs)){
 ?>
 <script type="text/javascript" src="web/res/js/jquery-changeuser.js"></script>
 <link rel="stylesheet" type="text/css" href="mode/plugin/css/jquery-rockdatepicker.css"/>
@@ -427,7 +428,7 @@ if($stype=='' && $cheikbo){
 <script type="text/javascript" src="mode/plugin/jquery-signature.js"></script>
 <script type="text/javascript" src="web/res/js/jquery-rockupload.js"></script>
 <?php
-if($flowinfor['checkfields'] && $da['inputjspath']!='')echo '<script type="text/javascript" id="modelujs" src="'.$da['inputjspath'].'"></script>';
+if(($modelujs || $flowinfor['checkfields']) && $da['inputjspath']!='')echo '<script type="text/javascript" id="modelujs" src="'.$da['inputjspath'].'?'.time().'"></script>';
 
 }?>
 </body>

+ 3 - 2
webmain/task/mode/tpl_mode_x.html

@@ -377,7 +377,8 @@ if($da['arr']['isplview']=='1'){
 	?>	
 </div>
 <?php
-if($cheikbo){
+$modelujs = arrvalue($da['arr'], 'modelujs');
+if($cheikbo || $modelujs){
 ?>
 <script type="text/javascript" src="web/res/js/jquery-changeuser.js"></script>
 <link rel="stylesheet" type="text/css" href="mode/plugin/css/jquery-rockdatepicker.css"/>
@@ -385,7 +386,7 @@ if($cheikbo){
 <script type="text/javascript" src="mode/plugin/jquery-signature.js"></script>
 <script type="text/javascript" src="web/res/js/jquery-rockupload.js"></script>
 <?php 
-if($flowinfor['checkfields'] && $da['inputjspath']!='')echo '<script type="text/javascript" id="modelujs" src="'.$da['inputjspath'].'"></script>';
+if(($modelujs || $flowinfor['checkfields']) && $da['inputjspath']!='')echo '<script type="text/javascript" id="modelujs" src="'.$da['inputjspath'].'?'.time().'"></script>';
 
 }?>
 </body>

+ 1 - 0
webmain/we/index/indexAction.php

@@ -19,6 +19,7 @@ class indexClassAction extends ActionNot{
 		if(is_string($ybarr))return $ybarr;
 		$this->assign('xhauthkey', getconfig('authkey', $ybarr['authkey']));
 		$this->assign('tplmess', $this->option->getval('wxgzh_tplmess'));
+		$this->assign('lxrshow', $this->option->getval('appsy_lxrshow'));
 	}
 	
 	public function bd6($str)

+ 2 - 0
webmain/we/index/tpl_index.html

@@ -204,12 +204,14 @@ maincolor = '<?=$maincolor?>';
 		</div>
 		<p class="weui_tabbar_label" style="margin-top:0">应用</p>
 	</a>
+	<?php if($lxrshow!='否'){?>
 	<a href="javascript:;" id="tabnav2" onclick="RO.ctab(2)" class="weui_tabbar_item">
 		<div class="weui_tabbar_icon">
 			<i class="icon-group"></i>
 		</div>
 		<p class="weui_tabbar_label" style="margin-top:0">联系人</p>
 	</a>
+	<?php }?>
 	<a href="javascript:;" id="tabnav3" onclick="RO.smenu()" class="weui_tabbar_item">
 		<div class="weui_tabbar_icon">
 			<i class="icon-cog"></i>

+ 1 - 1
webmain/we/login/tpl_login.html

@@ -170,7 +170,7 @@ function dingdengl(bo){
 					dingdlogn(result.code);
 				},
 				onFail : function(err) {
-					shidengl(1);
+					shidengl(err.errorMessage);
 				}
 			});
 		});

Some files were not shown because too many files changed in this diff

粤ICP备19079148号