define(['jquery', 'knockout', 'text!pages/assetManage/assetType/assetType.html', 'uui', 'uuigrid', 'jqueryui', 'jqueryGrid', 'uuitree', 'uuitreeExedit'], function ($, ko, template) {
var app, viewModel;
var m_meta;
var ctrlBathPath = ctx+'/asset/assetSort';
var classifyId,classifyCode,classifyName,parentId,parentCode,levelNum=0;
var copyFlag=false;
var beforeUpdateObj;//定义全局修改前的实体。用来和修改后的实体字段值比较
var mdata='',deData='';
var data = {"rows": ''};
var treeId = "bdComTree";
viewModel = {
treeSetting:{
view:{
showLine:false,
selectedMulti:false
},
callback:{
onClick:function(e,id,node){
treeNodeIsLeaf = node.isLeaf;
viewModel.events.treeComfirm();
},
onExpand:function(event, treeId, node){
var treeObj = $.fn.zTree.getZTreeObj(treeId);
var parentZNode = treeObj.getNodeByParam("id", node.id, null);
if(parentZNode.check_Child_State == "-1"){
parentId=node.id;
viewModel.events.expand();
}
},
onAsyncSuccess: function () {
var treeObj = $.fn.zTree.getZTreeObj(treeId);
zTreeObj.selectNode(treeObj.getNodesByParam('id', parentId)[0]);
}
}
},
treeData: new u.DataTable({
meta: {
'id': {
'value':""
},
'pid': {
'value':""
},
'title':{
'value':""
},
'code':{
'value':""
},
'levelNum':{
'value':""
},
'isLeaf':{
'value':""
}
}
}),
dataTable: new u.DataTable({
meta: {
"id": { type : 'string' },
"version": { type : 'integer' },
"code": { type : 'string' },
"name": { type : 'string' },
"classifyId": { type : 'string' },
"classifyCode": { type : 'string' },
"jildw": { type : 'float' },
"yujsynx": { type : 'string' },
"depmethodCode": { type : 'string' },
"isLeaf": { type : 'string' },
"parentCode": { type : 'string' },
"description": { type : 'string' },
"netSalvageRate": { type : 'float' },
"depmethodName": { type : 'string' },
"orgId": {type: 'string'}
}
}, this),
addDataTable : new u.DataTable({
meta: {
"code":{
type:'string',
required: true,
nullMsg: '资产分类代码不能为空!'
},
'name' : {
type:'string',
required: true,
nullMsg: '资产分类名称不能为空!'
},
'netSalvageRate' : {
type:'string',
required: false,
regExp : /^[0-9]+(.[0-9]{1,3})?$/,
maxLength : 30,
errorMsg: '只能输入[0,1)之间的数',
nullMsg: '净产值率不能为空!'
},
'yujsynx' : {
type:'string',
required: true,
regExp : /^[0-9\.]+$/,
maxLength : 4,
errorMsg: '只能输入数字',
nullMsg: '预算年度不能为空!'
},
"description" : {
type:'string',
maxLength : 200
}
}
}, this),
showInput: function (obj) {
if(obj.value==undefined){
obj.element.innerHTML = '<div class="operation-btn">'
+ '<div class="type-value"></div>'
+ '<input type="text" class="type-ipt" onblur="updateInputValue(this)">'
+ '</div>';
}else{
obj.element.innerHTML = '<div class="operation-btn">'
+ '<div class="type-value">' + obj.value + '</div>'
+ '<input type="text" class="type-ipt" onblur="updateInputValue(this)">'
+ '</div>';
}
},
showSelect: function (obj) {
var selectValue=obj.value;
var mhtml='';
if(selectValue==''){
mhtml += '<option selected="selected"></option>';
}
if(deData.length==0){
mhtml += '<option></option>';
}else{
for (var i = 0; i < deData.length; i++) {
if(selectValue==deData[i].code){
mhtml += '<option selected="selected" name='+deData[i].name+' value='+deData[i].code + '>'+deData[i].name+'</option>'
}else{
mhtml += '<option name='+deData[i].name+' value='+deData[i].code + '>'+deData[i].name+'</option>'
}
}
}
obj.element.innerHTML = '<div class="operation-btn"><select onchange="saveOptionValue(this)">'+ mhtml+ '</select><i class="fa fa-caret-down"></i></div>'
},
showSel: function (obj) {
var selectValue=obj.value;
var html='';
if(selectValue==''){
html += '<option selected="selected"></option>';
}
if(mdata.length==0 ){
html += '<option></option>';
}else{
for (var i = 0; i < mdata.length; i++) {
if(mdata[i].code==selectValue){
html += '<option selected="selected" name='+mdata[i].name+' value='+mdata[i].code +'>'+mdata[i].name+'</option>'
}else {
html += '<option name='+mdata[i].name+' value='+mdata[i].code + '>'+mdata[i].name+'</option>'
}
}
}
obj.element.innerHTML = '<div class="operation-btn"><select onchange="saveOptionValue(this)">'+ html+ '</select><i class="fa fa-caret-down"></i></div>'
},
afterCreateFun: function () {
assetHeight();
},
events:{
/*第一次显示树*/
initExpand : function(){
var searchKey = $("#tree-searchInput").val();
var levelNum = (searchKey==""?"1":"");
$.ajax({
type : 'GET',
url : ctrlBathPath+'/getAssetTypeDetailTree',
data : {"classifyId":classifyId,"levelNum":levelNum},
m_meta:m_meta,
success : function(result) {
if(result.flag == 'SUCCESS'){
var dataObj = result.data;
var zNodes = [];
var treeObj = $.fn.zTree.getZTreeObj(treeId);
if(dataObj != null){
var initMeta = '{"status":"nrm","data":{'
+ '"id":"'+ classifyId +'",'
+ '"pid":"root",'
+ '"open":"true",'
+ '"code":"'+ classifyCode +'",'
+ '"name":"'+ classifyName +'",'
+ '"title":"'+ classifyCode + '-' + classifyName +'",'
+ '"levelNum":"0",'
+ '"isLeaF":"' + (dataObj.length == 0?"1":"0") + '"'
+ '}}';
zNodes.push(JSON.parse(initMeta));
for (var i =0; i< dataObj.length; i++){
var meta = "{";
meta += '"status"';
meta += ":";
meta += '"nrm",';
meta += '"data"';
meta += ":";
meta += "{";
meta += '"id":"'+ dataObj[i].id +'",';
meta += '"pid":"'+ (dataObj[i].parentId==null?classifyId:dataObj[i].parentId) +'",';
meta += '"title":"'+ dataObj[i].code + '-' +dataObj[i].name +'",';
meta += '"code":"'+ dataObj[i].code +'",';
meta += '"name":"'+ dataObj[i].name +'",';
meta += '"jildw":"'+ dataObj[i].jildw +'",';
meta += '"yujsynx":"'+ dataObj[i].yujsynx +'",';
meta += '"netSalvageRate":"'+ dataObj[i].netSalvageRate +'",';
meta += '"depmethodName":"'+ dataObj[i].depmethodName +'",';
meta += '"depmethodCode":"'+ dataObj[i].depmethodCode +'",';
meta += '"description":"'+ dataObj[i].description +'",';
meta += '"isLeaf":"'+ dataObj[i].isLeaf +'",';
meta += '"levelNum":"'+ (dataObj[i].levelNum) +'"';
meta += "}";
meta += "}";
zNodes.push(JSON.parse(meta));
}
}
data.rows= zNodes;
viewModel.treeData.clear();
viewModel.treeData.setData(data);
for(var i=0;i<dataObj.length;i++){
var node=treeObj.getNodeByParam("id", dataObj[i].id, null);
if(dataObj[i].isLeaf == 0){
node.isParent=true;
treeObj.updateNode(node);
}
}
if(searchKey != null && searchKey != ""){
viewModel.events.selectTreeBySearch(searchKey);
}
// if(typeof(parentId) != "undefined" && parentId != ""){
// var selectNode = treeObj.getNodeByParam("id", parentId, null);
// treeObj.selectNode(selectNode);
// treeObj.removeChildNodes(selectNode);
// viewModel.events.expand();
// }
} else {
u.showMessage({msg:result.msg, msgType:"error"});
}
}
});
},
/*展开树*/
expand : function(){
$.ajax({
type : 'GET',
url : ctrlBathPath+'/getAssetTypeDetailTreeByParentId',
data : {"parentId":parentId},
m_meta:m_meta,
success : function(result) {
if(result.flag == 'SUCCESS'){
var dataObj = result.data;
var zNodes = [];
var treeObj = $.fn.zTree.getZTreeObj(treeId);
/*子节点*/
var parentZNode = treeObj.getNodeByParam("id", parentId, null);
if(parentZNode.check_Child_State == "-1"){
for (var i =0; i< dataObj.length; i++){
console.info(dataObj[i].depmethodCode);
var newNode = {id:dataObj[i].id,pId:dataObj[i].parentId,name:dataObj[i].code + '-' +dataObj[i].name,code:dataObj[i].code,isLeaf:dataObj[i].isLeaf,levelNum:dataObj[i].levelNum,jildw:dataObj[i].jildw,netSalvageRate:dataObj[i].netSalvageRate,yujsynx:dataObj[i].yujsynx,depmethodName:dataObj[i].depmethodName,description:dataObj[i].description};
treeObj.addNodes(parentZNode, newNode);
}
}
if(dataObj.length<1){
parentZNode.isParent=false;
treeObj.updateNode(parentZNode);
}
for(var i=0;i<dataObj.length;i++){
var node=treeObj.getNodeByParam("id", dataObj[i].id, null);
if(dataObj[i].isLeaf == 0){
node.isParent=true;
treeObj.updateNode(node);
}
}
} else {
u.showMessage({msg:result.msg, msgType:"error"});
}
}
});
},
/*树查询*/
selectTreeBySearch : function(searchKey){
var treeObj = $.fn.zTree.getZTreeObj(treeId);
var openList = treeObj.getNodesByParam("open",true);
for( var i=0; i<openList.length; i++) {
openList[i].open = false;
treeObj.updateNode(openList[i]);
}
var allNodes = treeObj.transformToArray(treeObj.getNodes());
treeObj.hideNodes(allNodes);
var nodeList = treeObj.getNodesByParamFuzzy("name",searchKey);
for( var i=0; i<nodeList.length; i++) {
treeObj.expandNode(nodeList[i].getParentNode(), true, false, false); /*将搜索到的节点的父节点展开 */
treeObj.showNode(nodeList[i]);
}
openList = treeObj.getNodesByParam("open",true);
for( var i=0; i<openList.length; i++) {
treeObj.showNode(openList[i]);
}
},
/*树的双击或确认*/
treeComfirm:function(){
var treeObj = $.fn.zTree.getZTreeObj(treeId);
var node = treeObj.getSelectedNodes()[0];
levelNum=node.levelNum;
if(levelNum ==0){
parentId='';
parentCode='';
}else{
parentId=node.id;
parentCode=node.code;
}
/*单击树的操作放这里*/
viewModel.events.queryMain();
$('.pop-close').click();
},
/*查询计量单位*/
queryMeasureUnit:function(){
$.ajax({
type : 'GET',
url : ctrlBathPath + '/queryMeasureUnit',
data:{eleType:'MEASURE_UNIT'},
dataType : 'json',
m_meta:m_meta,
success : function(result) {
if (result.flag == 'SUCCESS') {
mdata=result.data.eleTypeData;
var html='';
if(mdata.length==0){
html += '<option></option>';
}else{
for (var i = 0; i < mdata.length; i++) {
html += '<option name='+mdata[i].name+' value='+mdata[i].code + '>'+mdata[i].name+'</option>'
}
}
$("#childJLDW").append(html);
} else {
mdata='';
}
}
});
},
/*查询折旧方法*/
queryDepMethod:function(){
$.ajax({
type : 'GET',
url : ctrlBathPath + '/queryDepMethod',
data:{depmethodType:'DEPMETHOD'},
dataType : 'json',
m_meta:m_meta,
success : function(result) {
if (result.flag == 'SUCCESS') {
deData=result.data.depmethodData;
var html='';
if(deData.length==0){
html += '<option></option>';
}else{
for (var i = 0; i < deData.length; i++) {
html += '<option name='+deData[i].name+' value='+deData[i].code + '>'+deData[i].name+'</option>'
}
}
$("#childZJFF").append(html);
} else {
deData='';
}
}
});
},
/*查询左侧的资产类别版本集合*/
queryAssetSortList:function(){
$.ajax({
type : 'GET',
url : ctrlBathPath+'/getAssetSortList',
m_meta:m_meta,
success : function(result) {
if(result.flag=='SUCCESS'){
var html ="";
$(".assetType-list").remove();
var dataObj = result.data;
var selectId="";//保存默认选中的资产类别id,等for循环结束后拼接到页面后,对默认选中的设置radio选中
for(var i = 0,length = dataObj.length;i < length;i++){
if(dataObj[i].isDefault=="1"){
selectId=dataObj[i].id;
}
if(dataObj[i].status == "0"){
html += '<li id="'+dataObj[i].id+'" code="'+dataObj[i].code+'" name="'+dataObj[i].name+'" isDefault="'+dataObj[i].isDefault+'" remark="'+dataObj[i].remark+'" version="'+dataObj[i].version+'" status="'+dataObj[i].status+'" orgId="'+dataObj[i].orgId+'" year="'+dataObj[i].year+'" class="assetType-list not-enabled" title="">'
+ '<p class="clearfix"><label class="u-radio default-version"><input type="radio" class="u-radio-button" name="options">'
+ '<span class="u-radio-label">默认版本</span></label></p><p id="assetTypeCode" class="standard-name">'+dataObj[i].code+'</p>'
+ '<p class="standard-name">'+dataObj[i].name+'</p><div class="standard-btn"><button class="assetTypeCopy"><i class="fa fa-files-o"></i><span>复制</span></button>'
+ '<button class="startUse"><i class="fa fa-unlock-alt"></i><span>启用</span></button></div></li>'
}
if(dataObj[i].status == "1"){
html += '<li id="'+dataObj[i].id+'" code="'+dataObj[i].code+'" name="'+dataObj[i].name+'" isDefault="'+dataObj[i].isDefault+'" remark="'+dataObj[i].remark+'" version="'+dataObj[i].version+'" status="'+dataObj[i].status+'" orgId="'+dataObj[i].orgId+'" year="'+dataObj[i].year+'" class="assetType-list cur" title="">'
+ '<p class="clearfix"><label class="u-radio default-version"><input type="radio" class="u-radio-button" name="options">'
+ '<span class="u-radio-label">默认版本</span></label></p><p id="assetTypeCode" class="standard-name">'+dataObj[i].code+'</p>'
+ '<p class="standard-name">'+dataObj[i].name+'</p><div class="standard-btn"><button class="assetTypeCopy"><i class="fa fa-files-o"></i><span>复制</span></button>'
+ '<button class="stopUse lock-config"><i class="fa fa-lock"></i><span>停用</span></button></div></li>'
}
}
$(".standard-list").html(html);
//按钮绑定事件-复制
$(".assetTypeCopy").off('click').on("click",function(){
copyFlag=true;
classifyId=$(this).parent().parent().attr('id');
classifyCode=$(this).parent().parent().attr('code');
classifyName=$(this).parent().parent().attr('name');
var code=$(this).parent().parent().attr('code');
var name=$(this).parent().parent().attr('name');
var year=$(this).parent().parent().attr('year');
var remark=$(this).parent().parent().attr('remark');
$("#code").val(code);
$("#name").val(name);
$("#year").val(year);
$("#remark").val(remark);
$('#standardModal').modal('show');
});
//按钮绑定事件-停用
$(".stopUse").off('click').on("click",function(){
classifyId=$(this).parent().parent().attr('id');
classifyCode=$(this).parent().parent().attr('code');
classifyName=$(this).parent().parent().attr('name');
var id= $(this).parent().parent().attr('id');
var version= $(this).parent().parent().attr('version');
var params={};
params['id']=id;
params['version']=version;
params['status']="0";
viewModel.events.updateAssetTypeStatus(params);
});
//按钮绑定事件-启用
$(".startUse").off('click').on("click",function(){
classifyId=$(this).parent().parent().attr('id');
classifyCode=$(this).parent().parent().attr('code');
classifyName=$(this).parent().parent().attr('name');
var id= $(this).parent().parent().attr('id');
var version= $(this).parent().parent().attr('version');
var params={};
params['id']=id;
params['version']=version;
params['status']="1";
viewModel.events.updateAssetTypeStatus(params);
});
//选中左侧的效果,绑定查询数据
$('.standard-list li').off('click').on("click",function(){
$('.standard-list li').removeClass('select-li');
$(this).addClass('select-li');
//下面三个全局变量不能动,供别的方法传参使用
classifyId= $(this).attr('id');
classifyCode=$(this).attr('code');
classifyName=$(this).attr('name');
levelNum=0;
viewModel.events.initExpand();
viewModel.events.queryMain();
});
//选中radio按钮
$('.default-version input').change(function(){
var radioValue;
var isDefault=$(this).parent().parent().parent().attr('isDefault');
if(isDefault=='0'){
radioValue='1';
}else{
radioValue='0';
}
var id= $(this).parent().parent().parent().attr('id');
var version= $(this).parent().parent().parent().attr('version');
var orgId= $(this).parent().parent().parent().attr('orgId');
var params={};
params['id']=id;
params['version']=version;
params['isDefault']=radioValue;
params['orgId']=orgId;
viewModel.events.updateIsDefault(params);
});
//设置默认选中的设置radio选中
$('.standard-list li[isDefault=1]').find('label').find('input').attr("checked","checked");
$('.standard-list li[isDefault=1]').click();
u.compMgr.updateComp();
}
}
});
},
/*查询主数据*/
queryMain:function(){
var queryData = {};
var LIKE_name = $('#assetType_search').val();
queryData["searchKey"] = LIKE_name;
queryData["classifyId"] = classifyId;
if(levelNum ==0){
parentId='';
}
var levelNumTemp=levelNum;
queryData["levelNum"] = eval(eval(levelNumTemp)+1);
queryData["parentId"] = parentId;
queryData["pageIndex"] = viewModel.dataTable.pageIndex();
queryData["pageSize"] = viewModel.dataTable.pageSize();
$.ajax({
type : 'POST',
data : queryData,
url : ctrlBathPath+'/getAssetSortDetailByConditions',
m_meta:m_meta,
success : function(result) {
if(result.flag=='SUCCESS'){
var dataObj = result.data;
viewModel.dataTable.setSimpleData(result.data.content);
viewModel.dataTable.totalPages(result.data.totalPages);
viewModel.dataTable.totalRow(result.data.totalElements);
viewModel.dataTable.setAllRowsUnSelect();
u.compMgr.updateComp();
}
},
});
},
/*翻页*/
pageChangeFunc : function(index) {
viewModel.dataTable.pageIndex(index);
viewModel.events.queryMain();
},
/*修改每页显示个数*/
sizeChangeFunc : function(size) {
viewModel.dataTable.pageSize(size);
viewModel.dataTable.pageIndex(0);
viewModel.events.queryMain();
},
addOneAssetTypeClassify:function(queryData){
$.ajax({
type : 'POST',
url : ctrlBathPath+'/addOneAssetType',
m_meta:m_meta,
contentType: 'application/json',
data:JSON.stringify(queryData),
success : function(result) {
if(result.flag=='SUCCESS'){
u.showMessage({msg:"新增成功!",msgType:"success"});
$('#standardModal').modal('hide');
viewModel.events.queryAssetSortList();
}else{
if(result.msg=='001'){
u.showMessage({msg:"编码重复,新增失败!",msgType:"error"});
}else{
u.showMessage({msg:"新增失败!",msgType:"error"});
}
}
}
});
},
CopyAssetTypeInfo:function(queryData){
$.ajax({
type : 'POST',
url : ctrlBathPath+'/CopyAssetTypeInfo',
m_meta:m_meta,
contentType: 'application/json',
data:JSON.stringify(queryData),
success : function(result) {
if(result.flag=='SUCCESS'){
copyFlag=false;
u.showMessage({msg:"复制成功!",msgType:"success"});
$('#standardModal').modal('hide');
viewModel.events.queryAssetSortList();
}else{
if(result.msg=='001'){
u.showMessage({msg:"编码重复,复制失败!",msgType:"error"});
}else{
u.showMessage({msg:"复制失败!",msgType:"error"});
}
}
}
});
},
insertOneMaterialclass:function(addObj){
$.ajax({
type : 'POST',
url : ctrlBathPath+'/insertOneMaterialclass',
m_meta:m_meta,
contentType: 'application/json',
data:JSON.stringify(addObj),
success : function(result) {
if(result.flag=='SUCCESS'){
u.showMessage({msg:"新增成功!",msgType:"success"});
var treeObj = $.fn.zTree.getZTreeObj(treeId);
var selectNode = treeObj.getNodeByParam("id", parentId, null);
treeObj.selectNode(selectNode);
treeObj.removeChildNodes(selectNode);
selectNode.isParent = true;
treeObj.updateNode(selectNode);
viewModel.events.expand();
treeObj.expandNode(selectNode, true, true, true);
viewModel.events.queryMain();
}else{
u.showMessage({msg:result.msg,msgType:"error"});
}
},
complete:function(){
/*清空之前输入的数据*/
$("#childCode").val('');
$("#childName").val('');
$("#childNetSalvageRate").val(0);
$("#childYujsynx").val(0);
$("#childDescription").val('');
}
});
},
batchDeleteMaterialclass:function(list){
$.ajax({
type : 'POST',
url : ctrlBathPath+'/batchDeleteMaterialclass',
m_meta:m_meta,
contentType: 'application/json',
data:JSON.stringify(list),
success : function(result) {
if(result.flag=='SUCCESS'){
u.showMessage({msg:"删除成功!",msgType:"success"});
viewModel.events.initExpand();
viewModel.events.queryMain();
}else{
u.showMessage({msg:result.msg,msgType:"error"});
}
}
});
},
batchUpdateMaterialclass:function(list){
$.ajax({
type : 'POST',
url : ctrlBathPath+'/batchUpdateMaterialclass',
m_meta:m_meta,
contentType: 'application/json',
data:JSON.stringify(list),
success : function(result) {
if(result.flag=='SUCCESS'){
u.showMessage({msg:"保存成功!",msgType:"success"});
viewModel.events.queryMain();
}else{
u.showMessage({msg:"保存失败!"+result.msg,msgType:"error"});
}
}
});
},
updateAssetTypeStatus:function(params){
$.ajax({
type : 'GET',
url : ctrlBathPath+'/updateAssetTypeStatus',
m_meta:m_meta,
data:params,
success : function(result) {
if(result.flag=='SUCCESS'){
u.showMessage({msg:"操作成功!",msgType:"success"});
viewModel.events.queryAssetSortList();
}else{
u.showMessage({msg:"操作失败!",msgType:"error"});
}
}
});
},
updateIsDefault:function(params){
$.ajax({
type : 'GET',
url : ctrlBathPath+'/updateIsDefault',
m_meta:m_meta,
data:params,
success : function(result) {
if(result.flag=='SUCCESS'){
u.showMessage({msg:"设置成功!",msgType:"success"});
}else{
u.showMessage({msg:"设置失败!",msgType:"error"});
}
}
});
},
}
};
/*每次失去焦点都执行更新动作*/
window.updateInputValue=function(obj){
$(obj).hide();
$(obj).siblings('.type-value').show();
var val = $(obj).val();
var index = $(obj).parents('tr').index();
if($(obj).parents('td').index() == 0){
if(val==undefined || val.length==0){
u.showMessage({msg:"类别代码不能为空!",msgType:"warning"});
return false;
}
var reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
if(reg.test(val)){
u.showMessage({msg:"类别代码不能包含汉字!",msgType:"warning"});
return false;
}
var codeHistory=beforeUpdateObj.code;
if(codeHistory==val){
//如果没有值的变化,不必走后台了。
return false;
}
var treeObj = $.fn.zTree.getZTreeObj("bdComTree");
var id=viewModel.dataTable.getRow(index).getValue("id");
var name=viewModel.dataTable.getRow(index).getValue("name");
var node = treeObj.getNodeByParam("id", id, null);
node['name']=val+'-'+name;
treeObj.updateNode(node);
/*资产类别代码更新*/
viewModel.dataTable.getRow(index).setValue('code',val);
viewModel.dataTable.getRow(index).setValue('remark',codeHistory);//通过remark传递后台原始值,以便比较code发生变化时,对应子节点的parentCode要更新。
}
if($(obj).parents('td').index() == 1){
if(val==undefined || val.length==0){
u.showMessage({msg:"类别名称不能为空!",msgType:"warning"});
return false;
}
var nameHistory=beforeUpdateObj.name;
if(nameHistory==val){
//如果没有值的变化,不必走后台了。
return false;
}
var treeObj = $.fn.zTree.getZTreeObj("bdComTree");
var id=viewModel.dataTable.getRow(index).getValue("id");
var code=viewModel.dataTable.getRow(index).getValue("code");
var node = treeObj.getNodeByParam("id", id, null);
node['name']=code+'-'+val;
treeObj.updateNode(node);
/*资产名称名称更新*/
viewModel.dataTable.getRow(index).setValue('name',val);
viewModel.dataTable.getRow(index).setValue('remark',nameHistory);//通过remark传递后台原始值,以便比较name发生变化时,对应子节点的parentName要更新。
}
if($(obj).parents('td').index() == 3){
var yujsynxHistory=beforeUpdateObj.yujsynx;
if(yujsynxHistory==val){
//如果没有值的变化,不必走后台了。
return false;
}
/*折旧月数更新*/
viewModel.dataTable.getRow(index).setValue('yujsynx',val);
}
if($(obj).parents('td').index() == 5){
var parentCodeHistory=beforeUpdateObj.parentCode;
if(parentCodeHistory==val){
//如果没有值的变化,不必提示了。
return false;
}
u.showMessage({msg:"不支持修改上级代码!", msgType:"warning"});
viewModel.dataTable.getRow(index).setValue('parentCode',parentCodeHistory);
return false;
}
if($(obj).parents('td').index() == 6){
var descriptionHistory=beforeUpdateObj.description;
if(descriptionHistory==val){
//如果没有值的变化,不必走后台了。
// u.showMessage({msg:"修改成功!", msgType:"success"});
return false;
}
/*说明更新*/
viewModel.dataTable.getRow(index).setValue('description',val);
}
if($(obj).parents('td').index() == 7){
var netSalvageRateHistory=beforeUpdateObj.netSalvageRate;
if(netSalvageRateHistory==val){
//如果没有值的变化,不必走后台了。
return false;
}
/*经残值率更新*/
var regu = "^[0-9]+(.[0-9]{1,3})?$";
var re = new RegExp(regu);
if (!re.test(val)) {
u.showMessage({msg:"输入内容格式不正确!",msgType:"warning"});
return false;
}
viewModel.dataTable.getRow(index).setValue('netSalvageRate',val);
}
var obj=viewModel.dataTable.getRow(index).getSimpleData();
$.ajax({
type : 'POST',
url : ctrlBathPath+'/updateByClassifyIdAndIdAndVersion',
data : JSON.stringify(obj),
contentType: 'application/json',
m_meta:m_meta,
success : function(result) {
if(result.flag == 'SUCCESS'){
u.showMessage({msg:"修改成功!", msgType:"success"});
viewModel.events.queryMain();
} else {
u.showMessage({msg:result.msg, msgType:"error"});
}
}
});
}
/*当下拉值有变化时,执行更新*/
window.saveOptionValue=function(obj){
var name=$(obj).find( "option:selected").text();
var code=$(obj).find( "option:selected").val();
var index = $(obj).parents('tr').index();
if($(obj).parents('td').index() == 2){
/*计量单位更新*/
viewModel.dataTable.getRow(index).setValue('jildw',code);
}
if($(obj).parents('td').index() == 4){
/*折旧方法更新*/
viewModel.dataTable.getRow(index).setValue('depmethodCode',code);
viewModel.dataTable.getRow(index).setValue('depmethodName',name);
}
var obj=viewModel.dataTable.getRow(index).getSimpleData();
$.ajax({
type : 'POST',
url : ctrlBathPath+'/updateByClassifyIdAndIdAndVersion',
data : JSON.stringify(obj),
contentType: 'application/json',
m_meta:m_meta,
success : function(result) {
if(result.flag == 'SUCCESS'){
u.showMessage({msg:"修改成功!", msgType:"success"});
viewModel.events.queryMain();
} else {
u.showMessage({msg:result.msg, msgType:"error"});
}
}
});
}
function assetHeight() {
D.DM.commonWidth();
$('.content-side').css({'height': D.windowHeight - D.headerHeight - D.contentBtn - 43});
$('.standard-list').css({'height': D.windowHeight - D.headerHeight - D.contentBtn - 43});
$('.type-tree').css({'height': D.windowHeight - D.headerHeight - D.contentBtn - 1});
$('.type-tree .ztree').css({'height': D.windowHeight - D.headerHeight - D.contentBtn - 43});
var gridheight1 = D.windowHeight - D.headerHeight - D.contentBtn - 130;
var tableH1 = $('.type-table .u-grid-content-div table').height();
if (tableH1 >= gridheight1) {
$('.type-table .u-grid-content-div').css({'height': gridheight1, 'overflowY': 'auto'});
} else {
$('.type-table .u-grid-content-div').css({'height': 'auto', 'overflowY': 'hidden'});
}
}
window.onresize = function() {
assetHeight();
};
var init = function (args) {
m_meta=args.m_meta;
app = u.createApp({
el: '#content',
model: viewModel
});
//初始化加载计量单位,折旧方法
viewModel.events.queryMeasureUnit();
viewModel.events.queryDepMethod();
//查询左侧数据列表
viewModel.events.queryAssetSortList();
u.compMgr.updateComp();
D.DM.commonWidth();
assetHeight();
/*点击新增页面 资产类别版本的保存按钮*/
$('#assetTypeSaveButton').on('click', function () {
var code = $.trim($('#code').val());
var name = $.trim($('#name').val());
var year = $.trim($('#year').val());
var remark = $.trim($('#remark').val());
if(code=='' || code.length==0){
u.messageDialog({ msg:"资产分类代码不能为空!", title: "提示框", btnText: "确定" });
return false;
}
var reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
if(reg.test(code)){
u.showMessage({msg:"资产分类代码不能包含汉字!",msgType:"warning"});
return false;
}
if(name=='' || name.length==0){
u.messageDialog({ msg:"资产分类名称不能为空!", title: "提示框", btnText: "确定" });
return false;
}
if(year=='' || year.length==0){
u.messageDialog({ msg:"发布年度不能为空!", title: "提示框", btnText: "确定" });
return false;
}
var regu=/^(1949|19[5-9]\d|20\d{2}|2100)$/;
if (!regu.test(year)) {
u.showMessage({msg:"请输入正确年份格式!",msgType:"warning"});
return false;
}
var queryData={};
queryData['code']=code;
queryData['name']=name;
queryData['year']=year;
queryData['remark']=remark;
if(copyFlag){
queryData['id']=classifyId;
if(classifyCode==code){
u.messageDialog({msg:"资产类别代码重复!",title:"提示框",btnText:"确定"});
return false;
}
viewModel.events.CopyAssetTypeInfo(queryData);
}else{
viewModel.events.addOneAssetTypeClassify(queryData);
}
});
/*搜索按钮*/
$('.fa-search').on('click',function(){
viewModel.events.queryMain();
});
//每次弹框要先清除数据
$('.plus-standard').click(function(){
$('#code').val('');
$('#name').val('');
$('#year').val('');
$('#remark').val('');
copyFlag=false;
$('#standardModal').modal('show');
});
/*按下回车键触发*/
$(".gs-input").keydown(function(event){
if(event.keyCode == "13"){
viewModel.events.queryMain();
}
});
/*搜索输入框*/
$(".gs-input").keyup(function(event){
if($.trim($(this).val()) == ''){
viewModel.dataTable.pageIndex(0);
viewModel.events.queryMain();
}
});
/*删除功能*/
$('.deleteRow').on('click',function(){
var rows=viewModel.dataTable.getSelectedRows();
if(rows.length==0){
u.showMessage({msg:"请选择要删除的行",msgType:"warning"});
}else{
var index=viewModel.dataTable.getSelectedIndices();
var rowData=[];
for(var i=0;i<index.length;i++){
var obj=viewModel.dataTable.getRow(index[i]).getSimpleData();
/*判断删除的这个节点是不是末级,只有是末级的才执行删除*/
var isLeaf=obj.isLeaf
if(isLeaf==0){
u.showMessage({msg:"要删除的行不是末级节点!",msgType:"warning"});
return false;
}
rowData.push(obj);
}
u.confirmDialog({
msg: "是否删除?",
title: "删除确认",
onOk: function() {
viewModel.events.batchDeleteMaterialclass(rowData);
},
onCancel: function() {}
});
}
});
/*以下方法都是新的*/
/*左侧菜单缩进*/
$(".side-control-in").on('click',function(){
if($(this).find('span').hasClass('fa fa-caret-left')){
$('.content-side-left').hide();
$('.content-side-right').css('margin-left', '0');
$('.side-control-in').find('span').removeClass('fa-caret-left').addClass('fa fa-caret-right');
$(this).css('left', '0');
}else{
$('.content-side-left').show();
$('.content-side-right').css('margin-left', '251px');
$('.side-control-in').find('span').removeClass('fa-caret-right').addClass('fa fa-caret-left');
$(this).css('left', '250px');
}
});
/*左侧菜单缩进end*/
/*双击输入*/
$('.grid-bg').on('dblclick', '.type-value', function () {
$(this).hide();
$(this).siblings('input').show().focus();
var index = $(this).parents('tr').index();
var thisValue = $(this).text();
$(this).siblings('input').val(thisValue);
beforeUpdateObj=viewModel.dataTable.getRow(index).getSimpleData();
});
/*失去焦点*/
/*
$('.grid-bg').on('blur', '.type-ipt', function () {
$(this).attr('disabled', true);
});*/
/*新增资产类别*/
$('.add-type').on('click', function () {
if(classifyCode==undefined ||classifyCode.length==0){
u.messageDialog({ msg:"请先选择资产类别!", title: "提示框", btnText: "确定" });
return false;
}
/*清空之前输入的数据*/
$("#childCode").val('');
$("#childName").val('');
$("#childNetSalvageRate").val(0);
$("#childYujsynx").val(0);
$("#childDescription").val('');
if(levelNum==0){
/*增加的是根节点,则空着,清空*/
$("#parentCode").text("");
$("#parentName").text("");
$("#parentJLDW").text("");//计量单位
$("#parentJCZL").text("");//净残值率
$("#parentZJYS").text("");//折旧月数
$("#parentZJFF").text("");//折旧方法
$("#parentDescription").text('');//说明
}else{
/*增加的非根节点*/
var treeObj = $.fn.zTree.getZTreeObj(treeId);
var node = treeObj.getSelectedNodes()[0];
$("#parentCode").text(node.code);
$("#parentName").text(node.name.split("-")[1]);
var jldwCode=node.jildw;
var jldwName;
if(jldwCode==undefined || jldwCode.length==0 || mdata.length==0 || jldwCode == "null"){
$("#parentJLDW").text('');//计量单位
}else{
for (var i = 0; i < mdata.length; i++) {
if(mdata[i].code==jldwCode){
jldwName=mdata[i].name;
}
}
$("#parentJLDW").text(jldwName);//计量单位
}
var netSalvageRate=node.netSalvageRate;
if(netSalvageRate==null ||netSalvageRate=='null'||netSalvageRate==undefined){
$("#parentJCZL").text('');//净残值率
}else{
$("#parentJCZL").text(node.netSalvageRate);//净残值率
}
if(node.yujsynx=="null" ||node.yujsynx==null||node.yujsynx==undefined){
$("#parentZJYS").text('');//折旧月数
}else{
$("#parentZJYS").text(node.yujsynx);//折旧月数
}
if(node.depmethodName=="null" || node.depmethodName==null ||node.depmethodName==undefined){
$("#parentZJFF").text('');//折旧方法
}else{
$("#parentZJFF").text(node.depmethodName);//折旧方法
}
if(node.description==undefined || node.description=='null' || node.description==null){
$("#parentDescription").text('无');//说明
}else{
$("#parentDescription").text(node.description);//说明
}
}
$('#typeModal').modal('show');
});
//保存按钮
$("#saveAssetBut").on('click',function(){
//获取新增页面的值
var code=$("#childCode").val();
if (code=='' || code.length==0) {
u.showMessage({msg:"资产分类代码不能为空!",msgType:"warning"});
return false;
}
var reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
if(reg.test(code)){
u.showMessage({msg:"资产分类代码不能包含汉字!",msgType:"warning"});
return false;
}
var name=$("#childName").val();
if (name=='' ||name.length==0) {
u.showMessage({msg:"资产分类名称不能为空!",msgType:"warning"});
return false;
}
var netSalvageRate=$("#childNetSalvageRate").val();
var regu1 =/^[0-9]+(.[0-9]{1,3})?$/;
if (!regu1.test(netSalvageRate)) {
u.showMessage({msg:"输入内容格式应为0到1的小数!",msgType:"warning"});
return false;
}
var yujsynx=$("#childYujsynx").val();
var regu2 =/^[-+]?\d*$/;
if(!regu2.test(yujsynx)){
u.showMessage({msg:"输入内容应为整数!",msgType:"warning"});
return false;
}
var description=$("#childDescription").val();
var option=$("#childJLDW option:selected"); //获取计量单位选中的项
var jldwCode = option.val(); /*计量单位码*/
var jldwName = option.text(); /*计量单位名称*/
var option=$("#childZJFF option:selected"); //获取折旧方法选中的项
var zjffCode = option.val(); /*折旧方法码*/
var zjffName = option.text(); /*折旧方法名称*/
var addObj={};
addObj['classifyId']=classifyId;
addObj['classifyCode']=classifyCode;
addObj['classifyName']=classifyName;
addObj['code']=code;
addObj['name']=name;
addObj['description']=description;
addObj['yujsynx']=yujsynx;
addObj['netSalvageRate']=netSalvageRate;
addObj['depmethodCode']=zjffCode;
addObj['depmethodName']=zjffName;
addObj['jildw']=jldwCode;
if(levelNum>0){
addObj['parentId']=parentId;
addObj['parentCode']=parentCode;
}
var levelNum1=eval(eval(levelNum)+1);
addObj['levelNum']=levelNum1;
if(levelNum1==2){
addObj['code1']=parentCode;
addObj['id1']=parentId;
}else if(levelNum1==3){
addObj['code2']=parentCode;
addObj['id2']=parentId;
}else if(levelNum1==4){
addObj['code3']=parentCode;
addObj['id3']=parentId;
}else if(levelNum1==5){
addObj['code4']=parentCode;
addObj['id4']=parentId;
}else if(levelNum1==6){
addObj['code5']=parentCode;
addObj['id5']=parentId;
}
viewModel.events.insertOneMaterialclass(addObj);
});
/*资产分类树查询start*/
$("#tree-searchBtn").off('click').on('click',function(){
viewModel.events.initExpand();
});
/*按下回车键触发*/
$("#tree-searchInput").keydown(function(event){
if(event.keyCode == "13"){
viewModel.events.initExpand();
}
});
/*资产分类树查询end*/
};
return {
'model': viewModel,
'template': template,
'init': init
};
});
zTree前端js
最新推荐文章于 2020-12-23 11:27:49 发布