zhangweicheng 6 лет назад
Родитель
Сommit
7595ce1205
1 измененных файлов с 8 добавлено и 5 удалено
  1. 8 5
      web/building_saas/main/js/views/project_view.js

+ 8 - 5
web/building_saas/main/js/views/project_view.js

@@ -291,7 +291,7 @@ var projectObj = {
         let stdMatchCode, formatCode, matchs;
         let searchStdBillsAndUpdate = function (stdCode, formatCode) {
             let orgCode = node.data.code?node.data.code.substr(0, 9):"";
-            if (projectObj.project.projectInfo.engineeringInfo.bill_lib.length === 0) {
+            if (projectObj.project.projectInfo.engineeringInfo.bill_lib.length === 0 || updateCodeCheck(value,stdCode === orgCode)) {
                 normalUpdate(node,value,stdCode === orgCode);
             } else if (projectObj.project.projectInfo.engineeringInfo.bill_lib.length > 0) {
                 let libId = projectObj.project.projectInfo.engineeringInfo.bill_lib[0].id;
@@ -355,7 +355,7 @@ var projectObj = {
                     }
                 });
             }
-        }
+        };
         //分部分项、措施项目才匹配
         let withinValidFixed = false;
         let matchFixedFlags = [fixedFlag.SUB_ENGINERRING, fixedFlag.MEASURE];
@@ -387,16 +387,19 @@ var projectObj = {
         }
         normalUpdate(node,value);
 
-
-        function normalUpdate(billnode,codeValue,onNeedCheck) {//在标准库中没有找到清单时改分项为补项再更新
+        function normalUpdate(billnode,codeValue,no_Need_Check) {//在标准库中没有找到清单时改分项为补项再更新
             let toBX = false;
-            if(onNeedCheck!==true && billnode.data.type == billType.FX){
+            if(no_Need_Check!==true && billnode.data.type == billType.FX){
                 billnode.data.type = billType.BX;
                  toBX = true;
             }
             project.Bills.updateField(billnode.source, 'code', codeValue, toBX);
             me.mainController.refreshTreeNode([billnode], false);
         }
+
+        function updateCodeCheck(value,sameStdCode) {//如果前9位相同,只改前三位,则只更新编号就行了,不用做其它处理
+            return sameStdCode && value && value.length == 12
+        }
     },
     updateRationCode: function (node, value) {
         if(!isDef(node.data.code) && (!isDef(value) || value.toString().trim() == '')){