ng-options:
*ng-model
<select class="bs-select form-control" ng-model="queryModel.gl_code" ng-options="c.gl_code as c.gl_name for c in queryModel.category"></select>
*注意接口异步操作
for循环接口异步操作,递归解决
$scope.food = function() { $scope.hashModel = { hash: 0 } $scope.filter.data = [] $scope.filter.hashData = hashSignature($scope.hashModel); goodsService.queryTopCategory(13, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature).then(function(result){ // console.log(result); $scope.sub = function(i){ if(i == result.length) { $('#tree_1').jstree({ 'core' : { "multiple": false,//单选, "themes":{ "theme" : "classic", "dots" : true, "icons" : false }, 'data' : $scope.filter.data } }); } else { $scope.filter.hashData = hashSignature($scope.hashModel); goodsService.querySubClassification(14, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature, result[i].gl_code).then(function(result2){ // console.log(result2) var children = []; for(var j = 0; j < result2.length; j++) { children.push({'text': result2[j].gl_name, 'id': result2[j].gl_code}); } $scope.filter.data.push({'text':result[i].gl_name,'id': result[i].gl_code, 'children': children}); $scope.sub(i+1); }); } } $scope.sub(0); }); $('#tree_1').on("changed.jstree", function (e, data) { // console.log("The selected nodes are:"); // console.log(data.selected); // console.log(data.instance.get_node(data.selected[0]).text); if(data.selected[0].length == 4) { $scope.filter.goodSubmit = 1; $scope.addModel.gl_code = data.selected[0]; $scope.addModel.gl_name = data.instance.get_node(data.selected[0]).text; } else { $scope.filter.goodSubmit = 0; } }); $('#basic').modal('show'); }
MetronicApp.controller('productionGoodsManageController', function ($rootScope, $scope, $http, $timeout, goodsService) {
$scope.table = $('#sample_2').DataTable();
/*$scope.info = $scope.table.page.info();
console.log($scope.info);*/
$scope.queryModel={
c_id: "f3f3c9bf-d91a-4d1f-b338-dedadff6c35f",
g_name: '',
gl_code: "",
g_type: 0,
page: 1,
rows: $scope.table.page.info().length
};
$scope.productModel = {
pages: '',
products: []
};
$scope.filter = {
show_len: 5,
turn_len: 2,
g_types: [{code: 0, type: "标准商品"},{code: 1, type: "非标准商品"}],
g_type_array: ["标准商品","非标准商品"],
gll_code: "01"
};
$scope.loopQuery = function(p) {
//alert(p)
while($scope.queryModel.page < p) {
$scope.queryModel.page++;
$scope.filter.hashData = hashSignature($scope.queryModel);
goodsService.getMemberInfo(15, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature, $scope.queryModel).then(function(result){
//console.log(result);
for(var i = 0; i < $scope.queryModel.rows; i++) {
$scope.productModel.products.push(result.products[i]);
}
// console.log($scope.productModel);
});
}
};
//查询所有一级商品分类信息
$scope.filter.hashData = hashSignature($scope.queryModel);
goodsService.queryTopCategory(13, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature).then(function(result){
// console.log(result);
$scope.filter.category = result;
// console.log($scope.filter.category);
// alert($scope.queryModel.category[0].gl_name)
});
//根据父级商品分类编号查询子集商品分类
/*$scope.filter.hashData = hashSignature($scope.queryModel);
goodsService.querySubClassification(14, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature, $scope.filter.gll_code).then(function(result){
// console.log("sub");
$scope.queryModel.gl_code = result[0].gl_code;
$scope.filter.sub = result;
// console.log($scope.filter.sub);
})*/
//根据父级商品分类编号查询子集商品分类
$scope.querySub = function() {
$scope.filter.hashData = hashSignature($scope.queryModel);
goodsService.querySubClassification(14, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature, $scope.filter.gll_code).then(function(result){
// console.log("sub");
$scope.queryModel.gl_code = result[0].gl_code;
$scope.filter.sub = result;
// console.log($scope.filter.sub);
})
}
$scope.query = function() {
/*$scope.info = $scope.table.page.info();
console.log($scope.info);*/
$scope.queryModel.page = 1;
$scope.filter.hashData = hashSignature($scope.queryModel);
goodsService.getMemberInfo(15, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature, $scope.queryModel).then(function(result){
// console.log(result);
$scope.productModel.pages = result.paramcentcount;
$scope.productModel.products = result.paramData;
//$scope.productModel.pages = 3;
$scope.loopQuery(Math.min($scope.productModel.paramcentcount, $scope.filter.show_len));
});
};
/*$(".next").click(function () {
//alert("next")
});
$(".prev").click(function () {
//alert("prev")
});*/
$(".input-sm").change(function(){
//alert($(this).children('option:selected').val());
$scope.queryModel.rows = $(this).children('option:selected').val();
var ap = $scope.table.page.info().page;
var total = $scope.table.page.info().recordsTotal;
$scope.queryModel.page = parseInt(total/$scope.queryModel.rows);
var surplus = total%$scope.queryModel.rows;
if(surplus != 0) {
$scope.productModel.products.splice($scope.queryModel.page*$scope.queryModel.rows+1, surplus);
}
$scope.queryModel.page++;
$scope.filter.hashData = hashSignature($scope.queryModel);
goodsService.getMemberInfo(15, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature, $scope.queryModel).then(function(result){
//console.log(result);
$scope.productModel.pages = result.pages;
for(var i = 0; i < $scope.queryModel.rows; i++) {
$scope.productModel.products.push(result.products[i]);
}
console.log($scope.productModel);
});
if(ap + $scope.filter.turn_len > $scope.queryModel.page) {
$scope.loopQuery(Math.min(ap + $scope.filter.turn_len, $scope.productModel.pages));
}
});
$(".pagination").bind("click", "a", function() {
var ap = $scope.table.page.info().page;
if(ap + $scope.filter.turn_len > $scope.queryModel.page) {
$scope.loopQuery(Math.min(ap + $scope.filter.turn_len, $scope.productModel.pages));
}
// alert($scope.queryModel.page + " in " + $scope.queryModel.pages);
});
/*var table = $('#sample_2').DataTable();
$('#sample_2').on( 'page.dt', function () {
var info = table.page.info();
alert(info.page + " " + info.pages)
//$('#pageInfo').html( 'Showing page: '+info.page+' of '+info.pages );
} );*/
});
ng-bind-html:
<div ng-repeat="article in articles"> <div class="panel-heading"> <h4><b>{{article.title}}</b></h4> </div> <div class="panel-body"> <article id="word-display" ng-bind-html="article.content | trustHtml"> </article> </div> </div>
success(function (data) { $scope.articles = data; }); myApp.filter('trustHtml', function ($sce) { return function (input) { return $sce.trustAsHtml(input); } });
$interval:
var timer = $interval(function(){ }, 100, 3); timer.then(function(){ console.log("done"); }); var timer = $interval(function(){},100, 10); timer.then(success, error, notify); function success(){ console.log("done"); } function error(){ console.log("error"); } function notify(){ console.log("每次都更新"); } var timer = $interval(function(){},100, 10); this.cancel = function(){ $interval.cancel(timer); }