Ver código fonte

Merge branch 'master' of http://192.168.1.41:3000/SmartCost/ConstructionOperation

lishihao 2 semanas atrás
pai
commit
97b8b81cf0

+ 2 - 1
web/maintain/price_info_lib/js/index.js

@@ -1,7 +1,8 @@
 $(document).ready(() => {
     console.log('进入信息价');
     $('[data-toggle="tooltip"]').tooltip();
-    AREA_BOOK.handleSelectionChanged(0);
+    // AREA_BOOK.handleSelectionChanged(0);
+    AREA_BOOK.init();
     const $range = $(document.body);
     lockUtil.lockTools($range, locked);
 });

+ 27 - 0
web/maintain/price_info_lib/js/priceArea.js

@@ -70,6 +70,15 @@ const AREA_BOOK = (() => {
 
   bindEdit();
 
+  const setCurAreaStorage = (curLibID, curAreaID) => {
+    window.localStorage.setItem(`priceArea:${curLibID}`, curAreaID);
+  };
+
+  const geCurAreaStorage = (curLibID) => {
+    const curAreaID = window.localStorage.getItem(`priceArea:${curLibID}`);
+    return curAreaID;
+  };
+
   const curArea = { ID: null, name: '' };
   // 焦点变更处理
   const debounceSelectionChanged = _.debounce(function (e, info) {
@@ -80,10 +89,25 @@ const AREA_BOOK = (() => {
     const areaItem = cache[row];
     curArea.ID = areaItem && areaItem.ID || null;
     curArea.name = areaItem && areaItem.name || '';
+    setCurAreaStorage(libID, curArea.ID);
     CLASS_BOOK.initData(libID, curArea.ID);
   }
   sheet.bind(GC.Spread.Sheets.Events.SelectionChanged, debounceSelectionChanged);
 
+  // 第一次进来初始化显示
+  const init = () => {
+    const curAreaID = geCurAreaStorage(libID);
+    if (!curAreaID) {
+      handleSelectionChanged(0);
+      return;
+    }
+    let row = cache.findIndex(item => item.ID === curAreaID);
+    row = row >= 0 ? row : 0;
+    handleSelectionChanged(row);
+    sheet.setActiveCell(row, 1);
+    sheet.showCell(row, 0, GC.Spread.Sheets.VerticalPosition.center);
+  }
+
   // 新增
   async function insert() {
     const data = {
@@ -194,9 +218,12 @@ const AREA_BOOK = (() => {
   buildContextMenu();
 
   return {
+    init,
     handleSelectionChanged,
     curArea,
     cache,
+    setCurAreaStorage,
+    geCurAreaStorage
   }
 
 })();

+ 2 - 1
web/maintain/price_info_lib/js/priceItem.js

@@ -40,7 +40,8 @@ const PRICE_BOOK = (() => {
     $.bootstrapLoading.start();
     try {
       cache = await ajaxPost('/priceInfo/getPriceData', { classIDList }, 1000 * 60 * 10);
-      cache = _.sortBy(cache, 'classCode');
+      // cache = _.sortBy(cache, 'classCode');
+      // cache = _.sortBy(cache, 'code');
       showData(sheet, cache, setting.header, 5);
       const row = sheet.getActiveRowIndex();
       const keywordList = cache[row] && cache[row].keywordList || [];

+ 28 - 0
web/maintain/std_glj_lib/html/gongliao.html

@@ -228,6 +228,34 @@
         </div>
     </div>
 
+    <div class="modal fade" id="edit-code" data-backdrop="static" style="display: none;" aria-hidden="true">
+        <div class="modal-dialog" role="document">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <h5 class="modal-title">修改编号</h5>
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                        <span aria-hidden="true">×</span>
+                    </button>
+                </div>
+                <div class="modal-body">
+
+                    <form>
+                        <div class="form-group row" style="margin-left: 0px;">
+                            <label class="col-auto col-form-label" id="edit-label" style="line-height: 26px;">编号</label>
+                            <div class="col">
+                                <input id="edit-code-text" class="form-control" placeholder="请输入编号" type="text" value="">
+                            </div>
+                        </div>
+                    </form>
+                </div>
+                <div class="modal-footer">
+                    <a id="edit-code-confirm" href="javascript: void(0);" class="btn btn-primary">确定</a>
+                    <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
+                </div>
+            </div>
+        </div>
+    </div>
+
     <!-- JS. -->
     <script src="/lib/jquery/jquery.min.js"></script>
     <script src="/lib/jquery-contextmenu/jquery.contextMenu.min.js"></script>

+ 64 - 13
web/maintain/std_glj_lib/js/glj.js

@@ -440,7 +440,7 @@ let repositoryGljObj = {
             me.rationLibs = result.data[0].rationLibs;
             $(".navbar-text").append(
               "<a href='/stdGljRepository/main'>人材机库</a><i class='fa fa-angle-right fa-fw'></i>" +
-                result.data[0].dispName
+              result.data[0].dispName
             );
             pageOprObj.gljLibName = result.data[0].dispName;
           }
@@ -1230,7 +1230,7 @@ let repositoryGljObj = {
             let distTypeVal =
               me.distTypeTree.distTypes[
                 me.distTypeTree.prefix +
-                  me.currentEditingGlj[me.setting.header[args.col].dataCode]
+                me.currentEditingGlj[me.setting.header[args.col].dataCode]
               ].data.fullName;
             args.sheet.setValue(args.row, args.col, distTypeVal);
           } else {
@@ -1477,6 +1477,33 @@ let repositoryGljObj = {
         false
       );
   },
+  editCode: async function () {
+    const sheet = this.workBook.getSheet(0);
+    const row = sheet.getActiveRowIndex();
+    const glj = this.currentCache[row];
+    if (!glj) {
+      alert('请选中工料机!');
+      $('#edit-code').modal('hide');
+      return;
+    }
+    const newCode = $('#edit-code-text').val();
+    if (!newCode) {
+      alert('编号不可为空!');
+      $('#edit-code-text').focus();
+      return;
+    }
+    if (this.gljList.some(item => item.ID !== glj.ID && item.code === newCode)) {
+      alert('编号已存在!');
+      $('#edit-code-text').focus();
+      return;
+    }
+    if (newCode === glj.code) {
+      $('#edit-code').modal('hide');
+      return;
+    }
+    this.mixUpdateRequest([{ ...glj, code: newCode }], [], []);
+    $('#edit-code').modal('hide');
+  },
   onContextmenuOpr: function () {
     let me = repositoryGljObj;
     $.contextMenu({
@@ -1511,8 +1538,23 @@ let repositoryGljObj = {
             sheet.setActiveCell(target.row, target.col);
           }
           return {
-            callback: function () {},
+            callback: function () { },
             items: {
+              edit: {
+                name: "修改编号",
+                disabled: function () {
+                  return (
+                    locked || !(me.currentCache && me.currentCache[target.row])
+                  );
+                },
+                icon: "fa-edit",
+                callback: function (key, opt) {
+                  if (me.currentCache[target.row]) {
+                    $('#edit-code').modal('show');
+                    $('#edit-code-text').val(me.currentCache[target.row].code || '');
+                  }
+                },
+              },
               delete: {
                 name: "删除",
                 disabled: function () {
@@ -1944,8 +1986,8 @@ let repositoryGljObj = {
     if (!priceProperties || priceProperties.length === 0) {
       pasteObj.basePrice =
         !isNaN(parseFloat(pasteObj.basePrice)) &&
-        pasteObj.basePrice &&
-        typeof pasteObj.basePrice !== "undefined"
+          pasteObj.basePrice &&
+          typeof pasteObj.basePrice !== "undefined"
           ? parseFloat(pasteObj.basePrice)
           : 0;
     } else {
@@ -2069,7 +2111,7 @@ let repositoryGljObj = {
         info.cellRange.colCount >= 5 &&
         info.cellRange.colCount <= me.setting.header.length &&
         info.cellRange.col + info.cellRange.colCount - 1 >=
-          me.colMapping.fieldToCol["gljType"]
+        me.colMapping.fieldToCol["gljType"]
       ) {
         for (let i = 0; i < items.length; i++) {
           if (me.isValidObj(items[i])) {
@@ -2486,7 +2528,7 @@ let gljTypeTreeOprObj = {
           pNode.isParent = false;
         }
       },
-      error: function () {},
+      error: function () { },
     });
     return true;
   },
@@ -2524,7 +2566,7 @@ let gljTypeTreeOprObj = {
         success: function (result, textStatus, status) {
           console.log(status + " : " + result);
         },
-        error: function () {},
+        error: function () { },
       });
     }
   },
@@ -2595,10 +2637,10 @@ let gljTypeTreeOprObj = {
         btn.bind("click", function () {
           treeNode.doing = true;
           let rawNode = {
-              ParentID: treeNode.ID,
-              NextSiblingID: -1,
-              Name: "新增子节点",
-            },
+            ParentID: treeNode.ID,
+            NextSiblingID: -1,
+            Name: "新增子节点",
+          },
             lastNodeId = -1;
           if (treeNode.items.length > 0) {
             lastNodeId = treeNode.items[treeNode.items.length - 1].ID;
@@ -2725,7 +2767,7 @@ $(document).ready(function () {
     },
     function () {
       let resizeRate =
-          (SlideResize.resizeWidth * 100) / $("#midContent").width(),
+        (SlideResize.resizeWidth * 100) / $("#midContent").width(),
         sheetRate = 100 - resizeRate;
       $("#slideResizeLeft").css("width", `${resizeRate}%`);
       $("#GLJListSheet").css("width", `${sheetRate}%`);
@@ -2751,4 +2793,13 @@ $(document).ready(function () {
     repositoryGljObj.mixUpdateRequest(updateArr, [], []);
     $("#moveTo").modal("hide");
   });
+
+  // 修改编号弹窗
+  $('#edit-code').on('shown.bs.modal', function () {
+    $('#edit-code-text').focus();
+  });
+
+  $('#edit-code-confirm').click(async () => {
+    await repositoryGljObj.editCode();
+  });
 });