Administrator
2022-10-09 23f93897d618a5253a18b65b124196f95891f240
提交 | 用户 | 时间
58d006 1 /**
A 2 * date: 
3 * author: neeler 
4 */
5
6 //test data start
7 // var data_doDel = Mock.mock('/basicconfig/logisticals/del.htm', {code: 0, errmsg: '此岗位正在使用中不能删除!'})
8 // var data_doSave = Mock.mock('/basicconfig/logisticals/save.htm', {code: 0, errmsg: '此岗位正在使用中不能删除!'})
9 // var data_getList = Mock.mock('/basicconfig/logisticals/getList.htm', {code: 0, 'list|3-10': [{id: 0, name: 'name', pinyin: 'pinyin', jianpin: 'jianpin', helpcode: 'helpcode', address: 'address', state: true, departNo: '0105'}]})
10 //test data end
11
12 window.I = {
13     _dDB: {},
14     PZ: 30,
15     keyword: $('#keyword'),
16     searchBtn: $('#searchBtn'),
17     pageValue: !!$('#p').val() ? $('#p').val() - 1 : 0,
18     keywordValue: $('#k').val(),
19     newObj: $('#newObj'),
20     modal: $('#modal'),
21     save: $('#save')
22 }
23
24 var Obj = {
25     id: 0,
26     name: '',
27     pinyin: '',
28     jianpin: '',
29     helpcode: '',
30     address: '',
31     state: '',
32     // departNo: '',
33 }
34
35 var ViewModel = function() {
36     var self = this;
37     self.o = ko.observable(ko.mapping.fromJS(Obj));
38
39     self.keyword = ko.observable(I.keywordValue);
40     // self.departNo = ko.observable();
41     self.list = ko.observableArray();
42     self.dList = ko.observableArray();
43
44     self.edit = function(item) {
45         doEdit(item);
46     }
47     self.del = function(item) {
48         delConfirm(item);
49     }
50
51     self.state = function(item) {
52         doUsed(item);
53     }
54 }
55
56 $(function () {
57     window.vm = new ViewModel();
58     ko.applyBindings(vm);
59     //getDepartList();
60     pageInit();
61 });
62
63 function pageInit() {
64     I.save.click(function(event) {
65         if (valid()) {
66             doSave();
67         }
68     });
69     I.newObj.click(function(event) {
70         vm.o(ko.mapping.fromJS(Obj));
71         I.modal.modal('show');
72     });
73     I.searchBtn.click(function(event) {
74         doSearch();
75     });
76     I.modal.on('hidden.bs.modal', function (e) {
77         clearError();
78     });
79     I.keyword.on(ISIE ? 'keydown' : 'keyup', function (event) {
80         if (event.keyCode == 13) {
81             doSearch();
82         }
83     });
84     getList(null,  I.pageValue, I.PZ, 1) ;
85 }
86
87 function doOpen() {
88     var k = $.trim(vm.keyword());
89     k = !!k ? '?keyword=' + k : '';
90     window.open('lauZone.jsf' + k, '_self');
91 }
92
93 function doSearch() {
94     getList(vm.keyword(),I.pageValue, I.PZ, 1);
95 }
96
97 function doUsed(item) {
98     if (!I.AjaxChangeUsed) {
99         var state = !item.state();
100         I.AjaxChangeUsed = true;
101         $.post('/basicconfig/logisticals/used.htm', {id: item.id, state: state}, function(data, textStatus, xhr) {
102             I.AjaxChangeUsed = false;
103             if (data.code >= 1) {
104                 //parent.showErrmsg(data.errmsg);
105                 swal({title:'',text:data.errmsg,type:'error',confirmButtonText:'确定'}); 
106                 return;
107             }
108             if (data.code == 0) {
109                 item.state(state);
110                 return;
111             }
112         }, 'json');
113     }
114 }
115
116 function getList(name,  page, pagesize, pages) {
117     $.post('/basicconfig/logisticals/getList.htm', {
118         name: name,
119         page: page,
120         pagesize: pagesize,
121         pages: pages
122     }, function(data, textStatus, xhr) {
123         vm.list.removeAll();
124         if (data.code >= 1) {
125             // parent.showErrmsg(data.errmsg);
126             swal({title:'',text:data.errmsg,type:'error',confirmButtonText:'确定'}); 
127             return;
128         }
129         if (data.code == 0) {
130             if (isList(data.list)) {
131                 $.each(data.list, function(index, val) {
132                     val.state = ko.observable(val.state);
133                     vm.list.push(val);
134                 });
135             }
136             if (!!pages) {
137                 pages = data.pages;
138                 $('#pagdiv').unbind('page').empty();
139                 if (pages > 1) {
140                     $('#pagdiv').bootpag({total: pages, maxVisible: 10, page: page + 1}).on('page',function(event,num){
141                         // var k = !!I.keywordValue ? '&keyword=' + I.keywordValue : '';
142                         // window.open('lauZone.jsf?page=' + num + k, '_self');
143                         getList(name,  num - 1, pagesize, 0);
144                     });
145                 }
146             }
147             return;
148         }
149     }, 'json');
150 }
151
152 function valid(){
153     var isValid = false;
154     var iF = $('#form');
155     iF.validate({
156         rules: {
157             'name': {
158                 required: true
159             }
160         },
161         messages: {
162             'name': {
163                 required: '不能为空!'
164             }
165         },
166         errorPlacement: function (err, element) {
167             var p = element.parents('.form-group').eq(0);
168             var d = p.find('.text-error').eq(0);
169             d.css('color', '#D9534F');
170             err.appendTo(d);
171         }
172     })
173     isValid = iF.valid();
174     return isValid;
175 }
176
177 function doEdit(item) {
178     vm.o(ko.mapping.fromJS(item));
179     I.modal.modal('show');
180 }
181
182 function delConfirm(item) {
183     $("#modalContent").html('确定要删除【' + item.name + '】吗?');
184     $("#dialog-confirm").removeClass('hide').dialog({
185         resizable: false,
186         width: '320',
187         modal: true,
188         title: "<div class='widget-header'><h4 class='smaller'><i class='ace-icon fa fa-exclamation-triangle red'></i>确认信息</h4></div>",
189         title_html: true,
190         position: { my: "center", at: "center", of: window },
191         buttons: [
192             {
193                 html: "<i class='ace-icon fa fa-trash-o bigger-110'></i>&nbsp; 确定",
194                 "class" : "btn btn-danger btn-minier",
195                 click: function() {
196                     $( this ).dialog( "close" );
197                     doDel(item);
198                 }
199             }
200             ,
201             {
202                 html: "<i class='ace-icon fa fa-times bigger-110'></i>&nbsp; 取消",
203                 "class" : "btn btn-minier",
204                 click: function() {
205                     $( this ).dialog( "close" );
206                 }
207             }
208         ]
209     });
210 }
211
212 function doDel(item) {
213     if (!!I.AjaxDelItem) return;
214     I.AjaxDelItem = true;
215     $.post('/basicconfig/logisticals/del.htm', {id: item.id}, function(data, textStatus, xhr) {
216         I.AjaxDelItem = false;
217         if (data.code >= 1) {
218             //parent.showErrmsg(data.errmsg);
219             swal({title:'',text:data.errmsg,type:'error',confirmButtonText:'确定'}); 
220             return;
221         }
222         if (data.code == 0) {
223             vm.list.remove(item);
224             location.replace(location.href);
225             return;
226         }
227     }, 'json');
228 }
229
230 function doSave() {
231     if (!I.AjaxSaveItem &&valid()) {
232         I.AjaxSaveItem = true;
233         var o = ko.mapping.toJS(vm.o());
234         $.post('/basicconfig/logisticals/save.htm', o, function(data, textStatus, xhr) {
235             I.AjaxSaveItem = false;
236             if (data.code >= 1) {
237                 //parent.showErrmsg(data.errmsg);
238                 swal({title:'',text:data.errmsg,type:'error',confirmButtonText:'确定'}); 
239                 return;
240             }
241             if (data.code == 0) {
242                 showErrmsg('保存成功!');
243                 setTimeout(function() {
244                     location.replace(location.href);
245                 }, 1500);
246                 return;
247             }
248         }, 'json');
249     }
250 }
251
252 function clearError() {
253     $('#form input').removeClass('error');
254     $('#form .text-error').html('');
255 }
256
257 function getDepartList(keyword, page, pagesize, pages) {
258     $.post('/enterprise/depart/getList.htm', {
259         keyword: keyword,
260         page: page,
261         pagesize: pagesize,
262         pages: pages
263     }, function(data, textStatus, xhr) {
264         var allId = [];
265         vm.dList.removeAll();
266         if (data.code >= 1) {
267             //parent.showErrmsg(data.errmsg);
268             swal({title:'',text:data.errmsg,type:'error',confirmButtonText:'确定'}); 
269             return;
270         }
271         if (data.code == 0) {
272             if (isList(data.list)) {
273                 $.each(data.list, function (index, value) { 
274                     I._dDB[value.bianhao] = value.name;
275                     vm.dList.push(value);
276                 });
277             }
278             doSearch();
279             return;
280         }
281     }, 'json');
282 }