|
@@ -8,11 +8,12 @@ $("#drirect-dinge").click(function(){
|
|
|
|
|
|
var pageOprObj = {
|
|
|
rationLibName : null,
|
|
|
- initPage : function() {
|
|
|
+ initPage : function(container) {
|
|
|
var me = this, rationLibName = getQueryString("repository");//获取定额库参数
|
|
|
if (rationLibName) {
|
|
|
me.rationLibName = rationLibName;
|
|
|
repositoryGljObj.getGljTree(rationLibName, function(repId){
|
|
|
+ repositoryGljObj.buildSheet(container);
|
|
|
repositoryGljObj.getGljItems(repId);
|
|
|
});
|
|
|
}
|
|
@@ -22,15 +23,17 @@ repositoryGljObj = {
|
|
|
treeObj : null,
|
|
|
workBook: null,
|
|
|
gljAllTypeId: -1,
|
|
|
+ gljCurTypeId: -1,
|
|
|
+ currentRepositoryId: -1,
|
|
|
gljList: [],
|
|
|
setting: {
|
|
|
header:[
|
|
|
- {headerName:"编码",headerWidth:120,data:"code"},
|
|
|
- {headerName:"名称",headerWidth:400,data:"name"},
|
|
|
- {headerName:"规格",headerWidth:120,data:"specs"},
|
|
|
- {headerName:"单位",headerWidth:120,data:"unit"},
|
|
|
- {headerName:"基价单价",headerWidth:120,data:"basePrice"},
|
|
|
- {headerName:"类型",headerWidth:120,data:"gljType"}
|
|
|
+ {headerName:"编码",headerWidth:120,dataCode:"code", dataType: "String", hAlign: "left", vAlign: "center"},
|
|
|
+ {headerName:"名称",headerWidth:400,dataCode:"name", dataType: "String", hAlign: "left", vAlign: "center"},
|
|
|
+ {headerName:"规格",headerWidth:120,dataCode:"specs", dataType: "String", hAlign: "left", vAlign: "center"},
|
|
|
+ {headerName:"单位",headerWidth:120,dataCode:"unit", dataType: "String", hAlign: "center", vAlign: "center"},
|
|
|
+ {headerName:"基价单价",headerWidth:120,dataCode:"basePrice", dataType: "Number", formatter: "0.00", hAlign: "right", vAlign: "center"},
|
|
|
+ {headerName:"类型",headerWidth:120,dataCode:"gljType", dataType: "Number", hAlign: "center", vAlign: "center"}
|
|
|
],
|
|
|
view:{
|
|
|
comboBox:[
|
|
@@ -51,12 +54,13 @@ repositoryGljObj = {
|
|
|
timeout:20000,
|
|
|
success:function(result,textStatus,status){
|
|
|
if(status.status == 200) {
|
|
|
- me.createRationTree(result.data);
|
|
|
+ me.createTree(result.data);
|
|
|
//me.gljAllTypeId
|
|
|
if (result.data && result.data.length > 0) {
|
|
|
for (var i = 0; i < result.data.length; i++) {
|
|
|
if (result.data[i].Name === "全部") {
|
|
|
- me.gljAllTypeId = result.data[i].repositoryId;
|
|
|
+ me.gljAllTypeId = result.data[i].ID;
|
|
|
+ me.gljCurTypeId = me.gljAllTypeId;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -73,13 +77,14 @@ repositoryGljObj = {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- createRationTree : function(sourceData){
|
|
|
+ createTree : function(sourceData){
|
|
|
var me = repositoryGljObj, treeArr = tree_Data_Helper.buildTreeNodeDirectly(sourceData);
|
|
|
me.treeObj = $.fn.zTree.init($("#repositoryTree"), setting, treeArr);
|
|
|
me.treeObj.expandAll(true);
|
|
|
},
|
|
|
getGljItems: function(repId) {
|
|
|
var me = this;
|
|
|
+ me.currentRepositoryId = repId;
|
|
|
$.ajax({
|
|
|
type:"POST",
|
|
|
url:"api/getGljItems",
|
|
@@ -88,9 +93,9 @@ repositoryGljObj = {
|
|
|
cache:false,
|
|
|
timeout:5000,
|
|
|
success:function(result){
|
|
|
- if(status.status == 200) {
|
|
|
+ if(result.success) {
|
|
|
me.gljList = result.data;
|
|
|
- me.showGljItems(result.data, me.gljAllTypeId);
|
|
|
+ me.showGljItems(result.data, me.gljCurTypeId);
|
|
|
}
|
|
|
},
|
|
|
error:function(err){
|
|
@@ -125,5 +130,58 @@ repositoryGljObj = {
|
|
|
},
|
|
|
onClipboardPasted: function(e, info) {
|
|
|
var me = repositoryGljObj;
|
|
|
+ var updateArr = [], addArr = [];
|
|
|
+ var items = sheetCommonObj.analyzePasteData(me.setting, info);
|
|
|
+ var hasCacheItem = false;
|
|
|
+ for (var i = 0; i < items.length; i++) {
|
|
|
+ for (var j = 0; j < me.gljList.length; j++) {
|
|
|
+ if (me.gljList[j][me.setting.header[0].dataCode] == items[i][me.setting.header[0].dataCode]) {
|
|
|
+ hasCacheItem = true;
|
|
|
+ items[i]["ID"] = me.gljList[j]["ID"];
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!hasCacheItem) {
|
|
|
+ addArr.push(items[i]);
|
|
|
+ } else {
|
|
|
+ updateArr.push(items[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (updateArr.length > 0 || addArr.length > 0) {
|
|
|
+ $.ajax({
|
|
|
+ type:"POST",
|
|
|
+ url:"api/mixUpdateGljItems",
|
|
|
+ data:{"repositoryId": me.currentRepositoryId, "updateItems": JSON.stringify(updateArr), "addItems": JSON.stringify(addArr)},
|
|
|
+ dataType:"json",
|
|
|
+ cache:false,
|
|
|
+ timeout:5000,
|
|
|
+ success:function(result){
|
|
|
+ if (result.err) {
|
|
|
+ alert(err);
|
|
|
+ me.getRationItems(me.currentRepositoryId);
|
|
|
+ } else {
|
|
|
+ if (addArr.length > 0) {
|
|
|
+ me.gljList = me.gljList.concat(addArr);
|
|
|
+ }
|
|
|
+ for (var i = 0; i < updateArr.length; i++) {
|
|
|
+ for (var j = 0; j < me.gljList.length; j++) {
|
|
|
+ if (me.gljList[j][me.setting.header[0].dataCode] == updateArr[i][me.setting.header[0].dataCode]) {
|
|
|
+ me.gljList[j] = updateArr[i];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ me.showGljItems(me.gljList, me.gljAllTypeId);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ error:function(){
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onClick: function(event,treeId,treeNode) {
|
|
|
+ var me = repositoryGljObj,
|
|
|
+ gljTypeId = treeNode.ID;
|
|
|
+ repositoryGljObj.gljCurTypeId = treeNode.ID;
|
|
|
+ repositoryGljObj.showGljItems(repositoryGljObj.gljList, gljTypeId);
|
|
|
}
|
|
|
}
|