Browse Source

变更方案清单新增一些字段

laiguoran 3 năm trước cách đây
mục cha
commit
0e3dc7e5bc

+ 78 - 19
app/public/js/change_plan_information.js

@@ -180,6 +180,7 @@ $(document).ready(() => {
 
     const changeSpreadSetting = {
         cols: [
+            {title: '新增单价', colSpan: '1', rowSpan: '2', field: 'new_up', hAlign: 1, width: 35, cellType: 'checkbox', readOnly: 'readOnly.isEdit'},
             {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 110, formatter: '@', readOnly: 'readOnly.isEdit'},
             {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 130, formatter: '@', readOnly: 'readOnly.isEdit'},
             {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 60, formatter: '@', readOnly: 'readOnly.isEdit', cellType: 'unit', comboItems: changeUnits, comboEdit: true},
@@ -226,6 +227,8 @@ $(document).ready(() => {
             changeSpreadSetting.cols.push(newColTp);
         }
     }
+    changeSpreadSetting.cols.push({title: '备注1', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 110, formatter: '@', readOnly: 'readOnly.isEdit2'});
+    changeSpreadSetting.cols.push({title: '备注2', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 110, formatter: '@', readOnly: 'readOnly.isEdit2'});
 
     const changeCol = {
         getValue: {
@@ -255,13 +258,18 @@ $(document).ready(() => {
             isEdit: function (data) {
                 return readOnly;
             },
+            isEdit2: function (data) {
+                return change.status === auditConst.status.checked;
+            },
         },
     };
     const changeSpreadObj = {
         makeSjsFooter: function() {
             // 增加汇总行并设为锁定禁止编辑状态
             changeSpreadSheet.addRows(changeSpreadSheet.getRowCount(), 1);
-            changeSpreadSheet.setValue(changeSpreadSheet.getRowCount() - 1, 0, '合计');
+            changeSpreadSheet.setValue(changeSpreadSheet.getRowCount() - 1, 1, '合计');
+            const cellType1 = new GC.Spread.Sheets.CellTypes.Text();
+            changeSpreadSheet.getCell(changeSpreadSheet.getRowCount() - 1, 0).cellType(cellType1);
             changeSpreadSheet.setStyle(changeSpreadSheet.getRowCount() - 1, -1, style1);
             changeSpreadObj.countSum();
         },
@@ -294,20 +302,20 @@ $(document).ready(() => {
                 cSum = 0,
                 sSum = 0;
             for (let i = 0; i < rowCount - 1; i++) {
-                oSum = ZhCalc.add(oSum, changeSpreadSheet.getValue(i, 5));
-                cSum = ZhCalc.add(cSum, changeSpreadSheet.getValue(i, 7));
-                sSum = ZhCalc.add(sSum, changeSpreadSheet.getValue(i, 9));
+                oSum = ZhCalc.add(oSum, changeSpreadSheet.getValue(i, 6));
+                cSum = ZhCalc.add(cSum, changeSpreadSheet.getValue(i, 8));
+                sSum = ZhCalc.add(sSum, changeSpreadSheet.getValue(i, 10));
             }
-            changeSpreadSheet.setValue(changeSpreadSheet.getRowCount() - 1, 5, oSum !== 0 ? oSum : null);
-            changeSpreadSheet.setValue(changeSpreadSheet.getRowCount() - 1, 7, cSum !== 0 ? cSum : null);
-            changeSpreadSheet.setValue(changeSpreadSheet.getRowCount() - 1, 9, sSum !== 0 ? sSum : null);
+            changeSpreadSheet.setValue(changeSpreadSheet.getRowCount() - 1, 6, oSum !== 0 ? oSum : null);
+            changeSpreadSheet.setValue(changeSpreadSheet.getRowCount() - 1, 8, cSum !== 0 ? cSum : null);
+            changeSpreadSheet.setValue(changeSpreadSheet.getRowCount() - 1, 10, sSum !== 0 ? sSum : null);
             // 用户的数据合计
             for (const j in change.listAudits) {
                 let audit_sum = 0;
                 for(let i = 0; i < rowCount - 1; i++){
-                    audit_sum = ZhCalc.add(audit_sum, changeSpreadSheet.getValue(i, 11 + j*2));
+                    audit_sum = ZhCalc.add(audit_sum, changeSpreadSheet.getValue(i, 12 + j*2));
                 }
-                changeSpreadSheet.setValue(changeSpreadSheet.getRowCount() - 1, 11 + j*2, audit_sum !== 0 ? audit_sum : null);
+                changeSpreadSheet.setValue(changeSpreadSheet.getRowCount() - 1, 12 + j*2, audit_sum !== 0 ? audit_sum : null);
             }
         },
         deletePress: function (sheet) {
@@ -315,11 +323,13 @@ $(document).ready(() => {
         },
         showHideAudit: function (show = false) {
             const count = changeSpreadSetting.cols.length;
-            for (let i = 10; i < count; i++) {
+            for (let i = 11; i < count; i++) {
                 changeSpreadSheet.setColumnVisible(i, show, GC.Spread.Sheets.SheetArea.viewport);
             }
-            changeSpreadSheet.setColumnVisible(8, !show, GC.Spread.Sheets.SheetArea.viewport);
+            changeSpreadSheet.setColumnVisible(count - 1, true, GC.Spread.Sheets.SheetArea.viewport);
+            changeSpreadSheet.setColumnVisible(count - 2, true, GC.Spread.Sheets.SheetArea.viewport);
             changeSpreadSheet.setColumnVisible(9, !show, GC.Spread.Sheets.SheetArea.viewport);
+            changeSpreadSheet.setColumnVisible(10, !show, GC.Spread.Sheets.SheetArea.viewport);
         },
         valueChanged: function (e, info) {
             // 防止ctrl+z撤销数据
@@ -365,6 +375,9 @@ $(document).ready(() => {
                 const type = SpreadJsObj.getSelectObject(info.sheet) ? 'update' : 'add';
                 const select = type === 'update' ? SpreadJsObj.getSelectObject(info.sheet) : {unit: ''};
                 const col = info.sheet.zh_setting.cols[info.col];
+                if (col.field === 'new_up') {
+                    return;
+                }
                 // 未改变值则不提交
                 let validText = is_numeric(info.editingText) ? parseFloat(info.editingText) : (info.editingText ? trimInvalidChar(info.editingText) : '');
                 const orgValue = type === 'update' ? select[col.field] : '';
@@ -546,12 +559,61 @@ $(document).ready(() => {
                 });
             }
         };
-        // changeSpread.bind(spreadNS.Events.CellChanged, changeSpreadObj.cellChanged);
+        changeSpreadObj.buttonClicked = function (e, info) {
+            if (info.sheet.zh_setting) {
+                const select = SpreadJsObj.getSelectObject(info.sheet);
+                const col = info.sheet.zh_setting.cols[info.col];
+                if(!select) {
+                    toastr.error('请添加清单编号再勾选');
+                    if (info.sheet.isEditing()) {
+                        info.sheet.endEdit(true);
+                    }
+                    return;
+                } else if (col.field === 'new_up') {
+                    if (info.sheet.isEditing()) {
+                        info.sheet.endEdit(true);
+                    }
+                    select.new_up = info.sheet.getValue(info.row, info.col) ? 0 : 1;
+                    postData(preUrl + '/list/save', { type: 'update', updateData: { id: select.id, new_up: select.new_up } }, function (result) {
+                        changeList.splice(info.row, 1, select);
+                        SpreadJsObj.reLoadRowData(info.sheet, info.row);
+                        changeSpreadObj.countSum();
+                    }, function () {
+                        select.new_up = info.sheet.getValue(info.row, info.col) ? 1 : 0;
+                        SpreadJsObj.reLoadRowData(info.sheet, info.row);
+                    });
+                }
+                // if (materialCol.readOnly.isEdit(select)) {
+                //     return;
+                // }
+                // if (col.field === 'new_up') {
+                //     if (info.sheet.isEditing()) {
+                //         info.sheet.endEdit(true);
+                //     }
+                //     select.is_summary = info.sheet.getValue(info.row, info.col) ? 1 : 0;
+                //     delete select.waitingLoading;
+                //     // 更新至服务器
+                //     postData(window.location.pathname + '/save', { type:'update', updateData: select }, function (result) {
+                //         m_tp = result.m_tp;
+                //         if (materialTax) {
+                //             m_tax_tp = result.m_tax_tp;
+                //         }
+                //         resetTpTable();
+                //         SpreadJsObj.reLoadRowData(info.sheet, info.row);
+                //     }, function () {
+                //         select.is_summary = info.sheet.getValue(info.row, info.col) ? 0 : 1;
+                //         SpreadJsObj.reLoadRowData(info.sheet, info.row);
+                //     });
+                // }
+            }
+        };
         changeSpread.bind(spreadNS.Events.EditEnded, changeSpreadObj.editEnded);
+        changeSpread.bind(spreadNS.Events.ButtonClicked, changeSpreadObj.buttonClicked);
         changeSpread.bind(spreadNS.Events.ClipboardPasted, changeSpreadObj.clipboardPasted);
         changeSpread.bind(spreadNS.Events.ValueChanged, changeSpreadObj.valueChanged);
         SpreadJsObj.addDeleteBind(changeSpread, changeSpreadObj.deletePress);
 
+
         let batchInsertObj;
         $.contextMenu.types.batchInsert = function (item, opt, root) {
             const self = this;
@@ -861,14 +923,11 @@ $(document).ready(() => {
             //     postData(preUrl + '/list/save', {type: 'update_tp', updateData: new_tp}, function (result) {
             //     });
             // }
-            if (change.status === auditConst.status.checked) {
-                changeSpreadObj.showHideAudit(false);
-            } else {
-                changeSpreadObj.showHideAudit(true);
-            }
+            changeSpreadObj.showHideAudit(true);
+        }
+        if (change.status === auditConst.status.checked) {
+            changeSpreadObj.showHideAudit(false);
         }
-
-
     });
 
     // 审批流程展示与隐藏

+ 5 - 5
app/public/js/material.js

@@ -133,9 +133,9 @@ $(document).ready(() => {
     );
     if (materialTax) {
         materialSpreadSettingCols = _.concat(materialSpreadSettingCols, [
-            {title: '本期材料调差|上涨幅度(%)', colSpan: '5|1', rowSpan: '1|1', field: 'm_up_risk', hAlign: 2, width: 90, type: 'Number', readOnly: 'readOnly.isEdit'},
-            {title: '|下跌幅度(%)', colSpan: '|1', rowSpan: '|1', field: 'm_down_risk', hAlign: 2, width: 90, type: 'Number', readOnly: 'readOnly.isEdit'},
-            {title: '|有效价差', colSpan: '|1', rowSpan: '|1', field: 'm_spread', hAlign: 2, width: 80, type: 'Number', readOnly: true, getValue: 'getValue.m_spread'},
+            {title: '本期材料调差|上涨 幅度(%)', colSpan: '5|1', rowSpan: '1|1', field: 'm_up_risk', hAlign: 2, width: 50, type: 'Number', readOnly: 'readOnly.isEdit'},
+            {title: '|下跌 幅度(%)', colSpan: '|1', rowSpan: '|1', field: 'm_down_risk', hAlign: 2, width: 50, type: 'Number', readOnly: 'readOnly.isEdit'},
+            {title: '|有效价差', colSpan: '|1', rowSpan: '|1', field: 'm_spread', hAlign: 2, width: 60, type: 'Number', readOnly: true, getValue: 'getValue.m_spread'},
             {title: '|调差金额', colSpan: '|1', rowSpan: '|1', field: 'm_tp', hAlign: 2, width: 100, type: 'Number', readOnly: true, getValue: 'getValue.m_tp'},
             {title: '|调差金额(材料税)', colSpan: '|1', rowSpan: '|1', field: 'm_tax_tp', hAlign: 2, width: 100, type: 'Number', readOnly: true, getValue: 'getValue.m_tax_tp'},
             {title: '截止上期|调差金额', colSpan: '2|1', rowSpan: '1|1', field: 'pre_tp', hAlign: 2, width: 100, type: 'Number', readOnly: true},
@@ -145,8 +145,8 @@ $(document).ready(() => {
         ])
     } else {
         materialSpreadSettingCols = _.concat(materialSpreadSettingCols, [
-            {title: '本期材料调差|上涨幅度(%)', colSpan: '4|1', rowSpan: '1|1', field: 'm_up_risk', hAlign: 2, width: 90, type: 'Number', readOnly: 'readOnly.isEdit'},
-            {title: '|下跌幅度(%)', colSpan: '|1', rowSpan: '|1', field: 'm_down_risk', hAlign: 2, width: 90, type: 'Number', readOnly: 'readOnly.isEdit'},
+            {title: '本期材料调差|上涨 幅度(%)', colSpan: '4|1', rowSpan: '1|1', field: 'm_up_risk', hAlign: 2, width: 50, type: 'Number', readOnly: 'readOnly.isEdit'},
+            {title: '|下跌 幅度(%)', colSpan: '|1', rowSpan: '|1', field: 'm_down_risk', hAlign: 2, width: 50, type: 'Number', readOnly: 'readOnly.isEdit'},
             {title: '|有效价差', colSpan: '|1', rowSpan: '|1', field: 'm_spread', hAlign: 2, width: 80, type: 'Number', readOnly: true, getValue: 'getValue.m_spread'},
             {title: '|调差金额', colSpan: '|1', rowSpan: '|1', field: 'm_tp', hAlign: 2, width: 100, type: 'Number', readOnly: true, getValue: 'getValue.m_tp'},
             {title: '截止上期|调差金额', colSpan: '1|1', rowSpan: '1|1', field: 'pre_tp', hAlign: 2, width: 100, type: 'Number', readOnly: true},

+ 1 - 0
app/public/js/spreadjs_rela/spreadjs_zh.js

@@ -661,6 +661,7 @@ const SpreadJsObj = {
                 sheet.extendCellType.checkbox = new spreadNS.CellTypes.CheckBox();
             }
             sheet.getRange(-1, col, -1, 1).cellType(sheet.extendCellType.checkbox);
+            sheet.getRange(-1, col, -1, 1).hAlign(col ? col.hAlign : spreadNS.HorizontalAlign.center);// 空白行不居中问题,checkbox要默认居中
         }
         if (colSetting.cellType === 'unit') {
             if (!sheet.extendCellType.unit) {