123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- var patt = /^(\d{4})-(0[1-9]|1[0-2])$/;
- var time;
- var hrNumber;
- var billId;
- var nowTime;
- shr.defineClass("shr.customer.PersonConfigScheduleEdit", shr.framework.Edit, {
- initalizeDOM : function() {
- shr.customer.PersonConfigScheduleEdit.superClass.initalizeDOM.call(this);
- this.storeF7Event();
- //this.setEditEnable();
- this.getBudgetPersonTotal();
- nowTime = getNowTime();
- },
- //监控项目F7值
- storeF7Event : function() {
- if(this.getOperateState() != "VIEW"){
- time = $("#Time").val();
- hrNumber = $("#HRNumber").val();
- billId = $("#id").val();
- $("#Store").shrPromptBox("option", {
- onchange : function (e, value) {
- if(value.current == null){
- return;
- }
- hrNumber = value.current.number;
- $("#HRNumber").val(hrNumber);
- if(time && time == nowTime){//还要加上是否为当月判断
- var storeId = $("#Store_el").val();
- getNumByStoreFrontNumber(storeId,time);
- }
- }
- });
- //监控时间
- $("#Time").blur(function () {
- time = $("#Time").val();
- if(!time){
- return;
- }else if (!patt.test(time)) {
- shr.showWarning({
- message: "时间格式有误,正确格式为 yyyy-MM",
- });
- return;
- }
- if(hrNumber){
- var arr = verifyTime(billId,hrNumber,time);
- if(arr[0] == '1'){
- shr.showWarning({
- message: "时间必须在项目筹备期 "+arr[1]+" 至 "+arr[2]+" 内"
- });
- return;
- }else if(arr[0] == '3'){
- shr.showWarning({
- message: "当前门店在该月份已存在预算维护数据, 请勿重复提交!"
- });
- return;
- }
- if(time && time == nowTime){
- //还要加上是否为当月判断
- var storeId = $("#Store_el").val();
- getNumByStoreFrontNumber(storeId,time);
- }else if(time && time != nowTime){
- $("#ManagerAmnoutPra").val('');
- $("#PersonAmountPra").val('');
- }
- }
- });
- }
- },
- //监控一线员工人数和管理员人数 计算计划人数总和
- getBudgetPersonTotal: function () {
- if (this.getOperateState() != "VIEW") {
- var frontLinePerson = $("#FrontLinePerson").val();
- var administrator = $("#Administrator").val();
- //监控管理人员
- $("#Administrator").blur(function () {
- administrator = $("#Administrator").val();
- if (administrator && frontLinePerson) {
- var total = parseInt(administrator) + parseInt(frontLinePerson);
- $("#BudgetPersonTotal").val(total);
- }
- });
- //监控一线人员
- $("#FrontLinePerson").blur(function () {
- frontLinePerson = $("#FrontLinePerson").val();
- if (administrator && frontLinePerson) {
- var total = parseInt(administrator) + parseInt(frontLinePerson);
- $("#BudgetPersonTotal").val(total);
- }
- });
- //计划人数合计已经设置为只读,下面的方法作废
- // //计划人数合计失焦
- // $("#BudgetPersonTotal").blur(function () {
- // frontLinePerson = $("#FrontLinePerson").val();
- // administrator = $("#Administrator").val();
- // if (administrator && frontLinePerson) {
- // var total = parseInt(administrator) + parseInt(frontLinePerson);
- // $("#BudgetPersonTotal").val(total);
- // }
- // });
- // //计划人数合计获焦
- // $("#BudgetPersonTotal").focus(function () {
- // frontLinePerson = $("#FrontLinePerson").val();
- // administrator = $("#Administrator").val();
- // if (administrator && frontLinePerson) {
- // var total = parseInt(administrator) + parseInt(frontLinePerson);
- // $("#BudgetPersonTotal").val(total);
- // }
- // });
- }
- },
- //保存
- saveAction : function(){
- var time = $("#Time").val();
- if(time && !patt.test(time)){
- shr.showWarning({
- message: "时间格式有误,正确格式为 yyyy-MM",
- });
- return;
- }
- var arr;
- hrNumber = $("#HRNumber").val();
- billId = $("#id").val();
- if(time && hrNumber){
- arr = verifyTime(billId,hrNumber,time);
- }
- if(time && hrNumber && arr[0] == '1'){
- shr.showWarning({
- message: "时间必须在项目筹备期 "+arr[1]+" 至 "+arr[2]+" 内"
- });
- return;
- }else if(time && hrNumber && arr[0] == '3'){
- shr.showWarning({
- message: "当前门店在该月份已存在预算维护数据, 请勿重复提交!"
- });
- return;
- }
- //判断实际人数是否都有值或都为空
- var managerAmnoutPra = $("#ManagerAmnoutPra").val();
- var personAmountPra = $("#PersonAmountPra").val();
- if((managerAmnoutPra && !personAmountPra) || (!managerAmnoutPra && personAmountPra)){
- shr.showWarning({
- message: "管理人员实际人数 和 一线人员实际人数 要么都有值,要么都为空!"
- });
- return;
- }
- shr.customer.PersonConfigScheduleEdit.superClass.saveAction.call(this);
- },
- //重写assembleModel的原因是,保存时无法获取到PracticalPreparedTime的值
- assembleModel: function () {
- var model = shr.customer.PersonConfigScheduleEdit.superClass.assembleModel.call(this);
- model.BudgetPersonTotal = $("#BudgetPersonTotal").val();
- return model;
- },
- //设置编辑按钮是否可用
- // setEditEnable : function(){
- // //判断当前月份是否比单据参数时间月份大
- // //var billId = $("#id").val();
- // var flag = 'false';
- // var time = $("#Time").text();
- // var split = time.split('-');
- // var dateTime = new Date(split[0],split[1]-1,1);
- // var date = new Date();
- // var year = date.getFullYear();
- // var month = date.getMonth();
- // date.setTime(new Date(year,month,1));//将日期设为本月一号
- // if((dateTime - date) < 0){//历史数据
- // //历史数据需要判断操作人是否有更改权限
- // var url = shr.getContextPath() + "/dynamic.do?handler=com.kingdee.eas.custom.newpreparation.web.customer.PersonConfigScheduleEditHandler&method=setEditEnable";
- // shr.ajax({
- // async:false,
- // type:'post',
- // data :{},
- // url:url,
- // success:function(res){
- // flag=res.data;
- // }
- // });
- // if(flag == 'true'){
- // $("#edit").hide();
- // }
- // }
- // }
- });
- //根据门店编码和时间获取实际人数
- function getNumByStoreFrontNumber(storeId,time){
- var url = shr.getContextPath() + "/dynamic.do?handler=com.kingdee.eas.custom.newpreparation.web.customer.PersonConfigScheduleEditHandler&method=getNumByStoreFrontNumber";
- shr.ajax({
- async: false,
- type: 'post',
- data: {
- storeId: storeId
- },
- url: url,
- success: function (res) {
- if(res.data){
- $("#ManagerAmnoutPra").val(res.data.managerNum);
- $("#PersonAmountPra").val(res.data.personNum);
- }
- }
- });
- }
- //检查时间是否合法
- function verifyTime(billId,hrNumber,time){
- var url = shr.getContextPath() + "/dynamic.do?handler=com.kingdee.eas.custom.newpreparation.web.customer.PersonConfigScheduleEditHandler&method=verifyTime";
- var arr = new Array();
- shr.ajax({
- async:false,
- type:'post',
- data :{
- billId : billId,
- hrNumber : hrNumber,
- time : time
- },
- url:url,
- success:function(res){
- arr[0] =res.data.num;
- arr[1] =res.data.startPreparedMonth;
- arr[2] =res.data.openDate;
- }
- });
- return arr;
- }
- function getNowTime(){
- var date = new Date();
- var month = (date.getMonth() + 1) > 9 ? (date.getMonth() + 1) : '0'+(date.getMonth() + 1);
- return date.getFullYear() +"-"+ month;
- }
|