angularJs实现增删改查示例2-JS文件

var _appConfig={
url:{
insertOrUpdateUrl:"../../../../../salePermission/saveSalePermission",
getDetail:"../../../../../salePermission/querySalePermission",
deleteUrl:"../../../../../salePermission/delSalesPermission",
queryUrl:"../../../../../salePermission/querySalesPermission",
analysisUrl:"../../../../../salePermission/updateSalePermission",
initCreateUrls:"../../../../../salePermission/initCreate",
updateUrls:"../../../../../salePermission/updateSalePermission"
},
name:'单据属性配置'
};


//分页工具条依赖ui.bootstrap模块。 salesPers必须和html中ng-app=''的值保持一致】
var app = angular.module('salesPers',["ui.bootstrap"]); 
salesPersConroller 必须和html中 ng-controller=''的值保持一致
app.controller('salesPersConroller',function($scope,$http){

var customer=$scope.customer=_appConfig;

var vm = $scope.vm = {
condition:{},//变化的查询条件
oldCondition:{},//分页使用的查询条件
numPages:0,//总页数
total:0,
itemsPerPage: 10,//每页显示的记录条数
currentPage: 1,//当前页 
showPageButtonSize : 5,//分页栏显示的数字按钮的个数
items:[]//查询结果
};
//分页方法
vm.createPage=function(data){
vm.itemsPerPage=data.limit;
vm.numPages=parseInt(data.total/vm.itemsPerPage);
vm.currentPage=data.curPage;
vm.total=data.total;
vm.showPageButtonSize = (vm.numPages
vm.items = data.rows; //列表数据
};
//列表查询方法
vm.queryConfig= function (params){
if ($("#productId").val() != null && $("#productId").val() != "") {
params.productId = vm.productId;
}
if ($("#productPlanId").val() != null && $("#productPlanId").val() != "") {
params.productPlanId = vm.productPlanId;
}
//列表查询请求
$http.post(customer.url.queryUrl,params).success(function(data, status, headers, config){
if(data.error){
alert(data.message);
return ;
}
vm.productList=data.productList; //下拉初始化数据
vm.productLists=eval_r(data.productLists); //下拉初始化数据
vm.planjson=eval_r(data.planjson); //下拉初始化数据
vm.updateInfo.salesCode=data.saleCode;
vm.createPage(data.result); //列表查询初始化数据(分页)
setTimeout(function(){
   parent.initHeight();
},300);
     })  
};
//列表查询页面初始化方法
vm.initConfig =function(){
//在多窗口操作的页面中,允许父窗口传入参数
var condition=window.dialogArguments;
//调用列表查询方法
vm.queryConfig({"curPage":vm.currentPage,"size":vm.itemsPerPage,"condition":condition});
};
//新增界面初始化方法
vm.initCreate =function(){
var createpar={};
//初始化新增请求
$http.post(customer.url.initCreateUrls,createpar).success(function(data, status, headers, config){
if(data.error){
alert(data.message);
return ;
}
//下拉数据初始化
vm.productLists=eval_r(data.productJson);
vm.planjson=eval_r(data.planJson);
//模糊查询数据初始化
vm.salesManJson=data.salesManJson;
vm.channelCodeJson=data.channelCodeJson;
vm.deptList=data.deptJsons;
  })
.error(function(data, status, headers, config){
      alert("error");
     });
};
//新增、修改界面 标签模糊查询选中后,调用的方法,将例如【0000-全部】这样的数据,截取出0000入库,全部展示给客户看。
vm.οnblur=function(){
var str=$("#authorizedArea").val();
if(str.indexOf("-")>0){
var strs= new Array(); //定义一数组 
strs=str.split("-"); 

dialog.data.authorizedArea=strs[0];
dialog.data.authorizedAreaName=strs[1]; 
 
vm.updateInfo.authorizedArea=strs[0];
vm.updateInfo.authorizedAreaName=strs[1]; 
}  
}; 
//新增、修改界面标签模糊查询选中后,调用的方法,将例如【0000-全部】这样的数据,截取出0000入库,全部展示给客户看。
vm.onblurs=function(){
var str=$("#channelName").val();
if(str.indexOf("-")>0){
var strs= new Array(); //定义一数组 
strs=str.split("-"); 

dialog.data.channelCode=strs[0];
dialog.data.channelCodeName=strs[1]; 

vm.updateInfo.channelCode=strs[0];
vm.updateInfo.channelCodeName=strs[1]; 
}  
}; 
//新增、修改界面标签模糊查询选中后,调用的方法,将例如【0000-全部】这样的数据,截取出0000入库,全部展示给客户看。
vm.onblursForSale=function(){
var str=$("#saleName").val();
if(str.indexOf("-")>0){
var strs= new Array(); //定义一数组 
strs=str.split("-"); 

dialog.data.salesCode=strs[0];
dialog.data.salesName=strs[1]; 

vm.updateInfo.salesCode=strs[0];
vm.updateInfo.salesName=strs[1]; 
}  
}; 
//新增与修改界面 选中产品后根据产品找产品下面的方案(级联下拉)
vm.initPlan=function(){
var planParam={};
if ($("#productId").val()!= null && $("#productId").val()!= "") {
var proId=dialog.data.productId;
if(proId != null && proId != ""){
planParam.productId =dialog.data.productId;
}else{
planParam.productId =vm.updateInfo.productId;
}
}
$http.post(customer.url.initCreateUrls,planParam).success(function(data, status, headers, config){
if(data.error){
alert(data.message);
return ;
}
vm.productLists=eval_r(data.productJson);
vm.planjson=eval_r(data.planJson);
})
.error(function(data, status, headers, config){
alert("error");
});
};


//修改页面初始化
vm.updateInfo = {};
vm.initData =function (){
var url = location.search;  //获取url中"?"符后的字串 
var theRequest = new Object(); 
var id;
var falg;

if (url.indexOf("?") != -1) { 
var str = url.substr(1); 
strs = str.split("&"); 
id=strs[0].split("=")[1];
falg=strs[1].split("=")[1];
if(falg != '1'){
//falg为1是修改,不为1是预览,如果是预览,则要隐藏保存按钮
document.getElementByIdx_x_x_x_x_x("updateInfos").style.display = "none";
document.getElementByIdx_x_x_x_x_x("productId").disabled=true;
document.getElementByIdx_x_x_x_x_x("productPlanId").disabled=true;
document.getElementByIdx_x_x_x_x_x("authorizedArea").disabled=true;
document.getElementByIdx_x_x_x_x_x("saleName").disabled=true;
document.getElementByIdx_x_x_x_x_x("channelName").disabled=true;
}
dialog.item={"id":id};
$http.post(customer.url.getDetail,dialog.item).success(function(data, status, headers, config){
vm.updateInfo = data.info;
vm.productLists = eval_r(data.productJson);
vm.planjson = eval_r(data.planJson);
vm.salesManJson=data.salesManJson;
vm.updateInfo.salesName=data.saleName;
vm.updateInfo.authorizedAreaName=data.authorizedAreaName;
vm.deptList=data.deptJsons;
vm.channelCodeJson=data.channelList;
vm.updateInfo.channelCodeName=data.channelName;
     }).error(function(data, status, headers, config){
      alert("error");
     });
};
//换页按钮
vm.pageChanged= function(){
   var params={"curPage":vm.currentPage,"size":vm.itemsPerPage,"condition":vm.oldCondition};
vm.queryConfig(params); //查询
};
//点击查询按钮
vm.clickQuery= function(){
   var params={"curPage":1,"size":vm.itemsPerPage,"condition":vm.condition};
   vm.oldCondition=angular.copy(vm.condition);
vm.queryConfig(params);
};
//修改界面初始化查询条件【方案】
vm.initPlanForUpdate=function(){
var params2={};
if ($("#productId").val()!= null && $("#productId").val()!= "") {
params2.productId =vm.updateInfo.productId;
}
$http.post(customer.url.initCreateUrls,params2).success(function(data, status, headers, config){
if(data.error){
alert(data.message);
return ;
}
vm.productLists=eval_r(data.productJson);
vm.planjson=eval_r(data.planJson);
})
.error(function(data, status, headers, config){
alert("error");
});
};
//删除方法
vm.deleteConfig= function (){
var id=$('input[name="ids"]:checked').val(); //获取单选框被选中的值
if(id==null || id==""){
alert("请选择数据!");
return;
}
dialog.item.id=id;
       
var confirm = window.confirm("确认删除?"); 
if (!confirm) { 
return;
$http.post(customer.url.deleteUrl,dialog.item).success(function(data, status, headers, config){
if(data.error){
alert(data.message);
return ;
}
//删除选择的
var del=0;

angular.forEach(vm.items, function(item,i) {
if(item.$checked){
vm.items.splice(i-del++,1);
}
});
  }).error(function(data, status, headers, config){
      alert("error");
  });
};
//复选框全选按钮【全部选中】
vm.checkAll = function(checked) {
     angular.forEach(vm.items, function(item) {
         item.$checked = checked;
     });
};
//获取复选框被选中的项
  vm.selection = function() {
   var items=[];
   var index=0;
   angular.forEach(vm.items, function(item,i) {
      if(item.$checked){
      items[index++]=item;
      }
   });
   return items;
   };
   
 
  //修改功能【点击修改按钮跳转至修改界面】
  vm.update=function(obj){
   var id=$('input[name="ids"]:checked').val(); //获取被选中行的id
   if(id==null || id==""){
alert("请选择数据!");
return;
     }
//加载修改页面,带参
    document.location.href=
"/micro-plat/backend/views/micro/pages/salesPermissions/salesPermissions_update.html? id="+id+"&falg="+obj;
   };
 //修改功能【修改页面点击保存按钮后】
  vm.updateInfos = function () {
//
   var salename = $("#saleName").val();
   if(salename ==null || salename == ""){
   vm.updateInfo.salesCode = "";
   }
 
if(vm.updateInfo == null){
alert("BOSTYPE不能为空");
return;
}
if(vm.updateInfo.productId == null || vm.updateInfo.productId ==""){
alert("请选择产品!");
return;
}
if(vm.updateInfo.authorizedArea == "" && vm.updateInfo.salesCode == "" && vm.updateInfo.channelCode == ""){
alert("出单机构、业务员、渠道不能同时为空!");
return;
}
var confirm = window.confirm("确认提交?"); 
if (!confirm) { 
return;
$http.post(customer.url.updateUrls,vm.updateInfo) .success(function(data, status, headers, config){
var params={"curPage":vm.currentPage,"size":vm.itemsPerPage,"condition":vm.oldCondition};
vm.queryConfig(params);
alert("操作成功");
vm.updateInfo = null;
//修改成功,跳转至列表查询界面
document.location.href=
"/micro-plat/backend/views/micro/pages/salesPermissions/salesPermissions.html";
})
.error (function(data, status, headers, config){
alert("操作失败");
});
};

 //对话框
var dialog=$scope.dialog={
show_error : false,
show_type : 2,
title:'新增'+customer.name,
btn:'新增',
item: {}//新增或更新
};
//新增【新增页面,点击保存按钮后】
dialog.data = {};
dialog.insertOrUpdate = function () {
//
  var salename = $("#saleName").val();
  if(salename ==null || salename == ""){
   dialog.data.salesCode = "";
   }
  var channelName = $("#channelName").val();
  if(channelName == null || channelName == ""){
   dialog.data.channelCode = "";
   }
 
   var authorizedArea = $("#authorizedArea").val();
   if(authorizedArea == null || authorizedArea == ""){
   dialog.data.authorizedArea = "";
   }
//非空校验
if(dialog.data == null){
alert("BOSTYPE不能为空");
return;
}
if(dialog.data.productId == null || dialog.data.productId ==""){
alert("请选择产品!");
return;
}
if(dialog.data.authorizedArea == "" && dialog.data.salesCode == "" && dialog.data.channelCode == ""){
alert("出单机构、业务员、渠道不能同时为空!");
return;
}
var confirm = window.confirm("确定提交?"); 
if (!confirm) { 
return;
$http.post(customer.url.insertOrUpdateUrl,dialog.data) .success (function(data, status, headers, config){
var params={"curPage":vm.currentPage,"size":vm.itemsPerPage,"condition":vm.oldCondition};
vm.queryConfig(params);
alert("操作成功");
dialog.data = null;
//新增成功,跳转至列表查询界面
document.location.href=
"/micro-plat/backend/views/micro/pages/salesPermissions/salesPermissions.html";
})
.error(function(data, status, headers, config){
alert("操作失败");
});
};

})



//controller之外的
.directive("maxByte", function ($injector) {
var getBytes=$injector.get("getBytes");
      return {
            restrict: 'A',
            require: "ngModel",
            link: function (scope, element, attr, ctrl) {
                 if (ctrl) {
                       var customValidator = function (value) {
                       var total=attr.maxByte?attr.maxByte:0;
                              var validity = getBytes(value) <= total;
                              ctrl.$setValidity("maxByte", validity);
                              return validity ? value : undefined;
                        };
                        ctrl.$formatters.push(customValidator);
                        ctrl.$parsers.push(customValidator);
                  }
            }
      };
})
.directive("minByte", function ($injector) {
var getBytes=$injector.get("getBytes");
      return {
            restrict: 'A',
            require: "ngModel",
            link: function (scope, element, attr, ctrl) {
                 if (ctrl) {
                       var customValidator = function (value) {
                     var total=attr.minByte?attr.minByte:0;
                              var validity = getBytes(value) >= total;
                              ctrl.$setValidity("minByte", validity);
                              return validity ? value : undefined;
                        };
                        ctrl.$formatters.push(customValidator);
                        ctrl.$parsers.push(customValidator);
                  }
            }
      };
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值