/**
* 功能:
*
*
* @author LJP
* @date 2015/11/03
*/
// 获取用户部门
var dept_id = top.com.sinosoft.lz.system.user.LoginInfo.getDeptids();
// 获取公司
var comp_id = top.com.sinosoft.lz.system.user.LoginInfo.getParent_ids();
// 获取用户Id
var user_id = top.com.sinosoft.lz.system.user.LoginInfo.getUser_id();
// 获取用户角色
var role_id = top.com.sinosoft.lz.system.user.LoginInfo.getRoleids();
// 取得用户真实名字
var realName = top.com.sinosoft.lz.system.user.LoginInfo.getReal_name();
/** 定义变量* */
var _this = this;
_this.listGrid = null;// 数据列表
_this.searchPanel = null; // 查询面板
$queryForm = null;// 查询区域表单
$searchButt = null;// 查询按钮
$more = null; // 更多
_this.loadParams = null;// 列表加载参数
_this.gridData = "";
var nowDate = getDateTime();
var flagggg = true;//判断是否有错
levelData = {
"list" : [ {
"value" : "0",
"key" : "在岗值班"
}, {
"value" : "1",
"key" : "电话值班"
}, {
"value" : "2",
"key" : "应急指挥中心值班"
} ]
};
// 表头1
var mycolumns1 = [
{
display : '开始时间',
name : 'START_TIME_234',
align : 'center',
width : "12%",
editor : {
type : 'date',
dateFmt : "yyyy-MM-dd"
},
render : function(rowdata, rowindex, value, column){
if(/*compareTime(nowDate,rowdata.START_TIME_234)
|| */compareTime(rowdata.START_TIME_234,rowdata.END_TIME_234) && !checkName(value,"sj")){
//flagggg = false;
value = ""+value+"";
}
return value;
}
},
{
display : '结束时间',
name : 'END_TIME_234',
align : 'center',
width : "12%",
//showTitle : true,
editor : {
type : 'date',
dateFmt : "yyyy-MM-dd"
},
render : function(rowdata, rowindex, value, column){
if(compareTime(rowdata.START_TIME_234,rowdata.END_TIME_234) && !checkName(value,"sj")){
//flagggg = false;
value = "
"+value+"
";
}
return value;
}
},
{
display : '值班领导',
name : 'LEADER_NAME_234',
align : 'center',
width : "10%",
isSort : true,
editor : {
type : 'text',
maxlength : 5,
tip : '不超过5个字的中文'
},
render : function(rowdata, rowindex, value, column){
if(!checkName(value,"rm")){
//flagggg = false;
value = ""+value+"
";
}
return value;
}
},
{
display : '领导电话',
name : 'LEADER_TEL_234',
align : 'center',
width : "10%",
// showTitle : true,
editor : {
type : 'text',
inputMode : "numberOnly",
maxlength : 13,
tip : '不超过13个数字'
},
render : function(rowdata, rowindex, value, column){
if(!checkName(value,"dh")){
//flagggg = false;
value = ""+value+"
";
}
return value;
}
},
{
display : '值班人员',
name : 'NAME_234',
align : 'center',
width : "10%",
// showTitle : true,
editor : {
type : 'text',
maxlength : 5,
tip : '不超过5个字的中文'
},
render : function(rowdata, rowindex, value, column){
if(!checkName(value,"rm")){
//flagggg = false;
value = ""+value+"
";
}
return value;
}
},
{
display : '联系电话',
name : 'TELEPHONE_234',
align : 'center',
width : "10%",
editor : {
type : 'text',
inputMode : "numberOnly",
maxlength : 13,
tip : '不超过13个数字'
},
render : function(rowdata, rowindex, value, column){
if(!checkName(value,"dh")){
//flagggg = false;
value = ""+value+"
";
}
return value;
}
},
{
display : '值班方式',
name : 'DUTY_WAY_234',
align : 'center',
width : "10%",
editor : {
type : 'select',
data : levelData,
selWidth : 100
},
render : function(rowdata, rowindex, value, column) {
var thisvalue = value;
for (var i = 0; i < levelData["list"].length; i++) {
if (levelData["list"][i]['value'] == value)
thisvalue = levelData["list"][i]['key'];
}
if(!checkName(thisvalue,"zbfs")){
thisvalue = ""+thisvalue+"
";
}
return thisvalue;
}
},
{
display : '操作',
align : 'center',
width : "15%",
isSort : false,
render : function(rowdata, rowindex, value) {
var h = "";
if (!rowdata._editing) {
h += "修改 ";
h += "删除 ";
} else {
h += "提交 ";
h += "删除 ";
h += "取消 ";
}
return h;
}
} ];
// 表头2
//var mycolumns2 = $.extend([], mycolumns1);
//mycolumns2.splice(0, 0, {
// display : '单位',
// name : 'DEPTNAME',
// align : 'center',
// width : "15%",
// showTitle : true
//});
//// 表头3
//var mycolumns3 = $.extend([], mycolumns1, []);
//mycolumns3.splice(0, 0, {
// display : '日期',
// name : 'GROUPDATE',
// align : 'center',
// width : "15%",
// showTitle : true
//});
//mycolumns3.splice(mycolumns3.length-1,0,{
// display : '单位',
// name : 'DEPTNAME',
// align : 'center',
// width : "15%",
// showTitle : true
//});
/** 私有方法* */
// 导入方法
/*function submitInfo() {
var val = $("#import_report").val();
var end = val.substring(val.indexOf(".") + 1);
if (end == "xls" || end == "xlsx") {
addfn();
} else {
top.Dialog.alert("请导入正确的excel文件");
return;
}
};
function fileToSave($form) {
// showProgressBar("正在提交中...");
// 表单异步提交处理
$form
.ajaxSubmit({
url : $.pathname()
+ "/ws/importGpsUser/BaoGongDianTaskService/importBaoGongDiantask1?report_type=3",
type : 'post',
success : function(responseText, statusText, xhr, $form) {
responseText = eval('(' + responseText + ')');
_this.gridData = responseText;
var data = JSON.stringify(_this.gridData);
// alert(encodeURI(encodeURI(_this.gridData)));
_this.listGrid.setOptions({
"data" : JSON.parse(decodeURI(data))
});
_this.listGrid.resetHeight();
_this.listGrid.loadData();
$("#onviewtype").hide();
setThisHeight();
},
error : function(e) {
$.messager.alert('导入值班信息失败!');
}
});
}
// 导入excle
function addfn() {
var $form = $("#editForm");
fileToSave($form);
};*/
// 切换查看方式
function changeviewtype(type,self) {
$(".viewop").removeClass("viewcurrent");
$(self).addClass("viewcurrent");
var _params = {
task_id : fd_id,
dept : dept_id,
type : type
};
changegrid(type, _params);
}
// 导入后保存
// 新增
function save() {
_this.listGrid.endEdit();
/*if(!flagggg){
top.Dialog.alert("请修改表格中红色的错误数据后,再尝试保存!");
return;
}*/
var urls = $.pathname()
+ "/ws/importGpsUser/BaoGongDianTaskService/saveGridData";
var row = _this.listGrid.getData();
if (row == "") {
top.Dialog.alert("表格中无任何数据,请重新导入!");
return;
}
/*for (var int = 0; int < row.length; int++) {
if(compareTime(nowDate,row[int].START_TIME_234)
|| compareTime(row[int].START_TIME_234,row[int].END_TIME_234)){
top.Dialog.alert("请修改表格中红色的错误数据后,再尝试保存!");
return;
}
}*/
if($(".errorData").text()!=""){
top.Dialog.alert("请修改表格中红色的错误数据后,再尝试保存!");
return;
}
var json = JSON.stringify(row);
$.ajax({
url : urls,
type : 'post',
timeout : 15000,
data : {
json : json,
// user_id:user_id,
comp_id : dept_id,
report_type : '3',
real_name : realName,
task_id : fd_id,
user_id:user_id
},
dataType : 'json',
success : function(data) {
changeDutyStateForTask();
},
error : function(e) {
$.messager.alert('保存失败!', '访问服务失败!', 'error');
}
});
}
function changeDutyStateForTask() {
var url = $.pathname() + '/ws/crud/CRUDService/update/';
var params = {
classid : "234",
FD_OBJECTID610 : fd_id,
HAS_DUTY_610 : "1"
};
$.ajax({
url : url,
type : 'post',
data : params,
dataType : 'json',
success : function(data) {
if (data.Msg.sucsess == true) {
top.Dialog.alert("保存成功");
$("#onviewtype").show();
} else {
top.Dialog.alert("保存失败");
}
},
error : function(e) {
$.messager.alert('保存失败!', '访问服务失败!', 'error');
}
});
}
function changegrid(type, _params) {
$.ajax({
url : $.pathname()
+ '/ws/importGpsUser/BaoGongDianTaskService/quiTaskDutyByType',
type : 'post',
data : _params,
dataType : 'json',
asncy:false,
success : function(data) {
// var griddata = data.griddata;
// var groupdata = data.groupdata;
//alert(JSON.stringify(data));
intgrid(type, data);
},
error : function(e) {
$.messager.alert('查询值班详细失败!', 'error');
}
}).done(function(){
//alert($(window.document.body).height()+","+$(parent.document.body).height()+","+$(parent.parent.document.body).height());
//var pheight = $(parent.document.body).height()>$(window.document.body).height()?$(parent.document.body).height():$(window.document.body).height();
setThisHeight();
//alert($(window.document.body).height()+","+$(parent.document.body).height()+","+$(parent.parent.document.body).height());
});
}
function intgrid(type, griddata) {
if (type == 1) {
/* if(_this.listGrid !=null&&_this.listGrid.options.groupColumnName!="") {
_this.listGrid.setOptions({
groupColumnName:"LEADER_234",
groupColumnDisplay: "值班领导",
groupRender: ""
});
}*/
_this.listGrid = $("#dataGrid").quiGrid({// 只看本单位
columns : mycolumns1,
// url : $.pathname() +
// '/ws/importGpsUser/BaoGongDianTaskService/quiTaskDutyByType',
// params :params,
data : griddata,
sortOrder : 'desc', // 排序方式
rownumbers : true,
checkbox : false,
width : '100%',
//height:"100%",
usePager : false,
percentWidthMode : true,
enabledEdit : true,
asncy:false,
clickToEdit : false,
onDblClickRow : function(rowdata, rowindex) {
_this.listGrid.beginEdit(rowindex);
},
onBeforeEdit : onBeforeEdit,
onBeforeSubmitEdit : onBeforeSubmitEdit,
onAfterSubmitEdit : onAfterSubmitEdit,
percentWidthMode : true,
sortName : 'UPDATEDATE_234',
groupColumnName:"LEADER_234",
groupColumnDisplay: "值班领导",
groupRender: function(groupValue, groupData, groupColumnDisplay){
return "值班领导:"+groupValue+"【共" + groupData.length + "条记录】";
}
});
} else if (type == 2) {
_this.listGrid = $("#dataGrid").quiGrid({// 按单位分组
columns : mycolumns2,
// url : $.pathname() +
// '/ws/importGpsUser/BaoGongDianTaskService/quiTaskDutyByType',
// params :params,
data : griddata,
sortOrder : 'desc', // 排序方式
//rownumbers : true,
checkbox : false,
width : '100%',
usePager : false,
asncy:false,
pageSize : 10,
percentWidthMode : true,
enabledEdit : true,
clickToEdit : false,
onDblClickRow : function(rowdata, rowindex) {
_this.listGrid.beginEdit(rowindex);
},
onBeforeEdit : onBeforeEdit,
onBeforeSubmitEdit : onBeforeSubmitEdit,
onAfterSubmitEdit : onAfterSubmitEdit,
percentWidthMode : true,
sortName : 'UPDATEDATE_234',
groupColumnName : "DEPTNAME",
groupColumnDisplay: '单位',
groupRender: function(groupValue, groupData, groupColumnDisplay){
return ""+groupValue+"【共" + groupData.length + "条记录】";
}
});
} else if (type == 3) {
_this.listGrid = $("#dataGrid").quiGrid({// 按日期分组
columns : mycolumns3,
// url : $.pathname() +
// '/ws/importGpsUser/BaoGongDianTaskService/quiTaskDutyByType',
// params :params,
data : griddata,
sortOrder : 'desc', // 排序方式
//rownumbers : true,
checkbox : false,
width : '100%',
usePager : false,
asncy:false,
pageSize : 10,
percentWidthMode : true,
enabledEdit : true,
clickToEdit : false,
onDblClickRow : function(rowdata, rowindex) {
_this.listGrid.beginEdit(rowindex);
},
onBeforeEdit : onBeforeEdit,
onBeforeSubmitEdit : onBeforeSubmitEdit,
onAfterSubmitEdit : onAfterSubmitEdit,
percentWidthMode : true,
// sortName : 'GROUPDATE',
groupColumnName : "GROUPDATE",
groupColumnDisplay: '日期',
groupRender: function(groupValue, groupData, groupColumnDisplay){
return ""+groupValue+"【共" + groupData.length + "条记录】";
}
});
}
setThisHeight();
}
function setThisHeight(){
$("#formContent").height($(".box_middleright").height());
$(parent.document.body).find("iframe").height($(window.document.body).height()+30);
$(top.document.body).find("iframe").height($(parent.document.body).height());
}
// 删除
/*
* function onDelete(rowidx){ top.Dialog.confirm("确定要删除该记录吗?",function(){ //删除记录
* var row = _this.listGrid.getRow(rowidx);
* alert(JSON.stringify(row.FD_OBJECTID_234));
* $.post("/qui/userdbAction.do?method=deleteUser", {"ids":row.userId},
* function(result){ handleResult(result); },"json"); //刷新表格
* _this.listGrid.loadData(); }); }
*/
// 批量删除
function onDelete(rowidx) {
_this.listGrid.select(rowidx);
var rows = _this.listGrid.getSelectedRows(rowidx);
var rowsLength = rows.length;
if (rowsLength == 0) {// 请选中要删除的记录!
top.Dialog.alert("请选中要删除的记录!");
return;
}
var ids = "";
for (var i = 0; i < rowsLength; i++) {
ids += rows[i].FD_OBJECTID234 + ",";
}
if(ids=="undefined,"){
_this.listGrid.deleteSelectedRow();
_this.listGrid.loadData();
}else{
var url = $.pathname() + "/ws/crud/CRUDService/delete/";
var params = {
objectIDs : ids,
classid : 234
};
top.Dialog.confirm("确定要删除吗?|删除", function() {
$.request.del(url, params, function(result) {
if (result.Msg.sucsess == true) {
top.Dialog.alert("删除成功!");
// 刷新表格数据
// _this.listGrid.loadData();
// _this.listGrid.rend();
changegrid("1", _this.loadParams);
} else {
top.Dialog.alert("删除失败!");
}
});
});
}
}
// 删除
/*
* function onDelete(rowidx) { top.Dialog.confirm("确定要删除吗?|删除", function() {
* isValida = false; flag = false; endEdit(rowidx); //删除记录 var row =
* _this.listGrid.getRow(rowidx); //删除操作 var url = $.pathname() +
* "/ws/crud/CRUDService/delete/"; var params = { objectIDs :
* row.FD_OBJECTID_234, classid : 234, }; $.request.del(url, params,
* function(result) { if (result.Msg.sucsess == true) {
* top.Dialog.alert("删除成功!"); // 刷新表格数据 _this.listGrid.rend(); } else {
* top.Dialog.alert("删除失败!"); } }); _this.listGrid.deleteRow(row); });
* }
*/
// 编辑
function beginEdit(rowid) {
_this.listGrid.beginEdit(rowid);
}
// 取消编辑
function cancelEdit(rowid) {
_this.listGrid.cancelEdit(rowid);
}
// 结束编辑
function endEdit(rowid) {
// _this.listGrid.endEdit(rowid);
// alert(JSON.stringify(_this.listGrid.getRow(rowid)));
/* var row = _this.listGrid.getRow(rowid);
var nowDate = getNowDate();
if(row.START_TIME_234 < nowDate){//如果开始时间小于当前时间
top.Dialog.alert("开始时间不能小于当前时间!"); //_this.listGrid.endEdit(rowid);
return false;
}else if(row.START_TIME_234 > row.END_TIME_234){//如果开始时间大于结束时间
top.Dialog.alert("开始时间不能大于结束时间!");
return false;
}*/
_this.listGrid.endEdit(rowid);
}
function rowToBO(row) {
var params = row.FD_OBJECTID_234 + '&' + row.START_TIME_234 + '&'
+ row.END_TIME_234 + '&' + row.LEADER_234 + '&'
+ row.LEADER_TEL_234+ '&' + row.LEADER_DUTY_MODE_234 + '&' + row.WATCH_MAN_234 + '&'
+ row.WATCH_TEL_234 + '&' + row.DUTY_MODE_234;
return params;
}
// 删除后的提示
function handleResult(result) {
if (result == 1) {
top.Dialog.alert("删除成功!", null, null, null, 1);
_this.listGrid.loadData();
} else {
top.Dialog.alert("删除失败!");
}
}
// 全部确认修改
function endAllEdit() {
_this.listGrid.endEdit();
}
// 全部取消修改
function cancelAllEdit() {
_this.listGrid.cancelEdit();
}
// 编辑前事件
function onBeforeEdit(e) {
var str = "编辑前事件,可阻止某些行或列进行编辑。列名:" + e.column.name + ";行号:" + e.rowindex
+ ";编辑前的值:" + e.value + "\n";
// if(e.record.id=="121"){
// top.Dialog.alert("此行不可编辑",null,null,null,2);
// return false;
// }
}
//获得当前系统时间:年月日时分
function getDateTime(){
var s="";
var d = allGetServerTime();
var vYear = d.getFullYear();
var vMon = d.getMonth() + 1;
var vDay = d.getDate();
var h = d.getHours();
var m = d.getMinutes();
//var se = d.getSeconds();
s=vYear+"-"+(vMon<10 ? "0" + vMon : vMon)+"-"+(vDay<10 ? "0"+ vDay : vDay)+" "+(h<10 ? "0"+ h : h)+":"+(m<10 ? "0" + m : m);//+":"+(se<10 ? "0" +se : se);
return s;
}
// 编辑提交前事件
function onBeforeSubmitEdit(e) {// ====================================================================================================================================
var nowDate = getDateTime();
/*if (compareTime(nowDate,e.newdata.START_TIME_234)) {// 如果开始时间小于当前时间
top.Dialog.alert("开始时间不能小于当前时间!");
return false;
}*/
// 做验证判断
// alert(JSON.stringify(e));//先看传过来的参数是什么
// alert(JSON.stringify(e.record);
// alert(JSON.stringify(e.record.START_TIME_234));
// alert(e.record.START_TIME_234);
if (compareTime(e.newdata.START_TIME_234,e.newdata.END_TIME_234)) {
top.Dialog.alert("开始时间不能大于结束时间!");
return false;
}
if (e.newdata.START_TIME_234 == "") {
top.Dialog.alert("开始时间不能为空!");
return false;
}
if (e.newdata.END_TIME_234 == "") {
top.Dialog.alert("结束时间不能为空!");
return false;
}
if (e.newdata.LEADER_234 == "") {
top.Dialog.alert("值班领导列不能为空!");
return false;
}
if (e.newdata.LEADER_TEL_234 == "") {
top.Dialog.alert("领导电话列不能为空!");
return false;
}
if (e.newdata.LEADER_DUTY_MODE_234 == "") {
top.Dialog.alert("值班类型列不能为空!");
return false;
}
if (e.newdata.WATCH_MAN_234 == "") {
top.Dialog.alert("值班人员列不能为空!");
return false;
}
if (e.newdata.WATCH_TEL_234 == "") {
top.Dialog.alert("值班人电话列不能为空!");
return false;
}
if (e.newdata.DUTY_MODE_234 == "") {
top.Dialog.alert("值班类型列不能为空!");
return false;
}
}
// 编辑后事件
function onAfterSubmitEdit(e) {// ======================================================================================================================================
// 在这里一律作修改处理
var rowData = e.newdata;
rowData.FD_OBJECTID_234 = e.record.FD_OBJECTID234;
// ajax方式提交数据到数据库
var _url = $.pathname()
+ '/ws/importGpsUser/BaoGongDianTaskService/saveGpsDuty';
$.ajax({
url : _url,
type : 'post',
async : false,
data : rowToBO(rowData),
dataType : 'text',
success : function(data) {
top.Dialog.alert("保存用户成功");
_this.listGrid.loadData();
},
error : function(e) {
$.messager.alert('保存失败!', '访问服务失败!', 'error');
}
});
// var row =certInfoGrid.getRow(e.rowindex);
// $.post("/material/certInfo/saveCertInfo.do?",rowToBO(row),function(){},"json");
}
$(function() {
$queryForm = $("#queryForm");
// 列表加载参数
_this.loadParams = {
task_id:fd_id,
type:1,
dept:dept_id
};
//$("#import_gpsUser").live("click", submitInfo);
$("#save").live("click", save);
changegrid("1", _this.loadParams);
});
function compareTime(time1,time2){
return time1>time2;
}
//检查数据格式是否正确
function checkName(data,type){
var flag = true;
var c = "";
if(type=="rm"){//人名
checkRex = /^[\u4e00-\u9fa5]{1,5}$/;
}else if(type=="dh"){//电话
//checkRex = /^1{1}[0,9]{10}$/;
checkRex = /^(\+\d{2,3}\-)?\d{11}$/;
}else if(type=="sj"){//时间
checkRex = /^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))\\s{1}[0-5]{1}[0-9]{1}\\:[0-5]{1}[0-9]{1}$/;
}
if(type=="zbfs"){//值班方式
if(data=='在岗值班' || data=='电话值班' || data=='应急指挥中心值班'){
flag = true;
}else{
flag = false;
}
}else if(!checkRex.test(data)){
flag = false;
}
return flag;
}