zhangweicheng %!s(int64=6) %!d(string=hai) anos
pai
achega
ee6a7e354f

+ 13 - 12
web/building_saas/main/js/views/project_glj_view.js

@@ -1208,19 +1208,20 @@ $(function () {
             // 从其他项目中复制
             changeUnitPriceId = $("#other-file").val();
             let newName = $("#other-file").children("option:selected").text();
-            let currentOption = _.find(projectGljObject.changeInfo.self,{name:newName});
-            if(currentOption){ //存在则说明有重名的文件
-                //rename-unitFile
-                $("#rename-unitFile").modal({show:true});
-                $("#newUnitFileID").val(changeUnitPriceId);
-                $("#newUnitFileName").val(newName);
-                return;
-            }
+            projectObj.project.projectGLJ.checkUnitFileName(newName,function (need_rename) {
+                if(need_rename){
+                    $("#rename-unitFile").modal({show:true});
+                    $("#newUnitFileID").val(changeUnitPriceId);
+                    $("#newUnitFileName").val(newName);
+                }else {
+                    let data = {project_id: scUrlUtil.GetQueryString('project'), change_id: changeUnitPriceId, type: type};
+                    projectObj.project.projectGLJ.changeFile(data,function () {
+                        projectGljObject.changeFileCallback();
+                    })
+                }
+            });
         }
-        let data = {project_id: scUrlUtil.GetQueryString('project'), change_id: changeUnitPriceId, type: type};
-        projectObj.project.projectGLJ.changeFile(data,function () {
-            projectGljObject.changeFileCallback();
-        })
+
     });
     // 单价文件选项切换
     $("input[name='change-type']").change(function () {

+ 45 - 5
web/building_saas/main/js/views/quantity_edit_view.js

@@ -41,11 +41,19 @@ let quantityEditObj = {
     },
     onCellDoubleClick:function (e,info) {
         if(quantityEditObj.datas[info.row]){
-            let oldVal = $("#quantityEXPValue").val();
-            $("#quantityEXPValue").val(oldVal+quantityEditObj.datas[info.row].code);
             $("#quantityEXPValue").focus();
+            quantityEditObj.setToQuantityEXP(quantityEditObj.datas[info.row].code);
+            quantityEditObj.spread.focus(false);
         }
     },
+    setToQuantityEXP:function (value) {
+        let oldVal = $("#quantityEXPValue").val();
+        let startIndex = getCursor($("#quantityEXPValue")[0]);//取光标位置
+        let strartString = oldVal.substring(0,startIndex);
+        let endString = oldVal.substring(startIndex);
+        $("#quantityEXPValue").val(strartString+value+endString);
+        setCursor($("#quantityEXPValue")[0],startIndex+value.length);//设置回光标位置
+    },
     getQuantityEditCellType:function () {
         var ns = GC.Spread.Sheets;
         function QuantityEditCellType() {
@@ -248,14 +256,15 @@ let quantityEditObj = {
 };
 $(function(){
     $('#quantityEXPEdit').on('shown.bs.modal', function (e) {
+        projectObj.mainSpread.focus(false);
         quantityEditObj.initSpread();
+        $("#quantityEXPValue").focus();
     });
 
     $('#operation_p').children("button").bind('click',function (){
-        let oldVal = $("#quantityEXPValue").val();
-        $("#quantityEXPValue").val(oldVal+$(this).text());
+        quantityEditObj.setToQuantityEXP($(this).text());
         $("#quantityEXPValue").focus();
-    })
+    });
 
     $("#quantityEditConf").bind('click',function () {
         let selected = projectObj.project.mainTree.selected;
@@ -264,6 +273,37 @@ $(function(){
             $("#quantityEXPEdit").modal('hide');
         }
     })
+    $('#quantityEXPEdit').bind('keypress', function (event) {
+        if(event.keyCode === 13){
+            $("#quantityEditConf").click();
+            event.preventDefault();
+        }
 
+    });
 
 });
+
+function getCursor(elem) {
+    //IE 9 ,10,其他浏览器
+    if (elem.selectionStart !== undefined) {
+        return elem.selectionStart;
+    } else { //IE 6,7,8
+        var range = document.selection.createRange();
+        range.moveStart("character", -elem.value.length);
+        var len = range.text.length;
+        return len;
+    }
+}
+
+function setCursor(elem, index) {
+    //IE 9 ,10,其他浏览器
+    if (elem.selectionStart !== undefined) {
+        elem.selectionStart = index;
+        elem.selectionEnd = index;
+    } else { //IE 6,7,8
+        var range = elem.createTextRange();
+        range.moveStart("character", -elem.value.length); //左边界移动到起点
+        range.move("character", index); //光标放到index位置
+        range.select();
+    }
+}