首页 > 代码库 > angularjs 1 开发简单案例(包含common.js,service.js,controller.js,page)
angularjs 1 开发简单案例(包含common.js,service.js,controller.js,page)
common.js
1 var app = angular.module(‘app‘, [‘ngFileUpload‘]) 2 .factory(‘SV_Common‘, function ($http) { 3 var data =http://www.mamicode.com/ { 4 WebService: ‘‘, 5 }; 6 var vm = { 7 log: function (par, par1) { 8 return; 9 if (par1) { 10 console.log(‘********** common: ‘ + par + ‘ |‘, par1); 11 } else { 12 console.log(‘********** common: ‘ + par); 13 } 14 }, 15 getData: function () { 16 return data; 17 }, 18 getWebService: function () { 19 if (!data.WebService || data.WebService == ‘‘) { 20 throw { error: ‘Request setWebService‘ }; 21 } 22 return data.WebService; 23 }, 24 setWebService: function (par) { 25 data.WebService = par; 26 vm.log(‘set websercie to [‘ + data.WebService + ‘]‘); 27 }, 28 getRequest: function (func, pars) { 29 return { 30 method: ‘POST‘, 31 url: vm.getWebService() + func, 32 headers: { 33 //‘Content-Type‘: ‘json‘, 34 ‘Content-Type‘: ‘application/x-www-form-urlencoded‘, 35 }, 36 data: pars, 37 dataType: ‘json‘, 38 } 39 }, 40 http: function (func, pars, cb) { 41 var re = { status: "0", context: "Internet Error" }; 42 var req = vm.getRequest(func, pars); 43 vm.log(‘http ‘ + req.url, req.data); 44 $http(req).then(function (res) { 45 if (res.statusText == "OK") { 46 re = res.data; 47 } 48 if (cb) { 49 cb(re); 50 } 51 }, function (e) { 52 console.log(‘================ error:‘, e); 53 if (cb) { 54 cb(re); 55 } 56 }); 57 }, 58 http_post: function (func, pars, cb) { 59 var re = { status: "0", context: "Internet Error" }; 60 var req = vm.getRequest(func, pars); 61 vm.log(‘post ‘ + req.url, req.data); 62 63 $http.post(req.url, req.data).then(function (res) { 64 if (res.statusText == "OK") { 65 re.status = "1"; 66 re.context = res.data; 67 } 68 cb(re); 69 }, function (e) { 70 console.log(‘================ error:‘, e); 71 if (cb) { 72 cb(re); 73 } 74 }); 75 }, 76 ajax_post: function (func, pars, cb) { 77 var re = { status: "0", context: "Internet Error" }; 78 $.ajax({ 79 type: "POST", 80 contentType: "application/json", 81 url: vm.getWebService() + func, 82 data: pars, 83 dataType: ‘json‘, 84 success: function (result) { 85 console.log(result); 86 }, 87 error: function (e) { 88 console.log(e); 89 } 90 }); 91 }, 92 FormatDate: function (strTime) { 93 var date = new Date(strTime); 94 if (date.getFullYear() > ‘2000‘) { 95 var day = date.getDate(); 96 var month = date.getMonth(); 97 if (day < 10 || day < 10) { 98 day = ‘0‘ + day; 99 }100 if (month < 10 || month < 10) {101 month = ‘0‘ + (month + 1);102 }103 date = day + ‘/‘ + month + "/" + date.getFullYear();104 }105 else {106 date = null;107 }108 return date;109 },110 FormatDate1: function (strTime) {111 var date = new Date(strTime);112 console.log(date);113 if (date.getFullYear() < ‘2000‘) {114 date = ‘‘;115 }116 return date;117 },118 };119 return vm;120 })121 .factory(‘SV_Popup‘, function ($timeout) {122 var data =http://www.mamicode.com/ {};123 var vm = {124 getSide: function (side) {125 var res = ‘r0‘;126 if (side) {127 switch (side) {128 case ‘center‘:129 res = ‘c0‘;130 break;131 case ‘centerLarger‘:132 res = ‘cl0‘;133 break;134 case ‘right‘:135 res = ‘r0‘;136 break;137 case ‘rightLarge‘:138 res = ‘rl0‘;139 break;140 }141 }142 return res;143 },144 SetPopup: function (source, side) {145 if (!source) {146 console.log(‘============== request source‘);147 return;148 }149 //console.log(source);150 source.popup = {151 curCss: vm.getSide(side),152 cssList: {153 ‘c0‘: ‘float_window_popup float_window_popup_init‘,154 ‘c1‘: ‘float_window_popup float_window_popup_show‘,155 ‘c2‘: ‘float_window_popup float_window_popup_hide‘,156 ‘cl0‘: ‘float_window_centerl float_window_centrel_init‘,157 ‘cl1‘: ‘float_window_centerl float_window_centrel_show‘,158 ‘cl2‘: ‘float_window_centerl float_window_centrel_hide‘,159 160 161 ‘r0‘: ‘float_window_right float_window_right_init‘,162 ‘r1‘: ‘float_window_right float_window_right_show‘,163 ‘r2‘: ‘float_window_right float_window_right_hide‘,164 ‘rl0‘: ‘float_window_right float_window_right_init‘,165 ‘rl1‘: ‘float_window_right float_window_rightl_show‘,166 ‘rl2‘: ‘float_window_right float_window_rightl_hide‘,167 },168 toggle: function (sc, par) {169 if (sc && sc.popup) {170 var t = ‘‘;171 if (!par) {172 switch (sc.popup.curCss) {173 case ‘‘:174 case ‘c0‘:175 t = ‘c1‘;176 break;177 case ‘c1‘:178 t = ‘c2‘;179 break;180 case ‘c2‘:181 t = ‘c0‘;182 break;183 case ‘cl0‘:184 t = ‘cl1‘;185 break;186 case ‘cl1‘:187 t = ‘cl2‘;188 break;189 case ‘cl2‘:190 t = ‘cl0‘;191 break;192 193 case ‘r0‘:194 t = ‘r1‘;195 break;196 case ‘r1‘:197 t = ‘r2‘;198 break;199 case ‘r2‘:200 t = ‘r0‘;201 break;202 case ‘rl0‘:203 t = ‘rl1‘;204 break;205 case ‘rl1‘:206 t = ‘rl2‘;207 break;208 case ‘rl2‘:209 t = ‘rl0‘;210 break;211 }212 } else {213 t = par;214 }215 //console.log(‘============== ‘ + sc.popup.curCss + ‘->‘ + t);216 if (t == ‘c2‘ || t == ‘cl2‘ || t == ‘r2‘ || t == ‘rl2‘) {217 $timeout(function () {218 sc.popup.toggle(sc);219 }, 200);220 }221 sc.popup.curCss = t;222 } else {223 console.log(‘============== request source‘);224 }225 },226 show: function (sc) {227 if (sc && sc.popup) {228 var tt = sc.popup.curCss;229 if (tt && tt.length > 0) {230 tt = tt.substring(0, tt.length - 1) + ‘1‘;231 sc.popup.toggle(sc, tt);232 } else {233 sc.popup.toggle(sc);234 }235 } else {236 console.log(‘============== request source‘);237 }238 },239 hide: function (sc) {240 if (sc && sc.popup) {241 var tt = sc.popup.curCss;242 if (tt && tt.length > 0) {243 tt = tt.substring(0, tt.length - 1) + ‘2‘;244 sc.popup.toggle(sc, tt);245 } else {246 sc.popup.toggle(sc);247 }248 } else {249 console.log(‘============== request source‘);250 }251 },252 253 }254 }255 }256 return vm;257 })258 .directive(‘bxPager‘, function () {259 return {260 restrict: ‘E‘,261 replace: true,262 scope: {263 fData: ‘=‘,264 },265 template: function (el, at) {266 var re = "";267 re += ‘<div class="pager">268 Total <strong>{{fData.data.totalItems}}</strong> items, 269 <input type="text" class="pager_input" ng-model="fData.data.pageSize" ng-change="f_pager.pageSize_Change();" />270 Page Size.271 <a class="pager_button" ng-click="f_pager.curPage_AddValue(-fData.data.totalPages);" style="margin-left: 30px;">|<</a>272 <a class="pager_button" ng-click="f_pager.curPage_AddValue(-1);" ng-disabled="fData.data.curPage<=1"><</a>273 <input type="text" class="pager_input" ng-model="fData.data.curPage" ng-change="f_pager.curPage_Change();" />/{{fData.data.totalPages}} Pages 274 <a class="pager_button" ng-click="f_pager.curPage_AddValue(1);" ng-disabled="fData.data.curPage>=fData.data.totalPages">></a>275 <a class="pager_button" ng-click="f_pager.curPage_AddValue(fData.data.totalPages);">>|</a>276 </div>‘;277 return re;278 },279 controller: function ($scope, $element, $attrs, $transclude) {280 281 $scope.f_pager = {282 pageSize_Change: function () {283 var i = parseInt($scope.fData.data.pageSize);284 if (i && i >= 0) {285 $scope.fData.data.pageSize = ‘‘ + i;286 } else {287 if ($scope.fData.data.pageSize == ‘AL‘) {288 $scope.fData.data.pageSize = ‘0‘;289 } else {290 $scope.fData.data.pageSize = ‘ALL‘;291 }292 }293 $scope.fData.data.curPage = 1;294 if ($scope.fData.refresh && typeof ($scope.fData.refresh) == ‘function‘) {295 $scope.fData.refresh();296 }297 },298 curPage_Change: function () {299 var i = parseInt($scope.fData.data.curPage);300 if (i && i > 0) {301 if (i > $scope.fData.data.totalPages) {302 $scope.fData.data.curPage = $scope.fData.data.totalPages;303 } else {304 $scope.fData.data.curPage = i;305 }306 } else {307 $scope.fData.data.curPage = 0;308 }309 if ($scope.fData.refresh && typeof ($scope.fData.refresh) == ‘function‘) {310 $scope.fData.refresh();311 }312 },313 curPage_AddValue: function (v) {314 var i = parseInt(v);315 //console.log($scope.fData.data.curPage,i);316 if (i) {317 var temp = $scope.fData.data.curPage + i;318 if (temp < 1) {319 temp = 1;320 }321 if (temp > $scope.fData.data.totalPages) {322 temp = $scope.fData.data.totalPages;323 }324 if (temp != $scope.fData.data.curPage) {325 $scope.fData.data.curPage = temp;326 //SV_List.refresh(null, function (res) { });327 //console.log($scope.fRefresh);328 if ($scope.fData.refresh && typeof ($scope.fData.refresh) == ‘function‘) {329 $scope.fData.refresh();330 }331 }332 }333 }334 }335 }336 }337 });
service.js
1 app.factory(‘SV_AssignExport‘, function ($http, SV_Common) { 2 var data =http://www.mamicode.com/ { 3 pager: { 4 totalItems: 0, 5 totalPages: 10, 6 curPage: 0, 7 pageSize: ‘100‘, 8 }, 9 search: {},10 client: {11 title: ‘客户/Client‘,12 list:[]13 },14 list: [],15 refnos: {},16 row: {},17 show:false,18 }19 var vm = {20 init: function () {21 SV_Common.setWebService(‘JobService.asmx‘);22 data.search = {23 From: new Date(),24 To: new Date(),25 DateBy: ‘Job‘,26 Type: ‘WGR‘,27 JobNo: ‘‘,28 BookingNo: ‘‘,29 HblNo: ‘‘,30 Vessel: ‘‘,31 Product: ‘‘,32 Client: ‘‘,33 ClientName: ‘‘,34 };35 vm.refresh_client();36 },37 GetData: function () {38 return data;39 },40 refresh: function (pars, cb) {41 var pars = angular.copy(data.search);42 pars.From = moment(pars.From).format(‘YYYYMMDD‘);43 pars.To = moment(pars.To).add(1, ‘days‘).format(‘YYYYMMDD‘);44 pars.curPage = data.pager.curPage;45 pars.pageSize = data.pager.pageSize;46 console.log(pars);47 var func = "/List_AssignCargo_GetData";48 SV_Common.http(func, pars, function (res) {49 if (res.status == true) {50 data.pager.curPage = res.context.curPage;51 data.pager.totalPages = res.context.totalPages;52 data.pager.totalItems = res.context.totalItems;53 var temp = res.context.list;54 data.list = res.context.list;55 }56 if (cb) {57 cb(res);58 }59 })60 },61 save: function (par, cb) {62 var pars = angular.copy(par);63 var func = "/Save_AssignExport_Data";64 SV_Common.http(func, pars, function (res) {65 if (res.status == true) {66 vm.refresh();67 }68 if (cb) {69 cb(res);70 }71 })72 },73 refresh_client: function (par, cb) {74 var pars = {};75 var func = "/MasterData_Client";76 SV_Common.http(func, pars, function (res) {77 if (res.status == ‘1‘) {78 data.client.list = res.context;79 }80 if (cb) {81 cb(res);82 }83 });84 },85 86 }87 vm.init();88 return vm;89 90 })
controller.js
1 app.controller(‘Ctrl_AssignExport‘, function ($scope, SV_AssignExport, $timeout, SV_Popup, $http) { 2 $scope.log = ‘‘; 3 $scope.vm = SV_AssignExport.GetData(); 4 $scope.newStock = {}; 5 $scope.OrderId = ‘‘; 6 $scope.action = { 7 data: [‘master‘, ‘job‘,‘cargo‘], 8 save: function () { 9 SV_AssignExport.save($scope.vm, function (res) { 10 //console.log(‘=============‘, $scope.vm); 11 if (res.status == true) { 12 parent.notice(‘Save Successful‘); 13 } else { 14 parent.notice(‘Save False‘, ‘‘, ‘error‘); 15 } 16 }); 17 }, 18 createExport: function () { 19 var pol = document.getElementById(‘pol‘); 20 SV_AssignExport.creatExport($scope.vm, function (res) { 21 //console.log(‘=============‘, $scope.vm); 22 console.log(res); 23 if (res.status == true) { 24 parent.notice(‘Create Successful!‘, ‘Job No is ‘ + res.context, ‘‘); 25 } else { 26 parent.notice(‘Save False‘, ‘‘, ‘error‘); 27 } 28 }); 29 }, 30 search: function () { 31 SV_AssignExport.refresh(null, function (res) { 32 //console.log(‘=============‘, $scope.vm); 33 if (res.status == true) { 34 parent.notice(‘Refresh Successful‘); 35 } else { 36 parent.notice(‘Refresh False‘, ‘‘, ‘error‘); 37 } 38 }); 39 }, 40 openTabJob: function (row) { 41 parent.navTab.openTab(row.JobNo, "/PagesContTrucking/Job/JobEdit.aspx?no=" + row.JobNo, { title: row.JobNo, fresh: false, external: true }); 42 }, 43 search_callback: function () { 44 45 }, 46 selectClient: function () { 47 $scope.action.is_show(‘master‘); 48 $scope.masterData.show($scope.vm.client, $scope.action.selectClient_callback); 49 }, 50 selectClient_callback: function (res) { 51 //console.log(res); 52 $scope.vm.search.Client = res.c; 53 $scope.vm.search.ClientName = res.n; 54 }, 55 selectPol: function () { 56 $scope.action.is_show(‘master‘); 57 $scope.masterData.show($scope.vm.pol, $scope.action.selectPol_callback); 58 59 }, 60 selectPol_callback: function (res) { 61 //console.log(res); 62 $scope.vm.newJob.Pol = res.c; 63 }, 64 selectExportJob: function () { 65 $scope.action.is_show(‘job‘); 66 $scope.masterData.show($scope.vm.job, $scope.action.selectJob_callback); 67 }, 68 selectJob_callback: function (res) { 69 //console.log(res); 70 $scope.vm.newJob.JobNo = res.c; 71 }, 72 is_show: function (type) { 73 for (var i = 0; i < $scope.action.data.length; i++) { 74 var obj = $scope.action.data[i]; 75 var n = document.getElementById(obj); 76 var add = document.getElementById(‘add‘); 77 var save = document.getElementById(‘save‘); 78 if (type == obj) { 79 // $(‘#‘ + type).removeClass(‘hide‘); 80 n.style.display = "block"; 81 } 82 else { 83 //$(‘#‘ + obj).addClass(‘hide‘); 84 n.style.display = "none"; 85 } 86 if (type == "cargo") { 87 add.style.display = "table-cell"; 88 save.style.display = "table-cell"; 89 } 90 else { 91 add.style.display = "none"; 92 save.style.display = "none"; 93 } 94 } 95 }, 96 selectAll: function () { 97 var btnSelect = document.getElementById(‘btnSelect‘); 98 if (btnSelect.innerHTML == "Select All") 99 btnSelect.innerHTML="UnSelect All";100 else101 btnSelect.innerHTML="Select All";102 jQuery("input.checkbox").each(function () {103 this.click();104 });105 },106 assignDate: function () {107 108 var refnos = "";109 jQuery("input.checkbox").each(function () {110 if (this.checked)111 refnos += this.id + ‘,‘;112 });113 var pos = refnos;114 if (refnos.length > 0) {115 SV_AssignExport.assign($scope.vm, pos, function (res) {116 //console.log(‘=============‘, $scope.vm);117 if (res.status == true) {118 parent.notice(‘Assign Successful‘);119 } else {120 parent.notice(‘Assign False‘, ‘‘, ‘error‘);121 }122 });123 }124 else {125 parent.notice(‘Assign False,Pls select at least one‘, ‘‘, ‘error‘);126 }127 },128 assginToExport: function () {129 var refnos = "";130 jQuery("input.checkbox").each(function () {131 if (this.checked)132 refnos += this.id + ‘,‘;133 });134 var pos = refnos;135 var newJobNo = document.getElementById(‘newJobNo‘);136 if (newJobNo.valuehttp://www.mamicode.com/=="") {137 parent.notice(‘Assign False! ‘, ‘Pls select at least one Export Job‘, ‘error‘);138 }139 else if (refnos=="") {140 parent.notice(‘Assign False!‘, ‘ Pls select at least one‘, ‘error‘);141 }142 else {143 SV_AssignExport.assignToExport($scope.vm, pos, function (res) {144 //console.log(‘=============‘, $scope.vm);145 if (res.status == true) {146 parent.notice(‘Assign Successful‘);147 } else {148 parent.notice(‘Assign False‘, ‘‘, ‘error‘);149 }150 });151 152 }153 },154 pick: function (row) {155 SV_AssignExport.pickToExport($scope.vm,row, function (res) {156 //console.log(‘=============‘, $scope.vm);157 if (res.status == true) {158 parent.notice(‘Assign Successful‘);159 } else {160 parent.notice(‘Assign False‘, ‘‘, ‘error‘);161 }162 });163 },164 openStockList: function (row) {165 $scope.action.is_show(‘cargo‘);166 $scope.OrderId = row.Id;167 SV_AssignExport.refresh_stock(row, $scope.action.openStockList_callback);168 },169 openStockList_callback: function (res) {170 $scope.masterData.show($scope.vm.sku,null);171 },172 addStock: function (par) {173 var add = document.getElementById(‘newStock‘);174 var save = document.getElementById(‘save‘);175 if (par == "New") {176 $scope.newStock = {};177 add.style.display = "table-row";178 save.style.display = "none";179 }180 else if (par == "Save") {181 $scope.newStock.OrderId = $scope.OrderId;182 SV_AssignExport.saveStock($scope.newStock, ‘ONE‘, function (res) {183 //console.log(‘=============‘, $scope.vm);184 if (res.status == true) {185 parent.notice(‘Save Successful‘);186 add.style.display = "none";187 } else {188 parent.notice(‘Save False‘, ‘‘, ‘error‘);189 }190 });191 }192 },193 cancelStock: function () {194 var save = document.getElementById(‘save‘);195 var add = document.getElementById(‘newStock‘);196 save.style.display = "table-cell";197 add.style.display = "none";198 },199 saveStock: function () {200 var add = document.getElementById(‘newStock‘);201 SV_AssignExport.saveStock($scope.vm.sku,‘ALL‘, function (res) {202 //console.log(‘=============‘, $scope.vm);203 if (res.status == true) {204 parent.notice(‘Save Successful‘);205 add.style.display = "none";206 } else {207 parent.notice(‘Save False‘, ‘‘, ‘error‘);208 }209 });210 },211 }212 $scope.masterData =http://www.mamicode.com/ {213 data: {214 list: [],215 no: ‘‘,216 title: ‘‘,217 selectCallback: null,218 219 },220 show: function (dd, cb) {221 $scope.masterData.data =http://www.mamicode.com/ dd;222 $scope.masterData.selectCallback = cb;223 $scope.masterData.popup.show($scope.masterData);224 },225 hide: function () {226 $scope.masterData.data =http://www.mamicode.com/ {};227 $scope.masterData.popup.hide($scope.masterData);228 },229 select: function (row) {230 if ($scope.masterData.selectCallback && typeof ($scope.masterData.selectCallback) == ‘function‘) {231 //$scope.action.selectClient_callback(row);232 $scope.masterData.selectCallback(row);233 }234 $scope.masterData.hide();235 },236 }237 $scope.pager = {238 //===========data.totalItems: 0,239 //===========data.totalPages: 10,240 //===========data.curPage: 0,241 //===========data.pageSize: ‘15‘,242 data: SV_AssignExport.GetData().pager,243 refresh: function () {244 $scope.action.search();245 //console.log(‘============ refresh‘);246 }247 }248 249 SV_Popup.SetPopup($scope.masterData, ‘center‘);250 //$scope.action.get_booking(clientRefNo.value);files251 })
显示的页面分别引用上面的文件
在<html xmlns="http://www.w3.org/1999/xhtml" >添加属性ng-app="app"
在body 添加属性ng-controller="Ctrl_AssignExport"
angularjs 1 开发简单案例(包含common.js,service.js,controller.js,page)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。