发布v2.6.4版本

This commit is contained in:
雨中磐石
2024-07-31 12:54:55 +08:00
parent 3048af398c
commit c75c1e7251
20 changed files with 403 additions and 193 deletions

View File

@@ -6,11 +6,11 @@
官网网站http://www.rockoa.com/
源码仅供学习二次开发使用,禁止二次发布,禁止用于商业用途出售等(违者必究)
版权Copyright @2016-2024 信呼开发团队
版本整理时间2024-05-05 23:59:59
版本号V2.6.3
版本整理时间2024-07-31 23:59:59
版本号V2.6.4
### V2.6.3更新说明
### V2.6.4更新说明
1、完善系统安全性。
2、更多升级日志详见http://www.rockoa.com/view_core.html
@@ -36,7 +36,7 @@
### 信呼声明
1、没有一款系统是100%安全信呼也是如此任何暴露在公网中的系统都有数据泄露的风险一旦您决定将信呼OA部署在公网环境中请仔细评估可能由此带来的风险并尽可能的加强安全措施。
1、没有一款系统是100%安全,信呼OA也是如此任何暴露在公网中的系统都有数据泄露的风险一旦您决定将信呼OA部署在公网环境中请仔细评估可能由此带来的风险并尽可能的加强安全措施。
2、或许您觉得此系统不好有缺陷或漏洞等欢迎提意见和您的想法给我们或者发邮件给我们admin@rockoa.com。
### 声明感谢

View File

@@ -1,3 +1,3 @@
<?php
//版本2.6.32024
return '2.6.3';
//版本2.6.42024-07-31
return '2.6.4';

View File

@@ -1,13 +1,90 @@
<?php
class mapqqChajian extends Chajian{
private $mapqqkey = 'I3EBZ-TYP6F-RGZJI-J3W3V-ERKDT-PTBK4';
private $mapqq_key = '';
public function geocoder($location)
protected function initChajian()
{
$url = 'http://apis.map.qq.com/ws/geocoder/v1/?location='.$location.'&coord_type=5&key='.$this->mapqqkey.'';
$result = c('curl')->getcurl($url);
echo $result;
$this->getkey();
}
public function getkey()
{
$key = getconfig('qqmapkey');
if(!$key){
$key = $this->rock->jm->base64decode('NTVRQlotSkdZTE8tQkFMV1gtU1pFNEgtNVNWNUstSkNGVjc:');
}else{
$this->mapqq_key = $key;
}
//$this->mapqq_key = $key;
return $key;
}
private function mapqqerr($msg=''){
if(!$msg)$msg = '无法访问腾讯地图接口';
return '{"status":201,"message":"'.$msg.'"}';;
}
//获取位置
public function gcoder($lat, $lng)
{
if(!$this->mapqq_key){
$barr = c('xinhuapi')->getdata('mapqq','gcoder', array(
'lat' => $lat,
'lng' => $lng,
));
if(!$barr['success'])return $this->mapqqerr($barr['msg']);
return $barr['data'];
}else{
$url = 'https://apis.map.qq.com/ws/geocoder/v1?key='.$this->mapqq_key.'';
$url.= '&get_poi=0';//不返回周边位置
$url.= '&location='.$lat.','.$lng.'';
$url.= '&poi_options=radius=200';
$result = c('curl')->getcurl($url);
if(!$result)$result = $this->mapqqerr();
return $result;
}
}
//转坐标
public function translate($lat, $lng, $type)
{
if(!$this->mapqq_key){
$barr = c('xinhuapi')->getdata('mapqq','translate', array(
'lat' => $lat,
'lng' => $lng,
'type'=> $type
));
if(!$barr['success'])return $this->mapqqerr($barr['msg']);
return $barr['data'];
}else{
$url = 'https://apis.map.qq.com/ws/coord/v1/translate?key='.$this->mapqq_key.'';
$url.= '&locations='.$lat.','.$lng.'';
$url.= '&type='.$type.'';
$result = c('curl')->getcurl($url);
if(!$result)$result = $this->mapqqerr();
return $result;
}
}
//搜索$key 是base64
public function suggestion($keyword)
{
if(!$this->mapqq_key){
$barr = c('xinhuapi')->getdata('mapqq','suggestion', array(
'keyword' => $keyword,
));
if(!$barr['success'])return $this->mapqqerr($barr['msg']);
return $barr['data'];
}else{
$keyword = $this->rock->jm->base64decode($keyword);
$keyarr = explode(' ', $keyword);
$url = 'https://apis.map.qq.com/ws/place/v1/suggestion?key='.$this->mapqq_key.'';
$url .= '&keyword='.$keyarr[0].'';
if(isset($keyarr[1]))$url.= '&region='.$keyarr[1].'';
$result = c('curl')->getcurl($url);
if(!$result)$result = $this->mapqqerr();
return $result;
}
}
}

View File

@@ -30,10 +30,12 @@ js.dw = {
ondwcall:function(){},
ondwstart:function(){},
ondwerr:function(){},
successbo:false,
ondwwait:function(){return false},
start:function(){
if(this.dwbool)return;
this.successbo = false;
this.dwbool = true;
this.chaoshi();
this.ondwstart(js.jssdkstate);
@@ -158,10 +160,9 @@ js.dw = {
baiduLocationSuc:function(ret,err){
if(ret.status && ret.latitude){
this.wait('定位成功,获取位置信息...');
this.wait('百度定位成功,获取位置信息...');
if(!ret.accuracy)ret.accuracy = 200;
var center = new qq.maps.LatLng(ret.latitude,ret.longitude);
this.translate(center, ret.accuracy, 3);
this.translate(ret.latitude, ret.longitude, ret.accuracy, 3);
}else{
this.dwshibai('定位失败检查是否给APP开定位权限');
}
@@ -200,83 +201,137 @@ js.dw = {
break;
}
if(NOWURL.substr(0,5)!='https')msg+='必须使用https访问';
js.msg('msg', msg);
js.dw.ondwerr(msg);
js.dw.timeerrbo = setTimeout(function(){
if(!js.dw.successbo){
js.msg('msg', msg);
js.dw.ondwerr(msg);
}else{
js.msg();
}
},1000);
},
showPosition:function(position){
js.dw.successbo = true;
clearTimeout(js.dw.timeerrbo);
js.msg();
var res = position.coords;
var latitude = res.latitude;
var longitude = res.longitude;
var accuracy = parseFloat(res.accuracy);
var center = new qq.maps.LatLng(parseFloat(latitude), parseFloat(longitude));
js.dw.translate(center, accuracy, 1);
js.dw.translate(latitude,longitude, accuracy, 1);
},
//坐标转化type1原始
translate:function(center, accuracy, type){
qq.maps.convertor.translate(center,type,function(res){
var latitude = res[0].lat;
var longitude = res[0].lng;
if(latitude==0 || latitude==0){
js.dw.dwshibai('无法获取位置信息失败');
}else{
js.dw.dwsuccess({
latitude:latitude,
longitude:longitude,
accuracy:accuracy
});
translate:function(lat, lng,juli, type){
$.ajax({
url:'api.php?m=kaoqin&a=translate',
data:{
lat:lat,
lng:lng,
type:type
},
dataType:'json',
success:function(ret){
if(ret.status==0){
js.dw.dwsuccess({
latitude:ret.locations[0].lat,
longitude:ret.locations[0].lng,
accuracy:juli
});
}else{
js.dw.dwshibai('无法转化坐标('+lat+','+lng+'),'+type+'<br>'+ret.status+','+ret.message+'');
}
},
error:function(){
js.dw.dwshibai('无法转化坐标'+type+'');
}
});
});
},
//搜索位置
//搜索位置,2024-07-19改
geocoder:function(lat,lng, jid){
if(!this.geocoderObj)this.geocoderObj = new qq.maps.Geocoder();
var center = new qq.maps.LatLng(lat, lng);
this.geocoderObj.getAddress(center);
this.geocoderObj.setComplete(function(result){
var address = result.detail.address;
var dzarr = result.detail.addressComponents;
//address = ''+dzarr.province+''+dzarr.city+''+dzarr.district+''+dzarr.street+'';
//if(dzarr.streetnumber)address+=dzarr.streetnumber;
//范围内地址
var near = result.detail.nearPois,dist = 500,naddress,addressinfo;
for(var i=0;i<near.length;i++){
if(near[i].dist<dist){
dist = near[i].dist;
naddress = ''+near[i].name+'('+near[i].address+')';
var errcan = {
latitude:lat,
longitude:lng,
accuracy:jid,
address:'未知位置',
addressinfo:'定位成功未知位置',
detail:'未知位置'
}
$.ajax({
url:'api.php?m=kaoqin&a=gcoder',
data:{
lat:lat,
lng:lng,
},
dataType:'json',
success:function(ret){
if(ret.status==0 && ret.result){
var result = ret.result,addressinfo;
var address= result.formatted_addresses.recommend;
if(!address)address = result.address;
addressinfo = ''+address;
if(jid>0)addressinfo+='(精确'+js.float(jid,1)+'米)';
js.msg();
errcan.address = address;
errcan.addressinfo = addressinfo;
errcan.detail = result;
js.dw.ondwcall(errcan);
}else{
if(ret.message)js.msg('msg', ret.status+':'+ret.message);
js.dw.ondwcall(errcan);
}
},
error:function(){
js.dw.ondwcall(errcan);
}
if(dist<500)address = naddress;
addressinfo = ''+address;
if(jid>0)addressinfo+='(精确'+jid+'米)';
js.msg();
js.dw.ondwcall({
latitude:lat,
longitude:lng,
accuracy:jid,
address:address,
addressinfo:addressinfo,
detail:result.detail,
center:center
});
});
this.geocoderObj.setError(function() {
//var msg = '无法获取位置';js.msg('msg', msg);js.dw.ondwerr(msg);
js.msg();
js.dw.ondwcall({
latitude:lat,
longitude:lng,
accuracy:jid,
address:'未知位置',
addressinfo:'定位成功未知位置',
detail:'未知位置',
center:center
},
//计算距离,old
matrix:function(lat,lng, kqarr, funs){
var fromstr = ''+lat+','+lng+'',tostr='';
for(var i=0;i<kqarr.length;i++){
if(i>0)tostr+=';';
tostr +=''+kqarr[i].location_x+','+kqarr[i].location_y+'';
}
if(fromstr && tostr){
$.ajax({
url:'api.php?m=kaoqin&a=matrix',
data:{
fromstr:fromstr,
tostr:tostr,
},
dataType:'json',
success:function(ret){
if(ret.status==0){
var rows = ret.result.rows[0].elements;
for(var j=0;j<rows.length;j++)kqarr[j].kqjuli = rows[j].distance;
funs(kqarr);
}else{
alert('计算距离('+ret.status+'):'+ret.message);
funs(kqarr);
}
},
error:function(e){
alert('接口出错无法计算距离');
funs(kqarr);
}
});
});
}else{
funs(kqarr);
}
},
//计算距离
julisuan:function(lat,lng, kqarr, funs){
var startPoint = new TMap.LatLng(lat, lng);
for(var i=0;i<kqarr.length;i++){
var path = [startPoint , new TMap.LatLng(parseFloat(kqarr[i].location_x), parseFloat(kqarr[i].location_y))];
var distance = TMap.geometry.computeDistance(path);
kqarr[i].kqjuli = parseFloat(distance);
}
funs(kqarr);
}
};

View File

@@ -2358,7 +2358,7 @@ reim.outgroup={
myid:0,
istxs:'',
apiurl:'aHR0cDovL2FwaS5yb2Nrb2EuY29tLw::', //如果不想使用清空这个地址就可以
apiurls:'aHR0cHM6Ly94Y3kucm9ja29hLmNvbS8:', //https使用
apiurls:'aHR0cHM6Ly9maWxlLnJvY2tvYS5jb20veGN5Lw::', //https使用
//apiurl:'aHR0cDovLzE5Mi4xNjguMS4yL2FwcC9yb2NrYXBpLw::',
geturl:function(fx){
if(NOWURL.substr(0,5)=='https')this.apiurl = this.apiurls;

View File

@@ -673,7 +673,7 @@
if(key)key = key.toLowerCase();
if(key!='')for(i=0;i<len;i++){
d1 = a[i];
if(d1.name.indexOf(key)>-1 || d1.name.toLowerCase().indexOf(key)>-1 || d1.value==key || (d1.subname && d1.subname.indexOf(key)>-1)){
if(d1.name)if(d1.name.indexOf(key)>-1 || d1.name.toLowerCase().indexOf(key)>-1 || d1.value==key || (d1.subname && d1.subname.indexOf(key)>-1)){
d.push(d1);
oi++;
if(oi>20)break;//最多显示搜索

View File

@@ -315,9 +315,9 @@ var inputtwo={
//2020-09-02新增地图上选择位置
selectmap:function(sna,snall,fna,iszb){
var hei = winHb()-150;
var url = 'https://map.qq.com/api/js?v=2.exp&libraries=convertor,geometry&key=55QBZ-JGYLO-BALWX-SZE4H-5SV5K-JCFV7&callback=c.showmap';
var url = 'https://map.qq.com/api/js?v=2.exp&key=55QBZ-JGYLO-BALWX-SZE4H-5SV5K-JCFV7&callback=c.showmap';
js.tanbody('selectmap','选择['+fna+']',winWb()-((ismobile==1)?5:80),hei,{
html:'<div style="padding:5px"><input onkeyup="if(event.keyCode==13)c.selectmapsou(this)" type="text" placeholder="输入城市区号来定位如0592" class="inputs"></div><div id="selectmap" style="height:'+(hei-20)+'px;overflow:hidden"></div>',
html:'<div style="padding:5px"><input onkeyup="if(event.keyCode==13)c.selectmapsou(this)" type="text" placeholder="输入格式(地址 城市)如:鼓浪屿 厦门" class="inputs"></div><div id="selectmap" style="height:'+(hei-20)+'px;overflow:hidden"></div>',
btn:[{text:'确定'}]
});
this.selectmapdata={sna:sna,snall:snall};
@@ -328,6 +328,9 @@ var inputtwo={
c.selectmapque();
js.tanclose('selectmap');
});
$('#selectmap_btn1').click(function(){
c.selectmapdinwei();
});
},
selectmapclear:function(sna,snall){
if(form(sna))form(sna).value='';
@@ -353,13 +356,19 @@ var inputtwo={
},
selectmapsou:function(o1){
var val = o1.value;
if(!val || isNaN(val))return;
if(!this.citylocation)this.citylocation = new qq.maps.CityService({
complete : function(result){
map.setCenter(result.detail.latLng);
if(!val)return;
js.msg('wait','搜索中...');
js.ajax('api.php?m=kaoqin&a=suggestion',{key:jm.base64encode(val)},function(ret){
js.msg();
if(ret.status==0){
var res = ret.data[0];
var center = new qq.maps.LatLng(res.location.lat,res.location.lng);
map.setCenter(center);
marker.setPosition(center);
}else{
js.msg('msg',ret.message);
}
});
this.citylocation.searchCityByAreaCode(val);
},'get,json');
},
selectmapque:function(){
var as = marker.getPosition();
@@ -374,12 +383,21 @@ var inputtwo={
},
//搜索位置
geocoder:function(lat,lng, jid){
if(!this.geocoderObj){
this.geocoderObj = new qq.maps.Geocoder();
this.geocoderObj.setComplete(function(result){
js.ajax('api.php?m=kaoqin&a=gcoder',{lat:lat,lng:lng},function(ret){
js.msg();
if(ret.status==0){
var result = ret.result;
var address= result.formatted_addresses.recommend;
var d1 = c.selectmapdata;
d1.address = result.detail.address;
d1.addressinfo = result.detail.addressComponents;
d1.address = address;
var info = result.address_component;
d1.addressinfo = {
province:info.province,
city:info.city,
town:info.district,
streetNumber:info.street_number,
street:info.street
};
js.msg();
var sna = d1.sna;
if(form(sna))form(sna).value=d1.address+'|'+d1.lat+','+d1.lng+'';
@@ -389,13 +407,10 @@ var inputtwo={
form(sna).value=d1.address;
}
c.onselectmap(sna,d1);
});
this.geocoderObj.setError(function() {
js.msg('msg','搜索地址失败');
});
}
var center = new qq.maps.LatLng(lat, lng);
this.geocoderObj.getAddress(center);
}else{
js.msg('msg',ret.message);
}
},'get,json');
},
xuanfile:function(fid,lx,fname,o1){
if(!fname)fname='';

View File

@@ -23,8 +23,8 @@ class mode_gongClassAction extends inputAction{
//提交投票
public function submittoupiaoAjax()
{
$mid = $this->get('mid');
$sid = $this->get('sid');
$mid = (int)$this->get('mid');
$sid = c('check')->onlynumber($this->get('sid'));
$modenum = $this->get('modenum');
$this->flow = m('flow')->initflow($modenum);

View File

@@ -292,7 +292,7 @@ class mode_knowtraimClassAction extends inputAction{
//标识可重新考试
public function biaoshiAjax()
{
$fid = $this->post('fid','0');
$fid = c('check')->onlynumber($this->post('fid','0'));
m('knowtrais')->update(array(
'kssdt' => '',
'ksedt' => '',

View File

@@ -131,8 +131,8 @@ class mode_userClassAction extends inputAction{
public function editsuperAjax()
{
$sna = $this->post('sna');
$sid = $this->post('sid');
$xid = $this->post('xid');
$sid = c('check')->onlynumber($this->post('sid'));
$xid = c('check')->onlynumber($this->post('xid'));
m('admin')->update(array(
'superid' => $sid,
'superman' => $sna,

View File

@@ -10,7 +10,7 @@ Target Server Type : MYSQL
Target Server Version : 50610
File Encoding : 65001
Date: 2024-05-04 17:50:20
Date: 2024-07-31 12:52:18
*/
SET FOREIGN_KEY_CHECKS=0;
@@ -71,14 +71,14 @@ CREATE TABLE `xinhu_admin` (
-- ----------------------------
-- Records of xinhu_admin
-- ----------------------------
INSERT INTO `xinhu_admin` VALUES ('1', 'A001', 'admin', '管理员', 'e10adc3949ba59abbe56e057f20f883e', '5791', '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', '5900', '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', '193', '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', '342', '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', '528', '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 ('4', null, 'daqiao', '大乔', 'e10adc3949ba59abbe56e057f20f883e', '530', '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', '486', '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', '267', '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', '333', '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', '430', '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');
INSERT INTO `xinhu_admin` VALUES ('6', null, 'zhangfei', '张飞', 'e10adc3949ba59abbe56e057f20f883e', '277', '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', '343', '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', '432', '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');
-- ----------------------------
-- Table structure for `xinhu_assetm`
@@ -375,8 +375,8 @@ CREATE TABLE `xinhu_chargems` (
-- ----------------------------
-- Records of xinhu_chargems
-- ----------------------------
INSERT INTO `xinhu_chargems` VALUES ('1', '0', '1', '2016-12-28 15:24:19', '2024-05-04 17:50:07', null, '1');
INSERT INTO `xinhu_chargems` VALUES ('2', '1', '1', '2016-12-28 15:21:14', '2024-05-04 17:50:07', null, '0');
INSERT INTO `xinhu_chargems` VALUES ('1', '0', '1', '2016-12-28 15:24:19', '2024-07-31 12:51:33', null, '1');
INSERT INTO `xinhu_chargems` VALUES ('2', '1', '1', '2016-12-28 15:21:14', '2024-07-31 12:51:33', null, '0');
-- ----------------------------
-- Table structure for `xinhu_city`
@@ -1185,7 +1185,7 @@ CREATE TABLE `xinhu_flow_bill` (
KEY `table` (`table`,`mid`) USING BTREE,
KEY `status` (`status`),
KEY `modeid` (`modeid`)
) ENGINE=MyISAM AUTO_INCREMENT=399 DEFAULT CHARSET=utf8 COMMENT='流程单据';
) ENGINE=MyISAM AUTO_INCREMENT=400 DEFAULT CHARSET=utf8 COMMENT='流程单据';
-- ----------------------------
-- Records of xinhu_flow_bill
@@ -1439,10 +1439,10 @@ CREATE TABLE `xinhu_flow_course` (
-- ----------------------------
-- Records of xinhu_flow_course
-- ----------------------------
INSERT INTO `xinhu_flow_course` VALUES ('1', '0', '0', '5', '上级审核', null, 'superall', null, null, '0', '0', null, null, '2021-09-01 16:12:07', '1', null, '1', null, '0', '0', null, null, null, '2', '0', null, '0', '4', null, null, '0', '0', '0', '0', null, null);
INSERT INTO `xinhu_flow_course` VALUES ('2', '1', '0', '5', '人事审核', null, 'rank', null, '人事主管', '0', '0', null, null, '2018-05-07 09:47:03', '1', null, '1', null, '0', '0', null, null, null, '0', '0', '0', '0', '1', null, null, '0', '0', '0', '0', null, null);
INSERT INTO `xinhu_flow_course` VALUES ('1', '0', '0', '5', '上级审核', null, 'super', null, null, '0', '0', null, null, '2024-06-22 16:54:28', '1', null, '1', null, '0', '0', null, null, null, '2', '0', null, '0', '4', null, null, '0', '0', '0', '0', null, null);
INSERT INTO `xinhu_flow_course` VALUES ('2', '1', '0', '5', '人事审核', null, 'rank', null, '人事主管', '0', '0', null, null, '2024-06-22 16:54:23', '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 ('3', '0', '0', '6', '上级审核', null, 'super', null, null, '0', '0', null, null, '2016-07-02 22:25:29', '1', null, '1', null, '0', '0', null, null, null, '0', '0', '0', '0', '1', null, null, '0', '0', '0', '0', null, null);
INSERT INTO `xinhu_flow_course` VALUES ('4', '2', '0', '5', '总经理审核', null, 'user', '5', '磐石', '0', '2', null, '超过3天24小时', '2016-09-25 14:53:34', '1', null, '1', null, '0', '0', null, null, null, '0', '0', '0', '0', '1', null, null, '0', '0', '0', '0', null, null);
INSERT INTO `xinhu_flow_course` VALUES ('4', '2', '0', '5', '总经理审核', null, 'user', '5', '磐石', '0', '2', null, '超过3天24小时', '2024-06-22 16:54:33', '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 ('5', '0', '0', '23', '上级审核', null, 'super', null, null, '0', '0', null, null, '2016-08-27 08:46:27', '1', null, '1', null, '0', '0', null, null, null, '0', '0', '0', '0', '1', null, null, '0', '0', '0', '0', null, null);
INSERT INTO `xinhu_flow_course` VALUES ('6', '0', '0', '24', '行政发放', null, 'user', '4', '大乔', '0', '0', null, null, '2017-08-10 11:42:24', '1', '发放,驳回|red', '1', null, '0', '0', null, null, null, '0', '0', '0', '0', '1', null, null, '0', '0', '0', '0', null, null);
INSERT INTO `xinhu_flow_course` VALUES ('7', '0', '0', '11', '上级审批', null, 'super', null, null, '0', '0', null, null, '2016-09-02 17:36:36', '1', null, '1', null, '0', '0', null, null, null, '0', '0', '0', '0', '1', null, null, '0', '0', '0', '0', null, null);
@@ -3007,7 +3007,7 @@ CREATE TABLE `xinhu_flow_log` (
`iszb` tinyint(1) DEFAULT '0' COMMENT '是否转办记录',
PRIMARY KEY (`id`),
KEY `table` (`table`,`mid`)
) ENGINE=MyISAM AUTO_INCREMENT=4934 DEFAULT CHARSET=utf8 COMMENT='单据操作记录';
) ENGINE=MyISAM AUTO_INCREMENT=4941 DEFAULT CHARSET=utf8 COMMENT='单据操作记录';
-- ----------------------------
-- Records of xinhu_flow_log
@@ -3547,6 +3547,7 @@ INSERT INTO `xinhu_flow_log` VALUES ('4923', 'flow_element', '1816', '1', null,
INSERT INTO `xinhu_flow_log` VALUES ('4929', 'flow_element', '1817', '1', null, '提交', '0', '2024-05-04 17:22:12', null, '127.0.0.1', 'Chrome', '管理员', '1', '159', null, '1', '0', null, '0');
INSERT INTO `xinhu_flow_log` VALUES ('4930', 'flow_element', '1818', '1', null, '提交', '0', '2024-05-04 17:23:28', null, '127.0.0.1', 'Chrome', '管理员', '1', '159', null, '1', '0', null, '0');
INSERT INTO `xinhu_flow_log` VALUES ('4931', 'flow_element', '1819', '1', null, '提交', '0', '2024-05-04 17:23:59', null, '127.0.0.1', 'Chrome', '管理员', '1', '159', null, '1', '0', null, '0');
INSERT INTO `xinhu_flow_log` VALUES ('4939', 'flow_remind', '16', '1', null, '提交', '0', '2024-07-28 16:44:41', null, '127.0.0.1', 'Chrome', '管理员', '1', '61', null, '1', '0', null, '0');
-- ----------------------------
-- Table structure for `xinhu_flow_menu`
@@ -3692,7 +3693,7 @@ CREATE TABLE `xinhu_flow_remind` (
UNIQUE KEY `table` (`uid`,`table`,`mid`) USING BTREE,
UNIQUE KEY `uid` (`uid`,`modenum`,`mid`),
KEY `table_2` (`table`,`mid`)
) ENGINE=MyISAM AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COMMENT='单据提醒设置表';
) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='单据提醒设置表';
-- ----------------------------
-- Records of xinhu_flow_remind
@@ -3703,6 +3704,7 @@ INSERT INTO `xinhu_flow_remind` VALUES ('8', '2017-09-03 20:11:29', null, '1', '
INSERT INTO `xinhu_flow_remind` VALUES ('10', '2018-12-04 09:23:47', null, '1', '2020-09-01 17:57:41', '管理员', 'flowtodo', 'flow_todo', '11', '每天 08:00:00', '物品库存预警小于10提醒。', 'd', '08:00:00', '0', null, null, '1');
INSERT INTO `xinhu_flow_remind` VALUES ('11', '2019-12-02 15:43:47', null, '1', '2021-04-13 19:37:54', '管理员', 'flowtodo', 'flow_todo', '16', '每天 19:40:00', '客户“{custname}”待收金额:{money}', 'd', '19:40:00', '1', null, null, '1');
INSERT INTO `xinhu_flow_remind` VALUES ('12', '2020-10-01 12:14:50', null, '1', '2020-10-13 15:42:49', '管理员', 'flowtodo', 'flow_todo', '20', '每天 15:45:45', '{mingc}将在{etime}到期', 'd', '15:45:45', '1', null, null, '1');
INSERT INTO `xinhu_flow_remind` VALUES ('16', '2024-07-28 16:44:24', null, '1', '2024-07-28 16:44:41', '管理员', 'work', 'work', '11', '仅一次 2024-07-28 16:50:00', '任务:[bug]测试任务,分配给:信呼客服', 'o', '2024-07-28 16:50:00', '1', 'u1', '管理员', '1');
-- ----------------------------
-- Table structure for `xinhu_flow_set`
@@ -3754,7 +3756,7 @@ CREATE TABLE `xinhu_flow_set` (
-- ----------------------------
-- Records of xinhu_flow_set
-- ----------------------------
INSERT INTO `xinhu_flow_set` VALUES ('1', '通知公告', 'gong', '1', 'infor', null, '[{typename}]{title}', 'title:[{typename}]{title}\noptdt:{optdt}', '行政', '1', '0', '0', '0', 'XA-Ymd-', '0', 'all', '全体人员', '2024-03-13 16:52:47', '1', '1', 'infors', '投票项目', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '1', '1', null, '0');
INSERT INTO `xinhu_flow_set` VALUES ('1', '通知公告', 'gong', '1', 'infor', null, '[{typename}]{title}', 'title:[{typename}]{title}\noptdt:{optdt}', '行政', '1', '0', '0', '0', 'XA-Ymd-', '0', 'all', '全体人员', '2024-06-20 16:43:52', '1', '1', 'infors', '投票项目', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '1', '1', null, '0');
INSERT INTO `xinhu_flow_set` VALUES ('2', '会议', 'meet', '2', 'meet', '`type` in(0,1)', '[{hyname}]{title},{startdt}→{enddt}', 'title:{title}\ncont:会议室:{hyname}[br]发起人:{optname}[br]参会人:{joinname}\noptdt:{startdt}→{enddt}', '行政', '1', '0', '0', '0', 'XB-Ymd-', '0', 'all', '全体人员', '2019-06-03 13:54:09', '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 ('3', '工作日报', 'daily', '21', 'daily', null, '[{optname}]{content}', 'title:[{optname}]{dt}的{type}\noptdt:{optdt}\ncont:{content}', '基础', '1', '0', '0', '0', 'XC-Ymd-', '0', 'all', '全体人员', '2021-05-08 09:23:14', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '1', '0', '1', '1', '0', '1', null, '0');
INSERT INTO `xinhu_flow_set` VALUES ('4', '任务', 'work', '23', 'work', null, '[{type}]{title},分配给:{dist}', 'title:{title}\noptdt:{optdt}\ncont:类型:{type}[br]等级:{grade}[br]分配给:{dist}[br]创建者:{optname}[br]截止时间:{enddt}', '基础', '1', '0', '0', '0', 'XW-Ymd-', '1', 'all', '全体人员', '2021-04-01 10:18:34', '1', '1', null, null, '待?分配,已完成,无法完成,待?执行,?执行中,已作废,待?验证|blue', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0');
@@ -3765,7 +3767,7 @@ INSERT INTO `xinhu_flow_set` VALUES ('8', '销售机会', 'custsale', '52', 'cus
INSERT INTO `xinhu_flow_set` VALUES ('9', '物品', 'goods', '80', 'goods', null, '名称:{name},编号:{num}', 'title:{name}\ncont:编号:{num}[br]规格:{guige}[br]型号:{xinghao}[br]库存:{stock}{unit}', '物品', '1', '0', '0', '0', 'CC-Ymd-', '0', 'all', '全体人员', '2020-05-30 18:50:17', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0');
INSERT INTO `xinhu_flow_set` VALUES ('11', '费用报销', 'finfybx', '90', 'fininfom', 'type=0', '报销:{money},收款人:{fullname}', null, '财务', '1', '0', '0', '0', 'FA-Ymd-', '1', 'all', '全体人员', '2019-06-07 14:16:05', '1', '1', 'fininfos', '报销明细', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0');
INSERT INTO `xinhu_flow_set` VALUES ('10', '用户', 'user', '901', 'admin', null, '{deptallname}{name}', 'title:{name}\ncont:部门:{deptallname}[br]职位:{ranking}[br]电话:{tel}[br]手机:{mobile}[br]邮箱:{email}', '系统', '0', '0', '0', '0', null, '0', 'u1', '管理员', '2019-06-17 09:34:13', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '2', '0', '0', '0', '0', '0', '0', '0', null, '0');
INSERT INTO `xinhu_flow_set` VALUES ('12', '日程', 'schedule', '24', 'schedule', null, '{title}', 'title:{title}\noptdt:{optdt}\ncont:时间:{startdt}[br]截止:{enddt}[br]说明:{explain}[br]重复:{rate}{rateval}[br]提醒:{txsj}', '基础', '1', '0', '0', '0', null, '0', 'all', '全体人员', '2019-06-03 17:12:10', '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 ('12', '日程', 'schedule', '24', 'schedule', null, '{title}', 'title:{title}\noptdt:{optdt}\ncont:时间:{startdt}[br]截止:{enddt}[br]说明:{explain}[br]重复:{rate}[br]提醒:{txsj}', '基础', '1', '0', '0', '0', null, '0', 'all', '全体人员', '2024-07-10 16:47:04', '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 ('13', '部门', 'dept', '902', 'dept', null, '{name}', null, '系统', '0', '0', '0', '0', null, '0', 'u1', '管理员', '2019-06-03 17:25:41', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0');
INSERT INTO `xinhu_flow_set` VALUES ('14', '系统组', 'group', '903', 'group', null, null, null, '系统', '0', '0', '0', '0', null, '0', 'u1', '管理员', '2016-08-13 17:47:58', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0');
INSERT INTO `xinhu_flow_set` VALUES ('15', '计划任务', 'task', '904', 'task', null, null, null, '系统', '0', '0', '0', '0', null, '0', 'u1', '管理员', '2016-08-13 17:23:01', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0');
@@ -5405,13 +5407,13 @@ CREATE TABLE `xinhu_im_history` (
-- ----------------------------
-- Records of xinhu_im_history
-- ----------------------------
INSERT INTO `xinhu_im_history` VALUES ('1', 'group', '2', '2', '8', '2024-05-04 17:42:32', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
INSERT INTO `xinhu_im_history` VALUES ('2', 'group', '2', '7', '8', '2024-05-04 17:42:32', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
INSERT INTO `xinhu_im_history` VALUES ('3', 'group', '2', '6', '8', '2024-05-04 17:42:32', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
INSERT INTO `xinhu_im_history` VALUES ('4', 'group', '2', '8', '8', '2024-05-04 17:42:32', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
INSERT INTO `xinhu_im_history` VALUES ('5', 'group', '2', '5', '8', '2024-05-04 17:42:32', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
INSERT INTO `xinhu_im_history` VALUES ('6', 'group', '2', '1', '8', '2024-05-04 17:42:32', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
INSERT INTO `xinhu_im_history` VALUES ('7', 'group', '2', '4', '8', '2024-05-04 17:42:32', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
INSERT INTO `xinhu_im_history` VALUES ('1', 'group', '2', '2', '8', '2024-07-31 12:45:17', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
INSERT INTO `xinhu_im_history` VALUES ('2', 'group', '2', '7', '8', '2024-07-31 12:45:17', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
INSERT INTO `xinhu_im_history` VALUES ('3', 'group', '2', '6', '8', '2024-07-31 12:45:17', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
INSERT INTO `xinhu_im_history` VALUES ('4', 'group', '2', '8', '8', '2024-07-31 12:45:17', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
INSERT INTO `xinhu_im_history` VALUES ('5', 'group', '2', '5', '8', '2024-07-31 12:45:17', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
INSERT INTO `xinhu_im_history` VALUES ('6', 'group', '2', '1', '8', '2024-07-31 12:45:17', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
INSERT INTO `xinhu_im_history` VALUES ('7', 'group', '2', '4', '8', '2024-07-31 12:45:18', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
-- ----------------------------
-- Table structure for `xinhu_im_menu`
@@ -5663,7 +5665,7 @@ CREATE TABLE `xinhu_im_mess` (
-- ----------------------------
-- Records of xinhu_im_mess
-- ----------------------------
INSERT INTO `xinhu_im_mess` VALUES ('1', '2024-05-04 17:42:32', '1', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '8', '2', '2,7,6,8,5,1,4', 'group', null, '0', null);
INSERT INTO `xinhu_im_mess` VALUES ('1', '2024-07-31 12:45:17', '1', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '8', '2', '2,7,6,8,5,1,4', 'group', null, '0', null);
-- ----------------------------
-- Table structure for `xinhu_im_messzt`
@@ -5743,7 +5745,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.6.3版本', '2024-05-04 17:09:14', '通知公告', '<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, '信呼开发团队', '2024-05-04', '1', 'images/logo.png', '0', '0', '0', '1', null, null, '1', '1', '0');
INSERT INTO `xinhu_infor` VALUES ('6', '信呼更新发布V2.6.4版本', '2024-07-31 12:27:30', '通知公告', '<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, '信呼开发团队', '2024-07-31', '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');
-- ----------------------------
@@ -6020,7 +6022,7 @@ CREATE TABLE `xinhu_kqdw` (
-- ----------------------------
-- Records of xinhu_kqdw
-- ----------------------------
INSERT INTO `xinhu_kqdw` VALUES ('1', '厦门默认位置', '24.528153', '118.167806', '厦门', '0', '12', null, '1', null, '0');
INSERT INTO `xinhu_kqdw` VALUES ('1', '厦门默认位置', '24.528153', '118.167806', '厦门', '100', '12', null, '1', null, '0');
-- ----------------------------
-- Table structure for `xinhu_kqerr`
@@ -6079,7 +6081,7 @@ CREATE TABLE `xinhu_kqinfo` (
PRIMARY KEY (`id`),
KEY `uid` (`uid`),
KEY `kind` (`kind`)
) ENGINE=MyISAM AUTO_INCREMENT=169 DEFAULT CHARSET=utf8 COMMENT='请假条加班单';
) ENGINE=MyISAM AUTO_INCREMENT=170 DEFAULT CHARSET=utf8 COMMENT='请假条加班单';
-- ----------------------------
-- Records of xinhu_kqinfo

View File

@@ -21,7 +21,7 @@
<div id="step1" style="padding:20px;line-height:35px;font-size:16px;display:">
<b>安装使用前必读:</b><br>
<p>我们网站:<?=URLY?></p>
<p>产品名称:信呼</p>
<p>产品名称:信呼OA</p>
<p>源码仅供学习开发使用,禁止原封不动出售。</p>
<p style="color:red">版权来自:信呼开发团队,二次开发请标识来自《信呼》。</p>

View File

@@ -94,16 +94,23 @@ class flowClassAction extends Action
$num = strtolower($cans['num']);
$cobj= c('check');
if(!$cobj->iszgen($tab))return '表名格式不对';
$bobg = preg_replace("/[a-zA-Z0-9_]/",'', $tab);
if($bobg)return '表名禁用:'.$bobg.'';
if($cobj->isnumber($num))return '编号不能为数字';
if(strlen($num)<4)return '编号至少要4位';
if($cobj->isincn($num))return '编号不能包含中文';
if(contain($num,'-'))return '编号不能有-';
$bobg = preg_replace("/[a-zA-Z0-9_]/",'', $num);
if($bobg)return '模块编号禁用:'.$bobg.'';
if($cans['isflow']>0 && isempt($cans['sericnum'])) return '有流程必须有写编号规则,请参考其他模块填写';
$rows['num']= $this->rock->xssrepstr($num);
$rows['name']= $name;
if(!isempt($tabs)){
if($cobj->isincn($tabs))return '多行子表名不能包含中文';
$bobg = preg_replace("/[a-zA-Z0-9_,]/",'', $tabs);
if($bobg)return '子表名禁用:'.$bobg.'';
$tabsa = explode(',', $tabs);
$namea = explode(',', $names);
foreach($tabsa as $k1=>$tabsas){

View File

@@ -664,7 +664,7 @@ class kaoqinClassAction extends Action
}
if($this->rock->ismobile())$rs['type'] = 1;
$this->smartydata['rs'] = $rs;
$this->smartydata['qqmapkey'] = getconfig('qqmapkey','55QBZ-JGYLO-BALWX-SZE4H-5SV5K-JCFV7');
$this->smartydata['qqmapkey'] = c('mapqq')->getkey();
}
public function locationchangeAction()
@@ -677,7 +677,7 @@ class kaoqinClassAction extends Action
$this->assign('location_x', $location_x);
$this->assign('location_y', $location_y);
$this->assign('scale', $scale);
$this->smartydata['qqmapkey'] = getconfig('qqmapkey','55QBZ-JGYLO-BALWX-SZE4H-5SV5K-JCFV7');
$this->smartydata['qqmapkey'] = c('mapqq')->getkey();
}
//删除打卡记录

View File

@@ -14,6 +14,8 @@ body, button, input, select, textarea {
</style>
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=<?=$da['qqmapkey']?>"></script>
<script src="js/jquery.js"></script>
<script src="js/base64-min.js"></script>
<script>
var callback = '<?=$callback?>'; //回调函数
@@ -59,22 +61,41 @@ function qudong(){
}
var citylocation = false;
function dingwei(){
if(!citylocation)citylocation = new qq.maps.CityService({
complete : function(result){
map.setCenter(result.detail.latLng);
}
});
var quhao = prompt('请输入城市区号如0592');
if(isNaN(quhao)){
if(quhao)citylocation.searchLocalCity();
}else{
if(quhao)citylocation.searchCityByAreaCode(quhao);
var key = prompt('请输入格式(地址 城市)如:鼓浪屿 厦门');
if(key){
$.ajax({
url:'api.php?m=kaoqin&a=suggestion',
data:{key:jm.base64encode(key)},
dataType:'json',
success:function(ret){
if(ret.status==0){
var res = ret.data[0];
var center = new qq.maps.LatLng(res.location.lat,res.location.lng);
map.setCenter(center);
marker.setPosition(center);
showinfoWin(res.title+'<br>'+res.address);
}else{
alert(ret.message);
}
}
});
}
}
var infoWin = false;
function showinfoWin(msg){
if(!infoWin){
infoWin = new qq.maps.InfoWindow({
map: map
});
infoWin.open();
}
infoWin.setContent(msg);
infoWin.setPosition(map.getCenter());
}
</script>
</head>
<body onload="init()">
<div style="position:absolute;top:0px;left:40%;z-index:99;padding:5px 20px; background-color:white"><button style="background:#1389D3;color:white;border:none;padding:5px 8px;cursor:pointer" onclick="qudong()">确定</button>&nbsp;点地图确定位置,<a href="javascript:;" onclick="dingwei()">[定位]</a></div>
<div style="position:absolute;top:0px;left:40%;z-index:99;padding:5px 20px; background-color:white"><button style="background:#1389D3;color:white;border:none;padding:5px 8px;cursor:pointer" onclick="qudong()">确定</button>&nbsp;点地图确定位置,<a href="javascript:;" onclick="dingwei()">[定位搜索]</a></div>
<div style="width:100%;height:100%" id="container"></div>
</body>
</html>

View File

@@ -51,4 +51,26 @@ class kaoqinClassAction extends apiAction
$this->showreturn($barr);
}
/**
* 腾讯地图地址解析api.php?m=kaoqin&a=gcoder
*/
public function gcoderAction()
{
return c('mapqq')->gcoder($this->get('lat'), $this->get('lng'));
}
//地址转化
public function translateAction()
{
return c('mapqq')->translate($this->get('lat'), $this->get('lng'),(int)$this->get('type'));
}
//搜索
public function suggestionAction()
{
return c('mapqq')->suggestion($this->get('key'));
}
}

View File

@@ -19,6 +19,10 @@ class uploadClassAction extends apiAction
$updir=str_replace('{Year}',date('Y'), $updir);
$updir=str_replace(array('{','}'),'', $updir);
$updir=str_replace(',','|', $updir);
$bobg = preg_replace("/[a-zA-Z0-9_]/",'', $updir);
$bobg = str_replace(array('-','|'),'', $bobg);
if($bobg)exit('stop:'.$bobg.'');
}
$upimg->initupfile($uptypes, ''.UPDIR.'|'.$updir.'', $maxsize);
$upses = $upimg->up('file');
@@ -323,6 +327,7 @@ class uploadClassAction extends apiAction
if(substr($filepath,0,4)!='http' && isempt($filepathout) && !file_exists($filepath))return returnerror('文件不存在了1');
if(c('upfile')->isimg($fileext)){
$data['url'] = m('admin')->getface($filepath);
if(!isempt($filepathout))$data['url'] = $filepathout;
}
//下载
if($type==1){

View File

@@ -11,14 +11,17 @@
<script type="text/javascript" src="js/js.js"></script>
<script type="text/javascript" src="js/jswx.js"></script>
<script type="text/javascript" src="js/base64-min.js"></script>
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&libraries=convertor,geometry&key=<?=$da['qqmapkey']?>"></script>
<script type="text/javascript" src="js/dingwei.js"></script>
<script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.exp&key=<?=$da['qqmapkey']?>&libraries=geometry"></script>
<script type="text/javascript" src="js/dingwei.js?<?=time()?>"></script>
<style>
<?php
$maincolor = getconfig('apptheme','#1389D3');
$maincolora= c('image')->colorTorgb($maincolor);
$maincolors= ''.$maincolora[0].','.$maincolora[1].','.$maincolora[2].'';
echo 'body{--main-color:'.$maincolor.'}';
<?php
$colobj = c('image');
if(method_exists($colobj,'colorTorgb')){
$maincolor = getconfig('apptheme','#1389D3');
$maincolora= $colobj->colorTorgb($maincolor);
$maincolors= ''.$maincolora[0].','.$maincolora[1].','.$maincolora[2].'';
echo 'body{--main-color:'.$maincolor.'}';
}
?>
.weui_tabbar_icon{text-align:center;color:#888888;font-size:20px;}
.weui_tabbar_item{padding-top:2px;margin-bottom:5px;position:relative}
@@ -91,19 +94,19 @@ function showkqrswz(){
}
}
}
if(s=='')s='没设置考勤位置';
if(s!='')s=s.substr(1);
if(s=='')s='<font color=red>没设置考勤位置</font>';
$('#weizhi').html(s);
}
js.dw.ondwwait=function(msg){
latitude = '';
//latitude = '';
$('#dwshow').html('<img src="images/loadings.gif" height="14px" align="absmiddle"> '+msg+'');
return true;
}
js.dw.ondwerr=function(msg){
latitude = '';
//latitude = '';
$('#dwshow').html(''+msg+',<a href="javascript:;" onclick="js.dw.start()">[在定位]</a>');
}
@@ -113,28 +116,26 @@ js.dw.ondwcall = function(res){
longitude = res.longitude;
accuracy = res.accuracy;
label = res.address;
var center = res.center;
$('#dwshow').html(''+res.addressinfo+',<a href="javascript:;" onclick="js.dw.start()">[更新]</a>');
var i,kqrsa,enddt,juli;
addbo = true;//可以添加记录
for(i=0;i<kqallrs.length;i++){
kqrsa = kqallrs[i];
enddt = new qq.maps.LatLng(parseFloat(kqrsa.location_x), parseFloat(kqrsa.location_y));
juli = parseInt(qq.maps.geometry.spherical.computeDistanceBetween(center, enddt));
if(juli<0)juli = 0-juli;
if(kqrsa['iswgd']=='1')juli=0; //无固定位置的
kqallrs[i]['kqjuli'] = juli;
kqjuli = juli;
}
if(!isfenwein()){
$('#dkbtnto').addClass('btnwai');
$('#dkbtn').html('外出定位');
}else{
$('#dkbtnto').removeClass('btnwai');
$('#dkbtn').html('第'+dakaci+'次打卡');
}
this.julisuan(latitude,longitude, kqallrs, function(narr){
kqallrs = narr;
for(var i=0;i<narr.length;i++){
var juli = narr[i].kqjuli;
if(juli<0)juli = 0-juli;
if(narr[i]['iswgd']=='1')juli=0; //无固定位置的
kqallrs[i]['kqjuli'] = juli;
kqjuli = juli;
}
if(!isfenwein()){
$('#dkbtnto').addClass('btnwai');
$('#dkbtn').html('外出定位');
}else{
$('#dkbtnto').removeClass('btnwai');
$('#dkbtn').html('第'+dakaci+'次打卡');
}
});
nowtimetime = js.now('time');
}

View File

@@ -12,14 +12,18 @@
<script type="text/javascript" src="js/jswx.js"></script>
<script type="text/javascript" src="js/base64-min.js"></script>
<script type="text/javascript" src="web/res/js/jquery-rockupload.js"></script>
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&libraries=convertor,geometry&key=<?=$da['qqmapkey']?>"></script>
<script type="text/javascript" src="js/dingwei.js"></script>
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=<?=$da['qqmapkey']?>"></script>
<script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.exp&key=<?=$da['qqmapkey']?>&libraries=geometry"></script>
<script type="text/javascript" src="js/dingwei.js?<?=time()?>"></script>
<style>
<?php
$maincolor = getconfig('apptheme','#1389D3');
$maincolora= c('image')->colorTorgb($maincolor);
$maincolors= ''.$maincolora[0].','.$maincolora[1].','.$maincolora[2].'';
echo 'body{--main-color:'.$maincolor.'}';
<?php
$colobj = c('image');
if(method_exists($colobj,'colorTorgb')){
$maincolor = getconfig('apptheme','#1389D3');
$maincolora= $colobj->colorTorgb($maincolor);
$maincolors= ''.$maincolora[0].','.$maincolora[1].','.$maincolora[2].'';
echo 'body{--main-color:'.$maincolor.'}';
}
?>
</style>
<script>
@@ -82,24 +86,25 @@ js.dw.ondwcall = function(res){
latitude = res.latitude;
longitude = res.longitude;
accuracy = res.accuracy;
var center = res.center;
var center = new qq.maps.LatLng(latitude, longitude);
addbo = true;
scale = map.getZoom();
js.setoption('latlongedu',''+latitude+','+longitude+','+scale+'');
map.setCenter(res.center);
map.setCenter(center);
label = res.address;
showinfo(center ,accuracy, '定位成功<br>地址:'+res.addressinfo+'');
var i,kqrsa,enddt,juli;
for(i=0;i<kqallrs.length;i++){
kqrsa = kqallrs[i];
enddt = new qq.maps.LatLng(parseFloat(kqrsa.location_x), parseFloat(kqrsa.location_y));
juli = parseInt(qq.maps.geometry.spherical.computeDistanceBetween(center, enddt));
if(juli<0)juli = 0-juli;
if(kqrsa['iswgd']=='1')juli=0; //无固定位置的
kqallrs[i]['kqjuli'] = juli;
kqjuli = juli;
}
this.julisuan(latitude,longitude, kqallrs, function(narr){
kqallrs = narr;
for(var i=0;i<narr.length;i++){
var juli = narr[i].kqjuli;
if(juli<0)juli = 0-juli;
if(narr[i]['iswgd']=='1')juli=0; //无固定位置的
kqallrs[i]['kqjuli'] = juli;
kqjuli = juli;
}
});
nowtimetime = js.now('time');
}

View File

@@ -170,7 +170,7 @@ class yingClassAction extends ActionNot{
$kqors = m('kqdw')->getrows("id in($dwids) and `id`<>".$kqrs['id']."");
}
$this->assign('kqors', $kqors);
$this->smartydata['qqmapkey'] = getconfig('qqmapkey','55QBZ-JGYLO-BALWX-SZE4H-5SV5K-JCFV7');
$this->smartydata['qqmapkey'] = c('mapqq')->getkey();
}
/**
@@ -195,6 +195,6 @@ class yingClassAction extends ActionNot{
$kqors = m('kqdw')->getrows("id in($dwids) and `id`<>".$kqrs['id']."");
}
$this->assign('kqors', $kqors);
$this->smartydata['qqmapkey'] = getconfig('qqmapkey','55QBZ-JGYLO-BALWX-SZE4H-5SV5K-JCFV7');
$this->smartydata['qqmapkey'] = c('mapqq')->getkey();
}
}