diff --git a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancedetail/ActionReciveAttendanceMobile.java b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancedetail/ActionReciveAttendanceMobile.java index 415f6b37fa4672771a9f8956c573da8b742d8b25..994f70d71aed8a9de2fad7054fe428c716d8449a 100644 --- a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancedetail/ActionReciveAttendanceMobile.java +++ b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancedetail/ActionReciveAttendanceMobile.java @@ -72,6 +72,9 @@ public class ActionReciveAttendanceMobile extends BaseAction { } } if( check ){ + if (StringUtils.isNotEmpty(wrapIn.getDescription())) { + attendanceDetailMobile.setDescription(wrapIn.getDescription()); + } if( StringUtils.isNotEmpty(wrapIn.getRecordAddress()) ){ attendanceDetailMobile.setRecordAddress( wrapIn.getRecordAddress() ); } diff --git a/o2web/source/x_component_Attendance/AppealExplorer.js b/o2web/source/x_component_Attendance/AppealExplorer.js index 90cf8a2b154cc5a8e77aff731e0bc55a2ea63dcc..2a1f242690073f1bd57b9c360cabc752e7f2abdf 100644 --- a/o2web/source/x_component_Attendance/AppealExplorer.js +++ b/o2web/source/x_component_Attendance/AppealExplorer.js @@ -241,7 +241,7 @@ MWF.xApplication.Attendance.AppealExplorer = new Class({ "onComplete": function(items){ var arr = []; items.each(function(item){ - arr.push(item.data.name); + arr.push(item.data.distinguishedName); }.bind(this)); el.set("value",arr.join(",")); }.bind(this) diff --git a/o2web/source/x_component_Attendance/PeopleDetail.js b/o2web/source/x_component_Attendance/PeopleDetail.js index df8dca54484ee728c3c17fb16dcf7d3defa99690..224557ff56a865030356c41fbaf0f16a9017725c 100644 --- a/o2web/source/x_component_Attendance/PeopleDetail.js +++ b/o2web/source/x_component_Attendance/PeopleDetail.js @@ -133,11 +133,17 @@ MWF.xApplication.Attendance.PeopleDetail.Explorer = new Class({ this.fileterNode.set("html",html); MWF.xDesktop.requireApp("Template", "MForm", function(){ + var empSelector = { text : lp.person, type : "org", orgType : "person", notEmpty : true, style : {"min-width": "100px" } }; + if( !this.app.isAdmin() && this.app.manageUnits ){ + empSelector = { text : lp.person, type : "org", orgType : "identity", "units": this.app.manageUnits, orgOptions: { + "resultType": "person", + } , notEmpty : true, style : {"min-width": "100px" } }; + } this.form = new MForm( this.fileterNode, {}, { style: "attendance", isEdited : true, itemTemplate : { - q_empName : { text : lp.person, type : "org", orgType : "person", notEmpty : true, style : {"min-width": "100px" } }, + q_empName : empSelector, cycleYear : { text : lp.annuaal, "type" : "select", @@ -499,11 +505,17 @@ MWF.xApplication.Attendance.PeopleDetail.DetailStaticExplorer = new Class({ this.fileterNode.set("html",html); MWF.xDesktop.requireApp("Template", "MForm", function(){ + var empSelector = { text : lp.person, type : "org", orgType : "person", notEmpty : true, style : {"min-width": "100px" } }; + if( !this.app.isAdmin() && this.app.manageUnits ){ + empSelector = { text : lp.person, type : "org", orgType : "identity", "units": this.app.manageUnits, orgOptions: { + "resultType": "person", + } , notEmpty : true, style : {"min-width": "100px" } }; + } this.form = new MForm( this.fileterNode, {}, { style: "attendance", isEdited : true, itemTemplate : { - q_empName : { text : lp.person, type : "org", orgType : "person", notEmpty : true, style : {"min-width": "100px" } }, + q_empName : empSelector, cycleYear : { text : lp.annuaal, "type" : "select", diff --git a/o2web/source/x_component_Attendance/PeopleDingdingDetail.js b/o2web/source/x_component_Attendance/PeopleDingdingDetail.js index 38264ddaa9375cfc67f1f097b12ecf05e9888f44..edd844c307dd7d15e62f37640eb5792aebeee7aa 100644 --- a/o2web/source/x_component_Attendance/PeopleDingdingDetail.js +++ b/o2web/source/x_component_Attendance/PeopleDingdingDetail.js @@ -114,11 +114,17 @@ MWF.xApplication.Attendance.PeopleDingdingDetail.Explorer = new Class({ this.fileterNode.set("html", html); MWF.xDesktop.requireApp("Template", "MForm", function () { + var empSelector = { text : lp.person, type : "org", orgType : "person", notEmpty : true, style : {"min-width": "100px" } }; + if( !this.app.isAdmin() && this.app.manageUnits ){ + empSelector = { text : lp.person, type : "org", orgType : "identity", "units": this.app.manageUnits, orgOptions: { + "resultType": "person", + } , notEmpty : true, style : {"min-width": "100px" } }; + } this.form = new MForm(this.fileterNode, {}, { style: "attendance", isEdited: true, itemTemplate: { - person: { text: lp.person, type: "org", orgType: "person", notEmpty: true, style: { "min-width": "100px" } }, + person: empSelector, year: { text: lp.annuaal, "type": "select", @@ -264,11 +270,17 @@ MWF.xApplication.Attendance.PeopleDingdingDetail.DetailStaticExplorer = new Clas this.fileterNode.set("html", html); MWF.xDesktop.requireApp("Template", "MForm", function () { + var empSelector = { text : lp.person, type : "org", orgType : "person", notEmpty : true, style : {"min-width": "100px" } }; + if( !this.app.isAdmin() && this.app.manageUnits ){ + empSelector = { text : lp.person, type : "org", orgType : "identity", "units": this.app.manageUnits, orgOptions: { + "resultType": "person", + } , notEmpty : true, style : {"min-width": "100px" } }; + } this.form = new MForm(this.fileterNode, {}, { style: "attendance", isEdited: true, itemTemplate: { - q_empName: { text: lp.person, type: "org", orgType: "person", notEmpty: true, style: { "min-width": "100px" } }, + q_empName: empSelector, cycleYear: { text: lp.annuaal, "type": "select", diff --git a/o2web/source/x_component_Attendance/PeopleQywxDetail.js b/o2web/source/x_component_Attendance/PeopleQywxDetail.js index f1a1e828572b52e640505bae743acff6c68661a3..4a08a854cd6e623537458347f6619df691df28b1 100644 --- a/o2web/source/x_component_Attendance/PeopleQywxDetail.js +++ b/o2web/source/x_component_Attendance/PeopleQywxDetail.js @@ -114,11 +114,17 @@ MWF.xApplication.Attendance.PeopleQywxDetail.Explorer = new Class({ this.fileterNode.set("html", html); MWF.xDesktop.requireApp("Template", "MForm", function () { + var empSelector = { text : lp.person, type : "org", orgType : "person", notEmpty : true, style : {"min-width": "100px" } }; + if( !this.app.isAdmin() && this.app.manageUnits ){ + empSelector = { text : lp.person, type : "org", orgType : "identity", "units": this.app.manageUnits, orgOptions: { + "resultType": "person", + } , notEmpty : true, style : {"min-width": "100px" } }; + } this.form = new MForm(this.fileterNode, {}, { style: "attendance", isEdited: true, itemTemplate: { - person: { text: lp.person, type: "org", orgType: "person", notEmpty: true, style: { "min-width": "100px" } }, + person: empSelector, year: { text: lp.annuaal, "type": "select", @@ -264,11 +270,17 @@ MWF.xApplication.Attendance.PeopleQywxDetail.DetailStaticExplorer = new Class({ this.fileterNode.set("html", html); MWF.xDesktop.requireApp("Template", "MForm", function () { + var empSelector = { text : lp.person, type : "org", orgType : "person", notEmpty : true, style : {"min-width": "100px" } }; + if( !this.app.isAdmin() && this.app.manageUnits ){ + empSelector = { text : lp.person, type : "org", orgType : "identity", "units": this.app.manageUnits, orgOptions: { + "resultType": "person", + } , notEmpty : true, style : {"min-width": "100px" } }; + } this.form = new MForm(this.fileterNode, {}, { style: "attendance", isEdited: true, itemTemplate: { - q_empName: { text: lp.person, type: "org", orgType: "person", notEmpty: true, style: { "min-width": "100px" } }, + q_empName: empSelector, cycleYear: { text: lp.annuaal, "type": "select", diff --git a/o2web/source/x_component_Attendance/UnitDetail.js b/o2web/source/x_component_Attendance/UnitDetail.js index 331ad28f860da96027221448280c385b0dae1a01..206146fc43ad4fff3213944002589ad7c26afad9 100644 --- a/o2web/source/x_component_Attendance/UnitDetail.js +++ b/o2web/source/x_component_Attendance/UnitDetail.js @@ -116,12 +116,8 @@ MWF.xApplication.Attendance.UnitDetail.Explorer = new Class({ this.fileterNode.set("html",html); MWF.xDesktop.requireApp("Template", "MForm", function(){ - this.form = new MForm( this.fileterNode, {}, { - style: "attendance", - isEdited : true, - itemTemplate : { - q_unitName : { text : lp.unit, type : "org", orgType : "unit", notEmpty : true, style : {"min-width": "100px" } }, - cycleYear : { + var itemTemplate = { + cycleYear : { text : lp.annuaal, "type" : "select", "selectValue" : function(){ @@ -193,10 +189,31 @@ MWF.xApplication.Attendance.UnitDetail.Explorer = new Class({ debugger; this.actions.detailsExportStream(result.q_topUnitName,result.q_unitName,result.q_empName,result.cycleYear,result.cycleMonth,result.q_date,result.isAbsent,result.isLackOfTime,result.isLate,true); }.bind(this) - }} + } + } + }; + if( this.app.isAdmin() ){ + itemTemplate.q_unitName = { text : lp.unit, type : "org", orgType : "unit", notEmpty : true, style : {"min-width": "100px" } }; + }else{ + var unitNameArr = [] + var unitValueArr = this.app.manageUnits; + for (let i = 0; i < unitValueArr.length; i++) { + const element = unitValueArr[i]; + if(element.indexOf("@") > -1){ + const name = element.split("@")[0]; + unitNameArr.push(name); + } else { + unitNameArr.push(element); + } + } + itemTemplate.q_unitName = { text : lp.unit, type : "select", selectValue : unitValueArr, "selectText": unitNameArr, notEmpty : true, style : {"min-width": "100px" } }; } - }, this.app, this.app.css); - this.form.load(); + this.form = new MForm( this.fileterNode, {}, { + style: "attendance", + isEdited : true, + itemTemplate : itemTemplate + }, this.app, this.app.css); + this.form.load(); }.bind(this), true); }, getDateSelectValue : function(){ @@ -492,47 +509,65 @@ MWF.xApplication.Attendance.UnitDetail.DetailStaticExplorer = new Class({ this.fileterNode.set("html",html); MWF.xDesktop.requireApp("Template", "MForm", function(){ - this.form = new MForm( this.fileterNode, {}, { - style: "attendance", - isEdited : true, - itemTemplate : { - q_unitName : { text : lp.unit, type : "org", orgType : "unit", notEmpty : true, style : {"min-width": "100px" } }, - cycleYear : { - text : lp.annuaal, - "type" : "select", - "selectValue" : function(){ - var years = []; - var year = new Date().getFullYear(); - for(var i=0; i<6; i++ ){ - years.push( year-- ); - } - return years; + var itemTemplate = { + q_unitName : { text : lp.unit, type : "org", orgType : "unit", notEmpty : true, style : {"min-width": "100px" } }, + cycleYear : { + text : lp.annuaal, + "type" : "select", + "selectValue" : function(){ + var years = []; + var year = new Date().getFullYear(); + for(var i=0; i<6; i++ ){ + years.push( year-- ); } + return years; + } + }, + cycleMonth : { + text : lp.months, notEmpty : true, + "type" : "select", + "defaultValue" : function(){ + var month = (new Date().getMonth() + 1 ).toString(); + return month.length == 1 ? "0"+month : month; }, - cycleMonth : { - text : lp.months, notEmpty : true, - "type" : "select", - "defaultValue" : function(){ - var month = (new Date().getMonth() + 1 ).toString(); - return month.length == 1 ? "0"+month : month; - }, - "selectValue" :["","01","02","03","04","05","06","07","08","09","10","11","12"] - }, - action : { "value" : lp.query, type : "button", className : "filterButton", event : { + "selectValue" :["","01","02","03","04","05","06","07","08","09","10","11","12"] + }, + action : { "value" : lp.query, type : "button", className : "filterButton", event : { + click : function(){ + var result = this.form.getResult(true,",",true,true,false); + if( !result )return; + this.loadView( result ); + }.bind(this) + }}, + export : { "value" : lp.export, type : "button", className : "filterButton", event : { click : function(){ var result = this.form.getResult(true,",",true,true,false); if( !result )return; - this.loadView( result ); + this.actions.exportUnitStatisticAttachment(result.q_unitName,result.cycleYear,result.cycleMonth,true); }.bind(this) - }}, - export : { "value" : lp.export, type : "button", className : "filterButton", event : { - click : function(){ - var result = this.form.getResult(true,",",true,true,false); - if( !result )return; - this.actions.exportUnitStatisticAttachment(result.q_unitName,result.cycleYear,result.cycleMonth,true); - }.bind(this) - }} + }} + }; + if( this.app.isAdmin() ){ + itemTemplate.q_unitName = { text : lp.unit, type : "org", orgType : "unit", notEmpty : true, style : {"min-width": "100px" } }; + }else{ + var unitNameArr = [] + var unitValueArr = this.app.manageUnits; + for (let i = 0; i < unitValueArr.length; i++) { + const element = unitValueArr[i]; + if(element.indexOf("@") > -1){ + const name = element.split("@")[0]; + unitNameArr.push(name); + } else { + unitNameArr.push(element); + } } + itemTemplate.q_unitName = { text : lp.unit, type : "select", selectValue : unitValueArr, "selectText": unitNameArr, notEmpty : true, style : {"min-width": "100px" } }; + } + this.form = new MForm( this.fileterNode, {}, { + style: "attendance", + isEdited : true, + itemTemplate : itemTemplate + }, this.app, this.app.css); this.form.load(); }.bind(this), true); diff --git a/o2web/source/x_component_Attendance/UnitDingdingDetail.js b/o2web/source/x_component_Attendance/UnitDingdingDetail.js index 1f1fdec26919c9ab82d975ecbddd8f63ca607658..63db489ae062c48b440e977919ddb85dc90b78fd 100644 --- a/o2web/source/x_component_Attendance/UnitDingdingDetail.js +++ b/o2web/source/x_component_Attendance/UnitDingdingDetail.js @@ -113,60 +113,77 @@ MWF.xApplication.Attendance.UnitDingdingDetail.Explorer = new Class({ this.fileterNode.set("html", html); MWF.xDesktop.requireApp("Template", "MForm", function () { - this.form = new MForm(this.fileterNode, {}, { - style: "attendance", - isEdited: true, - itemTemplate: { - unit: { text: lp.unit, type: "org", orgType: "unit", notEmpty: true, style: { "min-width": "100px" } }, - year: { - text: lp.annuaal, - "type": "select", - "selectValue": function () { - var years = []; - var year = new Date().getFullYear(); - for (var i = 0; i < 6; i++) { - years.push(year--); - } - return years; - }, - "event": { - "change": function (item, ev) { - var values = this.getDateSelectValue(); - item.form.getItem("day").resetItemOptions(values, values) - }.bind(this) + var itemTemplate = { + unit: { text: lp.unit, type: "org", orgType: "unit", notEmpty: true, style: { "min-width": "100px" } }, + year: { + text: lp.annuaal, + "type": "select", + "selectValue": function () { + var years = []; + var year = new Date().getFullYear(); + for (var i = 0; i < 6; i++) { + years.push(year--); } + return years; }, - month: { - text: lp.months, - "type": "select", - "defaultValue": function () { - var month = (new Date().getMonth() + 1).toString(); - return month.length == 1 ? "0" + month : month; - }, - "selectValue": ["", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"], - "event": { - "change": function (item, ev) { - var values = this.getDateSelectValue(); - item.form.getItem("day").resetItemOptions(values, values) - }.bind(this) - } + "event": { + "change": function (item, ev) { + var values = this.getDateSelectValue(); + item.form.getItem("day").resetItemOptions(values, values) + }.bind(this) + } + }, + month: { + text: lp.months, + "type": "select", + "defaultValue": function () { + var month = (new Date().getMonth() + 1).toString(); + return month.length == 1 ? "0" + month : month; }, - day: { text: lp.date, "type": "select", "selectValue": this.getDateSelectValue.bind(this) }, - checkType: { text: lp.signinType, "type": "select", "selectValue": ["", "OnDuty", "OffDuty"], "selectText": lp.signinTypeSelectText }, - timeResult: { text: lp.signinResult, "type": "select", "selectValue": ["", "Normal", "Early", "Late", "SeriousLate", "Absenteeism", "NotSigned"], "selectText": lp.signinResultSelectText }, - action: { - "value": lp.query, type: "button", className: "filterButton", event: { - click: function () { - var result = this.form.getResult(true, ",", true, true, false); - if (!result) return; - if (result.day && result.day != "") { - result.q_date = result.year + "-" + result.month + "-" + result.day; - } - this.loadView(result); - }.bind(this) - } + "selectValue": ["", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"], + "event": { + "change": function (item, ev) { + var values = this.getDateSelectValue(); + item.form.getItem("day").resetItemOptions(values, values) + }.bind(this) + } + }, + day: { text: lp.date, "type": "select", "selectValue": this.getDateSelectValue.bind(this) }, + checkType: { text: lp.signinType, "type": "select", "selectValue": ["", "OnDuty", "OffDuty"], "selectText": lp.signinTypeSelectText }, + timeResult: { text: lp.signinResult, "type": "select", "selectValue": ["", "Normal", "Early", "Late", "SeriousLate", "Absenteeism", "NotSigned"], "selectText": lp.signinResultSelectText }, + action: { + "value": lp.query, type: "button", className: "filterButton", event: { + click: function () { + var result = this.form.getResult(true, ",", true, true, false); + if (!result) return; + if (result.day && result.day != "") { + result.q_date = result.year + "-" + result.month + "-" + result.day; + } + this.loadView(result); + }.bind(this) + } + } + } + if( this.app.isAdmin() ){ + itemTemplate.q_unitName = { text : lp.unit, type : "org", orgType : "unit", notEmpty : true, style : {"min-width": "100px" } }; + }else{ + var unitNameArr = [] + var unitValueArr = this.app.manageUnits; + for (let i = 0; i < unitValueArr.length; i++) { + const element = unitValueArr[i]; + if(element.indexOf("@") > -1){ + const name = element.split("@")[0]; + unitNameArr.push(name); + } else { + unitNameArr.push(element); } } + itemTemplate.q_unitName = { text : lp.unit, type : "select", selectValue : unitValueArr, "selectText": unitNameArr, notEmpty : true, style : {"min-width": "100px" } }; + } + this.form = new MForm(this.fileterNode, {}, { + style: "attendance", + isEdited: true, + itemTemplate: itemTemplate }, this.app, this.app.css); this.form.load(); }.bind(this), true); @@ -251,42 +268,59 @@ MWF.xApplication.Attendance.UnitDingdingDetail.DetailStaticExplorer = new Class( this.fileterNode.set("html", html); MWF.xDesktop.requireApp("Template", "MForm", function () { - this.form = new MForm(this.fileterNode, {}, { - style: "attendance", - isEdited: true, - itemTemplate: { - q_unitName: { text: lp.unit, type: "org", orgType: "unit", notEmpty: true, style: { "min-width": "100px" } }, - cycleYear: { - text: lp.annuaal, - "type": "select", - "selectValue": function () { - var years = []; - var year = new Date().getFullYear(); - for (var i = 0; i < 6; i++) { - years.push(year--); - } - return years; + var itemTemplate = { + q_unitName: { text: lp.unit, type: "org", orgType: "unit", notEmpty: true, style: { "min-width": "100px" } }, + cycleYear: { + text: lp.annuaal, + "type": "select", + "selectValue": function () { + var years = []; + var year = new Date().getFullYear(); + for (var i = 0; i < 6; i++) { + years.push(year--); } + return years; + } + }, + cycleMonth: { + text: lp.months, notEmpty: true, + "type": "select", + "defaultValue": function () { + var month = (new Date().getMonth() + 1).toString(); + return month.length == 1 ? "0" + month : month; }, - cycleMonth: { - text: lp.months, notEmpty: true, - "type": "select", - "defaultValue": function () { - var month = (new Date().getMonth() + 1).toString(); - return month.length == 1 ? "0" + month : month; - }, - "selectValue": ["", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"] - }, - action: { - "value": lp.query, type: "button", className: "filterButton", event: { - click: function () { - var result = this.form.getResult(true, ",", true, true, false); - if (!result) return; - this.loadView(result); - }.bind(this) - } + "selectValue": ["", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"] + }, + action: { + "value": lp.query, type: "button", className: "filterButton", event: { + click: function () { + var result = this.form.getResult(true, ",", true, true, false); + if (!result) return; + this.loadView(result); + }.bind(this) + } + } + } + if( this.app.isAdmin() ){ + itemTemplate.q_unitName = { text : lp.unit, type : "org", orgType : "unit", notEmpty : true, style : {"min-width": "100px" } }; + }else{ + var unitNameArr = [] + var unitValueArr = this.app.manageUnits; + for (let i = 0; i < unitValueArr.length; i++) { + const element = unitValueArr[i]; + if(element.indexOf("@") > -1){ + const name = element.split("@")[0]; + unitNameArr.push(name); + } else { + unitNameArr.push(element); } } + itemTemplate.q_unitName = { text : lp.unit, type : "select", selectValue : unitValueArr, "selectText": unitNameArr, notEmpty : true, style : {"min-width": "100px" } }; + } + this.form = new MForm(this.fileterNode, {}, { + style: "attendance", + isEdited: true, + itemTemplate: itemTemplate }, this.app, this.app.css); this.form.load(); }.bind(this), true); diff --git a/o2web/source/x_component_Attendance/UnitQywxDetail.js b/o2web/source/x_component_Attendance/UnitQywxDetail.js index 50c8570f57d3730a087cc8cd0b0121a07dac663f..d935882986b04866ff34018d91aabd6437e502f1 100644 --- a/o2web/source/x_component_Attendance/UnitQywxDetail.js +++ b/o2web/source/x_component_Attendance/UnitQywxDetail.js @@ -113,60 +113,77 @@ MWF.xApplication.Attendance.UnitQywxDetail.Explorer = new Class({ this.fileterNode.set("html", html); MWF.xDesktop.requireApp("Template", "MForm", function () { - this.form = new MForm(this.fileterNode, {}, { - style: "attendance", - isEdited: true, - itemTemplate: { - unit: { text: lp.unit, type: "org", orgType: "unit", notEmpty: true, style: { "min-width": "200px" } }, - year: { - text: lp.annuaal, - "type": "select", - "selectValue": function () { - var years = []; - var year = new Date().getFullYear(); - for (var i = 0; i < 6; i++) { - years.push(year--); - } - return years; - }, - "event": { - "change": function (item, ev) { - var values = this.getDateSelectValue(); - item.form.getItem("day").resetItemOptions(values, values) - }.bind(this) + var itemTemplate = { + unit: { text: lp.unit, type: "org", orgType: "unit", notEmpty: true, style: { "min-width": "200px" } }, + year: { + text: lp.annuaal, + "type": "select", + "selectValue": function () { + var years = []; + var year = new Date().getFullYear(); + for (var i = 0; i < 6; i++) { + years.push(year--); } + return years; }, - month: { - text: lp.months, - "type": "select", - "defaultValue": function () { - var month = (new Date().getMonth() + 1).toString(); - return month.length == 1 ? "0" + month : month; - }, - "selectValue": ["", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"], - "event": { - "change": function (item, ev) { - var values = this.getDateSelectValue(); - item.form.getItem("day").resetItemOptions(values, values) - }.bind(this) - } + "event": { + "change": function (item, ev) { + var values = this.getDateSelectValue(); + item.form.getItem("day").resetItemOptions(values, values) + }.bind(this) + } + }, + month: { + text: lp.months, + "type": "select", + "defaultValue": function () { + var month = (new Date().getMonth() + 1).toString(); + return month.length == 1 ? "0" + month : month; }, - day: { text: lp.date, "type": "select", "selectValue": this.getDateSelectValue.bind(this) }, - checkType: { text: lp.signinType, "type": "select", "selectValue": lp.signinQywxTypeSelectText, "selectText": lp.signinQywxTypeSelectText }, - exceptionType: { text: lp.signinResult, "type": "select", "selectValue": lp.signinQywxResultSelectText, "selectText": lp.signinQywxResultSelectText }, - action: { - "value": lp.query, type: "button", className: "filterButton", event: { - click: function () { - var result = this.form.getResult(true, ",", true, true, false); - if (!result) return; - if (result.day && result.day != "") { - result.q_date = result.year + "-" + result.month + "-" + result.day; - } - this.loadView(result); - }.bind(this) - } + "selectValue": ["", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"], + "event": { + "change": function (item, ev) { + var values = this.getDateSelectValue(); + item.form.getItem("day").resetItemOptions(values, values) + }.bind(this) + } + }, + day: { text: lp.date, "type": "select", "selectValue": this.getDateSelectValue.bind(this) }, + checkType: { text: lp.signinType, "type": "select", "selectValue": lp.signinQywxTypeSelectText, "selectText": lp.signinQywxTypeSelectText }, + exceptionType: { text: lp.signinResult, "type": "select", "selectValue": lp.signinQywxResultSelectText, "selectText": lp.signinQywxResultSelectText }, + action: { + "value": lp.query, type: "button", className: "filterButton", event: { + click: function () { + var result = this.form.getResult(true, ",", true, true, false); + if (!result) return; + if (result.day && result.day != "") { + result.q_date = result.year + "-" + result.month + "-" + result.day; + } + this.loadView(result); + }.bind(this) + } + } + } + if( this.app.isAdmin() ){ + itemTemplate.unit = { text : lp.unit, type : "org", orgType : "unit", notEmpty : true, style : {"min-width": "100px" } }; + }else{ + var unitNameArr = [] + var unitValueArr = this.app.manageUnits; + for (let i = 0; i < unitValueArr.length; i++) { + const element = unitValueArr[i]; + if(element.indexOf("@") > -1){ + const name = element.split("@")[0]; + unitNameArr.push(name); + } else { + unitNameArr.push(element); } } + itemTemplate.unit = { text : lp.unit, type : "select", selectValue : unitValueArr, "selectText": unitNameArr, notEmpty : true, style : {"min-width": "100px" } }; + } + this.form = new MForm(this.fileterNode, {}, { + style: "attendance", + isEdited: true, + itemTemplate: itemTemplate }, this.app, this.app.css); this.form.load(); }.bind(this), true); @@ -251,42 +268,59 @@ MWF.xApplication.Attendance.UnitQywxDetail.DetailStaticExplorer = new Class({ this.fileterNode.set("html", html); MWF.xDesktop.requireApp("Template", "MForm", function () { - this.form = new MForm(this.fileterNode, {}, { - style: "attendance", - isEdited: true, - itemTemplate: { - q_unitName: { text: lp.unit, type: "org", orgType: "unit", notEmpty: true, style: { "min-width": "200px" } }, - cycleYear: { - text: lp.annuaal, - "type": "select", - "selectValue": function () { - var years = []; - var year = new Date().getFullYear(); - for (var i = 0; i < 6; i++) { - years.push(year--); - } - return years; + var itemTemplate = { + q_unitName: { text: lp.unit, type: "org", orgType: "unit", notEmpty: true, style: { "min-width": "200px" } }, + cycleYear: { + text: lp.annuaal, + "type": "select", + "selectValue": function () { + var years = []; + var year = new Date().getFullYear(); + for (var i = 0; i < 6; i++) { + years.push(year--); } + return years; + } + }, + cycleMonth: { + text: lp.months, notEmpty: true, + "type": "select", + "defaultValue": function () { + var month = (new Date().getMonth() + 1).toString(); + return month.length == 1 ? "0" + month : month; }, - cycleMonth: { - text: lp.months, notEmpty: true, - "type": "select", - "defaultValue": function () { - var month = (new Date().getMonth() + 1).toString(); - return month.length == 1 ? "0" + month : month; - }, - "selectValue": ["", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"] - }, - action: { - "value": lp.query, type: "button", className: "filterButton", event: { - click: function () { - var result = this.form.getResult(true, ",", true, true, false); - if (!result) return; - this.loadView(result); - }.bind(this) - } + "selectValue": ["", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"] + }, + action: { + "value": lp.query, type: "button", className: "filterButton", event: { + click: function () { + var result = this.form.getResult(true, ",", true, true, false); + if (!result) return; + this.loadView(result); + }.bind(this) + } + } + } + if( this.app.isAdmin() ){ + itemTemplate.q_unitName = { text : lp.unit, type : "org", orgType : "unit", notEmpty : true, style : {"min-width": "100px" } }; + }else{ + var unitNameArr = [] + var unitValueArr = this.app.manageUnits; + for (let i = 0; i < unitValueArr.length; i++) { + const element = unitValueArr[i]; + if(element.indexOf("@") > -1){ + const name = element.split("@")[0]; + unitNameArr.push(name); + } else { + unitNameArr.push(element); } } + itemTemplate.q_unitName = { text : lp.unit, type : "select", selectValue : unitValueArr, "selectText": unitNameArr, notEmpty : true, style : {"min-width": "100px" } }; + } + this.form = new MForm(this.fileterNode, {}, { + style: "attendance", + isEdited: true, + itemTemplate: itemTemplate }, this.app, this.app.css); this.form.load(); }.bind(this), true); diff --git a/o2web/source/x_desktop/js/o2m.api.js b/o2web/source/x_desktop/js/o2m.api.js index e6308f3d961a45cc0b28e30e87f5e77e797fb2b6..1c2a7d970d03143912636e571d7d401b38062745 100644 --- a/o2web/source/x_desktop/js/o2m.api.js +++ b/o2web/source/x_desktop/js/o2m.api.js @@ -1167,6 +1167,28 @@ this.o2m.util.navigation.goBack = _o2m_u_navigation_goBack; + //o2m.util.navigation.openOtherApp 功能不完整,有很多限制。暂时不开放 + this.o2m.util.navigation.openOtherAppSuccess = function (result) { + console.log("util navigation openOtherApp back, result:" + result); + }; + var _o2m_u_navigation_openOtherApp = function (c) { + var onSuccess = c && c.onSuccess ? c.onSuccess : null; + var onFail = c && c.onFail ? c.onFail : null; + if (onSuccess && typeof onSuccess === "function") { + o2m.util.navigation.openOtherAppSuccess = onSuccess; + } + var schema = c && c.schema ? c.schema : ""; + var body = { + type: "navigation.openOtherApp", + callback: "o2m.util.navigation.openOtherAppSuccess", + data: { + schema: schema + } + }; + _util_post(body, onFail); + }; + this.o2m.util.navigation.openOtherApp = _o2m_u_navigation_openOtherApp; + /** ***** BEGIN BIZ BLOCK ***** @@ -1179,11 +1201,13 @@ o2m.biz.contact.departmentsPicker o2m.biz.contact.ComplexPicker o2m.biz.contact.GroupPicker + o2m.biz.file.previewDoc * ***** END UTIL BLOCK ******/ this.o2m.biz = { - contact: {} + contact: {}, + file:{} }; var _biz_post = function (body, onFail) { @@ -1651,4 +1675,56 @@ + //o2m.biz.contact.ComplexPicker + this.o2m.biz.file.PreviewDocSuccess = function (result) { + console.log("biz file preview doc back, result:" + result); + }; + var _o2m_b_file_preview = function (c) { + var onSuccess = c && c.onSuccess ? c.onSuccess : null; + var onFail = c && c.onFail ? c.onFail : null; + if (onSuccess && typeof onSuccess === "function") { + o2m.biz.file.PreviewDocSuccess = onSuccess; + } + var fileUrl = c && c.url ? c.url : ""; + var fileName = c && c.fileName ? c.fileName : ""; + + var body = { + type: "file.previewDoc", + callback: "o2m.biz.file.PreviewDocSuccess ", + data: { + url: fileUrl, + fileName: fileName + } + }; + _biz_post(body, onFail); + }; + /** + * 文件预览 + * @method PreviewDoc + * @memberOf o2m + * @o2membercategory biz + * @static + * @param {Object} obj PreviewDoc需要传入对象 + *
{
+   *  url: String, //文件下载地址,比如https://www.o2oa.net/file.pdf
+   *  fileName:String 预览的文件名称,比如file.pdf
+   *  "onSuccess": function,  //成功回调
+   *  "onFail": function, //失败回调
+   * }
+ * @example + * o2m.biz.file.PreviewDoc({ + * url: "https://www.o2oa.net/file.pdf", //文件下载地址 + * fileName: "file.pdf",//预览的文件名称 + * onSuccess : function(result) { + * //返回结果样例 + * { + * result:true, + * message:"" + * } + * }, + * onFail : function(err) {} + * }); + */ + this.o2m.biz.file.PreviewDoc = _o2m_b_file_preview; + })();