Pārlūkot izejas kodu

工料机库添加调整系数

zhongzewei 7 gadi atpakaļ
vecāks
revīzija
7e75c117a7

+ 1 - 0
modules/std_glj_lib/models/schemas.js

@@ -56,6 +56,7 @@ let gljSchema = new Schema({
     gljClass: Number,
     gljType: Number,
     shortName: String,
+    adjCoe: Number, //调整系数
     component: [gjlComponentSchema]
 },{versionKey: false});
 

+ 0 - 2
web/maintain/ration_repository/js/ration_coe.js

@@ -240,8 +240,6 @@ var rationCoeOprObj = {
             ration.rationCoeList.length == 0){return;};*/
 
         var coeList = ration.rationCoeList;
-        console.log(`me.cache["_Coe_" + ration.ID]`);
-        console.log(me.cache["_Coe_" + ration.ID]);
         var curCache = me.cache["_Coe_" + ration.ID];
         if (curCache) {
             me.showCoeItems(ration.ID);

+ 3 - 3
web/maintain/ration_repository/js/sheetsOpr.js

@@ -103,12 +103,12 @@ let sheetsOprObj = {
                         isExist = false;
                     for(let i=0; i< gljList.length; i++){
                         if(gljList[i].code === sheet.getValue(row, col) && sheet.getValue(row, col)!== orgCode){
-                            me.lockAllCells(sheet);
+                            sheetCommonObj.lockAllCells(sheet);
                             $('#alertText').text("输入的编号已存在,请重新输入!");
                             $('#codeAlertBtn').click();
                             $('#codAleConfBtn').click(function () {
                                 // me.reLockSomeCodes(sheet, 0, repositoryGljObj.currentCache.length);
-                                me.unLockAllCells(sheet);
+                                sheetCommonObj.unLockAllCells(sheet);
                                 me.reLockSomeCodes(sheet, 0, repositoryGljObj.currentCache.length);
                                 sheet.setValue(row, 0, orgCode);
                                 sheet.getCell(row, 0).formatter("@");
@@ -116,7 +116,7 @@ let sheetsOprObj = {
                             });
                             $('#codAleClose').click(function () {
                                 //me.reLockSomeCodes(sheet, 0, repositoryGljObj.currentCache.length);
-                                me.unLockAllCells(sheet);
+                                sheetCommonObj.unLockAllCells(sheet);
                                 me.reLockSomeCodes(sheet, 0, repositoryGljObj.currentCache.length);
                                 sheet.setValue(row, 0, orgCode);
                                 sheet.getCell(row, 0).formatter("@");

+ 1 - 1
web/maintain/std_glj_lib/html/gongliao.html

@@ -210,7 +210,7 @@
     <script type="text/javascript" src="/web/maintain/std_glj_lib/js/gljComponent.js"></script>
     <script type="text/javascript" src="/public/web/ztree_common.js"></script>
     <script type="text/javascript" src="/public/web/sheet/sheet_common.js"></script>
-    <script type="text/javascript" src="/web/maintain/ration_repository/js/sheetsOpr.js"></script>
+    <script type="text/javascript" src="/web/maintain/std_glj_lib/js/sheetsOpr.js"></script>
     <script type="text/javascript" src="/public/web/storageUtil.js"></script>
     <SCRIPT type="text/javascript">
         let userAccount = '<%=userAccount %>';

+ 44 - 11
web/maintain/std_glj_lib/js/glj.js

@@ -38,10 +38,11 @@ let repositoryGljObj = {
         header:[
             {headerName:"编码",headerWidth:120,dataCode:"code", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
             {headerName:"名称",headerWidth:260,dataCode:"name", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
-            {headerName:"规格型号",headerWidth:260,dataCode:"specs", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
+            {headerName:"规格型号",headerWidth:220,dataCode:"specs", dataType: "String", formatter: "@", 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: "String", hAlign: "center", vAlign: "center"}
+            {headerName:"类型",headerWidth:120,dataCode:"gljType", dataType: "String", hAlign: "center", vAlign: "center"},
+            {headerName:"调整系数",headerWidth:80,dataCode:"adjCoe", dataType: "Number", hAlign: "center", vAlign: "center"},
         ],
         view:{
             comboBox:[
@@ -167,6 +168,7 @@ let repositoryGljObj = {
                     me.gljList = result.data;
                     me.workBook.getSheet(0).setRowCount(result.data.length);
                     me.sortGlj();
+                    me.currentGlj = me.gljList.length > 0 ? me.gljList[0] : null;//初始
                     let rootNode = me.treeObj.getNodes()[0];
                     if(rootNode && rootNode.isParent && rootNode.isFirstNode){
                         me.treeObj.selectNode(rootNode);
@@ -403,6 +405,9 @@ let repositoryGljObj = {
                 }
             }
         }
+        if(me.currentEditingGlj.gljType !== 1 && me.currentEditingGlj.gljType !== 303 && me.setting.header[args.col].dataCode === 'adjCoe'){
+            args.cancel = true;
+        }
     },
     onCellEditEnd: function(sender, args) {
         let me = repositoryGljObj, that = gljComponentOprObj,
@@ -411,7 +416,7 @@ let repositoryGljObj = {
         me.editingRowIdx = args.row;
         rObj.basePrice = rObj.basePrice ? rObj.basePrice : 0;
         //更新
-        if (me.currentEditingGlj["ID"]) {
+        if (me.currentEditingGlj["ID"] && me.currentGlj) {
             rObj["ID"] = me.currentEditingGlj["ID"];
             rObj.gljClass = me.currentEditingGlj.gljClass;
                 if(me.currentEditingGlj[me.setting.header[args.col].dataCode] !== rObj[me.setting.header[args.col].dataCode]){
@@ -424,6 +429,10 @@ let repositoryGljObj = {
                             if(me.allowComponent.indexOf(rObj.gljType) !== -1){
                                 rObj.basePrice = 0;
                             }
+                            //调整系数,工料机类型为人工和机上人工时,可输入整数
+                            if((me.currentEditingGlj.gljType === 1 || me.currentEditingGlj.gljType === 303) && !(rObj.gljType === 1 || rObj.gljType === 303)){
+                                rObj.adjCoe = null;
+                            }
                             if(me.componentGljType.indexOf(me.currentEditingGlj.gljType) !== -1 &&
                                 !(me.currentEditingGlj.gljType === 302 && rObj.gljType === 303) && !(me.currentEditingGlj.gljType === 303 && rObj.gljType === 302)){//修改了原本是组成物的工料机
                                //寻找所有引用了此组成物的工料机,并从组成物中删去此工料机,并重算单价
@@ -439,6 +448,14 @@ let repositoryGljObj = {
                             }
                             sheetCommonObj.cleanData(that.workBook.getSheet(0), that.setting, 5);
                         }
+                        else if(rObj.adjCoe !== me.currentEditingGlj.adjCoe){//修改调整系数,整数控制
+                            if(isNaN(rObj.adjCoe) || rObj.adjCoe % 1 !== 0){
+                                args.sheet.setValue(args.row, args.col, me.currentEditingGlj.adjCoe ? me.currentEditingGlj.adjCoe : '');
+                                alert('调整系数只能输入整数!');
+                                return;
+                            }
+
+                        }
                         else if(rObj.basePrice !== me.currentEditingGlj.basePrice){//修改了单价,可修改单价的必为可成为组成物的
                             //寻找所有引用了此组成物的工料机,并从组成物中删去此工料机,并重算单价
                             let updateGljs = me.getUpdateGljs(rObj);
@@ -667,7 +684,13 @@ let repositoryGljObj = {
                 if(pasteObj.gljType === me.distTypeTree.comboDatas[i].text){
                     isExsit = true;
                     reCalBasePrc = true;
-                    //
+                    //调整系数
+                    if(me.distTypeTree.comboDatas[i].value !== 1 && me.distTypeTree.comboDatas[i].value !== 303){
+                        tempObj.adjCoe = null;
+                    }
+                    else if((me.distTypeTree.comboDatas[i].value === 1 || me.distTypeTree.comboDatas[i].value === 303) && typeof pasteObj.adjCoe !== 'undefined' && !isNaN(pasteObj.adjCoe) && pasteObj.adjCoe % 1 === 0) {
+                        tempObj.adjCoe = pasteObj.adjCoe;
+                    }
                     if(me.componentGljType.indexOf(tempObj.gljType) !== -1 &&
                         !(tempObj.gljType === 302 && pasteObj.gljType === 303) && !(tempObj.gljType === 303 && pasteObj.gljType === 302)){//修改了原本是组成物的工料机
                         //寻找所有引用了此组成物的工料机,并从组成物中删去此工料机,并重算单价
@@ -689,7 +712,17 @@ let repositoryGljObj = {
                     break;
                 }
             }
-            if(!isExsit) isValid = false;
+            if(!isExsit) {
+                isValid = false;
+            }
+        }
+        if(typeof pasteObj.adjCoe !== 'undefined' && typeof pasteObj.gljType === 'undefined'){
+            if(tempObj.gljType && (tempObj.gljType === 1 || tempObj.gljType === 303) && typeof pasteObj.adjCoe !== 'undefined' && !isNaN(pasteObj.adjCoe) && pasteObj.adjCoe % 1 === 0) {
+                tempObj.adjCoe = pasteObj.adjCoe;
+            }
+            else {
+                isValid = false;
+            }
         }
         if(typeof pasteObj.basePrice !== 'undefined'){
             pasteObj.basePrice = !isNaN(parseFloat(pasteObj.basePrice)) && (pasteObj.basePrice && typeof pasteObj.basePrice !== 'undefined') ? that.round(parseFloat(pasteObj.basePrice), 2) :
@@ -752,6 +785,11 @@ let repositoryGljObj = {
                 }
             }
         }
+        if(pasteObj.adjCoe && typeof pasteObj.adjCoe !== 'undefined'){
+            if(isNaN(pasteObj.adjCoe) || pasteObj.adjCoe % 1 !== 0){
+                return false;
+            }
+        }
         pasteObj.basePrice = !isNaN(parseFloat(pasteObj.basePrice)) && (pasteObj.basePrice && typeof pasteObj.basePrice !== 'undefined') ? parseFloat(pasteObj.basePrice) : 0;
         pasteObj.gljClass = me.gljCurTypeId;
         return true;
@@ -779,7 +817,7 @@ let repositoryGljObj = {
                 //updateItems = items;
                 for(let i = 0; i < items.length; i++){
                     let updateObj = me.validUpdateObj(items[i], info.cellRange.row + i);
-                    if(updateObj && typeof updateObj.updateGlj !== 'undefined'){
+                    if(updateObj && typeof updateObj.updateGlj !== 'undefined' && updateObj.updateGlj.length > 0){
                         //updateArr = updateObj.updateGlj;
                         updateArr = updateArr.concat(updateObj.updateGlj);
                         if(typeof updateObj.updateBasePrc !== 'undefined'){
@@ -1019,19 +1057,14 @@ let gljTypeTreeOprObj = {
         sheetCommonObj.cleanSheet(that.workBook.getSheet(0), that.setting, 5);
         that.workBook.getSheet(0).getRange(-1, 0 , -1, 1, GC.Spread.Sheets.SheetArea.viewport).locked(true);
         that.workBook.getSheet(0).getRange(-1, 4 , -1, 1, GC.Spread.Sheets.SheetArea.viewport).locked(true);
-        //that.workBook.getSheet(0).options.isProtected = true;
         if (me.parentNodeIds["_pNodeId_" + treeNode.ID]) {
             me.currentOprParent = 1;
             me.currentCache = me.getParentCache(me.parentNodeIds["_pNodeId_" + treeNode.ID]);
             sheetsOprObj.lockCodeCells(me.workBook.getSheet(0), me.currentCache.length);
             me.workBook.getSheet(0).setRowCount(me.currentCache.length);
-            //sheetCommonObj.shieldAllCells(me.workBook.getSheet(0), me.setting);
         } else {
             me.currentOprParent = 0;
             me.currentCache = me.getCache();
-            //sheetCommonObj.unShieldAllCells(me.workBook.getSheet(0));
-            /*sheetCommonObj.unLockAllCells(me.workBook.getSheet(0));
-             sheetCommonObj.lockSomeCodes(me.workBook.getSheet(0), 0, me.currentCache.length);*/
             sheetCommonObj.unLockAllCells(me.workBook.getSheet(0));
             sheetsOprObj.reLockSomeCodes(me.workBook.getSheet(0), 0, me.currentCache.length);
         }

+ 3 - 3
web/maintain/std_glj_lib/js/sheetsOpr.js

@@ -103,12 +103,12 @@ let sheetsOprObj = {
                         isExist = false;
                     for(let i=0; i< gljList.length; i++){
                         if(gljList[i].code === sheet.getValue(row, col) && sheet.getValue(row, col)!== orgCode){
-                            me.lockAllCells(sheet);
+                            sheetCommonObj.lockAllCells(sheet);
                             $('#alertText').text("输入的编号已存在,请重新输入!");
                             $('#codeAlertBtn').click();
                             $('#codAleConfBtn').click(function () {
                                 // me.reLockSomeCodes(sheet, 0, repositoryGljObj.currentCache.length);
-                                me.unLockAllCells(sheet);
+                                sheetCommonObj.unLockAllCells(sheet);
                                 me.reLockSomeCodes(sheet, 0, repositoryGljObj.currentCache.length);
                                 sheet.setValue(row, 0, orgCode);
                                 sheet.getCell(row, 0).formatter("@");
@@ -116,7 +116,7 @@ let sheetsOprObj = {
                             });
                             $('#codAleClose').click(function () {
                                 //me.reLockSomeCodes(sheet, 0, repositoryGljObj.currentCache.length);
-                                me.unLockAllCells(sheet);
+                                sheetCommonObj.unLockAllCells(sheet);
                                 me.reLockSomeCodes(sheet, 0, repositoryGljObj.currentCache.length);
                                 sheet.setValue(row, 0, orgCode);
                                 sheet.getCell(row, 0).formatter("@");