/**
|
* date:
|
* author: neeler
|
*/
|
|
//test data start
|
// var data_getList = Mock.mock('/company/getList.htm', {code: 0, 'list|5-20': [{id: 'id', companyNo: 'companyNo', note: 'note', name: 'name'}], pages: 12})
|
// var data_doDel = Mock.mock('/company/delItem.htm', {code: 0, errmsg: 'errmsg'})
|
// var data_doSave = Mock.mock('/company/saveItem.htm', {code: 0, errmsg: 'errmsg'})
|
//test data end
|
var YWDY = [{'name': '河南明泰铝业股份有限公司', 'code': '101'},
|
{'name': '河南明泰科技发展有限公司', 'code': '103'},
|
{'name': '郑州明泰实业有限公司', 'code': '102'},
|
{'name': '河南泰鸿新材料有限公司', 'code': '113'},
|
{'name': '河南明晟新材料科技有限公司', 'code': '111'},
|
{'name': '河南义瑞新材料科技有限公司', 'code': '114'},
|
];
|
|
window.I = {
|
PZ: 30,
|
keyword: $('#keyword'),
|
searchBtn: $('#searchBtn'),
|
pageValue: !!$('#p').val() ? $('#p').val() - 1 : 0,
|
keywordValue: $('#k').val(),
|
newObj: $('#newObj'),
|
modal: $('#modal'),
|
save: $('#save')
|
}
|
|
var Obj = {
|
id: 0,
|
companyNo: '',
|
name: '',
|
shortName: '',
|
note: '',
|
hasSPR: false //has self pickup right
|
}
|
|
var ViewModel = function() {
|
var self = this;
|
self.o = ko.observable(ko.mapping.fromJS(Obj));
|
|
self.keyword = ko.observable(I.keywordValue);
|
self.list = ko.observableArray();
|
|
//业务单元value
|
self.yvList = ko.observableArray();
|
//业务单元
|
self.ywdyList=ko.observableArray(YWDY);
|
|
self.edit = function(item) {
|
doEdit(item);
|
}
|
self.del = function(item) {
|
delConfirm(item);
|
}
|
}
|
|
$(function () {
|
window.vm = new ViewModel();
|
ko.applyBindings(vm);
|
$(".chosen-select").chosen();
|
$("#dp_chosen").width(270);
|
autoHeight();
|
doSearch();
|
pageInit();
|
});
|
|
function pageInit() {
|
$('.table-responsive').scroll(function() {
|
$('.th').css('top', $(this).scrollTop());
|
})
|
I.save.click(function(event) {
|
if (valid()) {
|
doSave();
|
}
|
});
|
I.newObj.click(function(event) {
|
vm.o(ko.mapping.fromJS(Obj));
|
vm.yvList.removeAll();
|
I.modal.modal('show');
|
});
|
I.searchBtn.click(function(event) {
|
doOpen();
|
});
|
I.modal.on('hidden.bs.modal', function (e) {
|
clearError();
|
});
|
I.keyword.on(ISIE ? 'keydown' : 'keyup', function (event) {
|
if (event.keyCode == 13) {
|
doOpen();
|
}
|
});
|
}
|
|
function doOpen() {
|
var k = $.trim(vm.keyword());
|
getList(k, 0, I.PZ, 1);
|
}
|
|
function doSearch() {
|
doOpen();
|
}
|
|
function getList(keyword, page, pagesize, pages) {
|
I._page = page;
|
$.post('/company/getList.htm', {
|
searchword: keyword,
|
page: page,
|
pagesize: pagesize,
|
pages: pages
|
}, function(data, textStatus, xhr) {
|
vm.list.removeAll();
|
if (data.code >= 1) {
|
//parent.showErrmsg(data.errmsg);
|
swal({title:'',text:data.errmsg,type:'error',confirmButtonText:'确定'});
|
return;
|
}
|
if (data.code == 0) {
|
if (isList(data.list)) {
|
$.each(data.list, function(index, val) {
|
val.hasSPR=ko.observable(val.hasSPR=='true'?true:false);
|
val.ywdyNames ='';
|
if(isList(val.ywList)){
|
for(var k=0;k<val.ywList.length;k++){
|
if(val.ywdyNames==''){
|
val.ywdyNames=val.ywList[k].name;
|
}else{
|
val.ywdyNames+=(','+val.ywList[k].name);
|
}
|
}
|
}
|
vm.list.push(val);
|
});
|
$('tbody tr').click(function (e) {
|
$('tbody tr').removeClass('info');
|
$(this).addClass('info');
|
});
|
}
|
if (!!pages) {
|
pages = data.pages;
|
$('#pagdiv').unbind('page').empty();
|
if (pages > 1) {
|
$('#pagdiv').bootpag({total: pages, maxVisible: 10, page: page + 1}).on('page',function(event,num){
|
getList(keyword, num - 1, pagesize, 0);
|
});
|
}
|
}
|
return;
|
}
|
}, 'json');
|
}
|
|
function valid(){
|
var isValid = false;
|
var iF = $('#form');
|
iF.validate({
|
rules: {
|
'companyNo': {
|
required: true
|
},
|
'name': {
|
required: true
|
}
|
},
|
messages: {
|
'companyNo': {
|
required: '不能为空!'
|
},
|
'name': {
|
required: '不能为空!'
|
}
|
},
|
errorPlacement: function (err, element) {
|
var p = element.parents('.form-group').eq(0);
|
var d = p.find('.text-error').eq(0);
|
d.css('color', '#D9534F');
|
err.appendTo(d);
|
}
|
})
|
isValid = iF.valid();
|
return isValid;
|
}
|
|
function doEdit(item) {
|
vm.o(ko.mapping.fromJS(item));
|
vm.yvList.removeAll();
|
if(isList(item.ywList)){
|
$.each(item.ywList, function(index, val) {
|
vm.yvList.push(val.code);
|
});
|
}
|
$('#dp').val(vm.yvList()).trigger("chosen:updated");
|
I.modal.modal('show');
|
}
|
|
function delConfirm(item) {
|
$("#modalContent").html('确定要删除【' + item.name + '】吗?');
|
$("#dialog-confirm").removeClass('hide').dialog({
|
resizable: false,
|
width: '320',
|
modal: true,
|
title: "<div class='widget-header'><h4 class='smaller'><i class='ace-icon fa fa-exclamation-triangle red'></i>确认信息</h4></div>",
|
title_html: true,
|
position: { my: "center", at: "center", of: window },
|
buttons: [
|
{
|
html: "<i class='ace-icon fa fa-trash-o bigger-110'></i> 确定",
|
"class" : "btn btn-danger btn-minier",
|
click: function() {
|
$( this ).dialog( "close" );
|
doDel(item);
|
}
|
}
|
,
|
{
|
html: "<i class='ace-icon fa fa-times bigger-110'></i> 取消",
|
"class" : "btn btn-minier",
|
click: function() {
|
$( this ).dialog( "close" );
|
}
|
}
|
]
|
});
|
}
|
|
function doDel(item) {
|
if (!!I.AjaxDelItem) return;
|
I.AjaxDelItem = true;
|
$.post('/company/delItem.htm', {companyNo: item.companyNo}, function(data, textStatus, xhr) {
|
I.AjaxDelItem = false;
|
if (data.code >= 1) {
|
//parent.showErrmsg(data.errmsg);
|
swal({title:'',text:data.errmsg,type:'error',confirmButtonText:'确定'});
|
return;
|
}
|
if (data.code == 0) {
|
vm.list.remove(item);
|
parent.showErrmsg('删除成功!');
|
return;
|
}
|
}, 'json');
|
}
|
|
function doSave() {
|
if (!I.AjaxSaveItem &&valid()) {
|
I.AjaxSaveItem = true;
|
I.save.prop('disabled', true);
|
var o = ko.mapping.toJS(vm.o());
|
o.ywdyNos=vm.yvList().join(',');
|
o.hasSPR = $('#hasSPR').prop('checked');
|
$.post('/company/saveItem.htm', o, function(data, textStatus, xhr) {
|
I.AjaxSaveItem = false;
|
I.save.prop('disabled', false);
|
if (data.code >= 1) {
|
//parent.showErrmsg(data.errmsg);
|
swal({title:'',text:data.errmsg,type:'error',confirmButtonText:'确定'});
|
return;
|
}
|
if (data.code == 0) {
|
parent.showErrmsg('保存成功!');
|
I.modal.modal('hide');
|
getList($.trim(vm.keyword()), I._page, I.PZ, 1);
|
return;
|
}
|
}, 'json');
|
}
|
}
|
|
function clearError() {
|
$('#form input').removeClass('error');
|
$('#form .text-error').html('');
|
}
|
|
function autoHeight() {
|
$('.page-content').css('min-height', $(parent.window).height() - 117);
|
$('.table-responsive').css('height', $(parent.window).height() - 217);
|
}
|